:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18212b;background:#f6f7f8;font-synthesis:none;font-weight:400;--ink:#18212b;--muted:#65717c;--line:#e2e6e9;--card:#fff;--accent:#176b55;--accent-dark:#10513f;--soft:#e7f2ee;--danger:#a43333;--shadow:0 2px 12px #1524380b;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f6f7f8;color:var(--ink)}body[data-theme=dark]{--ink:#edf2f4;--muted:#a4b0b8;--line:#34414a;--card:#202a31;--accent:#73c5a6;--accent-dark:#a5e2c8;--soft:#263c35;--danger:#ffaaaa;background:#151d22;color-scheme:dark}body[data-theme=system]{color-scheme:light dark}@media(prefers-color-scheme:dark){body[data-theme=system]{--ink:#edf2f4;--muted:#a4b0b8;--line:#34414a;--card:#202a31;--accent:#73c5a6;--accent-dark:#a5e2c8;--soft:#263c35;--danger:#ffaaaa;background:#151d22;color-scheme:dark}}.app{max-width:640px;margin:auto;min-height:100vh;padding:env(safe-area-inset-top) 20px calc(104px + env(safe-area-inset-bottom))}.top{display:flex;align-items:center;justify-content:space-between;padding:22px 0 18px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:750;color:var(--muted);margin:0 0 7px}.top h1{font-size:28px;margin:0;letter-spacing:-.04em}.sub{color:var(--muted);margin:5px 0 0;font-size:14px}.icon-button{border:1px solid var(--line);background:var(--card);border-radius:50%;width:44px;height:44px;font-size:23px;color:var(--ink)}main{display:grid;gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{font-size:16px;margin:0 0 12px;letter-spacing:-.02em}.card-title{display:flex;justify-content:space-between;align-items:center}.card-title h2{margin:0}.muted,.hint{color:var(--muted)}.hint{font-size:12px;line-height:1.45;margin:8px 0 0}.progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.progress-value{font-size:21px;font-weight:700;letter-spacing:-.04em}.progress-goal{font-size:14px;color:var(--muted)}.progress-track{height:8px;background:var(--line);border-radius:9px;overflow:hidden;margin:14px 0 10px}.progress-fill{height:100%;border-radius:9px;background:var(--accent);transition:width .2s}.split{display:flex;justify-content:space-between;gap:8px;align-items:center}.split strong{font-size:14px}.button{height:48px;border:0;border-radius:12px;padding:0 16px;font:inherit;font-weight:650;cursor:pointer;background:var(--accent);color:white}.button:hover{background:var(--accent-dark)}.button.secondary{color:var(--ink);background:var(--soft);border:1px solid var(--line)}.button.ghost{height:40px;background:transparent;color:var(--accent);padding:0 8px}.button.danger{background:var(--danger)}.button.full{width:100%}.button-row{display:flex;gap:10px;align-items:center}.button-row>*{flex:1}.clock-status{display:flex;justify-content:space-between;gap:12px;align-items:center}.time-large{font-weight:700;font-size:22px;letter-spacing:-.03em}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0}.toggle{width:48px;height:28px;appearance:none;border:0;border-radius:20px;background:#aeb7bd;position:relative;cursor:pointer;flex:none}.toggle:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .15s}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translateX(20px)}.leave-time{font-size:28px;font-weight:750;letter-spacing:-.05em;color:var(--accent)}.leave-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.leave-copy{margin:6px 0 0;font-size:14px}.field{display:grid;gap:6px;margin:12px 0}.field label,.label{font-weight:600;font-size:13px}.field input,.field select,.field textarea,input[type=time],input[type=date],input[type=number]{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;height:44px;padding:0 11px;min-width:0;width:100%}.field input:focus,.field select:focus,input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.goal-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:8px}.day-choice{height:42px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);font-size:12px;font-weight:700}.day-choice[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:var(--accent)}.shift-row,.day-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.shift-row:first-of-type,.day-row:first-of-type{margin-top:10px}.shift-title{font-weight:650;font-size:14px}.shift-detail{font-size:12px;color:var(--muted);margin-top:4px}.shift-actions{display:flex;gap:4px}.mini{border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:650;padding:8px}.banner{background:#fff4d8;border:1px solid #e8d49a;color:#574514;border-radius:12px;padding:13px;font-size:13px}.accordion{border:1px solid var(--line);border-radius:15px;background:var(--card);overflow:hidden}.accordion summary{padding:16px;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.week-summary{display:flex;justify-content:space-between;gap:12px}.week-summary strong{font-size:14px}.week-summary small{display:block;color:var(--muted);margin-top:4px}.accordion-body{padding:0 16px 14px}.section-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:750;margin:16px 0 4px}.settings-group{margin:0 0 2px}.setting-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.setting-line:first-of-type{border-top:0}.setting-line small{display:block;color:var(--muted);margin-top:3px}.setting-line .field{margin:0;max-width:150px}.tabs{position:fixed;z-index:3;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);max-width:640px;margin:auto;padding:7px 12px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 94%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.tab{display:grid;gap:3px;justify-items:center;align-content:center;min-height:52px;border:0;border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:650}.tab span{font-size:20px;line-height:20px}.tab.active{color:var(--accent);background:var(--soft)}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#101a20a8;display:flex;align-items:flex-end;justify-content:center}.modal{width:min(100%,600px);max-height:92vh;overflow:auto;background:var(--card);border-radius:20px 20px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0002}.modal h2{font-size:20px;margin:0 0 8px}.modal-actions{display:flex;gap:10px;margin-top:18px}.modal-actions>*{flex:1}#toast{position:fixed;z-index:20;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translate(-50%,10px);opacity:0;transition:.2s;background:#17232a;color:#fff;padding:11px 16px;border-radius:22px;font-size:13px;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.empty{padding:22px 4px;color:var(--muted);font-size:14px;text-align:center}.check-label{display:flex;align-items:center;gap:9px;min-height:44px}.check-label input{width:20px;height:20px;accent-color:var(--accent)}.link{color:var(--accent);font-weight:650;text-decoration:none}@media(min-width:700px){.app{padding-top:34px}.modal-backdrop{align-items:center}.modal{border-radius:20px;padding-bottom:24px}}
