:root{
  --admin-bg:#0f1115;
  --admin-surface:#151821;
  --admin-surface-2:#11131a;
  --admin-border:rgba(255,255,255,.10);
  --admin-text:rgba(255,255,255,.92);
  --admin-muted:rgba(255,255,255,.68);
  --admin-accent:#D32F2F;
  --admin-accent-2:#ff4b4b;
  --admin-radius:16px;
  --admin-shadow:0 18px 44px rgba(0,0,0,.35);
  --admin-max:1180px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(900px 520px at 10% -10%, rgba(211,47,47,.28), transparent 60%),
    radial-gradient(900px 520px at 90% 0%, rgba(82,126,255,.18), transparent 58%),
    var(--admin-bg);
  color:var(--admin-text);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.admin-wrap{min-height:100%;display:flex;flex-direction:column}
.admin-topbar{
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(10px);
  background:rgba(15,17,21,.74);
  border-bottom:1px solid var(--admin-border);
}
.admin-topbar__inner{
  width:min(var(--admin-max), calc(100% - 32px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0;
}
.admin-brand{
  display:flex;align-items:center;gap:12px;
  font-weight:850;letter-spacing:.5px
}
.admin-brand__dot{
  width:10px;height:10px;border-radius:999px;
  background:var(--admin-accent);
  box-shadow:0 0 0 7px rgba(211,47,47,.18);
}
.admin-nav{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;
}
.admin-nav a{
  padding:10px 12px;border-radius:999px;
  border:1px solid var(--admin-border);
  color:var(--admin-muted);
  transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.admin-nav a:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.22);
  color:var(--admin-text);
  transform:translateY(-1px);
}
.admin-nav a.is-active{
  border-color:rgba(211,47,47,.55);
  background:rgba(211,47,47,.12);
  color:#fff;
}

.admin-main{
  flex:1;
  width:min(var(--admin-max), calc(100% - 32px));
  margin:0 auto;
  padding:26px 0 46px;
}

.admin-card{
  background:rgba(21,24,33,.78);
  border:1px solid var(--admin-border);
  border-radius:var(--admin-radius);
  box-shadow:var(--admin-shadow);
  padding:18px;
}

.admin-title{
  margin:0 0 6px;
  font-size:clamp(18px,2.2vw,28px);
  line-height:1.15;
  font-weight:900;
}
.admin-subtitle{margin:0 0 16px;color:var(--admin-muted);line-height:1.55}

.admin-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
@media (max-width: 980px){.admin-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}
@media (max-width: 640px){.admin-grid{grid-template-columns:1fr}}

.admin-tile{
  border:1px solid var(--admin-border);
  background:rgba(17,19,26,.55);
  border-radius:16px;
  padding:14px;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
  display:flex;gap:12px;align-items:flex-start;
}
.admin-tile:hover{
  transform:translateY(-2px);
  border-color:rgba(211,47,47,.45);
  background:rgba(211,47,47,.08);
}
.admin-tile__icon{
  width:40px;height:40px;border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 40px;
}
.admin-tile__h{margin:0 0 4px;font-weight:850}
.admin-tile__p{margin:0;color:var(--admin-muted);line-height:1.45;font-size:13px}

.admin-row{display:flex;gap:12px;align-items:flex-start}
@media (max-width: 980px){.admin-row{flex-direction:column}}

.admin-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--admin-border);
  background:rgba(17,19,26,.55);
}
.admin-table th,.admin-table td{
  padding:12px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  vertical-align:top;
}
.admin-table th{
  text-align:left;
  font-size:12px;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:rgba(255,255,255,.70);
  background:rgba(255,255,255,.04);
}
.admin-table tr:last-child td{border-bottom:none}

.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.10);
}
.btn-primary{
  background:var(--admin-accent);
  border-color:rgba(255,255,255,.12);
}
.btn-primary:hover{background:var(--admin-accent-2)}
.btn-danger{
  background:rgba(255,75,75,.16);
  border-color:rgba(255,75,75,.28);
}
.btn-danger:hover{background:rgba(255,75,75,.22)}

.field{display:grid;gap:6px;margin-bottom:12px}
.field label{font-weight:750;color:rgba(255,255,255,.82)}
.field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.field select,.field textarea{
  width:100%;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(17,19,26,.55);
  color:rgba(255,255,255,.92);
  padding:10px 12px;
  outline:none;
}
.field input[type="checkbox"], .field input[type="radio"]{
  width:18px;
  height:18px;
  min-height:0;
  padding:0;
  margin:0;
  accent-color: var(--admin-accent);
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:rgba(211,47,47,.6);
  box-shadow:0 0 0 4px rgba(211,47,47,.16);
}
.file-field{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.file-field__input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
  opacity:0;
  pointer-events:none;
  left:-9999px;
}
.file-field__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:850;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.file-field__btn:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.10);
}
.file-field__name{
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.35;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.file-field__name.is-empty{
  color:rgba(255,255,255,.55);
}
.help{color:rgba(255,255,255,.62);font-size:12px;line-height:1.45}
.admin-switch-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 14px;
}
@media (max-width: 640px){.admin-switch-grid{grid-template-columns:1fr}}
.admin-switch{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(17,19,26,.45);
}
.admin-switch__label{
  display:grid;
  gap:2px;
  min-width:0;
}
.admin-switch__title{
  font-weight:900;
  color:rgba(255,255,255,.86);
}
.admin-switch__sub{
  color:rgba(255,255,255,.60);
  font-size:12px;
  line-height:1.35;
}




.notice{
  border:1px solid rgba(255,255,255,.14);
  border-left:4px solid rgba(211,47,47,.75);
  background:rgba(255,255,255,.05);
  padding:12px 12px;
  border-radius:14px;
  margin-bottom:12px;
}
.notice.is-danger{border-left-color:rgba(255,75,75,.85)}
.notice.is-success{border-left-color:rgba(34,197,94,.85)}

.admin-footer{
  width:min(var(--admin-max), calc(100% - 32px));
  margin:0 auto;
  padding:18px 0 28px;
  color:rgba(255,255,255,.55);
  font-size:13px;
  border-top:1px solid var(--admin-border);
}
