/* STEFANI Group unified design system. Order preserved from v2026110315. */

/* Source: premium-stage4.css */
/* STEFANI Group · stage 4 · 2026110312
   Storefront and admin use the same elevation, radii and active-state language.
   All backgrounds remain the supplied theme artwork; no image is recolored. */
html[data-theme="dark"]{--s4-edge:rgba(247,194,105,.72);--s4-sheen:rgba(255,236,195,.17);--s4-halo:rgba(231,167,68,.17);--s4-media:#090a0c;--s4-shadow:rgba(0,0,0,.57)}
html[data-theme="light"]{--s4-edge:rgba(249,213,160,.83);--s4-sheen:rgba(255,246,227,.27);--s4-halo:rgba(255,217,156,.20);--s4-media:#292624;--s4-shadow:rgba(42,26,21,.38)}
/* Real storefront markup uses .pcard (not .product-card). */
.pcard,.catgrid__item,.bulkcard,.resellhero{border:1px solid var(--s4-edge)!important;border-radius:17px;box-shadow:inset 0 1px 0 var(--s4-sheen),0 9px 23px var(--s4-shadow),0 0 12px var(--s4-halo)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pcard{background:linear-gradient(150deg,var(--premium-panel-top),var(--premium-panel-bottom))!important;color:var(--premium-ink)!important;padding:9px;min-width:0}
.pcard__media{background:var(--s4-media)!important;border:1px solid rgba(246,209,152,.24);border-radius:12px;box-shadow:inset 0 2px 10px rgba(0,0,0,.23);overflow:hidden}
.pcard__media img{filter:none!important;transition:transform .25s ease}
.pcard__name{color:var(--premium-ink)!important;line-height:1.35}
.pcard__meta,.pcard__old-price{color:var(--premium-muted)!important}
.pcard__price{color:#f6cb78!important;text-shadow:0 1px 8px rgba(223,161,72,.17)}
.pcard__actions .btn{border-radius:11px;min-height:37px;touch-action:manipulation}
.pcard__actions .btn--cart-gold{border:1px solid rgba(255,228,164,.55)!important}
.pcard__actions .btn--reserve{border:1px solid rgba(255,128,188,.55)!important}
.pcard__tag{box-shadow:0 2px 7px rgba(0,0,0,.32)}
@media(hover:hover){.pcard:hover,.catgrid__item:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 var(--s4-sheen),0 14px 28px var(--s4-shadow),0 0 18px var(--s4-halo)!important}.pcard:hover .pcard__media img{transform:scale(1.025)}}
/* Consistent dimensional navigation, with explicit selection states. */
.mobilenav,.admin-mobilenav{border-top:1px solid var(--s4-edge)!important;box-shadow:0 -6px 22px var(--s4-shadow),inset 0 1px 0 var(--s4-sheen)!important}
.mobilenav__item,.admin-mobilenav a,.admin-mobilenav button{border-radius:10px;min-width:0;touch-action:manipulation}
.mobilenav__item.is-active,.admin-mobilenav .is-active{box-shadow:inset 0 1px 0 rgba(255,226,240,.33),0 0 11px rgba(241,61,145,.20)!important}
/* Admin products, warehouse, forms and table action controls. */
.admin-table-wrap,.admin-table,.filterbar,.admin-topbar__search,.stat-card,.wh-card,.panel{color:var(--premium-ink)}
.admin-table-wrap{border:1px solid var(--s4-edge)!important;border-radius:16px;box-shadow:inset 0 1px 0 var(--s4-sheen),0 10px 25px var(--s4-shadow)!important}
.admin-table th{color:var(--premium-muted)!important;border-color:rgba(240,202,151,.23)!important}
.admin-table td{border-color:rgba(240,202,151,.17)!important}
.admin-actions .icon-btn,.admin-table .icon-btn{border:1px solid var(--s4-edge)!important;border-radius:9px;box-shadow:inset 0 1px 0 var(--s4-sheen),0 3px 8px var(--s4-shadow)!important}
.admin-table .thumb,.wh-card img{border-radius:9px;background:var(--s4-media);border:1px solid rgba(239,200,149,.30)}
/* Form and dropdown contrast across both theme variants. */
html[data-theme="light"] :where(input,textarea,select)::placeholder{color:#e3d1c1!important;opacity:.92}
html[data-theme="dark"] :where(input,textarea,select)::placeholder{color:#b6a79c!important;opacity:.9}
:where(.btn,.icon-btn,.pcard__media,.catgrid__item,.mobilenav__item,.admin-mobilenav a):focus-visible{outline:2px solid #ff84bd!important;outline-offset:3px}
@media(max-width:719px){.productgrid{gap:10px}.pcard{padding:7px;border-radius:14px}.pcard__body{padding:8px 3px 4px}.pcard__actions .btn{min-height:38px;padding:8px 5px}.admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobilenav__item{min-height:43px}}
@media(prefers-reduced-motion:reduce){.pcard,.catgrid__item,.pcard__media img{transition:none!important}.pcard:hover,.catgrid__item:hover,.pcard:hover .pcard__media img{transform:none!important}}


/* Source: premium-stage5.css */
/* STEFANI Group — Stage 5 / 2026110313
   Unified admin editing experience; no changes to product photos or application logic. */
html[data-theme="dark"]{--s5-panel-a:#292321;--s5-panel-b:#171619;--s5-input-a:#252225;--s5-input-b:#171719;--s5-text:#f3e7db;--s5-muted:#c2afa2;--s5-border:rgba(225,180,111,.52);--s5-glint:rgba(255,231,189,.15);--s5-drop:rgba(0,0,0,.40);--s5-placeholder:#ad9b91}
html[data-theme="light"]{--s5-panel-a:#72635b;--s5-panel-b:#4c4544;--s5-input-a:#5d5350;--s5-input-b:#423d3c;--s5-text:#fff3e6;--s5-muted:#e2d2c4;--s5-border:rgba(250,209,153,.70);--s5-glint:rgba(255,243,222,.23);--s5-drop:rgba(51,36,31,.30);--s5-placeholder:#d6c4b5}
/* Reusable panels and editor layout, matching the same materials in both themes. */
.admin-body :is(.admin-form,.admin-split__panel,.marketplace-fields,.existing-images,.cat-add-inline){min-width:0;color:var(--s5-text)}
.admin-body :is(.admin-split__panel,.marketplace-fields,.cat-add-inline){background:linear-gradient(145deg,var(--s5-panel-a),var(--s5-panel-b))!important;border:1px solid var(--s5-border)!important;border-radius:16px!important;box-shadow:inset 0 1px 0 var(--s5-glint),0 10px 25px var(--s5-drop)!important}
.admin-body .admin-split__panel{padding:clamp(14px,2vw,24px)}
.admin-body .admin-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea),.admin-body .filterbar :is(input,select),.admin-body .form-select,.admin-body .marketplace-fields__input{background:linear-gradient(180deg,var(--s5-input-a),var(--s5-input-b))!important;color:var(--s5-text)!important;border:1px solid var(--s5-border)!important;border-radius:11px!important;box-shadow:inset 0 2px 6px rgba(0,0,0,.16),0 1px 0 var(--s5-glint)!important;min-height:42px;max-width:100%}
.admin-body :is(input,textarea)::placeholder{color:var(--s5-placeholder)!important;opacity:1!important}
.admin-body select option{background:var(--s5-input-b);color:var(--s5-text)}
.admin-body :is(.admin-form,.filterbar) :is(input,select,textarea):focus-visible{outline:2px solid #ef89b9!important;outline-offset:2px;border-color:#f0bf7b!important}
.admin-body .admin-form :is(label,.form-hint),.admin-body .marketplace-fields__name{color:var(--s5-muted)}
.admin-body .admin-form .row2{gap:clamp(10px,1.5vw,18px);min-width:0}
.admin-body :is(.quick-pick,.img-item,.avatar-sm-letter,.role-chip){border:1px solid var(--s5-border);box-shadow:inset 0 1px 0 var(--s5-glint),0 3px 9px var(--s5-drop);border-radius:10px}
.admin-body .quick-pick{color:var(--s5-text);background:linear-gradient(155deg,var(--s5-panel-a),var(--s5-panel-b))}
.admin-body .existing-images .img-item{overflow:hidden;background:var(--s5-panel-b)}
.admin-body :is(.admin-actions,.page-header__actions){display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-body :is(.btn,.icon-btn):not(:disabled){transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
@media(hover:hover){.admin-body :is(.btn,.icon-btn):not(:disabled):hover{transform:translateY(-1px)}}
.admin-body :is(.btn,.icon-btn):focus-visible{outline:2px solid #f18dbe!important;outline-offset:3px}
/* Keep editor and detail controls usable on narrow phones. */
@media(max-width:719px){.admin-body .admin-form .row2{display:grid;grid-template-columns:minmax(0,1fr)!important}.admin-body .admin-split{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.admin-body .admin-split__panel{padding:14px}.admin-body .filterbar{gap:9px}.admin-body .filterbar :is(input,select,button){min-width:0;max-width:100%}.admin-body .page-header__actions .btn{min-height:40px}.admin-body .admin-table-wrap{overscroll-behavior-x:contain}.admin-body .admin-form :is(input,select,textarea){font-size:16px}}
@media(prefers-reduced-motion:reduce){.admin-body :is(.btn,.icon-btn){transition:none!important;transform:none!important}}


/* Source: premium-stage6.css */
/* STEFANI Group — stage 6: shared overlays, notifications and interactive states.
   Deliberately presentation-only: existing dialogs, confirmations and handlers remain intact. */
html[data-theme="dark"]{--s6-surface-top:#342b29;--s6-surface-bottom:#19181b;--s6-edge:rgba(232,187,115,.55);--s6-shine:rgba(255,237,206,.16);--s6-overlay:rgba(9,8,10,.75);--s6-copy:#f7e9da;--s6-muted:#c9b7a6;--s6-shadow:rgba(0,0,0,.54)}
html[data-theme="light"]{--s6-surface-top:#827066;--s6-surface-bottom:#4d4543;--s6-edge:rgba(255,214,153,.73);--s6-shine:rgba(255,244,222,.25);--s6-overlay:rgba(35,26,26,.56);--s6-copy:#fff4e8;--s6-muted:#e9d8c7;--s6-shadow:rgba(53,37,33,.35)}
/* Consistent dimensionality in customer, auth and admin dialogs. */
:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,.admin-bell__panel,[role="dialog"]:not(.lightbox),dialog:not([class*="native"])){
 color:var(--s6-copy);background:linear-gradient(153deg,var(--s6-surface-top),var(--s6-surface-bottom))!important;
 border:1px solid var(--s6-edge)!important;border-radius:20px!important;
 box-shadow:inset 0 1px 0 var(--s6-shine),inset 0 -1px 0 rgba(0,0,0,.19),0 18px 55px var(--s6-shadow),0 0 0 1px rgba(255,220,165,.07)!important;
}
:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,.admin-bell__panel) :is(h1,h2,h3,h4){color:var(--s6-copy)}
:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,.admin-bell__panel) :is(p,small,.muted){color:var(--s6-muted)}
:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,.admin-bell__panel) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){border-radius:11px;border:1px solid var(--s6-edge);color:var(--s6-copy);background:rgba(13,12,14,.32);min-height:42px}
:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,.admin-bell__panel) :is(input,textarea,select)::placeholder{color:var(--s6-muted);opacity:.85}
:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,.admin-bell__panel) :is(button,.btn,[type="submit"]){transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,.admin-bell__panel) :is(button,.btn,[type="submit"]):not(:disabled):active{transform:translateY(1px)}
/* Shared dismiss buttons and consistent keyboard indication. */
:is(.admin-order-modal__close,.pwa-modal__x,.modal__close,[data-pwa-close]):focus-visible,
:is(button,a,input,select,textarea,[role="button"]):focus-visible{outline:2px solid #f2bd77!important;outline-offset:3px!important}
:is(.admin-order-modal__close,.pwa-modal__x,.modal__close){border-radius:12px!important;min-width:40px;min-height:40px}
/* Notifications retain their meaning, but share the same premium material. */
:is(.toast,.toast-item,.notification,.notice,.alert,.flash,.pwa-update-toast){border-radius:14px;border:1px solid var(--s6-edge);box-shadow:inset 0 1px 0 var(--s6-shine),0 9px 28px var(--s6-shadow);}
:is(.toast,.toast-item,.notification,.pwa-update-toast){background:linear-gradient(145deg,var(--s6-surface-top),var(--s6-surface-bottom));color:var(--s6-copy)}
:is(.alert-success,.notice-success,.toast--success){border-left:3px solid #7ac5a2}
:is(.alert-danger,.alert-error,.notice-error,.toast--error){border-left:3px solid #e68b96}
:is(.alert-warning,.notice-warning,.toast--warning){border-left:3px solid #eac179}
/* Keep native overlays and existing JS open/closed states; style backdrop only. */
:is(.admin-order-modal,.modal,.pwa-modal).is-open{overscroll-behavior:contain}
dialog::backdrop{background:var(--s6-overlay);backdrop-filter:blur(4px)}
@media(max-width:640px){
 :is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card,[role="dialog"]:not(.lightbox)){max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;border-radius:16px!important}
 :is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card) :is(button,.btn,[type="submit"]){min-height:42px}
}
@media(prefers-reduced-motion:reduce){:is(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card) *, :is(.toast,.toast-item,.notification){animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* Source: premium-stage7.css */
/* STEFANI Group — stage 7: responsive polish and cross-theme consistency.
   Visual-only overrides; existing component state and handlers are preserved. */
html[data-theme="dark"] {--s7-hairline:rgba(235,188,112,.48);--s7-soft:rgba(245,208,158,.11);--s7-active:#f4bd77;--s7-focus:#f7c984}
html[data-theme="light"] {--s7-hairline:rgba(255,222,172,.68);--s7-soft:rgba(255,238,211,.15);--s7-active:#ffe0a4;--s7-focus:#ffdb99}
/* Keep the material language identical on storefront and admin. */
:where(.admin-main,.admin-content,.main-content,.page-content,.container){min-width:0}
:where(.admin-table-wrap,.table-wrap,.table-responsive,.table-container){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
:where(.admin-table-wrap,.table-wrap,.table-responsive,.table-container) table{border-collapse:separate;border-spacing:0}
:where(.admin-table-wrap,.table-wrap,.table-responsive,.table-container) :is(th,td){border-bottom:1px solid var(--s7-soft);vertical-align:middle}
:where(.admin-table-wrap,.table-wrap,.table-responsive,.table-container) th{font-weight:700;letter-spacing:.015em}
:where(.admin-table-wrap,.table-wrap,.table-responsive,.table-container) tbody tr:hover{background:var(--s7-soft)}
/* Form controls including browser autofill and native select menus. */
:where(input,textarea,select){max-width:100%;font:inherit}
:where(input,textarea)::placeholder{color:var(--premium-muted);opacity:.82}
:where(input,textarea,select):disabled{opacity:.58;cursor:not-allowed}
:where(select) option{background:#292426;color:#f9efe5}
html[data-theme="light"] :where(select) option{background:#65554e;color:#fff5e7}
:where(input[type="checkbox"],input[type="radio"]){accent-color:#e5ac67}
:where(input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus){-webkit-text-fill-color:var(--premium-ink)!important;box-shadow:0 0 0 1000px var(--premium-field) inset!important;caret-color:var(--premium-ink)}
/* Prevent long product names, user emails and status labels from breaking narrow cards. */
:where(.pcard,.productcard,.product-card,.wh-card,.stat-card,.acct-card,.order-card,.admin-table-wrap) {min-width:0}
:where(.pcard,.productcard,.product-card,.wh-card,.stat-card,.acct-card,.order-card) :is(h2,h3,h4,p){overflow-wrap:anywhere}
:where(.btn,button,[role="button"]){touch-action:manipulation}
:where(.btn,button,[role="button"]):disabled{cursor:not-allowed;filter:saturate(.65);opacity:.65}
:where(.theme-toggle){flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:1px solid var(--s7-hairline)!important;border-radius:12px}
:where(.theme-toggle) svg{width:20px;height:20px}
:where(.admin-nav a,.mobilenav__item,.admin-mobilenav a):focus-visible{outline:2px solid var(--s7-focus);outline-offset:-3px}
/* Keep popovers inside the viewport without changing open/close behavior. */
:where(.admin-bell__panel,.dropdown-menu,.popover-content){max-width:min(420px,calc(100vw - 24px));overflow-wrap:anywhere}
@media(max-width:767px){
 :where(.admin-table-wrap,.table-wrap,.table-responsive,.table-container){border-radius:12px}
 :where(.pcard,.productcard,.product-card,.wh-card,.stat-card,.acct-card,.order-card){max-width:100%}
 :where(.admin-actions,.form-actions,.modal__actions){flex-wrap:wrap;gap:8px}
 :where(.admin-actions,.form-actions,.modal__actions) :is(.btn,button){max-width:100%}
 :where(.modal__dialog,.admin-order-modal__dialog,.pwa-modal__card){box-sizing:border-box;width:min(100%,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){:where(.pcard,.productcard,.product-card,.admin-table-wrap,.btn,.theme-toggle){scroll-behavior:auto;transition-duration:.01ms!important}}

