:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#293832;background:#f5f7f5;--green:#3d8d6b;--line:#e7ece8;--muted:#7a8880;--sage:#3d8d6b;--rose:#bb6680;--blue:#5885bf;--amber:#bd8b32;--lavender:#956bbb;--teal:#499e9c;font-synthesis:none}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;border:1px solid #dbe3dc;border-radius:12px;padding:13px;background:white;color:inherit;min-width:0}input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}textarea{resize:vertical}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8bcaae;outline-offset:3px}[hidden]{display:none!important}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.icon-button:hover{background:#edf3ee}.app{max-width:1160px;margin:auto;background:#fff;min-height:100dvh;padding-bottom:88px}.app-header{height:84px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.header-actions{display:flex;align-items:center;gap:12px}.brand h1{font-size:23px;font-weight:650;letter-spacing:-.8px}.brand h1 span{color:#8da399;font-weight:400}.status-dot{width:9px;height:9px;border-radius:50%;background:#d5a751}.connected .status-dot{background:#68a886;box-shadow:0 0 0 4px #edf6ef}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:23px 25px 16px;gap:8px}#month-picker{display:flex;align-items:center;gap:9px;padding:5px}#month-picker h2{font-size:23px;font-weight:630;letter-spacing:-.6px}#month-picker .icon{width:16px;color:var(--muted)}.date-controls{display:flex;align-items:center;gap:3px}.today-button{border:1px solid var(--line);padding:9px 14px;border-radius:10px;font-size:13px;color:#536b5c;margin-right:7px}.filter-row{display:flex;gap:8px;padding:0 30px 23px;overflow:auto;scrollbar-width:none}.filter{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:22px;white-space:nowrap;padding:8px 15px;font-size:13px}.filter.active{background:#edf5ef;border-color:#c9e0d0;color:#2d7857}.dot{height:8px;width:8px;background:var(--tone,var(--green));border-radius:50%;flex-shrink:0}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px}.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center;padding:13px 0;background:#fcfdfb}.weekday-row span:last-child{color:#c77d81}.month-cell{min-width:0;min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 3px;cursor:pointer}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{background:#fafbf9;color:#aab4ac}.month-cell.selected{background:#eef7f1}.cell-header{display:flex;justify-content:center;margin-bottom:6px}.day-number{width:30px;height:30px;border-radius:50%;font-size:12px}.today .day-number{background:var(--green);color:white;font-weight:650}.selected:not(.today) .day-number{box-shadow:inset 0 0 0 1px #82b29a}.event-pill{width:100%;display:block;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--tint);color:var(--tone);border-left:2px solid var(--tone);border-radius:3px;padding:4px 3px;margin:3px 0;font-size:10px;line-height:14px}.pending{opacity:.65}.more-events{font-size:10px;color:var(--muted);padding:3px}.sage{--tone:var(--sage);--tint:#e4f2e9}.rose{--tone:var(--rose);--tint:#f8e6ee}.blue{--tone:var(--blue);--tint:#e7effb}.amber{--tone:var(--amber);--tint:#fcf1d7}.lavender{--tone:var(--lavender);--tint:#f0e8fa}.teal{--tone:var(--teal);--tint:#e2f2f0}#day-panel{border-left:1px solid var(--line);padding:23px 20px;min-height:260px;background:#fcfdfb}.day-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.day-heading h2{font-size:17px;font-weight:600}.day-heading small{display:block;color:var(--muted);font-size:12px;margin-top:4px;font-weight:400}.event-row{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.event-row .event-open{display:flex;align-items:center;gap:12px;text-align:left;flex:1;min-width:0;padding:0}.event-stripe{width:4px;height:36px;align-self:flex-start;border-radius:4px;background:var(--tone);flex-shrink:0}.event-row h3{font-size:14px;font-weight:550;overflow-wrap:anywhere}.event-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.ack-button{border:1px solid #bfdac9;background:#eef7f0;color:#3a7959;border-radius:10px;padding:9px;font-size:12px;white-space:nowrap}.acknowledged{color:var(--green);font-size:12px;white-space:nowrap}.empty{padding:32px 10px;text-align:center;color:#8d9b91;font-size:14px;line-height:1.7}.empty .icon{display:block;margin:0 auto 12px;width:32px;height:32px;opacity:.5}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1160px);display:flex;background:#ffffffed;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:10px 10px calc(10px + env(safe-area-inset-bottom));z-index:5}.bottom-nav button{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:#89948d;min-height:44px}.bottom-nav button.active{color:var(--green);font-weight:600}.fab{position:fixed;bottom:100px;right:max(24px,calc((100vw - 1160px)/2 + 24px));height:58px;width:58px;border-radius:19px;background:var(--green);color:white;box-shadow:0 5px 18px #285e6940;z-index:4}.fab .icon{width:28px;height:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;padding:25px 0 15px}.section-heading h2{font-size:23px;font-weight:600}#birthdays-page,#settings-page{padding:0 30px}.birthday-month{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding-top:24px}.birthday-date{min-width:43px;color:var(--amber);font-size:20px;font-weight:600}.search-row{display:flex;padding:0 25px 20px;gap:10px}.search-row input{background:#f7f9f6;border:0}.banner{margin:10px 20px;padding:12px 16px;background:#fff5df;border-radius:12px;font-size:12px;color:#876b35;display:flex;justify-content:space-between}.banner button{font-weight:600}.setting{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);gap:15px}.setting strong{font-size:14px;font-weight:550}.setting small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:5px;overflow-wrap:anywhere}.setting .icon{color:var(--green)}.setting-group{color:var(--muted);font-size:12px;margin-top:28px}.hint{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0}.button{padding:12px 17px;border-radius:12px;background:#edf4ef;color:#3b795b;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--green);color:white}.danger{color:#b15c5c;background:#fceeee}.wide{width:100%}dialog{padding:0;border:0;border-radius:22px;width:calc(100% - 28px);max-width:480px;max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #1a352a33}dialog::backdrop{background:#1b302b66;backdrop-filter:blur(3px)}.dialog-body{padding:25px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.dialog-header h2{font-size:23px;font-weight:600;letter-spacing:-.5px}.dialog-footer{display:flex;gap:10px;padding:0 25px 25px;justify-content:flex-end}.dialog-footer .push-left{margin-right:auto}.field{display:block;font-size:12px;font-weight:500;margin:18px 0;color:#64766a}.field input,.field select,.field textarea{margin-top:7px;font-size:15px;font-weight:400}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row .field{margin-top:0}.title-field input{font-size:22px;font-weight:500;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0}.checkbox-field{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:14px}.person-picker,.kind-picker{display:flex;gap:10px}.person-picker button{flex:1;padding:17px;border:1px solid var(--line);border-radius:13px;font-size:18px}.person-picker button.active{border-color:#7eaf95;background:#eef7f0;color:var(--green)}.kind-picker button{flex:1;border:1px solid var(--line);padding:10px;border-radius:11px;font-size:13px}.kind-picker button.active{background:#eaf4ed;color:var(--green);border-color:#bcd8c6}.form-error{font-size:13px;background:#fff0ea;color:#a85d47;padding:12px;border-radius:10px;margin:10px 0}.detail-title{font-size:27px;line-height:1.3;overflow-wrap:anywhere;margin:5px 0 24px}.detail-line{display:flex;gap:14px;padding:12px 0;font-size:14px;line-height:1.7}.detail-line .icon{color:var(--muted);flex-shrink:0}.detail-line p{white-space:pre-wrap;overflow-wrap:anywhere}.toasts{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:20;width:max-content;max-width:calc(100% - 35px);pointer-events:none}.toast{background:#2d4c3b;color:white;border-radius:12px;padding:13px 18px;font-size:13px;margin-top:7px;box-shadow:0 4px 20px #20352922}.conflict{border:1px solid var(--line);border-radius:12px;padding:15px;margin:15px 0}.conflict p{font-size:13px;margin:10px 0;overflow-wrap:anywhere}.conflict-actions{display:flex;flex-wrap:wrap;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.app-header{height:68px;padding:0 18px}.brand{gap:8px}.brand h1{font-size:21px}.brand img{width:31px;height:31px}.calendar-toolbar{padding:18px 14px 13px}#month-picker h2{font-size:21px}.date-controls{gap:0}.date-controls .icon-button{width:33px;height:40px}.today-button{font-size:12px;padding:8px 11px;margin-right:4px}.filter-row{padding:0 18px 18px;gap:7px}.filter{padding:7px 12px;font-size:12px}.calendar-layout{display:block}.weekday-row{padding:10px 0;font-size:11px}.month-cell{min-height:79px;padding:4px 2px}.day-number{width:27px;height:27px;font-size:12px}.cell-header{margin-bottom:4px}.event-pill{font-size:9px;line-height:12px;padding:3px 2px;margin:2px 0;border-left-width:2px}.more-events{font-size:9px}#day-panel{border-left:0;border-top:0;padding:22px 20px 85px;min-height:210px}.day-heading{margin-bottom:6px}.event-row{padding:15px 0}.event-row h3{font-size:15px}.bottom-nav button{flex-direction:column;gap:4px;font-size:10px}.bottom-nav{padding-top:8px}.fab{bottom:96px;right:22px}.search-row{padding:0 18px 16px}#birthdays-page,#settings-page{padding:0 22px 85px}.dialog-body{padding:22px}.dialog-footer{padding:0 22px 22px}dialog{max-height:92dvh}.field input,.field select{font-size:14px}.field-row{gap:9px}.birthday-date{font-size:19px}}
.title-field input{background:#f2ecdf;color:#293832;border:1px solid #ddd4c1;border-radius:12px;padding:14px 16px;font-size:22px}.title-field input::placeholder{color:#7d8278}.field select.calendar-select{background:var(--tint);color:var(--tone);border-color:var(--tone);font-weight:600}.calendar-select option{background:var(--tint);color:var(--tone)}
.checkbox-field input[role=switch]{appearance:none;position:relative;width:44px;height:26px;padding:0;margin:0;border:0;border-radius:16px;background:#cbd6ce;flex-shrink:0;cursor:pointer}.checkbox-field input[role=switch]::before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #20352922}.checkbox-field input[role=switch]:checked{background:var(--green)}.checkbox-field input[role=switch]:checked::before{transform:translateX(18px)}
#brand-title{padding:0;font:inherit;letter-spacing:inherit;text-align:left}.view-title{font-size:12px;font-weight:600;padding:8px 12px;border-radius:10px;background:#edf5ef;color:var(--green);white-space:nowrap}.header-actions{gap:5px}.calendar-layout.single-view{grid-template-columns:minmax(0,1fr)}#calendar-content{min-width:0}#month-picker{min-width:0}#month-picker h2{overflow:hidden;text-overflow:ellipsis}#month-picker>.icon{flex-shrink:0}.date-controls{flex-shrink:0}.day-view{padding:20px 30px 90px;min-height:440px;background:#fcfdfb}.day-view-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.day-view-heading h3{font-size:21px;font-weight:550}.day-view .event-row{padding:21px 0}.day-view .event-row h3{font-size:17px}.day-view .event-row small{font-size:14px}.day-view .event-stripe{height:43px}
.week-timeline{border-top:1px solid var(--line);position:relative;min-width:0;overflow:hidden;background:#fff}.timeline-controls{display:flex;align-items:center;justify-content:space-between;padding:7px 22px;border-bottom:1px solid var(--line);gap:10px}.timeline-range{font-size:12px;color:var(--muted)}.timeline-zoom{display:flex;align-items:center;gap:3px}.timeline-zoom .icon-button{font-size:24px;width:36px;height:36px;color:var(--green)}.timeline-zoom .icon-button:disabled{opacity:.25;cursor:default}.timeline-zoom-label{font-size:11px;text-align:center;min-width:49px;color:#617569;font-variant-numeric:tabular-nums}.timeline-viewport{position:relative;width:100%;height:clamp(330px,58dvh,620px);overflow:auto;overscroll-behavior-x:contain;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;scrollbar-width:thin;scrollbar-color:#b5cbbb #f2f6f1}.timeline-viewport.interacting{cursor:grabbing}.timeline-viewport:focus-visible{outline-offset:-3px}.timeline-canvas{position:relative;min-height:100%;background-image:linear-gradient(to right,#cbded0 1px,transparent 1px),linear-gradient(to right,#edf2ed 1px,transparent 1px);background-size:calc(var(--hour-px)*24) 100%,var(--hour-px) 100%}.timeline-ruler{position:sticky;top:0;z-index:3;background:#fbfdf9;box-shadow:0 1px 0 var(--line)}.timeline-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:41px}.timeline-day{padding:9px 8px;text-align:left;font-size:12px;color:#68816e;border-right:1px solid #d9e5d9;overflow:hidden;white-space:nowrap}.timeline-day strong{font-weight:650;color:#2f5e43}.timeline-hours{height:27px;position:relative;border-top:1px solid #edf2ed;overflow:hidden}.timeline-tick{position:absolute;top:0;height:27px;border-left:1px solid #dce7dd;padding:6px 4px;font-size:10px;color:#819186;visibility:hidden;font-variant-numeric:tabular-nums}.timeline-tick.show-label{visibility:visible}.timeline-events{position:relative;min-height:220px}.timeline-event{position:absolute;min-width:2px;height:53px;padding:7px 5px;text-align:left;border-radius:7px;background:var(--tint);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 45%,transparent);border-left:3px solid var(--tone);overflow:hidden;touch-action:none;box-shadow:0 1px 2px #234c3020}.timeline-event.all-day{background:color-mix(in srgb,var(--tint) 82%,white)}.timeline-event-label{display:block;position:sticky;left:8px;width:max-content;max-width:100%;pointer-events:none}.timeline-event strong{font-size:12px;font-weight:600;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.timeline-event small{display:block;font-size:10px;white-space:nowrap;margin-top:4px;opacity:.85;font-variant-numeric:tabular-nums}.timeline-now{position:absolute;top:41px;bottom:0;width:1px;background:#c97968;pointer-events:none;z-index:4}.timeline-now span{position:absolute;top:14px;left:0;transform:translateX(-50%);font-size:9px;color:#fff;background:#c97968;padding:3px 5px;border-radius:5px;font-variant-numeric:tabular-nums}.timeline-empty{position:absolute;top:190px;left:0;right:0;text-align:center;pointer-events:none;color:#97a395;font-size:13px}
@media(max-width:760px){.header-actions{gap:1px}.header-actions .icon-button{width:30px}.view-title{font-size:11px;padding:8px 9px}.day-view{padding:17px 20px 90px}.timeline-controls{padding:5px 14px}.timeline-viewport{height:clamp(330px,57dvh,560px)}#calendar-page[data-view=week] #month-picker h2{font-size:17px}#calendar-page[data-view=day] #month-picker h2{font-size:20px}.timeline-event strong{font-size:11px}.timeline-event small{font-size:9px}.timeline-event{border-radius:5px;padding:7px 4px}.timeline-day{font-size:11px}.timeline-range{font-size:11px}}
@media(max-width:360px){.brand h1{font-size:19px}.brand{gap:6px}.view-title{padding:7px}.header-actions .icon-button{width:27px}#calendar-page[data-view=week] #month-picker h2{font-size:15px}}
.timeline-day,.timeline-event{overflow:clip}.timeline-day-label{display:block;position:sticky;left:8px;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.car-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:60px;border:1px solid transparent;border-radius:14px;padding:16px 18px;font-size:16px;font-weight:600;margin:8px 0 15px}.car-button .icon{color:inherit;width:26px;height:26px;flex-shrink:0}.car-available{background:#f0f5fc;color:#577da6;border-color:#e0eaf5}.car-reserved{background:#e2f3e8;color:#287447;border-color:#a6d3b5}.car-unavailable{background:#fbe8e7;color:#b14541;border-color:#edb6b1}.car-button:disabled{opacity:1;cursor:default}.car-button[aria-busy=true]{opacity:.65;cursor:wait}.car-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:-5px 0 17px}
.theme-toggle{margin:0}
:root[data-theme=dark]{color-scheme:dark;color:#e4ece6;background:#101612;--green:#80cfa3;--line:#2e3e33;--muted:#a6b8ac;--sage:#8dd7ae;--rose:#eea2bf;--blue:#a1c6f5;--amber:#edce89;--lavender:#cfb5f3;--teal:#92dcd0}
[data-theme=dark] .app{background:#151e18}[data-theme=dark] .icon-button:hover{background:#26392c}[data-theme=dark] .brand h1 span{color:#9bb7a7}[data-theme=dark] .connected .status-dot{background:#80cfa3;box-shadow:0 0 0 4px #263e2e}
[data-theme=dark] .today-button{color:#bbd2c3}[data-theme=dark] .filter{border-color:#354a3b}[data-theme=dark] .filter.active,[data-theme=dark] .view-title{background:#253e2e;color:#b2e2c3;border-color:#4e795d}[data-theme=dark] .weekday-row,[data-theme=dark] #day-panel,[data-theme=dark] .day-view{background:#19241c}[data-theme=dark] .weekday-row span:last-child{color:#e3a09c}[data-theme=dark] .month-cell.outside{background:#121a15}[data-theme=dark] .month-cell.selected{background:#253e2e}[data-theme=dark] .day-number{color:#c5d7ca}[data-theme=dark] .outside .day-number{color:#839b8b}[data-theme=dark] .selected:not(.today) .day-number{box-shadow:inset 0 0 0 1px #779d82}
[data-theme=dark] .sage{--tint:#223e2d}[data-theme=dark] .rose{--tint:#432b39}[data-theme=dark] .blue{--tint:#263c55}[data-theme=dark] .amber{--tint:#443b23}[data-theme=dark] .lavender{--tint:#3b2e4e}[data-theme=dark] .teal{--tint:#223e3b}
[data-theme=dark] .bottom-nav{background:#18231df2}[data-theme=dark] .bottom-nav button{color:#a5b7a9}[data-theme=dark] .bottom-nav button.active{color:var(--green)}[data-theme=dark] .button{background:#293e30;color:#b3dfc0}[data-theme=dark] .button.primary,[data-theme=dark] .fab,[data-theme=dark] .today .day-number{background:#328260;color:#f5fff8}[data-theme=dark] .button.danger{background:#462b2a;color:#ffb8ae}[data-theme=dark] .empty,[data-theme=dark] .timeline-empty{color:#a2b6a8}[data-theme=dark] .ack-button{background:#254332;border-color:#4a795a;color:#b1e1c1}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#1e2c23;color:#e4ece6;border-color:#425649}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#a0afa3}[data-theme=dark] .field{color:#bfcec2}[data-theme=dark] .search-box,[data-theme=dark] .search-row input{background:#202f25}[data-theme=dark] .title-field input{background:#383226;color:#f6eedb;border-color:#756749}[data-theme=dark] .title-field input::placeholder{color:#c1b9a5}[data-theme=dark] .field select.calendar-select{background:var(--tint);color:var(--tone);border-color:var(--tone)}
[data-theme=dark] dialog{background:#1b271f;color:#e7efe8;box-shadow:0 20px 80px #0008}[data-theme=dark] dialog::backdrop{background:#020904b3}[data-theme=dark] .person-picker button,[data-theme=dark] .kind-picker button{border-color:#415447}[data-theme=dark] .person-picker button.active,[data-theme=dark] .kind-picker button.active{background:#294735;border-color:#659876;color:#bcE8cc}[data-theme=dark] .checkbox-field input[role=switch]{background:#465c4d}[data-theme=dark] .checkbox-field input[role=switch]:checked{background:#3d9568}[data-theme=dark] .form-error{background:#482e28;color:#ffc5b2}[data-theme=dark] .banner{background:#44391f;color:#f1d79b}[data-theme=dark] .toast{background:#304f3b;color:#f1fbf4}
[data-theme=dark] .week-timeline{background:#151e18}[data-theme=dark] .timeline-canvas{background-image:linear-gradient(to right,#415b49 1px,transparent 1px),linear-gradient(to right,#283b2e 1px,transparent 1px)}[data-theme=dark] .timeline-ruler{background:#19261e}[data-theme=dark] .timeline-day{color:#b8d0bf;border-color:#3a5141}[data-theme=dark] .timeline-day strong{color:#dbeddf}[data-theme=dark] .timeline-hours{border-color:#304635}[data-theme=dark] .timeline-tick{color:#b0c6b6;border-color:#3b5142}[data-theme=dark] .timeline-zoom-label{color:#b8cdbf}[data-theme=dark] .timeline-viewport{scrollbar-color:#51705b #1b2a21}[data-theme=dark] .timeline-event.all-day{background:var(--tint)}[data-theme=dark] .timeline-now{background:#e9a18e}[data-theme=dark] .timeline-now span{background:#9d4d3e;color:#fff8f5}
[data-theme=dark] .car-available{background:#1e2c3d;color:#a5bfde;border-color:#344a64}[data-theme=dark] .car-reserved{background:#203e2c;color:#abe4be;border-color:#4b805d}[data-theme=dark] .car-unavailable{background:#482a28;color:#ffbbb4;border-color:#8b5350}
.work-markers{display:flex;gap:3px;height:3px;margin:3px 5px 6px;pointer-events:none}.work-markers>span{display:block;flex:1;min-width:0;height:3px;border-radius:3px;background:var(--tone)}.day-view>.work-markers,#day-panel>.work-markers{max-width:110px;margin:0 0 15px}.timeline-day .work-markers{margin:3px 0 0}
#work-page{padding:0 30px 100px}.work-profile{display:inline-block;font-size:12px;font-weight:550;color:var(--tone);background:var(--tint);padding:5px 10px;border-radius:20px;vertical-align:middle;margin-left:7px}.work-toolbar{display:flex;align-items:center;gap:7px;padding:5px 0 12px}.work-toolbar strong{font-size:16px;font-weight:550;flex:1;text-align:center;white-space:nowrap}.work-toolbar>.button{font-size:12px}.work-actions{display:flex;gap:10px;margin:10px 0 18px}.work-actions .button{flex:1;font-size:12px}.work-day{display:grid;grid-template-columns:82px minmax(0,1fr) 40px;gap:12px;align-items:center;min-height:87px;border-bottom:1px solid var(--line);padding:10px 0}.work-day-date{display:flex;flex-direction:column;gap:5px}.work-day-date strong{font-size:14px;font-weight:550}.work-day-date span{font-size:12px;color:var(--muted)}.work-day-content{min-width:0}.work-shift{display:flex;align-items:center;background:var(--tint);color:var(--tone);border-radius:10px;border-left:3px solid var(--tone,transparent);min-height:58px}.work-shift-edit{flex:1;min-width:0;text-align:left;padding:10px 12px;color:inherit}.work-shift-edit strong{font-size:14px;font-weight:550;display:block;white-space:nowrap}.work-shift-edit small{display:block;font-size:10px;margin-top:4px;opacity:.8;min-height:12px}.work-free{background:#f2f5ef;color:#83917f}.work-holiday{background:#fff2d9;color:#977529}.work-grip{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;min-width:36px;height:48px;padding:6px;color:inherit}.work-grip .icon{width:20px;height:23px}.work-drop-target{background:#e8f4ec;box-shadow:inset 0 0 0 2px #78ac89;border-radius:12px}.work-drag-ghost{position:fixed;z-index:200;pointer-events:none;user-select:none;min-width:130px;padding:15px;border-radius:12px;background:var(--tint);color:var(--tone);border:1px solid var(--tone);box-shadow:0 8px 28px #142d343d;font-size:14px;font-weight:600}.work-drag-hint{margin-top:20px}.work-pattern-day{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.work-pattern-day .checkbox-field{margin:0;font-size:13px;gap:9px}.work-hours{display:flex;align-items:center;gap:8px;min-width:0}.work-hours>input{width:calc((100% - 26px)/2);padding:10px 7px;font-size:14px}.work-hours>span{color:var(--muted)}.work-hours>.field{margin:0;flex:1}.work-hours input:disabled{opacity:.35}.work-pattern-days{margin:15px 0}.work-form .dialog-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:16px 22px;z-index:2}.work-form .dialog-footer .button{font-size:13px}.work-holiday-move{display:flex;gap:10px;margin-top:20px}.work-holiday-move .button{flex:1;font-size:12px}
[data-theme=dark] .work-free{background:#202c23;color:#a5b7a9}[data-theme=dark] .work-holiday{background:#44391f;color:#ecd291}[data-theme=dark] .work-drop-target{background:#253f2e;box-shadow:inset 0 0 0 2px #80cfa3}[data-theme=dark] .work-form .dialog-footer{background:#1b271f}
@media(max-width:760px){#work-page{padding:0 20px 100px}.work-toolbar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.work-toolbar>.button{grid-column:2;justify-self:center;padding:7px 13px}.work-toolbar strong{font-size:15px}.work-day{grid-template-columns:60px minmax(0,1fr) 30px;gap:8px}.work-day>.icon-button{width:30px}.work-shift-edit{padding:10px 9px}.work-shift-edit strong{font-size:13px}.work-grip{min-width:29px;padding:4px}.work-day-date strong{font-size:13px}.work-day-date span{font-size:11px}.work-pattern-day{grid-template-columns:78px minmax(0,1fr);gap:7px}.work-pattern-day .checkbox-field{gap:7px}.work-pattern-day .checkbox-field input[role=switch]{width:42px}.work-hours{gap:6px}.work-hours>input{font-size:12px;padding:10px 4px}.work-actions .button{padding:10px 12px}.bottom-nav button{font-size:10px}.work-form .dialog-footer{padding:14px 18px}.work-form .dialog-footer .button{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
