:root{
  --admin-bg:#081422;
  --admin-card:#0d1d2e;
  --admin-line:rgba(255,255,255,.1);
  --admin-text:#eef5ff;
  --admin-muted:#9cb0c7;
  --admin-accent:#59b8ff;
  --admin-danger:#ff6d7f;
  --admin-success:#39d98a;
}
body.adminBody{
  margin:0;
  min-height:100vh;
  background:radial-gradient(circle at top, rgba(89,184,255,.18), transparent 38%), linear-gradient(180deg,#07111d,#0b1624 60%,#07111d);
  color:var(--admin-text);
  font-family:"DM Sans",system-ui,sans-serif;
}
.adminShell{max-width:1180px;margin:0 auto;padding:28px 20px 42px;}
.adminShell--form{max-width:980px;}
.adminHeader,.adminPanel,.adminLoginCard{background:rgba(8,19,32,.85);border:1px solid var(--admin-line);box-shadow:0 18px 60px rgba(0,0,0,.24);backdrop-filter:blur(12px);border-radius:22px;}
.adminHeader{padding:24px 26px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px;}
.adminHeader h1,.adminLoginTop h1{margin:6px 0 8px;font-size:clamp(26px,3vw,34px);}
.adminHeader p,.adminLoginTop p,.adminPanelTop p{margin:0;color:var(--admin-muted)}
.adminEyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#7cc6ff;font-weight:700}
.adminHeaderActions,.adminRowActions,.adminFormActions{display:flex;gap:10px;flex-wrap:wrap}
.adminBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:1px solid var(--admin-line);padding:11px 16px;background:rgba(255,255,255,.04);color:var(--admin-text);text-decoration:none;font-weight:700;cursor:pointer}
.adminBtn:hover{transform:translateY(-1px);border-color:rgba(89,184,255,.45)}
.adminBtn--primary{background:linear-gradient(135deg,#159bff,#2f74ff);border-color:transparent}
.adminBtn--danger{background:rgba(255,109,127,.12);border-color:rgba(255,109,127,.25);color:#ffd5dc}
.adminBtn--full{width:100%}
.adminPanel{padding:22px 24px}
.adminPanelTop{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px}
.adminPanelTop h2{margin:0 0 6px}
.adminAlert{padding:14px 16px;border-radius:14px;margin-bottom:16px;font-weight:700}
.adminAlert--success{background:rgba(57,217,138,.12);border:1px solid rgba(57,217,138,.22);color:#cbffe4}
.adminAlert--error{background:rgba(255,109,127,.12);border:1px solid rgba(255,109,127,.22);color:#ffd8de}
.adminTableWrap{overflow:auto}
.adminTable{width:100%;border-collapse:collapse;min-width:760px}
.adminTable th,.adminTable td{padding:14px 12px;border-bottom:1px solid var(--admin-line);text-align:left;vertical-align:middle}
.adminTable th{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#8dacd0}
.adminTitleCell{display:flex;flex-direction:column;gap:6px}
.adminTitleCell small,.adminMuted{color:var(--admin-muted)}
.adminStatus{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.adminStatus.is-on{background:rgba(57,217,138,.12);color:#bdf8d7}
.adminStatus.is-off{background:rgba(255,255,255,.07);color:#c8d7ea}
.adminIconPreview{width:48px;min-width:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;min-height:48px}
.adminIconPreview .ico{margin:0}
.adminLoginWrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.adminLoginCard{width:min(100%,460px);padding:26px}
.adminHintBox{margin-top:18px;padding:14px 16px;border:1px dashed rgba(124,198,255,.35);border-radius:14px;color:var(--admin-muted)}
.adminFormStack,.adminFormGrid{display:grid;gap:16px}
.adminFormGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.adminField{display:grid;gap:8px}
.adminField--full{grid-column:1/-1}
.adminField--check{display:flex;align-items:center;gap:10px;padding-top:30px}
.adminField span{font-weight:700}
.adminField input[type="text"],.adminField input[type="number"],.adminField input[type="password"],.adminField select,.adminField textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.04);border:1px solid var(--admin-line);border-radius:14px;padding:13px 14px;color:var(--admin-text);font:inherit}
.adminField textarea{resize:vertical;min-height:120px}
.iconPicker{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.iconOption{position:relative;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:12px 12px;border:1px solid var(--admin-line);border-radius:16px;background:rgba(255,255,255,.03);cursor:pointer}
.iconOption input{position:absolute;opacity:0;pointer-events:none}
.iconOption.is-selected,.iconOption:has(input:checked){border-color:rgba(89,184,255,.5);background:rgba(89,184,255,.08)}
.iconOption__box{width:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:12px}
.iconOption__box .ico{margin:0}
.iconOption__label{font-size:14px;font-weight:700;color:#deebf8}
@media (max-width:820px){
  .adminHeader{flex-direction:column}
  .adminFormGrid{grid-template-columns:1fr}
  .adminField--check{padding-top:0}
}


.adminOrderCell{display:flex;align-items:center;gap:12px}
.adminOrderNumber{min-width:28px;font-weight:700;color:#deebf8}
.adminMoveStack{display:flex;flex-direction:column;gap:6px}
.adminMoveBtn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--admin-accent);text-decoration:none;font-weight:900;line-height:1}
.adminMoveBtn:hover{border-color:rgba(89,184,255,.45);background:rgba(89,184,255,.08)}
.adminMoveBtn.is-disabled{opacity:.35;color:#8aa0b8;cursor:default;pointer-events:none}


.iconGlyph .ico{margin:0}
.iconGlyph .ico:after{
  content:"";
  position:absolute;
  inset:6px;
  background: rgba(235,255,250,.95);
  -webkit-mask-image: var(--icon-mask);
          mask-image: var(--icon-mask);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  opacity:.98;
}
.iconPickerPanel{
  border:1px solid var(--admin-line);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.iconPickerToolbar{
  position:sticky;
  top:0;
  z-index:2;
  display:grid;
  gap:10px;
  padding:14px;
  border-bottom:1px solid var(--admin-line);
  background:rgba(8,19,32,.95);
  backdrop-filter:blur(10px);
}
.iconSearch{
  width:100%;box-sizing:border-box;background:rgba(255,255,255,.04);border:1px solid var(--admin-line);border-radius:14px;padding:13px 14px;color:var(--admin-text);font:inherit;
}
.iconPickerHint{color:var(--admin-muted);font-size:13px}
.iconPickerSections{max-height:780px;overflow:auto;padding:14px}
.iconGroup{display:grid;gap:12px}
.iconGroup + .iconGroup{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.iconGroup h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#8dacd0}
.iconPicker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.iconOption{min-height:70px;grid-template-columns:52px 1fr}
.iconOption__box{width:52px;min-height:52px}
.iconOption__box .ico{width:30px;height:30px;flex:0 0 30px}
.iconOption__label{line-height:1.25}
.adminIconPreview.iconGlyph{width:54px;min-width:54px;min-height:54px}
.adminIconPreview.iconGlyph .ico{width:30px;height:30px;flex:0 0 30px}
@media (max-width: 680px){
  .iconPicker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .iconPickerSections{max-height:none}
}


.adminPanelTop--stack{align-items:flex-start;flex-direction:column}
.adminOrderToolbar{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--admin-line);border-radius:16px;background:rgba(255,255,255,.03)}
.adminOrderNote{color:var(--admin-muted);font-size:14px}
.adminOrderActions{display:flex;gap:10px;flex-wrap:wrap}
.adminAlert--hidden{display:none}
.adminMoveBtn{cursor:pointer}
.adminMoveBtn[disabled]{cursor:default}
body.hasPendingOrderChanges .adminOrderToolbar{border-color:rgba(89,184,255,.4);box-shadow:0 0 0 1px rgba(89,184,255,.08) inset}
@media (max-width:820px){
  .adminOrderToolbar{align-items:stretch}
  .adminOrderActions{width:100%}
  .adminOrderActions .adminBtn{flex:1 1 220px}
}
