:root{--ink:#12263A;--gold:#F4A100;--leaf:#0E7C66;--bg:#EEF2F4;--line:#D5DDE2}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.top{background:var(--ink);display:flex;gap:1rem;align-items:center;padding:.6rem 1rem;overflow-x:auto}
.top a{color:#dfe8ee;text-decoration:none;white-space:nowrap;padding:.3rem .6rem;border-radius:6px}.top a:hover{background:#243b52}
.top .brand{color:var(--gold);font-weight:800;font-size:1.2rem;padding-left:0}.top .sp{flex:1}
main{max-width:980px;margin:0 auto;padding:1.2rem 1rem 3rem}h1{font-size:1.6rem;margin:.2rem 0 1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.big{font-size:1.7rem;font-weight:800}.muted{color:#5b6f80;font-size:.9rem}
label{display:block;font-weight:600;margin:.6rem 0 .2rem}input,select{width:100%;padding:.6rem;border:1px solid #b9c5cd;border-radius:8px;font:inherit}
button,.btn{background:var(--leaf);color:#fff;border:0;border-radius:8px;padding:.6rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
button.alt,.btn.alt{background:var(--gold);color:#1b1b1b}button.del{background:#b3261e}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line)}td input{width:90px}
.flash{background:#fff4d6;border:1px solid var(--gold);padding:.6rem .8rem;border-radius:8px}.warn{color:#b3261e;font-weight:700}
.wrap{overflow-x:auto}.hero{padding:2.5rem 0}.hero h1{font-size:2.4rem;line-height:1.1;max-width:14em}
