:root{color:#e5ece8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#101919;--surface:#172222;--raised:#1d2b2a;--input:#111d1c;--line:#2c3a37;--text:#e5ece8;--muted:#99aaa3;--accent:#c5e69c;--accent-ink:#1c321c;--holiday:#e5ba7c;--holiday-bg:#383026;--bridge:#9fd0ee;--bridge-bg:#1d3140;--weekend:#21302c;--danger:#ffb1a8;background:#101919;font-family:Segoe UI,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#24352d;--bg:#f5f6f1;--surface:#fff;--raised:#edf1e8;--input:#f9faf6;--line:#dce2d6;--text:#24352d;--muted:#617264;--accent:#396743;--accent-ink:#fff;--holiday:#8a581c;--holiday-bg:#fbefdc;--bridge:#1f5f86;--bridge-bg:#e1eff8;--weekend:#edf1e9;--danger:#b8382b;background:#f5f6f1}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{min-width:340px;margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}button{color:inherit}button:disabled{cursor:default}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .15s,border-color .15s,transform .15s}.topbar{border-bottom:1px solid var(--line);background:var(--bg);align-items:center;gap:24px;height:60px;padding:0 36px;display:flex}.brand{letter-spacing:-1.2px;align-items:center;font-size:22px;font-weight:750;text-decoration:none;display:flex}.brand-icon{color:var(--accent);margin-right:10px;display:flex}.brand-icon svg{width:24px;height:24px}.brand-dot{color:var(--accent)}.header-caption{color:var(--muted);border-left:1px solid var(--line);padding-left:24px;font-size:12px}.theme-toggle{border:1px solid var(--line);background:var(--surface);border-radius:30px;align-items:center;gap:9px;margin-left:auto;padding:5px 10px;font-size:12px;display:flex}.theme-toggle svg{width:16px;height:16px;color:var(--accent)}.switch-track{background:var(--line);border-radius:20px;flex-shrink:0;align-items:center;width:34px;height:20px;padding:3px;display:inline-flex}.switch-track>span{background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .2s}[aria-checked=true] .switch-track,input:checked+.switch-track{background:var(--accent)}[aria-checked=true] .switch-track>span,input:checked+.switch-track>span{background:var(--accent-ink);transform:translate(14px)}.workspace{grid-template-columns:278px minmax(0,1fr);max-width:1920px;margin:auto;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;padding:32px 24px;display:flex}.sidebar summary{font-size:16px;font-weight:650;list-style:none}.sidebar summary span{float:right;color:var(--muted)}.sidebar-intro{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.6}.setting-section{border-bottom:1px solid var(--line);padding:25px 0}.person-settings form{margin-top:18px}.person-settings form .button{margin-top:10px}.active-person{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:7px;margin:16px 0 -12px;font-size:13px;display:flex}.active-person strong{color:var(--text)}.people-legend{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.people-legend>span{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:5px;align-items:center;gap:7px;min-width:0;padding:6px 8px;font-size:11px;display:inline-flex}.people-legend>span.active{border-color:var(--accent);background:var(--raised)}.person-select{overflow-wrap:anywhere;text-align:left;min-width:0;font:inherit;background:0 0;border:none;border-radius:3px;align-items:center;gap:7px;padding:2px 0;display:inline-flex}.person-select:hover{color:var(--accent)}.person-remove{color:var(--muted);background:0 0;border:none;border-radius:3px;padding:0 4px;font-size:18px;line-height:1}.person-remove:hover:not(:disabled){background:var(--raised);color:var(--danger)}.person-remove:disabled{opacity:.35}.confirmation-dialog{border:1px solid var(--line);background:var(--surface);width:min(440px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:14px;margin:auto;padding:28px;overflow:auto;box-shadow:0 24px 80px #0006}.confirmation-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.confirmation-dialog h2{overflow-wrap:anywhere}.confirmation-dialog p{color:var(--muted);margin:16px 0 24px;font-size:13px;line-height:1.7}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.button.destructive{background:var(--danger);color:var(--bg);border-color:#0000}.people-legend i,.active-person i{border:1px solid #172222;border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.calendar-help+.range-picker{margin-top:14px}.person-markers{pointer-events:none;gap:1px;height:4px;display:flex;position:absolute;bottom:1px;left:2px;right:2px}.person-markers>span{border-radius:1px;flex:1;min-width:0;box-shadow:0 0 0 .5px #172222}.section-label{align-items:center;gap:10px;margin-bottom:21px;font-size:13px;font-weight:600;display:flex}.section-label>span{color:var(--accent);border:1px solid var(--line);border-radius:5px;padding:3px 5px;font-size:10px;font-weight:500}label{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}input:not([type=checkbox]),select{background:var(--input);border:1px solid var(--line);width:100%;height:41px;color:var(--text);border-radius:7px;min-width:0;padding:0 10px;font-size:12px;display:block}select{padding-right:3px}input[type=date]{margin-bottom:15px}.field-help{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.65}.field-help+label{margin-top:16px}.input-suffix{position:relative}.input-suffix input{padding-right:55px}.input-suffix>span{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:13px;right:13px}.toggle-row{align-items:center;gap:12px;margin:24px 0 0;display:flex;position:relative}.toggle-row>span:first-child{flex:1}.toggle-row strong{color:var(--text);font-size:12px;font-weight:500;display:block}.toggle-row small{margin-top:5px;font-size:10px;display:block}.toggle-row input{opacity:0;cursor:pointer;width:34px;height:24px;position:absolute;right:0}.toggle-row input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.button{border:1px solid var(--line);border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:11px 14px;font-size:12px;font-weight:600;display:inline-flex}.button svg{width:15px;height:15px}.button.secondary{background:var(--raised)}.button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.button:disabled{opacity:.45}.button:not(:disabled):hover{filter:brightness(1.12)}.full-width{width:100%}.reset-button{width:100%;color:var(--muted);text-underline-offset:4px;background:0 0;border:none;margin-top:23px;padding:10px;font-size:12px;text-decoration:underline}.reset-button:disabled{opacity:.4}.privacy-note{color:var(--muted);gap:10px;padding-top:46px;font-size:11px;line-height:1.65;display:flex}.privacy-note strong{color:var(--text);font-weight:500}.privacy-note p{margin-top:4px}.privacy-symbol{color:var(--accent);font-size:24px;line-height:1}main{min-width:0;padding:26px 40px 0}.page-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.eyebrow{letter-spacing:2px;color:var(--accent);margin-bottom:12px;font-size:10px;font-weight:650}h1{letter-spacing:-1.4px;margin:0;font-size:clamp(24px,2.5vw,38px);font-weight:600;line-height:1.25}h1>span{color:var(--accent)}h1>.eyebrow{text-transform:uppercase;line-height:1.5;display:block}.page-heading p{color:var(--muted);margin-top:12px;font-size:13px}.mobile-break{display:none}.calendar-period{text-align:right;white-space:nowrap}.calendar-period h2{letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:10px;font-weight:650}.calendar-period p{color:var(--text);letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:600}.calendar-period small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 18px;position:relative;overflow:hidden}.stat>span:first-child{color:var(--muted);font-size:12px}.stat>div{align-items:baseline;gap:8px;margin-top:2px;display:flex}.stat strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:26px;font-weight:550}.stat small{color:var(--muted);font-size:12px}.stat.remaining{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.stat.remaining>span:first-child,.stat.remaining small{color:var(--accent-ink);opacity:.8}.stat-decoration{opacity:.22;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.stat-decoration svg{width:44px;height:44px;transform:rotate(15deg)}.stat.over-budget{background:var(--holiday-bg);color:var(--danger);border-color:var(--danger)}.stat.over-budget>span:first-child,.stat.over-budget small{color:var(--danger)}.notice{color:var(--accent);font-size:12px;line-height:1.6}.notice:not(:empty){padding:14px 0 0}.alert,.error{color:var(--danger);font-size:12px;line-height:1.6}.alert{border:1px solid var(--danger);border-radius:7px;padding:12px 16px}.calendar-section{margin-top:24px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}h2{letter-spacing:-.4px;margin:0;font-size:18px;font-weight:600}.section-heading p{color:var(--muted);margin:8px 0 0;font-size:11px}.legend{color:var(--muted);flex-wrap:wrap;gap:15px;font-size:10px;display:flex}.legend>span{align-items:center;gap:6px;display:flex}.legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.legend-selected{background:var(--accent)}.legend-holiday{background:var(--holiday)}.legend-weekend{background:var(--weekend);border:1px solid var(--muted)}.legend-bridge{background:var(--bridge)}.range-picker{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-bottom:20px;font-size:12px}.range-picker summary{color:var(--muted);padding:13px 16px;list-style:none}.range-picker summary>span{color:var(--accent);margin-right:7px}.range-picker form{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:14px;padding:16px;display:flex}.range-picker form label{flex:1;min-width:140px;margin:0}.range-picker input{margin:7px 0 0}.range-picker .error{width:100%;margin:0}.months-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:17px;display:grid}.month-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;padding:18px 15px 12px}.month-heading{justify-content:space-between;align-items:center;gap:4px;height:23px;margin-bottom:16px;display:flex}h3{margin:0;font-size:14px;font-weight:600}.month-heading h3>span{color:var(--muted);margin-left:3px;font-size:10px;font-weight:400}.month-count{color:var(--accent);background:var(--raised);white-space:nowrap;border-radius:4px;padding:3px 5px;font-size:9px}.weekdays,.days-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekdays{text-align:center;color:var(--muted);margin-bottom:9px;font-size:9px}.days-grid{grid-auto-rows:29px}.day{background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;min-width:0;padding:0;font-size:11px;display:flex;position:relative}.day.weekend{color:var(--muted);background:var(--weekend)}.day.holiday{color:var(--holiday);background:var(--holiday-bg)}.day.bridge{color:var(--bridge);background:var(--bridge-bg);border-color:var(--bridge);border-style:dashed}.holiday-dot{background:var(--holiday);border-radius:50%;width:3px;height:3px;position:absolute;bottom:2px}.day.today{border-color:var(--accent)}.day:not(:disabled):not(.selected):hover{background:var(--raised);border-color:var(--accent)}.day.selected{background:var(--accent);color:var(--accent-ink);font-weight:700}.day.outside{opacity:.25}.day.highlight{outline:2px solid var(--holiday);outline-offset:1px}.half-marker{font-size:7px;position:absolute;top:0;right:1px}.month-footer{border-top:1px solid var(--line);min-height:15px;color:var(--muted);margin-top:13px;padding-top:8px;font-size:9px;line-height:1.6}.month-footer span{display:block}.month-footer b{color:var(--holiday);margin-right:4px;font-weight:500}.calendar-help{color:var(--muted);margin:15px 0 0;font-size:11px;line-height:1.6}.vacations{margin:40px 0}.vacations .section-heading{align-items:end}.vacations .eyebrow{font-size:9px}.count-badge{background:var(--raised);border:1px solid var(--line);vertical-align:middle;border-radius:5px;margin-left:5px;padding:2px 6px;font-size:11px}.muted{color:var(--muted);font-size:11px}.empty-state{border:1px dashed var(--line);background:var(--surface);text-align:center;border-radius:10px;padding:32px 16px}.empty-icon{background:var(--raised);color:var(--accent);border-radius:50%;margin-bottom:13px;padding:12px;display:inline-flex}.empty-state p{color:var(--muted);margin-bottom:0;font-size:12px;line-height:1.7}.vacation-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.vacation-row{background:var(--surface);align-items:center;gap:18px;padding:20px;display:flex}.vacation-row+.vacation-row{border-top:1px solid var(--line)}.block-number{color:var(--muted);font-size:12px}.block-dates{text-align:left;background:0 0;border:none;flex:1;padding:0}.block-dates strong{font-size:13px;font-weight:550;display:block}.block-dates small{color:var(--muted);margin-top:6px;font-size:10px;line-height:1.6;display:block}.cost-badge{color:var(--accent);background:var(--raised);white-space:nowrap;border-radius:6px;padding:6px 8px;font-size:11px}.remove-button{color:var(--muted);background:0 0;border:none;border-radius:4px;padding:0 5px;font-size:23px}.remove-button:hover{background:var(--raised);color:var(--danger)}.page-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;padding:20px 0;font-size:10px;display:flex}@media (width>=1600px){.months-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1150px){main{padding:22px 24px 0}.workspace{grid-template-columns:250px minmax(0,1fr)}.sidebar{padding:28px 20px}.months-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-wrap:wrap;align-items:start}.stat{padding:11px 14px}.stat-decoration{display:none}}@media (width<=760px){.topbar{height:54px;padding:0 20px}.header-caption{display:none}.workspace{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:none;border-bottom:1px solid var(--line);padding:20px}.sidebar details[open]{width:100%;max-width:500px;margin:auto}.privacy-note{display:none}main{padding:20px 20px 0}h1{font-size:29px}.mobile-break{display:block}.page-heading{flex-wrap:wrap;align-items:start}.calendar-period{text-align:left}.calendar-period p{font-size:17px}.stats{gap:8px;margin-top:16px}.stat{padding:10px}.stat strong{font-size:22px}.stat>span:first-child,.stat small{font-size:10px}.stat>div{gap:5px}.calendar-section{margin-top:20px}.months-grid{gap:12px}.month-card{padding:16px 10px 10px}.days-grid{gap:3px}.vacation-row{flex-wrap:wrap;gap:12px;padding:16px}.block-dates{min-width:200px}.cost-badge{margin-left:26px}.remove-button{margin-left:auto}.page-footer{flex-direction:column;gap:8px}}@media (width<=470px){.topbar{gap:12px}.theme-toggle>span:not(.switch-track){display:none}.months-grid{grid-template-columns:minmax(0,1fr)}.month-card{padding:20px}.days-grid{grid-auto-rows:35px;gap:5px}.day{font-size:12px}.weekdays,.month-footer{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
