:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f4f7fb;--muted:#93a0b2;--soft:#172332;--line:#273649;--brand:#5a9df8;--brand-hover:#78b0fb;--surface:#101a27;--surface-2:#152233;--canvas:#070d15;--draft:#fffcab;--allocation:#ff766f;--requested:#84ddfd;--confirmed:#86cd4d;--neutral:#98a2b3;--shadow:0 18px 48px #00000061;--card-shadow:0 10px 28px #0000002e}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#05090f;margin:0;font:15px/1.45 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #67a4ffb3}h1,h2,h3,p{margin-top:0}h2{margin-bottom:4px;font-size:clamp(1.7rem,7vw,2rem);line-height:1.12}h3{margin-bottom:10px;font-size:1.08rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.portal-logo{width:88px;height:auto;display:block}.header-title{align-items:center;gap:12px;min-width:0;display:flex}.header-title>div{min-width:0}.prototype-stage{background:radial-gradient(circle at 50% -15%,#2f74cf1f,#0000 38rem),#05090f;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-stage{background:radial-gradient(circle at 50% -20%,#0798e629,#0000 32rem),#000}.device-frame{background:linear-gradient(135deg,#0c1521 0%,#09111b 100%);border:1px solid #263445;border-radius:24px;width:min(100%,1500px);height:min(960px,100vh - 48px);min-height:680px;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000008f}.auth-frame{width:min(100%,440px);height:auto;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.app-scroll{scrollbar-width:none;scroll-behavior:smooth;height:100%;padding:28px 0 86px;overflow:auto}.auth-frame .app-scroll{height:auto;padding:0;overflow:visible}.app-scroll::-webkit-scrollbar{display:none}.screen{min-height:100%;animation:.18s appear}@keyframes appear{0%{opacity:.5;transform:translateY(4px)}}.login-screen{flex-direction:column;justify-content:center;min-height:100%;padding:34px 24px 46px;animation:.18s appear;display:flex}.auth-frame .login-screen{justify-content:center;min-height:min(720px,100dvh);padding:48px 22px}.login-brand{text-align:center;margin-bottom:34px}.axle-logo{width:min(248px,72vw);height:auto;margin:0 auto 30px;display:block}.login-brand h1{letter-spacing:-.02em;margin-bottom:9px;font-size:1.75rem}.login-brand p{max-width:340px;margin:0 auto}.login-brand .login-status{margin-top:24px}.login-form{gap:18px;display:grid}.login-field{margin:0;font-size:.94rem;font-weight:650}.login-field input{background:#202a35;border-color:#536170;border-radius:8px;min-height:54px;font-size:1rem;transition:border-color .15s,background-color .15s,box-shadow .15s}.login-field input:hover{border-color:#758292}.login-field input:focus{background:#25313d;border-color:#0798e6;box-shadow:0 0 0 3px #0798e629}.login-form .primary-button{color:#00111b;background:#0798e6;border-radius:8px;min-height:54px;margin-top:4px;font-size:1rem}.login-form .primary-button:hover:not(:disabled){background:#20a9ef}.login-error{color:#ffc3bf;background:#351718;border:1px solid #7e3937;border-radius:12px;margin-bottom:8px;padding:11px 13px;font-size:.85rem}.service-unavailable{text-align:center;max-width:560px;margin-inline:auto;padding:28px 22px}.service-unavailable-icon{color:#7a5311;background:#fff6df;border:1px solid #d7aa4b;border-radius:50%;place-items:center;width:42px;height:42px;margin:0 auto 4px;font-weight:800;display:grid}.service-unavailable>span:not(.service-unavailable-icon){max-width:430px;line-height:1.55}.login-help{color:#8994a3;text-align:center;margin:26px auto 0;font-size:.83rem}.auth-forgot,.auth-back{min-height:44px;color:var(--brand);background:0 0;border:0;padding:0;font-weight:760}.auth-forgot{justify-self:center;margin-top:-4px}.auth-forgot:hover,.auth-back:hover{color:var(--brand-hover)}.auth-register{text-align:center;border-top:1px solid #2d3946;gap:11px;margin-top:6px;padding-top:22px;display:grid}.auth-register>span{color:#aab4c1;font-size:.91rem;font-weight:650}.auth-register .secondary-button{color:#d9f3ff;background:#0798e614;border:1px solid #0798e6;border-radius:8px;min-height:52px;font-size:1rem;font-weight:780}.auth-register .secondary-button:hover{background:#0798e629}.auth-back{width:100%}.auth-intro{text-align:left;margin-bottom:2px}.auth-intro h2{margin-bottom:8px;font-size:1.45rem}.auth-intro p{margin-bottom:4px}.auth-confirmation{background:#102744;border:1px solid #315e91;border-radius:16px;padding:18px}.auth-confirmation p{color:#d6e6ff;margin-bottom:4px}.app-header,.detail-header{justify-content:space-between;align-items:center;gap:12px;padding:15px 20px 12px;display:flex}.detail-header{justify-content:flex-start}.detail-header>div{min-width:0;display:grid}.detail-header strong{overflow-wrap:anywhere}.content{padding:0 18px 28px}.app-kicker{font-size:.76rem;display:block}.date-line{margin-bottom:3px;font-size:.86rem}.avatar{color:#b8d2ff;background:#17345c;border:0;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:800;display:inline-grid}.small-avatar{flex-basis:38px;width:38px;height:38px}.ui-icon{flex:none;width:18px;height:18px;display:block}.eyebrow{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:850}.stats{grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0;display:grid}.stats>button{border:1px solid var(--line);color:var(--ink);background:var(--surface);text-align:left;border-radius:14px;gap:2px;padding:13px 28px 13px 12px;display:grid;position:relative}.stats>button:hover{background:var(--surface-2);border-color:#4a6686}.stats strong{font-size:1.4rem}.stats span{color:var(--muted);font-size:.7rem}.stats .stat-arrow{color:var(--brand);font-size:1.35rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.section-heading,.event-topline,.event-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-heading h3{margin:12px 0 8px}.event-list{gap:10px;display:grid}.event-card{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);text-align:left;border-radius:20px;gap:4px;margin:8px 0;padding:16px;display:grid;box-shadow:0 5px 16px #00000029}.event-card:hover{background:var(--surface-2);border-color:#41536a}.event-card>strong{margin-top:3px;font-size:1.08rem}.event-meta{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:7px;font-size:.8rem;display:flex}.status-pill{background:var(--soft);border:1px solid #ffffff0d;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:4px 9px;font-size:.74rem;font-weight:760;display:inline-flex}.status-dot{border:1px solid #fff3;border-radius:50%;flex:0 0 10px;width:10px;height:10px}.status-draft{background:var(--draft)}.status-allocation-pending{background:var(--allocation)}.status-staff-requested{background:var(--requested)}.status-staff-confirmed{background:var(--confirmed)}.status-unknown{background:var(--neutral)}.text-button{min-height:44px;color:var(--brand);background:0 0;border:0;padding:0 8px;font-weight:760}.text-button:hover{color:var(--brand-hover)}.search-input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--surface);border-radius:14px;padding:0 14px}.filters,.tabs{scrollbar-width:none;gap:7px;margin:14px 0;display:flex;overflow-x:auto}.filters button,.tabs button{border:1px solid var(--line);min-height:40px;color:var(--muted);white-space:nowrap;background:#101a27b8;border-radius:10px;padding:0 16px;font-weight:730;transition:color .15s,border-color .15s,background .15s}.filters button.active,.tabs button.active{color:#eaf3ff;box-shadow:inset 0 -2px 0 var(--brand);background:#172a42;border-color:#416d9f}.empty-state{border:1px dashed var(--line);color:var(--muted);background:var(--surface);border-radius:18px;justify-items:start;gap:8px;margin-top:18px;padding:24px 18px;display:grid}.empty-state strong{color:var(--ink);font-size:1.05rem}.empty-state .secondary-button{margin-top:4px}.portal-loading{border:1px solid var(--line);min-height:82px;color:var(--muted);background:linear-gradient(110deg, var(--surface), #142539e6);border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin-top:18px;padding:18px;display:grid;position:relative;overflow:hidden}.portal-loading-indicator{background:#67a4ff0a;border:1px solid #67a4ff5c;border-radius:50%;place-items:center;width:34px;height:34px;animation:3.2s ease-in-out infinite portal-loading-breathe;display:grid}.portal-loading-indicator span{background:#9bc7ff;border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #67a4ff61}.portal-loading-copy{gap:3px;min-width:0;display:grid}.portal-loading-copy strong{color:var(--ink);font-size:.98rem}.portal-loading-copy>span{font-size:.8rem;line-height:1.4}.portal-loading-progress{background:#67a4ff14;height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.portal-loading-progress span{background:linear-gradient(90deg,#0000,#67a4ff75,#0000);border-radius:999px;width:100%;height:100%;animation:4.8s ease-in-out infinite portal-loading-progress-breathe;display:block}@keyframes portal-loading-breathe{0%,to{opacity:.48;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes portal-loading-progress-breathe{0%,to{opacity:.2}50%{opacity:.72}}.back-button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:var(--surface);border-radius:14px;font-size:1.5rem}.event-title{justify-content:stretch;gap:3px;min-width:0;display:grid}.event-title h2{overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin:2px 0 0}.event-title p{overflow-wrap:anywhere;word-break:break-word;max-width:100%;margin:0}.event-title .status-pill{white-space:normal;width:fit-content;max-width:100%;margin-top:8px}.event-locations{color:#cbd5e1;font-size:.9rem;font-weight:700}.event-detail-content{max-width:860px}.event-sticky{z-index:8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a111bf0;border-bottom:1px solid #465b768c;position:sticky;top:0}.event-sticky .detail-header{padding-bottom:6px}.event-sticky-content{padding-bottom:7px}.event-detail-body{padding-top:2px}.event-detail-content .event-title{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.event-detail-content .event-title h2,.event-detail-content .event-title p{grid-column:1}.event-detail-content .event-title .status-pill{grid-area:1/2/span 3;align-self:center;margin:0}.event-detail-content .tabs{margin:10px 0 8px}.city-group{box-shadow:var(--card-shadow);background:#0e1824b3;border:1px solid #314158;border-radius:10px;margin-top:10px;overflow:hidden}.city-group+.city-group{margin-top:12px}.city-group>summary{cursor:pointer;background:#142131;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 12px;list-style:none;display:flex}.city-group>summary::-webkit-details-marker{display:none}.city-group>summary strong{letter-spacing:.01em;font-size:.94rem}.city-chevron{color:var(--muted);transition:transform .2s}.city-group[open]{background:#0c141ec7;border-color:#405675}.city-group[open]>summary{background:#18283a;border-bottom:1px solid #405675}.city-group[open]>summary .city-chevron{transform:rotate(180deg)}.city-group-content{padding:4px 12px 12px}.schedule-subsection{margin-top:5px}.schedule-subsection+.schedule-subsection{border-top:1px solid var(--line);margin-top:8px;padding-top:5px}.schedule-subsection>summary{color:#b9d7ff;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:4px 2px;list-style:none;display:flex}.schedule-subsection>summary::-webkit-details-marker{display:none}.schedule-subsection>summary strong{text-transform:uppercase;letter-spacing:.05em;font-size:.76rem}.subsection-chevron{color:var(--muted);transition:transform .2s}.schedule-subsection[open]>summary .subsection-chevron{transform:rotate(180deg)}.schedule-subsection-content{padding-top:1px}.transfer-date-group{margin:7px 0}.transfer-date-group>summary{color:#d8e8ff;cursor:pointer;background:#152131;border:1px solid #41536b8c;border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:42px;padding:6px 11px;list-style:none;display:grid}.transfer-date-group>summary::-webkit-details-marker{display:none}.transfer-date-group>summary strong{font-size:.82rem}.transfer-date-group>summary span:not(.transfer-date-chevron){color:var(--muted);font-size:.7rem;font-weight:700}.date-summary-label{align-items:center;gap:9px;min-width:0;display:flex}.date-summary-label .ui-icon{color:#9fb6d2;width:16px;height:16px}.date-summary-label strong{color:#e8f0fb}.transfer-date-chevron{color:var(--muted);transition:transform .2s}.transfer-date-group[open]>summary .transfer-date-chevron{transform:rotate(180deg)}.transfer-date-content{padding-top:3px;position:relative}.shift-card{background:linear-gradient(135deg,#121e2dfa,#0e1825fa);border:1px solid #2a3b50;border-radius:12px;margin:7px 0;overflow:hidden;box-shadow:0 8px 22px #00000024}.shift-overview{gap:8px;min-width:0;padding:10px 12px 9px;display:grid}.inline-transfer{grid-template-columns:86px minmax(0,1fr);display:grid}.transfer-time-rail{background:#09101947;border-right:1px solid #2d3d51;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:14px 8px;display:flex;position:relative}.timeline-node{background:var(--confirmed);border:2px solid #1b2c40;border-radius:50%;width:11px;height:11px;position:absolute;top:50%;left:-5px;transform:translateY(-50%);box-shadow:0 0 0 3px #86cd4d1f}.shift-status-staff-requested .timeline-node{background:#e8a83c;box-shadow:0 0 0 3px #e8a83c1f}.shift-status-allocation-pending .timeline-node{background:var(--allocation);box-shadow:0 0 0 3px #ff766f1f}.transfer-time{color:#f5f8fc;letter-spacing:-.02em;font-size:1.18rem;font-weight:500}.transfer-end-time{color:var(--muted);font-size:.63rem}.shift-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.role-heading{border-bottom:1px solid #324358b8;grid-template-columns:auto minmax(0,1fr) auto;min-height:30px;padding-bottom:6px}.role-heading .status-dot{flex-basis:9px;width:9px;height:9px}.vehicle-chip{color:#c4d1e0;letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere;background:#1a2738;border:1px solid #4f648059;border-radius:7px;align-items:center;gap:6px;width:fit-content;min-width:0;max-width:100%;padding:4px 8px;font-size:.68rem;font-weight:760;display:inline-flex}.vehicle-chip .ui-icon{color:#9db1c9;width:15px;height:15px}.role-status{color:#a9bfd9;text-align:right;font-size:.7rem;font-weight:750}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;min-height:28px;padding:4px 9px;display:inline-flex}.status-badge-staff-confirmed{color:#cceeb4;background:#365d2461;border-color:#6caa4333}.status-badge-staff-requested{color:#f3cc83;background:#6f481361;border-color:#dea03633}.status-badge-allocation-pending{color:#ffb4af;background:#67292761;border-color:#dc666038}.status-badge-draft,.status-badge-unknown{color:#cbd4df;background:#56616f59}.status-badge-staff-requested .status-dot{background:#e8a83c}.shift-heading .status-pill{min-height:22px;padding:2px 6px;font-size:.67rem}.shift-heading .status-dot{flex-basis:8px;width:8px;height:8px}.shift-time{color:#d8e8ff;text-align:right;font-size:.78rem;font-weight:750}.shift-role{overflow-wrap:anywhere;min-width:0;font-size:.92rem}.shift-driver-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:3px 0;display:grid}.role-staff-list{gap:2px;display:grid}.shift-driver{gap:1px;min-width:0;display:grid}.shift-driver small{color:#9cb9db;text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:750}.shift-driver strong{overflow-wrap:anywhere;color:#f2f7ff;font-size:.9rem}.staff-phone{color:#b9d7ff;width:fit-content;font-size:.76rem;font-weight:700;text-decoration:none}.staff-phone:hover{color:#fff;text-decoration:underline}.staff-photo{object-fit:cover}.contact-actions{gap:7px;display:flex}.contact-actions a,.contact-actions button{color:#c4d2e2;background:#111e2d;border:1px solid #2f435a;border-radius:9px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;text-decoration:none;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.contact-actions a:hover,.contact-actions button:hover{color:#fff;background:#192b40;border-color:#5277a1}.contact-actions .ui-icon{width:17px;height:17px}.contact-actions a:focus-visible,.contact-actions button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.shift-driver-row.contact-selecting{grid-template-columns:auto auto minmax(0,1fr) auto}.contact-select{cursor:pointer;place-items:center;width:24px;height:32px;display:grid}.contact-select input{width:18px;height:18px;accent-color:var(--brand);margin:0}.pending-transfer-select{color:#dcecff;cursor:pointer;align-items:center;gap:8px;font-size:.75rem;font-weight:800;display:flex}.pending-transfer-select input{width:18px;height:18px;accent-color:var(--brand);margin:0}.shift-toggle{color:#a9bfd9;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:30px;padding:0;font-size:.75rem;font-weight:750;display:flex}.chevron{color:var(--muted);transition:transform .2s}.shift-card.is-open .chevron{transform:rotate(180deg)}.shift-details{border-top:1px solid var(--line);padding:5px 10px 8px}.role-shift-list{gap:8px;display:grid}.role-shift-detail{border-bottom:1px solid var(--line);gap:4px;padding-bottom:8px;display:grid}.role-shift-detail:last-child{border-bottom:0;padding-bottom:0}.role-shift-detail>strong{font-size:.8rem}.transfer-inline-details{gap:8px;display:grid}.telegram-group-link{color:#edf7ff;background:#235f98;border:1px solid #3875ad;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:fit-content;min-height:36px;padding:0 12px;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 5px 14px #11538e33}.telegram-group-link:hover{background:#2b70ac}.telegram-group-link .ui-icon{width:16px;height:16px}.telegram-group-link:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.person-card{align-items:center;gap:11px;margin:13px 0;display:flex}.person-card>span:last-child{display:grid}.person-card small{color:var(--muted)}.unassigned{gap:2px;padding:3px 0;display:grid}.unassigned span{color:var(--muted);font-size:.78rem}.compact-unassigned{padding:2px 0}.compact-unassigned strong{font-size:.82rem}.instructions{color:#adb9c8;background:0 0;border-top:1px solid #324358b8;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;min-width:0;padding:8px 0;font-size:.74rem;display:grid}.instructions>.ui-icon{color:#788ba2;width:15px;height:15px;margin-top:1px}.instruction-lines{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.contact-export-open{color:#dcecff;background:#102c49;border:1px solid #3f6f9f;border-radius:9px;width:100%;min-height:38px;margin:8px 0 2px;font-size:.78rem;font-weight:800}.contact-export-panel{background:#10243a;border:1px solid #3f6f9f;border-radius:10px;gap:8px;margin:8px 0 10px;padding:10px;display:grid}.contact-export-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.contact-export-heading strong{font-size:.9rem}.contact-export-heading button{color:#b9d7ff;background:0 0;border:0;min-height:30px;padding:0 8px;font-size:.75rem;font-weight:800}.contact-export-presets,.contact-export-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.contact-export-presets button,.contact-export-actions button{color:#dcecff;background:#152f4b;border:1px solid #375775;border-radius:7px;min-height:34px;padding:3px 6px;font-size:.68rem;font-weight:800}.contact-export-actions button{background:#17608f;border-color:#3f82b8;font-size:.73rem}.contact-export-presets button:disabled,.contact-export-actions button:disabled{cursor:default;opacity:.45}.contact-export-summary{color:#aac4df;font-size:.75rem}.contact-export-summary strong{color:#fff}@media (max-width:390px){.event-detail-content .event-title{grid-template-columns:1fr}.event-detail-content .event-title .status-pill{grid-area:auto/1;justify-self:start;margin-top:4px}}@media (max-width:340px){.shift-driver-row{grid-template-columns:auto minmax(0,1fr)}.shift-driver-row.contact-selecting{grid-template-columns:auto auto minmax(0,1fr)}.contact-actions{grid-column:1/-1}.contact-actions a,.contact-actions button{flex:1}}.timesheet-summary{grid-template-columns:1fr 1fr;gap:9px;margin:14px 0;display:grid}.timesheet-summary>div{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:4px;padding:14px;display:grid}.timesheet-summary span{color:var(--muted);font-size:.8rem}.timesheet-summary strong{font-size:1.18rem}.timesheet-view{gap:12px;padding-top:10px;display:grid}.timesheet-work-filters{border:1px solid var(--line);background:#080f18d1;border-radius:12px;gap:5px;width:fit-content;padding:4px;display:inline-flex}.timesheet-work-filters button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 16px;font-weight:760}.timesheet-work-filters button.active{color:#fff;box-shadow:inset 0 -2px 0 var(--brand);background:#17324f}.timesheet-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;padding:18px}.timesheet-city{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.timesheet-city>h3{color:#06111f;background:var(--brand);margin:0;padding:8px 10px;font-size:.9rem}.timesheet-mobile-dates,.timesheet-mobile-subtotal{display:none}.timesheet-table-wrap{width:100%;overflow-x:hidden}.timesheet-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.68rem}.timesheet-table th,.timesheet-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;white-space:nowrap;min-width:0;padding:7px 4px}.timesheet-table th{overflow-wrap:anywhere;white-space:normal}.timesheet-table th:first-child{width:21%}.timesheet-table th:nth-child(2){width:11%}.timesheet-table th:nth-child(3),.timesheet-table th:nth-child(4){width:5%}.timesheet-table th:nth-child(5),.timesheet-table th:nth-child(7){width:7%}.timesheet-table th:nth-child(6),.timesheet-table th:nth-child(9){width:8%}.timesheet-table th:nth-child(8),.timesheet-table th:nth-child(11){width:9%}.timesheet-table th:nth-child(10){width:10%}.timesheet-table th:first-child,.timesheet-table td:first-child,.timesheet-table th:nth-child(2),.timesheet-table td:nth-child(2){text-align:left}.timesheet-table th:last-child,.timesheet-table td:last-child{text-align:center;border-right:0}.timesheet-table thead th{color:#b9c9dc;text-transform:uppercase;letter-spacing:.02em;background:#0b1724;font-size:.66rem}.timesheet-table tbody tr:not(.timesheet-date-row):hover{background:#101d2c}.timesheet-table tbody tr.is-saving{opacity:.62}.timesheet-table td:first-child,.timesheet-table td:nth-child(2){overflow-wrap:anywhere;white-space:normal}.timesheet-table td:first-child strong,.timesheet-table td:first-child small{display:block}.timesheet-table td:first-child small{color:var(--muted);margin-top:2px;font-size:.65rem;line-height:1.25}.timesheet-date-row th{color:#dcecff;background:#17324f;padding:6px 9px;font-size:.74rem;text-align:left!important}.timesheet-table tfoot th,.timesheet-table tfoot td{color:#fff;background:#10243a;border-bottom:0;font-weight:800}.timesheet-hours-input{color:#fff;text-align:right;width:100%;min-width:0;min-height:32px;font:inherit;background:#07111c;border:1px solid #4a719a;border-radius:5px;padding:0 3px;font-weight:800}.artist-charge-control{justify-content:center;align-items:center;gap:4px;width:100%;min-width:0;min-height:32px;display:inline-flex}.artist-charge-control input{width:18px;height:18px;accent-color:var(--brand)}.artist-charge-control span{color:var(--muted);font-size:.62rem}.timesheet-event-totals{background:#10243a;border:1px solid #3f6f9f;border-radius:10px;overflow:hidden}.timesheet-event-totals h3{color:#dcecff;border-bottom:1px solid #3f6f9f;margin:0;padding:7px 10px;font-size:.82rem}.timesheet-event-totals>div{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.timesheet-event-totals span{color:#aac4df;border-right:1px solid #375775;gap:3px;padding:8px 10px;font-size:.68rem;display:grid}.timesheet-event-totals span:last-child{border-right:0}.timesheet-event-totals strong{color:#fff;font-size:.85rem}.timesheet-export{margin-top:0}.panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin:12px 0;padding:15px}.line-items>div,.review-panel>div,.detail-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.line-items>div:last-child,.review-panel>div:last-child,.detail-list>div:last-child{border-bottom:0}.line-items>div>span{display:grid}.line-items small{color:var(--muted)}.info-note{color:#b8d2ff;background:#102744;border-radius:13px;margin:12px 0;padding:12px;font-size:.83rem}.stepper{gap:5px;margin:12px 0 20px;display:flex}.stepper span{background:#263342;border-radius:4px;flex:1;height:5px}.stepper span.active{background:var(--brand)}.booking-content{max-width:760px}.booking-progress{gap:6px;margin:10px 0 20px;display:flex}.booking-progress span{background:#263342;border-radius:5px;flex:1;height:5px}.booking-progress span.active{background:var(--brand)}.booking-target-choices button{min-height:92px}.booking-two-column{grid-template-columns:1fr 1fr;gap:10px;display:grid}.booking-fieldset{border:1px solid var(--line);border-radius:14px;min-width:0;margin:14px 0;padding:4px 12px 12px}.booking-fieldset legend{color:#dcecff;padding:0 6px;font-weight:800}.booking-fieldset .field{margin:8px 0}.booking-stop{margin-top:12px}.booking-check{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:10px;min-height:46px;margin:8px 0;padding:0 12px;font-weight:750;display:flex}.booking-check input{width:19px;height:19px;accent-color:var(--brand)}.booking-segment{background:var(--surface);border:0;border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0;padding:4px;display:grid}.booking-segment button{min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;font-weight:800}.booking-segment button.selected{border-color:var(--brand);color:#06111f;background:var(--brand)}.booking-errors{color:#ffc3bf;background:#351718;border:1px solid #7e3937;border-radius:12px;gap:3px;margin-top:12px;padding:12px;font-size:.8rem;display:grid}.booking-section-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.booking-section-heading p{margin:0}.booking-movement-list,.booking-review-list{gap:9px;margin:12px 0;display:grid}.booking-movement-list article{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:10px;padding:12px;display:grid}.booking-movement-list article>div:first-child,.booking-review-list article{gap:3px;display:grid}.booking-movement-list span,.booking-review-list span{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.booking-card-actions{flex-wrap:wrap;gap:6px;display:flex}.booking-card-actions button{color:#dcecff;background:#17385a;border:1px solid #3f6f9f;border-radius:8px;flex:1;min-height:38px;padding:0 8px;font-size:.75rem;font-weight:800}.booking-review-button{margin-top:10px}.booking-review-list .text-button{justify-self:start;padding:0}.booking-reset{margin-top:14px}.booking-submitted{text-align:center;background:#102744;border:1px solid #315e91;border-radius:18px;justify-items:center;gap:10px;padding:28px 18px;display:grid}.booking-submitted h3,.booking-submitted p{margin:0}.booking-submitted>strong{letter-spacing:.05em;font-size:1.2rem}.booking-submitted p{max-width:520px;color:var(--muted)}.booking-submitted-mark{color:#06111f;background:var(--brand);border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.4rem;font-weight:900;display:grid}.choice-grid{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.choice-grid button{border:1px solid var(--line);min-height:104px;color:var(--ink);background:var(--surface);text-align:left;border-radius:18px;align-content:center;gap:4px;padding:14px;display:grid}.choice-grid button span{color:var(--muted);font-size:.77rem}.choice-grid button.selected{border:2px solid var(--brand);background:#122b4a}.field{gap:6px;margin:13px 0;font-weight:730;display:grid}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--surface);border-radius:13px;padding:0 13px}.field textarea{resize:vertical;min-height:92px;padding-top:12px}.field [aria-invalid=true]{border-color:var(--allocation)}.field-error{color:#ff9d98;margin:-8px 0 10px;font-size:.82rem;display:block}.button-row{gap:10px;margin-top:18px;display:flex}.button-row>*{flex:1}.primary-button,.secondary-button{border-radius:14px;min-height:48px;padding:0 16px;font-weight:800}.primary-button{color:#06111f;background:var(--brand);border:0}.primary-button:hover:not(:disabled){background:var(--brand-hover)}.secondary-button{border:1px solid var(--line);color:var(--ink);background:var(--surface)}.full-width{width:100%}.review-panel{gap:4px;display:grid}.review-panel>strong{font-size:1.08rem}.review-panel .review-long{align-items:flex-start}.review-panel .review-long strong{text-align:right;overflow-wrap:anywhere;max-width:58%}.estimate{background:#06111f;border:1px solid #24364c;border-radius:17px;gap:4px;padding:16px;display:grid}.estimate span{color:#c7d7ee;font-size:.8rem}.estimate strong{font-size:1.55rem}.update-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:12px 1fr;gap:10px;margin:10px 0;padding:15px;display:grid}.update-card .status-dot{margin-top:5px}.update-card p{margin:2px 0}.update-card small{color:var(--muted)}.synthetic-update{background:#102744;border-color:#315e91}.account-card{gap:3px;display:grid}.detail-list>div{justify-content:start;display:grid}.detail-list span{color:var(--muted);font-size:.78rem}.sign-out{margin-top:10px}.bottom-nav{z-index:10;padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070d14f5;grid-template-columns:repeat(5,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.nav-brand{display:none}.bottom-nav button{min-width:0;min-height:56px;color:var(--muted);background:0 0;border:0;grid-template-rows:24px 16px;align-content:center;justify-items:center;gap:2px;padding:0 2px;font-size:.66rem;font-weight:750;line-height:1;display:grid}.bottom-nav-icon{place-items:center;width:24px;height:24px;display:grid}.bottom-nav-icon .ui-icon{width:20px;height:20px}.bottom-nav-label{white-space:nowrap;justify-content:center;align-items:center;height:16px;display:flex}.bottom-nav button.active{color:var(--brand)}.toast{z-index:30;color:#06111f;box-shadow:var(--shadow);background:#eef4ff;border-radius:14px;padding:13px 15px;animation:.2s toast-in;position:absolute;bottom:86px;left:18px;right:18px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.review-shell{min-height:100vh;color:var(--ink);background:var(--page)}.review-header{z-index:5;border-bottom:1px solid var(--line);background:#070d14f5;align-items:center;gap:14px;min-height:76px;padding:12px 22px;display:flex;position:sticky;top:0}.review-header img,.review-login-card img{width:122px;height:auto}.review-header h1{margin:0;font-size:1.25rem}.review-header span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.review-header button{color:var(--muted);background:0 0;border:0;margin-left:auto}.review-layout{grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.review-queue{border-right:1px solid var(--line);padding:16px}.review-queue>div{justify-content:space-between;margin-bottom:10px;display:flex}.review-queue>div button{color:var(--brand);background:0 0;border:0}.review-queue>button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:var(--surface);border-radius:12px;gap:3px;margin-bottom:7px;padding:12px;display:grid}.review-queue>button.selected{border-color:var(--brand);background:#102744}.review-queue span,.review-queue small{color:var(--muted)}.review-detail{width:100%;max-width:900px;padding:24px}.review-title{justify-content:space-between;align-items:start;gap:20px;display:flex}.review-title h2,.review-title p{margin:3px 0}.review-title>div>span{color:var(--brand);font-weight:900}.review-actions{gap:8px;display:flex}.review-target{margin:16px 0}.review-target pre{white-space:pre-wrap;color:var(--muted)}.review-movements{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.review-movements h3,.review-movements p{margin:4px 0}.review-correction{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-top:18px;padding:14px}.review-correction summary{cursor:pointer;font-weight:850}.review-correction p{color:var(--muted)}.review-correction textarea{border:1px solid var(--line);width:100%;min-height:320px;color:var(--ink);resize:vertical;background:#07101c;border-radius:10px;padding:12px;font:.76rem/1.45 monospace}.review-correction button{margin-top:10px}.review-login{place-items:center;padding:20px;display:grid}.review-login-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;width:min(420px,100%);padding:28px}.review-login-card h1{margin:10px 0 16px}.review-login-card>span{color:var(--muted);margin-top:16px;display:block}@media (max-width:760px){.review-layout{grid-template-columns:1fr}.review-queue{border-right:0;border-bottom:1px solid var(--line)}.review-movements{grid-template-columns:1fr}.review-title{display:grid}}.admin-shell{min-height:100vh;color:var(--ink);background:var(--page)}.admin-header{z-index:8;border-bottom:1px solid var(--line);background:#070d14f7;align-items:center;gap:14px;min-height:76px;padding:12px 22px;display:flex;position:sticky;top:0}.admin-header img,.admin-login-card img{width:122px;height:auto}.admin-header h1{margin:0;font-size:1.2rem}.admin-header span,.admin-login-card>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.admin-header>button{color:var(--muted);background:0 0;border:0;margin-left:4px}.admin-identity{text-align:right;margin-left:auto;display:grid}.admin-identity small{color:var(--muted);font-size:.68rem}.admin-layout{grid-template-columns:340px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.admin-account-list{border-right:1px solid var(--line);padding:16px}.admin-search{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.admin-search input{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);background:var(--surface);border-radius:11px;padding:0 12px}.admin-search button{color:#dcecff;background:#17385a;border:1px solid #3f6f9f;border-radius:11px;min-height:44px;padding:0 13px;font-weight:800}.admin-list-heading{justify-content:space-between;align-items:center;margin:16px 2px 9px;font-size:.78rem;display:flex}.admin-list-heading button{color:var(--brand);background:0 0;border:0}.admin-account-list>button{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);text-align:left;border-radius:12px;gap:4px;margin-bottom:7px;padding:12px;display:grid}.admin-account-list>button.selected{border-color:var(--brand);background:#102744}.admin-account-list>button>div{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.admin-account-list>button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-account-list>button span:not(.admin-status),.admin-account-list>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-status{color:#b7c9dc;text-transform:capitalize;background:#263747;border-radius:999px;flex:none;width:fit-content;padding:3px 8px;font-size:.65rem;font-weight:850}.admin-status.active{color:#bff5d2;background:#153f2b}.admin-status.disabled,.admin-status.expired{color:#ffd1ce;background:#552426}.admin-status.pending{color:#ffe7ad;background:#4b3c13}.admin-detail{width:min(100%,1000px);padding:26px 30px 50px}.admin-detail-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.admin-detail-title>div{min-width:0}.admin-detail-title span:not(.admin-status){color:var(--brand);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}.admin-detail-title h2{overflow-wrap:anywhere;margin:5px 0 2px}.admin-detail-title p{color:var(--muted);margin:0}.admin-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:16px 0;padding:16px}.admin-card h3{margin:0 0 12px;font-size:.92rem}.admin-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;display:grid;overflow:hidden}.admin-facts>div{border-right:1px solid var(--line);gap:5px;min-width:0;padding:15px;display:grid}.admin-facts>div:last-child{border-right:0}.admin-facts span{color:var(--muted);font-size:.68rem}.admin-facts strong{overflow-wrap:anywhere;font-size:.8rem}.admin-email-list{flex-wrap:wrap;gap:7px;display:flex}.admin-email-list span{color:#cfe5fa;background:#101f30;border:1px solid #304963;border-radius:9px;padding:6px 9px;font-size:.78rem}.admin-membership{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.admin-membership>div{gap:3px;display:grid}.admin-membership span:not(.admin-status){color:var(--muted);font-size:.75rem}.admin-relink{margin-top:13px;padding-top:12px}.admin-relink summary{color:var(--brand);cursor:pointer;font-weight:800}.admin-relink .admin-search{margin-top:12px}.admin-identity-results{gap:7px;margin-top:8px;display:grid}.admin-identity-results button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#0e1a28;border-radius:10px;gap:2px;padding:11px;display:grid}.admin-identity-results button:hover{border-color:var(--brand)}.admin-identity-results span,.admin-identity-results small{color:var(--muted)}.admin-actions{gap:9px;margin:16px 0;display:flex}.admin-actions>*{flex:1}.admin-danger{color:#ffc3bf;background:#351718;border:1px solid #7e3937;border-radius:14px;min-height:48px;padding:0 16px;font-weight:800}.admin-audit{display:grid}.admin-audit>div{border-bottom:1px solid var(--line);grid-template-columns:10px minmax(0,1fr);align-items:start;gap:10px;padding:9px 0;display:grid}.admin-audit>div:last-child{border-bottom:0}.admin-audit>div>div{gap:2px;display:grid}.admin-audit strong{text-transform:capitalize;font-size:.8rem}.admin-audit small{color:var(--muted);font-size:.7rem}.admin-audit-dot{background:#6a7a8d;border-radius:50%;width:8px;height:8px;margin-top:4px}.admin-audit-dot.success{background:#55c985}.admin-audit-dot.failure,.admin-audit-dot.denied{background:#ef7470}.admin-empty{min-height:280px;color:var(--muted);text-align:center;place-items:center;display:grid}.admin-login{place-items:center;padding:20px;display:grid}.admin-login-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;width:min(440px,100%);padding:28px}.admin-login-card>span{margin-top:18px;display:block}.admin-login-card h1{margin:8px 0}.admin-login-card p{color:var(--muted);margin:0 0 16px;font-size:.82rem;line-height:1.5}.admin-alert,.admin-global-alert{border:1px solid;border-radius:11px;padding:11px 13px;font-size:.8rem}.admin-alert.error,.admin-global-alert.error{color:#ffc3bf;background:#351718;border-color:#7e3937}.admin-global-alert.success{color:#bff5d2;background:#153f2b;border-color:#287248}.admin-global-alert{z-index:20;max-width:440px;box-shadow:var(--shadow);align-items:center;gap:12px;display:flex;position:fixed;top:88px;right:20px}.admin-global-alert button{color:inherit;background:0 0;border:0;margin-left:auto;font-size:1.1rem}@media (max-width:800px){.admin-header{flex-wrap:wrap;padding:11px 15px}.admin-header img{width:96px}.admin-header>div:nth-child(2){flex:1}.admin-header h1{font-size:1rem}.admin-identity{display:none}.admin-layout{grid-template-columns:1fr}.admin-account-list{border-right:0;border-bottom:1px solid var(--line)}.admin-detail{padding:22px 16px 40px}.admin-facts{grid-template-columns:1fr 1fr}.admin-facts>div:nth-child(2){border-right:0}.admin-facts>div{border-bottom:1px solid var(--line)}.admin-facts>div:nth-last-child(-n+2){border-bottom:0}.admin-actions{display:grid}.admin-global-alert{max-width:none;top:86px;left:12px;right:12px}}@media (max-width:760px){.shift-overview{gap:6px;padding:8px 10px 6px}.role-heading{min-height:28px;padding-bottom:5px}.inline-transfer{grid-template-columns:72px minmax(0,1fr)}.inline-transfer .transfer-time-rail{padding-inline:6px}.inline-transfer .transfer-time{white-space:nowrap;font-size:.98rem;font-weight:650}.inline-transfer .role-heading{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.inline-transfer .vehicle-chip{overflow-wrap:normal;word-break:normal;flex:0 auto}.inline-transfer .shift-role{overflow-wrap:normal;word-break:normal;flex:1 0 62px;min-width:62px;padding:0}.inline-transfer .role-status{text-align:left;flex:none;max-width:100%;margin-right:auto}.inline-transfer .shift-driver-row{grid-template-columns:auto minmax(0,1fr)}.inline-transfer .contact-actions{flex-wrap:wrap;grid-column:2}.status-badge{min-height:26px;padding-block:3px}.booking-two-column{grid-template-columns:1fr;gap:0}.timesheet-view{gap:10px}.timesheet-city{overflow:visible}.timesheet-city>h3{z-index:4;top:var(--timesheet-sticky-top,0);border-radius:9px 9px 0 0;position:sticky}.timesheet-table-wrap{display:none}.timesheet-mobile-dates{display:block}.timesheet-mobile-date>h4{z-index:3;top:calc(var(--timesheet-sticky-top,0px) + 34px);color:#dcecff;background:#17324f;border-top:1px solid #294765;border-bottom:1px solid #294765;margin:0;padding:6px 9px;font-size:.74rem;position:sticky}.timesheet-mobile-rows{gap:6px;padding:7px;display:grid}.timesheet-mobile-row{border:1px solid var(--line);background:#0d1825;border-radius:8px;overflow:hidden}.timesheet-mobile-row.is-saving{opacity:.62}.timesheet-mobile-row>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;min-height:58px;padding:7px 8px;list-style:none;display:grid}.timesheet-mobile-row>summary::-webkit-details-marker{display:none}.timesheet-mobile-role,.timesheet-mobile-summary{gap:2px;min-width:0;display:grid}.timesheet-mobile-role strong{overflow-wrap:anywhere;font-size:.8rem}.timesheet-mobile-role small,.timesheet-mobile-summary small{color:var(--muted);font-size:.66rem}.timesheet-mobile-summary{text-align:right}.timesheet-mobile-summary strong{color:#f1f7ff;font-size:.74rem}.timesheet-mobile-summary small{white-space:nowrap}.timesheet-mobile-chevron{color:var(--muted);transition:transform .2s}.timesheet-mobile-row[open] .timesheet-mobile-chevron{transform:rotate(180deg)}.timesheet-mobile-details{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.timesheet-mobile-details>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:3px;min-width:0;padding:7px 8px;display:grid}.timesheet-mobile-details>div:nth-child(2n){border-right:0}.timesheet-mobile-details>div:nth-last-child(-n+2){border-bottom:0}.timesheet-mobile-details>.timesheet-mobile-job{border-right:0;grid-column:1/-1}.timesheet-mobile-details span{color:var(--muted);text-transform:uppercase;font-size:.6rem;font-weight:700}.timesheet-mobile-details strong{overflow-wrap:anywhere;font-size:.75rem}.timesheet-mobile-details .artist-charge-control{justify-content:flex-start}.timesheet-mobile-subtotal{color:#fff;background:#10243a;border-top:1px solid #375775;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 9px;font-size:.7rem;display:grid}.timesheet-mobile-subtotal strong{grid-row:1/span 2;align-self:center}.timesheet-mobile-subtotal span{color:#aac4df;text-align:right}.timesheet-event-totals>div{grid-template-columns:1fr 1fr}.timesheet-event-totals span{border-bottom:1px solid #375775}.timesheet-event-totals span:nth-child(2n){border-right:0}.timesheet-event-totals span:last-child{border-bottom:0;grid-column:1/-1}html,body{background:var(--canvas)}.prototype-stage{padding:0;display:block}.device-frame{height:100dvh;min-height:0;box-shadow:none;border:0;border-radius:0}.app-scroll{padding-top:env(safe-area-inset-top)}.auth-frame{background:#000;width:100%;height:100dvh}.auth-frame .app-scroll{height:100%;padding-top:env(safe-area-inset-top)}.auth-frame .login-screen{min-height:100%;padding-left:28px;padding-right:28px}}@media (min-width:761px){.app-scroll{padding:0 0 0 220px}.screen{min-height:100%}.app-header,.detail-header{padding:30px 42px 18px}.home-header{justify-content:flex-end}.app-header .portal-logo,.detail-header .portal-logo{display:none}.content{padding:0 42px 44px}.home-content{padding-top:4px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0 26px}.stats>button{min-height:86px;padding:15px 34px 15px 16px}.stats span{font-size:.8rem}.event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-event-list{grid-template-columns:repeat(3,minmax(0,1fr))}.event-card{height:100%;margin:0}.bottom-nav{background:linear-gradient(#0a121dfc,#070e17fc);border-top:0;border-right:1px solid #34465ea6;grid-template-rows:auto repeat(5,64px);grid-template-columns:1fr;align-content:start;gap:5px;width:220px;padding:34px 18px;top:0;right:auto}.nav-brand{margin:0 15px 31px;display:block}.nav-brand .portal-logo{width:126px}.bottom-nav button{align-items:center;justify-items:initial;text-align:left;border-radius:10px;gap:13px;min-height:54px;padding:0 15px;font-size:.87rem;line-height:1.45;transition:color .15s,background .15s;display:flex;position:relative}.bottom-nav-icon{flex:0 0 24px;width:24px;height:24px}.bottom-nav-icon .ui-icon{width:19px;height:19px;margin-inline:auto}.bottom-nav-label{height:auto;display:inline}.bottom-nav button:hover:not(:disabled),.bottom-nav button.active{color:#edf5ff;background:#17263a}.bottom-nav button.active:before{background:var(--brand);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:11px;bottom:11px;left:-18px}.toast{bottom:18px;left:238px}.event-detail-content{max-width:1240px}.event-sticky .detail-header{padding-bottom:4px}.event-sticky-content{padding-bottom:9px}.event-detail-content .tabs{background:#080f1885;border:1px solid #26374b;border-radius:12px;width:fit-content;margin-top:14px;padding:3px}.event-detail-content .tabs button{min-width:112px;box-shadow:none;background:0 0;border:0}.event-detail-content .tabs button.active{color:#dcecff;box-shadow:inset 0 -2px 0 var(--brand);background:#1a2d46}.event-detail-body>div>.contact-export-open{color:#aebed0;background:#101e2e94;border-color:#334a63;width:fit-content;min-height:36px;margin:10px 0 4px auto;padding:0 12px;font-size:.72rem}.event-detail-body>div>.contact-export-open:hover{color:#eef6ff;background:#172a3f;border-color:#5277a1}.city-group{border-radius:14px;margin-top:16px}.city-group>summary{min-height:54px;padding-inline:18px}.city-group>summary strong{font-size:1rem}.city-group-content{padding:8px 18px 18px}.schedule-subsection>summary{min-height:42px}.schedule-subsection>summary strong{letter-spacing:.08em;font-size:.78rem}.transfer-date-group>summary{border-radius:11px;min-height:48px;padding-inline:14px}.transfer-date-content{padding:4px 0 2px 24px}.inline-transfer{border-radius:13px;grid-template-columns:112px minmax(0,1fr);margin:8px 0}.transfer-time-rail{padding:17px 12px}.timeline-node{left:-1px}.transfer-time{font-size:1.46rem}.transfer-end-time{font-size:.66rem}.shift-overview{gap:10px;padding:14px 16px 13px}.role-heading{grid-template-columns:auto minmax(0,1fr) auto;min-height:34px;padding-bottom:9px}.shift-role{padding-left:3px;font-size:.98rem}.vehicle-chip{padding:5px 9px}.shift-driver-row{min-height:48px}.small-avatar{flex-basis:42px;width:42px;height:42px}.shift-driver strong{font-size:.94rem}.staff-phone{font-size:.78rem}.instructions{padding:9px 0;font-size:.76rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.portal-body{height:100%;min-height:0;position:relative}.client-preview-frame{flex-direction:column;display:flex}.client-preview-frame .portal-body{flex:1;min-height:0}.client-preview-banner{padding:calc(12px + env(safe-area-inset-top)) 18px 12px;color:#fff;background:#203e60;border-bottom:1px solid #658bb4;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.client-preview-banner>div{gap:3px;min-width:0;display:grid}.client-preview-banner strong{overflow-wrap:anywhere;font-size:.85rem}.client-preview-banner span{color:#dbeaff;font-size:.75rem}.client-preview-banner a{color:#fff;flex-shrink:0;font-size:.8rem;font-weight:700;text-decoration:underline}.admin-membership{flex-wrap:wrap}.dedicated-chat-link{margin:4px 0 12px}
