.app-shell-bg{z-index:0;pointer-events:none;filter:blur(6px)saturate(.88)brightness(.52);background:url(/images/auth-logistics-bg.png) 50%/cover no-repeat;position:fixed;inset:0;transform:scale(1.04)}.app-shell-bg-overlay{z-index:0;pointer-events:none;background:linear-gradient(#04060a59 0%,#04060ad1 100%),radial-gradient(circle at 12% 18%,#d81f2b1f,#0000 28%);position:fixed;inset:0}.app-shell.is-dashboard-route .app-shell-bg{opacity:.2}.app-shell.is-dashboard-route .app-shell-bg-overlay{background:linear-gradient(#04060a52 0%,#04060a9e 100%)}.app-shell>.app-topbar{z-index:50;position:relative}.app-shell>.app-main,.app-shell>.app-mobilenav{z-index:1;position:relative}.app-shell>.app-sidebar{z-index:1}.app-shell>.drawer-backdrop{z-index:calc(var(--z-drawer) - 1)}.app-sidebar{-webkit-backdrop-filter:blur(18px);color:#cdd9e3;background:#080a0fe0;border-right:1px solid #ffffff0f;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.sidebar-brand{justify-content:center;align-items:center;gap:var(--space-3);padding:0 var(--space-5);border-bottom:1px solid #ffffff14;flex-shrink:0;padding-top:12px;display:flex}.sidebar-brand .brand-mark{color:#fff;background:#bf0c21;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:flex}.sidebar-brand .sidebar-brand-logo,.sidebar-brand .brand-logo{object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0;width:auto;height:56px}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-text .brand-name{color:#fff;font-size:15px;font-weight:800}.brand-text .brand-sub{color:#8fa6b5;font-size:11px}.sidebar-nav{min-height:0;padding:var(--space-4) var(--space-3);overscroll-behavior:contain;scrollbar-color:#ffffff47 transparent;flex:1;overflow-y:auto}.sidebar-nav::-webkit-scrollbar-thumb{background-color:#ffffff38}.sidebar-nav::-webkit-scrollbar-thumb:hover{background-color:#ffffff61}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:#6f879a;padding:var(--space-4) var(--space-3) var(--space-2);font-size:10px;font-weight:700}.nav-item{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);color:#cdd9e3;margin-bottom:2px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#bf0c21;font-weight:600}.brand-text .brand-kins,.brand-text .brand-hub{color:#fff}.brand-text .brand-dsp{color:#bf0c21}.nav-item svg{flex-shrink:0}.sidebar-footer{padding:var(--space-4);border-top:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sidebar-version{color:#6f879a;font-size:11px;font-weight:600}.desktop-only-inline{display:inline-flex}.sidebar-collapse-btn{align-items:center;gap:var(--space-2);color:#8fa6b5;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;width:100%;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.sidebar-collapse-btn:hover{color:#fff;background:#ffffff0f}.app-topbar{-webkit-backdrop-filter:blur(16px);align-items:center;gap:var(--space-3);padding:0 var(--space-5);min-height:var(--topbar-height);z-index:30;background:#0c1018d1;border-bottom:1px solid #ffffff14;display:flex;position:relative;overflow:visible}.topbar-menu-btn,.topbar-icon-btn{border-radius:var(--radius-sm);color:#f3f4f6;background:#181d28;border:1px solid #ffffff1a;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;display:inline-flex;position:relative}.topbar-icon-btn:hover,.topbar-menu-btn:hover{background:#1c2230}.topbar-date-range{border-radius:var(--radius-sm);background:#181d28;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:4px 8px;display:flex}.topbar-date-range--static{gap:8px;padding:8px 12px}.topbar-date-range--static .topbar-date-label{text-align:left;min-width:0}.topbar-date-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:inline-flex}.topbar-date-btn:hover{color:#fff;background:#ffffff0f}.topbar-date-label{color:#f3f4f6;white-space:nowrap;text-align:center;min-width:140px;font-size:13px;font-weight:600}.topbar-bell{position:relative}.topbar-badge{color:#fff;background:#bf0c21;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;line-height:1;display:flex;position:absolute;top:4px;right:4px}.topbar-avatar{background:linear-gradient(135deg,#e04555,#bf0c21)!important}.topbar-search{flex:1;max-width:420px;position:relative}.topbar-search svg{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.topbar-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;padding:9px 12px 9px 38px;font-size:14px}.topbar-search input:focus{border-color:var(--accent);background:var(--surface);outline:none}.topbar-spacer{flex:1}.topbar-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.topbar-usermenu{position:relative}.topbar-user{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 6px;display:flex}.topbar-user:hover{background:var(--surface-muted)}.user-dropdown{border-radius:var(--radius);min-width:240px;z-index:calc(var(--z-drawer) + 10);background:#12161f;border:1px solid #ffffff1f;animation:.15s slideUp;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 40px #00000073}.user-dropdown--portal{z-index:calc(var(--z-modal) + 2)}.user-dropdown-head{padding:var(--space-4);border-bottom:1px solid #ffffff14}.user-dropdown-head .u-name{color:#f3f4f6;font-size:14px;font-weight:700}.user-dropdown-head .u-email,.user-dropdown-head .u-role{color:#9ca3af;word-break:break-all;margin-top:2px;font-size:12px}.user-dropdown-item{align-items:center;gap:var(--space-3);width:100%;padding:12px var(--space-4);color:#f3f4f6;text-align:left;cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:600;display:flex}.user-dropdown-item:hover{background:#ffffff0f}.user-dropdown-item--logout{color:#fecaca}.user-dropdown-item--logout:hover{color:#fff;background:#d81f2b2e}.topbar-avatar{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex}.topbar-user-meta{line-height:1.2}.topbar-user-meta .u-name{font-size:14px;font-weight:600}.topbar-user-meta .u-role{color:var(--text-muted);text-transform:capitalize;font-size:12px}.topbar-dept-filter{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-dept-label{color:#9ca3af;white-space:nowrap;font-size:12px;font-weight:600}.topbar-dept-select{color:#f3f4f6;background:#181d28;border-color:#ffffff1a;min-width:140px;max-width:180px;padding:8px 10px;font-size:13px}.dept-multi-filter{z-index:1;flex-shrink:0;position:relative}.dept-multi-filter-trigger{border:1px solid var(--hub-border,#d1dbe6);min-width:120px;max-width:200px;color:var(--hub-text,#1e293b);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.dept-multi-filter-trigger:hover{border-color:var(--hub-primary,#bf0c21)}.dept-multi-filter-chevron{flex-shrink:0;transform:rotate(90deg)}.dept-multi-filter-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dept-multi-filter-panel{z-index:1000;border:1px solid var(--hub-border,#d1dbe6);isolation:isolate;background:#fff;border-radius:10px;width:min(320px,100vw - 24px);padding:10px 0 8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 40px #0f172a2e}.dept-multi-filter-search{border:1px solid var(--hub-primary,#bf0c21);border-radius:8px;align-items:center;gap:8px;margin:0 12px 10px;padding:8px 10px;display:flex}.dept-multi-filter-search input{background:0 0;border:none;outline:none;flex:1;font-size:14px}.dept-multi-filter-group-label{color:var(--hub-text,#1e293b);padding:8px 16px 4px;font-size:13px;font-weight:700}.dept-multi-filter-row{justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:6px 16px;display:flex}.dept-multi-filter-row.is-hover{background:#bf0c2114}.dept-multi-filter-check{cursor:pointer;flex:1;align-items:center;gap:10px;font-size:14px;display:flex}.dept-multi-filter-select-all{cursor:pointer;border-bottom:1px solid var(--hub-border,#e2e8f0);margin-bottom:4px;padding-top:4px;font-weight:500}.dept-multi-filter-only{color:var(--hub-primary,#bf0c21);cursor:pointer;white-space:nowrap;background:0 0;border:none;font-size:13px;font-weight:600}.dept-multi-filter-only:hover{text-decoration:underline}.dept-multi-filter-empty{color:var(--text-muted,#64748b);padding:12px 16px;font-size:13px}@media (width<=768px){.topbar-search,.topbar-user-meta,.topbar-date-range,.topbar-date-range--static,.topbar-clock{display:none}.app-topbar{padding:0 var(--space-3);gap:var(--space-2)}.topbar-dept-filter{flex:auto;min-width:0;max-width:none}.topbar-dept-select{width:100%;min-width:0;max-width:100%}}@media (width<=992px) and (width>=769px){.topbar-date-range--static .topbar-date-label{text-overflow:ellipsis;max-width:180px;overflow:hidden}.global-search{min-width:120px;max-width:220px}}@media (width<=992px){.global-search{display:none}}.app-mobilenav{height:var(--mobilenav-height);z-index:var(--z-drawer);background:#12161f;border-top:1px solid #ffffff14;justify-content:space-around;align-items:stretch;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #1018280f}.mobilenav-item{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.mobilenav-item.active{color:var(--accent)}.placeholder-note{border-radius:var(--radius-pill);background:var(--warning-soft);color:#c2410c;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.global-search{flex:1;min-width:160px;max-width:320px;position:relative}.global-search-input-wrap{border-radius:var(--radius-pill);background:var(--hub-surface-muted,var(--surface-muted));border:1px solid var(--hub-border,var(--border));height:38px;color:var(--hub-text-muted,var(--text-muted));align-items:center;gap:8px;padding:0 12px;display:flex}.global-search-input{color:var(--hub-text,var(--text));background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.global-search-input::placeholder{color:var(--hub-text-dim,var(--text-muted))}.global-search-dropdown{z-index:50;background:var(--hub-surface,var(--surface));border:1px solid var(--hub-border,var(--border));border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:360px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.global-search-empty{color:var(--hub-text-muted,var(--text-muted));padding:12px;font-size:13px}.global-search-item{border-radius:var(--radius-sm);width:100%;color:var(--hub-text,var(--text));cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.global-search-item:hover{background:var(--hub-surface-muted,var(--surface-muted))}.global-search-item-label{font-size:14px;font-weight:600}.global-search-item-meta{color:var(--hub-text-muted,var(--text-muted));font-size:12px}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:.8s linear infinite spin;display:inline-block}.spinner-center{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);color:var(--text-muted);flex-direction:column;font-size:14px;display:flex}.empty-state{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-7) var(--space-5);color:var(--text-muted);flex-direction:column;display:flex}.empty-state .empty-icon{background:var(--surface-muted);width:64px;height:64px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-state h3{font-size:16px}.empty-state p{max-width:360px;font-size:14px}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-success{background:var(--success-soft);color:#15803d}.badge-warning{background:var(--warning-soft);color:#c2410c}.badge-error{background:var(--error-soft);color:#b91c1c}.badge-info{background:var(--accent-soft);color:var(--accent)}.badge-neutral{background:var(--surface-muted);color:var(--text-muted)}.stat-card{justify-content:flex-start;align-items:stretch;gap:var(--space-4);padding:var(--space-5);flex-direction:row;display:flex;position:relative}.hub-stat-card{min-height:150px;padding-left:var(--space-5);padding-right:var(--space-5);position:relative}.stat-card-body{flex:1;order:1;width:100%;padding-left:60px}.stat-card .stat-value{color:var(--text);margin-top:0;margin-bottom:4px;font-size:32px;font-weight:800;line-height:1}.stat-card .stat-label{color:var(--text-muted);order:2;font-size:13px;font-weight:600}.stat-card .stat-hint{color:var(--text-muted);margin-top:4px;font-size:12px}.stat-trend{margin-top:4px;font-size:12px;font-weight:600}.stat-trend--up{color:#22c55e}.stat-trend--down{color:#ef4444}.stat-hint--warn{color:#f5a623}.stat-hint--flat{color:#94a3b8}.stat-hint--down{color:#ef4444}.stat-sparkline{opacity:.85;width:100%;height:24px;margin-top:10px}.stat-card .stat-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;flex-shrink:0;order:0;justify-content:center;align-items:center;display:flex;position:absolute;top:18px;left:18px}.stat-card-link{color:inherit;text-decoration:none;display:block}.stat-card--link{cursor:pointer;transition:border-color .15s,box-shadow .15s}.stat-card-link:hover .stat-card--link{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.stat-card--filter{text-align:left;width:100%;color:inherit;font:inherit;align-items:flex-start}.stat-card-filter-copy{flex-direction:column;min-width:0;display:flex}.stat-card--filter .stat-label,.stat-card--filter .stat-hint{order:0}.app-shell .stat-card.stat-card--filter.is-selected,.app-shell .stat-card.stat-card--filter:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header .page-title{font-size:clamp(1.15rem,2.5vw,1.375rem)}.page-header .page-subtitle{color:var(--text-muted);margin-top:4px;font-size:clamp(.8125rem,1.8vw,.875rem);line-height:1.4}.page-header .page-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=768px){.page-header{margin-bottom:var(--space-4);align-items:flex-start}.page-header .page-actions{width:100%}.page-header .page-actions .btn{flex:auto}}.modal-backdrop{padding:var(--space-4);z-index:var(--z-modal);background:#0b2e4480;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 48px);animation:.2s slideUp;display:flex}.modal.modal-sm{max-width:420px}.modal.modal-lg{max-width:720px}.modal.modal-xl{max-width:960px}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--border);display:flex}.modal-head h3{font-size:18px}.modal-close{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{background:var(--surface-muted);color:var(--text)}.modal-body{padding:var(--space-5);flex:auto;min-height:0;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);display:flex}@media (width<=640px){.modal-backdrop{align-items:flex-end;padding:0}.modal{border-bottom-right-radius:0;border-bottom-left-radius:0;max-width:100%;max-height:92dvh}}@media (width<=768px){.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:min(92dvh,100%)}.modal.modal-lg,.modal.modal-xl,.modal.modal-sm{max-width:100%}}.drawer-overlay{z-index:var(--z-modal);background:#0b2e4480;justify-content:flex-end;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:100%;max-width:440px;height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s slideInRight;display:flex}.drawer-wide{max-width:min(920px,96vw)}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.drawer-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--border);display:flex}.drawer-head h3{font-size:18px}.drawer-body{padding:var(--space-5);flex:1;overflow-y:auto}.drawer-foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);display:flex}.detail-list{gap:var(--space-4);flex-direction:column;display:flex}.detail-item .detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600}.detail-item .detail-value{color:var(--text);word-break:break-word;font-size:15px}@media (width<=768px){.drawer{max-width:100%}}.confirm-icon{width:48px;height:48px;margin-bottom:var(--space-3);border-radius:50%;justify-content:center;align-items:center;display:flex}.confirm-icon.danger{background:var(--error-soft);color:var(--error)}.confirm-icon.warning{background:var(--warning-soft);color:var(--warning)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-muted) 0%, var(--border) 50%, var(--surface-muted) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-line{border-radius:6px;height:12px}.skeleton-line.xs{width:40%;height:10px;margin-top:6px}.skeleton-line.sm{width:55%;height:12px}.skeleton-line.md{width:70%;height:14px}.skeleton-line.lg{width:45%;height:28px;margin-top:8px}.skeleton-icon{border-radius:var(--radius-sm);flex-shrink:0;width:44px;height:44px}.skeleton-pill{border-radius:var(--radius-pill);flex-shrink:0;width:72px;height:24px}.skeleton-stat-body{flex:1;min-width:0}.skeleton-row{pointer-events:none}.skeleton-row .skeleton-row-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.toast-container{bottom:var(--space-5);right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;max-width:min(400px,100vw - 2rem);display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);pointer-events:auto;padding:12px 14px;animation:.2s fadeIn;display:flex}.toast-success{background:var(--success-soft);border-color:#86efac}.toast-error{background:var(--error-soft);border-color:#fca5a5}.toast-info{background:var(--accent-soft);border-color:#f5a0a8}.toast-body{flex:1;min-width:0}.toast-title{color:var(--text);font-size:13px;font-weight:700}.toast-message{color:var(--text-muted);margin-top:2px;font-size:13px}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.toast-close:hover{color:var(--text);background:#0000000f}@media (width<=640px){.toast-container{bottom:calc(64px + var(--space-3));left:var(--space-3);right:var(--space-3);max-width:none}}.route-error-boundary{max-width:720px}.route-error-boundary-pre{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);color:#fecaca;white-space:pre-wrap;word-break:break-word;background:#ef444414;border:1px solid #ef444440;font-size:12px;overflow-x:auto}.date-input{width:100%;min-width:0;display:inline-flex;position:relative}.date-input>.input{width:100%;padding-right:36px}.date-input-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.date-input-btn:hover:not(:disabled){background:var(--bg-subtle,#0000000d);color:var(--text)}.date-input-btn:disabled{cursor:default;opacity:.5}.date-input-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0}.bus-status-toggle{border-radius:var(--radius-pill);font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;max-width:260px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.bus-status-toggle:disabled{cursor:default}.bus-status-toggle .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.bus-status-toggle.is-available{background:var(--success-soft);color:#15803d}.bus-status-toggle.is-unavailable{background:var(--error-soft);color:#b91c1c}.bus-status-toggle:not(:disabled):hover{border-color:currentColor}.bus-status-reason{opacity:.85;text-overflow:ellipsis;max-width:150px;font-weight:400;overflow:hidden}.auth-screen{--auth-red:#c8202e;--auth-red-hover:#d42a2a;--auth-navy:#0a0e18e0;--auth-card:#14161fe0;--auth-card-border:#ffffff1a;--auth-input-bg:#06080eb8;--auth-muted:#9ca3af;--auth-text:#fff;--auth-glass:#080a1073;--auth-glass-border:#ffffff1f;--auth-headline:"Poppins", "Inter", system-ui, sans-serif;--auth-body:"Poppins", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;height:100dvh;min-height:100dvh;color:var(--auth-text);font-family:var(--auth-body);position:relative;overflow-y:auto}.auth-bg{z-index:0;background-color:#0c1018;background-image:url(/images/auth-login-bg.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.auth-bg-overlay{z-index:1;pointer-events:none;background:linear-gradient(90deg,#000000c7 0%,#0000008c 32%,#00000047 55%,#0000001f 72%,#00000059 100%),linear-gradient(#0000001f 0%,#0000 40%,#00000080 100%);position:fixed;inset:0}.auth-body{z-index:2;flex-direction:column;min-height:100dvh;display:flex;position:relative}.auth-main{flex:1;grid-template-columns:minmax(0,1.55fr) minmax(360px,420px);justify-content:space-between;align-items:center;gap:clamp(2rem,4vw,4.5rem);width:100%;max-width:1680px;margin:0 auto;padding:clamp(1.25rem,2vw,2rem) clamp(2rem,5vw,5.5rem) clamp(1rem,2vw,1.5rem);display:grid}.auth-form-panel{justify-content:flex-end;place-self:center end;align-items:center;width:100%;padding-right:clamp(1rem,2vw,2.5rem);display:flex}.auth-brand{text-align:left;flex-direction:column;align-self:start;align-items:flex-start;max-width:920px;padding-top:clamp(2.5rem,4vh,3.75rem);display:flex}.kins-logo{align-items:center;gap:.5rem;width:fit-content;margin-bottom:.45rem;display:flex}.kins-logo-img,.kins-logo .brand-logo{object-fit:contain;width:clamp(160px,22vw,260px);height:auto;display:block}.kins-logo-road{pointer-events:none;flex-shrink:0;width:clamp(130px,16vw,210px);height:auto;margin-top:.25rem}.kins-logo-text{line-height:.9;font-family:var(--auth-headline);flex-direction:column;display:flex}.kins-logo-kins{letter-spacing:.02em;color:var(--auth-red);text-transform:uppercase;font-size:clamp(2.4rem,5vw,3.35rem);font-weight:900}.kins-logo-logistics{letter-spacing:.1em;color:var(--auth-red);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:800}.auth-brand-divider{background:var(--auth-red);border-radius:2px;width:72px;height:3px;margin:.75rem 0 1.2rem}.auth-brand-title{font-family:var(--auth-headline);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:clamp(2.75rem,6.2vw,4.1rem);font-weight:900;line-height:.95}.auth-brand-kins{color:var(--auth-red)}.auth-brand-hub{color:#fff}.auth-brand-slogan{letter-spacing:.14em;color:#ffffffeb;text-transform:uppercase;max-width:780px;margin:1rem 0 0;font-size:clamp(.68rem,1.05vw,.78rem);font-weight:700;line-height:1.75}.auth-brand-accent{color:var(--auth-red)}.auth-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;width:100%;max-width:920px;margin-top:clamp(1.75rem,2.8vw,2.35rem);display:grid}.auth-feature-card{-webkit-backdrop-filter:blur(10px);background:#0006;border:1px solid #ffffff1a;border-radius:12px;padding:1.05rem .75rem 1rem;box-shadow:0 6px 18px #0003}.auth-feature-icon{color:var(--auth-red);margin-bottom:.55rem}.auth-feature-title{font-family:var(--auth-headline);letter-spacing:.08em;color:#fff;text-transform:uppercase;margin-bottom:.28rem;font-size:.68rem;font-weight:800}.auth-feature-desc{color:#ffffffb3;font-size:.63rem;line-height:1.45}.auth-login-card{background:var(--auth-card);border:1px solid var(--auth-card-border);-webkit-backdrop-filter:blur(18px);border-radius:12px;flex-direction:column;width:100%;max-width:380px;padding:clamp(2rem,2.5vw,2.5rem);display:flex;box-shadow:0 24px 64px #00000080,inset 0 0 0 1px #ffffff0a}.auth-login-head{text-align:left}.auth-login-logo,.auth-login-head .brand-logo{object-fit:contain;width:120px;height:auto;margin:0 0 .85rem;display:block}.auth-splash-logo,.auth-splash .brand-logo{object-fit:contain;width:140px;height:auto}.auth-login-head h2{font-family:var(--auth-headline);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1.75rem;font-weight:900;line-height:1.05}.auth-login-kins{color:var(--auth-red)}.auth-login-hub{color:#fff}.auth-login-form{flex-direction:column;flex:1;gap:1rem;display:flex}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{color:#ffffff6b;pointer-events:none;display:flex;position:absolute;left:14px}.auth-input{background:var(--auth-input-bg);color:#fff;width:100%;font-size:.92rem;font-family:var(--auth-body);border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:1.05rem 2.7rem 1.05rem 2.6rem;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:#ffffff57}.auth-input:focus{border-color:#c41e3ab3;box-shadow:0 0 0 3px #c41e3a2e}.auth-input.has-error{border-color:#ef4444}.auth-input-toggle{color:#ffffff6b;cursor:pointer;background:0 0;border:none;padding:4px;display:flex;position:absolute;right:10px}.auth-input-toggle:hover{color:#ffffffb8}.auth-field-error{color:#fca5a5;margin-top:-.15rem;margin-bottom:.05rem;font-size:.72rem}.auth-login-row{justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0 1rem;display:flex}.auth-remember{color:#fffc;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.42rem;font-size:.77rem;display:inline-flex}.auth-remember input{width:15px;height:15px;accent-color:var(--auth-red);cursor:pointer}.auth-forgot-link{color:var(--auth-red);white-space:nowrap;font-size:.77rem;font-weight:600;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline}.auth-signin-btn{background:var(--auth-red);color:#fff;width:100%;font-family:var(--auth-headline);letter-spacing:.16em;cursor:pointer;text-transform:uppercase;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:54px;padding:.95rem 1rem;font-size:.92rem;font-weight:800;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.auth-signin-btn:hover:not(:disabled){background:var(--auth-red-hover)}.auth-signin-btn:active:not(:disabled){transform:translateY(1px)}.auth-signin-btn:disabled{opacity:.75;cursor:not-allowed}.auth-signin-btn--link{text-align:center;margin-top:.5rem}.auth-or-divider{color:#fff6;letter-spacing:.16em;align-items:center;gap:.75rem;margin:1rem 0 .9rem;font-size:.72rem;font-weight:600;display:flex}.auth-or-divider:before,.auth-or-divider:after{content:"";background:#ffffff24;flex:1;height:1px}.auth-microsoft-btn{color:#fff;cursor:pointer;background:#06080ec7;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;gap:.65rem;width:100%;min-height:54px;padding:.88rem 1rem;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.auth-microsoft-btn:hover:not(:disabled){background:#ffffff0d;border-color:#ffffff57}.auth-microsoft-btn:disabled{opacity:.75;cursor:not-allowed}.auth-login-back{text-align:center;margin-top:.75rem}.auth-alert{border-radius:8px;margin-bottom:.85rem;padding:.7rem .85rem;font-size:.8rem;line-height:1.45}.auth-alert.error{color:#fecaca;background:#c41e3a33;border:1px solid #f8717159}.auth-alert.success{color:#bbf7d0;background:#15803d38;border:1px solid #4ade8059}.auth-footer{-webkit-backdrop-filter:blur(12px);background:#0a0a0fe6;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;min-height:84px;margin-top:auto;padding:1rem clamp(2rem,5vw,5.5rem);display:flex}.auth-footer-item{border-right:1px solid #ffffff24;flex:1;align-items:center;gap:.6rem;min-width:0;padding-right:1.5rem;display:flex}.auth-footer-item:last-child{border-right:none;padding-right:0}.auth-footer-icon{color:#fff;opacity:.92;flex-shrink:0;display:flex}.auth-footer-title{font-family:var(--auth-headline);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800;line-height:1.2}.auth-footer-sub{color:var(--auth-muted);margin-top:2px;font-size:.63rem}.auth-splash{color:#64748b;background:#eef2f6;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}@media (width<=1180px){.auth-main{grid-template-columns:1fr;align-items:stretch;gap:1.75rem;padding-inline:1.5rem}.auth-form-panel{order:-1;justify-content:center;padding-right:0}.auth-brand{max-width:none}.auth-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.auth-footer{padding-inline:1.5rem}}@media (width<=720px){.auth-feature-grid{grid-template-columns:1fr 1fr}.auth-footer{padding-inline:1.5rem}.auth-footer-item{margin-right:.75rem;padding-right:.75rem}.auth-login-card{max-width:none}}@media (width<=480px){.auth-feature-grid{grid-template-columns:1fr}.auth-footer{flex-direction:column;align-items:flex-start;gap:.65rem}.auth-footer-item{border-right:none;margin-right:0;padding-right:0}.auth-login-row{flex-direction:column;align-items:flex-start}}.auth-left-overlay{z-index:1;pointer-events:none;background:linear-gradient(90deg,#000000e0 0% 45%,#0009 70%,#0000 100%);width:40%;position:fixed;top:0;bottom:0;left:0}.auth-brand{width:100%;max-width:none;padding-top:clamp(2.5rem,4vh,3.75rem);padding-left:clamp(.25rem,1vw,1rem);overflow:visible}.kins-logo{margin-bottom:.5rem}.kins-logo-text{line-height:.95}.kins-logo-kins,.kins-logo-logistics{letter-spacing:.01em;text-shadow:0 4px 18px #000000bf;font-size:clamp(3.8rem,5.2vw,4.6rem);font-weight:900}.kins-logo-road{width:clamp(155px,19vw,250px)}.auth-brand-divider{width:64px;height:3px;margin:.75rem 0 1.15rem}.auth-brand-title{letter-spacing:.03em;text-shadow:0 4px 18px #000000bf;font-size:clamp(2.1rem,3.4vw,2.5rem)}.auth-brand-slogan{letter-spacing:.08em;text-shadow:0 2px 12px #000000b3;margin-top:1rem;font-size:clamp(.95rem,1.15vw,1.05rem);font-weight:600;line-height:1.6}.auth-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;width:50%;max-width:none;margin-top:clamp(1.75rem,2.8vw,2.25rem);display:grid}.auth-feature-card{aspect-ratio:.82;text-align:center;background:#14161ba6;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:130px;max-height:none;padding:.55rem .5rem;display:flex;overflow:hidden;box-shadow:0 6px 14px -10px #0000008c;container-type:inline-size}.auth-feature-icon{color:var(--auth-red);flex-shrink:0;justify-content:center;align-items:center;min-height:44px;margin-bottom:.25rem;display:flex;overflow:visible}.auth-feature-icon svg{width:44px;height:44px;display:block;overflow:visible}.auth-feature-title{letter-spacing:.03em;text-align:center;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;max-width:100%;margin-bottom:.2rem;font-size:clamp(.58rem,11cqi,.8rem);font-weight:700;line-height:1.2}.auth-feature-desc{width:100%;max-width:100%;color:var(--auth-muted);text-align:center;overflow-wrap:break-word;font-size:clamp(.58rem,9.5cqi,.72rem);line-height:1.4}.auth-form-panel{align-self:center}.auth-login-card{max-width:370px}.auth-login-head h2{letter-spacing:.04em;font-size:1.65rem}.auth-login-head p{color:var(--auth-muted);margin:.6rem 0 1.65rem;font-size:.87rem}.auth-login-form{gap:1rem}.auth-input{border-radius:8px;font-size:.88rem}.auth-login-row{margin:.35rem 0 1rem}.auth-remember,.auth-forgot-link{font-size:.8rem}.auth-signin-btn{letter-spacing:.12em;border-radius:8px;margin-top:.3rem}.auth-or-divider{margin:1.1rem 0 1rem}.auth-login-sso{margin-top:0}.auth-microsoft-btn{background:#0a0c12d1;border:1px solid #ffffff3d;border-radius:8px;font-size:.85rem}.auth-footer{-webkit-backdrop-filter:none;box-sizing:border-box;background:0 0;border-top:none;flex-wrap:nowrap;justify-content:flex-start;align-items:center;width:100%;max-width:100%;min-height:auto;max-height:none;margin-top:auto;padding:1rem 40px 1.25rem;display:flex}.auth-footer-inner{-webkit-backdrop-filter:none;box-sizing:border-box;background:0 0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;column-gap:clamp(12px,1.5vw,20px);width:100%;max-width:min(100%,1120px);padding:0;display:grid}.auth-footer-divider{background:#ffffff26;flex-shrink:0;align-self:center;width:1px;height:36px}.auth-footer-item{box-sizing:border-box;background:#1414198c;border:none;border-radius:10px;align-items:center;gap:16px;width:100%;min-width:0;height:100%;padding:18px 22px;display:flex}.auth-footer-icon{color:#fffffff2;opacity:1;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:28px;display:flex;overflow:visible}.auth-footer-icon svg{flex-shrink:0;width:28px;height:28px;display:block;overflow:visible}.auth-footer-copy{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.auth-footer-title{font-family:var(--auth-headline);letter-spacing:.5px;text-transform:uppercase;color:#fff;font-size:14px;font-weight:700;line-height:1.2}.auth-footer-sub{color:#9ca3af;margin-top:0;font-size:12px;font-weight:400;line-height:1.25}.auth-footer-item:last-child{border:none;padding:18px 22px}@media (width<=1180px){.auth-brand{margin-left:0;padding-top:0}.auth-form-panel{align-self:auto}.auth-footer{padding:1rem 1.5rem}.auth-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;max-width:100%;display:grid}.auth-footer-divider{display:none}.auth-footer-item{flex:none;width:100%;min-width:0;height:auto;padding:18px 24px}.auth-footer-item:last-child{padding:18px 24px}}@media (width<=520px){.auth-footer-inner{grid-template-columns:1fr;gap:1rem}}@media (width<=992px){.auth-screen{overflow-x:hidden}.auth-left-overlay{display:none}.auth-main{grid-template-columns:1fr;gap:1.25rem;width:100%;max-width:100%;padding:1rem 1.25rem 1.25rem}.auth-form-panel{order:-1;justify-content:center;justify-self:stretch;width:100%;padding-right:0}.auth-login-card{width:100%;max-width:420px;margin:0 auto;padding:1.5rem}.auth-brand{width:100%;max-width:100%;margin-left:0;padding-top:.5rem;padding-left:0}.kins-logo-kins,.kins-logo-logistics{font-size:clamp(2rem,9vw,2.75rem)}.kins-logo-road{width:min(180px,55vw)}.auth-brand-title{font-size:clamp(1.35rem,5.5vw,1.75rem)}.auth-brand-slogan{letter-spacing:.06em;font-size:clamp(.8rem,3.2vw,.95rem)}.auth-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%;margin-top:1.25rem}.auth-feature-card{aspect-ratio:auto;min-height:0;padding:.85rem .75rem}.auth-feature-icon svg{width:32px;height:32px}.auth-footer{padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom,0px))}}@media (width<=768px){.auth-screen,.auth-body,.auth-main{max-width:100%;overflow-x:hidden}.auth-main{box-sizing:border-box;gap:1rem;padding:.85rem 1rem 1rem}.auth-form-panel{justify-content:center;justify-self:stretch;width:100%;min-width:0;max-width:100%;margin:0;padding-right:0;display:flex}.auth-login-card{box-sizing:border-box;width:100%;max-width:min(100%,420px);margin-left:auto;margin-right:auto;padding:1.35rem 1.15rem}.auth-login-head h2{overflow-wrap:anywhere;font-size:clamp(1.35rem,6vw,1.6rem)}.auth-login-form,.auth-input-wrap,.auth-signin-btn,.auth-microsoft-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.auth-input,.auth-signin-btn,.auth-microsoft-btn{min-height:44px}.auth-input{max-width:100%;font-size:16px}.auth-brand{width:100%;min-width:0;max-width:100%;margin-left:0;padding-left:0}.kins-logo{flex-wrap:wrap;gap:.35rem;max-width:100%}.kins-logo-road{width:min(140px,42vw);max-width:100%}.auth-feature-grid{width:100%;min-width:0;max-width:100%}.auth-feature-card{min-width:0;max-width:100%}.auth-footer{width:100%;max-width:100%;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow-x:hidden}.auth-footer-inner{width:100%;min-width:0;max-width:100%}.auth-footer-item{box-sizing:border-box;min-width:0;max-width:100%}.auth-footer-title,.auth-footer-sub{overflow-wrap:anywhere}}@media (width<=576px){.auth-main{padding:.75rem .85rem 1rem}.auth-login-card{border-radius:10px;max-width:100%;padding:1.2rem 1rem}.auth-login-head p{margin-bottom:1.25rem}.auth-feature-grid{grid-template-columns:1fr;gap:.65rem}.auth-feature-card{text-align:left;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem .85rem}.auth-feature-icon{margin-bottom:0}.auth-login-row{flex-direction:column;align-items:flex-start;gap:.65rem}.auth-signin-btn,.auth-microsoft-btn{width:100%}.kins-logo-kins,.kins-logo-logistics{font-size:clamp(1.55rem,9vw,2.1rem)}.auth-brand-title{font-size:clamp(1.2rem,5.2vw,1.55rem)}.auth-brand-slogan{letter-spacing:.05em;font-size:clamp(.72rem,3.4vw,.88rem)}.auth-brand-slogan br{display:none}.auth-footer{padding-inline:.85rem}.auth-footer-item{gap:12px;padding:14px 16px}}@media (width<=430px){.auth-main{padding:.65rem .75rem .9rem}.auth-login-card{padding:1.1rem .9rem}.auth-input{padding-left:2.4rem;padding-right:2.5rem}.kins-logo-kins,.kins-logo-logistics{font-size:clamp(1.4rem,8.5vw,1.85rem)}.kins-logo-road{width:min(120px,38vw)}.auth-footer{padding-inline:.75rem}}@media (width>=1181px) and (width<=1536px){.auth-main{grid-template-columns:minmax(0,1.5fr) minmax(350px,400px);gap:clamp(1.5rem,3vw,3rem);padding-inline:clamp(2rem,4vw,4rem)}.auth-brand{margin-left:-40px}.kins-logo-kins,.kins-logo-logistics{font-size:clamp(3.4rem,4.8vw,4.2rem)}.auth-brand-title{font-size:clamp(1.9rem,2.9vw,2.25rem)}.auth-brand-slogan{font-size:clamp(.85rem,1vw,.95rem)}.auth-login-card{max-width:366px;padding:1.9rem 1.7rem 1.7rem}.auth-footer{padding-left:clamp(1.5rem,2.5vw,2.5rem);padding-right:clamp(1.5rem,2.5vw,2.5rem)}.auth-footer-inner{column-gap:10px;max-width:100%}.auth-footer-item,.auth-footer-item:last-child{gap:12px;padding:16px 14px}.auth-footer-title{letter-spacing:.35px;font-size:12px}.auth-footer-sub{font-size:11px}}@media (width>=1537px) and (width<=1919px){.auth-brand{margin-left:-100px}}@media (width>=1920px) and (width<=2559px){.auth-brand{margin-left:-140px}}@media (width>=2560px){.auth-brand{margin-left:-180px}}@media (width>=1181px) and (height<=820px){.auth-main{padding-top:clamp(.5rem,1vh,1rem);padding-bottom:.5rem}.auth-brand{padding-top:clamp(1rem,2.2vh,1.75rem)}.auth-login-card{padding:1.6rem 1.6rem 1.5rem}.auth-login-form{gap:.7rem}.auth-input{padding-top:.8rem;padding-bottom:.8rem}.auth-signin-btn,.auth-microsoft-btn{min-height:46px}.auth-or-divider{margin:.85rem 0 .75rem}.auth-feature-grid{margin-top:clamp(1rem,2vh,1.6rem)}.auth-feature-card{aspect-ratio:auto;min-height:110px;max-height:none;padding:.45rem .55rem}.auth-footer{min-height:68px;padding-top:.6rem;padding-bottom:.6rem}}@media (width>=1600px){.auth-main{grid-template-columns:minmax(0,1.6fr) minmax(400px,460px);gap:clamp(3rem,5vw,6rem);max-width:1780px;padding-inline:clamp(4rem,6vw,7rem)}.kins-logo-kins,.kins-logo-logistics{font-size:clamp(3.8rem,5.2vw,4.6rem)}.auth-brand-title{font-size:clamp(2.5rem,3vw,2.9rem)}.auth-brand-slogan{font-size:1.05rem}.auth-login-card{max-width:400px;padding:2.5rem 2.15rem 2.25rem;transform:translate(20px,-20px)}.auth-login-head h2{font-size:1.8rem}.auth-feature-title{font-size:clamp(.62rem,10.5cqi,.82rem)}.auth-feature-desc{font-size:clamp(.6rem,9cqi,.74rem)}}@media (width>=2200px){.auth-main{max-width:2040px}.auth-left-overlay{width:38%}}.privacy-page{--privacy-bg:#0c1018;--privacy-card:#14161feb;--privacy-border:#ffffff1a;--privacy-text:#f3f4f6;--privacy-muted:#9ca3af;--privacy-red:#c8202e;--privacy-link:#93c5fd;--privacy-font:"Poppins", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;box-sizing:border-box;min-height:100dvh;color:var(--privacy-text);font-family:var(--privacy-font);background:linear-gradient(#0c1018f5,#0c1018fa),#0c1018;padding:2rem 1.25rem 3rem}.privacy-header{align-items:center;gap:1rem;max-width:48rem;margin:0 auto 2rem;display:flex}.privacy-logo{object-fit:contain;flex-shrink:0;width:56px;height:56px}.privacy-brand{letter-spacing:.04em;text-transform:uppercase;margin:0 0 .25rem;font-size:.85rem}.privacy-brand-kins{color:var(--privacy-red);font-weight:700}.privacy-brand-hub{color:var(--privacy-muted);font-weight:600}.privacy-header h1{margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.2}.privacy-updated{color:var(--privacy-muted);margin:.35rem 0 0;font-size:.9rem}.privacy-content{background:var(--privacy-card);border:1px solid var(--privacy-border);border-radius:12px;max-width:48rem;margin:0 auto;padding:1.75rem 1.5rem;font-size:.95rem;line-height:1.65}.privacy-content p{color:var(--privacy-text);margin:0 0 1rem}.privacy-content section{margin-top:1.75rem}.privacy-content h2{color:#fff;margin:0 0 .65rem;font-size:1.1rem;font-weight:650}.privacy-content ul{margin:0 0 1rem;padding-left:1.25rem}.privacy-content li{margin-bottom:.45rem}.privacy-content a{color:var(--privacy-link);text-underline-offset:2px;text-decoration:underline}.privacy-content a:hover{color:#bfdbfe}.privacy-footer{max-width:48rem;color:var(--privacy-muted);text-align:center;margin:1.5rem auto 0;font-size:.85rem}.privacy-footer p{margin:0}@media (width<=560px){.privacy-page{padding:1.25rem .85rem 2rem}.privacy-header{align-items:flex-start}.privacy-content{padding:1.25rem 1rem}}.dashboard-hub{gap:var(--space-4);isolation:isolate;--dash-bg-edge:32px;--dash-bg-bottom:calc(var(--space-5) + 12px);flex-direction:column;width:100%;max-width:none;min-height:calc(100dvh - 96px);padding:8px 0 32px;display:flex;position:relative}.dashboard-hub .alert-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:14px}.dashboard-hub .alert-banner.warning{color:#9a3412;background:#fff7edeb;border:1px solid #fdba74}.dashboard-hub .alert-banner.info{color:#8b0a18;background:#fce8ebf2;border:1px solid #f5a0a8}.dashboard-sync-banner{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-sync-banner__content{flex:1;min-width:200px}.dashboard-sync-retry-btn{border-radius:var(--radius-pill);color:inherit;cursor:pointer;background:#ffffff1f;border:1px solid;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s}.dashboard-sync-retry-btn:hover{background:#ffffff38}.dashboard-hub:before,.dashboard-hub:after{content:"";top:calc(-1 * var(--dash-bg-edge));right:calc(-1 * var(--dash-bg-edge));bottom:calc(-1 * var(--dash-bg-bottom));left:calc(-1 * var(--dash-bg-edge));pointer-events:none;position:absolute}.dashboard-hub:before{z-index:-2;filter:blur(2px)saturate(.95)brightness(.72);background:url(/images/dashboard-bg.png) 50%/cover no-repeat}.dashboard-hub:after{z-index:-1;background:linear-gradient(#05080c47 0%,#080b1066 42%,#06080c94 78%,#04060ab8 100%),linear-gradient(#0000 45%,#04060a52 76%,#04060aad 100%),radial-gradient(circle at 18% 18%,#c11e3a1f,#0000 28%),radial-gradient(circle at 78% 10%,#bf0c211a,#0000 24%)}.dashboard-greeting{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:0;padding-top:2px;display:flex}.dashboard-greeting-title{color:var(--hub-text,#1e293b);margin:0;font-size:clamp(1.85rem,3vw,2.45rem);font-weight:800}.dashboard-greeting-wave{transform-origin:70% 70%;margin-left:.1em;animation:2.4s ease-in-out .6s 2 dashboard-wave;display:inline-block}@keyframes dashboard-wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}@media (prefers-reduced-motion:reduce){.dashboard-greeting-wave{animation:none}}.dashboard-greeting-sub{color:var(--hub-text-muted,#64748b);margin:6px 0 0;font-size:.95rem}.dashboard-hub-grid{gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;display:grid}.dashboard-row-three{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.dashboard-row-three .dashboard-widget,.dashboard-row-three .dashboard-widget--wide{grid-column:span 1;min-height:0}.dashboard-widget{background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e2e8f0);min-height:0;box-shadow:var(--shadow-sm,0 1px 2px #0f172a0f);flex-direction:column;grid-column:span 3;display:flex}.dashboard-widget--wide,.dashboard-widget--overview{grid-column:span 6}.dashboard-widget:not(.dashboard-widget--overview):not(.dashboard-widget--wide){grid-column:span 3}.dashboard-quick-actions{gap:var(--space-2);flex-wrap:wrap;margin-bottom:2px;display:flex}.dashboard-quick-btn{border:1px solid var(--hub-border,#e2e8f0);background:var(--hub-surface,#fff);color:var(--hub-text,#1e293b);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.dashboard-quick-btn:hover{border-color:var(--hub-primary,#bf0c21);background:var(--hub-primary-soft,#bf0c211f);color:var(--hub-text,#1e293b)}.dashboard-quick-btn svg{color:var(--accent);flex-shrink:0}.dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-section{background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e2e8f0);min-height:0;box-shadow:var(--shadow-sm,0 1px 2px #0f172a0f);flex-direction:column;display:flex}.dashboard-section--wide{grid-column:1/-1}.dashboard-section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.dashboard-section-header h2{letter-spacing:.08em;text-transform:uppercase;color:var(--hub-text-muted,#64748b);font-size:13px;font-weight:800}.dashboard-widget--overview{grid-column:span 6}.dash-overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dash-overview-metric{background:var(--hub-surface-2,#f8fafc);border:1px solid var(--hub-border,#e2e8f0);border-radius:12px;padding:12px}.dash-overview-metric-head{color:var(--hub-text-muted,#64748b);justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;font-weight:700;display:flex}.dash-overview-metric-head strong{color:var(--hub-text,#1e293b);font-size:18px}.dash-overview-metric-sub,.dash-overview-caption{color:var(--hub-text-dim,#94a3b8);font-size:11px}.dash-overview-track{background:#e2e8f0;border-radius:999px;height:7px;margin:10px 0 6px;overflow:hidden}.dash-overview-fill{border-radius:999px;height:100%}.dash-overview-fill--good{background:linear-gradient(90deg,#15803d,#2ecc71)}.dash-overview-divider{background:var(--hub-border,#e2e8f0);height:1px;margin:14px 0 12px}.dash-overview-subheader{margin-bottom:10px}.dashboard-section-link{color:var(--hub-brand,#c41e3a);white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.dashboard-section-link:hover{text-decoration:underline}.dash-muted{color:var(--text-muted);font-size:13px}.dash-progress-stack{flex-direction:column;gap:14px;display:flex}.dash-progress-row{flex-direction:column;gap:6px;display:flex}.dash-progress-head{justify-content:space-between;font-size:13px;font-weight:600;display:flex}.dash-progress-count{color:var(--text-muted);font-size:12px}.dash-progress-track{background:#ffffff12;border-radius:999px;height:8px;overflow:hidden}.dash-progress-fill{border-radius:999px;height:100%;transition:width .3s}.dash-progress-fill--good{background:linear-gradient(90deg,#15803d,#22c55e)}.dash-progress-fill--warn{background:linear-gradient(90deg,#c2410c,#f59e0b)}.dash-progress-fill--bad{background:linear-gradient(90deg,#b91c1c,#ef4444)}.dash-occupancy-list{flex-direction:column;gap:10px;display:flex}.dash-occupancy-row{grid-template-columns:88px 1fr 52px;align-items:center;gap:10px;display:grid}.dash-occupancy-day{color:var(--text-muted);font-size:12px;font-weight:600}.dash-occupancy-bar-wrap{background:#ffffff12;border-radius:999px;height:8px;overflow:hidden}.dash-occupancy-bar{border-radius:999px;height:100%}.dash-occupancy-bar--good,.dash-occupancy-bar--full{background:#22c55e}.dash-occupancy-bar--warn{background:#f59e0b}.dash-occupancy-bar--bad{background:#ef4444}.dash-occupancy-ratio{text-align:right;font-size:12px;font-weight:700}.dash-occupancy-ratio--good,.dash-occupancy-ratio--full{color:#4ade80}.dash-occupancy-ratio--warn{color:#fbbf24}.dash-occupancy-ratio--bad{color:#f87171}.dash-fleet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dash-fleet-dots{justify-content:center;gap:8px;margin-top:12px;display:flex}.dash-fleet-dots span{background:#ffffff47;border-radius:999px;width:7px;height:7px}.dash-fleet-dots .is-active{background:#e11d48}.dash-fleet-card{color:inherit;background:#0c1017b8;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;display:flex}.dash-fleet-card:hover{background:#12161fe6;border-color:#e11d4873;transform:translateY(-1px)}.dash-fleet-thumb{color:#e2e8f0;background:linear-gradient(#1c2230f2,#0c1017f2);border:1px solid #ffffff14;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:68px;min-width:68px;height:56px;display:flex}.dash-fleet-thumb-label{text-transform:uppercase;letter-spacing:.08em;color:#e2e8f0b8;font-size:10px}.dash-fleet-thumb strong{font-size:18px;line-height:1}.dash-fleet-copy{flex:1;min-width:0}.dash-fleet-copy .dash-fleet-title{color:#f8fafc;font-size:14px;font-weight:700;text-decoration:none;display:block}.dash-fleet-copy .dash-fleet-meta{color:#e2e8f0ad;margin-top:4px}.dash-timeline{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.dash-timeline-item{border-bottom:1px solid #ffffff14;grid-template-columns:44px 10px 18px 1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.dash-timeline-item:last-child{border-bottom:none}.dash-timeline-time{color:var(--text-muted);font-size:12px;font-weight:700}.dash-timeline-dot{background:#22c55e;border-radius:50%;width:10px;height:10px;margin-top:4px}.dash-timeline-icon{color:#ffffffd1;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.dash-timeline-item--warn .dash-timeline-dot{background:#f59e0b}.dash-timeline-item--bad .dash-timeline-dot{background:#ef4444}.dash-timeline-body{flex-direction:column;gap:2px;font-size:13px;display:flex}.dash-timeline-body span{color:var(--text-muted);font-size:12px}.dash-timeline-tag{white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.dash-timeline-tag--good{color:#22c55e;background:#22c55e1f}.dash-timeline-tag--warn{color:#f59e0b;background:#f59e0b1f}.dash-timeline-tag--bad{color:#f87171;background:#ef44441f}.dash-cta-button{border:1px solid var(--hub-border,#e2e8f0);background:var(--hub-surface-2,#f8fafc);min-height:40px;color:var(--hub-text,#1e293b);border-radius:12px;justify-content:center;align-items:center;margin-top:10px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.dash-cta-button:hover{border-color:var(--hub-primary,#bf0c21);background:var(--hub-primary-soft,#bf0c211f)}.dash-task-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.dash-task-item{border-bottom:1px solid var(--hub-border,#e2e8f0);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 0;display:flex}.dash-task-item:last-child{border-bottom:none}.dash-task-title{color:var(--hub-text,#1e293b);font-size:13px;font-weight:600;text-decoration:none}.dash-task-title:hover{color:var(--hub-primary-dark,#8b0a18)}.dash-task-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dash-task-subtitle{color:var(--hub-text-muted,#64748b);font-size:11px}.dash-task-check-label{cursor:pointer;flex-shrink:0;align-items:center;width:18px;height:18px;display:inline-flex;position:relative}.dash-task-check-input{opacity:0;cursor:pointer;z-index:1;width:18px;height:18px;margin:0;position:absolute;inset:0}.dash-task-check-box{background:#fff;border:1.5px solid #cbd5e1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.dash-task-check-input:checked+.dash-task-check-box{background:#d81f2b;border-color:#d81f2b;box-shadow:0 0 0 2px #d81f2b40}.dash-task-check-label:has(.dash-task-check-input:checked) .dash-task-check-box{background:#d81f2b;border-color:#d81f2b;box-shadow:0 0 0 2px #d81f2b40}.dash-task-check-input:focus-visible+.dash-task-check-box{outline-offset:2px;outline:2px solid #d81f2b8c}.dash-task-item.is-done .dash-task-check-box{background:#d81f2b;border-color:#d81f2b}.dash-task-item.is-done .dash-task-title,.dash-task-item.is-done .dash-task-subtitle{opacity:.55;text-decoration:line-through}.dash-gauge-caption{color:#e2e8f09e;margin-top:2px;font-size:11px}.dash-gauge-trend{margin-top:4px;font-size:11px;font-weight:600}.dash-gauge-trend--up{color:#2ecc71}.dash-gauge-trend--down{color:#ef4444}.dash-task-check{background:#ffffff0a;border:1px solid #ffffff40;border-radius:4px;flex-shrink:0;width:16px;height:16px}.dash-priority{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.dash-priority--high{color:#b91c1c;background:#fee2e2}.dash-priority--medium{color:#b45309;background:#fef3c7}.dash-priority--low{color:#15803d;background:#dcfce7}.dash-board-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.dash-board-row{color:inherit;border-radius:10px;align-items:center;gap:10px;padding:8px 4px;text-decoration:none;display:flex}.dash-board-row:hover{background:#bf0c210d}.dash-board-copy{flex:1;min-width:0}.dash-board-title{font-size:14px;font-weight:700;display:block}.dash-board-sub{color:var(--text-muted,#78716c);margin-top:2px;font-size:12px;display:block}.dash-board-chevron{color:#a8a29e;font-size:18px;line-height:1}.dash-add-task{color:var(--hub-brand,#c41e3a);margin-top:12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.dash-gauge-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dash-gauge{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.dash-gauge-svg{width:88px;height:88px;transform:rotate(-90deg)}.dash-gauge-bg{fill:none;stroke:#ffffff14;stroke-width:8px}.dash-gauge-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .4s}.dash-gauge--good .dash-gauge-fill{stroke:#22c55e}.dash-gauge--warn .dash-gauge-fill{stroke:#f59e0b}.dash-gauge--bad .dash-gauge-fill{stroke:#ef4444}.dash-gauge-value{font-size:18px;font-weight:800;position:absolute;top:28px}.dash-gauge-label{letter-spacing:.04em;color:var(--text-muted);margin-top:4px;font-size:11px;font-weight:700}.dash-fleet-list{flex-direction:column;gap:0;display:flex}.dash-fleet-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.dash-fleet-row:last-child{border-bottom:none}.dash-fleet-title{color:var(--text);font-size:14px;font-weight:700;text-decoration:none}.dash-fleet-title:hover{color:var(--accent)}.dash-fleet-meta{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.dashboard-list{flex-direction:column;gap:0;display:flex}.dashboard-list-row{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid #ffffff14;padding:12px 0;display:flex}.dashboard-list-row:last-child{border-bottom:none;padding-bottom:0}.dashboard-list-row:first-child{padding-top:0}.dashboard-list-main{flex:1;min-width:0}.dashboard-list-title{color:var(--text);font-size:14px;font-weight:600;text-decoration:none}a.dashboard-list-title:hover{color:var(--accent)}.dashboard-list-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.dashboard-list-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.dashboard-list-time{color:var(--text-muted);font-size:12px;font-weight:600}.dashboard-schedule-summary{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-muted);flex-wrap:wrap;font-size:13px;display:flex}.dashboard-cuts-pill{color:#fbbf24;background:#f59e0b29;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.dashboard-hub .hub-stat-card{background:linear-gradient(#0f1115eb,#0a0c10e6);border:1px solid #ffffff14;border-radius:12px;min-height:150px;box-shadow:0 14px 32px #00000047}.dashboard-hub .grid.stat-grid-6>*,.dashboard-hub .grid.stat-grid-5>*{min-width:0}.dashboard-hub .stat-card{align-items:stretch;min-width:0;position:relative}.dashboard-hub .stat-card-body{min-width:0;padding-left:0}.dashboard-hub .stat-card .stat-icon{width:44px;height:44px;position:absolute;top:18px;left:18px}.dashboard-hub .stat-card .stat-label,.dashboard-hub .stat-card .stat-value,.dashboard-hub .stat-card .stat-trend,.dashboard-hub .stat-card .stat-hint{padding-left:62px}.dashboard-hub .stat-card .stat-value{font-size:30px;line-height:1.05}.dashboard-hub .stat-sparkline{opacity:.8;margin-top:18px}.dashboard-hub .card,.dashboard-hub .hub-section{border-radius:16px}.dashboard-hub .empty-state{padding-top:var(--space-5);padding-bottom:var(--space-5)}@media (width<=1200px){.dashboard-hub{min-height:auto}.dashboard-hub .stat-card .stat-value{font-size:26px}.dashboard-hub .stat-card .stat-label{font-size:12px}.dashboard-hub .stat-card .stat-trend,.dashboard-hub .stat-card .stat-hint{font-size:11px}.dashboard-hub .stat-card .stat-label,.dashboard-hub .stat-card .stat-value,.dashboard-hub .stat-card .stat-trend,.dashboard-hub .stat-card .stat-hint{overflow-wrap:anywhere}.dashboard-hub-grid,.dashboard-row-three{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-widget,.dashboard-widget--wide{grid-column:span 1}.dashboard-widget--overview,.dashboard-widget--wide{grid-column:span 2}.dash-fleet-grid,.dash-gauge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=992px){.dashboard-grid{grid-template-columns:1fr}.dash-overview-metrics,.dash-fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hub{padding-top:0}.dashboard-greeting{flex-direction:column}.dashboard-hub-grid,.dashboard-row-three{grid-template-columns:1fr}.dashboard-widget--overview,.dashboard-widget--wide{grid-column:span 1}}@media (width<=768px){.dashboard-hub{gap:var(--space-3);--dash-bg-bottom:calc(var(--mobilenav-height) + var(--space-4))}.dashboard-hub-grid,.dashboard-row-three,.dash-overview-metrics,.dash-fleet-grid,.dash-gauge-grid{grid-template-columns:1fr}.dashboard-hub .grid.stat-grid-6,.dashboard-hub .grid.stat-grid-5{grid-template-columns:1fr;width:100%;max-width:100%}.dashboard-hub .grid.stat-grid-6>*,.dashboard-hub .grid.stat-grid-5>*{min-width:0;max-width:100%}.dashboard-quick-actions{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.dashboard-quick-btn{flex-shrink:0}.dash-gauge-grid{grid-template-columns:1fr 1fr}.dashboard-hub .hub-stat-card{min-height:118px;padding:16px 16px 14px;overflow:hidden}.dashboard-hub .stat-card .stat-icon{width:40px;height:40px;top:16px;left:16px}.dashboard-hub .stat-card .stat-icon svg{flex-shrink:0;width:18px;height:18px}.dashboard-hub .stat-card-body{box-sizing:border-box;min-width:0;max-width:100%;padding-left:56px}.dashboard-hub .stat-card .stat-label,.dashboard-hub .stat-card .stat-value,.dashboard-hub .stat-card .stat-trend,.dashboard-hub .stat-card .stat-hint{overflow-wrap:anywhere;max-width:100%;padding-left:0}.dashboard-hub .stat-card .stat-value{font-size:28px}.dashboard-hub .stat-sparkline{max-width:100%;margin-top:12px}}@media (width<=576px){.dash-gauge-grid{grid-template-columns:1fr}.dashboard-hub .hub-stat-card{min-height:112px;padding:14px 14px 12px}.dashboard-hub .stat-card .stat-icon{width:38px;height:38px;top:14px;left:14px}.dashboard-hub .stat-card-body{padding-left:52px}.dashboard-hub .stat-card .stat-value{font-size:26px}.dashboard-hub .stat-card .stat-label{font-size:12px}.dashboard-hub .stat-trend,.dashboard-hub .stat-hint{font-size:11px}}@media (width<=430px){.dashboard-hub .hub-stat-card{padding:12px 12px 10px}.dashboard-hub .stat-card .stat-icon{width:36px;height:36px;top:12px;left:12px}.dashboard-hub .stat-card-body{padding-left:48px}}.dash-todo-progress{align-items:center;gap:12px;margin:2px 0 10px;display:flex}.dash-todo-ring{--pct:0;background:conic-gradient(var(--hub-primary,#bf0c21) calc(var(--pct) * 1%), #f1e4e8 0);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.dash-todo-ring span{background:var(--hub-surface,#fff);width:43px;height:43px;color:var(--hub-primary,#bf0c21);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.dash-todo-progress-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.dash-todo-progress-copy strong{font-size:14px}.dash-todo-bar{background:#f1e4e8;border-radius:999px;height:7px;overflow:hidden}.dash-todo-bar i{background:var(--hub-primary,#bf0c21);border-radius:999px;height:100%;transition:width .25s;display:block}.dash-todo-section{color:var(--hub-text-muted,#6b7280);margin:0 0 2px;font-size:12px}.dash-todo-badge{color:#4b5563;white-space:nowrap;background:#f3f4f6;border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:700}.dash-todo-badge.is-done{color:#166534;background:#dcfce7}.dash-todo-badge.is-late{color:#b91c1c;background:#fee2e2}.dash-todo-badge.is-auto{background:var(--hub-primary-soft,#bf0c211f);color:var(--hub-primary-dark,#8b0a18)}.dash-speak-row{align-items:center;gap:6px;display:flex}.dash-speak-row .dash-board-row{flex:1;min-width:0}.dash-speak-check{cursor:pointer;padding:6px;display:inline-flex}.dash-speak-check input{accent-color:#15803d;cursor:pointer;width:18px;height:18px}.dash-speak-row.is-done .dash-board-title,.dash-speak-row.is-done .dash-board-sub{opacity:.55;text-decoration:line-through}.dash-speak-done{color:#15803d;white-space:nowrap;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.dash-speak-count{color:#b91c1c;vertical-align:middle;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:700}.dash-speak-count.is-done{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.dashboard-row-two{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.dashboard-row-two>*{grid-column:auto;min-width:0}.dashboard-row-two .dashboard-widget,.dashboard-row-two .dash-row-card--tasks{min-height:0}.timeoff-notice{margin-bottom:var(--space-4)}.timeoff-notice-count{color:#8b0a18;font-size:13px;font-weight:700}.timeoff-notice-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.timeoff-notice-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.timeoff-notice-list li div:first-child{flex-direction:column;gap:2px;min-width:0;display:flex}.timeoff-notice-list li span{color:var(--hub-text-muted,#64748b);font-size:13px}.timeoff-notice-actions{flex-shrink:0;gap:8px;display:flex}.dash-row-card{background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e2e8f0);min-height:0;box-shadow:var(--shadow-sm,0 1px 2px #0f172a0f);border-radius:12px;flex-direction:column;padding:18px 18px 16px;display:flex}.dash-row-card__header,.dash-row-card__subheader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dash-row-card__header h2,.dash-row-card__subheader h3{letter-spacing:.08em;text-transform:uppercase;color:var(--hub-text-muted,#64748b);margin:0;font-size:13px;font-weight:800}.dash-row-card__subheader h3{letter-spacing:.1em;color:var(--hub-text-muted,#64748b);font-size:11px}.dash-row-card__link{color:var(--hub-brand,#bf0c21);white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.dash-row-card__link:hover{text-decoration:underline}.dash-row-card__error{color:#b91c1c;background:#ef44441a;border:1px solid #ef444447;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:flex}.dash-row-card__retry{color:inherit;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.dash-row-card__retry:hover{background:#fef2f2}.dash-row-card__empty{color:var(--hub-text-muted,#64748b);margin:0 0 12px;font-size:13px}.vandaag-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.vandaag-metric{background:var(--hub-surface-2,#f8fafc);border:1px solid var(--hub-border,#e2e8f0);border-radius:12px;padding:12px 10px}.vandaag-metric__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.vandaag-metric__label{color:var(--hub-text-muted,#64748b);overflow-wrap:anywhere;min-width:0;font-size:11px;font-weight:700}.vandaag-metric__value{color:var(--hub-text,#1e293b);white-space:nowrap;font-size:18px;font-weight:800;line-height:1}.vandaag-metric__sub,.vandaag-metric__pct{color:var(--hub-text-dim,#94a3b8);margin-top:4px;font-size:10px}.vandaag-metric__track{background:#e2e8f0;border-radius:999px;height:7px;margin:10px 0 6px;overflow:hidden}.vandaag-metric__fill{background:linear-gradient(90deg,#15803d,#22c55e);border-radius:999px;height:100%}.vandaag-divider{background:var(--hub-border,#e2e8f0);height:1px;margin:14px 0 12px}.vandaag-occupancy{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.vandaag-occupancy__col{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.vandaag-occupancy__day{text-transform:capitalize;color:var(--hub-text-muted,#64748b);text-align:center;overflow-wrap:anywhere;min-width:0;font-size:11px;font-weight:700}.vandaag-occupancy__bar-wrap{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.vandaag-occupancy__bar{border-radius:999px;min-width:4px;height:100%;transition:width .35s}.vandaag-occupancy__bar--good,.vandaag-occupancy__bar--full{background:linear-gradient(90deg,#15803d,#22c55e)}.vandaag-occupancy__bar--warn{background:linear-gradient(90deg,#c2410c,#f59e0b)}.vandaag-occupancy__bar--bad{background:linear-gradient(90deg,#b91c1c,#ef4444)}.vandaag-occupancy__ratio{text-align:center;font-size:12px;font-weight:800}.vandaag-occupancy__ratio--good,.vandaag-occupancy__ratio--full{color:#15803d}.vandaag-occupancy__ratio--warn{color:#b45309}.vandaag-occupancy__ratio--bad{color:#b91c1c}.daily-op-timeline{flex:1;margin:0;padding:0;list-style:none}.daily-op-event{border-bottom:1px solid var(--hub-border,#e2e8f0);grid-template-columns:44px 10px 18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;display:grid}.daily-op-event:last-child{border-bottom:none}.daily-op-event__time{color:var(--hub-text-dim,#94a3b8);font-size:12px;font-weight:700}.daily-op-event__dot{background:#22c55e;border-radius:50%;justify-self:center;width:10px;height:10px}.daily-op-event--warn .daily-op-event__dot{background:#f59e0b}.daily-op-event--bad .daily-op-event__dot{background:#ef4444}.daily-op-event__icon{color:var(--hub-text-muted,#64748b);justify-content:center;align-items:center;display:inline-flex}.daily-op-event__body{flex-direction:column;gap:2px;min-width:0;display:flex}.daily-op-event__body strong{color:var(--hub-text,#1e293b);font-size:13px;font-weight:700}.daily-op-event__body span{color:var(--hub-text-muted,#64748b);font-size:11px}.daily-op-event__metric{white-space:nowrap;color:#15803d;background:#dcfce7;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.daily-op-event__metric--warn{color:#b45309;background:#fef3c7}.daily-op-event__metric--bad{color:#b91c1c;background:#fee2e2}.daily-op-cta{border:1px solid var(--hub-border,#e2e8f0);background:var(--hub-surface-2,#f8fafc);color:var(--hub-text,#1e293b);text-align:center;border-radius:10px;margin-top:14px;padding:11px 14px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s;display:block}.daily-op-cta:hover{background:var(--hub-primary-soft,#bf0c211f);border-color:var(--hub-primary,#bf0c21)}.vandaag-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:8px;animation:1.2s ease-in-out infinite vandaag-shimmer;display:block}.vandaag-skeleton--xs{width:36px;height:10px}.vandaag-skeleton--sm{width:28px;height:12px}.vandaag-skeleton--md{width:100%;height:14px}.vandaag-skeleton--bar{width:100%;height:8px}.vandaag-skeleton--dot{border-radius:50%;width:10px;height:10px}.vandaag-skeleton--icon{width:18px;height:18px}.vandaag-skeleton--tag{border-radius:999px;width:56px;height:22px}.vandaag-metric--skeleton{flex-direction:column;gap:10px;min-height:92px;display:flex}@keyframes vandaag-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1200px){.dashboard-row-two,.vandaag-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.vandaag-occupancy{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=992px){.dashboard-row-two{grid-template-columns:1fr}.vandaag-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.vandaag-metrics,.vandaag-occupancy{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-op-event{grid-template-columns:40px 8px 16px minmax(0,1fr)}.daily-op-event__metric{grid-column:4;justify-self:start;margin-top:4px}}@media (width<=576px){.vandaag-metrics,.vandaag-occupancy{grid-template-columns:1fr}}.dashboard-row-two>.dash-row-card--insurance{grid-column:1/-1}.dash-row-three-card{background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e2e8f0);min-height:0;box-shadow:var(--shadow-sm,0 1px 2px #0f172a0f);border-radius:12px;flex-direction:column;padding:18px 18px 16px;display:flex}.dash-row-three-card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dash-row-three-card__header h2{letter-spacing:.08em;text-transform:uppercase;color:var(--hub-text-muted,#64748b);margin:0;font-size:13px;font-weight:800}.dash-row-three-card__link{color:var(--hub-brand,#c41e3a);white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}.dash-row-three-card__link:hover{text-decoration:underline}.dash-row-three-card__header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.dash-row-three-card__filter{width:auto;min-width:0;color:var(--hub-text,#1e293b);background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e2e8f0);border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600}.dash-row-three-card__filter option{color:#111827;background-color:#fff}.dash-row-three-card__filter:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 2px #ef444440}.dash-row-three-card__error{color:#b91c1c;background:#ef44441f;border:1px solid #ef444459;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:flex}.dash-row-three-card__retry{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.dash-row-three-card__empty{color:var(--hub-text-muted,#64748b);margin:0;font-size:13px}.perf-vandaag-gauges{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.perf-vandaag-gauge{text-align:center;background:var(--hub-surface-2,#f8fafc);border:1px solid var(--hub-border,#e2e8f0);border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-height:168px;padding:14px 8px 12px;display:flex}.perf-vandaag-gauge__label{letter-spacing:.06em;text-transform:uppercase;color:var(--hub-text-muted,#64748b);font-size:10px;font-weight:700;line-height:1.2}.perf-vandaag-gauge__ring-wrap{width:84px;height:84px;position:relative}.perf-vandaag-gauge__svg{width:84px;height:84px;transform:rotate(-90deg)}.perf-vandaag-gauge__track{fill:none;stroke:#e2e8f0;stroke-width:7px}.perf-vandaag-gauge__arc{fill:none;stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .45s}.perf-vandaag-gauge__arc--good{stroke:#22c55e}.perf-vandaag-gauge__arc--warn{stroke:#f59e0b}.perf-vandaag-gauge__arc--bad{stroke:#ef4444}.perf-vandaag-gauge__value{color:var(--hub-text,#1e293b);letter-spacing:-.02em;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex;position:absolute;inset:0}.perf-vandaag-gauge__sub{font-size:12px;font-weight:600;line-height:1.2}.perf-vandaag-gauge__sub--good{color:#15803d}.perf-vandaag-gauge__sub--warn{color:#b45309}.perf-vandaag-gauge__sub--bad{color:#b91c1c}.perf-vandaag-gauge__trend{margin-top:auto;font-size:11px;font-weight:600;line-height:1.2}.perf-vandaag-gauge__trend--up,.perf-vandaag-gauge__trend--neutral,.perf-vandaag-gauge__trend--down{color:#4ade80}.fleet-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fleet-status-item{background:var(--hub-surface-2,#f8fafc);border:1px solid var(--hub-border,#e2e8f0);min-width:0;color:inherit;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:flex}.fleet-status-item:hover{border-color:var(--hub-primary,#bf0c21);background:var(--hub-surface,#fff);transform:translateY(-1px)}.fleet-van-thumb{border:1px solid var(--hub-border,#e2e8f0);background:linear-gradient(#e2e8f0,#cbd5e1);border-radius:10px;flex:0 0 56px;justify-content:center;align-items:center;width:56px;height:40px;display:flex;overflow:hidden}.fleet-van-thumb__svg{width:100%;height:100%;display:block}.fleet-status-item__copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.fleet-status-item__title,.fleet-status-item__model,.fleet-status-item__sub span{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;word-break:normal;min-width:0;overflow:hidden}.fleet-status-item__title{color:var(--hub-text,#1e293b);font-size:14px;font-weight:700;line-height:1.25}.fleet-status-item__model{color:var(--hub-text-muted,#64748b);font-size:12px;line-height:1.25}.fleet-status-item__sub{align-items:center;gap:5px;min-width:0;margin-top:4px;font-size:11px;font-weight:600;line-height:1.25;display:flex}.fleet-status-item__sub svg{flex-shrink:0}.fleet-status-item__sub--damage{color:#b91c1c}.fleet-status-item__sub--apk,.fleet-status-item__sub--photos{color:#c2410c}.fleet-status-item__sub--maintenance{color:var(--hub-primary,#bf0c21)}.fleet-status-item__sub--available{color:#15803d}.fleet-status-badge{text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:none;max-width:42%;padding:5px 8px;font-size:10px;font-weight:700;line-height:1.25;overflow:hidden}.fleet-status-badge--damage,.fleet-status-badge--photos{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.fleet-status-badge--apk{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.fleet-status-badge--maintenance{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18);border:1px solid #f5a0a8}.fleet-status-badge--available{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.fleet-status-dots{justify-content:center;gap:8px;margin-top:14px;display:flex}.fleet-status-dots button,.fleet-status-dots span{cursor:default;background:#cbd5e1;border:none;border-radius:999px;width:7px;height:7px;padding:0}.fleet-status-dots button{cursor:pointer}.fleet-status-dots .is-active,.fleet-status-dots button.is-active{background:var(--hub-brand,#c41e3a)}.perf-vandaag-skeleton{background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 50%,#f1f5f9 100%) 0 0/200% 100%;border-radius:6px;animation:1.4s infinite perf-vandaag-shimmer;display:block}.perf-vandaag-skeleton--label{width:70%;height:10px;margin:0 auto}.perf-vandaag-skeleton--ring{border-radius:999px;width:72px;height:72px;margin:8px auto}.perf-vandaag-skeleton--sub{width:55%;height:10px;margin:0 auto}.perf-vandaag-skeleton--van{border-radius:10px;width:72px;height:48px}.perf-vandaag-skeleton--meta{width:100%;height:42px}@keyframes perf-vandaag-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1400px){.fleet-status-grid{grid-template-columns:1fr}}@media (width<=1200px){.perf-vandaag-gauges{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-status-badge{max-width:38%}}@media (width<=992px){.fleet-status-grid{grid-template-columns:1fr}.dash-row-three-card__header{flex-wrap:wrap;gap:10px}.dash-row-three-card__header-actions{justify-content:space-between;width:100%}.dash-row-three-card__filter{flex:1;max-width:100%}}@media (width<=768px){.perf-vandaag-gauges{grid-template-columns:1fr 1fr}.fleet-status-item{flex-wrap:wrap}.fleet-status-item__copy{flex:calc(100% - 76px)}.fleet-status-badge{white-space:nowrap;flex:100%;max-width:100%;margin-left:66px}}@media (width<=576px){.perf-vandaag-gauges{grid-template-columns:1fr}}.photo-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(148px,1fr));display:grid}.photo-grid-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:box-shadow .15s,transform .15s;overflow:hidden}.photo-grid-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.photo-grid-item img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.photo-grid-meta{color:var(--text-muted);padding:8px 10px;font-size:12px;line-height:1.4}.photo-grid-meta strong{color:var(--text);font-size:13px;display:block}.photo-preview-img{object-fit:contain;border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;max-height:70vh}.photos-week-nav{align-items:center;gap:var(--space-2);display:flex}.photos-week-label{white-space:nowrap;cursor:default;justify-content:center;align-items:center;width:auto;min-width:190px;font-weight:600;display:inline-flex}.photos-bus-row{cursor:pointer}.photos-bus-row:hover td{background:var(--surface-muted)}.photos-bus-name{font-weight:600}.photos-bus-status-col{width:180px}.photos-count{font-variant-numeric:tabular-nums;font-weight:600}.photos-count.is-partial{color:#b45309}.photos-count.is-done{color:#15803d}.photos-check{color:#15803d;background:#22c55e26;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.photos-back-link{margin-bottom:var(--space-2);padding-left:0;display:inline-flex}.photo-preview-nav{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:8px;width:40px;height:56px;font-size:30px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.photo-preview-nav--prev{left:8px}.photo-preview-nav--next{right:8px}.photo-preview-count{color:#fff;background:#0009;border-radius:999px;padding:2px 8px;font-size:12px;position:absolute;bottom:8px;right:8px}.photos-date-nav{align-items:center;gap:6px;display:inline-flex}.photos-date-nav .input{width:150px}.photo-preview-wrap .photo-preview-img--placeholder{object-fit:contain;filter:blur(6px);opacity:.8;width:100%;height:100%;position:absolute;inset:0}.photo-preview-wrap:not(.is-loaded) .zoomable-photo{opacity:0}.photo-preview-wrap.is-loaded .zoomable-photo{opacity:1;transition:opacity .15s}.photo-lightbox{z-index:10000;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-lightbox__stage{touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.photo-lightbox__stage img{-webkit-user-select:none;user-select:none;transform-origin:50%;max-width:96vw;max-height:90vh}.photo-lightbox__bar{z-index:1;color:#fff;background:#1e1e1ed9;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.photo-lightbox__bar button{color:#111;cursor:pointer;background:#fff;border:0;border-radius:6px;min-width:34px;height:32px;padding:0 10px;font-size:16px}.photo-lightbox__bar span{text-align:center;min-width:48px;font-size:13px}.zoomable-photo{cursor:zoom-in}.photo-lightbox__nav{z-index:1;color:#111;cursor:pointer;background:#ffffffe6;border:0;border-radius:10px;width:52px;height:72px;font-size:40px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.photo-lightbox__nav--prev{left:14px}.photo-lightbox__nav--next{right:14px}.bus-photo-calendar-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.bus-photo-calendar-toolbar .select{width:auto;padding:6px 28px 6px 10px;font-size:13px}.bus-photo-calendar-legend{gap:var(--space-3);margin-bottom:var(--space-4);color:var(--text-muted);flex-wrap:wrap;font-size:12px;display:flex}.bus-photo-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.bus-photo-calendar-swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px}.bus-photo-calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.bus-photo-calendar-weekday{text-align:center;text-transform:uppercase;color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.bus-photo-calendar-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;min-height:52px;padding:6px;font-size:13px;font-weight:600;transition:box-shadow .15s,transform .15s}.bus-photo-calendar-cell:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.bus-photo-calendar-cell.empty{cursor:default;background:0 0;border:none;min-height:0;padding:0}.bus-photo-calendar-cell.future{background:var(--surface-muted);color:var(--text-muted);cursor:default}.bus-photo-calendar-cell.photos{color:#166534;background:#dcfce7;border-color:#86efac}.bus-photo-calendar-cell.partial{color:#92400e;background:#fef3c7;border-color:#fcd34d}.bus-photo-calendar-cell.missing{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.bus-photo-calendar-cell.damage{color:#c2410c;background:#ffedd5;border-color:#fdba74}.bus-photo-calendar-cell.ai_suggestion{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.bus-photo-calendar-cell.is-today{outline:2px solid var(--accent);outline-offset:1px}.bus-photo-calendar-mobile-list{gap:var(--space-2);margin-top:var(--space-5);flex-direction:column;display:none}.bus-photo-calendar-mobile-item{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;width:100%;padding:12px 14px;display:flex}.bus-photo-calendar-mobile-item:hover{background:var(--surface-muted)}.bus-photo-calendar-mobile-item .day-label{font-size:14px;font-weight:600}.bus-photo-calendar-status-pill{border-radius:var(--radius-pill);white-space:nowrap;padding:3px 8px;font-size:11px;font-weight:600}.bus-photo-calendar-status-pill.photos{color:#166534;background:#dcfce7}.bus-photo-calendar-status-pill.partial{color:#92400e;background:#fef3c7}.bus-photo-calendar-status-pill.missing{color:#b91c1c;background:#fee2e2}.bus-photo-calendar-status-pill.damage{color:#c2410c;background:#ffedd5}.bus-photo-calendar-status-pill.future{background:var(--surface-muted);color:var(--text-muted)}@media (width<=768px){.bus-photo-calendar-grid-wrap{display:none}.bus-photo-calendar-mobile-list{display:flex}}.delete-shift-summary{margin:0 0 12px;font-size:14px}.delete-shift-scope{flex-direction:column;gap:8px;display:flex}.delete-shift-option{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.delete-shift-option:hover{border-color:#cbd5e1}.delete-shift-option.is-active{border-color:var(--hub-primary,#bf0c21);background:#fff6f7}.delete-shift-option input{accent-color:var(--hub-primary,#bf0c21);margin-top:3px}.delete-shift-option-title{align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.delete-shift-option-sub{color:var(--hub-text-muted,#64748b);margin-top:2px;font-size:12px;display:block}.planning-shift-repeat{color:#475569;pointer-events:none;background:#ffffffd9;border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:absolute;bottom:6px;right:6px}.assignment-repeat-fieldset{border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-md,8px);margin:0 0 var(--space-4,16px);padding:12px 14px}.assignment-repeat-fieldset legend{color:var(--text-muted,#64748b);padding:0 6px;font-size:13px;font-weight:600}.assignment-repeat-options{flex-direction:column;gap:8px;display:flex}.assignment-repeat-option{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.assignment-weekday-row{flex-wrap:wrap;gap:6px;display:flex}.assignment-weekday-chip{border:1px solid var(--border,#cbd5e1);border-radius:var(--radius-sm,6px);background:var(--surface,#fff);min-width:40px;height:36px;color:var(--text,#0f172a);cursor:pointer;padding:0 10px;font-size:13px;font-weight:600}.assignment-weekday-chip.is-active{background:var(--primary,var(--hub-primary,#bf0c21));border-color:var(--primary,var(--hub-primary,#bf0c21));color:#fff}.assignment-weekday-chip:disabled{opacity:.6;cursor:not-allowed}.assignment-repeat-hint{margin:0 0 var(--space-4,16px);font-size:13px}.avail-set-layout{gap:var(--space-5);grid-template-columns:1fr min(280px,32%);align-items:start;display:grid}.avail-set-period-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.avail-set-period-label{min-width:200px;font-size:14px;font-weight:500}.avail-set-week-nav{min-width:36px;padding-inline:10px}.avail-set-period-input{max-width:160px;margin-left:auto}.avail-set-period-range{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.avail-set-period-sep{color:var(--text-muted)}.avail-set-period-hint{margin-top:6px;font-size:12px}.avail-set-recurring-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.avail-set-recurring-select{min-width:160px}.avail-set-copy-row{align-items:center;gap:var(--space-2);margin:var(--space-4) 0;cursor:pointer;font-size:14px;display:flex}.avail-set-days{gap:var(--space-4);margin-top:var(--space-2);flex-direction:column;display:flex}.avail-set-day{gap:var(--space-3);grid-template-columns:36px 1fr;align-items:start;display:grid}.avail-set-day-label{color:var(--text-muted);padding-top:10px;font-size:14px;font-weight:600}.avail-set-day-fields{gap:var(--space-2);flex-direction:column;display:flex}.avail-set-reason{resize:vertical;min-height:56px;font-size:14px}.avail-set-guideline{border-radius:var(--radius-md);padding:var(--space-4);color:var(--text);background:#e8f4fc;font-size:13px;line-height:1.5}.avail-set-guideline strong{margin-bottom:var(--space-2);font-size:14px;display:block}@media (width<=768px){.avail-set-layout{grid-template-columns:1fr}.avail-set-period-input{width:100%;max-width:none;margin-left:0}}.period-picker{max-width:320px;position:relative}.period-picker-btn{border:1px solid var(--hub-border,#e2e8f0);background:var(--hub-surface,#fff);width:100%;font:inherit;color:var(--hub-text,#0f172a);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:14px;display:flex}.period-picker-btn:hover{border-color:#cbd5e1}.period-picker-caret{color:#64748b;font-size:14px}.period-picker-pop{z-index:50;border:1px solid var(--hub-border,#e2e8f0);background:#fff;border-radius:12px;width:min(760px,100vw - 48px);padding:14px 16px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #0f172a29}.period-picker-inputs{align-items:center;gap:8px;margin-bottom:12px;display:flex}.period-picker-input{border:1px solid #e2e8f0;border-radius:8px;min-width:150px;padding:7px 10px;font-size:14px}.period-picker-input.is-active{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.period-picker-sep{color:#94a3b8}.period-picker-months{grid-template-columns:1fr 1fr;gap:24px;display:grid}.period-picker-month-head{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;display:flex}.period-picker-nav{gap:2px;min-width:48px;display:inline-flex}.period-picker-nav button{cursor:pointer;color:#475569;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:15px}.period-picker-nav button:hover{background:#f1f5f9}.period-picker-grid{border-collapse:separate;border-spacing:0 4px;table-layout:fixed;width:100%}.period-picker-grid th{color:#334155;text-align:center;padding:4px 0;font-size:12px;font-weight:700}.period-picker-wk{color:#94a3b8;text-align:center;width:30px;font-size:11px;font-weight:500!important}.period-picker-day{text-align:center;padding:0}.period-picker-day button{width:100%;height:32px;font:inherit;color:#0f172a;cursor:pointer;background:0 0;border:0;border-radius:0;font-size:13px}.period-picker-day.is-outside button{color:#cbd5e1}.period-picker-day.is-today button{font-weight:700}.period-picker-day button:hover{background:#e0e7ff}.period-picker-day.in-range button{background:#c7d2fe}.period-picker-day.is-start button,.period-picker-day.is-end button{color:#fff;background:#4f46e5;border-radius:999px}.period-picker-day.is-start.in-range:not(.is-end) button{border-radius:999px 0 0 999px}.period-picker-day.is-end.in-range:not(.is-start) button{border-radius:0 999px 999px 0}.period-picker-foot{border-top:1px solid #eef0f3;align-items:center;gap:10px;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.avail-set-day-row{align-items:center;gap:8px;display:flex}.avail-set-day-row .select{flex:1}.avail-set-time{width:120px}.avail-set-reason{margin-top:6px;font-size:13px}@media (width<=720px){.period-picker-months{grid-template-columns:1fr}}.avail-set-empty{color:#94a3b8;border-color:#f59e0b}.planning-page{max-width:100%}.hub-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.planning-week-nav{align-items:center;gap:var(--space-2);display:flex}.planning-week-label{text-align:center;min-width:180px;color:var(--hub-text);font-size:14px;font-weight:700}.planning-filter-select{min-width:160px}.planning-search{flex:1;min-width:180px;max-width:260px}.planning-grid thead tr.planning-avail-row th{top:var(--planning-day-head-h,54px);text-transform:none;letter-spacing:0;background:var(--hub-surface,#fff);box-shadow:none;border-top:1px solid #eef0f3;border-bottom:1px solid #e5e7eb;padding:5px 8px;font-size:12px;font-weight:600}.planning-grid thead tr.planning-avail-row th.is-today{color:var(--hub-text);background:#fff6f7}.planning-grid thead tr.planning-avail-row th.planning-avail-row-label{text-align:left;color:var(--hub-text);background:var(--hub-surface,#fff);padding-left:12px;font-size:12px;font-weight:700}.planning-avail-count{white-space:nowrap;justify-content:center;align-items:center;gap:14px;display:inline-flex}.planning-avail-count-item{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.planning-avail-count-yes{color:#15803d}.planning-avail-count-no{color:#6b7280}.planning-avail-dot{background:#22c55e;border-radius:50%;flex:none;width:8px;height:8px}.planning-avail-count-no .planning-avail-dot{background:#9ca3af}.planning-grid .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}.planning-conflict-panel{margin-bottom:var(--space-4);background:linear-gradient(#fff7f7 0%,#fff 55%),#fff;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.planning-conflict-panel-head{padding:14px 16px 10px}.planning-conflict-panel-title-row{align-items:flex-start;gap:12px;display:flex}.planning-conflict-count{color:#fff;background:#ef4444;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-size:15px;font-weight:800;line-height:1;display:inline-flex}.planning-conflict-title{color:#991b1b;letter-spacing:-.01em;margin:0 0 4px;font-size:15px;font-weight:800}.planning-conflict-subtitle{color:#7f1d1d;max-width:52rem;margin:0;font-size:13px;line-height:1.45}.planning-conflict-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:0;padding:0 12px 12px;list-style:none;display:grid}.planning-conflict-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.planning-conflict-card:hover{border-color:#f87171;transform:translateY(-1px);box-shadow:0 2px 8px #ef44441f}.planning-conflict-card:focus-visible{outline-offset:2px;outline:2px solid #ef4444}.planning-conflict-card-main{flex-direction:column;gap:4px;min-width:0;display:flex}.planning-conflict-driver{color:#0f172a;font-size:13px;font-weight:700}.planning-conflict-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.planning-conflict-dot{background:#cbd5e1;border-radius:50%;width:3px;height:3px}.planning-conflict-card-action{color:#b91c1c;flex-shrink:0;font-size:12px;font-weight:700}.planning-conflict-more{color:#94a3b8;margin:0;padding:0 16px 12px;font-size:12px}.planning-avail-conflict-flag{color:#b91c1c;letter-spacing:.02em;background:#fee2e2;border-radius:4px;margin:4px 0 6px;padding:3px 6px;font-size:10px;font-weight:800}.planning-cell.has-avail-conflict{background:#fef2f2;box-shadow:inset 0 0 0 2px #ef4444}@media (width<=640px){.planning-conflict-cards{grid-template-columns:1fr}.planning-conflict-card-action{display:none}}.planning-cuts-embedded{border:1px solid var(--hub-border);background:var(--hub-surface,#fff);border-radius:8px;margin:12px 0 0;overflow:hidden}.planning-cuts-embedded-head{background:var(--hub-surface-2,#f8fafc);border-bottom:1px solid var(--hub-border);padding:8px 14px}.planning-cuts-embedded-head h3{color:var(--hub-text);margin:0;font-size:13px;font-weight:700}.planning-cuts-embedded-body{padding:10px 12px 12px}.planning-dept-stack .planning-cuts-embedded,.planning-dept-stack .planning-roster-section{margin-top:12px}.occupancy-wrap{overflow-x:auto}.occupancy-table{border-collapse:collapse;width:100%;min-width:640px;color:var(--hub-text,#1e293b);font-size:12px}.occupancy-table th,.occupancy-table td{text-align:center;border:1px solid var(--hub-border);padding:8px 10px}.occupancy-table th{color:var(--hub-text-dim);font-size:11px;font-weight:700}.occ-type{white-space:nowrap;color:var(--hub-text,#1e293b);font-weight:600;text-align:left!important}.occ-cell{color:var(--hub-text,#1e293b)}.occ-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.occ-cell.tone-good{color:#15803d}.occ-cell.tone-warn{color:#b45309}.occ-cell.tone-full{color:#b91c1c;font-weight:700}.occ-total-row td{background:var(--hub-surface-muted);color:var(--hub-text,#1e293b);font-weight:800}.planning-day-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid;overflow-x:auto}.planning-day-card{border:1px solid var(--hub-border);background:var(--hub-surface-2);border-radius:8px;min-width:0;overflow:hidden}.planning-day-card-head{color:var(--hub-text-muted,#64748b);border-bottom:1px solid var(--hub-border);flex-direction:column;gap:4px;padding:8px 10px;font-size:10px;font-weight:700;display:flex}.planning-day-card-head>span:first-child{color:var(--hub-text,#1e293b);font-size:11px}.planning-day-card-meta{justify-content:space-between;align-items:center;display:flex}.planning-day-count{letter-spacing:.04em;color:var(--hub-text-muted,#64748b);font-size:10px}.planning-day-card.cuts.has-items .planning-day-count.active{color:#b91c1c}.planning-day-card.extras.has-items .planning-day-count.active{color:#b45309}.planning-day-add{color:var(--hub-text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.planning-day-card-body{flex-direction:column;gap:4px;min-height:64px;padding:8px;display:flex}.planning-day-empty{color:var(--hub-text-dim);font-size:10px}.planning-day-item{background:var(--hub-surface-muted,#f1f5f9);color:var(--hub-text,#1e293b);border-radius:4px;justify-content:space-between;align-items:center;gap:4px;padding:4px 6px;font-size:10px;display:flex}.planning-day-remove{color:var(--hub-text-dim);cursor:pointer;background:0 0;border:none;font-size:14px;line-height:1}.planning-grid-section{padding:0}.planning-grid-section .hub-section-head{margin:0}.planning-grid-wrap{border-top:1px solid var(--hub-border);overflow:visible}.planning-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.planning-grid th,.planning-grid td{vertical-align:top;border:1px solid #eef0f3}.planning-grid thead th{letter-spacing:.02em;text-transform:uppercase;text-align:center;z-index:2;color:var(--hub-text-muted);background:#fafbfc;padding:10px 8px;font-size:11px;font-weight:700;position:sticky;top:0}.planning-grid thead th.is-today{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18)}.planning-today-pill{letter-spacing:.06em;text-transform:uppercase;color:var(--hub-primary,#bf0c21);margin-top:4px;font-size:9px;font-weight:800;display:block}.planning-grid .col-driver{text-align:left;z-index:3;background:var(--hub-surface-2);width:200px;position:sticky;left:0}.planning-grid .col-hours{text-align:center;width:56px;color:var(--hub-text-muted);background:var(--hub-surface);font-size:12px}.planning-driver-cell{align-items:center;gap:10px;display:flex}.planning-ride-along{background:var(--warning-soft,#ffedd5);color:#c2410c;letter-spacing:.02em;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.planning-driver-sub{color:var(--hub-text-dim);font-size:10px;font-weight:400}.planning-grid tbody .col-driver{background:var(--hub-surface);padding:10px 12px;font-size:13px;font-weight:600}.planning-grid tbody .col-hours{color:var(--hub-text);font-weight:700}.planning-cell{cursor:pointer;background:var(--hub-surface);min-height:72px;padding:5px;transition:background .12s}.planning-cell:hover{background:var(--hub-surface-muted)}.planning-cell.has-avail-no,.planning-cell.has-avail-leave{background:#f8f9fa}.planning-avail-chip{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;z-index:1;border:0;border-radius:4px;width:100%;margin:0 0 4px;padding:1px 8px;font-size:10.5px;font-weight:500;line-height:1.6;transition:filter .12s;display:block;position:relative;overflow:hidden}.planning-avail-chip:hover{filter:brightness(.95)}.planning-avail-chip.is-available{color:#065f46;background:#c6f6e5}.planning-avail-chip.is-unavailable{color:#4b5563;background:#e5e7eb}.planning-avail-chip.is-time_off{color:#374151;background:#d1d5db}.planning-shift-tooltip-cross{color:#fbbf24;border-top:1px solid #ffffff1f;margin-top:6px;padding-top:6px;font-size:11px}.planning-shift-block-wrap.is-cross-dept .planning-shift-block-title{color:var(--hub-text-muted)}.driver-month-panel{flex-direction:column;gap:12px;min-width:0;display:flex}.driver-month-header{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.driver-month-header-text{flex:1;min-width:160px}.driver-month-header-name{color:var(--hub-text,#1e293b);font-size:17px;font-weight:700}.driver-month-header-id{color:var(--hub-text-muted,#64748b);margin-top:2px;font-size:12px}.driver-month-header-month{color:var(--hub-primary,#bf0c21);margin-top:6px;font-size:13px;font-weight:600}.driver-month-avail-btn{flex-shrink:0}.driver-month-hint{color:var(--hub-text-muted,#64748b);margin:0;font-size:12px;line-height:1.45}.driver-month-weekday-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 2px;display:grid}.driver-month-weekday-cell{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-muted,#64748b);font-size:11px;font-weight:700}.driver-month-grid{flex-direction:column;gap:6px;display:flex}.driver-month-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.driver-month-day{border:1px solid var(--hub-border,#e2e8f0);box-sizing:border-box;background:#fff;border-radius:8px;flex-direction:column;min-height:96px;display:flex;overflow:hidden}.driver-month-day.is-outside{opacity:.45;background:var(--hub-surface-muted,#f8fafc)}.driver-month-day.is-today{border-color:var(--hub-primary,#bf0c21);box-shadow:0 0 0 1px #bf0c2140}.driver-month-day-head{border-bottom:1px solid var(--hub-border,#e2e8f0);background:var(--hub-surface-muted,#f8fafc);justify-content:space-between;align-items:baseline;gap:4px;padding:6px 8px;display:flex}.driver-month-day-num{color:var(--hub-text,#1e293b);font-size:14px;font-weight:800}.driver-month-day-short{color:var(--hub-text-muted,#64748b);text-transform:lowercase;font-size:10px;font-weight:600}.driver-month-day-body{flex-direction:column;flex:1;gap:4px;min-height:0;padding:6px;display:flex;overflow:hidden}.driver-month-shift{border-left:3px solid #22c55e;border-radius:4px;flex-direction:column;gap:1px;min-width:0;padding:4px 6px;font-size:10px;line-height:1.25;display:flex}.driver-month-shift-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.driver-month-shift-time{color:#64748b;white-space:nowrap;font-weight:500}.driver-month-more{color:var(--hub-primary,#bf0c21);padding:2px 4px;font-size:10px;font-weight:600}.driver-month-avail{text-align:center;border-radius:4px;padding:4px 6px;font-size:10px;font-weight:700;line-height:1.2}.driver-month-avail.type-sick{color:#991b1b;background:#fee2e2}.driver-month-avail.type-vacation{color:#8b0a18;background:#fce8eb}.driver-month-avail.type-no_show{color:#6b21a8;background:#f3e8ff}.driver-month-avail.type-other{color:#475569;background:#f1f5f9}.driver-month-inline{min-height:400px}.planning-dept-stack{margin-bottom:28px}.planning-dept-stack .staffing-section{margin-bottom:0}.planning-dept-stack .planning-roster-section{margin-top:12px;margin-bottom:0}.planning-roster-section{margin-bottom:20px}.planning-roster-section-bar{background:linear-gradient(90deg, var(--hub-primary,#bf0c21) 0%, var(--hub-primary,#bf0c21) 82%, var(--hub-primary-dark,#8b0a18) 100%);color:#fff;letter-spacing:.02em;border-radius:6px 6px 0 0;padding:8px 14px;font-size:14px;font-weight:700}.planning-roster-section .planning-grid-wrap{border:1px solid var(--hub-border);border-top:none;border-radius:0 0 8px 8px}.planning-shift-block-wrap{width:100%;display:block;position:relative}.planning-shift-tooltip{z-index:20;color:#f9fafb;pointer-events:none;background:#111827;border-radius:8px;min-width:160px;max-width:240px;padding:10px 12px;font-size:12px;line-height:1.35;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.planning-shift-tooltip:after{content:"";border:6px solid #0000;border-top-color:#111827;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.planning-shift-tooltip-title{margin-bottom:4px;font-weight:700}.planning-shift-tooltip-dept{color:#d1d5db}.planning-shift-tooltip-driver{color:#9ca3af;margin-top:6px;font-size:11px}.planning-shift-block{text-align:left;cursor:grab;width:100%;color:var(--hub-text);border:1px solid #e5e7eb;border-left-width:4px;border-radius:8px;margin-bottom:4px;padding:5px 26px 5px 8px;transition:box-shadow .12s,transform .12s;display:block;position:relative;box-shadow:0 1px 2px #0f172a0a}.planning-shift-block:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0f172a1a}.planning-shift-block:active{cursor:grabbing}.planning-shift-delete{z-index:3;color:#b91c1c;cursor:pointer;opacity:0;pointer-events:none;background:#fffffff0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex;position:absolute;top:4px;right:4px}.planning-shift-block-wrap:hover .planning-shift-delete,.planning-shift-block-wrap:focus-within .planning-shift-delete{opacity:1;pointer-events:auto}.planning-cell.is-drop-target{outline:2px dashed var(--hub-primary,#bf0c21);outline-offset:-2px;background:#bf0c210f}.planning-shift-block.has-avail-conflict{outline-offset:1px;outline:2px solid #ef4444;box-shadow:0 0 0 3px #ef444433}.planning-shift-conflict-badge{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#ef4444;border-radius:4px;margin-bottom:2px;padding:1px 5px;font-size:9px;font-weight:800;display:inline-block}.planning-shift-tooltip-conflict{color:#b91c1c;margin-top:6px;font-weight:700}.planning-shift-block:last-child{margin-bottom:0}.planning-shift-block-title{font-size:11px;font-weight:700;display:block}.planning-shift-block-time{color:var(--hub-text-muted);margin-top:2px;font-size:10px;display:block}.planning-shift-block-meta{color:var(--hub-text-dim);margin-top:2px;font-size:9px;display:block}.planning-grid-footer{border-top:1px solid var(--hub-border);padding:12px 16px}.planning-driver-link{font:inherit;color:var(--hub-text);cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;font-size:13px;font-weight:600}.planning-driver-link:hover{color:#fb7185;text-decoration:underline}.planning-check-filter{color:var(--hub-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.staffing-edit-pop{border-top:1px solid var(--hub-border);color:var(--hub-text-muted);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}@media (width<=1200px){.planning-day-row{grid-template-columns:repeat(4,minmax(140px,1fr))}}@media (width<=992px){.planning-day-row{grid-template-columns:repeat(3,minmax(140px,1fr))}.hub-toolbar{flex-wrap:wrap}}@media (width<=768px){.planning-day-row{grid-template-columns:repeat(2,minmax(140px,1fr))}.hub-toolbar{flex-direction:column;align-items:stretch}.planning-search{width:100%;max-width:none}.staffing-ov-table{min-width:520px}}@media (width<=576px){.planning-day-row{grid-template-columns:1fr}}.staffing-section .hub-section-head h3{font-size:15px;font-weight:700}.staffing-legend{margin:4px 0 0;font-size:11px;font-weight:500}.staffing-hidden-bar{border-bottom:1px solid var(--hub-border,#e2e8f0);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px 12px;display:flex}.staffing-hidden-label{color:var(--hub-text-muted,#64748b);font-size:12px;font-weight:600}.staffing-hidden-chips{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.staffing-hidden-chip{border:1px dashed var(--hub-border,#cbd5e1);background:var(--hub-surface-muted,#f8fafc);color:var(--hub-text,#0f172a);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.staffing-hidden-chip:hover{border-color:var(--hub-primary,#bf0c21);background:var(--hub-primary-soft,#fce8eb)}.staffing-hidden-restore{color:var(--hub-primary,#bf0c21);font-size:11px;font-weight:700}.staffing-empty-hidden{margin:0;padding:12px 16px 16px;font-size:13px}.staffing-ov-wrap{overflow-x:auto}.staffing-ov-table{border-collapse:separate;border-spacing:0 6px;width:100%;min-width:720px;color:var(--hub-text,#1e293b);font-size:12px}.staffing-ov-table th,.staffing-ov-table td{text-align:center;vertical-align:middle;background:0 0;border:none;padding:4px 6px}.staffing-ov-table th{color:var(--hub-text-dim);white-space:nowrap;padding-bottom:8px;font-size:11px;font-weight:700}.staffing-ov-table th.is-today{color:var(--hub-primary,#bf0c21)}.staffing-ov-corner{width:148px}.staffing-row-order{flex-direction:row;align-items:center;gap:2px;margin-right:4px;display:inline-flex}.staffing-row-order-arrows{flex-direction:column;gap:0;display:inline-flex}.staffing-order-btn{color:var(--hub-text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:1px 3px;font-size:9px;line-height:1}.staffing-order-btn:hover:not(:disabled){color:var(--hub-text,#0f172a);background:#e2e8f0}.staffing-order-btn:disabled{opacity:.25;cursor:default}.staffing-hide-btn{color:#b91c1c;margin-left:2px;font-size:14px;font-weight:700}.staffing-hide-btn:hover:not(:disabled){color:#7f1d1d;background:#fee2e2}.staffing-ov-row-label{text-align:left;color:var(--hub-text-muted);white-space:nowrap;align-items:center;gap:8px;padding-right:10px;font-size:12px;font-weight:600;display:flex}.staffing-shift-card{background:var(--staffing-bg,#f0fdf4);cursor:pointer;text-align:left;width:100%;min-height:52px;font:inherit;color:inherit;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;align-items:stretch;margin:0;padding:0;transition:box-shadow .15s;display:flex;overflow:hidden}.staffing-shift-card.is-readonly{cursor:default}.staffing-shift-card:not(.is-readonly):hover{box-shadow:0 2px 8px #0f172a14}.staffing-shift-card-accent{background:var(--staffing-accent,#22c55e);flex-shrink:0;width:4px}.staffing-shift-card-main{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;padding:8px 10px;display:flex}.staffing-shift-card-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;line-height:1.2;overflow:hidden}.staffing-shift-card-time{color:#64748b;font-size:11px;font-weight:500}.staffing-shift-card-badge{letter-spacing:.02em;white-space:nowrap;border-radius:6px;flex-shrink:0;align-self:center;margin-right:8px;padding:4px 8px;font-size:11px;font-weight:800}.staffing-shift-card-badge.is-ok{color:#fff;background:#22c55e}.staffing-shift-card-badge.is-short{color:#fff;background:#ef4444}.staffing-shift-card.is-ok{background:color-mix(in srgb, var(--staffing-accent,#22c55e) 12%, #fff)}.staffing-shift-card.is-short{background:#fef4f4;border-color:#fecaca}.staffing-today-badge{background:var(--hub-primary,#bf0c21);color:#fff;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:9px;font-weight:800;display:inline-block}.staffing-editable-cell{cursor:pointer}.planning-month-layout{gap:var(--space-4);grid-template-columns:240px 1fr;display:grid}.planning-month-driver-list{margin:0;padding:0;list-style:none}.planning-month-driver-list button{text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;width:100%;padding:8px}.planning-month-driver-list button.active{background:var(--hub-surface-2,var(--surface-muted))}@media (width<=768px){.driver-month-day{min-height:72px}.driver-month-shift-name{font-size:9px}}.bus-penalty-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.planning-driver-main{flex:auto;min-width:0}.planning-driver-main .planning-driver-link{text-align:left;max-width:100%;display:block}.planning-driver-actions{flex:none;align-items:center;gap:6px;margin-left:auto;padding-left:6px;display:inline-flex}.planning-note{display:inline-flex;position:relative}.planning-note-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.planning-note-btn:hover{color:#64748b;background:#f1f5f9}.planning-note.has-note .planning-note-btn{color:#1f2937}.planning-grid tbody .col-driver:hover,.planning-grid tbody .col-driver:focus-within{z-index:6}.planning-note-tip{z-index:40;color:#fff;white-space:pre-wrap;background:#1f2937;border-radius:8px;min-width:160px;max-width:260px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.4;display:none;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 6px 16px #0f172a33}.planning-note.has-note:hover .planning-note-tip,.planning-note.has-note:focus-within .planning-note-tip{display:block}.planning-avail-check{color:#fff;cursor:pointer;background:#22c55e;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:transform .12s,filter .12s;display:inline-flex}.planning-avail-check:hover{filter:brightness(.95);transform:scale(1.08)}.staffing-cuts-row td{vertical-align:top;border-top:2px solid var(--hub-border,#e5e7eb)}.staffing-cuts-label{font-weight:700}.staffing-cuts-cell{min-width:150px}.staffing-cuts-cell.is-off{text-align:center;color:#9ca3af;background:repeating-linear-gradient(135deg,#f8fafc 0 8px,#f1f5f9 8px 16px)}.staffing-cuts-off{padding:10px 0;font-weight:700;display:inline-block}.staffing-cuts-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.staffing-cuts-count{letter-spacing:.04em;color:#6b7280;font-size:11px;font-weight:700}.staffing-cuts-cell.has-items .staffing-cuts-count{color:var(--hub-primary,#bf0c21)}.staffing-cut-chip{background:#f3f4f6;border-left:3px solid #6b7280;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;padding:4px 6px 4px 8px;font-size:12px;display:flex}.staffing-cut-chip-main{flex-direction:column;min-width:0;display:flex}.staffing-cut-chip-label{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.staffing-cut-chip-driver{color:#4b5563;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.planning-shift-block.is-cut{opacity:.95;color:#374151!important;background:repeating-linear-gradient(135deg,#e5e7eb 0 6px,#f3f4f6 6px 12px)!important;border-color:#9ca3af!important}.planning-shift-block.is-cut .planning-shift-block-title{text-decoration:line-through}.planning-shift-cut-badge{letter-spacing:.06em;color:#fff;background:#374151;border-radius:999px;margin-bottom:2px;padding:1px 6px;font-size:10px;font-weight:800;display:inline-block}.cut-driver-list{border:1px solid var(--hub-border,#e5e7eb);border-radius:10px;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.cut-driver-list li+li{border-top:1px solid var(--hub-border,#e5e7eb)}.cut-driver-row{cursor:pointer;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.cut-driver-row:hover{background:#f9fafb}.cut-driver-name{font-weight:700}.cut-driver-shift{color:#4b5563;align-items:center;gap:6px;font-size:12px;display:inline-flex}.app-shell .hub-section.planning-grid-section,.app-shell .planning-page .hub-section.planning-grid-section{overflow:clip}.planning-roster-section{--planning-bar-h:37px}.planning-roster-section-bar{z-index:8;height:var(--planning-bar-h);box-sizing:border-box;box-shadow:0 -24px 0 0 var(--hub-bg,#eef2f6);position:sticky;top:0}.planning-roster-section .planning-grid thead{top:var(--planning-bar-h);z-index:7;position:sticky;box-shadow:0 2px 4px #0f172a0f}.planning-roster-section .planning-grid thead th{top:auto}.planning-grid thead th.is-today,.planning-grid thead tr:not(.planning-avail-row) th.is-today{background:linear-gradient(var(--hub-primary-soft,#bf0c211f), var(--hub-primary-soft,#bf0c211f)), #fff}.planning-shift-block-wrap.is-dimmed{opacity:.3}.planning-shift-block-wrap.is-dimmed:hover,.planning-shift-block-wrap.is-dimmed:focus-within{opacity:.85}.autobus-multi-warning{margin:0 0 var(--space-3);color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:10px 12px;font-size:13px}.autobus-row-multi td{background:#fffbeb}.autobus-multi-tag{color:#78350f;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.autobus-select{min-width:190px;padding:4px 8px;font-size:13px}.driver-roster-page{max-width:1200px}.driver-roster-back{margin-bottom:8px}.driver-roster-profile{background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e2e8f0);border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:16px;display:flex}.driver-roster-profile-name{font-size:18px;font-weight:700}.driver-roster-tabs{border-bottom:1px solid var(--hub-border,#e2e8f0);flex-wrap:wrap;gap:0;margin-bottom:16px;display:flex}.driver-roster-tab{color:var(--hub-text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600}.driver-roster-tab:hover:not(.is-active){color:var(--hub-text,#0f172a);background:#fff9}.driver-roster-tab.is-active{color:var(--hub-primary,#bf0c21);border-bottom-color:var(--hub-primary,#bf0c21);background:#fff}.driver-roster-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.driver-roster-month-nav{align-items:center;gap:10px;display:flex}.driver-roster-month-label{text-align:center;text-transform:capitalize;min-width:160px;font-size:15px;font-weight:700}.driver-roster-panel{border:1px solid var(--hub-border,#e2e8f0);background:#fff;border-radius:10px;padding:20px}.driver-roster-overview-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.driver-roster-stat{background:var(--surface-muted,#f8fafc);border-radius:8px;padding:14px}.driver-roster-stat-label{color:var(--hub-text-muted,#64748b);margin-bottom:4px;font-size:12px}.driver-roster-stat-value{font-size:20px;font-weight:700}.driver-roster-dl{grid-template-columns:140px 1fr;gap:10px 16px;max-width:560px;font-size:14px;display:grid}.driver-roster-dl dt{color:var(--hub-text-muted,#64748b);font-weight:600}.driver-roster-period-list{margin:0;padding:0;list-style:none}.driver-roster-period-list li{border-bottom:1px solid var(--hub-border,#e2e8f0);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.driver-roster-hours-table{border-collapse:collapse;width:100%;font-size:14px}.driver-roster-hours-table th,.driver-roster-hours-table td{text-align:left;border-bottom:1px solid var(--hub-border,#e2e8f0);padding:10px 12px}.driver-roster-hours-table th{color:var(--hub-text-muted,#64748b);font-weight:600}.driver-roster-hours-table td.is-over{color:#dc2626;font-weight:700}.driver-roster-calendar-wrap{border:1px solid var(--hub-border,#e2e8f0);background:#fff;border-radius:10px;overflow-x:auto}.driver-roster-calendar{border-collapse:collapse;table-layout:fixed;width:100%;min-width:880px}.driver-roster-calendar thead th{color:var(--hub-text-muted,#64748b);background:var(--hub-surface-muted,#f8fafc);border-bottom:1px solid var(--hub-border,#e2e8f0);padding:10px 8px;font-size:12px;font-weight:700}.driver-roster-avail-col{width:120px}.driver-roster-day{vertical-align:top;border:1px solid var(--hub-border,#e2e8f0);cursor:pointer;background:#fff;height:120px;min-height:120px;padding:8px;transition:box-shadow .12s}.driver-roster-day:hover{background:#f8fafc}.driver-roster-day.is-outside{opacity:.55;background:#fafafa}.driver-roster-day.is-selected{box-shadow:inset 0 0 0 2px var(--hub-primary,#bf0c21);background:#f0f9ff}.driver-roster-day.is-today .driver-roster-day-num{color:var(--hub-primary,#bf0c21)}.driver-roster-day-num{text-align:right;color:var(--hub-text-muted,#64748b);margin-bottom:6px;font-size:12px;font-weight:700}.driver-roster-day-events{flex-direction:column;gap:4px;display:flex}.driver-roster-pill{text-align:left;box-sizing:border-box;border:1px solid #0000;border-radius:6px;width:100%;min-width:0;padding:6px 8px;font-family:inherit;font-size:11px;line-height:1.25;display:block}button.driver-roster-pill{cursor:pointer}button.driver-roster-pill:hover{filter:brightness(.97)}.driver-roster-pill.is-compact{text-align:center;border-radius:4px;padding:2px 6px;font-size:9px;line-height:1.2}.driver-roster-pill.is-compact .driver-roster-pill-title{font-weight:700}.driver-roster-pill.is-implicit{opacity:.65}.driver-roster-pill-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;display:block;overflow:hidden}.driver-roster-pill-time{opacity:.85;margin-top:2px;font-size:10px;display:block}.driver-roster-pill.is-available{color:#15803d;background:#dcfce7;border-color:#bbf7d0;font-weight:600}.driver-roster-pill.is-absent{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.driver-roster-pill.is-leave{color:#8b0a18;background:#fce8eb;border-color:#f3b4bc;font-weight:600}.driver-roster-pill.is-absent.type-no_show{color:#7e22ce;background:#f3e8ff;border-color:#e9d5ff}.driver-roster-pill.is-shift{color:#166534;border-left:3px solid #22c55e}.driver-roster-week-status{text-align:center;vertical-align:middle;border:1px solid var(--hub-border,#e2e8f0);background:var(--hub-surface-muted,#f8fafc)}.driver-roster-check{color:#fff;cursor:pointer;background:#22c55e;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .12s,filter .12s;display:inline-flex}.driver-roster-check:hover{filter:brightness(.95);transform:scale(1.05)}.driver-roster-check.is-pending{color:#fff;background:#22c55e}@media (width<=768px){.driver-roster-tabs{flex-wrap:nowrap;overflow-x:auto}.driver-roster-day{height:96px;min-height:96px;padding:4px}.driver-roster-pill{padding:4px;font-size:9px}}.driver-roster-search{align-items:center;width:min(320px,100%);margin-left:auto;display:flex;position:relative}.driver-roster-search>svg{color:var(--hub-text-muted,#64748b);pointer-events:none;position:absolute;left:10px}.driver-roster-search .input{width:100%;padding-left:32px}.driver-roster-search-results{z-index:30;background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e2e8f0);border-radius:8px;max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 24px #0f172a1f}.driver-roster-search-results button{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.driver-roster-search-results button:hover{background:var(--hub-surface-2,#f1f5f9)}.driver-roster-search-results strong{font-size:13px;display:block}.driver-roster-search-results small{color:var(--hub-text-muted,#64748b);font-size:11px;display:block}.driver-roster-search-empty{color:var(--hub-text-muted,#64748b);padding:8px;font-size:13px}@media (width<=640px){.driver-roster-profile{flex-wrap:wrap}.driver-roster-search{width:100%;margin-left:0}}.driver-roster-shift-wrap{position:relative}.driver-roster-shift-delete{z-index:3;color:#b91c1c;cursor:pointer;opacity:0;pointer-events:none;background:#fffffff0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex;position:absolute;top:4px;right:4px}.driver-roster-shift-wrap:hover .driver-roster-shift-delete,.driver-roster-shift-wrap:focus-within .driver-roster-shift-delete{opacity:1;pointer-events:auto}.driver-roster-shift-delete:hover{background:#fef2f2}.driver-roster-search-results .hub-avatar.sm{width:28px;min-width:28px;height:28px;font-size:11px}.bus-calendar-grid .col-bus{text-align:left;z-index:3;background:var(--hub-surface-2,var(--surface-muted));width:200px;position:sticky;left:0}.bus-calendar-grid tbody .col-bus{background:var(--hub-surface,var(--surface));padding:10px 12px}.bus-calendar-plate{color:var(--text-muted);font-size:11px;font-weight:500}.bus-calendar-cell{cursor:pointer;text-align:center;min-height:72px;padding:8px;transition:background .12s}.bus-calendar-cell:hover{background:var(--surface-muted)}.bus-calendar-cell.is-today{background:var(--accent-soft)}.bus-calendar-driver{color:var(--text);font-size:12px;font-weight:700;line-height:1.3}.bus-calendar-time{color:var(--text-muted);margin-top:2px;font-size:11px}.bus-calendar-cell-badge{margin-top:4px;display:inline-flex}.bus-calendar-mobile-select{margin-bottom:var(--space-4)}.bus-calendar-mobile-week{gap:var(--space-3);flex-direction:column;display:flex}.bus-calendar-mobile-day{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.bus-calendar-mobile-day-head{padding:10px var(--space-4);background:var(--surface-muted);border-bottom:1px solid var(--border);font-size:13px;font-weight:700}.bus-calendar-mobile-day-head.is-today{background:var(--accent-soft)}.bus-calendar-mobile-day-body{padding:var(--space-4);cursor:pointer}.bus-calendar-mobile-day-body:hover{background:var(--surface-muted)}.bus-penalty-result{align-items:center;min-height:38px;font-size:14px;display:flex}.bus-penalty-add{align-items:flex-end}.wave-plan-grid{gap:var(--space-4);display:grid}.wave-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.wave-card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);color:#fff;background:linear-gradient(135deg,#bf0c21 0%,#8b0a18 100%);flex-wrap:wrap;display:flex}.wave-card-header h3{margin:0;font-size:18px}.wave-card-times{gap:var(--space-4);opacity:.95;font-size:13px;display:flex}.wave-routes{padding:var(--space-4);background:var(--surface-muted);flex-wrap:wrap;gap:8px;display:flex}.wave-route-pill{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.file-upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:var(--space-6);text-align:center;cursor:pointer;background:var(--surface-muted);transition:border-color .15s,background .15s}.file-upload-zone:hover,.file-upload-zone.is-dragover{border-color:var(--accent);background:var(--accent-soft)}.file-upload-zone.is-disabled{opacity:.6;cursor:not-allowed}.file-upload-title{margin-bottom:6px;font-size:15px;font-weight:700}.file-upload-hint{color:var(--text-muted);font-size:13px}.file-upload-name{margin-top:var(--space-3);color:var(--accent);font-size:13px;font-weight:600}.bar-chart{flex-direction:column;gap:10px;display:flex}.bar-chart-row{gap:var(--space-3);grid-template-columns:minmax(120px,1fr) 1fr auto;align-items:center;font-size:13px;display:grid}.bar-chart-track{background:var(--surface-muted);border-radius:var(--radius-pill);height:10px;overflow:hidden}.bar-chart-fill{background:var(--hub-primary,#bf0c21);border-radius:var(--radius-pill);height:100%}.concession-week-banner{margin:0 0 var(--space-4);letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1.2}.toolbar .concession-week-select{min-width:280px}.concession-week-row td{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18);font-size:15px;font-weight:800}.concession-open-section{margin-top:var(--space-6)}.concession-open-section h2{margin:0 0 4px;font-size:20px}.concession-open-section>.text-muted{margin:0 0 var(--space-3)}.concession-poster-section{margin-top:var(--space-4)}.concession-poster-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.concession-poster-head h3{margin:0;font-size:16px}.concession-poster-frame{background:#f6f3f4;border-radius:16px;overflow:auto}.concession-poster-frame svg{width:100%;min-width:720px;height:auto;display:block}.maintenance-badge{border-radius:var(--radius-pill);padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.maintenance-badge.good{color:#166534;background:#dcfce7}.maintenance-badge.caution{color:#854d0e;background:#fef9c3}.maintenance-badge.warning{color:#c2410c;background:#ffedd5}.maintenance-badge.danger{color:#b91c1c;background:#fee2e2}.maintenance-badge.neutral{background:var(--surface-muted);color:var(--text-muted)}.maintenance-badge.scheduled-ok{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18)}.maintenance-editable-cell{cursor:pointer}.maintenance-editable-cell:hover{background:var(--surface-muted);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.maintenance-edit-pop{margin-top:var(--space-3);border-top:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.progress-bar{background:var(--surface-muted);border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress-bar-fill{background:var(--accent);height:100%}.max-routes-table input{text-align:center;width:64px}.screenshot-card{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);background:#fff}.alert-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:14px}.alert-banner.warning{color:#9a3412;background:#fff7ed;border:1px solid #fdba74}.alert-banner.info{background:var(--accent-soft);color:var(--accent);border:1px solid #f5a0a8}.alert-banner.success{color:#166534;background:#f0fdf4;border:1px solid #86efac}.alert-banner.success a{color:#166534;font-weight:600;text-decoration:underline}tr.row-warning td{background:#ef44440f}@media (width<=992px){.wave-card-header{align-items:flex-start}.wave-card-times{flex-wrap:wrap}}@media (width<=768px){.wave-card-header,.wave-card-times,.wave-routes{padding:var(--space-3)}.wave-card-header h3{font-size:16px}.wave-routes{gap:6px}}@media (width<=576px){.wave-card-times{gap:var(--space-2);flex-direction:column}}.hours-station-badge{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary,#bf0c21);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.max-routes-sheet{border-collapse:collapse;margin:0 auto;font-size:13px}.max-routes-sheet th,.max-routes-sheet td{white-space:nowrap;border:1px solid #1f2937;padding:3px 8px}.max-routes-sheet thead th{color:#fff;text-align:center;background:#1f3864;min-width:84px;font-weight:600}.max-routes-sheet thead th.mr-label{background:0 0;border-color:#0000}.max-routes-sheet thead th.mr-date{background:#2f4f8f}.max-routes-sheet td.mr-label{text-align:left;min-width:420px;font-weight:700}.max-routes-sheet td.mr-cell{text-align:right;padding:0;font-weight:600}.max-routes-sheet td.mr-cell input{text-align:right;width:100%;min-width:84px;font:inherit;box-sizing:border-box;background:0 0;border:0;padding:4px 8px;font-weight:600}.max-routes-sheet td.mr-cell input:focus{outline-offset:-2px;background:#eff6ff;outline:2px solid #2563eb}.max-routes-sheet tr.mr-total td{background:#e2efda;font-weight:800}.max-routes-sheet tr.mr-total td.mr-cell{padding:4px 8px}@media (width<=900px){.max-routes-sheet td.mr-label{white-space:normal;min-width:240px}}.max-routes-switch{border:1px solid var(--hub-border,#e2e8f0);border-radius:999px;display:inline-flex;overflow:hidden}.max-routes-switch button{font:inherit;color:var(--hub-text-muted,#64748b);cursor:pointer;background:0 0;border:0;padding:6px 16px;font-size:13px;font-weight:700}.max-routes-switch button.active{background:var(--hub-primary,#bf0c21);color:#fff}.concession-sort{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.concession-sort:hover{text-decoration:underline}.wave-plan-uploads{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.wave-plan-uploads{grid-template-columns:1fr}}.wave-route-pill--kins{color:#7f1d1d;background:#fde8ea;border:1px solid #f3b4bb}.wave-route-pill--idol{color:#78350f;background:#fef3c7;border:1px solid #fcd34d}.wave-route-pill-name{opacity:.85;font-weight:400}.wave-route-pill-dsp{letter-spacing:.04em;background:#ffffffb3;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800}.wave-dsp-legend{border-radius:999px;padding:1px 8px;font-weight:700}.wave-dsp-legend--kins{color:#7f1d1d;background:#fde8ea}.wave-dsp-legend--idol{color:#78350f;background:#fef3c7}.wave-card--kins .wave-card-header{border-left:6px solid #bf0c21}.wave-card--idol .wave-card-header{border-left:6px solid #f59e0b}.wave-plan-dsp-divider{margin:var(--space-4) 0 var(--space-2);align-items:center;gap:12px;display:flex}.wave-plan-dsp-divider:before,.wave-plan-dsp-divider:after{content:"";border-top:2px dashed #fcd34d;flex:1}.wave-card-times--dsp{flex-direction:column;align-items:flex-end;gap:4px}.wave-card-time{border-radius:999px;padding:2px 8px;font-size:12px}.wave-card-time--kins{color:#7f1d1d;background:#fde8ea}.wave-card-time--idol{color:#78350f;background:#fef3c7}.hours-station{letter-spacing:.02em;color:#c8102e;background:#ffe1e3;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:800;display:inline-flex}.hours-station--dnl{color:#1f3864;background:#e6efff}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.clock-geofence-map{z-index:0;height:420px;margin-top:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);position:relative;overflow:hidden}.clock-geofence-canvas{width:100%;height:100%}.clock-geofence-hint{z-index:500;border-radius:var(--radius-sm);color:var(--text-muted,#667085);pointer-events:none;background:#fffffff0;margin:0;padding:6px 10px;font-size:13px;position:absolute;bottom:12px;left:12px}.clock-geofence-radius{align-items:center;gap:10px;max-width:280px;display:flex}.clock-geofence-radius input[type=range]{accent-color:#bf0c21;flex:1}.clock-head{margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.clock-view-switch{border:1px solid var(--hub-border,#e2e8f0);border-radius:999px;display:inline-flex;overflow:hidden}.clock-view-switch button{font:inherit;color:var(--hub-text-muted,#64748b);cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:13px;font-weight:600}.clock-view-switch button.active{background:var(--hub-primary,#bf0c21);color:#fff}.clock-nav{margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.clock-nav-label{text-transform:capitalize;font-size:14px;font-weight:700}.clock-agenda{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.clock-agenda-item{border:1px solid var(--hub-border,#e2e8f0);border-radius:var(--radius-sm,8px);background:var(--hub-surface,#fff);border-left:4px solid #16a34a;gap:16px;padding:10px 12px;display:flex}.clock-agenda-item.is-open{border-left-color:#f59e0b}.clock-agenda-time{flex-direction:column;min-width:64px;font-size:13px;display:flex}.clock-agenda-time strong{font-size:15px}.clock-agenda-body{flex-direction:column;flex:1;gap:6px;display:flex}.clock-agenda-body>.text-muted{font-size:13px}.clock-week{table-layout:fixed;min-width:900px}.clock-week th,.clock-week td{border:1px solid var(--hub-border,#e2e8f0);vertical-align:top}.clock-week thead th{text-align:center;font-size:11px}.clock-week thead th.is-today{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18)}.clock-week .clock-week-driver{text-align:left;background:var(--hub-surface-2,#f8fafc);z-index:1;width:180px;font-weight:700;position:sticky;left:0}.clock-week .clock-week-total{text-align:center;width:70px;font-weight:700}.clock-week-cell{cursor:pointer;min-height:44px}.clock-week-cell.has-entry{background:#ecfdf5}.clock-week-cell:hover{background:var(--hub-surface-muted,#f1f5f9)}.clock-week-entry{justify-content:space-between;gap:6px;padding:2px 0;font-size:12px;display:flex}.clock-week-entry strong{color:#166534}.clock-delete-btn{color:var(--danger,#b91c1c)}.clock-delete-btn:hover{background:#b91c1c14}.fleet-status-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.fleet-unsaved-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--space-4);border-radius:var(--radius);background:var(--warning-soft);color:#9a3412;margin-bottom:var(--space-4);font-size:13px;font-weight:600;display:flex}.fleet-status-table .input,.fleet-status-table .select,.fleet-status-table .textarea{font-size:13px}.fleet-status-table .textarea{resize:vertical;min-height:56px}.fleet-repair-date-field{flex-direction:column;gap:4px;min-width:150px;display:flex}.fleet-repair-date-hint{color:var(--hub-text-muted,var(--text-muted));font-size:11px;font-weight:500;line-height:1.3}.fleet-repair-date-field .input:disabled,.fleet-status-card .input[type=date]:disabled{cursor:not-allowed;opacity:.55}.fleet-status-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.fleet-status-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.fleet-status-card-title{font-size:15px;font-weight:700}.fleet-status-card-sub{color:var(--text-muted);font-size:12px}.fleet-status-table tr.row-dirty td{background:var(--warning-soft)}.fleet-status-card.is-dirty{border-color:#fdba74;box-shadow:inset 0 0 0 1px #fdba74}.fleet-repair-dashboard{border-left:3px solid var(--hub-red,var(--accent))}.fleet-repair-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.fleet-repair-stats{gap:var(--space-4);flex-wrap:wrap;display:flex}.fleet-repair-stat{color:var(--text-muted);font-size:13px}.fleet-repair-stat strong{color:var(--text);margin-right:4px;font-size:18px}.fleet-repair-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.fleet-repair-card{padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted)}.fleet-repair-card.status-maintenance{border-color:#f9731659}.fleet-repair-card.status-issue_reported,.fleet-repair-card.status-not_available{border-color:#e11d4859}.fleet-repair-card-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.fleet-repair-note{color:var(--text-muted);font-size:13px;line-height:1.5}.app-shell .fleet-export-mode,.fleet-export-mode{color:#111827;border-radius:var(--radius);background:#fff;padding:16px}.app-shell .fleet-export-mode .fleet-export-title,.fleet-export-mode .fleet-export-title{color:#111827;text-align:center;margin:0;font-size:24px;font-weight:700}.app-shell .fleet-export-mode .table-wrap,.fleet-export-mode .table-wrap{background:#fff;border:1px solid #d1d5db}.app-shell .fleet-export-mode .table,.fleet-export-mode .table{border-collapse:collapse;color:#111827}.app-shell .fleet-export-mode .table th,.fleet-export-mode .table th{color:#111827;text-transform:none;letter-spacing:0;text-align:left;background:#f3f4f6;border:1px solid #d1d5db;padding:12px;font-weight:700}.app-shell .fleet-export-mode .table td,.fleet-export-mode .table td{color:#111827;vertical-align:middle;background:#fff;border:1px solid #d1d5db;padding:12px}.app-shell .fleet-export-mode .table tbody tr:nth-child(odd) td,.fleet-export-mode .table tbody tr:nth-child(odd) td{background:#fff}.app-shell .fleet-export-mode .table tbody tr:nth-child(2n) td,.fleet-export-mode .table tbody tr:nth-child(2n) td{background:#f9fafb}.app-shell .fleet-export-mode .table tbody tr:hover,.app-shell .fleet-export-mode .table tbody tr:hover td,.fleet-export-mode .table tbody tr:hover,.fleet-export-mode .table tbody tr:hover td{background:#f3f4f6}.app-shell .fleet-export-mode .text-muted,.fleet-export-mode .text-muted{color:#4b5563}.app-shell .fleet-export-mode .badge,.fleet-export-mode .badge{color:inherit}@media print{.app-shell .fleet-export-mode,.fleet-export-mode{color:#111827;background:#fff;margin:0;padding:0}.fleet-export-mode .desktop-only{display:table!important}.mobile-only{display:none!important}}.fleet-status-overview{gap:var(--space-4);flex-direction:column;display:flex}.fleet-status-section__title{margin:0 0 var(--space-3);font-size:18px}.fleet-status-section__title--success{color:var(--success,#2e7d32)}.fleet-status-section__title--warning{color:var(--warning,#d97706)}.fleet-status-section__count{color:var(--text-muted);font-size:15px;font-weight:600}.fleet-status-readonly-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.fleet-status-readonly-meta{margin-top:var(--space-2);color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.fleet-status-readonly-meta .k{color:var(--text);font-weight:600}.handover-page{max-width:100%}.handover-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.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}.handover-questionnaire{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=1100px){.handover-questionnaire{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:start}}.handover-questionnaire-intro{margin:0 0 var(--space-3);font-size:14px;line-height:1.45}.handover-question-section{border:1px solid var(--border);margin-bottom:var(--space-3)}.handover-question-section-title{padding:0 var(--space-2);margin-bottom:var(--space-3);color:var(--text);font-size:15px;font-weight:700}.handover-defect-row{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:1fr 1.4fr auto;display:grid}.handover-questionnaire-preview{top:var(--space-4);position:sticky}.handover-preview-head{margin-bottom:var(--space-3)}.handover-preview-head h3{margin:0;font-size:15px}.handover-preview-head p{margin:4px 0 0;font-size:13px}.handover-overview-wrap{box-shadow:none;background:0 0;border:none;padding:0}.ho-overview{gap:var(--space-4);flex-direction:column;display:flex}.ho-meta{justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.ho-meta-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:700}.ho-meta-title{color:var(--text);margin:0;font-size:20px;font-weight:700;line-height:1.25}.ho-meta-tags{flex-wrap:wrap;gap:8px;display:flex}.ho-tag{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.ho-tag--muted{background:var(--surface-muted,var(--surface-2));color:var(--text-muted)}.ho-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=960px){.ho-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,.85fr);align-items:start}}.ho-sections{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=720px){.ho-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}.ho-section-card,.ho-summary-card,.ho-defects-card{min-height:120px}.ho-section-title{margin:0 0 var(--space-3);color:var(--text);font-size:14px;font-weight:700}.ho-section-label{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600}.ho-card-text{white-space:pre-wrap;color:var(--text);margin:0;font-size:14px;line-height:1.55}.ho-card-list{color:var(--text);margin:0;padding-left:1.15rem;font-size:14px;line-height:1.5}.ho-card-empty{color:var(--text-muted);margin:0;font-size:13px;font-style:italic}.ho-side{gap:var(--space-3);flex-direction:column;display:flex}.ho-summary-chips{flex-direction:column;gap:8px;display:flex}.ho-chip{border-radius:var(--radius-md,8px);background:var(--accent-soft);color:var(--text);padding:10px 12px;font-size:14px;font-weight:600}.ho-defect-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ho-defect-item{border-radius:var(--radius-md,8px);background:var(--surface-muted,var(--surface-2));border:1px solid var(--border);grid-template-columns:minmax(64px,.35fr) 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.ho-defect-bus{color:var(--text);font-size:13px;font-weight:700}.ho-defect-issue{color:var(--text-muted);font-size:13px;line-height:1.4}.ho-overview--compact .ho-meta-title{font-size:16px}.ho-overview--compact .ho-section-card,.ho-overview--compact .ho-summary-card,.ho-overview--compact .ho-defects-card{min-height:0}.ho-overview--compact .ho-sections{grid-template-columns:1fr}@media print{.handover-toolbar,.hub-view-toggle,.handover-questionnaire-form,.page-header,.handover-preview-head{display:none!important}}.ho-defect-dept{color:#fff;letter-spacing:.03em;vertical-align:middle;background:#1f3864;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:800;display:inline-block}.ho-defect-dept-cell{text-align:right;white-space:nowrap}.ho2{--ho-blue:#2563eb;--ho-blue-bg:#eef4ff;--ho-green:#16a34a;--ho-green-bg:#ecfaf0;--ho-red:#dc2626;--ho-red-bg:#fff0f0;--ho-purple:#7c3aed;--ho-purple-bg:#f5f0ff;--ho-ink:#0f1d3a;flex-direction:column;gap:14px;display:flex}.ho2-header{border:1px solid var(--border);background:#fff;border-radius:16px;align-items:center;gap:16px;padding:16px 20px;display:flex}.ho2-header-icon{width:52px;height:52px;color:var(--ho-blue);background:#e6efff;border-radius:14px;flex:none;place-items:center;display:grid}.ho2-header-icon svg{width:28px;height:28px}.ho2-header-text{flex:1;min-width:0}.ho2-kicker{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:12px;font-weight:700}.ho2-header h2{color:var(--ho-ink);margin:2px 0 0;font-size:26px;font-weight:800}.ho2-header-tags{flex-wrap:wrap;gap:8px;display:flex}.ho2-pill{color:#1f3864;white-space:nowrap;background:#edf2f8;border-radius:999px;align-items:center;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.ho2-pill--dept{color:#c8102e;background:#ffe1e3;font-weight:800}.ho2-pill--small{padding:3px 10px;font-size:12px}.ho2-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.ho2-col{flex-direction:column;gap:14px;min-width:0;display:flex}.ho2-card,.ho2-qcard{border:1px solid var(--border);background:#fff;border-radius:14px;padding:16px 18px}.ho2-card--blue{background:var(--ho-blue-bg);border-color:#d6e3fb}.ho2-card--green{background:var(--ho-green-bg);border-color:#cfeedb}.ho2-card--red{background:var(--ho-red-bg);border-color:#f8d4d4}.ho2-card--purple{background:var(--ho-purple-bg);border-color:#e3d8fb}.ho2-card--plain{background:#fff}.ho2-card-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.ho2-card-head h3{color:var(--ho-ink);flex:1;margin:0;font-size:17px;font-weight:800}.ho2-card-icon{color:#fff;background:var(--ho-blue);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.ho2-card--green .ho2-card-icon{background:var(--ho-green)}.ho2-card--red .ho2-card-icon{background:var(--ho-red)}.ho2-card--purple .ho2-card-icon{background:var(--ho-purple)}.ho2-card-icon--bare,.ho2-card--plain .ho2-card-icon{color:var(--ho-blue);background:0 0}.ho2-card-icon--bus{color:#1f3864;background:#e6efff}.ho2-bullets{color:#1e293b;flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:14px;line-height:1.45;display:flex}.ho2-card--blue .ho2-bullets li::marker{color:var(--ho-blue)}.ho2-card--green .ho2-bullets li::marker{color:var(--ho-green)}.ho2-card--red .ho2-bullets li::marker{color:var(--ho-red)}.ho2-bullets--plain{padding-left:0;list-style:none}.ho2-empty{color:#64748b;margin:0;font-size:13px}.ho2-todo{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ho2-todo li{background:#7c3aed14;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;line-height:1.4;display:flex}.ho2-todo-clock{color:var(--ho-purple);flex:none;margin-top:1px}.ho2-todo-label{color:var(--ho-ink);white-space:nowrap;font-weight:800}.ho2-todo-text{color:#1e293b}.ho2-defects{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ho2-defects li{background:#f4f7fb;border-radius:10px;grid-template-columns:minmax(90px,.4fr) 1fr auto;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:grid}.ho2-defect-bus{color:var(--ho-ink);font-weight:800}.ho2-defect-issue{color:#475569}.ho2-defect-dept{text-align:right}.ho2-defects--form{margin-bottom:10px}.ho2-card-icon--hours{color:#b45309;background:#fff4e5}.ho2-hours-stats{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ho2-hours-stat{color:#475569;background:#f4f7fb;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.ho2-hours-stat strong{font-size:13px;font-weight:800}.ho2-hours-stat--ok{background:var(--ho-green-bg);color:#15803d}.ho2-hours-stat--amber{color:#b45309;background:#fff4e5}.ho2-hours-stat--red{background:var(--ho-red-bg);color:var(--ho-red)}.ho2-hours-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ho2-hours-item{background:#f4f7fb;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.ho2-hours-name{color:var(--ho-ink);font-weight:700}.ho2-hours-note{color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap}.ho2-hours-item--red{background:var(--ho-red-bg)}.ho2-hours-item--red .ho2-hours-note{color:var(--ho-red);font-weight:800}.ho2-hours-item--amber{background:#fff4e5}.ho2-hours-item--amber .ho2-hours-note{color:#b45309;font-weight:800}.ho2-card--hours .ho2-empty a{color:var(--ho-blue);font-weight:600}.ho2--compact .ho2-grid{grid-template-columns:1fr}.ho2--compact .ho2-header h2{font-size:20px}@media (width<=1100px){.ho2-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.ho2-grid{grid-template-columns:1fr}.ho2-header{flex-wrap:wrap}}.ho2-qcard{margin-bottom:14px}.ho2-question{color:#334155;margin:2px 0 0;font-size:14px;font-weight:600}.ho2-hint{color:#64748b;margin:0 0 10px;font-size:12px}.ho2-editor{flex-direction:column;gap:6px;display:flex}.ho2-editor-row{grid-template-columns:10px 1fr auto;align-items:center;gap:8px;display:grid}.ho2-editor-row--todo{grid-template-columns:minmax(110px,.35fr) 1fr auto}.ho2-editor-dot{opacity:.6;background:currentColor;border-radius:50%;width:7px;height:7px}.ho2-card--blue .ho2-editor-dot{color:var(--ho-blue)}.ho2-card--green .ho2-editor-dot{color:var(--ho-green)}.ho2-card--red .ho2-editor-dot{color:var(--ho-red)}.ho2-editor-label{font-weight:700}.ho2-editor .input{background:#fff}.ho2-two{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=600px){.ho2-two{grid-template-columns:1fr}}.ho2-bullets{gap:6px;padding-left:0;list-style:none}.ho2-bullets li{padding-left:20px;position:relative}.ho2-bullets li:before{content:"";background:var(--ho-blue);border-radius:50%;width:8px;height:8px;position:absolute;top:.5em;left:2px}.ho2-bullets li:not(:last-child):after{content:"";opacity:.15;background:currentColor;width:1px;position:absolute;top:calc(.5em + 10px);bottom:-6px;left:5.5px}.ho2-card--green .ho2-bullets li:before{background:var(--ho-green)}.ho2-card--red .ho2-bullets li:before{background:var(--ho-red)}.ho2-bullets--plain li{padding-left:0}.ho2-bullets--plain li:before,.ho2-bullets--plain li:after{display:none}.ho2-defect-unavailable{color:#b91c1c;font-weight:800}.waves-time-grid{gap:var(--space-3);flex-wrap:wrap;display:flex}.waves-time-chip{padding:var(--space-3);border-radius:var(--radius-md);background:var(--hub-surface-2,#ffffff0a);border:1px solid var(--hub-border,#ffffff14);flex-direction:column;gap:6px;min-width:140px;font-size:13px;display:flex}.waves-time-chip strong{color:var(--hub-accent,#bf0c21)}.waves-time-editable{min-width:168px}.waves-time-field{color:var(--hub-text-muted,var(--text-muted));flex-direction:column;gap:2px;font-size:11px;display:flex}.waves-time-field .input-sm{padding:4px 6px;font-size:12px}.waves-counters{padding-top:var(--space-3);padding-bottom:var(--space-3)}.waves-counters-row{flex-wrap:wrap;align-items:center;gap:4px 0;font-size:14px;line-height:1.4;display:flex}.waves-counter-item{white-space:nowrap}.waves-counter-item strong{color:var(--hub-accent,#bf0c21);margin-right:4px}.waves-counter-sep{color:var(--text-muted);margin:0 10px}.waves-extra-row{background:#f59e0b0f}.waves-date-nav{flex-direction:column;gap:4px;display:flex}.waves-date-label{font-size:12px;font-weight:600}.waves-date-controls{align-items:center;gap:6px;display:flex}.waves-date-controls .input{width:auto}.wave-plan-poster-frame{background:#f4f1f2;border-radius:12px;overflow:auto}.wave-plan-poster-frame svg,.wave-plan-poster-frame img{width:100%;min-width:880px;height:auto;display:block}.wave-plan-poster-close{z-index:1;padding:4px 8px;position:absolute;top:10px;right:10px}.wave-plan-poster-actions{z-index:1;gap:6px;display:flex;position:absolute;top:10px;right:10px}.wave-plan-poster-actions .btn{padding:4px 10px}.waves-extra-badge{color:#fbbf24;background:#f59e0b33;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.waves-fill-handle{border:1px solid var(--hub-border,#d8d8de);background:var(--hub-surface,#fff);color:#bf0c21;cursor:grab;touch-action:none;vertical-align:middle;border-radius:8px;width:30px;height:30px;margin-left:6px;font-size:18px;line-height:1}.waves-fill-handle:active{cursor:grabbing;background:#bf0c211a}.office-roster-count-row th{font-size:12px;font-weight:500}.office-roster-count{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px;text-align:center!important}.office-roster-count.has-count{color:var(--text);font-weight:700}.office-roster-total-row th{font-weight:700}.office-roster-swatch{vertical-align:middle;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block}.office-roster .planning-cell{cursor:pointer}.office-roster .planning-shift-block-title{white-space:normal;line-height:1.25}.office-roster-count.is-short{color:#b91c1c;font-weight:700}.office-roster-count.is-ok{color:#15803d;font-weight:700}.office-types-order{gap:2px;display:inline-flex}.office-types-arrow{width:30px;height:30px;color:var(--text);justify-content:center;align-items:center;padding:0;display:inline-flex}.office-types-arrow:disabled{opacity:.3}.planning-cell .planning-shift-block-wrap+.planning-shift-block-wrap{margin-top:4px}.office-cell-add{color:#94a3b8;cursor:pointer;opacity:0;background:0 0;border:1px dashed #cbd5e1;border-radius:6px;width:100%;margin-top:4px;font-size:13px;font-weight:700;line-height:18px;transition:opacity .12s;display:block}.planning-cell:hover .office-cell-add,.office-cell-add:focus-visible{opacity:1}.office-cell-add:hover{border-color:var(--hub-primary,#bf0c21);color:var(--hub-primary,#bf0c21)}.start-times-toolbar{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.start-times-table td,.start-times-table th{vertical-align:middle}.start-times-table input[type=time]{width:120px}.imagekit-dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:var(--space-6) var(--space-4);text-align:center;background:var(--surface-muted);cursor:pointer;transition:border-color .15s,background .15s}.imagekit-dropzone:hover,.imagekit-dropzone.drag-over{border-color:var(--accent);background:var(--accent-soft)}.imagekit-dropzone.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.imagekit-dropzone-icon{background:var(--surface);width:48px;height:48px;color:var(--accent);margin-bottom:var(--space-3);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.imagekit-dropzone-title{font-size:15px;font-weight:600}.imagekit-dropzone-hint{color:var(--text-muted);margin-top:6px;font-size:13px}.imagekit-previews{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.imagekit-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);position:relative;overflow:hidden}.imagekit-preview img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.imagekit-preview-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding:8px 10px;font-size:12px;overflow:hidden}.imagekit-preview-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;top:6px;right:6px}.imagekit-progress{margin-top:var(--space-4)}.imagekit-progress-bar{border-radius:var(--radius-pill);background:var(--surface-muted);height:8px;overflow:hidden}.imagekit-progress-fill{background:var(--accent);border-radius:var(--radius-pill);height:100%;transition:width .15s}.imagekit-progress-label{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.drawer-damage{max-width:min(1180px,96vw)}.damage-detail-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;min-height:60vh;display:grid}.damage-detail-photo{background:#1a1a1a;border-radius:12px;justify-content:center;align-items:center;min-height:420px;display:flex;overflow:hidden}.damage-detail-photo img{object-fit:contain;width:100%;max-height:72vh}@media (width<=800px){.damage-detail-layout{grid-template-columns:1fr}}.damage-informed{cursor:pointer;align-items:flex-start;gap:8px;max-width:220px;margin:0;font-size:13px;font-weight:600;line-height:1.3;display:flex}.damage-informed input{flex:none;margin-top:2px}.damage-detail-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.damage-month-calendar{margin-bottom:var(--space-3)}.damage-month-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.damage-month-head-left{align-items:center;gap:var(--space-3);display:flex}.damage-month-nav{align-items:center;gap:6px;display:inline-flex}.damage-month-head h3{margin:0;font-size:16px}.damage-month-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.damage-month-weekday{text-align:center;color:var(--text-muted);padding:4px;font-size:11px;font-weight:700}.damage-month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.damage-month-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);cursor:default;flex-direction:column;align-items:flex-start;gap:4px;min-height:52px;padding:6px;transition:border-color .15s,background .15s;display:flex}.damage-month-cell:disabled{opacity:.72;cursor:default}.damage-month-cell.empty{background:0 0;border-color:#0000}.damage-month-cell.has-data{cursor:pointer;background:var(--surface)}.damage-month-cell.has-data:hover{border-color:var(--accent)}.damage-month-cell.has-open{border-color:#e11d4873;box-shadow:inset 0 0 0 1px #e11d4833}.damage-month-day{font-size:12px;font-weight:700}.damage-month-count{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);padding:2px 6px;font-size:10px;font-weight:700}.damage-month-legend{gap:var(--space-4);margin-top:var(--space-3);color:var(--text-muted);font-size:12px;display:flex}.damage-month-legend-item{align-items:center;gap:6px;display:inline-flex}.dot{border-radius:50%;width:8px;height:8px}.dot-open{background:var(--accent)}.dot-closed{background:var(--success)}.damage-day-summary{border-left:3px solid var(--accent)}.damage-day-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.damage-day-list li{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.hr-expiry-panel{border-left:3px solid var(--accent)}.hr-expiry-list{flex-direction:column;gap:6px;display:flex}.hr-expiry-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;color:var(--text);cursor:pointer;text-align:left;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.hr-expiry-item.tone-expired{border-color:#dc262659}.hr-expiry-item.tone-soon{border-color:#f9731659}.hr-expiry-item:hover{background:var(--surface)}.hr-expiry-name{font-weight:600}.hr-expiry-doc,.hr-expiry-date{color:var(--text-muted);font-size:13px}.onboarding-docs-layout{gap:var(--space-4);grid-template-columns:220px 1fr;min-height:280px;display:grid}.onboarding-docs-nav{flex-direction:column;gap:4px;display:flex}.onboarding-docs-nav-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.onboarding-docs-nav-item.active{border-color:var(--accent);background:var(--accent-soft)}.onboarding-docs-nav-item.done{color:var(--success)}.onboarding-docs-panel{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.onboarding-docs-check{margin-top:var(--space-3);align-items:center;gap:8px;font-size:13px;display:flex}@media (width<=768px){.onboarding-docs-layout{grid-template-columns:1fr}.hr-expiry-item{grid-template-columns:1fr;gap:4px}}.insurance-claims{gap:var(--space-3);flex-direction:column;display:flex}.insurance-claim.is-closed{opacity:.85}.insurance-claim__head{margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.insurance-claim__head h3{margin:0 0 2px;font-size:15px}.insurance-claim__head .text-muted{font-size:13px}.insurance-pill{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.insurance-pill--todo{color:#be123c;background:#ffe4e6}.insurance-pill--sent{color:#92400e;background:#fef3c7}.insurance-pill--closed{color:#166534;background:#dcfce7}.insurance-claim__grid{gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.insurance-claim__grid h4{text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-muted,#64748b);margin:0 0 8px;font-size:13px}.insurance-updates,.insurance-docs{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.insurance-updates li{border-left:3px solid var(--hub-primary,#bf0c21);background:var(--hub-surface-muted,#f8fafc);border-radius:6px;padding:8px 10px}.insurance-updates li span{font-size:12px}.insurance-updates li p{white-space:pre-wrap;margin:2px 0 0}.insurance-docs li{justify-content:space-between;gap:10px;font-size:13px;display:flex}.insurance-note{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.insurance-note .textarea{width:100%}.insurance-claim__foot{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--hub-border,#e2e8f0);justify-content:flex-end;align-items:center;gap:12px;display:flex}.insurance-pill--fault-own{color:#3730a3;background:#e0e7ff}.insurance-pill--fault-other{color:#155e75;background:#cffafe}.insurance-pill--fault-unknown{color:#475569;background:#f1f5f9}.ai-advisory-banner{margin-bottom:var(--space-5)}.ai-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.ai-tabs .btn{border:1px solid var(--border)}.ai-section h2{margin-bottom:var(--space-4);font-size:16px}.ai-section h3{margin:0;font-size:14px}.ai-suggestions-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.ai-suggestion-card-enhanced{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.ai-suggestion-card-enhanced:hover{box-shadow:var(--shadow-sm);border-color:#c4b5fd}.ai-card-image{background:var(--bg-secondary);border-bottom:1px solid var(--border);width:100%;height:180px;overflow:hidden}.ai-card-image img{object-fit:cover;width:100%;height:100%}.ai-card-content{gap:var(--space-2);padding:var(--space-3);flex-direction:column;flex:1;display:flex}.ai-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.ai-card-header h3{margin:0;font-size:14px;font-weight:600}.ai-card-meta{gap:var(--space-1);color:var(--text-muted);grid-template-columns:1fr 1fr;font-size:12px;display:grid}.ai-confidence{color:#10b981;grid-column:1/-1;align-items:center;gap:4px;font-weight:500;display:flex}.ai-card-description{padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text);margin:0;font-size:13px}.ai-card-actions{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);margin-top:auto;display:flex}.ai-card-actions .btn{white-space:nowrap;flex:1}.ai-suggestion-list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.ai-suggestion-card{text-align:left;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s;display:flex}.ai-suggestion-card:hover{box-shadow:var(--shadow-sm);border-color:#c4b5fd}.ai-suggestion-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ai-suggestion-title{font-size:14px;font-weight:700}.ai-suggestion-meta{color:var(--text-muted);font-size:12px}.ai-suggestion-desc{color:var(--text);margin:0;font-size:13px}.ai-log-section{margin-bottom:var(--space-4)}.ai-log-list{gap:var(--space-3);flex-direction:column;display:flex}.ai-log-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;display:flex}.ai-log-row.success{border-left:3px solid #10b981}.ai-log-row.failed{background:#ef444405;border-left:3px solid #ef4444}.ai-log-row--detail{flex-wrap:nowrap;align-items:flex-start}.ai-log-thumb{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle,#f3f4f6);flex:0 0 72px;width:72px;height:72px;overflow:hidden}.ai-log-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ai-log-findings{margin:var(--space-2) 0 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.ai-log-findings li{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:13px;display:flex}.ai-log-finding-btn{text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;flex:1;min-width:0;padding:0}.ai-log-finding-btn:hover{text-decoration:underline}@media (width<=768px){.ai-suggestions-grid{grid-template-columns:1fr}.ai-card-actions{flex-direction:column}.ai-card-actions .btn{width:100%}.ai-card-meta{grid-template-columns:1fr}.ai-card-meta .ai-confidence{grid-column:auto}}.settings-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-section h2{margin-bottom:var(--space-4);align-items:center;gap:8px;font-size:16px;display:flex}.settings-section-wide{grid-column:1/-1}.settings-desc{margin-bottom:var(--space-4);font-size:13px}.settings-day-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-day-chip{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.settings-day-chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.settings-toggle{cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.settings-ai-warning{margin-bottom:var(--space-4)}@media (width<=900px){.settings-grid{grid-template-columns:1fr}}@media (width<=768px){.settings-grid{gap:var(--space-3)}}.dispatcher-card{border:1px solid var(--hub-border,#e5e7eb);background:var(--hub-surface,#fff);border-radius:12px;width:320px;max-width:100%;padding:10px 12px}.dispatcher-card__title{letter-spacing:.05em;text-transform:uppercase;color:var(--hub-text-muted,#6b7280);margin-bottom:6px;font-size:11px;font-weight:700}.dispatcher-card__rows{max-height:190px;overflow-y:auto}.dispatcher-card__row{grid-template-columns:96px 1fr 28px;align-items:center;gap:8px;padding:3px 0;font-size:12px;display:grid}.dispatcher-card__name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.dispatcher-card__bar{background:#f1e4e8;border-radius:4px;height:7px;display:block;overflow:hidden}.dispatcher-card__bar i{background:var(--hub-accent,#7a1f33);border-radius:4px;height:100%;display:block}.dispatcher-card__count{text-align:right;font-weight:700}.dispatcher-card__row.is-zero .dispatcher-card__name,.dispatcher-card__row.is-zero .dispatcher-card__count{color:var(--hub-text-muted,#6b7280);font-weight:600}.dispatcher-card__foot{color:var(--hub-text-muted,#9ca3af);margin-top:6px;font-size:11px}@media (width<=720px){.dispatcher-card{width:100%}}.addr-wrap{position:relative}.addr-busy{border:2px solid #e5e7eb;border-top-color:var(--hub-primary,#bf0c21);border-radius:50%;width:12px;height:12px;margin-top:-6px;animation:.8s linear infinite addr-spin;position:absolute;top:50%;right:10px}@keyframes addr-spin{to{transform:rotate(360deg)}}.addr-list{z-index:50;background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e5e7eb);border-radius:10px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #0000001f}.addr-item{cursor:pointer;border-radius:6px;flex-direction:column;padding:7px 10px;display:flex}.addr-item.is-active{background:#f3f4f6}.addr-item-main{font-size:13px;font-weight:600}.addr-item-sub{color:var(--hub-text-muted,#6b7280);font-size:12px}.phone-wrap{align-items:stretch;display:flex;position:relative}.phone-country{border:1px solid var(--hub-border,#d1d5db);cursor:pointer;white-space:nowrap;background:#f9fafb;border-right:0;border-radius:8px 0 0 8px;align-items:center;gap:4px;padding:0 8px;font-size:13px;display:inline-flex}.phone-flag{font-size:16px;line-height:1}.phone-dial{font-weight:600}.phone-caret{color:#6b7280;font-size:10px}.phone-number{flex:1;min-width:0;border-radius:0 8px 8px 0!important}.phone-list{z-index:50;background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e5e7eb);border-radius:10px;min-width:240px;max-height:260px;margin:0;padding:4px;font-size:13px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 10px 30px #0000001f}.phone-item{cursor:pointer;border-radius:6px;padding:6px 10px}.phone-item.is-active,.phone-item:hover{background:#f3f4f6}.ob-avail-days{flex-wrap:wrap;gap:6px;display:flex}.ob-avail-day{border:1px solid var(--hub-border,#cbd5e1);width:44px;height:34px;color:var(--hub-text-muted,#64748b);font:inherit;cursor:pointer;background:#fff;border-radius:8px;font-size:13px;font-weight:700;transition:background .12s,color .12s,border-color .12s}.ob-avail-day:hover:not(:disabled){border-color:#16a34a}.ob-avail-day.is-on{color:#fff;background:#16a34a;border-color:#15803d}.ob-avail-day:disabled{opacity:.6;cursor:default}.onboarding-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.onboarding-thumb{border:1px solid var(--border,#e2e8f0);background:var(--surface-muted,#f8fafc);color:inherit;border-radius:8px;flex-direction:column;align-items:center;gap:6px;min-height:120px;padding:8px;text-decoration:none;transition:box-shadow .15s;display:flex}.onboarding-thumb-preview{width:100%;color:inherit;text-decoration:none;display:block}.onboarding-thumb.is-uploaded:hover{box-shadow:0 2px 8px #0f172a1a}.onboarding-thumb.is-missing{opacity:.75}.onboarding-thumb.is-flagged{background:#fef2f2;border-color:#fecaca}.onboarding-thumb-img{object-fit:cover;background:#fff;border-radius:6px;width:100%;height:72px}.onboarding-thumb-pdf{transform-origin:0 0;pointer-events:none;background:#fff;border:0;width:200%;height:200%;position:absolute;top:0;left:0;transform:scale(.5)}.onboarding-thumb-file{background:var(--hub-primary-soft,#fce8eb);width:100%;height:72px;color:var(--hub-primary,#bf0c21);border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex;position:relative;overflow:hidden}.onboarding-thumb-placeholder{width:100%;height:72px;color:var(--text-muted,#94a3b8);justify-content:center;align-items:center;font-size:24px;display:flex}.onboarding-thumb-label{text-align:center;color:var(--text,#0f172a);font-size:10px;font-weight:600;line-height:1.2}.onboarding-thumb-hint{color:#b91c1c;text-align:center;font-size:9px}.onboarding-thumb-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.onboarding-thumb-action{color:var(--hub-primary,#bf0c21);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;font-weight:700;text-decoration:underline}.onboarding-section-toggle{width:100%;margin:0 0 var(--space-3);background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius,12px);font:inherit;color:inherit;cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:16px;font-weight:700;display:flex}.onboarding-section-toggle:hover{border-color:var(--hub-primary,#bf0c21)}.onboarding-section-chevron{color:var(--text-muted,#64748b);transition:transform .15s;display:inline-flex}.onboarding-section-chevron.is-open{transform:rotate(90deg)}.onboarding-bg-check-pill{white-space:nowrap;background:var(--surface-muted,#f1f5f9);color:var(--text-muted,#64748b);border:1px solid var(--border,#e2e8f0);border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.onboarding-bg-check-pill.is-done{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18);border-color:#f5a0a8}.onboarding-bg-check-pill.is-due{color:#9a3412;background:#fff7ed;border-color:#fdba74}.onboarding-contract-queue{margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius);background:#fff7ed;border:1px solid #fdba74}.onboarding-contract-queue h2{color:#9a3412;margin:0 0 4px;font-size:16px}.onboarding-contract-queue>p{margin:0 0 var(--space-3);color:#9a3412;font-size:13px}.onboarding-contract-empty{color:#9a3412;margin:0;font-size:13px}.onboarding-contract-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.onboarding-contract-row{border-radius:var(--radius-sm);background:#fff;border:1px solid #fed7aa;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.onboarding-contract-row strong{display:block}.onboarding-contract-row span{color:var(--text-muted,#64748b);margin-top:2px;font-size:12px;display:block}.onboarding-checklist{margin:var(--space-4) 0 0;padding:var(--space-3);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-sm);background:var(--surface,#fff)}.onboarding-checklist legend{padding:0 6px;font-size:14px;font-weight:600}.onboarding-checklist .onboarding-docs-check{margin-top:var(--space-2)}.onboarding-checklist-note{margin:var(--space-3) 0 0;color:#9a3412;font-size:13px}.onboarding-card-split{grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:start;gap:16px 20px;display:grid}.onboarding-stage-list{border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-sm,8px);background:var(--surface-muted,#f8fafc);margin:0;padding:8px;list-style:none}.onboarding-stage{color:var(--text-muted,#64748b);border-radius:8px;align-items:flex-start;gap:8px;padding:6px 8px;font-size:13px;line-height:1.3;display:flex}.onboarding-stage+.onboarding-stage{margin-top:2px}.onboarding-stage-mark{color:#0000;text-align:center;background:#fff;border:1.5px solid #cbd5e1;border-radius:50%;flex:0 0 18px;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:700;line-height:16px}.onboarding-stage.is-done{color:#166534}.onboarding-stage.is-done .onboarding-stage-mark{color:#166534;background:#dcfce7;border-color:#16a34a}.onboarding-stage.is-current{background:var(--accent-soft,#fce8eb);color:var(--navy,#5b0d11);box-shadow:inset 3px 0 0 var(--accent,#bf0c21);font-weight:650}.onboarding-stage.is-current .onboarding-stage-mark{border-color:var(--accent,#bf0c21);background:var(--accent,#bf0c21);box-shadow:0 0 0 3px #bf0c212e}.onboarding-stage-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.onboarding-stage-now{letter-spacing:.04em;text-transform:uppercase;color:var(--accent,#bf0c21);font-size:10px;font-weight:700}@media (width<=860px){.onboarding-card-split{grid-template-columns:1fr}}.onboarding-ra-days{flex-wrap:wrap;align-items:center;gap:8px;margin:-2px 0 8px 28px;display:flex}.onboarding-ra-day{border:1px solid var(--hub-border,#e2e8f0);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.onboarding-ra-day.is-done{color:#15803d;background:#dcfce7;border-color:#86efac}.onboarding-ra-schedule{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 6px 26px;font-size:12px;display:flex}.onboarding-ra-schedule-title{font-weight:700}.onboarding-ra-schedule-item{color:#713f12;background:#fef9c3;border:1px solid #fde047;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.onboarding-ra-schedule-none{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:2px 8px;font-weight:600}.onboarding-ra-banner{margin-bottom:var(--space-4);background:#fffbeb;border:2px solid #f59e0b;flex-direction:column;gap:8px;display:flex}.onboarding-ra-banner-head{color:#78350f;align-items:center;gap:10px;display:flex}.onboarding-ra-banner-tag{color:#fff;background:#f59e0b;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:800}.onboarding-ra-banner-list{flex-wrap:wrap;gap:8px;display:flex}.onboarding-ra-banner-item{color:#78350f;font:inherit;cursor:pointer;background:#fff;border:1px solid #fcd34d;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.onboarding-ra-banner-item:hover{background:#fef3c7}.contract-summary{margin-bottom:var(--space-3);border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-sm);background:var(--surface-muted,#f8fafc);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 16px;padding:12px 14px;display:grid}.contract-summary span{color:var(--text-muted,#64748b);font-size:12px;display:block}.contract-summary strong{font-size:14px;display:block}.contract-preview{border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-sm);color:#1a1a1f;background:#fff;max-height:46vh;padding:24px 28px;font-size:12.5px;line-height:1.5;overflow:auto}.contract-letterhead{justify-content:space-between;align-items:flex-start;margin:-8px 0 10px;display:flex}.contract-letterhead img{width:150px;height:auto}.contract-redbar{background:#c00000;border:1px solid #2f528f;width:84px;height:13px;margin:50px -28px 0 0;display:block}.contract-footbar{background:#c00000;border-top:1px solid #2f528f;height:10px;margin:28px -28px -24px}.contract-preview h3{text-align:center;letter-spacing:.02em;margin:0 0 18px;font-size:15px}.contract-preview h4{text-transform:uppercase;margin:16px 0 6px;font-size:12.5px}.contract-preview p{margin:0 0 8px;padding-left:40px;position:relative}.contract-preview p.contract-party{padding-left:24px}.contract-preview h4{padding-left:40px;position:relative}.contract-num{font-weight:700;position:absolute;left:0}.contract-sign{grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;display:grid}.contract-sign span,.contract-sign strong{display:block}.contract-sign .contract-line{margin-top:36px}.ob-overview{margin-bottom:var(--space-5)}.ob-overview-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-2);flex-wrap:wrap;display:flex}.ob-overview-head h2{margin:0 0 2px;font-size:16px}.ob-overview-head p{margin:0;font-size:13px}.ob-overview-sort{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:13px;display:flex}.ob-overview-sort .select{width:auto;padding:6px 28px 6px 10px;font-size:13px}.ob-overview-table th{white-space:nowrap;font-size:11px;line-height:1.2}.ob-overview-table .ob-col-step,.ob-overview-table .ob-col-days{text-align:center}.ob-overview-table .ob-col-progress{white-space:nowrap}.ob-overview-row{cursor:pointer}.ob-overview-row:hover td{background:var(--surface-muted)}.ob-overview-name{font-weight:600}.ob-tick{color:var(--success);font-weight:700}.ob-dot{color:#d1d5db}.ob-now{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.3;display:inline-block}.ob-bar{vertical-align:middle;background:var(--surface-muted);border-radius:3px;width:64px;height:6px;margin-right:6px;display:inline-block;overflow:hidden}.ob-bar i{background:var(--accent);height:100%;display:block}.ob-pct{color:var(--text-muted);font-size:12px}.ob-col-days.is-long{color:var(--error);font-weight:700}@media (width>=1200px){.ob-overview .table-wrap{overflow:visible}.ob-overview-table thead th{top:calc(-1 * var(--space-5));z-index:5;background:var(--surface-muted,#f1f5f9);box-shadow:0 1px 0 var(--hub-border,#e2e8f0);position:sticky}}.hr-table-wrap{border:1px solid var(--hub-border,#e2e8f0);border-radius:var(--radius-sm,8px);max-height:560px;overflow:auto}.hr-table{border-collapse:collapse;width:100%}.hr-table thead th{z-index:1;border-bottom:1px solid var(--hub-border,#e2e8f0);text-align:left;background:#fafbfc;padding:0;position:sticky;top:0}.hr-sort-btn{width:100%;font:inherit;letter-spacing:.03em;text-transform:uppercase;color:var(--hub-text-muted,#64748b);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:10px 12px;font-size:11px;font-weight:700;display:flex}.hr-sort-btn:hover{color:var(--hub-text,#0f172a);background:#f1f5f9}.hr-sort-arrow{font-size:12px}.hr-sort-arrow.is-idle{opacity:.35}.hr-row{cursor:pointer}.hr-row td{vertical-align:middle;border-bottom:1px solid #eef0f3;padding:9px 12px;font-size:13px}.hr-row:hover td{background:var(--hub-surface-muted,#f8fafc)}.hr-row.is-selected td{background:var(--accent-soft,#fce8eb)}.hr-row-name{margin-right:8px;font-weight:600}.hr-col-number{white-space:nowrap;width:110px}.hr-col-tid{white-space:nowrap;width:160px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}@media (width<=900px){.hr-layout{flex-direction:column}.hr-list-card{width:100%;min-width:0!important}}.hr-alerts-filters{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.hr-alerts-filter-group{flex-wrap:wrap;gap:6px;display:inline-flex}.hr-alerts-chip{border:1px solid var(--border,#e2e8f0);color:var(--text,#1e293b);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.hr-alerts-chip:hover{border-color:#cbd5e1}.hr-alerts-chip.is-active{border-color:var(--hub-primary,#bf0c21);background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18)}.hr-alerts-chip.tone-expired.is-active{background:#fde8ea}.hr-alerts-chip.tone-soon.is-active{color:#92400e;background:#fef3c7;border-color:#f59e0b}.hr-alerts-chip-count{text-align:center;background:#0f172a14;border-radius:999px;min-width:20px;padding:0 6px;font-size:11px;display:inline-block}.hr-alerts-search{flex:260px;min-width:220px}.hr-alerts-table tbody tr.hr-alerts-row{cursor:pointer}.hr-alerts-table tbody tr.hr-alerts-row:hover td{background:#f8fafc}.hr-alerts-table tbody tr.tone-expired td.hr-alerts-name{box-shadow:inset 4px 0 #ef4444}.hr-alerts-table tbody tr.tone-soon td.hr-alerts-name{box-shadow:inset 4px 0 #f59e0b}.hr-alerts-name{font-weight:600}.stat-card.is-link{cursor:pointer;text-align:left;font:inherit;color:inherit;transition:box-shadow .12s,transform .12s}.stat-card.is-link:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a1a}.stat-card .stat-hint{color:var(--hub-primary,#bf0c21);text-transform:none;letter-spacing:0;margin-top:4px;font-size:11px;font-weight:600;display:block}.fico-poster-section{margin-top:var(--space-4)}.fico-poster-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.fico-poster-head h2{margin:0;font-size:18px}.fico-poster-frame{background:#f4f6f9;border-radius:16px;overflow:auto}.fico-poster-frame svg{width:100%;min-width:720px;height:auto;display:block}.fico-legend{gap:var(--space-2);flex-wrap:wrap;display:flex}.fico-badge{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.fico-badge.best{color:#14532d;background:#bbf7d0}.fico-badge.good{color:#fff;background:#00b050}.fico-badge.fair{color:#111827;background:#ff0}.fico-badge.poor{color:#fff;background:red}.fico-badge.neutral{background:var(--surface-muted);color:var(--text-muted)}.fico-score-value{font-size:15px;font-weight:800}.fico-score-value.best{color:#14532d}.fico-score-value.good{color:#15803d}.fico-score-value.fair{color:#b45309}.fico-score-value.poor{color:#b91c1c}.fico-form{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;display:grid}.fico-form .form-row{flex-direction:column;gap:6px;display:flex}.fico-form label{color:var(--text-muted);font-size:12px;font-weight:600}.fico-sort{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.fico-sort:hover{text-decoration:underline}.fico-progress{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:inline-flex}.fico-progress.is-complete{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.todo-stats{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.todo-stat{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-2);text-align:center}.todo-stat .count{font-size:28px;font-weight:700;line-height:1.1}.todo-stat.high .count{color:var(--danger)}.todo-stat .label{color:var(--text-muted);margin-top:4px;font-size:12px}.todo-list{flex-direction:column;gap:0;display:flex}.todo-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none;display:flex}.todo-item:last-child{border-bottom:none}.todo-item:hover{background:var(--surface-2)}.todo-item-main{flex:1}.todo-item-main h3{margin:4px 0 0;font-size:15px}.todo-item-main p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.todo-priority{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.todo-priority.high{color:#ef4444;background:#ef444426}.todo-priority.medium{color:#d97706;background:#f5a62326}.todo-priority.low{color:#64748b;background:#64748b26}.todo-type{color:var(--text-muted);margin-left:8px;font-size:12px}.todo-arrow{color:var(--text-muted);font-size:18px}.todo-day-nav{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.todo-day-nav .btn,.todo-day-nav .input{align-self:center}.todo-day-nav-arrows{align-items:center;gap:4px;display:inline-flex}.todo-day-nav .input[type=date]{height:34px;min-height:34px;padding-top:4px;padding-bottom:4px;line-height:1.2}.todo-page{min-width:0;max-width:100%;overflow-x:clip}.todo-sheet-wrap{width:100%;min-width:0;max-width:100%;margin:0 0 var(--space-4);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 24px #0000001f}.todo-sheet{box-sizing:border-box;background:#5a0710;border:2px solid #5a0710;flex-direction:column;gap:2px;width:100%;max-width:100%;font-size:14px;display:flex}.todo-sheet-row,.todo-sheet-row>div{box-sizing:border-box}.todo-sheet-row{background:#5a0710;grid-template-columns:10fr 14fr 38fr 38fr 12fr;gap:2px;width:100%;display:grid}.todo-sheet-row--head{color:#fff;text-transform:uppercase;letter-spacing:.03em;background:#8b0a18;font-size:12px;font-weight:700}.todo-sheet-row--head>div{text-overflow:ellipsis;white-space:nowrap;padding:8px 6px;overflow:hidden}.todo-sheet-row:not(.todo-sheet-row--head)>div{align-items:center;min-width:0;min-height:44px;padding:8px 6px;display:flex}.todo-sheet-check{color:#fff;background:#a30d1c;justify-content:center}.todo-sheet-check input[type=checkbox]{accent-color:#fff;cursor:pointer;width:20px;height:20px}.todo-sheet-time{color:#fff;white-space:nowrap;background:#bf0c21;font-size:12px;font-weight:600}.todo-sheet-task{color:#1a1a1a;overflow-wrap:anywhere;word-break:break-word;text-align:left;background:#f6d3d7;flex-direction:column;justify-content:center;align-items:flex-start;font-weight:500;line-height:1.45}.todo-sheet-task .todo-sheet-recurrence{color:#0000008c;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:11px;font-weight:600;display:block}.todo-sheet-where{color:#fff;overflow-wrap:anywhere;word-break:break-word;background:#a30d1c;min-width:0;font-size:13px}.todo-sheet-actions{color:#fff;background:#a30d1c;justify-content:center;min-width:0}.todo-sheet-actions-inner{flex-flow:row;justify-content:center;align-items:center;gap:4px;width:100%;display:flex}.todo-page .todo-sheet-action{border-radius:var(--radius-sm,4px);color:#fff;cursor:pointer;background:#00000038;border:1px solid #ffffff73;justify-content:center;align-items:center;min-height:26px;margin:0;padding:4px 7px;font-size:11px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s;display:inline-flex}.todo-page .todo-sheet-action:hover:not(:disabled){color:#fff;background:#00000061;border-color:#ffffffbf}.todo-page .todo-sheet-action--remove{min-width:26px;padding:4px 6px;font-size:15px;font-weight:700;line-height:1}.todo-sheet-row.is-done .todo-sheet-task span:first-child{opacity:.75;text-decoration:line-through}.todo-sheet-row.is-overdue:not(.is-done) .todo-sheet-time{color:#ffeb3b}.todo-sheet-empty{text-align:center;padding:var(--space-5);color:#fff;background:#c9414f;border:none;font-style:italic}.todo-create-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(140px,1fr));display:grid}.todo-create-span2{grid-column:span 2}.todo-create-row{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}@media (width<=720px){.todo-stats,.todo-create-grid{grid-template-columns:1fr}.todo-create-span2{grid-column:span 1}.todo-sheet-row{grid-template-columns:11fr 16fr 28fr 33fr 12fr}.todo-sheet-time{white-space:normal;font-size:11px}.todo-sheet-actions-inner{flex-direction:column}.todo-page .todo-sheet-action:not(.todo-sheet-action--remove){display:none}}.todo2-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.todo2-date{height:34px;min-height:34px;padding-top:4px;padding-bottom:4px}.todo2-progress{align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.todo2-progress-left{align-items:center;gap:var(--space-3);flex:320px;min-width:0;display:flex}.todo2-ring{--pct:0;background:conic-gradient(var(--hub-primary,#bf0c21) calc(var(--pct) * 1%), #f1e4e8 0);border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid}.todo2-ring span{background:var(--hub-surface,#fff);width:50px;height:50px;color:var(--hub-primary,#bf0c21);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.todo2-progress-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.todo2-progress-text strong{font-size:15px}.todo2-bar{background:#f1e4e8;border-radius:999px;max-width:420px;height:8px;overflow:hidden}.todo2-bar i{background:var(--hub-primary,#bf0c21);border-radius:999px;height:100%;transition:width .25s;display:block}.todo2-stats{flex:none;gap:0;display:flex}.todo2-stat{border-left:1px solid var(--hub-border,#e5e7eb);flex-direction:column;align-items:flex-start;padding:4px 22px;display:flex}.todo2-stat:first-child{border-left:0}.todo2-stat strong{font-size:22px;font-weight:800;line-height:1.1}.todo2-stat span{color:var(--hub-text-muted,#6b7280);font-size:12px}.todo2-stat.is-done strong{color:#166534}.todo2-stat.is-late strong{color:var(--hub-primary,#bf0c21)}.todo2-section{margin-bottom:var(--space-4);overflow:hidden}.todo2-section-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--hub-border,#e5e7eb);align-items:center;gap:10px;padding:12px 16px;display:flex}.todo2-section-head h3{margin:0;font-size:15px;font-weight:800}.todo2-section-icon{color:var(--hub-primary,#bf0c21);display:inline-flex}.todo2-section-range{color:var(--hub-text-muted,#6b7280);font-size:13px}.todo2-section-spacer{flex:1}.todo2-section-count{color:#374151;background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.todo2-section-count.is-done{color:#166534;background:#dcfce7}.todo2-chevron{color:var(--hub-text-muted,#6b7280);font-size:16px;line-height:1;transition:transform .15s}.todo2-chevron.is-collapsed{transform:rotate(180deg)}.todo2-table th{letter-spacing:.06em;font-size:11px}.todo2-col-check{text-align:center;width:70px}.todo2-col-check .todo2-checks{display:inline-flex}.todo2-col-time{white-space:nowrap;width:120px}.todo2-col-status{width:110px}.todo2-col-note,.todo2-col-actions{text-align:center;width:80px}.todo2-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--hub-primary,#bf0c21);cursor:pointer}.todo2-time{color:var(--hub-primary,#bf0c21);font-size:13px;font-weight:700}.todo2-row.is-done .todo2-title{color:var(--hub-text-muted,#6b7280);text-decoration:line-through}.todo2-row.is-late .todo2-time{color:#b91c1c}.todo2-where{color:var(--hub-text-muted,#6b7280);font-size:13px}.todo2-note-preview{color:#92400e;background:#fef3c7;border-radius:6px;margin-top:2px;padding:1px 8px;font-size:12px;display:inline-block}.todo2-badge{color:#4b5563;background:#f3f4f6;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.todo2-badge.is-done{color:#166534;background:#dcfce7}.todo2-badge.is-late{color:#b91c1c;background:#fee2e2}.todo2-icon-btn{color:var(--hub-text-muted,#6b7280);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;display:inline-flex}.todo2-icon-btn:hover{color:#111827;background:#f3f4f6}.todo2-icon-btn.has-note{color:#b45309}.todo2-menu-wrap{display:inline-block;position:relative}.todo2-menu{z-index:20;background:var(--hub-surface,#fff);border:1px solid var(--hub-border,#e5e7eb);border-radius:10px;flex-direction:column;min-width:150px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 10px 30px #0000001f}.todo2-menu button{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.todo2-menu button:hover{background:#f3f4f6}.todo2-menu button.is-danger{color:#b91c1c}@media (width<=720px){.todo2-stats{justify-content:space-between;width:100%}.todo2-stat{padding:4px 10px}.todo2-col-note{display:none}}.todo2-checks{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.todo2-check{cursor:pointer;color:var(--hub-text-muted,#6b7280);align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.todo2-checks:not(.is-multi){align-items:center}.todo2-checks.is-multi~*{vertical-align:top}.todo2-section--handover{border:2px solid #bf0c21}.todo2-section--handover .todo2-section-icon{color:#fff;background:#bf0c21}.todo2-debrief-missing{margin-bottom:var(--space-4);border:2px solid #bf0c21;padding:14px 16px}.todo2-debrief-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.todo2-debrief-head h3{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.todo2-debrief-icon{color:#fff;background:#bf0c21;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:800;display:inline-flex}.todo2-debrief-count{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:1px 8px;font-size:12px}.todo2-debrief-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.todo2-debrief-list li{border-top:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 0;display:flex}.todo2-debrief-list li:first-child{border-top:0}.todo2-debrief-list li>strong{min-width:200px;font-size:13px}.todo2-debrief-list li>strong:before{content:"";vertical-align:middle;background:#bf0c21;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.todo2-debrief-items{flex-wrap:wrap;gap:6px;display:flex}.todo2-debrief-item{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.todo2-debrief-item.is-remark{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.todo2-newdriver{margin-bottom:var(--space-4);background:#fffbeb;border:2px solid #f59e0b;padding:14px 16px}.todo2-newdriver-icon{color:#fff;background:#f59e0b;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:800;display:inline-flex}.todo2-newdriver-text{color:#78350f;margin:0 0 6px;font-size:13px}.todo2-newdriver .todo2-debrief-list li>strong:before{background:#f59e0b}.todo2-newdriver .todo2-debrief-count{color:#92400e;background:#fef3c7;border-color:#fde68a}.todo2-newdriver-check{cursor:pointer;padding:2px 4px 2px 0;display:inline-flex}.todo2-newdriver-check input{accent-color:#15803d;cursor:pointer;width:18px;height:18px}.todo2-newdriver li.is-done>strong{opacity:.6;text-decoration:line-through}.todo2-newdriver .todo2-debrief-count.is-done{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.daily-op-stats{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.daily-op-table .input-sm{min-width:100px;padding:4px 8px;font-size:13px}.daily-op-table input[type=checkbox]{cursor:pointer;width:18px;height:18px}.daily-op-id-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.daily-op-id-cell code{font-size:12px}.daily-op-wave-pill{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary,#bf0c21);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.daily-op-table tbody tr.is-present td.daily-op-identity,.daily-op-table tbody tr.is-present:hover td.daily-op-identity{background:#e7f8ee}.daily-op-table tbody tr.is-absent td.daily-op-identity,.daily-op-table tbody tr.is-absent:hover td.daily-op-identity{background:#fde8ea}.daily-op-table tbody tr.is-late td.daily-op-identity,.daily-op-table tbody tr.is-late:hover td.daily-op-identity{background:#fef3c7}.app-shell .daily-op-table .daily-op-tone{font-weight:650}.app-shell .daily-op-table .daily-op-tone--present,.app-shell .daily-op-table .daily-op-tone--online{color:#166534;background:#dcfce7;border-color:#4ade80}.app-shell .daily-op-table .daily-op-tone--absent,.app-shell .daily-op-table .daily-op-tone--offline{color:#be123c;background:#ffe4e6;border-color:#fb7185}.app-shell .daily-op-table .daily-op-tone--late{color:#92400e;background:#fef3c7;border-color:#f59e0b}.app-shell .daily-op-table .daily-op-tone--present:focus,.app-shell .daily-op-table .daily-op-tone--online:focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a33}.app-shell .daily-op-table .daily-op-tone--absent:focus,.app-shell .daily-op-table .daily-op-tone--offline:focus{border-color:#e11d48;box-shadow:0 0 0 3px #e11d4829}.app-shell .daily-op-table .daily-op-tone--late:focus{border-color:#d97706;box-shadow:0 0 0 3px #d977062e}.daily-op-wave-stat{background:var(--surface-muted,#f1f5f9);color:var(--text,#1e293b);border:1px solid var(--border,#e2e8f0);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.daily-op-bus-cell{position:relative}.daily-op-bus-picker{z-index:20;border:1px solid var(--hub-border,#e5e7eb);background:#fff;border-radius:10px;width:260px;position:absolute;top:4px;left:4px;overflow:hidden;box-shadow:0 10px 30px #00000024}.daily-op-bus-picker-head{color:var(--hub-text-muted,#6b7280);border-bottom:1px solid var(--hub-border,#e5e7eb);justify-content:space-between;align-items:center;padding:6px 6px 6px 12px;font-size:12px;font-weight:700;display:flex}.daily-op-bus-picker-list{max-height:320px;padding:4px;overflow-y:auto}.daily-op-bus-option{text-align:left;width:100%;font:inherit;color:#111827;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:flex}.daily-op-bus-option:hover:not(:disabled){background:var(--surface-muted,#f3f4f6)}.daily-op-bus-option.is-manual{background:#dbeafe}.daily-op-bus-option.is-manual:hover:not(:disabled){background:#bfdbfe}.daily-op-bus-option.is-current{outline:2px solid var(--hub-primary,#bf0c21);outline-offset:-2px}.daily-op-bus-option.is-taken,.daily-op-bus-option:disabled{opacity:.5;cursor:not-allowed}.daily-op-bus-option-nr{min-width:56px;font-weight:700}.daily-op-bus-option-owner{color:var(--hub-text-muted,#6b7280);margin-left:auto;font-size:11px}.daily-op-bus-btn{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px dashed #0000;border-radius:6px;margin:-2px -6px;padding:2px 6px;display:block}.daily-op-bus-btn:hover:not(:disabled),.daily-op-bus-btn:focus-visible{border-color:var(--hub-primary,#bf0c21);background:#fff9;outline:none}.daily-op-bus-btn:disabled{cursor:default}.app-shell .daily-op-table tbody tr td.daily-op-bus-cell.is-manual,.app-shell .daily-op-table tbody tr:hover td.daily-op-bus-cell.is-manual,.app-shell .daily-op-table tbody tr.is-present td.daily-op-bus-cell.is-manual,.app-shell .daily-op-table tbody tr.is-absent td.daily-op-bus-cell.is-manual,.app-shell .daily-op-table tbody tr.is-late td.daily-op-bus-cell.is-manual,.app-shell .daily-op-table tbody tr.is-present:hover td.daily-op-bus-cell.is-manual,.app-shell .daily-op-table tbody tr.is-absent:hover td.daily-op-bus-cell.is-manual,.app-shell .daily-op-table tbody tr.is-late:hover td.daily-op-bus-cell.is-manual{background:#bfdbfe}.daily-op-wave-pill--extra{color:#92400e;background:#fef3c7}.daily-op-wave-select{min-width:150px;padding:4px 8px;font-size:13px}.daily-op-wave-stat.is-complete{color:#166534;background:#dcfce7}.daily-op-wave-missing{color:#b91c1c;font-weight:600}.app-shell .daily-op-table .daily-op-tone--fuel-yes{color:#1e40af;background:#dbeafe;border-color:#60a5fa}.app-shell .daily-op-table .daily-op-tone--fuel-no{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.debrief-items{flex-wrap:wrap;gap:8px;display:flex}.debrief-item{color:#92400e;cursor:pointer;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.debrief-item.is-remark{color:#1e40af;background:#dbeafe;border-color:#60a5fa}.debrief-remark{white-space:pre-wrap;max-width:260px;font-size:12px}.debrief-item.is-done{color:#166534;background:#dcfce7;border-color:#4ade80;-webkit-text-decoration:line-through #16653480;text-decoration:line-through #16653480}.debrief-badge{color:#92400e;background:#fef3c7;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.debrief-badge.is-done{color:#166534;background:#dcfce7}.debrief-table tbody tr.is-done td{opacity:.75}.debrief-celebrate{text-align:center;padding:48px 24px;position:relative;overflow:hidden}.debrief-celebrate h2{margin:20px 0 6px;font-size:26px}.debrief-celebrate p{margin:0 0 20px}.debrief-celebrate-check{color:#fff;background:radial-gradient(circle at 30% 30%,#4ade80,#16a34a 70%);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto;animation:.5s cubic-bezier(.2,1.4,.4,1) debrief-pop;display:flex;box-shadow:0 12px 30px #16a34a59}@keyframes debrief-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.debrief-confetti{pointer-events:none;position:absolute;inset:0}.debrief-confetti span{top:-12px;left:calc(4% + (var(--i) * 5.2%));opacity:.85;width:8px;height:16px;transform:rotate(calc(var(--i) * 37deg));animation:2.4s ease-in infinite debrief-fall;animation-delay:calc(var(--i) * -.13s);background:#22c55e;border-radius:2px;position:absolute}.debrief-confetti span:nth-child(3n){background:#facc15}.debrief-confetti span:nth-child(3n+1){background:#bf0c21}.debrief-confetti span:nth-child(4n){width:6px;height:10px}@keyframes debrief-fall{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.9}to{opacity:0;transform:translateY(360px)rotate(540deg)}}.debrief-sort{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.debrief-sort:hover{text-decoration:underline}.daily-op-ra{background:#fffbeb;border:2px solid #f59e0b}.daily-op-ra-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.daily-op-ra-head h3{margin:0;font-size:15px}.daily-op-ra-list{flex-wrap:wrap;gap:8px;display:flex}.daily-op-ra-item{background:#fff;border:1px solid #fcd34d;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.daily-op-ra-item.is-linked{background:#f0fdf4;border-color:#16a34a}.daily-op-ra-badge{color:#92400e;vertical-align:middle;background:#fef3c7;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.daily-op-ra-tag{color:#fff;background:#f59e0b;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.daily-op-firstday{background:#fef2f2;border:2px solid #bf0c21}.daily-op-firstday-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.daily-op-firstday-head h3{color:#991b1b;margin:0;font-size:15px}.daily-op-firstday-tag{color:#fff;background:#bf0c21;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:800;display:inline-flex}.daily-op-firstday-list{flex-wrap:wrap;gap:8px;display:flex}.daily-op-firstday-item{color:#7f1d1d;background:#fff;border:1px solid #fecaca;border-radius:999px;padding:4px 10px;font-size:13px}.manifest-route-list{gap:var(--space-3);flex-direction:column;display:flex}.manifest-route-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:baseline;gap:12px;display:flex}.manifest-route-head h3{margin:0;font-size:15px}.manifest-dept{background:var(--accent-soft,#fce8eb);color:var(--navy,#5b0d11);border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.manifest-hit--high{background:#ffe4e6}.manifest-hit--medium{background:#fef3c7}.manifest-risk{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.manifest-risk--high{color:#fff;background:#be123c}.manifest-risk--medium{color:#451a03;background:#f59e0b}.manifest-heavy{color:#9f1239;font-weight:700}.manifest-warning-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.manifest-warning-list li{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.manifest-warning-list strong{display:block}.manifest-warning-list span{color:#9f1239;font-size:13px}.manifest-route-pill{background:var(--navy,#0f172a);color:#fff;white-space:nowrap;border-radius:999px;margin:2px 4px 2px 0;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}:root{--navy:#5b0d11;--navy-dark:#3f090c;--accent:#bf0c21;--accent-soft:#fce8eb;--success:#16a34a;--success-soft:#dcfce7;--warning:#f97316;--warning-soft:#ffedd5;--error:#dc2626;--error-soft:#fee2e2;--bg:#f6f8fb;--surface:#fff;--surface-muted:#f1f4f9;--border:#e5e7eb;--text:#111827;--text-muted:#6b7280;--text-invert:#fff;--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-pill:999px;--shadow-sm:0 1px 2px #1018280f;--shadow:0 4px 16px #10182814;--shadow-lg:0 12px 36px #10182829;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--sidebar-width:256px;--sidebar-width-compact:76px;--topbar-height:64px;--mobilenav-height:64px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--z-drawer:60;--z-modal:80;--z-toast:100}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f6;margin:0;font-size:15px;line-height:1.5;overflow:hidden}body.app-loaded{background:#eef2f6}html{scrollbar-width:thin;scrollbar-color:#11182738 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#11182733;background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#11182759}::-webkit-scrollbar-corner{background:0 0}h1,h2,h3,h4,h5{color:var(--text);margin:0;font-weight:700;line-height:1.25}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}ul{margin:0;padding:0;list-style:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:10px 16px;font-size:14px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--navy);color:var(--text-invert)}.btn-primary:hover:not(:disabled){background:var(--navy-dark)}.btn-accent{background:var(--accent);color:var(--text-invert)}.btn-accent:hover:not(:disabled){background:var(--navy-dark)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.btn-danger{background:var(--error);color:var(--text-invert)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:7px 12px;font-size:13px}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--space-5)}.field{margin-bottom:var(--space-4);flex-direction:column;gap:6px;display:flex}.field label{color:var(--text);font-size:13px;font-weight:600}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--surface);padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;min-height:88px}.field-error{color:var(--error);font-size:12px}.input.has-error,.select.has-error,.textarea.has-error{border-color:var(--error)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-muted);white-space:nowrap;padding:14px 16px;font-size:12px;font-weight:600}.bus-number-filter{display:inline-flex;position:relative}.bus-number-th .bus-number-filter,.bus-number-th .bus-number-filter-btn{width:100%}.bus-number-filter-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:148px;font:inherit;letter-spacing:0;text-transform:none;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:inline-flex}.table th .bus-number-filter-btn{min-width:0;color:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;background:0 0;border-color:#0000;padding:0}.bus-number-filter-btn.is-active,.table th .bus-number-filter-btn.is-active{color:var(--hub-primary,#bf0c21)}.bus-number-filter-arrow{border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;flex-shrink:0;width:0;height:0}.bus-number-filter-menu{background:var(--surface,#fff);border:1px solid var(--border);text-transform:none;letter-spacing:0;max-height:320px;color:var(--text,#1a1a1a);border-radius:8px;padding:4px;font-size:14px;font-weight:600;overflow:auto;box-shadow:0 8px 24px #0f172a24}.bus-number-filter-option{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;padding:8px 10px;display:block}.bus-number-filter-option:hover,.bus-number-filter-option.is-selected{background:var(--hub-primary-soft,#fce8eb);color:var(--hub-primary-dark,#8b0a18)}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 16px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-muted)}.row{align-items:center;display:flex}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid{gap:var(--space-4);display:grid}.text-muted{color:var(--text-muted)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toolbar{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar-search{flex:1;min-width:200px;max-width:360px;position:relative}.toolbar-search svg{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.toolbar-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:9px 12px 9px 38px;font-size:14px}.toolbar-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.toolbar .select{width:auto;min-width:150px}.toolbar-spacer{flex:1}.result-count{color:var(--text-muted);margin-bottom:var(--space-3);font-size:13px}.field-hint{color:var(--text-muted);margin-top:6px;font-size:12px;display:block}.checkbox-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);flex-direction:column;gap:8px;max-height:200px;padding:12px;display:flex;overflow-y:auto}.checkbox-row{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.checkbox-row input{width:16px;height:16px;accent-color:var(--accent)}.alert{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-4);padding:11px 14px;font-size:13px;font-weight:500;display:flex}.alert.error{background:var(--error-soft);color:#b91c1c}.alert.success{background:var(--success-soft);color:#15803d}.alert.info{background:var(--accent-soft);color:var(--navy)}.alert.warning{background:var(--warning-soft);color:#c2410c}.data-cards{gap:var(--space-3);flex-direction:column;display:flex}.data-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm)}.data-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.data-card-title{font-size:15px;font-weight:700}.data-card-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.data-card-row{justify-content:space-between;gap:var(--space-3);padding:4px 0;font-size:13px;display:flex}.data-card-row .k{color:var(--text-muted)}.data-card-actions{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);display:flex}.tabs{gap:var(--space-2);border-bottom:1px solid var(--border);margin-bottom:var(--space-5);display:flex;overflow-x:auto}.tab{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 14px;font-size:14px;font-weight:600}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.back-link{color:var(--text-muted);margin-bottom:var(--space-3);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--text)}.icon-action{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:34px;height:34px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.icon-action:hover{background:var(--surface-muted);color:var(--text)}.icon-action.danger:hover{color:var(--error);border-color:var(--error)}.color-swatch-wrap{align-items:center;gap:var(--space-2);display:inline-flex}.color-swatch{border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:20px;height:20px;display:inline-block}.color-swatch-lg{border-radius:8px;width:28px;height:28px}.color-swatch-label{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:12px}.color-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;width:48px;height:40px;padding:2px}.btn.btn-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.app-shell{--hub-brand:#bf0c21;--hub-brand-soft:#bf0c211f;--hub-accent:#bf0c21;--hub-primary:#bf0c21;--hub-primary-soft:#bf0c211f;--hub-primary-dark:#8b0a18;--hub-bg:#eef2f6;--hub-surface:#fff;--hub-surface-2:#f8fafc;--hub-surface-muted:#f1f5f9;--hub-border:#e2e8f0;--hub-text:#1e293b;--hub-text-muted:#64748b;--hub-text-dim:#94a3b8;--bg:var(--hub-bg);--surface:var(--hub-surface);--surface-muted:var(--hub-surface-muted);--border:var(--hub-border);--text:var(--hub-text);--text-muted:var(--hub-text-muted);--text-invert:#fff;--navy:#5b0d11;--navy-dark:#3f090c;--accent:var(--hub-primary);--accent-soft:var(--hub-primary-soft);--success-soft:#dcfce7;--warning-soft:#fef3c7;--error-soft:#fee2e2;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 4px 16px #0f172a14;background:var(--hub-bg);color:var(--hub-text)}.app-shell .app-main{background:0 0}.app-shell .stat-card{background:var(--hub-surface);border-color:var(--hub-border);box-shadow:var(--shadow-sm);border-radius:12px}.app-shell .btn-primary{background:var(--hub-primary)}.app-shell .btn-primary:hover:not(:disabled){background:var(--hub-primary-dark)}.app-shell .btn-secondary{background:var(--hub-surface);border-color:var(--hub-border);color:var(--hub-text)}.app-shell .btn-secondary:hover:not(:disabled){background:var(--hub-surface-muted)}.app-shell .btn-ghost{color:var(--hub-text-muted)}.app-shell .btn-ghost:hover:not(:disabled){background:var(--hub-surface-muted);color:var(--hub-text)}.app-shell .input,.app-shell .select,.app-shell .textarea{background:var(--hub-surface);border-color:var(--hub-border);color:var(--hub-text)}.app-shell .input:focus,.app-shell .select:focus,.app-shell .textarea:focus{border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-soft)}.app-shell .table-wrap{background:var(--hub-surface);border-color:var(--hub-border)}.app-shell .table th{color:var(--hub-text-muted);border-bottom-color:var(--hub-border)}.app-shell .table td{border-bottom-color:var(--hub-border)}.app-shell .table tbody tr:hover{background:var(--hub-surface-muted)}.app-shell .page-header{margin-bottom:var(--space-4)}.app-shell .page-title{color:var(--hub-text);font-size:1.65rem;font-weight:800}.app-shell .page-subtitle{color:var(--hub-text-muted);margin-top:4px;font-size:.88rem}.app-shell .badge-success{color:#15803d;background:#dcfce7}.app-shell .badge-warning{color:#b45309;background:#fef3c7}.app-shell .badge-error{color:#b91c1c;background:#fee2e2}.app-shell .badge-info{background:var(--hub-primary-soft);color:var(--hub-primary-dark)}.app-shell .badge-neutral{background:var(--hub-surface-muted);color:var(--hub-text-muted)}.app-shell .alert.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.app-shell .alert.warning{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.app-shell .empty-state .empty-icon{background:var(--hub-surface-muted)}.app-shell .hub-section{background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--radius);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);overflow:hidden}.app-shell .hub-section-head{border-bottom:1px solid var(--hub-border);background:var(--hub-surface-2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.app-shell .hub-section-head h3{letter-spacing:.1em;text-transform:uppercase;color:var(--hub-text-muted);font-size:11px;font-weight:800}.app-shell .hub-section-body{padding:12px 16px 16px}.app-shell .hub-pill{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.app-shell .hub-pill-dot{background:#22c55e;border-radius:50%;width:8px;height:8px}.app-shell .hub-view-toggle{background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:8px;padding:3px;display:inline-flex}.app-shell .hub-view-toggle button{color:var(--hub-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 14px;font-size:12px;font-weight:700}.app-shell .hub-view-toggle button.active{background:var(--hub-primary);color:#fff}.app-shell .hub-avatar{color:#fff;background:linear-gradient(135deg,#e04555,#bf0c21);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:inline-flex}.app-shell .modal-panel{background:var(--hub-surface);border-color:var(--hub-border);color:var(--hub-text)}.app-shell .modal-backdrop{background:#0f172a66}.app-shell .user-dropdown{background:var(--hub-surface);border-color:var(--hub-border);box-shadow:var(--shadow-lg)}.app-shell .user-dropdown-head .u-name,.app-shell .user-dropdown-head .u-email{color:var(--hub-text-muted)}.app-shell .user-dropdown-head .u-name,.app-shell .user-dropdown-item{color:var(--hub-text)}.app-shell .user-dropdown-item:hover{background:var(--hub-surface-muted);color:var(--hub-text)}.app-shell .topbar-user-meta .u-name{color:var(--hub-text)}.app-shell .topbar-user-meta .u-role{color:var(--hub-text-muted)}.app-shell .toolbar-search input{background:var(--hub-surface);border-color:var(--hub-border);color:var(--hub-text)}.app-shell .toolbar-search input::placeholder,.app-shell .toolbar-search svg{color:var(--hub-text-dim)}.app-shell .planning-check-filter{color:var(--hub-text-muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.app-shell .app-shell-bg,.app-shell .app-shell-bg-overlay{display:none}.app-shell .app-sidebar{background:var(--hub-surface);-webkit-backdrop-filter:none;border-right:1px solid var(--hub-border);color:var(--hub-text);box-shadow:1px 0 #0f172a0a}.app-shell .sidebar-brand{border-bottom-color:var(--hub-border)}.app-shell .brand-text .brand-name,.app-shell .brand-text .brand-kins,.app-shell .brand-text .brand-hub{color:var(--hub-brand)}.app-shell .brand-text .brand-sub{color:var(--hub-text-muted)}.app-shell .nav-section-label{color:var(--hub-text-dim)}.app-shell .nav-item{color:var(--hub-text-muted)}.app-shell .nav-item:hover{background:var(--hub-surface-muted);color:var(--hub-text)}.app-shell .nav-item.active{background:var(--hub-primary-soft);color:var(--hub-primary-dark);font-weight:600}.app-shell .nav-item.active svg{color:var(--hub-primary)}.app-shell .sidebar-footer{border-top-color:var(--hub-border)}.app-shell .sidebar-version,.app-shell .sidebar-collapse-btn{color:var(--hub-text-muted)}.app-shell .sidebar-collapse-btn:hover{background:var(--hub-surface-muted);color:var(--hub-text)}.app-shell .app-topbar{background:var(--hub-surface);-webkit-backdrop-filter:none;border-bottom:1px solid var(--hub-border);box-shadow:0 1px #0f172a0a}.app-shell .topbar-menu-btn,.app-shell .topbar-icon-btn{border:1px solid var(--hub-border);background:var(--hub-surface);color:var(--hub-text-muted)}.app-shell .topbar-icon-btn:hover,.app-shell .topbar-menu-btn:hover{background:var(--hub-surface-muted);color:var(--hub-text)}.app-shell .topbar-date-range{background:var(--hub-surface);border:1px solid var(--hub-border)}.app-shell .topbar-date-btn{color:var(--hub-text-muted)}.app-shell .topbar-date-btn:hover{background:var(--hub-surface-muted);color:var(--hub-text)}.app-shell .topbar-date-label{color:var(--hub-text)}.app-shell .topbar-dept-label{color:var(--hub-text-muted)}.app-shell .topbar-dept-select{background:var(--hub-surface);border-color:var(--hub-border);color:var(--hub-text)}.app-shell .user-dropdown{background:var(--hub-surface);border:1px solid var(--hub-border);box-shadow:var(--shadow-lg)}.app-shell .user-dropdown-head{border-bottom-color:var(--hub-border)}.app-shell .user-dropdown-head .u-name{color:var(--hub-text)}.app-shell .user-dropdown-head .u-email,.app-shell .user-dropdown-head .u-role{color:var(--hub-text-muted)}.app-shell .user-dropdown-item{color:var(--hub-text)}.app-shell .user-dropdown-item:hover{background:var(--hub-surface-muted)}.app-shell .user-dropdown-item--logout{color:#b91c1c}.app-shell .user-dropdown-item--logout:hover{color:#991b1b;background:#fef2f2}.app-shell .app-mobilenav{background:var(--hub-surface);border-top:1px solid var(--hub-border);box-shadow:0 -2px 12px #0f172a0f}.app-shell .mobilenav-item.active{color:var(--hub-primary)}.app-shell .dashboard-greeting-title{color:var(--hub-text)}.app-shell .dashboard-greeting-sub{color:var(--hub-text-muted)}.app-shell .dashboard-hub:before{opacity:.12;filter:blur(2px)saturate(.9)brightness(1.05)}.app-shell .dashboard-hub:after{background:linear-gradient(#eef2f666 0%,#eef2f6d9 100%)}.app-shell .dashboard-widget{background:var(--hub-surface);border:1px solid var(--hub-border);-webkit-backdrop-filter:none;box-shadow:var(--shadow-sm)}.app-shell .dashboard-widget-title,.app-shell .dashboard-widget h3,.app-shell .dashboard-stat-value{color:var(--hub-text)}.app-shell .dashboard-stat-label,.app-shell .dashboard-widget-sub{color:var(--hub-text-muted)}.app-shell .dashboard-row-two .dashboard-panel,.app-shell .dashboard-row-three .dashboard-panel,.app-shell .dashboard-row-two-card,.app-shell .dashboard-row-three-card{background:var(--hub-surface);border-color:var(--hub-border);box-shadow:var(--shadow-sm)}.app-shell .dashboard-row-two h4,.app-shell .dashboard-row-three h4,.app-shell .dashboard-row-two .dashboard-metric-value,.app-shell .dashboard-row-three .dashboard-metric-value{color:var(--hub-text)}.app-shell .card,.app-shell .card-pad{background:var(--hub-surface);border-color:var(--hub-border)}.app-shell .text-muted{color:var(--hub-text-muted)!important}.app-shell .staffing-edit-pop strong{color:var(--hub-text)}.app-shell input[type=date],.app-shell input[type=month],.app-shell input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.app-shell .bus-calendar-grid .col-bus{background:var(--hub-surface-2)}.app-shell .bus-calendar-grid tbody .col-bus,.app-shell .bus-calendar-cell{background:var(--hub-surface);color:var(--hub-text)}.app-shell .bus-calendar-cell:hover{background:var(--hub-surface-muted)}.app-shell .bus-calendar-cell.is-today{background:var(--hub-primary-soft);box-shadow:inset 0 0 0 1px #bf0c2159}.app-shell .bus-calendar-driver{color:var(--hub-text)}.app-shell .bus-calendar-time,.app-shell .bus-calendar-plate{color:var(--hub-text-muted)}.app-shell .bus-calendar-mobile-day{background:var(--hub-surface);border-color:var(--hub-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-shell .bus-calendar-mobile-day-head{background:var(--hub-surface-2);border-bottom-color:var(--hub-border);color:var(--hub-text)}.app-shell .bus-calendar-mobile-day-head.is-today{background:var(--hub-primary-soft);color:var(--hub-primary-dark)}.app-shell .bus-calendar-mobile-day-body:hover{background:var(--hub-surface-muted)}.app-shell .bus-photo-calendar-toolbar{background:var(--hub-surface);border:1px solid #ffffff14;border-radius:12px;padding:12px 14px}.app-shell .bus-photo-calendar-legend{color:var(--hub-text-muted)}.app-shell .bus-photo-calendar-weekday{color:var(--hub-text-dim)}.app-shell .bus-photo-calendar-cell{background:var(--hub-surface-2);border-color:var(--hub-border);color:var(--hub-text)}.app-shell .bus-photo-calendar-cell.future{color:var(--hub-text-dim);background:#ffffff08}.app-shell .bus-photo-calendar-cell.photos{color:#86efac;background:#22c55e2e;border-color:#22c55e73}.app-shell .bus-photo-calendar-cell.partial{color:#b45309;background:#f59e0b33;border-color:#f59e0b80}.app-shell .bus-photo-calendar-cell.missing{color:#fca5a5;background:#d81f2b29;border-color:#d81f2b6b}.app-shell .bus-photo-calendar-cell.damage{color:#fdba74;background:#f9731629;border-color:#f973166b}.app-shell .bus-photo-calendar-cell.ai_suggestion{color:#c4b5fd;background:#8b5cf629;border-color:#8b5cf66b}.app-shell .bus-photo-calendar-cell.is-today{outline-color:var(--hub-red)}.app-shell .bus-photo-calendar-mobile-item{background:var(--hub-surface-2);border-color:var(--hub-border);color:var(--hub-text)}.app-shell .bus-photo-calendar-mobile-item:hover{background:var(--hub-surface-muted)}.app-shell .bus-photo-calendar-status-pill.photos{color:#86efac;background:#22c55e33}.app-shell .bus-photo-calendar-status-pill.missing{color:#fca5a5;background:#d81f2b33}.app-shell .bus-photo-calendar-status-pill.damage{color:#fdba74;background:#f9731633}.app-shell .damage-month-calendar{background:var(--hub-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff14}.app-shell .damage-month-head h3{color:var(--hub-text)}.app-shell .damage-month-weekday{color:var(--hub-text-dim)}.app-shell .damage-month-cell{color:var(--hub-text-muted);background:#ffffff08;border-color:#ffffff14}.app-shell .damage-month-cell.has-data{background:var(--hub-surface-2);color:var(--hub-text)}.app-shell .damage-month-cell.has-data:hover{background:var(--hub-surface-muted);border-color:#d81f2b8c}.app-shell .damage-month-cell.has-open{border-color:#d81f2b8c;box-shadow:inset 0 0 0 1px #d81f2b40}.app-shell .damage-month-cell.is-today{outline-offset:1px;outline:2px solid #d81f2ba6}.app-shell .damage-month-count{color:#fecaca;background:#d81f2b33}.app-shell .damage-month-nav-btn{background:var(--hub-surface-2);width:34px;height:34px;color:var(--hub-text);cursor:pointer;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.app-shell .damage-month-nav-btn:hover{background:var(--hub-surface-muted)}.app-shell .damage-day-summary{background:var(--hub-surface);color:var(--hub-text);border-color:#d81f2b73}.app-shell .todo-calendar-day{background:var(--hub-surface);border-color:var(--hub-border)}.app-shell .todo-calendar-day.is-today{border-color:#d81f2b73;box-shadow:inset 0 0 0 1px #d81f2b33}.app-shell .todo-calendar-day h4{color:var(--hub-text)}.app-shell .todo-calendar-item.overdue:not(.done){color:#fca5a5}.app-shell .todo-calendar-list{color:var(--hub-text)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr);grid-template-areas:"sidebar topbar""sidebar main";width:100%;max-width:100vw;height:100dvh;display:grid;overflow:hidden}.app-sidebar{grid-area:sidebar;min-height:0}.app-topbar{flex-shrink:0;grid-area:topbar;min-width:0}.app-main{padding:var(--space-5);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;grid-area:main;min-width:0;min-height:0;overflow:hidden auto}.app-mobilenav,.drawer-backdrop{display:none}body.sidebar-drawer-open{touch-action:none;overflow:hidden}.app-shell.is-drawer-open .app-main{overflow:hidden}@media (width>=992px){.app-shell.is-sidebar-collapsed{grid-template-columns:var(--sidebar-width-compact) minmax(0, 1fr)}.app-shell.is-sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}.app-shell.is-sidebar-hidden .app-sidebar{opacity:0;pointer-events:none;border-right:none;width:0;min-width:0;overflow:hidden}.app-shell.is-sidebar-collapsed .app-sidebar.is-collapsed .nav-label,.app-shell.is-sidebar-collapsed .app-sidebar.is-collapsed .brand-text,.app-shell.is-sidebar-collapsed .app-sidebar.is-collapsed .nav-section-label,.app-shell.is-sidebar-collapsed .app-sidebar.is-collapsed .sidebar-footer-text{display:none}.app-shell.is-sidebar-collapsed .app-sidebar.is-collapsed .nav-item,.app-shell.is-sidebar-collapsed .app-sidebar.is-collapsed .sidebar-brand,.app-shell.is-sidebar-collapsed .app-sidebar.is-collapsed .sidebar-collapse-btn{justify-content:center}}.topbar-menu-btn{flex-shrink:0;display:inline-flex}@media (width<=1200px){.app-main{padding:var(--space-4)}.page-title{font-size:clamp(1.25rem,2.2vw,1.65rem)}.stat-grid,.stat-grid-5,.stat-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=992px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr);grid-template-areas:"topbar""main"}.app-sidebar{width:min(var(--sidebar-width), 86vw);max-width:320px;box-shadow:none;transition:transform .25s;top:0;bottom:0;left:0;transform:translate(-105%);z-index:var(--z-drawer)!important;position:fixed!important}.app-sidebar.is-open{box-shadow:var(--shadow-lg);transform:translate(0)}.app-sidebar.is-compact .nav-label,.app-sidebar.is-compact .brand-text,.app-sidebar.is-compact .sidebar-footer-text,.app-sidebar.is-collapsed .nav-label,.app-sidebar.is-collapsed .brand-text,.app-sidebar.is-collapsed .nav-section-label{display:inline}.app-sidebar.is-compact .nav-item,.app-sidebar.is-collapsed .nav-item,.app-sidebar.is-compact .sidebar-brand,.app-sidebar.is-collapsed .sidebar-brand{justify-content:flex-start}.app-sidebar .sidebar-collapse-btn,.app-sidebar .desktop-only-inline{display:none!important}.drawer-backdrop{z-index:calc(var(--z-drawer) - 1);background:#0b2e4473;animation:.2s fadeIn;display:block;position:fixed;inset:0}.app-main{padding:var(--space-4)}.stat-grid,.stat-grid-5,.stat-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:stretch}.toolbar-search{flex:100%;min-width:0;max-width:none}.toolbar .select,.toolbar .input,.toolbar .btn{max-width:100%}.page-header{gap:var(--space-3);flex-wrap:wrap}.page-header .page-actions,.page-header>.row{flex-wrap:wrap;width:100%}.form-grid,.form-row,.fields-grid{grid-template-columns:1fr!important}.modal-foot,.drawer-foot{flex-wrap:wrap}.modal-foot .btn,.drawer-foot .btn{flex:auto;min-width:120px}}@media (width<=768px){.app-main{padding:var(--space-3);padding-bottom:calc(var(--mobilenav-height) + var(--space-4))}.app-mobilenav{display:flex}.stat-grid,.stat-grid-5,.stat-grid-6{grid-template-columns:1fr}.desktop-only{display:none!important}.mobile-only{display:block}.data-cards.mobile-only{display:flex}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.table{min-width:560px}.page-title{font-size:clamp(1.15rem,5vw,1.4rem);line-height:1.25}.page-subtitle{font-size:.875rem}.card-pad{padding:var(--space-4)}.toolbar .select{width:100%;min-width:0}.row{flex-wrap:wrap}.row.between{gap:var(--space-2)}.tabs{gap:var(--space-1);margin-bottom:var(--space-4)}.tab{padding:10px 12px;font-size:13px}img,svg.responsive-img,.responsive-media{max-width:100%;height:auto}.input,.select,.textarea,.form-field input,.form-field select,.form-field textarea{width:100%;max-width:100%}.modal-head,.modal-body,.drawer-head,.drawer-body{padding:var(--space-4)}.modal-foot,.drawer-foot{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.modal-foot .btn,.drawer-foot .btn,.data-card-actions .btn{justify-content:center;width:100%}.data-card-actions{flex-direction:column}}@media (width<=576px){.app-main{padding:var(--space-3) var(--space-2);padding-bottom:calc(var(--mobilenav-height) + var(--space-3))}.app-sidebar{width:min(100vw - 48px,300px)}.card-pad{padding:var(--space-3)}.page-header{margin-bottom:var(--space-3)}.stat-card,.data-card{padding:var(--space-3)}.table{min-width:480px;font-size:13px}.table th,.table td{padding:10px 12px}.empty-state{padding:var(--space-5) var(--space-3)}.btn{min-height:40px}.btn-sm{min-height:34px}}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-grid-6{gap:var(--space-4);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.stat-grid-5{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.mobile-only{display:none}.app-main>*,.app-main .card,.app-main .table-wrap,.app-main .toolbar,.file-upload-zone,.upload-zone,.ik-upload,.imagekit-upload{max-width:100%}.file-upload-zone img,.upload-zone img,.photo-gallery img,.photo-preview img{max-width:100%;height:auto}
