:root{--n:#0b2545;--o:#ff6b2c;--bg:#f5f7fb;--b:#e3e8f0;color:#1d2433;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}body{background:var(--bg);margin:0}.shell{min-height:100vh;display:flex}.side{background:var(--n);color:#fff;flex:none;width:220px;padding:16px}.side img{background:#fff;border-radius:8px;width:150px;padding:6px}.side a{color:#cfd8e6;border-radius:8px;margin:2px 0;padding:8px 10px;text-decoration:none;display:block}.side a.on{color:#fff;background:#ffffff1f}main{flex:1;padding:24px;overflow:auto}h2{margin-top:0}.card{border:1px solid var(--b);background:#fff;border-radius:12px;margin-bottom:16px;padding:16px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--b);padding:6px 8px}th{color:#5b6475;font-weight:600}button{background:var(--o);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:6px 12px;font-weight:600}button.sec{color:var(--n);background:#eef2f7}button.danger{background:#dc2626}input,select,textarea{border:1px solid var(--b);font:inherit;border-radius:8px;padding:6px 8px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.st{background:#eef2f7;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.st.g{color:#166534;background:#dcfce7}.st.y{color:#854d0e;background:#fef9c3}.st.r{color:#991b1b;background:#fee2e2}.grid4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.kpi{color:var(--n);font-size:28px;font-weight:800}.muted{color:#6b7280;font-size:13px}.login{max-width:360px;margin:12vh auto}.thread{background:#f8fafc;border-radius:8px;max-height:360px;padding:8px;overflow:auto}.msg{border:1px solid var(--b);background:#fff;border-radius:8px;margin:6px 0;padding:8px}.msg.admin{background:#fff4ec}
