:root{--bg-base:#131318;--bg-surface:#1b1b20;--bg-card:#1f1f25;--bg-card-hover:#2a292f;--bg-elevated:#35343a;--bg-recessed:#0e0e13;--accent:#00f0ff;--accent-hover:#00dbe9;--accent-glow:#00f0ff26;--accent-border:#00f0ff40;--accent-gradient:linear-gradient(135deg, #00f0ff, #00c6b6);--secondary:#43e2d2;--secondary-bg:#43e2d21a;--success:#43e2d2;--success-bg:#43e2d21a;--success-border:#43e2d240;--warning:#eedc5b;--warning-bg:#eedc5b1a;--warning-border:#eedc5b40;--danger:orange;--danger-bg:#ffa5001a;--danger-border:#ffa50040;--critical:#ffb4ab;--critical-bg:#ffb4ab1f;--critical-border:#ffb4ab4d;--info:#7df4ff;--info-bg:#7df4ff14;--text-primary:#e4e1e9;--text-secondary:#b9cacb;--text-muted:#849495;--text-dim:#3b494b;--border:#ffffff0a;--border-strong:#ffffff14;--border-color:#3b494b26;--glass-bg:#35343ab3;--glass-blur:20px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 40px #00f0ff0a;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:2px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-base);min-height:100vh;font-weight:400;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5{color:var(--text-primary);letter-spacing:-.02em;font-weight:600;line-height:1.25}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}h4{font-size:.95rem}h5{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:500}p{color:var(--text-secondary)}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}.skip-link{z-index:9000;background:var(--accent);color:#0a0a0f;border-radius:var(--radius-md);padding:.5rem 1rem;font-size:.875rem;font-weight:700;text-decoration:none;position:absolute;top:-9999px;left:-9999px}.skip-link:focus{top:.5rem;left:.5rem}#app{min-height:100vh;display:flex}.app-layout{width:100%;height:100vh;display:flex;overflow:hidden}.app-sidebar{background:var(--bg-surface);border-right:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(12px);flex-direction:column;flex-shrink:0;width:280px;display:flex}.sidebar-toggle{z-index:200;background:var(--bg-surface);width:40px;height:40px;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:none;position:fixed;top:.75rem;left:.75rem}.sidebar-toggle:hover{background:var(--bg-elevated);border-color:var(--accent-border)}.sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-toggle svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;display:none;position:fixed;inset:0}.sidebar-overlay.is-open{display:block}.app-brand{padding:var(--space-lg);align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--border);display:flex}.app-brand-icon{background:linear-gradient(135deg, var(--accent), #818cf8);border-radius:var(--radius-sm);color:#fff;letter-spacing:-.5px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:flex}.app-brand-text{color:var(--text-primary);font-size:1.1rem;font-weight:700;line-height:1.2}.app-brand-text span{color:var(--text-muted);margin-top:2px;font-size:.75rem;font-weight:400;display:block}.sidebar-scroll{padding:var(--space-md);flex:1;overflow-y:auto}.patient-context{align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-lg);display:flex}.patient-avatar{background:var(--accent-glow);border:1px solid var(--accent-border);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.patient-avatar:after{content:"👤";font-size:14px}.patient-details{flex:1;min-width:0}.patient-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.patient-id{color:var(--text-muted);font-size:.7rem}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);padding:0 var(--space-sm);margin-bottom:var(--space-xs);font-size:.7rem;font-weight:600}.nav-item{align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:1px solid #0000;padding:10px 12px;font-size:.9rem;font-weight:500;display:flex}.nav-icon{color:currentColor;opacity:.7;width:18px;height:18px;transition:opacity var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-icon svg{width:18px;height:18px;display:block}.nav-item:hover{color:var(--text-primary);background:#ffffff0a}.nav-item.active{background:var(--accent-glow);color:var(--accent);border-color:var(--accent-border)}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{opacity:1}.nav-status-dot{opacity:0;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-left:auto;transition:opacity .2s,background .2s,box-shadow .2s;display:inline-block}.nav-status-dot--completed{opacity:1;background:#22c55e;box-shadow:0 0 6px #22c55e59}.nav-status-dot--in_progress{opacity:1;background:#f59e0b}.nav-status-dot--needs_review{opacity:1;background:#f97316}.nav-status-dot--empty{opacity:0}.app-main{background:var(--bg-base);flex:1;height:100%;position:relative;overflow-y:auto}.app-content{padding:var(--space-xl);width:100%;max-width:1400px;min-height:100%;margin:0 auto}.sidebar-footer{padding:var(--space-md);border-top:1px solid var(--border);color:var(--text-dim);text-align:center;font-size:.75rem}.build-release-chip{color:var(--text-secondary);text-align:center;background:#14b8a61a;border:1px solid #14b8a63d;border-radius:999px;justify-content:center;align-items:center;min-height:24px;margin-top:6px;padding:4px 10px;font-size:.72rem;line-height:1.2;display:inline-flex}.user-session-row{border-top:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;gap:.75rem;margin-top:8px;padding:8px 0;font-size:.75rem;display:flex}.user-session-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:170px;overflow:hidden}.sign-out-btn{color:#fff;border-radius:var(--radius-sm,4px);cursor:pointer;letter-spacing:.01em;background:#ef444429;border:1px solid #ef4444;flex:none;padding:6px 12px;font-size:.8rem;font-weight:800}.sign-out-btn:hover,.sign-out-btn:focus-visible{color:#fff;background:#ef4444;border-color:#ef4444}.kol-badge{color:#000;vertical-align:middle;background:#f59e0b;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:.6rem;font-weight:700}@media (width<=768px){.sidebar-toggle{display:flex}.app-sidebar{inset-block:0;z-index:100;transition:transform var(--transition-slow);position:fixed;left:0;transform:translate(-100%)}.app-sidebar.is-open{transform:translate(0)}.app-main{padding-top:3.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.privacy-control{margin-bottom:var(--space-sm);border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff14;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.privacy-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.privacy-toggle__copy{text-align:left;flex-direction:column;gap:3px;min-width:0;display:flex}.privacy-toggle__title{color:var(--text-primary);font-size:.8rem;font-weight:700}.privacy-toggle__hint{color:var(--text-muted);font-size:.68rem;line-height:1.4}.privacy-toggle__switch{flex-shrink:0;position:relative}.privacy-toggle__switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.privacy-toggle__track{width:46px;height:26px;transition:background var(--transition-fast), border-color var(--transition-fast);background:#ffffff1f;border:1px solid #ffffff29;border-radius:999px;align-items:center;padding:3px;display:inline-flex}.privacy-toggle__track:after{content:"";width:18px;height:18px;transition:transform var(--transition-fast), background var(--transition-fast);background:#e2e8f0;border-radius:50%;display:block;box-shadow:0 1px 4px #00000052}.privacy-toggle__switch input:checked+.privacy-toggle__track{background:#f59e0b3d;border-color:#f59e0b57}.privacy-toggle__switch input:checked+.privacy-toggle__track:after{background:#f8fafc;transform:translate(20px)}.privacy-toggle__switch input:focus-visible+.privacy-toggle__track{outline:2px solid var(--accent);outline-offset:2px}.privacy-indicator,.privacy-nav-badge{letter-spacing:.01em;border-radius:999px;justify-content:center;align-items:center;min-height:24px;font-size:.7rem;font-weight:700;display:inline-flex}.privacy-indicator{color:var(--text-muted);background:#ffffff0a;padding:0 10px}.privacy-indicator[data-state=active],.privacy-nav-badge{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b38}.privacy-nav-badge[hidden]{display:none}.stub-container{text-align:center;min-height:60vh;padding:var(--space-xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.stub-icon{margin-bottom:var(--space-md);opacity:.8;font-size:3rem}.stub-container h2{color:var(--text-primary);margin-bottom:var(--space-sm)}.stub-container p{color:var(--text-muted);max-width:400px}.app-footer{padding:var(--space-md) var(--space-xl);border-top:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.app-footer a{color:var(--text-muted);font-weight:500}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:500}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:50px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-normal{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-alert{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-critical{background:var(--critical-bg);color:#fca5a5;border:1px solid var(--critical-border)}.kol-readonly-indicator{color:#333;white-space:nowrap;background:#ffc107;border-radius:9999px;align-items:center;gap:4px;margin-left:.5rem;padding:2px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.nav-item--blocked{opacity:.45;cursor:not-allowed;pointer-events:none}.badge-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.badge-normal .badge-dot{background:var(--success)}.badge-warning .badge-dot{background:var(--warning)}.badge-alert .badge-dot{background:var(--danger)}.badge-critical .badge-dot{background:#fca5a5}.metric-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1}.metric-unit{color:var(--text-muted);margin-left:4px;font-size:.85rem;font-weight:400}.metric-range{margin-top:var(--space-sm);color:var(--text-dim);font-size:.75rem}.range-bar{background:var(--bg-elevated);height:4px;margin-top:var(--space-sm);border-radius:2px;position:relative;overflow:visible}.range-bar-fill{height:100%;transition:width var(--transition-slow);border-radius:2px;position:absolute}.range-bar-marker{border:2px solid var(--bg-base);width:12px;height:12px;transition:left var(--transition-slow);border-radius:50%;position:absolute;top:-4px;transform:translate(-50%)}.range-bar-fill.status-normal{background:var(--success)}.range-bar-fill.status-warning{background:var(--warning)}.range-bar-fill.status-alert{background:var(--danger)}.range-bar-fill.status-critical{background:#991b1b}.range-bar-marker.status-normal{background:var(--success)}.range-bar-marker.status-warning{background:var(--warning)}.range-bar-marker.status-alert{background:var(--danger)}.range-bar-marker.status-critical{background:#991b1b}.grid-2{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.grid-settings{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.upload-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);text-align:center;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.upload-zone:before{content:"";background:linear-gradient(135deg, var(--accent-glow), transparent);opacity:0;transition:opacity var(--transition-base);position:absolute;inset:0}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:#3b82f60a}.upload-zone:hover:before,.upload-zone.drag-over:before{opacity:1}.upload-zone.drag-over{box-shadow:var(--shadow-glow);transform:scale(1.01)}.upload-zone:active{border-color:var(--accent-hover);transform:scale(.99)}.upload-zone:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.upload-zone.error{border-color:var(--danger);background:var(--danger-bg)}.upload-icon{margin-bottom:var(--space-md);opacity:.7;font-size:3rem;display:block}.upload-title{color:var(--text-primary);margin-bottom:var(--space-xs);font-size:1.15rem;font-weight:600}.upload-subtitle{color:var(--text-muted);font-size:.85rem}.upload-error{color:var(--danger);margin-top:var(--space-sm);font-size:.85rem;font-weight:500}.file-info{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-md);text-align:left;display:flex}.file-info-icon{background:var(--accent-glow);border:1px solid var(--accent-border);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.file-info-details{flex:1;min-width:0}.file-info-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.file-info-meta{color:var(--text-muted);margin-top:2px;font-size:.75rem}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;padding:10px 24px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{color:#e2e8f0;background:#1e3a5f;border:1px solid #2a4a72;box-shadow:0 1px 3px #1e3a5f66}.btn-primary:hover{background:#264d73;border-color:#3a6b96;transform:translateY(-1px);box-shadow:0 4px 12px #1e3a5f80}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary:active:not(:disabled){transform:translateY(0)scale(.97);box-shadow:0 1px 2px #1e3a5f59}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid #94a3b859}.btn-secondary:hover{color:var(--text-primary);background:#ffffff14;border-color:#94a3b88c}.btn-secondary:active{border-color:#94a3b8a6;transform:scale(.97)}.btn-destructive{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-strong)}.btn-destructive:hover{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.btn-destructive:active{transform:scale(.97)}.dashboard-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.dashboard-actions{gap:var(--space-sm);align-items:center;display:flex}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);font-size:.8rem;font-weight:600;display:flex}.section-divider{background:var(--border);flex:1;height:1px}.patient-info{gap:var(--space-md) var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.patient-field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:.72rem;font-weight:500}.patient-field-value{color:var(--text-primary);font-size:.95rem;font-weight:500}.patient-field-value--muted{color:var(--text-muted);font-style:italic}.artic-grid{background:var(--border);border-radius:var(--radius-md);grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid;overflow:hidden}.artic-cell{background:var(--bg-card);padding:var(--space-md);text-align:center}.artic-cell.header{background:var(--bg-elevated);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-sm) var(--space-md);font-size:.72rem;font-weight:600}.artic-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600}.artic-label{color:var(--text-dim);margin-top:2px;font-size:.72rem}.finding-card{padding:var(--space-md);align-items:flex-start;gap:var(--space-md);display:flex}.finding-indicator{border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.finding-indicator.status-normal{background:var(--success)}.finding-indicator.status-warning{background:var(--warning)}.finding-indicator.status-alert{background:var(--danger)}.finding-indicator.status-critical{background:#991b1b}.finding-content{flex:1;min-width:0}.finding-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:4px;display:flex}.finding-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.finding-note{color:var(--text-muted);font-size:.8rem;line-height:1.5}.severity-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:50px;align-items:center;gap:8px;padding:8px 18px;font-size:.85rem;font-weight:700;display:inline-flex}.severity-pill.severity-normal{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.severity-pill.severity-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.severity-pill.severity-alert{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.severity-pill.severity-critical{background:var(--critical-bg);color:#fca5a5;border:1px solid var(--critical-border)}.dashboard-privacy-pill{color:#f59e0b;letter-spacing:.01em;background:#f59e0b1f;border:1px solid #f59e0b38;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}#viewer-container{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);min-height:300px;color:var(--text-dim);background:#00000026;justify-content:center;align-items:center;font-size:.85rem;display:flex}.case-select{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;outline:none;padding:8px 32px 8px 14px;font-size:.82rem;font-weight:500}.case-select:hover{border-color:var(--text-dim);background-color:var(--bg-card-hover)}.case-select:focus{border-color:var(--accent)}.case-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=1024px){.app-content{padding:var(--space-md)}.grid-4,.grid-3,.grid-settings{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.app-header{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);flex-direction:column}.app-content{padding:var(--space-sm)}.grid-4,.grid-3,.grid-2,.grid-settings{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:flex-start}.patient-info{grid-template-columns:1fr 1fr}.artic-grid{grid-template-columns:1fr 1fr 1fr;font-size:.85rem}.card{padding:var(--space-md)}.metric-value{font-size:1.5rem}.app-footer{gap:var(--space-xs);text-align:center;flex-direction:column}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}.btn-loading{pointer-events:none;position:relative;color:#0000!important}.btn-loading:after{content:"";border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;position:absolute}.animate-in{animation:fadeIn .4s var(--transition-slow) both}.animate-pulse{animation:2s ease-in-out infinite pulse}.stagger-children>*{animation:.35s both fadeIn}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.nav-tab--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.nav-tab:disabled{opacity:.35;cursor:not-allowed}.gate-toast{bottom:var(--space-xl);align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--warning-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;color:var(--text-primary);font-size:.9rem;animation:.3s ease-out gate-toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%)}.gate-toast__icon{font-size:1.2rem}.gate-toast__text{font-weight:500}@keyframes gate-toast-in{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.analysis-overlay{justify-content:center;align-items:center;gap:var(--space-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius-md);z-index:50;background:#0f1116e0;flex-direction:column;animation:.3s ease-out fadeIn;display:flex;position:absolute;inset:0}.analysis-spinner{border:3px solid #63b3ed26;border-top-color:var(--accent-blue);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.analysis-stage{color:var(--text-primary);text-align:center;font-size:.95rem;font-weight:500}.analysis-percent{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.progress-bar{background:#ffffff14;border-radius:2px;width:200px;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-blue), var(--accent-purple,#a78bfa));border-radius:2px;width:0%;height:100%;transition:width .4s}.error-boundary{justify-content:center;align-items:center;gap:var(--space-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);z-index:20;padding:var(--space-xl);background:#0f172af2;flex-direction:column;animation:.3s fadeIn;display:flex;position:absolute;inset:0}.error-boundary-icon{font-size:2.5rem;line-height:1}.error-boundary-title{color:#ef4444;font-size:1.1rem;font-weight:600}.error-boundary-msg{color:var(--text-secondary);text-align:center;max-width:400px;font-size:.88rem;line-height:1.5}.error-boundary-details-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:.78rem;transition:background .15s}.error-boundary-details-btn:hover{background:#ffffff0f}.error-boundary-details{color:var(--text-dim);padding:var(--space-sm);white-space:pre-wrap;word-break:break-word;background:#0000004d;border:1px solid #ffffff0f;border-radius:6px;max-width:400px;max-height:120px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.72rem;overflow:auto}.demographics-section{margin-top:var(--space-md);text-align:left;background:var(--bg-elevated);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.demographics-section h4{margin-top:0;margin-bottom:var(--space-xs);font-size:.95rem}.demographics-section .hint{color:var(--text-muted);margin-bottom:var(--space-sm);font-size:.78rem}.demographics-grid{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.demographics-grid label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.demographics-grid select,.demographics-grid input[type=number]{border:1px solid var(--border-color);border-radius:var(--radius-sm,4px);background:var(--bg-card);color:var(--text-primary);padding:6px 10px;font-family:inherit;font-size:.85rem}.demographics-grid select:focus,.demographics-grid input[type=number]:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #63b3ed26}.panel-section{padding:var(--space-lg);animation:.3s fadeIn}.panel-title{color:var(--text-primary);margin:0 0 var(--space-xs) 0;letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.panel-desc{color:var(--text-muted);margin:0 0 var(--space-md) 0;font-size:.82rem;line-height:1.5}.sub-panel{margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);scroll-margin-top:80px}.sub-panel:hover{border-color:var(--border-strong)}.sub-panel h4{color:var(--text-secondary);margin:0 0 var(--space-md) 0;letter-spacing:.01em;font-size:.85rem;font-weight:600}.form-grid{gap:var(--space-md);margin-top:var(--space-sm);display:grid}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.82rem;font-weight:600}.form-label .text-error{color:var(--danger)}.form-input{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);box-sizing:border-box;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:.88rem}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-input::placeholder{color:var(--text-dim)}.imaging-report{border-left:3px solid var(--accent)}.imaging-report__header,.imaging-report__actions{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.imaging-report__actions{margin-top:var(--space-md);flex-wrap:wrap;justify-content:flex-end}.imaging-report__meta{color:var(--text-secondary);font-size:.82rem}.imaging-report__narrative,.imaging-report__clinician-notes,.imaging-report__advanced,.imaging-report__preview,.imaging-report__list-block{margin-top:var(--space-md)}.imaging-report__evidence-grid{gap:var(--space-md);margin-top:var(--space-md);grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);display:grid}.imaging-report__source-list,.imaging-report__priority-list{gap:var(--space-xs);display:grid}.imaging-report__source-card,.imaging-report__priority-row{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-elevated);padding:var(--space-sm)}.imaging-report__source-card{gap:var(--space-xs);display:grid}.imaging-report__source-preview-frame{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg);place-items:center;min-height:120px;max-height:240px;display:grid;overflow:hidden}.imaging-report__source-preview-frame.is-enlarged{max-height:420px}.imaging-report__source-preview-frame.is-fullscreen{min-height:min(70vh,640px);max-height:min(70vh,640px)}.imaging-report__source-thumbnail{object-fit:contain;width:100%;max-height:240px;display:block}.imaging-report__source-preview-frame.is-fit .imaging-report__source-thumbnail{width:auto;max-width:100%}.imaging-report__source-preview-frame.is-enlarged .imaging-report__source-thumbnail,.imaging-report__source-preview-frame.is-fullscreen .imaging-report__source-thumbnail{max-height:100%}.imaging-report__source-preview-actions{gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.imaging-report__source-preview summary,.imaging-report__advanced summary{cursor:pointer;color:var(--text-secondary);font-size:.85rem;font-weight:600}.imaging-report__thumbnail-toggle{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:.78rem;display:flex}.imaging-report__priority-row{gap:4px var(--space-sm);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}.imaging-report__priority-row small{color:var(--text-muted);grid-column:1/-1}.imaging-report__conflict-chip{border:1px solid var(--warning);border-radius:var(--border-radius-sm);color:var(--warning);text-transform:uppercase;justify-self:start;padding:2px 6px;font-size:.72rem;font-weight:700}.imaging-report__conflict-detail{color:var(--warning);grid-column:1/-1}.imaging-report__source-assignment-list{gap:var(--space-xs);margin-top:var(--space-xs);display:grid}.imaging-report__source-assignment-row{gap:var(--space-xs);color:var(--text-secondary);grid-template-columns:minmax(0,1fr) minmax(160px,.6fr);align-items:center;font-size:.82rem;display:grid}.imaging-report__preview ol{margin:4px 0 0 18px}.imaging-report__boxes{gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.imaging-report__box{flex-direction:column;gap:4px;font-size:.82rem;display:flex}.imaging-report__box small,.imaging-report__export-hint{color:var(--text-muted)}.imaging-report__export-status{margin-top:var(--space-sm)}.imaging-report__export-status--success{color:var(--success)}.imaging-report__export-status--error{color:var(--danger)}.imaging-report__list-block ul{margin:4px 0 0 18px;padding:0}.imaging-report__list-block li{color:var(--text-secondary);font-size:.82rem;line-height:1.5}@media (width<=768px){.imaging-report__evidence-grid,.imaging-report__boxes,.imaging-report__source-assignment-row{grid-template-columns:1fr}.imaging-report__header{flex-direction:column}}input[type=number].form-input{font-variant-numeric:tabular-nums;appearance:textfield}input[type=number].form-input::-webkit-inner-spin-button{opacity:1}input[type=number].form-input::-webkit-outer-spin-button{opacity:1}select.form-input{appearance:auto;cursor:pointer}textarea.form-input{resize:vertical;min-height:60px;line-height:1.5}.form-input.border-warning,.form-input.extracted-pending{border:2px solid var(--warning);background:var(--warning-bg)}.pending-extraction .help-text{color:var(--warning);margin-top:4px;font-size:.7rem}.score-card{padding:var(--space-md) var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.score-card:hover{border-color:var(--border-strong)}.score-card--blue{border-left:4px solid var(--accent)}.score-card--green{border-left:4px solid var(--success)}.score-card--amber{border-left:4px solid var(--warning)}.score-card h4{color:var(--text-muted);margin:0 0 var(--space-sm) 0;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.score-card .score-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.score-card .score-detail{color:var(--text-dim);margin-top:4px;font-size:.75rem}.module-header{z-index:20;background:var(--bg-base);padding:var(--space-lg);justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;padding-bottom:0;display:flex;position:sticky;top:0}.module-header h2{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:700}.module-header .module-subtitle{color:var(--text-muted);margin-top:2px;font-size:.82rem}.module-header-actions{align-items:center;gap:var(--space-sm);display:flex}.status-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:50px;padding:3px 10px;font-size:.68rem;font-weight:700}.status-badge--empty{color:var(--text-dim);background:#ffffff0f}.status-badge--in-progress,.status-badge--in_progress{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.status-badge--completed{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.alert{padding:var(--space-md);border-radius:var(--radius-md);margin:var(--space-md) var(--space-lg);font-size:.85rem;line-height:1.5}.alert-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.alert-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.alert-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.btn-save{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast);border:none;padding:8px 20px;font-size:.85rem;font-weight:600}.btn-save:hover{background:var(--accent-hover);box-shadow:0 0 12px var(--accent-glow)}.btn-save:active{transform:scale(.97)}.page-nav{padding:var(--space-md) var(--space-lg);margin-top:var(--space-xl);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.page-nav-spacer{min-width:110px;display:inline-block}.page-nav-btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-strong);color:var(--text-secondary);background:0 0;align-items:center;gap:6px;padding:10px 24px;font-size:.88rem;font-weight:600;display:inline-flex}.page-nav-btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--text-primary);background:var(--accent-glow)}.page-nav-btn--next{background:var(--accent);color:#000;border-color:var(--accent)}.page-nav-btn--next:hover:not(:disabled){color:#000;background:#33f5ff;border-color:#33f5ff}.page-nav-btn--disabled,.page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.axis2-toc{padding:var(--space-sm) 0 var(--space-md);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-md);flex-wrap:wrap;gap:8px;display:flex}.axis2-toc a{color:var(--text-secondary);border:1px solid var(--border-subtle);transition:all var(--transition-fast);border-radius:50px;align-items:center;padding:4px 12px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.axis2-toc a:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-glow)}.cmd-question-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:1rem;padding:.75rem 0;display:flex}.cmd-question-num{background:var(--bg-elevated);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:inline-flex}.cmd-question-body{flex:1}.cmd-question-label{color:var(--text-primary);font-weight:500}.cmd-question-hint{color:var(--text-tertiary);margin-top:2px;font-size:.75rem}.cmd-btn-group{flex-shrink:0;gap:.5rem;display:flex}.cmd-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem 1rem;font-weight:500;transition:all .15s}.cmd-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.cmd-btn-active-yes{color:#ef4444;background:#ef444426;border-color:#ef4444}.cmd-btn-active-no{color:#22c55e;background:#22c55e26;border-color:#22c55e}@media print{*,:before,:after{color:#1a1a1a!important;box-shadow:none!important;text-shadow:none!important;background:#fff!important}.app-header,.app-footer,.app-nav,#viewer-container,#movement-select,.dashboard-actions,.gate-toast,.analysis-overlay,.upload-wrapper{display:none!important}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr 1fr!important}.card{break-inside:avoid;page-break-inside:avoid;border:1px solid #ddd!important;margin-bottom:12px!important}.badge-normal{color:#16a34a!important;border-color:#16a34a!important}.badge-warning{color:#d97706!important;border-color:#d97706!important}.badge-alert{color:#dc2626!important;border-color:#dc2626!important}.severity-pill{border:1px solid!important}.range-bar{border:1px solid #ccc!important}.range-bar-fill{opacity:.7!important}.app-content{max-width:none!important;padding:0!important}.app-content:before{content:"DFA Screening Report - Printed " attr(data-print-date);border-bottom:1px solid #ccc;margin-bottom:16px;padding-bottom:8px;font-size:10pt;display:block;color:#666!important}}.emg-entry-section{margin-bottom:var(--space-md)}.emg-entry-table{background:var(--border);border-radius:var(--radius-md);grid-template-columns:120px 1fr 1fr;gap:1px;display:grid;overflow:hidden}.emg-entry-header{background:var(--bg-elevated);padding:var(--space-sm) var(--space-md);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;font-size:.72rem;font-weight:600}.emg-entry-muscle{background:var(--bg-card);padding:var(--space-md);color:var(--text-primary);align-items:center;font-size:.88rem;font-weight:600;display:flex}.emg-entry-cell{background:var(--bg-card);padding:var(--space-sm) var(--space-md);flex-direction:column;gap:4px;display:flex}@media print{.no-print,.emg-3d-viewer__scanline,.emg-print-btn,.upload-panel,.emg-3d-viewer__hotspots,#emg_upload_section,#emg_tab_upload,#emg_tab_manual,.btn-save{display:none!important}.emg-dashboard,.emg-electrophys,.emg-3d-viewer{break-inside:avoid;page-break-inside:avoid;border:1px solid #ccc!important;margin-bottom:12px!important}.emg-gauge__fill,.emg-finding__dot,.emg-finding__badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.emg-hint{color:var(--text-dim);font-size:.68rem}.emg-status-dot{width:8px;height:8px;transition:background var(--transition-fast);border-radius:50%;flex-shrink:0;box-shadow:0 0 6px}.emg-status-pill{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.emg-thermometer-row{gap:var(--space-md);margin-top:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}.emg-thermometer{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.emg-therm-track{border:1px solid var(--border-strong);background:var(--bg-card);border-radius:16px;flex-direction:column-reverse;width:32px;height:160px;display:flex;position:relative;overflow:visible}.emg-therm-zone{width:100%;transition:height var(--transition-base)}.emg-therm-green{background:#10b98133;border-radius:0 0 16px 16px}.emg-therm-yellow{background:#f59e0b33}.emg-therm-red{background:#ef444433;border-radius:16px 16px 0 0}.emg-therm-marker{height:4px;transition:bottom var(--transition-slow), background var(--transition-fast);z-index:2;border-radius:2px;position:absolute;left:-6px;right:-6px;box-shadow:0 0 8px}.emg-therm-marker-label{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem;font-weight:700;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.emg-therm-tick{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.62rem;position:absolute;left:calc(100% + 6px);transform:translateY(50%)}.emg-therm-footer{text-align:center;flex-direction:column;gap:2px;display:flex}.emg-therm-muscle{color:var(--text-secondary);font-size:.72rem;font-weight:600}.emg-symmetry-bars{gap:var(--space-md);flex-direction:column;display:flex}.emg-sym-row{align-items:center;gap:var(--space-md);grid-template-columns:100px 1fr 120px;display:grid}.emg-sym-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.emg-sym-track{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:12px;height:24px;position:relative;overflow:visible}.emg-sym-green-zone{background:#10b98126;border-radius:12px;position:absolute;top:0;bottom:0}.emg-sym-center{background:var(--text-dim);opacity:.5;border-radius:1px;width:2px;position:absolute;top:2px;bottom:2px;left:50%;transform:translate(-50%)}.emg-sym-marker{width:14px;height:14px;transition:left var(--transition-slow), background var(--transition-fast);border:2px solid var(--bg-base);z-index:2;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px}.emg-sym-scale{color:var(--text-dim);font-size:.6rem;position:absolute;top:calc(100% + 4px)}.emg-sym-scale-left{left:4px}.emg-sym-scale-right{right:4px}.emg-sym-value{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.emg-radar-container{justify-content:center;align-items:center;min-height:280px;display:flex;position:relative}.emg-radar-svg{width:100%;max-width:300px;height:auto}.emg-radar-ring{fill:none;stroke:var(--border);stroke-width:.5px}.emg-radar-axis{stroke:var(--border-strong);stroke-width:.5px}.emg-radar-label{fill:var(--text-muted);dominant-baseline:middle;font-size:9px;font-weight:600}.emg-radar-normal-zone{fill:#10b9811f;stroke:var(--success);stroke-width:1.5px;stroke-dasharray:4 2}.emg-radar-patient{fill:#3b82f626;stroke:var(--accent);stroke-width:2px;transition:all var(--transition-slow)}.emg-radar-dot{fill:var(--accent);stroke:var(--bg-base);stroke-width:1.5px}.emg-radar-dot-alert{fill:var(--danger);stroke:var(--bg-base)}.emg-radar-empty{text-align:center;color:var(--text-dim);font-size:.82rem;position:absolute}@media (width<=768px){.emg-entry-table{grid-template-columns:90px 1fr 1fr}.emg-thermometer-row{grid-template-columns:repeat(2,1fr)}.emg-sym-row{grid-template-columns:80px 1fr 100px}}@media print{.emg-therm-zone{opacity:.5!important}.emg-radar-normal-zone{stroke:#16a34a!important}.emg-radar-patient{stroke:#2563eb!important}}.hud-panel{-webkit-backdrop-filter:blur(12px);border-radius:var(--border-radius-lg);padding:var(--space-md);background:#0f172a66;border:1px solid #00f0ff33;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #00000080,inset 0 0 15px #00f0ff0d}.hud-panel:before{content:"";background:linear-gradient(90deg,#0000,#00f0ffcc,#0000);height:1px;position:absolute;top:0;left:0;right:0}.neon-text-cyan{color:#00f0ff;text-shadow:0 0 8px #00f0ff99;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}.neon-text-red{color:#ef4444;text-shadow:0 0 8px #ef444499;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}.neon-text-yellow{color:#fbbf24;text-shadow:0 0 8px #fbbf2499;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:600}.hud-value-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:2px;font-size:.65rem}.hud-value{font-size:1.5rem;line-height:1.2}.hud-unit{color:var(--text-muted);margin-left:2px;font-size:.8rem}@keyframes pulse-node{0%{r:4;opacity:1;filter:drop-shadow(0 0 2px #00f0ff)}50%{r:6;opacity:.8;filter:drop-shadow(0 0 8px #00f0ff)}to{r:4;opacity:1;filter:drop-shadow(0 0 2px #00f0ff)}}.anim-pulse-node{animation:2s ease-in-out infinite pulse-node}@keyframes draw-line{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}.anim-draw-line{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:2s ease-out forwards draw-line}@keyframes scanline{0%{opacity:0;transform:translateY(-100%)}10%{opacity:.1}90%{opacity:.1}to{opacity:0;transform:translateY(100%)}}.hud-container{border-radius:var(--border-radius-xl);background:radial-gradient(circle,#0f172a 0%,#020617 100%);border:1px solid #ffffff0d;position:relative;overflow:hidden}.hud-container:after{content:"";pointer-events:none;z-index:10;background:linear-gradient(#0000 50%,#00f0ff08 50%) 0 0/100% 4px;position:absolute;inset:0}.hud-scanline{opacity:.1;pointer-events:none;z-index:11;background:#00f0ff;height:2px;animation:8s linear infinite scanline;position:absolute;top:0;left:0;right:0;box-shadow:0 0 20px 2px #00f0ff}.no-print{visibility:visible}.emg-input-wrap{align-items:center;gap:var(--space-sm);display:flex}.emg-number-input{font-variant-numeric:tabular-nums;max-width:120px}.emg-unit{color:var(--text-dim);white-space:nowrap;font-size:.75rem;font-weight:500}@media print{.no-print,.emg-3d-viewer__scanline,.emg-print-btn,.upload-panel,.module-header-actions button:not(#btn_save_emg),.emg-3d-viewer__hotspots .emg-hotspot__area,#emg_upload_section,#emg_tab_upload,#emg_tab_manual,.btn-save,.hud-scanline,canvas{display:none!important}body{font-size:11pt;color:#111!important;background:#fff!important}.emg-dashboard,.emg-electrophys,.emg-3d-viewer,.emg-lissajous-panel,.emg-findings,.emg-compass{break-inside:avoid;page-break-inside:avoid;color:#111!important;background:#fff!important;border:1px solid #ccc!important;margin-bottom:12px!important}.emg-gauge__fill,.emg-finding__dot,.emg-finding__badge,.emg-finding__badge--normal,.emg-finding__badge--mild,.emg-finding__badge--moderate,.emg-finding__badge--severe,.emg-red-flag,.emg-cross-modal{-webkit-print-color-adjust:exact;print-color-adjust:exact}.module-header{border-bottom:2px solid #333!important;margin-bottom:16px!important}}.emg-device-selector{padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.emg-device-selector__select{width:100%;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%2394a3b8' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:8px 32px 8px 12px;font-size:.85rem;font-weight:500}.emg-device-selector__select:hover{border-color:var(--accent-primary,var(--accent))}.emg-device-selector__select:focus{border-color:var(--accent-primary,var(--accent));outline:none;box-shadow:0 0 0 2px #3b82f640}.degradation-banner{padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-xl);background:#f59e0b14;border:1px solid #f59e0b59;border-radius:12px}.degradation-header{color:#f59e0b;margin-bottom:var(--space-sm);align-items:flex-start;gap:8px;font-size:.88rem;line-height:1.5;display:flex}.degradation-header-icon{flex-shrink:0;margin-top:1px;font-size:1.1rem}.degradation-list{border-left:2px solid #f59e0b33;flex-direction:column;gap:6px;margin-left:4px;padding-left:20px;display:flex}.degradation-row{color:var(--text-secondary,var(--text-muted));align-items:flex-start;gap:6px;font-size:.8rem;line-height:1.45;display:flex}.degradation-row strong{color:var(--text-primary);font-weight:600}.degradation-icon{color:#f59e0b;flex-shrink:0;margin-top:2px;font-size:.75rem}.degradation-reason{color:var(--text-muted);font-size:.76rem;display:block}.degradation-footer{margin-top:var(--space-sm);color:var(--text-dim,var(--text-muted));font-size:.75rem;font-style:italic}.emg-device-selector__select option{background:var(--bg-card);color:var(--text-primary)}.emg-device-selector__hint{min-height:1.2em}@media print{.emg-device-selector{display:none!important}}@keyframes pulse-ring{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.3;transform:scale(1.15)}}.anim-pulse-ring{pointer-events:none;animation:2s ease-in-out infinite pulse-ring}.emg-action-btn{color:#0a0a0f;cursor:pointer;letter-spacing:.02em;background:#00f0ff;border:none;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:.7rem;font-weight:600;transition:box-shadow .2s,transform .15s;display:inline-flex}.emg-action-btn:hover{transform:translateY(-1px);box-shadow:0 0 12px #00f0ff80}.emg-action-btn--ghost{color:#00f0ff;background:0 0;border:1px solid #00f0ff4d}.emg-action-btn--ghost:hover{background:#00f0ff14;border-color:#00f0ff99}.hud-anatomy-hero{perspective:1200px}.hud-flip-container{width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.25,.46,.45,.94);position:relative}.hud-flip-container.flipped{transform:rotateY(180deg)}.hud-flip-face{backface-visibility:hidden;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hud-flip-face--back{transform:rotateY(180deg)}.hud-flip-btn{z-index:5;letter-spacing:.08em;text-transform:uppercase;color:#00f0ff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border:1px solid #00f0ff33;border-radius:20px;padding:4px 16px;font-size:.65rem;font-weight:600;transition:border-color .2s,box-shadow .2s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hud-flip-btn:hover{border-color:#00f0ff99;box-shadow:0 0 10px #00f0ff33}.hud-glass-panel{-webkit-backdrop-filter:blur(12px);background:#1f1f2573;border:1px solid #00f0ff1a;border-radius:2px;padding:12px 14px;box-shadow:0 4px 12px #0006}.hud-glass-label{text-transform:uppercase;letter-spacing:.12em;color:#849495;font-size:.625rem}.hud-glass-sublabel{color:#849495;font-size:.6rem}.hud-glass-value{color:#fff;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:900}.hud-glass-unit{color:#849495;margin-left:2px;font-size:.55rem;font-weight:500}.hud-severity-badge{letter-spacing:.05em;border-radius:2px;margin-top:4px;padding:2px 8px;font-size:.5rem;font-weight:600;display:inline-block}.hud-badge--normal{color:#43e2d2;background:#43e2d233}.hud-badge--mild{color:#eedc5b;background:#eedc5b33}.hud-badge--moderate{color:orange;background:#ffa50033}.hud-badge--severe{color:#ffb4ab;background:#ffb4ab33}.emg-calibration-badge{margin-top:var(--space-sm);border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;font-weight:500;display:flex}.emg-calibration-badge--good{color:#22c55e;background:#22c55e14;border:1px solid #22c55e33}.emg-calibration-badge--warn{color:#eab308;background:#eab30814;border:1px solid #eab30833}.emg-confidence-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.emg-confidence-dot--high{background:#22c55e}.emg-confidence-dot--medium{background:#eab308}.emg-confidence-dot--low{background:#ef4444}.emg-confidence-legend{color:var(--text-dim);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid #ffffff0a;gap:12px;font-size:.65rem;display:flex}@media print{.emg-action-btn,.hud-flip-btn{display:none!important}}.admin-support-readonly-banner{color:var(--text-primary);margin-bottom:var(--space-md);background:#d9770629;border:1px solid #d9770673;border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.beta-feedback-trigger,.beta-feedback-button{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;font:inherit;border-radius:6px;padding:.45rem .65rem}.beta-feedback-trigger{width:100%}.beta-feedback-trigger__status{color:var(--text-muted);margin:.35rem 0 0;font-size:.78rem;line-height:1.35}.beta-feedback-button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.beta-feedback-modal{z-index:10000;background:#0f172ab8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.beta-feedback-modal__dialog{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;width:100%;max-width:440px;padding:1rem}.beta-feedback-modal__dialog label{margin-top:.75rem;display:block}.beta-feedback-modal select{background:var(--bg-elevated);border:1px solid var(--border-color);box-sizing:border-box;color:var(--text-primary);border-radius:6px;width:100%;margin-top:.35rem;padding:.5rem;display:block}.beta-feedback-modal__actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.beta-feedback-modal__status{color:var(--text-muted);min-height:1.25rem}.beta-feedback-modal__status[data-feedback-status-tone=success]{color:var(--success)}.beta-feedback-modal__status[data-feedback-status-tone=error]{color:var(--danger)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#f7f8fa;--bg-surface:#fff;--bg-card:#f1f4f8;--bg-card-hover:#e7ecf3;--bg-elevated:#fff;--bg-recessed:#e9eef4;--accent:#0891b2;--accent-hover:#0e7490;--accent-glow:#0891b21a;--accent-border:#0891b238;--accent-gradient:linear-gradient(135deg, #0891b2, #0d9488);--secondary:#0d9488;--secondary-bg:#0d94881a;--text-primary:#0b1220;--text-secondary:#2e3a4d;--text-muted:#5a6b80;--text-dim:#94a3b8;--border:#0f172a0f;--border-strong:#0f172a1f;--border-color:#0f172a1a;--glass-bg:#ffffffb8;--glass-blur:16px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a0f;--shadow-lg:0 16px 48px #0f172a1a;--shadow-glow:0 0 32px #0891b20f}:where(button,[role=button],a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.sidebar-nav{position:relative}.sidebar-nav:before{content:"";background:linear-gradient(180deg, transparent, var(--border-strong) 20%, var(--border-strong) 80%, transparent);opacity:.6;pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:-2px}.nav-group-label{z-index:2;background:linear-gradient(180deg, var(--bg-surface) 75%, transparent);padding-top:10px;padding-bottom:6px;position:sticky;top:0}.case-progress{margin:var(--space-md) var(--space-md) 0;border:1px solid var(--accent-border);border-radius:var(--radius-md);background:linear-gradient(#00f0ff0d,#00f0ff05);padding:12px 14px;font-size:.78rem}:root[data-theme=light] .case-progress{background:linear-gradient(#0891b20f,#0891b205)}.case-progress__row{color:var(--text-secondary);justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.case-progress__label{letter-spacing:.02em;font-weight:500}.case-progress__count{font-family:var(--font-mono);color:var(--accent);font-size:.74rem}.case-progress__track{background:var(--bg-recessed);border-radius:2px;height:4px;overflow:hidden}.case-progress__fill{background:var(--accent-gradient);will-change:width;width:0%;height:100%;transition:width .6s cubic-bezier(.2,.7,.2,1)}.case-progress__hint{color:var(--text-muted);margin-top:8px;font-size:.72rem;line-height:1.4}.case-progress__hint strong{color:var(--text-primary);font-weight:600}.nav-item{position:relative;overflow:hidden}.nav-item:after{content:"";height:2px;width:var(--nav-progress,0%);background:var(--accent);opacity:.7;pointer-events:none;transition:width .4s,background .2s,opacity .2s;position:absolute;bottom:0;left:0}.nav-item[data-uxr-status=completed]:after{opacity:.85;background:#22c55e}.nav-item[data-uxr-status=in_progress]:after{background:#f59e0b}.nav-item[data-uxr-status=needs_review]:after{background:#f97316}.nav-item.active:after{opacity:1}:root[data-density=compact]{--space-md:12px;--space-lg:18px;--space-xl:24px}:root[data-density=compact] .nav-item{padding:7px 10px;font-size:.84rem}:root[data-density=compact] .app-content{padding:18px}:root[data-density=compact] .report-shell__header{padding:14px 18px}:root[data-density=compact] .app-brand{padding:var(--space-md)}:root[data-density=compact] .patient-context{padding:6px 8px}.skeleton{background:linear-gradient(90deg, var(--bg-card) 0%, var(--bg-card-hover) 50%, var(--bg-card) 100%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.4s linear infinite skeleton-shimmer}.skeleton--line{height:14px;margin:8px 0}.skeleton--title{width:60%;height:26px;margin-bottom:12px}.skeleton--block{height:120px;margin-bottom:16px}.skeleton--chip{border-radius:100px;width:90px;height:22px;margin:4px 6px 0 0;display:inline-block}.skeleton-stack>.skeleton:first-child{width:95%}.skeleton-stack>.skeleton:nth-child(2){width:80%}.skeleton-stack>.skeleton:nth-child(3){width:88%}.skeleton-stack>.skeleton:nth-child(4){width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.report-shell__header{z-index:12;transition:padding .2s,box-shadow .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;position:sticky;top:0}.report-shell__header[data-condensed=true]{padding:10px 18px;box-shadow:0 8px 24px #00000059}:root[data-theme=light] .report-shell__header[data-condensed=true]{box-shadow:0 8px 24px #0f172a14}.report-shell__header[data-condensed=true] .report-shell__eyebrow,.report-shell__header[data-condensed=true] .report-shell__runtime-media{display:none}@media (width>=1200px){.report-shell__page--with-toc{grid-template-columns:220px minmax(0,1fr);gap:32px;display:grid}.report-toc{background:var(--glass-bg);border:1px solid var(--border-strong);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));align-self:start;max-height:calc(100vh - 32px);padding:14px 12px;font-size:.82rem;position:sticky;top:16px;overflow-y:auto}.report-toc__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;padding:0 10px;font-size:.7rem}.report-toc a{border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast), border-left-color var(--transition-fast);border-left:2px solid #0000;padding:6px 10px;display:block}.report-toc a:hover{color:var(--text-primary);background:#ffffff08}:root[data-theme=light] .report-toc a:hover{background:#0f172a0a}.report-toc a.is-active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-glow)}}.kpi-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:14px 16px;transition:transform .2s,border-color .2s,box-shadow .2s}.kpi-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-card__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:.72rem}.kpi-card__value{font-family:var(--font-mono);color:var(--text-primary);margin-bottom:4px;font-size:1.6rem;font-weight:600;line-height:1}.kpi-card__delta{font-size:.72rem;font-family:var(--font-mono)}.kpi-card__delta--up{color:#22c55e}.kpi-card__delta--down{color:#ef4444}.metric-chip{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border-strong);background:#ffffff0a;border-radius:100px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;display:inline-flex}:root[data-theme=light] .metric-chip{background:#0f172a0a}.metric-chip--accent{color:var(--accent);border-color:var(--accent-border);background:var(--accent-glow)}.metric-chip--success{color:var(--success);border-color:var(--success-border);background:var(--success-bg)}.metric-chip--warning{color:var(--warning);border-color:var(--warning-border);background:var(--warning-bg)}.metric-chip--danger{color:var(--critical);border-color:var(--critical-border);background:var(--critical-bg)}.toast-stack{z-index:8000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;background:var(--bg-elevated);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius-md);min-width:280px;max-width:380px;box-shadow:var(--shadow-lg);color:var(--text-primary);grid-template-columns:1fr auto;align-items:start;gap:10px;padding:12px 14px;font-size:.86rem;animation:.24s cubic-bezier(.2,.7,.2,1) toast-in;display:grid}.toast--success{border-left-color:#22c55e}.toast--warning{border-left-color:var(--warning)}.toast--error{border-left-color:var(--critical)}.toast__close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:1.1rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.cmd-palette-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;background:#080c1499;justify-content:center;align-items:flex-start;padding-top:14vh;display:none;position:fixed;inset:0}.cmd-palette-backdrop.is-open{display:flex}.cmd-palette{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:min(640px,92vw);box-shadow:var(--shadow-lg), 0 0 0 1px var(--accent-glow);overflow:hidden}.cmd-palette__input{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-sans);background:0 0;outline:none;padding:16px 18px;font-size:1rem}.cmd-palette__list{max-height:50vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.cmd-palette__item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;display:flex}.cmd-palette__item:hover,.cmd-palette__item[aria-selected=true]{background:var(--accent-glow);color:var(--text-primary)}.cmd-palette__kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--text-muted);border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.7rem}.cmd-palette__empty{text-align:center;color:var(--text-muted);padding:18px;font-size:.86rem}.uxr-toggle-bar{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:8px 0;font-size:.72rem;display:flex}.uxr-toggle-bar__group{background:var(--bg-recessed);border:1px solid var(--border-strong);border-radius:100px;align-items:center;padding:2px;display:inline-flex}.uxr-toggle-bar__btn{min-width:28px;height:22px;color:var(--text-muted);font-size:.7rem;font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;border-radius:100px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.uxr-toggle-bar__btn:hover{color:var(--text-primary)}.uxr-toggle-bar__btn[aria-pressed=true]{background:var(--accent-glow);color:var(--accent)}.uxr-toggle-bar__label{text-transform:uppercase;letter-spacing:.06em;font-size:.66rem}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#111!important;background:#fff!important}.app-sidebar,.sidebar-toggle,.sidebar-overlay,.page-nav,.report-toc,.case-progress,.toast-stack,.cmd-palette-backdrop,.uxr-toggle-bar{display:none!important}.report-shell__header{box-shadow:none!important;color:#111!important;background:#fff!important;border:1px solid #ddd!important;position:static!important}.report-shell__page--with-toc{grid-template-columns:1fr!important}h2,h3,h4{break-after:avoid}.badge,.chip,.metric-chip{color:#111!important;background:#fff!important;border:1px solid #888!important}.skeleton{display:none!important}}:root:not([data-theme=light]){--text-muted:#9ba9aa}@media (prefers-reduced-transparency:reduce){.report-shell__header,.report-toc,.cmd-palette,.toast{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-surface)}}html{transition:background-color .2s}body,.app-sidebar,.report-shell__header,.kpi-card,.nav-item{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}@media (prefers-reduced-motion:reduce){html,body,.app-sidebar,.report-shell__header,.kpi-card,.nav-item{transition:none}}
