:root{color-scheme:light;--bg: #f4f2ee;--surface: #ffffff;--text: #1b1f24;--muted: #5d6670;--line: #d9d4cb;--accent: #1f3a5f;--accent-text: #ffffff;--warn-bg: #fff4d6;--warn-text: #6b4b00;--bad-bg: #fde4e1;--bad-text: #8a1c12;--ok-text: #1d6b3a;font-family:system-ui,Segoe UI,Arial,sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #14181d;--surface: #1d2329;--text: #e9ecef;--muted: #9aa4ae;--line: #333c45;--accent: #8fb3e3;--accent-text: #0f1a28;--warn-bg: #3a2f12;--warn-text: #f3d98a;--bad-bg: #3e1d1a;--bad-text: #f4b3ab;--ok-text: #8fd6a8}}:root[data-theme=dark]{color-scheme:dark;--bg: #14181d;--surface: #1d2329;--text: #e9ecef;--muted: #9aa4ae;--line: #333c45;--accent: #8fb3e3;--accent-text: #0f1a28;--warn-bg: #3a2f12;--warn-text: #f3d98a;--bad-bg: #3e1d1a;--bad-text: #f4b3ab;--ok-text: #8fd6a8}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-size:16px;line-height:1.5}.shell{max-width:640px;margin:0 auto;padding:16px;min-width:0}.muted{color:var(--muted)}h1{font-size:1.4rem;margin:0 0 8px}button,.button{font:inherit;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 14px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:disabled{opacity:.55;cursor:default}button.primary,.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.secondary,.button.secondary{background:transparent}button.link{border:0;background:none;color:var(--accent);padding:8px 0;min-height:0;text-decoration:underline}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h2{font-size:1.05rem;margin:0 0 10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;min-width:0}.card>button,.card>.row-actions{margin-top:8px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.banner{border-radius:12px;padding:10px 12px;margin:10px 0}.banner.bad{background:var(--bad-bg);color:var(--bad-text)}.banner.warn{background:var(--warn-bg);color:var(--warn-text)}.banner-action{all:unset;cursor:pointer;display:block;text-decoration:underline}.ok{color:var(--ok-text);font-weight:600}.notice{text-align:center;padding-top:25vh}.signin{padding-top:18vh;display:grid;gap:12px}.topnav{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 16px;background:var(--bg);border-bottom:1px solid var(--line)}.topnav button{min-height:40px;padding:6px;border-color:transparent;background:transparent}.topnav button.on{background:var(--surface);border-color:var(--line);font-weight:600}.review{padding-bottom:96px}.review-head h1{margin-bottom:2px}.review-head p{margin:0}.days{list-style:none;margin:0;padding:0}.day{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions" "info actions";gap:0 8px;padding:8px 0;border-bottom:1px solid var(--line);align-items:center}.day:last-child{border-bottom:0}.day-name{grid-area:name;font-weight:600}.day-info{grid-area:info;color:var(--muted);font-variant-numeric:tabular-nums;direction:ltr;text-align:right}.day.off .day-info{direction:rtl}.day.pending{background:var(--bad-bg);color:var(--bad-text);border-radius:8px;padding-inline:8px}.day.pending .day-info{color:inherit;direction:rtl}.day-actions{grid-area:actions;display:flex;gap:6px}.day-actions button{min-height:40px;padding:6px 10px}.preview{margin:12px 0;position:relative}.preview canvas{width:100%;height:auto;display:block;background:#fff;border:1px solid var(--line);border-radius:10px}.preview.dim canvas{opacity:.45}.preview-toggle{width:100%;margin-bottom:8px}.preview.open{position:fixed;inset:0;z-index:20;margin:0;padding:12px;background:var(--bg);overflow:auto}.sendbar{position:fixed;inset-inline:0;bottom:0;z-index:10;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);display:grid}.sendbar>button{width:100%;max-width:640px;margin:0 auto;min-height:52px}.desktop-send{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:640px;width:100%;margin:0 auto}.prompt-q{font-weight:600;margin:0 0 6px}.sheet-backdrop{position:fixed;inset:0;z-index:30;background:#00000073;display:grid;align-items:end}.sheet{background:var(--surface);border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:80vh;overflow:auto}.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:12px 0}.segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px}.segmented button.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.file input{position:absolute;width:1px;height:1px;opacity:0}.file{display:inline-block;margin:8px 0}.file:focus-within .button{outline:3px solid var(--accent)}.diffs{padding-inline-start:18px}.confirm{display:flex;gap:8px;align-items:flex-start;margin:10px 0}.confirm input{width:22px;height:22px;flex:none}.months{list-style:none;padding:0;margin:0}.months li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 0;border-bottom:1px solid var(--line)}.months li:last-child{border-bottom:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.head-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.month-pick input{font:inherit;min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:4px 8px;max-width:160px}.reports{list-style:none;padding:8px 14px}.reports li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:8px 0;border-bottom:1px solid var(--line)}.reports li:last-child{border-bottom:0}.report-main{display:flex;align-items:center;gap:10px;min-width:0}.chip{font-size:.8rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.chip.synced,.chip.existing{color:var(--ok-text)}.chip.error{color:var(--bad-text);background:var(--bad-bg);border-color:transparent}.field{display:grid;gap:4px;margin:8px 0}.field textarea,.field input{font:inherit;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);padding:8px 10px;width:100%;min-width:0}.small{font-size:.85rem}.steps{padding-inline-start:20px;display:grid;gap:8px}.steps code{display:block;direction:ltr;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin:4px 0;overflow-wrap:anywhere;font-size:.8rem}.steps button{min-height:36px;padding:4px 10px}
