:root{--bg: #f7f8f6;--surface: #ffffff;--ink: #1b2420;--muted: #66716b;--line: #d9ded9;--accent: #2e7d5b;--accent-soft: #e3efe8;--danger: #b04a3a;--nav-height: 62px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,Segoe UI,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,sans-serif;font-size:16px;line-height:1.5}a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px}.app{max-width:520px;margin:0 auto;padding:.75rem .9rem calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 1.5rem)}header.topbar{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0 .8rem}.brand{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}nav.bottomnav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0px);z-index:20}nav.bottomnav button{flex:1;max-width:130px;background:none;border:none;font:inherit;font-size:.7rem;color:var(--muted);cursor:pointer;padding:.5rem 0 .45rem;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;min-height:var(--nav-height)}nav.bottomnav button svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}nav.bottomnav button.active{color:var(--accent);font-weight:600}.navbadge{position:absolute;top:4px;right:calc(50% - 22px);background:var(--danger);color:#fff;font-size:.62rem;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.hero{background:var(--accent);color:#fff;border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:.9rem}.hero .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;opacity:.85}.hero .value{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.hero .sub{font-size:.82rem;opacity:.85;display:flex;gap:1.2rem;margin-top:.3rem}h2{font-size:.95rem;margin:1.2rem 0 .5rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;margin-bottom:.7rem}.listrow{display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.listrow:last-child{border-bottom:none}.listrow .main{min-width:0}.listrow .title{font-weight:600}.listrow .sub{font-size:.78rem;color:var(--muted)}.listrow .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.listrow .num .sub{display:block}.banner{background:var(--accent-soft);border-left:3px solid var(--accent);padding:.7rem .9rem;border-radius:8px;margin-bottom:.8rem;font-size:.92rem}.warning{color:var(--danger);font-size:.85rem}.error{color:var(--danger)}.muted{color:var(--muted)}.kind{text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;font-weight:700;margin-right:.5rem}form.stack{display:flex;flex-direction:column;gap:.7rem}.row{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}label.field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted);flex:1;min-width:0}input,select{font:inherit;font-size:16px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);width:100%;min-height:44px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.primary{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.7rem 1.2rem;font:inherit;font-weight:600;cursor:pointer;min-height:46px}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:none;border:1px solid var(--line);border-radius:8px;padding:.45rem .8rem;font:inherit;font-size:.88rem;cursor:pointer;color:var(--ink);min-height:40px}button.link{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;padding:.2rem}button.danger{color:var(--danger);border-color:var(--danger)}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:30;overflow-y:auto;padding:.9rem .9rem calc(2rem + env(safe-area-inset-bottom,0px))}.sheet-inner{max-width:520px;margin:0 auto}.sheet header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.sheet header h2{margin:0;font-size:1.05rem}.steps{display:flex;gap:6px;margin-bottom:1rem}.steps span{flex:1;height:4px;border-radius:2px;background:var(--line)}.steps span.done{background:var(--accent)}.sheet .actions{display:flex;gap:.6rem;margin-top:1.2rem}.sheet .actions button{flex:1}.fab{position:fixed;right:max(1rem,calc(50% - 250px));bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 1rem);background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.75rem 1.2rem;font:inherit;font-weight:700;box-shadow:0 4px 14px #1b242040;cursor:pointer;z-index:15}details.section{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.7rem}details.section>summary{cursor:pointer;font-weight:600;padding:.85rem 1rem;list-style:none;display:flex;justify-content:space-between;align-items:center}details.section>summary:after{content:"▸";color:var(--muted);transition:transform .15s}details.section[open]>summary:after{transform:rotate(90deg)}details.section>.body{padding:0 1rem .9rem}.login-wrap{max-width:340px;margin:18vh auto 0;padding:0 1rem}
