:root {
  color-scheme: dark;
  --admin-bg: #080e19;
  --admin-panel: #111a29;
  --admin-panel-soft: #0d1522;
  --admin-border: #253349;
  --admin-text: #edf3fb;
  --admin-muted: #94a5bd;
  --admin-accent: #5d9cff;
  --admin-green: #36c889;
  --admin-red: #ff7d85;
}

* { box-sizing: border-box; }
body.admin-body { margin: 0; min-height: 100vh; background: var(--admin-bg); color: var(--admin-text); font: 14px/1.55 system-ui, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, .button-link { border: 0; border-radius: 9px; padding: 11px 16px; background: var(--admin-accent); color: white; font-weight: 700; cursor: pointer; }
button:hover, .button-link:hover { filter: brightness(1.08); }
.admin-brand { display: inline-flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
.admin-brand span { border: 1px solid var(--admin-border); border-radius: 5px; padding: 2px 6px; color: var(--admin-accent); font-size: 10px; letter-spacing: .08em; }
.eyebrow { margin: 0 0 7px; color: var(--admin-accent); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.muted, .field small { color: var(--admin-muted); }
.login-card, .setup-card { width: min(430px, calc(100% - 32px)); margin: 9vh auto; padding: 34px; border: 1px solid var(--admin-border); border-radius: 18px; background: var(--admin-panel); box-shadow: 0 24px 80px #0005; }
.login-card h1, .setup-card h1 { margin: 28px 0 7px; font-size: 28px; letter-spacing: -.04em; }
.login-card form { display: grid; gap: 10px; margin-top: 26px; }
.login-card label, .field label { color: #cbd6e5; font-size: 12px; font-weight: 700; }
.login-card input, .field input, .field textarea { width: 100%; border: 1px solid var(--admin-border); border-radius: 8px; background: var(--admin-panel-soft); color: var(--admin-text); padding: 11px 12px; outline: none; }
.login-card input:focus, .field input:focus, .field textarea:focus { border-color: var(--admin-accent); box-shadow: 0 0 0 3px #5d9cff22; }
.login-card button { margin-top: 12px; }
.back-link { display: inline-block; margin-top: 22px; color: var(--admin-muted); font-size: 12px; }
.back-link:hover, .admin-footer a:hover { color: var(--admin-text); }
.notice { margin-top: 18px; padding: 12px 14px; border: 1px solid var(--admin-border); border-radius: 9px; }
.notice.success { border-color: #267450; background: #123426; color: #a4f0ca; }
.notice.error { border-color: #813c48; background: #3a2028; color: #ffb7bd; }
.setup-card p:not(.eyebrow) { color: var(--admin-muted); }
.button-link { display: inline-block; margin-top: 18px; }
.admin-layout { min-height: 100vh; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; display: flex; width: 230px; flex-direction: column; padding: 28px 18px; border-right: 1px solid var(--admin-border); background: #0c1421; }
.admin-sidebar nav { display: grid; gap: 6px; margin-top: 48px; }
.admin-sidebar nav a { padding: 10px 12px; border-radius: 8px; color: var(--admin-muted); }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { background: #17253a; color: var(--admin-text); }
.admin-sidebar .back-link { margin-top: auto; }
.admin-main { width: min(1150px, calc(100% - 230px)); margin-left: 230px; padding: 34px clamp(22px, 5vw, 64px) 28px; }
.admin-topbar, .section-heading, .tool-admin-head, .save-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.admin-topbar { padding-bottom: 28px; border-bottom: 1px solid var(--admin-border); }
.admin-topbar h1 { margin: 0; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.05em; }
.button-secondary { border: 1px solid var(--admin-border); background: var(--admin-panel); }
.admin-section { padding: 30px 0; border-bottom: 1px solid var(--admin-border); scroll-margin-top: 18px; }
.section-heading { margin-bottom: 18px; }
.section-heading h2 { margin: 0; font-size: 20px; letter-spacing: -.03em; }
.section-heading p:not(.eyebrow) { margin: 5px 0 0; }
.stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.stat-card, .tool-admin-card { border: 1px solid var(--admin-border); border-radius: 12px; background: var(--admin-panel); }
.stat-card { display: grid; gap: 8px; padding: 18px; }
.stat-card span, .stat-card small { color: var(--admin-muted); font-size: 12px; }
.stat-card strong { font-size: 27px; }
.stat-card strong.stat-text { overflow-wrap: anywhere; font-size: 16px; }
.admin-help { margin: 14px 0 0; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field { display: grid; gap: 7px; min-width: 0; }
.field textarea { min-height: 82px; resize: vertical; }
.field small { font-size: 11px; }
.tool-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tool-admin-card { display: grid; align-content: start; gap: 15px; padding: 17px; }
.tool-admin-head { align-items: flex-start; }
.tool-admin-head h3 { margin: 0; font-size: 15px; }
.switch-label { display: flex; align-items: center; gap: 7px; color: var(--admin-muted); font-size: 11px; cursor: pointer; }
.switch-label input { accent-color: var(--admin-green); }
.save-bar { position: sticky; bottom: 12px; margin-top: 24px; padding: 12px 14px; border: 1px solid var(--admin-border); border-radius: 12px; background: #111a29f2; backdrop-filter: blur(12px); }
.save-bar .muted { font-size: 12px; }
.admin-footer { padding-top: 28px; color: var(--admin-muted); font-size: 11px; }
.admin-footer a { color: #cbd6e5; }
@media (max-width: 850px) { .admin-sidebar { position: static; width: auto; padding: 15px 20px; border-right: 0; border-bottom: 1px solid var(--admin-border); } .admin-sidebar nav { display: flex; flex-wrap: wrap; margin-top: 12px; } .admin-sidebar .back-link { display: none; } .admin-main { width: 100%; margin: 0; padding: 24px 20px; } }
@media (max-width: 600px) { .stat-grid, .field-grid, .tool-admin-grid { grid-template-columns: 1fr; } .admin-topbar { align-items: flex-start; } .stat-card { padding: 14px; } .save-bar { align-items: flex-start; flex-direction: column; } .save-bar button { width: 100%; } }

.tool-placement { display: flex; flex-wrap: wrap; gap: 18px; }
.tool-admin-card > p { margin: 0; }
