:root{--bg:#faf6ee;--card:#fff;--tx:#2a2118;--mut:#7a6a58;--ac:#2f7d4f;--ac2:#e8f3ec;--bd:#e5dccb;--warn:#b5472b;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1b1812;--card:#26221a;--tx:#f1eadc;--mut:#b3a58f;--ac:#5cbf84;--ac2:#22352a;--bd:#3a3427;--warn:#ef8a6c}}
:root[data-theme="dark"]{--bg:#1b1812;--card:#26221a;--tx:#f1eadc;--mut:#b3a58f;--ac:#5cbf84;--ac2:#22352a;--bd:#3a3427;--warn:#ef8a6c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
main{max-width:520px;margin:0 auto;padding:16px}
h1{font-size:1.4rem;margin:8px 0 2px}.sub{color:var(--mut);margin:0 0 14px}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tabs button{flex:1;padding:10px;border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:10px;font-size:1rem}
.tabs button.on{background:var(--ac);color:#fff;border-color:var(--ac)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;margin-bottom:12px}
label{display:block;font-weight:600;margin:10px 0 4px}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--bd);border-radius:10px;background:var(--bg);color:var(--tx);font:inherit}
.row{display:flex;gap:8px}.row>*{flex:1}
.pill{display:inline-block;background:var(--ac2);color:var(--ac);padding:2px 10px;border-radius:99px;font-weight:600;font-size:.9rem}
.pill.w{background:transparent;color:var(--warn);border:1px solid var(--warn)}
.big{font-size:1.6rem;font-weight:700}
.go{width:100%;margin-top:14px;padding:12px;border:0;border-radius:12px;background:var(--ac);color:#fff;font-size:1.05rem;font-weight:700}
.go:disabled{opacity:.5}
.msg{margin-top:10px;font-weight:600}.err{color:var(--warn)}
table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{padding:6px 4px;border-bottom:1px solid var(--bd);text-align:left}
.sc{overflow-x:auto}.hide{display:none}
.mini{padding:4px 8px;border:1px solid var(--bd);background:var(--bg);color:var(--tx);border-radius:8px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}.hero img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;border:1px solid var(--bd);display:block}
.cap{color:var(--mut);font-size:.85rem}.ok{color:var(--ac)}a.go{display:block;text-align:center;text-decoration:none}
@media print{.noprint{display:none!important}body{background:#fff;color:#000}}
