:root{--navy:#1f3a4d;--amber:#d98e04;--bg:#f7f4ee;--card:#fff;--line:#ddd6c8;--text:#1c2a33;--mut:#5d6b74;--bad:#b3261e}
*{box-sizing:border-box}
body{margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}
header.bar{background:var(--navy);color:#fff;display:flex;gap:.25rem;align-items:center;padding:.5rem 1rem;flex-wrap:wrap}
header.bar a{color:#fff;text-decoration:none;padding:.4rem .7rem;border-radius:6px}
header.bar a.on{background:rgba(255,255,255,.18)}
header.bar .brand{font-weight:700;margin-right:1rem;color:var(--amber)}
header.bar .sp{flex:1}
main{max-width:1100px;margin:0 auto;padding:1rem}
h1{font-size:1.4rem;margin:.2rem 0 1rem}h2{font-size:1.1rem;margin:1.2rem 0 .5rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1rem}
.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}
label.f{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--mut);min-width:130px;flex:1}
input,select,textarea,button{font:inherit}
input,select,textarea{padding:.5rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);min-height:40px}
textarea{min-height:70px}
button{padding:.5rem .9rem;border-radius:8px;border:1px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer;min-height:40px}
button.pri{background:var(--navy);color:#fff}button.dang{border-color:var(--bad);color:var(--bad)}
button.link{border:none;background:none;text-decoration:underline;padding:.2rem}
.tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:1rem;border-bottom:2px solid var(--line)}
.tabs a{padding:.5rem .9rem;text-decoration:none;color:var(--mut);border-bottom:3px solid transparent;margin-bottom:-2px}
.tabs a.on{color:var(--navy);border-color:var(--amber);font-weight:600}
table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:.35rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#f0ebe0}.num{text-align:right;font-variant-numeric:tabular-nums}.scroll{overflow-x:auto}
.warn{background:#fff4d6;border:1px solid #e6c46a;border-radius:8px;padding:.5rem .8rem;margin:.3rem 0}
.err{color:var(--bad)}.mut{color:var(--mut)}.ok{color:#1b6e3a}
.list a.item{display:flex;justify-content:space-between;padding:.8rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.cab{border-left:4px solid var(--amber)}
.plan svg{max-width:100%;height:auto;border:1px solid var(--line);background:#fff}
.narrow{max-width:420px;margin:12vh auto}
.save{position:fixed;right:1rem;bottom:1rem;background:var(--navy);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;opacity:.9}
@media(max-width:600px){main{padding:.6rem}label.f{min-width:45%}}
