:root{--or-blue:#1a7abf;--or-blue-mid:#4a9fd4;--or-blue-deep:#1564a0;--navy:#0d2140;--navy-deep:#0a1a32;--navy-soft:#142a4d;--labcoat:#f5f3ee;--gray-text:#7a96b0;--amber:#d97706;--amber-soft:#f59e0b;--bg-page:#0a1a32;--bg-surface:#0d2140;--bg-surface-raised:#ffffff0a;--bg-surface-hover:#ffffff14;--bg-input:#ffffff0d;--bg-input-focus:#ffffff12;--border-subtle:#ffffff12;--border-soft:#ffffff1f;--border-strong:#fff3;--text-primary:var(--labcoat);--text-secondary:#f5f3eec7;--text-muted:#f5f3ee8c;--text-faint:#f5f3ee52;--tint-zebra:#ffffff05;--tint-header:#ffffff08;--tint-hover:#ffffff0d;--tint-raised:#ffffff0f;--tint-raised-strong:#ffffff1a;--success:#16a34a;--success-soft:#16a34a2e;--danger:#e0533d;--danger-soft:#e0533d2e;--warning:var(--amber);--warning-soft:#d977062e;--info:var(--or-blue-mid);--info-soft:#4a9fd429;--success-text:#b8efce;--danger-text:#f6c2b8;--warning-text:#f6d4a0;--info-text:#c1e1f3;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 14px #0006;--shadow-lg:0 10px 30px #00000080;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-serif:"DM Serif Display",Georgia,serif;color-scheme:dark}:root[data-theme=light]{--bg-page:#e9edf3;--bg-surface:#fff;--bg-surface-raised:rgba(13,33,64,.035);--bg-surface-hover:#0d21400f;--bg-input:#f7f9fc;--bg-input-focus:#fff;--border-subtle:#0d21401a;--border-soft:#0d214029;--border-strong:#0d214047;--text-primary:#0d2140;--text-secondary:#0d2140bd;--text-muted:#0d21408c;--text-faint:#0d214061;--or-blue-mid:#1565a3;--tint-zebra:rgba(13,33,64,.022);--tint-header:#0d21400a;--tint-hover:#0d21400d;--tint-raised:#0d21400d;--tint-raised-strong:#0d214017;--success-soft:#16a34a24;--danger-soft:#e0533d24;--warning-soft:#d9770629;--info-soft:#4a9fd429;--success-text:#15803d;--danger-text:#b23a28;--warning-text:#9a5b06;--info-text:#1564a0;--shadow-sm:0 1px 2px #0d21401a;--shadow-md:0 4px 14px #0d21401f;--shadow-lg:0 12px 34px #0d21402e;color-scheme:light}:root[data-theme=light] input[type=date],:root[data-theme=light] input[type=time]{color-scheme:light}*{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a1a32;background-color:var(--bg-page);color:#f5f3ee;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-weight:400;line-height:1.55;margin:0;padding:0}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:#f5f3ee;color:var(--text-primary);font-family:"DM Serif Display",Georgia,serif;font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em;line-height:1.2;margin:0 0 12px}h1{font-size:32px}h2{font-size:26px}h3{font-size:20px;letter-spacing:-.005em}h3,h4{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-weight:600}h4{font-size:16px}h5,h6{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;font-weight:600}p{color:#f5f3eec7;color:var(--text-secondary)}a{color:#4a9fd4;color:var(--or-blue-mid);text-decoration:none;transition:color .15s ease}a:hover{color:#d97706;color:var(--amber)}::selection{background:#d97706;background:var(--amber);color:#0d2140;color:var(--navy)}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0a1a32;background:var(--bg-page)}::-webkit-scrollbar-thumb{background:#ffffff1f;background:var(--border-soft);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#fff3;background:var(--border-strong)}.container{margin:0 auto;max-width:1600px;padding:20px}.card{background:#0d2140;background:var(--bg-surface);border:1px solid #ffffff12;border:1px solid var(--border-subtle);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 4px 14px #0006;box-shadow:var(--shadow-md);color:#f5f3ee;color:var(--text-primary);margin-bottom:24px;padding:24px}.form-group{margin-bottom:16px}.form-group label,label{color:#f5f3eec7;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;letter-spacing:.01em;margin-bottom:8px}.form-control,.form-group input,.form-group select,.form-group textarea,input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],input[type=time],select,textarea{background:#ffffff0d;background:var(--bg-input);border:1px solid #ffffff1f;border:1px solid var(--border-soft);border-radius:10px;border-radius:var(--radius-md);color:#f5f3ee;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}input::placeholder,textarea::placeholder{color:#f5f3ee52;color:var(--text-faint)}.form-control:focus,input:focus,select:focus,textarea:focus{background:#ffffff12;background:var(--bg-input-focus);border-color:#4a9fd4;border-color:var(--or-blue-mid);box-shadow:0 0 0 3px #4a9fd438;outline:none}input[type=date],input[type=time]{color-scheme:dark}.form-control:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27 fill=%27%237a96b0%27><path d=%27M5.5 8l4.5 5 4.5-5z%27/></svg>");background-position:right 10px center;background-repeat:no-repeat;background-size:18px;padding-right:36px}.form-control-static{align-items:center;background:#ffffff0d;background:var(--bg-input);border:1px solid #ffffff12;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-md);color:#f5f3eec7;color:var(--text-secondary);display:flex;font-size:14px;min-height:40px;padding:10px 14px}.form-text{color:#f5f3ee8c;color:var(--text-muted);display:block;font-size:12px;font-style:italic;margin-top:6px}.btn{align-items:center;border:1px solid #0000;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:13.5px;font-weight:500;gap:6px;justify-content:center;letter-spacing:.01em;line-height:1.2;padding:10px 20px;text-align:center;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background-color:#d97706;background-color:var(--amber);border-color:#d97706;border-color:var(--amber);color:#0d2140;color:var(--navy);font-weight:600}.btn-primary:hover:not(:disabled){background-color:#b85f04;border-color:#b85f04}.btn-secondary{background-color:initial;border-color:#4a9fd466;color:#4a9fd4;color:var(--or-blue-mid)}.btn-secondary:hover:not(:disabled){background-color:#4a9fd41a;border-color:#4a9fd4;border-color:var(--or-blue-mid);color:#4a9fd4;color:var(--or-blue-mid)}.btn-success{background-color:#16a34a;background-color:var(--success);border-color:#16a34a;border-color:var(--success);color:#f5f3ee;color:var(--labcoat)}.btn-success:hover:not(:disabled){background-color:#128a3e;border-color:#128a3e}.btn-danger{background-color:initial;border-color:#e0533d66;color:#e0533d;color:var(--danger)}.btn-danger:hover:not(:disabled){background-color:#e0533d;background-color:var(--danger);border-color:#e0533d;border-color:var(--danger);color:#f5f3ee;color:var(--labcoat)}.btn-warning{background-color:#d97706;background-color:var(--amber);border-color:#d97706;border-color:var(--amber);color:#0d2140;color:var(--navy)}.btn-warning:hover:not(:disabled){background-color:#b85f04;border-color:#b85f04}.btn-small{font-size:12px;padding:6px 12px}.btn:disabled{cursor:not-allowed;opacity:.4}.nav{background:#0d2140;background:var(--bg-surface);border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border-subtle);box-shadow:0 4px 18px #00000040;margin-bottom:24px;position:relative}.nav-list{display:flex;list-style:none;margin:0;padding:0}.nav-item{margin:0}.nav-link{border-bottom:2px solid #0000;color:#f5f3eec7;color:var(--text-secondary);display:block;font-size:14px;font-weight:500;letter-spacing:.01em;padding:18px 22px;text-decoration:none;transition:color .15s ease,border-color .15s ease,background .15s ease}.nav-link:hover{background:#ffffff08;background:var(--tint-header);color:#f5f3ee;color:var(--text-primary)}.nav-link.active{background:#0000;border-bottom-color:#d97706;border-bottom-color:var(--amber);color:#d97706;color:var(--amber)}.alert{border:1px solid;border-radius:10px;border-radius:var(--radius-md);font-size:14px;line-height:1.55;margin-bottom:16px;padding:14px 18px}.alert-success{background-color:#16a34a2e;background-color:var(--success-soft);border-color:#16a34a66;color:#b8efce;color:var(--success-text)}.alert-error{background-color:#e0533d2e;background-color:var(--danger-soft);border-color:#e0533d66;color:#f6c2b8;color:var(--danger-text)}.alert-info{background-color:#4a9fd429;background-color:var(--info-soft);border-color:#4a9fd466;color:#c1e1f3;color:var(--info-text)}.alert-warning{background-color:#d977062e;background-color:var(--warning-soft);border-color:#d9770666;color:#f6d4a0;color:var(--warning-text)}.table{background:#0000;border-collapse:collapse;margin-top:16px;width:100%}.table td,.table th{border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border-subtle);color:#f5f3eec7;color:var(--text-secondary);font-size:13.5px;padding:12px 14px;text-align:left}.table th{color:#f5f3ee8c;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.table tbody tr:hover,.table th{background-color:#ffffff08;background-color:var(--tint-header)}.grid{grid-gap:24px;display:grid;gap:24px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.nav-list{flex-direction:column}.container{padding:16px}}.login-container{align-items:center;background:radial-gradient(ellipse at 20% 30%,#1a7abf26 0,#0000 55%),radial-gradient(ellipse at 80% 70%,#d9770614 0,#0000 50%),var(--bg-page);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.login-container:after,.login-container:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.login-container:before{border:1px solid #1a7abf1f;height:580px;right:-120px;top:-120px;width:580px}.login-container:after{border:1px solid #d9770614;bottom:60px;height:320px;right:80px;width:320px}.login-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 20px 60px #00000073;max-width:420px;padding:44px 40px 36px;position:relative;width:100%;z-index:1}.login-card:before{background:var(--amber);border-radius:16px 0 0 16px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.login-card h1{color:var(--amber);font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.22em;margin-bottom:14px;text-align:center;text-transform:uppercase}.login-card h2{color:var(--labcoat);font-family:var(--font-serif);font-size:34px;font-weight:400;letter-spacing:-.01em;line-height:1.15;margin-bottom:32px;text-align:center}.login-card h2 em{color:var(--or-blue-mid);font-style:italic}.error-message{background-color:var(--danger-soft);border:1px solid #e0533d66;border-radius:var(--radius-md);color:var(--danger-text);font-size:13.5px;margin-bottom:20px;padding:12px 14px}.form-group{margin-bottom:18px}.form-group label{color:var(--text-secondary);display:block;font-size:13px;font-weight:500;letter-spacing:.01em;margin-bottom:8px}.btn-block{font-size:14px;font-weight:600;letter-spacing:.02em;margin-top:12px;padding:12px 24px;width:100%}.login-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:12.5px;margin-top:28px;padding-top:18px;text-align:center}.login-footer p{color:var(--text-muted);margin:0}.login-link{background:none;border:none;color:var(--or-blue-mid);cursor:pointer;font:inherit;font-size:12.5px;margin:0;padding:0;text-decoration:none}.login-link:hover{text-decoration:underline}.login-link:disabled{color:var(--text-muted);cursor:default;text-decoration:none}.forgot-password-row{display:flex;justify-content:flex-end;margin:-8px 0 4px}.info-message{background-color:var(--info-soft);border:1px solid #4a9fd466;border-radius:var(--radius-md);color:var(--info-text);font-size:13.5px;line-height:1.55;margin-bottom:20px;padding:12px 14px}.password-requirements{background-color:var(--tint-header);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:12.5px;margin-bottom:20px;padding:14px 16px}.password-requirements p{color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.14em;margin:0 0 8px;text-transform:uppercase}.password-requirements ul{color:var(--text-muted);margin:0;padding-left:20px}.password-requirements li{margin-bottom:4px}.App{background-color:var(--bg-page);color:var(--text-primary);min-height:100vh;position:relative}.App:after,.App:before{border-radius:50%;content:"";pointer-events:none;position:fixed;z-index:0}.App:before{border:1px solid #1a7abf12;height:620px;right:-180px;top:-180px;width:620px}.App:after{border:1px solid #d977060d;bottom:-80px;height:340px;left:-120px;width:340px}.App>*{position:relative;z-index:1}.brand-mark{align-items:center;display:inline-flex;font-family:var(--font-sans);font-size:18px;font-weight:600;gap:10px;letter-spacing:-.01em;padding:0 22px 0 4px}.brand-mark,.brand-mark span.brand-or{color:var(--or-blue)}.brand-mark span.brand-rest{color:var(--or-blue-mid)}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1600px;padding:0 24px}.nav-list{flex:1 1}.logout-button{background:#0000;border:1.5px solid #d9770666;border-radius:var(--radius-md);color:var(--amber);cursor:pointer;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.02em;margin-left:20px;padding:8px 18px;transition:all .15s ease}.logout-button:hover{background:var(--amber);color:var(--navy)}.theme-toggle{align-items:center;background:#0000;border:1.5px solid var(--border-soft);border-radius:var(--radius-md);color:var(--or-blue-mid);cursor:pointer;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;margin-left:16px;padding:0;transition:color .15s ease,border-color .15s ease,background .15s ease;width:38px}.theme-toggle:hover{background:var(--bg-surface-hover);border-color:#d9770666;color:var(--amber)}.theme-toggle svg{display:block;height:18px;width:18px}.theme-toggle--login{position:absolute;right:18px;top:18px;z-index:2}.hamburger-menu{background:none;border:none;cursor:pointer;display:none;flex-direction:column;margin-right:12px;padding:10px}.hamburger-menu span{background-color:var(--labcoat);border-radius:2px;height:2px;margin:3px 0;transition:.3s;width:24px}.board-container{margin-top:24px}.hospital-section{margin-bottom:36px}.hospital-section>h2,.hospital-section>h3{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:.02em;margin-bottom:14px;padding-bottom:10px;text-transform:uppercase}.board-table{-webkit-overflow-scrolling:touch;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto}.App .board-table table{background:#0000;border:none;border-collapse:initial;border-radius:0;border-spacing:0;box-shadow:none;margin:0;overflow:visible;width:100%}.board-table td,.board-table th{background:#0000;color:var(--text-secondary);height:40px;min-width:120px;padding:8px;text-align:center;vertical-align:top}.board-table th{background-color:var(--tint-header);color:var(--text-muted);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.board-table tr:nth-child(2n) td{background-color:var(--tint-zebra)}.board-table tr:hover td{background-color:var(--tint-header)}.room-cell{background:linear-gradient(#1a7abf12,#1a7abf12),var(--bg-surface)!important;color:var(--text-primary);font-weight:600;min-width:150px;text-align:left!important;z-index:4}.board-table thead th:first-child,.room-cell{box-shadow:inset -1px 0 0 var(--border-subtle);left:0;position:-webkit-sticky;position:sticky}.board-table thead th:first-child{background:linear-gradient(var(--tint-header),var(--tint-header)),var(--bg-surface);z-index:5}.time-slot-cell{height:80px;vertical-align:top}.time-indicator{background:var(--amber);box-shadow:0 0 8px #d9770699}.schedule-block{align-items:center;background-color:var(--tint-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:12px;font-weight:500;justify-content:center;text-align:center;transition:background-color .15s ease,box-shadow .15s ease,border-color .15s ease}.schedule-block.empty{background-color:var(--bg-input);border:1px dashed var(--border-soft);color:var(--text-secondary)}.schedule-block.manual{background-color:#1a7abfb3;border:1px solid var(--or-blue);color:var(--labcoat)}.schedule-block.success{background-color:#16a34ab3;border:1px solid var(--success);color:var(--labcoat)}.schedule-block.incomplete{background-color:#e0533db3;border:1px solid var(--danger);color:var(--labcoat)}.schedule-block:hover{box-shadow:0 2px 8px #0006;filter:brightness(1.1)}.schedule-block.clickable{cursor:pointer}.schedule-block.clickable:hover{box-shadow:0 2px 10px #00000073}.schedule-type{font-size:11px;font-weight:600;line-height:1.2;word-break:break-word}.schedule-info{margin-bottom:4px}.allocation-info,.no-allocation-info{font-size:10px;margin-top:4px}.no-allocation-info{color:var(--text-faint);text-align:center}.text-muted{color:var(--text-muted)!important;font-style:italic}.schedule-details{background-color:var(--bg-surface-raised);border:1px solid var(--border-subtle);border-left:3px solid var(--amber);border-radius:var(--radius-md);margin-bottom:20px;padding:16px}.schedule-details h3{color:var(--or-blue-mid);margin-top:0}.allocation-details{margin-top:20px}.allocation-status{border:1px solid;border-radius:var(--radius-md);font-size:13.5px;margin-bottom:16px;padding:12px 16px}.allocation-status.complete{background-color:var(--success-soft);border-color:#16a34a66;color:var(--success-text)}.allocation-status.incomplete{background-color:var(--danger-soft);border-color:#e0533d66;color:var(--danger-text)}.allocated-staff{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.doctors-section,.nurses-section{background:var(--tint-header);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px}.doctors-section h4,.nurses-section h4{color:var(--amber);font-size:11px;letter-spacing:.16em;margin-bottom:12px;margin-top:0;text-transform:uppercase}.employee-item{background:var(--bg-surface-raised);border-left:3px solid #0000;border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;margin:6px 0;padding:8px 12px}.employee-item.doctor{background-color:#1a7abf1f;border-left-color:var(--or-blue-mid);color:var(--text-primary)}.employee-item.nurse{background-color:#d977061a;border-left-color:var(--amber);color:var(--text-primary)}@media (max-width:768px){.allocated-staff{grid-template-columns:1fr}}.modal-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:#050c19b8;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:86vh;max-width:640px;overflow-y:auto;position:relative;width:100%}.modal-content:before{background:var(--amber);border-radius:var(--radius-lg) 0 0 var(--radius-lg);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.modal-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:22px 26px}.modal-header h3{color:var(--text-primary);font-family:var(--font-serif);font-size:22px;font-weight:400;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .15s ease,color .15s ease;width:32px}.modal-close:hover{background:#d977061a;color:var(--amber)}.modal-body{padding:22px 26px}.modal-footer{background:#00000026;border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--border-subtle);display:flex;gap:10px;justify-content:flex-end;padding:18px 26px}.allocation-section{margin-bottom:26px}.allocation-section h4{color:var(--text-secondary);font-size:11px;letter-spacing:.16em;margin-bottom:10px;text-transform:uppercase}.employee-checkboxes{grid-gap:8px;background:#00000026;border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));max-height:220px;overflow-y:auto;padding:12px}.manual-allocation-info{background-color:#d977061a;border:1px solid #d977064d;border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;margin-top:10px;padding:10px 12px}.employee-tag{background-color:var(--tint-raised-strong);border-radius:3px;color:var(--text-primary);display:inline-block;font-size:9.5px;font-weight:500;margin:1px;padding:2px 6px}.employee-tag.manual{background-color:#d9770659;border:1px solid #d977068c;color:var(--labcoat)}.doctor.employee-tag,.employee-tag.doctor{background-color:#16a34a80;color:var(--labcoat)}.employee-tag.nurse,.nurse.employee-tag{background-color:#d9770673;color:var(--labcoat)}.App table{background:var(--bg-surface);border:1px solid var(--border-subtle);border-collapse:collapse;border-radius:var(--radius-md);box-shadow:none;margin-top:12px;overflow:hidden;width:100%}.App td,.App th{border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:13.5px;padding:12px 14px;text-align:left}.App th{background-color:var(--tint-header);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.App tr:nth-child(2n){background-color:var(--tint-zebra)}.App tr:hover{background-color:var(--bg-surface-raised)}.board-table td,.board-table th{border:none;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle)}.board-table tr:last-child td{border-bottom:none}.board-table .room-cell,.board-table td:last-child,.board-table th:last-child,.board-table thead th:first-child{border-right:none}.toast{align-items:center;animation:slideIn .3s ease-out;border:1px solid;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;font-size:14px;font-weight:500;justify-content:space-between;max-width:500px;min-width:300px;padding:14px 20px;position:fixed;right:24px;top:24px;z-index:9999}@keyframes slideIn{0%{opacity:0;transform:translateX(420px)}to{opacity:1;transform:translateX(0)}}.toast-success{background:#16a34a2e;border-color:#16a34a80;color:var(--success-text)}.toast-error{background:#e0533d33;border-color:#e0533d80;color:var(--danger-text)}.toast-warning{background:#d9770638;border-color:#d9770680;color:var(--warning-text)}.toast-info{background:#4a9fd42e;border-color:#4a9fd480;color:var(--info-text)}.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:22px;font-weight:700;line-height:1;margin-left:16px;opacity:.7;padding:0;transition:opacity .2s}.toast-close:hover{opacity:1}.credentials-checkboxes{grid-gap:10px;background-color:#0000002e;border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:10px;padding:16px}.checkbox-label{align-items:center;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;padding:6px 8px;transition:background-color .15s ease}.checkbox-label:hover{background-color:var(--tint-raised)}.checkbox-label input[type=checkbox]{accent-color:var(--amber);cursor:pointer;margin-right:10px;transform:scale(1.15)}.checkbox-text{color:var(--text-primary);font-size:13.5px;-webkit-user-select:none;user-select:none}.board-and-shifts{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:40px 1fr 420px}.board-and-shifts.sidebar-open{grid-template-columns:260px 1fr 420px}.mobile-toggle-btn{background-color:var(--amber);border:none;border-radius:var(--radius-pill);bottom:24px;box-shadow:var(--shadow-lg);color:var(--navy);cursor:pointer;display:none;font-weight:600;padding:12px 22px;position:fixed;right:24px;transition:all .2s ease;z-index:999}.mobile-toggle-btn:hover{background-color:#b85f04;transform:scale(1.04)}.mobile-hospital-selector{display:none;margin-bottom:15px}.mobile-hospital-selector label{display:block;font-weight:500;margin-bottom:6px}.hospital-or-sidebar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);height:-webkit-fit-content;height:fit-content;max-height:calc(100vh - 20px);overflow-y:auto;padding:14px;position:-webkit-sticky;position:sticky;top:10px}.hospital-or-sidebar.collapsed{align-items:flex-start;cursor:pointer;display:flex;justify-content:center;overflow:hidden;padding:0;width:40px}.hospital-or-sidebar.collapsed:hover{background:#1a7abf14}.sidebar-toggle-strip{align-items:center;display:flex;height:60px;justify-content:center;width:40px}.sidebar-toggle-icon{color:var(--or-blue-mid);font-size:22px;line-height:1}.sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.sidebar-header h3{color:var(--amber);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.14em;margin:0;text-transform:uppercase}.sidebar-collapse-btn{background:#0000;border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:16px;line-height:1;padding:3px 8px;transition:all .15s ease}.sidebar-collapse-btn:hover{background:var(--tint-raised);border-color:#d9770666;color:var(--amber)}.sidebar-search{margin-bottom:10px}.sidebar-search input{font-size:13px;padding:8px 10px}.sidebar-actions{margin-bottom:12px}.sidebar-create-shift-btn{font-size:13px;padding:8px 10px;width:100%}.sidebar-tree{font-size:13px}.sidebar-empty{color:var(--text-muted);font-style:italic;margin:0;padding:8px 0}.sidebar-hospital-node{margin-bottom:4px}.sidebar-hospital-header{align-items:center;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:6px 8px;transition:background-color .15s ease}.sidebar-hospital-header:hover{background:var(--bg-input)}.sidebar-chevron{color:var(--or-blue-mid);flex-shrink:0;font-size:10px;text-align:center;width:12px}.sidebar-hospital-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-badge{background:#4a9fd42e;border-radius:var(--radius-pill);color:var(--or-blue-mid);flex-shrink:0;font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:2px 8px}.sidebar-or-list{list-style:none;margin:0;padding:0 0 0 18px}.sidebar-or-item{align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-weight:400;gap:6px;padding:4px 8px;transition:background-color .15s ease,color .15s ease}.sidebar-or-item:hover{background:#4a9fd414;color:var(--text-primary)}.sidebar-or-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-create-btn{background:#0000;border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:13px;line-height:1;padding:2px 7px;transition:all .15s ease;visibility:hidden}.sidebar-or-item:hover .sidebar-create-btn{visibility:visible}.sidebar-create-btn:hover{background:#d9770626;border-color:var(--amber);color:var(--amber)}.loading-container{align-items:center;color:var(--text-muted);display:flex;font-size:14px;justify-content:center;letter-spacing:.05em;min-height:50vh}@keyframes highlight-flash{0%{background-color:#d9770659}to{background-color:initial}}.highlight-flash{animation:highlight-flash 1.6s ease-out}.employee-details-trigger{background:#0000;border:none;color:var(--or-blue-mid);cursor:pointer;font-size:13px;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.employee-details-trigger:hover{color:var(--amber)}.employee-details-popover{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:13px;padding:14px 16px}@media (max-width:1024px){.hamburger-menu{display:flex}.nav-container{flex-wrap:wrap}.nav-list{background-color:var(--bg-surface);border-top:1px solid var(--border-subtle);box-shadow:var(--shadow-md);display:none;flex-direction:column;left:0;margin:0;position:absolute;right:0;top:100%;z-index:1000}.nav-list-open{display:flex}.nav-item{width:100%}.nav-link{border-bottom:1px solid var(--border-subtle);border-left:3px solid #0000;padding:15px 20px}.nav-link.active{border-bottom-color:var(--border-subtle);border-left-color:var(--amber)}.logout-button{margin-left:auto;margin-right:12px}.board-and-shifts,.board-and-shifts.sidebar-open{gap:0;grid-template-columns:1fr}.hospital-or-sidebar{display:none}.mobile-toggle-btn{display:block}.mobile-hidden{display:none!important}.mobile-hospital-selector{display:block}.board-controls{display:flex;flex-wrap:wrap;gap:10px}.board-controls .btn,.board-controls input[type=date]{flex:1 1 100%;min-width:0}.board-slider-controls{flex-direction:column;gap:10px}.board-slider-controls .btn{width:100%}.shifts-card{margin-top:20px;position:static!important}.board-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.modal-content{max-height:90vh;width:95%}.allocated-staff,.credentials-checkboxes,.employee-checkboxes{grid-template-columns:1fr}.container{padding:0 14px}.card{margin:18px 0;padding:18px}}@media (max-width:640px){.board-table td,.board-table th{font-size:12px;min-width:80px;padding:6px}.schedule-block{font-size:10px;padding:2px}.btn{font-size:13px;padding:10px 14px}.form-control{font-size:16px}h1{font-size:26px}h2{font-size:22px}h3{font-size:18px}}.schedule-hover-tooltip{animation:scheduleHoverFade .12s ease-out;background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:13px;line-height:1.45;padding:12px 14px;pointer-events:none;z-index:10000}@keyframes scheduleHoverFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.schedule-hover-header{border-bottom:1px solid var(--border-subtle);margin-bottom:8px;padding-bottom:8px}.schedule-hover-title{color:var(--text-primary);font-size:13.5px;font-weight:600}.schedule-hover-subtitle{color:var(--text-muted);font-size:12px;margin-top:2px}.schedule-hover-empty{color:var(--text-muted);font-size:12.5px;font-style:italic}.schedule-hover-source{color:var(--amber);font-size:11px;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.schedule-hover-section+.schedule-hover-section{margin-top:10px}.schedule-hover-section-title{color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.12em;margin-bottom:6px;text-transform:uppercase}.schedule-hover-list{display:flex;flex-direction:column;gap:7px;list-style:none;margin:0;padding:0}.schedule-hover-staff{background:var(--bg-surface-raised);border-left:3px solid #0000;border-radius:var(--radius-sm);padding:6px 8px}.schedule-hover-staff.doctor{border-left-color:var(--or-blue-mid)}.schedule-hover-staff.nurse{border-left-color:var(--amber)}.schedule-hover-staff-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.schedule-hover-staff-name{color:var(--text-primary);font-size:12.5px;font-weight:600}.schedule-hover-staff-meta{color:var(--text-muted);font-size:11.5px;margin-top:3px}.schedule-hover-muted{font-style:italic}.schedule-hover-badge{border-radius:var(--radius-pill);flex-shrink:0;font-size:11px;font-weight:600;padding:1px 8px;white-space:nowrap}.schedule-hover-badge--order{background:var(--warning-soft);color:var(--amber)}.schedule-hover-badge--shift-doctor,.schedule-hover-badge--type{background:var(--info-soft);color:var(--or-blue-mid);font-weight:500}
/*# sourceMappingURL=main.4736c1ac.css.map*/