:root{--bg:#f5f7f7;--surface:#fff;--surface-strong:#f7faf9;--ink:#061d36;--muted:#617284;--line:#dce4e2;--line-strong:#b9c7c5;--primary:#06203b;--primary-dark:#04162a;--primary-soft:#e7edf3;--teal:#0b355d;--teal-dark:#06203b;--teal-soft:#e5edf5;--champagne:#d8cabe;--success:#1d8a5a;--success-soft:#dff3e8;--warning:#d1941c;--warning-soft:#fff1c9;--danger:#c4473d;--danger-soft:#f9dfdc;--shadow:0 18px 46px #06203b1a;--shadow-soft:0 8px 22px #06203b12;--radius:8px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}#root{min-height:100vh}.calendar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:22px}.calendar-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.calendar-header h2{color:var(--ink);text-align:center;font-size:1.65rem;line-height:1.1}.calendar-header button{width:42px;height:42px;color:var(--teal-dark);background:var(--teal-soft);cursor:pointer;border:1px solid #176b7424;border-radius:9px;place-items:center;font-size:1.8rem;line-height:1;display:inline-grid}.calendar-header button:hover{color:#fff;background:var(--teal-dark)}.admin-controls{background:linear-gradient(180deg, #fff, var(--surface-strong));border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:14px;display:flex}.admin-cycle-help{color:var(--muted);gap:2px;font-size:.88rem;display:grid}.admin-cycle-help strong{color:var(--ink);font-size:.95rem}.preset-actions{flex-wrap:wrap;gap:8px;display:flex}.month-quick-set{align-items:center}.month-quick-set select{min-height:34px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 10px;font-size:.82rem;font-weight:800}.preset-actions button{min-height:34px;color:var(--primary);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:7px 10px;font-size:.82rem;font-weight:800}.preset-actions button:hover{background:var(--primary-soft)}.admin-save-message{color:var(--primary);background:var(--primary-soft);border-radius:var(--radius);border:1px solid #06203b24;margin-bottom:14px;padding:10px 12px;font-size:.9rem;font-weight:800}.calendar-import-summary{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.calendar-import-summary>span:first-child{color:var(--muted);font-size:.82rem;font-weight:850}.calendar-import-pill{border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:850}.calendar-import-pill.source-other{color:var(--primary);border-color:var(--line-strong);background:#ece6dd}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.day-header{color:var(--muted);text-align:center;letter-spacing:.04em;text-transform:uppercase;padding:4px 0 8px;font-size:.78rem;font-weight:850}.day-cell{min-height:88px;color:var(--ink);border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;align-content:space-between;justify-items:start;padding:11px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;box-shadow:0 6px 14px #06203b0a}.admin-calendar .day-cell{align-content:start;gap:6px;min-height:132px;padding:10px 8px}.admin-calendar .day-cell.selected{min-height:172px}.day-cell.empty{background:0 0;border-color:#0000}.day-cell.clickable{cursor:pointer}.day-cell.clickable:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 12px 24px #06203b1c}.day-cell:disabled{cursor:not-allowed;opacity:.74}.day-cell.past{color:#8b8790;opacity:.7;background:#efebe4;border-color:#ddd5c9}.day-cell.past .day-status{color:#8b8790}.day-cell.selected{border-color:var(--teal);box-shadow:0 0 0 3px #176b742e}.day-cell.harbor-day{border-color:var(--primary);border-width:2px;box-shadow:0 0 0 4px #06203b29,0 14px 28px #06203b24}.day-cell.harbor-day:before{content:"";pointer-events:none;border:1px solid #d8cabed1;border-radius:7px;position:absolute;inset:4px}.day-cell.requested-day{border-width:2px;border-color:#c9912f;box-shadow:0 0 0 4px #c9912f29,0 12px 24px #734f121f}.day-cell.requested-day:before{content:"";pointer-events:none;border:1px dashed #c9912fb8;border-radius:7px;position:absolute;inset:4px}.day-cell.today .day-number:after{content:"Today";color:var(--teal-dark);letter-spacing:.04em;text-transform:uppercase;margin-left:6px;font-size:.62rem;font-weight:800}.day-cell.status-available{background:linear-gradient(180deg, #fff, var(--success-soft));border-color:#1d8a5a42}.day-cell.status-possibly{background:linear-gradient(180deg, #fff, var(--warning-soft));border-color:#d1941c42}.day-cell.status-unavailable{background:linear-gradient(180deg, #fff, var(--danger-soft));border-color:#c4473d3d}.day-cell.status-not_open{background:linear-gradient(#fbfcff,#e5e9f0)}.day-number{flex-wrap:wrap;align-items:center;gap:5px;font-size:1.05rem;font-weight:850;display:flex}.harbor-day-label{color:#fff;background:var(--primary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:18px;padding:2px 6px;font-size:.58rem;font-weight:900;line-height:1;display:inline-flex}.requested-day-label{color:#3b2708;letter-spacing:.04em;text-transform:uppercase;background:#f5d48b;border:1px solid #a66d1447;border-radius:999px;align-items:center;min-height:18px;padding:2px 6px;font-size:.58rem;font-weight:900;line-height:1;display:inline-flex}.day-status{max-width:100%;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.2}.day-actions{margin-top:4px}.day-detail-action{color:var(--teal-dark);background:#ffffffbd;border:1px solid #06203b1f;border-radius:5px;padding:3px 6px;font-size:.66rem;font-weight:850;display:inline-flex}.day-detail-action:hover,.day-detail-action:focus{background:#fff;outline:none}.booking-count{color:#fff;background:linear-gradient(135deg, var(--primary), var(--teal-dark));text-align:center;border:2px solid #fff;border-radius:6px;min-width:42px;min-height:22px;padding:3px 7px;font-size:.68rem;font-weight:850;line-height:1.15;position:absolute;top:8px;right:8px}.calendar-event-count{min-width:42px;min-height:22px;color:var(--teal-dark);border:2px solid var(--teal-dark);text-align:center;background:#fff;border-radius:6px;padding:3px 7px;font-size:.68rem;font-weight:850;line-height:1.15;position:absolute;top:36px;right:8px}.calendar-event-preview-list{cursor:pointer;gap:4px;width:100%;max-height:72px;margin-top:4px;display:grid;overflow:hidden}.admin-calendar .day-cell.selected .calendar-event-preview-list{max-height:118px;padding-right:2px;overflow:auto}.calendar-event-preview,.calendar-event-more{max-width:100%;color:var(--teal-dark);text-overflow:ellipsis;white-space:nowrap;background:#ffffffc7;border:1px solid #06203b1f;border-radius:5px;padding:4px 5px;font-size:.66rem;font-weight:850;line-height:1.15;display:block;overflow:hidden}.calendar-event-preview.source-harbor{color:#174ea6;background:#e8f0fe;border-color:#8ab4f8}.calendar-event-preview.source-info{color:#6b367c;background:#f4e8f8;border-color:#c89bd4}.calendar-event-preview.source-tom{color:#8f2d27;background:#fde7e4;border-color:#e67c73}.calendar-event-preview.source-believe{color:#7a4b00;background:#fff3d6;border-color:#f9ab00}.calendar-event-preview.source-others{color:#3f6212;background:#edf7df;border-color:#7cb342}.calendar-event-preview.source-other{color:var(--primary);border-color:var(--line-strong);background:#ece6dd}.calendar-event-more{color:var(--muted);background:#ffffff8f}.calendar-event-preview-list:hover .calendar-event-preview,.calendar-event-preview-list:focus .calendar-event-preview,.calendar-event-preview-list:hover .calendar-event-more,.calendar-event-preview-list:focus .calendar-event-more{border-color:var(--teal);background:#fff}.app.dark-mode .calendar-header h2,.app.dark-mode .admin-cycle-help strong,.app.dark-mode .day-number{color:#f4f8fb}.app.dark-mode .calendar-header button{color:#d8cabe;background:#0b1f31;border-color:#d8cabe3d}.app.dark-mode .calendar-header button:hover{color:#071727;background:#d8cabe}.app.dark-mode .admin-cycle-help,.app.dark-mode .day-header,.app.dark-mode .day-status,.app.dark-mode .calendar-import-summary>span:first-child,.app.dark-mode .calendar-event-more{color:#a8bac7}.app.dark-mode .calendar-import-summary{background:#0b1f31;border-color:#8eabc43d}.app.dark-mode .day-cell{color:#edf6fb;background:#10283d;border-color:#8eabc438;box-shadow:0 10px 22px #00000038}.app.dark-mode .day-cell.clickable:hover,.app.dark-mode .day-cell.selected{border-color:#d8cabe;box-shadow:0 0 0 3px #d8cabe2e,0 14px 28px #00000042}.app.dark-mode .day-cell.harbor-day{border-color:#d8cabe;box-shadow:0 0 0 4px #d8cabe38,0 16px 32px #00000057}.app.dark-mode .day-cell.harbor-day:before{border-color:#d8cabe94}.app.dark-mode .harbor-day-label{color:#071727;background:#d8cabe}.app.dark-mode .day-cell.requested-day{border-color:#e1b454;box-shadow:0 0 0 4px #e1b45433,0 16px 32px #0000004d}.app.dark-mode .day-cell.requested-day:before{border-color:#e1b45499}.app.dark-mode .requested-day-label{color:#1b1304;background:#e1b454;border-color:#ffe7ae6b}.app.dark-mode .day-cell.empty{box-shadow:none;background:0 0;border-color:#0000}.app.dark-mode .day-cell.past{color:#778b9d;background:#091827;border-color:#8eabc424}.app.dark-mode .day-cell.today .day-number:after,.app.dark-mode .day-detail-action{color:#d8cabe}.app.dark-mode .day-cell.status-available{background:linear-gradient(#10283d,#123728);border-color:#2d9b6557}.app.dark-mode .day-cell.status-possibly{background:linear-gradient(#10283d,#3b2a0f);border-color:#c9932b6b}.app.dark-mode .day-cell.status-unavailable{background:linear-gradient(#10283d,#3b1719);border-color:#d1524866}.app.dark-mode .day-cell.status-not_open{background:linear-gradient(#10283d,#111d2b);border-color:#8eabc438}.app.dark-mode .day-detail-action,.app.dark-mode .calendar-event-preview,.app.dark-mode .calendar-event-more{background:#ffffff14;border-color:#8eabc438}.app.dark-mode .booking-count{color:#071727;background:#d8cabe;border-color:#071727}.app.dark-mode .calendar-event-count{color:#d8cabe;background:#071727;border-color:#d8cabe}.app.dark-mode .calendar-event-preview-list:hover .calendar-event-preview,.app.dark-mode .calendar-event-preview-list:focus .calendar-event-preview,.app.dark-mode .calendar-event-preview-list:hover .calendar-event-more,.app.dark-mode .calendar-event-preview-list:focus .calendar-event-more{background:#d8cabe1f;border-color:#d8cabe}.calendar-legend{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;gap:10px;margin-top:18px;padding:14px;display:flex}.legend-item{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.9rem;font-weight:850;display:flex}.legend-color{border:1px solid #00000014;border-radius:4px;width:18px;height:18px}.legend-color.status-available{background:var(--success)}.legend-color.status-possibly{background:var(--warning)}.legend-color.status-unavailable{background:var(--danger)}.legend-color.status-not_open{background:#7b8496}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#18212f6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,420px);padding:22px;box-shadow:0 24px 70px #18212f40}.modal h3{color:var(--ink);margin-bottom:18px;font-size:1.25rem}.modal select{margin:8px 0 18px}.modal-buttons{justify-content:flex-end;gap:10px;display:flex}@media (width<=680px){.calendar{padding:14px}.admin-controls{flex-direction:column;align-items:stretch}.admin-cycle-help{text-align:left}.calendar-grid{gap:5px}.day-cell{min-height:66px;padding:7px}.admin-calendar .day-cell{min-height:88px}.day-status,.calendar-event-preview-list,.day-cell.today .day-number:after{display:none}.harbor-day-label,.requested-day-label{padding:2px 5px;font-size:.5rem}}@media (width<=430px){.calendar-header button{width:36px;height:36px}.day-header{font-size:.68rem}.day-cell{min-height:54px}.day-cell.harbor-day:before,.day-cell.requested-day:before{inset:3px}}.calendar-import-pill.source-tom{color:#8f2d27;background:#fde7e4;border-color:#e67c73}.calendar-import-pill.source-others{color:#3f6212;background:#edf7df;border-color:#7cb342}.calendar-import-pill.source-harbor{color:#174ea6;background:#e8f0fe;border-color:#8ab4f8}.calendar-import-pill.source-believe{color:#7a4b00;background:#fff3d6;border-color:#f9ab00}.calendar-import-pill.source-info{color:#6b367c;background:#f4e8f8;border-color:#c89bd4}.app{width:min(1240px,100% - 32px);margin:0 auto;padding:20px 0 56px}.app:before{content:"";z-index:-2;background:linear-gradient(#ffffffd6,#f5f7f7eb),repeating-linear-gradient(135deg,#06203b0a 0 1px,#0000 1px 22px),linear-gradient(125deg,#06203b14 0%,#0000 32%),linear-gradient(#f7faf9 0%,#eef4f3 100%);position:fixed;inset:0}.app:after{content:"";z-index:-1;background:linear-gradient(180deg, var(--primary), var(--teal), var(--champagne));pointer-events:none;width:8px;position:fixed;inset:0 auto 0 0}.app-header{background:linear-gradient(135deg, var(--primary), #0a2d50 64%, var(--teal-dark));border:1px solid #ffffff29;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:10px 12px 10px 16px;display:flex;box-shadow:0 18px 42px #06203b2e}.booking-header{flex-direction:column;justify-content:center;gap:12px;padding:18px 18px 14px;position:relative}.booking-header:after{content:"";background:linear-gradient(90deg, transparent, var(--champagne), transparent);opacity:.92;width:min(520px,72%);height:2px}.compact-header{min-height:86px}.brand{align-items:center;width:min(58vw,520px);min-width:0;display:flex;overflow:hidden}.booking-header .brand{justify-content:center;width:min(100%,690px);max-height:150px}.compact-header .brand{width:min(48vw,430px);max-height:96px}.gate-icon,.empty-icon{color:#fff;background:linear-gradient(135deg, var(--primary), #8b6f2d);border-radius:var(--radius);place-items:center;width:44px;height:44px;font-weight:800;display:inline-grid}.brand-logo{object-fit:contain;width:100%;height:auto;max-height:138px;display:block}.booking-header .brand-logo{max-height:174px}.compact-header .brand-logo{max-height:118px}.eyebrow{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:800}nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #d8cabe57;border-radius:9px;align-items:center;gap:8px;padding:5px;display:flex}.booking-header nav{order:3}nav a,.logout-btn,.secondary-btn,.theme-toggle{color:#ffffffc7;cursor:pointer;background:0 0;border-radius:7px;min-height:38px;padding:8px 13px;font-weight:750;text-decoration:none;transition:background .16s,color .16s,box-shadow .16s}nav a.active,nav a:hover,.secondary-btn:hover,.theme-toggle:hover,.theme-toggle.active{color:var(--primary);background:#ffffffeb;box-shadow:0 8px 18px #06203b29}.logout-btn{color:#f4d8d4}.theme-toggle{border:1px solid #d8cabe47}.app.dark-mode{color:#edf6fb}.app.dark-mode:before{background:linear-gradient(#071727f5,#050f1bfa),repeating-linear-gradient(135deg,#8eabc40e 0 1px,#0000 1px 24px),linear-gradient(135deg,#d8cabe1f,#0000 36%),linear-gradient(#071727 0%,#050f1b 100%)}.app.dark-mode:after{background:linear-gradient(#d8cabe,#5c87b0,#0b355d)}.app.dark-mode .app-header{background:linear-gradient(135deg,#071727,#0a2540 58%,#0b355d);border-color:#d8cabe2e;box-shadow:0 18px 46px #0000005c}.app.dark-mode nav{background:#ffffff12;border-color:#d8cabe3d}.app.dark-mode nav a.active,.app.dark-mode nav a:hover,.app.dark-mode .theme-toggle:hover,.app.dark-mode .theme-toggle.active,.app.dark-mode .secondary-btn:hover{color:#071727;background:#edf6fb}.app.dark-mode .admin-summary,.app.dark-mode .intro-panel,.app.dark-mode .booking-form,.app.dark-mode .login-container,.app.dark-mode .gate-card,.app.dark-mode .empty-admin,.app.dark-mode .date-detail-panel,.app.dark-mode .calendar,.app.dark-mode .admin-tool-card{color:#edf6fb;background:linear-gradient(#10283d,#0d2236);border-color:#8eabc43d;box-shadow:0 20px 54px #00000057}.app.dark-mode h2,.app.dark-mode h3,.app.dark-mode strong,.app.dark-mode .case-row-main strong,.app.dark-mode .login-heading h2{color:#f4f8fb}.app.dark-mode .eyebrow{color:#d8cabe}.app.dark-mode .muted,.app.dark-mode .hint,.app.dark-mode .empty-state p,.app.dark-mode .empty-admin p,.app.dark-mode .intro-subtitle,.app.dark-mode .case-row-main span,.app.dark-mode .case-row-date,.app.dark-mode .document-file-name span,.app.dark-mode .resource-row span,.app.dark-mode .audit-row span,.app.dark-mode .audit-row p{color:#a8bac7}.app.dark-mode .summary-pill,.app.dark-mode .prominent-key,.app.dark-mode .admin-controls,.app.dark-mode .document-list-panel{color:#edf6fb;background:linear-gradient(#132d45,#0e253a);border-color:#8eabc438}.app.dark-mode .summary-pill strong,.app.dark-mode .queue-total,.app.dark-mode .collapsible-title>span:first-child,.app.dark-mode .secondary-action,.app.dark-mode .link-button,.app.dark-mode .login-links a{color:#d8cabe}.app.dark-mode .summary-pill{box-shadow:0 12px 28px #0000003d}.app.dark-mode .key-item,.app.dark-mode .case-queue-row,.app.dark-mode .date-booking-card,.app.dark-mode .document-row,.app.dark-mode .resource-row,.app.dark-mode .audit-row,.app.dark-mode .portal-account-row,.app.dark-mode .health-item,.app.dark-mode .calendar-health-row,.app.dark-mode .upload-file-row{color:#edf6fb;background:#122b42;border-color:#8eabc438;box-shadow:0 12px 28px #00000038}.app.dark-mode .case-row-detail{background:#0d2236;border-top-color:#8eabc438}.app.dark-mode .case-row-summary:hover{background:linear-gradient(90deg,#d8cabe1c,#0000)}.app.dark-mode .date-booking-card{background:linear-gradient(#122b42,#0d2236);border-color:#8eabc447 #8eabc447 #8eabc447 #d8cabe}.app.dark-mode .collapse-indicator{color:#d8cabe;background:#0b1f31;border-color:#d8cabe3d}.app.dark-mode .collapsible-heading:hover h3,.app.dark-mode .collapsible-heading:focus-visible h3{color:#d8cabe}.app.dark-mode .booking-collapse-head:hover,.app.dark-mode .booking-collapse-head:focus-visible{border-color:#d8cabe5c;box-shadow:0 0 0 3px #d8cabe1f}.app.dark-mode .portal-account-type{color:#d8cabe;background:#d8cabe1f;border-color:#d8cabe3d}.app.dark-mode .date-booking-head{background:#0717278a;border-color:#d8cabe2e}.app.dark-mode .office-action-panel{background:linear-gradient(#10283d,#0d2236);border-color:#d8cabe33}.app.dark-mode .office-action-card{color:#edf6fb;background:#122b42;border-color:#8eabc447 #8eabc447 #8eabc447 #d8cabe;box-shadow:0 14px 30px #0000003d}.app.dark-mode .office-action-card strong{color:#f4f8fb}.app.dark-mode .office-action-card p,.app.dark-mode .office-action-card small{color:#a8bac7}.app.dark-mode .office-action-empty{color:#b9f2d1;background:#113626;border-color:#2d9b65}.app.dark-mode .office-action-empty span{color:#b9d9c8}.app.dark-mode .collapsible-title,.app.dark-mode .case-row-summary,.app.dark-mode .booking-status-pair strong,.app.dark-mode .document-list-head strong{color:#edf6fb}.app.dark-mode .collapsible-title>span:first-child,.app.dark-mode .queue-total,.app.dark-mode .case-filter-tabs button.active{background:#d8cabe1f;border-color:#d8cabe47}.app.dark-mode .case-filter-tabs button,.app.dark-mode .secondary-action,.app.dark-mode .table-actions select,.app.dark-mode .preset-actions button,.app.dark-mode .month-quick-set select,.app.dark-mode .form-group input,.app.dark-mode .form-group select,.app.dark-mode .form-group textarea,.app.dark-mode .modal select{color:#edf6fb;background:#0b1f31;border-color:#8eabc457}.app.dark-mode .form-group input::placeholder,.app.dark-mode .form-group textarea::placeholder{color:#7f96a8}.app.dark-mode .form-group label,.app.dark-mode .modal label{color:#c7d5df}.app.dark-mode .primary-btn,.app.dark-mode button[type=submit]{color:#071727;background:linear-gradient(135deg,#e6d7c8,#d8cabe);box-shadow:0 14px 30px #0000003d}.app.dark-mode .primary-btn:hover,.app.dark-mode button[type=submit]:hover{background:linear-gradient(135deg,#f2e5d8,#d8cabe)}.app.dark-mode .secondary-action:hover{color:#071727;background:#d8cabe}.app.dark-mode .booking-status-box{box-shadow:none}.app.dark-mode .document-detail-strip{border-top-color:#8eabc438}.app.dark-mode .document-detail-strip summary{color:#d8cabe}.app.dark-mode .document-detail-strip pre{color:#eaf2f7;background:#071727;border-color:#8eabc447}.app.dark-mode .ai-summary-card{color:#edf6fb;background:#0b1f31;border-color:#8eabc43d}.app.dark-mode .ai-summary-row{background:#ffffff0f}.app.dark-mode .ai-summary-row strong,.app.dark-mode .ai-summary-row span{color:#edf6fb}.app.dark-mode .ai-summary-card.ai-summary-success{background:#0d2d28;border-color:#4dbe8552}.app.dark-mode .ai-summary-card.ai-summary-warning{background:#332711;border-color:#f6bf2657}.app.dark-mode .ai-summary-card.ai-summary-danger{background:#351a1d;border-color:#ff7e7057}.app.dark-mode .status-please_upload_patient_info,.app.dark-mode .status-more_information_required,.app.dark-mode .booking-status-box.booking-status-pending,.app.dark-mode .booking-status-box.booking-status-possibly,.app.dark-mode .booking-status-box.patient-status-please_upload_patient_info,.app.dark-mode .booking-status-box.patient-status-awaiting_review,.app.dark-mode .booking-status-box.patient-status-more_information_required,.app.dark-mode .document-status-chip.status-pending,.app.dark-mode .document-status-chip.status-processing{color:#ffe4a0;background:#3b2a0f;border-color:#c9932b}.app.dark-mode .status-awaiting_review,.app.dark-mode .document-status-chip{color:#cbe2ff;background:#102f4e;border-color:#426d98}.app.dark-mode .status-ok_for_anesthesia,.app.dark-mode .booking-status-box.booking-status-booked,.app.dark-mode .booking-status-box.patient-status-ok_for_anesthesia,.app.dark-mode .document-status-chip.status-complete{color:#b9f2d1;background:#113626;border-color:#2d9b65}.app.dark-mode .status-not_acceptable_for_anesthesia,.app.dark-mode .booking-status-box.booking-status-available,.app.dark-mode .booking-status-box.booking-status-unavailable,.app.dark-mode .booking-status-box.booking-status-not_open,.app.dark-mode .booking-status-box.patient-status-not_acceptable_for_anesthesia,.app.dark-mode .document-status-chip.status-failed{color:#ffc1ba;background:#3b1719;border-color:#d15248}.customer-shell{gap:20px;display:grid}.intro-copy{gap:8px;display:grid}.intro-panel,.admin-summary{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:end;gap:20px;padding:26px;display:flex}.intro-panel h2,.admin-summary h2,.gate-card h2,.login-container h2{max-width:720px;font-size:2.25rem;line-height:1.05}.intro-subtitle{color:var(--muted);font-size:1rem;font-weight:700}.muted,.hint,.empty-state p,.empty-admin p{color:var(--muted)}.status-key{flex-wrap:wrap;gap:10px;display:flex}.prominent-key{background:var(--surface-strong);border:1px solid var(--line);min-width:min(100%,380px);box-shadow:var(--shadow-soft);border-radius:10px;padding:14px}.key-item{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-size:.92rem;font-weight:850;display:flex}.key-swatch{border:1px solid #0000001a;border-radius:5px;width:18px;height:18px}.key-swatch.status-available{background:var(--success)}.key-swatch.status-possibly{background:var(--warning)}.key-swatch.status-unavailable{background:var(--danger)}.key-swatch.status-not_open{background:#7b8496}.availability-note{color:var(--muted);flex-basis:100%;margin-top:2px;font-size:.9rem;font-weight:700;line-height:1.35}.customer-view{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:start;gap:20px;display:grid}.booking-form,.login-container,.gate-card,.empty-admin{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:26px}.booking-form{position:sticky;top:20px}.form-heading{margin-bottom:18px}.form-heading h3,.empty-state h3,.empty-admin h3{font-size:1.3rem}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-group{text-align:left;gap:7px;margin-bottom:14px;display:grid}.form-group label,.modal label{color:#344054;font-size:.9rem;font-weight:750}.form-group input,.form-group select,.form-group textarea,.modal select{width:100%;color:var(--ink);border:1px solid var(--line-strong);background:linear-gradient(#fff,#fbfdfd);border-radius:8px;outline:none;padding:12px 13px;transition:border-color .16s,box-shadow .16s,background .16s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.modal select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #176b7429}.form-group textarea{resize:vertical}.primary-btn,button[type=submit]{color:#fff;background:linear-gradient(135deg, var(--primary), var(--teal-dark));cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-weight:850;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex}.primary-btn:hover,button[type=submit]:hover{background:linear-gradient(135deg, var(--primary-dark), var(--teal));transform:translateY(-1px);box-shadow:0 12px 26px #06203b38}.primary-btn:disabled,button:disabled{cursor:not-allowed;opacity:.58;transform:none}.booking-form .primary-btn,.login-container .primary-btn,.gate-card .primary-btn{width:100%}.message{text-align:left;box-shadow:var(--shadow-soft);border-radius:8px;margin-bottom:16px;padding:12px 14px;font-weight:700}.message.success,.success-message{color:#125d3c;background:var(--success-soft);border:1px solid #1d8a5a3d}.approval-confirmation{color:#0f5132;border:1px solid #1d8a5a4d;border-left:5px solid var(--success);background:linear-gradient(135deg,#e7f8ee,#f7fffb);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex;box-shadow:0 12px 24px #1d8a5a1a}.approval-confirmation strong{font-weight:900}.approval-confirmation span{color:#225f42;font-weight:750}.message.error,.error{color:#8f2d27;background:var(--danger-soft);border:1px solid #c4473d3d}.empty-state{align-content:center;justify-items:start;gap:10px;min-height:280px;display:grid}.confirmation-state{align-content:start;justify-items:start;gap:12px;display:grid}.empty-icon{background:var(--primary-soft);width:38px;height:38px;color:var(--primary)}.confirmation-icon{color:#fff;background:var(--success)}.unavailable-state{border-color:#c4473d42}.unavailable-icon{color:#fff;background:var(--danger)}.confirmation-copy{color:var(--muted)}.secondary-action{min-height:40px;color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #06203b24;border-radius:8px;padding:9px 13px;font-weight:800;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;box-shadow:0 2px #06203b0a}.secondary-action:hover{background:var(--teal-soft);border-color:#176b7447;transform:translateY(-1px);box-shadow:0 8px 18px #06203b1a}.gate-shell,.login-shell{place-items:center;min-height:66vh;display:grid}.gate-card,.login-container{width:min(100%,440px)}.login-container{border-top:4px solid var(--teal);width:min(100%,500px);padding:34px}.login-heading{text-align:left;gap:8px;margin-bottom:22px;display:grid}.login-heading h2{color:var(--ink);font-size:2.2rem}.login-heading .muted{max-width:380px;font-weight:650;line-height:1.45}.login-links{flex-wrap:wrap;justify-content:center;gap:10px 14px;margin-top:16px;display:flex}.login-links a,.link-button{color:var(--teal-dark);cursor:pointer;background:0 0;font-weight:850;text-decoration:none}.login-links a:hover,.link-button:hover{text-decoration:underline}.request-account-card{width:min(100%,560px)}.gate-icon{margin-bottom:18px}.gate-logo{background:var(--primary);border-radius:var(--radius);width:min(100%,320px);margin:0 auto 22px;display:block}.gate-card .muted{margin:10px 0 20px}.hint{margin-top:14px;font-size:.84rem}.admin-panel{gap:20px;display:grid}.intake-shell .admin-summary{align-items:center}.intake-grid,.intake-admin-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:start;gap:20px;display:grid}.intake-admin-grid-wide{grid-template-columns:minmax(280px,1fr) minmax(280px,.8fr) minmax(320px,1fr)}.status-count-grid,.audit-list{gap:10px;display:grid}.office-booking-tab{gap:20px;display:grid}.office-action-panel{background:linear-gradient(#fff,#f5f9fc);border-color:#0b355d2e}.office-action-list{gap:12px;display:grid}.office-action-card{background:#fff;border:1px solid #c7d5df;border-left:5px solid #d1941c;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px;display:grid;box-shadow:0 12px 26px #06203b1a}.office-action-card>div{gap:6px;min-width:0;display:grid}.office-action-card strong{color:var(--ink);font-size:1.05rem}.office-action-card p,.office-action-card small{color:var(--muted);font-weight:750}.office-action-card small{line-height:1.4}.compact-action-btn{white-space:nowrap;min-width:164px}.office-action-empty{color:#125d3c;background:var(--success-soft);border:1px solid #1d8a5a3d;border-radius:10px;gap:4px;padding:16px;display:grid}.office-action-empty span{color:#306b50;font-weight:750}.office-portal-intro h2{font-size:2rem}.intake-case-card{background:#fff}.case-queue-panel{gap:12px}.collapsible-panel.collapsed{gap:0}.collapsible-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.collapsible-title{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.collapsible-title>span:first-child{width:28px;height:28px;color:var(--teal-dark);background:var(--teal-soft);border:1px solid #176b7438;border-radius:7px;flex:none;place-items:center;font-size:1.1rem;font-weight:900;display:inline-grid}.collapsible-title>span:last-child{gap:3px;min-width:0;display:grid}.collapsible-title strong{color:var(--text);font-size:1.12rem}.collapsible-title small{color:var(--muted);font-size:.9rem;font-weight:600}.queue-total{color:var(--teal-dark);background:var(--teal-soft);border-radius:999px;flex:none;padding:6px 9px;font-size:.9rem;font-weight:800}.case-section-head{gap:12px;display:grid}.case-filter-tabs{flex-wrap:wrap;gap:8px;display:flex}.case-filter-tabs button{min-height:34px;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-weight:800;display:inline-flex}.case-filter-tabs button.active{color:var(--teal-dark);background:var(--teal-soft);border-color:#176b7447}.case-filter-tabs strong{min-width:22px;height:22px;color:inherit;background:#ffffffc7;border-radius:999px;place-items:center;padding:0 6px;font-size:.78rem;display:inline-grid}.case-queue-list{gap:10px;display:grid}.case-queue-row{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:9px;transition:border-color .16s,box-shadow .16s,transform .16s;overflow:hidden}.case-queue-row:hover{border-color:#176b7447;transform:translateY(-1px);box-shadow:0 14px 28px #06203b1a}.case-row-summary{width:100%;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(180px,1fr) minmax(110px,auto) minmax(150px,auto);align-items:center;gap:12px;padding:14px;display:grid}.case-row-summary:hover{background:linear-gradient(90deg,#dff2f080,#0000)}.case-row-main{gap:3px;min-width:0;display:grid}.case-row-main strong,.case-row-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-row-main span,.case-row-date{color:var(--muted);font-size:.9rem;font-weight:700}.case-row-detail{border-top:1px solid var(--line);background:#fbfdfc;gap:12px;padding:0 14px 14px;display:grid}.case-row-detail>p:first-child{margin-top:12px}.status-badge{border:1px solid var(--line);border-radius:999px;align-items:center;width:fit-content;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:850;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff75}.status-please_upload_patient_info{color:#6f4c12;background:#fff3d6;border-color:#f6bf266b}.status-awaiting_review{color:var(--primary);background:var(--primary-soft);border-color:#176b7438}.status-ok_for_anesthesia{color:#125d3c;background:var(--success-soft);border-color:#1d8a5a3d}.status-more_information_required{color:#7a4b00;background:#fff3d6;border-color:#f6bf266b}.status-not_acceptable_for_anesthesia{color:#8f2d27;background:var(--danger-soft);border-color:#c4473d3d}.booking-status-pending,.booking-status-possibly{color:#7a4b00;background:#fff3d6;border-color:#f6bf266b}.booking-status-booked{color:#125d3c;background:var(--success-soft);border-color:#1d8a5a3d}.booking-status-available,.booking-status-unavailable,.booking-status-not_open{color:#8f2d27;background:var(--danger-soft);border-color:#c4473d3d}.booking-intake-card{gap:12px}.booking-status-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking-status-box{background:var(--surface-strong);border:1px solid var(--line);border-radius:9px;gap:4px;padding:12px 13px;display:grid;box-shadow:inset 0 0 0 1px #ffffff70}.booking-status-pair span{color:inherit;opacity:.76;text-transform:uppercase;font-size:.78rem;font-weight:850}.booking-status-pair strong{color:inherit;font-size:.95rem}.booking-status-box.booking-status-pending,.booking-status-box.booking-status-possibly,.booking-status-box.patient-status-please_upload_patient_info,.booking-status-box.patient-status-awaiting_review,.booking-status-box.patient-status-more_information_required{color:#6f4c12;background:#fff0c2;border-color:#e0a919}.booking-status-box.booking-status-booked,.booking-status-box.patient-status-ok_for_anesthesia{color:#0d5134;background:#d8f3e5;border-color:#32a06a}.booking-status-box.booking-status-available,.booking-status-box.booking-status-unavailable,.booking-status-box.booking-status-not_open,.booking-status-box.patient-status-not_acceptable_for_anesthesia{color:#84221d;background:#fde1dc;border-color:#d15248}.booking-card-actions{flex-wrap:wrap;gap:10px;display:flex}.document-review-panel{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;gap:6px;padding:12px;display:grid}.document-review-panel>div{gap:4px;display:grid}.document-review-panel span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:850}.document-list-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(#fff,#f7fbfa);border-radius:10px;gap:12px;margin-top:8px;padding:16px;display:grid}.document-list-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.document-list-head p{margin:0}.document-list-head>div{gap:2px;display:grid}.document-list-head strong{font-size:1rem}.document-list-head span{color:var(--muted);text-transform:uppercase;font-size:.86rem;font-weight:800}.compact-document-list{margin-top:2px}.document-table{gap:10px;display:grid}.document-row{border:1px solid #2430431f;border-left:4px solid var(--primary);background:#fff;border-radius:9px;gap:10px;padding:14px;display:grid;box-shadow:0 8px 18px #06203b0d}.document-row-main{grid-template-columns:minmax(180px,1fr) minmax(220px,auto) auto;align-items:center;gap:12px;display:grid}.document-file-name{gap:3px;min-width:0;display:grid}.document-file-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-file-name span{color:var(--muted);font-size:.85rem;font-weight:750}.document-status-track{grid-template-columns:repeat(2,minmax(92px,1fr));gap:8px;display:grid}.document-status-chip{color:#4d5d6d;background:#eef2f5;border:1px solid #5d6d7e38;border-radius:8px;gap:2px;min-height:48px;padding:9px 11px;display:grid}.document-status-chip.status-complete{color:#266447;background:#e4f6ec;border-color:#28805242}.document-status-chip.status-pending,.document-status-chip.status-processing{color:#6f4c12;background:#fff3d6;border-color:#f6bf2661}.document-status-chip.status-failed{color:#84221d;background:#fde1dc;border-color:#d1524861}.document-status-chip span{color:inherit;opacity:.72;text-transform:uppercase;font-size:.72rem;font-weight:850}.document-status-chip strong{color:inherit;font-size:.88rem}.document-action-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.document-detail-strip{border-top:1px solid #2430431a;gap:10px;padding-top:10px;display:grid}.document-detail-strip details{gap:8px;display:grid}.document-detail-strip summary{cursor:pointer;color:var(--teal-dark);font-weight:850}.document-detail-strip pre{color:#18212f;border:1px solid var(--line);white-space:pre-wrap;background:#fff;border-radius:8px;max-height:260px;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.5;overflow:auto}.ai-summary-card{border:1px solid #176b742e;border-left:5px solid var(--primary);background:#f7faf9;border-radius:9px;gap:9px;padding:14px;display:grid;box-shadow:0 10px 20px #06203b0f}.ai-summary-card.ai-summary-success{background:#eaf8f0;border-color:#28805242 #28805242 #28805242 #2f8f5d}.ai-summary-card.ai-summary-warning{background:#fff4d7;border-color:#e0a9195c #e0a9195c #e0a9195c #d79a00}.ai-summary-card.ai-summary-danger{background:#fde7e2;border-color:#d1524857 #d1524857 #d1524857 #d15248}.ai-summary-row{background:#ffffffa3;border-radius:8px;grid-template-columns:minmax(92px,.28fr) minmax(0,1fr);align-items:start;gap:12px;padding:9px 11px;display:grid}.ai-summary-row strong{color:#18212f;text-transform:uppercase;font-size:.82rem;font-weight:900}.ai-summary-row span{color:#243043;font-weight:760;line-height:1.45}.ai-summary-final-row{background:#ffffffdb;border:1px solid #2430431f}.ai-summary-final-row strong,.ai-summary-final-row span{font-weight:950}.resource-list{gap:10px;display:grid}.resource-row{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:13px;display:flex}.resource-row>div{gap:3px;display:grid}.resource-row span{color:var(--muted);font-size:.88rem;font-weight:750}.table-actions select{min-height:40px;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;padding:8px 10px;font-weight:750}.audit-row{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:9px;gap:4px;padding:13px;display:grid}.audit-row span{color:var(--muted);font-size:.78rem;font-weight:800}.audit-row strong{color:var(--primary)}.audit-row p{color:var(--muted)}.portal-account-list,.portal-account-section{gap:10px;min-width:0;display:grid}.portal-accounts-panel{width:100%}.portal-account-section{padding-top:4px}.portal-account-section+.portal-account-section{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.portal-account-item{grid-template-columns:minmax(92px,.42fr) minmax(220px,1.3fr) minmax(180px,1fr) auto auto;align-items:center}.portal-empty-row{color:var(--muted)}.portal-account-type{width:fit-content;color:var(--primary);background:var(--primary-soft);text-transform:uppercase;border:1px solid #06203b1f;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900}.portal-account-item span,.portal-account-item strong{overflow-wrap:anywhere;min-width:0}.disabled-row{opacity:.68}.compact-password-form{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-password-form .primary-btn{grid-column:1/-1}.internal-user-list{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.upload-modal{width:min(100%,620px)}.upload-dropzone{text-align:center;cursor:pointer;background:linear-gradient(#fff,#f6fbfa);border:2px dashed #176b7457;border-radius:10px;place-items:center;gap:8px;min-height:190px;padding:24px;transition:border-color .16s,background .16s,transform .16s;display:grid}.upload-dropzone:hover,.upload-dropzone.dragging{background:var(--teal-soft);border-color:var(--teal);transform:translateY(-1px)}.upload-dropzone input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.upload-icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--teal));border-radius:999px;place-items:center;width:42px;height:42px;font-size:1.4rem;font-weight:900;display:inline-grid}.upload-dropzone strong{color:var(--ink);font-size:1.05rem}.upload-dropzone span:last-of-type{color:var(--muted);font-size:.9rem;font-weight:700}.upload-file-list{gap:10px;display:grid}.upload-file-row{background:var(--surface-strong);border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.upload-file-row>div{gap:3px;min-width:0;display:grid}.upload-file-row strong{overflow-wrap:anywhere}.upload-file-row span{color:var(--muted);font-size:.85rem;font-weight:750}.admin-calendar-section{gap:14px;display:grid}.admin-tools-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;display:grid}.admin-tool-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;align-content:start;gap:16px;padding:24px;display:grid}.tool-card-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.tool-card-heading h3{font-size:1.2rem}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.health-item,.calendar-health-row{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.health-item span,.calendar-health-row span{color:var(--muted);font-size:.86rem;font-weight:750}.health-item strong,.calendar-health-row strong{text-align:right;font-size:.88rem}.status-ok{color:#125d3c}.status-alert{color:#8f2d27}.calendar-health-list,.password-form{gap:10px;display:grid}.calendar-health-row span{overflow-wrap:anywhere;min-width:0}.tool-message{color:var(--primary);font-weight:800}.date-detail-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;gap:14px;padding:24px;display:grid}.section-heading{padding:0 4px}.collapsible-heading{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:2px 4px 8px;display:flex}.collapsible-heading:hover h3,.collapsible-heading:focus-visible h3{color:var(--teal-dark)}.collapsible-heading:focus-visible{outline-offset:4px;border-radius:8px;outline:3px solid #176b7438}.collapse-indicator{min-width:58px;min-height:30px;color:var(--primary);border:1px solid var(--line);text-transform:uppercase;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:5px 9px;font-size:.75rem;font-weight:900;display:inline-flex}.section-heading h3{color:var(--ink);font-size:1.25rem}.calendar-source-controls{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.calendar-source-controls>span{color:var(--muted);font-size:.86rem;font-weight:800}.calendar-source-toggle{min-height:34px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:7px;padding:7px 10px;font-size:.88rem;font-weight:800;display:inline-flex}.calendar-source-toggle input{width:16px;height:16px;accent-color:var(--primary)}.calendar-source-dot{border-radius:999px;width:10px;height:10px}.calendar-source-dot.source-harbor{background:#4285f4}.calendar-source-dot.source-info{background:#9e69af}.calendar-source-dot.source-tom{background:#e67c73}.calendar-source-dot.source-believe{background:#f9ab00}.calendar-source-dot.source-others{background:#7cb342}.calendar-source-badge{border:1px solid var(--line);border-radius:999px;width:fit-content;padding:3px 7px;font-size:.74rem;font-weight:850;display:inline-flex}.calendar-source-badge.source-harbor{color:#174ea6;background:#e8f0fe;border-color:#8ab4f8}.calendar-source-badge.source-info{color:#6b367c;background:#f4e8f8;border-color:#c89bd4}.calendar-source-badge.source-tom{color:#8f2d27;background:#fde7e4;border-color:#e67c73}.calendar-source-badge.source-believe{color:#7a4b00;background:#fff3d6;border-color:#f9ab00}.calendar-source-badge.source-others{color:#3f6212;background:#edf7df;border-color:#7cb342}.calendar-source-badge.source-other{color:var(--primary);border-color:var(--line-strong);background:#ece6dd}.summary-pill{text-align:center;background:linear-gradient(180deg, #fff, var(--teal-soft));min-width:104px;box-shadow:var(--shadow-soft);border:1px solid #176b7438;border-radius:10px;padding:12px 16px;display:grid}.summary-pill strong{color:var(--teal-dark);font-size:1.65rem;line-height:1}.summary-pill span{color:var(--muted);font-size:.82rem;font-weight:750}.date-booking-list{gap:14px;display:grid}.calendar-event-group{gap:10px;display:grid}.calendar-event-group h4{color:var(--primary);margin:0;font-size:.95rem}.date-booking-card{border:1px solid #c7d5df;border-left:5px solid var(--primary);background:linear-gradient(#fff,#f4f8fb);border-radius:10px;gap:12px;padding:16px;display:grid;box-shadow:0 14px 30px #06203b1f}.date-booking-card.collapsed{gap:10px}.date-booking-card:hover{border-color:#9fb6c9;box-shadow:0 18px 34px #06203b26}.calendar-event-card{background:var(--primary-soft);border-color:#06203b38}.calendar-event-description{white-space:pre-line}.calendar-event-link{color:var(--primary);font-weight:800;text-decoration:none}.calendar-event-link:hover{text-decoration:underline}.date-booking-card p{color:var(--muted)}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.calendar-color-dot{vertical-align:-1px;border:1px solid #0000001f;border-radius:999px;width:12px;height:12px;margin-right:7px;display:inline-block}.date-booking-head{background:#e5edf5b8;border:1px solid #0b355d1a;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin:-4px -4px 0;padding:10px 12px;display:flex}.booking-collapse-head{width:calc(100% + 8px);color:inherit;text-align:left;cursor:pointer}.booking-collapse-head:hover,.booking-collapse-head:focus-visible{border-color:#176b7457;outline:none;box-shadow:0 0 0 3px #176b741f}.booking-head-meta{text-align:right;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.date-booking-head div{gap:3px;display:grid}.date-booking-head strong{color:var(--ink);font-size:1.08rem}.date-booking-head span{color:var(--muted);font-size:.88rem;font-weight:750}.admin-note-field{margin-bottom:0}.bookings-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto}.bookings-table{border-collapse:collapse;width:100%;min-width:760px}.bookings-table th,.bookings-table td{text-align:left;border-bottom:1px solid var(--line);padding:15px}.bookings-table th{color:var(--muted);background:var(--surface-strong);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}.bookings-table tr:last-child td{border-bottom:0}.table-actions{gap:8px;display:flex}.btn-approve,.btn-reject{color:#fff;cursor:pointer;border-radius:6px;min-height:36px;padding:8px 11px;font-weight:800}.btn-approve{background:var(--success)}.btn-approve:disabled{background:#78a98f}.btn-reject{background:var(--danger)}@media (width<=860px){.app{width:min(100% - 20px,680px);padding-top:10px}.app-header,.intro-panel,.admin-summary{flex-direction:column;align-items:stretch}.booking-header{align-items:center}.brand{justify-content:center;width:100%;max-height:122px}.booking-header .brand{max-height:138px}nav{justify-content:space-between;width:100%}.customer-view{grid-template-columns:1fr}.booking-form{position:static}.form-row{grid-template-columns:1fr;gap:0}.admin-tools-grid,.assignment-grid,.intake-grid,.intake-admin-grid,.intake-admin-grid-wide,.health-grid,.portal-account-item,.booking-status-pair{grid-template-columns:1fr}.office-action-card{grid-template-columns:1fr;align-items:stretch}.compact-action-btn{width:100%}.collapsible-panel-head{flex-direction:column;align-items:flex-start}.case-row-summary{grid-template-columns:1fr;gap:8px}.case-row-main strong,.case-row-main span{white-space:normal}.document-list-head,.document-row-main{grid-template-columns:1fr;align-items:stretch}.document-list-head{flex-direction:column}.document-file-name strong{white-space:normal}.document-status-track{grid-template-columns:1fr}.ai-summary-row{grid-template-columns:1fr;gap:4px}.bookings-table,.bookings-table thead,.bookings-table tbody,.bookings-table th,.bookings-table td,.bookings-table tr{min-width:0;display:block}.bookings-table thead{display:none}.bookings-table tr{border-bottom:1px solid var(--line);padding:14px}.bookings-table tr:last-child{border-bottom:0}.bookings-table td{border:0;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.bookings-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}}@media (width<=540px){.brand-logo{width:min(100%,440px);max-height:100px}.booking-header .brand-logo{max-height:126px}nav a,.logout-btn{text-align:center;flex:1}}
