@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-main:#f1f5f9;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-sidebar:#0f172a;--bg-sidebar-hover:#1e293b;--border-color:#e2e8f0;--border-subtle:#f1f5f9;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--text-inverse:#fff;--primary:#0284c7;--primary-light:#e0f2fe;--primary-dark:#0369a1;--teal:#0d9488;--teal-light:#ccfbf1;--emerald:#10b981;--emerald-light:#d1fae5;--amber:#f59e0b;--amber-light:#fef3c7;--rose:#f43f5e;--rose-light:#ffe4e6;--indigo:#6366f1;--indigo-light:#e0e7ff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-sans);outline:none}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-sidebar);width:260px;color:var(--text-inverse);z-index:20;flex-direction:column;flex-shrink:0;display:flex;box-shadow:2px 0 12px #00000026}.sidebar-header{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:20px;display:flex}.hospital-logo{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#0284c7,#0d9488);justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;font-weight:800;display:flex;box-shadow:0 4px 10px #0284c766}.hospital-title h1{letter-spacing:.5px;color:#fff;font-size:15px;font-weight:700}.hospital-title p{color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.nav-section-label{color:#64748b;text-transform:uppercase;letter-spacing:1px;padding:12px 12px 6px;font-size:10px;font-weight:700}.nav-item{border-radius:var(--radius-md);color:#94a3b8;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:13.5px;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{background-color:var(--bg-sidebar-hover);color:#fff}.nav-item.active{color:#fff;background:linear-gradient(90deg,#0284c7 0%,#0369a1 100%);font-weight:600;box-shadow:0 4px 12px #0284c74d}.nav-badge{border-radius:var(--radius-full);background:#ffffff26;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600}.sidebar-footer{background:#0003;border-top:1px solid #ffffff14;padding:16px}.sidebar-system-badge{color:#94a3b8;justify-content:space-between;align-items:center;font-size:11px;display:flex}.pulse-dot{background-color:#10b981;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;box-shadow:0 0 8px #10b981}@keyframes pulse{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(.95)}}.main-wrapper{background-color:var(--bg-main);flex-direction:column;flex:1;display:flex;overflow:hidden}.top-header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);height:68px;box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.header-page-info h2{color:var(--text-main);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.header-page-info p{color:var(--text-muted);font-size:12px}.header-search{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-full);align-items:center;gap:8px;width:280px;padding:6px 14px;display:flex}.header-search input{background:0 0;border:none;width:100%;font-size:13px}.header-right{align-items:center;gap:16px;display:flex}.role-picker{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#f8fafc;border:1.5px solid #cbd5e1;align-items:center;gap:8px;padding:6px 12px;display:flex}.role-picker label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-size:11px;font-weight:700}.role-select{color:var(--text-main);cursor:pointer;background:0 0;border:none;padding-right:4px;font-size:13px;font-weight:600}.active-user-chip{border-radius:var(--radius-full);background:#f1f5f9;align-items:center;gap:10px;padding:6px 12px;display:flex}.avatar{color:#fff;background:#0284c7;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-meta{flex-direction:column;display:flex}.user-meta .name{font-size:12.5px;font-weight:600;line-height:1.2}.user-meta .role-tag{color:var(--primary);font-size:10.5px;font-weight:600}.content-scrollable{flex:1;padding:24px;overflow-y:auto}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:18px 20px;transition:transform .15s,box-shadow .15s;display:flex}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-info p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.kpi-info h3{color:var(--text-main);margin-top:4px;font-size:24px;font-weight:800}.kpi-trend{align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:600;display:flex}.kpi-trend.positive{color:var(--emerald)}.kpi-trend.warning{color:var(--amber)}.kpi-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;overflow:hidden}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header-left{align-items:center;gap:10px;display:flex}.card-title{color:var(--text-main);font-size:15px;font-weight:700}.card-subtitle{color:var(--text-muted);font-size:12px}.card-body{padding:20px}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{background:var(--emerald-light);color:#065f46}.badge-warning{background:var(--amber-light);color:#92400e}.badge-danger{background:var(--rose-light);color:#9f1239}.badge-primary{background:var(--primary-light);color:var(--primary-dark)}.badge-neutral{color:#475569;background:#f1f5f9}.btn{border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 2px 6px #0284c74d}.btn-primary:hover{background:#0369a1;box-shadow:0 4px 10px #0284c766}.btn-secondary{color:#334155;border:1px solid var(--border-color);background:#f1f5f9}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:var(--rose);color:#fff}.btn-sm{padding:5px 10px;font-size:12px}.table-responsive{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:#475569;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border-color);background:#f8fafc;padding:12px 16px;font-size:11.5px;font-weight:700}.data-table td{border-bottom:1px solid var(--border-subtle);color:#334155;padding:13px 16px;font-size:13px}.data-table tr:hover{background:#f8fafc}.ward-block{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#fff;margin-bottom:24px;padding:16px}.ward-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.ward-title{color:var(--text-main);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.bed-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.bed-card{border:1.5px solid var(--border-color);border-radius:var(--radius-md);background:#fafafa;flex-direction:column;justify-content:space-between;min-height:110px;padding:12px;transition:all .2s;display:flex;position:relative}.bed-card.occupied{background:#fff5f5;border-color:#fca5a5}.bed-card.available{background:#f0fdf4;border-color:#86efac}.bed-card.cleaning{background:#fefce8;border-color:#fde047}.bed-card.maintenance{background:#f1f5f9;border-color:#cbd5e1}.bed-number{font-size:13px;font-weight:800;font-family:var(--font-mono);justify-content:space-between;align-items:center;display:flex}.bed-patient-info{margin:6px 0;font-size:12px}.bed-patient-info .p-name{color:#0f172a;font-weight:700}.bed-patient-info .p-diagnosis{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:10.5px;display:-webkit-box;overflow:hidden}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-xl);background:#fff;animation:.2s ease-out modalIn;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3{font-size:16px;font-weight:700}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.form-group{margin-bottom:16px}.form-group label{color:#475569;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-control{border-radius:var(--radius-md);background:#fff;border:1px solid #cbd5e1;width:100%;padding:9px 12px;font-size:13px;transition:border-color .15s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0284c726}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.quick-actions{flex-wrap:wrap;gap:10px;display:flex}.vitals-box{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#f8fafc;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px;display:grid}.vital-metric{flex-direction:column;display:flex}.vital-metric .label{color:var(--text-muted);font-size:11px;font-weight:600}.vital-metric .val{color:var(--text-main);margin-top:2px;font-size:15px;font-weight:700}.emergency-banner{color:#991b1b;background:#fee2e2;border-left:4px solid #ef4444;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}.login-page{background:linear-gradient(135deg,#09101d 0%,#0f172a 40%,#1e293b 100%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:24px;display:flex;position:relative;overflow-y:auto}.login-backdrop-glow{filter:blur(80px);pointer-events:none;background:radial-gradient(circle,#0284c740 0%,#0d94881a 60%,#0000 80%);width:400px;height:400px;position:absolute;top:15%;left:20%}.login-wrapper{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ad9;border:1px solid #ffffff1a;border-radius:20px;grid-template-columns:1fr 1.3fr;width:100%;max-width:1100px;display:grid;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}@media (width<=900px){.login-wrapper{grid-template-columns:1fr}}.login-left-brand{background:linear-gradient(#0284c71f 0%,#0f172a66 100%);border-right:1px solid #ffffff14;flex-direction:column;justify-content:space-between;padding:44px;display:flex}.login-brand-header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.login-logo{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0284c7,#0d9488);justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 8px 20px #0284c766}.login-brand-header h1{color:#fff;letter-spacing:.5px;font-size:20px;font-weight:800}.login-brand-header p{color:#38bdf8;letter-spacing:1px;font-size:11px;font-weight:600}.login-features-list{flex-direction:column;gap:16px;margin:32px 0;display:flex}.login-feature-item{align-items:flex-start;gap:12px;display:flex}.feature-dot{color:#38bdf8;background:#0284c733;border:1px solid #38bdf84d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.login-feature-item h4{color:#f1f5f9;margin-bottom:2px;font-size:13.5px;font-weight:600}.login-feature-item p{color:#94a3b8;font-size:11.5px;line-height:1.4}.login-system-metrics{text-align:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;display:grid}.login-metric-val{color:#38bdf8;font-size:18px;font-weight:800;font-family:var(--font-mono)}.login-metric-label{color:#94a3b8;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:600}.login-right-content{background:#0f172af2;flex-direction:column;padding:40px;display:flex}.login-header-text h2{color:#fff;margin-bottom:6px;font-size:22px;font-weight:700}.login-header-text p{color:#94a3b8;margin-bottom:24px;font-size:13px}.login-mode-tabs{background:#ffffff0f;border-radius:10px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.login-tab-btn{color:#94a3b8;background:0 0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px;font-size:12.5px;font-weight:600;transition:all .2s;display:flex}.login-tab-btn.active{color:#fff;background:#0284c7;box-shadow:0 2px 8px #0284c766}.role-cards-grid{grid-template-columns:repeat(2,1fr);gap:12px;max-height:380px;padding-right:4px;display:grid;overflow-y:auto}.role-card-item{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;justify-content:space-between;padding:14px;transition:all .2s;display:flex}.role-card-item:hover{background:#ffffff17;border-color:#38bdf866;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.role-card-top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.role-card-avatar{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.role-card-title{color:#fff;font-size:13px;font-weight:700}.role-card-user{color:#94a3b8;font-size:11px}.role-card-bottom{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;display:flex}.role-card-cred{font-family:var(--font-mono);color:#38bdf8;font-size:10.5px}.btn-launch-role{color:#38bdf8;background:#0284c733;border:1px solid #0284c766;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.role-card-item:hover .btn-launch-role{color:#fff;background:#0284c7;border-color:#0284c7}.login-form{flex-direction:column;gap:16px;display:flex}.login-input-group label{color:#e2e8f0;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.login-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;width:100%;padding:12px 14px;font-size:13.5px;transition:all .2s}.login-input:focus{background:#ffffff14;border-color:#0284c7;box-shadow:0 0 0 3px #0284c740}.login-error-alert{color:#fca5a5;background:#f43f5e26;border:1px solid #f43f5e4d;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.btn-login-submit{color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #0284c766}.btn-login-submit:hover{background:#0369a1;transform:translateY(-1px);box-shadow:0 6px 18px #0284c780}.login-demo-helper{color:#94a3b8;background:#ffffff08;border:1px dashed #ffffff1a;border-radius:8px;margin-top:18px;padding:12px;font-size:11.5px}.login-demo-helper code{color:#38bdf8;font-family:var(--font-mono)}.btn-logout{color:#b91c1c;border-radius:var(--radius-md);background:#fee2e2;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.btn-logout:hover{color:#991b1b;background:#fca5a5}.badge-restricted{color:#991b1b;background:#fee2e2;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.launchpad-screen{background:linear-gradient(135deg,#09101d 0%,#0f172a 45%,#1e293b 100%);flex-direction:column;align-items:center;width:100vw;min-height:100vh;padding:36px 24px;display:flex;overflow-y:auto}.launchpad-container{width:100%;max-width:1280px}.launchpad-header-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172acc;border:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:28px;padding:28px 32px;display:flex;box-shadow:0 20px 40px #0006}.launchpad-brand{align-items:center;gap:16px;display:flex}.launchpad-logo-box{color:#fff;background:linear-gradient(135deg,#0284c7,#0d9488);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 10px 25px #0284c766}.launchpad-title-wrap h1{color:#fff;letter-spacing:.5px;font-size:24px;font-weight:800}.launchpad-title-wrap p{color:#38bdf8;letter-spacing:.8px;margin-top:2px;font-size:13px;font-weight:600}.launchpad-subtitle-banner{color:#94a3b8;margin-top:6px;font-size:13px}.launchpad-direct-badge{color:#34d399;border-radius:var(--radius-full);background:#10b98126;border:1px solid #10b9814d;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:700;display:flex}.launchpad-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=1200px){.launchpad-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.launchpad-grid{grid-template-columns:1fr}}.launchpad-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ab3;border:1.5px solid #ffffff14;border-radius:16px;flex-direction:column;justify-content:space-between;min-height:250px;padding:22px;transition:all .25s;display:flex;position:relative;overflow:hidden}.launchpad-card:hover{background:#0f172af2;transform:translateY(-5px);box-shadow:0 16px 32px #0006}.launchpad-card-top{align-items:center;gap:14px;margin-bottom:14px;display:flex}.launchpad-card-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 6px 14px #0000004d}.launchpad-card-title h3{color:#fff;font-size:16px;font-weight:700}.launchpad-card-title p{color:#94a3b8;font-size:11.5px;font-weight:500}.launchpad-card-user{color:#e2e8f0;background:#ffffff0f;border-radius:6px;margin-bottom:12px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-block}.launchpad-card-bullets{flex-direction:column;gap:6px;margin:0 0 18px;padding:0;list-style:none;display:flex}.launchpad-card-bullets li{color:#94a3b8;align-items:center;gap:6px;font-size:12px;display:flex}.launchpad-card-bullets li:before{content:"•";color:#38bdf8;font-weight:700}.btn-enter-screen{color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 12px #0003}.btn-enter-screen:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.btn-back-to-roles{color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#0f172a;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.btn-back-to-roles:hover{box-shadow:var(--shadow-md);background:#1e293b;transform:translate(-2px)}.station-page{background-color:var(--bg-main);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.station-header{border-bottom:1.5px solid var(--border-color);z-index:20;background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;box-shadow:0 2px 8px #0000000a}.station-header-left{align-items:center;gap:16px;display:flex}.station-brand-chip{align-items:center;gap:10px;display:flex}.station-icon-badge{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 10px #00000026}.station-info h2{color:#0f172a;letter-spacing:-.2px;font-size:16px;font-weight:800}.station-info p{color:#64748b;font-size:11px;font-weight:500}.station-header-right{align-items:center;gap:14px;display:flex}.station-staff-pill{border-radius:var(--radius-full);background:#f1f5f9;border:1px solid #e2e8f0;align-items:center;gap:10px;padding:5px 12px;display:flex}.station-staff-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.station-staff-meta .s-name{color:#0f172a;font-size:12px;font-weight:700}.station-staff-meta .s-dept{color:var(--primary);font-size:10.5px;font-weight:600}.station-body-scrollable{flex:1;padding:24px;overflow-y:auto}.btn-open-tab{color:#334155;border-radius:var(--radius-md);background:#f8fafc;border:1px solid #cbd5e1;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn-open-tab:hover{background:#e2e8f0}
