@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;700&display=swap";:root{color:#e0e6f7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--app-bg:#0a0c12;--app-text:#e0e6f7;--surface-primary:#121a2b;--surface-secondary:#0e1526;--surface-card:#141c2f;--border-soft:#2f3750;--border-strong:#3b4668;--text-primary:#edf2ff;--text-secondary:#9cabcf;--text-muted:#91a0c5;--accent:#4f73db;--accent-soft:#1f2b4d;--accent-contrast:#fff;--success-border:#3d6e59;--success-bg:#193a31;--success-text:#d6ffef;--danger-border:#834359;--danger-bg:#3f1d2a;--danger-text:#ffd7e0;--status-border:#3a4a71;--status-bg:#151f35;--status-text:#dce4fb;background-color:#0a0c12;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-size:16px}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:var(--app-bg);color:var(--app-text)}body[data-theme=vscode-light]{--app-bg:#f3f3f3;--app-text:#1e1e1e;--surface-primary:#fff;--surface-secondary:#f8f8f8;--surface-card:#fff;--border-soft:#d4d4d4;--border-strong:#c5c5c5;--text-primary:#1e1e1e;--text-secondary:#4f4f4f;--text-muted:#666;--accent:#0e639c;--accent-soft:#dceeff;--accent-contrast:#fff;--success-border:#2d7d46;--success-bg:#eaf7ee;--success-text:#1f5e35;--danger-border:#ba3a3a;--danger-bg:#fff1f1;--danger-text:#7a1a1a;--status-border:#b9d9f1;--status-bg:#edf6fc;--status-text:#254660}.home-panel{border:1px solid var(--border-soft);background:linear-gradient(160deg, var(--surface-card) 0%, var(--surface-primary) 45%, var(--surface-secondary) 100%);border-radius:.9rem;padding:1rem}.home-panel h3{color:var(--text-primary);margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:1.25rem}.home-panel p{color:var(--text-secondary);margin:.55rem 0 1rem}.home-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.home-metrics article{border:1px solid var(--border-soft);background:var(--surface-secondary);border-radius:.7rem;padding:.7rem}.home-metrics span{color:var(--text-muted);margin-bottom:.3rem;font-size:.8rem;display:block}.home-metrics strong{color:var(--text-primary);font-size:1.15rem}@media (width<=740px){.home-metrics{grid-template-columns:1fr}}.dashboard-shell{background:radial-gradient(circle at 12% 10%, #1f2537 0%, #0f111a 42%, var(--app-bg) 100%);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.dashboard-sidebar{border-right:1px solid var(--border-soft);background:linear-gradient(180deg, var(--surface-card) 0%, var(--surface-primary) 100%);flex-direction:column;gap:1.5rem;padding:1.5rem 1rem;display:flex}.brand-block{border:1px solid var(--border-soft);background:var(--surface-primary);border-radius:.75rem;padding:.5rem}.brand-kicker{text-transform:uppercase;letter-spacing:.08rem;color:var(--text-muted);margin:0;font-size:.72rem}.brand-title{color:var(--text-primary);margin:.25rem 0 0;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:1.55rem}.brand-hospital-chip{border:1px solid var(--border-soft);background:var(--surface-secondary);border-radius:.65rem;gap:.15rem;margin-top:.7rem;padding:.45rem .55rem;display:grid}.brand-hospital-chip span{color:var(--text-primary);font-size:.86rem;font-weight:600}.brand-hospital-chip small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05rem;font-size:.68rem}.dashboard-nav{flex-direction:column;gap:.5rem;display:flex}.sidebar-top-actions{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.theme-toggle-button{border:1px solid var(--border-strong);background:var(--surface-secondary);min-width:132px;color:var(--text-primary);cursor:pointer;border-radius:.75rem;grid-template-columns:1fr 1fr;align-items:center;padding:.18rem;font-weight:600;display:grid;position:relative;overflow:hidden}.theme-toggle-button:before{content:"";background:var(--accent);border-radius:.55rem;width:calc(50% - .18rem);transition:transform .2s;position:absolute;top:.18rem;bottom:.18rem;left:.18rem}.theme-toggle-button.is-light:before{transform:translate(100%)}.theme-toggle-option{z-index:1;text-align:center;color:var(--text-secondary);padding:.34rem .2rem;font-size:.78rem;line-height:1;position:relative}.theme-toggle-option.is-active{color:var(--accent-contrast)}.theme-toggle-button:hover{border-color:var(--accent)}.menu-item{width:100%;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:.6rem;padding:.55rem .75rem;font-size:.92rem;text-decoration:none;transition:all .18s;display:block}.menu-item:hover{border-color:var(--border-strong);background:var(--surface-primary);color:var(--text-primary)}.menu-item.active{border-color:var(--accent);background:linear-gradient(90deg, var(--accent-soft) 0%, var(--surface-primary) 100%);color:var(--text-primary)}.menu-item.is-disabled{opacity:.6;cursor:default}.sidebar-footer{background:var(--surface-primary);border:1px solid var(--border-soft);border-radius:.65rem;gap:.3rem;margin-top:auto;padding:.75rem;display:grid}.status-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06rem;margin:0;font-size:.72rem}.status-value{color:var(--text-primary);margin:.15rem 0 0;font-weight:600}.logout-button{border:1px solid var(--border-strong);background:var(--surface-primary);color:var(--text-primary);cursor:pointer;border-radius:.55rem;padding:.45rem .62rem}.logout-button:hover{border-color:var(--accent);background:var(--surface-secondary)}.dashboard-main{flex-direction:column;gap:1rem;padding:1.4rem 1.6rem;display:flex}.dashboard-header{border:1px solid var(--border-soft);background:linear-gradient(125deg, var(--surface-card) 0%, var(--surface-primary) 55%, var(--surface-secondary) 100%);border-radius:.9rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.dashboard-header h2{color:var(--text-primary);margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:1.2rem}.dashboard-header p{color:var(--text-secondary);margin:.3rem 0 0;font-size:.95rem}.dashboard-header-context{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--surface-secondary) 88%, transparent);border-radius:.75rem;gap:.18rem;min-width:180px;padding:.65rem .8rem;display:grid}.dashboard-header-context span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06rem;font-size:.72rem}.dashboard-header-context strong{color:var(--text-primary)}.dashboard-content{border:1px solid var(--border-soft);background:color-mix(in srgb, var(--surface-primary) 92%, transparent);border-radius:.9rem;min-height:220px;padding:1rem 1.1rem}body[data-theme=vscode-light] .dashboard-shell{background:radial-gradient(circle at 12% 10%, #e6eef8 0%, #f0f3f8 42%, var(--app-bg) 100%)}@media (width<=900px){.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{border-right:none;border-bottom:1px solid var(--border-soft)}.dashboard-main{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-header-context{width:100%}}.auth-shell{background:radial-gradient(circle at 18% 12%,#1f2945 0%,#0f1526 45%,#0b0f1a 100%);place-items:center;min-height:100vh;padding:1.2rem;display:grid}.auth-shell-login{background:radial-gradient(circle at 12% 10%,#4ac2ae33 0%,#0c162600 38%),radial-gradient(circle at 92% 90%,#5b7ff533 0%,#0c162600 42%),linear-gradient(135deg,#0b1222 0%,#0f172a 58%,#111f35 100%)}.auth-shell-register{background:radial-gradient(circle at 16% 12%,#59c4a62e 0%,#0c162600 34%),radial-gradient(circle at 84% 16%,#66a4ff2e 0%,#0c162600 36%),linear-gradient(140deg,#08111f 0%,#0d172a 52%,#112236 100%)}.auth-login-layout{grid-template-columns:1.1fr .9fr;gap:1rem;width:min(980px,100%);display:grid}.auth-register-layout{grid-template-columns:1.08fr .92fr;gap:1rem;width:min(1080px,100%);display:grid}.auth-brand-panel{background:linear-gradient(160deg,#112444f2 0%,#0d182bf2 58%,#0b1424f2 100%);border:1px solid #2f4c71;border-radius:1.1rem;align-content:start;gap:.75rem;padding:1.4rem;display:grid}.auth-register-panel{background:linear-gradient(160deg,#0c2038f0 0%,#0d1d31f2 52%,#0f253cf2 100%);border:1px solid #32506f;border-radius:1.2rem;align-content:start;gap:.9rem;padding:1.5rem;display:grid}.auth-register-panel h1{color:#f2f8ff;max-width:12ch;margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1.02}.auth-register-panel p{color:#b7c8e2;max-width:52ch;margin:0;line-height:1.6}.auth-register-highlights{gap:.75rem;margin-top:.35rem;display:grid}.auth-register-highlights article{background:linear-gradient(140deg,#11233bcc,#0b1829eb);border:1px solid #2f4967;border-radius:.95rem;padding:.85rem .95rem}.auth-register-highlights strong{color:#eef5ff;margin-bottom:.25rem;display:block}.auth-card-register{background:linear-gradient(170deg,#15223af7 0%,#101b2ff7 65%,#0c1525f7 100%);border-color:#355475;border-radius:1.1rem;width:100%;padding:1.35rem}.auth-section-title{color:#8ec2ff;text-transform:uppercase;letter-spacing:.08rem;margin-top:.25rem;font-size:.78rem}.auth-field-hint{color:#8ea4cf;margin:-.15rem 0 .15rem;font-size:.79rem}.auth-role-pill-list{flex-wrap:wrap;gap:.45rem;margin-top:.2rem;display:flex}.auth-role-pill{color:#eef5ff;background:#122b4ed9;border:1px solid #4670b9;border-radius:999px;padding:.18rem .5rem;font-size:.74rem}.auth-readonly-field{opacity:.9;cursor:default}.auth-brand-kicker{color:#8ec2ff;text-transform:uppercase;letter-spacing:.1rem;margin:0;font-size:.78rem}.auth-brand-panel h1{color:#f1f7ff;margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1}.auth-brand-panel p{color:#b4c4e3;max-width:44ch;margin:0;line-height:1.5}.auth-brand-logo-wrap{background:radial-gradient(circle at 35% 28%,#274677 0%,#152946 62%,#10233b 100%);border:1px solid #3d5c8e;border-radius:50%;place-items:center;width:132px;height:132px;margin-top:.45rem;display:grid;box-shadow:0 12px 35px #0a192d73}.auth-med-logo{width:92px;height:92px}.logo-ring{fill:none;stroke:#84b8ff;stroke-width:3px}.logo-grid{fill:none;stroke:#5f87bc;stroke-width:1.5px;opacity:.9}.logo-staff{fill:none;stroke:#d8ecff;stroke-width:3.2px;stroke-linecap:round}.logo-serpent{fill:none;stroke:#61e2cc;stroke-width:2.5px;stroke-linecap:round}.auth-card{background:linear-gradient(165deg,#151d34 0%,#10182d 55%,#0d1424 100%);border:1px solid #2e3c62;border-radius:.95rem;gap:.85rem;width:min(460px,100%);padding:1.2rem;display:grid}.auth-card-login{background:linear-gradient(170deg,#14213af5 0%,#0f192cf5 65%,#0b1424f5 100%);border-color:#345076;border-radius:1.1rem;width:100%;padding:1.3rem}.auth-kicker{color:#9db2ee;text-transform:uppercase;letter-spacing:.08rem;margin:0;font-size:.74rem}.auth-card h1{color:#edf2ff;margin:0;font-family:Space Grotesk,Segoe UI,sans-serif}.auth-card h2{color:#edf2ff;margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;font-size:1.5rem}.auth-subtitle{color:#a5b3d8;margin:0;font-size:.9rem}.auth-card label{color:#c6d4f9;gap:.3rem;font-size:.85rem;display:grid}.auth-card input{color:#edf2ff;background:#0f182f;border:1px solid #3a4b77;border-radius:.58rem;padding:.56rem .65rem}.auth-card button{color:#fff;cursor:pointer;background:linear-gradient(125deg,#3657b8 0%,#2f4e9f 100%);border:1px solid #4f73db;border-radius:.6rem;padding:.6rem .75rem}.auth-card button:disabled{opacity:.7;cursor:not-allowed}.auth-error{color:#ffd7e3;background:#431f2d;border:1px solid #89485f;border-radius:.55rem;margin:0;padding:.58rem .66rem;font-size:.82rem}.auth-footnote{color:#a5b3d8;margin:0;font-size:.83rem}.auth-footnote a{color:#d3e0ff}@media (width<=900px){.auth-login-layout,.auth-register-layout{grid-template-columns:1fr}.auth-brand-panel,.auth-register-panel{order:2}.auth-card-login,.auth-card-register{order:1}.auth-brand-logo-wrap{width:108px;height:108px}}body[data-theme=vscode-light] .auth-shell{background:radial-gradient(circle at 18% 12%,#e7f2ff 0%,#eef4fb 48%,#f3f3f3 100%)}body[data-theme=vscode-light] .auth-shell-login{background:radial-gradient(circle at 12% 10%,#0e639c26 0%,#fff0 40%),radial-gradient(circle at 92% 90%,#007acc1f 0%,#fff0 42%),linear-gradient(135deg,#f7fbff 0%,#f1f6fb 58%,#eef4f8 100%)}body[data-theme=vscode-light] .auth-shell-register{background:radial-gradient(circle at 12% 10%,#007acc1f 0%,#fff0 38%),radial-gradient(circle at 88% 18%,#0e639c1a 0%,#fff0 34%),linear-gradient(135deg,#f7fbff 0%,#f1f5fb 56%,#edf3f8 100%)}body[data-theme=vscode-light] .auth-brand-panel,body[data-theme=vscode-light] .auth-register-panel,body[data-theme=vscode-light] .auth-card,body[data-theme=vscode-light] .auth-card-login,body[data-theme=vscode-light] .auth-card-register,body[data-theme=vscode-light] .auth-register-highlights article{border-color:var(--border-soft);background:linear-gradient(165deg,#fff 0%,#fafafa 55%,#f6f6f6 100%)}body[data-theme=vscode-light] .auth-brand-panel h1,body[data-theme=vscode-light] .auth-register-panel h1,body[data-theme=vscode-light] .auth-card h1,body[data-theme=vscode-light] .auth-card h2,body[data-theme=vscode-light] .auth-brand-panel p,body[data-theme=vscode-light] .auth-register-panel p,body[data-theme=vscode-light] .auth-kicker,body[data-theme=vscode-light] .auth-subtitle,body[data-theme=vscode-light] .auth-section-title,body[data-theme=vscode-light] .auth-field-hint,body[data-theme=vscode-light] .auth-card label,body[data-theme=vscode-light] .auth-footnote,body[data-theme=vscode-light] .auth-footnote a{color:var(--text-primary)}body[data-theme=vscode-light] .auth-card input{border-color:var(--border-strong);background:var(--surface-secondary);color:var(--text-primary)}body[data-theme=vscode-light] .auth-card button{border-color:var(--accent);color:var(--accent-contrast);background:linear-gradient(125deg,#0e639c 0%,#17b 100%)}.error-boundary{color:#e6edf3;background:#10151d;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.error-boundary-card{text-align:center;background:#161b22;border:1px solid #30363d;border-radius:.9rem;width:100%;max-width:28rem;padding:1.75rem}.error-boundary-title{margin:0 0 .6rem;font-size:1.35rem}.error-boundary-text{color:#b6c2cf;margin:0 0 1.25rem;font-size:.92rem;line-height:1.5}.error-boundary-button{color:#fff;cursor:pointer;background:#2f81f7;border:none;border-radius:.55rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600}.error-boundary-button:hover{background:#4c94ff}body[data-theme=vscode-light] .error-boundary{color:#1f2328;background:#f4f6fa}body[data-theme=vscode-light] .error-boundary-card{background:#fff;border-color:#d0d7de}body[data-theme=vscode-light] .error-boundary-text{color:#57606a}.config-warning-banner{z-index:1000;color:#ffe3e3;text-align:center;background:#7a1f1f;justify-content:center;align-items:center;gap:.55rem;padding:.55rem 1rem;font-size:.85rem;line-height:1.4;display:flex;position:fixed;top:0;left:0;right:0}.config-warning-icon{color:#7a1f1f;background:#ffd0d0;border-radius:50%;flex:none;place-items:center;width:1.15rem;height:1.15rem;font-size:.78rem;font-weight:700;line-height:1;display:grid}
