:root{--bg:#F6EEE3;--card:#FFFDF9;--line:#E8DCCB;--ink:#3B2A35;--muted:#7B5B4C;--sage:#C9D4B0;--gold:#E6CC8F;--mint:#B7CFC4;--lilac:#D3BFD0;--blue:#BCC8D6;--peach:#E4B5A3;--pink:#E8B4B8;--os:#F3C29B;--o:#F5E2A8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;padding-bottom:84px}
h1,h2{font-family:Alegreya,Georgia,serif;margin:0}h1{font-size:32px}
#app{max-width:520px;margin:0 auto;padding:24px 16px;display:flex;flex-direction:column;gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.pad{padding:14px 16px}
button{font:inherit;cursor:pointer}.btn{min-height:48px;border:0;border-radius:16px;background:var(--ink);color:#FFFDF9;font-weight:800;padding:0 18px}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
input,textarea,select{font:inherit;width:100%;min-height:48px;padding:0 14px;border-radius:16px;border:1.5px solid #D8BF8F;background:#fff;color:var(--ink)}textarea{padding:12px;min-height:80px}
label{font-weight:700;font-size:14px;display:flex;flex-direction:column;gap:6px}
.seg{display:flex;gap:4px;padding:4px;background:var(--line);border-radius:18px}.seg button{flex:1;min-height:48px;border:0;border-radius:14px;background:transparent;color:var(--ink);font-weight:800}.seg button.on{background:var(--ink);color:#FFFDF9}
.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{min-height:44px;padding:0 16px;border:0;border-radius:22px;font-weight:700;color:var(--ink)}.tabs button.on{background:var(--ink)!important;color:#FFFDF9}
.banner{background:var(--ink);color:var(--gold);padding:16px;border-radius:20px;font-weight:800;font-size:17px;display:flex;gap:12px;align-items:center}
.sec>.h{background:var(--ink);color:#FFFDF9;padding:12px 16px;font-weight:800}.sec>.n{padding:8px 16px;font-weight:700;font-size:13px}
.row{padding:12px 16px;border-top:1px solid var(--line);border-left:8px solid var(--c);display:flex;flex-direction:column;gap:10px}.row b{font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border-radius:18px;border:1.5px solid var(--c);background:var(--card);font-weight:700;font-size:14px;display:flex;flex-direction:column;gap:6px}
.sr{background:var(--ink);color:var(--gold);border-radius:8px;padding:1px 7px;font-size:12px;margin-left:6px}.pill{padding:2px 8px;border-radius:8px;font-size:12px;font-weight:800;align-self:flex-start}
.steps{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:14px;display:grid;grid-template-columns:100px 1fr;gap:4px 10px}
.bar{display:flex;height:34px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.bar div{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal .dh{font-size:12px;font-weight:700;color:var(--muted);text-align:center}
.day{min-height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px}.day small{font-size:10px}.day.sel{outline:3px solid var(--ink)}
.stat{display:flex;gap:8px}.stat>div{flex:1;padding:12px;border-radius:18px}.stat b{font:800 28px Alegreya,serif;display:block}
.err{color:#9b2c2c;font-weight:700;font-size:14px}.muted{color:var(--muted);font-size:13px}
nav{position:fixed;left:0;right:0;bottom:0;display:flex;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
nav button{flex:1;min-height:64px;border:0;background:transparent;font-size:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted)}nav span{font-size:12px;font-weight:700}nav button.on{color:var(--ink);background:#E3EAD2;border-radius:18px;margin:6px 4px}
nav[hidden]{display:none}
