:root{
  --gold:#b8860b; --gold-dark:#8a6d1d; --gold-soft:#f5ecd7; --cream:#fdf8ec;
  --ink:#3b2f23; --muted:#7a6a55; --line:#e3d3ac; --danger:#b3261e; --ok:#1e7d32;
}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--cream);color:var(--ink)}
.topbar{position:sticky;top:0;background:linear-gradient(135deg,#a87f0a,#d4af37);color:#fff;z-index:20;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.topbar-inner{max-width:760px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:800;font-size:1.15rem;letter-spacing:.3px}
.month-pick{font-size:.85rem;display:flex;align-items:center;gap:6px}
.month-pick select{font-size:1rem;padding:8px;border-radius:10px;border:none;background:#fff;color:var(--ink)}
.wrap{max-width:760px;margin:0 auto;padding:16px 14px 60px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin:0 0 14px;box-shadow:0 1px 3px rgba(120,90,10,.06)}
.card h2{margin:2px 0 10px;font-size:1.25rem;color:var(--gold-dark)}
.card h3{margin:14px 0 8px;font-size:1.05rem;color:var(--gold-dark)}
.muted{color:var(--muted)}
.small{font-size:.88rem}
.big-btn{display:block;width:100%;padding:18px;border-radius:16px;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;margin:0 0 12px;box-shadow:0 1px 3px rgba(120,90,10,.08)}
.big-btn:active{transform:scale(.99)}
.big-btn .t{font-size:1.2rem;font-weight:800;color:var(--ink)}
.big-btn .d{color:var(--muted);margin-top:4px}
.big-btn.gold{background:linear-gradient(135deg,#b8860b,#d4af37);color:#fff;border:none}
.big-btn.gold .t{color:#fff}.big-btn.gold .d{color:#fdf3d0}
button.btn{background:var(--gold);color:#fff;border:none;border-radius:12px;padding:13px 18px;font-size:1rem;font-weight:700;cursor:pointer;min-height:48px}
button.btn:active{transform:scale(.98)}
button.btn.secondary{background:#fff;color:var(--gold-dark);border:1.5px solid var(--gold)}
button.btn.danger{background:#fff;color:var(--danger);border:1.5px solid var(--danger)}
button.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
input[type=text],input[type=number],input[type=password],input[type=date],input[type=email],select,textarea{
  width:100%;padding:13px;border:1.5px solid var(--line);border-radius:12px;font-size:1rem;background:#fff;color:var(--ink);min-height:48px}
textarea{min-height:90px}
label.f{display:block;margin:0 0 12px;font-weight:600}
label.f span{display:block;margin-bottom:6px}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:9px 8px;border-bottom:1px solid #efe3c2;text-align:left;vertical-align:top}
th{color:var(--gold-dark)}
td.num,th.num{text-align:center} td.money,th.money{text-align:right;white-space:nowrap}
.total-row td{font-weight:800;font-size:1.05rem;border-top:2px solid var(--gold)}
.check{display:flex;align-items:center;gap:12px;padding:12px 10px;border:1px solid var(--line);border-radius:12px;margin:0 0 8px;background:#fff;cursor:pointer}
.check input{width:24px;height:24px;accent-color:var(--gold);flex:none}
.check.disabled{opacity:.55;cursor:not-allowed}
.banner{background:#fff3cd;border:1.5px solid var(--gold);color:#6b5410;border-radius:12px;padding:12px 14px;font-weight:700;margin:0 0 14px;text-align:center}
.notice{background:#fdf1ec;border:1px solid #e5b4a6;color:#7a2d1d;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.okbox{background:#eef7ee;border:1px solid #a9cfa9;color:#205c24;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#3b2f23;color:#fff;padding:13px 20px;border-radius:999px;font-weight:600;z-index:50;max-width:92vw;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.pill{display:inline-block;background:var(--gold-soft);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;color:var(--gold-dark)}
.pill.paid{background:#e3f2e3;color:var(--ok)}
.backlink{background:none;border:none;color:var(--gold-dark);font-weight:700;font-size:1rem;cursor:pointer;padding:6px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.grid2{grid-template-columns:1fr}}
fieldset{border:1px solid var(--line);border-radius:14px;margin:0 0 14px;padding:12px}
legend{font-weight:800;color:var(--gold-dark);padding:0 6px}
