:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#172c36;background:#f3f6f8;font-size:15px;line-height:1.55;--accent:#076d64;--border:#dce5e9}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{height:72px;background:#142f38;color:white;display:flex;align-items:center;gap:36px;padding:0 max(24px,calc((100vw - 1280px)/2));white-space:nowrap}.brand{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.3px}.brand span{font-size:13px;font-weight:400;color:#a9c8d0;margin-left:12px}.topbar nav{display:flex;gap:24px}.topbar nav a{color:#d2e6e9}.logout{margin-left:auto;display:flex;align-items:center;gap:14px}.logout span{font-size:13px;color:#bdd5da}.logout button{margin:0;padding:5px 13px;background:transparent;border-color:#597079;color:white}main{max-width:1280px;margin:36px auto 64px;padding:0 24px;min-height:65vh}h1{font-size:29px;line-height:1.25;margin:8px 0 14px;letter-spacing:-.6px}h2{font-size:18px;line-height:1.35;margin:0 0 18px}p{margin:7px 0 12px}.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:1px}.muted,small{color:#657985}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.card{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 5px #183b4b05}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{background:#f8fafb;color:#647c88;font-size:12px;font-weight:600;white-space:nowrap}td,th{padding:16px 20px;border-bottom:1px solid #edf1f3;vertical-align:top}tr:last-child td{border-bottom:0}td small{display:block;font-size:11px;margin-top:5px}code{font-family:"Cascadia Code",Consolas,monospace;font-size:.9em;overflow-wrap:anywhere}.actions{white-space:nowrap}.actions a{margin-right:16px}.badge{display:inline-block;border-radius:5px;background:#eaf4f2;padding:3px 8px;font-size:11px;color:#296c60;white-space:nowrap}.button,button{display:inline-block;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:white;font:inherit;font-weight:600;font-size:14px;padding:10px 18px;cursor:pointer;text-align:center}.button:hover,button:hover{filter:brightness(.94);text-decoration:none}.secondary{background:white;color:#375661;border-color:#cddbe0}button:disabled{opacity:.45;cursor:not-allowed}.empty{text-align:center;padding:42px;color:#748793}.filter{display:flex;align-items:center;gap:18px;margin:0 0 18px}.filter .check{margin:0}.filter button{padding:5px 14px}.form-card{max-width:960px;padding:28px}.form-card h2:not(:first-child){margin-top:28px;padding-top:24px;border-top:1px solid #edf1f3}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}label{font-size:13px;font-weight:600;display:block;margin:0 0 7px}input,select{width:100%;font:inherit;font-size:14px;border:1px solid #cbd8df;border-radius:5px;padding:10px 11px;margin-bottom:18px;background:white;color:#172c36;min-height:42px}input:focus,select:focus{outline:2px solid #78b8af;outline-offset:1px}input[readonly]{background:#f2f6f8;color:#647a85}input[type=checkbox]{appearance:auto;min-height:0;width:16px;height:16px;margin:0;accent-color:var(--accent)}.check{display:flex;align-items:center;gap:9px;font-weight:400;margin:12px 0 20px}.checks{display:flex;gap:30px;flex-wrap:wrap}.form-actions{display:flex;align-items:center;gap:24px;margin-top:26px;padding-top:24px;border-top:1px solid #edf1f3}.notice{background:#eaf3f7;border:1px solid #d0e4ed;color:#426572;padding:14px 18px;border-radius:7px;margin:18px 0 24px;font-size:13px}.success{background:#e8f6ef;border-color:#cce8d8;color:#246447}.validation{color:#b3443d;font-size:14px}.validation ul{padding-left:20px}.validation:empty,.validation-summary-valid{display:none}.input-validation-error{border-color:#b3443d}.pagination{display:flex;gap:24px;justify-content:center;align-items:center;margin:22px 0;font-size:13px;color:#758891}.back{font-size:13px;display:inline-block;margin-bottom:18px}.login-card{max-width:420px;margin:64px auto;padding:34px}.login-card form{margin-top:26px}.login-card button{width:100%;margin-top:8px}.columns{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}.history{padding:22px}.period{display:block;padding:15px 0;border-bottom:1px solid #edf1f3}.period strong,.period small{display:block}.period.selected{color:#12383e}.period.selected strong:before{content:"● ";color:var(--accent);font-size:10px}.period .badge{margin-top:7px}.section-heading{padding:22px}.section-heading h2{margin-bottom:10px}.section-heading p{font-size:13px}.section-heading small{font-size:11px}fieldset{border:1px solid var(--border);border-radius:6px;padding:16px}legend{font-weight:600;font-size:13px;padding:0 7px}.inline{display:inline}.nowrap{white-space:nowrap}footer{max-width:1280px;margin:0 auto;padding:0 24px 28px;color:#8a9da5;font-size:12px}@media(max-width:800px){.topbar{padding:0 18px;gap:18px}.brand span{display:none}.topbar nav{gap:16px}.logout span{display:none}main{padding:0 16px;margin-top:24px}.grid,.columns{grid-template-columns:1fr}.heading{align-items:flex-start}h1{font-size:25px}.form-card{padding:22px}.history{max-height:320px;overflow:auto}.checks{gap:0 16px}td,th{padding:13px 16px}.login-card{margin:35px auto}}@media(prefers-reduced-motion:no-preference){a,button{transition:filter .15s}}
