@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/montserrat-400.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/montserrat-500.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/montserrat-600.ttf') format('truetype')}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/montserrat-700.ttf') format('truetype')}
/* ECO source of truth: /ECO_ECOMMERCE_DESIGN_SYSTEM.md.
   Compatibility aliases migrate the existing UI kit without replacing workflows. */
:root, :root[data-theme], :root[data-palette][data-theme] {
 --eco-orange:#ff5722;--eco-amber:#ffb000;--eco-blue:#2563eb;--eco-pink:#ff0050;
 --eco-success:#22c55e;--eco-warning:#f59e0b;--eco-error:#ef4444;
 --eco-bg:#090b10;--eco-surface:#11151d;--eco-surface-raised:#191f2a;
 --eco-border:#2a3240;--eco-text:#f8fafc;--eco-text-muted:#9ca8b8;
 --eco-control-border:#657489;--eco-accent-ink:#ff8a65;
 --eco-font-display:'Montserrat',system-ui,sans-serif;--eco-font-body:'Montserrat',system-ui,sans-serif;
 --eco-radius-sm:8px;--eco-radius-md:10px;--eco-radius-card:14px;--eco-radius-modal:16px;
 --eco-gradient-brand:linear-gradient(110deg,var(--eco-orange) 0%,var(--eco-amber) 32%,var(--eco-blue) 68%,var(--eco-pink) 100%);
 --cls-header-h:64px;--cls-side-w:248px;--cls-rail-w:72px;
 --ui-font:var(--eco-font-body);--ui-r-md:var(--eco-radius-md);--ui-r-lg:var(--eco-radius-card);
 --ui-r-xl:var(--eco-radius-modal);--ui-dur-1:150ms;--ui-dur-2:200ms;
 --ui-neutral-rgb:255,255,255;--ui-on-primary:#10151d;
 --primary:var(--eco-orange);--primary-rgb:255,87,34;--primary-hover:#ff7043;
 --ui-accent:var(--eco-orange);--ui-accent-rgb:255,87,34;--ui-accent-ink:var(--eco-accent-ink);
 --ui-primary-ink:var(--eco-accent-ink);--ui-primary-hover:var(--primary-hover);--ui-primary-active:#ff8a65;
 --ui-primary-soft:color-mix(in srgb,var(--eco-orange) 12%,var(--eco-surface));
 --primary-subtle:var(--ui-primary-soft);--ui-ok:var(--eco-success);--ui-ok-rgb:34,197,94;
 --ui-warn:var(--eco-warning);--ui-warn-rgb:245,158,11;--ui-danger:var(--eco-error);--ui-danger-rgb:239,68,68;
 --ui-info:var(--eco-blue);--ui-info-rgb:37,99,235;
 --ui-ok-ink:#4ade80;--ui-warn-ink:#fbbf24;--ui-danger-ink:#fca5a5;--ui-info-ink:#93b4ff;
 --ui-error:var(--eco-error);--ui-error-ink:var(--ui-danger-ink);--ui-danger-dark:var(--ui-danger-ink);
 --ui-on-success:#10151d;--ui-on-warning:#10151d;--ui-on-warn:#10151d;--ui-on-danger:#10151d;
 --ui-ok-soft:color-mix(in srgb,var(--eco-success) 12%,var(--eco-surface));
 --ui-warn-soft:color-mix(in srgb,var(--eco-warning) 12%,var(--eco-surface));
 --ui-danger-soft:color-mix(in srgb,var(--eco-error) 12%,var(--eco-surface));
 --ui-info-soft:color-mix(in srgb,var(--eco-blue) 15%,var(--eco-surface));
 --dsh-up:var(--ui-ok-ink);--dsh-down:var(--ui-danger-ink);
 --body-bg:var(--eco-bg);
 --ui-bg:var(--eco-bg);
 --ui-bg-page:var(--eco-bg);
 --p-bg:var(--eco-bg);
 --pal-bg:var(--eco-bg);
 --dsh-page-bg:var(--eco-bg);
 --inb-page-bg:var(--eco-bg);
 --sc-page-bg:var(--eco-bg);
 --cag-page-bg:var(--eco-bg);
 --dev-page-bg:var(--eco-bg);
 --wm-page-bg:var(--eco-bg);
 --wa-app-bg:var(--eco-bg);
 --ui-surface:var(--eco-surface);
 --ui-card-bg:var(--eco-surface);
 --ui-bg-card:var(--eco-surface);
 --ui-field-bg:var(--eco-surface);
 --cls-bg:var(--eco-surface);
 --cls-rail-bg:var(--eco-surface);
 --cls-panel-bg:var(--eco-surface);
 --cls-header-bg:var(--eco-surface);
 --pal-card:var(--eco-surface);
 --dsh-card-bg:var(--eco-surface);
 --wa-panel-bg:var(--eco-surface);
 --wa-recv-bg:var(--eco-surface);
 --wa-foot-bg:var(--eco-surface);
 --ui-bg-raised:var(--eco-surface-raised);
 --pal-card-elevated:var(--eco-surface-raised);
 --dsh-surface-2:var(--eco-surface-raised);
 --wa-panel-bg-2:var(--eco-surface-raised);
 --wa-menu-bg:var(--eco-surface-raised);
 --wa-mobile-pane-bg:var(--eco-surface-raised);
 --ui-line:var(--eco-border);
 --ui-line-2:var(--eco-border);
 --ui-border:var(--eco-border);
 --ui-border-subtle:var(--eco-border);
 --p-line:var(--eco-border);
 --pal-border:var(--eco-border);
 --ui-ink:var(--eco-text);
 --ui-ink-2:var(--eco-text);
 --cls-ink:var(--eco-text);
 --cls-ink-2:var(--eco-text);
 --pal-text:var(--eco-text);
 --dsh-ink:var(--eco-text);
 --dsh-ink-2:var(--eco-text);
 --wa-ink-strong:var(--eco-text);
 --wa-recv-ink:var(--eco-text);
 --ui-muted:var(--eco-text-muted);
 --ui-muted-2:var(--eco-text-muted);
 --p-muted:var(--eco-text-muted);
 --cls-muted:var(--eco-text-muted);
 --pal-text-secondary:var(--eco-text-muted);
 --dsh-muted:var(--eco-text-muted);
 --ui-ctl-line:var(--eco-control-border);
 --ui-field-line:var(--eco-control-border);
 --ui-input-border:var(--eco-control-border);
}
:root[data-theme='light'],:root[data-palette][data-theme='light']{
 color-scheme:light;--eco-bg:#f5f7fa;--eco-surface:#fff;--eco-surface-raised:#edf1f5;--eco-border:#dce3eb;
 --eco-text:#10151d;--eco-text-muted:#526070;--eco-control-border:#7b8796;--eco-accent-ink:#b9360c;
 --ui-neutral-rgb:16,21,29;--ui-ok-ink:#15743a;--ui-warn-ink:#805200;--ui-danger-ink:#b42318;--ui-info-ink:#1d4ed8;
}
html[data-theme='dark']{color-scheme:dark}
html body{font-family:var(--eco-font-body);background:var(--eco-bg);color:var(--eco-text);font-size:14px;line-height:1.5}
html body :is(button,input,select,textarea){font-family:var(--eco-font-body)}
html body :is(h1,h2,h3,h4){font-family:var(--eco-font-display);color:var(--eco-text);font-weight:700;letter-spacing:-.025em}
html body :is(.cl-main,.cl-main-inner,.p-login){background:var(--eco-bg);color:var(--eco-text)}
html body .cl-main-inner:has(.af-page,.gcc-page){font-family:var(--eco-font-body)!important}
html body :is(.p-card,.p-kpi,.p-store-tile,.staff-login,.staff-card,dialog,.p-user-menu a,.p-user-menu button){background:var(--eco-surface);color:var(--eco-text);border-color:var(--eco-border);border-radius:var(--eco-radius-card)}
html body :is(.cls-sidebar,.cls-header,body>header){background:var(--eco-surface);color:var(--eco-text);border-color:var(--eco-border)}
html body :is(p,small,.p-muted){color:var(--eco-text-muted)}
html body :is(input:not([type='checkbox']):not([type='radio']):not([type='range']),select,textarea){background:var(--eco-surface);color:var(--eco-text);border-color:var(--eco-control-border);border-radius:var(--eco-radius-md)}
html body :is(input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']),select){min-height:40px}
html body :is(.ui-btn-primary,.btn-primary){background:var(--eco-orange);border-color:var(--eco-orange);color:var(--ui-on-primary);font-weight:700;--ui-btn-spin:var(--ui-on-primary)}
html body :is(.ui-btn-primary,.btn-primary):hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--ui-on-primary)}
html body :is(.ui-btn-primary,.btn-primary):active{background:var(--ui-primary-active)}
html body :is(.ui-btn-secondary,.secondary){background:var(--eco-surface-raised);color:var(--eco-text);border-color:var(--eco-border)}
html body :is(button:disabled,[aria-disabled='true']){opacity:.5;cursor:not-allowed}
html body :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--eco-accent-ink);outline-offset:3px}
html body :is(.ui-nav-item.is-active,.ui-nav-item.active,.ui-nav-item[aria-current='page']){background:var(--eco-surface-raised);color:var(--eco-accent-ink);box-shadow:inset 3px 0 var(--eco-orange)}
html body :is(.p-table th,.p-table td){border-color:var(--eco-border);color:var(--eco-text)}
html body .p-table th{background:var(--eco-surface-raised);color:var(--eco-text-muted)}
html body :is(.p-table tbody tr:hover,.p-user-menu a:hover,.p-user-menu button:hover){background:var(--eco-surface-raised)}
html body :is(table,.p-kpi,.ui-kpi,.p-metrics,.p-stats-small){font-variant-numeric:tabular-nums}
html body :is(.p-kpi.active,.p-preview,.p-inline-code){background:var(--eco-surface-raised);color:var(--eco-text)}
html body :is(.p-list-row,.p-detail-row,.p-divider){border-color:var(--eco-border)}
html body .p-guide{background:var(--eco-surface);color:var(--eco-text);border-color:var(--eco-border)}
html body dialog{border-radius:var(--eco-radius-modal)}
html body dialog::backdrop{background:rgb(0 0 0 / .65)}

html body .cls-brand{gap:8px;text-decoration:none}
html body .cls-side-top{min-height:88px;border-bottom:1px solid var(--eco-border)}
html body .cls-side-top::after{content:'';position:absolute;left:24px;right:24px;bottom:0;height:2px;background:var(--eco-gradient-brand)}
html body .cls-side-top{position:relative}
html body .p-header-brand{font-size:16px}
html body .staff-brand{color:var(--eco-text)}
@media(min-width:992px){html body .cl-main-inner{padding:28px!important}}
@media(max-width:767px){html body .cl-main-inner{padding:16px!important}.eco-wordmark{font-size:22px}}
@media(prefers-reduced-motion:reduce){html:root{--ui-dur-1:0ms;--ui-dur-2:0ms;--ui-dur-3:0ms;--ui-dur-4:0ms}}
html body .notif-sticky-feature{background:var(--eco-surface-raised);color:var(--eco-text);border-bottom:1px solid var(--eco-border);box-shadow:none}
html body .notif-sticky-link{color:var(--eco-accent-ink);border-color:var(--eco-control-border)}
html body :is(.dsh-panel-title,.dsh-card-title,.dsh-section-title){color:var(--eco-text)}
html body .ui-callout.is-info{background:var(--ui-info-soft);border-color:var(--eco-blue)}
html body .ui-callout.is-info .ui-callout-ico{color:var(--ui-info-ink);background:var(--ui-info-soft)}
html body:has(.staff-brand) button{background:var(--eco-surface-raised);color:var(--eco-text);border-color:var(--eco-control-border)}
html body:has(.staff-brand) button.primary{background:var(--eco-orange);color:var(--ui-on-primary);border-color:var(--eco-orange);font-weight:700}
html body:has(.staff-brand) button.primary:hover{background:var(--primary-hover)}
html body:has(.staff-brand) a:not(.staff-brand){color:var(--ui-info-ink)}
/* Legacy vendor/style.css fixes heading colors with !important. Keep the override
   here so all modules follow the same ECO contrast tokens in either theme. */
html body :is(h1,h2,h3,h4,h5,h6){color:var(--eco-text)!important}

/* Official supplied raster, kept intact. The viewport removes presentation
   whitespace in layout only; a dark holding shape preserves the white lettering. */
.eco-logo{position:relative;display:inline-block;flex:none;width:154px;aspect-ratio:2.4;overflow:hidden;background:var(--eco-logo-bg,#090b10);border-radius:8px;vertical-align:middle}
.eco-logo img{position:absolute;display:block!important;max-width:none!important;width:110%;height:auto!important;left:-5%;top:-17%;object-fit:contain}
html body .cls-brand{min-width:0}
html body .cls-brand .eco-logo{width:154px}
html body .p-header-brand .eco-logo{width:94px;border-radius:6px}
html body .staff-brand .eco-logo{width:132px}
html body :is(.p-login,.staff-login) .eco-logo{width:200px;max-width:100%}
html[data-cls-collapsed] body .cls-sidebar .cls-brand .eco-logo{width:36px;aspect-ratio:1;border-radius:8px}
html[data-cls-collapsed] body .cls-sidebar .cls-brand .eco-logo img{width:300%;left:-23%;top:-24%}
@media(max-width:991.98px){html[data-cls-collapsed] body .cls-sidebar .cls-brand .eco-logo{width:154px;aspect-ratio:2.4}html[data-cls-collapsed] body .cls-sidebar .cls-brand .eco-logo img{width:110%;left:-5%;top:-17%}}

/* Explicit active state wins the dark vendor selector. A separate marker avoids
   the curved/clipped inset shadow previously used along the rounded corner. */
html[data-theme] body .cls-sidebar .ui-nav-item:is(.is-active,.active,[aria-current="page"],[aria-current="true"]){background:var(--eco-surface-raised);color:var(--eco-accent-ink);border-radius:10px;box-shadow:none}
html[data-theme] body .cls-sidebar .ui-nav-item:is(.is-active,.active,[aria-current="page"],[aria-current="true"])::before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--eco-orange);pointer-events:none}
/* Preserve the supplied PNG transparency against dark interface surfaces. */
html[data-theme='dark'] .eco-logo{background:transparent}
html body .p-offer-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:9px 16px;background:var(--eco-surface-raised);color:var(--eco-text);border:1px solid var(--eco-control-border);border-radius:var(--ui-r-pill,999px);text-decoration:none}
html body .p-offer-tabs a:hover{background:var(--eco-surface);border-color:var(--eco-orange)}
html body .p-offer-tabs a.active{background:var(--eco-orange);border-color:var(--eco-orange);color:var(--ui-on-primary);font-weight:700}
.p-offer-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}
