:root{--bg:#fff;--fg:#1b1f24;--mut:#5c6670;--line:#d7dce1;--acc:#0b5fff}
@media (prefers-color-scheme:dark){:root{--bg:#14171a;--fg:#e8ebee;--mut:#9aa5b1;--line:#2c333a;--acc:#6ea0ff}}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,"Hiragino Sans","Yu Gothic",sans-serif}
main{max-width:860px;margin:0 auto;padding:16px}
h1{font-size:1.4rem}
label{display:block;font-size:.85rem;color:var(--mut);margin-top:8px}
input,select{width:100%;box-sizing:border-box;padding:8px;border:1px solid var(--line);border-radius:6px;background:transparent;color:inherit;font:inherit}
.grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (max-width:600px){.grid{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;margin-top:12px}
th,td{border-bottom:1px solid var(--line);padding:4px;text-align:left}
td input,td select{padding:6px}
td.n{text-align:right;white-space:nowrap}
button{padding:8px 14px;border:1px solid var(--acc);background:var(--acc);color:#fff;border-radius:6px;font:inherit;cursor:pointer}
button.sec{background:transparent;color:var(--acc)}
.note{color:var(--mut);font-size:.85rem}
#msg{min-height:1.5em;font-size:.9rem}
.sum{margin-top:12px;text-align:right}
@media print{.noprint{display:none}body{background:#fff;color:#000}input,select{border:none;padding:0}}
.auto{width:auto}
