/* Rizzi Store unified foundation — loaded last across all workspaces */
:root{
  --rz-brand:#2563eb;
  --rz-brand-strong:#1d4ed8;
  --rz-brand-soft:rgba(37,99,235,.11);
  --rz-brand-ring:rgba(37,99,235,.20);
  --rz-success:#16a34a;
  --rz-warning:#d97706;
  --rz-danger:#dc2626;
  --rz-info:#0284c7;
  --rz-bg:#f4f7fb;
  --rz-surface:#ffffff;
  --rz-surface-soft:#f8fafc;
  --rz-text:#0f172a;
  --rz-muted:#64748b;
  --rz-border:#dbe3ef;
  --rz-radius-xs:10px;
  --rz-radius-sm:13px;
  --rz-radius:16px;
  --rz-radius-lg:22px;
  --rz-radius-xl:28px;
  --rz-shadow-xs:0 5px 16px rgba(15,23,42,.05);
  --rz-shadow-sm:0 10px 30px rgba(15,23,42,.07);
  --rz-shadow:0 20px 55px rgba(15,23,42,.11);
  --rz-header-height:68px;
  --rz-content:1180px;
  --rz-space-1:4px;
  --rz-space-2:8px;
  --rz-space-3:12px;
  --rz-space-4:16px;
  --rz-space-5:20px;
  --rz-space-6:24px;
  --rz-space-8:32px;
  --rz-motion-fast:160ms;
  --rz-motion:240ms;
}
html[data-theme="dark"]{
  --rz-bg:#08111f;
  --rz-surface:#101b2d;
  --rz-surface-soft:#142238;
  --rz-text:#eef5ff;
  --rz-muted:#9eb0c9;
  --rz-border:#263a56;
  --rz-brand:#3b82f6;
  --rz-brand-strong:#60a5fa;
  --rz-brand-soft:rgba(59,130,246,.15);
  --rz-brand-ring:rgba(59,130,246,.25);
  --rz-shadow-xs:0 6px 18px rgba(0,0,0,.18);
  --rz-shadow-sm:0 12px 32px rgba(0,0,0,.22);
  --rz-shadow:0 24px 62px rgba(0,0,0,.30);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.rz-admin-v4,body.rs-app,body.jb-app,body.rzx-app,body.rz-store-v4,body.rz-store-premium{
  color:var(--rz-text)!important;
  background-color:var(--rz-bg)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.rz-admin-v4,body.rs-app,body.jb-app{background-image:radial-gradient(circle at 12% -15%,var(--rz-brand-soft),transparent 32rem)!important}
::selection{background:var(--rz-brand-ring)}
:focus-visible{outline:3px solid var(--rz-brand-ring)!important;outline-offset:2px!important}
a,button,input,select,textarea{transition:border-color var(--rz-motion-fast) ease,background-color var(--rz-motion-fast) ease,color var(--rz-motion-fast) ease,box-shadow var(--rz-motion-fast) ease,transform var(--rz-motion-fast) ease,opacity var(--rz-motion-fast) ease}
button,[role="button"],a{ -webkit-tap-highlight-color:transparent }
img{max-width:100%}

/* Shared type rhythm */
.rz-admin-v4 h1,.rz-admin-v4 h2,.rz-admin-v4 h3,
.rs-app h1,.rs-app h2,.rs-app h3,
.jb-app h1,.jb-app h2,.jb-app h3,
.rzx-app h1,.rzx-app h2,.rzx-app h3,
.rz-store-v4 h1,.rz-store-v4 h2,.rz-store-v4 h3{letter-spacing:-.025em;text-wrap:balance}
.rz-admin-v4 p,.rs-app p,.jb-app p,.rzx-app p,.rz-store-v4 p{line-height:1.65}

/* Shared cards/surfaces */
.rz-admin-v4 :is(.card,.stat-card,.action-card,.panel,.table-card,.admin-card),
.rs-app :is(.card,.rs-card,.rs-balance-card,.rs-action-card,.rs-order-card,.rs-panel),
.jb-app :is(.card,.jb-card,.jb-panel,.jb-stat,.jb-action-card,.jb-listing-card,.jb-order-card),
.rzx-app :is(.card,.glass,.glass-card,.auth-card,.buy-card,.checkout-card,.payment-card),
.rz-store-v4 :is(.card,.product-card,.category-card,.trust-card,.home-card){
  background:var(--rz-surface)!important;
  background-image:none!important;
  border:1px solid var(--rz-border)!important;
  border-radius:var(--rz-radius-lg)!important;
  color:var(--rz-text)!important;
  box-shadow:var(--rz-shadow-xs)!important;
  backdrop-filter:none!important;
}
.rz-admin-v4 :is(.card,.stat-card,.action-card,.panel,.table-card):hover,
.rs-app :is(.rs-card,.rs-action-card,.rs-order-card):hover,
.jb-app :is(.jb-card,.jb-listing-card,.jb-order-card):hover,
.rz-store-v4 :is(.product-card,.category-card):hover{
  border-color:color-mix(in srgb,var(--rz-brand) 26%,var(--rz-border))!important;
  box-shadow:var(--rz-shadow-sm)!important;
}

/* Shared buttons */
.rz-admin-v4 :is(.btn,.button,button[type="submit"]),
.rs-app :is(.btn,.rs-btn,.button,button[type="submit"]),
.jb-app :is(.btn,.jb-btn,.button,button[type="submit"]),
.rzx-app :is(.btn,.button,button[type="submit"]),
.rz-store-v4 :is(.btn,.button,button[type="submit"]){
  min-height:44px;
  border-radius:var(--rz-radius-sm)!important;
  font-weight:800!important;
  letter-spacing:-.01em;
}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.btn.primary,.button.primary,button.primary,.rs-btn.primary,.jb-btn.primary){
  background:var(--rz-brand)!important;
  background-image:none!important;
  color:#fff!important;
  border-color:var(--rz-brand)!important;
  box-shadow:0 8px 20px var(--rz-brand-ring)!important;
}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.btn.primary,.button.primary,button.primary,.rs-btn.primary,.jb-btn.primary):hover{
  background:var(--rz-brand-strong)!important;
  transform:translateY(-1px);
}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.btn.ghost,.btn.secondary,.button.secondary,.rs-btn.secondary,.jb-btn.secondary){
  background:var(--rz-surface)!important;
  color:var(--rz-text)!important;
  border:1px solid var(--rz-border)!important;
  box-shadow:none!important;
}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.btn,.button,button)[disabled]{opacity:.52!important;transform:none!important;cursor:not-allowed!important}

/* Shared fields */
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),select,textarea){
  min-height:48px!important;
  border:1px solid var(--rz-border)!important;
  border-radius:var(--rz-radius-sm)!important;
  color:var(--rz-text)!important;
  background:var(--rz-surface-soft)!important;
  box-shadow:none!important;
}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(input,select,textarea):focus{
  border-color:var(--rz-brand)!important;
  background:var(--rz-surface)!important;
  box-shadow:0 0 0 4px var(--rz-brand-soft)!important;
  outline:0!important;
}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--rz-muted) 72%,transparent)!important}

/* Shared badges/status */
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.badge,.pill,.status-pill,.chip,.status-badge){
  border-radius:999px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.success,.is-success)[class*="badge"],
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) .status-pill.success{background:rgba(22,163,74,.12)!important;color:var(--rz-success)!important;border-color:rgba(22,163,74,.25)!important}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.warning,.pending)[class*="badge"],
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) .status-pill.warning{background:rgba(217,119,6,.12)!important;color:var(--rz-warning)!important;border-color:rgba(217,119,6,.25)!important}
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.danger,.failed)[class*="badge"],
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) .status-pill.danger{background:rgba(220,38,38,.12)!important;color:var(--rz-danger)!important;border-color:rgba(220,38,38,.25)!important}

/* Shared top bars */
.rz-admin-v4 .topbar,.rs-app .rs-topbar,.jb-app .jb-topbar,.rzx-app .topbar,.rz-store-v4 .topbar{
  min-height:var(--rz-header-height)!important;
  background:color-mix(in srgb,var(--rz-surface) 90%,transparent)!important;
  border-bottom:1px solid var(--rz-border)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px)!important;
}
.rz-admin-v4 .topbar,.rs-app .rs-topbar,.jb-app .jb-topbar{position:sticky!important;top:0!important;z-index:80!important}

/* Admin: calmer operational workspace */
.rz-admin-v4{
  --admin-accent:var(--rz-brand)!important;
  --admin-bg:var(--rz-bg)!important;
  --admin-card:var(--rz-surface)!important;
  --admin-text:var(--rz-text)!important;
  --admin-muted:var(--rz-muted)!important;
  --admin-line:var(--rz-border)!important;
}
.rz-admin-v4 .sidebar{
  background:var(--rz-surface)!important;
  border-right:1px solid var(--rz-border)!important;
  box-shadow:none!important;
}
.rz-admin-v4 .sidebar-brand{min-height:var(--rz-header-height);border-bottom:1px solid var(--rz-border)!important}
.rz-admin-v4 .sidebar a,.rz-admin-v4 .sidebar button{border-radius:12px!important}
.rz-admin-v4 .sidebar a.active,.rz-admin-v4 .sidebar .active>a{
  background:var(--rz-brand-soft)!important;
  color:var(--rz-brand)!important;
  box-shadow:none!important;
}
.rz-admin-v4 .sidebar a.active::before{background:var(--rz-brand)!important;border-radius:999px!important}
.rz-admin-v4 .admin-main,.rz-admin-v4 .content{background:transparent!important}
.rz-admin-v4 .stat-card{padding:20px!important}
.rz-admin-v4 table{border-collapse:separate!important;border-spacing:0!important}
.rz-admin-v4 th{color:var(--rz-muted)!important;background:var(--rz-surface-soft)!important;font-size:12px!important;text-transform:none!important;letter-spacing:.01em!important}
.rz-admin-v4 td,.rz-admin-v4 th{border-color:var(--rz-border)!important}

/* Reseller: same family as store, slightly operational */
.rs-app{
  --rs-primary:var(--rz-brand)!important;
  --rs-bg:var(--rz-bg)!important;
  --rs-card:var(--rz-surface)!important;
  --rs-text:var(--rz-text)!important;
  --rs-muted:var(--rz-muted)!important;
  --rs-line:var(--rz-border)!important;
}
.rs-app .rs-sidebar{background:var(--rz-surface)!important;border-right:1px solid var(--rz-border)!important;box-shadow:none!important}
.rs-app .rs-sidebar a.active{background:var(--rz-brand-soft)!important;color:var(--rz-brand)!important;box-shadow:none!important}
.rs-app .rs-balance-card{background:linear-gradient(145deg,var(--rz-brand),var(--rz-brand-strong))!important;color:#fff!important;border:0!important;box-shadow:0 18px 45px var(--rz-brand-ring)!important}
.rs-app .rs-bottom-nav a.active,.rs-app .reseller-bottom-nav a.active{background:var(--rz-brand-soft)!important;color:var(--rz-brand)!important}

/* JB: preserve workflow hierarchy while sharing visual grammar */
.jb-app{
  --accent:var(--rz-brand)!important;
  --bg:var(--rz-bg)!important;
  --card:var(--rz-surface)!important;
  --text:var(--rz-text)!important;
  --muted:var(--rz-muted)!important;
  --line:var(--rz-border)!important;
}
.jb-app .jb-sidebar{background:var(--rz-surface)!important;border-right:1px solid var(--rz-border)!important;box-shadow:none!important}
.jb-app .jb-sidebar a.active{background:var(--rz-brand-soft)!important;color:var(--rz-brand)!important;box-shadow:none!important}
.jb-app .jb-topbar-inner{min-height:var(--rz-header-height)!important}
.jb-app .jb-bottom-nav a.active{background:var(--rz-brand-soft)!important;color:var(--rz-brand)!important}
.jb-app .jb-action-card{border-color:color-mix(in srgb,var(--rz-brand) 35%,var(--rz-border))!important;box-shadow:0 14px 38px var(--rz-brand-soft)!important}
.jb-app .timeline,.jb-app .jb-timeline{--timeline-accent:var(--rz-brand)}

/* Store/customer */
.rzx-app,.rz-store-v4,.rz-store-premium{
  --accent:var(--rz-brand)!important;
  --bg:var(--rz-bg)!important;
  --card:var(--rz-surface)!important;
  --surface:var(--rz-surface)!important;
  --surface2:var(--rz-surface-soft)!important;
  --soft:var(--rz-surface-soft)!important;
  --text:var(--rz-text)!important;
  --muted:var(--rz-muted)!important;
  --line:var(--rz-border)!important;
}
.rzx-app .container,.rz-store-v4 .container,.rz-store-premium .container{width:min(var(--rz-content),calc(100% - 32px))!important}
.rzx-app .product-card,.rz-store-v4 .product-card{overflow:hidden}
.rzx-app .product-card:hover,.rz-store-v4 .product-card:hover{transform:translateY(-2px)!important}
.rzx-app .buyer-bottom-nav,.rz-store-v4 .buyer-bottom-nav{box-shadow:0 12px 38px rgba(15,23,42,.14)!important}
.rzx-app .buyer-bottom-nav a.active,.rz-store-v4 .buyer-bottom-nav a.active{background:var(--rz-brand-soft)!important;color:var(--rz-brand)!important}

/* Navigation consistency */
.buyer-bottom-nav,.jb-bottom-nav,.reseller-bottom-nav,.rs-bottom-nav{
  border:1px solid var(--rz-border)!important;
  background:color-mix(in srgb,var(--rz-surface) 94%,transparent)!important;
  backdrop-filter:blur(18px)!important;
}
:is(.buyer-bottom-nav,.jb-bottom-nav,.reseller-bottom-nav,.rs-bottom-nav) a{
  min-height:52px!important;
  border-radius:14px!important;
  color:var(--rz-muted)!important;
}
:is(.buyer-bottom-nav,.jb-bottom-nav,.reseller-bottom-nav,.rs-bottom-nav) a.active{
  color:var(--rz-brand)!important;
  background:var(--rz-brand-soft)!important;
}
:is(.buyer-bottom-nav,.jb-bottom-nav,.reseller-bottom-nav,.rs-bottom-nav) svg{width:21px!important;height:21px!important;stroke:currentColor!important}
:is(.buyer-bottom-nav,.jb-bottom-nav,.reseller-bottom-nav,.rs-bottom-nav) :is(b,small){font-size:10px!important;font-weight:800!important;line-height:1.1!important}

/* Unified alerts/toasts/empty states */
:is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) .alert{
  border-radius:var(--rz-radius)!important;
  border:1px solid var(--rz-border)!important;
  background:var(--rz-surface-soft)!important;
  color:var(--rz-text)!important;
  box-shadow:none!important;
}
.rz-empty,.empty-state,.rs-empty,.jb-empty{
  border:1px dashed color-mix(in srgb,var(--rz-muted) 38%,var(--rz-border))!important;
  background:var(--rz-surface-soft)!important;
  border-radius:var(--rz-radius-lg)!important;
  color:var(--rz-muted)!important;
  text-align:center;
  padding:32px 20px!important;
}
.rz-foundation-toast-stack{position:fixed;right:18px;top:82px;z-index:9999;display:grid;gap:10px;pointer-events:none}
.rz-foundation-toast{min-width:240px;max-width:min(380px,calc(100vw - 32px));padding:13px 15px;border:1px solid var(--rz-border);border-radius:14px;background:var(--rz-surface);color:var(--rz-text);box-shadow:var(--rz-shadow-sm);font-size:13px;font-weight:750;transform:translateY(-6px);opacity:0;transition:.22s ease}
.rz-foundation-toast.show{transform:none;opacity:1}

/* Subtle entrance, no noisy animation */
html.rz-foundation-ready :is(.rz-admin-v4 .page-content,.rs-app main,.jb-app .jb-main,.rzx-app main,.rz-store-v4 main){animation:rzFoundationIn .28s ease both}
@keyframes rzFoundationIn{from{opacity:.01;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Mobile polish */
@media(max-width:760px){
  :root{--rz-header-height:62px;--rz-radius-lg:19px;--rz-radius-xl:23px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  body.rz-admin-v4{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .rz-admin-v4 :is(.card,.stat-card,.action-card,.panel,.table-card),
  .rs-app :is(.rs-card,.rs-order-card,.rs-panel),
  .jb-app :is(.jb-card,.jb-panel,.jb-action-card),
  .rzx-app :is(.card,.glass,.auth-card,.buy-card),
  .rz-store-v4 :is(.card,.product-card){border-radius:var(--rz-radius-lg)!important}
  :is(.rz-admin-v4,.rs-app,.jb-app,.rzx-app,.rz-store-v4) :is(.btn,.button,button){min-height:46px}
  .rzx-app .container,.rz-store-v4 .container,.rz-store-premium .container{width:min(100% - 24px,var(--rz-content))!important}
  .rz-foundation-toast-stack{left:12px;right:12px;top:72px}.rz-foundation-toast{max-width:none;width:100%}
}
