:root {
  color-scheme: dark;
  --bg: #07110f;
  --panel: rgba(14, 29, 25, .88);
  --line: rgba(152, 210, 190, .16);
  --text: #eef8f4;
  --muted: #90a9a1;
  --accent: #45d6a3;
  --accent-2: #b6f36c;
  --danger: #ff756d;
  --shadow: 0 22px 70px rgba(0,0,0,.38);
}
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; color: var(--text);
  font: 14px/1.5 "Segoe UI", "Microsoft YaHei UI", sans-serif;
  background:
    radial-gradient(circle at 10% 0%, rgba(61,194,148,.20), transparent 34rem),
    radial-gradient(circle at 100% 20%, rgba(168,224,100,.10), transparent 28rem),
    var(--bg);
}
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:min(460px,100%); margin:0; }
.login-card h1 { font-size:34px; }
.login-label { display:block; margin:25px 0 14px; }
.login-label span { display:block; color:var(--muted); margin-bottom:7px; }
.login-label input { width:100%; height:46px; padding:0 13px; }
.login-card button { width:100%; }
.login-error { min-height:21px; color:var(--danger); margin:10px 0 0; }
.shell { width: min(1120px, calc(100% - 36px)); margin: 0 auto; padding: 46px 0 34px; }
header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:25px; }
.eyebrow { margin:0 0 7px; color:var(--accent); font-size:11px; letter-spacing:.2em; font-weight:700; }
h1 { margin:0; font-size:clamp(30px,4vw,48px); line-height:1.05; letter-spacing:-.04em; }
.subtitle { margin:12px 0 0; color:var(--muted); font-size:15px; }
.badge { display:flex; align-items:center; gap:9px; border:1px solid var(--line); padding:9px 13px; border-radius:99px; background:rgba(0,0,0,.2); white-space:nowrap; }
.badge span,.status-dot { width:8px; height:8px; border-radius:50%; background:#80908b; box-shadow:0 0 0 5px rgba(128,144,139,.1); }
.badge.running span { background:var(--accent); box-shadow:0 0 0 5px rgba(69,214,163,.12); }
.metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:12px; }
.metrics article,.card,.status { border:1px solid var(--line); background:var(--panel); backdrop-filter:blur(18px); box-shadow:var(--shadow); }
.metrics article { padding:17px 19px; border-radius:15px; }
.metrics span { color:var(--muted); font-size:12px; }
.metrics strong { display:block; margin-top:6px; font-size:19px; }
.card { border-radius:18px; padding:20px; margin-top:12px; }
.card-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
h2 { margin:0; font-size:17px; }
.card-head p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.head-actions,.actions { display:flex; flex-wrap:wrap; gap:9px; }
button,.file-button {
  appearance:none; border:1px solid var(--line); border-radius:10px; background:#172d27; color:var(--text);
  padding:10px 14px; font:600 13px inherit; cursor:pointer; transition:.18s ease;
}
button:hover,.file-button:hover { transform:translateY(-1px); border-color:rgba(69,214,163,.5); background:#1d3a32; }
button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.primary { color:#04110d; border-color:transparent; background:linear-gradient(120deg,var(--accent),var(--accent-2)); }
.primary:hover { background:linear-gradient(120deg,#62e7b7,#c8ff83); }
.danger { color:#ffbbb6; background:rgba(255,117,109,.09); }
.file-button input { display:none; }
textarea,input,select { border:1px solid var(--line); outline:none; color:var(--text); background:#071613; border-radius:11px; }
textarea:focus,input:focus,select:focus { border-color:rgba(69,214,163,.65); box-shadow:0 0 0 3px rgba(69,214,163,.09); }
textarea { width:100%; height:360px; resize:vertical; padding:15px; font:13px/1.65 "Cascadia Code","SFMono-Regular",Consolas,monospace; tab-size:4; }
.editor-card textarea { height:220px; }
.proxy-card textarea { height:135px; }
.proxy-note { margin:10px 2px 0; color:var(--muted); font-size:12px; }
.import-row { display:flex; align-items:end; justify-content:flex-end; gap:12px; margin-top:13px; }
.import-row label { width:190px; }
.import-row label span { display:block; color:var(--muted); font-size:12px; margin:0 0 6px 2px; }
.import-row input,.import-row select { width:100%; height:42px; padding:0 12px; }
.settings-grid { display:grid; grid-template-columns:minmax(0,2.4fr) minmax(160px,.6fr); gap:13px; margin:16px 0; }
.settings-grid label span { display:block; color:var(--muted); font-size:12px; margin:0 0 6px 2px; }
.settings-grid input { width:100%; height:42px; padding:0 12px; }
.status { display:flex; align-items:flex-start; gap:12px; padding:15px 17px; border-radius:14px; margin-top:12px; }
.status p { margin:0; overflow-wrap:anywhere; }
.status.ok .status-dot { background:var(--accent); box-shadow:0 0 0 5px rgba(69,214,163,.12); }
.status.error .status-dot { background:var(--danger); box-shadow:0 0 0 5px rgba(255,117,109,.12); }
footer { padding:14px 3px 0; color:#62776f; font-size:12px; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:12px; }
.batch-toolbar { display:flex; align-items:center; gap:9px; margin:0 0 12px; }
.batch-toolbar strong { color:var(--muted); font-size:13px; }
.toolbar-spacer { flex:1; }
.pagination { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:14px; }
.pagination span { min-width:190px; text-align:center; color:var(--muted); }
.select-cell { width:44px; text-align:center; }
.select-cell input { appearance:auto; width:16px; height:16px; accent-color:var(--accent); cursor:pointer; }
table { width:100%; border-collapse:collapse; min-width:900px; }
th,td { padding:13px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle; }
th { color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; background:rgba(3,12,10,.45); }
tbody tr:last-child td { border-bottom:0; }
tbody tr:hover { background:rgba(69,214,163,.035); }
.empty { text-align:center; color:var(--muted); padding:34px; }
.email-link { padding:0; border:0; background:transparent; color:var(--accent); font-weight:650; }
.email-link:hover { transform:none; border:0; background:transparent; text-decoration:underline; }
.state-pill { display:inline-block; max-width:360px; padding:5px 9px; border-radius:8px; color:var(--muted); background:rgba(128,144,139,.10); font-size:12px; }
.state-pill.good { color:#8df0cb; background:rgba(69,214,163,.10); }
.state-pill.bad { color:#ffaaa4; background:rgba(255,117,109,.10); }
.proxy-state { color:var(--muted); font-size:11px; }
.row-actions { display:flex; gap:7px; }
.row-actions button { padding:7px 10px; }
.detail-card { scroll-margin-top:12px; }
.detail-card textarea { height:310px; }
.detail-actions { margin-top:13px; }
.hidden { display:none; }
@media(max-width:720px){ .shell{width:min(100% - 22px,1120px);padding-top:25px} header{flex-direction:column}.metrics{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.card-head{align-items:flex-start;flex-direction:column} textarea{height:310px} }
