:root { font-family: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif; color:#182b37; background:#eef3f5; font-size:15px; }
* { box-sizing:border-box; }
body { margin:0; }
a { color:#075c68; text-underline-offset:4px; }
a:hover { color:#093c44; }
header { background:#173544; color:white; }
.bar { max-width:1140px; padding:17px 24px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:15px; flex-wrap:wrap; }
.bar a { color:white; text-decoration:none; }
.brand { font-size:22px; font-weight:750; letter-spacing:.05em; }
nav { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
nav form { margin:0; }
main { max-width:1140px; margin:auto; padding:28px 24px 64px; }
h1 { font-size:32px; margin:16px 0 22px; line-height:1.2; }
h2 { font-size:19px; margin:0 0 15px; }
h3 { font-size:16px; }
.panel, .scroll, .empty { background:white; border:1px solid #d8e3e7; border-radius:14px; padding:24px; margin-bottom:18px; }
.panel .grid+h2 { margin-top:24px; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 17px; }
label { display:block; font-weight:650; font-size:14px; }
[hidden] { display:none !important; }
input, select, textarea { display:block; width:100%; margin-top:6px; border:1px solid #b6c9cf; background:#fcfdfe; border-radius:7px; padding:10px; font:inherit; font-weight:400; color:#182b37; }
input:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible, textarea:focus-visible { outline:3px solid #69adb8; outline-offset:2px; }
button, .button { display:inline-block; cursor:pointer; background:#08616a; color:white; padding:10px 16px; border:1px solid transparent; border-radius:7px; text-decoration:none; font:inherit; font-weight:700; }
button:hover,.button:hover { background:#084a52; color:white; }
.secondary { background:#edf5f6; color:#14525a; border-color:#cfe1e4; }
nav .secondary { padding:5px 10px; }
.panel .grid+button, .login button { margin-top:16px; }
.login { max-width:440px; }
.login label { margin-bottom:10px; }
.muted, dt { color:#526771; font-size:14px; }
.mode,.pill { display:inline-block; border-radius:20px; background:#dcecef; color:#234957; padding:5px 10px; font-size:13px; font-weight:650; }
.pill+h2 { margin-top:12px; }
.toolbar { margin-bottom:12px; }
.scroll { padding:0; overflow-x:auto; }
table { width:100%; border-collapse:collapse; text-align:left; }
th, td { padding:14px 17px; vertical-align:top; }
th { background:#e2edf0; white-space:nowrap; }
td { border-top:1px solid #e1eaed; }
pre { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; font:inherit; }
dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
dd { margin:3px 0 0; overflow-wrap:anywhere; }
.inline { display:inline-flex; flex-wrap:wrap; align-items:end; gap:8px; margin:8px 10px 0 0; }
details { margin:10px 0; }
summary { cursor:pointer; color:#075c68; }
.error { background:#fce9e5; color:#882b1c; border-radius:8px; padding:12px; }
@media(max-width:720px) { .grid, dl { grid-template-columns:repeat(2,minmax(0,1fr)); } main,.bar { padding-left:16px; padding-right:16px; } }
@media(max-width:410px) { .grid, dl { grid-template-columns:1fr; } .panel { padding:16px; } }

.address { margin-bottom:24px; }

.correction-note { margin:8px 0; color:#784a15; overflow-wrap:anywhere; }

.finance-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:end; }
.finance-actions .inline { display:grid; gap:8px; margin:0; }
.finance-actions button { justify-self:start; }
@media(max-width:600px) { .finance-actions { grid-template-columns:1fr; } }
