:root { color-scheme: light; --canvas:#f7f8fa; --surface:#fff; --ink:#172b46; --muted:#596b80; --line:#dce3ec; --accent:#2459d3; --danger:#b42318; }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font:16px/1.7 "PingFang SC","Microsoft YaHei",sans-serif; }
a { color:var(--accent); text-decoration:none; }
button,input,select { font:inherit; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); min-width:0; }
button { min-height:46px; padding:10px 18px; cursor:pointer; }
button:hover { border-color:var(--accent); }
.primary { color:#fff; background:var(--accent); border-color:var(--accent); font-weight:600; }
.primary:hover { background:#1948b3; }
input,select { width:100%; min-height:48px; padding:10px 13px; }
label { display:block; font-size:15px; }
:is(a,button,input,select):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.login-page { min-height:100dvh; display:grid; place-items:center; padding:28px 24px; }
.login-box { width:100%; max-width:360px; }
.login-box label { margin-bottom:8px; }
.login-box input:not([type=hidden]) { margin-bottom:24px; }
.login-box button { width:100%; margin-top:8px; }
.form-error { color:var(--danger); font-size:14px; margin:0 0 16px; }
.audit-header { display:flex; align-items:center; flex-wrap:wrap; gap:20px; padding:18px 32px; border-bottom:1px solid var(--line); background:var(--surface); }
.audit-header>span { margin-left:auto; font-size:14px; color:var(--muted); }
.audit-main { padding:32px; }
h1 { margin:0 0 12px; font-size:28px; }
.audit-note { color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
.audit-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:28px 0 20px; }
.audit-filters label { min-width:180px; }
.audit-filters input,.audit-filters select { display:block; margin-top:7px; }
.audit-table { overflow:auto; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; }
th,td { padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top; overflow-wrap:anywhere; min-width:100px; }
th { background:var(--canvas); white-space:nowrap; }
td:nth-child(4) { min-width:280px; max-width:600px; }
td.agent { min-width:240px; max-width:400px; color:var(--muted); font-size:13px; }
td small { display:block; color:var(--muted); }
.nowrap { white-space:nowrap; }
.request-method { color:var(--muted); font-size:12px; }
.audit-pages { display:flex; gap:20px; margin-top:24px; }
@media(max-width:720px) { .audit-header { padding:16px 20px; gap:12px; }.audit-header>span { margin-left:0; }.audit-main { padding:24px 20px; }.audit-filters label { width:100%; } }
@media(prefers-color-scheme:dark) { :root { color-scheme:dark; --canvas:#0f1725; --surface:#121e30; --ink:#edf2fa; --muted:#a7b6ca; --line:#425770; --accent:#93b4ff; --danger:#ffb4a9; }.primary { color:#102348; }.primary:hover { background:#b7ccff; } }
