:root { color-scheme: dark; --bg:#061323; --panel:#0b2138; --line:#174a70; --text:#e7f7ff; --muted:#8eb2c8; --accent:#17d9ff; --danger:#ff6b7d; --success:#45e0a8; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font-family:Inter,"Microsoft YaHei",sans-serif; color:var(--text); background:radial-gradient(circle at 50% 0,#123a59 0,var(--bg) 52%); }
a { color:var(--accent); text-decoration:none; }
input,select,button { font:inherit; }
input,select { width:100%; margin-top:8px; border:1px solid var(--line); border-radius:6px; background:#07192b; color:var(--text); padding:11px 12px; outline:none; }
input:focus,select:focus { border-color:var(--accent); box-shadow:0 0 0 2px #17d9ff22; }
label { display:block; margin:18px 0 0; color:#cbe9f7; }
small,.muted { color:var(--muted); }
.auth-page { display:grid; place-items:center; padding:24px; }
.auth-card { width:min(420px,100%); padding:38px; border:1px solid var(--line); border-radius:14px; background:#081b2ddd; box-shadow:0 24px 80px #0008,0 0 40px #0ab5e315; }
.auth-card h1 { margin:16px 0 8px; font-size:25px; text-align:center; }
.auth-card .muted { text-align:center; }
.brand-mark { width:64px; height:64px; display:grid; place-items:center; margin:auto; border:1px solid var(--accent); border-radius:16px; color:var(--accent); font-weight:800; box-shadow:0 0 25px #17d9ff44; }
.primary-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border:0; border-radius:6px; background:linear-gradient(90deg,#087fae,#16ccea); color:white; cursor:pointer; }
.auth-card .primary-button { width:100%; margin-top:20px; }
.check-row { display:flex; align-items:center; gap:8px; color:var(--muted); }
.check-row input { width:auto; margin:0; }
.alert { margin:16px 0; padding:11px 14px; border-radius:6px; background:#173149; }
.alert-error { border-left:3px solid var(--danger); }
.alert-success { border-left:3px solid var(--success); }
.field-error { display:block; margin-top:5px; color:var(--danger); font-size:13px; }
.admin-header { display:flex; justify-content:space-between; align-items:center; min-height:64px; padding:0 4vw; border-bottom:1px solid var(--line); background:#07192bea; }
.admin-brand { color:var(--text); font-weight:700; }
.admin-header nav { display:flex; align-items:center; gap:22px; }
.admin-main { width:min(1280px,92vw); margin:36px auto; }
.page-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
h1 { margin:0 0 8px; }
.button-link { color:white; }
.inline-form { display:inline; margin:0; }
.link-button { padding:0; border:0; background:none; color:var(--accent); cursor:pointer; }
.search-form { display:flex; max-width:460px; gap:8px; margin-bottom:18px; }
.search-form input { margin:0; }
.search-form button { padding:0 18px; border:1px solid var(--line); border-radius:6px; color:var(--text); background:var(--panel); }
.table-wrap,.form-panel { border:1px solid var(--line); border-radius:9px; background:#081b2dcc; overflow:hidden; }
table { width:100%; border-collapse:collapse; }
th,td { padding:13px 14px; border-bottom:1px solid #16344b; text-align:left; font-size:14px; }
th { color:#9dcce1; background:#0d2940; }
.actions { white-space:nowrap; }
.actions a,.actions form { margin-right:10px; }
.status { display:inline-block; padding:3px 8px; border-radius:99px; }
.status-ok { color:var(--success); background:#45e0a818; }
.status-off { color:var(--danger); background:#ff6b7d18; }
.ua { max-width:340px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.empty { padding:36px; text-align:center; color:var(--muted); }
.pagination { display:flex; justify-content:center; gap:20px; padding:22px; color:var(--muted); }
.form-panel { max-width:850px; padding:28px; }
.form-panel.narrow { max-width:540px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
.full-row { grid-column:1/-1; }
.form-actions { display:flex; align-items:center; gap:18px; margin-top:26px; }
@media(max-width:760px){.admin-header,.page-heading{align-items:flex-start;gap:15px;flex-direction:column}.admin-header{padding:16px 4vw}.admin-header nav{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.full-row{grid-column:auto}.table-wrap{overflow-x:auto}}
