:root{--primary:#4285f4;--primary-hover:#2b6be6;--primary-light:#e8f0fe;--primary-subtle:#e8f0fe;--surface:#e0e5ec;--surface-raised:#e0e5ec;--surface-sunken:#e0e5ec;--border:transparent;--border-light:transparent;--focus-ring:#4285f4;--text-primary:#4a4a4a;--text-secondary:#7a7a7a;--text-tertiary:#a8a8a8;--success:#34a853;--success-text:#2d6b45;--warning:#fbbc04;--warning-text:#8b7a2e;--error:#ea4335;--error-text:#9b2c2c;--info:#4285f4;--info-text:#2c4b9b;--shadow-sm:3px 3px 6px #a3b1c6, -3px -3px 6px #fff;--shadow-md:6px 6px 12px #a3b1c6, -6px -6px 12px #fff;--shadow-lg:9px 9px 18px #a3b1c6, -9px -9px 18px #fff;--shadow-xl:12px 12px 24px #a3b1c6, -12px -12px 24px #fff;--shadow-inset:inset 4px 4px 8px #a3b1c6, inset -4px -4px 8px #fff;--shadow-neumorphic:6px 6px 12px #a3b1c6, -6px -6px 12px #fff;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-xs:.6875rem;--font-sm:.8125rem;--font-base:.9375rem;--font-md:1.0625rem;--font-lg:1.25rem;--font-xl:1.5rem;--font-2xl:1.875rem;--font-display:2.25rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:50px;--radius-round:50%;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:260px;--sidebar-collapsed:0px;--header-height:72px}[data-theme=dark]{--primary:#4285f4;--primary-hover:#5b95f5;--primary-light:#4285f426;--primary-subtle:#4285f41a;--surface:#202428;--surface-raised:#202428;--surface-sunken:#1b1e22;--border:#ffffff0d;--border-light:#ffffff05;--text-primary:#e8e8e8;--text-secondary:#a0a0a0;--text-tertiary:#666;--success:#34a853;--success-text:#a8d5ba;--warning:#fbbc04;--warning-text:#f5e6a3;--error:#ea4335;--error-text:#f5a3a3;--info:#4285f4;--info-text:#a3c4f5;--shadow-sm:3px 3px 6px #0000004d, -3px -3px 6px #ffffff08;--shadow-md:6px 6px 12px #0006, -6px -6px 12px #ffffff0a;--shadow-lg:9px 9px 18px #00000080, -9px -9px 18px #ffffff0a;--shadow-xl:12px 12px 24px #0009, -12px -12px 24px #ffffff08;--shadow-inset:inset 4px 4px 8px #0006, inset -4px -4px 8px #ffffff0a;--shadow-neumorphic:6px 6px 12px #0006, -6px -6px 12px #ffffff0a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}.theme-transition,.theme-transition *{transition:background .4s ease-in-out,color .4s ease-in-out,border-color .4s ease-in-out,box-shadow .4s ease-in-out!important}body{font-family:var(--font-family);background:var(--surface);color:var(--text-primary);zoom:.8;min-height:100vh;transition:background var(--transition-base), color var(--transition-base);display:flex;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar{width:var(--sidebar-width);background:var(--surface-raised);border-right:1px solid var(--border-light);z-index:100;height:100vh;transition:transform var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-header{padding:var(--space-6);justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:var(--space-3);display:flex}.logo-icon{background:var(--primary);border-radius:var(--radius-md);color:#fff;width:40px;height:40px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.logo-text{font-size:var(--font-lg);letter-spacing:-.5px;font-weight:700}.sidebar-close{color:var(--text-secondary);padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:none}.sidebar-close:hover{background:var(--surface-sunken);color:var(--text-primary)}.sidebar-nav{padding:var(--space-4) var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--transition-fast);font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--surface-sunken);color:var(--text-primary)}.nav-item.active{background:var(--surface-sunken);box-shadow:var(--shadow-inset);color:var(--primary);font-weight:600}.nav-item.active:before{content:"";background:var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-light)}.theme-toggle{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-weight:500;display:flex}.theme-toggle:hover{background:var(--surface-sunken);color:var(--text-primary)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#0000004d;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;pointer-events:all}.main-content{margin-left:var(--sidebar-width);min-height:100vh;padding-top:var(--header-height);transition:margin-left var(--transition-base);flex:1}.header{height:var(--header-height);padding:0 var(--space-8);align-items:center;gap:var(--space-6);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);width:calc(100% - var(--sidebar-width));z-index:50;box-shadow:var(--shadow-sm);transition:width var(--transition-base);background:#202428b3;display:flex;position:fixed;top:0;right:0}.header-actions{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}[data-theme=light] .header,:root:not([data-theme=dark]) .header{background:#e0e5ecb3}.hamburger{color:var(--text-primary);padding:var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:none}.hamburger:hover{background:var(--surface-sunken)}.header-search{align-items:center;gap:var(--space-3);min-width:200px;max-width:480px;padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border:1px solid var(--border-light);border-radius:var(--radius-pill);box-shadow:var(--shadow-inset);transition:all var(--transition-fast);flex:1;display:flex}.header-search input{min-width:0;color:var(--text-primary);font-size:var(--font-sm);background:0 0;border:none;outline:none;flex:1}.header-search:focus-within{border-color:var(--primary);background:var(--surface-sunken)}.header-search svg{color:var(--text-tertiary);flex-shrink:0}.header-search input{font-size:var(--font-sm);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.header-search input::placeholder{color:var(--text-tertiary)}.header-actions{align-items:center;gap:var(--space-4);display:flex}.icon-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.notification-dot{background:var(--error);border-radius:var(--radius-round);border:2px solid var(--surface-raised);width:8px;height:8px;position:absolute;top:8px;right:8px}.notification-wrapper{position:relative}.notification-dropdown{background:var(--surface-raised);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:360px;max-height:420px;box-shadow:var(--shadow-xl);opacity:0;pointer-events:none;transition:all var(--transition-base);z-index:200;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;transform:translateY(-8px)scale(.96)}.notification-dropdown.show{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.notif-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.notif-title{font-size:var(--font-sm);font-weight:700}.notif-clear{font-size:var(--font-xs);color:var(--primary);cursor:pointer;transition:color var(--transition-fast);font-weight:600}.notif-clear:hover{color:var(--primary-hover)}.notif-list{max-height:360px;overflow-y:auto}.notif-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);cursor:pointer;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-sunken)}.notif-icon{flex-shrink:0;margin-top:2px;font-size:14px}.notif-content{flex:1;min-width:0}.notif-item-title{font-size:var(--font-xs);color:var(--text-primary);margin-bottom:2px;font-weight:600}.notif-item-desc{font-size:var(--font-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.notif-time{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:10px}.notif-empty{align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);color:var(--text-tertiary);font-size:var(--font-xs);flex-direction:column;display:flex}.user-avatar{border-radius:var(--radius-round);background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;width:38px;height:38px;font-size:var(--font-xs);letter-spacing:.5px;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;font-weight:700;display:flex}.user-avatar:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.page-section{opacity:0;display:none;transform:translateY(12px)}.page-section.active{animation:.35s ease-out forwards pageEnter;display:block}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-content{padding:var(--space-8);max-width:1440px}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-size:var(--font-2xl);letter-spacing:-.5px;background:linear-gradient(135deg, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.welcome-section{margin-bottom:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.welcome-section h1{font-size:var(--font-2xl);letter-spacing:-.5px;background:linear-gradient(135deg, var(--text-primary), var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.welcome-sub{color:var(--text-secondary);font-size:var(--font-base);margin-top:var(--space-1)}.btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-sm);transition:all var(--transition-fast);white-space:nowrap;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--shadow-inset);transform:translateY(0)}.btn-outline{border:1px solid var(--border-light);color:var(--text-primary);background:var(--surface-raised);box-shadow:var(--shadow-md)}.btn-outline:hover{color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-outline:active{box-shadow:var(--shadow-inset);transform:translateY(0)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-xs)}.btn-spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.stats-grid{gap:var(--space-5);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--surface-raised);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);align-items:center;gap:var(--space-4);box-shadow:var(--shadow-neumorphic);transition:box-shadow var(--transition-base), transform var(--transition-base);display:flex;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.stat-card:after{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:0;height:3px;transition:opacity var(--transition-fast);position:absolute;top:0;left:0;right:0}.stat-card:hover:after{opacity:1}.stat-card[data-stat=total]:after{background:var(--primary)}.stat-card[data-stat=success]:after{background:var(--success)}.stat-card[data-stat=time]:after{background:var(--info)}.stat-card[data-stat=active]:after{background:var(--warning)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon.total{background:var(--primary-light);color:var(--primary)}.stat-icon.success{color:var(--success-text);background:#a8d5ba33}.stat-icon.time{color:var(--info-text);background:#a3c4f533}.stat-icon.active{color:var(--warning-text);background:#f5e6a333}[data-theme=dark] .stat-icon.total{background:var(--primary-light);color:var(--primary)}[data-theme=dark] .stat-icon.success{color:var(--success-text);background:#3d7a554d}[data-theme=dark] .stat-icon.time{color:var(--info-text);background:#2c4b7a4d}[data-theme=dark] .stat-icon.active{color:var(--warning-text);background:#7a6b2e4d}.stat-info{flex:1;min-width:0}.stat-value{font-size:var(--font-xl);letter-spacing:-.5px;font-weight:700;line-height:1.2;display:block}.stat-label{font-size:var(--font-xs);color:var(--text-secondary);margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.5px;font-weight:500;display:block}.stat-trend{font-size:var(--font-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;font-weight:600}.stat-trend.up{color:var(--success-text);background:#a8d5ba33}.stat-trend.down{color:var(--error-text);background:#f5a3a333}.stat-trend.neutral{background:var(--surface-sunken);color:var(--text-tertiary)}[data-theme=dark] .stat-trend.up{color:var(--success-text);background:#3d7a554d}[data-theme=dark] .stat-trend.down{color:var(--error-text);background:#7a2c2c4d}.content-grid{gap:var(--space-6);grid-template-columns:1fr 340px;align-items:start;display:grid}.card{background:var(--surface-raised);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-neumorphic);transition:box-shadow var(--transition-base);min-width:0}.card:hover{box-shadow:var(--shadow-lg)}.card h2{font-size:var(--font-md);letter-spacing:-.3px;font-weight:700}.card h3{font-size:var(--font-base);margin-bottom:var(--space-4);font-weight:600}.card-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.card-tabs{gap:var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:3px;display:flex}.tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-xs);color:var(--text-secondary);transition:all var(--transition-fast);font-weight:600}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--surface-raised);color:var(--primary);box-shadow:var(--shadow-sm)}.table-wrapper{margin:0 calc(-1 * var(--space-6));padding:0 var(--space-6);overflow-x:auto}.triage-table{border-collapse:separate;border-spacing:0;width:100%}.triage-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-light);font-weight:600}.triage-table td{padding:var(--space-4);font-size:var(--font-sm);border-bottom:1px solid var(--border-light);transition:background var(--transition-fast)}.triage-table tbody tr{transition:all var(--transition-fast);cursor:pointer}.triage-table tbody tr:hover{background:var(--primary-subtle)}.triage-table tbody tr:hover td{border-bottom-color:#0000}.triage-table tbody tr:last-child td{border-bottom:none}.log-name{color:var(--text-primary);align-items:center;gap:var(--space-2);font-weight:600;display:flex}.log-name svg{color:var(--text-tertiary);flex-shrink:0}.chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-xs);white-space:nowrap;font-weight:600;display:inline-flex}.chip-gpu,.chip-cuda{color:var(--error-text);background:#f5a3a326}.chip-oom{color:var(--warning-text);background:#f5e6a326}.chip-timeout,.chip-flake{color:var(--info-text);background:#a3c4f526}.chip-assertion{color:var(--success-text);background:#a8d5ba26}.chip-build{color:var(--warning-text);background:#f5e6a326}.chip-ci{color:var(--info-text);background:#a3c4f526}.chip-unknown{background:var(--surface-sunken);color:var(--text-tertiary)}[data-theme=dark] .chip-gpu,[data-theme=dark] .chip-cuda{background:#7a2c2c4d}[data-theme=dark] .chip-oom,[data-theme=dark] .chip-build{background:#7a6b2e4d}[data-theme=dark] .chip-timeout,[data-theme=dark] .chip-flake,[data-theme=dark] .chip-ci{background:#2c4b7a4d}[data-theme=dark] .chip-assertion{background:#3d7a554d}.confidence-badge{align-items:center;gap:var(--space-1);font-size:var(--font-xs);font-weight:600;display:inline-flex}.confidence-badge .dot{border-radius:var(--radius-round);width:8px;height:8px}.confidence-badge.high .dot{background:var(--success)}.confidence-badge.medium .dot{background:var(--warning)}.confidence-badge.low .dot{background:var(--error)}.status-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:600;display:inline-flex}.status-badge.triaged{color:var(--success-text);background:#a8d5ba26}.status-badge.pending{color:var(--warning-text);background:#f5e6a326}.status-badge.failed{color:var(--error-text);background:#f5a3a326}[data-theme=dark] .status-badge.triaged{background:#3d7a554d}[data-theme=dark] .status-badge.pending{background:#7a6b2e4d}[data-theme=dark] .status-badge.failed{background:#7a2c2c4d}.severity-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.3px;align-items:center;font-weight:700;display:inline-flex}.severity-badge.critical{color:var(--error-text);background:#f5a3a326}.severity-badge.high{color:#c2410c;background:#fb923c26}.severity-badge.medium{color:var(--warning-text);background:#f5e6a326}.severity-badge.low{color:var(--info-text);background:#a3c4f526}[data-theme=dark] .severity-badge.critical{color:var(--error-text);background:#7a2c2c4d}[data-theme=dark] .severity-badge.high{color:#fb923c;background:#96501e4d}[data-theme=dark] .severity-badge.medium{color:var(--warning-text);background:#7a6b2e4d}[data-theme=dark] .severity-badge.low{color:var(--info-text);background:#2c4b7a4d}.upload-zone{border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center;cursor:pointer;background:var(--surface-sunken);box-shadow:var(--shadow-inset);transition:all var(--transition-base);border:none;flex-direction:column;align-items:center;display:flex}.upload-zone:hover,.upload-zone.drag-over{background:var(--primary-subtle)}.upload-zone.drag-over{box-shadow:0 0 0 4px var(--primary-light);transform:scale(1.02)}.upload-icon{border-radius:var(--radius-xl);background:var(--primary-light);width:64px;height:64px;color:var(--primary);margin-bottom:var(--space-4);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.upload-zone:hover .upload-icon{box-shadow:var(--shadow-md);transform:translateY(-4px)}.upload-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.upload-text{font-size:var(--font-sm);color:var(--text-primary);margin-bottom:var(--space-1);font-weight:600}.upload-sub{font-size:var(--font-xs);color:var(--text-tertiary)}.category-list{gap:var(--space-3);flex-direction:column;display:flex}.category-item{align-items:center;gap:var(--space-3);display:flex}.category-name{font-size:var(--font-xs);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:100px;font-weight:500;overflow:hidden}.category-bar-bg{background:var(--surface-sunken);border-radius:var(--radius-pill);flex:1;height:8px;overflow:hidden}.category-bar{border-radius:var(--radius-pill);width:0;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.category-bar.gpu{background:linear-gradient(90deg, var(--error), #e57373)}.category-bar.cuda{background:linear-gradient(90deg,#f5a3a3,#ef9a9a)}.category-bar.oom{background:linear-gradient(90deg, var(--warning), #ffd54f)}.category-bar.timeout{background:linear-gradient(90deg, var(--info), #64b5f6)}.category-bar.flake{background:linear-gradient(90deg,#90caf9,#42a5f5)}.category-bar.assertion{background:linear-gradient(90deg, var(--success), #66bb6a)}.category-bar.build{background:linear-gradient(90deg,#ffe082,#ffc107)}.category-bar.ci{background:linear-gradient(90deg, #80cbc4, var(--primary))}.category-bar.unknown{background:var(--border)}.category-bar.build-error{background:linear-gradient(90deg,#ffe082,#ffc107)}.category-bar.ci-pipeline{background:linear-gradient(90deg, #80cbc4, var(--primary))}.category-bar.cuda-error{background:linear-gradient(90deg,#f5a3a3,#ef9a9a)}.category-bar.gpu-driver{background:linear-gradient(90deg, var(--error), #e57373)}.category-bar.env-flake{background:linear-gradient(90deg,#90caf9,#42a5f5)}.category-count{font-size:var(--font-xs);color:var(--text-tertiary);text-align:right;width:30px;font-weight:600}.action-buttons{gap:var(--space-3);flex-direction:column;display:flex}.action-buttons .btn{justify-content:center;width:100%}.empty-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);color:var(--text-tertiary);text-align:center;flex-direction:column;display:flex}.empty-title{font-size:var(--font-base);color:var(--text-secondary);font-weight:600}.empty-sub{font-size:var(--font-sm);color:var(--text-tertiary)}.detail-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#0000004d;position:fixed;inset:0}.detail-overlay.show{opacity:1;pointer-events:all}.detail-panel{background:var(--surface-raised);width:520px;max-width:90vw;height:100vh;box-shadow:var(--shadow-xl);z-index:210;transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%)}.detail-panel.open{transform:translate(0)}.detail-panel-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.detail-panel-header h2{font-size:var(--font-base);font-weight:700;font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.detail-close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail-close:hover{background:var(--surface-sunken);color:var(--text-primary)}.detail-panel-body{padding:var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.detail-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-section{gap:var(--space-2);flex-direction:column;display:flex}.detail-label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.8px;color:var(--text-tertiary);font-weight:700}.detail-text{font-size:var(--font-sm);color:var(--text-primary);line-height:1.6}.detail-info-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.detail-info-item{background:var(--surface-sunken);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.detail-info-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-tertiary);margin-bottom:var(--space-1);font-size:10px;font-weight:700;display:block}.detail-info-value{font-size:var(--font-sm);color:var(--text-primary);font-weight:500;display:block}.detail-fix-block{background:var(--primary-subtle);border-left:3px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4);font-size:var(--font-sm);color:var(--text-primary);line-height:1.6}.detail-code{background:var(--surface-sunken);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-mono);font-size:var(--font-xs);color:var(--primary);white-space:pre-wrap;word-break:break-all;line-height:1.6;overflow-x:auto}[data-theme=dark] .detail-code{color:#7ee787;background:#0d1117}.detail-actions{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-light);display:flex}.logs-toolbar{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.logs-search{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border-light);border-radius:var(--radius-pill);min-width:240px;transition:all var(--transition-fast);display:flex}.logs-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.logs-search svg{color:var(--text-tertiary);flex-shrink:0}.logs-search input{font-size:var(--font-sm);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.logs-search input::placeholder{color:var(--text-tertiary)}.logs-filters{gap:var(--space-2);display:flex}.filter-chip{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-xs);color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-light);transition:all var(--transition-fast);cursor:pointer;font-weight:600}.filter-chip:hover{border-color:var(--primary);color:var(--text-primary)}.filter-chip.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}.logs-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(380px,1fr));display:grid}.log-card{background:var(--surface-raised);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-base)}.log-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-2px)}.log-card-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:flex-start;display:flex}.log-card-file{align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-primary);font-weight:600;font-family:var(--font-mono);display:flex}.log-card-file svg{color:var(--text-tertiary);flex-shrink:0}.log-card-summary{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.log-card-meta{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.log-card-time{font-size:var(--font-xs);color:var(--text-tertiary);margin-left:auto}.log-card-preview{background:var(--surface-sunken);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-3);overflow:hidden}.log-card-preview code{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.5;display:block;overflow:hidden}[data-theme=dark] .log-card-preview{background:#0d1117}[data-theme=dark] .log-card-preview code{color:#7ee787}.timeline{gap:var(--space-8);flex-direction:column;max-width:800px;display:flex}.timeline-group-label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light);font-weight:700}.timeline-item{gap:var(--space-4);padding:var(--space-4) 0;display:flex;position:relative}.timeline-item:not(:last-child):after{content:"";background:var(--border-light);width:1px;position:absolute;top:28px;bottom:-4px;left:5px}.timeline-dot{border:2px solid var(--surface);width:11px;height:11px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;margin-top:4px}.timeline-dot.critical{background:var(--error)}.timeline-dot.high{background:#fb923c}.timeline-dot.medium{background:var(--warning)}.timeline-dot.low{background:var(--info)}.timeline-content{flex:1;min-width:0}.timeline-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.timeline-action{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--primary);background:var(--primary-subtle);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:700}.timeline-file{font-size:var(--font-sm);color:var(--text-primary);font-weight:600;font-family:var(--font-mono)}.timeline-time{font-size:var(--font-xs);color:var(--text-tertiary);margin-left:auto}.timeline-detail{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-2);line-height:1.5}.settings-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(400px,1fr));max-width:1000px;display:grid}.settings-card{padding:var(--space-6)}.settings-card-header{gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.settings-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.settings-icon.api{background:var(--primary-light);color:var(--primary)}.settings-icon.appearance{color:var(--info-text);background:#a3c4f533}.settings-icon.pipeline{color:var(--warning-text);background:#f5e6a333}.settings-icon.about{background:var(--surface-sunken);color:var(--text-secondary)}[data-theme=dark] .settings-icon.api{background:var(--primary-light);color:var(--primary)}[data-theme=dark] .settings-icon.appearance{color:var(--info-text);background:#2c4b7a4d}[data-theme=dark] .settings-icon.pipeline{color:var(--warning-text);background:#7a6b2e4d}.settings-card-header h3{font-size:var(--font-base);margin-bottom:var(--space-1);font-weight:700}.settings-desc{font-size:var(--font-xs);color:var(--text-tertiary);line-height:1.4}.settings-field{margin-bottom:var(--space-5)}.settings-field:last-child{margin-bottom:0}.settings-field label{font-size:var(--font-sm);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:600;display:block}.settings-field input[type=text],.settings-field input[type=password]{width:100%;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-primary);transition:all var(--transition-fast);outline:none}.settings-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.settings-field select{width:100%;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none;padding-right:36px}.settings-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.input-group{gap:var(--space-2);display:flex}.input-group input{flex:1}.field-hint{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:var(--space-2)}.toggle-row{gap:var(--space-2);display:flex}.theme-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-fast);flex:1;font-weight:500;display:flex}.theme-btn:hover{border-color:var(--primary);color:var(--text-primary)}.theme-btn.active{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary);font-weight:600}.switch-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.switch-row label{margin-bottom:0}.switch{flex-shrink:0;width:44px;height:24px;margin-top:2px;position:relative}.switch input{display:none}.switch-slider{background:var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast);position:absolute;inset:0}.switch-slider:before{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-slider{background:var(--primary)}.switch input:checked+.switch-slider:before{transform:translate(20px)}.about-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.about-item{gap:var(--space-1);flex-direction:column;display:flex}.about-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.about-value{font-size:var(--font-sm);color:var(--text-primary);font-weight:500}.about-link{font-size:var(--font-sm);color:var(--primary);transition:color var(--transition-fast);font-weight:500}.about-link:hover{color:var(--primary-hover)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.scroll-reveal{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transform:translateY(24px)}.scroll-reveal.in-view{opacity:1;transform:translateY(0)}.scroll-reveal.delay-1{transition-delay:80ms}.scroll-reveal.delay-2{transition-delay:.16s}.scroll-reveal.delay-3{transition-delay:.24s}.scroll-reveal.delay-4{transition-delay:.32s}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close,.hamburger{display:flex}.main-content{margin-left:0}.content-grid{grid-template-columns:1fr}.right-panel{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.detail-panel{width:100%;max-width:100vw}.settings-grid,.logs-grid{grid-template-columns:1fr}}@media (width<=768px){.stats-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr)}.page-content{padding:var(--space-5)}.header{padding:0 var(--space-5);width:100%}.welcome-section h1,.page-header h1{font-size:var(--font-xl)}.card{padding:var(--space-5)}.right-panel{grid-template-columns:1fr}.notification-dropdown{width:calc(100vw - 32px);right:-60px}.detail-info-grid,.about-grid{grid-template-columns:1fr}.logs-toolbar{flex-direction:column;align-items:stretch}.logs-search{min-width:unset}.logs-filters{flex-wrap:wrap}}@media (width<=480px){.stats-grid{gap:var(--space-3);grid-template-columns:1fr}.stat-card{padding:var(--space-4)}.stat-icon{width:40px;height:40px}.stat-value{font-size:var(--font-lg)}.header{padding:0 var(--space-4);gap:var(--space-3)}.header-search{display:none}.page-content{padding:var(--space-4)}.welcome-section{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column}.welcome-section h1,.page-header h1{font-size:var(--font-lg)}.btn-primary{justify-content:center;width:100%}.card{padding:var(--space-4);border-radius:var(--radius-md)}.card-header{flex-direction:column;align-items:flex-start}.triage-table th:nth-child(5),.triage-table td:nth-child(5){display:none}.upload-zone{padding:var(--space-6) var(--space-4)}.upload-icon{width:52px;height:52px}.category-name{width:80px;font-size:10px}.settings-grid{grid-template-columns:1fr}.toggle-row{flex-direction:column}.timeline-header{align-items:flex-start;gap:var(--space-1);flex-direction:column}.timeline-time{margin-left:0}}@media (width<=1200px){.content-grid{grid-template-columns:1fr}.triage-section{grid-column:1/-1}.right-panel{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.page-content{padding:var(--space-6)}.logs-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (width>=1600px){.page-content{max-width:1600px;margin:0 auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.loader-overlay{background:var(--surface);z-index:9999;opacity:1;justify-content:center;align-items:center;transition:opacity .8s ease-out,visibility .8s ease-out;display:flex;position:fixed;inset:0}.loader-overlay.hidden{opacity:0;visibility:hidden}.loader-content{align-items:center;gap:var(--space-6);flex-direction:column;display:flex}.loader-logo{background:var(--surface-raised);width:100px;height:100px;color:var(--primary);box-shadow:var(--shadow-neumorphic);border-radius:24px;justify-content:center;align-items:center;animation:2s ease-in-out infinite neumorphicPulse;display:flex}.loader-logo svg{width:56px;height:56px}.loader-text{font-size:var(--font-sm);color:var(--text-tertiary);letter-spacing:3px;text-transform:uppercase;font-weight:700;animation:2s infinite pulseOpacity}@keyframes neumorphicPulse{0%{box-shadow:var(--shadow-md);transform:scale(.98)}50%{box-shadow:var(--shadow-xl);transform:scale(1.02)}to{box-shadow:var(--shadow-md);transform:scale(.98)}}@keyframes pulseOpacity{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}
