@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary: #1a7a5c;--primary-light: #2dd4a0;--primary-dark: #0f5c43;--primary-container: #a8f2ce;--on-primary-container: #00201b;--accent: #0e7490;--success: #4d9a6f;--warning: #e8a830;--danger: #ba1a1a;--bg-dark: #fafdfb;--bg-card: #ffffff;--bg-card-hover: #f0f4f1;--bg-surface: #f5f8f5;--surface-container: #eef2ee;--surface-container-high: #e8ece8;--text-primary: #191c1a;--text-secondary: #414942;--text-muted: #717971;--border: #c1c9c0;--border-light: #e1e4e0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);--shadow-md: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px 2px rgba(0, 0, 0, .15);--shadow-lg: 0 4px 8px 3px rgba(0, 0, 0, .15), 0 1px 3px rgba(0, 0, 0, .3);--shadow-glow: none;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 28px;--transition-color: background-color .2s ease, color .2s ease, border-color .2s ease;--transition-transform: transform .2s cubic-bezier(.2, 0, 0, 1);--transition-opacity: opacity .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-dark);color:var(--text-primary);line-height:1.6;overflow:hidden;height:100vh;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,.panel-title,.tech-title,.room-name{font-family:Roboto,-apple-system,sans-serif;font-weight:500;letter-spacing:0}#root{height:100vh}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input:focus,button:focus,textarea:focus{outline:none}.ui-inline-icon{flex-shrink:0;vertical-align:-.18em}.ui-inline-icon-xs{font-size:14px!important}.ui-inline-icon-sm{font-size:18px!important}.ui-inline-icon-lg{font-size:24px!important}.ui-close-icon{font-size:18px!important}.ui-empty-icon{font-size:40px!important;color:var(--text-muted);opacity:.58}.ui-status-icon-success{color:var(--success)}.ui-status-icon-warning{color:var(--warning)}.ui-status-icon-danger{color:var(--danger)}.app-layout{--side-dock-width: 390px;--resizer-width: 10px;display:grid;grid-template-columns:var(--side-dock-width) var(--resizer-width) minmax(760px,1fr);grid-template-rows:70px 1fr;height:100vh;gap:0}.app-header{grid-column:1 / -1;background:var(--bg-card);box-shadow:var(--shadow-sm);border-bottom:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100}.tech-battery-pill{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;border-radius:999px;background:#1a7a5c1f;color:var(--primary-dark);font-size:11px;font-weight:700;line-height:1.4;vertical-align:middle}.tech-battery-pill.is-low{background:#ba1a1a1f;color:var(--danger)}.tech-battery-pill.is-charging{background:#0e74901f;color:var(--accent)}.app-header h1{font-size:22px;color:var(--primary);display:flex;align-items:center;gap:10px;font-weight:500}.dispatch-header-icon{font-size:24px!important}.app-header .header-actions{display:flex;align-items:center;gap:16px}.dispatch-action-icon{font-size:18px!important}.header-date{font-size:14px;color:var(--text-primary);min-height:40px;padding:8px 16px;background:var(--surface-container);border-radius:var(--radius-sm);border:1px solid var(--border-light);font-family:Roboto,sans-serif;color-scheme:light;line-height:1.2;box-sizing:border-box;appearance:none;-webkit-appearance:none;transition:var(--transition-color)}.header-date:focus-visible{border-color:var(--primary)}.header-date::-webkit-date-and-time-value{min-height:1.2em;text-align:left}.header-date::-webkit-calendar-picker-indicator{cursor:pointer}.btn{padding:10px 24px;border-radius:20px;border:none;cursor:pointer;font-size:14px;font-weight:500;font-family:Roboto,sans-serif;letter-spacing:.02em;transition:var(--transition-color),box-shadow .2s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn:hover{box-shadow:var(--shadow-sm)}.btn-primary{background:var(--primary);color:#000}.btn-primary:hover{background:var(--primary-light)}.btn-success{background:var(--success);color:#000}.btn-warning{background:var(--warning);color:#000}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border-light)}.btn-ghost:hover{background:var(--bg-hover);border-color:var(--primary)}.sidebar-left,.sidebar-right{background:var(--bg-surface);overflow-y:auto;display:flex;flex-direction:column;min-width:0;min-height:0}.side-dock{--inner-resizer-width: 8px;grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(180px,var(--tech-panel-width, 272px)) var(--inner-resizer-width) minmax(90px,1fr);min-width:0;min-height:0;border-right:1px solid var(--border);background:var(--bg-surface)}.side-dock>.sidebar-left{grid-column:1;grid-row:1;border-right:none}.side-dock>.inner-panel-resizer{grid-column:2;grid-row:1}.side-dock>.sidebar-right{grid-column:3;grid-row:1;border-left:none}.inner-panel-resizer{position:relative;cursor:col-resize;background:linear-gradient(to right,transparent 35%,var(--border) 35%,var(--border) 65%,transparent 65%);transition:background-color .2s ease}.inner-panel-resizer:after{content:"";position:absolute;left:50%;top:50%;width:2px;height:44px;transform:translate(-50%,-50%);border-radius:999px;background:#10b98173}.inner-panel-resizer:hover{background-color:#10b98124}.side-dock>.sidebar-right .room-grid{padding:0 6px 6px;gap:8px}.side-dock>.sidebar-right .room-summary-strip{gap:6px;padding:0 6px 8px}.side-dock>.sidebar-right .room-summary-pill{padding:8px 8px 7px;border-radius:12px}.side-dock>.sidebar-right .room-summary-pill span{font-size:10px}.side-dock>.sidebar-right .room-summary-pill strong{font-size:17px}.side-dock>.sidebar-right .room-card{padding:10px 10px 9px;gap:8px}.side-dock>.sidebar-right .room-card .room-name{font-size:16px}.side-dock>.sidebar-right .room-meta{font-size:10px}.side-dock>.sidebar-right .room-status-pill{min-height:26px;padding:5px 10px;font-size:11px}.side-dock>.sidebar-right .room-runtime-info{padding:8px 10px;gap:6px}.side-dock>.sidebar-right .room-runtime-line{grid-template-columns:28px 1fr;gap:4px}.side-dock>.sidebar-right .room-runtime-label{font-size:10px}.side-dock>.sidebar-right .room-runtime-value{font-size:11px}.side-dock>.sidebar-right .room-reset-btn{min-height:30px;padding:0 10px;font-size:10px}.side-dock>.sidebar-right .room-clean-btn{min-height:32px;padding:0 8px;font-size:10px}.side-dock>.sidebar-right .room-note{padding:8px 10px;font-size:11px}.sidebar-right .panel-title{font-size:14px;padding:14px 16px;gap:8px}.sidebar-right .panel-title .count-badge{font-size:11px;padding:1px 6px}.panel-resizer{grid-row:2;position:relative;cursor:col-resize;background:linear-gradient(to right,transparent 40%,var(--border) 40%,var(--border) 60%,transparent 60%);transition:background-color .2s ease}.panel-resizer:after{content:"";position:absolute;top:50%;left:50%;width:2px;height:52px;transform:translate(-50%,-50%);border-radius:999px;background:#0ea5e973}.panel-resizer:hover{background-color:#0ea5e91f}.panel-resizer-side{grid-column:2}.panel-title{font-size:16px;color:var(--text-primary);padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.side-dock .panel-title{font-size:15px;padding:14px 12px;gap:8px}.side-dock .panel-title .count-badge{font-size:10px;padding:1px 6px}.panel-title .count-badge{background:var(--primary);color:#000;font-size:12px;padding:2px 8px;border-radius:2px;font-family:Roboto,sans-serif;font-weight:600}.tech-queue-list{padding:8px;flex:1}.tech-queue-columns{display:grid;grid-template-columns:22px minmax(0,1fr) 34px 34px;align-items:center;gap:8px;padding:2px 8px 6px;color:var(--text-muted);font-size:11px;font-weight:700;border-bottom:1px dashed var(--border);margin-bottom:6px}.tech-queue-columns .col-name{grid-column:2}.tech-queue-columns .col-round,.tech-queue-columns .col-point{text-align:center}.tech-queue-footer{padding:8px 8px 10px;border-top:1px solid var(--border);display:grid;gap:8px}.dispatch-plan-panel{padding:0 8px 10px;display:grid;gap:8px}.dispatch-plan-panel-head{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 0;color:var(--text-primary);font-size:12px;font-weight:700}.dispatch-plan-empty{border:1px dashed var(--border);border-radius:14px;padding:12px;color:var(--text-muted);font-size:12px;background:#f8fafce6}.dispatch-plan-list{display:grid;gap:6px}.dispatch-plan-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border-radius:14px;border:1px solid #dbe3ee;background:#f8fafc}.dispatch-plan-soft_assigned{border-color:#8fd4a6;background:linear-gradient(135deg,#e2f5eafa,#f8fafcf5)}.dispatch-plan-unplanned{border-color:#f2c97e;background:linear-gradient(135deg,#fff7dcfa,#f8fafcf5)}.dispatch-plan-time{font-family:Roboto,sans-serif;font-size:14px;font-weight:700;color:#14532d;line-height:1.2}.dispatch-plan-main{min-width:0;display:grid;gap:4px}.dispatch-plan-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-primary)}.dispatch-plan-title span,.dispatch-plan-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-plan-title strong{font-size:13px;color:#0f172a}.dispatch-plan-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-muted)}.dispatch-plan-actions{display:flex;justify-content:flex-end}.dispatch-plan-lock{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid #cbd5e1;background:#ffffffe6;color:var(--text-primary);font-size:11px;font-weight:700}.dispatch-plan-lock.is-active{border-color:#2563eb;color:#1d4ed8;background:#dbeafef2}.dispatch-plan-lock:disabled{opacity:.55;cursor:not-allowed}.tech-performance-btn{width:100%;justify-content:center}.tech-queue-item{display:grid;grid-template-columns:22px minmax(0,1fr) 34px 34px;align-items:center;gap:8px;padding:9px 8px;border-radius:var(--radius-sm);margin-bottom:6px;background:#f8fafc;box-shadow:0 1px 3px #0000001a;border:1px solid #dbe3ee;transition:var(--transition-transform),var(--transition-color);cursor:context-menu}.tech-queue-item:hover{transform:translate(4px);border-color:#7dd3fc}.tech-queue-item .rank{font-family:Roboto,sans-serif;font-size:16px;font-style:italic;color:var(--primary);width:18px}.tech-queue-item .tech-name{font-size:14px;font-weight:500;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-info{min-width:0}.tech-count{text-align:center;font-size:14px;font-weight:700;color:#0f172a;line-height:1}.tech-count-rotation{color:#14532d}.tech-count-designated{color:#0c4a6e}.tech-queue-item.tech-status-0{background:#e2f5ea;border-color:#8fd4a6}.tech-queue-item.tech-status-1{background:#e0eff8;border-color:#8fc5e5}.tech-queue-item.tech-status-2{background:#fdf3d7;border-color:#e8c96e}.tech-queue-item.tech-status-3{background:#fce8e8;border-color:#e8a5a5}.tech-status-legend{display:flex;flex-wrap:wrap;gap:4px 6px}.tech-status-legend-item{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid rgba(148,163,184,.35);padding:2px 7px;font-size:10px;font-weight:700;color:#1f2937;background:#f8fafc}.tech-status-legend-item .legend-swatch{width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.85}.tech-status-legend-item.tech-status-0{background:#e2f5ea;color:#155e3a;border-color:#8fd4a6}.tech-status-legend-item.tech-status-1{background:#e0eff8;color:#1a5276;border-color:#8fc5e5}.tech-status-legend-item.tech-status-2{background:#fdf3d7;color:#7a5a1a;border-color:#e8c96e}.tech-status-legend-item.tech-status-3{background:#fce8e8;color:#a33a3a;border-color:#e8a5a5}.performance-modal{width:min(980px,94vw);max-width:980px}.performance-filter-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:10px;align-items:end}.performance-filter-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.performance-summary{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px 12px}.performance-summary span{padding:4px 8px;border-radius:999px;background:var(--bg-dark);border:1px solid var(--border);font-size:12px}.performance-table-wrap{margin-top:12px;max-height:58vh;overflow:auto;border:1px solid var(--border);border-radius:8px}.performance-table{width:100%;border-collapse:collapse;font-size:13px}.performance-table th,.performance-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.performance-table th{position:sticky;top:0;z-index:1;background:var(--bg-card)}.performance-empty{text-align:center!important;color:var(--text-muted);padding:24px 10px!important}.room-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 10px 10px}.room-summary-pill{display:grid;gap:4px;min-width:0;padding:10px 10px 9px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#ffffffb8;box-shadow:inset 0 1px #ffffffb8}.room-summary-pill span{font-size:11px;font-weight:700;line-height:1;color:#55636f}.room-summary-pill strong{font-size:20px;line-height:1;letter-spacing:-.04em;color:#17222d}.room-summary-pill.status-0{background:linear-gradient(180deg,#e2f5eaeb,#f5fcf8f5)}.room-summary-pill.status-1{background:linear-gradient(180deg,#e0eff8eb,#f6fafef5)}.room-summary-pill.status-2{background:linear-gradient(180deg,#fdf3d7f0,#fffbedf7)}.room-summary-pill.status-3{background:linear-gradient(180deg,#fce8e8f0,#fff5f5f7)}.room-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:0 10px 10px}.room-card{position:relative;display:grid;gap:10px;padding:14px 14px 12px;border-radius:18px;background:#ffffffeb;box-shadow:0 14px 28px #0f172a14;border:1px solid rgba(15,23,42,.06);transition:var(--transition-transform),var(--transition-color);text-align:left}.room-card.clickable:hover{transform:translateY(-2px);filter:brightness(1.03)}.room-card.status-0{background:linear-gradient(180deg,#e2f5eaeb,#f8fdfafa);color:#155e3a;border-color:#155e3a14}.room-card.status-1{background:linear-gradient(180deg,#e0eff8f0,#f7fbfffa);color:#1a5276;border-color:#1a527614}.room-card.status-2{background:linear-gradient(180deg,#fdf3d7f2,#fffcf3fa);color:#7a5a1a;border-color:#7a5a1a14}.room-card.status-3{background:linear-gradient(180deg,#fce8e8f2,#fff6f6fa);color:#a33a3a;border-color:#a33a3a14}.room-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.room-card-identity{min-width:0;display:grid;gap:5px}.room-card .room-name{font-size:19px;font-weight:700;line-height:1;letter-spacing:-.03em}.room-meta{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.room-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;border-radius:999px;background:#ffffffa8;border:1px solid currentColor;font-size:12px;font-weight:700;line-height:1}.room-reset-btn{min-height:34px;padding:0 12px;border-radius:12px;font-size:11px;font-weight:700;line-height:1}.room-runtime-info{padding:10px 12px;border-radius:14px;border:1px dashed rgba(23,54,42,.2);background:#ffffff8f;display:grid;gap:8px;text-align:left}.room-runtime-line{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.room-runtime-label{font-size:11px;font-weight:700;opacity:.85}.room-runtime-value{min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-note{padding:10px 12px;border-radius:14px;background:#ffffff94;color:#17222db3;font-size:12px;font-weight:600;line-height:1.45}.room-card-actions{display:flex;align-items:center;gap:8px}.room-clean-btn{flex:1;min-height:36px;justify-content:center;padding:0 10px;font-size:12px;font-weight:700;text-transform:none;letter-spacing:.02em}.main-content{background:var(--bg-dark);position:relative;grid-column:3;grid-row:2;border-right:none;overflow:auto;min-width:0}.dispatch-layout{--header-height: 70px;--drawer-gap: 14px;--drawer-rail-width: 54px;grid-template-columns:1fr;grid-template-rows:var(--header-height) 1fr;position:relative;overflow:hidden;isolation:isolate}.dispatch-layout .app-header{position:relative;z-index:20}.dispatch-revenue-modal-metrics div{display:flex;align-items:center;justify-content:space-between;gap:12px}.dispatch-revenue-modal-metrics strong{color:#17362a;font-weight:700}.dispatch-revenue-modal-subtitle{margin-bottom:16px;color:var(--text-muted);font-size:13px}.dispatch-revenue-modal-metrics{display:grid;gap:10px;padding:12px 14px;border-radius:16px;background:#0f61480d}.dispatch-drawer-toggle{position:absolute;top:calc(var(--header-height) + ((100% - var(--header-height)) / 2));width:30px;min-height:72px;border:1px solid rgba(226,232,240,.92);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f0fdfaeb);color:var(--text-primary);box-shadow:0 12px 28px #0f172a1a;cursor:pointer;z-index:16;transform:translateY(-50%);transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease,left .28s ease,right .28s ease}.dispatch-drawer-toggle:hover{transform:translateY(calc(-50% - 2px));box-shadow:0 22px 44px #0f172a29}.dispatch-drawer-toggle-left{left:10px}.dispatch-drawer-toggle-right{right:10px}.dispatch-drawer-toggle.is-open{background:linear-gradient(180deg,#fffffffa,#dcfce7f5);border-color:#22c55e47;box-shadow:0 16px 36px #0f172a29}.dispatch-drawer-toggle-left.is-open{left:calc(var(--drawer-gap) + var(--left-sidebar-width) - 16px)}.dispatch-drawer-toggle-right.is-open{right:calc(var(--drawer-gap) + var(--right-sidebar-width) - 16px)}.dispatch-drawer-toggle-label{display:inline-flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;font-size:11px;font-weight:700;text-transform:uppercase}.dispatch-drawer-toggle-badge{position:absolute;top:4px;right:3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 4px 10px #ef444447}.install-prompt{position:fixed;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:min(92vw,460px);padding:8px 10px 8px 12px;border:1px solid rgba(226,232,240,.92);border-radius:16px;background:#fffffff5;box-shadow:0 14px 36px #0f172a1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:120}.install-prompt-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.install-prompt-copy strong{font-size:12px;line-height:1.2;color:var(--text-primary)}.install-prompt-copy span{font-size:11px;line-height:1.35;color:var(--text-secondary)}.install-prompt-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.install-prompt-confirm,.install-prompt-dismiss{border-radius:999px;font-size:11px;font-weight:600;padding:6px 10px;border:1px solid rgba(148,163,184,.24);background:#fff;color:var(--text-secondary);cursor:pointer;transition:var(--transition-color),var(--transition-transform)}.install-prompt-confirm{background:linear-gradient(180deg,#ecfdf5,#d1fae5);border-color:#10b98152;color:#065f46}.install-prompt-confirm:hover,.install-prompt-dismiss:hover{transform:translateY(-1px)}.dispatch-drawer .panel-resizer{position:absolute;top:24px;bottom:24px;width:12px;background:transparent;z-index:3}.dispatch-drawer .panel-resizer:after{height:72px;background:#0ea5e957}.dispatch-drawer .panel-resizer-left{right:-10px}.dispatch-drawer .panel-resizer-right{left:-10px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{background:var(--bg-card);box-shadow:0 1px 3px #0000001a;border:1px solid var(--border-light);border-radius:var(--radius-sm);width:700px;max-height:85vh;box-shadow:var(--shadow-lg)}.modal-header{padding:24px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:24px;color:var(--primary);display:flex;align-items:center;gap:8px}.form-label{color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:block}.form-input,.form-select{background:var(--bg-dark);border:1px solid var(--border-light);color:var(--text-primary);padding:12px;font-family:Outfit;border-radius:var(--radius-sm);width:100%}.form-input:focus,.form-select:focus{border-color:var(--primary)}input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-indicator{font-size:13px;color:var(--text-secondary);display:flex;gap:8px;align-items:center}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.connection-dot.disconnected{background:var(--danger)}.connection-dot.reconnecting{background:var(--warning)}.dispatch-auto-switch{display:inline-flex;align-items:center;gap:12px;padding:8px 14px;border-radius:999px;border:1px solid rgba(26,122,92,.16);background:#a8f2ce33}.dispatch-auto-switch-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.dispatch-auto-switch-copy strong{font-size:12px;line-height:1.1;color:var(--primary-dark)}.dispatch-auto-switch-copy span{font-size:11px;line-height:1.2;color:var(--text-muted);white-space:nowrap}html{touch-action:manipulation}.calendar-event{box-shadow:0 2px 10px #0f172a29;border:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-container{height:100%;display:flex;flex-direction:column}.calendar-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-surface);column-gap:12px;row-gap:4px}.calendar-header-left{min-width:0;display:flex;flex-direction:column;gap:4px}.calendar-header-topline{display:flex;align-items:center;gap:8px;min-width:0}.calendar-header-date{font-weight:600;font-size:15px;flex:0 0 auto}.calendar-header-hint{font-size:12px;color:var(--text-muted);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}.calendar-header-tools{grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px 10px}.calendar-create-btn{align-self:center;min-height:34px}.calendar-supplement-btn{border-color:#0d9488;color:#0f766e;background:#ecfeff}.calendar-supplement-btn:hover{border-color:#0f766e;background:#ccfbf1}.calendar-slider-stack{display:inline-flex;flex-direction:column;gap:4px}.calendar-slider-control{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);min-height:28px}.calendar-slider-control input[type=range]{width:104px;accent-color:var(--primary);cursor:pointer}.calendar-slider-control strong{min-width:42px;text-align:right;font-size:10px;color:var(--text-primary)}.calendar-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;max-width:none}.calendar-legend-group{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;padding:2px 6px;border:1px solid var(--border);border-radius:999px;background:#f8fafc}.calendar-legend-title{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.01em}.calendar-legend-items{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.calendar-legend-item{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-secondary);line-height:1}.calendar-legend-swatch{width:10px;height:10px;border-radius:3px;border:1px solid rgba(15,23,42,.12);box-shadow:none;flex:0 0 10px}.calendar-column-header{position:sticky;top:0;z-index:30;padding:4px 8px;border-bottom:1px solid var(--border);text-align:center;font-weight:700;line-height:1.25}.calendar-column-header--unassigned,.calendar-column-header--technician{background:var(--bg-surface);font-size:16px;color:var(--primary-light)}@media(max-width:1320px){.calendar-header{grid-template-columns:1fr}.calendar-header-tools{grid-column:1;grid-row:auto;justify-content:flex-start}}.calendar-legend-swatch.visual-state-booked{background:#dbeafe}.calendar-legend-swatch.visual-state-arrived{background:#fde7b1}.calendar-legend-swatch.visual-state-in-service{background:#b9e7d1}.calendar-legend-swatch.visual-state-finished{background:#cbd5e1}.calendar-legend-swatch.visual-state-late{background:#f8c7af}.calendar-legend-swatch.visual-state-paused{background:#ffd792}.calendar-legend-swatch.visual-state-overtime{background:#f7b6b6}.calendar-legend-swatch.plan-state-soft-assigned,.calendar-legend-swatch.plan-state-locked,.calendar-legend-swatch.plan-state-unplanned{background:transparent;border-style:dashed;border-width:2px}.calendar-legend-swatch.plan-state-soft-assigned{border-color:#1d4ed8;background:#2563eb14}.calendar-legend-swatch.plan-state-locked{border-color:#0f766e;background:#0d94881f}.calendar-legend-swatch.plan-state-unplanned{border-color:#94a3b8;background:#94a3b814}.calendar-legend-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;font-size:10px;font-weight:900;color:#fff}.calendar-legend-badge.rotation{background:linear-gradient(180deg,#24579b,#183d72)}.calendar-legend-badge.designated{background:linear-gradient(180deg,#0f7a61,#0a5b48)}.calendar-body{flex:1;overflow:auto;position:relative}.time-grid{display:grid;grid-template-columns:64px 1fr;min-height:100%;width:max-content;min-width:100%}.time-grid-wrap{position:relative;width:max-content;min-width:100%}.timeline-now-marker{position:absolute;left:0;right:0;z-index:45;pointer-events:none;border-top:2px solid rgba(14,165,233,.85)}.timeline-now-marker:before{content:"";position:absolute;left:64px;top:-5px;width:8px;height:8px;border-radius:50%;background:#0ea5e9f2;box-shadow:0 0 0 2px #ffffffe6}.timeline-now-label{position:absolute;left:6px;top:-11px;padding:0 6px;border-radius:999px;background:#0284c7;color:#f0f9ff;font-size:10px;font-weight:700;line-height:20px;height:20px;letter-spacing:.02em}.timeline-hover-marker{position:absolute;left:0;right:0;z-index:44;pointer-events:none;border-top:1px dashed rgba(13,148,136,.88)}.timeline-hover-marker:before{content:"";position:absolute;left:64px;top:-4px;width:6px;height:6px;border-radius:50%;background:#0d9488f2;box-shadow:0 0 0 2px #ffffffe6}.timeline-hover-label{position:absolute;right:8px;top:-10px;padding:0 6px;border-radius:999px;background:#0f766eeb;color:#f0fdfa;font-size:10px;font-weight:700;line-height:18px;height:18px;letter-spacing:.02em}.time-labels{border-right:1px solid var(--border)}.time-label{height:var(--calendar-hour-height, 100px);display:flex;align-items:flex-start;justify-content:center;padding-top:4px;font-size:11px;color:var(--text-muted);font-weight:500;font-family:Roboto,sans-serif}.time-slots{position:relative}.time-slot-line{height:var(--calendar-hour-height, 100px);border-bottom:1px solid var(--border)}.time-slot-line:nth-child(odd){background:#ffffff05}.calendar-event{position:absolute;left:8px;border-radius:14px;padding:6px 8px 7px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .12s ease,color .12s ease;overflow:hidden;z-index:10;box-shadow:0 10px 24px #0f172a29;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:#17222d}.calendar-event:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:currentColor;opacity:.28}.calendar-event:hover{transform:translateY(-2px);box-shadow:0 16px 30px #0f172a33;z-index:20}.calendar-event.short-hover-expand{will-change:transform,height}.calendar-event.short-hover-expand.expanded{height:var(--calendar-card-expand-height)!important;transform:translateY(calc(-1 * var(--calendar-card-expand-shift, 24px)));z-index:42;box-shadow:0 16px 32px #0f172a3d}.calendar-event.short-hover-expand.expanded:hover{transform:translateY(calc(-1 * var(--calendar-card-expand-shift, 24px)))}.calendar-event.short-hover-expand.expanded .event-title,.calendar-event.short-hover-expand.expanded .event-detail,.calendar-event.short-hover-expand.expanded .event-supporting-line{display:block;-webkit-line-clamp:unset;overflow:visible}.calendar-event .event-top-row{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.calendar-event .event-pill-stack{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap}.calendar-event .event-state-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:40px;max-width:calc(100% - 30px);padding:0 8px 1px;border-radius:999px;font-size:10px;font-weight:800;line-height:1;letter-spacing:.04em;white-space:nowrap;box-sizing:border-box;flex:0 0 auto;overflow:visible;background:#ffffffb8;border:1px solid currentColor}.calendar-event .event-plan-pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 7px 1px;border-radius:999px;font-size:9px;font-weight:900;line-height:1;letter-spacing:.04em;white-space:nowrap;box-sizing:border-box;border:1px dashed currentColor;background:#ffffffc2}.calendar-event .event-plan-pill.predicted{color:#1d4ed8;background:#2563eb14}.calendar-event .event-plan-pill.locked{color:#0f766e;background:#0d94881f}.calendar-event .event-plan-pill.unplanned{color:#64748b;background:#94a3b81f}.calendar-event .event-state-pill.tone-booked{background:#24579b1f;color:#1d4d89}.calendar-event .event-state-pill.tone-arrived{background:#9a5a0024;color:#8f5300}.calendar-event .event-state-pill.tone-in-service{background:#0f6b4b24;color:#0c6245}.calendar-event .event-state-pill.tone-finished{background:#47556921;color:#445268}.calendar-event .event-state-pill.tone-late{background:#bc4d1429;color:#a24312}.calendar-event .event-state-pill.tone-paused{background:#b56a002e;color:#995900}.calendar-event .event-state-pill.tone-overtime{background:#b423182b;color:#9f1f16}.calendar-event .event-state-pill.tone-voided{background:#64748b1f;color:#57677d}.calendar-event .event-assign-corner{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;font-size:12px;font-weight:900;line-height:1;color:#fff;box-shadow:inset 0 1px #ffffff38}.calendar-event .event-assign-corner.rotation{background:linear-gradient(180deg,#24579b,#183d72)}.calendar-event .event-assign-corner.designated{background:linear-gradient(180deg,#0f7a61,#0a5b48)}.calendar-event .event-assign-corner.pending{background:linear-gradient(180deg,#64748b,#475569)}.calendar-event .event-countdown{width:100%;font-size:17px;font-weight:900;line-height:.98;letter-spacing:-.04em}.calendar-event .event-countdown.accent-success{color:#0f6b4b}.calendar-event .event-countdown.accent-warning{color:#9a5a00}.calendar-event .event-countdown.accent-danger{color:#a61b1b}.calendar-event .event-countdown.accent-info{color:#24579b}.calendar-event .event-countdown.accent-muted{color:#475569}.calendar-event .event-main-lines{width:100%;min-width:0;display:grid;gap:2px}.calendar-event .event-supporting-line{font-size:10px;font-weight:700;line-height:1.15;color:#17222db8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event .event-plan-line{font-size:9px;font-weight:700;line-height:1.1;color:#17222da8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event .event-title{font-family:Outfit,sans-serif;width:100%;min-width:0}.calendar-event .event-title-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:2px;width:100%}.calendar-event .event-title-project-inline,.calendar-event .event-title-project-line{font-size:13px;font-weight:800;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event .event-detail-block{width:100%;display:grid;gap:1px}.calendar-event .event-detail{font-size:10px;font-weight:600;color:#17222db3;line-height:1.3;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event .event-schedule-line{font-size:9px;font-weight:600;color:#17222db8;line-height:1.1;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.compact{gap:4px}.calendar-event.compact .event-countdown{font-size:15px}.calendar-event.compact .event-title-project-inline,.calendar-event.compact .event-title-project-line{font-size:12px}.calendar-event.compact .event-detail,.calendar-event.compact .event-schedule-line,.calendar-event.compact .event-supporting-line,.calendar-event.compact .event-plan-line{font-size:9px}.calendar-event.tiny{padding:5px 6px;gap:3px}.calendar-event.tiny .event-state-pill{min-height:22px;min-width:38px;padding:0 6px 1px;font-size:10px}.calendar-event.tiny .event-assign-corner{width:20px;height:20px;font-size:11px;border-radius:7px}.calendar-event.tiny .event-countdown{font-size:14px}.calendar-event.tiny .event-title-project-inline,.calendar-event.tiny .event-title-project-line{font-size:11px}.calendar-event.tiny .event-detail,.calendar-event.tiny .event-schedule-line,.calendar-event.tiny .event-supporting-line,.calendar-event.tiny .event-plan-line{font-size:9px}.calendar-event.visual-state-booked{background:linear-gradient(180deg,#eef5fb,#f8fbff);color:#24579b}.calendar-event.visual-state-arrived{background:linear-gradient(180deg,#fff4df,#fffaf0);color:#9a5a00}.calendar-event.visual-state-in-service{background:linear-gradient(180deg,#e6f7ef,#f6fcf8);color:#0f6b4b}.calendar-event.visual-state-finished{background:linear-gradient(180deg,#edf1f5,#f8fafc);color:#475569}.calendar-event.visual-state-late{background:linear-gradient(180deg,#fff4effa,#fff9f6fa),linear-gradient(135deg,rgba(188,77,20,.08),transparent 55%);color:#bc4d14;border-color:#bc4d1433;box-shadow:0 12px 28px #bc4d142e}.calendar-event.visual-state-paused{background:linear-gradient(180deg,#fff5e4fa,#fffbf3fa),linear-gradient(135deg,rgba(181,106,0,.08),transparent 58%);color:#b56a00;border-color:#b56a0038;box-shadow:0 12px 28px #b56a0029}.calendar-event.visual-state-overtime{background:linear-gradient(180deg,#fdededfc,#fff6f6fc),linear-gradient(135deg,rgba(180,35,24,.12),transparent 54%);color:#b42318;border-color:#b4231842;box-shadow:0 14px 30px #b4231833}.calendar-event.visual-state-voided{background:linear-gradient(180deg,#f1f5f9,#f8fafc);color:#64748b;opacity:.78}.calendar-event.dispatch-plan-soft_assigned,.calendar-event.dispatch-plan-soft-assigned{border-style:dashed;border-width:2px;border-color:#2563eb5c}.calendar-event.dispatch-plan-soft_assigned:after,.calendar-event.dispatch-plan-soft-assigned:after{content:"";position:absolute;inset:6px;border-radius:11px;border:1px dashed rgba(37,99,235,.22);pointer-events:none}.calendar-event.dispatch-plan-locked{border-style:dashed;border-width:2px;border-color:#0d948870;box-shadow:0 12px 28px #0f766e29}.calendar-event.dispatch-plan-locked:after{content:"";position:absolute;inset:6px;border-radius:11px;border:1px dashed rgba(13,148,136,.28);pointer-events:none}.calendar-event.dispatch-plan-unplanned{border-style:dashed;border-width:2px;border-color:#94a3b861;background:linear-gradient(180deg,#f8fafc,#fff)}.calendar-event.unassigned{background:linear-gradient(180deg,#eef2f7,#f8fafc);color:#475569}.calendar-event.unassigned.guest-accented:before{background:var(--guest-accent, #38bdf8);opacity:.95}.calendar-event.visual-state-late:before,.calendar-event.visual-state-paused:before,.calendar-event.visual-state-overtime:before{width:5px;opacity:.72}.calendar-event.visual-state-late .event-countdown,.calendar-event.visual-state-paused .event-countdown,.calendar-event.visual-state-overtime .event-countdown{font-size:18px}.calendar-event.visual-state-late .event-title-project-inline,.calendar-event.visual-state-late .event-title-project-line,.calendar-event.visual-state-paused .event-title-project-inline,.calendar-event.visual-state-paused .event-title-project-line,.calendar-event.visual-state-overtime .event-title-project-inline,.calendar-event.visual-state-overtime .event-title-project-line{color:#17222df0}.calendar-event.visual-state-late .event-supporting-line,.calendar-event.visual-state-paused .event-supporting-line,.calendar-event.visual-state-overtime .event-supporting-line{color:#17222dc7}.calendar-event.highlighted{box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #0ea5e98c;z-index:26}.modal-overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:700px;max-height:85vh;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:20px;color:var(--text-primary);margin:0}.modal-body{padding:24px;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;background:var(--bg-dark)}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label{color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:8px;display:block}.form-input,.form-select{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);min-height:40px;padding:9px 12px;border-radius:var(--radius-sm);width:100%;line-height:1.2;box-sizing:border-box;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b98126;outline:none}.form-input[type=date]{appearance:none;-webkit-appearance:none;color-scheme:light}.form-input[type=date]::-webkit-date-and-time-value{min-height:1.2em;text-align:left}.form-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}.booking-modal,.supplement-modal{width:min(1232px,98vw);max-height:90vh}.booking-modal .btn.btn-sm{padding:6px 10px;font-size:12px;letter-spacing:.01em;text-transform:none}.booking-modal-header{padding:14px 18px}.booking-modal-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.booking-modal-footer{padding:12px 16px}.booking-meta-card,.booking-guest-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px}.booking-meta-grid{display:grid;grid-template-columns:minmax(230px,2.1fr) minmax(220px,1.7fr) repeat(2,minmax(160px,1fr));gap:12px;align-items:end}.supplement-meta-grid{grid-template-columns:minmax(320px,2.4fr) minmax(150px,1fr) minmax(140px,1fr)}.booking-meta-source,.booking-meta-ref,.booking-meta-date,.booking-meta-slot{min-width:0}.booking-meta-source .source-selector{margin-top:2px}.booking-meta-ref .form-input,.booking-meta-date .form-input,.booking-meta-slot .form-select{min-height:40px;height:40px}.booking-ref-input{max-width:280px}.booking-meta-ref .form-input::placeholder{font-size:12px}.booking-meta-grid .form-group,.booking-guest-grid .form-group{margin-bottom:0}.source-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.source-chip{border:1px solid var(--border);background:#f8fafc;color:var(--text-primary);border-radius:var(--radius-sm);min-height:40px;padding:8px 0;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition-color),var(--transition-transform);display:inline-flex;align-items:center;justify-content:center}.source-chip:hover{transform:translateY(-1px);border-color:#7dd3fc}.source-chip.active{border-color:#0284c7;background:#e0f2fe;color:#0c4a6e}.field-hint{margin-top:4px;font-size:11px;color:var(--text-muted)}.guest-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.guest-toolbar-title{font-size:14px;font-weight:700;color:var(--text-primary);display:inline-flex;align-items:center;gap:6px}.booking-guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guest-card{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:10px}.guest-card-header{display:flex;align-items:center;justify-content:space-between}.guest-card-header h4{margin:0;font-size:14px;color:var(--text-primary)}.guest-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selected-items{min-height:32px;display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}.empty-pill{display:inline-flex;align-items:center;border:1px dashed var(--border);border-radius:999px;font-size:11px;color:var(--text-muted);padding:4px 10px}.item-tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-size:11px;padding:4px 8px;white-space:nowrap}.item-tag .remove{border:none;background:transparent;color:inherit;font-size:11px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center}.project-quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:320px;overflow:auto;padding-right:2px}.project-quick-btn{border:1px solid #bfdbfe;background:#f8fbff;color:#1e3a8a;border-radius:var(--radius-sm);padding:5px 6px;text-align:left;cursor:pointer;transition:var(--transition-color),var(--transition-transform);display:flex;flex-direction:column;gap:1px;min-height:40px}.project-quick-btn:hover{transform:translateY(-1px);background:#eff6ff;border-color:#60a5fa}.project-quick-btn.active{background:#dbeafe;border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb59}.project-quick-btn strong{font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-quick-btn span{font-size:9px;color:#1d4ed8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supplement-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.supplement-project-picker{grid-column:1 / -1}@media(max-width:1080px){.app-layout{grid-template-columns:1fr;grid-template-rows:70px 44vh 1fr}.side-dock{grid-column:1;grid-row:2;grid-template-columns:minmax(180px,var(--tech-panel-width, 272px)) var(--inner-resizer-width) minmax(90px,1fr);border-right:none;border-bottom:1px solid var(--border)}.panel-resizer-side{display:none}.main-content{grid-column:1;grid-row:3}.booking-modal,.supplement-modal{width:min(1120px,98vw)}.booking-meta-grid,.supplement-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-meta-source,.booking-meta-ref{grid-column:span 2}.booking-guest-grid,.guest-controls{grid-template-columns:1fr}.project-quick-grid,.source-selector{grid-template-columns:repeat(3,minmax(0,1fr))}.dispatch-layout{grid-template-columns:1fr;grid-template-rows:var(--header-height) 1fr}.dispatch-layout-left-open .dispatch-main,.dispatch-layout-right-open .dispatch-main{padding-left:0;padding-right:0}.dispatch-drawer{top:calc(var(--header-height) + 10px);bottom:10px;max-width:min(78vw,420px)}.dispatch-drawer-toggle-left.is-open{left:10px}.dispatch-drawer-toggle-right.is-open{right:10px}}@media(max-width:760px){.app-layout{grid-template-rows:70px 50vh 1fr}.side-dock{grid-template-columns:1fr;overflow-y:auto}.side-dock>.sidebar-left{grid-column:1;grid-row:1;border-right:none;border-bottom:1px solid var(--border)}.side-dock>.inner-panel-resizer{display:none}.side-dock>.sidebar-right{grid-column:1;grid-row:2;border-left:none}.dispatch-layout{grid-template-rows:var(--header-height) 1fr}.dispatch-drawer{top:calc(var(--header-height) + 8px);bottom:8px;left:8px;right:8px;width:auto;max-width:none}.dispatch-drawer-left,.dispatch-drawer-right{width:auto}.dispatch-drawer-toggle{top:calc(var(--header-height) + 14px);bottom:auto;min-height:44px;width:72px;padding:0 12px;border-radius:999px;transform:none}.dispatch-drawer-toggle-left,.dispatch-drawer-toggle-left.is-open{left:12px}.dispatch-drawer-toggle-right,.dispatch-drawer-toggle-right.is-open{right:12px}.dispatch-drawer-toggle-label{writing-mode:horizontal-tb;letter-spacing:.04em}.dispatch-drawer-toggle-badge{top:-4px;right:-2px}.dispatch-drawer-toggle:hover{transform:translateY(-2px)}.dispatch-revenue-primary{font-size:28px}.install-prompt{left:12px;right:12px;bottom:72px;transform:none;max-width:none;align-items:flex-start}.install-prompt-actions{flex-direction:column;align-items:stretch}.booking-modal,.supplement-modal{width:96vw;max-height:92vh}.booking-meta-grid,.supplement-meta-grid{grid-template-columns:1fr}.source-selector,.project-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-toolbar{flex-direction:column;align-items:flex-start;gap:8px}.supplement-form-grid{grid-template-columns:1fr}}.context-menu{position:fixed;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px 0;z-index:1000;min-width:200px;max-height:calc(100vh - 16px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.context-menu-header{padding:8px 16px;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:4px}.context-menu-btn{background:none;border:none;width:100%;text-align:left;padding:8px 16px;font-size:14px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;transition:var(--transition-color)}.context-menu-btn:hover{background:var(--bg-card-hover)}.dispatch-layout{--dispatch-ink: oklch(21% .03 145);--dispatch-muted: oklch(45% .02 145);--dispatch-line: oklch(88% .02 145);--dispatch-panel: #fff;--dispatch-green: oklch(35% .06 145);--dispatch-green-soft: oklch(92% .04 145);--dispatch-red: oklch(50% .15 25);display:flex;flex-direction:column;height:100vh;background:#fff;color:var(--dispatch-ink);font-family:var(--admin-font-sans, "Outfit", sans-serif);overflow:hidden;position:relative}.dispatch-header{flex:0 0 56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:2px solid var(--dispatch-ink);background:#fff;z-index:5000}.dispatch-brand{display:flex;align-items:center}.dispatch-brand h1{margin:0;font-family:var(--admin-font-serif, "Inter", sans-serif);font-size:18px;line-height:1;letter-spacing:-.01em}.dispatch-header-actions{display:flex;align-items:center;gap:24px}.connection-indicator{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.connection-dot{width:8px;height:8px;background:var(--dispatch-line)}.connection-dot.is-connected{background:#22c55e}.connection-dot.is-reconnecting{background:var(--boss-gold, #d4a017)}.connection-dot.is-disconnected{background:var(--dispatch-red)}.dispatch-auto-switch{display:flex;align-items:center;gap:12px;padding:6px 12px;border:1px solid var(--dispatch-line);background:#fff}.dispatch-auto-switch-copy{display:flex;flex-direction:column;text-align:right}.dispatch-auto-switch-copy strong{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.dispatch-auto-switch-copy span{font-size:10px;color:var(--dispatch-muted)}.dispatch-auto-switch .ant-switch{background-color:var(--dispatch-line);border-radius:0!important;height:18px!important;min-width:38px!important;border:1px solid var(--dispatch-line)}.dispatch-auto-switch .ant-switch-handle{border-radius:0!important;top:2px!important;width:14px!important;height:14px!important;left:2px!important}.dispatch-auto-switch .ant-switch.ant-switch-checked{background-color:var(--dispatch-ink)!important;border-color:var(--dispatch-ink)!important}.dispatch-auto-switch .ant-switch.ant-switch-checked .ant-switch-handle{inset-inline-start:calc(100% - 16px)!important}.dispatch-auto-switch .ant-switch-handle:before{border-radius:0!important;background:#fff!important}.dispatch-header-date{font-family:var(--admin-font-sans);border:none;border-bottom:1px solid var(--dispatch-line);padding:8px 0;font-size:14px;font-weight:600;color:var(--dispatch-ink);background:transparent;cursor:pointer;min-width:140px}.dispatch-header-date:focus{outline:none;border-bottom-color:var(--dispatch-ink)}.dispatch-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:1px solid var(--dispatch-ink);background:transparent;color:var(--dispatch-ink);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:0;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.dispatch-btn:hover,.dispatch-btn-primary{background:var(--dispatch-ink);color:#fff}.dispatch-user-tag{font-size:11px;font-weight:600;padding-left:24px;border-left:1px solid var(--dispatch-line);color:var(--dispatch-muted)}.dispatch-main{flex:1;display:flex!important;flex-direction:row;height:calc(100vh - 56px);position:relative;overflow:hidden;background:#fbfbfb;z-index:1;--left-sidebar-width: 210px;--right-sidebar-width: 270px;gap:0!important}.dispatch-drawer{position:relative;height:100%;background:#fff;transition:width .35s cubic-bezier(.16,1,.3,1),opacity .3s;overflow:hidden;z-index:2000;flex-shrink:0}.dispatch-drawer-left{width:0;border-right:none}.dispatch-layout-left-open .dispatch-drawer-left{width:var(--left-sidebar-width);border-right:1px solid var(--dispatch-line)}.dispatch-drawer-right{width:0;border-left:none}.dispatch-layout-right-open .dispatch-drawer-right{width:var(--right-sidebar-width);border-left:1px solid var(--dispatch-line)}.dispatch-calendar-wrapper{flex:1;min-width:0;height:100%;position:relative}.btn,.dispatch-btn,.context-menu-btn{font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:13px;font-weight:600;height:36px;padding:0 16px;border-radius:0;border:1px solid var(--dispatch-ink);background:#fff;color:var(--dispatch-ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;text-transform:uppercase;letter-spacing:.02em}.btn:hover,.dispatch-btn:hover,.btn-primary{background:var(--dispatch-ink);color:#fff}.btn-primary:hover{background:var(--dispatch-green);border-color:var(--dispatch-green)}.btn-ghost{border-color:var(--dispatch-line);color:var(--dispatch-muted)}.btn-ghost:hover{border-color:var(--dispatch-ink);color:var(--dispatch-ink);background:#fff}.btn-sm{height:28px;padding:0 12px;font-size:11px}.modal-overlay,.ant-modal-mask{background:#0006!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content,.ant-modal-content{border-radius:0!important;border:2px solid var(--dispatch-ink)!important;box-shadow:20px 20px #0000001a!important;padding:0!important;overflow:hidden;max-height:94vh;display:flex!important;flex-direction:column}.modal-content.booking-modal,.modal-content.supplement-modal{width:min(1232px,98vw)}.modal-overlay{display:flex!important;align-items:center!important;justify-content:center!important}.modal-header,.ant-modal-header{padding:24px 32px!important;border-bottom:1px solid var(--dispatch-line)!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex:0 0 auto}.modal-header h2,.ant-modal-title{font-family:var(--admin-font-sans, "Inter", sans-serif)!important;font-size:20px!important;font-weight:700!important;color:var(--dispatch-ink)!important;margin:0!important;display:flex!important;align-items:center!important;gap:12px!important}.modal-body,.ant-modal-body{padding:32px!important;background:#fdfdfd!important;overflow-y:auto!important;flex:1}.modal-footer,.ant-modal-footer{padding:24px 32px!important;border-top:1px solid var(--dispatch-line)!important;background:#fff!important;display:flex!important;justify-content:flex-end!important;gap:12px!important;margin:0!important}.form-group{margin-bottom:24px}.form-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--dispatch-muted);margin-bottom:8px;letter-spacing:.05em}.form-input,.form-select,.ant-input,.ant-select-selector{width:100%!important;height:40px!important;padding:0 12px!important;border:1px solid var(--dispatch-line)!important;border-radius:0!important;font-family:var(--admin-font-sans, sans-serif)!important;font-size:14px!important;background:#fff!important;transition:border-color .2s!important;outline:none!important}.form-input:focus,.form-select:focus,.ant-input-focused{border-color:var(--dispatch-ink)!important}.source-chip{padding:6px 12px;border:1px solid var(--dispatch-line);background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.source-chip.active{background:var(--dispatch-ink);color:#fff;border-color:var(--dispatch-ink)}.guest-card{border:1px solid var(--dispatch-line);padding:20px;margin-bottom:20px;background:#fff}.guest-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--dispatch-line);padding-bottom:12px}.guest-card-header h4{font-size:14px;text-transform:uppercase;letter-spacing:.05em}.project-quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;max-height:none;overflow-y:visible;padding-right:4px}.project-quick-grid::-webkit-scrollbar{width:4px}.project-quick-grid::-webkit-scrollbar-thumb{background:var(--dispatch-line)}.project-quick-btn{padding:12px;border:1px solid var(--dispatch-line);background:#fff;text-align:left;display:flex!important;flex-direction:column;gap:4px;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;border-radius:0!important;position:relative}.project-quick-btn:hover{border-color:var(--dispatch-ink);background:#fdfdfd}.project-quick-btn strong{font-family:var(--admin-font-serif);font-size:14px;font-weight:700;color:var(--dispatch-ink);line-height:1.2}.project-quick-btn span{font-family:var(--admin-font-mono);font-size:9px;color:var(--dispatch-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.item-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--dispatch-ink);color:#fff;font-size:12px;margin:4px}.item-tag .remove{background:none;border:none;color:#fff;cursor:pointer;opacity:.7}.item-tag .remove:hover{opacity:1}.context-menu{position:fixed;background:#fff;border:2px solid var(--dispatch-ink);box-shadow:10px 10px #0000001a;z-index:6000;min-width:200px}.context-menu-header{padding:12px 16px;background:#f8f8f8;border-bottom:1px solid var(--dispatch-line);font-size:11px;font-weight:700;text-transform:uppercase;color:var(--dispatch-muted)}.context-menu-btn{width:100%;justify-content:flex-start;border:none;border-bottom:1px solid var(--dispatch-line);height:40px;text-transform:none}.context-menu-btn:last-child{border-bottom:none}.context-menu-btn:hover{background:var(--dispatch-green-soft);color:var(--dispatch-ink)}.dispatch-drawer-shell{width:100%;height:100%;display:flex;flex-direction:column;min-width:0}.dispatch-drawer-head{padding:24px;display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--dispatch-line)}.dispatch-drawer-eyebrow{font-family:var(--admin-font-serif);font-size:24px;color:var(--dispatch-ink)}.dispatch-drawer-actions{display:flex;gap:12px}.dispatch-drawer-pin{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:4px 8px;border:1px solid var(--dispatch-line);background:transparent;color:var(--dispatch-muted);cursor:pointer;transition:all .2s}.dispatch-drawer-pin.is-active{background:var(--dispatch-ink);color:#fff;border-color:var(--dispatch-ink)}.dispatch-drawer-toggle{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:80px;background:var(--dispatch-ink);color:#fff!important;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;z-index:5500;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #0000001a;opacity:.4}.dispatch-drawer-toggle:hover{opacity:1;width:38px}.dispatch-drawer-toggle-left{left:0;border-radius:0 6px 6px 0}.dispatch-drawer-toggle-right{right:0;border-radius:6px 0 0 6px}.is-open.dispatch-drawer-toggle-left{left:var(--left-sidebar-width)}.is-open.dispatch-drawer-toggle-right{right:var(--right-sidebar-width)}.dispatch-drawer-toggle-label{font-size:14px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.dispatch-drawer-toggle-badge{background:var(--dispatch-red);color:#fff;font-size:10px;font-weight:700;padding:1px 4px;min-width:18px;border-radius:2px}.panel-resizer{position:absolute;top:0;bottom:0;width:4px;background:transparent;cursor:col-resize;z-index:1002;transition:background .2s}.panel-resizer:hover{background:var(--dispatch-line)}.panel-resizer-left{right:-2px}.panel-resizer-right{left:-2px}.sidebar-left,.sidebar-right{display:flex;flex-direction:column;height:100%;padding:0}.panel-title{padding:14px 16px;display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:2px solid var(--dispatch-ink)!important;flex-shrink:0}.panel-title>div{display:flex!important;align-items:center!important;gap:12px!important}.eyebrow-title{font-family:var(--admin-font-serif)!important;font-size:20px!important;font-weight:700!important;margin:0!important}.count-badge{font-family:var(--admin-font-mono)!important;background:var(--dispatch-ink);color:#fff;padding:2px 8px;font-size:11px;font-weight:700}.dispatch-panel-controls{padding:16px 24px;border-bottom:1px solid var(--dispatch-line);background:#fdfdfd}.dispatch-panel-pin{padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--dispatch-line)!important;background:transparent!important;color:var(--dispatch-muted)!important;width:28px!important;height:28px!important;cursor:pointer;transition:all .2s;border-radius:0!important;margin-left:8px}.dispatch-panel-pin .icon-pinned{transform:rotate(0);font-size:14px!important}.dispatch-panel-pin .icon-unpinned{transform:rotate(-45deg);opacity:.6;font-size:14px!important}.dispatch-panel-pin:hover{border-color:var(--dispatch-ink)!important;color:var(--dispatch-ink)!important}.dispatch-panel-pin.is-active{background:var(--dispatch-ink)!important;color:#fff!important;border-color:var(--dispatch-ink)!important}.dispatch-panel-controls .ant-segmented{background:var(--dispatch-line)!important;border-radius:0!important;padding:2px!important}.dispatch-panel-controls .ant-segmented-item{border-radius:0!important;transition:all .2s!important}.dispatch-panel-controls .ant-segmented-item-label{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--dispatch-muted)!important}.dispatch-panel-controls .ant-segmented-item-selected{background:#fff!important;box-shadow:none!important;border-radius:0!important}.dispatch-panel-controls .ant-segmented-item-selected .ant-segmented-item-label{color:var(--dispatch-ink)!important}.tech-queue-list{flex:1;overflow-y:auto;padding:0}.tech-queue-columns{display:grid!important;grid-template-columns:32px 1fr 32px 32px!important;padding:10px 16px!important;border-bottom:1px solid var(--dispatch-line)!important;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--dispatch-muted);letter-spacing:.1em;background:#fcfcfc}.tech-queue-item{display:grid!important;grid-template-columns:32px 1fr 32px 32px!important;align-items:center!important;padding:12px 16px!important;border-bottom:1px solid var(--dispatch-line)!important;cursor:pointer;transition:background .2s}.tech-queue-item:hover{background:#f8f8f8}.tech-queue-item.tech-status-0{border-left:4px solid var(--dispatch-green)}.tech-queue-item.tech-status-1{border-left:4px solid var(--dispatch-ink);opacity:.6}.tech-queue-item.tech-status-2{border-left:4px solid var(--dispatch-muted);opacity:.8}.tech-queue-item .rank{font-family:var(--admin-font-serif);font-size:16px;font-weight:700;color:var(--dispatch-muted)}.tech-queue-item .rank.top-3{color:var(--dispatch-ink);font-size:18px}.tech-info{display:flex!important;flex-direction:column!important}.tech-name{font-size:14px;font-weight:700;color:var(--dispatch-ink);display:flex;align-items:center;gap:8px}.tech-battery-pill{font-size:9px!important;font-weight:800!important;padding:1px 4px!important;background:var(--dispatch-line);color:var(--dispatch-muted);border-radius:0!important}.tech-battery-pill.is-low{background:var(--dispatch-red)!important;color:#fff!important}.tech-battery-pill.is-charging{background:var(--dispatch-green)!important;color:#fff!important}.tech-count{font-family:var(--admin-font-mono);font-size:14px;font-weight:700;text-align:center}.tech-count-rotation{color:var(--dispatch-ink)}.tech-count-designated{color:var(--dispatch-red)}.room-summary-strip{padding:12px 16px;display:flex!important;gap:8px!important;background:#fdfdfd;border-bottom:1px solid var(--dispatch-line)}.room-summary-pill{flex:1;display:flex;flex-direction:column;padding:10px 8px;border:1px solid var(--dispatch-line);background:#fff;gap:2px;align-items:center;justify-content:center;text-align:center}.room-summary-pill span{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--dispatch-muted);letter-spacing:.05em}.room-summary-pill strong{font-size:16px;font-weight:800}.room-grid{flex:1;overflow-y:auto;padding:12px 16px;display:grid;grid-template-columns:1fr;gap:12px}.room-card{padding:16px;border:1px solid var(--dispatch-line);background:#fff;display:flex;flex-direction:column;gap:12px;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.room-card:hover{border-color:var(--dispatch-ink)}.room-card.status-0{border-left:4px solid var(--dispatch-green)}.room-card.status-1{border-left:4px solid var(--dispatch-ink);background:#fdfdfd}.room-card.status-2{border-left:4px solid var(--dispatch-muted);opacity:.9}.room-card.status-3{border:2px dashed var(--dispatch-red)!important;background:color-mix(in oklch,var(--dispatch-red),white 95%)}.room-card-head{display:flex;flex-direction:column;gap:4px}.room-name{font-family:var(--admin-font-serif);font-size:18px;font-weight:700;color:var(--dispatch-ink);line-height:1.1}.room-meta{font-family:var(--admin-font-mono);font-size:10px;color:var(--dispatch-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.room-status-pill{position:absolute;top:20px;right:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:4px 8px;border:1px solid currentColor;line-height:1}.room-runtime-info{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--dispatch-line)}.room-runtime-line{display:flex;flex-direction:column;gap:2px}.room-runtime-label{font-size:9px;color:var(--dispatch-muted);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.room-runtime-value{font-size:13px;color:var(--dispatch-ink);font-weight:700;font-family:var(--admin-font-sans)}.room-note{font-size:11px;color:var(--dispatch-muted);line-height:1.5;font-style:italic}.room-card-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.room-reset-btn{font-size:9px!important;height:24px!important;padding:0 10px!important;border-color:var(--dispatch-line)!important}.room-clean-btn{height:36px!important;font-size:11px!important;background:var(--dispatch-ink)!important;color:#fff!important;border:none!important}.dispatch-revenue-modal-subtitle{font-family:var(--admin-font-serif);font-size:18px;margin-bottom:32px;color:var(--dispatch-muted)}.dispatch-revenue-modal-metrics{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:24px;border-top:1px solid var(--dispatch-line)}.dispatch-revenue-modal-metrics span{display:block;font-size:10px;text-transform:uppercase;color:var(--dispatch-muted);margin-bottom:8px}.dispatch-revenue-modal-metrics strong{font-size:20px;font-family:var(--admin-font-sans);font-variant-numeric:tabular-nums}.sidebar-left,.sidebar-right{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;background:transparent}.tech-queue-list{padding:0 16px 16px}.tech-queue-columns{display:grid;grid-template-columns:24px 1fr 32px 32px;gap:12px;padding:0 12px 10px;border-bottom:1px solid var(--dispatch-line);margin-bottom:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--dispatch-muted)}.tech-queue-item{display:grid;grid-template-columns:24px 1fr 32px 32px;gap:12px;align-items:center;padding:12px;background:transparent;border:1px solid var(--dispatch-line);margin-bottom:8px;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer}.tech-queue-item:hover{border-color:var(--dispatch-ink);background:var(--dispatch-green-soft)}.tech-queue-item .rank{font-family:var(--admin-font-sans);font-size:14px;font-weight:700;color:var(--dispatch-ink)}.tech-name{font-size:14px;font-weight:600}.tech-count{text-align:center;font-size:13px;font-weight:600}.tech-status-0{border-left:4px solid var(--dispatch-green)}.tech-status-1{border-left:4px solid #60a5fa}.tech-status-2{border-left:4px solid var(--boss-gold, #d4a017)}.tech-status-3{border-left:4px solid var(--dispatch-red)}.room-summary-pill.status-0{color:var(--dispatch-green);border-color:var(--dispatch-green)}.room-summary-pill.status-1{color:#3b82f6;border-color:#3b82f6}.room-summary-pill.status-2{color:var(--boss-gold, #d4a017);border-color:var(--boss-gold, #d4a017)}.room-summary-pill.status-3{color:var(--dispatch-red);border-color:var(--dispatch-red)}.room-summary-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 24px 24px}.room-summary-pill{padding:12px;border:1px solid var(--dispatch-line);display:flex;flex-direction:column;gap:4px;background:#fff}.room-summary-pill span{font-size:10px;text-transform:uppercase;color:var(--dispatch-muted)}.room-summary-pill strong{font-size:18px;line-height:1}.room-grid{padding:0 24px 24px;display:grid;gap:12px}.room-card{padding:16px;border:1px solid var(--dispatch-line);background:#fff;display:flex;flex-direction:column;gap:12px;transition:all .2s}.room-card.status-0{border-top:4px solid var(--dispatch-green)}.room-card.status-1{border-top:4px solid #3b82f6}.room-card.status-2{border-top:4px solid var(--boss-gold, #d4a017)}.room-card.status-3{border-top:4px solid var(--dispatch-red)}.room-card.status-3:hover,.room-card:hover{border-color:var(--dispatch-ink)}.room-card.status-3.clickable:hover{background:var(--dispatch-green-soft)}.room-card-head{display:flex;justify-content:space-between;align-items:baseline}.room-name{font-family:var(--admin-font-serif);font-size:18px;color:var(--dispatch-ink)}.room-meta{font-size:11px;color:var(--dispatch-muted)}.room-status-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.room-runtime-info{padding:10px;background:#f4faf4;border:1px solid var(--dispatch-line);display:grid;gap:6px}.room-runtime-line{display:flex;justify-content:space-between;font-size:11px}.room-runtime-label{color:var(--dispatch-muted)}.room-runtime-value{font-weight:600}.room-note{font-size:11px;color:var(--dispatch-muted);font-style:italic;font-family:var(--admin-font-serif)}.dispatch-layout .ant-segmented{border-radius:0;background:var(--dispatch-line);padding:2px}.dispatch-layout .ant-segmented-item{border-radius:0;font-size:11px;font-weight:600;text-transform:uppercase}.dispatch-layout .ant-segmented-item-selected{border-radius:0;background:#fff;box-shadow:none}.modal-overlay{position:fixed;inset:0;background:#00000026;display:grid;place-items:center;z-index:5000}.modal-content{background:#fff;border:1px solid var(--dispatch-ink);padding:32px;display:flex;flex-direction:column;gap:24px}.modal-header h2{font-family:var(--admin-font-serif);font-size:24px;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:12px}@media(max-width:1080px){.dispatch-header{padding:0 20px}.dispatch-layout{grid-template-rows:auto 1fr}.dispatch-header{flex-wrap:wrap;height:auto;padding:20px;gap:20px}.dispatch-header-actions{width:100%;justify-content:space-between}}.calendar-column-header--technician{background:#fff!important;color:var(--dispatch-ink)!important;height:64px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-bottom:2px solid var(--dispatch-ink)!important;padding:0 12px!important;transition:background-color .2s}.tech-header-info{display:flex;align-items:center;gap:10px;width:100%}.tech-avatar-mini{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--dispatch-line);color:var(--dispatch-ink);font-family:var(--admin-font-serif, "Inter", sans-serif);font-size:16px;font-weight:700;border:1px solid var(--dispatch-ink);flex-shrink:0}.calendar-column-header--technician.gender-1 .tech-avatar-mini{background:#c1e3fc;border-color:#4188b6}.calendar-column-header--technician.gender-2 .tech-avatar-mini{background:#fdd1d6;border-color:#b36672}.tech-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.tech-name{font-family:var(--admin-font-serif, "Inter", sans-serif);font-size:15px;font-weight:700;line-height:1.1;color:var(--dispatch-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.tech-status-row{display:flex;align-items:center;gap:6px}.tech-status-dot{width:6px;height:6px;background:var(--dispatch-line)}.tech-status-dot.status-0{background:#22c55e}.tech-status-dot.status-1{background:var(--dispatch-ink)}.tech-status-dot.status-2{background:var(--dispatch-muted)}.tech-status-dot.status-3{background:var(--boss-gold, #d4a017)}.tech-status-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--dispatch-muted)}.calendar-column-header--unassigned{height:64px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--dispatch-ink)!important;color:#fff!important;font-family:var(--admin-font-serif);font-size:14px!important;font-weight:700!important;letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid var(--dispatch-ink)!important}.calendar-column-header--time{background:#fff!important;color:var(--dispatch-muted)!important;font-family:var(--admin-font-serif);font-size:10px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.12em;display:flex!important;align-items:center!important;justify-content:center!important;border-bottom:2px solid var(--dispatch-line)!important;border-right:1px solid var(--dispatch-line)!important}.calendar-header{height:auto!important;min-height:auto!important;padding:8px 32px!important;border-bottom:2px solid var(--dispatch-ink)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;background:#fff}.calendar-header-left{display:flex!important;flex-direction:column!important;gap:6px!important}.calendar-header-topline{display:flex!important;align-items:center!important;gap:16px!important}.calendar-header-date{font-family:var(--admin-font-serif)!important;font-size:20px!important;font-weight:700!important;color:var(--dispatch-ink)!important;display:flex!important;align-items:center!important;gap:10px!important}.calendar-header-hint{font-size:11px!important;font-weight:500!important;color:var(--dispatch-muted)!important;max-width:500px;line-height:1.4!important}.calendar-legend{display:flex!important;flex-wrap:wrap!important;gap:8px 18px!important;padding:0!important;margin:0!important}.calendar-legend-group{display:flex!important;align-items:center!important;gap:8px!important}.calendar-legend-title{font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:var(--dispatch-muted)!important;border-right:1px solid var(--dispatch-line)!important;padding-right:12px!important}.calendar-legend-items{display:flex!important;gap:12px!important}.calendar-legend-item{display:flex!important;align-items:center!important;gap:6px!important;font-size:11px!important;font-weight:600!important;color:var(--dispatch-ink)!important}.calendar-legend-swatch{width:10px!important;height:10px!important;border-radius:0!important;border:1px solid rgba(0,0,0,.1)!important}.calendar-legend-badge{font-size:9px!important;padding:1px 4px!important;border-radius:0!important;font-weight:800!important;color:#fff!important;background:var(--dispatch-muted)!important}.calendar-legend-badge.designated{background:#b94642!important}.calendar-legend-badge.rotation{background:var(--dispatch-ink)!important}.calendar-header-tools{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;flex-shrink:0!important;gap:32px!important}.calendar-header-actions{display:flex!important;gap:12px!important;padding:0!important;border:none!important}.calendar-create-btn{height:40px!important;padding:0 24px!important;font-size:12px!important}.calendar-slider-stack{display:flex!important;flex-direction:column!important;gap:8px!important;flex-shrink:0!important}.calendar-slider-control{display:flex!important;align-items:center!important;gap:12px!important;font-size:11px!important;font-weight:600!important;color:var(--dispatch-muted)!important;cursor:pointer}.calendar-slider-control span{text-transform:uppercase!important;letter-spacing:.05em!important}.calendar-slider-control strong{width:40px!important;color:var(--dispatch-ink)!important;font-family:var(--admin-font-mono, monospace)!important;text-align:right}.calendar-slider-control input[type=range]{-webkit-appearance:none!important;width:120px!important;height:20px!important;background:transparent!important;outline:none!important;cursor:pointer!important}.calendar-slider-control input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px!important;background:var(--dispatch-line)!important;border-radius:0}.calendar-slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none!important;width:16px!important;height:16px!important;background:var(--dispatch-ink)!important;cursor:pointer!important;border-radius:0!important;border:2px solid #fff!important;box-shadow:0 0 0 1px var(--dispatch-ink)!important;margin-top:-6px!important}.calendar-slider-control input[type=range]::-moz-range-track{width:100%;height:4px!important;background:var(--dispatch-line)!important;border-radius:0}.calendar-slider-control input[type=range]::-moz-range-thumb{width:16px!important;height:16px!important;background:var(--dispatch-ink)!important;cursor:pointer!important;border-radius:0!important;border:2px solid #fff!important;box-shadow:0 0 0 1px var(--dispatch-ink)!important}.calendar-slider-control input[type=range]:hover::-webkit-slider-runnable-track{background:var(--dispatch-muted)!important}.calendar-slider-control input[type=range]:hover::-moz-range-track{background:var(--dispatch-muted)!important}.calendar-event{border-radius:0!important;border:1px solid var(--dispatch-line);background:#fff;overflow:hidden;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.calendar-event:hover{border-color:var(--dispatch-ink);z-index:10!important;box-shadow:10px 10px #0000000d}.calendar-event.highlighted{border:2px solid var(--dispatch-ink);z-index:20!important}.visual-state-booked{--tone-ink: oklch(40% .05 240);--tone-bg: oklch(98% .01 240)}.visual-state-arrived{--tone-ink: var(--dispatch-green);--tone-bg: oklch(98% .02 145)}.visual-state-in-service{--tone-ink: var(--dispatch-ink);--tone-bg: #f8f8f8}.visual-state-finished{--tone-ink: var(--dispatch-muted);--tone-bg: #fff;opacity:.7}.visual-state-late{--tone-ink: var(--dispatch-red);--tone-bg: oklch(98% .02 25)}.visual-state-overtime{--tone-ink: #fff;--tone-bg: var(--dispatch-red)}.visual-state-paused{--tone-ink: #b45309;--tone-bg: #fffbeb}.visual-state-voided{--tone-ink: #94a3b8;--tone-bg: #f1f5f9;text-decoration:line-through}.calendar-event{border-left-width:4px!important;border-left-color:var(--tone-ink)!important;background:var(--tone-bg)!important;color:var(--tone-ink)}.visual-state-overtime .event-supporting-line,.visual-state-overtime .event-detail,.visual-state-overtime .event-countdown{color:#fff!important}.event-top-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px}.event-pill-stack{display:flex;gap:4px}.event-state-pill,.event-plan-pill,.calendar-legend-badge,.event-assign-corner,.room-status-pill,.ant-tag{border-radius:0!important;text-transform:uppercase!important;font-size:9px!important;font-weight:800!important;letter-spacing:.05em!important;padding:2px 6px!important;height:18px!important;line-height:normal!important;display:inline-flex!important;align-items:center!important;border-width:1px!important;border-style:solid!important}.event-state-pill{background:#fff!important;color:var(--tone-ink)!important;border-color:var(--tone-ink)!important}.visual-state-overtime .event-state-pill{background:#fff!important;color:var(--dispatch-red)!important}.event-assign-corner{background:var(--dispatch-ink)!important;color:#fff!important;border:none!important}.event-assign-corner.designated{background:var(--dispatch-red)!important}.event-assign-corner.rotation{background:var(--dispatch-ink)!important}.event-assign-corner.pending{background:var(--dispatch-muted)!important}.event-countdown{padding:0 10px;font-family:var(--admin-font-mono);font-size:11px;font-weight:800;text-transform:uppercase}.event-main-lines{padding:8px 10px;display:flex;flex-direction:column;gap:4px}.event-supporting-line{font-size:9px;color:var(--dispatch-muted);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.event-title{font-size:13px;font-weight:800;line-height:1.25;color:var(--dispatch-ink);font-family:var(--admin-font-sans)}.event-detail-block{padding:8px 10px;border-top:1px dashed var(--dispatch-line);margin-top:auto}.event-detail{font-family:var(--admin-font-mono);font-size:10px;font-weight:700;color:var(--dispatch-muted)}.event-plan-line{font-size:10px;color:var(--dispatch-green);font-weight:700;display:flex;align-items:center;gap:4px}.calendar-event.compact{padding:4px!important}.calendar-event.compact .event-main-lines,.calendar-event.compact .event-detail-block{padding:4px}.calendar-event.short-hover-expand:hover{height:var(--calendar-card-expand-height)!important;transform:translateY(calc(-1 * var(--calendar-card-expand-shift, 20px)));z-index:100!important;box-shadow:0 20px 40px #0000001a}.calendar-event.tiny .event-top-row{display:none}.calendar-event.tiny .event-countdown{font-size:9px}.calendar-event.tiny .event-title{font-size:11px}.calendar-container::-webkit-scrollbar{width:4px;height:4px}.calendar-container::-webkit-scrollbar-thumb{background:var(--dispatch-line)}.calendar-container::-webkit-scrollbar-thumb:hover{background:var(--dispatch-muted)}.dispatch-revenue-modal-subtitle{font-size:11px;font-weight:700;color:var(--dispatch-muted);text-transform:uppercase;margin-bottom:24px;letter-spacing:.05em}.dispatch-revenue-modal-row{display:flex;gap:16px;margin-bottom:8px}.dispatch-revenue-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px}.dispatch-revenue-modal-grid .ant-form-item{margin-bottom:12px}.dispatch-revenue-modal-metrics{margin-top:16px;padding:16px;background:#fdfdfd;border:1px dashed var(--dispatch-line);display:flex;align-items:center}.metric-item{flex:1;display:flex;flex-direction:column;gap:4px}.metric-item span{font-size:10px;color:var(--dispatch-muted);font-weight:700;text-transform:uppercase}.metric-item strong{font-family:var(--admin-font-mono);font-size:14px;color:var(--dispatch-ink)}.metric-sep{width:1px;height:24px;background:var(--dispatch-line);margin:0 16px}.dispatch-header-date{width:130px!important;border-radius:0!important;border:none!important;border-bottom:1px solid var(--dispatch-line)!important;background:transparent!important;font-weight:600!important;font-size:14px!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}.dispatch-header-date:hover,.dispatch-header-date:focus{border-bottom-color:var(--dispatch-ink)!important}.dispatch-header-date .ant-picker-input>input{cursor:pointer}.tech-app-container{display:flex;flex-direction:column;min-height:100vh;background-color:#f8fafc;color:#0f172a;font-family:Outfit,sans-serif;color-scheme:light;touch-action:manipulation}.tech-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:10}.tech-title{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600;color:#10b981;margin:0}.tech-subtitle{font-size:12px;color:#64748b;margin-top:4px;letter-spacing:.05em}.tech-status-dot.online{background-color:#6ba885}.tech-status-dot.offline{background-color:#b35959}.tech-status-dot.reconnecting{background-color:#cc9b58}.tech-main-content{padding:24px;flex:1}.tech-error-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fef2f2;border:1px solid #b35959;border-radius:4px;margin-bottom:20px;color:#e5a5a5;font-size:14px}.active-task-panel{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:32px 24px;text-align:center;box-shadow:0 4px 20px #00000014;margin-bottom:24px}.task-guest-info{font-family:Cormorant Garamond,serif;font-size:20px;display:flex;justify-content:center;gap:16px;margin-bottom:12px}.guest-name{color:#0f172a}.room-name{color:#10b981}.project-name{font-size:18px;font-weight:500;letter-spacing:.05em;color:#64748b;margin-bottom:32px;text-transform:uppercase}.timer-wrapper{position:relative;width:240px;height:240px;margin:0 auto 40px}.timer-svg{transform:rotate(-90deg);transform-box:fill-box;transform-origin:center}.timer-bg{stroke:#f1f5f9;stroke-width:2}.timer-progress{stroke:#10b981;stroke-width:4;stroke-linecap:square;transition:stroke-dashoffset 1s linear}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.time-left{font-size:42px;font-family:Outfit,sans-serif;font-weight:300;color:#0f172a;font-variant-numeric:tabular-nums}.time-label{font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-top:8px}.task-controls{display:flex;gap:16px;justify-content:center}.tech-btn{background-color:#f1f5f9;border:none;background:transparent;color:#10b981;padding:14px 24px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-radius:2px;cursor:pointer;transition:background-color .2s,color .2s,transform .2s cubic-bezier(.16,1,.3,1);flex:1}.tech-btn:active{transform:scale(.98)}.tech-btn:focus-visible{outline:2px solid #c9a265;outline-offset:2px}.tech-btn.btn-start,.tech-btn.btn-resume{background-color:#10b981;color:#000;border-color:#10b981}.tech-btn.btn-pause{border-color:#cc9b58;color:#cc9b58}.tech-btn.btn-complete{border-color:#b35959;color:#b35959}.tech-empty-state{text-align:center;padding:80px 20px;background:#fff;border-radius:4px;border:1px solid #222222}.tech-empty-state .emoji{font-size:40px;margin-bottom:24px;filter:grayscale(1);opacity:.5}.tech-empty-sub{color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.section-title{font-family:Cormorant Garamond,serif;font-size:20px;color:#10b981;margin-bottom:20px;border-bottom:1px solid #222;padding-bottom:12px}.task-list{display:flex;flex-direction:column;gap:12px}.tech-list-item{background:#fff;border:1px solid #e2e8f0;padding:20px;border-radius:4px}.item-header{display:flex;justify-content:space-between;margin-bottom:12px}.item-guest{font-family:Cormorant Garamond,serif;font-size:18px;color:#0f172a}.item-status{font-size:11px;padding:4px 8px;background:#222;text-transform:uppercase;letter-spacing:.05em;border-radius:2px;color:#64748b}.item-meta{font-size:13px;color:#666}.tech-btn-small{margin-top:16px;width:100%;padding:12px;background:#c9a265;color:#000;border:none;font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.05em;border-radius:2px}@media(prefers-reduced-motion:reduce){.tech-btn{transition:none}}:root{--admin-hue: 145;--admin-surface: oklch(98.5% .005 var(--admin-hue));--admin-surface-alt: oklch(96% .01 var(--admin-hue));--admin-surface-low: oklch(94% .015 var(--admin-hue));--admin-primary: oklch(35% .06 var(--admin-hue));--admin-on-primary: oklch(99% .01 var(--admin-hue));--admin-primary-soft: oklch(90% .03 var(--admin-hue));--admin-on-primary-soft: oklch(25% .05 var(--admin-hue));--admin-text-main: oklch(20% .03 var(--admin-hue));--admin-text-muted: oklch(45% .02 var(--admin-hue));--admin-border: oklch(88% .02 var(--admin-hue));--admin-border-strong: oklch(80% .02 var(--admin-hue));--admin-font-serif: "Inter", "Outfit", "Plus Jakarta Sans", "Helvetica Neue", sans-serif;--admin-font-sans: "Inter", "Outfit", "Plus Jakarta Sans", "Helvetica Neue", sans-serif;--admin-radius: 0;--admin-radius-lg: 0;--md-primary: var(--admin-primary);--md-surface-container-low: var(--admin-surface-alt);--md-outline-variant: var(--admin-border);--md-on-surface: var(--admin-text-main)}.admin-shell{min-height:100vh;height:100vh;font-family:var(--admin-font-sans);background:var(--admin-surface);overflow:hidden;color:var(--admin-text-main)}body.admin-scroll-enabled{overflow-y:auto;overflow-x:hidden;height:auto;min-height:100dvh;-webkit-overflow-scrolling:touch}.admin-sider{border-right:1px solid var(--admin-border);background:var(--admin-surface-alt)!important;transition:all .4s cubic-bezier(.16,1,.3,1)}.admin-brand{padding:clamp(24px,4vh,40px) 24px;display:flex;flex-direction:column;align-items:flex-start}.admin-brand-mode{padding:4px 10px;border:1px solid var(--admin-border-strong);border-radius:0;background:transparent;color:var(--admin-text-muted);font-family:var(--admin-font-sans);font-weight:500;letter-spacing:.1em;font-size:10px;text-transform:uppercase}.admin-brand-title{margin-top:clamp(16px,3vh,24px);font-family:var(--admin-font-serif);font-weight:400;color:var(--admin-text-main);font-size:clamp(24px,2.5vw,32px);line-height:1.1;letter-spacing:-.03em}.admin-brand-subtitle{margin-top:8px;color:var(--admin-text-muted);font-size:12px;letter-spacing:.02em}.ant-btn{border-radius:0!important;font-family:var(--admin-font-sans)!important;text-transform:uppercase!important;font-weight:700!important;letter-spacing:.1em!important;box-shadow:none!important}.ant-btn-primary{background:var(--admin-primary)!important;border-color:var(--admin-primary)!important}.ant-input,.ant-select-selector,.ant-picker{border-radius:0!important;box-shadow:none!important}.ant-menu-item,.ant-menu-submenu-title,.ant-modal-content,.ant-pagination-item,.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{border-radius:0!important}.ant-pagination-item-active{border-color:var(--admin-text-main)!important;background:var(--admin-text-main)!important}.ant-pagination-item-active a{color:#fff!important}.admin-menu{margin-top:16px;border-inline-end:0!important;background:transparent!important;padding:0 12px}.admin-shell .admin-menu .ant-menu-item{margin:4px 0!important;border-radius:var(--admin-radius);border:none;height:44px;line-height:44px;color:var(--admin-text-muted);font-family:var(--admin-font-sans);font-weight:400;width:100%}.admin-shell .admin-menu .ant-menu-item:hover{color:var(--admin-text-main)!important;background:transparent!important}.admin-shell .admin-menu .ant-menu-item-selected{background:transparent!important;color:var(--admin-text-main)!important;font-weight:500;position:relative}.admin-shell .admin-menu .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;background:var(--admin-primary);border-radius:0}.admin-nav-icon{display:inline-flex;align-items:center;margin-right:12px;opacity:.8}.admin-main{background:var(--admin-surface)}.admin-sider-foot{display:none}.admin-topbar{height:clamp(64px,8vh,88px);line-height:normal;background:transparent;border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center;padding:0 clamp(24px,4vw,48px)}.admin-topbar-title-wrap{display:flex;flex-direction:column;gap:4px}.admin-topbar-kicker{color:var(--admin-primary);font-size:10px;letter-spacing:.15em;font-weight:600;text-transform:uppercase}.admin-topbar-title{font-family:var(--admin-font-serif);font-size:clamp(20px,2vw,28px);font-weight:400;color:var(--admin-text-main);line-height:1.1;letter-spacing:-.01em}.admin-user-pill{padding:0;background:transparent;color:var(--admin-text-main);font-family:var(--admin-font-serif);font-style:italic;font-size:16px;border:none}.admin-logout-btn,.admin-back-btn,.admin-menu-btn{border-radius:0;border:1px solid var(--admin-border-strong)!important;color:var(--admin-text-main)!important;background:transparent!important;text-transform:uppercase;letter-spacing:.05em;font-size:11px;height:36px;padding:0 16px;box-shadow:none!important;transition:all .2s ease}.admin-logout-btn:hover,.admin-back-btn:hover{background:var(--admin-text-main)!important;color:var(--admin-surface)!important}.admin-content{margin:clamp(16px,3vh,32px) clamp(24px,4vw,48px);overflow:auto;min-height:0}.admin-content-frame{background:transparent!important;border:none;padding:0;box-shadow:none;animation:admin-fade-in .6s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(12px)}.admin-content-frame h2{font-family:var(--admin-font-serif);font-weight:400;font-size:clamp(24px,2.5vw,32px);line-height:1.1;letter-spacing:-.02em;color:var(--admin-text-main);margin-bottom:clamp(16px,3vh,24px)}@keyframes admin-fade-in{to{opacity:1;transform:translateY(0)}}.admin-shell .ant-btn-primary{background:var(--admin-text-main);border-radius:0;border:none;color:var(--admin-surface);text-transform:uppercase;letter-spacing:.05em;font-size:12px;box-shadow:none;transition:background .2s ease}.admin-shell .ant-btn-primary:hover{background:var(--admin-primary)!important}.admin-shell .ant-btn{border-radius:0;font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.admin-shell .ant-table-wrapper .ant-table{border:none;border-radius:0!important;background:transparent}.admin-shell .ant-table-wrapper .ant-table-thead>tr>th{background:transparent!important;color:var(--admin-text-muted)!important;font-weight:400;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--admin-text-main)!important;font-size:11px;padding:16px 8px}.admin-shell .ant-table-tbody>tr>td{border-bottom:1px solid var(--admin-border)!important;padding:16px 8px;font-size:14px}.admin-shell .ant-input,.admin-shell .ant-input-number,.admin-shell .ant-picker,.admin-shell .ant-select-selector,.admin-shell .ant-input-affix-wrapper{background:transparent!important;border:none!important;border-bottom:1px solid var(--admin-border)!important;border-radius:0!important;box-shadow:none!important;padding-left:0;padding-right:0}.admin-shell .ant-input:focus,.admin-shell .ant-picker-focused,.admin-shell .ant-select-focused .ant-select-selector{border-bottom-color:var(--admin-text-main)!important}.admin-mobile-drawer .ant-drawer-content{background:var(--admin-surface-alt)}.admin-mobile-drawer .ant-drawer-body{padding:0;display:flex;flex-direction:column}@media(max-width:900px){.admin-shell{min-height:100dvh;height:auto;overflow:visible}.admin-main{min-height:100dvh}.admin-topbar{padding:max(16px,env(safe-area-inset-top)) 20px 16px;height:auto;flex-direction:column;align-items:flex-start;gap:16px;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in oklch,var(--admin-surface),transparent 10%)}.admin-topbar-actions{width:100%;justify-content:flex-start;gap:12px!important}.admin-content{margin:20px;overflow:visible}}.admin-manage-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px;border-bottom:2px solid var(--admin-text-main);padding-bottom:24px}.admin-manage-header h2{margin:0;font-family:var(--admin-font-serif);font-size:clamp(24px,3vw,32px);font-weight:500;color:var(--admin-text-main);line-height:1.1;letter-spacing:-.02em}.admin-manage-header .admin-manage-desc{margin:8px 0 0;color:var(--admin-text-muted);font-size:14px;line-height:1.6;max-width:640px}.admin-manage-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.admin-manage-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:24px;padding:16px;border:1px solid var(--admin-border);background:transparent}.admin-manage-table .ant-table{border-radius:0!important;background:transparent!important;border-top:1px solid var(--admin-border-strong)}.admin-manage-table .ant-table-thead>tr>th{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-text-muted);background:transparent!important;border-bottom:2px solid var(--admin-text-main)!important;padding:16px 8px!important}.admin-manage-table .ant-table-tbody>tr>td{border-bottom:1px solid var(--admin-border)!important;padding:16px 8px!important;font-size:14px;color:var(--admin-text-main)}.admin-manage-table .ant-table-tbody>tr:hover>td{background:var(--admin-surface-alt)!important}.admin-manage-header .ant-btn,.admin-manage-actions .ant-btn,.admin-manage-filters .ant-btn{border-radius:0!important;font-family:var(--admin-font-sans, sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;height:38px;box-shadow:none!important;padding-inline:20px!important}.admin-manage-header .ant-btn-primary,.admin-manage-actions .ant-btn-primary,.admin-manage-filters .ant-btn-primary{background:var(--admin-primary)!important;border-color:var(--admin-primary)!important;color:var(--admin-surface)!important}.admin-manage-header .ant-btn:not(.ant-btn-primary),.admin-manage-actions .ant-btn:not(.ant-btn-primary),.admin-manage-filters .ant-btn:not(.ant-btn-primary){background:transparent!important;border:1px solid var(--admin-border)!important;color:var(--admin-text-main)!important}.admin-manage-header .ant-btn:hover,.admin-manage-actions .ant-btn:hover,.admin-manage-filters .ant-btn:hover{border-color:var(--admin-text-main)!important;opacity:.8}@media(max-width:640px){.admin-manage-header{flex-direction:column;align-items:flex-start}.admin-manage-actions{width:100%;justify-content:flex-start}.admin-manage-filters{flex-direction:column;align-items:stretch}}.payroll-page{display:flex;flex-direction:column;gap:32px;color:var(--admin-text-main);min-width:0}.payroll-hero{display:flex;justify-content:space-between;gap:24px;padding:0 0 24px;border-radius:0;background:transparent;border:none;border-bottom:2px solid var(--admin-text-main);box-shadow:none}.payroll-hero-copy{max-width:720px}.payroll-hero-kicker{display:inline-flex;align-items:center;padding:0;border-radius:0;background:transparent;color:var(--admin-primary);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.payroll-hero-copy h2.ant-typography{margin-top:16px;margin-bottom:12px;font-family:var(--admin-font-serif);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1;letter-spacing:-.02em;color:var(--admin-text-main)}.payroll-hero-copy .ant-typography{color:var(--admin-text-muted);font-size:15px;line-height:1.6}.payroll-hero-actions{min-width:260px;display:flex;align-items:flex-end;justify-content:flex-end}.payroll-store-select{min-width:260px}.payroll-store-pill{min-width:220px;padding:16px;border-radius:0;background:transparent;border:1px solid var(--admin-border);display:flex;flex-direction:column;gap:8px}.payroll-store-pill-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--admin-text-muted)}.payroll-store-pill-value{font-size:20px;font-weight:600;font-family:var(--admin-font-serif);color:var(--admin-text-main)}.payroll-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.payroll-summary-card{border-radius:0!important;border:1px solid var(--admin-border)!important;background:transparent!important;box-shadow:none!important}.payroll-summary-card .ant-card-body{display:flex;flex-direction:column;gap:12px;padding:24px!important}.payroll-summary-card .ant-statistic{min-height:72px}.payroll-summary-card .ant-statistic-title{color:var(--admin-text-muted)!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.05em}.payroll-summary-card .ant-statistic-content{font-family:var(--admin-font-serif);font-size:32px;line-height:1;color:var(--admin-text-main);margin-top:8px}.payroll-tabs .ant-tabs-nav{margin-bottom:32px}.payroll-tabs,.payroll-tabs .ant-tabs-content-holder,.payroll-tabs .ant-tabs-content,.payroll-tabs .ant-tabs-tabpane{min-width:0}.payroll-tabs .ant-tabs-tab{padding:12px 0!important;margin-right:32px!important;border-radius:0!important;border-bottom:2px solid transparent!important}.payroll-tabs .ant-tabs-tab-active{background:transparent!important;border-bottom-color:var(--admin-text-main)!important}.payroll-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--admin-text-main)!important;font-weight:500}.payroll-tabs .ant-tabs-ink-bar{display:none!important}.payroll-panel-stack{display:flex;flex-direction:column;gap:32px;min-width:0}.payroll-panel{border-radius:0!important;background:transparent!important;border:none!important;border-top:1px solid var(--admin-border)!important;box-shadow:none!important;min-width:0}.payroll-panel .ant-card-body{display:flex;flex-direction:column;gap:24px;min-width:0;padding:32px 0!important}.payroll-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.payroll-panel-kicker{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--admin-primary)}.payroll-panel-head h4.ant-typography{margin-top:12px;margin-bottom:12px;font-family:var(--admin-font-serif);font-size:28px}.payroll-panel-head .ant-typography{max-width:760px;color:var(--admin-text-muted)}.payroll-scheme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.payroll-scheme-card{cursor:pointer;border-radius:0!important;background:transparent!important;border:1px solid var(--admin-border)!important;transition:all .2s ease}.payroll-scheme-card:hover{border-color:var(--admin-text-main)!important;transform:translateY(-2px)}.payroll-scheme-card.is-selected{border-color:var(--admin-text-main)!important;background:var(--admin-text-main)!important}.payroll-scheme-card.is-selected .payroll-scheme-card-title,.payroll-scheme-card.is-selected .payroll-scheme-card-metrics strong{color:var(--admin-surface)}.payroll-scheme-card.is-selected .payroll-scheme-card-range,.payroll-scheme-card.is-selected .payroll-scheme-card-metrics span{color:#ffffffb3}.payroll-scheme-card.is-selected .payroll-scheme-card-metrics>div{background:#ffffff1a;border-color:transparent}.payroll-scheme-card .ant-card-body{display:flex;flex-direction:column;gap:20px;padding:24px!important}.payroll-scheme-card-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.payroll-scheme-card-title{font-family:var(--admin-font-serif);font-size:22px;color:var(--admin-text-main);line-height:1.2}.payroll-scheme-card-range{margin-top:8px;font-size:12px;color:var(--admin-text-muted)}.payroll-scheme-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payroll-scheme-card-metrics>div{padding:16px;border-radius:0;background:transparent;border:1px solid var(--admin-border);display:flex;flex-direction:column;gap:8px}.payroll-scheme-card-metrics span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--admin-text-muted)}.payroll-scheme-card-metrics strong{font-family:var(--admin-font-serif);font-size:20px;color:var(--admin-text-main)}.payroll-scheme-card-foot{min-height:40px}.payroll-scheme-table-title,.payroll-project-title{display:flex;align-items:center;gap:8px;font-family:var(--admin-font-serif);font-size:18px;color:var(--admin-text-main)}.payroll-scheme-table-meta,.payroll-project-subtitle{margin-top:6px;font-size:12px;color:var(--admin-text-muted)}.payroll-rule-banner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.payroll-rule-banner-item{padding:20px;border-radius:0;background:transparent;border:1px solid var(--admin-border);display:flex;align-items:flex-start;gap:16px}.payroll-rule-banner-item svg{color:var(--admin-text-main);margin-top:4px}.payroll-rule-banner-item strong{display:block;font-family:var(--admin-font-serif);font-size:24px;color:var(--admin-text-main);margin-bottom:4px}.payroll-rule-banner-item span{display:block;font-size:12px;color:var(--admin-text-muted);line-height:1.5}.payroll-readonly-metric{min-height:80px;padding:16px 20px;border-radius:0;background:transparent;border:1px solid var(--admin-border);display:flex;flex-direction:column;justify-content:center;gap:8px}.payroll-readonly-metric strong{font-family:var(--admin-font-serif);font-size:24px;color:var(--admin-text-main);line-height:1}.payroll-readonly-metric span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--admin-text-muted)}.payroll-rule-toolbar{align-items:center}.payroll-rule-toolbar .ant-space-item{display:flex;align-items:center}.payroll-rule-toolbar .ant-btn{border-radius:0!important;text-transform:uppercase;font-size:11px;letter-spacing:.05em;height:44px;padding:0 20px}.payroll-rule-toolbar-select{min-width:240px}.payroll-query-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.payroll-query-toolbar{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:16px;flex:0 0 auto}.payroll-query-segmented.ant-segmented{min-height:44px;padding:0;border-radius:0;background:transparent;border:1px solid var(--admin-border)}.payroll-query-segmented .ant-segmented-item{border-radius:0}.payroll-query-stat-card{border-radius:0!important;border:1px solid var(--admin-border)!important;background:transparent!important;box-shadow:none!important}.payroll-query-stat-card .ant-card-body{padding:24px!important}.payroll-query-stat-card .ant-statistic-content{font-family:var(--admin-font-serif);font-size:28px;color:var(--admin-text-main);margin-top:8px}.payroll-query-stat-card .ant-statistic-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--admin-text-muted)!important}.payroll-table .ant-table{border-radius:0!important;background:transparent!important}.payroll-table .ant-table-container{border:1px solid var(--admin-border)}.payroll-table-scroll-shell.rules-shell::-webkit-scrollbar{height:4px}.payroll-table-scroll-shell.rules-shell::-webkit-scrollbar-thumb{background:var(--admin-border-strong)}@media(max-width:1280px){.payroll-summary-grid,.payroll-query-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.payroll-hero,.payroll-panel-head{flex-direction:column}.payroll-summary-grid,.payroll-rule-banner,.payroll-query-stats{grid-template-columns:1fr}}.boss-dashboard-page,.boss-insight-page{--boss-ink: var(--admin-text-main, oklch(20% .03 145));--boss-muted: var(--admin-text-muted, oklch(45% .02 145));--boss-line: var(--admin-border, oklch(88% .02 145));--boss-panel: transparent;--boss-green: var(--admin-primary, oklch(35% .06 145));--boss-green-soft: var(--admin-primary-soft, oklch(90% .03 145));--boss-gold: oklch(65% .12 65);--boss-gold-soft: oklch(95% .03 70);--boss-red: oklch(50% .15 25);--boss-red-soft: oklch(96% .03 25);--boss-slate: oklch(35% .02 145);--boss-chart-1: oklch(42% .1 145);--boss-chart-2: oklch(50% .08 165);--boss-chart-3: oklch(35% .06 130);--boss-chart-4: oklch(55% .05 145);--boss-chart-5: oklch(38% .04 160);--boss-chart-6: oklch(48% .04 120)}.boss-owner-nav{display:none;flex-wrap:wrap;gap:12px;margin-top:32px}.boss-owner-nav a{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 16px;border-radius:0;border:1px solid var(--boss-line);background:transparent;color:var(--boss-ink);font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.boss-owner-nav a.active,.boss-owner-nav a:hover{background:var(--boss-ink);color:#fff;border-color:var(--boss-ink)}.boss-insight-page{color:var(--boss-ink);display:grid;gap:32px}.boss-insight-page:before{display:none}.boss-insight-hero,.boss-insight-card,.boss-insight-summary-card{border:1px solid var(--boss-line);border-radius:0;background:transparent;box-shadow:none}.boss-insight-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:32px;padding:0 0 32px;border:none;border-bottom:2px solid var(--boss-ink)}.boss-insight-hero-main{min-width:0}.boss-insight-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--boss-green)}.boss-insight-hero h1{margin:16px 0;font-family:var(--admin-font-serif, "Iowan Old Style", Georgia, serif);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1;letter-spacing:-.02em}.boss-insight-hero p{margin:0;max-width:600px;color:var(--boss-muted);font-size:clamp(14px,1.5vw,18px);line-height:1.5}.boss-insight-hero-side{display:grid;gap:24px;align-content:start}.boss-insight-filter-card{border-radius:0;border:1px solid var(--boss-line);background:transparent;padding:24px}.boss-insight-filter-card label{display:block;color:var(--boss-ink);font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}.boss-insight-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.boss-insight-filter-row.single{grid-template-columns:1fr}.boss-insight-filter-card input{width:100%;border-radius:0;border:none;border-bottom:1px solid var(--boss-line);background:transparent;color:var(--boss-ink);font-size:16px;padding:10px 0;min-height:44px;font-family:var(--admin-font-sans);color-scheme:light;display:block}.boss-insight-filter-card input:focus{outline:none;border-bottom-color:var(--boss-ink)}.boss-insight-page .ant-btn{border-radius:0!important;font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;height:38px;border:1px solid var(--boss-ink);background:transparent;color:var(--boss-ink);box-shadow:none!important;transition:all .2s cubic-bezier(.16,1,.3,1)}.boss-insight-page .ant-btn-primary,.boss-insight-page .ant-btn:hover{background:var(--boss-ink)!important;color:#fff!important}.boss-insight-filter-actions{display:flex;gap:12px;margin-top:24px}.boss-insight-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.boss-insight-summary-card{padding:32px 24px;border:none;border-top:4px solid var(--boss-ink);background:var(--admin-surface-low, transparent)}.boss-insight-summary-card span{display:block;color:var(--boss-muted);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.boss-insight-summary-card strong{display:block;margin-top:16px;font-family:Inter,Outfit,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.03em;color:var(--boss-ink);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.boss-insight-summary-card p{margin:16px 0 0;color:var(--boss-muted);line-height:1.5;font-size:14px}.boss-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.boss-insight-grid.three{grid-template-columns:1fr 1fr 1fr}.boss-insight-card{padding:32px 24px;border:none;border-top:1px solid var(--boss-ink)}.boss-insight-card h2{margin:0 0 24px;font-family:var(--admin-font-serif);font-size:clamp(24px,2.5vw,32px);line-height:1.1;color:var(--boss-ink)}.boss-insight-kicker{display:inline-block;margin-bottom:12px;color:var(--boss-green);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.boss-insight-note{color:var(--boss-muted);line-height:1.6;font-size:14px;font-style:italic;font-family:var(--admin-font-serif)}.boss-spark-grid{display:grid;gap:24px}.boss-spark-card{border-radius:0;border:1px solid var(--boss-line);background:transparent;padding:24px}.boss-spark-bars i{background:var(--boss-ink);border-radius:0}@media(max-width:1440px){.boss-insight-summary-grid,.boss-insight-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.boss-insight-hero,.boss-insight-grid,.boss-insight-grid.three,.boss-insight-summary-grid,.boss-source-grid,.boss-status-grid{grid-template-columns:1fr}.boss-insight-hero{border-bottom:none}}@media(max-width:900px){.boss-owner-nav{display:flex}}@media(max-width:640px){.boss-insight-summary-card,.boss-insight-card{padding:24px 16px}}.boss-dashboard-page{--boss-ink: #0a0f0d;--boss-muted: #53615a;--boss-line: #e2e8e5;--boss-panel: #ffffff;--boss-panel-alt: #f8faf9;--boss-green: #0d5f42;--boss-green-soft: #edf7f3;--boss-gold: #9e6d24;--boss-gold-soft: #f9f4ea;--boss-red: #a1362b;--boss-slate: #2c3e3a;color:var(--boss-ink);display:grid;gap:18px;position:relative}.boss-dashboard-page:before{content:"";position:absolute;inset:-24px;background:radial-gradient(circle at top left,rgba(15,107,75,.1),transparent 32%),radial-gradient(circle at top right,rgba(184,128,43,.14),transparent 28%),linear-gradient(135deg,rgba(18,61,45,.04),transparent 42%),repeating-linear-gradient(135deg,rgba(20,33,29,.018),rgba(20,33,29,.018) 1px,transparent 1px,transparent 10px);pointer-events:none}.boss-dashboard-page>*{position:relative;z-index:1}.boss-hero-card,.boss-panel,.boss-attention-strip{border:1px solid var(--boss-line);background:var(--boss-panel);border-radius:0!important;box-shadow:none!important}.boss-hero-card{display:grid;gap:18px;overflow:hidden;padding:24px}.boss-hero-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:18px;align-items:start}.boss-hero-copy h1{margin:8px 0 12px;font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.1;letter-spacing:-.02em}.boss-hero-copy p{max-width:720px;margin:0;color:var(--boss-muted);line-height:1.68;font-size:14px}.boss-hero-kicker,.boss-panel-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--boss-green)}.boss-panel-kicker{margin-bottom:8px}.boss-filter-shell,.boss-trend-shell{border-radius:0;padding:24px;background:transparent;border:1px solid var(--boss-line)}.boss-filter-label,.boss-trend-heading span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--boss-muted)}.boss-filter-topline{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.boss-filter-subtitle{margin-top:6px;color:var(--boss-muted);font-size:13px;line-height:1.55}.boss-filter-badge{flex-shrink:0;padding:6px 10px;border-radius:0;border:1px solid var(--boss-ink);background:transparent;color:var(--boss-ink);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.boss-store-filter-card{margin-top:14px;display:grid;gap:8px}.boss-store-filter-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--boss-muted)}.boss-store-select{width:100%}.boss-store-select.ant-select-single{height:48px}.boss-store-select .ant-select-selector{height:48px!important;padding-inline:14px!important;border-radius:0!important;border-color:var(--boss-line)!important;background:transparent!important;box-shadow:none!important;display:flex;align-items:center}.boss-store-select.ant-select-focused .ant-select-selector,.boss-store-select:hover .ant-select-selector{border-color:var(--boss-ink)!important;box-shadow:none!important}.boss-store-select .ant-select-selection-item,.boss-store-select .ant-select-selection-placeholder{line-height:1.2!important;display:flex;align-items:center}.boss-store-select .ant-select-selection-search-input{height:46px!important}.boss-store-filter-helper{color:var(--boss-muted);font-size:12px;line-height:1.5}.boss-date-field{position:relative;display:block;margin-top:14px;padding:16px 18px;border-radius:0;border:1px solid var(--boss-line);background:transparent;box-shadow:none;cursor:pointer;transition:border-color .2s}.boss-date-field:focus-within{border-color:var(--boss-ink)}.boss-date-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--boss-muted);margin-bottom:10px}.boss-date-picker{width:100%;border-radius:0!important;border:none!important;border-bottom:1px solid var(--boss-line)!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:auto!important}.boss-date-picker .ant-picker-input>input{font-family:var(--admin-font-sans, "Outfit", sans-serif)!important;font-size:clamp(1.35rem,2vw,1.8rem)!important;font-weight:700;letter-spacing:-.02em;color:var(--boss-ink)!important;line-height:1.2;padding:0 0 8px!important;height:auto!important}.boss-date-picker.ant-picker:hover,.boss-date-picker.ant-picker-focused{border-bottom-color:var(--boss-ink)!important;box-shadow:none!important}.boss-date-picker .ant-picker-suffix{color:var(--boss-muted)}.boss-date-picker .ant-picker-active-bar{background:var(--boss-ink)}.boss-date-helper{display:block;margin-top:8px;color:var(--boss-muted);font-size:13px}.boss-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.boss-filter-actions .ant-btn{border-radius:0;width:100%;height:48px;font-weight:600;letter-spacing:.05em}.boss-scope-note{margin-top:14px;color:var(--boss-muted);font-size:13px;line-height:1.6}.boss-scope-note:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:0;background:var(--boss-line);vertical-align:middle}.boss-trend-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.boss-trend-heading strong{font-size:13px;color:var(--boss-ink)}.boss-trend-bars{margin-top:18px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;min-height:170px}.boss-trend-bar{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:170px}.boss-trend-bar-rail{width:100%;height:142px;display:flex;align-items:flex-end}.boss-trend-bar-fill{width:100%;min-height:16px;border-radius:0;background:var(--boss-ink);box-shadow:none}.boss-trend-bar span{font-size:12px;color:var(--boss-muted)}.boss-loading-shell,.boss-empty-shell{min-height:240px;display:grid;place-items:center;border-radius:0;border:1px solid var(--boss-line);background:transparent}.boss-kpi-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:24px}.boss-kpi-card{padding:24px;position:relative;overflow:hidden;border:1px solid var(--boss-line);background:transparent;border-radius:0}.boss-kpi-card.featured-kpi{background:var(--boss-ink);color:var(--admin-surface, #fff);border-color:var(--boss-ink)}.boss-kpi-card.featured-kpi .boss-kpi-topline,.boss-kpi-card.featured-kpi .boss-kpi-supporting{color:#ffffffb3}.boss-kpi-card.featured-kpi .boss-kpi-value{color:#fff;font-size:clamp(3rem,5vw,4.5rem)}.boss-kpi-comparison-featured{display:flex;gap:32px;margin-top:24px;border-top:1px solid rgba(255,255,255,.1);padding-top:24px}.meta-block{display:flex;flex-direction:column;gap:6px}.meta-block .meta-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#fff9}.meta-block .meta-value{font-family:var(--admin-font-serif, "Iowan Old Style", Georgia, serif);font-size:24px;color:#fff}.boss-kpi-card.secondary-kpi:after{content:"";position:absolute;inset:auto -20% -45% auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(15,107,75,.08),transparent 70%)}.boss-kpi-card.secondary-kpi.tone-good{border-color:#0f6b4b4d}.boss-kpi-card.secondary-kpi.tone-warn{border-color:#b8802b4d}.boss-kpi-card.secondary-kpi.tone-critical{border-color:#b842344d}.boss-kpi-topline,.boss-kpi-comparison,.boss-ranking-meta,.boss-attention-metrics,.boss-heat-meta,.boss-alert-foot{display:flex;flex-wrap:wrap;gap:10px}.boss-kpi-topline{justify-content:space-between;align-items:center;color:var(--boss-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.boss-kpi-chip{padding:4px 10px;border-radius:0;border:1px solid rgba(15,107,75,.2);background:transparent;color:var(--boss-green);font-size:10px;letter-spacing:.1em}.boss-kpi-value{margin-top:24px;font-family:var(--admin-font-serif, "Iowan Old Style", Georgia, serif);font-size:clamp(2rem,3.4vw,3rem);line-height:1;letter-spacing:-.05em}.boss-kpi-comparison{margin-top:20px;color:var(--boss-muted);font-size:12px;border-top:1px solid var(--boss-line);padding-top:12px}.boss-kpi-supporting{margin-top:12px;font-size:13px;line-height:1.6;color:var(--boss-ink)}.boss-revenue-snapshot-panel{overflow:hidden}.boss-revenue-mode-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:0;border:1px solid var(--boss-line);background:transparent;color:var(--boss-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.boss-revenue-mode-pill.type-actual{color:var(--boss-ink);border-color:var(--boss-line);background:var(--boss-line)}.boss-revenue-mode-pill.type-hybrid{color:var(--boss-gold);border-color:var(--boss-gold);background:transparent}.boss-revenue-mode-pill.type-in_hand_estimate{color:var(--boss-slate)}.boss-revenue-snapshot-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:14px}.boss-revenue-primary-card,.boss-revenue-mini-card{min-height:100%;border:1px solid var(--boss-line);border-radius:0;background:transparent;padding:24px}.boss-revenue-primary-card{background:transparent;border-top:2px solid var(--boss-ink)}.boss-revenue-primary-card span,.boss-revenue-mini-card span{display:block;color:var(--boss-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.boss-revenue-primary-card strong,.boss-revenue-mini-card strong{display:block;margin-top:14px;font-family:var(--admin-font-sans, "Outfit", sans-serif);line-height:1.1;letter-spacing:-.02em;color:var(--boss-ink)}.boss-revenue-primary-card strong{font-size:clamp(2.3rem,4vw,4rem)}.boss-revenue-mini-card strong{font-size:clamp(1.7rem,2.4vw,2.5rem)}.boss-revenue-primary-card p,.boss-revenue-mini-card p{margin:14px 0 0;color:var(--boss-muted);font-size:13px;line-height:1.65}.boss-revenue-mini-card.accent-gold{border-top:1px solid var(--boss-gold)}.boss-revenue-heatmap-panel{overflow:hidden}.boss-revenue-heatmap-year-picker{min-width:188px;display:grid;justify-items:end;gap:8px}.boss-revenue-heatmap-year-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--boss-muted)}.boss-revenue-heatmap-year-select{width:100%}.boss-revenue-heatmap-year-select.ant-select-single{height:44px}.boss-revenue-heatmap-year-select .ant-select-selector{height:44px!important;padding-inline:12px!important;border-radius:0!important;border-color:var(--boss-line)!important;background:transparent!important;box-shadow:none!important;display:flex;align-items:center}.boss-revenue-heatmap-year-select.ant-select-focused .ant-select-selector,.boss-revenue-heatmap-year-select:hover .ant-select-selector{border-color:var(--boss-ink)!important;box-shadow:none!important}.boss-revenue-heatmap-year-select .ant-select-selection-item,.boss-revenue-heatmap-year-select .ant-select-selection-placeholder{line-height:1.2!important;display:flex;align-items:center}.boss-revenue-heatmap-year-select .ant-select-selection-search-input{height:42px!important}.boss-revenue-heatmap-year-helper{color:var(--boss-muted);font-size:12px;line-height:1.45}.boss-revenue-heatmap-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.boss-revenue-heatmap-meta div{padding:16px;border-radius:0;border:1px solid var(--boss-line);background:transparent}.boss-revenue-heatmap-meta span{display:block;color:var(--boss-muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.boss-revenue-heatmap-meta strong{display:block;margin-top:8px;font-family:Iowan Old Style,Georgia,serif;font-size:clamp(1.4rem,2vw,2rem);line-height:1}.boss-revenue-heatmap-scroll{overflow-x:auto;padding-bottom:8px}.boss-revenue-heatmap-shell{--boss-heatmap-cell-size: 14px;--boss-heatmap-gap: 6px;min-width:940px}.boss-revenue-heatmap-months{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;margin-bottom:10px}.boss-revenue-heatmap-weekday-spacer{min-height:1px}.boss-revenue-heatmap-month-track{display:grid;gap:var(--boss-heatmap-gap);min-width:max-content}.boss-revenue-heatmap-month-track span{display:block;min-width:var(--boss-heatmap-cell-size);font-size:11px;color:transparent;line-height:1;white-space:nowrap}.boss-revenue-heatmap-month-track span.visible{color:var(--boss-muted)}.boss-revenue-heatmap-body{display:grid;grid-template-columns:52px auto;gap:14px;align-items:start}.boss-revenue-heatmap-weekdays{display:grid;grid-template-rows:repeat(7,var(--boss-heatmap-cell-size));gap:var(--boss-heatmap-gap)}.boss-revenue-heatmap-weekdays span{display:flex;align-items:center;color:var(--boss-muted);font-size:11px}.boss-revenue-heatmap-weeks{display:grid;gap:var(--boss-heatmap-gap);min-width:max-content}.boss-revenue-heatmap-week{display:grid;grid-template-rows:repeat(7,var(--boss-heatmap-cell-size));gap:var(--boss-heatmap-gap)}.boss-revenue-cell{width:var(--boss-heatmap-cell-size);height:var(--boss-heatmap-cell-size);padding:0;border:0;border-radius:0;background:var(--boss-line)}.boss-revenue-cell.level-0{background:#f4f7f6}.boss-revenue-cell.level-1{background:#d3e7dc}.boss-revenue-cell.level-2{background:#a2cfbc}.boss-revenue-cell.level-3{background:#60b289}.boss-revenue-cell.level-4{background:#2f9462}.boss-revenue-cell.level-5{background:var(--boss-green)}.boss-revenue-cell.outside{opacity:.15}.boss-revenue-heatmap-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:24px}.boss-revenue-heatmap-footer p{margin:0;color:var(--boss-muted);font-size:12px;line-height:1.6}.boss-revenue-heatmap-legend{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:0;border:1px solid var(--boss-line);background:transparent;color:var(--boss-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.boss-revenue-heatmap-legend-label{font-weight:700;letter-spacing:.06em}.boss-revenue-heatmap-legend-scale{display:inline-grid;grid-template-columns:repeat(6,14px);gap:4px;align-items:center;padding:0;background:transparent;box-shadow:none}.boss-revenue-heatmap-legend .boss-revenue-cell{display:inline-block;width:14px;height:14px;flex:0 0 14px;border-radius:0;pointer-events:none;box-shadow:none}.boss-revenue-heatmap-legend .boss-revenue-cell.level-0{background:#f4f7f6;border:1px solid var(--boss-line)}.boss-attention-strip{padding:20px}.boss-section-title{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.boss-section-copy{display:grid;gap:4px}.boss-section-title span{font-size:18px;font-weight:700}.boss-section-title strong{color:var(--boss-muted);font-size:13px}.boss-section-actions,.boss-panel-head-side{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-items:center}.boss-panel-link{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 16px;border-radius:0;border:1px solid var(--boss-ink);background:var(--boss-ink);color:#fff;font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.boss-panel-link:hover{background:transparent;color:var(--boss-ink)}.boss-panel-link.subtle{background:transparent;border-color:var(--boss-line);color:var(--boss-muted)}.boss-panel-link.subtle:hover{background:var(--boss-ink);border-color:var(--boss-ink);color:#fff}.boss-dashboard-page .ant-btn{border-radius:0!important;font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;height:38px;border:1px solid var(--boss-ink);background:transparent;color:var(--boss-ink);box-shadow:none!important}.boss-dashboard-page .ant-btn-primary{background:var(--boss-ink)!important;color:#fff!important}.boss-dashboard-page .ant-btn:hover{background:var(--boss-ink)!important;color:#fff!important;border-color:var(--boss-ink)!important}.boss-attention-grid,.boss-radar-grid,.boss-ops-strip{display:grid;gap:14px}.boss-attention-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.boss-attention-card{padding:24px;border-radius:0;border:1px solid var(--boss-line);background:transparent;transition:border-color .2s}.boss-attention-card.tone-good{border-top:3px solid var(--boss-green)}.boss-attention-card.tone-warn{border-top:3px solid var(--boss-gold)}.boss-attention-card.tone-critical{border-top:3px solid var(--boss-red);background:var(--boss-red-soft)}.boss-attention-head{display:flex;justify-content:space-between;gap:12px}.boss-attention-head h3,.boss-panel-head h2,.boss-alert-card h3{margin:0}.boss-attention-head p,.boss-radar-note,.boss-alert-card p{margin:6px 0 0;color:var(--boss-muted);line-height:1.6}.boss-attention-head span{align-self:start;padding:0;border-radius:0;background:transparent;color:var(--boss-ink);font-size:11px;font-weight:600;text-transform:uppercase}.boss-three-column{display:grid;grid-template-columns:1.25fr .78fr .97fr;gap:18px}.boss-panel{padding:22px}.boss-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:20px}.boss-panel-head h2{font-size:24px;line-height:1.15}.boss-panel-head strong{color:var(--boss-muted);font-size:13px}.boss-ranking-table,.boss-heat-list,.boss-tech-list,.boss-alert-list{display:grid;gap:12px}.boss-ranking-row,.boss-heat-row,.boss-tech-row,.boss-alert-card{border-radius:0;border:1px solid var(--boss-line);background:transparent}.boss-ranking-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 20px}.boss-ranking-rank,.boss-tech-rank{width:40px;height:40px;border-radius:0;display:grid;place-items:center;border:1px solid var(--boss-line);background:transparent;font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:14px;font-weight:700;color:var(--boss-ink)}.boss-ranking-title,.boss-heat-header,.boss-alert-topline{display:flex;justify-content:space-between;gap:12px;align-items:start}.boss-health-pill{padding:0;border-radius:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.boss-health-pill.tone-good{color:var(--boss-green)}.boss-health-pill.tone-warn{color:var(--boss-gold)}.boss-health-pill.tone-critical{color:var(--boss-red)}.boss-ranking-meta,.boss-ranking-side,.boss-heat-meta,.boss-tech-meta{color:var(--boss-muted);font-size:12px}.boss-ranking-side,.boss-tech-meta{display:grid;gap:4px;text-align:right}.boss-radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-radar-grid div,.boss-ops-strip div{padding:24px;border-radius:0;background:transparent;border:1px solid var(--boss-line)}.boss-radar-grid span,.boss-ops-strip span{display:block;color:var(--boss-muted);font-size:12px}.boss-radar-grid strong,.boss-ops-strip strong{display:block;margin-top:8px;font-family:var(--admin-font-sans, "Outfit", sans-serif);font-size:32px;font-weight:700;line-height:1.1}.boss-radar-note{margin-top:18px;font-size:13px}.boss-ops-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-heat-row{padding:16px}.boss-heat-header span{padding:0;border-radius:0;background:transparent;color:var(--boss-ink);font-size:11px;font-weight:600;text-transform:uppercase}.boss-heat-bars{display:grid;gap:10px;margin-top:12px}.boss-heat-bars label{display:block;margin-bottom:6px;font-size:11px;color:var(--boss-muted)}.boss-heat-bars progress{width:100%;height:6px;border-radius:0;overflow:hidden}.boss-heat-bars progress::-webkit-progress-bar{background:var(--boss-line);border-radius:0}.boss-heat-bars progress::-webkit-progress-value{background:var(--boss-ink);border-radius:0}.boss-bottom-grid{align-items:start}.boss-funnel-steps{display:grid;gap:10px}.boss-funnel-step{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 20px;border-radius:0;border:1px solid var(--boss-line);background:transparent}.boss-funnel-step.accent-mist{border-left:4px solid #96a7a0}.boss-funnel-step.accent-leaf{border-left:4px solid #0f6b4b}.boss-funnel-step.accent-gold{border-left:4px solid #b8802b}.boss-funnel-step.accent-forest{border-left:4px solid #103227}.boss-funnel-step.accent-ember{border-left:4px solid #b84234}.boss-funnel-step.accent-slate{border-left:4px solid #4d6760}.boss-funnel-step span{color:var(--boss-muted)}.boss-funnel-step strong{font-size:24px;font-family:Iowan Old Style,Georgia,serif}.boss-funnel-rates{margin-top:16px;display:grid;gap:12px}.boss-funnel-rates div{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:0;border:1px dashed var(--boss-line);background:transparent}.boss-tech-tab-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.boss-tech-tab-row button{text-align:left;padding:16px;border-radius:0;border:1px solid var(--boss-line);background:transparent;cursor:pointer;transition:border-color .2s}.boss-tech-tab-row button.active{border-color:var(--boss-ink);background:var(--boss-ink);color:var(--admin-surface, #ffffff)}.boss-tech-tab-row span{display:block;font-weight:700}.boss-tech-tab-row small{display:block;margin-top:6px;color:inherit;opacity:.7}.boss-tech-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px}.boss-tech-main span{display:block;margin-top:4px;color:var(--boss-muted);font-size:12px}.boss-alert-card{padding:24px}.boss-alert-card.severity-high{border-top:3px solid var(--boss-red)}.boss-alert-card.severity-medium{border-top:3px solid var(--boss-gold)}.boss-alert-card.severity-low{border-top:3px solid var(--boss-green)}.boss-alert-topline span{padding:0;border-radius:0;background:transparent;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--boss-ink)}.boss-alert-topline strong{color:var(--boss-muted);font-size:12px}.boss-alert-card h3{margin-top:12px;font-size:18px}.boss-alert-foot{margin-top:14px;justify-content:space-between;align-items:end}.boss-alert-foot span{font-weight:700}.boss-alert-foot small{color:var(--boss-muted);line-height:1.5}.boss-alert-empty{min-height:220px;display:grid;place-items:center}@media(max-width:1440px){.boss-kpi-grid,.boss-revenue-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-revenue-primary-card{grid-column:1 / -1}.boss-three-column,.boss-attention-grid{grid-template-columns:1fr}}@media(max-width:960px){.boss-hero-card{padding:22px}.boss-hero-top,.boss-kpi-grid,.boss-revenue-snapshot-grid,.boss-radar-grid,.boss-ops-strip,.boss-tech-tab-row,.boss-ranking-row,.boss-tech-row{grid-template-columns:1fr}.boss-ranking-side,.boss-tech-meta{text-align:left}.boss-trend-bars{min-height:140px}.boss-revenue-primary-card{grid-column:auto}.boss-filter-actions,.boss-section-actions,.boss-panel-head-side,.boss-revenue-heatmap-year-picker{width:100%}}@media(max-width:640px){.boss-dashboard-page{gap:16px}.boss-dashboard-page:before{inset:-12px}.boss-hero-card,.boss-panel,.boss-attention-strip,.boss-kpi-card{border-radius:0}.boss-hero-card{padding:18px;gap:16px}.boss-hero-copy h1{font-size:clamp(2rem,12vw,2.9rem);line-height:1}.boss-hero-copy p{font-size:14px;line-height:1.68}.boss-filter-shell,.boss-trend-shell,.boss-panel,.boss-kpi-card,.boss-attention-strip{padding:16px}.boss-filter-topline{flex-direction:column}.boss-filter-badge{align-self:flex-start}.boss-date-field{padding:15px 16px;border-radius:0}.boss-filter-actions .ant-btn{height:44px}.boss-trend-heading,.boss-section-title,.boss-panel-head,.boss-attention-head,.boss-ranking-title,.boss-heat-header,.boss-alert-topline,.boss-alert-foot,.boss-revenue-heatmap-footer{flex-direction:column;align-items:flex-start}.boss-panel-head{margin-bottom:16px}.boss-section-actions,.boss-panel-head-side{justify-content:flex-start}.boss-revenue-heatmap-year-picker{justify-items:start}.boss-revenue-heatmap-meta{grid-template-columns:1fr}.boss-revenue-heatmap-shell{min-width:760px}.boss-revenue-heatmap-months,.boss-revenue-heatmap-body{grid-template-columns:42px auto;gap:10px}.boss-revenue-heatmap-footer{margin-top:14px}.boss-trend-bars{min-height:120px;gap:8px}.boss-trend-bar{min-height:120px}.boss-trend-bar-rail{height:92px}.boss-kpi-card{padding:18px}.boss-kpi-value{font-size:clamp(1.9rem,11vw,2.5rem)}.boss-revenue-primary-card,.boss-revenue-mini-card{padding:18px;border-radius:0}.boss-revenue-primary-card strong{font-size:clamp(2rem,12vw,2.8rem)}.boss-revenue-mini-card strong{font-size:clamp(1.7rem,9vw,2.3rem)}.boss-attention-grid{margin-top:14px}.boss-attention-card{padding:16px}.boss-ranking-row{grid-template-columns:44px minmax(0,1fr);padding:14px}.boss-ranking-side{grid-column:1 / -1;padding-top:6px;border-top:1px solid rgba(29,57,47,.1)}.boss-radar-grid strong,.boss-ops-strip strong{font-size:28px}.boss-funnel-step,.boss-funnel-rates div,.boss-tech-row,.boss-alert-card{padding:14px}.boss-funnel-rates div{flex-direction:column;align-items:flex-start}.boss-tech-tab-row button{padding:12px 14px}}.boss-revenue-page{gap:32px}.boss-revenue-hero{overflow:hidden;grid-template-columns:1fr;gap:32px}.boss-revenue-hero .boss-insight-hero-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.boss-revenue-hero .boss-insight-hero-main p{max-width:720px}.boss-revenue-hero .boss-insight-filter-card{padding:24px}.boss-revenue-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.boss-revenue-option-grid.compact{grid-template-columns:1fr}.boss-revenue-choice{padding:16px;border-radius:0;border:1px solid var(--boss-line);background:transparent;color:var(--boss-ink);text-align:left;cursor:pointer;transition:all .2s ease}.boss-revenue-choice:hover{border-color:var(--boss-ink)}.boss-revenue-choice.active{border-color:var(--boss-ink);background:var(--boss-ink);color:var(--admin-surface, #fff)}.boss-revenue-choice.active span{color:#ffffffb3}.boss-revenue-choice.compact{padding:16px}.boss-revenue-choice strong,.boss-revenue-choice span{display:block}.boss-revenue-choice strong{font-size:14px}.boss-revenue-choice span{margin-top:6px;color:var(--boss-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;line-height:1.5}.boss-revenue-store-select{width:100%}.boss-revenue-store-select.ant-select-single{height:44px}.boss-revenue-store-select .ant-select-selector{height:48px!important;padding-inline:0!important;border-radius:0!important;border:none!important;border-bottom:1px solid var(--boss-line)!important;background:transparent!important;box-shadow:none!important;display:flex;align-items:center}.boss-revenue-store-select .ant-select-selection-item,.boss-revenue-store-select .ant-select-selection-placeholder{line-height:1.2!important;display:flex;align-items:center}.boss-revenue-store-select .ant-select-selection-search-input{height:46px!important}.boss-revenue-filter-note{margin-top:16px}@media(max-width:1100px){.boss-revenue-hero .boss-insight-hero-side{grid-template-columns:1fr}}.boss-revenue-summary-primary{background:transparent}.boss-delta-up{color:var(--boss-green)}.boss-delta-down{color:var(--boss-red)}.boss-delta-neutral{color:var(--boss-slate)}.boss-revenue-period-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:24px}.boss-revenue-period-card{border-radius:0;border:1px solid var(--boss-line);background:transparent;padding:24px}.boss-revenue-period-card.primary{background:var(--admin-surface-low, transparent);border-top:4px solid var(--boss-ink)}.boss-revenue-period-card span{display:block;color:var(--boss-muted);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.boss-revenue-period-card strong{display:block;margin-top:16px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.boss-revenue-period-card p{margin:16px 0 0;color:var(--boss-muted);font-size:14px;line-height:1.6}.boss-revenue-period-meta{display:grid;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--boss-line)}.boss-revenue-period-meta span{color:var(--boss-muted);font-size:12px;line-height:1.5}.boss-revenue-quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.boss-revenue-quality-block{border-radius:0;border:1px solid var(--boss-line);background:transparent;padding:24px}.boss-revenue-quality-top{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.boss-revenue-quality-top span{color:var(--boss-muted);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.boss-revenue-quality-top strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";word-break:break-all;min-width:0}.boss-revenue-quality-block p{margin:16px 0 0;color:var(--boss-muted);font-size:13px;line-height:1.6}.boss-revenue-quality-meter{margin-top:24px;height:4px;border-radius:0;background:var(--boss-line);overflow:hidden}.boss-revenue-quality-meter i{display:block;height:100%;border-radius:0;background:var(--boss-ink)}.boss-revenue-quality-meter.light i{background:var(--boss-ink)}.boss-revenue-quality-meter.compact{margin-top:12px;height:4px}.boss-revenue-channel-list{display:grid;gap:16px;margin-top:24px}.boss-revenue-channel-row{padding-top:16px;border-top:1px solid var(--boss-line)}.boss-revenue-channel-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.boss-revenue-channel-head strong{font-size:14px}.boss-revenue-channel-head span{color:var(--boss-muted);font-size:13px}.boss-revenue-trend{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:16px;align-items:end}.boss-revenue-trend-bar{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:230px}.boss-revenue-trend-stack{height:170px;display:flex;align-items:flex-end}.boss-revenue-trend-fill{width:100%;min-height:14px;border-radius:0;background:var(--boss-ink);box-shadow:none}.boss-revenue-trend-bar strong{font-size:14px}.boss-revenue-trend-bar span{color:var(--boss-muted);font-size:11px;text-transform:uppercase}.boss-revenue-table-head,.boss-revenue-table-row{grid-template-columns:1.15fr 1fr .95fr 1.05fr}.boss-revenue-structure-head,.boss-revenue-structure-row{grid-template-columns:1.15fr .95fr .95fr .95fr 1.1fr}.boss-revenue-compare-cell{min-width:0}.boss-revenue-compare-cell strong{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:18px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.boss-revenue-shift-meta{gap:8px 14px}.boss-revenue-shift-meta span{white-space:nowrap}@media(max-width:1100px){.boss-revenue-period-grid,.boss-revenue-quality-grid{grid-template-columns:1fr}}@media(max-width:900px){.boss-revenue-option-grid,.boss-revenue-hero .boss-insight-hero-side,.boss-revenue-table-head,.boss-revenue-table-row,.boss-revenue-structure-head,.boss-revenue-structure-row{grid-template-columns:1fr}}@media(max-width:640px){.boss-revenue-trend{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-revenue-period-card,.boss-revenue-quality-block{padding:16px}.boss-revenue-shift-meta span{white-space:normal}}.bsct-root{margin-top:24px}.bsct-legend{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:16px}.bsct-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--boss-muted);text-transform:uppercase;letter-spacing:.04em}.bsct-legend-item i{display:block;width:24px;height:3px;border-radius:0}.bsct-legend-current i{background:var(--boss-ink)}.bsct-legend-prev i{background:var(--boss-ink);opacity:.4}.bsct-legend-lastyear i{background:var(--boss-ink);opacity:.18}.bsct-share-bar{display:flex;height:16px;border-radius:0;overflow:hidden;gap:2px;margin-bottom:10px}.bsct-share-seg{flex-shrink:0;min-width:2px;border-radius:0;transition:opacity .2s}.bsct-share-seg:hover{opacity:.75}.bsct-share-bar-labels{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:24px}.bsct-share-dot-label{display:flex;align-items:center;gap:6px;font-size:12px}.bsct-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.bsct-share-dot-name{color:var(--boss-ink);font-weight:500}.bsct-share-dot-pct{color:var(--boss-muted)}.bsct-rows{display:grid;gap:0}.bsct-row{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start;padding:20px 0;border-top:1px solid var(--boss-line)}.bsct-row:last-child{border-bottom:1px solid var(--boss-line)}.bsct-row-label{min-width:0}.bsct-row-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.bsct-row-title strong{font-size:14px;line-height:1.4}.bsct-row-sub{font-size:11px;color:var(--boss-muted);margin-left:16px;margin-bottom:10px;line-height:1.5}.bsct-shift-tags{display:flex;flex-wrap:wrap;gap:6px;margin-left:16px}.bsct-shift-tag{font-size:11px;padding:2px 6px;border:1px solid currentColor;border-radius:2px;white-space:nowrap;opacity:.85}.bsct-shift-tag.boss-delta-neutral{color:var(--boss-muted);border-color:var(--boss-line)}.bsct-row-bars{display:grid;gap:10px}.bsct-bar-group{display:grid;gap:4px}.bsct-bar-meta{display:flex;align-items:baseline;gap:8px}.bsct-bar-label{font-size:10px;color:var(--boss-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;width:64px;flex-shrink:0}.bsct-bar-amount{font-size:13px;font-weight:600;color:var(--boss-ink)}.bsct-bar-share{font-size:11px;color:var(--boss-muted)}.bsct-mini-bar-wrap{padding-left:72px}.bsct-mini-bar-track{height:6px;background:var(--boss-line);border-radius:0;overflow:hidden}.bsct-mini-bar-fill{height:100%;border-radius:0;transition:width .4s cubic-bezier(.4,0,.2,1)}.bsct-note{margin-top:20px}@media(max-width:900px){.bsct-row{grid-template-columns:1fr}.bsct-mini-bar-wrap{padding-left:0}}.boss-store-chart{display:grid;gap:0;margin-top:24px}.boss-store-chart-row{display:grid;grid-template-columns:160px 1fr 220px;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--boss-line)}.boss-store-chart-row:last-child{border-bottom:1px solid var(--boss-line)}.boss-store-chart-name{display:flex;align-items:center;gap:10px;min-width:0}.boss-store-chart-name>div{min-width:0}.boss-store-chart-name strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-store-chart-name span{display:block;font-size:11px;color:var(--boss-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.boss-store-chart-bar-area{min-width:0}.boss-store-chart-bar-track{height:10px;background:var(--boss-line);border-radius:0;overflow:hidden}.boss-store-chart-bar-fill{height:100%;border-radius:0;transition:width .45s cubic-bezier(.4,0,.2,1)}.boss-store-chart-bar-labels{display:flex;gap:12px;margin-top:6px}.boss-store-chart-actual,.boss-store-chart-estimated{font-size:11px;color:var(--boss-muted)}.boss-store-chart-stats{text-align:right}.boss-store-stat-main{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:6px}.boss-store-stat-revenue{font-size:18px;font-weight:700;font-family:var(--admin-font-serif, "Iowan Old Style", Georgia, serif);color:var(--boss-ink)}.boss-store-share-pill{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;letter-spacing:.02em}.boss-store-stat-sub{display:flex;gap:10px;justify-content:flex-end;font-size:12px;color:var(--boss-muted);margin-bottom:4px}.boss-store-stat-delta{display:flex;gap:10px;justify-content:flex-end;font-size:12px;font-weight:600}@media(max-width:1100px){.boss-store-chart-row{grid-template-columns:140px 1fr 180px}}@media(max-width:800px){.boss-store-chart-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.boss-store-chart-name,.boss-store-chart-bar-area{grid-column:1 / -1}.boss-store-chart-stats{text-align:left;grid-column:1 / -1}.boss-store-stat-main,.boss-store-stat-sub,.boss-store-stat-delta{justify-content:flex-start}}.login-page{--login-ink: oklch(20% .03 145);--login-muted: oklch(45% .02 145);--login-line: oklch(88% .02 145);--login-green: oklch(35% .06 145);--login-green-soft: oklch(90% .03 145);min-height:100vh;display:grid;place-items:center;padding:40px 24px;background-color:var(--admin-surface, #fff);color:var(--login-ink);font-family:var(--admin-font-sans, "Outfit", sans-serif)}.login-container{width:100%;max-width:440px;display:flex;flex-direction:column;gap:48px}.login-header{text-align:left;border-bottom:2px solid var(--login-ink);padding-bottom:32px}.login-header .eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--login-green);margin-bottom:12px}.login-header h1{margin:0;font-family:var(--admin-font-serif, "Iowan Old Style", Georgia, serif);font-size:clamp(2.5rem,8vw,3.5rem);line-height:1;letter-spacing:-.02em}.login-header p{margin:16px 0 0;font-size:14px;color:var(--login-muted);line-height:1.6;max-width:320px}.login-form-wrap{border:1px solid var(--login-line);padding:40px;background:transparent}.login-form-wrap label{display:block;font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;color:var(--login-ink)}.login-page .ant-form-item-label>label{font-size:10px!important;font-weight:500!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:var(--login-ink)!important;height:auto!important}.login-page .ant-input{border-radius:0!important;border:none!important;border-bottom:1px solid var(--login-line)!important;background:transparent!important;padding:12px 0!important;font-size:18px!important;box-shadow:none!important;color:var(--login-ink)!important;font-family:var(--admin-font-sans)!important}.login-page .ant-input:focus,.login-page .ant-input-focused{border-bottom-color:var(--login-ink)!important}.login-page .ant-btn{border-radius:0!important;font-family:var(--admin-font-sans, "Outfit", sans-serif)!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.12em!important;height:48px!important;border:1px solid var(--login-ink)!important;background:transparent!important;color:var(--login-ink)!important;box-shadow:none!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.login-page .ant-btn-primary,.login-page .ant-btn:hover{background:var(--login-ink)!important;color:#fff!important}.login-footer{margin-top:24px}.login-download-card{border-top:1px solid var(--login-line);padding-top:32px}.login-download-card span{display:block;font-size:11px;color:var(--login-muted);margin-bottom:16px;font-style:italic;font-family:var(--admin-font-serif)}.login-download-trigger{display:inline-flex;align-items:center;gap:12px;padding:0;border:none;background:transparent;color:var(--login-ink);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:opacity .2s}.login-download-trigger:hover{opacity:.7}.login-download-trigger svg{font-size:16px}.ant-modal-content{border-radius:0!important;box-shadow:0 20px 40px #0000001a!important;padding:40px!important}.ant-modal-header{margin-bottom:24px!important}.ant-modal-title{font-family:var(--admin-font-serif)!important;font-size:24px!important}.ant-modal-footer .ant-btn{height:38px!important}@media(max-width:640px){.login-container{gap:32px}.login-form-wrap{padding:24px}}


/* hotfix-room-confirm-modal-layer-20260428: keep room confirmation mask above calendar headers, cards, and current-time marker only while the modal is open. */
.dispatch-drawer:has(.modal-overlay){z-index:7000!important}.dispatch-drawer:has(.modal-overlay) .modal-overlay{z-index:7000!important}
