:root{--primary-900:#004994;--primary-500:#167ee8;--highlight-teal:#0c8796;--highlight-orange:#fe7a13;--highlight-amber:#fea613;--bg-900:#151332;--bg-800:#1a2d47;--bg-danger:#a82e43;--white:#fff;--bg:var(--bg-900);--text-h:var(--white);--text:color-mix(in srgb, var(--white), var(--bg-900) 35%);--border:color-mix(in srgb, var(--white), var(--bg-900) 85%);--code-bg:color-mix(in srgb, var(--bg-800), var(--bg-900) 30%);--accent:var(--primary-500);--accent-bg:color-mix(in srgb, var(--primary-500), transparent 86%);--accent-border:color-mix(in srgb, var(--primary-500), transparent 55%);--social-bg:color-mix(in srgb, var(--bg-800), transparent 35%);--shadow:color-mix(in srgb, var(--bg-900), transparent 55%) 0 14px 22px -10px, color-mix(in srgb, var(--bg-800), transparent 55%) 0 6px 12px -8px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}[data-theme=light]{--bg-900:#f5f6fa;--bg-800:#e8eaf0;--bg-danger:#dc2626;--bg:var(--bg-900);--text-h:#1a1a2e;--text:#3a3a52;--border:#d0d4e0;--code-bg:#e0e3ec;--accent:#1468c8;--accent-bg:#1468c81a;--accent-border:#1468c866;--social-bg:#dfe2ea;--shadow:#00000014 0 8px 20px -8px, #0000000a 0 4px 10px -6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg)}[data-theme=light] .rosterDeleteBtn--ghost:hover:not(:disabled),[data-theme=light] .dayModalClose:hover,[data-theme=light] .dayTimelineExpand:hover,[data-theme=light] .scheduleModalBtn--ghost:hover:not(:disabled),[data-theme=light] .bottomNavItem:hover{background:#0000000f}[data-theme=light] .dayModalScheduleBtn{color:#9a3412;border-color:#c2410c}[data-theme=light] .dayModalScheduleBtn:hover{background:#c2410c1a;border-color:#9a3412}[data-theme=light] .dayModalRosterRemoveBtn{color:var(--text);background:#0000000a;border-color:#00000026}[data-theme=light] .dayModalRosterRemoveBtn:hover{background:#0000001a;border-color:#00000040}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.dayModalBackdrop{z-index:10000;box-sizing:border-box;background:color-mix(in srgb, var(--bg-900), transparent 35%);-webkit-backdrop-filter:blur(8px);opacity:0;justify-content:center;align-items:center;padding:20px;transition:opacity .18s;display:flex;position:fixed;inset:0}.dayModalBackdrop--visible{opacity:1}.dayModalPanel{text-align:left;border:1px solid color-mix(in srgb, var(--border), transparent 25%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 40%);width:min(650px,100%);max-height:min(90vh,880px);box-shadow:var(--shadow);color:var(--text);opacity:0;border-radius:16px;outline:none;transition:transform .18s,opacity .18s;overflow:auto;transform:scale(.97)}.dayModalPanel--visible{opacity:1;transform:scale(1)}.dayModalPanelInner,.dayPanel{width:100%}.dayPanel{text-align:left;border:1px solid color-mix(in srgb, var(--border), transparent 25%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 40%);width:min(980px,100%);box-shadow:var(--shadow);border-radius:16px;margin:0 auto;overflow:hidden}.dayModalHeader{border-bottom:1px solid color-mix(in srgb, var(--border), transparent 40%);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 12px;display:flex}.dayModalTitle{letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:1.15rem;font-weight:600}.dayModalClose{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;margin:-6px -8px 0 0;font-size:26px;line-height:1;transition:background .12s}.dayModalClose:hover{background:color-mix(in srgb, var(--white), transparent 92%)}.dayModalClose:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dayModalBody{grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:start;gap:16px 10px;padding:16px 18px 20px;display:grid}@media (width<=640px){.dayModalBody{grid-template-columns:1fr}}.dayModalBody--stacked{grid-template-columns:unset;flex-direction:column;gap:16px;display:flex}.dayModalSection{gap:6px;display:grid}.dayModalStatsGroup{flex-direction:column;gap:10px;width:100%;display:flex}.dayModalStatsRow{flex-wrap:wrap;gap:20px;padding:4px 0 0;display:flex}.dayModalStatsRow .dayModalStat{flex:1 1 0;min-width:80px}.dayModalStatValue--sm{font-size:1.05rem}.dayModalCarsRow{background:color-mix(in srgb, var(--primary-500), transparent 88%);border:1px solid color-mix(in srgb, var(--primary-500), transparent 70%);color:color-mix(in srgb, var(--text-h), var(--text) 12%);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;line-height:1.3;display:flex}.dayModalCarsRow .dayModalCarsEmoji{font-size:16px;line-height:1}.dayModalCol--timeline{min-width:0;overflow:visible}@media (width<=500px){.dayModalCol--timeline,.dayModalCol--stats{width:100%;min-width:0}}.dayModalTimelineRow{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}@media (width<=640px){.dayModalTimelineRow{grid-template-columns:1fr}}.dayModalTimelineMain{min-width:0;overflow:visible}.dayModalChartWithStats{align-items:flex-start;gap:16px;width:100%;display:flex}.dayModalChartLeft{flex:1 1 0;min-width:0}.dayModalSideStats{flex-direction:column;flex:none;gap:10px;min-width:90px;padding-top:2px;display:flex}.dayModalSideStat{flex-direction:column;gap:2px;display:flex}.dayModalSideStatLabel{text-transform:uppercase;letter-spacing:.4px;color:color-mix(in srgb, var(--text-h), var(--text) 35%);align-items:center;gap:6px;font-size:12px;display:inline-flex}.dayModalSideStatValue{color:var(--text-h);font-size:1.05rem;font-weight:700}@media (width<=340px){.dayModalChartWithStats{flex-direction:column}.dayModalSideStats{flex-flow:wrap;gap:8px;width:100%}}.dayModalRosterSummary{border-top:1px solid color-mix(in srgb, var(--border), transparent 45%);color:color-mix(in srgb, var(--text-h), var(--text) 22%);margin-top:12px;padding-top:10px;font-size:12px;line-height:1.45}.dayModalRosterSummaryLine{flex-wrap:wrap;align-items:flex-start;gap:6px 8px;margin:0 0 8px;display:flex}.dayModalRosterSummaryLine:last-child{margin-bottom:0}.dayModalRosterSummaryText{flex-wrap:wrap;flex:1 1 0;align-items:center;gap:6px 8px;min-width:0;display:flex}.dayModalRosterSummaryColour{width:6px;height:14px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border), transparent 40%);border-radius:2px;flex-shrink:0}.dayModalRosterSummaryName{color:var(--text-h);font-weight:600}.dayModalRosterSummaryRanges{font-family:var(--mono);color:color-mix(in srgb, var(--text-h), var(--text) 15%);font-size:11px}.dayModalPublicHolidayWorkers{border-top:1px solid color-mix(in srgb, var(--border), transparent 45%);margin-top:14px;padding-top:10px}.dayModalPublicHolidayLabel{color:color-mix(in srgb, var(--text-h), var(--text) 18%);margin:0;font-size:13px;line-height:1.45}.dayModalPublicHolidayList{flex-wrap:wrap;align-items:center;gap:2px 4px;margin-top:4px;font-size:13px;line-height:1.45;display:flex}.dayModalPublicHolidayEntry{align-items:center;gap:5px;display:inline-flex}.dayModalPublicHolidayColour{width:6px;height:14px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border), transparent 40%);border-radius:2px;flex-shrink:0}.dayModalPublicHolidayName{color:var(--text-h);font-weight:600}.dayModalRosterRemoveBtn{color:#fecaca;cursor:pointer;background:#ef44441f;border:1px solid #ef4444a6;border-radius:6px;flex-shrink:0;width:22px;height:22px;padding:0;font-size:14px;line-height:1;transition:background .12s,border-color .12s}.dayModalRosterRemoveBtn:hover{background:#ef444440;border-color:#f87171}.dayModalRosterRemoveBtn:focus-visible{outline-offset:2px;outline:2px solid #f87171}.dayModalStatLabelWithLegend{letter-spacing:.4px;text-transform:uppercase;color:color-mix(in srgb, var(--text-h), var(--text) 35%);align-items:center;gap:8px;font-size:12px;line-height:1.2;display:inline-flex}.dayModalLegendDot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.dayModalLegendDot--pickup{background:color-mix(in srgb, var(--highlight-teal), #6ee7b7 15%);box-shadow:0 0 0 1px color-mix(in srgb, var(--highlight-teal), transparent 50%)}.dayModalLegendDot--dropoff{background:#facc15;box-shadow:0 0 0 1px #ca8a048c}.rosterDeleteBackdrop{z-index:999991;background:color-mix(in srgb, var(--bg-900), transparent 45%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rosterDeletePanel{border:1px solid color-mix(in srgb, var(--border), transparent 20%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 30%);width:min(420px,100%);box-shadow:var(--shadow);color:var(--text-h);border-radius:16px;padding:22px 24px}.rosterDeleteTitle{margin:0 0 10px;font-size:1.1rem}.rosterDeleteHint{color:color-mix(in srgb, var(--text-h), var(--text) 18%);margin:0 0 14px;font-size:14px;line-height:1.45}.rosterDeleteList{margin:0 0 14px;padding:0;list-style:none}.rosterDeleteOption{border:1px solid color-mix(in srgb, var(--border), transparent 30%);cursor:pointer;font-size:14px;font-family:var(--mono);border-radius:999px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 12px;display:flex}.rosterDeleteOption:hover{background:color-mix(in srgb, var(--white), transparent 94%)}.rosterDeleteError{color:#fecaca;margin:0 0 12px;font-size:13px}.rosterDeleteActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.rosterDeleteBtn{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:10px 20px;font-size:15px;font-weight:600;transition:background .16s,border-color .16s,opacity .16s}.rosterDeleteBtn:disabled{opacity:.55;cursor:not-allowed}.rosterDeleteBtn--ghost{background:color-mix(in srgb, var(--white), transparent 92%);border-color:color-mix(in srgb, var(--border), transparent 15%);color:var(--text-h)}.rosterDeleteBtn--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--white), transparent 85%)}.rosterDeleteBtn--primary{background:var(--primary-500,#60a5fa);color:#fff;border-color:color-mix(in srgb, var(--primary-500,#60a5fa), transparent 10%)}.rosterDeleteBtn--primary:hover:not(:disabled){opacity:.92}.rosterDeleteBtn--danger{color:#fef2f2;background:#ef444440;border-color:#f87171}.rosterDeleteBtn--danger:hover:not(:disabled){background:#dc2626}.rosterDeleteCancel{cursor:pointer;border:1px solid color-mix(in srgb, var(--border), transparent 30%);color:var(--text);background:0 0;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}.rosterDeleteCancel:disabled{opacity:.55;cursor:not-allowed}.dayModalScheduleWrap{flex-direction:column;align-items:stretch;gap:8px;padding-top:22px;display:flex}@media (width<=640px){.dayModalScheduleWrap{width:100%;padding-top:0}}.dayModalScheduleWrap--fullWidth{width:100%;margin-top:20px;padding-top:0}.dayModalScheduleBtn{letter-spacing:.02em;cursor:pointer;border:1px solid color-mix(in srgb, #fb923c, var(--border) 20%);color:#ffedd5;white-space:nowrap;background:0 0;border-radius:12px;flex-shrink:0;padding:10px 14px;font-size:13px;font-weight:600;transition:border-color .16s,background .16s,transform .16s}.dayModalScheduleBtn:hover{background:#ea580c1f;border-color:#fdba74}.dayModalScheduleBtn:focus-visible{outline-offset:2px;outline:2px solid #fb923c}.dayModalCol--stats{flex-direction:column;gap:14px;padding-top:4px;display:flex}.dayModalStat{flex-direction:column;gap:4px;display:flex}.dayModalStatLabel{letter-spacing:.4px;text-transform:uppercase;color:color-mix(in srgb, var(--text-h), var(--text) 35%);font-size:12px;line-height:1.2}.dayModalStatValue{font-family:var(--mono);color:var(--text-h);font-size:1.25rem}.dayModalStaffLine{color:color-mix(in srgb, var(--text-h), var(--text) 18%);margin:4px 0 0;font-size:14px;line-height:1.4}.dayModalStaffAwayList{color:color-mix(in srgb, var(--text-h), var(--text) 18%);margin:8px 0 0 18px;padding:0;font-size:13px;line-height:1.35}.dayModalStaffAwayList li{align-items:center;gap:7px;margin:2px 0;display:flex}.dayModalStaffAwayDot{width:8px;height:8px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border), transparent 40%);border-radius:999px;flex-shrink:0}.dayModalCarsBadge{background:color-mix(in srgb, var(--primary-500), transparent 88%);border:1px solid color-mix(in srgb, var(--primary-500), transparent 70%);border-radius:10px;flex-direction:column;gap:0;margin-top:14px;padding:0;display:flex;overflow:hidden}.dayModalCarsBadgeHeader{color:color-mix(in srgb, var(--text-h), var(--text) 12%);align-items:center;gap:8px;padding:8px 12px;font-size:13px;line-height:1.3;display:inline-flex}.dayModalCarsEmoji{font-size:16px;line-height:1}.dayTimeline{grid-template-rows:auto auto;grid-template-columns:42px 48px minmax(88px,1fr);align-items:stretch;gap:8px 10px;width:100%;max-width:min(340px,100%);display:grid;position:relative;overflow:visible}.dayTimelineAxis{min-height:280px;font-size:10px;font-family:var(--mono);color:color-mix(in srgb, var(--text-h), var(--text) 45%);flex-direction:column;grid-area:2/1;align-self:stretch;gap:3px;display:flex}.dayTimelineAxisRow{flex:1 1 0;align-items:center;display:flex}.dayTimelineAxisTick{white-space:nowrap;left:0}.dayTimelineSegmentsCol{flex-direction:column;flex-shrink:0;grid-area:2/2;gap:3px;width:48px;min-height:280px;display:flex}.dayTimelineRosterRail{grid-area:2/3;align-self:stretch;min-width:0}.dayTimelineRosterRailGrid{grid-template-rows:repeat(12,1fr);gap:3px;height:100%;min-height:280px;display:grid}.dayTimelineSegCell{flex:1 1 0;min-height:0;position:relative}.dayTimelineSegCell .dayTimelineSeg{height:100%}.dayTimelineRosterSegRow{justify-content:flex-start;align-items:center;min-height:0;display:flex}.dayTimelineRosterSwatches{flex-flow:wrap;align-content:center;align-items:center;gap:3px;display:flex}.dayTimelineRosterSwatch{width:6px;height:14px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border), transparent 40%);border-radius:2px;flex-shrink:0}.dayTimelineSeg{border:1px solid color-mix(in srgb, var(--primary-500), transparent 72%);background:color-mix(in srgb, var(--primary-500), transparent 94%);border-radius:7px;flex:1 1 0;min-height:10px;transition:background .15s;position:relative;overflow:visible}.dayTimelineSeg--active{background:color-mix(in srgb, var(--primary-500), transparent 82%);border-color:color-mix(in srgb, var(--primary-500), transparent 58%)}.dayTimelineSegInner{align-items:stretch;height:100%;min-height:0;display:flex}.dayTimelineSegMarks{flex-flow:wrap;flex-shrink:0;align-content:flex-start;align-items:flex-start;gap:2px;width:100%;padding:1px;display:flex}.dayTimelineSegFill{flex:1;min-width:0}.dayTimelineDot{border-radius:999px;flex-shrink:0;width:6px;height:6px}.dayTimelineDot--pickup{background:color-mix(in srgb, var(--highlight-teal), #6ee7b7 15%);box-shadow:0 0 0 1px color-mix(in srgb, var(--highlight-teal), transparent 50%)}.dayTimelineDot--dropoff{background:#facc15;box-shadow:0 0 0 1px #ca8a048c}.dayTimelineMore{font-size:9px;font-family:var(--mono);color:color-mix(in srgb, var(--text-h), var(--text) 25%)}.dayTimelineCount{font-size:8px;line-height:1;font-family:var(--mono);border-radius:3px;justify-content:center;align-items:center;padding:1px 2px;display:inline-flex}.dayTimelineCount--pickup{color:color-mix(in srgb, var(--highlight-teal), white 25%);background:color-mix(in srgb, var(--highlight-teal), transparent 85%)}.dayTimelineCount--dropoff{color:#d5a136;background:#facc1526}.dayTimelineExpand{font-size:9px;font-family:var(--mono);color:var(--text);background:color-mix(in srgb, var(--bg-900), transparent 30%);border:1px solid color-mix(in srgb, var(--border), transparent 30%);cursor:pointer;border-radius:4px;padding:1px 6px;transition:background .12s;position:absolute;bottom:1px;right:4px}.dayTimelineExpand:hover{background:color-mix(in srgb, var(--white), transparent 90%)}.dayTimelineSegTip--fixed{z-index:9999999;box-sizing:border-box;white-space:normal;word-break:break-word;overflow-wrap:anywhere;width:auto;max-width:min(920px,100vw - 32px);color:var(--text-h);background:color-mix(in srgb, var(--bg-900), transparent 12%);border:1px solid color-mix(in srgb, var(--border), transparent 35%);box-shadow:var(--shadow);pointer-events:none;border-radius:8px;margin-left:auto;margin-right:auto;padding:6px 8px;font-size:11px;line-height:1.35;position:fixed;top:auto;left:16px;right:16px;overflow:hidden visible;transform:none}.dayTimelineSegTip--fixed>div{white-space:normal;word-break:break-word;overflow-wrap:inherit;max-width:100%}.dayTimelineCaption{white-space:normal;color:color-mix(in srgb, var(--text-h), var(--text) 40%);grid-area:1/1/auto/-1;margin:0;font-size:11px}.dayModalDirtyCarsFullWidth{width:100%;max-width:100%;margin-top:12px}.dayModalStatsMerged{flex-direction:column;gap:8px;width:100%;display:flex}.container_f47ac7{height:var(--uib-size);width:var(--uib-size);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.inner_235694{height:var(--uib-size);width:var(--uib-size);transform-origin:50%;animation:rotate_c76b1d var(--uib-speed) linear infinite;will-change:transform;overflow:visible}.car_b190b2{fill:none;stroke:var(--uib-color);stroke-dasharray:1 200;stroke-dashoffset:0;stroke-linecap:round;animation:stretch_e5e8e0 calc(var(--uib-speed) * .75) ease-in-out infinite;will-change:stroke-dasharray, stroke-dashoffset;transition:stroke .5s}.track_4529b9{fill:none;stroke:var(--uib-color);opacity:var(--uib-bg-opacity);transition:stroke .5s}@keyframes rotate_c76b1d{to{transform:rotate(360deg)}}@keyframes stretch_e5e8e0{0%{stroke-dasharray:0 150;stroke-dashoffset:0}50%{stroke-dasharray:75 150;stroke-dashoffset:-25px}to{stroke-dashoffset:-99px}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}@media (width>=900px){.rosterHeroImageWrap{margin-top:28px}}.center,#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){.center,#center{gap:18px;padding:32px 20px 24px}}.appShell{flex-direction:column;height:100svh;min-height:100svh;display:flex}.pageViewport{flex:auto;position:relative;overflow:hidden}.page{-webkit-overflow-scrolling:touch;padding:0 0 calc(128px + env(safe-area-inset-bottom,0px));box-sizing:border-box;opacity:0;filter:brightness(.7)saturate(.8);pointer-events:none;z-index:0;transition:opacity .24s,transform .24s,filter .24s;position:absolute;inset:0;overflow:hidden auto;transform:translateY(10px)}.page--active{opacity:1;filter:none;pointer-events:auto;z-index:10;transform:translate(0,0)}.page--leaving{opacity:.25;filter:brightness(.6)saturate(.7);pointer-events:none;transform:translate(0,0)}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.todayPageLogo{object-fit:contain;width:auto;height:1.6rem;margin-bottom:8px;display:block}.todayTopRightActions{z-index:20;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:25px;right:20px}.todayTopRightActions>*{pointer-events:auto}.themeToggleBtn{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-800), transparent 25%);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;line-height:1;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.themeToggleBtn:hover{background:color-mix(in srgb, var(--accent), transparent 85%);border-color:var(--accent-border);transform:scale(1.06)}.themeToggleBtn:active{transform:scale(.95)}.themeToggleBtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.themeToggleIcon{object-fit:contain;pointer-events:none;width:20px;height:20px}.settingsBackdrop{z-index:999992;background:color-mix(in srgb, var(--bg-900), transparent 45%);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;justify-content:center;align-items:flex-start;padding:0 16px;transition:opacity .18s;display:flex;position:fixed;inset:0}.settingsBackdrop--visible{opacity:1;pointer-events:auto}.settingsPanel{border:1px solid color-mix(in srgb, var(--border), transparent 25%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 22%);width:min(440px,100%);box-shadow:var(--shadow);opacity:0;border-top:none;border-radius:0 0 16px 16px;margin-top:0;padding:18px 18px 22px;transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .2s;transform:translateY(-100%)}.settingsPanel--visible{opacity:1;transform:translateY(0)}[data-theme=light] .settingsPanel{background:#fff}.settingsHeader{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.settingsTitle{color:var(--text-h);margin:0;font-size:1.15rem;font-weight:650}.settingsClose{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:2px 6px;font-size:22px;line-height:1;transition:background .12s}.settingsClose:hover{background:color-mix(in srgb, var(--text), transparent 88%)}[data-theme=light] .settingsClose:hover{background:#0000000f}.settingsClose:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settingsBody{padding:0}.settingsLabel{color:var(--text-h);margin:0 0 4px;font-size:.95rem;font-weight:600}.settingsSubtext{color:var(--text);opacity:.7;margin:0;font-size:.82rem}.settingsLogoutWrap{border-top:1px solid color-mix(in srgb, var(--border), transparent 40%);margin-top:24px;padding-top:16px}.settingsLogoutBtn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:10px;width:100%;padding:10px 0;font-size:.92rem;font-weight:600;transition:background .14s,transform .1s}.settingsLogoutBtn:hover{background:#dc2626}.settingsLogoutBtn:active{transform:scale(.97)}.logoutConfirmBackdrop{z-index:999994;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.logoutConfirmPanel{background:var(--bg-800);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:16px;width:100%;max-width:320px;padding:24px}[data-theme=light] .logoutConfirmPanel{background:#fff}.logoutConfirmTitle{color:var(--text-h);margin:0 0 8px;font-size:1.1rem;font-weight:700}.logoutConfirmText{color:var(--text);opacity:.85;margin:0 0 20px;font-size:.9rem}.logoutConfirmActions{justify-content:center;gap:10px;display:flex}.logoutConfirmBtn{cursor:pointer;border:none;border-radius:10px;flex:1;padding:10px 0;font-size:.9rem;font-weight:600;transition:background .14s,transform .1s}.logoutConfirmBtn:active{transform:scale(.97)}.logoutConfirmBtn--cancel{background:color-mix(in srgb, var(--white), transparent 88%);color:var(--text-h)}.logoutConfirmBtn--cancel:hover{background:color-mix(in srgb, var(--white), transparent 82%)}[data-theme=light] .logoutConfirmBtn--cancel{color:#1a1a2e;background:#e5e7eb}[data-theme=light] .logoutConfirmBtn--cancel:hover{background:#d1d5db}.logoutConfirmBtn--confirm{color:#fff;background:#ef4444}.logoutConfirmBtn--confirm:hover{background:#dc2626}.timeBlockSelector{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:420px;margin:0 auto;display:grid}@media (width>=480px){.timeBlockSelector{grid-template-columns:repeat(3,minmax(0,1fr))}}.timeBlockSelector__cell{border:1px solid color-mix(in srgb, var(--border), transparent 20%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 30%);color:color-mix(in srgb, var(--text-h), var(--text) 25%);cursor:default;border-radius:10px;padding:8px 6px;font-size:12px;transition:background .16s,border-color .16s,color .16s,transform .16s}.timeBlockSelector--interactive .timeBlockSelector__cell:not(:disabled){cursor:pointer}.timeBlockSelector--interactive .timeBlockSelector__cell:not(:disabled):hover{border-color:color-mix(in srgb, #fb923c, var(--border) 40%)}.timeBlockSelector__cell--selected{color:#fff7ed;background:#ea580ce0;border-color:#fb923c;font-weight:600}.timeBlockSelector__label{text-align:center;line-height:1.2;display:block}.timeBlockSelector__cell:disabled{opacity:.55}.scheduleModalBackdrop{z-index:999995;box-sizing:border-box;background:color-mix(in srgb, var(--bg-900), transparent 35%);-webkit-backdrop-filter:blur(10px);opacity:0;justify-content:center;align-items:center;padding:20px;transition:opacity .18s;display:flex;position:fixed;inset:0}.scheduleModalBackdrop--visible{opacity:1}.scheduleModalPanel{text-align:left;border:1px solid color-mix(in srgb, var(--border), transparent 25%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 40%);width:min(440px,100%);max-height:min(90vh,880px);box-shadow:var(--shadow);color:var(--text);opacity:0;border-radius:16px;outline:none;padding:28px 22px 24px;transition:transform .18s,opacity .18s;overflow:auto;transform:scale(.97)}.scheduleModalPanel--visible{opacity:1;transform:scale(1)}.scheduleModalTitle{letter-spacing:-.02em;color:var(--text-h);margin:0 0 10px;font-size:1.2rem;font-weight:600}.scheduleModalSubtitle{color:color-mix(in srgb, var(--text-h), var(--text) 18%);margin:0 0 18px;font-size:14px;line-height:1.45}.scheduleModalActions{flex-direction:column;gap:10px;margin-top:14px;display:flex}.scheduleModalActions--split{flex-direction:row;justify-content:space-between;gap:12px;margin-top:14px}.scheduleModalBtn{cursor:pointer;border-radius:12px;padding:10px 16px;font-size:15px;font-weight:600;transition:background .16s,border-color .16s,opacity .16s}.scheduleModalBtn:disabled{opacity:.65;cursor:not-allowed}.scheduleModalBtn--primary{border:2px solid color-mix(in srgb, var(--primary-500), transparent 10%);background:var(--primary-500);color:var(--white)}.scheduleModalBtn--primary:hover:not(:disabled){opacity:.95}.scheduleModalBtn--ghost{border:1px solid color-mix(in srgb, var(--border), transparent 0%);color:var(--text-h);background:0 0}.scheduleModalBtn--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--white), transparent 92%)}.scheduleModalError{color:var(--bg-danger);margin:0 0 12px;font-size:13px;font-weight:600}.bottomNav{z-index:9999;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid color-mix(in srgb, var(--border), transparent 25%);background:color-mix(in srgb, var(--bg-900), transparent 6%);-webkit-backdrop-filter:blur(12px);grid-template-columns:repeat(3,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomNavItem{appearance:none;-webkit-tap-highlight-color:transparent;cursor:pointer;opacity:.55;color:var(--text-h);background:0 0;border:0;border-radius:14px;place-items:center;gap:6px;padding:8px 10px;transition:background .16s,transform .16s,opacity .16s;display:grid}.bottomNavItem:hover{background:color-mix(in srgb, var(--white), transparent 94%)}.bottomNavItem:active{transform:translateY(1px)}.bottomNavItem:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bottomNavItem--active{opacity:1}.bottomNavIcon{object-fit:contain;filter:brightness(1.1);width:22px;height:22px}.bottomNavItem:not(.bottomNavItem--active) .bottomNavIcon{filter:brightness(.9)saturate(.7)}[data-theme=light] .bottomNavIcon{filter:brightness(0)saturate()}[data-theme=light] .bottomNavItem:not(.bottomNavItem--active) .bottomNavIcon{filter:brightness(0)saturate(.7)opacity(.55)}.bottomNavLabel{letter-spacing:.2px;font-size:11px;font-weight:650;line-height:1}.dirtyCarsPanel{background:0 0;border:none;border-radius:0;margin-top:0;margin-left:-1.5vh;padding:.75rem}.dirtyCarsHeader{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:flex}.dirtyCarsHeader--compact{justify-content:flex-end;margin-bottom:.5rem}.dirtyCarsTitle{color:inherit}.dirtyCarsColumnLabel{color:#fff9;text-transform:uppercase;letter-spacing:.05em;margin-right:.5rem;font-size:.75rem}[data-theme=light] .dirtyCarsColumnLabel{color:#00000080}.dirtyCarsList{grid-template-columns:1fr;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=480px){.dayModalSection .dirtyCarsList,.dayModalBody--stacked .dirtyCarsList{grid-template-columns:1fr 1fr}}.dirtyCarsItem{background:#ffffff14;border:1px solid #ffffff14;border-radius:.375rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:all .3s ease-out;display:flex}[data-theme=light] .dirtyCarsItem{background:#0000000a;border-color:#00000014}.dirtyCarsItem--fading{opacity:0;pointer-events:none;border:none;height:0;margin:0;padding:0;overflow:hidden;transform:translateY(-.5rem)}.dirtyCarsItemContent{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.dirtyCarsItemName{color:inherit;word-break:break-word;font-size:.875rem;font-weight:500}.dirtyCarsItemTime{color:#fff9;font-size:.75rem}[data-theme=light] .dirtyCarsItemTime{color:#00000080}.dirtyCarsItemCheckbox{cursor:pointer;accent-color:#4f46e5;border-radius:.25rem;flex-shrink:0;width:1.125rem;height:1.125rem}.dirtyCarsItemCheckbox:disabled{opacity:.5;cursor:not-allowed}.dirtyCarsConfirmOverlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dirtyCarsConfirmModal{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:.75rem;width:100%;max-width:min(600px,100%);margin:auto;padding:1.5rem;animation:.2s ease-out slideUp;box-shadow:0 10px 40px #000c}[data-theme=light] .dirtyCarsConfirmModal{border-color:var(--border);box-shadow:var(--shadow);background:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.dirtyCarsConfirmTitle{color:#fff;margin:0 0 .75rem;font-size:1.125rem;font-weight:600}[data-theme=light] .dirtyCarsConfirmTitle{color:var(--text-h)}.dirtyCarsConfirmMessage{color:#fffc;margin:0 0 1.5rem;font-size:.875rem;line-height:1.5}[data-theme=light] .dirtyCarsConfirmMessage{color:var(--text)}.dirtyCarsConfirmMessage strong{color:#fff;font-weight:600}[data-theme=light] .dirtyCarsConfirmMessage strong{color:var(--text-h)}.dirtyCarsConfirmActions{justify-content:flex-end;gap:.75rem;display:flex}.dirtyCarsConfirmBtn{cursor:pointer;border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s ease-out;display:flex}.dirtyCarsConfirmBtn--cancel{color:#fff;background:#ffffff1a}.dirtyCarsConfirmBtn--cancel:hover:not(:disabled){background:#ffffff26}[data-theme=light] .dirtyCarsConfirmBtn--cancel{color:var(--text-h);background:#0000000f}[data-theme=light] .dirtyCarsConfirmBtn--cancel:hover:not(:disabled){background:#0000001a}.dirtyCarsConfirmBtn--confirm{color:#fff;background:#4f46e5}.dirtyCarsConfirmBtn--confirm:hover:not(:disabled){background:#4338ca}.dirtyCarsConfirmBtn:disabled{opacity:.7;cursor:not-allowed}.dirtyCarsConfirmBtn:active:not(:disabled){transform:scale(.98)}.dirtyCarsConfirmLoader{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:.75rem;height:.75rem;animation:.8s linear infinite dirtyCarsSpinLoader;display:inline-block}@keyframes dirtyCarsSpinLoader{to{transform:rotate(360deg)}}.weekendRosterBackdrop{z-index:999990;background:color-mix(in srgb, var(--bg-900), transparent 45%);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;justify-content:center;align-items:flex-end;padding:16px;transition:opacity .18s;display:flex;position:fixed;inset:0}.weekendRosterBackdrop--visible{opacity:1;pointer-events:auto}@media (width>=520px){.weekendRosterBackdrop{align-items:center}}.weekendRosterPanel{border:1px solid color-mix(in srgb, var(--border), transparent 25%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 22%);width:min(440px,100%);max-height:min(88vh,720px);box-shadow:var(--shadow);opacity:0;border-radius:16px 16px 0 0;padding:18px 18px 22px;transition:transform .2s,opacity .2s;overflow:auto;transform:translateY(12px)}@media (width>=520px){.weekendRosterPanel{border-radius:16px}}.weekendRosterPanel--visible{opacity:1;transform:translateY(0)}.weekendRosterHeader{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.weekendRosterTitle{color:var(--text-h);margin:0;font-size:1.15rem;font-weight:650}.weekendRosterClose{color:var(--text-h);cursor:pointer;opacity:.75;background:0 0;border:none;flex:none;padding:0 4px;font-size:26px;line-height:1}.weekendRosterClose:hover{opacity:1}.weekendRosterSubtitle{opacity:.88;margin:6px 0 16px;font-size:.95rem}.weekendRosterSection{margin-bottom:16px}.weekendRosterSectionTitle{text-transform:uppercase;letter-spacing:.6px;opacity:.75;margin:0 0 8px;font-size:11px}.weekendRosterEmpty{opacity:.8;margin:0;font-size:14px}.weekendRosterList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.weekendRosterRow{justify-content:space-between;align-items:flex-start;gap:10px;font-size:14px;display:flex}.weekendRosterRowMain{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.weekendRosterRowText{flex-direction:column;gap:2px;min-width:0;display:flex}.weekendRosterDot{width:10px;height:10px;box-shadow:0 0 0 2px color-mix(in srgb, var(--bg-900), transparent 50%);border-radius:999px}.weekendRosterName{color:var(--text-h);font-weight:600}.weekendRosterTimes{opacity:.8;font-size:12px}.weekendRosterRemove{border:1px solid color-mix(in srgb, var(--border), transparent 35%);background:color-mix(in srgb, var(--white), transparent 94%);color:var(--text-h);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600}.weekendRosterActions{margin-bottom:14px}.weekendRosterSelfBtn{cursor:pointer;background:linear-gradient(135deg, color-mix(in srgb, var(--primary-500), white 12%), var(--primary-500));color:#fff;width:100%;box-shadow:0 6px 16px color-mix(in srgb, var(--primary-500), transparent 65%);border:none;border-radius:10px;padding:12px 14px;font-size:15px;font-weight:650}.weekendRosterSelfBtn:disabled{opacity:.6;cursor:not-allowed}.weekendRosterAssign{border-top:1px solid color-mix(in srgb, var(--border), transparent 40%);padding-top:14px}.weekendRosterAssignList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.weekendRosterAssignBtn{text-align:left;width:100%;color:var(--text-h);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#f973161f;border:1px solid #f9731673;border-radius:10px;outline:none;padding:10px 12px;font-size:14px;font-weight:650;transition:background .14s}.weekendRosterAssignBtn:hover:not(:disabled){background:#f9731638}.weekendRosterAssignBtn:active:not(:disabled){background:#f9731640}.weekendRosterAssignBtn:disabled{opacity:.65;cursor:not-allowed}.weekendRosterError{color:var(--bg-danger,#f87171);margin:0 0 8px;font-size:13px}.weekendRosterHint{opacity:.82;margin:0;font-size:13px}.weekendRosterNote{opacity:.78;margin:8px 0 0;font-size:13px;line-height:1.4}.holidayToggleBtn{color:var(--text-h);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:600;display:flex}.holidayToggleArrow{opacity:.7;font-size:10px;transition:transform .2s;display:inline-block}.holidayToggleArrow--open{transform:rotate(90deg)}.holidayToggleLabel{color:var(--text-h);font-size:14px;font-weight:600}.holidayCollapsible{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.holidayCollapsible--open{grid-template-rows:1fr}.holidayCollapsibleInner{overflow:hidden}.holidayCollapsible--open .holidayCollapsibleInner{padding-top:10px}.monthCalWrap{text-align:left;gap:14px;width:min(980px,100%);margin:0 auto;display:grid}.monthCalHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.monthCalTitle{text-align:left;letter-spacing:-.02em;color:var(--text-h);font-weight:650}.monthCalHeaderNav{justify-content:flex-end;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.monthCalNavBtn{border:1px solid color-mix(in srgb, var(--border), transparent 30%);background:color-mix(in srgb, var(--white), transparent 94%);width:36px;height:36px;color:var(--text-h);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:0;font-size:24px;line-height:1;transition:transform .14s,background .14s,border-color .14s;display:inline-flex}.monthCalNavGlyph{justify-content:center;align-items:center;line-height:.82;display:inline-flex;transform:scaleY(1.14)}.monthCalNavBtn:hover{background:color-mix(in srgb, var(--white), transparent 90%);border-color:color-mix(in srgb, var(--accent), transparent 60%);transform:translateY(-1px)}.monthCalNavBtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.monthCalHeatToggle{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.monthCalHeatLabel{color:var(--text-h);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.monthCalHeatCheckbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.monthCalHeatLegend{align-items:center;gap:10px;display:flex}.monthCalHeatLegendItem{color:var(--text);align-items:center;gap:4px;font-size:11px;display:inline-flex}.monthCalHeatSwatch{border:1px solid color-mix(in srgb, var(--bg-900), transparent 78%);border-radius:3px;width:10px;height:10px}.monthCalWeekdays{opacity:.95;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.monthCalWeekday{text-transform:uppercase;letter-spacing:.5px;color:color-mix(in srgb, var(--text-h), var(--text) 35%);text-align:center;font-size:11px}.monthCalGrid{border:1px solid color-mix(in srgb, var(--border), transparent 15%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 35%);box-shadow:var(--shadow);touch-action:pan-y;border-radius:16px;min-width:0;overflow:hidden}[data-theme=light] .monthCalGrid{background:#dde0e8;border-color:#c8ccd6}.monthCalGridInner{aspect-ratio:7/7.5;width:100%;min-height:0;position:relative}@media (width>=600px){.monthCalGridInner{aspect-ratio:7/7}}.monthCalLayer{will-change:transform, opacity;grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(7,minmax(0,1fr));gap:0;min-width:0;min-height:0;transition:none;display:grid;position:absolute;inset:0}.monthCalGridInner--animating .monthCalLayer{transition:transform .24s,opacity .24s}.monthCalLayer--current{opacity:1;transform:translate(0,0)}.monthCalLayer--incoming{opacity:0}.monthCalGridInner--next .monthCalLayer--incoming{transform:translate(100%)}.monthCalGridInner--prev .monthCalLayer--incoming{transform:translate(-100%)}.monthCalGridInner--animating.monthCalGridInner--next .monthCalLayer--current{opacity:0;transform:translate(-100%)}.monthCalGridInner--animating.monthCalGridInner--next .monthCalLayer--incoming{opacity:1;transform:translate(0,0)}.monthCalGridInner--animating.monthCalGridInner--prev .monthCalLayer--current{opacity:0;transform:translate(100%)}.monthCalGridInner--animating.monthCalGridInner--prev .monthCalLayer--incoming{opacity:1;transform:translate(0,0)}.monthCalCell{border-right:1px solid color-mix(in srgb, var(--border), transparent 55%);border-bottom:1px solid color-mix(in srgb, var(--border), transparent 55%);box-sizing:border-box;cursor:pointer;pointer-events:auto;min-width:0;min-height:0;position:relative;overflow:visible}[data-theme=light] .monthCalCell{border-bottom-color:#00000014;border-right-color:#00000014}.monthCalCell:nth-child(7n){border-right:none}.monthCalCell:nth-last-child(-n+7){border-bottom:none}.monthCalCell--expanded{box-shadow:inset 0 0 0 2px var(--accent)}.monthCalCellInner{box-sizing:border-box;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;width:100%;height:100%;padding:3px 2px;display:flex;position:relative}.monthCalCellHeatBg{z-index:0;opacity:.45;pointer-events:none;border-radius:0;position:absolute;inset:0}.monthCalDayNum{z-index:2;font-family:var(--mono);color:var(--text-h);opacity:.95;font-size:11px;line-height:1.2;position:relative}.monthCalCell--out .monthCalDayNum{opacity:.32}.monthCalCarsCount{z-index:2;color:var(--text-h);opacity:.8;white-space:nowrap;font-size:9px;line-height:1;position:relative}.monthCalCasualIndicator{z-index:2;white-space:nowrap;color:var(--text-h);opacity:.85;font-size:9px;line-height:1;position:relative}.monthCalWeekendBubbles{z-index:3;box-sizing:border-box;flex-wrap:wrap;justify-content:center;gap:2px;width:100%;padding:0 1px;display:flex;position:relative}.monthCalWeekendBubble{color:#fff;text-transform:uppercase;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:8px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0003}@media (width>=600px){.monthCalWeekendBubble{width:20px;height:20px;font-size:9px}}.monthCalAwayLines{z-index:1;box-sizing:border-box;pointer-events:none;gap:2px;display:grid;position:absolute;bottom:4px;left:0;right:0}.monthCalAwayLine{box-sizing:border-box;height:3px;box-shadow:0 1px 0 color-mix(in srgb, var(--bg-900), transparent 65%);opacity:.95;border-radius:999px;justify-self:stretch;margin-left:4px;margin-right:4px;display:block}@media (width>=600px){.monthCalAwayLine{margin-left:8px;margin-right:8px}}.monthCalAwayLine--connectL{margin-left:0}.monthCalAwayLine--connectR{margin-right:0}.monthCalAwayLine--connectL.monthCalAwayLine--connectR{border-radius:0}.monthCalAwayLine--connectL:not(.monthCalAwayLine--connectR){border-radius:0 999px 999px 0}.monthCalAwayLine--connectR:not(.monthCalAwayLine--connectL){border-radius:999px 0 0 999px}.monthCalCell--today{background:#93c5fd0f;box-shadow:inset 0 0 0 1.5px #60a5fa94}[data-theme=light] .monthCalCell--today{background:#93c5fd47;box-shadow:inset 0 0 0 1.5px #3b82f6b3}.monthCalCell--today.monthCalCell--expanded{box-shadow:inset 0 0 0 1.5px #60a5fa94, inset 0 0 0 3px var(--accent)}.monthCalTip{z-index:999999;border:1px solid color-mix(in srgb, var(--border), transparent 35%);background:color-mix(in srgb, var(--bg-900), var(--bg-800) 14%);color:var(--text-h);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);border-radius:12px;padding:10px;position:fixed}.monthCalTipRow{align-items:center;gap:8px;padding:3px 0;font-size:12px;line-height:1.3;display:flex}.monthCalTipDot{width:8px;height:8px;box-shadow:0 0 0 2px color-mix(in srgb, var(--bg-900), transparent 55%);border-radius:999px;flex:none}.monthCalTipText{color:color-mix(in srgb, var(--text-h), var(--text) 10%)}.monthCalExpandedDay{border:1px solid color-mix(in srgb, var(--border), transparent 15%);background:color-mix(in srgb, var(--bg-800), var(--bg-900) 35%);box-shadow:var(--shadow);border-radius:14px;padding:16px;animation:.2s monthCalExpandIn}@keyframes monthCalExpandIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.monthCalExpandedClose{color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 8px;font-size:20px;line-height:1;transition:background .14s}.monthCalExpandedClose:hover{background:color-mix(in srgb, var(--white), transparent 90%)}.monthCalLegendBtn{width:28px;height:28px;color:var(--text);font-size:14px;font-weight:700;font-family:var(--mono);cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;transition:background .14s,color .14s;display:inline-flex}.monthCalLegendBtn:hover{color:var(--text-h);background:#ffffff38}[data-theme=light] .monthCalLegendBtn{background:#00000012}[data-theme=light] .monthCalLegendBtn:hover{background:#00000024}.monthCalLegendBackdrop{z-index:999996;opacity:0;background:#00000073;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:fixed;inset:0}.monthCalLegendBackdrop--visible{opacity:1}.monthCalLegendPopup{background:var(--bg-800);border:1px solid var(--border);box-shadow:var(--shadow);opacity:0;border-radius:16px;width:calc(100% - 48px);max-width:360px;padding:0;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .18s;transform:scale(.92)translateY(12px)}.monthCalLegendPopup--visible{opacity:1;transform:scale(1)translateY(0)}[data-theme=light] .monthCalLegendPopup{background:#fff}.monthCalLegendHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.monthCalLegendTitle{color:var(--text-h);letter-spacing:.01em;font-size:15px;font-weight:700}.monthCalLegendClose{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:2px 6px;font-size:20px;line-height:1;transition:background .14s}.monthCalLegendClose:hover{background:color-mix(in srgb, var(--white), transparent 90%)}.monthCalLegendList{flex-direction:column;gap:12px;margin:0;padding:10px 16px 16px;list-style:none;display:flex}.monthCalLegendItem{align-items:center;gap:12px;display:flex}.monthCalLegendIcon{text-align:center;width:44px;color:var(--text-h);flex-shrink:0;font-size:13px}.monthCalLegendDesc{color:var(--text);font-size:13px;line-height:1.35}.monthCalLegendBubble{color:#fff;background:#6366f1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.monthCalLegendBar{background:#6366f1;border-radius:3px;width:36px;height:5px;display:inline-block}.monthCalLegendHeat{border-radius:6px;width:24px;height:24px;display:inline-block}.monthCalLegendHeat--green{background:#16a34a}.monthCalLegendHeat--amber{background:#f59e0b}.monthCalLegendHeat--red{background:#ef4444}@media (width>=730px){.monthCalWrap{width:min(820px,92%)}.monthCalCellInner{gap:4px;padding:6px 4px}.monthCalDayNum{font-size:16px}.monthCalCarsCount,.monthCalCasualIndicator{font-size:14px}.monthCalWeekendBubble{width:26px;height:26px;font-size:12px}.monthCalWeekendBubbles{gap:3px;padding:0 2px}.monthCalAwayLine{height:5px;margin-left:10px;margin-right:10px}.monthCalAwayLines{gap:3px;bottom:6px}}
