:root{
  --bg:#f6f8fc;--card:#fff;--ink:#102044;--muted:#66728a;--line:#dfe7f5;
  --blue:#4763ff;--green:#13a05f;--orange:#a45f00;--red:#d73333;
  --shadow:0 12px 30px rgba(30,45,90,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:var(--ink)}
header{position:relative;padding:30px 6vw;color:#fff;background:linear-gradient(120deg,#17245e,#4562f3);border-bottom-left-radius:26px;border-bottom-right-radius:26px;box-shadow:0 12px 30px rgba(44,68,170,.22)}
header h1{margin:0 0 8px;font-size:30px}
header p{margin:0;opacity:.92}
.top-actions{position:absolute;right:6vw;top:26px;display:flex;gap:8px}
button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 14px;font-weight:850;cursor:pointer}
.top-actions button{border:0;color:#23316d;box-shadow:0 8px 20px rgba(0,0,0,.13)}
main{max-width:1420px;margin:auto;padding:20px 26px 70px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:16px 0;box-shadow:var(--shadow)}
.filters{display:grid;grid-template-columns:1fr 1fr 2fr 1fr;gap:14px;align-items:end}
label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:7px}
select,input{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;padding:0 13px;background:#fff;outline:none}
.status{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.status div{background:#f8faff;border:1px solid #e5ebfb;border-radius:14px;padding:12px}
.status span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.status strong{font-size:18px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}
.tabs button.active{background:linear-gradient(135deg,#4763ff,#6c7cff);color:#fff;border-color:transparent}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;margin:14px 0;padding:17px;box-shadow:0 8px 22px rgba(30,45,90,.06)}
.card h2{font-size:20px;line-height:1.45;margin:0 0 10px}
.date{color:#173f9f}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.chip{font-size:12px;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#293a99;font-weight:750}
.chip.green{background:#e5f7ec;color:#08753f}.chip.orange{background:#fff2d7;color:#9a5b00}.chip.red{background:#ffe8e8;color:#b42318}
.meta{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:10px 0}
.meta div{background:#f8faff;border:1px solid #e6ecfb;border-radius:14px;padding:10px}
.meta small{display:block;color:var(--muted);font-weight:700;margin-bottom:6px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;margin-top:10px}
table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;font-size:13px}
th,td{border-bottom:1px solid #edf1f7;border-right:1px solid #edf1f7;padding:9px 11px;text-align:left;vertical-align:top;max-width:360px}
th{background:#f3f6ff;color:#22376b}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.actions a,.actions button{text-decoration:none;color:#102044;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font-weight:800;font-size:12px}
.empty{padding:50px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:18px}
pre{background:#0b1020;color:#dce4ff;border-radius:16px;padding:14px;white-space:pre-wrap;max-height:460px;overflow:auto}
.modal{position:fixed;inset:0;background:rgba(8,18,40,.45);z-index:99;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-card{width:min(760px,96vw);background:#fff;border-radius:20px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.22)}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.modal-head h2{margin:0}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.danger{color:var(--red)!important;border-color:#f0b8b6!important}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.hint{color:var(--muted);font-size:13px}
@media(max-width:860px){.filters,.status,.meta{grid-template-columns:1fr 1fr}.top-actions{position:static;margin-top:14px}.grid-2{grid-template-columns:1fr}}
@media(max-width:560px){main{padding:14px}.filters,.status,.meta{grid-template-columns:1fr}header{padding:24px 18px}.tabs button{flex:1}}
