:root {
  --admin-sidebar: 248px;
  --admin-topbar: 68px;
  --admin-surface: color-mix(in srgb, var(--syn-bg-elevated, #121a2b) 88%, transparent);
  --admin-surface-strong: color-mix(in srgb, var(--syn-bg-elevated, #121a2b) 96%, transparent);
  --admin-line: var(--syn-border, rgba(148,163,184,.18));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.admin-body { margin: 0; min-height: 100vh; background: var(--syn-bg, #080d18); color: var(--syn-text, #eef3ff); font-family: Inter, system-ui, sans-serif; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }

.admin-shell { min-height: 100vh; }
.admin-sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 60; width: var(--admin-sidebar);
  display: flex; flex-direction: column; padding: 18px 14px;
  background: color-mix(in srgb, var(--syn-bg, #080d18) 92%, transparent);
  border-right: 1px solid var(--admin-line); backdrop-filter: blur(22px);
}
.admin-brand { display: flex; align-items: center; gap: 11px; min-height: 44px; padding: 4px 9px 18px; color: inherit; text-decoration: none; }
.admin-brand__mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:var(--syn-accent,#60a5fa); background:var(--syn-accent-dim,rgba(96,165,250,.14)); border:1px solid color-mix(in srgb,var(--syn-accent,#60a5fa) 34%,transparent); font-weight:800; }
.admin-brand__copy { min-width: 0; }
.admin-brand__title { display:block; font-weight:800; font-size:.9rem; }
.admin-brand__sub { display:block; color:var(--syn-text-subtle,#8793a8); font-size:.7rem; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-nav { display:grid; gap:4px; overflow-y:auto; padding:5px 0; }
.admin-nav__label { padding: 14px 10px 6px; color:var(--syn-text-subtle,#8793a8); font-size:.65rem; letter-spacing:.11em; text-transform:uppercase; font-weight:800; }
.admin-nav__link { display:flex; align-items:center; gap:11px; min-height:42px; padding:9px 11px; border-radius:10px; color:var(--syn-text-muted,#aeb8c9); text-decoration:none; border:1px solid transparent; font-size:.83rem; font-weight:650; }
.admin-nav__link svg { width:17px; flex:0 0 17px; }
.admin-nav__link:hover { color:var(--syn-text,#fff); background:rgba(255,255,255,.045); }
.admin-nav__link.is-active { color:var(--syn-accent,#60a5fa); background:var(--syn-accent-dim,rgba(96,165,250,.12)); border-color:color-mix(in srgb,var(--syn-accent,#60a5fa) 20%,transparent); }
.admin-nav__count { margin-left:auto; min-width:21px; height:21px; padding:0 6px; display:grid; place-items:center; border-radius:999px; background:rgba(255,255,255,.07); font-size:.68rem; }
.admin-sidebar__footer { margin-top:auto; display:grid; gap:8px; padding-top:14px; border-top:1px solid var(--admin-line); }
.admin-role { padding:10px 11px; border-radius:10px; background:rgba(255,255,255,.035); }
.admin-role strong { display:block; font-size:.76rem; }
.admin-role span { display:block; color:var(--syn-text-subtle,#8793a8); font-size:.68rem; margin-top:3px; }

.admin-main { min-height:100vh; margin-left:var(--admin-sidebar); }
.admin-topbar { position:sticky; top:0; z-index:45; min-height:var(--admin-topbar); display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px clamp(18px,3vw,38px); background:color-mix(in srgb,var(--syn-bg,#080d18) 84%,transparent); border-bottom:1px solid var(--admin-line); backdrop-filter:blur(18px); }
.admin-topbar__left { min-width:0; }
.admin-topbar__eyebrow { color:var(--syn-text-subtle,#8793a8); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.admin-topbar h1 { margin:3px 0 0; font-size:clamp(1rem,2vw,1.22rem); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-topbar__actions { display:flex; gap:9px; align-items:center; }
.admin-menu { display:none; width:40px; height:40px; place-items:center; border:1px solid var(--admin-line); border-radius:10px; background:var(--admin-surface); cursor:pointer; }
.admin-content { width:min(1480px,100%); margin:0 auto; padding:clamp(20px,3vw,38px); }
.admin-view { display:grid; gap:20px; animation:admin-in .2s ease; }
@keyframes admin-in { from { opacity:0; transform:translateY(4px); } }
.admin-overlay { display:none; position:fixed; inset:0; z-index:55; background:rgba(3,7,14,.68); backdrop-filter:blur(3px); }

.admin-pagehead { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.admin-pagehead h2 { margin:0; font-size:clamp(1.35rem,3vw,1.9rem); letter-spacing:-.025em; }
.admin-pagehead p { margin:7px 0 0; color:var(--syn-text-muted,#aeb8c9); max-width:72ch; line-height:1.55; font-size:.86rem; }
.admin-actions { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.admin-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.span-12 { grid-column:span 12; }.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}
.admin-card { min-width:0; padding:18px; border:1px solid var(--admin-line); border-radius:15px; background:var(--admin-surface); box-shadow:0 12px 36px rgba(0,0,0,.08); }
.admin-card--flat { box-shadow:none; }
.admin-card--danger { border-color:rgba(248,113,113,.32); background:linear-gradient(135deg,rgba(248,113,113,.09),var(--admin-surface)); }
.admin-danger { padding:0; overflow:hidden; background:linear-gradient(110deg,rgba(248,113,113,.07),var(--admin-surface)); }
.admin-danger summary { min-height:68px; display:flex; align-items:center; gap:12px; padding:14px 17px; cursor:pointer; list-style:none; }
.admin-danger summary::-webkit-details-marker { display:none; }
.admin-danger summary:hover { background:rgba(248,113,113,.045); }
.admin-danger__icon { flex:0 0 auto; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:var(--syn-red,#f87171); background:var(--syn-red-bg,rgba(248,113,113,.11)); font-weight:850; }
.admin-danger summary strong { display:block; color:var(--syn-red,#f87171); font-size:.82rem; }
.admin-danger summary small { display:block; margin-top:3px; color:var(--syn-text-subtle,#8793a8); font-size:.68rem; }
.admin-danger__action { margin-left:auto; padding:5px 9px; border:1px solid rgba(248,113,113,.25); border-radius:8px; color:var(--syn-red,#f87171); font-size:.68rem; font-weight:750; }
.admin-danger[open] .admin-danger__action { font-size:0; }
.admin-danger[open] .admin-danger__action::after { content:"Close"; font-size:.68rem; }
.admin-danger__body { padding:0 17px 17px; border-top:1px solid rgba(248,113,113,.16); }
.admin-danger__body>p { margin:14px 0; color:var(--syn-text-muted,#aeb8c9); font-size:.75rem; line-height:1.5; }
.admin-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:16px; }
.admin-card__head h3 { margin:0; font-size:.96rem; }
.admin-card__head p { margin:5px 0 0; color:var(--syn-text-subtle,#8793a8); font-size:.76rem; line-height:1.45; }
.metric { padding:17px; }
.metric__label { color:var(--syn-text-subtle,#8793a8); font-size:.69rem; text-transform:uppercase; letter-spacing:.08em; font-weight:750; }
.metric__value { margin-top:8px; font-size:clamp(1.45rem,3vw,2rem); font-weight:800; letter-spacing:-.04em; }
.metric__meta { margin-top:6px; color:var(--syn-text-muted,#aeb8c9); font-size:.72rem; }
.progress { height:7px; margin-top:12px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--syn-accent,#60a5fa),var(--syn-green,#4ade80)); }

.status { display:inline-flex; align-items:center; gap:6px; min-height:25px; padding:4px 8px; border-radius:999px; font-size:.69rem; font-weight:750; background:rgba(148,163,184,.12); color:var(--syn-text-muted,#aeb8c9); }
.status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.status--success { color:var(--syn-green,#4ade80); background:var(--syn-green-bg,rgba(74,222,128,.1)); }
.status--danger { color:var(--syn-red,#f87171); background:var(--syn-red-bg,rgba(248,113,113,.1)); }
.status--warning { color:#fbbf24; background:rgba(251,191,36,.1); }
.admin-banner { display:flex; align-items:flex-start; gap:12px; padding:13px 15px; border:1px solid var(--admin-line); border-radius:12px; background:var(--admin-surface); font-size:.78rem; line-height:1.5; }
.admin-banner strong { display:block; color:var(--syn-text,#fff); margin-bottom:2px; }
.admin-banner--danger { border-color:rgba(248,113,113,.3); background:rgba(248,113,113,.08); color:var(--syn-red,#f87171); }
.admin-banner--candidate { align-items:center; border-color:color-mix(in srgb,var(--syn-accent,#60a5fa) 38%,var(--admin-line)); background:linear-gradient(120deg,var(--syn-accent-dim,rgba(96,165,250,.13)),var(--admin-surface)); }
.admin-banner__icon { flex:0 0 auto; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--syn-accent,#60a5fa); background:var(--syn-accent-dim,rgba(96,165,250,.14)); font-size:1rem; font-weight:800; }
.admin-banner__copy { min-width:0; flex:1; color:var(--syn-text-muted,#aeb8c9); }

.admin-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:8px 13px; border:1px solid transparent; border-radius:10px; background:var(--syn-accent,#4f8cff); color:#fff; text-decoration:none; font-size:.76rem; font-weight:750; cursor:pointer; white-space:nowrap; }
.admin-btn:hover { filter:brightness(1.08); transform:translateY(-1px); }
.admin-btn--secondary { color:var(--syn-text,#fff); background:rgba(255,255,255,.055); border-color:var(--admin-line); }
.admin-btn--ghost { color:var(--syn-text-muted,#aeb8c9); background:transparent; border-color:var(--admin-line); }
.admin-btn--danger { color:#fff; background:#d94c58; }
.admin-btn--sm { min-height:31px; padding:5px 9px; border-radius:8px; font-size:.7rem; }
.admin-btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.icon-btn { width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid var(--admin-line); border-radius:9px; background:transparent; cursor:pointer; }

.field { display:grid; gap:6px; min-width:0; }
.field label, .field__label { color:var(--syn-text-muted,#aeb8c9); font-size:.7rem; font-weight:720; }
.field small { color:var(--syn-text-subtle,#8793a8); font-size:.66rem; line-height:1.4; }
.admin-input { width:100%; min-height:40px; padding:8px 11px; color:var(--syn-text,#fff); background:color-mix(in srgb,var(--syn-bg,#080d18) 55%,transparent); border:1px solid var(--admin-line); border-radius:9px; outline:none; }
.admin-input:focus { border-color:var(--syn-accent,#60a5fa); box-shadow:0 0 0 3px var(--syn-accent-dim,rgba(96,165,250,.12)); }
textarea.admin-input { min-height:88px; resize:vertical; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.field--full { grid-column:1/-1; }
.form-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; flex-wrap:wrap; }
.check-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:7px; max-height:260px; overflow:auto; padding:8px; border:1px solid var(--admin-line); border-radius:10px; }
.check-item { display:flex; gap:8px; align-items:center; min-height:34px; padding:6px 8px; border-radius:8px; background:rgba(255,255,255,.025); font-size:.75rem; cursor:pointer; }
.check-item input { accent-color:var(--syn-accent,#60a5fa); }

.toolbar { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:11px; border:1px solid var(--admin-line); border-radius:12px; background:rgba(255,255,255,.02); }
.toolbar .admin-input { width:auto; min-width:210px; flex:1; }
.table-wrap { overflow:auto; border:1px solid var(--admin-line); border-radius:12px; }
.admin-table { width:100%; border-collapse:collapse; font-size:.75rem; }
.admin-table th { position:sticky; top:0; z-index:2; padding:10px 12px; text-align:left; color:var(--syn-text-subtle,#8793a8); background:var(--admin-surface-strong); border-bottom:1px solid var(--admin-line); font-size:.65rem; letter-spacing:.07em; text-transform:uppercase; }
.admin-table td { padding:11px 12px; border-bottom:1px solid color-mix(in srgb,var(--admin-line) 75%,transparent); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:0; }
.admin-table tbody tr:hover { background:rgba(255,255,255,.025); }
.cell-title { font-weight:750; color:var(--syn-text,#fff); }
.cell-sub { display:block; margin-top:3px; color:var(--syn-text-subtle,#8793a8); font-size:.68rem; }
.row-actions { display:flex; justify-content:flex-end; gap:6px; }
.point-inline-form { display:grid; grid-template-columns:minmax(86px,.55fr) minmax(180px,1fr) auto; gap:7px; align-items:center; min-width:390px; }
.point-inline-form .admin-input { min-height:34px; padding:6px 8px; }
.empty { padding:34px 18px; text-align:center; color:var(--syn-text-subtle,#8793a8); border:1px dashed var(--admin-line); border-radius:12px; font-size:.8rem; }
.chip-list { display:flex; gap:6px; flex-wrap:wrap; }
.chip { display:inline-flex; align-items:center; min-height:25px; padding:4px 8px; border:1px solid var(--admin-line); border-radius:999px; color:var(--syn-text-muted,#aeb8c9); background:rgba(255,255,255,.035); font-size:.68rem; }
#alias-editor { grid-column:span 12; }

.activity { display:grid; }
.activity__item { position:relative; display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:11px; padding:12px 0; border-bottom:1px solid var(--admin-line); }
.activity__item:last-child { border-bottom:0; }
.activity__dot { width:9px; height:9px; margin:5px auto 0; border-radius:50%; background:var(--syn-accent,#60a5fa); box-shadow:0 0 0 4px var(--syn-accent-dim,rgba(96,165,250,.12)); }
.activity__copy strong { display:block; font-size:.76rem; }
.activity__meta { margin-top:4px; color:var(--syn-text-subtle,#8793a8); font-size:.67rem; }

.flash-stack { position:fixed; z-index:100; top:16px; right:16px; width:min(390px,calc(100vw - 32px)); display:grid; gap:8px; }
.flash { padding:12px 14px; border:1px solid var(--admin-line); border-radius:11px; background:var(--admin-surface-strong); box-shadow:0 18px 50px rgba(0,0,0,.25); font-size:.78rem; }
.flash--error { color:var(--syn-red,#f87171); border-color:rgba(248,113,113,.3); }
.flash--success { color:var(--syn-green,#4ade80); border-color:rgba(74,222,128,.25); }

.modal { position:fixed; inset:0; width:min(620px,calc(100vw - 32px)); max-width:none; max-height:min(680px,calc(100dvh - 40px)); margin:auto; padding:0; overflow:hidden; color:var(--syn-text,#fff); background:var(--admin-surface-strong); border:1px solid var(--admin-line); border-radius:18px; box-shadow:0 32px 110px rgba(0,0,0,.58); }
.modal[open] { display:flex; flex-direction:column; }
.modal::backdrop { background:rgba(2,6,13,.72); backdrop-filter:blur(5px); }
.modal__head { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid var(--admin-line); background:linear-gradient(120deg,rgba(255,255,255,.025),transparent); }
.modal__head h3 { margin:0; font-size:1.02rem; letter-spacing:-.015em; }
.modal__body { min-height:0; padding:20px; overflow:auto; }
.modal .admin-input { min-height:44px; }
.modal .form-actions { margin-top:20px; padding-top:16px; border-top:1px solid var(--admin-line); }

.login-shell { min-height:100vh; display:grid; grid-template-columns:minmax(300px,440px) minmax(0,1fr); }
.login-panel { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:clamp(26px,5vw,64px); background:color-mix(in srgb,var(--syn-bg,#080d18) 94%,transparent); border-right:1px solid var(--admin-line); }
.login-brand { position:absolute; top:28px; left:clamp(26px,5vw,64px); }
.login-copy { margin-bottom:24px; }
.login-copy .eyebrow { color:var(--syn-accent,#60a5fa); font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.login-copy h1 { margin:9px 0; font-size:clamp(1.8rem,4vw,2.6rem); letter-spacing:-.045em; }
.login-copy p { margin:0; color:var(--syn-text-muted,#aeb8c9); line-height:1.6; font-size:.84rem; }
.login-form { display:grid; gap:14px; }
.login-owner { margin-top:18px; padding-top:18px; border-top:1px solid var(--admin-line); }
.login-visual { position:relative; overflow:hidden; display:grid; place-items:center; padding:40px; background:radial-gradient(circle at 65% 35%,var(--syn-accent-dim,rgba(96,165,250,.18)),transparent 35%),linear-gradient(145deg,color-mix(in srgb,var(--syn-bg,#080d18) 90%,#172554),var(--syn-bg,#080d18)); }
.login-preview { width:min(780px,90%); padding:20px; border:1px solid var(--admin-line); border-radius:22px; background:rgba(7,12,23,.55); box-shadow:0 40px 110px rgba(0,0,0,.3); transform:perspective(1000px) rotateY(-5deg) rotateX(2deg); }
.preview-bar { display:flex; gap:7px; margin-bottom:18px; }.preview-bar i{width:8px;height:8px;border-radius:50%;background:var(--admin-line)}
.preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.preview-block{height:105px;border:1px solid var(--admin-line);border-radius:13px;background:rgba(255,255,255,.025)}.preview-block:first-child{grid-column:span 2}.preview-block:last-child{grid-column:span 3;height:210px}

.theme-menu { position:relative; }
.theme-popover { position:absolute; top:calc(100% + 8px); right:0; z-index:90; width:190px; padding:7px; border:1px solid var(--admin-line); border-radius:11px; background:var(--admin-surface-strong); box-shadow:0 20px 55px rgba(0,0,0,.3); }
.theme-option { width:100%; display:flex; align-items:center; gap:9px; padding:8px; border:0; border-radius:8px; color:var(--syn-text-muted,#aeb8c9); background:transparent; cursor:pointer; text-align:left; font-size:.73rem; }
.theme-option:hover { background:rgba(255,255,255,.05); color:var(--syn-text,#fff); }
.theme-swatch-admin { width:15px; height:15px; border-radius:5px; background:var(--swatch); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }

@media (max-width:1100px){.span-3{grid-column:span 6}.span-4,.span-5,.span-7,.span-8{grid-column:span 6}}
@media (max-width:820px){
  .admin-sidebar{transform:translateX(-102%);transition:transform .22s ease}.admin-sidebar.is-open{transform:translateX(0)}.admin-overlay.is-open{display:block}.admin-main{margin-left:0}.admin-menu{display:grid}.admin-topbar{padding:11px 16px}.admin-content{padding:20px 15px 34px}.admin-topbar__actions .admin-btn{display:none}
  .span-3,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.admin-pagehead{display:grid}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}
  .login-shell{grid-template-columns:1fr}.login-panel{min-height:100vh}.login-visual{display:none}
}
@media (max-width:580px){
  .admin-card{padding:14px;border-radius:13px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admin-grid>:not(.metric){grid-column:1/-1}.metric{grid-column:auto;padding:14px}.metric__value{font-size:1.35rem}.metric__meta{overflow-wrap:anywhere}.admin-pagehead h2{font-size:1.35rem}
  .toolbar .admin-input{min-width:100%;width:100%}.table-wrap{border:0;overflow:visible}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table thead{display:none}.admin-table tr{position:relative;margin-bottom:9px;padding:12px;border:1px solid var(--admin-line);border-radius:11px;background:rgba(255,255,255,.02)}.admin-table td{padding:5px 0;border:0}.admin-table td[data-label]::before{content:attr(data-label);display:inline-block;min-width:92px;color:var(--syn-text-subtle,#8793a8);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.admin-table td:first-child{padding-top:0}.row-actions{justify-content:flex-start;margin-top:7px}.activity__item{grid-template-columns:18px minmax(0,1fr)}.activity__item>.admin-btn,.activity__item>form{grid-column:2}.login-panel{padding:100px 22px 30px}.login-brand{left:22px;top:24px}.modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.modal__head{padding:15px 16px}.modal__body{padding:16px}.admin-banner--candidate{align-items:flex-start}.admin-banner--candidate>.admin-btn{width:100%;flex-basis:100%}
  .point-inline-form{min-width:0;grid-template-columns:1fr}.point-inline-form .admin-btn{width:100%}
}
