:root{font-family:Segoe UI,"Microsoft YaHei",sans-serif;color:#203434;background:#f4f7f6;font-size:15px}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:230px;background:#103c3b;color:#dbece9;padding:34px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;font-size:24px;letter-spacing:2px}.brand>b{background:#d2e6cb;color:#153f36;padding:5px 10px;border-radius:12px}.brand small{display:block;font-size:11px;letter-spacing:1px;margin-top:3px;opacity:.65}nav{margin-top:46px;display:grid;gap:8px}nav button{background:transparent;text-align:left;color:#b8d1ce;font-weight:400;padding:14px 18px}nav button.active{background:#285350;color:#fff}aside footer{margin-top:auto;line-height:2;font-size:12px;opacity:.5}main{margin-left:230px;padding:38px 48px;width:calc(100% - 230px);max-width:1550px}header{display:flex;align-items:center;gap:20px;margin-bottom:30px}header>div:first-child{flex:1}.eyebrow{font-size:11px;letter-spacing:3px;color:#7d9390;margin:0 0 8px}h1{font-size:29px;letter-spacing:1px;margin:0}h2{font-size:19px;margin:0 0 16px}p{line-height:1.7}.card{background:white;border:1px solid #e0e9e5;border-radius:14px;padding:26px;margin-bottom:22px;box-shadow:0 4px 15px #1a463304}.narrow{max-width:470px;margin-top:60px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat{padding:23px}.stat b{display:block;font-size:29px;font-weight:600;margin:12px 0 0}.muted,small{color:#7b8e8b}label{display:block;font-size:13px;font-weight:600;margin:14px 0}input,select{display:block;width:100%;border:1px solid #ccd9d4;border-radius:7px;background:#fbfdfc;padding:11px 12px;color:#233b34;font:inherit;margin-top:7px}input:focus,select:focus{outline:2px solid #74b7a0;outline-offset:1px}button{border:0;border-radius:7px;padding:11px 18px;background:#17664f;color:white;cursor:pointer;font:inherit;font-weight:600}button:hover{filter:brightness(.95)}button:disabled{opacity:.4;cursor:default}.secondary,.subtle{background:#e9f0ec;color:#31564b}.danger{background:#fae6e5;color:#a13834}.narrow button{width:100%;margin:8px 0 22px}.toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:18px}.toolbar form{display:flex;align-items:center;gap:8px}.toolbar input{margin:0}.toolbar h2,.toolbar p{margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}code{display:block;background:#f0f5f2;border-radius:6px;padding:14px;overflow-wrap:anywhere;color:#226650}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:12px;color:#718581;font-weight:500;padding:0 10px 14px;border-bottom:1px solid #e5ece8}td{padding:16px 10px;border-bottom:1px solid #eef2ef;vertical-align:middle}td small{display:block;margin-top:6px}td button{font-size:12px;padding:7px 10px;margin:3px}tr:last-child td{border:0}.pill{display:inline-block;padding:4px 8px;background:#e6f3eb;color:#267552;border-radius:5px;margin:2px}.locked{background:#f7e9de;color:#966333}.pagination{display:flex;gap:12px;justify-content:flex-end;margin:0 0 20px}#notice{padding:14px 20px;margin-bottom:20px;background:#e0f1e5;color:#245a40;border-radius:8px;white-space:pre-wrap}#notice.error{background:#fae6e5;color:#96362f}[hidden]{display:none!important}.setup{display:block}.setup main{margin:0 auto;width:100%;max-width:900px}.setup header{margin-bottom:30px}.setup .card{padding:30px}.empty{text-align:center;color:#83958d;padding:34px}@media(max-width:850px){aside{width:165px;padding:25px 12px}main{margin-left:165px;width:calc(100% - 165px);padding:25px 20px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:540px){aside{position:static;width:100%;padding:15px}aside footer{display:none}body{display:block}main{margin:0;width:100%;padding:25px 14px}nav{margin:15px 0 0;grid-template-columns:repeat(3,1fr);gap:3px}nav button{padding:10px;font-size:12px}.stats{gap:8px}.toolbar{flex-wrap:wrap}}
button,th{white-space:nowrap}.toolbar form{min-width:0;flex:1;max-width:420px}.toolbar form input{min-width:80px}.toolbar form button{flex-shrink:0}dialog{border:1px solid #ccd9d4;border-radius:14px;padding:28px;max-width:440px;width:90%}dialog::backdrop{background:#10292777}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
