:root{--rx-bg:#f2f4f7;--rx-surface:#ffffff;--rx-surface-2:#f8fafc;--rx-text:#182230;--rx-muted:#667085;--rx-border:#dfe3e8;--rx-accent:#c62828;--rx-accent-hover:#a91f1f;--rx-shadow:0 8px 28px rgba(16,24,40,.08);--rx-input:#fff;--rx-sidebar:#171a1f;--rx-sidebar-text:#e8eaed}
html[data-rebx-theme="dark"]{--rx-bg:#0f1115;--rx-surface:#181b20;--rx-surface-2:#20242a;--rx-text:#f3f4f6;--rx-muted:#a7adb7;--rx-border:#30353d;--rx-accent:#ef5350;--rx-accent-hover:#ff6b68;--rx-shadow:0 10px 30px rgba(0,0,0,.28);--rx-input:#20242a;--rx-sidebar:#0b0d10;--rx-sidebar-text:#f5f5f5;color-scheme:dark}
html,body{background:var(--rx-bg)!important;color:var(--rx-text)!important}
body,.content-wrapper,.rebx-page-shell,.shop-page,.checkout-page{background:var(--rx-bg)!important;color:var(--rx-text)!important}
.card,.modal-content,.dropdown-menu,.rebx-card,.rebx-panel,.order-card,.gatepass-card,.ecommerce-product{background:var(--rx-surface)!important;color:var(--rx-text)!important;border-color:var(--rx-border)!important;box-shadow:var(--rx-shadow)}
.card-header,.card-footer,.modal-header,.modal-footer{background:var(--rx-surface)!important;border-color:var(--rx-border)!important}.text-muted,.rebx-subtitle,.empty-state{color:var(--rx-muted)!important}
.form-control,.custom-select,.input-group-text{background:var(--rx-input)!important;color:var(--rx-text)!important;border-color:var(--rx-border)!important}.form-control:focus,.custom-select:focus{background:var(--rx-input)!important;color:var(--rx-text)!important;border-color:var(--rx-accent)!important;box-shadow:0 0 0 .2rem rgba(198,40,40,.12)}
.table{color:var(--rx-text)!important}.table td,.table th,.rebx-table td,.rebx-table thead th{border-color:var(--rx-border)!important}.table-hover tbody tr:hover{color:var(--rx-text)!important;background:var(--rx-surface-2)!important}
.shop-navbar,.rebx-navbar,.navbar-white{background:var(--rx-surface)!important;border-color:var(--rx-border)!important}.shop-nav-link,.shop-brand,.navbar-light .navbar-nav .nav-link{color:var(--rx-text)!important}.shop-hero{background:linear-gradient(135deg,var(--rx-surface),var(--rx-surface-2))!important;color:var(--rx-text)!important;border-bottom:1px solid var(--rx-border)}
.mobile-shop-nav{background:var(--rx-surface)!important;border-top:1px solid var(--rx-border)!important}.mobile-shop-nav a{color:var(--rx-muted)!important}.mobile-shop-nav a.active{color:var(--rx-accent)!important}
.btn-danger,.btn-rebx,.btn-primary{background:var(--rx-accent)!important;border-color:var(--rx-accent)!important;color:#fff!important}.btn-danger:hover,.btn-rebx:hover,.btn-primary:hover{background:var(--rx-accent-hover)!important;border-color:var(--rx-accent-hover)!important}.btn-outline-danger,.btn-rebx-outline{color:var(--rx-accent)!important;border-color:var(--rx-accent)!important;background:transparent!important}
.main-sidebar,.sidebar-dark-primary{background:var(--rx-sidebar)!important}.main-sidebar .nav-link,.main-sidebar .brand-link{color:var(--rx-sidebar-text)!important}.content-header h1,.content-header h2{color:var(--rx-text)!important}
.rebx-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--rx-border);background:var(--rx-surface);color:var(--rx-text);cursor:pointer;transition:.2s}.rebx-theme-toggle:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.1)}.rebx-theme-toggle .theme-dark-icon{display:none}html[data-rebx-theme="dark"] .rebx-theme-toggle .theme-light-icon{display:none}html[data-rebx-theme="dark"] .rebx-theme-toggle .theme-dark-icon{display:inline}
.rebx-sidebar-theme{margin:14px 10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;width:calc(100% - 20px);text-align:left}.rebx-sidebar-theme span:last-child{float:right}

/* RebX 2.1.2 - complete Bootstrap 4.6 light/dark component coverage */
html[data-rebx-theme="dark"] .bg-light,
html[data-rebx-theme="dark"] .bg-white{background-color:var(--rx-surface)!important}
html[data-rebx-theme="dark"] .text-dark{color:var(--rx-text)!important}
html[data-rebx-theme="dark"] .border,
html[data-rebx-theme="dark"] .border-top,
html[data-rebx-theme="dark"] .border-bottom,
html[data-rebx-theme="dark"] .border-left,
html[data-rebx-theme="dark"] .border-right{border-color:var(--rx-border)!important}

/* Store Regular / Promo switcher */
.shop-toolbar .nav{gap:6px}
.shop-toolbar .nav-link{color:var(--rx-muted)!important;background:transparent!important;border:1px solid transparent!important;border-radius:10px!important;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.shop-toolbar .nav-link:hover{color:var(--rx-text)!important;background:var(--rx-surface-2)!important;border-color:var(--rx-border)!important}
.shop-toolbar .nav-link.active,.shop-toolbar .nav .active{color:#fff!important;background:var(--rx-accent)!important;border-color:var(--rx-accent)!important;border-bottom-color:var(--rx-accent)!important}
html[data-rebx-theme="dark"] .shop-toolbar{background:var(--rx-surface)!important;border-color:var(--rx-border)!important}
html[data-rebx-theme="dark"] .shop-toolbar .nav-link{color:var(--rx-muted)!important}
html[data-rebx-theme="dark"] .shop-toolbar .nav-link:hover{color:var(--rx-text)!important;background:var(--rx-surface-2)!important}
html[data-rebx-theme="dark"] .shop-toolbar .nav-link.active,html[data-rebx-theme="dark"] .shop-toolbar .nav .active{color:#fff!important;background:var(--rx-accent)!important;border-color:var(--rx-accent)!important}

/* Bootstrap components */
.nav-tabs{border-bottom-color:var(--rx-border)!important}.nav-tabs .nav-link{color:var(--rx-muted)!important}.nav-tabs .nav-link:hover{border-color:var(--rx-border)!important;color:var(--rx-text)!important}.nav-tabs .nav-link.active{background:var(--rx-surface)!important;color:var(--rx-text)!important;border-color:var(--rx-border) var(--rx-border) var(--rx-surface)!important}
.nav-pills .nav-link{color:var(--rx-muted)!important}.nav-pills .nav-link.active{background:var(--rx-accent)!important;color:#fff!important}
.dropdown-item{color:var(--rx-text)!important}.dropdown-item:hover,.dropdown-item:focus{background:var(--rx-surface-2)!important;color:var(--rx-text)!important}.dropdown-divider{border-top-color:var(--rx-border)!important}
.page-link{background:var(--rx-surface)!important;border-color:var(--rx-border)!important;color:var(--rx-text)!important}.page-item.active .page-link{background:var(--rx-accent)!important;border-color:var(--rx-accent)!important;color:#fff!important}.page-item.disabled .page-link{background:var(--rx-surface-2)!important;color:var(--rx-muted)!important}
.list-group-item{background:var(--rx-surface)!important;color:var(--rx-text)!important;border-color:var(--rx-border)!important}
.close{color:var(--rx-text)!important;text-shadow:none!important;opacity:.7}.close:hover{color:var(--rx-text)!important;opacity:1}
.custom-control-label:before{background:var(--rx-input)!important;border-color:var(--rx-border)!important}.custom-control-input:checked~.custom-control-label:before{background:var(--rx-accent)!important;border-color:var(--rx-accent)!important}

/* DataTables */
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{color:var(--rx-muted)!important}.dataTables_wrapper input,.dataTables_wrapper select{background:var(--rx-input)!important;color:var(--rx-text)!important;border:1px solid var(--rx-border)!important;border-radius:8px;padding:6px 9px}.dataTables_wrapper .dataTables_paginate .paginate_button{color:var(--rx-text)!important;border-radius:8px!important}.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--rx-accent)!important;color:#fff!important;border-color:var(--rx-accent)!important}

/* Theme-safe commerce surfaces */
html[data-rebx-theme="dark"] .ecommerce-product .card-img-top,html[data-rebx-theme="dark"] .card-products .card-img-top,html[data-rebx-theme="dark"] .ecommerce-card-footer,html[data-rebx-theme="dark"] .card-products .card-footer,html[data-rebx-theme="dark"] .cart-item-img{background:var(--rx-surface)!important}
html[data-rebx-theme="dark"] .product-name,html[data-rebx-theme="dark"] .shop-brand span{color:var(--rx-text)!important}
html[data-rebx-theme="dark"] .cart-item-qty,html[data-rebx-theme="dark"] .cart-summary,html[data-rebx-theme="dark"] .payment-panel{background:var(--rx-surface-2)!important;color:var(--rx-text)!important;border-color:var(--rx-border)!important}
html[data-rebx-theme="dark"] .cart-remove,html[data-rebx-theme="dark"] .cart-pill{background:rgba(239,83,80,.13)!important;color:var(--rx-accent)!important}

/* RebX 2.4.2.3 — authoritative UI baseline and typography */
:root{
  --rx-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --rx-font-size:14px;
  --rx-line-height:1.5;
}
html,body,button,input,select,textarea,.btn,.form-control,.custom-select,.dropdown-menu,.table,.modal,.navbar,.nav,.card{
  font-family:var(--rx-font)!important;
}
html{font-size:16px}
body{font-size:var(--rx-font-size)!important;line-height:var(--rx-line-height)!important;font-weight:400;letter-spacing:0}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--rx-font)!important;color:var(--rx-text);font-weight:700;letter-spacing:-.02em;line-height:1.22}
label,.font-weight-bold{font-weight:600!important}
.btn{font-weight:600;letter-spacing:0}.table th{font-weight:650}.dropdown-item,.nav-link,.shop-nav-link{font-weight:600}

/* Consistent spacing */
.content-wrapper>.content,.rebx-page-shell{padding-bottom:32px}.content-header{padding-top:22px;padding-bottom:14px}
.card-body{padding:1.25rem}.card-header{padding:1rem 1.25rem}.modal-body{padding:1.35rem}.modal-header,.modal-footer{padding:1rem 1.25rem}
.form-group{margin-bottom:1.1rem}.form-control,.custom-select{min-height:42px}

/* Login spacing — desktop, tablet, mobile */
.login-shell{min-height:100vh!important;padding:40px 20px!important}
.login-wrap{max-width:980px!important;margin:auto!important}
.login-brand{padding:52px!important}
.login-form{padding:56px 52px!important}
@media(max-width:991.98px){.login-brand{padding:40px!important}.login-form{padding:44px 38px!important}}
@media(max-width:767.98px){.login-shell{padding:20px 12px!important}.login-form{padding:36px 24px!important}.login-wrap{margin:0!important;width:100%!important}.login-form .mb-5{margin-bottom:2rem!important}}
@media(max-width:359.98px){.login-form{padding:28px 18px!important}}
