:root{--bg-page: #F4F4F5;--bg-sidebar: #FFFFFF;--bg-card: #FFFFFF;--bg-header: #FFFFFF;--bg-hover: #F4F4F5;--bg-input: #FAFAFA;--bg-muted: #F8F8F8;--accent: #3D6EF5;--accent-dim: #2D5EE8;--accent-light: #EBF0FE;--accent-border: rgba(37,99,235,.18);--pass: #16A34A;--pass-bg: #F0FDF4;--pass-text: #15803D;--fail: #DC2626;--fail-bg: #FEF2F2;--fail-text: #B91C1C;--warn: #D97706;--warn-bg: #FFFBEB;--warn-text: #92400E;--info: #2563EB;--info-bg: #EFF6FF;--info-text: #1D4ED8;--purple: #7C3AED;--purple-bg: #F5F3FF;--purple-text:#6D28D9;--teal: #0891B2;--teal-bg: #ECFEFF;--teal-text: #0E7490;--text-primary: #111111;--text-secondary: #555555;--text-muted: #888888;--text-faint: #C8C8C8;--border: #E4E4E7;--border-md: #D1D1D6;--font-display: "Inter", -apple-system, system-ui, sans-serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-d: "Inter", system-ui, sans-serif;--font-m: "JetBrains Mono", monospace;--sidebar-w: 264px;--sidebar-collapsed-w: 60px;--header-h: 60px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 8px 24px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.06);--ease: .15s cubic-bezier(.4,0,.2,1);--ease-out: .25s cubic-bezier(0,0,.2,1);--ink: #F4F4F5;--ink-2: #FFFFFF;--ink-3: #F4F4F5;--ink-4: #E4E4E7;--ink-5: #D1D1D6;--teal-dim: #0E7490;--teal-glow: #EFF6FF;--teal-glow-2: #EFF6FF;--border-2: #D1D1D6;--border-accent: rgba(37,99,235,.18);--text-1: #111111;--text-2: #555555;--text-3: #888888;--text-4: #C8C8C8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);font-size:13px;line-height:1.5;background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.006em}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-body);font-size:13px;color:var(--text-primary)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#dadadd;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#b8b8bd}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2.2);opacity:0}}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--bg-page)}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-content{flex:1;overflow-y:auto;padding:24px 28px;animation:fadeIn .18s ease}.sidebar{width:var(--sidebar-w);background:#fff;border-right:1px solid #EAEAEE;display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow:visible;position:relative;transition:width .24s cubic-bezier(.4,0,.2,1)}.sidebar--collapsed{width:var(--sidebar-collapsed-w)}.sidebar:after{display:none}.sidebar-toggle-tab{position:absolute;right:-12px;top:calc((var(--header-h) - 24px)/2);width:12px;height:24px;background:#fff;border:1px solid #EAEAEE;border-left:none;border-radius:0 4px 4px 0;box-shadow:2px 0 6px #00000012;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;color:#aaa;padding:0;transition:color var(--ease),background var(--ease)}.sidebar-toggle-tab:hover{color:#555;background:#f6f6f8}.sidebar-header{padding:0 16px;border-bottom:1px solid #EAEAEE;display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--header-h);overflow:hidden;gap:8px}.sidebar--collapsed .sidebar-header{justify-content:center;padding:0 8px}.sidebar-logo{display:flex;align-items:center;overflow:hidden;min-width:0}.sidebar-logo-mark{height:44px;object-fit:contain;flex-shrink:0}.sidebar-logo-mini{width:42px;height:42px;display:flex;align-items:center;justify-content:center}.sidebar-logo-mini img{height:42px;object-fit:contain}.sidebar-toggle-btn{display:none}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 0 4px}.sidebar-nav::-webkit-scrollbar{width:0}.sidebar-nav-section{padding:0 12px}.sidebar-section-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 4px 6px;border:none;background:none;cursor:pointer;transition:opacity var(--ease)}.sidebar-section-btn:hover{opacity:.8}.sidebar-nav-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#aaa;transition:color var(--ease);font-family:var(--font-body)}.section-chevron{color:#bbb;flex-shrink:0;transition:transform .2s ease}.sidebar-section-items{overflow:hidden;transition:all var(--ease-out)}.sidebar-section-items--hidden{display:none}.nav-item{display:flex;align-items:center;gap:13px;padding:8px 12px;border-radius:10px;font-size:15px;font-weight:500;color:#1a1a2e;cursor:pointer;transition:background .14s ease,color .14s ease;border:none;background:none;margin-bottom:2px;width:100%;text-align:left;position:relative;letter-spacing:-.01em;line-height:1}.nav-item:hover{background:#f3f4f6;color:#111827}.nav-item.active{background:#ebf0fe;color:#3d6ef5;font-weight:600}.nav-item.active .nav-icon{color:#3d6ef5}.nav-item:hover .nav-icon{color:#374151}.nav-item--collapsed{justify-content:center;padding:12px 8px;margin-bottom:3px;border-radius:10px}.nav-item--collapsed.active{background:#ebf0fe}.nav-item--collapsed:hover{background:#f3f4f6}.nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#374151;transition:color .14s ease}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{flex-shrink:0;min-width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-family:var(--font-body);line-height:1}.nav-badge--red{background:#e03131;color:#fff}.nav-badge--amber{background:#f59f00;color:#fff;font-size:12px}.nav-badge--new{min-width:auto;border-radius:7px;padding:4px 9px;height:auto;background:#fab005;color:#5c3d0a;font-size:11px;font-weight:800;letter-spacing:.04em}.nav-badge-dot{width:7px;height:7px;border-radius:50%;background:#e03131;flex-shrink:0;position:absolute;top:8px;right:8px;border:1.5px solid white}.sidebar-divider{height:1px;background:#eaeaee;margin:10px 0 8px}.sidebar-footer{flex-shrink:0;padding:12px 12px 16px;border-top:1px solid #EAEAEE}.sidebar-footer--collapsed{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.sidebar-client-badge{display:flex;align-items:center;gap:10px;padding:10px;background:#f8f8fb;border-radius:10px;border:1px solid #EAEAEE}.client-avatar{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#3d6ef5,#2563eb);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.client-info{min-width:0;flex:1}.client-name{font-size:12.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-role{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout-btn{display:flex;align-items:center;justify-content:center;padding:5px;border-radius:6px;color:#bbb;background:none;border:none;cursor:pointer;flex-shrink:0;transition:color var(--ease),background var(--ease)}.sidebar-logout-btn:hover{color:#dc2626;background:#fef2f2}.sidebar-status{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);margin-top:8px}.sidebar-status-dot{width:6px;height:6px;border-radius:50%;background:var(--pass);flex-shrink:0}.sidebar-status strong{color:var(--text-secondary);font-weight:500}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:40}@media (max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .22s ease,width .22s ease}.sidebar--mobile-open{transform:translate(0)}.header-hamburger{display:flex!important}}.app-header{height:var(--header-h);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--bg-header);flex-shrink:0}.header-left{display:flex;align-items:center;gap:10px}.header-hamburger{display:none!important;color:var(--text-secondary)}.header-breadcrumb{display:flex;align-items:center;gap:6px}.breadcrumb-root{font-size:12px;color:var(--text-muted);font-weight:400}.breadcrumb-sep{color:var(--text-faint);font-size:12px;line-height:1;-webkit-user-select:none;user-select:none}.breadcrumb-current{font-size:13px;font-weight:500;color:var(--text-primary)}.header-actions{display:flex;align-items:center;gap:6px}.header-search{display:flex;align-items:center;gap:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);padding:5px 10px;transition:border-color var(--ease),box-shadow var(--ease)}.header-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb1a}.header-search input{background:none;border:none;outline:none;font-size:12.5px;color:var(--text-primary);width:180px;font-family:var(--font-body)}.header-search input::placeholder{color:var(--text-faint)}.header-search-icon{color:var(--text-muted);flex-shrink:0}.header-clock{display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:0 4px}.header-clock-date{font-size:10px;color:var(--text-muted);font-weight:500;letter-spacing:.02em;white-space:nowrap}.header-clock-time{font-size:12.5px;color:var(--text-secondary);font-family:var(--font-mono);font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--r-md);font-size:12.5px;font-weight:500;transition:all var(--ease);cursor:pointer;border:none;white-space:nowrap;font-family:var(--font-body)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost:hover{border-color:var(--border-md);color:var(--text-primary);background:var(--bg-hover)}.btn-primary{background:var(--accent);color:#fff;font-weight:500;border:1px solid var(--accent-dim);box-shadow:0 1px 2px #00000014}.btn-primary:hover{background:var(--accent-dim);box-shadow:0 2px 6px #2563eb40}.btn-primary:active{transform:translateY(.5px)}.btn-danger{background:var(--fail-bg);border:1px solid rgba(220,38,38,.2);color:var(--fail-text)}.btn-danger:hover{background:#fee2e2}.btn-icon{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);transition:all var(--ease);position:relative}.btn-icon:hover{color:var(--text-primary);border-color:var(--border-md);background:var(--bg-hover)}.notif-dot{width:6px;height:6px;background:var(--fail);border-radius:50%;position:absolute;top:4px;right:4px;border:1.5px solid white}.header-btn-refresh{border-radius:var(--r-md);font-size:12px;gap:4px;padding:5px 10px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1.3}.page-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px;font-weight:400}.page-actions{display:flex;gap:6px;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.stat-card{background:#fff;border-radius:16px;padding:24px;position:relative;overflow:hidden;transition:box-shadow var(--ease),border-color var(--ease),transform var(--ease);box-shadow:0 2px 10px #0000000d,0 0 0 1px #0000000a;border:none}.stat-card:hover{box-shadow:0 8px 24px #00000017,0 0 0 1px #0000000d;transform:translateY(-2px)}.stat-card:before{display:none}.stat-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.stat-card-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-icon--teal{background:#14b8a61a;color:#0d9488}.stat-card-icon--pass{background:#10b9811a;color:#059669}.stat-card-icon--fail{background:#ef44441a;color:#dc2626}.stat-card-icon--warn{background:#f59e0b1a;color:#d97706}.stat-card-icon--info{background:#6366f11a;color:#4f46e5}.stat-card-icon--purple{background:#8b5cf61a;color:#7c3aed}.stat-card-value{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1;letter-spacing:-.04em;color:#0f172a;margin-bottom:6px;font-variant-numeric:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}.stat-card-label{font-size:13px;font-weight:400;color:#9ca3af;line-height:1.4}.stat-delta{font-size:10.5px;font-weight:500;padding:2px 6px;border-radius:99px;font-variant-numeric:tabular-nums;white-space:nowrap;font-family:var(--font-mono)}.stat-delta--up{background:var(--pass-bg);color:var(--pass-text)}.stat-delta--down{background:var(--fail-bg);color:var(--fail-text)}.stat-delta--neutral{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border)}.stat-desc{font-size:10.5px;color:var(--text-faint);margin-top:3px}.card{background:var(--bg-card);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-xs);transition:box-shadow var(--ease),border-color var(--ease);border:1px solid var(--border)}.card:hover{box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-card)}.card-title{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.card-body{padding:16px}.card-body--no-pad{padding:0}.card-actions{display:flex;gap:6px;align-items:center}.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500;white-space:nowrap;font-family:var(--font-mono)}.badge-dot{width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}.badge--pass{background:var(--pass-bg);color:var(--pass-text)}.badge--fail{background:var(--fail-bg);color:var(--fail-text)}.badge--warn{background:var(--warn-bg);color:var(--warn-text)}.badge--info{background:var(--info-bg);color:var(--info-text)}.badge--purple{background:var(--purple-bg);color:var(--purple-text)}.badge--neutral{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border)}.priority-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-sm);font-size:11px;font-weight:500;font-family:var(--font-body)}.priority-chip--critical{background:var(--fail-bg);color:var(--fail-text)}.priority-chip--high{background:var(--warn-bg);color:var(--warn-text)}.priority-chip--medium{background:var(--info-bg);color:var(--info-text)}.priority-chip--low{background:var(--bg-hover);color:var(--text-muted)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:700px}.data-table thead th{padding:8px 14px;text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-muted);border-bottom:1px solid var(--border);white-space:nowrap}.data-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table thead th.sortable:hover{color:var(--text-secondary)}.th-inner{display:flex;align-items:center;gap:4px}.data-table tbody tr{border-bottom:1px solid var(--border);transition:background var(--ease)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody td{padding:10px 14px;color:var(--text-primary);vertical-align:middle}.td-name{font-weight:500}.td-mono{font-family:var(--font-mono);font-size:11.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.td-muted{color:var(--text-muted);font-size:11.5px}.table-empty{text-align:center;padding:48px 20px;color:var(--text-muted)}.table-empty-icon{font-size:28px;margin-bottom:10px;opacity:.4}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:var(--bg-muted);border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap;background:var(--bg-card)}.search-field{flex:1;min-width:180px;display:flex;align-items:center;gap:7px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);padding:6px 10px;transition:border-color var(--ease),box-shadow var(--ease)}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb1a}.search-field input{background:none;border:none;outline:none;font-size:12.5px;color:var(--text-primary);flex:1;font-family:var(--font-body)}.search-field input::placeholder{color:var(--text-faint)}.filter-select{padding:6px 24px 6px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);font-size:12.5px;cursor:pointer;outline:none;transition:border-color var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-color:var(--bg-input);font-family:var(--font-body)}.filter-select:focus{border-color:var(--accent)}.ts-filter{min-width:130px}.progress-track{height:4px;background:#ececec;border-radius:99px;overflow:hidden}.progress-bar{height:100%;border-radius:99px;transition:width .5s var(--ease-out)}.progress-bar--pass{background:var(--pass)}.progress-bar--fail{background:var(--fail)}.progress-bar--warn{background:var(--warn)}.progress-bar--info{background:var(--accent)}.progress-bar--teal{background:var(--teal)}.progress-bar--purple{background:var(--purple)}.tabs{display:flex;gap:1px;background:var(--bg-hover);border-radius:var(--r-md);padding:3px;border:1px solid var(--border)}.tab-btn{padding:5px 12px;border-radius:calc(var(--r-md) - 1px);font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all var(--ease);border:none;background:none;font-family:var(--font-body)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-xs);font-weight:600;border:1px solid var(--border)}.test-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.category-card{background:#fff;border-radius:20px;padding:18px;cursor:pointer;position:relative;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000f;border:1px solid #E8E8EE}.category-card:after{display:none}.category-card:hover{box-shadow:0 6px 20px #00000017,0 0 0 1px #2563eb1f;border-color:#2563eb40;transform:translateY(-2px)}.category-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb24,0 4px 16px #2563eb1f;transform:translateY(-1px)}.category-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--border)}.category-icon{width:32px;height:32px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:var(--bg-hover)}.category-pass-ring{position:relative;width:42px;height:42px;flex-shrink:0}.ring-svg{width:42px;height:42px;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#ececec;stroke-width:3}.ring-val{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .7s var(--ease-out)}.ring-val--pass{stroke:var(--pass)}.ring-val--warn{stroke:var(--warn)}.ring-val--fail{stroke:var(--fail)}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:600;font-variant-numeric:tabular-nums}.pct--pass{color:var(--pass-text)}.pct--warn{color:var(--warn-text)}.pct--fail{color:var(--fail-text)}.category-name{font-size:13.5px;font-weight:600;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.01em;line-height:1.3}.category-count{font-size:11.5px;color:var(--text-muted);margin-bottom:12px;line-height:1.5}.category-bar-row{display:flex;align-items:center;gap:7px;margin-bottom:6px}.category-bar-row:last-of-type{margin-bottom:0}.category-bar-label{font-size:10px;font-weight:600;width:24px;letter-spacing:.02em}.category-bar-label--pass{color:var(--pass-text)}.category-bar-label--fail{color:var(--fail-text)}.category-bar-track{flex:1}.category-bar-val{font-size:10px;font-family:var(--font-mono);font-weight:600;width:18px;text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums}.category-footer,.category-stat,.category-stat--pass,.category-stat--fail{display:none}.cat-split{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:0}.cat-split-col{border-radius:var(--r-md);padding:9px 11px 11px;display:flex;flex-direction:column}.cat-split-col--pass{background:var(--pass-bg);border:1px solid rgba(22,163,74,.15)}.cat-split-col--fail{background:var(--fail-bg);border:1px solid rgba(220,38,38,.15)}.cat-split-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.cat-split-col--pass .cat-split-label{color:var(--pass-text)}.cat-split-col--fail .cat-split-label{color:var(--fail-text)}.cat-split-num{font-family:var(--font-mono);font-size:22px;font-weight:600;line-height:1.1;margin-top:3px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.cat-split-col--pass .cat-split-num{color:var(--pass-text)}.cat-split-col--fail .cat-split-num{color:var(--fail-text)}.subtests-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow-xs)}.subtest-row{display:grid;grid-template-columns:1fr 116px 150px 110px 64px 110px;padding:11px 18px;border-bottom:1px solid var(--border);align-items:center;transition:background var(--ease);cursor:pointer;gap:4px}.subtest-row--header{background:var(--bg-muted);cursor:default;padding:8px 18px}.subtest-row--header:hover{background:var(--bg-muted)}.subtest-col-head{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.subtest-row:last-child{border-bottom:none}.subtest-row:hover,.subtest-row.expanded{background:var(--bg-hover)}.subtest-name{font-size:12.5px;font-weight:500;color:var(--text-primary)}.subtest-desc{font-size:11px;color:var(--text-muted);margin-top:2px}.subtest-expand{grid-column:1/-1;padding:14px 16px;background:var(--bg-muted);border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:16px}.expand-section-title{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.expand-value{font-family:var(--font-mono);font-size:11.5px;color:var(--text-secondary);background:var(--bg-card);padding:8px 10px;border-radius:var(--r-md);border:1px solid var(--border)}.solution-item{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.solution-num{width:16px;height:16px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:10px;transition:box-shadow var(--ease),border-color var(--ease);box-shadow:var(--shadow-xs)}.report-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-md)}.report-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.report-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.report-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:3px}.report-client{font-size:11.5px;color:var(--text-muted)}.report-progress-row{display:flex;align-items:center;gap:8px}.report-progress-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.report-progress-val{font-size:11px;font-family:var(--font-mono);color:var(--accent);margin-left:auto;font-variant-numeric:tabular-nums}.report-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border)}.report-date{font-size:10.5px;color:var(--text-faint);font-family:var(--font-mono)}.report-actions{display:flex;gap:5px}.client-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);transition:background var(--ease);cursor:pointer}.client-row:last-child{border-bottom:none}.client-row:hover{background:var(--bg-hover)}.client-row-avatar{width:30px;height:30px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}.client-row-info{flex:1;min-width:0}.client-row-name{font-size:12.5px;font-weight:500;color:var(--text-primary)}.client-row-sub{font-size:11px;color:var(--text-muted)}.client-row-stats{display:flex;gap:16px;align-items:center}.client-stat{text-align:center}.client-stat-val{font-family:var(--font-display);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.client-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:500}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.main-col,.side-col{display:flex;flex-direction:column;gap:12px}.overview-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-bottom:16px}.overview-grid--reports{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity-feed{padding:4px 0}.activity-item{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:none}.activity-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:4px}.activity-dot--pass{background:var(--pass)}.activity-dot--fail{background:var(--fail)}.activity-dot--warn{background:var(--warn)}.activity-dot--info{background:var(--accent)}.activity-content{flex:1;min-width:0}.activity-text{font-size:12.5px;color:var(--text-primary);line-height:1.4}.activity-text strong{font-weight:600}.activity-time{font-size:10.5px;color:var(--text-muted);margin-top:2px;font-family:var(--font-mono)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-page);position:relative}.login-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:32px 32px;opacity:.5}.login-orb{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;opacity:.3}.login-orb--teal{width:500px;height:500px;background:radial-gradient(circle,rgba(37,99,235,.2) 0%,transparent 70%);top:-100px;right:-60px}.login-orb--purple{width:400px;height:400px;background:radial-gradient(circle,rgba(124,58,237,.15) 0%,transparent 70%);bottom:-80px;left:-40px}.login-center{position:relative;z-index:1;width:100%;max-width:380px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:16px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}.login-logo{width:34px;height:34px;object-fit:contain}.login-brand-text{display:flex;flex-direction:column}.login-brand-name{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1}.login-brand-tag{font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.login-card{width:100%;background:var(--bg-card);border-radius:var(--r-lg);padding:28px 28px 22px;box-shadow:var(--shadow-md);border:1px solid var(--border)}.login-card-head{margin-bottom:20px}.login-title{font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:4px;line-height:1.2}.login-subtitle{font-size:12.5px;color:var(--text-muted);font-weight:400}.login-error{display:flex;align-items:center;gap:7px;padding:8px 12px;background:var(--fail-bg);border:1px solid rgba(220,38,38,.2);border-radius:var(--r-md);font-size:12.5px;color:var(--fail-text);margin-bottom:14px}.login-form{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:5px}.login-label{font-size:12.5px;font-weight:500;color:var(--text-secondary)}.login-label-row{display:flex;align-items:center;justify-content:space-between}.login-input-wrap{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--ease),box-shadow var(--ease);overflow:hidden}.login-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb1a}.login-input-wrap--error{border-color:var(--fail)}.login-input{flex:1;padding:9px 12px;background:none;border:none;outline:none;font-size:13.5px;color:var(--text-primary);font-family:var(--font-body)}.login-input::placeholder{color:var(--text-faint)}.login-eye-btn{padding:0 10px;color:var(--text-muted);background:none;border:none;cursor:pointer;display:flex;align-items:center;flex-shrink:0;transition:color var(--ease)}.login-eye-btn:hover{color:var(--text-secondary)}.login-forgot{font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;font-weight:500;font-family:var(--font-body);transition:opacity var(--ease)}.login-forgot:hover{opacity:.7}.login-field-error{font-size:11px;color:var(--fail-text);font-weight:500}.login-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;margin-top:2px;background:var(--accent);color:#fff;border:1px solid var(--accent-dim);border-radius:var(--r-md);font-size:14px;font-weight:500;font-family:var(--font-display);cursor:pointer;letter-spacing:-.01em;box-shadow:0 1px 3px #0000001a;transition:all var(--ease)}.login-btn:hover:not(:disabled){background:var(--accent-dim);box-shadow:0 2px 8px #2563eb40}.login-btn:active{transform:translateY(.5px)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:14px;height:14px;border:1.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.login-hint{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:16px;font-size:11px;color:var(--text-faint)}.login-demo{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px}.login-demo-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:8px}.login-demo-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.login-demo-row:last-child{margin-bottom:0}.login-demo-key{font-size:12px;color:var(--text-muted);font-weight:500;width:58px}.login-demo-val{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);flex:1;letter-spacing:.04em}.login-demo-fill{padding:3px 10px;background:var(--info-bg);border:1px solid rgba(37,99,235,.18);border-radius:99px;font-size:11px;font-weight:500;color:var(--info-text);cursor:pointer;font-family:var(--font-body);transition:all var(--ease)}.login-demo-fill:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.notif-list{display:flex;flex-direction:column}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background var(--ease);cursor:pointer}.notif-item:hover{background:var(--bg-hover)}.notif-item:last-child{border-bottom:none}.notif-item--unread{background:#fafbff}.notif-icon-wrap{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-title{font-size:12.5px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.notif-body{font-size:12px;color:var(--text-muted);line-height:1.4}.notif-time{font-size:10.5px;color:var(--text-faint);font-family:var(--font-mono);margin-top:3px}.notif-unread-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:4px}.settings-section{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.settings-section-title{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:2px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:var(--bg-card);border-radius:var(--r-lg);border:1px solid var(--border);transition:border-color var(--ease)}.settings-row:hover{border-color:var(--border-md)}.settings-row-label{font-size:12.5px;font-weight:500;color:var(--text-primary)}.settings-row-desc{font-size:11.5px;color:var(--text-muted);margin-top:2px}.settings-input{padding:6px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);font-size:13px;color:var(--text-primary);outline:none;font-family:var(--font-body);transition:border-color var(--ease),box-shadow var(--ease)}.settings-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb1a}.toggle{position:relative;width:36px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#dadadd;border-radius:99px;transition:background .16s ease}.toggle-slider:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .16s ease;box-shadow:0 1px 2px #00000026}.toggle input:checked+.toggle-slider{background:var(--accent)}.toggle input:checked+.toggle-slider:before{transform:translate(16px)}.evidence-header{padding:16px 18px;background:var(--bg-card);border-radius:var(--r-lg) var(--r-lg) 0 0;margin-bottom:16px;border:1px solid var(--border);border-bottom:none}.evidence-header-title{font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.evidence-header-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.evidence-record{padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-card);margin-bottom:6px;transition:border-color var(--ease)}.evidence-record:hover{border-color:var(--border-md)}.evidence-record--pass{border-left:2px solid var(--pass)}.evidence-record--fail{border-left:2px solid var(--fail)}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border)}.recharts-text{font-family:var(--font-body)!important;font-size:11px!important}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center;color:var(--text-muted)}.empty-state-icon{width:44px;height:44px;border-radius:var(--r-lg);background:var(--bg-hover);display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--text-faint)}.empty-state-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.empty-state-desc{font-size:12.5px;color:var(--text-muted);max-width:260px;line-height:1.5}.text-pass{color:var(--pass-text)}.text-fail{color:var(--fail-text)}.text-warn{color:var(--warn-text)}.text-info{color:var(--info-text)}.font-mono{font-family:var(--font-mono)}.tabular{font-variant-numeric:tabular-nums;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-stage{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;display:flex;align-items:center;gap:12px;transition:border-color var(--ease)}.pipeline-stage:hover{border-color:var(--border-md)}@keyframes lhFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lhFloat1{0%,to{transform:translate(0) scale(1)}30%{transform:translate(28px,-22px) scale(1.06)}60%{transform:translate(-18px,16px) scale(.96)}80%{transform:translate(12px,-8px) scale(1.02)}}@keyframes lhFloat2{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-24px,20px) scale(1.05)}55%{transform:translate(22px,-18px) scale(.94)}80%{transform:translate(-10px,10px) scale(1.03)}}@keyframes lhFloat3{0%,to{transform:translate(0) scale(1)}35%{transform:translate(18px,28px) scale(1.08)}65%{transform:translate(-22px,-14px) scale(.95)}85%{transform:translate(8px,6px) scale(1.01)}}@keyframes lhPulse{0%,to{opacity:.55}50%{opacity:.8}}.lh-shell{display:flex;min-height:100vh;background:#f4f6fb;font-family:var(--font-body)}.lh-left{flex:1;background:#f4f6fb;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:64px 60px 100px;position:relative;overflow:hidden;min-height:100vh}.lh-left:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,#D8DCE8 25%,#D8DCE8 75%,transparent)}.lh-left-inner{width:100%;max-width:500px;animation:lhFadeUp .5s ease both}.lh-hero-logo{position:absolute;bottom:40px;left:60px;height:34px;object-fit:contain;animation:lhFadeUp .55s .5s ease both;opacity:0;animation-fill-mode:forwards}.lh-hero-title{font-size:34px;font-weight:800;color:#0a0a0a;letter-spacing:-.04em;line-height:1.08;margin-bottom:12px}.lh-hero-desc{font-size:15px;color:#6b7280;line-height:1.7;font-weight:400;margin-bottom:0}.lh-features{display:flex;flex-direction:column;gap:10px;margin-top:28px;width:100%}.lh-feature-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #DDE1EE;border-radius:14px;padding:14px 18px;box-shadow:0 2px 8px #14286412;animation:lhFadeUp .45s ease both;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.lh-feature-card:nth-child(1){animation-delay:.12s}.lh-feature-card:nth-child(2){animation-delay:.22s}.lh-feature-card:nth-child(3){animation-delay:.32s}.lh-feature-card:nth-child(4){animation-delay:.42s}.lh-feature-card:hover{box-shadow:0 6px 20px #1428641c;border-color:#c0c8e4;transform:translateY(-2px)}.lh-feature-icon{width:42px;height:42px;min-width:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lh-feature-text{font-size:13.5px;color:#2d3748;line-height:1.5;font-weight:400}.lh-right{flex:1.3;background:#d6e8fa;display:flex;align-items:center;justify-content:center;padding:56px 52px;position:relative;overflow:hidden}.lh-right:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 140% 110% at 10% 10%,rgba(255,255,255,.96) 0%,rgba(210,230,252,.55) 38%,transparent 65%),radial-gradient(ellipse 120% 120% at 90% 90%,rgba(255,255,255,.92) 0%,rgba(195,222,252,.5) 38%,transparent 62%),radial-gradient(ellipse 100% 80% at 78% 8%,rgba(225,240,255,.72) 0%,rgba(180,215,252,.25) 45%,transparent 68%),radial-gradient(ellipse 85% 95% at 12% 85%,rgba(218,238,255,.65) 0%,rgba(175,212,252,.22) 45%,transparent 65%),radial-gradient(ellipse 70% 70% at 50% 48%,rgba(255,255,255,.55) 0%,rgba(210,232,255,.1) 55%,transparent 75%)}.lh-right:after{content:"";position:absolute;bottom:0;left:0;right:0;height:180px;pointer-events:none;background:linear-gradient(to top,rgba(180,215,250,.22) 0%,transparent 100%)}.lh-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(58px)}.lh-orb--1{width:320px;height:320px;top:5%;left:8%;background:#fff9;animation:lhFloat1 13s ease-in-out infinite}.lh-orb--2{width:270px;height:270px;bottom:10%;right:8%;background:#c3deff8c;animation:lhFloat2 17s ease-in-out infinite}.lh-orb--3{width:210px;height:210px;top:42%;left:52%;background:#b4d2ff7a;animation:lhFloat3 11s ease-in-out infinite}.lh-orb--4{width:160px;height:160px;top:15%;right:28%;background:#d7ebff73;animation:lhFloat1 9s 2s ease-in-out infinite,lhPulse 6s ease-in-out infinite}.lh-deco{position:absolute;border-radius:50%;pointer-events:none}.lh-deco--tr{width:580px;height:580px;top:-200px;right:-200px;border:1.5px solid rgba(100,160,240,.14);background:radial-gradient(circle,rgba(180,215,252,.18) 0%,transparent 65%)}.lh-deco--bl{width:440px;height:440px;bottom:-150px;left:-150px;border:1.5px solid rgba(100,160,240,.1);background:radial-gradient(circle,rgba(175,210,252,.12) 0%,transparent 65%)}.lh-deco--dot-tr{position:absolute;top:28px;right:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lh-dot{width:4px;height:4px;border-radius:50%;background:#508cdc38;display:block}.lh-card{width:100%;max-width:540px;background:#fff;border-radius:22px;padding:42px 48px 36px;box-shadow:0 20px 60px #3264c821,0 6px 20px #3264c814;position:relative;z-index:1;animation:lhFadeUp .5s .08s ease both}.lh-card-top{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #F0F0F4}.lh-card-logo{width:38px;height:38px;object-fit:contain;flex-shrink:0}.lh-card-title{font-size:22px;font-weight:700;color:#0a0a0a;letter-spacing:-.03em;line-height:1.1;margin-bottom:6px}.lh-card-sub{font-size:13px;color:#9ca3af;font-weight:400;letter-spacing:.005em}.lh-error{display:flex;align-items:center;gap:7px;padding:8px 12px;margin-bottom:14px;background:#fef2f2;border:1px solid rgba(220,38,38,.2);border-radius:8px;font-size:12.5px;color:#b91c1c}.lh-form{display:flex;flex-direction:column;gap:14px}.lh-field{display:flex;flex-direction:column;gap:5px}.lh-label{font-size:12.5px;font-weight:500;color:#374151}.lh-label-row{display:flex;align-items:center;justify-content:space-between}.lh-forgot{font-size:12px;color:#3d6ef5;background:none;border:none;cursor:pointer;font-weight:500;font-family:var(--font-body);transition:opacity var(--ease)}.lh-forgot:hover{opacity:.7}.lh-input-wrap{display:flex;align-items:center;background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;transition:border-color .14s ease,box-shadow .14s ease;overflow:hidden}.lh-input-wrap:focus-within{border-color:#3d6ef5;box-shadow:0 0 0 3px #4f46e51a;background:#fff}.lh-input-wrap--err{border-color:#dc2626}.lh-input{flex:1;padding:10px 12px;background:none;border:none;outline:none;font-size:13.5px;color:#111;font-family:var(--font-body)}.lh-input::placeholder{color:#d1d5db}.lh-eye{padding:0 12px;background:none;border:none;cursor:pointer;display:flex;align-items:center;color:#9ca3af;flex-shrink:0;transition:color var(--ease)}.lh-eye:hover{color:#4b5563}.lh-ferr{font-size:11px;color:#dc2626;font-weight:500}.lh-submit{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;margin-top:4px;background:#111;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;font-family:var(--font-body);letter-spacing:.01em;cursor:pointer;box-shadow:0 2px 6px #0003;transition:background .14s ease,box-shadow .14s ease,transform 80ms ease}.lh-submit:hover:not(:disabled){background:#222;box-shadow:0 4px 12px #00000040}.lh-submit:active{transform:translateY(1px)}.lh-submit:disabled{opacity:.6;cursor:not-allowed}.lh-spinner{width:14px;height:14px;border:1.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.lh-card-footer{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:14px;font-size:11px;color:#d1d5db}.lh-demo{margin-top:14px;padding:12px 14px;background:#f9fafb;border:1px solid #F0F0F3;border-radius:8px}.lh-demo-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#d1d5db;margin-bottom:8px}.lh-demo-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}.lh-demo-row:last-child{margin-bottom:0}.lh-demo-key{font-size:11.5px;color:#9ca3af;font-weight:500;width:56px;flex-shrink:0}.lh-demo-val{font-family:var(--font-mono);font-size:11px;color:#6b7280;flex:1;letter-spacing:.02em}.lh-fill{padding:3px 10px;background:#ebf0fe;border:1px solid rgba(79,70,229,.2);border-radius:99px;font-size:11px;font-weight:600;color:#3d6ef5;cursor:pointer;font-family:var(--font-body);transition:all .14s ease;flex-shrink:0}.lh-fill:hover{background:#3d6ef5;color:#fff;border-color:#3d6ef5}@media (max-width:860px){.lh-shell{flex-direction:column}.lh-left{padding:48px 32px 32px;flex:none}.lh-left:after{display:none}.lh-hero-title{font-size:32px}.lh-right{padding:32px 24px 48px;flex:none}}.pipeline-stage-icon{width:32px;height:32px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pipeline-stage-label{font-size:12.5px;font-weight:500;color:var(--text-primary)}.pipeline-stage-sub{font-size:11px;color:var(--text-muted);margin-top:1px}.reports-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.reports-main-layout{display:grid;grid-template-columns:1fr;gap:14px}.reports-main-layout--detail{display:grid;grid-template-columns:1fr 290px;gap:14px;align-items:start}.score-gauge{display:flex;flex-direction:column;align-items:center;padding:20px 20px 10px}.score-val{font-family:var(--font-display);font-size:42px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1}.score-label{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-top:5px}.score-tier{display:inline-flex;align-items:center;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:600;margin-top:6px}.score-tier--excellent,.score-tier--good{background:#d1fae5;color:#065f46}.score-tier--fair{background:#fef3c7;color:#92400e}.score-tier--poor{background:#fee2e2;color:#b91c1c}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.page-head-left{flex:1;min-width:0}.tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:500;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border)}.info-box{background:var(--bg-muted,#F8FAFF);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;font-size:12px;color:var(--text-secondary);line-height:1.5}.clients-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.clients-mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}@media (max-width: 1280px){:root{--sidebar-w: 240px}.app-content{padding:20px 22px}.test-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clients-mini-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){:root{--sidebar-w: 220px}.app-content{padding:18px}.stat-grid,.reports-stat-grid,.test-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.overview-grid--reports,.two-col-grid,.reports-main-layout--detail,.settings-layout{grid-template-columns:1fr}.clients-layout{grid-template-columns:240px 1fr}.subtest-row{grid-template-columns:1fr 116px 150px 64px}.subtest-col-owner,.subtest-col-freq,.subtest-val-owner,.subtest-val-freq{display:none}.subtest-expand{grid-template-columns:1fr}}@media (max-width: 768px){.app-content{padding:16px 14px}.header-search{display:none}.header-hamburger{display:flex!important}.page-head{flex-wrap:wrap;gap:10px;margin-bottom:16px}.page-head-left{width:100%}.page-actions{flex-wrap:wrap}.stat-card{padding:18px 16px}.stat-card-value{font-size:24px}.test-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clients-layout{grid-template-columns:1fr}.clients-mini-stats{grid-template-columns:repeat(2,1fr)}.subtest-row{grid-template-columns:1fr 116px 64px}.subtest-col-owner,.subtest-col-freq,.subtest-col-duration,.subtest-val-owner,.subtest-val-freq,.subtest-val-duration{display:none}.subtest-expand,.two-col-grid,.overview-grid{grid-template-columns:1fr;gap:10px}.overview-grid--reports,.reports-main-layout--detail,.settings-layout,.report-grid{grid-template-columns:1fr}.lh-left{padding:32px 20px 24px}.lh-right{padding:24px 16px 36px}.lh-card{padding:28px 24px 24px}.lh-hero-title{font-size:26px}.toolbar{gap:6px}.filter-select{flex:1;min-width:120px}.tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.pipeline-stage{padding:10px 12px;gap:8px}}@media (max-width: 640px){:root{--header-h: 52px}.app-content{padding:12px 10px}.stat-grid{grid-template-columns:1fr;gap:8px;margin-bottom:14px}.reports-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.test-category-grid{grid-template-columns:1fr;gap:8px}.stat-card{padding:16px 14px;border-radius:12px}.stat-card-value{font-size:22px}.stat-card-icon{width:36px;height:36px}.clients-mini-stats{grid-template-columns:1fr}.subtest-row{grid-template-columns:1fr 116px;padding:10px 12px}.subtest-col-owner,.subtest-col-freq,.subtest-col-duration,.subtest-col-severity,.subtest-val-owner,.subtest-val-freq,.subtest-val-duration,.subtest-val-severity{display:none}.page-title{font-size:15px}.card-header{padding:10px 12px}.card-body{padding:12px}.breadcrumb-root,.breadcrumb-sep{display:none}.lh-shell{flex-direction:column}.lh-left{display:none}.lh-right{flex:1;padding:20px 12px 28px;min-height:100vh}.lh-card{padding:24px 18px 20px;border-radius:16px;max-width:100%}.lh-card-title{font-size:18px}.reports-main-layout--detail{grid-template-columns:1fr}.settings-row{flex-direction:column;align-items:flex-start;gap:10px}.score-val{font-size:32px}.toolbar{flex-direction:column;align-items:stretch}.search-field{min-width:unset}.filter-select{width:100%}.data-table{font-size:11.5px}.data-table thead th,.data-table tbody td{padding:8px 10px}}@media (max-width: 480px){.app-content{padding:10px 8px}.app-header{padding:0 12px}.header-clock{display:none}.header-actions{gap:4px}.stat-card{padding:14px 12px}.stat-card-value{font-size:20px}.stat-card-top{margin-bottom:10px}.reports-stat-grid{grid-template-columns:1fr}.btn{padding:5px 10px;font-size:12px}.btn-icon{width:28px;height:28px}.category-card{padding:14px;border-radius:14px}.nav-item{font-size:14px}.lh-card{margin:0;padding:20px 14px;border-radius:12px}.page-head{margin-bottom:12px}.page-title{font-size:14px}.page-subtitle{font-size:11px}.tab-btn{padding:5px 9px;font-size:11px}.card-title{font-size:12px}.pipeline-stage{padding:8px 10px;gap:6px}.pipeline-stage-label{font-size:11.5px}.pipeline-stage-sub{font-size:10px}.notif-item{padding:10px 12px}.notif-title{font-size:12px}.notif-body{font-size:11px}}.gen-main-grid{display:grid;grid-template-columns:1fr 272px;gap:18px;align-items:start}@media (max-width: 768px){.gen-main-grid{grid-template-columns:1fr}}.lh-mobile-logo{display:none}@media (max-width: 640px){.lh-mobile-logo{display:block;height:30px;object-fit:contain;margin-bottom:20px}}.lh-copyright{position:absolute;bottom:16px;left:0;right:0;font-size:11px;color:#6482b4b3;text-align:center;z-index:1}.app-copyright-bar{text-align:center;font-size:11px;color:var(--text-muted, #94A3B8);padding:12px 20px 16px;border-top:1px solid var(--border, #E8EDF5);margin-top:8px}
