:root{color-scheme:light;--bg: #faf7f1;--card: #fffdf9;--ink: #2a2520;--muted: #6b6256;--line: #ebe4d6;--field: #ffffff;--accent: #5a4632;--accent-ink: #ffffff;--soft: #f3ede1;--ok: #2f6b3a;--ok-bg: #e1eedc;--warn: #7a5200;--warn-bg: #f7e8c4;--bad: #9b2c2c;--bad-bg: #f5dcd8;--radius: 16px;--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #1b1815;--card: #25211d;--ink: #efe8dd;--muted: #a99e8f;--line: #3a342d;--field: #1f1c18;--accent: #d9bd90;--accent-ink: #1b1815;--soft: #342e27;--ok: #9bd3a2;--ok-bg: #22362a;--warn: #f0cd85;--warn-bg: #3b3220;--bad: #f0a8a0;--bad-bg: #402625}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}main{max-width:560px;margin:0 auto;padding:8px 20px 64px}header.top{max-width:560px;margin:0 auto;padding:44px 20px 20px}header.top h1{font-family:var(--serif);font-weight:500;font-size:2rem;line-height:1.15;margin:0;letter-spacing:-.01em}header.top p{margin:10px 0 0;color:var(--muted);font-size:1.02rem}h2{font-family:var(--serif);font-weight:500;font-size:1.2rem;margin:0 0 4px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}.section-sub{color:var(--muted);font-size:.92rem;margin:0 0 6px}label.lbl,.lbl{display:block;font-weight:600;font-size:.86rem;margin:18px 0 6px}.card>.lbl:first-of-type{margin-top:14px}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:12px;padding:12px 14px}textarea{min-height:92px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row{display:flex;gap:12px}.row>*{flex:1;min-width:0}button{font:inherit;font-weight:600;cursor:pointer;border:0;border-radius:12px;padding:12px 18px;min-height:46px;background:var(--accent);color:var(--accent-ink);display:inline-flex;gap:8px;align-items:center;justify-content:center}button:hover:not(:disabled){filter:brightness(1.06)}button:disabled{opacity:.5;cursor:not-allowed}button.full{width:100%;margin-top:20px}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.danger{background:var(--bad-bg);color:var(--bad)}button.small{min-height:38px;padding:8px 14px;font-size:.9rem}button.text{background:none;color:var(--muted);padding:8px;min-height:40px;font-weight:500}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--soft);padding:4px;border-radius:14px}.seg button{background:transparent;color:var(--muted);border-radius:10px;min-height:42px;padding:8px}.seg button[aria-checked=true],.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000001f}.stepper{display:inline-flex;align-items:center;gap:4px;background:var(--soft);border-radius:14px;padding:4px}.stepper button{background:transparent;color:var(--ink);width:42px;padding:0}.stepper output{min-width:36px;text-align:center;font-weight:600}.check{display:flex;gap:12px;align-items:flex-start;margin:14px 0 0;font-size:.95rem;cursor:pointer}.check input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--accent);padding:0}.rules{margin:12px 0 0;padding:0;list-style:none}.rules li{padding:9px 0;border-top:1px solid var(--line);font-size:.95rem}.rules li:first-child{border-top:0}.cal-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 6px}.cal-head strong{font-family:var(--serif);font-weight:500;font-size:1.05rem}.cal-head button{background:transparent;color:var(--ink);padding:0;width:40px;min-height:40px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:.72rem;color:var(--muted);padding:4px 0;font-weight:600}.cal-day{background:transparent;color:var(--ink);padding:0;min-height:42px;border-radius:12px;font-weight:500}.cal-day:disabled{color:var(--muted);opacity:.38;cursor:not-allowed}.cal-day.sel{background:var(--accent);color:var(--accent-ink)}.cal-day:not(:disabled):not(.sel):hover{background:var(--soft);filter:none}.picked{margin:12px 0 0;font-weight:600}.badge{display:inline-block;padding:3px 11px;border-radius:99px;font-size:.76rem;font-weight:700;text-transform:capitalize}.badge.pending{background:var(--warn-bg);color:var(--warn)}.badge.approved{background:var(--ok-bg);color:var(--ok)}.badge.declined,.badge.cancelled{background:var(--bad-bg);color:var(--bad)}.err{background:var(--bad-bg);color:var(--bad);padding:12px 14px;border-radius:12px;margin-top:16px;font-size:.92rem}.ok{background:var(--ok-bg);color:var(--ok);padding:12px 14px;border-radius:12px;margin-top:12px;font-size:.92rem}.muted{color:var(--muted);font-size:.9rem}.center{text-align:center}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}a{color:var(--accent)}.big-date{font-family:var(--serif);font-size:1.4rem;font-weight:500;margin:0}.kv{margin:6px 0;font-size:.93rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kv b{font-weight:600}.tabs{display:flex;gap:4px;background:var(--soft);padding:4px;border-radius:14px;margin-bottom:16px;overflow-x:auto}.tabs button{background:transparent;color:var(--muted);min-height:40px;padding:8px 12px;font-size:.9rem;white-space:nowrap;flex:1}.tabs button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0000001f}.req{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.req-top{width:100%;background:transparent;color:var(--ink);border-radius:0;justify-content:space-between;text-align:left;padding:14px 16px;min-height:64px;font-weight:500}.req-top .who{display:block;font-weight:600}.req-top .when{display:block;color:var(--muted);font-size:.86rem;font-weight:400}.req-body{padding:0 16px 16px;border-top:1px solid var(--line)}.actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chip{background:var(--soft);color:var(--ink);border-radius:99px;min-height:36px;padding:6px 14px;font-size:.88rem;font-weight:500}.chip.on{background:var(--accent);color:var(--accent-ink)}.progress{margin:0 0 16px}.progress-bar{height:6px;background:var(--soft);border-radius:99px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .25s ease}.progress p{margin:8px 0 0}.nav{display:flex;gap:10px;margin-top:20px}.nav button{flex:1}.nav button.ghost{flex:0 0 auto}.note{margin:14px 0 0;padding:10px 14px;background:var(--soft);border-radius:12px;font-size:.92rem}.notice{background:var(--soft)}.check.rule{padding:10px 0;margin:0;border-top:1px solid var(--line)}.check.rule:first-of-type{border-top:0}.upload{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed var(--line);border-radius:12px;padding:16px;cursor:pointer;font-weight:600;color:var(--accent);background:var(--field)}.upload:hover{background:var(--soft)}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;background:var(--soft);border-radius:10px;font-size:.9rem;word-break:break-all}.theme-toggle{position:absolute;top:14px;right:14px;width:44px;min-height:44px;padding:0;background:var(--soft);color:var(--ink);border-radius:99px}header.top{position:relative}header.top h1{padding-right:52px}.upload-row{display:grid;gap:8px}.upload.camera{display:none}@media (hover: none) and (pointer: coarse){.upload.camera{display:flex}}.cal-day.blocked{background:var(--bad-bg);color:var(--bad);font-weight:700}.cal-dow-btn{background:transparent;color:var(--muted);min-height:32px;padding:4px 0;font-size:.72rem;border-radius:8px}.cal-dow-btn:hover{background:var(--soft);filter:none}.back-btn{position:absolute;top:14px;left:20px;min-height:44px;padding:8px 14px;background:var(--soft);color:var(--ink);border-radius:99px;font-size:.9rem}header.top.embedded{padding-top:72px}
