/* Shared control language. Apply colour by purpose, never by HTML element name.
   Layout belongs to each component; this sheet only supplies optical surfaces. */
:root { --tw-glass-ink:#f8fafc; --tw-glass-focus:#fbbf24; }
/* Fixed gradients disappear below the viewport in full-page/mobile rendering. */
html:has(body.tw-admin-module:not(.tw-enterprise-module)) { background:#244359 !important; }
html body.tw-admin-module:not(.tw-admin-dashboard):not(.tw-enterprise-module),
html body.tw-admin-module.tw-admin-dashboard,
html body.tw-admin-module.tw-enterprise-module { background-attachment:scroll !important; }
.tw-empty-state {grid-column:1/-1;padding:28px;border:1px solid #bcdaef33;border-radius:24px;background:#142438e0;color:#f8fafc;box-shadow:inset 0 1px #ffffff1a,0 16px 36px #0005}
.tw-empty-state p {color:#b8c8d9;line-height:1.5}
@media(max-width:500px){body.tw-admin-module .collection-flow{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}body.tw-admin-module .collection-flow li{min-width:0}}
body.tw-admin-module .share-card-header{background:linear-gradient(110deg,#426d87,#625b92)!important;border:1px solid #d3e8ff5e!important;color:#f8fafc!important}
body.tw-admin-module .share-card-header :is(h3,div,span,strong,small),body.tw-admin-module .collection-flow .active :is(strong,span){color:#f8fafc!important}

/* Unclassified actions use dark glass. Explicit classes supply a coloured role. */
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.tw-admin-btn,.btn-3d,.btn-wet-glass,.tw-btn,.pill,.customer-button,.tw-service-button,.toast-btn,.bar-btn-cart,.bar-btn-checkout){
  --tw-control-top:#35475f;--tw-control-bottom:#1b2b42;--tw-control-border:#839bb6;--tw-control-glow:#18294259;
  color:var(--tw-glass-ink);background:linear-gradient(170deg,#ffffff47 0%,transparent 39%),linear-gradient(150deg,var(--tw-control-top),var(--tw-control-bottom));
  border:1px solid var(--tw-control-border);box-shadow:inset 0 1px #ffffff7a,inset 0 -2px #0003,0 5px 16px var(--tw-control-glow);
  text-shadow:0 1px 2px #0008;backdrop-filter:blur(14px) saturate(145%);-webkit-backdrop-filter:blur(14px) saturate(145%);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.primary,.tw-btn-primary,.btn-3d-blue,.tw-tone-blue,.tw-tone-sky){--tw-control-top:#477cf4;--tw-control-bottom:#234ab9;--tw-control-border:#b6d4ff;--tw-control-glow:#356be466;color:#fff}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.success,.tw-btn-emerald,.tw-btn-success,.btn-3d-emerald,.btn-wet-emerald,.tw-tone-emerald){--tw-control-top:#16b98b;--tw-control-bottom:#087b63;--tw-control-border:#9bf5d8;--tw-control-glow:#12ad8061;color:#fff}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.danger,.tw-btn-danger,.tw-btn-red,.btn-3d-red,.btn-wet-red,.tw-tone-rose){--tw-control-top:#ec4e74;--tw-control-bottom:#ad1f4c;--tw-control-border:#ffd0df;--tw-control-glow:#e0346561;color:#fff}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.gold,.tw-btn-gold,.btn-3d-gold,.btn-wet-gold,.tw-tone-gold){--tw-control-top:#f5bd4c;--tw-control-bottom:#d78c22;--tw-control-border:#fff0af;--tw-control-glow:#efa31d66;color:#172b3d;text-shadow:0 1px #fff8}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.tw-btn-violet,.btn-3d-violet,.tw-tone-violet){--tw-control-top:#9b73e9;--tw-control-bottom:#5938ac;--tw-control-border:#dfd1ff;--tw-control-glow:#8860e161;color:#fff}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.tw-admin-btn,.btn-3d,.btn-wet-glass,.tw-btn,.pill,.customer-button,.tw-service-button):hover{filter:brightness(1.1);transform:translateY(-1px)}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(.tw-admin-btn,.btn-3d,.btn-wet-glass,.tw-btn,.pill,.customer-button,.tw-service-button):focus-visible{outline:3px solid var(--tw-glass-focus);outline-offset:3px}
body.tw-enterprise-module .enterprise-hero-actions .pill:not(.primary) {color:#17324f !important;-webkit-text-fill-color:#17324f !important;text-shadow:none !important}
body.tw-enterprise-module .enterprise-hero-actions .pill.primary {color:#fff !important;-webkit-text-fill-color:#fff !important;text-shadow:0 1px 2px #0009 !important}
body.tw-admin-module .tw-admin-topbar .btn-3d-blue,body.tw-admin-module .tw-admin-topbar .btn-3d-blue * {color:#fff !important;-webkit-text-fill-color:#fff !important}
body.tw-admin-module .tw-admin-topbar .btn-3d-gold {background:linear-gradient(150deg,#ffdf80,#e9af3f) !important;color:#1b2535 !important;-webkit-text-fill-color:#1b2535 !important;text-shadow:none !important}
:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(button,input[type=submit],input[type=button],a):disabled{cursor:not-allowed;opacity:.55;transform:none}
/* Selected filters remain gold across Store and POS. */
body.tw-pos-module :is(.pos-dept-btn.active,.pos-filter-btn.active,.pos-department-switch .active),body.tw-shop-module :is(.catbar a.active,.tw-size-btn.selected){background:linear-gradient(155deg,#ffdf75,#d99d12)!important;border-color:#ffeb9f!important;color:#17213a!important;text-shadow:none!important}
@media(prefers-reduced-motion:reduce){:is(body.tw-admin-module,body.tw-control-page,body.tw-pos-module,body.tw-shop-module) :is(button,a,input[type=submit]){transition:none!important}}
