@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap";.login-page{display:flex;min-height:100vh;font-family:DM Sans,sans-serif;background:#fff}.login-panel-form{width:420px;min-width:380px;flex-shrink:0;display:flex;flex-direction:column;padding:2.5rem 3rem;background:#fff;border-right:1px solid #f1f5f9;position:relative;z-index:1}.login-brand{display:flex;align-items:center;gap:.625rem;margin-bottom:auto}.login-brand-name{font-size:.9rem;font-weight:600;color:#1e293b;letter-spacing:-.01em}.login-form-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2rem 0;max-width:320px}.login-heading{margin-bottom:2.25rem}.login-heading h1{font-size:1.875rem;font-weight:700;color:#0f172a;letter-spacing:-.03em;margin:0 0 .5rem;line-height:1.2}.login-heading p{font-size:.9rem;color:#64748b;margin:0;font-weight:400}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.4rem}.login-field label{font-size:.8rem;font-weight:600;color:#374151;letter-spacing:.01em}.login-field input{padding:.75rem 1rem;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;color:#0f172a;font-size:.9rem;font-family:DM Sans,sans-serif;transition:border-color .18s,box-shadow .18s,background .18s;outline:none;-webkit-appearance:none}.login-field input::placeholder{color:#c0ccda}.login-field input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1f}.login-error{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.82rem;font-weight:500;animation:shake .28s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-btn{margin-top:.5rem;padding:.85rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;font-size:.92rem;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;transition:opacity .18s,transform .15s,box-shadow .18s;display:flex;align-items:center;justify-content:center;min-height:48px;box-shadow:0 4px 20px #667eea59;letter-spacing:.01em}.login-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 8px 28px #667eea66}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 16px #667eea4d}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;display:inline-block}.login-footer-note{margin-top:2rem;font-size:.75rem;color:#94a3b8;text-align:center;letter-spacing:.01em}.login-panel-visual{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f8faff,#f0f4ff,#f5f0ff);position:relative;overflow:hidden}.login-panel-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,#c7d2fe 1px,transparent 1px);background-size:28px 28px;opacity:.45}.login-visual-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;max-width:560px;width:100%}.perf-illustration{width:100%;max-width:520px;height:auto;filter:drop-shadow(0 20px 60px rgba(102,126,234,.15));animation:floatUp .7s ease both}@keyframes floatUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.perf-bar{transform-origin:bottom;animation:growBar .8s cubic-bezier(.34,1.56,.64,1) both}@keyframes growBar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.float-card-1{animation:bob 3s ease-in-out infinite}.float-card-2{animation:bob 3.5s ease-in-out infinite reverse}.float-card-3{animation:bob 4s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.login-visual-tagline{text-align:center;animation:floatUp .7s .2s ease both}.login-visual-tagline h2{font-size:1.3rem;font-weight:700;color:#1e293b;letter-spacing:-.02em;margin:0 0 .35rem}.login-visual-tagline p{font-size:.85rem;color:#64748b;margin:0;font-weight:400;letter-spacing:.02em}@media (max-width: 860px){.login-page{flex-direction:column}.login-panel-visual{display:none}.login-panel-form{width:100%;min-width:unset;border-right:none;padding:2rem 1.75rem;align-items:center}.login-form-wrap{width:100%;max-width:380px;padding:2rem 0}}.header{background:#fff;border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo-section{display:flex;align-items:center;gap:1rem;text-decoration:none}.logo-icon{font-size:2.5rem;display:flex;align-items:center;justify-content:center}.logo-text h1{font-size:1.5rem;color:var(--text-primary);margin:0;font-weight:600}.logo-text p{font-size:.85rem;color:var(--text-secondary);margin:0;font-weight:400}.nav{display:flex;gap:2rem;align-items:center}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;font-weight:500;padding:.5rem 0;border-bottom:2px solid transparent;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.nav-link:hover{color:var(--primary)}.nav-link.active{color:var(--primary);border-bottom-color:var(--primary)}@media (max-width: 768px){.header-container{flex-direction:column;gap:1rem}.nav{gap:1rem}.logo-text h1{font-size:1.2rem}}.home-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#e8ecf1)}.home-main{flex:1;display:flex;align-items:center;padding:4rem 2rem}.home-container{max-width:1200px;margin:0 auto;width:100%}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.home-card{background:#fff;border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all .3s ease;display:flex;flex-direction:column}.home-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.home-card h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary);text-transform:lowercase}.home-card p{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem;flex:1}.home-card .btn{align-self:flex-start}.home-footer{background:#fff;border-top:1px solid var(--border-color);padding:1.5rem 2rem;text-align:center}.footer-content p{color:var(--text-secondary);font-size:.9rem;margin:0}.footer-link{color:var(--primary);cursor:pointer;transition:color .2s ease}.footer-link:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width: 1024px){.home-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.home-grid{grid-template-columns:1fr}.home-main{padding:2rem 1rem}}.services-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary)}.services-main{flex:1;display:flex;align-items:center;padding:2rem}.services-container{max-width:1400px;width:100%;margin:0 auto}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.service-card{background:#fff;border-radius:var(--border-radius);padding:2rem 1.75rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all .3s ease;display:flex;flex-direction:column;align-items:flex-start}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}.service-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;box-shadow:var(--shadow-md);flex-shrink:0}.service-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.service-card p{color:var(--text-secondary);line-height:1.65;margin-bottom:1.5rem;flex:1;font-size:.9rem}.service-card .btn{width:100%;justify-content:center;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem}@media (max-width: 1100px){.services-grid{grid-template-columns:repeat(2,1fr)}.services-main{align-items:flex-start;padding:2.5rem 1.5rem}}@media (max-width: 600px){.services-grid{grid-template-columns:1fr}.services-main{padding:1.5rem 1rem}}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-wrapper{display:flex;min-height:100vh;background:#f8f9fa;font-size:11px}.dashboard-sidebar{width:170px;min-width:170px;background:#fff;border-right:2px solid #e9ecef;padding:1rem .7rem;position:sticky;top:0;height:100vh;overflow-y:auto;flex-shrink:0}.sidebar-section{margin-bottom:1rem}.sidebar-section h3{font-size:.7rem;color:#333;margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.sidebar-control{margin-bottom:.7rem}.sidebar-control label{display:block;font-size:.65rem;color:#666;margin-bottom:.25rem;font-weight:500}.sidebar-control select{width:100%;padding:.3rem;border:1px solid #dee2e6;border-radius:4px;font-size:.7rem;background:#fff;cursor:pointer;transition:border-color .2s}.sidebar-control select:hover{border-color:#007bff}.sidebar-control select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.quick-stat{background:#f8f9fa;border:2px solid;border-radius:5px;padding:.5rem;text-align:center;margin-bottom:.5rem}.stat-value{font-size:1.2rem;font-weight:700;margin-bottom:.1rem}.stat-label{font-size:.55rem;color:#666;font-weight:600;letter-spacing:.2px}.dashboard-container{flex:1;padding:1rem;max-width:1400px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:1.2rem}.dashboard-header h1{font-size:1.6rem;color:#1a1a1a;margin-bottom:.2rem;font-weight:700}.subtitle{font-size:.8rem;color:#666}.performance-overview,.test-triggers,.detailed-metrics{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 4px #00000014}.performance-overview h2,.test-triggers h2,.detailed-metrics h2{font-size:1.2rem;margin-bottom:.8rem;color:#1a1a1a;font-weight:700}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1rem}.results-card{background:#f8f9fa;border-radius:8px;padding:.9rem;border:1px solid #e9ecef}.results-card h3{font-size:1rem;margin-bottom:.8rem;color:#333;border-bottom:2px solid #e9ecef;padding-bottom:.4rem;font-weight:600}.metrics-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin:.8rem 0}.metric-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.7rem;text-align:center;transition:all .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 3px 10px #0000001a;border-color:#007bff}.metric-header{display:flex;align-items:center;justify-content:center;gap:.3rem;margin-bottom:.4rem}.metric-icon{font-size:1rem}.metric-label{font-weight:600;font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:.2px}.metric-value{font-size:1.4rem;font-weight:700;margin:.3rem 0;line-height:1.2}.metric-desc{font-size:.65rem;color:#888;margin-top:.3rem}.metric-actions{display:flex;gap:.8rem;justify-content:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef;flex-wrap:wrap}.no-data{text-align:center;padding:1.2rem;color:#666;background:#fff;border-radius:6px;border:2px dashed #dee2e6;font-size:.85rem}.test-config{background:#f8f9fa;border-radius:6px;padding:.9rem}.test-config h3{font-size:.9rem;margin-bottom:.7rem;color:#333;font-weight:600}.button-group{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.8rem}.btn{padding:.5rem 1rem;font-size:.8rem;font-weight:600;border:none;border-radius:5px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838;transform:translateY(-1px)}.btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-large{padding:.75rem 1.5rem;font-size:.95rem}.mt-2{margin-top:.8rem}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:.8rem;border-radius:5px;margin-top:.8rem;font-size:.8rem}.success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:.8rem;border-radius:5px;margin-top:.8rem;font-size:.8rem}.metrics-table-container{margin-bottom:1.5rem}.metrics-table-container h3{font-size:.95rem;margin-bottom:.7rem;color:#333;padding-bottom:.3rem;border-bottom:2px solid #e9ecef;font-weight:600}.table-wrapper{overflow-x:auto;margin-bottom:.8rem;border-radius:6px;box-shadow:0 1px 4px #00000014}.metrics-table{width:100%;border-collapse:collapse;background:#fff;font-size:.75rem}.metrics-table thead{background:#2c3e50;color:#fff;position:sticky;top:0;z-index:10}.metrics-table th{padding:.65rem .5rem;text-align:left;font-weight:700;font-size:.7rem;letter-spacing:.2px;white-space:nowrap;color:#fff;background:#2c3e50;border-bottom:2px solid #1a252f}.metrics-table tbody tr{border-bottom:1px solid #e9ecef;transition:background .2s}.metrics-table tbody tr:hover{background:#f8f9fa}.metrics-table td{padding:.55rem .5rem;text-align:left}.metrics-table td.page-name{font-weight:600;color:#007bff;white-space:nowrap}@media (max-width: 1024px){.dashboard-wrapper{flex-direction:column}.dashboard-sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:2px solid #e9ecef}.overview-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-container{padding:.8rem}.metrics-display{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:1.2rem}}@media (max-width: 480px){.metrics-display{grid-template-columns:1fr}.metric-value{font-size:1.3rem}}.analysis-content h3{color:#667eea;border-left:4px solid #667eea;padding-left:1rem;margin-top:2rem}.analysis-content h4{color:#764ba2;margin-top:1rem}.ai-results{margin-top:1.5rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.dash-tab-bar{display:flex;gap:2px;background:#e9ecef;border-radius:8px;padding:3px;margin:.75rem 0 0;width:fit-content}.dash-tab{padding:.45rem 1.1rem;border:none;background:transparent;color:#6c757d;font-size:.75rem;font-weight:600;cursor:pointer;border-radius:6px;transition:all .18s ease;letter-spacing:.01em;white-space:nowrap}.dash-tab:hover{color:#343a40;background:#ffffff80}.dash-tab.active{background:#fff;color:#007bff;box-shadow:0 1px 4px #0000001f}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;min-height:200px}.loader-spinner{display:inline-block;position:relative;width:80px;height:80px}.loader-small .loader-spinner{width:40px;height:40px}.loader-large .loader-spinner{width:120px;height:120px}.spinner-ring{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid var(--primary);border-radius:50%;animation:loader-spin 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--primary) transparent transparent transparent}.loader-small .spinner-ring{width:32px;height:32px;margin:4px;border-width:4px}.loader-large .spinner-ring{width:96px;height:96px;margin:12px;border-width:12px}.spinner-ring:nth-child(1){animation-delay:-.45s}.spinner-ring:nth-child(2){animation-delay:-.3s}.spinner-ring:nth-child(3){animation-delay:-.15s}@keyframes loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-message{margin-top:1.5rem;color:var(--text-secondary);font-size:.95rem;text-align:center}.loader-small .loader-message{margin-top:1rem;font-size:.85rem}.loader-large .loader-message{margin-top:2rem;font-size:1.1rem}.coach-issues-container{background:#fff;border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:0 2px 8px #0000001a}.coach-issues-container h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:1.5rem}.coach-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e2e8f0}.tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.tab-btn:hover{color:#667eea;background:#667eea0d}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;background:#667eea0d}.page-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px}.page-selector label{font-weight:500;color:#475569;font-size:.95rem}.page-dropdown{flex:1;max-width:300px;padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.95rem;color:#1e293b;background:#fff;cursor:pointer;transition:border-color .2s}.page-dropdown:hover{border-color:#667eea}.page-dropdown:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.performance-score-card{display:flex;align-items:center;gap:2rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;margin-bottom:2rem}.score-circle{flex-shrink:0}.score-info h3{font-size:1.2rem;color:#667eea;margin-bottom:.5rem}.pages-analyzed{font-size:.95rem;color:#64748b;margin:0}.coach-section{margin-bottom:2rem;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden}.section-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:600;font-size:1.05rem}.section-header.critical{background:#fee;color:#dc2626;border-left:4px solid #dc2626}.section-header.medium{background:#fef3e8;color:#ea580c;border-left:4px solid #ea580c}.section-header.advisory{background:#ecfdf5;color:#059669;border-left:4px solid #059669}.section-icon{width:12px;height:12px;border-radius:50%;flex-shrink:0}.critical .section-icon{background:#dc2626}.medium .section-icon{background:#ea580c}.advisory .section-icon{background:#059669}.issue-count{margin-left:auto;background:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.9rem;font-weight:600}.no-issues{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#059669;font-size:.95rem}.no-issues svg{width:24px;height:24px;stroke:#059669}.issues-table{width:100%;border-collapse:collapse;background:#fff}.issues-table thead{background:#2c3e50}.issues-table th{padding:.75rem 1rem;text-align:left;font-size:.85rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.issues-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s}.issues-table tbody tr:hover{background:#f8fafc}.issues-table td{padding:1rem;font-size:.9rem;color:#334155;vertical-align:middle}.issue-title{font-weight:500;color:#1e293b}.score-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:800!important}.score-critical{background:#fee2e2!important;color:#7f1d1d!important;font-weight:800!important}.score-high,.score-medium{background:#fef3c7!important;color:#78350f!important;font-weight:800!important}.score-low,.score-good{background:#d1fae5!important;color:#064e3b!important;font-weight:800!important}.impact-badge{display:inline-block;padding:.35rem .85rem;border-radius:16px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.impact-critical{background:#dc2626;color:#fff}.impact-high{background:#ea580c;color:#fff}.impact-medium{background:#f59e0b;color:#fff}.impact-low{background:#10b981;color:#fff}.impact-good{background:#059669;color:#fff}.metrics-cell{font-size:.85rem;color:#64748b}.resources-cell{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.expand-btn{padding:.25rem .5rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s}.expand-btn:hover{background:#667eea;color:#fff;border-color:#667eea}.detailed-analysis-section{padding:1.5rem;background:#f8fafc;border-top:2px solid #e2e8f0}.detailed-analysis-section h3{font-size:1.2rem;color:#1e293b;margin-bottom:.5rem}.section-subtitle{font-size:.9rem;color:#64748b;font-style:italic;margin-bottom:1.5rem}.issue-expander{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;overflow:hidden;transition:box-shadow .2s}.issue-expander.expanded{box-shadow:0 4px 12px #0000001a}.expander-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border:none;cursor:pointer;text-align:left;transition:background .2s}.expander-header:hover{background:#f8fafc}.expander-title{font-size:.95rem;font-weight:500;color:#1e293b}.expander-icon{color:#667eea;font-weight:700;font-size:1.2rem}.issue-details{padding:0 1.5rem 1.5rem;background:#fff;border-top:1px solid #e2e8f0}.detail-section{margin-bottom:1.5rem}.detail-section h4{font-size:1rem;color:#475569;margin-bottom:.75rem;font-weight:600}.description-box{background:#3b82f61a;border-left:4px solid #3b82f6;padding:1rem;border-radius:4px;color:#1f2937;line-height:1.6}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.metric-card{background:#f8fafc;padding:.75rem;border-radius:6px;border:1px solid #e2e8f0}.metric-label{font-size:.8rem;color:#64748b;text-transform:capitalize;margin-bottom:.25rem}.metric-value{font-size:1.2rem;font-weight:600;color:#1e293b}.resources-table-container{max-height:350px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px}.resources-table{width:100%;border-collapse:collapse;background:#fff}.resources-table thead{position:sticky;top:0;background:#2c3e50;z-index:1}.resources-table th{padding:.75rem;text-align:left;font-size:.85rem;font-weight:600;color:#fff}.resources-table td{padding:.5rem .75rem;border-bottom:1px solid #e2e8f0;font-size:.85rem;color:#334155}.resources-table tr:last-child td{border-bottom:none}.url-cell{word-break:break-all;max-width:600px}.more-items{text-align:center;padding:.75rem;color:#64748b;font-size:.9rem;font-style:italic;background:#f8fafc}.recommendations{display:flex;flex-direction:column;gap:.75rem}.recommendation{padding:.75rem 1rem;border-radius:6px}.recommendation.action{background:#ecfdf5;border-left:4px solid #059669;color:#065f46;font-weight:500}.recommendation.code{background:#1e293b;color:#e2e8f0;font-family:Courier New,monospace;padding:1rem}.recommendation.impact{background:#fef3e8;border-left:4px solid #f59e0b;color:#92400e;font-weight:500}.recommendation.text{color:#475569;padding-left:1.5rem}.recommendation.text:before{content:"?";margin-right:.5rem;color:#667eea;font-weight:700}.code-block{display:block;padding:.5rem;background:#1e293b;color:#e2e8f0;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem}.loading-state,.error-state,.no-data{text-align:center;padding:3rem;color:#64748b;font-size:1rem}.error-state{color:#dc2626}.refresh-btn{margin-top:1rem;padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.refresh-btn:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}@media (max-width: 768px){.coach-issues-container{padding:1rem}.performance-score-card{flex-direction:column;text-align:center}.issues-table{font-size:.8rem}.issues-table th,.issues-table td{padding:.5rem}.page-selector{flex-direction:column;align-items:stretch}.page-dropdown{max-width:100%}.metrics-grid{grid-template-columns:1fr}}.chat-assistant{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:0;box-shadow:0 10px 40px #0003;margin-bottom:2rem;overflow:hidden}.chat-header{background:#fffffff2;padding:1rem 1.5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;transition:background .3s ease}.chat-header:hover{background:#fff}.chat-header h3{margin:0;font-size:1.1rem;color:#2d3748;display:flex;align-items:center;gap:.5rem}.message-badge{font-size:.75rem;color:#667eea;font-weight:400}.expand-toggle{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;color:#667eea;transition:transform .3s ease}.expand-toggle:hover{transform:scale(1.2)}.data-stats{background:#ffffff1a;padding:.75rem 1.5rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.stat-pill{background:#ffffffe6;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;color:#2d3748;font-weight:500;box-shadow:0 2px 4px #0000001a}.chat-messages{background:#fff;padding:1.5rem;max-height:500px;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#764ba2}.message{display:flex;flex-direction:column;max-width:85%;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{padding:1rem;border-radius:12px;word-wrap:break-word;line-height:1.6}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-content{background:#f7fafc;color:#2d3748;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.message-time{font-size:.7rem;color:#718096;margin-top:.25rem;padding:0 .5rem}.message.user .message-time{text-align:right}.typing-indicator{display:flex;gap:.3rem;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;background:#667eea;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.suggested-prompts{background:#fff;padding:1rem 1.5rem;border-top:1px solid #e2e8f0}.suggested-prompt-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1rem;margin:.25rem;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #667eea4d}.suggested-prompt-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.chat-form{background:#fff;padding:1rem 1.5rem;border-top:1px solid #e2e8f0}.input-container{display:flex;gap:.5rem;align-items:center}.chat-input{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:24px;font-size:.95rem;transition:all .3s ease;outline:none}.chat-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.chat-input:disabled{background:#f7fafc;cursor:not-allowed}.form-buttons{display:flex;gap:.5rem}.send-button,.clear-button{width:44px;height:44px;border:none;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.send-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 8px #667eea4d}.send-button:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 12px #667eea66}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.clear-button{background:#f7fafc;color:#718096;border:2px solid #e2e8f0}.clear-button:hover{background:#fee;border-color:#fc8181;color:#e53e3e;transform:scale(1.1)}.chat-help{background:#fffffff2;padding:.75rem 1.5rem;text-align:center;color:#718096}.chat-help small{font-size:.8rem}@media (max-width: 768px){.chat-messages{max-height:400px;padding:1rem}.message{max-width:90%}.message-content{padding:.75rem;font-size:.9rem}.suggested-prompt-btn{font-size:.8rem;padding:.4rem .8rem}.chat-input{font-size:.9rem}}@media (prefers-color-scheme: dark){.chat-assistant{box-shadow:0 10px 40px #00000080}.chat-header{background:#2d3748f2}.chat-header:hover{background:#2d3748}.chat-header h3{color:#f7fafc}.message.assistant .message-content{background:#2d3748;color:#f7fafc;border-color:#4a5568}.chat-input{background:#2d3748;border-color:#4a5568;color:#f7fafc}.chat-input:focus{border-color:#667eea}}.chat-assistant button:focus{outline:2px solid #667eea;outline-offset:2px}.chat-input:focus{outline:none}@media print{.chat-form,.chat-help,.suggested-prompts{display:none}.chat-messages{max-height:none}}.agent-monitor-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header-row h2{margin:0;font-size:1.5rem;color:#1a1a1a}.refresh-btn{padding:.5rem 1rem;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.refresh-btn:hover{background:#0056b3}.compact-loading{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;color:#6c757d}.spinner-small{width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state{text-align:center;padding:2rem;color:#6c757d;font-size:1rem}.error-state{padding:1.5rem;background:#fff3f3;border:1px solid #ffcccc;border-radius:8px;color:#d32f2f}.retry-btn{margin-top:1rem;padding:.5rem 1rem;background:#d32f2f;color:#fff;border:none;border-radius:6px;cursor:pointer}.warning-state{padding:1.5rem;background:#fff9e6;border:1px solid #ffe066;border-radius:8px;color:#856404}.agent-status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.status-card{padding:1.5rem;border-radius:8px;border:2px solid #e0e0e0;background:#fafafa}.status-card.status-active{border-color:#4caf50;background:#f1f8f4}.status-card.status-offline{border-color:#f44336;background:#fef1f0}.status-card.status-rolling{border-color:#2196f3;background:#f0f7ff}.status-card.status-recent{border-color:#ff9800;background:#fff8f0}.status-card.status-success{border-color:#9c27b0;background:#f8f0ff}.card-label{font-size:.85rem;color:#666;margin-bottom:.5rem;font-weight:500}.card-value{font-size:1.5rem;font-weight:700;color:#1a1a1a}.info-message{padding:1rem;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-bottom:1.5rem;font-size:.9rem;color:#1976d2}.agent-activity-section,.agent-insights-section{margin-bottom:2rem}.agent-activity-section h3,.agent-insights-section h3{font-size:1.2rem;margin-bottom:1rem;color:#1a1a1a}.no-activity,.no-insights{padding:2rem;text-align:center;color:#999;background:#f9f9f9;border-radius:8px;font-style:italic}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;transition:box-shadow .2s}.activity-item:hover{box-shadow:0 2px 6px #0000001a}.activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.85rem}.activity-time{color:#666;font-weight:500}.activity-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.activity-status.status-green{background:#d4edda;color:#155724}.activity-status.status-red{background:#f8d7da;color:#721c24}.activity-status.status-blue{background:#d1ecf1;color:#0c5460}.activity-status.status-gray{background:#e2e3e5;color:#383d41}.activity-body{display:flex;flex-direction:column;gap:.5rem}.activity-type{font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:.5rem}.badge-success{padding:.2rem .5rem;background:#d4edda;color:#155724;border-radius:4px;font-size:.75rem;font-weight:600}.activity-reason{color:#555;font-size:.9rem;line-height:1.4}.activity-metrics{padding:.5rem;background:#fff;border-radius:4px;font-size:.85rem;color:#333;line-height:1.6}.activity-metrics strong{color:#007bff}.activity-message{color:#666;font-size:.85rem;font-style:italic}.insights-list{display:flex;flex-direction:column;gap:.75rem}.insight-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:6px;background:#f8f9fa;border-left:4px solid #6c757d;transition:transform .2s}.insight-item:hover{transform:translate(2px)}.insight-item.insight-recommendation{background:#fff9e6;border-left-color:#ffc107}.insight-item.insight-issue{background:#fff3f3;border-left-color:#f44336}.insight-item.insight-info{background:#f0f7ff;border-left-color:#2196f3}.insight-icon{font-size:1.2rem;flex-shrink:0}.insight-text{flex:1;font-size:.9rem;color:#333;line-height:1.5}.last-update-footer{text-align:right;padding-top:1rem;border-top:1px solid #e0e0e0;color:#999;font-size:.85rem;margin-top:1.5rem}@media (max-width: 768px){.agent-monitor-section{padding:1rem}.agent-status-cards{grid-template-columns:1fr}.section-header-row{flex-direction:column;align-items:flex-start;gap:1rem}.activity-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.ai-analysis-section{background:#fff;border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:0 2px 8px #0000001a}.section-label{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.section-icon{font-size:1.75rem}.section-label h3{margin:0;font-size:1.5rem;color:#1f2937;font-weight:600}.analysis-config{background:#f9fafb;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.config-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.config-group{display:flex;flex-direction:column;gap:.5rem}.config-group label{font-weight:600;color:#374151;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.config-select{padding:.75rem;border:2px solid #d1d5db;border-radius:6px;font-size:1rem;background:#fff;cursor:pointer;transition:all .2s}.config-select:hover{border-color:#3b82f6}.config-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.config-hint{color:#6b7280;font-size:.85rem;font-style:italic}.btn-analyze{width:100%;padding:1rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s}.btn-analyze:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-analyze:disabled{opacity:.5;cursor:not-allowed}.analysis-results{min-height:200px}.analysis-content{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.analysis-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f3f4f6;border-radius:8px;margin-bottom:1.5rem}.analysis-meta{display:flex;gap:.75rem;flex-wrap:wrap}.meta-badge{padding:.5rem 1rem;background:#fff;border-radius:20px;font-size:.9rem;font-weight:500;color:#374151;box-shadow:0 1px 3px #0000001a}.meta-time{padding:.5rem 1rem;background:#3b82f6;color:#fff;border-radius:20px;font-size:.85rem;font-weight:500}.btn-download{padding:.5rem 1.25rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.btn-download:hover{background:#059669;transform:translateY(-1px)}.per-page-results{display:flex;flex-direction:column;gap:2rem}.page-analysis-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .3s}.page-analysis-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.page-header h4{margin:0;font-size:1.25rem;color:#1f2937}.page-scores{display:flex;gap:.5rem}.score-badge{padding:.5rem 1rem;border-radius:20px;color:#fff;font-weight:600;font-size:.95rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.metric-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.metric-label{font-size:.85rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.metric-value{font-size:1.5rem;font-weight:700}.ai-insights{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid #3b82f6;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.ai-insights h5{margin:0 0 1rem;color:#1e40af;font-size:1.1rem}.insight-content{line-height:1.7;color:#374151}.insight-content p{margin:.75rem 0}.insight-content strong{color:#1f2937;font-weight:600}.coach-issues{margin-top:1.5rem}.coach-issues h5{margin:0 0 1rem;color:#1f2937;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.issue-item{background:#fff;border-left:4px solid #d1d5db;border-radius:6px;padding:1rem;margin-bottom:1rem;transition:all .2s}.issue-item:hover{box-shadow:0 2px 8px #0000001a}.issue-item.issue-critical{border-left-color:#dc3545;background:#fff5f5}.issue-item.issue-medium{border-left-color:#ffc107;background:#fffbf0}.issue-item.issue-low{border-left-color:#10b981;background:#f0fdf4}.issue-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.issue-score{padding:.25rem .75rem;background:#374151;color:#fff;border-radius:12px;font-weight:600;font-size:.85rem}.issue-title{flex:1;font-weight:600;color:#1f2937;font-size:.95rem}.issue-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.issue-badge-critical{background:#dc3545;color:#fff}.issue-badge-medium{background:#ffc107;color:#1f2937}.issue-badge-low{background:#10b981;color:#fff}.issue-description{color:#4b5563;line-height:1.6;margin:.5rem 0;font-size:.95rem}.offending-items{margin-top:.75rem;padding:.75rem;background:#00000005;border-radius:4px}.offending-items strong{display:block;margin-bottom:.5rem;color:#374151;font-size:.9rem}.offending-items ul{margin:0;padding-left:1.5rem}.offending-items li{margin:.25rem 0;color:#6b7280;font-size:.85rem}.offending-items code{background:#0000000d;padding:.15rem .4rem;border-radius:3px;font-size:.8rem;color:#374151;font-family:Courier New,monospace}.generic-results{background:#fff;border-radius:8px;padding:2rem}.error-state{text-align:center;padding:3rem 2rem}.error-icon{font-size:3rem;display:block;margin-bottom:1rem}.error-message{display:block;font-size:1.25rem;color:#dc3545;margin-bottom:1.5rem;font-weight:500}.error-suggestions{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1.5rem;margin:1.5rem auto;max-width:600px;text-align:left}.error-suggestions p{margin:0 0 .75rem;color:#856404;font-weight:600}.error-suggestions ul{margin:0;padding-left:1.5rem;color:#856404}.error-suggestions li{margin:.5rem 0}.error-suggestions code{background:#0000001a;padding:.2rem .5rem;border-radius:3px;font-family:Courier New,monospace}.no-data-state{text-align:center;padding:3rem 2rem}.no-data-icon{font-size:4rem;display:block;margin-bottom:1rem}.no-data-state h4{margin:0 0 .5rem;color:#1f2937;font-size:1.5rem}.no-data-state>p{color:#6b7280;margin-bottom:2rem;font-size:1.1rem}.analysis-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:800px;margin:0 auto;text-align:left}.info-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem}.info-card h5{margin:0 0 1rem;color:#1f2937;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.info-card ul{margin:0;padding-left:1.5rem;color:#4b5563}.info-card li{margin:.5rem 0}@media (max-width: 768px){.config-row{grid-template-columns:1fr}.analysis-header{flex-direction:column;align-items:flex-start;gap:1rem}.metrics-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.analysis-info{grid-template-columns:1fr}}.obs-root{background:#f8fafc;border-radius:10px;margin-top:1.5rem;font-family:Inter,sans-serif;color:#111827;border:1px solid #e5e7eb;overflow:hidden}.obs-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:.75rem}.obs-header-left{display:flex;align-items:center;gap:.75rem}.obs-header-icon{font-size:1.4rem}.obs-header-title{font-size:1.05rem;font-weight:700;color:#111827;margin:0}.obs-header-sub{font-size:.65rem;color:#6b7280;margin:.1rem 0 0;font-family:IBM Plex Mono,monospace}.obs-header-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.obs-main-tabs{display:flex;background:#fff;border-bottom:2px solid #e5e7eb}.obs-main-tab{flex:1;padding:.65rem .5rem;border:none;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.1rem;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;color:#6b7280}.obs-main-tab:hover{background:#f9fafb;color:#374151}.obs-main-tab.active{border-bottom-color:#2563eb;color:#2563eb;background:#eff6ff}.obs-main-tab-label{font-size:.75rem;font-weight:600}.obs-main-tab-sub{font-size:.6rem;color:inherit;opacity:.7;font-family:IBM Plex Mono,monospace}.obs-pill-tabs{display:flex;gap:3px;flex-wrap:wrap}.obs-pill{padding:.25rem .68rem;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.68rem;font-weight:500;cursor:pointer;border-radius:6px;transition:all .13s;white-space:nowrap;font-family:Inter,sans-serif}.obs-pill:hover{border-color:#9ca3af;color:#374151}.obs-pill.active{background:#eff6ff;border-color:#2563eb;color:#2563eb;font-weight:600}.obs-refresh-btn{padding:.26rem .7rem;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:.68rem;cursor:pointer;border-radius:6px;font-family:IBM Plex Mono,monospace;transition:all .13s}.obs-refresh-btn:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.obs-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.obs-apply-btn{padding:.3rem 1rem;border:none;background:#2563eb;color:#fff;font-size:.72rem;font-weight:600;cursor:pointer;border-radius:6px;transition:all .13s;white-space:nowrap}.obs-apply-btn:hover:not(:disabled){background:#1d4ed8}.obs-apply-btn:disabled{opacity:.5;cursor:not-allowed}.obs-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#9ca3af;gap:.5rem;text-align:center}.obs-no-data p{margin:0;font-size:.9rem}.obs-no-data-sub{font-size:.75rem!important;color:#d1d5db}.obs-kpi-strip{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid #e5e7eb;background:#fff}@media (max-width:1200px){.obs-kpi-strip{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.obs-kpi-strip{grid-template-columns:repeat(2,1fr)}}.obs-kpi{padding:.8rem .9rem;border-right:1px solid #f3f4f6;display:flex;flex-direction:column;gap:.28rem;transition:background .13s}.obs-kpi:last-child{border-right:none}.obs-kpi:hover{background:#f9fafb}.obs-kpi-top{display:flex;align-items:center;gap:.3rem}.obs-kpi-icon{font-size:.85rem}.obs-kpi-name{font-size:.59rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.07em;font-family:IBM Plex Mono,monospace}.obs-kpi-row{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.obs-kpi-val{font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:700}.obs-kpi-badge{font-size:.5rem;padding:.09rem .32rem;border-radius:4px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:IBM Plex Mono,monospace}.obs-card{background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem 1.3rem .85rem}.obs-card:last-child{border-bottom:none}.obs-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e5e7eb;border-bottom:1px solid #e5e7eb}.obs-row-2>.obs-card{border-bottom:none}@media (max-width:900px){.obs-row-2{grid-template-columns:1fr}}.obs-sh{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;flex-wrap:wrap}.obs-sh-left{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.obs-sh-title{font-size:.8rem;font-weight:700;color:#111827}.obs-sh-sub{font-size:.64rem;color:#9ca3af;font-family:IBM Plex Mono,monospace}.obs-filter-bar{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:.85rem 1.3rem;display:flex;flex-direction:column;gap:.65rem}.obs-filter-row{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.obs-filter-group{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.obs-filter-label{font-size:.6rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;min-width:55px;font-family:IBM Plex Mono,monospace;flex-shrink:0}.obs-filter-hint{font-size:.68rem;color:#9ca3af;font-family:IBM Plex Mono,monospace;margin:0}.obs-data-range{font-size:.68rem;color:#374151;font-family:IBM Plex Mono,monospace;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:.3rem .65rem}.obs-err{color:#dc2626;font-size:.7rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.35rem .65rem}.obs-data-notice{font-size:.7rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.35rem .65rem;margin-bottom:.5rem}.obs-metric-tabs{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:.6rem}.obs-mtab{padding:.2rem .5rem;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.63rem;font-family:IBM Plex Mono,monospace;cursor:pointer;border-radius:4px;transition:all .13s;font-weight:700;letter-spacing:.03em}.obs-mtab:hover{border-color:#9ca3af;color:#374151}.obs-chart-wrap{position:relative;width:100%}.obs-empty-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;color:#9ca3af;font-size:.73rem;font-family:IBM Plex Mono,monospace;text-align:center;padding:1rem;gap:.3rem;line-height:1.5}.obs-loading{color:#2563eb}.obs-spinner{display:inline-block;animation:obs-spin 1s linear infinite;margin-right:.3rem}@keyframes obs-spin{to{transform:rotate(360deg)}}.obs-tip{position:fixed;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.4rem .7rem;font-size:.72rem;font-family:IBM Plex Mono,monospace;box-shadow:0 4px 16px #0000001a;pointer-events:none;z-index:9999;white-space:nowrap}.obs-tip-label{color:#6b7280;font-size:.65rem;margin-bottom:.15rem;font-weight:600}.obs-tip-val strong{color:#111827}.obs-legend{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.45rem}.obs-leg-item{display:flex;align-items:center;gap:.28rem;font-size:.66rem;color:#6b7280}.obs-leg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.obs-donut-wrap{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:.4rem 0}.obs-donut-legend{display:flex;flex-direction:column;gap:.45rem}.obs-legend-row{display:flex;align-items:center;gap:.4rem;font-size:.73rem}.obs-leg-name{color:#374151}.obs-leg-pct{color:#9ca3af;font-size:.66rem}.obs-score-list{display:flex;flex-direction:column;gap:.45rem}.obs-score-page-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.35rem 0;border-bottom:1px solid #f9fafb}.obs-score-page-row:last-child{border-bottom:none}.obs-score-page-name{font-size:.7rem;font-weight:600;color:#374151;min-width:100px}.obs-score-mini-bars{display:flex;gap:3px;flex-wrap:wrap}.obs-score-chip{font-size:.6rem;font-family:IBM Plex Mono,monospace;font-weight:600;padding:.12rem .3rem;border-radius:4px;cursor:default}.obs-heatmap{overflow-x:auto}.obs-hm-head,.obs-hm-row{display:grid;grid-template-columns:130px repeat(8,1fr);gap:3px;margin-bottom:3px;align-items:center}@media (max-width:900px){.obs-hm-head,.obs-hm-row{grid-template-columns:90px repeat(8,1fr)}}.obs-hm-pgcol,.obs-hm-col{font-size:.58rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;text-align:center}.obs-hm-pgcol{text-align:left}.obs-hm-row{border-radius:6px;padding:1px 0}.obs-hm-row:hover{background:#f9fafb}.obs-hm-page{font-size:.7rem;color:#374151;display:flex;align-items:center;gap:.25rem;padding:0 .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.obs-hm-cell{font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:600;text-align:center;padding:.28rem .1rem;border-radius:5px;cursor:default;transition:transform .1s}.obs-hm-cell:hover{transform:scale(1.07)}.obs-gauge-wrap{display:flex;align-items:center;justify-content:center}.obs-budget-summary-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.obs-budget-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem}.obs-bs-val{font-size:1.4rem;font-weight:700;font-family:IBM Plex Mono,monospace;line-height:1}.obs-bs-label{font-size:.62rem;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}.obs-budget-legend{display:flex;flex-direction:column;gap:.5rem}.obs-bl-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;border-bottom:1px solid #f9fafb;font-size:.72rem}.obs-bl-row:last-child{border-bottom:none}.obs-bl-metric{font-weight:600;color:#374151;min-width:60px}.obs-bl-target,.obs-bl-critical{font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:600}.obs-budget-table{overflow-x:auto}.obs-bt-head,.obs-bt-row{display:grid;grid-template-columns:110px repeat(6,1fr);gap:3px;margin-bottom:3px;align-items:center}.obs-bt-head{padding:0 0 .4rem}.obs-bt-head span{font-size:.59rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;text-align:center}.obs-bt-head span:first-child{text-align:left}.obs-bt-row{padding:1px 0}.obs-bt-row:hover{background:#f9fafb}.obs-bt-page{font-size:.7rem;font-weight:600;color:#374151}.obs-bt-cell{font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:600;text-align:center;padding:.26rem .1rem;border-radius:5px;cursor:default}.obs-bt-unknown{color:#d1d5db;background:#f9fafb;border:1px solid #f3f4f6}.obs-bt-pct{font-size:.55rem;opacity:.85}.obs-reg-list{display:flex;flex-direction:column;gap:.4rem;max-height:340px;overflow-y:auto}.obs-reg-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:7px;flex-wrap:wrap}.obs-reg-icon{font-size:1rem}.obs-reg-info{display:flex;flex-direction:column;gap:.05rem;min-width:80px}.obs-reg-page{font-size:.72rem;font-weight:600;color:#374151}.obs-reg-metric{font-size:.6rem;color:#6b7280;font-family:IBM Plex Mono,monospace;text-transform:uppercase}.obs-reg-vals{display:flex;align-items:center;gap:.3rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.obs-reg-now{font-weight:700}.obs-reg-arrow,.obs-reg-base{color:#9ca3af}.obs-reg-pct{font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:700;margin-left:auto}.obs-good-state{display:flex;align-items:center;justify-content:center;padding:1.5rem;color:#16a34a;font-size:.82rem;font-weight:600;background:#f0fdf4;border-radius:8px}.obs-insights-list{display:flex;flex-direction:column;gap:.4rem}.obs-insight-item{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem .65rem;border-radius:7px;font-size:.72rem;line-height:1.4;background:#f9fafb;border:1px solid #f3f4f6}.obs-insight-rec{background:#eff6ff;border-color:#bfdbfe}.obs-insight-issue{background:#fef2f2;border-color:#fecaca}.obs-insight-info{background:#f0fdf4;border-color:#bbf7d0}.obs-baseline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}@media (max-width:700px){.obs-baseline-grid{grid-template-columns:repeat(2,1fr)}}.obs-baseline-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:7px;padding:.55rem .7rem}.obs-baseline-key{font-size:.62rem;color:#6b7280;text-transform:capitalize;margin-bottom:.2rem}.obs-baseline-val{font-size:.82rem;font-weight:700;color:#111827;font-family:IBM Plex Mono,monospace}.obs-score-bar{display:flex;align-items:center;gap:.6rem;padding:.2rem 0}.obs-score-bar-label{font-size:.7rem;color:#374151;min-width:70px}.obs-score-bar-track{flex:1;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.obs-score-bar-fill{height:100%;border-radius:3px}.obs-score-bar-val{font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:700;min-width:30px;text-align:right}:root{--lh-bg: #f8fafc;--lh-surface: #ffffff;--lh-border: #e2e8f0;--lh-text: #1e293b;--lh-muted: #64748b;--lh-accent: #f59e0b;--lh-accent2: #3b82f6;--lh-radius: 10px}.lh-wrapper{display:flex;min-height:100vh;background:var(--lh-bg);color:var(--lh-text);font-family:Segoe UI,system-ui,-apple-system,sans-serif}.lh-sidebar{width:210px;flex-shrink:0;background:#f8fafc;border-right:1px solid var(--lh-border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.lh-sb-section h3{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lh-muted);margin:0 0 .75rem}.lh-sb-section label{display:block;font-size:.76rem;color:var(--lh-muted);margin:.5rem 0 .2rem}.lh-sb-section select{width:100%;padding:.38rem .5rem;background:#f1f5f9;border:1px solid var(--lh-border);border-radius:6px;color:var(--lh-text);font-size:.8rem;cursor:pointer}.lh-stat{margin-bottom:.8rem}.lh-stat-v{font-size:1.6rem;font-weight:700;line-height:1}.lh-stat-l{font-size:.68rem;color:var(--lh-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.lh-sb-btn{display:block;width:100%;padding:.42rem .6rem;background:#f1f5f9;border:1px solid var(--lh-border);border-radius:6px;color:var(--lh-text);font-size:.8rem;cursor:pointer;text-align:left;margin-bottom:.4rem;transition:background .15s,border-color .15s}.lh-sb-btn:hover:not(:disabled){background:#e2e8f0;border-color:var(--lh-accent)}.lh-sb-btn:disabled{opacity:.5;cursor:not-allowed}.lh-main{flex:1;display:flex;flex-direction:column;min-width:0;padding:1.5rem 2rem 3rem}.lh-header{margin-bottom:1.25rem}.lh-header h1{font-size:1.7rem;font-weight:700;margin:0 0 .2rem;color:var(--lh-text)}.lh-subtitle{color:var(--lh-muted);font-size:.9rem;margin:0}.lh-tabs{display:flex;gap:4px;border-bottom:1px solid var(--lh-border);margin-bottom:1.5rem;overflow-x:auto;scrollbar-width:none}.lh-tabs::-webkit-scrollbar{display:none}.lh-tab{position:relative;padding:.55rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--lh-muted);font-size:.88rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px}.lh-tab:hover{color:var(--lh-text)}.lh-tab-on{color:var(--lh-accent);border-bottom-color:var(--lh-accent)}.lh-badge{background:var(--lh-accent);color:#fff;border-radius:10px;font-size:.65rem;font-weight:700;padding:1px 6px}.lh-panel{animation:lhFade .2s ease}@keyframes lhFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lh-panel h2{font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.lh-desc{color:var(--lh-muted);font-size:.87rem;margin:0 0 1.25rem;line-height:1.6}.lh-row-between{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.lh-row-between h2{margin:0}.lh-btn{padding:.5rem 1rem;border-radius:7px;border:none;font-size:.88rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s;display:inline-flex;align-items:center;gap:5px}.lh-btn:hover:not(:disabled){opacity:.85}.lh-btn:active:not(:disabled){transform:scale(.97)}.lh-btn:disabled{opacity:.45;cursor:not-allowed}.lh-btn-primary{background:var(--lh-accent);color:#fff}.lh-btn-secondary{background:#e2e8f0;color:var(--lh-text)}.lh-btn-outline{background:transparent;border:1px solid var(--lh-accent);color:var(--lh-accent)}.lh-btn-danger{background:#fee2e2;color:#b91c1c}.lh-btn-sm{padding:.35rem .7rem;font-size:.78rem}.lh-btn-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.lh-mt{margin-top:1rem}.lh-mt-sm{margin-top:.6rem}.lh-ml{margin-left:.5rem}.lh-sub-tab{padding:.4rem .9rem;border-radius:6px;border:1px solid var(--lh-border);background:transparent;color:var(--lh-muted);font-size:.82rem;cursor:pointer;transition:all .15s}.lh-sub-tab:hover{border-color:var(--lh-accent);color:var(--lh-text)}.lh-sub-tab-on{background:var(--lh-accent);border-color:var(--lh-accent);color:#fff}.lh-config-row{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.lh-field{display:flex;flex-direction:column;gap:.3rem}.lh-field label,.lh-field-label{font-size:.78rem;color:var(--lh-muted);font-weight:500}.lh-field select{padding:.45rem .7rem;background:#f8fafc;border:1px solid var(--lh-border);border-radius:6px;color:var(--lh-text);font-size:.88rem;min-width:150px}.lh-msg{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--lh-radius);font-size:.88rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.lh-msg-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.lh-msg-err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.lh-run-log{margin-top:1rem;background:#f8fafc;border:1px solid var(--lh-border);border-radius:8px;padding:.75rem 1rem}.lh-log-line{font-size:.82rem;color:var(--lh-muted);padding:.15rem 0;font-family:monospace}.lh-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem}.lh-ring-label{font-size:.68rem;color:var(--lh-muted);text-align:center;text-transform:capitalize;font-weight:500}.lh-results-card{background:var(--lh-surface);border:1px solid var(--lh-border);border-radius:var(--lh-radius);padding:1.25rem;margin-bottom:0}.lh-results-card h3{font-size:.95rem;font-weight:600;margin:0 0 1rem}.lh-pages-count{color:var(--lh-muted);font-weight:400;font-size:.85rem}.lh-score-rings{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.lh-table-section{background:var(--lh-surface);border:1px solid var(--lh-border);border-radius:var(--lh-radius);padding:1.25rem;margin-bottom:1.25rem}.lh-section-h{font-size:.95rem;font-weight:600;margin:0 0 .75rem;color:var(--lh-text)}.lh-table-wrap{overflow-x:auto}.lh-table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.lh-table th{padding:.6rem .7rem;background:#f8fafc;border-bottom:1px solid var(--lh-border);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--lh-muted);text-align:left}.lh-table td{padding:.55rem .7rem;border-bottom:1px solid rgba(226,232,240,.6);vertical-align:middle}.lh-table tr:last-child td{border-bottom:none}.lh-table tr:hover td{background:#fffbeb}.lh-table tbody tr:hover{cursor:pointer}.lh-page-name{color:var(--lh-text);font-size:.82rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;font-weight:500}.lh-score-pill{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700;color:#fff;min-width:32px;text-align:center}.lh-chip{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#f1f5f9;border:1px solid var(--lh-border);border-radius:20px;font-size:.75rem;color:var(--lh-text)}.lh-chip-muted{color:var(--lh-muted)}.lh-chip-accent{background:#fffbeb;border-color:#fde68a;color:#92400e}.lh-na{color:var(--lh-muted);font-size:.8rem}.lh-muted{color:var(--lh-muted)}.lh-muted-p{color:var(--lh-muted);font-size:.87rem}.lh-table-hint{font-size:.76rem;color:var(--lh-muted);margin:.5rem 0 0;font-style:italic}.lh-empty{text-align:center;padding:3rem 1rem;color:var(--lh-muted)}.lh-empty p{margin:0 0 1.25rem}.lh-ai-selectors{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.lh-ai-summary{display:flex;gap:.5rem;flex-wrap:wrap}.lh-ai-result{margin-top:1.25rem;background:var(--lh-surface);border:1px solid var(--lh-border);border-radius:var(--lh-radius);overflow:hidden}.lh-ai-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;border-bottom:1px solid var(--lh-border);background:#fffbeb}.lh-ai-body{padding:1.25rem;font-size:.88rem;line-height:1.7;color:var(--lh-text);max-height:600px;overflow-y:auto}.lh-ai-body p{margin:0 0 .75rem}.lh-ai-body strong{font-weight:600}.lh-audit-main{display:flex;flex-direction:column;gap:1rem}.lh-audit-page-select{display:flex;align-items:center;gap:.75rem;background:#f8fafc;border:1px solid var(--lh-border);border-radius:8px;padding:.65rem 1rem}.lh-page-dropdown{flex:1;max-width:480px;padding:.4rem .7rem;background:#fff;border:1px solid var(--lh-border);border-radius:6px;color:var(--lh-text);font-size:.88rem;cursor:pointer}.lh-page-dropdown:focus{outline:none;border-color:var(--lh-accent)}.lh-audit-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media (max-width: 700px){.lh-audit-scores{grid-template-columns:repeat(2,1fr)}}.lh-audit-score-card{background:var(--lh-surface);border:2px solid var(--lh-border);border-radius:var(--lh-radius);padding:1rem;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s}.lh-audit-score-card:hover{border-color:var(--lh-accent)}.lh-asc-on{border-color:var(--lh-accent)!important;box-shadow:0 0 0 3px #f59e0b26}.lh-asc-icon{font-size:1.2rem;margin-bottom:.3rem}.lh-asc-score{font-size:1.75rem;font-weight:700;line-height:1}.lh-asc-label{font-size:.65rem;color:var(--lh-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}.lh-asc-counts{display:flex;justify-content:center;gap:.35rem;margin-top:.4rem}.lh-count-crit{font-size:.68rem;background:#fee2e2;color:#b91c1c;padding:.08rem .45rem;border-radius:10px;font-weight:700}.lh-count-med{font-size:.68rem;background:#fef3c7;color:#92400e;padding:.08rem .45rem;border-radius:10px;font-weight:700}.lh-vitals-strip{display:flex;gap:.5rem;flex-wrap:wrap}.lh-vital-pill{flex:1;min-width:70px;background:#f8fafc;border:1px solid var(--lh-border);border-radius:8px;padding:.55rem .5rem;text-align:center}.lh-vital-label{font-size:.65rem;color:var(--lh-muted);text-transform:uppercase;letter-spacing:.06em}.lh-vital-val{font-size:1rem;font-weight:700;margin-top:.15rem}.lh-cat-breakdown{display:flex;flex-direction:column;gap:.75rem}.lh-issue-section{border-radius:8px;overflow:hidden;border:1px solid}.lh-sec-crit{border-color:#fecaca}.lh-sec-med{border-color:#fde68a}.lh-sec-pass{border-color:#bbf7d0}.lh-issue-section-header{padding:.55rem .9rem;font-size:.83rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.lh-sec-crit .lh-issue-section-header{background:#fee2e2;color:#b91c1c}.lh-sec-med .lh-issue-section-header{background:#fef3c7;color:#92400e}.lh-sec-pass .lh-issue-section-header{background:#dcfce7;color:#166534}.lh-issue-count{font-weight:400;opacity:.75;font-size:.78rem}.lh-issue-list{background:#fff}.lh-issue-item{border-bottom:1px solid rgba(226,232,240,.6)}.lh-issue-item:last-child{border-bottom:none}.lh-issue-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .12s;gap:.5rem}.lh-issue-toggle:hover{background:#f8fafc}.lh-issue-toggle-left{display:flex;align-items:center;gap:.55rem;flex:1;min-width:0}.lh-issue-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.lh-dot-critical{background:#ef4444}.lh-dot-medium{background:#f59e0b}.lh-dot-passed{background:#22c55e}.lh-issue-title{font-size:.84rem;font-weight:500;color:var(--lh-text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lh-issue-val{font-size:.75rem;font-weight:600;padding:.1rem .45rem;border-radius:4px;flex-shrink:0;white-space:nowrap}.lh-val-critical{background:#fee2e2;color:#b91c1c}.lh-val-medium{background:#fef3c7;color:#92400e}.lh-val-passed{background:#dcfce7;color:#166534}.lh-issue-arrow{font-size:.65rem;color:var(--lh-muted);flex-shrink:0}.lh-issue-detail{padding:.75rem 1.2rem .9rem 2.2rem;background:#fafafa;border-top:1px solid var(--lh-border);font-size:.83rem;display:flex;flex-direction:column;gap:.5rem}.lh-issue-desc{color:var(--lh-muted);line-height:1.55;margin:0}.lh-issue-score-row{font-size:.8rem;color:var(--lh-muted)}.lh-offenders{margin-top:.15rem}.lh-offenders-title{font-size:.72rem;font-weight:700;color:var(--lh-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.lh-offender-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .6rem;background:#f1f5f9;border-radius:4px;margin-bottom:.25rem;font-size:.76rem}.lh-offender-url{color:#1d4ed8;font-family:monospace;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.lh-offender-val{color:#b91c1c;font-weight:700;flex-shrink:0}.lh-agent-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-bottom:1.5rem}.lh-agent-card{background:var(--lh-surface);border:1px solid var(--lh-border);border-radius:var(--lh-radius);padding:1rem}.lh-ac-label{font-size:.7rem;color:var(--lh-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.lh-ac-val{font-size:1.2rem;font-weight:700}.lh-ac-ok{border-color:#86efac}.lh-ac-off{border-color:#fca5a5}.lh-activity-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.lh-activity-item{background:var(--lh-surface);border:1px solid var(--lh-border);border-radius:8px;padding:.9rem 1rem}.lh-act-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.lh-act-time{font-size:.75rem;color:var(--lh-muted)}.lh-act-type{font-size:.87rem;font-weight:500;margin-bottom:.25rem}.lh-act-reason{font-size:.8rem;color:var(--lh-muted)}.lh-status-badge{font-size:.7rem;font-weight:700;padding:.1rem .5rem;border-radius:4px}.lh-s-ok{background:#dcfce7;color:#166534}.lh-s-err{background:#fee2e2;color:#b91c1c}.lh-s-gray{background:#f1f5f9;color:var(--lh-muted)}.lh-insights-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.lh-insight-item{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .8rem;border-radius:7px;font-size:.85rem}.lh-ins-rec{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.lh-ins-issue{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.lh-ins-info{background:#f8fafc;border:1px solid var(--lh-border);color:var(--lh-text)}.lh-last-update{font-size:.75rem;color:var(--lh-muted);text-align:right;margin-top:1rem}@media (max-width: 768px){.lh-sidebar{display:none}.lh-main{padding:1rem}.lh-config-row{flex-direction:column}}.lh-ai-page-card{background:var(--lh-surface);border:1px solid var(--lh-border);border-radius:var(--lh-radius);margin-top:1rem;overflow:hidden}.lh-ai-card-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;cursor:pointer;background:#f8fafc;border-bottom:1px solid var(--lh-border);gap:.75rem;transition:background .15s}.lh-ai-card-header:hover{background:#f1f5f9}.lh-ai-card-title{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.lh-ai-card-icon{font-size:1.1rem}.lh-ai-card-name{font-weight:600;font-size:.95rem;color:var(--lh-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lh-ai-card-scores{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.lh-ai-score-badge{font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:20px;white-space:nowrap}.lh-ai-expand-icon{font-size:.75rem;color:var(--lh-muted);margin-left:.25rem}.lh-ai-card-body{padding:1.1rem 1.25rem}.lh-ai-vitals{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;margin-bottom:1rem}.lh-ai-vital-item{display:flex;flex-direction:column;align-items:center;min-width:55px}.lh-ai-vital-label{font-size:.65rem;font-weight:700;color:var(--lh-muted);text-transform:uppercase;letter-spacing:.05em}.lh-ai-vital-value{font-size:.9rem;font-weight:700;margin-top:.1rem}.lh-ai-critical-summary{margin-bottom:1rem}.lh-ai-critical-summary h5{font-size:.82rem;font-weight:700;color:#dc2626;margin:0 0 .5rem}.lh-ai-issue-list{display:flex;flex-direction:column;gap:.4rem}.lh-ai-issue-item{background:#fff5f5;border:1px solid #fecaca;border-radius:6px;padding:.5rem .75rem}.lh-ai-issue-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lh-ai-issue-cat{font-size:.65rem;font-weight:700;background:#fee2e2;color:#991b1b;padding:.1rem .4rem;border-radius:3px;text-transform:capitalize}.lh-ai-issue-title{font-size:.82rem;font-weight:600;color:var(--lh-text);flex:1}.lh-ai-issue-value{font-size:.78rem;color:#dc2626;font-weight:600}.lh-ai-offenders{margin-top:.35rem;display:flex;flex-direction:column;gap:.2rem}.lh-ai-offender-url{font-size:.72rem;background:#f1f5f9;border-radius:3px;padding:.15rem .4rem;color:#475569;word-break:break-all;display:block}.lh-ai-offender-size{color:#dc2626;font-weight:600}.lh-ai-body p{margin:0 0 .75rem;line-height:1.7}.lh-ai-body h2{font-size:1.1rem;margin:1.25rem 0 .5rem;color:var(--lh-text);border-bottom:1px solid var(--lh-border);padding-bottom:.25rem}.lh-ai-body h3{font-size:.95rem;margin:1rem 0 .4rem;color:var(--lh-text)}.lh-ai-body strong{color:var(--lh-text)}.lh-ai-body code{background:#f1f5f9;padding:.1em .35em;border-radius:3px;font-size:.85em}.lh-ai-quality-badge{font-size:.7rem;color:var(--lh-accent);font-weight:700;margin-top:1rem;text-align:right}.lh-sb-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.4rem;margin-top:.9rem}.lh-sb-network-grid{display:flex;flex-direction:column;gap:.35rem}.lh-sb-net-btn{display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff;cursor:pointer;font-size:.82rem;color:#475569;font-weight:500;transition:all .15s ease;text-align:left}.lh-sb-net-btn:hover{border-color:#6366f1;background:#eef2ff;color:#4338ca}.lh-sb-net-btn.lh-sb-net-btn-on{border-color:#6366f1;background:#6366f1;color:#fff}.lh-sb-net-name{flex:1;font-size:.8rem}.lh-sb-iter-row{display:flex;gap:.3rem;flex-wrap:wrap}.lh-sb-iter-btn{width:2rem;height:2rem;border-radius:6px;border:1.5px solid #e2e8f0;background:#fff;color:#475569;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.lh-sb-iter-btn:hover{border-color:#6366f1;background:#eef2ff;color:#4338ca}.lh-sb-iter-btn.lh-sb-iter-btn-on{border-color:#6366f1;background:#6366f1;color:#fff}.lh-sb-iter-hint{font-size:.74rem;color:#94a3b8;margin-top:.25rem;font-style:italic}.lh-run-section{margin-bottom:1.5rem}.lh-run-section-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.65rem}.lh-network-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}@media (max-width: 700px){.lh-network-grid{grid-template-columns:repeat(2,1fr)}}.lh-network-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.85rem .5rem;border-radius:12px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .15s ease;color:#475569;font-weight:500}.lh-network-btn:hover:not(:disabled){border-color:#6366f1;background:#eef2ff;color:#4338ca}.lh-network-btn.lh-network-btn-on{border-color:#6366f1;background:#6366f1;color:#fff;box-shadow:0 3px 10px #6366f14d}.lh-network-btn:disabled{opacity:.5;cursor:not-allowed}.lh-net-icon{font-size:1.5rem;line-height:1}.lh-net-name{font-size:.8rem;font-weight:700;text-align:center}.lh-net-device{font-size:.68rem;opacity:.7;text-transform:capitalize}.lh-iter-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.lh-iter-btn{width:2.4rem;height:2.4rem;border-radius:8px;border:2px solid #e2e8f0;background:#fff;color:#475569;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.lh-iter-btn:hover:not(:disabled){border-color:#6366f1;background:#eef2ff;color:#4338ca}.lh-iter-btn.lh-iter-btn-on{border-color:#6366f1;background:#6366f1;color:#fff;box-shadow:0 2px 6px #6366f14d}.lh-iter-btn:disabled{opacity:.5;cursor:not-allowed}.lh-iter-hint{font-size:.78rem;color:#94a3b8;margin-left:.25rem;font-style:italic}.lh-iter-info{margin-top:.5rem;padding:.6rem .85rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:.8rem;color:#1e40af;line-height:1.5}.lh-run-summary{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.lh-mt-sm{margin-top:.75rem}.lh-iter-result-section{margin-top:1.5rem;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.lh-iter-result-section .lh-section-h{padding:.75rem 1rem;margin:0;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.95rem}.lh-iter-result-summary{display:flex;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.lh-status-ok-pill{display:inline-block;padding:.15rem .55rem;border-radius:12px;background:#d1fae5;color:#065f46;font-size:.78rem;font-weight:600}.lh-status-err-pill{display:inline-block;padding:.15rem .55rem;border-radius:12px;background:#fee2e2;color:#991b1b;font-size:.78rem;font-weight:600}.lh-chip-muted{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.lh-profile-row{display:flex;gap:.6rem}.lh-profile-btn{display:flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:10px;border:2px solid #e2e8f0;background:#fff;cursor:pointer;font-size:.88rem;font-weight:600;color:#475569;transition:all .15s ease}.lh-profile-btn:hover:not(:disabled){border-color:#6366f1;background:#eef2ff;color:#4338ca}.lh-profile-btn.lh-profile-btn-on{border-color:#6366f1;background:#6366f1;color:#fff;box-shadow:0 2px 8px #6366f14d}.lh-profile-btn:disabled{opacity:.5;cursor:not-allowed}.lh-sb-profile-row{display:flex;flex-direction:column;gap:.3rem}.lh-sb-profile-btn{padding:.4rem .75rem;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff;cursor:pointer;font-size:.82rem;font-weight:500;color:#475569;text-align:left;transition:all .15s ease}.lh-sb-profile-btn:hover{border-color:#6366f1;background:#eef2ff;color:#4338ca}.lh-sb-profile-btn.lh-sb-profile-btn-on{border-color:#6366f1;background:#6366f1;color:#fff}*{box-sizing:border-box}.gl-root{min-height:100vh;background:#f0fdf9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;color:#1a1a1a}.gl-header{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:2px solid #ccfbf1;padding:1rem 1.5rem}.gl-hd-left{display:flex;align-items:center;gap:.9rem}.gl-logo-ring{width:46px;height:46px;background:linear-gradient(135deg,#0d9488,#0f766e);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 2px 10px #0d948859;flex-shrink:0}.gl-h1{font-size:1.4rem;font-weight:700;color:#1a1a1a;margin:0 0 .15rem;line-height:1.2}.gl-h1-sub{font-size:.75rem;color:#666;margin:0}.gl-hd-right{display:flex;gap:.5rem;align-items:center}.gl-status{display:flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:20px;font-size:.75rem;font-weight:600}.gl-status-run{background:#fef9c3;color:#854d0e;border:1px solid #fbbf24}.gl-status-ok{background:#dcfce7;color:#166534;border:1px solid #22c55e}.gl-pulse{width:7px;height:7px;border-radius:50%;background:#fbbf24;animation:glPulse 1.2s ease-in-out infinite}@keyframes glPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.gl-tabs{display:flex;background:#fff;border-bottom:2px solid #ccfbf1;padding:0 1.5rem}.gl-tab{padding:.8rem 1.3rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#666;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;margin-bottom:-2px}.gl-tab:hover:not(.gl-tab-off){color:#0d9488}.gl-tab-on{color:#0d9488!important;border-bottom-color:#0d9488}.gl-tab-off{opacity:.4;cursor:not-allowed}.gl-body{padding:1.2rem 1.5rem 3rem}.gl-pane{display:flex;flex-direction:column;gap:1rem;max-width:1300px}.gl-card{background:#fff;border-radius:8px;padding:1rem 1.2rem;box-shadow:0 1px 4px #0000000f;border:1px solid #ccfbf1}.gl-card-hero{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none}.gl-card-h{font-size:1.05rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem;display:flex;align-items:center;gap:.4rem}.gl-card-hero .gl-card-h{color:#fff}.gl-card-h-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.gl-card-h-row .gl-card-h{margin:0}.gl-score{position:relative;width:120px;height:120px;flex-shrink:0}.gl-score-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gl-score-num{font-size:2rem;font-weight:700;line-height:1;color:#fff}.gl-score-tag{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:#ffffffd9;margin-top:.2rem}.gl-hero-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.gl-hero-info{flex:1;min-width:180px}.gl-hero-title{font-size:1.2rem;font-weight:700;color:#fff;margin:0 0 .4rem;display:flex;flex-direction:column;gap:.2rem}.gl-hero-class{font-size:.68rem;color:#ffffffb3;font-weight:400;font-family:monospace}.gl-hero-sub{font-size:.82rem;color:#ffffffd9;margin:0}.gl-hero-btns{display:flex;gap:.5rem;flex-wrap:wrap}.gl-kpi-strip{display:flex;gap:1px;background:#ccfbf1;border-radius:6px;overflow:hidden;margin-bottom:1.2rem}.gl-kpi{flex:1;background:#fff;padding:.9rem .5rem;text-align:center;min-width:0;transition:background .15s}.gl-kpi:hover{background:#f0fdf9}.gl-kpi-icon{font-size:1.2rem;margin-bottom:.2rem}.gl-kpi-val{font-size:1.2rem;font-weight:700;color:#1a1a1a;line-height:1.1}.gl-kpi-label{font-size:.62rem;color:#888;margin-top:.2rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.gl-kpi-sub{font-size:.68rem;color:#aaa;margin-top:.1rem}.gl-bars-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-bottom:.6rem}.gl-bar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.gl-bar-label{width:3rem;font-size:.7rem;color:#666;flex-shrink:0;font-weight:600}.gl-bar-track{flex:1;height:8px;background:#f0fdf9;border-radius:4px;overflow:hidden;border:1px solid #ccfbf1}.gl-bar-fill{height:100%;border-radius:4px;transition:width .7s ease}.gl-bar-val{width:4.5rem;font-size:.72rem;font-weight:700;text-align:right;flex-shrink:0}.gl-section-h{font-size:.95rem;font-weight:700;color:#1a1a1a;margin:0 0 .7rem;padding-bottom:.4rem;border-bottom:2px solid #ccfbf1}.gl-table-wrap{overflow-x:auto;border-radius:6px;box-shadow:0 1px 4px #0000000f}.gl-tbl{width:100%;border-collapse:collapse;background:#fff;font-size:.75rem;min-width:780px}.gl-tbl thead{background:#134e4a;position:sticky;top:0;z-index:10}.gl-th{padding:.65rem .7rem;text-align:right;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:#134e4a;border-bottom:2px solid #0f3d3a;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background .15s}.gl-th:hover{background:#1a5c58}.gl-th-on{background:#0d9488!important}.gl-th-name{text-align:left}.gl-tr{border-bottom:1px solid #f0fdf9;transition:background .15s}.gl-tr:last-child{border-bottom:none}.gl-tr:hover{background:#f0fdf9}.gl-td{padding:.55rem .7rem;text-align:right;color:#333;font-weight:600}.gl-td-name{padding:.55rem .7rem;text-align:left;color:#0d9488;font-weight:600;max-width:240px;word-break:break-word}.gl-pill{display:inline-block;padding:.1rem .45rem;border-radius:3px;font-size:.68rem;font-weight:700;color:#fff}.gl-sim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}@media (max-width: 900px){.gl-sim-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 580px){.gl-sim-grid{grid-template-columns:1fr}}.gl-sim-card{border:2px solid #ccfbf1;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s;background:#f0fdf9}.gl-sim-card:hover{border-color:#0d9488;background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0d948826}.gl-sim-on{border-color:#0d9488!important;background:#fff!important;box-shadow:0 4px 12px #0d948833!important}.gl-sim-ico{font-size:1.6rem;margin-bottom:.4rem}.gl-sim-lbl{font-weight:700;color:#1a1a1a;margin-bottom:.15rem;font-size:.88rem}.gl-sim-tag{display:inline-block;font-size:.65rem;font-weight:700;color:#0f766e;background:#ccfbf1;padding:.1rem .45rem;border-radius:3px;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}.gl-sim-desc{font-size:.71rem;color:#666;line-height:1.4}.gl-toggle-row{display:flex;align-items:flex-start;gap:.9rem;cursor:pointer}.gl-tog-wrap{position:relative;width:42px;height:22px;flex-shrink:0;margin-top:3px}.gl-tog-inp{position:absolute;opacity:0;width:0;height:0}.gl-tog-sl{position:absolute;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:11px;transition:background .2s}.gl-tog-sl:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #00000040}.gl-tog-inp:checked+.gl-tog-sl{background:#0d9488}.gl-tog-inp:checked+.gl-tog-sl:before{transform:translate(20px)}.gl-tog-name{font-weight:700;color:#1a1a1a;margin-bottom:.2rem;font-size:.85rem}.gl-tog-sub{font-size:.73rem;color:#666}.gl-action-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:.9rem}.gl-sim-label-row{font-size:.75rem;color:#666;display:flex;align-items:center;gap:.5rem}.gl-code{font-family:monospace;background:#f0fdf9;padding:.1rem .4rem;border-radius:3px;font-size:.72rem;color:#0d9488}.gl-btn{padding:.5rem 1rem;font-size:.82rem;font-weight:600;border:none;border-radius:5px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.gl-btn:disabled{background:#ccc!important;cursor:not-allowed;transform:none!important;box-shadow:none!important}.gl-btn-primary{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff}.gl-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0d948866}.gl-btn-sec{background:#64748b;color:#fff}.gl-btn-sec:hover:not(:disabled){background:#475569;transform:translateY(-1px)}.gl-btn-ai{background:#0ea5e9;color:#fff}.gl-btn-ai:hover:not(:disabled){background:#0284c7;transform:translateY(-1px)}.gl-btn-danger{background:#ef4444;color:#fff}.gl-btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.gl-btn-ghost{background:transparent;color:#64748b;border:1px solid #e2e8f0;padding:.35rem .7rem;font-size:.75rem}.gl-btn-ghost:hover{background:#f0fdf9;color:#0d9488;border-color:#0d9488}.gl-log{background:#f0fdf9;border:1px solid #ccfbf1;border-radius:6px;padding:.7rem;max-height:240px;overflow-y:auto;font-family:Courier New,monospace;font-size:.72rem}.gl-log-line{display:flex;gap:.7rem;padding:.18rem 0;line-height:1.4}.gl-log-ts{color:#94a3b8;flex-shrink:0}.gl-log-msg{color:#475569}.gl-log-success .gl-log-msg{color:#166534;font-weight:600}.gl-log-error .gl-log-msg{color:#991b1b;font-weight:600}.gl-log-warn .gl-log-msg{color:#92400e}.gl-spinner{width:18px;height:18px;border:2px solid #ccfbf1;border-top-color:#0d9488;border-radius:50%;animation:glSpin .8s linear infinite}@keyframes glSpin{to{transform:rotate(360deg)}}.gl-ai-hero{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}.gl-ai-robot{font-size:1.8rem}.gl-ai-title{font-size:1.05rem;font-weight:700;color:#1a1a1a;margin:0 0 .1rem}.gl-ai-sub{font-size:.72rem;color:#666;margin:0}.gl-ai-hint{color:#666;font-size:.8rem;margin-top:.7rem}.gl-ai-busy{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;color:#666;font-size:.82rem}.gl-ai-err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.75rem 1rem;border-radius:5px;margin-top:.9rem;font-size:.8rem}.gl-ai-card{margin-top:1rem;background:#fff;border:1px solid #ccfbf1;border-radius:8px;padding:1.2rem;color:#333;line-height:1.7;max-height:600px;overflow-y:auto;box-shadow:0 2px 8px #0d948814}.gl-ai-h{font-size:.95rem;font-weight:700;color:#0d9488;margin:1.1rem 0 .4rem;padding-left:.8rem;border-left:4px solid #0d9488}.gl-ai-h:first-child{margin-top:0}.gl-ai-p{margin:0 0 .6rem;font-size:.85rem}.gl-hist-empty{color:#666;font-size:.82rem;padding:1.5rem 0;text-align:center}.gl-hist-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.8rem}.gl-hist-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:6px;border:1px solid #ccfbf1;background:#f0fdf9;cursor:pointer;transition:all .15s}.gl-hist-row:hover{border-color:#0d9488;background:#fff;box-shadow:0 2px 8px #0d94881a}.gl-hist-sim{font-weight:700;color:#1a1a1a;min-width:110px;font-size:.85rem}.gl-hist-chips{display:flex;gap:.4rem;flex-wrap:wrap}.gl-chip{font-size:.68rem;color:#555;background:#fff;border:1px solid #ccfbf1;padding:.15rem .45rem;border-radius:3px}.gl-muted{color:#666;font-size:.75rem;margin:.2rem 0 0}@media (max-width: 768px){.gl-header{padding:.8rem 1rem;flex-direction:column;align-items:flex-start;gap:.6rem}.gl-body{padding:.8rem}.gl-tabs{padding:0 .5rem;overflow-x:auto}.gl-tab{padding:.65rem .8rem;font-size:.76rem}.gl-kpi-strip{flex-wrap:wrap}.gl-kpi{min-width:45%}.gl-hero-row{flex-direction:column;align-items:flex-start}.gl-action-row{flex-direction:column}.gl-btn{width:100%;justify-content:center}}.go-wrap{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.go-tabs{display:flex;gap:.25rem;border-bottom:2px solid #e5e7eb;margin-bottom:1.25rem;flex-wrap:wrap}.go-tab{padding:.5rem 1.1rem;border:none;background:none;cursor:pointer;font-size:.875rem;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;font-weight:500}.go-tab:hover{color:#7c3aed}.go-tab-on{color:#7c3aed;border-bottom-color:#7c3aed}.go-panel{padding:.25rem 0 1rem}.go-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#6b7280;margin-bottom:.8rem}.go-mt{margin-top:2rem}.go-empty{text-align:center;color:#9ca3af;padding:3rem 1rem;font-size:.9rem}.go-info-msg{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1d4ed8;font-size:.83rem;padding:.5rem .9rem;margin-bottom:1rem}.go-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.go-kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.9rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.go-kpi-icon{font-size:1.3rem}.go-kpi-val{font-size:1.4rem;font-weight:800;line-height:1.1}.go-kpi-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.go-kpi-badge{font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;margin-top:.1rem}.go-pie-row{display:flex;gap:1.5rem;flex-wrap:wrap}.go-pie-block{display:flex;flex-direction:column;align-items:center;min-width:180px}.go-pie-title{font-size:.78rem;font-weight:600;color:#374151;margin-bottom:.5rem}.go-pie-wrap{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.go-pie-legend{display:flex;flex-direction:column;gap:.3rem}.go-pie-leg-row{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#374151;cursor:default}.go-pie-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.go-pie-leg-name{flex:1}.go-pie-leg-val{font-weight:700;color:#1e1b4b}.go-pie-empty{color:#9ca3af;font-size:.82rem}.go-chart-wrap{position:relative;width:100%}.go-chart-wrap svg{display:block;width:100%}.go-chart-empty{text-align:center;color:#9ca3af;font-size:.85rem;padding:1.5rem;border:1px dashed #e5e7eb;border-radius:8px}.go-tip{position:fixed;background:#1e1b4b;color:#fff;border-radius:6px;padding:.3rem .7rem;font-size:.78rem;pointer-events:none;z-index:9999;white-space:nowrap;box-shadow:0 4px 12px #0003}.go-tip-lbl{color:#a5b4fc}.go-line-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.go-line-leg-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#374151}.go-line-dot{width:10px;height:10px;border-radius:50%}.go-controls{display:flex;align-items:flex-end;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.25rem}.go-control-group{display:flex;flex-direction:column;gap:.35rem}.go-control-group label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.go-control-group select{padding:.4rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;background:#fff;cursor:pointer}.go-range-btns{display:flex;gap:.25rem}.go-range-btn{padding:.35rem .75rem;border:1px solid #d1d5db;border-radius:5px;background:#fff;font-size:.8rem;cursor:pointer;color:#374151;transition:all .15s}.go-range-btn:hover{border-color:#7c3aed;color:#7c3aed}.go-range-on{background:#7c3aed;border-color:#7c3aed;color:#fff!important}.go-refresh-btn{padding:.42rem .9rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .15s}.go-refresh-btn:hover{background:#e5e7eb}.go-req-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.go-req-card{border-radius:10px;padding:.9rem;text-align:center;border:1px solid transparent}.go-req-val{font-size:1.5rem;font-weight:800}.go-req-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem}.go-req-total{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.go-req-ok{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.go-req-fail{background:#fef2f2;border-color:#fecaca;color:#dc2626}.go-req-rps{background:#faf5ff;border-color:#e9d5ff;color:#7c3aed}.go-budget-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.go-budget-pills{display:flex;gap:.6rem;flex-wrap:wrap}.go-bpill{padding:.35rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600}.go-bpill-pass{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.go-bpill-warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.go-bpill-fail{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.go-budget-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.go-budget-col-hdr{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;background:#f9fafb;padding:.6rem 1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;border-bottom:1px solid #e5e7eb}.go-budget-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:.7rem 1rem;border-bottom:1px solid #f3f4f6;font-size:.85rem;align-items:center;transition:filter .1s}.go-budget-row:last-child{border-bottom:none}.go-budget-row:hover{filter:brightness(.97)}.go-budget-tgt{color:#6b7280;font-size:.82rem}.go-bs{font-size:.78rem;font-weight:700}.go-bs-pass{color:#15803d}.go-bs-warn{color:#92400e}.go-bs-fail{color:#dc2626}.go-hist-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;overflow-x:auto}.go-hist-hdr{display:grid;grid-template-columns:.35fr 1.4fr 1fr 1fr 1fr .8fr .8fr .9fr .9fr;background:#f9fafb;padding:.6rem 1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;border-bottom:1px solid #e5e7eb;min-width:700px}.go-hist-row{display:grid;grid-template-columns:.35fr 1.4fr 1fr 1fr 1fr .8fr .8fr .9fr .9fr;padding:.65rem 1rem;border-bottom:1px solid #f3f4f6;font-size:.83rem;align-items:center;min-width:700px}.go-hist-row:hover{background:#f9fafb}.go-hist-row:last-child{border-bottom:none}.go-hist-num{color:#9ca3af;font-size:.75rem}.go-hist-date{font-size:.78rem;color:#374151}.go-run-badge{display:inline-block;padding:.2rem .5rem;border-radius:5px;font-size:.75rem;font-weight:600}.go-run-ok{background:#f0fdf4;color:#15803d}.go-run-warn{background:#fffbeb;color:#92400e}.go-kpi-wide{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.go-breakdown-row{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:flex-start}.go-req-summary-block{flex:1;min-width:260px;display:flex;flex-direction:column;gap:.75rem}.go-bar-meters{display:flex;flex-direction:column;gap:.5rem}.go-meter-row{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:#374151}.go-meter-row span:first-child{width:52px;flex-shrink:0}.go-meter-row span:last-child{width:52px;text-align:right;flex-shrink:0}.go-meter-track{flex:1;height:8px;background:#e5e7eb;border-radius:99px;overflow:hidden}.go-meter-fill{height:100%;border-radius:99px;transition:width .4s ease}.go-dist-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.55rem}.go-dist-row{display:flex;align-items:center;gap:.75rem}.go-dist-label{width:40px;font-size:.78rem;font-weight:600;color:#6b7280;flex-shrink:0}.go-dist-track{flex:1;height:10px;background:#f1f5f9;border-radius:99px;overflow:hidden}.go-dist-fill{height:100%;border-radius:99px;transition:width .4s ease}.go-dist-val{width:64px;text-align:right;font-size:.82rem;font-weight:700;flex-shrink:0}.go-dist-note{font-size:.8rem;color:#6b7280;padding-top:.4rem;border-top:1px solid #f3f4f6;margin-top:.25rem}.go-tx-bars{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.go-tx-bar-row{display:flex;align-items:center;gap:.75rem}.go-tx-name{width:160px;font-size:.78rem;color:#374151;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.go-tx-track{flex:1;height:14px;background:#f1f5f9;border-radius:4px;overflow:hidden}.go-tx-fill{height:100%;border-radius:4px;transition:width .4s ease}.go-tx-p95{width:64px;text-align:right;font-size:.82rem;font-weight:700;flex-shrink:0}.go-tx-err-badge{width:72px;text-align:right;font-size:.75rem;flex-shrink:0;color:#16a34a}.go-tx-err-bad{color:#dc2626}.go-tx-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;overflow-x:auto}.go-tx-hdr{display:grid;grid-template-columns:2fr .6fr .6fr .6fr 1fr 1fr 1fr 1fr;background:#f9fafb;padding:.55rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;border-bottom:1px solid #e5e7eb;min-width:600px}.go-tx-row{display:grid;grid-template-columns:2fr .6fr .6fr .6fr 1fr 1fr 1fr 1fr;padding:.55rem 1rem;border-bottom:1px solid #f3f4f6;font-size:.82rem;align-items:center;min-width:600px}.go-tx-row:hover{background:#f9fafb}.go-tx-row:last-child{border-bottom:none}.go-tx-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;color:#374151}.go-multirun-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.go-chart-sub{font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.4rem}@media (max-width: 768px){.go-multirun-grid{grid-template-columns:1fr}.go-breakdown-row{flex-direction:column}.go-tx-name{width:100px}}.grm-root{font-family:JetBrains Mono,Cascadia Code,Fira Mono,Consolas,monospace;background:#0d0d0d;color:#c5c8c6;font-size:11px;line-height:1.45;border-radius:6px;border:1px solid #2a2a2a;overflow:hidden;min-height:420px;box-shadow:0 8px 32px #0009}.grm-topbar{display:flex;align-items:center;justify-content:space-between;background:#1a1a2e;border-bottom:1px solid #2a2a3e;padding:5px 10px;gap:8px}.grm-topbar-left{display:flex;align-items:center;gap:10px}.grm-topbar-right{display:flex;align-items:center;gap:8px}.grm-topbar-center{flex:1;text-align:center}.grm-logo{color:#fc0;font-weight:700;font-size:12px;letter-spacing:.5px}.grm-host{color:#0cf;font-size:10px;opacity:.8}.grm-clock{color:#0d8;font-size:13px;font-weight:700;letter-spacing:1px}.grm-cpu-model{color:#888;font-size:10px;max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.grm-btn{background:#1e2a1e;border:1px solid #2a4a2a;color:#0d8;font-family:inherit;font-size:10px;padding:3px 9px;border-radius:3px;cursor:pointer;transition:all .15s;letter-spacing:.3px}.grm-btn:hover{background:#2a3e2a;border-color:#0d8}.grm-btn:disabled{opacity:.4;cursor:not-allowed}.grm-btn-active{background:#f33;border-color:#f66;color:#fff}.grm-btn-active:hover{background:#c22}.grm-uptimebar{display:flex;gap:20px;padding:3px 10px;background:#111;border-bottom:1px solid #1e1e1e;color:#888;font-size:10px}.grm-live-dot{color:#f44;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.grm-error{padding:10px 14px;background:#1a0000;color:#f66;border-bottom:1px solid #440000;font-size:11px}.grm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;color:#555;gap:12px}.grm-empty-icon{font-size:36px;opacity:.3}.grm-spin{font-size:28px;color:#0d8;animation:spin 1.2s linear infinite}.grm-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:0;border-bottom:1px solid #1e1e1e}.grm-panel{padding:7px 10px;border:1px solid #1e1e1e}.grm-panel-title{display:flex;align-items:center;justify-content:space-between;color:#0d8;font-weight:700;font-size:11px;border-bottom:1px solid #1e2e1e;padding-bottom:4px;margin-bottom:6px;text-transform:lowercase;letter-spacing:.5px}.grm-panel-badge{font-weight:600;font-size:10px}.grm-panel-cpu{grid-column:1;grid-row:1}.grm-panel-mem{grid-column:2;grid-row:1}.grm-panel-disk{grid-column:1;grid-row:2}.grm-panel-net{grid-column:2;grid-row:2}.grm-panel-procs{grid-column:1 / -1;grid-row:3;border-top:2px solid #1a2e1a}.ascii-bar{font-size:10px;color:#444;white-space:nowrap}.spark-svg{width:100%;height:100%;display:block}.grm-spark-wrap{flex:1;height:20px;margin:0 6px;background:#111;border:1px solid #1e1e1e;border-radius:2px;overflow:hidden}.grm-spark-row{display:flex;align-items:center;gap:4px;margin-bottom:5px}.grm-spark-label{width:24px;color:#0d8;font-size:9px;font-weight:700;text-align:right;flex-shrink:0}.grm-pct-label{width:38px;text-align:right;font-size:10px;font-weight:700;flex-shrink:0}.grm-cores-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px 10px;margin-bottom:6px}.grm-core-row{display:flex;align-items:center;gap:4px}.grm-core-id{width:20px;color:#888;font-size:9px;text-align:right;flex-shrink:0}.grm-core-pct{width:34px;text-align:right;font-size:9px;font-weight:700;flex-shrink:0}.grm-load-row{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:10px;color:#0cf;border-top:1px dashed #1e2e1e;padding-top:4px}.grm-mem-details{display:flex;flex-direction:column;gap:2px;margin:5px 0}.grm-kv{display:flex;justify-content:space-between;font-size:10px;padding:1px 0}.grm-swap-row{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:10px;border-top:1px dashed #1e2e1e;padding-top:4px;color:#888}.grm-disk-label{color:#888;font-size:9px;margin-bottom:3px}.grm-net-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.grm-net-arrow{font-size:11px;font-weight:700;flex-shrink:0}.grm-net-val{width:80px;text-align:right;font-size:10px;font-weight:700;flex-shrink:0}.grm-iface-row{display:flex;gap:10px;font-size:10px;margin-top:4px;border-top:1px dashed #1e1e1e;padding-top:4px}.grm-proc-tabs{display:flex;gap:8px}.grm-proc-tab{color:#555;font-size:10px;cursor:pointer}.grm-proc-tab-active{color:#0d8}.grm-proc-table{width:100%;border-collapse:collapse;font-size:10px}.grm-proc-table thead{background:#0a1a0a;color:#0d8}.grm-proc-table th{padding:3px 6px;text-align:left;font-weight:700;font-size:9px;letter-spacing:.3px;white-space:nowrap;border-bottom:1px solid #1e2e1e}.grm-proc-table tbody tr{border-bottom:1px solid #111;transition:background .1s}.grm-proc-table tbody tr:hover{background:#0f1f0f}.grm-proc-table td{padding:2px 6px;white-space:nowrap}.grm-proc-name{color:#c5c8c6;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis}.grm-proc-hot td{background:#1a0a0a!important}.grm-proc-hot .grm-proc-name{color:#f66}.grm-proc-footer{display:flex;gap:16px;padding:4px 6px;background:#0a1a0a;color:#0d8;font-size:10px;border-top:1px solid #1e2e1e}.grm-proc-footer span{cursor:pointer;opacity:.8;transition:opacity .1s}.grm-proc-footer span:hover{opacity:1}.grm-bottombar{display:flex;gap:20px;padding:4px 10px;background:#0a1a0a;color:#0d8;font-size:10px;border-top:1px solid #1e2e1e}.grm-bottombar span{cursor:pointer;opacity:.7;transition:opacity .15s}.grm-bottombar span:hover{opacity:1}.grm-dim{color:#555}.grm-green{color:#0d8}.grm-cyan{color:#0cf}.grm-red{color:#f44}.grm-yellow{color:#fc0}@media (max-width: 700px){.grm-grid{grid-template-columns:1fr}.grm-panel-cpu,.grm-panel-mem,.grm-panel-disk,.grm-panel-net,.grm-panel-procs{grid-column:1}.grm-panel-mem{grid-row:2}.grm-panel-disk{grid-row:3}.grm-panel-net{grid-row:4}.grm-panel-procs{grid-row:5}.grm-cores-grid{grid-template-columns:repeat(4,1fr)}}:root{--ss-bg: #f8fafc;--ss-surface: #ffffff;--ss-border: #e2e8f0;--ss-text: #1e293b;--ss-muted: #64748b;--ss-accent: #3b82f6;--ss-accent2: #8b5cf6;--ss-green: #16a34a;--ss-amber: #d97706;--ss-red: #dc2626;--ss-radius: 10px;--ss-tab-h: 42px}.ss-wrapper{display:flex;min-height:100vh;background:var(--ss-bg);color:var(--ss-text);font-family:Segoe UI,system-ui,-apple-system,sans-serif}.ss-sidebar{width:220px;flex-shrink:0;background:#f8fafc;border-right:1px solid var(--ss-border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.ss-sidebar-section h3{font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--ss-muted);text-transform:uppercase;margin:0 0 .75rem}.ss-sidebar-section label{display:block;font-size:.78rem;color:var(--ss-muted);margin:.6rem 0 .2rem}.ss-sidebar-section select{width:100%;padding:.4rem .5rem;background:#f1f5f9;border:1px solid var(--ss-border);border-radius:6px;color:var(--ss-text);font-size:.82rem;cursor:pointer}.ss-stat{display:flex;flex-direction:column;margin-bottom:.8rem}.ss-stat-val{font-size:1.6rem;font-weight:700;line-height:1}.ss-stat-label{font-size:.7rem;color:var(--ss-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.ss-sidebar-btn{display:block;width:100%;padding:.45rem .6rem;background:#f1f5f9;border:1px solid var(--ss-border);border-radius:6px;color:var(--ss-text);font-size:.82rem;cursor:pointer;text-align:left;margin-bottom:.4rem;transition:background .15s,border-color .15s}.ss-sidebar-btn:hover{background:#e2e8f0;border-color:var(--ss-accent)}.ss-main{flex:1;display:flex;flex-direction:column;min-width:0;padding:1.5rem 2rem 3rem}.ss-header{margin-bottom:1.25rem}.ss-header h1{font-size:1.7rem;font-weight:700;margin:0 0 .2rem;color:#1e293b}.ss-subtitle{color:var(--ss-muted);font-size:.9rem;margin:0}.ss-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ss-border);margin-bottom:1.5rem;overflow-x:auto;padding-bottom:0;scrollbar-width:none}.ss-tabs::-webkit-scrollbar{display:none}.ss-tab{position:relative;padding:.55rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--ss-muted);font-size:.88rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px}.ss-tab:hover{color:#1e293b}.ss-tab-on{color:var(--ss-accent);border-bottom-color:var(--ss-accent)}.ss-badge{background:var(--ss-accent);color:#fff;border-radius:10px;font-size:.65rem;font-weight:700;padding:1px 6px;min-width:18px;text-align:center}.ss-panel{animation:ssFadeIn .2s ease}@keyframes ssFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ss-panel h2{font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.ss-panel-desc{color:var(--ss-muted);font-size:.88rem;margin:0 0 1.25rem}.ss-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.ss-results-header h2{margin:0}.ss-results-actions{display:flex;gap:.5rem}.ss-btn{padding:.5rem 1rem;border-radius:7px;border:none;font-size:.88rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s;display:inline-flex;align-items:center;gap:5px;text-decoration:none}.ss-btn:hover:not(:disabled){opacity:.85}.ss-btn:active:not(:disabled){transform:scale(.97)}.ss-btn:disabled{opacity:.45;cursor:not-allowed}.ss-btn-primary{background:var(--ss-accent);color:#fff}.ss-btn-secondary{background:#e2e8f0;color:var(--ss-text)}.ss-btn-outline{background:transparent;border:1px solid var(--ss-accent);color:var(--ss-accent)}.ss-btn-danger{background:#fee2e2;color:#b91c1c}.ss-btn-sm{padding:.35rem .7rem;font-size:.78rem}.ss-btn-xs{padding:.2rem .5rem;font-size:.72rem;border-radius:4px}.ss-ml{margin-left:.5rem}.ss-mt{margin-top:1rem}.ss-mt-sm{margin-top:.5rem}.ss-run-config{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.ss-field{display:flex;flex-direction:column;gap:.3rem}.ss-field label{font-size:.8rem;color:var(--ss-muted)}.ss-field select{padding:.45rem .7rem;background:#f8fafc;border:1px solid var(--ss-border);border-radius:6px;color:var(--ss-text);font-size:.88rem;min-width:160px}.ss-run-btns{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.ss-msg{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--ss-radius);font-size:.88rem}.ss-msg-ok{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:var(--ss-green)}.ss-msg-err{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--ss-red);display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.ss-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.ss-results-card{background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);padding:1.25rem}.ss-results-card h3{font-size:.95rem;font-weight:600;margin:0 0 1rem;color:var(--ss-muted)}.ss-metric-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.ss-metric-pill{flex:1;min-width:80px;background:#f8fafc;border:1px solid var(--ss-border);border-radius:8px;padding:.6rem .5rem;text-align:center}.ss-metric-pill-sm{flex:0 1 80px}.ss-metric-pill-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--ss-muted);text-transform:uppercase}.ss-metric-pill-val{font-size:1.1rem;font-weight:700;margin:4px 0 2px}.ss-metric-pill-desc{font-size:.65rem;color:var(--ss-muted)}.ss-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.ss-table-section{background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);padding:1.25rem;margin-bottom:1.25rem}.ss-table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.ss-table-header h3{font-size:.95rem;font-weight:600;margin:0}.ss-table-wrap{overflow-x:auto}.ss-table{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}.ss-table th{padding:.6rem .7rem;background:#f8fafc;border-bottom:1px solid var(--ss-border);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ss-muted);text-align:left}.ss-table td{padding:.55rem .7rem;border-bottom:1px solid rgba(51,65,85,.5);vertical-align:middle}.ss-table tr:last-child td{border-bottom:none}.ss-table tr:hover td{background:#3b82f60a}.ss-page-name{color:var(--ss-text);font-size:.8rem;max-width:240px;overflow:hidden;text-overflow:ellipsis}.ss-hist-links{display:flex;gap:.4rem;flex-wrap:wrap}.ss-chip{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#f1f5f9;border:1px solid var(--ss-border);border-radius:20px;font-size:.75rem;color:var(--ss-text)}.ss-chip-muted{color:var(--ss-muted)}.ss-sub-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.ss-sub-tab{padding:.4rem 1rem;border-radius:6px;border:1px solid var(--ss-border);background:transparent;color:var(--ss-muted);font-size:.85rem;cursor:pointer;transition:all .15s}.ss-sub-tab:hover{border-color:var(--ss-accent);color:var(--ss-text)}.ss-sub-tab-on{background:var(--ss-accent);border-color:var(--ss-accent);color:#fff}.ss-page-selector{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.ss-page-selector label{font-size:.85rem;color:var(--ss-muted);white-space:nowrap}.ss-page-selector select{padding:.4rem .7rem;background:#f8fafc;border:1px solid var(--ss-border);border-radius:6px;color:var(--ss-text);font-size:.85rem;min-width:220px}.ss-score-row{display:flex;align-items:center;gap:2rem;background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);padding:1.25rem;margin-bottom:1.5rem;flex-wrap:wrap}.ss-score-circle{display:flex;flex-direction:column;align-items:center;gap:.5rem}.ss-score-label{font-size:.8rem;color:var(--ss-muted)}.ss-issue-summary{display:flex;flex-direction:column;gap:.5rem}.ss-issue-count{font-size:.9rem;font-weight:600;padding:.3rem .75rem;border-radius:6px}.ss-issue-count.critical{background:#fee2e2;color:#b91c1c}.ss-issue-count.medium{background:#fef3c7;color:#92400e}.ss-issue-count.advisory{background:#dcfce7;color:#166534}.ss-coach-section{margin-bottom:1.5rem;background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);overflow:hidden}.ss-coach-section-header{padding:.65rem 1rem;font-size:.85rem;font-weight:600;border-bottom:1px solid var(--ss-border)}.ss-coach-critical .ss-coach-section-header{background:#fee2e2;color:#b91c1c}.ss-coach-medium .ss-coach-section-header{background:#fef3c7;color:#92400e}.ss-coach-advisory .ss-coach-section-header{background:#dcfce7;color:#166534}.ss-no-issues{padding:1rem;color:var(--ss-green);font-size:.85rem}.ss-score-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;background:#e2e8f0;color:var(--ss-text)}.ss-impact{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase}.ss-impact-critical,.ss-impact-high{background:#fee2e2;color:#b91c1c}.ss-impact-medium{background:#fef3c7;color:#92400e}.ss-impact-low,.ss-impact-good{background:#dcfce7;color:#166534}.ss-issue-title{font-weight:500}.ss-metrics-cell{color:var(--ss-muted);font-size:.78rem}.ss-issue-details-list{padding:.75rem;border-top:1px solid var(--ss-border);display:flex;flex-direction:column;gap:.5rem}.ss-expander{border:1px solid var(--ss-border);border-radius:7px;overflow:hidden}.ss-expander-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.65rem .9rem;background:#f8fafc;border:none;color:var(--ss-text);font-size:.85rem;cursor:pointer;text-align:left;gap:1rem;transition:background .15s}.ss-expander-header:hover{background:#f1f5f9}.ss-expander-open .ss-expander-header{background:#eff6ff}.ss-expander-body{padding:1rem;background:var(--ss-surface);border-top:1px solid var(--ss-border)}.ss-issue-desc{color:var(--ss-muted);font-size:.85rem;margin:0 0 .75rem;line-height:1.5}.ss-detail-metrics{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.ss-detail-metric{background:#f8fafc;border:1px solid var(--ss-border);border-radius:6px;padding:.4rem .6rem;min-width:100px}.ss-detail-key{font-size:.68rem;color:var(--ss-muted);text-transform:capitalize}.ss-detail-val{font-size:.9rem;font-weight:600}.ss-offending strong{font-size:.82rem;color:var(--ss-muted);display:block;margin-bottom:.4rem}.ss-url{font-family:monospace;font-size:.75rem;color:var(--ss-muted);word-break:break-all}.ss-more{font-size:.75rem;color:var(--ss-muted);padding:.3rem 0}.ss-ai-results{margin-top:1.5rem}.ss-ai-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.ss-page-card{background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);padding:1.25rem;margin-bottom:1rem}.ss-page-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.ss-page-card-header h4{margin:0;font-size:.95rem}.ss-insight{margin-top:1rem;padding:.75rem;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:7px}.ss-insight h5{margin:0 0 .5rem;font-size:.82rem;color:var(--ss-accent2)}.ss-insight-body{font-size:.85rem;line-height:1.7;color:#374151}.ss-insight-body p{margin:0 0 .5rem}.ss-coach-mini{margin-top:1rem}.ss-coach-mini h5{font-size:.82rem;margin:0 0 .5rem;color:var(--ss-amber)}.ss-coach-mini-item{padding:.65rem .75rem;background:#f8fafc;border:1px solid var(--ss-border);border-radius:6px;margin-bottom:.5rem}.ss-coach-mini-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem;font-size:.82rem}.ss-mini-resources{margin-top:.4rem;display:flex;flex-direction:column;gap:.2rem}.ss-agent-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-bottom:1.5rem}.ss-agent-card{background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:var(--ss-radius);padding:1rem}.ss-agent-card-label{font-size:.72rem;color:var(--ss-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.ss-agent-card-val{font-size:1.2rem;font-weight:700}.ss-agent-ok{border-color:#86efac}.ss-agent-offline{border-color:#fca5a5}.ss-info-msg{padding:.65rem 1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;font-size:.85rem;color:#1d4ed8;margin-bottom:1.25rem}.ss-section-heading{font-size:.9rem;font-weight:600;color:var(--ss-muted);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 .75rem}.ss-activity-list{display:flex;flex-direction:column;gap:.75rem}.ss-activity-item{background:var(--ss-surface);border:1px solid var(--ss-border);border-radius:8px;padding:.9rem 1rem}.ss-activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.ss-activity-time{font-size:.75rem;color:var(--ss-muted)}.ss-status-badge{font-size:.7rem;font-weight:700;padding:.1rem .5rem;border-radius:4px}.ss-status-ok{background:#dcfce7;color:#166534}.ss-status-err{background:#fee2e2;color:#b91c1c}.ss-status-gray{background:#f1f5f9;color:var(--ss-muted)}.ss-activity-type{font-size:.87rem;font-weight:500;margin-bottom:.25rem}.ss-activity-reason,.ss-activity-metrics{font-size:.8rem;color:var(--ss-muted);margin-bottom:.25rem}.ss-activity-msg{font-size:.8rem;color:var(--ss-muted)}.ss-insights-list{display:flex;flex-direction:column;gap:.5rem}.ss-insight-item{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .8rem;border-radius:7px;font-size:.85rem}.ss-insight-rec{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.ss-insight-issue{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.ss-insight-info{background:#f8fafc;border:1px solid var(--ss-border);color:var(--ss-text)}.ss-last-update{margin-top:1.25rem;font-size:.75rem;color:var(--ss-muted);text-align:right}.ss-empty{text-align:center;padding:3rem 1rem;color:var(--ss-muted)}.ss-empty p{margin:0 0 1.25rem}.ss-empty-inline{color:var(--ss-muted);font-size:.85rem;padding:.75rem 0}@media (max-width: 768px){.ss-sidebar{display:none}.ss-main{padding:1rem}.ss-run-config{flex-direction:column}.ss-overview-grid{grid-template-columns:1fr}}.ss-insight-card{border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;border:1px solid transparent}.ss-insight-card.ss-insight-rec{background:#eff6ff;border-color:#bfdbfe}.ss-insight-card.ss-insight-issue{background:#fffbeb;border-color:#fde68a}.ss-insight-card.ss-insight-info{background:#f8fafc;border-color:var(--ss-border)}.ss-insight-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem;flex-wrap:wrap}.ss-insight-icon{font-size:1rem}.ss-insight-source{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .45rem;border-radius:4px;background:#00000012;color:#374151}.ss-insight-ts{font-size:.72rem;color:#6b7280;margin-left:auto;white-space:nowrap}.ss-insight-bullets{margin:0;padding-left:1.1rem;list-style:disc}.ss-insight-bullet{font-size:.83rem;line-height:1.55;color:#374151;margin-bottom:.2rem}.ss-insight-bullet:last-child{margin-bottom:0}.ss-insight-text{font-size:.83rem;line-height:1.55;color:#374151;margin:0}.fc-fab{position:fixed;bottom:1.75rem;right:1.75rem;z-index:9999;width:56px;height:56px;border-radius:50%;background:#3b82f6;color:#fff;border:none;font-size:1.4rem;cursor:pointer;box-shadow:0 4px 20px #3b82f673;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s,box-shadow .2s}.fc-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px #3b82f68c}.fc-fab-open{background:#64748b;box-shadow:0 4px 16px #0003}.fc-unread{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.fc-window{position:fixed;bottom:5.5rem;right:1.75rem;z-index:9998;width:360px;max-height:560px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 40px #00000024;display:flex;flex-direction:column;overflow:hidden;animation:fcSlideUp .2s ease}@keyframes fcSlideUp{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.fc-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#3b82f6;color:#fff;flex-shrink:0}.fc-header-info{display:flex;align-items:center;gap:.65rem}.fc-avatar{font-size:1.4rem;line-height:1}.fc-title{font-size:.9rem;font-weight:700}.fc-subtitle{font-size:.72rem;opacity:.85;margin-top:1px}.fc-header-actions{display:flex;gap:.25rem}.fc-icon-btn{background:#ffffff26;border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.fc-icon-btn:hover{background:#ffffff4d}.fc-messages{flex:1;overflow-y:auto;padding:.9rem .85rem;display:flex;flex-direction:column;gap:.6rem;scroll-behavior:smooth}.fc-messages::-webkit-scrollbar{width:4px}.fc-messages::-webkit-scrollbar-track{background:transparent}.fc-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.fc-msg{display:flex;flex-direction:column;max-width:88%}.fc-msg-user{align-self:flex-end;align-items:flex-end}.fc-msg-assistant{align-self:flex-start;align-items:flex-start}.fc-msg-bubble{padding:.55rem .8rem;border-radius:12px;font-size:.84rem;line-height:1.55;word-break:break-word}.fc-msg-user .fc-msg-bubble{background:#3b82f6;color:#fff;border-bottom-right-radius:4px}.fc-msg-assistant .fc-msg-bubble{background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}.fc-msg-time{font-size:.65rem;color:#94a3b8;margin-top:3px;padding:0 .25rem}.fc-typing{display:flex;align-items:center;gap:4px;padding:.6rem .8rem!important}.fc-typing span{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:fcBounce 1.2s infinite}.fc-typing span:nth-child(2){animation-delay:.2s}.fc-typing span:nth-child(3){animation-delay:.4s}@keyframes fcBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.fc-prompts{padding:0 .85rem .6rem;display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0}.fc-prompt-btn{padding:.25rem .6rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;font-size:.73rem;color:#1d4ed8;cursor:pointer;transition:background .15s;white-space:nowrap}.fc-prompt-btn:hover{background:#dbeafe}.fc-input-row{display:flex;gap:.5rem;padding:.7rem .85rem;border-top:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.fc-input{flex:1;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.84rem;background:#fff;color:#1e293b;outline:none;transition:border-color .15s}.fc-input:focus{border-color:#3b82f6}.fc-input::placeholder{color:#94a3b8}.fc-input:disabled{opacity:.6}.fc-send-btn{width:36px;height:36px;border-radius:8px;background:#3b82f6;color:#fff;border:none;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}.fc-send-btn:hover:not(:disabled){opacity:.85}.fc-send-btn:disabled{opacity:.45;cursor:not-allowed}.fc-footer{text-align:center;font-size:.68rem;color:#94a3b8;padding:.4rem .85rem .55rem;background:#f8fafc;border-top:1px solid #f1f5f9;flex-shrink:0}@media (max-width: 480px){.fc-window{width:calc(100vw - 2rem);right:1rem;bottom:5rem;max-height:70vh}.fc-fab{bottom:1.25rem;right:1.25rem}}:root{--primary: #3b82f6;--primary-hover: #2563eb;--secondary: #10b981;--accent: #f59e0b;--danger: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--border-color: #e5e7eb;--border-radius: 12px;--border-radius-sm: 8px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);color:var(--text-primary);background:var(--bg-secondary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{color:var(--text-secondary);line-height:1.7}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;transition:all .2s ease}.btn{padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;border-radius:var(--border-radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--secondary);color:#fff}.btn-secondary:hover{background:#059669;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background:#fff;border:2px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.card{background:#fff;border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.container-fluid{width:100%;padding:0 var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.py-3{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-4{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-5{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}input,select,textarea{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:.95rem;transition:all .2s ease;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}html{scroll-behavior:smooth}
