.admin-body{
  background:
    radial-gradient(circle at top left, color-mix(in oklch, var(--primary) 14%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in oklch, var(--surface) 72%, var(--bg)), var(--bg));
}

.admin-shell{
  width:min(1440px, calc(100vw - 32px));
  margin:0 auto;
  padding:var(--s8) 0 var(--s10);
}

.admin-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .9fr);
  gap:var(--s5);
  align-items:stretch;
  margin-bottom:var(--s5);
}

.admin-hero-copy,
.admin-access-card,
.admin-panel,
.admin-banner{
  background:color-mix(in oklch, var(--surface) 90%, transparent);
  border:1px solid color-mix(in oklch, var(--border) 82%, transparent);
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(18px);
}

.admin-hero-copy{
  border-radius:28px;
  padding:var(--s8);
}

.admin-kicker,
.admin-panel-kicker{
  font-size:var(--xs);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--primary);
  font-weight:700;
}

.admin-hero-copy h1{
  margin-top:var(--s2);
  font-family:var(--font-d);
  font-size:clamp(2rem, 1.5rem + 2vw, 3.2rem);
  line-height:1;
}

.admin-hero-text{
  margin-top:var(--s4);
  max-width:56ch;
  color:var(--muted);
  line-height:1.7;
}

.admin-access-card{
  border-radius:24px;
  padding:var(--s6);
  display:flex;
  flex-direction:column;
  gap:var(--s4);
}

.admin-status-line{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:var(--sm);
  font-weight:600;
}

.admin-status-dot{
  width:11px;
  height:11px;
  border-radius:999px;
  background:var(--faint);
  box-shadow:0 0 0 6px color-mix(in oklch, var(--faint) 18%, transparent);
}

.admin-status-dot.online{
  background:#1f9d61;
  box-shadow:0 0 0 6px color-mix(in oklch, #1f9d61 18%, transparent);
}

.admin-status-dot.warn{
  background:#d9822b;
  box-shadow:0 0 0 6px color-mix(in oklch, #d9822b 18%, transparent);
}

.admin-status-dot.error{
  background:#cf4b32;
  box-shadow:0 0 0 6px color-mix(in oklch, #cf4b32 18%, transparent);
}

.admin-auth-form{
  display:flex;
  flex-direction:column;
  gap:var(--s4);
}

.admin-auth-actions,
.admin-inline-actions,
.admin-form-actions{
  display:flex;
  gap:var(--s3);
  flex-wrap:wrap;
}

.admin-helper{
  color:var(--muted);
  font-size:var(--xs);
}

.admin-banner{
  border-radius:18px;
  padding:var(--s4) var(--s5);
  margin-bottom:var(--s5);
  font-size:var(--sm);
  line-height:1.6;
}

.admin-banner[data-tone="info"]{
  color:var(--primary);
  border-color:color-mix(in oklch, var(--primary) 40%, var(--border));
  background:color-mix(in oklch, var(--primary-hl) 55%, var(--surface));
}

.admin-banner[data-tone="success"]{
  color:#18794e;
  border-color:color-mix(in oklch, #1f9d61 40%, var(--border));
  background:color-mix(in oklch, #1f9d61 12%, var(--surface));
}

.admin-banner[data-tone="error"]{
  color:#a63a24;
  border-color:color-mix(in oklch, #cf4b32 44%, var(--border));
  background:color-mix(in oklch, #cf4b32 10%, var(--surface));
}

.admin-workspace{
  display:grid;
  grid-template-columns:minmax(320px, 380px) minmax(0, 1fr);
  gap:var(--s5);
  align-items:start;
}

.admin-panel{
  border-radius:24px;
  padding:var(--s5);
}

.admin-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--s4);
  margin-bottom:var(--s4);
}

.admin-panel-head h2{
  margin-top:6px;
  font-family:var(--font-d);
  font-size:clamp(1.2rem, 1rem + .6vw, 1.7rem);
  line-height:1.1;
}

.admin-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:calc(100vh - 320px);
  overflow:auto;
  padding-right:4px;
}

.admin-list-item{
  width:100%;
  text-align:left;
  padding:var(--s4);
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface2);
  display:flex;
  flex-direction:column;
  gap:6px;
}

.admin-list-item:hover{
  border-color:var(--primary);
  box-shadow:var(--shadow-sm);
}

.admin-list-item.active{
  border-color:var(--primary);
  background:color-mix(in oklch, var(--primary-hl) 62%, var(--surface));
}

.admin-list-item-title{
  font-weight:700;
  color:var(--text);
}

.admin-list-item-meta,
.admin-list-item-tags{
  font-size:var(--xs);
  color:var(--muted);
}

.admin-list-empty{
  border:1px dashed var(--border);
  border-radius:18px;
  padding:var(--s6) var(--s4);
  text-align:center;
  color:var(--muted);
  font-size:var(--sm);
}

.admin-form{
  display:flex;
  flex-direction:column;
  gap:var(--s4);
}

.admin-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--s4);
}

.admin-form-grid-wide{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.admin-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.admin-field-label{
  font-size:var(--xs);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--faint);
}

.admin-input,
.admin-textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface2);
  color:var(--text);
  font:inherit;
  padding:14px 16px;
}

.admin-input:focus,
.admin-textarea:focus{
  border-color:var(--primary);
  outline:none;
  box-shadow:0 0 0 3px var(--primary-hl);
}

.admin-textarea{
  min-height:168px;
  resize:vertical;
  line-height:1.6;
}

.admin-textarea-sm{
  min-height:112px;
}

.admin-check{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:var(--sm);
}

.admin-check input{
  width:18px;
  height:18px;
  accent-color:var(--primary);
}

.admin-btn{
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--border);
  font-size:var(--sm);
  font-weight:600;
}

.admin-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.admin-btn-primary{
  color:var(--inverse);
  background:var(--primary);
  border-color:var(--primary);
}

.admin-btn-primary:hover:not(:disabled){
  background:var(--primary-h);
}

.admin-btn-ghost{
  color:var(--muted);
  background:var(--surface2);
}

.admin-btn-ghost:hover:not(:disabled){
  border-color:var(--primary);
  color:var(--primary);
}

.admin-btn-danger{
  color:#b0452f;
  border-color:color-mix(in oklch, #cf4b32 36%, var(--border));
  background:color-mix(in oklch, #cf4b32 8%, var(--surface));
}

.admin-btn-danger:hover:not(:disabled){
  border-color:#cf4b32;
  color:#982d18;
}

.admin-form.is-disabled{
  opacity:.58;
}

@media(max-width:1100px){
  .admin-hero,
  .admin-workspace{
    grid-template-columns:1fr;
  }

  .admin-list{
    max-height:none;
  }
}

@media(max-width:720px){
  .admin-shell{
    width:min(100vw - 20px, 1440px);
    padding:var(--s4) 0 var(--s8);
  }

  .admin-hero-copy,
  .admin-access-card,
  .admin-panel{
    padding:var(--s5);
    border-radius:20px;
  }

  .admin-form-grid,
  .admin-form-grid-wide{
    grid-template-columns:1fr;
  }
}
