:root{
  --accent:#C0492A; --accent-dark:#a93e22;
  --ink:#16181C; --muted:#62656E; --faint:#9CA0AB;
  --line:#E7E9EE; --line2:#EEF0F3; --canvas:#F4F5F7; --dark:#14161A;
  --ok:#2E7D46; --ok-bg:#E6F2EA;
  --serif:'Source Serif 4',Georgia,serif; --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
code{font-family:var(--mono)}
.wrap{max-width:980px;margin:0 auto;padding:0 24px}
h1{font:600 32px/1.1 var(--serif);margin:28px 0 18px}
h2{font:600 18px/1.2 var(--serif);margin:0}

.topbar{background:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font:700 21px/1 var(--serif)}
.nav{display:flex;align-items:center;gap:18px;font:600 14px/1 var(--sans)}
.nav a:hover{color:var(--accent)}
.who{color:var(--faint);font-weight:500}
.foot{margin-top:48px;padding:24px 0;color:var(--faint);font:500 13px/1 var(--sans);border-top:1px solid var(--line)}
.foot code{color:var(--muted)}

.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:18px}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.center{text-align:center}
.login{max-width:460px;margin:64px auto;padding:36px}
.login h1{margin-top:0}
.muted{color:var(--muted);font-size:14px}
.error{color:var(--accent);font-weight:600;margin:12px 0}
.notice{color:var(--ok);background:var(--ok-bg);padding:10px 14px;border-radius:9px;font-weight:600}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.stat .label{font:600 12px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.stat .big{font:700 34px/1 var(--mono)}
.stat .big span{font-size:16px;color:var(--accent)}
.endpoint{display:inline-block;margin-top:6px;background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--accent-dark);font-size:14px}

.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:9px;padding:11px 18px;font:700 14px/1 var(--sans);cursor:pointer}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark)}
.btn-lg{padding:14px 24px;font-size:16px}
.link{background:none;border:0;color:var(--accent);font:600 14px/1 var(--sans);cursor:pointer;padding:0}
.link.danger{color:#b23b3b}

table{width:100%;border-collapse:collapse;margin-top:6px}
th{text-align:left;font:600 12px/1 var(--sans);letter-spacing:.03em;text-transform:uppercase;color:var(--faint);padding:8px 8px;border-bottom:1px solid var(--line)}
td{padding:11px 8px;border-bottom:1px solid var(--line2);font-size:14px;vertical-align:middle}
tr:last-child td{border-bottom:0}
td code{font-size:13px}

.tag{font:600 11px/1 var(--sans);padding:5px 9px;border-radius:999px}
.tag.ok{color:var(--ok);background:var(--ok-bg)}
.tag.off{color:var(--faint);background:var(--canvas)}
.tag.err{color:#fff;background:var(--accent)}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}
.subt{font:600 12px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}
.kpi{font:700 22px/1 var(--mono)}
.kpi small{font:600 12px/1 var(--sans);color:var(--faint)}
.admin-client-wrap{max-width:1600px;margin:0 auto;padding:0 24px}

.layout-sidebar{display:flex;gap:24px;align-items:flex-start}
.layout-sidebar .content{flex:1;min-width:0}

.ac-sidebar{position:sticky;top:12px;width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 8px}
.ac-tab-group{color:var(--faint);font:600 11px/1 var(--sans);text-transform:uppercase;letter-spacing:.04em;padding:12px 10px 4px}
.ac-tab-group:first-child{padding-top:4px}
.ac-tab{background:none;border:none;text-align:left;padding:8px 12px;border-radius:8px;cursor:pointer;font:600 14px/1.3 var(--sans);color:var(--muted);width:100%}
.ac-tab:hover{background:var(--canvas);color:var(--ink)}
.ac-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);border-left:3px solid var(--accent);border-radius:8px 3px 3px 8px}
.ac-pane.hidden{display:none}

.key-new{border-color:var(--accent);background:#fff7f4}
.key{display:block;margin-top:10px;background:var(--dark);color:#fff;padding:12px 14px;border-radius:9px;font-size:13px;word-break:break-all}
.key-row{display:flex;gap:10px;align-items:stretch;margin-top:10px}
.key-row .key{flex:1;margin-top:0;display:flex;align-items:center}
.key-row .btn{white-space:nowrap}

.row-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.row-form input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:9px;padding:11px 13px;font:500 14px/1 var(--sans)}
.row-form input:focus{outline:none;border-color:var(--accent)}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}
.kpi-card{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:1.2rem;text-align:center}
.kpi-value{font-size:2rem;font-weight:bold;color:#e2e8f0}
.kpi-label{color:#94a3b8;font-size:0.85rem;margin-top:0.3rem}

@media(max-width:720px){.grid{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}.nav{gap:12px}.who{display:none}}

.filter-bar{display:flex;gap:0.5rem;margin:1rem 0;align-items:center}
.filter-bar input,.filter-bar select{padding:0.5rem;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#e2e8f0}
.filter-bar button{padding:0.5rem 1rem}
.btn-sm{padding:.25rem .5rem;font-size:.8rem;}
