
/* Blue&White Theme — Hotfix v6 */
:root{--bw-bg:#f8fbff;--bw-surface:#fff;--bw-text:#0f172a;--bw-muted:#64748b;--bw-primary:#1d4ed8;--bw-primary-600:#1e40af;--bw-primary-100:#e0e7ff;--bw-accent:#60a5fa;--bw-border:#e5e7eb;--bw-shadow:0 10px 30px rgba(2,6,23,.06)}
body{background:radial-gradient(1200px 700px at 85% -10%, rgba(29,78,216,.10), transparent 60%),radial-gradient(900px 550px at -10% -10%, rgba(96,165,250,.12), transparent 60%),var(--bw-bg) url('../img/bg-dots.png') repeat;color:var(--bw-text)}
.navbar{background:rgba(255,255,255,.85)!important;border-bottom:1px solid var(--bw-border);backdrop-filter:saturate(160%) blur(8px);box-shadow:0 6px 24px rgba(2,6,23,.06)}
.navbar .navbar-brand{font-weight:800;color:var(--bw-text)!important;letter-spacing:.3px}
.navbar .navbar-nav .nav-link{color:var(--bw-text)!important;opacity:.85;font-weight:600;position:relative;transition:opacity .15s}
.navbar .navbar-nav .nav-link:hover{opacity:1}
.navbar .navbar-nav .nav-link.active,.navbar .navbar-nav .nav-link[aria-current="page"]{color:var(--bw-primary)!important;opacity:1}
.navbar .navbar-nav .nav-link.active::after,.navbar .navbar-nav .nav-link[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-10px;height:3px;background:linear-gradient(90deg,var(--bw-primary),var(--bw-accent));border-radius:3px}
.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-brand{color:var(--bw-text)!important}
.navbar-dark{background:rgba(255,255,255,.85)!important}
/* right-top text/buttons */
.navbar .navbar-text,.navbar .dropdown-toggle,.navbar .btn,.navbar .btn-link,.navbar .btn-outline-light,.navbar .btn-light,.navbar .text-white,.navbar .text-light{color:var(--bw-text)!important}
.navbar .btn-outline-light{border-color:var(--bw-border)!important;background:rgba(255,255,255,.6);color:var(--bw-text)!important}
.navbar .btn-outline-light:hover{background:var(--bw-primary-100);color:var(--bw-primary-600)!important;border-color:var(--bw-primary-100)!important}
/* Surfaces */
.card,.dropdown-menu,.modal-content,.offcanvas,.list-group,.toast{background:var(--bw-surface)!important;border:1px solid var(--bw-border)!important;border-radius:14px;box-shadow:var(--bw-shadow)}
.card .card-header{background:linear-gradient(180deg,#fff,#f7faff);border-bottom:1px solid var(--bw-border)}
.section-title{font-weight:800;color:var(--bw-text);margin:1.2rem 0 .8rem}
.btn-primary{background:linear-gradient(180deg,var(--bw-primary),var(--bw-primary-600));border:0;box-shadow:0 6px 16px rgba(29,78,216,.25)}
.btn-outline-primary{color:var(--bw-primary);border-color:var(--bw-primary)}
.btn-outline-primary:hover{background:var(--bw-primary-100);border-color:var(--bw-primary-100);color:var(--bw-primary-600)}
.form-control,.form-select{border-radius:12px;border-color:var(--bw-border);background:var(--bw-surface);color:var(--bw-text)}
.form-control:focus,.form-select:focus{border-color:var(--bw-primary-600);box-shadow:0 0 0 .2rem rgba(29,78,216,.15)}
.text-muted{color:var(--bw-muted)!important}
.table{--bs-table-striped-bg:rgba(29,78,216,.03);--bs-table-hover-bg:rgba(29,78,216,.05)}

/* Product grid scoped */
.g-products .card .card-img-top,.g-products .card img{object-fit:contain;background:#fff;border-bottom:1px solid var(--bw-border)}
.g-products .card .card-title{font-weight:700;color:var(--bw-text)}
.g-products .card .price{color:var(--bw-primary-600);font-weight:800;letter-spacing:.2px}
.page-link{color:var(--bw-primary)}
.page-item.active .page-link{background:var(--bw-primary);border-color:var(--bw-primary)}

/* Floating announcement bar */
#floating-announcement{position:fixed;left:50%;transform:translateX(-50%);z-index:1040;width:min(880px, calc(100% - 32px));
  background:rgba(255,255,255,.97);backdrop-filter:saturate(160%) blur(8px);
  border:1px solid var(--bw-border);border-radius:14px;box-shadow:var(--bw-shadow);padding:10px 14px}
#floating-announcement .bw-ann-inner{display:flex;align-items:center;gap:.75rem}
#floating-announcement:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:14px 0 0 14px;background:linear-gradient(180deg,var(--bw-primary),var(--bw-accent))}
#floating-announcement, #floating-announcement *{color:var(--bw-text)!important;text-shadow:none!important;mix-blend-mode:normal!important}
#floating-announcement [class*="text-"]{color:var(--bw-text)!important}
#floating-announcement [class*="opacity-"]{opacity:1!important}
#floating-announcement .bw-ann-title{font-weight:800;color:var(--bw-text)!important}
#floating-announcement a{color:var(--bw-primary)!important;text-decoration:none}
#floating-announcement a:hover{text-decoration:underline}
#floating-announcement .bw-ann-close{margin-left:auto;border:0;background:transparent;color:var(--bw-text)!important;font-size:20px;line-height:1;opacity:.7}
#floating-announcement .bw-ann-close:hover{opacity:1}
@media (max-width:576px){#floating-announcement{width:min(96vw, 880px)}}

/* DASHBOARD READABILITY OVERRIDE v7 */
.page-content, .page-content * { color: var(--bw-text) !important; }
/* ensure muted text still visible */
.page-content .text-muted { color: var(--bw-muted) !important; opacity: 1 !important; }
/* cards and tables on content area have opaque white surface */
.page-content .card,
.page-content .table,
.page-content .table th,
.page-content .table td { background: #ffffff !important; border-color: var(--bw-border) !important; }
/* chart boxes keep visible height */
.page-content .chart, .page-content [data-chart] { min-height: 220px; }


/* --- OVERRIDE: Keep primary/dark buttons' text white inside page-content (fix home product buttons) --- */
.page-content .btn-primary,
.page-content .btn-primary *,
.page-content a.btn-primary,
.page-content button.btn-primary,
.page-content .btn-dark,
.page-content .btn-dark *,
.page-content a.btn-dark,
.page-content button.btn-dark {
  color: #ffffff !important;
}

/* Optional: ensure outlined primary keeps brand color */
.page-content .btn-outline-primary,
.page-content a.btn-outline-primary,
.page-content button.btn-outline-primary {
  color: var(--bw-primary-700, #0d6efd) !important;
}


/* product image containment (no fixed width), avoids layout jump */
.card .card-img-top img,
.product-card img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
