:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#667085;--line:#e5e9f2;--primary:#2563eb;--danger:#dc2626;--ok:#15803d;--shadow:0 12px 34px rgba(20,32,56,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px max(20px,calc((100vw - 1240px)/2));background:#111827;color:#fff}.brand{font-weight:800;color:#fff;text-decoration:none;font-size:18px}.topbar nav{display:flex;gap:18px;align-items:center}.topbar nav a,.link-btn{color:#dbe4f0;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.container{max-width:1240px;margin:0 auto;padding:28px 20px 60px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.hero h1{margin:0 0 4px;font-size:28px}.hero p,.muted{margin:0;color:var(--muted)}.metrics{display:flex;gap:12px}.metrics span{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px}.metrics b{display:block;font-size:20px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card h2{font-size:18px;margin:0 0 16px}.stack{display:grid;gap:13px}.stack.compact{gap:9px}label{display:grid;gap:5px;color:#344054;font-weight:600}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;border:1px solid #cfd6e4;background:#fff;border-radius:9px;padding:10px 11px;color:var(--text)}textarea{resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;color:#172033;border-radius:9px;padding:8px 12px;text-decoration:none;cursor:pointer}button.primary,.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.danger{color:#fff;background:var(--danger);border-color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.notice{padding:12px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:18px}.tabs-note{color:var(--muted);margin:-10px 0 18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 10px;vertical-align:middle}th{font-size:12px;text-transform:uppercase;color:var(--muted)}td small{display:block;color:var(--muted)}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#f1f5f9}.badge.ok{background:#dcfce7;color:var(--ok)}.badge.off{background:#fee2e2;color:#991b1b}.items{list-style:none;padding:0;margin:16px 0 0}.items li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.items small{display:block;color:var(--muted)}.actions,.row-form{display:flex;align-items:center;gap:8px}.group{border-top:1px solid var(--line);padding:12px 0}.group summary{cursor:pointer;font-weight:700}.group summary small{color:var(--muted);font-weight:400}.group form{margin-top:14px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{padding:8px 10px;background:#f8fafc;border:1px solid var(--line);border-radius:9px}.chips small{display:block;color:var(--muted)}.auth-card{max-width:420px;margin:10vh auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.auth-card h1{margin-top:0}.inline{display:inline}.row-form input[type=number]{width:90px}
@media(max-width:800px){.grid.two,.grid.three,.split{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.metrics{width:100%;overflow:auto}.topbar{padding:12px 16px}.topbar nav{gap:10px}.container{padding:20px 12px}.card{border-radius:12px;padding:15px}.items li{align-items:flex-start;flex-direction:column}.actions{flex-wrap:wrap}}
