:root{--bg-primary:#f0f4f8;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-elevated:#e8eef4;--bg-input:#f1f5f9;--border-subtle:#e2e8f0;--border-default:#cbd5e1;--border-focus:#09c;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--accent-blue:#09c;--accent-blue-soft:#0099cc1a;--accent-cyan:#c9952e;--accent-cyan-soft:#c9952e1a;--accent-gold:#c9952e;--severity-normal:#16a34a;--severity-normal-bg:#16a34a1a;--severity-mild:#d97706;--severity-mild-bg:#d977061a;--severity-severe:#dc2626;--severity-severe-bg:#dc262614;--severity-unknown:#6b7280;--severity-unknown-bg:#6b728014;--font-sans:"Manrope",-apple-system,sans-serif;--font-mono:"JetBrains Mono",monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-elevated:0 10px 40px #00000014;--shadow-glow-blue:0 0 20px #0099cc26}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f0f4f8;background:var(--bg-primary);color:#1e293b;color:var(--text-primary);font-family:Manrope,-apple-system,sans-serif;font-family:var(--font-sans);overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-layout{display:flex;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e2e8f0;border-right:1px solid var(--border-subtle);bottom:0;box-shadow:2px 0 12px #0000000a;display:flex;flex-direction:column;left:0;position:fixed;top:0;width:260px;z-index:100}.sidebar:after{background:linear-gradient(180deg,#09c,#c9952e);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.sidebar-logo{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);display:flex;gap:12px;padding:24px 20px}.sidebar-logo .logo-icon{align-items:center;background:linear-gradient(135deg,#09c,#007aa3);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0099cc4d;color:#fff;display:flex;font-size:15px;font-weight:800;height:42px;justify-content:center;width:42px}.sidebar-logo h1{color:#1e293b;font-size:17px;font-weight:700;letter-spacing:-.03em}.sidebar-logo span{color:#c9952e;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:600}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:16px 12px}.nav-section-label{color:#64748b;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.1em;padding:16px 12px 6px;text-transform:uppercase}.nav-item{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 12px;text-decoration:none;transition:all .15s}.nav-item:hover{background:#f1f5f9;color:#1e293b;color:var(--text-primary)}.nav-item.active{background:#0099cc1a;background:var(--accent-blue-soft);border-color:#09c3;color:#09c;color:var(--accent-blue);font-weight:600}.nav-item svg{flex-shrink:0;height:18px;width:18px}.sidebar-user{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-subtle);display:flex;gap:10px;padding:16px}.sidebar-user .avatar{align-items:center;background:linear-gradient(135deg,#09c,#c9952e);border-radius:50%;color:#fff;display:flex;font-size:13px;font-weight:700;height:36px;justify-content:center;width:36px}.sidebar-user .user-info{flex:1 1;min-width:0}.sidebar-user .user-name{color:#1e293b;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user .user-role{color:#64748b;color:var(--text-muted);font-size:11px}.main-content{flex:1 1;margin-left:260px;min-height:100vh;padding:28px 32px}.login-page{align-items:center;background:linear-gradient(135deg,#e8f4f8,#f0f4f8 50%,#fdf8f0);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 10px 40px #00000014;box-shadow:var(--shadow-elevated);padding:48px 40px;width:420px}.login-card .logo-block{margin-bottom:36px;text-align:center}.login-card .logo-block .icon-wrap{align-items:center;background:linear-gradient(135deg,#09c,#007aa3);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 16px #0099cc40;color:#fff;display:flex;font-size:24px;font-weight:800;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.login-card h2{color:#1e293b;font-size:22px;font-weight:700;margin-bottom:4px}.login-card .subtitle{color:#64748b;color:var(--text-muted);font-size:13px}.form-group{margin-bottom:20px}.form-group label{color:#475569;color:var(--text-secondary);display:block;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.form-group input{background:#f8fafc;border:1px solid #cbd5e1;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-primary);font-family:Manrope,-apple-system,sans-serif;font-family:var(--font-sans);font-size:14px;outline:none;padding:12px 14px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#09c;border-color:var(--accent-blue);box-shadow:0 0 20px #0099cc26;box-shadow:var(--shadow-glow-blue)}.btn{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:Manrope,-apple-system,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:11px 20px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#09c,#007aa3);box-shadow:0 2px 8px #0099cc40;color:#fff;width:100%}.btn-primary:hover{box-shadow:0 0 20px #0099cc26;box-shadow:var(--shadow-glow-blue);filter:brightness(1.08)}.btn-secondary{background:#fff;border:1px solid #cbd5e1;border:1px solid var(--border-default);color:#1e293b;color:var(--text-primary)}.btn-secondary:hover{background:#f1f5f9}.btn-sm{font-size:13px;padding:7px 14px}.btn-danger{background:#dc262614;background:var(--severity-severe-bg);border:1px solid #dc262633;color:#dc2626;color:var(--severity-severe)}.demo-creds{background:#0099cc1a;background:var(--accent-blue-soft);border:1px solid #0099cc26;border-radius:8px;border-radius:var(--radius-sm);color:#068;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px;line-height:1.7;margin-top:24px;padding:14px}.page-header{margin-bottom:28px}.page-header h2{color:#1e293b;font-size:24px;font-weight:700;letter-spacing:-.03em}.page-header p{color:#64748b;color:var(--text-muted);font-size:14px;margin-top:4px}.stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.stat-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-card);padding:20px;transition:all .2s}.stat-card:hover{border-color:#09c;border-color:var(--accent-blue);box-shadow:0 0 20px #0099cc26;box-shadow:var(--shadow-glow-blue)}.stat-card .stat-label{color:#64748b;color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.stat-card .stat-value{color:#1e293b;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:28px;font-weight:700;margin-top:6px}.stat-card .stat-sub{color:#64748b;color:var(--text-muted);font-size:12px;margin-top:4px}.card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-card);overflow:hidden}.card-header{align-items:center;background:#fafbfc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:18px 20px}.card-header h3{color:#1e293b;font-size:15px;font-weight:700}.card-body{padding:20px}.data-table{border-collapse:collapse;width:100%}.data-table th{background:#fafbfc;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-subtle);color:#64748b;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;padding:10px 16px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #f1f5f9;font-size:14px;padding:14px 16px;vertical-align:middle}.data-table tr:hover td{background:#f8fafc}.data-table tr:last-child td{border-bottom:none}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:3px 10px}.badge-normal{background:#16a34a1a;background:var(--severity-normal-bg);color:#16a34a;color:var(--severity-normal)}.badge-mild{background:#d977061a;background:var(--severity-mild-bg);color:#d97706;color:var(--severity-mild)}.badge-severe{background:#dc262614;background:var(--severity-severe-bg);color:#dc2626;color:var(--severity-severe)}.badge-unknown{background:#6b728014;background:var(--severity-unknown-bg);color:#6b7280;color:var(--severity-unknown)}.badge-blue{background:#0099cc1a;background:var(--accent-blue-soft);color:#09c;color:var(--accent-blue)}.patient-detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.patient-detail-grid.full{grid-template-columns:1fr}.finding-item{background:#f8fafc;border-left:3px solid #e2e8f0;border-left:3px solid var(--border-subtle);border-radius:0 8px 8px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:8px;padding:12px 16px}.finding-item.severe{background:#fef2f2;border-left-color:#dc2626;border-left-color:var(--severity-severe)}.finding-item.mild,.finding-item.moderate{background:#fffbeb;border-left-color:#d97706;border-left-color:var(--severity-mild)}.finding-item.normal{background:#f0fdf4;border-left-color:#16a34a;border-left-color:var(--severity-normal)}.finding-item .finding-text{color:#1e293b;font-size:14px;font-weight:500}.finding-item .finding-meta{color:#64748b;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px;margin-top:4px}.morph-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding:12px 0}.morph-row:last-child{border-bottom:none}.morph-label{color:#334155;flex-shrink:0;font-size:13px;font-weight:500;width:200px}.morph-bars{align-items:center;display:flex;flex:1 1;gap:8px}.morph-bar-wrap{background:#e8eef4;flex:1 1;height:24px;overflow:hidden;position:relative}.morph-bar-fill,.morph-bar-wrap{border-radius:8px;border-radius:var(--radius-sm)}.morph-bar-fill{height:100%;transition:width 1s ease}.morph-bar-norm{background:#94a3b8;height:100%;position:absolute;top:0;width:2px}.morph-values{flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px;text-align:right;width:160px}.pipeline-step{align-items:center;display:flex;gap:12px;padding:10px 0}.pipeline-step .step-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.pipeline-step .step-dot.done{background:#16a34a;background:var(--severity-normal)}.pipeline-step .step-dot.running{animation:pulse 1s infinite;background:#09c;background:var(--accent-blue)}.pipeline-step .step-dot.pending{background:#cbd5e1}.pipeline-step .step-name{flex:1 1;font-size:13px}.pipeline-step .step-time{color:#64748b;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px}.viewer-3d-container{background:#e8eef4;border:1px solid #e2e8f0;border:1px solid var(--border-subtle);border-radius:12px;border-radius:var(--radius-md);height:450px;overflow:hidden;position:relative;width:100%}.viewer-controls{display:flex;gap:6px;position:absolute;right:12px;top:12px;z-index:10}.viewer-label{background:#ffffffe6;border-radius:8px;border-radius:var(--radius-sm);bottom:12px;color:#475569;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;left:12px;padding:4px 10px;position:absolute}.patient-view-page{background:#fff;color:#1a1a2e;font-family:Manrope,-apple-system,sans-serif;font-family:var(--font-sans);min-height:100vh}.patient-view-page .pv-header{background:linear-gradient(135deg,#09c,#c9952e);color:#fff;padding:40px 32px;text-align:center}.patient-view-page .pv-header h1{font-size:28px;font-weight:700;margin-bottom:8px}.patient-view-page .pv-header p{font-size:15px;opacity:.9}.patient-view-page .pv-content{margin:0 auto;max-width:800px;padding:32px 24px}.pv-section{margin-bottom:32px}.pv-section h3{color:#1a1a2e;font-size:18px;font-weight:700;margin-bottom:16px}.pv-finding-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:12px;padding:16px 20px}.pv-finding-card.pv-severe{background:#fef2f2;border-left:4px solid #dc2626}.pv-finding-card.pv-mild{background:#fffbeb;border-left:4px solid #d97706}.pv-finding-card.pv-normal{background:#f0fdf4;border-left:4px solid #16a34a}.pv-dmf-legend{background:#f8fafc;border-radius:12px;display:flex;gap:24px;margin-bottom:24px;padding:16px 20px}.pv-dmf-item{align-items:center;display:flex;font-size:14px;gap:8px}.pv-dmf-dot{border-radius:50%;height:14px;width:14px}.tabs{background:#e8eef4;display:flex;gap:4px;margin-bottom:20px;padding:4px}.tab,.tabs{border-radius:8px;border-radius:var(--radius-sm)}.tab{background:none;border:none;color:#64748b;color:var(--text-muted);cursor:pointer;font-family:Manrope,-apple-system,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:600;padding:8px 16px;transition:all .15s}.tab:hover{color:#1e293b;color:var(--text-primary)}.tab.active{background:#fff;box-shadow:0 1px 3px #0000000f;color:#09c;color:var(--accent-blue)}.search-bar{align-items:center;display:flex;gap:12px;margin-bottom:20px}.search-bar input{background:#fff;border:1px solid #cbd5e1;border:1px solid var(--border-default);border-radius:8px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-primary);flex:1 1;font-family:Manrope,-apple-system,sans-serif;font-family:var(--font-sans);font-size:14px;outline:none;padding:10px 14px}.search-bar input:focus{border-color:#09c;border-color:var(--accent-blue);box-shadow:0 0 20px #0099cc26;box-shadow:var(--shadow-glow-blue)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chip{background:#fff;border:1px solid #cbd5e1;border:1px solid var(--border-default);border-radius:999px;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s}.chip:hover{background:#f1f5f9}.chip.active{background:#0099cc1a;background:var(--accent-blue-soft);border-color:#0099cc4d;color:#09c;color:var(--accent-blue)}.edge-node{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:10px;padding:12px 0}.edge-node:last-child{border-bottom:none}.edge-dot{border-radius:50%;height:8px;width:8px}.edge-dot.online{background:#16a34a;background:var(--severity-normal)}.edge-dot.offline{background:#dc2626;background:var(--severity-severe)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}@media(max-width:1024px){.patient-detail-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}}
/*# sourceMappingURL=main.0e9a700b.css.map*/