:root {
  --admin-navy: #172a46;
  --admin-navy-2: #223b61;
  --admin-blue: #2e70ff;
  --admin-bg: #f4f7fb;
  --admin-card: #ffffff;
  --admin-text: #172033;
  --admin-muted: #68738a;
  --admin-line: #dfe6f1;
  --admin-danger: #c83c4d;
  --admin-success: #138a68;
  --admin-warning: #b6710a;
  --admin-shadow: 0 14px 40px rgba(31, 51, 83, 0.09);
}

body.admin-route {
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  background: var(--admin-bg);
}

body.admin-route > .announcement,
body.admin-route > .site-header,
body.admin-route > main:not(#admin-root),
body.admin-route > .site-footer,
body.admin-route > .cookie-consent,
body.admin-route > .partner-cookie-consent,
body.admin-route > #affiliate-consent {
  display: none !important;
}

body.admin-route.drawer-open { overflow: hidden; }

#admin-root {
  min-height: 100vh;
  color: var(--admin-text);
  font-family: Inter, "Noto Sans Arabic", system-ui, sans-serif;
}

#admin-root *, #admin-root *::before, #admin-root *::after { box-sizing: border-box; }
#admin-root button, #admin-root input, #admin-root select, #admin-root textarea { font: inherit; }
#admin-root button { cursor: pointer; }

.admin-login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 12% 18%, rgba(236, 151, 169, .24), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(46, 112, 255, .2), transparent 30%),
    linear-gradient(145deg, #f9f4f6, #eef5ff);
}

.admin-login-card {
  width: min(100%, 440px);
  padding: 38px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 26px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 26px 80px rgba(30, 45, 73, .16);
}

.admin-login-brand, .admin-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-login-brand img, .admin-sidebar-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 13px;
  background: white;
}

.admin-login-brand strong, .admin-sidebar-brand strong { display: block; font-size: 1.06rem; }
.admin-login-brand small, .admin-sidebar-brand small { color: var(--admin-muted); }
.admin-login-card h1 { margin: 32px 0 8px; font-size: clamp(1.6rem, 4vw, 2.15rem); }
.admin-login-card > p { margin: 0 0 26px; color: var(--admin-muted); line-height: 1.7; }
.admin-login-card form { display: grid; gap: 16px; }
.admin-login-card label, .admin-form-grid label, .admin-select-grow { display: grid; gap: 7px; color: var(--admin-muted); font-size: .9rem; }

.admin-login-card input,
.admin-form-grid input,
.admin-form-grid select,
.admin-form-grid textarea,
.admin-toolbar-pro input,
.admin-toolbar-pro select,
.admin-payout-prepare input,
.admin-payout-prepare select,
.admin-select-grow select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--admin-line);
  border-radius: 11px;
  padding: 9px 12px;
  color: var(--admin-text);
  background: white;
  outline: none;
}

.admin-login-card input:focus,
.admin-form-grid input:focus,
.admin-form-grid select:focus,
.admin-form-grid textarea:focus,
.admin-toolbar-pro input:focus,
.admin-toolbar-pro select:focus { border-color: var(--admin-blue); box-shadow: 0 0 0 3px rgba(46,112,255,.12); }

.admin-form-message { padding: 11px 13px; border-radius: 10px; font-size: .9rem; }
.admin-form-message.error { color: #97293a; background: #fff0f2; }

.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 278px minmax(0, 1fr); }
.admin-shell.sidebar-collapsed { grid-template-columns: 88px minmax(0, 1fr); }

.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 22px 16px;
  background: var(--admin-navy);
  color: white;
  z-index: 45;
  overflow-y: auto;
}

.admin-sidebar-brand { padding: 2px 6px 22px; }
.admin-sidebar-brand small { color: #aebcd2; }
.admin-sidebar nav { display: grid; gap: 5px; }
.admin-sidebar nav button {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: 23px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
  border: 0;
  border-radius: 11px;
  color: #cdd8e8;
  background: transparent;
  text-align: start;
  transition: .18s ease;
}

.admin-sidebar nav button:hover { color: white; background: rgba(255,255,255,.08); }
.admin-sidebar nav button.active { color: white; background: linear-gradient(120deg, var(--admin-blue), #4f83f6); box-shadow: 0 8px 22px rgba(15,72,193,.38); }
.admin-sidebar nav svg { width: 19px; height: 19px; }
.admin-sidebar nav i { min-width: 22px; padding: 2px 6px; border-radius: 999px; color: white; background: #d34a61; font-size: .72rem; font-style: normal; text-align: center; }
.admin-sidebar-footer { margin-top: auto; padding-top: 20px; }
.admin-sidebar-footer a { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 10px; color: #cdd8e8; text-decoration: none; }
.admin-sidebar-footer a:hover { color: white; background: rgba(255,255,255,.08); }
.admin-sidebar-footer svg { width: 18px; }

.admin-shell.sidebar-collapsed .admin-sidebar-brand > div,
.admin-shell.sidebar-collapsed .admin-sidebar nav button > span:not([data-lucide]),
.admin-shell.sidebar-collapsed .admin-sidebar nav button > i,
.admin-shell.sidebar-collapsed .admin-sidebar-footer span { display: none; }
.admin-shell.sidebar-collapsed .admin-sidebar nav button { grid-template-columns: 1fr; justify-items: center; }

.admin-main { min-width: 0; }
.admin-topbar {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px clamp(18px, 3vw, 38px);
  border-bottom: 1px solid var(--admin-line);
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(15px);
  position: sticky;
  top: 0;
  z-index: 35;
}

.admin-topbar-titles { min-width: 0; margin-inline-end: auto; }
.admin-topbar-titles h1 { margin: 0; font-size: clamp(1.15rem, 2.3vw, 1.65rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-topbar-titles small { display: block; margin-top: 3px; color: var(--admin-muted); }
.admin-topbar-actions { display: flex; align-items: center; gap: 8px; }
.admin-topbar select { min-height: 40px; border: 1px solid var(--admin-line); border-radius: 10px; padding: 7px 10px; background: white; }
.admin-menu-btn, .admin-collapse-btn, .admin-icon-btn {
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  flex: none;
  border: 1px solid var(--admin-line);
  border-radius: 10px;
  color: var(--admin-text);
  background: white;
}
.admin-menu-btn { display: none; }
.admin-content { padding: clamp(18px, 3vw, 38px); }

.admin-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 8px 14px;
  font-weight: 700;
  transition: .18s ease;
}
.admin-btn svg { width: 18px; height: 18px; }
.admin-btn.primary { color: white; background: var(--admin-blue); }
.admin-btn.primary:hover { background: #1f5fe0; }
.admin-btn.secondary { color: var(--admin-text); border-color: var(--admin-line); background: white; }
.admin-btn.secondary:hover { border-color: #b9c7dc; background: #f8faff; }
.admin-btn.danger { color: #a92f40; border-color: #efc8cf; background: #fff4f5; }
.admin-btn.compact { min-height: 34px; padding: 5px 9px; font-size: .79rem; }
.admin-btn:disabled { opacity: .55; cursor: wait; }
.admin-btn.full { width: 100%; }

.admin-overview { display: grid; gap: 24px; }
.admin-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.admin-metric-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: auto auto;
  gap: 2px 12px;
  padding: 19px;
  border: 1px solid var(--admin-line);
  border-radius: 16px;
  color: var(--admin-text);
  background: white;
  box-shadow: 0 7px 22px rgba(31,51,83,.05);
  text-align: start;
}
.admin-metric-card > svg { grid-row: 1 / 3; width: 42px; height: 42px; padding: 10px; border-radius: 12px; color: var(--admin-blue); background: #edf3ff; }
.admin-metric-card small { color: var(--admin-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-metric-card strong { font-size: 1.42rem; }
.admin-metric-card.tone-green > svg { color: #0e8b65; background: #e9f9f3; }
.admin-metric-card.tone-pink > svg { color: #c34a70; background: #fff0f5; }
.admin-metric-card.tone-orange > svg { color: #ad6b08; background: #fff5df; }
.admin-metric-card.tone-gray > svg { color: #68738a; background: #eef1f5; }
.admin-metric-card.tone-red > svg { color: #bd3448; background: #fdebef; }
.admin-metric-card.tone-gold > svg { color: #a56b0a; background: #fff3d9; }
.admin-metric-card.tone-purple > svg { color: #714db4; background: #f0eafd; }

.admin-overview-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; }
.admin-panel-card {
  min-width: 0;
  border: 1px solid var(--admin-line);
  border-radius: 16px;
  background: var(--admin-card);
  box-shadow: 0 8px 25px rgba(31,51,83,.05);
}
.admin-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--admin-line); }
.admin-card-heading h2 { margin: 0; font-size: 1.02rem; }
.admin-card-heading button { border: 0; color: var(--admin-blue); background: transparent; font-weight: 700; }

.admin-recent-list { display: grid; }
.admin-recent-list > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 14px 20px;
  border: 0;
  border-bottom: 1px solid #edf0f5;
  color: inherit;
  background: white;
  text-align: start;
}
.admin-recent-list > button:last-child { border-bottom: 0; border-radius: 0 0 16px 16px; }
.admin-recent-list > button:hover { background: #f8faff; }
.admin-recent-list span { min-width: 0; }
.admin-recent-list b, .admin-recent-list small { display: block; }
.admin-recent-list b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-recent-list small { margin-top: 4px; color: var(--admin-muted); font-size: .77rem; }
.admin-alert-list { padding: 10px; }
.admin-alert-list button {
  width: 100%; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 10px;
  padding: 12px; border: 0; border-radius: 10px; color: var(--admin-text); background: transparent; text-align: start;
}
.admin-alert-list button:hover { background: #f6f8fc; }
.admin-alert-list button svg { color: var(--admin-warning); }
.admin-alert-list button b { min-width: 28px; padding: 3px 7px; border-radius: 999px; background: #fff2d8; text-align: center; }
.admin-all-clear { padding: 24px; display: flex; justify-content: center; gap: 8px; color: var(--admin-success); }

.admin-toolbar-pro {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}
.admin-toolbar-pro.end { justify-content: flex-end; }
.admin-category-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #dce6f6;
  border-radius: 11px;
  color: #405574;
  background: #f5f8fd;
}
.admin-category-note svg { width: 18px; min-width: 18px; margin-top: 1px; color: var(--admin-primary); }
.admin-category-note p { margin: 0; line-height: 1.6; }
.admin-toolbar-pro > select { min-width: 170px; width: auto; }
.admin-search { position: relative; min-width: min(100%, 250px); flex: 1; }
.admin-search svg { position: absolute; inset-inline-start: 13px; top: 13px; width: 18px; height: 18px; color: var(--admin-muted); }
.admin-search input { padding-inline-start: 40px; }
.admin-select-grow { min-width: 280px; flex: 1; }

.admin-table-card { overflow: hidden; }
.admin-table-scroll { width: 100%; overflow-x: auto; }
.admin-data-table { width: 100%; min-width: 860px; border-collapse: collapse; }
.admin-data-table th { padding: 13px 15px; color: var(--admin-muted); background: #f7f9fc; font-size: .78rem; text-transform: uppercase; letter-spacing: .025em; text-align: start; white-space: nowrap; }
.admin-data-table td { padding: 14px 15px; border-top: 1px solid #edf0f5; vertical-align: middle; }
.admin-data-table td > small, .admin-data-table td small { display: block; margin-top: 3px; color: var(--admin-muted); }
.admin-data-table code { padding: 4px 7px; border-radius: 7px; background: #f0f4fa; }
.admin-row-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.admin-icon-btn { width: 35px; height: 35px; }
.admin-icon-btn:disabled { opacity: .38; cursor: not-allowed; }
.admin-icon-btn svg { width: 16px; }
.admin-icon-btn.danger { color: var(--admin-danger); border-color: #f1ccd2; background: #fff7f8; }
.admin-product-cell { display: flex; align-items: center; gap: 10px; min-width: 185px; }
.admin-product-cell img { width: 46px; height: 46px; border-radius: 9px; object-fit: cover; background: #f1f3f7; }
.admin-product-cell b { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.admin-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 3px 9px;
  border-radius: 999px;
  color: #48556b;
  background: #edf1f6;
  font-size: .75rem;
  font-weight: 800;
  white-space: nowrap;
}
.admin-status-new, .admin-status-pending, .admin-status-prepared, .admin-status-pending_quote, .admin-status-pending_payment { color: #946008; background: #fff1ce; }
.admin-status-active, .admin-status-approved, .admin-status-delivered, .admin-status-completed, .admin-status-paid, .admin-status-reviewed { color: #087653; background: #dff7ee; }
.admin-status-suspended, .admin-status-cancelled, .admin-status-failed, .admin-status-refunded, .admin-status-rejected, .admin-status-excluded, .admin-status-closed { color: #a22f40; background: #fde8ec; }
.admin-status-preparing, .admin-status-production, .admin-status-shipped, .admin-status-ready, .admin-status-design_review, .admin-status-awaiting_approval { color: #285ea9; background: #e6efff; }

.admin-order-skeleton { display: grid; gap: 12px; padding: 22px; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; }
.admin-order-skeleton span { height: 54px; border-radius: 10px; background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%); background-size: 200% 100%; animation: admin-skeleton 1.2s infinite linear; }
@keyframes admin-skeleton { to { background-position: -200% 0; } }
.admin-status-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.admin-status-timeline li { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; padding: 14px; border: 1px solid #e2e8f0; border-radius: 12px; }
.admin-status-timeline li div { display: grid; gap: 4px; }
.admin-status-timeline li small { color: #64748b; }
.admin-status-timeline li p { margin: 4px 0 0; }
.admin-status-timeline li p.internal { padding: 8px 10px; border-radius: 8px; background: #fff7ed; color: #9a3412; }

.admin-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 16px; }
.admin-pagination span { color: var(--admin-muted); font-size: .86rem; }

.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.admin-form-grid .full { grid-column: 1 / -1; }
.admin-form-grid textarea { min-height: 105px; resize: vertical; }
.admin-switch { display: flex !important; align-items: center; flex-direction: row; gap: 10px !important; }
.admin-switch input { width: 19px; min-height: 19px; }
.admin-settings-card { max-width: 900px; padding-bottom: 20px; }
.admin-settings-card form { padding: 20px; }
.admin-settings-card form > .admin-btn { margin-top: 20px; }

.admin-mockup-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.admin-mockup-card { padding: 16px; }
.admin-mockup-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; background: #f1f3f7; }
.admin-mockup-card h3 { margin: 13px 0 5px; font-size: 1rem; }
.admin-mockup-card p { min-height: 22px; margin: 0 0 14px; color: var(--admin-muted); font-size: .84rem; }
.admin-mockup-card > div { display: grid; gap: 10px; margin-top: 12px; }
.admin-mockup-card > div > .admin-status { justify-self: start; }

.admin-inquiry-card { padding: 18px; }
.admin-inquiry-card header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.admin-inquiry-card header small { display: block; margin-top: 4px; color: var(--admin-muted); }
.admin-inquiry-card > p { min-height: 42px; margin: 15px 0 7px; line-height: 1.55; }
.admin-inquiry-card > small { display: block; margin-bottom: 15px; color: var(--admin-muted); }

.admin-tabs { display: flex; gap: 6px; margin-bottom: 16px; padding: 5px; border: 1px solid var(--admin-line); border-radius: 12px; background: white; overflow-x: auto; }
.admin-tabs button { min-height: 38px; padding: 7px 12px; border: 0; border-radius: 8px; color: var(--admin-muted); background: transparent; white-space: nowrap; }
.admin-tabs button.active { color: white; background: var(--admin-navy-2); }
.admin-tabs-pro { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; padding: 5px; border: 1px solid var(--admin-line); border-radius: 12px; background: white; overflow-x: auto; }
.admin-tabs-pro > button:not(.admin-btn) { min-height: 38px; padding: 7px 12px; border: 0; border-radius: 8px; color: var(--admin-muted); background: transparent; white-space: nowrap; }
.admin-tabs-pro > button:not(.admin-btn).active { color: white; background: var(--admin-navy-2); }
.admin-tabs-pro i { min-width: 22px; display: inline-block; margin-inline-start: 6px; padding: 2px 6px; border-radius: 999px; color: white; background: #d34a61; font-size: .72rem; font-style: normal; }
.admin-tabs-pro .push-end { margin-inline-start: auto; }

.admin-partner-grid, .admin-card-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.admin-partner-card, .admin-payout-card { padding: 18px; }
.admin-partner-card header, .admin-payout-card header, .admin-payout-prepare header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.admin-partner-card header small, .admin-payout-card small, .admin-payout-prepare small { display: block; margin-top: 4px; color: var(--admin-muted); }
.admin-partner-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0; }
.admin-partner-card dt { color: var(--admin-muted); font-size: .75rem; }
.admin-partner-card dd { margin: 3px 0 0; font-weight: 700; }
.admin-partner-card footer, .admin-payout-card footer { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

.admin-section-stack { display: grid; gap: 28px; }
.admin-payout-prepare { padding: 18px; margin-bottom: 12px; }
.admin-payout-prepare > div { display: grid; gap: 6px; padding: 15px 0; }
.admin-payout-prepare label { display: flex; align-items: center; gap: 9px; }
.admin-payout-prepare footer { display: grid; grid-template-columns: 180px minmax(160px,1fr) auto; gap: 8px; }
.admin-payout-card > div { display: flex; justify-content: space-between; gap: 12px; margin: 18px 0; }
.admin-payout-card > div span { color: var(--admin-muted); }
.admin-payout-paid-date { display: block; margin-top: 10px; color: var(--admin-success); }

.admin-diagnostics-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 20px; }
.admin-diagnostics-grid article { min-width: 0; padding: 16px; border: 1px solid var(--admin-line); border-radius: 12px; background: #fafcff; }
.admin-diagnostics-grid svg { width: 21px; color: var(--admin-blue); }
.admin-diagnostics-grid small, .admin-diagnostics-grid b { display: block; margin-top: 8px; }
.admin-diagnostics-grid small { color: var(--admin-muted); }
.admin-diagnostics-grid b { overflow-wrap: anywhere; }
.admin-safe-note { display: flex; gap: 9px; margin: 0 20px; padding: 13px; border-radius: 11px; color: #14684f; background: #eaf8f3; }

.admin-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(13,25,44,.62);
  backdrop-filter: blur(4px);
}
.admin-dialog {
  width: min(100%, 760px);
  max-height: min(88vh, 900px);
  overflow: auto;
  border-radius: 18px;
  background: white;
  box-shadow: 0 25px 90px rgba(4,12,25,.34);
}
.admin-dialog.wide { width: min(100%, 950px); }
.admin-dialog > header { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: 15px; padding: 18px 20px; border-bottom: 1px solid var(--admin-line); background: white; }
.admin-dialog > header h2 { margin: 0; font-size: 1.15rem; }
.admin-dialog > header p { margin: 5px 0 0; color: var(--admin-muted); }
.admin-dialog > .admin-dialog-body { padding: 20px; }
.admin-dialog > footer { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--admin-line); background: white; }
.admin-dialog-close { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 9px; background: #f0f3f7; }
.admin-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.admin-detail-grid article { padding: 13px; border: 1px solid var(--admin-line); border-radius: 10px; }
.admin-detail-grid article.full { grid-column: 1/-1; }
.admin-detail-grid small, .admin-detail-grid b, .admin-detail-grid span { display: block; }
.admin-detail-grid small { margin-bottom: 5px; color: var(--admin-muted); }
.admin-items-list { display: grid; gap: 9px; margin-top: 16px; }
.admin-items-list article { display: flex; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid var(--admin-line); border-radius: 10px; }

.admin-loading, .admin-empty, .admin-error {
  min-height: 250px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 25px;
  color: var(--admin-muted);
  text-align: center;
}
.admin-empty { min-height: 130px; }
.admin-empty svg, .admin-error svg { width: 38px; height: 38px; color: #9aa7bb; }
.admin-spinner { width: 35px; height: 35px; border: 3px solid #dbe3ef; border-top-color: var(--admin-blue); border-radius: 50%; animation: admin-spin .8s linear infinite; }
@keyframes admin-spin { to { transform: rotate(360deg); } }

.admin-toast {
  position: fixed;
  inset-inline-end: 22px;
  bottom: 22px;
  z-index: 200;
  max-width: min(390px, calc(100vw - 30px));
  padding: 13px 17px;
  border-radius: 11px;
  color: white;
  background: var(--admin-navy);
  box-shadow: var(--admin-shadow);
  animation: admin-toast-in .2s ease;
}
.admin-toast.error { background: #a42d3e; }
@keyframes admin-toast-in { from { transform: translateY(12px); opacity: 0; } }

.admin-mobile-overlay { display: none; }
[dir="rtl"] .admin-data-table th, [dir="rtl"] .admin-data-table td { text-align: right; }
[dir="rtl"] .admin-search input { padding-right: 40px; padding-left: 12px; }

@media (max-width: 1220px) {
  .admin-metrics-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .admin-mockup-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 980px) {
  .admin-shell, .admin-shell.sidebar-collapsed { display: block; }
  .admin-sidebar {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    width: min(84vw, 290px);
    transform: translateX(-105%);
    transition: transform .22s ease;
  }
  [dir="rtl"] .admin-sidebar { transform: translateX(105%); }
  .admin-shell.mobile-nav-open .admin-sidebar { transform: translateX(0); }
  .admin-shell.sidebar-collapsed .admin-sidebar-brand > div,
  .admin-shell.sidebar-collapsed .admin-sidebar nav button > span:not([data-lucide]),
  .admin-shell.sidebar-collapsed .admin-sidebar nav button > i,
  .admin-shell.sidebar-collapsed .admin-sidebar-footer span { display: initial; }
  .admin-shell.sidebar-collapsed .admin-sidebar nav button { grid-template-columns: 23px minmax(0,1fr) auto; justify-items: initial; }
  .admin-mobile-overlay { position: fixed; inset: 0; z-index: 40; background: rgba(13,25,44,.45); }
  .admin-shell.mobile-nav-open .admin-mobile-overlay { display: block; }
  .admin-menu-btn { display: inline-grid; }
  .admin-collapse-btn { display: none; }
  .admin-overview-grid { grid-template-columns: 1fr; }
  .admin-partner-grid, .admin-card-list { grid-template-columns: 1fr; }
  .admin-diagnostics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .admin-login-page { padding: 14px; }
  .admin-login-card { padding: 25px 20px; border-radius: 20px; }
  .admin-topbar { min-height: 66px; padding: 10px 12px; }
  .admin-topbar-titles small { display: none; }
  .admin-topbar-actions .admin-btn span { display: none; }
  .admin-topbar-actions .admin-btn { width: 40px; padding: 0; }
  .admin-topbar select { width: 70px; }
  .admin-content { padding: 14px 11px 25px; }
  .admin-metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .admin-metric-card { grid-template-columns: 34px 1fr; padding: 13px 11px; gap: 2px 8px; }
  .admin-metric-card > svg { width: 34px; height: 34px; padding: 8px; }
  .admin-metric-card strong { font-size: 1.15rem; }
  .admin-toolbar-pro { align-items: stretch; }
  .admin-toolbar-pro > *, .admin-toolbar-pro > select, .admin-select-grow { width: 100%; min-width: 0; }
  .admin-toolbar-pro .admin-btn { flex: 1; }
  .admin-mockup-grid { grid-template-columns: 1fr; }
  .admin-form-grid, .admin-detail-grid { grid-template-columns: 1fr; }
  .admin-form-grid .full, .admin-detail-grid article.full { grid-column: auto; }
  .admin-diagnostics-grid { grid-template-columns: 1fr; }
  .admin-payout-prepare footer { grid-template-columns: 1fr; }
  .admin-dialog-backdrop { padding: 0; align-items: end; }
  .admin-dialog, .admin-dialog.wide { width: 100%; max-height: 93vh; border-radius: 18px 18px 0 0; }
  .admin-dialog > footer { flex-wrap: wrap; }
  .admin-dialog > footer .admin-btn { flex: 1; }
}

@media (max-width: 420px) {
  .admin-metrics-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .admin-sidebar, .admin-toast, .admin-spinner { animation: none; transition: none; }
}

/* Compatibility layer for the dedicated admin markup. */
.admin-brand-mark {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  flex: none;
  border-radius: 13px;
  color: var(--admin-navy);
  background: white;
  font-size: 1.35rem;
  font-weight: 900;
}
.admin-login-brand > div > span { display: block; margin-top: 3px; color: var(--admin-muted); font-size: .82rem; }
.admin-login-icon { width: 58px; height: 58px; display: grid; place-items: center; margin-top: 28px; border-radius: 16px; color: var(--admin-blue); background: #edf3ff; }
.admin-login-icon svg { width: 30px; height: 30px; }
.admin-password-field { position: relative; }
.admin-password-field input { padding-inline-end: 48px; }
.admin-password-field button { position: absolute; inset-inline-end: 4px; top: 4px; width: 38px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 8px; color: var(--admin-muted); background: transparent; }
.admin-login-languages { display: flex; justify-content: center; gap: 5px; margin-top: 20px; }
.admin-login-languages button, .admin-language-switch button { min-width: 39px; height: 34px; border: 1px solid var(--admin-line); border-radius: 8px; color: var(--admin-muted); background: white; font-size: .76rem; font-weight: 800; }
.admin-login-languages button.active, .admin-language-switch button.active { color: white; border-color: var(--admin-navy); background: var(--admin-navy); }
.admin-back-store { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 18px; color: var(--admin-muted); font-size: .84rem; text-decoration: none; }
.admin-back-store svg { width: 16px; }

.admin-shell-main { min-width: 0; }
.admin-topbar-start { min-width: 0; margin-inline-end: auto; display: flex; align-items: center; gap: 10px; }
.admin-topbar-start h1 { margin: 0; font-size: clamp(1.15rem, 2.3vw, 1.65rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.admin-topbar-start small { display: block; margin-bottom: 3px; color: var(--admin-muted); }
.admin-language-switch { display: flex; gap: 4px; }
.admin-mobile-menu { display: none; }
.admin-content-area { padding: clamp(18px, 3vw, 38px); }

.admin-three-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.admin-quick-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 16px; }
.admin-quick-actions button, .admin-quick-actions a { min-height: 54px; display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--admin-line); border-radius: 11px; color: var(--admin-text); background: #fafcff; text-align: start; text-decoration: none; font-weight: 700; }
.admin-quick-actions button:hover, .admin-quick-actions a:hover { color: var(--admin-blue); border-color: #b8cafa; background: #f3f7ff; }
.admin-quick-actions svg { width: 19px; }
.admin-form-grid.one { grid-template-columns: 1fr; }

.admin-detail-dialog { width: min(940px, calc(100vw - 32px)); max-width: none; max-height: min(92vh, 960px); padding: 0; border: 0; border-radius: 18px; overflow: hidden; background: transparent; box-shadow: 0 25px 90px rgba(4,12,25,.34); }
.admin-detail-dialog::backdrop { background: rgba(13,25,44,.62); backdrop-filter: blur(4px); }
.admin-dialog-frame { max-height: min(92vh, 960px); display: flex; flex-direction: column; background: white; }
.admin-dialog-frame.small { max-width: 580px; margin: auto; }
.admin-dialog-frame > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 18px 20px; border-bottom: 1px solid var(--admin-line); }
.admin-dialog-frame > header h2 { margin: 3px 0 0; font-size: 1.18rem; }
.admin-dialog-frame > header small { color: var(--admin-muted); }
.admin-dialog-frame > .admin-dialog-body { flex: 1; overflow: auto; padding: 20px; }
.admin-dialog-frame > footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--admin-line); }
.admin-detail-grid > section { padding: 15px; border: 1px solid var(--admin-line); border-radius: 11px; }
.admin-detail-grid > section h3, .admin-form-section h3, .admin-order-items h3, .admin-message-box h3 { margin: 0 0 10px; font-size: .93rem; }
.admin-detail-grid > section p { margin: 0; color: var(--admin-muted); line-height: 1.65; }
.admin-price-list { display: grid; gap: 7px; }
.admin-price-list div { display: flex; justify-content: space-between; gap: 10px; }
.admin-order-items, .admin-form-section, .admin-message-box { margin-top: 18px; padding: 16px; border: 1px solid var(--admin-line); border-radius: 12px; }
.admin-order-items article { display: block; padding: 11px 0; border-bottom: 1px solid #edf0f5; }
.admin-order-items article:last-child { border-bottom: 0; }
.admin-order-item-summary { display: grid; grid-template-columns: 64px 1fr; gap: 12px; }
.admin-order-items img { width: 64px; height: 64px; border-radius: 9px; object-fit: cover; background: #f1f3f7; }
.admin-order-items small { display: block; margin-top: 3px; color: var(--admin-muted); }
.admin-order-items p, .admin-message-box p { white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-design-files { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 15px; margin-top: 14px; padding: 14px; border: 1px solid #dbe4f2; border-radius: 12px; background: #f8faff; }
.admin-design-preview { display: grid; place-items: center; min-height: 130px; padding: 8px; border-radius: 10px; background: white; }
.admin-design-preview img { width: 100%; height: auto; max-height: 180px; border-radius: 7px; object-fit: contain; }
.admin-design-file-copy { min-width: 0; }
.admin-design-file-copy h4 { margin: 0 0 6px; font-size: .91rem; }
.admin-file-name { display: block; overflow-wrap: anywhere; }
.admin-design-file-copy dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 14px; margin: 12px 0; }
.admin-design-file-copy dl div { min-width: 0; }
.admin-design-file-copy dt { color: var(--admin-muted); font-size: .72rem; }
.admin-design-file-copy dd { margin: 2px 0 0; overflow-wrap: anywhere; font-size: .82rem; font-weight: 700; }
.admin-file-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.admin-file-actions a { text-decoration: none; }
.admin-resolution-warning, .admin-legacy-notice { display: flex; align-items: flex-start; gap: 7px; margin: 10px 0; padding: 9px 10px; border-radius: 9px; font-size: .78rem; line-height: 1.5; }
.admin-resolution-warning { color: #8a5300; background: #fff5df; }
.admin-self-referral-warning { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; padding: 11px 12px; border-radius: 9px; color: #8a5300; background: #fff5df; }
.admin-self-referral-warning svg { width: 17px; height: 17px; flex: none; margin-top: 2px; }
.admin-reopen-controls { display: grid; gap: 12px; }
.admin-reopen-controls > label:first-child { display: grid; gap: 7px; font-size: .85rem; font-weight: 700; }
.admin-reopen-controls textarea { width: 100%; resize: vertical; border: 1px solid var(--admin-line); border-radius: 9px; padding: 10px 11px; font: inherit; font-weight: 400; }
.admin-confirm-check { display: flex; align-items: flex-start; gap: 9px; font-size: .84rem; line-height: 1.5; cursor: pointer; }
.admin-confirm-check input { margin-top: 3px; accent-color: var(--admin-primary); }
.admin-legacy-notice { color: #42516a; background: #edf3ff; }
.admin-resolution-warning svg, .admin-legacy-notice svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.admin-quality { display: inline-flex; padding: 3px 7px; border-radius: 999px; font-size: .72rem; }
.admin-quality-good { color: #09694f; background: #dff7ed; }
.admin-quality-medium { color: #8a5300; background: #fff1ce; }
.admin-quality-low { color: #a13040; background: #ffe8ec; }
.admin-attachment { display: block; max-width: 100%; max-height: 440px; margin-top: 10px; border-radius: 12px; object-fit: contain; }
.admin-copy-field { display: flex; gap: 8px; }
.admin-copy-field input { min-width: 0; flex: 1; border: 1px solid var(--admin-line); border-radius: 10px; padding: 10px; }
.admin-sidebar-overlay { display: none; }

@media (max-width: 980px) {
  .admin-three-columns { grid-template-columns: 1fr; }
  .admin-mobile-menu { display: inline-grid; }
  .admin-collapse { display: none; }
  .admin-sidebar-overlay { position: fixed; inset: 0; z-index: 40; border: 0; background: rgba(13,25,44,.45); }
  .admin-shell.sidebar-open .admin-sidebar-overlay { display: block; }
  .admin-shell.sidebar-open .admin-sidebar { transform: translateX(0); }
}

@media (max-width: 700px) {
  .admin-topbar-start small { display: none; }
  .admin-content-area { padding: 14px 11px 25px; }
  .admin-detail-dialog { width: 100%; max-height: 94vh; margin: auto 0 0; border-radius: 18px 18px 0 0; }
  .admin-dialog-frame { max-height: 94vh; }
  .admin-copy-field { flex-direction: column; }
  .admin-design-files { grid-template-columns: 1fr; }
  .admin-design-preview { min-height: 0; }
  .admin-design-preview img { max-height: 230px; }
  .admin-design-file-copy dl { grid-template-columns: 1fr; }
  .admin-file-actions .admin-btn { width: 100%; }
}
