/* Original app/control/admin.css; scoped, not redesigned. */
@scope (.platform-ui) {
.opsApp{
  font-family:var(--font-ui);
  font-weight:var(--fw-body);
  --admin-bg:#f5f6fa;
  --admin-side:#fcfcfe;
  --admin-surface:#fff;
  --admin-surface-muted:#f6f8fb;
  --admin-border:#e4e7ef;
  --admin-text:#192236;
  --admin-text-muted:#67748b;
  --admin-primary:#315bd4;
  --admin-primary-hover:var(--accent-primary);
  --admin-primary-soft:color-mix(in srgb,var(--accent-primary) 10%,transparent);
  --admin-success:#157a3a;
  --admin-success-bg:#e8f7ee;
  --admin-warning:#8a6a12;
  --admin-warning-bg:#fff4d6;
  --admin-danger:#9b2c3c;
  --admin-danger-bg:#fde8ec;
  --admin-info:var(--accent-primary);
  --admin-info-bg:#e7eefc;
  --admin-link:var(--accent-primary);
  --admin-field:#fff;
  --admin-field-line:#d7deea;
  --admin-nav:#334155;
  --admin-nav-hover:#eef3f9;
  --admin-top:#fff;
  --admin-table-head:#f4f7fb;
  --admin-overlay:rgba(10,22,40,.38);
  --admin-shadow-modal:0 16px 40px rgba(10,22,40,.16);
  --admin-radius-card:12px;
  --admin-radius-modal:14px;
  --admin-radius-control:10px;
  --admin-radius-badge:999px;
  --admin-pad-x:32px;
  --admin-gap:22px;
  --admin-card-pad:24px;
  --admin-control-h:42px;
  --admin-btn-h:40px;
  --admin-btn-compact-h:34px;
  --admin-tab-h:36px;
  --admin-badge-h:22px;
  --admin-pager-h:32px;
  --admin-row-h:56px;
  --admin-nav-h:40px;
  --admin-topbar-h:68px;
  --admin-sidebar-w:248px;
  --admin-fs-page:25px;
  --admin-fs-desc:13px;
  --admin-fs-section:15px;
  --admin-fs-sub:12px;
  --admin-fs-body:13px;
  --admin-fs-table:13px;
  --admin-fs-th:12px;
  --admin-fs-label:12px;
  --admin-fs-help:12px;
  --admin-fs-btn:12px;
  --admin-fs-badge:11px;
  --admin-fs-meta:12px;
  --admin-fs-metric:28px;
  --admin-lh-title:1.3;
  --admin-lh-body:1.5;
  --ops-bg:var(--admin-bg);
  --ops-side:var(--admin-side);
  --ops-line:var(--admin-border);
  --ops-text:var(--admin-text);
  --ops-muted:var(--admin-text-muted);
  --ops-card:var(--admin-surface);
  --ops-card-line:var(--admin-border);
  --ops-field:var(--admin-field);
  --ops-field-line:var(--admin-field-line);
  --ops-nav:var(--admin-nav);
  --ops-nav-hover:var(--admin-nav-hover);
  --ops-link:var(--admin-link);
  --ops-top:var(--admin-top);
  --ops-table-head:var(--admin-table-head);
  min-height:100vh;
  display:grid;
  grid-template-columns:var(--admin-sidebar-w) minmax(0,1fr);
  background:var(--admin-bg);
  color:var(--admin-text);
  font-family:var(--font-ui);
  font-size:var(--admin-fs-body);
  line-height:var(--admin-lh-body);
}
.opsApp button,.opsApp input,.opsApp select,.opsApp textarea,.opsApp optgroup,.opsApp option{font:inherit;font-family:var(--font-ui)}
:scope[data-theme=dark] .opsApp,
.opsApp[data-theme=dark]{
  color-scheme:dark;
  --admin-bg:var(--bg);
  --admin-side:var(--header-bg);
  --admin-surface:var(--surface);
  --admin-surface-muted:var(--soft);
  --admin-border:var(--line);
  --admin-text:var(--text);
  --admin-text-muted:var(--muted);
  --admin-primary:var(--accent);
  --admin-primary-hover:var(--accent2);
  --admin-primary-soft:var(--accent-primary-soft);
  --admin-success:var(--accent-green);
  --admin-success-bg:color-mix(in srgb,var(--accent-green) 16%,var(--surface));
  --admin-warning:var(--accent-gold);
  --admin-warning-bg:color-mix(in srgb,var(--accent-gold) 16%,var(--surface));
  --admin-danger:var(--accent-coral);
  --admin-danger-bg:color-mix(in srgb,var(--accent-coral) 16%,var(--surface));
  --admin-info:var(--accent-primary);
  --admin-info-bg:var(--accent-primary-soft);
  --admin-link:var(--accent-primary);
  --admin-field:var(--soft);
  --admin-field-line:var(--ctrl-border);
  --admin-nav:var(--text-secondary);
  --admin-nav-hover:var(--ctrl-bg-hover);
  --admin-top:var(--header-bg);
  --admin-table-head:var(--soft);
  --admin-overlay:rgba(8,14,24,.55);
  --admin-shadow-modal:var(--shadow);
}
.opsApp *,.opsApp *::before,.opsApp *::after{box-sizing:border-box}

.opsSide{
  background:var(--admin-side);
  border-right:1px solid var(--admin-border);
  padding:12px 10px 20px;
  position:sticky;top:0;height:100vh;overflow:auto;
}
.opsBrand{display:flex;align-items:center;gap:8px;padding:6px 10px 14px;font-weight:800;letter-spacing:-.6px;font-size:14px;line-height:1.25}
.opsBrand span{color:var(--admin-primary)}
.opsBrand .brandWordmark{color:inherit}
.opsBrand .brandLogo{height:14px;max-width:100%}
.opsBrand small{display:block;color:var(--admin-text-muted);font-size:10px;font-weight:600;letter-spacing:.3px;margin-top:2px;text-transform:none}
.opsNav{display:grid;gap:8px}
.opsNav a{
  color:var(--admin-nav);text-decoration:none;height:var(--admin-nav-h);padding:0 10px;border-radius:8px;
  font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1;
}
.opsNav a:hover{background:var(--admin-nav-hover);color:var(--admin-text)}
.opsNav a.active{background:var(--admin-primary-soft);color:var(--admin-primary)}
.opsNavGroup{display:grid;gap:2px}
.opsNavGroup h2{margin:16px 10px 6px;font-size:11px;font-weight:700;color:var(--admin-text-muted);letter-spacing:.04em}
.opsNavSearch{display:flex;align-items:center;gap:8px;margin:0 8px 8px;padding:9px 10px;border:1px solid var(--admin-border);border-radius:10px;color:var(--admin-text-muted)}
.opsNavSearch input{min-width:0;width:100%;border:0;background:transparent;outline:none;color:var(--admin-text)}
.opsBrand small{display:flex;align-items:center;gap:5px}
.opsMobileToggle,.opsMobileClose,.opsNavBackdrop{display:none}
.opsFormContents{display:contents;border:0;padding:0;margin:0;min-width:0}
.opsActionForm[aria-busy=true]{opacity:.7}
.opsApp :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--admin-primary);outline-offset:3px}
.opsSourceCell{max-width:240px;overflow-wrap:anywhere}
.opsEmpty{padding:32px 16px;text-align:center;color:var(--admin-text-muted)}
.opsReadMarker{display:block;height:1px}
.opsSectionHead{display:flex;align-items:center;justify-content:space-between;gap:16px}
.opsSectionHead h2{margin:0;font-size:17px;letter-spacing:-.02em}
.opsQueueGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.opsQueue{display:grid;gap:16px;text-decoration:none;color:var(--admin-text);padding:22px;border:1px solid var(--admin-border);border-radius:14px;background:var(--admin-surface)}
.opsQueue strong{font-size:32px;font-weight:750;line-height:1}
.opsQueue small{font-weight:650;font-size:13px}
.opsQueue span{font-size:12px;color:var(--admin-primary)}
.opsQueue.is-pending{border-top:3px solid var(--admin-primary)}
.opsDashboardIntro{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;border:1px solid var(--admin-border);border-radius:16px;background:var(--admin-surface)}
.opsDashboardIntro h2{margin:0 0 6px;font-size:20px}
.opsDashboardIntro p{margin:0;color:var(--admin-text-muted)}
.opsQuickLinks{display:flex;flex-wrap:wrap;gap:8px}
.opsBody{max-width:1900px;width:100%;margin-inline:auto}
.opsFilters{padding:16px;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface);gap:10px}
.opsTableWrap{max-width:100%;min-width:0}
.opsTable td{padding-block:10px}
.opsTable th{font-size:11px;text-transform:none}
.opsTableWrap .opsTable{min-width:640px}
.opsTableWrap .opsMemberTable{min-width:1120px}
.opsTable :is(td,th){max-width:420px;overflow-wrap:anywhere}
.opsPager{padding:12px 2px}
.opsBadge{white-space:nowrap}
.opsApp .nvDialog{max-height:85dvh;overflow-y:auto}
.opsApp .opsMemberSummaryRow{border-radius:0}
.opsNavGroup summary{
  list-style:none;cursor:pointer;color:var(--admin-text-muted);font-size:10.5px;letter-spacing:.2px;
  padding:8px 10px 4px;font-weight:600;line-height:1.3
}
.opsNavGroup summary::-webkit-details-marker{display:none}

.opsMain{min-width:0;display:flex;flex-direction:column}
.opsTop{
  height:var(--admin-topbar-h);border-bottom:1px solid var(--admin-border);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:0 var(--admin-pad-x);background:var(--admin-top);position:sticky;top:0;z-index:5
}
.opsTopCrumb{min-width:0}
.opsTop > .opsMobileToggle{display:none}
.opsTopCrumb{flex:1}
.opsApp .opsFilters .opsBtn{margin-left:0}
.opsTopCrumb b{display:block;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--admin-text)}
.opsTopCrumb span{color:var(--admin-text-muted);font-size:11px;font-weight:500}
.opsTop .opsActions .opsBtn{height:32px;padding:0 10px;font-size:12px}
.opsTopAccount{color:var(--admin-text-muted);font-size:12px;font-weight:600;white-space:nowrap}
.opsBody{padding:20px var(--admin-pad-x) 28px;display:grid;gap:var(--admin-gap);align-content:start}

.opsPageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
.opsPageHeaderCopy{min-width:0}
.opsPageHeader h1{margin:0;font-size:var(--admin-fs-page);font-weight:700;line-height:var(--admin-lh-title);letter-spacing:-.3px}
.opsPageHeader p{margin:4px 0 0;font-size:var(--admin-fs-desc);font-weight:400;color:var(--admin-text-muted);line-height:1.45}
.opsPageHeaderActions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

.opsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.opsCard{
  background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-card);
  padding:var(--admin-card-pad);box-shadow:none
}
.opsCard>small:first-child{
  display:block;color:var(--admin-text);font-size:var(--admin-fs-section);font-weight:650;line-height:1.3;margin-bottom:8px
}
.opsCard>b,.opsCard>small+b{display:block;font-size:var(--admin-fs-metric);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.opsStatCard{text-decoration:none;color:inherit;transition:border-color .16s ease,background .16s ease}
.opsStatCard:hover{border-color:color-mix(in srgb,var(--admin-primary) 36%,var(--admin-border))}
.opsToolbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.opsTableActions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}
.opsCard p{margin:0 0 8px}
.opsCard p:last-child{margin-bottom:0}

.opsTableWrap{overflow-x:auto;border:1px solid var(--admin-border);border-radius:var(--admin-radius-card);background:var(--admin-surface)}
.opsTable{width:100%;border-collapse:collapse;font-size:var(--admin-fs-table);background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-card);overflow:hidden}
.opsTableWrap .opsTable{border:0;border-radius:0}
.opsTable th,.opsTable td{
  padding:0 12px;height:var(--admin-row-h);border-bottom:1px solid var(--admin-border);
  text-align:left;vertical-align:middle;line-height:1.35
}
.opsTable th{
  height:40px;color:var(--admin-text-muted);font-size:var(--admin-fs-th);font-weight:600;
  background:var(--admin-table-head);letter-spacing:.1px;white-space:nowrap
}
.opsTable tbody tr:hover td{background:color-mix(in srgb,var(--admin-primary) 4%,transparent)}
.opsTable tbody tr:last-child td{border-bottom:0}
.opsTable .opsField{height:var(--admin-btn-compact-h);padding:0 8px}
.opsTable .opsBtn{height:var(--admin-btn-compact-h);padding:0 8px}
.opsTable img{width:40px;height:40px;object-fit:cover;border-radius:6px;background:var(--admin-field)}
.opsTable a{color:var(--admin-link);font-weight:600}
.opsNum{font-variant-numeric:tabular-nums;text-align:right;font-weight:500}
input.opsNum{font-weight:500}

.opsPager{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.opsPagerSize label{display:flex;align-items:center;gap:8px;color:var(--admin-text-muted);font-size:var(--admin-fs-meta)}
.opsPages{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.opsPages a,.opsPages span{
  min-width:var(--admin-pager-h);height:var(--admin-pager-h);display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--admin-radius-control);font-size:12px;font-weight:600;padding:0 8px;border:1px solid var(--admin-field-line);color:var(--admin-nav);line-height:1
}
.opsPages a.active{background:var(--admin-primary);color:#fff;border-color:var(--admin-primary)}

.opsFilters{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding:10px 12px;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-card)
}
.opsFilters .opsField,.opsField{
  border:1px solid var(--admin-field-line);background:var(--admin-field);color:var(--admin-text);
  border-radius:var(--admin-radius-control);height:var(--admin-control-h);padding:0 10px;font:inherit;font-size:var(--admin-fs-body);line-height:1
}
select.opsField{padding-right:28px}
textarea.opsField,.opsField.area{height:auto;min-height:120px;padding:10px;line-height:var(--admin-lh-body);resize:vertical}
.opsForm label.opsPartnerBodyField{display:grid;gap:6px;width:100%;min-width:0;box-sizing:border-box}
textarea.opsField.opsPartnerBody{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;height:320px;min-height:240px;max-height:70vh;overflow-y:auto}
.opsFilters .opsBtn{margin-left:auto}
.opsMemberSearch{flex:1 1 220px;min-width:180px;max-width:360px}

.opsBtn{
  border:1px solid var(--admin-primary);background:var(--admin-primary);color:#fff;border-radius:var(--admin-radius-control);
  height:var(--admin-btn-h);padding:0 12px;font-size:var(--admin-fs-btn);font-weight:600;cursor:pointer;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap
}
.opsBtn:hover{background:var(--admin-primary-hover);border-color:var(--admin-primary-hover)}
.opsBtn.ghost{background:transparent;border-color:var(--admin-field-line);color:var(--admin-nav)}
.opsBtn.ghost:hover{background:var(--admin-nav-hover);color:var(--admin-text);border-color:var(--admin-field-line)}
.opsBtn.danger{background:var(--admin-danger);border-color:var(--admin-danger);color:#fff}
:scope[data-theme=dark] .opsApp .opsBtn.danger,.opsApp[data-theme=dark] .opsBtn.danger{color:#1a0b0e}
.opsBtn.compact{height:var(--admin-btn-compact-h);padding:0 8px;font-size:12px}
.opsBtn:disabled{opacity:.45;cursor:not-allowed}

.opsForm{display:grid;gap:12px;max-width:560px}
.opsForm.wide{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}
.opsForm.stacked{max-width:720px;grid-template-columns:1fr}
.opsForm label,.opsFormLabel,.opsFieldBlock>span:first-child{font-size:var(--admin-fs-label);font-weight:600;line-height:1.3;display:block;margin-bottom:6px}
.opsFormSection{border:1px solid var(--admin-border);border-radius:10px;padding:12px;display:grid;gap:8px;margin:0}
.opsFormSection legend{padding:0 6px;color:var(--admin-text-muted);font-size:var(--admin-fs-meta);font-weight:600}
.opsImageField{display:grid;gap:8px}
.opsPreviewLogo{width:80px;height:80px;object-fit:cover;border-radius:10px;border:1px solid var(--admin-field-line);background:var(--admin-field)}
.opsPreviewLogo.empty,.opsPreviewBanner.empty{display:flex;align-items:center;justify-content:center;color:var(--admin-text-muted);font-size:var(--admin-fs-meta)}
.opsPreviewBanner{width:100%;max-width:360px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--admin-field-line);background:var(--admin-field)}
.opsPreviewGallery{width:100%;max-width:280px;height:auto;display:block;border-radius:10px;border:1px solid var(--admin-field-line);background:var(--admin-field)}
.opsGalleryItem{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--admin-border)}
.opsAdvanced{margin-top:4px}
.opsAdvanced summary{cursor:pointer;color:var(--admin-link);font-size:12px}
.opsModal{position:fixed;inset:0;background:var(--admin-overlay);display:grid;place-items:center;z-index:40;padding:20px}
.opsModalCard{width:min(420px,92vw);background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-modal);padding:18px;display:grid;gap:10px;box-shadow:var(--admin-shadow-modal)}
.opsModalCard p{margin:0;font-size:var(--admin-fs-body)}

.opsBadge{
  display:inline-flex;align-items:center;justify-content:center;height:var(--admin-badge-h);padding:0 8px;
  border-radius:var(--admin-radius-badge);font-size:var(--admin-fs-badge);font-weight:600;line-height:1;vertical-align:middle
}
.opsBadge.ok{background:var(--admin-success-bg);color:var(--admin-success)}
.opsBadge.warn{background:var(--admin-warning-bg);color:var(--admin-warning)}
.opsBadge.bad{background:var(--admin-danger-bg);color:var(--admin-danger)}
.opsBadge.info{background:var(--admin-info-bg);color:var(--admin-info)}
.opsBadge.neutral{background:var(--admin-surface-muted);color:var(--admin-text-muted)}
.opsActions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.opsActions form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.opsTable details{margin-top:8px}
.opsTable summary{cursor:pointer;color:var(--admin-link);font-weight:600}
.opsRelated{display:flex;flex-wrap:wrap;gap:6px}

.opsEmpty{
  margin:0;padding:28px 16px;text-align:center;color:var(--admin-text-muted);
  font-size:var(--admin-fs-body);background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-card)
}

.opsHelp{margin:0;color:var(--admin-text-muted);font-size:var(--admin-fs-help);line-height:1.45;font-weight:400}
.opsHint{margin:8px 0 0;display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--admin-primary) 28%,var(--admin-border));background:var(--admin-primary-soft);color:var(--admin-link);font-size:11px;font-weight:600}
.opsFieldBlock{display:grid;gap:6px}
.opsFieldInline{display:flex;align-items:center;gap:8px}
.opsFieldInline .opsField{width:88px}
.opsReadonly{border:1px solid var(--admin-field-line);background:var(--admin-surface-muted);border-radius:var(--admin-radius-control);height:var(--admin-control-h);padding:0 10px;font-size:var(--admin-fs-body);font-weight:600;display:flex;align-items:center}
.opsMuted{color:var(--admin-text-muted);font-size:var(--admin-fs-meta)}

.opsSettings{display:grid;grid-template-columns:188px minmax(0,1fr);gap:16px;align-items:start}
.opsSettingsNav{display:grid;gap:2px;position:sticky;top:72px}
.opsSettingsNav a{
  height:var(--admin-nav-h);padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:600;
  color:var(--admin-nav);border:1px solid transparent;display:flex;align-items:center;line-height:1
}
.opsSettingsNav a:hover{background:var(--admin-nav-hover)}
.opsSettingsNav a.active{background:var(--admin-primary-soft);color:var(--admin-primary);border-color:transparent}
.opsSettingsBody{display:grid;gap:16px;min-width:0}

.opsHubGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.opsHubCard{
  text-decoration:none;color:inherit;display:grid;grid-template-columns:36px minmax(0,1fr) 16px;gap:12px;align-items:center;
  padding:16px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease
}
.opsHubCard:hover{border-color:color-mix(in srgb,var(--admin-primary) 40%,var(--admin-border));box-shadow:0 4px 14px rgba(10,22,40,.04)}
.opsHubIcon{
  width:36px;height:36px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--admin-primary-soft);color:var(--admin-primary)
}
.opsHubIcon svg{width:18px;height:18px;display:block}
.opsHubCopy{display:grid;gap:4px;min-width:0}
.opsCard.opsHubCard>b,.opsHubCard b{font-size:var(--admin-fs-section);font-weight:650;line-height:1.3;color:var(--admin-text)}
.opsHubCard .opsHelp{margin:0}
.opsHubArrow{color:var(--admin-text-muted);font-size:14px;line-height:1}

.opsDangerCard{border-color:color-mix(in srgb,var(--admin-danger) 45%,var(--admin-border))}
.opsWarnText{color:var(--admin-danger);font-weight:600}
.opsCheck{display:flex;gap:8px;align-items:flex-start;font-size:var(--admin-fs-body)}
.opsSeasonPreview{display:grid;gap:8px}
.opsSeasonDialog{width:min(520px,92vw)}
.opsImageSpec{display:grid;gap:6px;padding:12px 0;border-top:1px solid var(--admin-border)}
.opsImageSpec:first-of-type{border-top:0;padding-top:0}
.opsBrandPreview{font-size:22px;font-weight:800;letter-spacing:-.8px;line-height:1.2}
.opsBrandPreview span{color:var(--admin-primary)}
.opsStatusOk{color:var(--admin-success)}
.opsStatusWarn{color:var(--admin-warning)}
.nvBtn:disabled{opacity:.45;cursor:not-allowed}

.opsPolicyGrid{overflow-x:auto;border:1px solid var(--admin-border);border-radius:var(--admin-radius-card);background:var(--admin-surface)}
.opsPolicyHead,.opsPolicyRow{
  display:grid;
  grid-template-columns:minmax(168px,1.4fr) 88px 76px 76px 76px 84px minmax(120px,1fr) minmax(120px,1fr) 72px;
  gap:8px;align-items:center;min-width:980px;padding:0 12px
}
.opsPolicyHead{
  height:40px;background:var(--admin-table-head);color:var(--admin-text-muted);
  font-size:var(--admin-fs-th);font-weight:600;border-bottom:1px solid var(--admin-border)
}
.opsPolicyRow{min-height:58px;padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--admin-border)}
.opsPolicyRow:last-child{border-bottom:0}
.opsPolicyName{display:grid;gap:2px;min-width:0}
.opsPolicyName b{font-size:var(--admin-fs-table);font-weight:650;line-height:1.3}
.opsPolicyRow .opsField{width:100%;min-width:0;height:34px}
.opsPolicyRow .opsBtn{height:32px;width:100%;padding:0 8px}

.opsChatPolicy{display:grid;gap:14px;margin-top:12px;max-width:520px}
.opsChatRow{display:flex;align-items:center;justify-content:space-between;gap:16px}
.opsChatRow b{display:block;font-size:var(--admin-fs-table);font-weight:650;line-height:1.3}
.opsChatRow .opsHelp{margin:2px 0 0}
.opsChatField{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:var(--admin-fs-body)}
.opsChatInput{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}
.opsChatInput .opsField{width:112px;height:34px}
.opsChatInput em{font-style:normal;color:var(--admin-text-muted);min-width:14px}
.opsOnOff{display:inline-flex;align-items:center;gap:0;border:1px solid var(--admin-border);border-radius:8px;overflow:hidden;flex:0 0 auto}
.opsOnOff button{
  width:52px;height:32px;padding:0;border:0;border-radius:0;background:transparent;
  color:var(--admin-text-muted);font-size:var(--admin-fs-body);font-weight:700;line-height:32px;cursor:pointer
}
.opsOnOff button.on{background:var(--admin-primary);color:#fff}
.opsChatPolicy .opsBtn{width:auto;justify-self:start}

.tb{display:inline-flex;align-items:center;gap:4px;border-radius:999px;font-weight:700;letter-spacing:.2px;line-height:1;vertical-align:middle;border:1px solid color-mix(in srgb,var(--admin-border) 80%,transparent)}
.tb i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.tb em{font-style:normal;font-weight:700}
.tb-sm{gap:3px;padding:2px 6px 2px 2px;font-size:8px}
.tb-sm i{width:14px;height:14px;font-size:8px}
.tb-md{gap:5px;padding:3px 8px 3px 3px;font-size:10px}
.tb-md i{width:18px;height:18px;font-size:10px}
.tb-lg{gap:6px;padding:5px 10px 5px 4px;font-size:11px}
.tb-lg i{width:22px;height:22px;font-size:11px}
.tb-bronze{background:#f6efe4;color:#8a5a28}.tb-bronze i{background:#c08a4e;color:#fff}
.tb-silver{background:#eef2f6;color:#5b6b7c}.tb-silver i{background:#8ea0b3;color:#fff}
.tb-gold{background:#f8efd6;color:#8a6a12}.tb-gold i{background:#d9b15b;color:#3a2a08}
.tb-platinum{background:#e7eef8;color:#3d5a86}.tb-platinum i{background:#7f9ec8;color:#fff}
.tb-diamond{background:#e8f3fb;color:#1a5278}.tb-diamond i{background:#1a52b5;color:#fff}
.tb-master{background:#f3e9fb;color:#6b3a8c}.tb-master i{background:#7b3fa8;color:#fff}
.tb-challenger{background:#0d1a2c;color:#ddb75f;border-color:#ddb75f55}.tb-challenger i{background:#ddb75f;color:#0d1a2c}
:scope[data-theme=dark] .opsApp .tb-bronze,.opsApp[data-theme=dark] .tb-bronze{background:#2a2118;color:#e2c39a}
:scope[data-theme=dark] .opsApp .tb-silver,.opsApp[data-theme=dark] .tb-silver{background:#1c2530;color:#c5d0dc}
:scope[data-theme=dark] .opsApp .tb-gold,.opsApp[data-theme=dark] .tb-gold{background:#2a2416;color:#e8d08a}
:scope[data-theme=dark] .opsApp .tb-platinum,.opsApp[data-theme=dark] .tb-platinum{background:#182433;color:#b7c9e4}
:scope[data-theme=dark] .opsApp .tb-diamond,.opsApp[data-theme=dark] .tb-diamond{background:#142436;color:#9ec0ef}
:scope[data-theme=dark] .opsApp .tb-master,.opsApp[data-theme=dark] .tb-master{background:#24182e;color:#d4b3ea}

.opsApp .nvOverlay{z-index:80}
.opsApp .nvDialog{background:var(--admin-surface);border-color:var(--admin-border);color:var(--admin-text);box-shadow:var(--admin-shadow-modal);border-radius:var(--admin-radius-modal)}
.opsApp .nvDialogTitle{color:var(--admin-text);font-size:15px;font-weight:700;line-height:1.3}
.opsApp .nvDialogBody{color:var(--admin-text);font-size:var(--admin-fs-body)}
.opsApp .nvDialogBody.muted,.opsApp .nvBtn.ghost{color:var(--admin-text-muted)}
.opsApp .nvBtn.ghost{border-color:var(--admin-field-line)}
.opsApp .nvToast{background:var(--admin-surface);border-color:var(--admin-border);color:var(--admin-text)}
.opsApp .nvBtn{
  height:var(--admin-btn-h);padding:0 12px;font-size:var(--admin-fs-btn);font-weight:600;border-radius:var(--admin-radius-control);line-height:1
}

.opsBetList{display:grid;gap:10px}
.opsBetCard{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:10px;overflow:hidden}
.opsBetSummary{width:100%;display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(160px,1.4fr) 88px 64px 72px minmax(120px,.9fr) 88px 72px;gap:10px;align-items:center;padding:10px 12px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}
.opsBetSummary span{display:grid;gap:3px;min-width:0}
.opsBetSummary small{color:var(--admin-text-muted);font-size:10px;font-weight:600;line-height:1}
.opsBetSummary b{font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opsBetSummary em{font-style:normal;color:var(--admin-text-muted);font-size:11px;line-height:1.2}
.opsBetToggle{justify-self:end;color:var(--admin-link);font-size:12px;font-weight:600;white-space:nowrap}
.opsBetDetail{padding:0 14px 14px;display:grid;gap:10px;border-top:1px solid var(--admin-border)}
.opsBetDetail dl{margin:0;display:grid;gap:8px}
.opsBetDetail dl div{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:center}
.opsBetDetail dt{color:var(--admin-text-muted);font-size:11px}
.opsBetDetail dd{margin:0;font-size:13px}
.opsSlipSummary{width:100%;display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(150px,1.1fr) 88px 88px 72px;gap:10px;align-items:center;padding:10px 12px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}
.opsSlipSummary span{display:grid;gap:3px;min-width:0}
.opsSlipSummary small{color:var(--admin-text-muted);font-size:10px;font-weight:600;line-height:1}
.opsSlipSummary b{font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opsSlipSummary em{font-style:normal;color:var(--admin-text-muted);font-size:11px;line-height:1.2}
.opsSlipMatches{list-style:none;margin:0;padding:8px 0 0;display:grid;gap:0}
.opsSlipMatches li{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--admin-border)}
.opsSlipMatches li:first-child{border-top:0;padding-top:4px}
.opsSlipMatchLine{font-size:13px;line-height:1.5;word-break:keep-all}
.opsSlipSep{color:var(--admin-text-muted)}
.opsSlipMatchLinks{display:flex;flex-wrap:wrap;gap:10px;font-size:12px}
.opsSlipPick{display:grid;gap:10px;padding:12px 0;border-top:1px solid var(--admin-border)}
.opsSlipPick:first-of-type{border-top:0;padding-top:4px}

.opsNavBadge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--admin-primary);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.opsMsgList{display:grid;gap:8px}
.opsMsgRow{display:grid;grid-template-columns:minmax(140px,0.9fr) minmax(0,1.6fr) 140px;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:10px;color:inherit}
.opsMsgRow b{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.opsMsgRow small{display:block;color:var(--admin-text-muted);font-size:11px;margin-top:3px}
.opsMsgRow p{margin:0;color:var(--admin-text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opsMsgRow time{color:var(--admin-text-muted);font-size:12px;text-align:right}
.opsMsgRow.unread{border-color:color-mix(in srgb,var(--admin-primary) 45%,var(--admin-border))}
.opsMsgThreadCard{display:grid;gap:12px}
.opsApp .msgBubble{background:var(--admin-field);border-color:var(--admin-field-line);color:var(--admin-text)}
.opsApp .msgRow.mine .msgBubble{background:color-mix(in srgb,var(--admin-primary) 12%,var(--admin-surface));border-color:color-mix(in srgb,var(--admin-primary) 32%,var(--admin-border))}
.opsApp .msgComposer .field{background:var(--admin-field);border-color:var(--admin-field-line);color:var(--admin-text)}
.opsApp .nvDialog .field{background:var(--admin-field);border-color:var(--admin-field-line);color:var(--admin-text);min-height:120px}

.opsNickLink{font-weight:650;text-decoration:none}
.opsNickLink:hover{text-decoration:underline}
.opsMemberTable tbody tr{cursor:pointer}
.opsMemberTable tr.is-selected td{background:color-mix(in srgb,var(--admin-primary) 8%,transparent)}
.opsMemberNpCell{color:var(--admin-primary);font-weight:650;font-variant-numeric:tabular-nums}

.opsDrawer{position:fixed;inset:0;z-index:70}
.opsDrawerBackdrop{position:absolute;inset:0;border:0;padding:0;width:100%;height:100%;background:var(--admin-overlay);cursor:pointer}
.opsDrawerSheet{
  position:absolute;top:0;right:0;height:100%;width:min(520px,100%);
  background:var(--admin-surface);border-left:1px solid var(--admin-border);
  box-shadow:var(--admin-shadow-modal);display:flex;flex-direction:column
}
.opsDrawerHead{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;
  height:56px;padding:0 18px;border-bottom:1px solid var(--admin-border)
}
.opsDrawerHead h2{margin:0;font-size:16px;font-weight:700;letter-spacing:-.2px}
.opsDrawerBody{overflow:auto;padding:18px;display:grid;gap:14px}
.opsDrawerActions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--admin-border);margin-top:4px}
.opsMemberDrawer{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px}
.opsMemberBackdrop{position:absolute;inset:0;background:var(--admin-overlay)}
.opsMemberSheet{
  position:relative;width:min(800px,100%);max-height:84vh;overflow:hidden;display:flex;flex-direction:column;
  background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-modal);
  box-shadow:var(--admin-shadow-modal)
}
.opsMemberDetail{display:flex;flex-direction:column;min-height:0}
.opsMemberSheet .opsMemberDetail{max-height:84vh}
.opsMemberSheet .opsMemberTabsWrap{overflow:auto}
.opsMemberHead{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;
  padding:16px 18px 12px;border-bottom:1px solid var(--admin-border);background:var(--admin-surface)
}
.opsMemberSheet .opsMemberHead{position:sticky;top:0;z-index:1}
.opsMemberHeadMain{display:grid;gap:0;min-width:0}
.opsMemberTitle{display:flex;align-items:center;gap:10px}
.opsMemberTitle b{display:block;font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1.25}
.opsMemberTitle small{display:block;color:var(--admin-text-muted);font-size:12px;font-weight:500;margin-top:2px;line-height:1.3}
.opsMemberTierLine{display:inline-flex !important;align-items:center;gap:6px;flex-wrap:wrap}
.opsMemberDetail .opsMemberTierLine>.memberTierIcon{
  width:20px;height:20px;max-width:20px;max-height:20px;flex:0 0 20px;object-fit:contain
}
.opsMemberTitle .opsMemberTierLine>.memberTierIcon{
  width:80px;height:80px;max-width:80px;max-height:80px;flex:0 0 80px;object-fit:contain
}
.opsMemberTierLine .tierText{font-size:inherit;line-height:inherit}
.opsMemberTierLine .tierText em,.opsMemberTierLine .tierText b{font-size:inherit}
.opsMemberHeadActions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.opsMemberSummaryRow{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  border-bottom:1px solid var(--admin-border);background:var(--admin-surface-muted)
}
.opsMemberSummaryRow>div{display:grid;gap:3px;padding:10px 16px;border-right:1px solid var(--admin-border)}
.opsMemberSummaryRow>div:last-child{border-right:0}
.opsMemberSummaryRow small{color:var(--admin-text-muted);font-size:10.5px;font-weight:600;line-height:1.2}
.opsMemberSummaryRow b{font-size:14px;font-weight:650;line-height:1.25;font-variant-numeric:tabular-nums}
.opsMemberTabsWrap{display:grid;gap:0;min-height:0}
.opsMemberTabs{display:flex;flex-wrap:wrap;gap:0;padding:0 12px;border-bottom:1px solid var(--admin-border);background:var(--admin-surface);position:sticky;top:0;z-index:1}
.opsMemberTab{
  height:var(--admin-tab-h);padding:0 12px;border:0;border-bottom:2px solid transparent;background:transparent;
  color:var(--admin-nav);font-size:12px;font-weight:600;line-height:1;cursor:pointer;border-radius:0;margin-bottom:-1px
}
.opsMemberTab:hover{background:transparent;color:var(--admin-text)}
.opsMemberTab.is-on,.opsMemberTab.is-on:hover{background:transparent;color:var(--admin-primary);border-bottom-color:var(--admin-primary)}
.opsMemberTabPanel{display:grid;gap:14px;padding:14px 18px 18px}
.opsMemberDl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.opsMemberDl div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:baseline}
.opsMemberDl dt{color:var(--admin-text-muted);font-size:11px;font-weight:600;line-height:1.4}
.opsMemberDl dd{margin:0;font-size:13px;font-weight:500;line-height:1.4}
.opsMemberGroup{display:grid;gap:10px}
.opsMemberGroup>small{display:block;font-size:13px;font-weight:650;color:var(--admin-text)}
.opsMemberStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.opsMemberStats>div{display:grid;gap:3px;padding:10px;border:1px solid var(--admin-border);border-radius:10px;background:var(--admin-surface-muted)}
.opsMemberStats small{color:var(--admin-text-muted);font-size:10.5px;font-weight:600}
.opsMemberStats b{font-size:14px;display:inline-flex;align-items:center;gap:6px;font-weight:650}
.opsMemberNp{color:var(--admin-primary)}
.opsMemberPointNow{margin:0 0 10px;color:var(--admin-text-muted);font-size:12px}
.opsMemberPointNow b{color:var(--admin-text);font-size:18px;font-weight:700}
.opsMemberLedger td,.opsMemberBets td{white-space:nowrap}
.opsMemberLedger td:nth-child(2),.opsMemberBets td:first-child{white-space:normal}
.opsDeltaPlus{color:var(--admin-success);font-weight:650}
.opsDeltaMinus{color:var(--admin-danger);font-weight:650}
.opsMemberManage{margin-top:4px}
.opsFormMsg{margin:0;font-size:12.5px;font-weight:600}
.opsFormMsg.ok{color:var(--admin-success)}
.opsFormMsg.bad{color:var(--admin-danger)}
.opsSaveRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.opsPreviewBrand{height:36px;width:auto;max-width:240px;object-fit:contain;display:block;border:1px solid var(--admin-field-line);border-radius:8px;background:var(--admin-field);padding:6px 10px}
.opsPreviewBrand.empty{width:174px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--admin-text-muted);font-size:11px}
.opsPreviewFavicon{width:48px;height:48px;object-fit:contain;border-radius:8px;border:1px solid var(--admin-field-line);background:var(--admin-field)}
.opsPreviewFavicon.empty{display:flex;align-items:center;justify-content:center;color:var(--admin-text-muted);font-size:11px}
.opsPreviewHero{width:100%;max-width:480px;aspect-ratio:1660/430;object-fit:cover;border-radius:10px;border:1px solid var(--admin-field-line);background:var(--admin-field)}
.opsPreviewHero.empty{display:flex;align-items:center;justify-content:center;color:var(--admin-text-muted);font-size:11px}

@media(max-width:1280px){
  .opsApp{--admin-pad-x:20px}
  .opsHubGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1100px){
  .opsApp{grid-template-columns:1fr;--admin-pad-x:20px}
  .opsSide{position:fixed;top:0;bottom:0;left:0;width:280px;height:100dvh;z-index:80;transform:translateX(-100%);visibility:hidden}
  .opsApp[data-menu-open=true] .opsSide{transform:translateX(0);visibility:visible}
  .opsTop > .opsMobileToggle,.opsMobileClose{display:inline-flex}
  .opsMobileClose{margin-left:auto;border:0;background:transparent;color:var(--admin-text);padding:8px}
  .opsNavBackdrop{display:block;position:fixed;inset:0;z-index:79;background:var(--admin-overlay);border:0}
  .opsQueueGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .opsGrid,.opsForm.wide{grid-template-columns:1fr 1fr}
  .opsSettings{grid-template-columns:1fr}
  .opsSettingsNav{position:relative;top:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .opsBetSummary,.opsSlipSummary{grid-template-columns:1fr 1fr;gap:8px}
  .opsBetToggle{grid-column:1/-1;justify-self:start}
  .opsMemberStats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .opsMemberDrawer{padding:12px}
  .opsTableActions{flex-wrap:wrap}
  .opsDrawerSheet{width:min(520px,100%)}
  .opsMemberSheet{max-height:90vh;width:100%}
}
@media(max-width:768px){
  .opsApp{--admin-pad-x:16px}
  .opsGrid,.opsForm.wide,.opsHubGrid{grid-template-columns:1fr}
  .opsSettingsNav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opsMsgRow{grid-template-columns:1fr;gap:6px}
  .opsMsgRow time{text-align:left}
  .opsBetSummary,.opsSlipSummary{grid-template-columns:1fr}
  .opsBetDetail dl div{grid-template-columns:1fr}
  .opsMemberDl,.opsMemberStats,.opsMemberSummaryRow{grid-template-columns:1fr 1fr}
  .opsMemberDl div{grid-template-columns:1fr;gap:2px}
  .opsMemberLedger,.opsMemberBets,.opsPolicyGrid{display:block;overflow:auto}
  .opsPageHeader{flex-direction:column}
  .opsFilters .opsBtn{margin-left:0}
  .opsApp{--admin-row-h:60px;--admin-control-h:44px;--admin-btn-h:44px;--admin-btn-compact-h:44px;--admin-card-pad:16px;--admin-fs-body:14px}
  .opsTop{gap:8px}
  .opsTop .opsActions{gap:5px}
  .opsTop .opsActions .opsBtn{height:40px;padding:0 8px}
  .opsTop .opsActions a span,.opsTopAccount{display:none}
  .opsQueueGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opsQueue{padding:16px;gap:10px}
  .opsDashboardIntro{flex-direction:column;align-items:stretch;padding:20px}
  .opsBody{padding-top:18px}
  .opsFilters{display:grid;grid-template-columns:1fr}
  .opsFilters .opsField{width:100%;max-width:none;min-width:0}
  .opsPager{flex-wrap:wrap;gap:10px}
}

.giftColorField{display:grid;gap:10px;grid-column:1 / -1}
.giftColorField>small,.giftAdminPreviewWrap>small{font-size:var(--admin-fs-label);font-weight:600;color:var(--admin-text-muted)}
.giftColorList{display:flex;flex-wrap:wrap;gap:8px}
.giftColorChip{
  width:72px;min-width:72px;height:52px;padding:6px 4px;box-sizing:border-box;
  display:grid;justify-items:center;align-content:center;gap:4px;
  border:1px solid var(--admin-border);border-radius:10px;background:var(--admin-surface);
  color:var(--admin-text);cursor:pointer
}
.giftColorChip.is-on{background:var(--admin-field);border-color:var(--admin-text-muted);box-shadow:inset 0 0 0 1px var(--admin-text-muted)}
.giftColorChip small{font-size:10px;font-weight:600;line-height:1;color:inherit}
.giftColorSwatch{width:28px;height:16px;border-radius:999px;display:block;border:1px solid rgba(15,23,42,.12)}
.giftColorSwatch--auto{
  background:
    linear-gradient(135deg, rgba(122,98,168,.35), rgba(58,106,168,.28) 48%, rgba(196,120,58,.32));
}
.giftColorSwatch--none{
  background:transparent;
  border-style:dashed;
}
.giftColorCustom{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.giftColorCustom label{display:grid;gap:6px}
.giftColorPicker{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:center}
.giftColorPicker input[type=color]{width:40px;height:var(--admin-control-h,36px);padding:0;border:1px solid var(--admin-field-line);border-radius:8px;background:var(--admin-field)}
.giftAdminPreviewWrap{display:grid;gap:8px}
.giftAdminPreview{
  display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;
  max-width:520px;padding:14px;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface)
}
.giftAdminPreview .shopThumb{
  width:72px;height:72px;border-radius:11px;display:grid;place-items:center;overflow:hidden;font-weight:800
}
.giftAdminPreview .shopThumb img{width:100%;height:100%;object-fit:contain;padding:8px}
.giftAdminPreview .shopThumb .giftCatIcon{color:inherit}
.giftCatField{display:grid;gap:8px;grid-column:1 / -1}
.giftCatField>small{font-size:var(--admin-fs-label);font-weight:600;color:var(--admin-text-muted)}
.giftCatPick{display:flex;flex-wrap:wrap;gap:8px}
.giftCatPickBtn{
  width:88px;min-width:88px;height:70px;padding:8px 6px;box-sizing:border-box;
  display:grid;justify-items:center;align-content:center;gap:6px;
  border:1px solid var(--admin-border);border-radius:10px;
  background:var(--admin-surface);color:var(--admin-text);cursor:pointer
}
.giftCatPickBtn small{font-size:10px;font-weight:600;line-height:1.2;text-align:center}
.giftCatPickBtn.is-on{background:var(--admin-field);border-color:var(--admin-text-muted);box-shadow:inset 0 0 0 1px var(--admin-text-muted)}
:scope[data-theme=dark] .opsApp .giftCatPickBtn.is-on,.opsApp[data-theme=dark] .giftCatPickBtn.is-on{border-color:var(--admin-text)}
.giftAdminPreviewMain{display:contents}
.giftAdminPreviewBody{display:grid;gap:4px;min-width:0}
.giftAdminPreviewBody b{font-size:14px;font-weight:700;color:var(--admin-text);line-height:1.35}
.giftAdminPreviewBody small{font-size:12px;font-weight:500;color:var(--admin-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.giftAdminPreviewBody strong{font-size:15px;font-weight:700;color:var(--admin-link,var(--accent-primary))}
.giftAdminPreviewBuy{pointer-events:none}
:scope[data-theme=dark] .opsApp .giftColorChip.is-on,.opsApp[data-theme=dark] .giftColorChip.is-on{background:var(--admin-field);border-color:var(--admin-text)}
@media(max-width:768px){
  .giftColorCustom,.giftAdminPreview{grid-template-columns:1fr}
  .giftAdminPreviewMain{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
}

.popupEditor{display:grid;gap:16px}
.popupEditorGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:16px;align-items:start}
.popupEditorFields{display:grid;gap:12px}
.popupUnitField{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px}
.popupUnitField>span{font-size:12px;color:var(--admin-text-muted)}
.popupPreviewCard{position:sticky;top:16px;display:grid;gap:8px}
.popupPreviewTabs{display:flex;gap:6px}
.popupPreviewFrame{
  position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:12px;
  border:1px solid var(--admin-border);background:#e8eef6;
}
.popupPreviewFrame.is-mobile{width:min(100%,280px);aspect-ratio:390/680;margin-inline:auto}
.popupPreviewHero{position:absolute;inset:16px 16px auto;height:28%;border-radius:10px;background:linear-gradient(112deg,#061629,#102f4d)}
.popupPreviewItem{
  position:absolute;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:12px;
  box-shadow:var(--admin-shadow-modal);overflow:hidden;cursor:grab;max-width:100%;
}
.popupPreviewItem img{display:block;width:100%;height:auto}
.popupPreviewEmpty{padding:24px 12px;text-align:center;color:var(--admin-text-muted);font-size:12px}
.popupPreviewItem p{margin:0;padding:8px 10px;font-size:12px}
.popupResize{
  position:absolute;right:4px;bottom:4px;width:14px;height:14px;padding:0;border:0;border-radius:3px;
  background:var(--admin-primary);cursor:nwse-resize;
}
@media(max-width:980px){
  .popupEditorGrid{grid-template-columns:1fr}
  .popupPreviewCard{position:static}
}


}
