
:root { --bnc-primary:#2563eb; --bnc-primary-rgb:37,99,235; --bnc-primary-strong:#1d4ed8; --bnc-accent:#8b5cf6; --bnc-accent-rgb:139,92,246; --bnc-body-bg:#f4f7fb; --bnc-card-bg:#ffffff; --bnc-card-border:rgba(15,23,42,.08); --bnc-text-strong:#162033; --bnc-text-soft:#5f6d85; --bnc-shadow:0 18px 45px rgba(15,23,42,.08); --bnc-shadow-soft:0 10px 25px rgba(15,23,42,.05); --bnc-radius-lg:16px; --bnc-anim-distance:12px; --bnc-anim-duration:.55s; --bnc-primary-shadow:rgba(37,99,235,.24); --bs-primary:var(--bnc-primary); --bs-primary-rgb:var(--bnc-primary-rgb); --bs-link-color:var(--bnc-primary); --bs-link-hover-color:var(--bnc-primary-strong); }
html[data-bnc-theme="ocean"], body[data-bnc-theme="ocean"] { --bnc-primary:#2563eb; --bnc-primary-rgb:37,99,235; --bnc-primary-strong:#1d4ed8; --bnc-accent:#06b6d4; --bnc-accent-rgb:6,182,212; --bnc-primary-shadow:rgba(37,99,235,.24); }
html[data-bnc-theme="emerald"], body[data-bnc-theme="emerald"] { --bnc-primary:#0f766e; --bnc-primary-rgb:15,118,110; --bnc-primary-strong:#0b5d57; --bnc-accent:#22c55e; --bnc-accent-rgb:34,197,94; --bnc-primary-shadow:rgba(15,118,110,.24); }
html[data-bnc-theme="violet"], body[data-bnc-theme="violet"] { --bnc-primary:#7c3aed; --bnc-primary-rgb:124,58,237; --bnc-primary-strong:#6d28d9; --bnc-accent:#ec4899; --bnc-accent-rgb:236,72,153; --bnc-primary-shadow:rgba(124,58,237,.24); }
html[data-bnc-theme="sunset"], body[data-bnc-theme="sunset"] { --bnc-primary:#ea580c; --bnc-primary-rgb:234,88,12; --bnc-primary-strong:#c2410c; --bnc-accent:#f59e0b; --bnc-accent-rgb:245,158,11; --bnc-primary-shadow:rgba(234,88,12,.24); }
html[data-bnc-theme="ruby"], body[data-bnc-theme="ruby"] { --bnc-primary:#dc2626; --bnc-primary-rgb:220,38,38; --bnc-primary-strong:#b91c1c; --bnc-accent:#f43f5e; --bnc-accent-rgb:244,63,94; --bnc-primary-shadow:rgba(220,38,38,.24); }
html[data-bnc-theme="slate"], body[data-bnc-theme="slate"] { --bnc-primary:#334155; --bnc-primary-rgb:51,65,85; --bnc-primary-strong:#1e293b; --bnc-accent:#0f766e; --bnc-accent-rgb:15,118,110; --bnc-primary-shadow:rgba(51,65,85,.24); }
html[data-bnc-motion="lively"], body[data-bnc-motion="lively"] { --bnc-anim-distance:18px; --bnc-anim-duration:.72s; }
html[data-bnc-motion="none"], body[data-bnc-motion="none"] { --bnc-anim-distance:0px; --bnc-anim-duration:.01s; }
body.bnc-theme-shell, body[data-bnc-theme] { background:radial-gradient(circle at top right, rgba(var(--bnc-primary-rgb), .10), transparent 28%), radial-gradient(circle at top left, rgba(var(--bnc-accent-rgb), .09), transparent 24%), var(--bnc-body-bg); color:var(--bnc-text-strong); }
a { color:var(--bnc-primary); } a:hover { color:var(--bnc-primary-strong); }
.card, .custom-card, .rep-card, .rep-stat, .swal2-popup, .modal-content, .dropdown-menu, .offcanvas, .bnc-preview-card { background:var(--bnc-card-bg); border-color:var(--bnc-card-border) !important; box-shadow:var(--bnc-shadow-soft); border-radius:var(--bnc-radius-lg); }
.card.custom-card::before, .custom-card::before, .rep-card::before, .rep-stat::before { content:""; display:block; height:4px; background:linear-gradient(90deg, var(--bnc-primary), var(--bnc-accent)); opacity:.95; }
.card-header, .modal-header, .offcanvas-header { background:linear-gradient(180deg, rgba(var(--bnc-primary-rgb), .045), rgba(255,255,255,.7)); border-bottom-color:rgba(var(--bnc-primary-rgb), .12) !important; }
.form-label, .col-form-label, label { color:var(--bnc-text-strong); font-weight:600; }
.form-control, .form-select, .choices__inner, .choices__list--dropdown, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple { background:#fff !important; color:var(--bnc-text-strong) !important; border:1px solid rgba(var(--bnc-primary-rgb), .16) !important; border-radius:14px !important; box-shadow:none !important; }
.form-control::placeholder, .form-select::placeholder { color:#93a0b7; }
.form-control:focus, .form-select:focus, .choices__inner:focus-within, .select2-container--default.select2-container--focus .select2-selection--single, .select2-container--default.select2-container--focus .select2-selection--multiple { border-color:rgba(var(--bnc-primary-rgb), .44) !important; box-shadow:0 0 0 .28rem rgba(var(--bnc-primary-rgb), .14) !important; }
.form-text, .text-muted, .small.text-muted { color:var(--bnc-text-soft) !important; }
.btn-primary, .bg-primary { background:linear-gradient(135deg, var(--bnc-primary), var(--bnc-accent)) !important; border-color:transparent !important; color:#fff !important; box-shadow:0 10px 22px var(--bnc-primary-shadow); }
.btn-outline-primary { color:var(--bnc-primary) !important; border-color:rgba(var(--bnc-primary-rgb), .34) !important; background:rgba(var(--bnc-primary-rgb), .03) !important; }
.btn-outline-primary:hover { color:#fff !important; background:linear-gradient(135deg, var(--bnc-primary), var(--bnc-accent)) !important; border-color:transparent !important; }
.btn-light { background:rgba(var(--bnc-primary-rgb), .06) !important; border-color:rgba(var(--bnc-primary-rgb), .08) !important; }
.side-menu__item.active, .side-menu__item:hover, .bnc-nav-item.active, .bnc-nav-item:hover, .rep-bottom-nav a.active, .rep-bottom-nav a:hover, .pagination .page-link:hover, .pagination .active > .page-link, .list-group-item.active, .nav-tabs .nav-link.active { background:linear-gradient(135deg, rgba(var(--bnc-primary-rgb), .12), rgba(var(--bnc-accent-rgb), .14)) !important; color:var(--bnc-primary) !important; border-color:rgba(var(--bnc-primary-rgb), .12) !important; }
.rep-bottom-nav, .bnc-installer-bottom-nav, .rep-header, .bnc-installer-header, .app-header, .app-sidebar { backdrop-filter:blur(16px); }
.table thead th, .table-light th { color:var(--bnc-text-strong); background:rgba(var(--bnc-primary-rgb), .05) !important; }
.table > :not(caption) > * > * { border-bottom-color:rgba(var(--bnc-primary-rgb), .08); }
.badge.text-bg-light, .alert, .bg-light { color:var(--bnc-text-strong) !important; }
.bnc-personalization-panel { border:1px solid rgba(var(--bnc-primary-rgb), .12); border-radius:20px; background:linear-gradient(180deg, rgba(var(--bnc-primary-rgb), .04), rgba(255,255,255,.92)); padding:1.1rem; }
.bnc-theme-preview-badge { padding:.45rem .8rem; border-radius:999px; background:rgba(var(--bnc-primary-rgb), .10); color:var(--bnc-primary); font-size:.85rem; font-weight:700; }
.bnc-theme-preview-row { display:flex; align-items:center; justify-content:center; gap:.55rem; flex-wrap:wrap; }
.bnc-theme-chip { width:18px; height:18px; border-radius:999px; display:inline-block; box-shadow:inset 0 0 0 2px rgba(255,255,255,.8), 0 3px 10px rgba(0,0,0,.14); }
.bnc-theme-chip-ocean { background:linear-gradient(135deg, #2563eb, #06b6d4); } .bnc-theme-chip-emerald { background:linear-gradient(135deg, #0f766e, #22c55e); } .bnc-theme-chip-violet { background:linear-gradient(135deg, #7c3aed, #ec4899); } .bnc-theme-chip-sunset { background:linear-gradient(135deg, #ea580c, #f59e0b); } .bnc-theme-chip-ruby { background:linear-gradient(135deg, #dc2626, #f43f5e); } .bnc-theme-chip-slate { background:linear-gradient(135deg, #334155, #0f766e); }
.bnc-preview-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:1rem 1.1rem; border-radius:18px; border:1px solid rgba(var(--bnc-primary-rgb), .12); background:linear-gradient(135deg, rgba(var(--bnc-primary-rgb), .08), rgba(var(--bnc-accent-rgb), .07)); }
.bnc-preview-title { font-weight:800; color:var(--bnc-text-strong); } .bnc-preview-text { color:var(--bnc-text-soft); font-size:.9rem; }
.bnc-profile-summary-card .avatar { box-shadow:0 18px 34px rgba(var(--bnc-primary-rgb), .18); }
.bnc-reveal { opacity:0; transform:translateY(var(--bnc-anim-distance)) scale(.985); transition:opacity var(--bnc-anim-duration) ease, transform var(--bnc-anim-duration) ease, box-shadow .25s ease, filter .25s ease; will-change:transform, opacity; }
.bnc-reveal.is-visible { opacity:1; transform:translateY(0) scale(1); }
.bnc-hoverable, .card, .custom-card, .rep-card, .rep-stat, .btn, .side-menu__item, .bnc-nav-item, .rep-bottom-nav a { transition:transform .24s ease, box-shadow .24s ease, background-color .24s ease, border-color .24s ease, color .24s ease; }
html[data-bnc-motion="subtle"] .bnc-hoverable:hover, html[data-bnc-motion="subtle"] .card:hover, html[data-bnc-motion="subtle"] .custom-card:hover, html[data-bnc-motion="subtle"] .rep-card:hover, html[data-bnc-motion="subtle"] .rep-stat:hover { transform:translateY(-2px); box-shadow:var(--bnc-shadow); }
html[data-bnc-motion="lively"] .bnc-hoverable:hover, html[data-bnc-motion="lively"] .card:hover, html[data-bnc-motion="lively"] .custom-card:hover, html[data-bnc-motion="lively"] .rep-card:hover, html[data-bnc-motion="lively"] .rep-stat:hover, html[data-bnc-motion="lively"] .btn:hover { transform:translateY(-4px) scale(1.01); box-shadow:0 20px 38px rgba(var(--bnc-primary-rgb), .16); }
html[data-bnc-motion="lively"] .btn-primary { animation:bnc-pulseGlow 3.4s ease-in-out infinite; }
html[data-bnc-motion="none"] .bnc-reveal, html[data-bnc-motion="none"] .bnc-hoverable, html[data-bnc-motion="none"] .card, html[data-bnc-motion="none"] .custom-card, html[data-bnc-motion="none"] .rep-card, html[data-bnc-motion="none"] .rep-stat, html[data-bnc-motion="none"] .btn, html[data-bnc-motion="none"] .side-menu__item, html[data-bnc-motion="none"] .bnc-nav-item, html[data-bnc-motion="none"] .rep-bottom-nav a { transition:none !important; animation:none !important; transform:none !important; }
@keyframes bnc-pulseGlow { 0%,100% { box-shadow:0 10px 22px var(--bnc-primary-shadow); } 50% { box-shadow:0 14px 28px rgba(var(--bnc-primary-rgb), .32); } }
@media (prefers-reduced-motion: reduce) { .bnc-reveal, .card, .custom-card, .rep-card, .rep-stat, .btn, .side-menu__item, .bnc-nav-item, .rep-bottom-nav a { transition:none !important; animation:none !important; transform:none !important; } }
@media (max-width:768px) { .bnc-preview-card { padding:.9rem; } .bnc-personalization-panel { padding:.95rem; } }

html[data-theme-mode="dark"] { --bnc-surface:#0f172a; --bnc-surface-alt:#111c34; --bnc-shell-bg: radial-gradient(circle at top right, rgba(var(--bnc-primary-rgb), .16), transparent 35%), radial-gradient(circle at top left, rgba(var(--bnc-accent-rgb), .12), transparent 28%), linear-gradient(180deg, #020617 0%, #081120 46%, #0b1324 100%); --bnc-text-strong:#f8fafc; --bnc-text-soft:#cbd5e1; --bnc-border:rgba(148, 163, 184, .18); --bnc-shadow:0 20px 48px rgba(2, 6, 23, .45); }
html[data-theme-mode="dark"] .bnc-personalization-panel { background:linear-gradient(180deg, rgba(var(--bnc-primary-rgb), .08), rgba(15,23,42,.94)); border-color:rgba(var(--bnc-primary-rgb), .22); }
html[data-theme-mode="dark"] .bnc-preview-card { background:linear-gradient(135deg, rgba(var(--bnc-primary-rgb), .16), rgba(var(--bnc-accent-rgb), .14)); border-color:rgba(var(--bnc-primary-rgb), .24); }

/* Stage 32.16 - stable lively motion fallback for layouts without hotfix stylesheet */
html.bnc-motion-switching body[data-bnc-theme] .card,
html.bnc-motion-switching body[data-bnc-theme] .custom-card,
html.bnc-motion-switching body[data-bnc-theme] .rep-card,
html.bnc-motion-switching body[data-bnc-theme] .rep-stat,
body.bnc-motion-switching[data-bnc-theme] .card,
body.bnc-motion-switching[data-bnc-theme] .custom-card,
body.bnc-motion-switching[data-bnc-theme] .rep-card,
body.bnc-motion-switching[data-bnc-theme] .rep-stat {
  transform: none !important;
  transition: none !important;
  animation: none !important;
}
html[data-bnc-motion="lively"] body[data-bnc-theme] .card:hover,
html[data-bnc-motion="lively"] body[data-bnc-theme] .custom-card:hover,
html[data-bnc-motion="lively"] body[data-bnc-theme] .rep-card:hover,
html[data-bnc-motion="lively"] body[data-bnc-theme] .rep-stat:hover {
  transform: translateY(-1px) !important;
}
