﻿:root{--bg:#f4f7fb;--card:#fff;--line:#dbe5f1;--ink:#17253a;--muted:#607086;--brand:#1567b5;--brand2:#0f4e8d;--ok:#1f7a4c;--warn:#b46c14;--danger:#c2473d;--shadow:0 16px 36px rgba(23,37,58,.08)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f9fcff,#eef4fb);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC","Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{min-height:38px;border:0;border-radius:10px;background:var(--brand);color:white;padding:0 14px;cursor:pointer}button:hover{background:var(--brand2)}button.secondary,.link-button{background:white;color:var(--ink);border:1px solid var(--line)}button.ok{background:var(--ok)}button.warn{background:var(--warn)}button.danger{background:var(--danger)}button:disabled{opacity:.55;cursor:not-allowed}a.link-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:10px;padding:0 14px;text-decoration:none}.page{width:min(1600px,calc(100% - 28px));margin:0 auto;padding:22px 0 42px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.hidden{display:none!important}.login-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;max-width:980px;margin:0 auto}.intro,.login-card{padding:24px}.intro h1,.top h1{margin:10px 0 8px;font-size:30px}.intro p,.top p{line-height:1.8}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;min-height:28px;border:1px solid var(--line);border-radius:999px;background:#f8fbff;color:var(--brand2);padding:0 10px;font-size:12px;font-weight:800}.login-card{display:grid;gap:12px}.login-card h2{margin:0 0 8px}.login-card label,.form-row label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}input,select,textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:9px 11px}textarea{min-height:120px;resize:vertical}.status{margin-top:8px;color:var(--muted);font-size:13px}.top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px;margin-bottom:14px}.top-actions{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;min-width:min(680px,100%)}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}.stat{padding:14px;background:white;border:1px solid var(--line);border-radius:12px}.stat-label{font-size:12px;color:var(--muted);font-weight:800}.stat-value{font-size:26px;color:var(--brand2);font-weight:900;margin-top:6px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.tabs button{background:white;color:var(--ink);border:1px solid var(--line)}.tabs button.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;border-color:transparent}.panel{display:none;padding:16px;margin-bottom:14px}.panel.active{display:block}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-head h2{margin:0;font-size:20px}.row,.form-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.form-row{padding:12px;border:1px dashed var(--line);border-radius:12px;background:#f8fbff;margin-bottom:12px}.form-row label{min-width:180px;flex:1}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;min-width:960px;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px;line-height:1.55}thead th{position:sticky;top:0;background:#f2f7fc;font-weight:900;z-index:1}tbody tr:hover{background:#f8fbff}.actions{display:flex;flex-wrap:wrap;gap:6px}.actions button{min-height:30px;border-radius:8px;padding:0 9px;font-size:12px}.empty{text-align:center;color:var(--muted);padding:18px}.upload-box{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px dashed var(--line);border-radius:12px;background:#f8fbff;margin-bottom:10px}dialog{width:min(760px,calc(100% - 22px));border:0;border-radius:16px;padding:0;box-shadow:0 30px 70px rgba(23,37,58,.25)}dialog::backdrop{background:rgba(15,25,38,.42)}.dialog-card{padding:18px}.dialog-card h3{margin:0 0 14px}.dialog-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dialog-fields label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.dialog-fields label.wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.toast{position:fixed;right:18px;bottom:18px;max-width:min(520px,calc(100% - 36px));padding:12px 14px;border-radius:12px;background:#17253a;color:#fff;box-shadow:var(--shadow);z-index:10;white-space:pre-wrap}.pill{display:inline-block;border-radius:999px;padding:2px 8px;background:#eef4fb}.copy-url{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--brand2)}
@media(max-width:1100px){.login-grid,.top,.top-actions,.stats,.dialog-fields{grid-template-columns:1fr;display:grid}.stats{grid-template-columns:repeat(2,1fr)}table{min-width:840px}}
