:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#202921;background:#f5f6f2;font-size:15px;line-height:1.5;--line:#d9ded7;--muted:#536058;--green:#245440}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
.topbar{height:66px;padding:0 max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}
.wordmark{font-weight:750;font-size:25px;letter-spacing:-.04em;display:flex;align-items:center;gap:18px}
.wordmark span{font-weight:500;font-size:14px;letter-spacing:0;color:var(--muted);border-left:1px solid var(--line);padding-left:17px}
main{margin:34px auto 64px;max-width:1120px;padding:0 24px}
h1{margin:0 0 20px;font-size:31px;line-height:1.2;letter-spacing:-.03em}
h2{font-size:19px;margin:0 0 15px}
p{margin:10px 0 18px}
.login{max-width:430px;margin:12vh auto;padding:28px;border:1px solid var(--line);background:white;border-radius:12px}
.login label{margin-bottom:15px}
nav{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:26px}
nav button{background:none;color:var(--muted);border:0;border-radius:0;border-bottom:2px solid transparent}
nav button[aria-current]{color:var(--green);border-bottom-color:var(--green);font-weight:700}
button{font:inherit;font-weight:650;background:var(--green);color:white;border:1px solid var(--green);border-radius:7px;padding:8px 15px;cursor:pointer}
button:disabled{opacity:.55;cursor:progress}
button.secondary{color:var(--green);background:white;border-color:var(--line)}
:focus-visible{outline:2px solid #478465;outline-offset:2px}
input,select,textarea{font:inherit;color:inherit;border:1px solid #a9b4ab;border-radius:6px;background:white;padding:8px 10px;width:100%;min-width:0}
label{display:flex;flex-direction:column;gap:5px;font-weight:620}
small,.muted{color:var(--muted);font-weight:400}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px 16px;align-items:end}
.form-grid button{justify-self:start}
.card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;margin:0 0 18px}
.table-region{overflow:auto}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-weight:650;color:var(--muted);background:#eef2ec}
td{font-size:14px}
#message:empty{display:none}
#message{padding:11px 14px;background:#e7f0e9;border-radius:7px}
#message[data-error] {background:#faeae8;color:#8a280d}
.empty{color:var(--muted);margin:0}
.quote{font-variant-numeric:tabular-nums}
@media(max-width:560px){main{padding:0 16px}.topbar{padding:0 16px}nav button{padding-inline:8px}.card{padding:14px}}
