:root{--blue:#0d6efd;--blue2:#60a5fa;--dark:#0f172a;--bg:#f4f7fb;--side:#0f172a;--side2:#111827;--sideText:#f8fafc;--sideMuted:#cbd5e1;--sideHover:#1e293b;--sideActive:#2563eb;--line:#e5e7eb;--card:#fff}.login-bg{background:linear-gradient(135deg,#0d6efd,#46b4ff)}.login-card{border:0;border-radius:18px}.app-shell{min-height:100vh;display:flex;background:var(--bg);color:#111827}.sidebar{width:292px;background:var(--side);color:var(--sideText);flex:0 0 292px;border-right:1px solid rgba(255,255,255,.06)}.sidebar .brand{background:#08111f;border-bottom:1px solid rgba(255,255,255,.08)}.brand-title{font-size:1.08rem;font-weight:800;color:#fff}.brand-sub{font-size:.78rem;color:#93c5fd;margin-top:2px}.sidebar .offcanvas-body{overflow-y:auto;max-height:100vh}.sidebar a.nav-link,.sidebar .nav-link{display:block;color:#f8fafc!important;text-decoration:none;padding:10px 18px;border-left:4px solid transparent;font-weight:700;line-height:1.25;border-radius:0}.sidebar a.nav-link.sub{padding:9px 18px 9px 42px;color:#e5e7eb!important;font-weight:650;font-size:.94rem}.sidebar a.nav-link:hover{background:var(--sideHover);border-left-color:#60a5fa;color:#fff!important}.sidebar a.nav-link.active{background:linear-gradient(90deg,rgba(37,99,235,.95),rgba(37,99,235,.22));border-left-color:#bfdbfe;color:#fff!important}.logout-link{margin-top:8px;color:#fecaca!important}.logout-link:hover{background:#7f1d1d!important;border-left-color:#f87171!important}.menu-toggle{width:100%;border:0;background:#172033;color:#f8fafc;text-align:left;padding:12px 16px;margin-top:6px;font-size:.82rem;text-transform:uppercase;font-weight:850;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}.menu-toggle:hover{background:#1f2a44;color:white}.menu-toggle span{transition:transform .2s ease;color:#bfdbfe}.menu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}.main{flex:1;min-width:0}.topbar{height:62px;background:white;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:10;box-shadow:0 1px 5px rgba(15,23,42,.04)}.content{padding:18px}.page-title{font-size:1.55rem;font-weight:850;color:#0f172a}.card{border:0;border-radius:14px;box-shadow:0 2px 10px rgba(15,23,42,.06);background:#fff}.stat{padding:18px}.stat .num{font-size:1.7rem;font-weight:850}.table{margin-bottom:0}.table th{white-space:nowrap;cursor:pointer;background:#f8fafc;color:#334155;font-size:.82rem;text-transform:uppercase}.table td{vertical-align:middle}.table-hover tbody tr:hover{background:#f8fbff}.desc-line{font-size:.83rem;color:#64748b}.product-name-cell{min-width:260px}.modal-xl{--bs-modal-width:1120px}.qty-mode .btn.active{background:#0d6efd;color:white}.filter-row .form-control,.filter-row .form-select{min-width:150px}.btn{font-weight:650;border-radius:.55rem}.form-control,.form-select{border-radius:.55rem}.table-responsive{border-radius:14px;border:1px solid #edf2f7}.badge{font-weight:750}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.toolbar-left,.toolbar-right{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.export-note{font-size:.78rem;color:#64748b}.selected-count{font-size:.78rem;font-weight:700;color:#2563eb}.required:after{content:' *';color:#dc2626}.sticky-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px;margin:16px -16px -16px}.print-only{display:none}@media print{.sidebar,.topbar,.btn,.toolbar,input[type=checkbox],.no-print{display:none!important}.main,.content{padding:0!important}.card{box-shadow:none;border:0}.table-responsive{border:0;overflow:visible}.print-only{display:block}.table th,.table td{font-size:11px;padding:4px}.sn{font-weight:700}}@media(max-width:991px){.app-shell{display:block}.main{width:100%}.sidebar{width:300px}.content{padding:12px}.table-responsive{font-size:.9rem}.topbar{height:auto;min-height:58px}.btn-group{flex-wrap:wrap}.toolbar{display:block}.toolbar-left,.toolbar-right{margin-top:.5rem}.card{border-radius:12px}.page-title{font-size:1.35rem}}/* Fallback if Bootstrap CSS is blocked */.collapse:not(.show){display:none}.collapse.show{display:block}.row{display:flex;flex-wrap:wrap;margin-left:-.5rem;margin-right:-.5rem}.g-2>*{padding:.25rem}.g-3>*{padding:.5rem}.col-6{width:50%}.col-md-3{width:25%}.col-md-4{width:33.3333%}.col-md-5{width:41.6667%}.col-md-7{width:58.3333%}.col-md-8{width:66.6667%}.col-lg-8{width:66.6667%}.col-lg-4{width:33.3333%}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.5rem;border-bottom:1px solid #e5e7eb}.btn{display:inline-block;padding:.375rem .75rem;text-decoration:none;border:1px solid transparent}.btn-primary{background:#0d6efd;color:#fff}.btn-success{background:#198754;color:#fff}.btn-secondary{background:#6c757d;color:#fff}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-primary{border-color:#0d6efd;color:#0d6efd}.btn-outline-secondary{border-color:#6c757d;color:#495057}.badge{display:inline-block;padding:.35em .65em;border-radius:.375rem}@media(max-width:991px){.col-md-3,.col-md-4,.col-md-5,.col-md-7,.col-md-8,.col-lg-8,.col-lg-4{width:100%}}


/* V18 sidebar readability and collapse menu fix */
html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#f4f7fb;color:#111827}
.app-shell{min-height:100vh;display:flex!important;background:#f4f7fb}.sidebar{width:300px!important;flex:0 0 300px!important;background:#0b1220!important;color:#f8fafc!important;border-right:1px solid rgba(255,255,255,.08);min-height:100vh}.sidebar .brand{padding:16px 18px!important;background:#07101d!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.sidebar .brand,.sidebar .brand *,.brand-title{color:#fff!important}.brand-sub{font-size:.78rem;color:#93c5fd!important}.sidebar .offcanvas-body{display:block!important;background:#0b1220!important;padding:0!important;overflow-y:auto;max-height:100vh}.sidebar a,.sidebar a:link,.sidebar a:visited,.sidebar .nav-link{display:block!important;color:#e8f1ff!important;text-decoration:none!important;padding:10px 18px!important;border-left:4px solid transparent!important;font-weight:700!important;line-height:1.25!important}.sidebar a.sub,.sidebar a.nav-link.sub{padding-left:42px!important;color:#dbeafe!important;font-size:.94rem!important;font-weight:650!important}.sidebar a:hover,.sidebar .nav-link:hover{background:#172554!important;color:#fff!important;border-left-color:#60a5fa!important}.sidebar a.active,.sidebar .nav-link.active{background:linear-gradient(90deg,#2563eb,rgba(37,99,235,.25))!important;color:#fff!important;border-left-color:#bfdbfe!important}.sidebar .menu-head{padding:14px 18px 5px!important;color:#93c5fd!important;font-size:.76rem!important;text-transform:uppercase!important;font-weight:850!important;letter-spacing:.04em!important}.menu-toggle{width:100%!important;border:0!important;background:#111c31!important;color:#f8fafc!important;text-align:left!important;padding:12px 16px!important;margin:6px 0 0!important;font-size:.82rem!important;text-transform:uppercase!important;font-weight:850!important;letter-spacing:.04em!important;display:flex!important;justify-content:space-between!important;align-items:center!important;border-top:1px solid rgba(255,255,255,.05)!important;border-bottom:1px solid rgba(255,255,255,.05)!important;cursor:pointer!important}.menu-toggle:hover{background:#1e2a44!important;color:#fff!important}.menu-toggle span{color:#bfdbfe!important}.menu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}.collapse:not(.show){display:none!important}.collapse.show{display:block!important}.main{flex:1!important;min-width:0!important}.topbar{height:62px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:10}.content{padding:18px}.page-title{color:#0f172a!important}.card{background:#fff}.logout-link,.sidebar a.logout-link{color:#fecaca!important}.logout-link:hover{background:#7f1d1d!important;border-left-color:#f87171!important}@media(max-width:991px){.app-shell{display:block!important}.sidebar{position:fixed!important;left:-310px;top:0;bottom:0;z-index:1050;transition:left .2s ease;width:300px!important}.sidebar.show{left:0}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1040}.sidebar-backdrop.show{display:block}.mobile-menu-btn{display:inline-block}.main{width:100%!important}.content{padding:12px}}

/* V25 product image thumbnails and zoom */
.product-thumb{width:58px;height:58px;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.10)}
.product-thumb:hover{transform:scale(1.04);box-shadow:0 4px 12px rgba(15,23,42,.18)}
.product-image-gallery{display:flex;flex-wrap:wrap;gap:.5rem}.product-image-gallery a{display:inline-block}.zoomable-img{cursor:zoom-in}.image-url-cell{font-size:.75rem;color:#64748b;max-width:260px;word-break:break-all}

/* V42 Marketing targeting panels - does not change sidebar colours */
.target-box{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff;min-height:260px;box-shadow:0 1px 4px rgba(15,23,42,.04)}
.target-title{font-weight:800;margin-bottom:8px;color:#0f172a}.target-list{max-height:210px;overflow:auto}.target-row{padding:4px 2px;border-radius:6px}.target-row:hover{background:#f8fafc}.target-box hr{margin:.45rem 0}.target-box label{cursor:pointer}.target-box input[type="checkbox"]{margin-right:6px}
