/* ==========================================================================
   iSelect theme — brand override for Bootstrap 5.3
   violet #4f3496 · lime #d3f242 · ink #202035
   Bricolage Grotesque (display) · Instrument Sans (body) · Space Mono (technical)
   ========================================================================== */

/* ---- 1 · tokens ---------------------------------------------------------- */
:root{
  --is-violet:#4f3496;   --is-violet-2:#43297f;   --is-violet-deep:#221250;
  --is-lime:#d3f242;     --is-lime-soft:#eef9b8;
  --is-ink:#202035;      --is-ink-soft:#5b5876;
  --is-paper:#f7f5ff;    --is-line:#ddd8ef;
  --is-display:'Bricolage Grotesque', system-ui, sans-serif;
  --is-body:'Instrument Sans', system-ui, sans-serif;
  --is-mono:'Space Mono', ui-monospace, 'Courier New', monospace;
  --is-ease:cubic-bezier(.22,1.15,.32,1);
  --is-shadow-sm:0 1px 2px rgba(24,12,52,.06), 0 10px 28px -18px rgba(24,12,52,.22);
  --is-shadow-lg:0 2px 4px rgba(24,12,52,.06), 0 26px 60px -24px rgba(24,12,52,.35);
}

/* ---- 2 · Bootstrap's own variable layer ---------------------------------- */
:root{
  --cz-primary:#4f3496;             --cz-primary-rgb:79,52,150;
  --cz-primary-bg-subtle:#f1edff;   --cz-primary-border-subtle:#d4c9ee;
  --cz-secondary:#202035;           --cz-secondary-rgb:32,32,53;
  --cz-body-font-family:var(--is-body);
  --cz-body-font-size:.95rem;
  --cz-body-color:#202035;
  --cz-body-bg:#f7f5ff;             /* lavender paper — flip to #fff for white pages */
  --cz-border-radius:.75rem;
  --cz-border-color:#ddd8ef;
  --cz-link-color:#4f3496;          --cz-link-color-rgb:79,52,150;
  --cz-link-hover-color:#35246b;    --cz-link-hover-color-rgb:53,36,107;
  --cz-focus-ring-color:rgba(79,52,150,.28);
  --cz-heading-color:#202035;
}

/* ---- 3 · typography ------------------------------------------------------ */
body{ font-family:var(--is-body); letter-spacing:.005em; -webkit-font-smoothing:antialiased; }

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:var(--is-display); font-weight:700;
  letter-spacing:-.02em; color:var(--is-ink);
}
h1,.h1{ font-weight:800; letter-spacing:-.025em; }
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-family:var(--is-display); font-weight:800; letter-spacing:-.03em;
}
.lead{ color:var(--is-ink-soft); }
.kicker{                                   /* new utility — the mono eyebrow label */
  font:700 .72rem/1.4 var(--is-mono);
  letter-spacing:.28em; text-transform:uppercase; color:var(--is-violet);
}
::selection{ background:var(--is-lime); color:var(--is-ink); }

/* ---- 4 · buttons ---------------------------------------------------------- */
.btn{
  --cz-btn-font-weight:600;
  --cz-btn-border-radius:.8rem;
  position:relative; overflow:hidden;
  transition:transform .18s var(--is-ease), box-shadow .25s ease,
             background-color .2s ease, border-color .2s ease, color .2s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0) scale(.98); }
.btn:focus-visible{ box-shadow:0 0 0 .25rem rgba(79,52,150,.28); }

.btn-primary{
  --cz-btn-bg:#4f3496;              --cz-btn-border-color:#4f3496;        --cz-btn-color:#fff;
  --cz-btn-hover-bg:#43297f;        --cz-btn-hover-border-color:#43297f;  --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#3a2170;       --cz-btn-active-border-color:#3a2170; --cz-btn-active-color:#fff;
  --cz-btn-disabled-bg:#9b8cc4;     --cz-btn-disabled-border-color:#9b8cc4;
  box-shadow:0 10px 24px -12px rgba(79,52,150,.7);
}
.btn-primary:hover{ box-shadow:0 14px 30px -12px rgba(79,52,150,.85); }

/* sheen sweep on solid buttons */
.btn-primary::after, .btn-dark::after, .btn-lime::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(105deg, transparent 32%, rgba(255,255,255,.28) 50%, transparent 68%);
  transform:translateX(-130%); transition:transform .55s ease;
}
.btn-primary:hover::after, .btn-dark:hover::after, .btn-lime:hover::after{ transform:translateX(130%); }

.btn-outline-primary{
  --cz-btn-color:#4f3496;           --cz-btn-border-color:#c9bce8;
  --cz-btn-hover-bg:#f1edff;        --cz-btn-hover-border-color:#4f3496;  --cz-btn-hover-color:#35246b;
  --cz-btn-active-bg:#e9e2fb;       --cz-btn-active-border-color:#4f3496; --cz-btn-active-color:#35246b;
}
.btn-secondary{
  --cz-btn-bg:#202035;              --cz-btn-border-color:#202035;        --cz-btn-color:#fff;
  --cz-btn-hover-bg:#2e2e4a;        --cz-btn-hover-border-color:#2e2e4a;  --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#171728;       --cz-btn-active-border-color:#171728;
}
.btn-outline-secondary{
  --cz-btn-color:#5b5876;           --cz-btn-border-color:#d5d1e6;
  --cz-btn-hover-bg:#202035;        --cz-btn-hover-border-color:#202035;  --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#202035;       --cz-btn-active-border-color:#202035; --cz-btn-active-color:#fff;
}
/* brand showpiece — additive, use as class="btn btn-lime" */
.btn-lime{
  --cz-btn-bg:#d3f242;              --cz-btn-border-color:#d3f242;        --cz-btn-color:#202035;
  --cz-btn-hover-bg:#c4e630;        --cz-btn-hover-border-color:#c4e630;  --cz-btn-hover-color:#202035;
  --cz-btn-active-bg:#b3d427;       --cz-btn-active-border-color:#b3d427; --cz-btn-active-color:#202035;
  --cz-btn-focus-shadow-rgb:211,242,66;
  box-shadow:0 10px 24px -12px rgba(160,190,20,.8);
}
.btn-link{ --cz-btn-color:#4f3496; font-weight:600; }

/* ---- 5 · forms ------------------------------------------------------------ */
.form-label{
  font:700 .7rem/1.4 var(--is-mono);
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--is-ink-soft); margin-bottom:.45rem;
}
.form-control, .form-select{
  border-color:var(--is-line); color:var(--is-ink);
  transition:border-color .2s ease, box-shadow .25s ease;
}
.form-control::placeholder{ color:#a5a0bd; }
.form-control:focus, .form-select:focus{
  border-color:var(--is-violet);
  box-shadow:0 0 0 .25rem rgba(79,52,150,.14);
}
.form-control.is-invalid, .form-select.is-invalid{ border-color:#e64569; }
.form-control.is-invalid:focus{ box-shadow:0 0 0 .25rem rgba(230,69,105,.14); }
.form-check-input{ border-color:#c9c3e0; transition:background-color .15s ease, border-color .15s ease; }
.form-check-input:checked{ background-color:var(--is-violet); border-color:var(--is-violet); }
.form-check-input:focus{ border-color:var(--is-violet); box-shadow:0 0 0 .25rem rgba(79,52,150,.14); }
.form-text{ font-family:var(--is-mono); font-size:.72rem; letter-spacing:.04em; color:var(--is-ink-soft); }
.input-group-text{
  font-family:var(--is-mono); font-size:.78rem;
  background:var(--is-paper); border-color:var(--is-line); color:var(--is-ink-soft);
}
.form-range::-webkit-slider-thumb{ background:var(--is-violet); }
.form-range::-moz-range-thumb{ background:var(--is-violet); }

/* ---- 6 · cards ------------------------------------------------------------ */
.card{
  --cz-card-border-radius:1rem;
  --cz-card-inner-border-radius:calc(1rem - 1px);
  --cz-card-border-color:var(--is-line);
  --cz-card-bg:#fff;
  box-shadow:var(--is-shadow-sm);
  transition:transform .25s var(--is-ease), box-shadow .3s ease, border-color .25s ease;
}
.card:hover{ border-color:#c9bce8; }
.card-lift:hover{ transform:translateY(-4px); box-shadow:var(--is-shadow-lg); }  /* additive */
.card-header{
  background:linear-gradient(180deg,#fdfcff,#f8f6ff) !important;
  font:700 .72rem/1.5 var(--is-mono) !important;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--is-ink-soft); border-bottom-color:var(--is-line) !important;
}
.card-title{ font-family:var(--is-display); font-weight:700; letter-spacing:-.01em; }
.card-footer{ background:transparent; border-top-color:var(--is-line); }

/* ---- 7 · navbar ----------------------------------------------------------- */
.navbar{ --cz-navbar-padding-y:.85rem; }
.navbar-brand{ font-family:var(--is-display); font-weight:800; letter-spacing:-.01em; }
.navbar .nav-link{ position:relative; font-weight:600; transition:color .2s ease, opacity .2s ease; }
.navbar .nav-link::after{
  content:""; position:absolute;
  left:.5rem; right:.5rem; bottom:.3rem; height:2px; border-radius:2px;
  background:var(--is-violet);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .3s var(--is-ease);
}
.navbar .nav-link:hover::after,
.navbar .nav-link.active::after,
.navbar .nav-link.show::after{ transform:scaleX(1); }

/* ---- 8 · badges · breadcrumb · pagination --------------------------------- */
.badge{
  font-family:var(--is-mono); font-weight:700;
  font-size:.64rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.45em .7em; border-radius:.45rem;
}
.breadcrumb{ font-family:var(--is-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.page-link{ font-weight:600; color:var(--is-violet); border-color:var(--is-line);
  transition:background-color .2s ease, color .2s ease; }
.page-item.active .page-link{
  background:var(--is-violet); border-color:var(--is-violet);
  box-shadow:0 6px 16px -8px rgba(79,52,150,.7);
}
.page-link:hover{ background:var(--is-paper); color:var(--is-violet-2); }

/* ---- 9 · tables ----------------------------------------------------------- */
.table thead th{
  font:700 .68rem/1.5 var(--is-mono);
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--is-ink-soft); background:var(--is-paper);
  border-bottom:2px solid var(--is-violet); padding:.8rem .9rem;
}
.table td{ padding:.8rem .9rem; vertical-align:middle; }
.table tbody tr{ transition:background-color .15s ease; }
.table tbody tr:hover{ background:rgba(211,242,66,.10); }   /* lime row hover */

/* ---- 10 · alerts ---------------------------------------------------------- */
.alert{ border:0; border-left:.3rem solid; border-radius:.8rem; }
.alert-primary{ border-left-color:var(--is-violet); background:#f1edff; color:#35246b; }
.alert-success{ border-left-color:#84b52c; background:#f4fae1; color:#3d560e; }
.alert-danger { border-left-color:#e64569; background:#fdeef2; color:#a1234a; }
.alert-warning{ border-left-color:#dfa10e; background:#fdf5df; color:#775505; }
.alert-info   { border-left-color:#3f8fbd; background:#e9f4fa; color:#1d5a7d; }

/* ---- 11 · modals · dropdowns · offcanvas ---------------------------------- */
.modal-backdrop{ -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.modal-content{
  border:0; border-radius:1.25rem; overflow:hidden;
  box-shadow:0 40px 100px -24px rgba(16,7,42,.6);
}
.modal-header{ border-bottom:1px solid var(--is-line); }
.modal-footer{ border-top:1px solid var(--is-line); }
.dropdown-menu{
  border:1px solid var(--is-line); border-radius:.9rem;
  padding:.45rem; box-shadow:var(--is-shadow-lg);
  animation:is-drop .22s var(--is-ease);
}
@keyframes is-drop{ from{ opacity:0; transform:translateY(-6px);} to{ opacity:1; transform:none;} }
.dropdown-item{ border-radius:.55rem; font-weight:500;
  transition:background-color .15s ease, color .15s ease; }
.dropdown-item:hover, .dropdown-item:focus{ background:#f1edff; color:#35246b; }
.dropdown-header{ font:700 .66rem/1.5 var(--is-mono);
  letter-spacing:.18em; text-transform:uppercase; color:var(--is-ink-soft); }

/* ---- 12 · brand utilities ------------------------------------------------- */
.bg-ambient{                              /* the violet field from the login shell */
  background:
    radial-gradient(1000px 520px at 88% -12%, rgba(211,242,66,.16), transparent 60%),
    radial-gradient(820px 620px at -12% 112%, rgba(122,84,220,.4), transparent 62%),
    linear-gradient(158deg, #4f3496 0%, #2a1866 62%, #221250 100%);
  background-attachment:fixed;
}
.bg-ambient-grid{ position:relative; }
.bg-ambient-grid::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    repeating-linear-gradient(0deg,  rgba(255,255,255,.05) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 56px);
  -webkit-mask-image:radial-gradient(1200px 800px at 50% 15%, #000 30%, transparent 80%);
          mask-image:radial-gradient(1200px 800px at 50% 15%, #000 30%, transparent 80%);
}
.text-lime{ color:#d3f242 !important; }
.bg-lime{ background-color:#d3f242 !important; }
.text-ink{ color:#202035 !important; }
.border-soft{ border-color:var(--is-line) !important; }
.shadow-brand{ box-shadow:var(--is-shadow-sm) !important; }
.shadow-brand-lg{ box-shadow:var(--is-shadow-lg) !important; }

/* scroll-reveal helper — pair with the tiny observer below */
.rise{ opacity:0; transform:translateY(18px);
  transition:opacity .6s ease, transform .6s var(--is-ease); }
.rise.is-in{ opacity:1; transform:none; }

/* ---- 13 · motion safety --------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .btn, .card, .navbar .nav-link::after, .rise, .dropdown-menu, .page-link{
    transition:none !important; animation:none !important; }
  .rise{ opacity:1; transform:none; }
  .btn:hover, .card-lift:hover{ transform:none; }
}

/* ==========================================================================
   Brand color map — remaps Bootstrap's 8 semantic roles onto the palette.
   Lets existing btn-success / text-danger / alert-warning HTML stay untouched.
   NOTE: Bootstrap picks button text color at BUILD time, so --cz-btn-color
   is set explicitly per role (warning & light need dark text).
   ========================================================================== */

/* ---- root variables: drive bg-*, text-*, border-*, links, focus rings ---- */
:root{
  --cz-primary:#4f3496;   --cz-primary-rgb:79,52,150;
  --cz-primary-bg-subtle:#ede9f7; --cz-primary-border-subtle:#cfc4e8; --cz-primary-text-emphasis:#2f1e5a;
  --cz-secondary:#5b5876; --cz-secondary-rgb:91,88,118;
  --cz-secondary-bg-subtle:#efeff3; --cz-secondary-border-subtle:#d2d0dd; --cz-secondary-text-emphasis:#37354a;
  --cz-success:#6d9a1b;   --cz-success-rgb:109,154,27;
  --cz-success-bg-subtle:#f1f6e5; --cz-success-border-subtle:#d4e4b0; --cz-success-text-emphasis:#415c10;
  --cz-info:#3f7fb8;      --cz-info-rgb:63,127,184;
  --cz-info-bg-subtle:#eaf1f8; --cz-info-border-subtle:#bdd3e8; --cz-info-text-emphasis:#264c6e;
  --cz-warning:#dfa10e;   --cz-warning-rgb:223,161,14;
  --cz-warning-bg-subtle:#fbf3dd; --cz-warning-border-subtle:#f0dca6; --cz-warning-text-emphasis:#856008;
  --cz-danger:#e64569;    --cz-danger-rgb:230,69,105;
  --cz-danger-bg-subtle:#fbe9ee; --cz-danger-border-subtle:#f2c0cd; --cz-danger-text-emphasis:#8a293f;
  --cz-light:#f7f5ff;     --cz-light-rgb:247,245,255;
  --cz-light-bg-subtle:#fcfbff; --cz-light-border-subtle:#e9e6f4; --cz-light-text-emphasis:#63616e;
  --cz-dark:#202035;      --cz-dark-rgb:32,32,53;
  --cz-dark-bg-subtle:#e9e9ec; --cz-dark-border-subtle:#bfc0c8; --cz-dark-text-emphasis:#131320;
}

/* ---- buttons: solid ---- */
.btn-primary{
  --cz-btn-bg:#4f3496; --cz-btn-border-color:#4f3496; --cz-btn-color:#fff;
  --cz-btn-hover-bg:#43297f; --cz-btn-hover-border-color:#43297f; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#391f6e; --cz-btn-active-border-color:#391f6e; --cz-btn-active-color:#fff;
  --cz-btn-disabled-bg:#9b8cc4; --cz-btn-disabled-border-color:#9b8cc4; --cz-btn-disabled-color:#fff;
  --cz-btn-focus-shadow-rgb:79,52,150;}
.btn-secondary{
  --cz-btn-bg:#5b5876; --cz-btn-border-color:#5b5876; --cz-btn-color:#fff;
  --cz-btn-hover-bg:#4b4962; --cz-btn-hover-border-color:#4b4962; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#3f3d52; --cz-btn-active-border-color:#3f3d52; --cz-btn-active-color:#fff;
  --cz-btn-disabled-bg:#a6a4b6; --cz-btn-disabled-border-color:#a6a4b6; --cz-btn-disabled-color:#fff;
  --cz-btn-focus-shadow-rgb:91,88,118;}
.btn-success{
  --cz-btn-bg:#6d9a1b; --cz-btn-border-color:#6d9a1b; --cz-btn-color:#fff;
  --cz-btn-hover-bg:#5c8316; --cz-btn-hover-border-color:#5c8316; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#4d6d12; --cz-btn-active-border-color:#4d6d12; --cz-btn-active-color:#fff;
  --cz-btn-disabled-bg:#b4cd8c; --cz-btn-disabled-border-color:#b4cd8c; --cz-btn-disabled-color:#fff;
  --cz-btn-focus-shadow-rgb:109,154,27;}
.btn-info{
  --cz-btn-bg:#3f7fb8; --cz-btn-border-color:#3f7fb8; --cz-btn-color:#fff;
  --cz-btn-hover-bg:#346a9b; --cz-btn-hover-border-color:#346a9b; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#2b5881; --cz-btn-active-border-color:#2b5881; --cz-btn-active-color:#fff;
  --cz-btn-disabled-bg:#9fc0dc; --cz-btn-disabled-border-color:#9fc0dc; --cz-btn-disabled-color:#fff;
  --cz-btn-focus-shadow-rgb:63,127,184;}
.btn-warning{
  --cz-btn-bg:#dfa10e; --cz-btn-border-color:#dfa10e; --cz-btn-color:#202035;
  --cz-btn-hover-bg:#c28c0b; --cz-btn-hover-border-color:#c28c0b; --cz-btn-hover-color:#202035;
  --cz-btn-active-bg:#a37608; --cz-btn-active-border-color:#a37608; --cz-btn-active-color:#202035;
  --cz-btn-disabled-bg:#eed18b; --cz-btn-disabled-border-color:#eed18b; --cz-btn-disabled-color:#202035;
  --cz-btn-focus-shadow-rgb:223,161,14;}
.btn-danger{
  --cz-btn-bg:#e64569; --cz-btn-border-color:#e64569; --cz-btn-color:#fff;
  --cz-btn-hover-bg:#cf3a5b; --cz-btn-hover-border-color:#cf3a5b; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#b22e4d; --cz-btn-active-border-color:#b22e4d; --cz-btn-active-color:#fff;
  --cz-btn-disabled-bg:#f1a4b6; --cz-btn-disabled-border-color:#f1a4b6; --cz-btn-disabled-color:#fff;
  --cz-btn-focus-shadow-rgb:230,69,105;}
.btn-light{
  --cz-btn-bg:#f7f5ff; --cz-btn-border-color:#ddd8ef; --cz-btn-color:#202035;
  --cz-btn-hover-bg:#eae6f6; --cz-btn-hover-border-color:#cfc9e6; --cz-btn-hover-color:#202035;
  --cz-btn-active-bg:#ddd8ef; --cz-btn-active-border-color:#c2bcdc; --cz-btn-active-color:#202035;
  --cz-btn-disabled-bg:#fbfaff; --cz-btn-disabled-border-color:#e9e6f4; --cz-btn-disabled-color:#202035;
  --cz-btn-focus-shadow-rgb:247,245,255;}
.btn-dark{
  --cz-btn-bg:#202035; --cz-btn-border-color:#202035; --cz-btn-color:#fff;
  --cz-btn-hover-bg:#2c2c47; --cz-btn-hover-border-color:#2c2c47; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#191927; --cz-btn-active-border-color:#191927; --cz-btn-active-color:#fff;
  --cz-btn-disabled-bg:#8b8b9b; --cz-btn-disabled-border-color:#8b8b9b; --cz-btn-disabled-color:#fff;
  --cz-btn-focus-shadow-rgb:32,32,53;}

/* ---- buttons: outline ---- */
.btn-outline-primary{
  --cz-btn-color:#4f3496; --cz-btn-border-color:#cfc4e8;
  --cz-btn-hover-bg:#4f3496; --cz-btn-hover-border-color:#4f3496; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#391f6e; --cz-btn-active-border-color:#391f6e; --cz-btn-active-color:#fff;
  --cz-btn-disabled-color:#9b8cc4; --cz-btn-disabled-border-color:#cfc4e8; --cz-btn-focus-shadow-rgb:79,52,150;}
.btn-outline-secondary{
  --cz-btn-color:#5b5876; --cz-btn-border-color:#d2d0dd;
  --cz-btn-hover-bg:#5b5876; --cz-btn-hover-border-color:#5b5876; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#3f3d52; --cz-btn-active-border-color:#3f3d52; --cz-btn-active-color:#fff;
  --cz-btn-disabled-color:#a6a4b6; --cz-btn-disabled-border-color:#d2d0dd; --cz-btn-focus-shadow-rgb:91,88,118;}
.btn-outline-success{
  --cz-btn-color:#6d9a1b; --cz-btn-border-color:#d4e4b0;
  --cz-btn-hover-bg:#6d9a1b; --cz-btn-hover-border-color:#6d9a1b; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#4d6d12; --cz-btn-active-border-color:#4d6d12; --cz-btn-active-color:#fff;
  --cz-btn-disabled-color:#b4cd8c; --cz-btn-disabled-border-color:#d4e4b0; --cz-btn-focus-shadow-rgb:109,154,27;}
.btn-outline-info{
  --cz-btn-color:#3f7fb8; --cz-btn-border-color:#bdd3e8;
  --cz-btn-hover-bg:#3f7fb8; --cz-btn-hover-border-color:#3f7fb8; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#2b5881; --cz-btn-active-border-color:#2b5881; --cz-btn-active-color:#fff;
  --cz-btn-disabled-color:#9fc0dc; --cz-btn-disabled-border-color:#bdd3e8; --cz-btn-focus-shadow-rgb:63,127,184;}
.btn-outline-warning{
  --cz-btn-color:#a87808; --cz-btn-border-color:#f0dca6;
  --cz-btn-hover-bg:#dfa10e; --cz-btn-hover-border-color:#dfa10e; --cz-btn-hover-color:#202035;
  --cz-btn-active-bg:#a37608; --cz-btn-active-border-color:#a37608; --cz-btn-active-color:#202035;
  --cz-btn-disabled-color:#eed18b; --cz-btn-disabled-border-color:#f0dca6; --cz-btn-focus-shadow-rgb:223,161,14;}
.btn-outline-danger{
  --cz-btn-color:#e64569; --cz-btn-border-color:#f2c0cd;
  --cz-btn-hover-bg:#e64569; --cz-btn-hover-border-color:#e64569; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#b22e4d; --cz-btn-active-border-color:#b22e4d; --cz-btn-active-color:#fff;
  --cz-btn-disabled-color:#f1a4b6; --cz-btn-disabled-border-color:#f2c0cd; --cz-btn-focus-shadow-rgb:230,69,105;}
.btn-outline-light{
  --cz-btn-color:#5b5876; --cz-btn-border-color:#e9e6f4;
  --cz-btn-hover-bg:#f7f5ff; --cz-btn-hover-border-color:#ddd8ef; --cz-btn-hover-color:#202035;
  --cz-btn-active-bg:#ddd8ef; --cz-btn-active-border-color:#c2bcdc; --cz-btn-active-color:#202035;
  --cz-btn-disabled-color:#c9c4dd; --cz-btn-disabled-border-color:#e9e6f4; --cz-btn-focus-shadow-rgb:247,245,255;}
.btn-outline-dark{
  --cz-btn-color:#202035; --cz-btn-border-color:#bfc0c8;
  --cz-btn-hover-bg:#202035; --cz-btn-hover-border-color:#202035; --cz-btn-hover-color:#fff;
  --cz-btn-active-bg:#191927; --cz-btn-active-border-color:#191927; --cz-btn-active-color:#fff;
  --cz-btn-disabled-color:#8b8b9b; --cz-btn-disabled-border-color:#bfc0c8; --cz-btn-focus-shadow-rgb:32,32,53;}

/* ---- alerts (left-bar treatment, recolored to match) ---- */
.alert-primary  {border-left-color:#4f3496; background:#ede9f7; color:#2f1e5a;}
.alert-secondary{border-left-color:#5b5876; background:#efeff3; color:#37354a;}
.alert-success  {border-left-color:#6d9a1b; background:#f1f6e5; color:#415c10;}
.alert-info     {border-left-color:#3f7fb8; background:#eaf1f8; color:#264c6e;}
.alert-warning  {border-left-color:#dfa10e; background:#fbf3dd; color:#856008;}
.alert-danger   {border-left-color:#e64569; background:#fbe9ee; color:#8a293f;}
.alert-light    {border-left-color:#d8d6e2; background:#fcfbff; color:#63616e;}
.alert-dark     {border-left-color:#202035; background:#e9e9ec; color:#131320;}

/* ---- badges ---- */
.text-bg-primary  {background-color:#4f3496!important; color:#fff!important;}
.text-bg-secondary{background-color:#5b5876!important; color:#fff!important;}
.text-bg-success  {background-color:#6d9a1b!important; color:#fff!important;}
.text-bg-info     {background-color:#3f7fb8!important; color:#fff!important;}
.text-bg-warning  {background-color:#dfa10e!important; color:#202035!important;}
.text-bg-danger   {background-color:#e64569!important; color:#fff!important;}
.text-bg-light    {background-color:#f7f5ff!important; color:#202035!important; box-shadow:inset 0 0 0 1px #ddd8ef;}
.text-bg-dark     {background-color:#202035!important; color:#fff!important;}
/* ==========================================================================
   View-switcher pills — in-content navigation (.nav.nav-pills)
   Fill-style segmented control: violet = selected, lime icon accent.
   Deliberately distinct from .adm-tabs (underline, page-level).
   ========================================================================== */
.nav-pills{
  display:inline-flex;
  flex-wrap:wrap;
  gap:6px;
  padding:5px;
  background:#fff;
  border:1px solid var(--is-line);
  border-radius:15px;
  box-shadow:var(--is-shadow-sm);
}
.nav-pills .nav-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 16px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:var(--is-ink-soft);
  font:600 13.5px/1 var(--is-body);
  letter-spacing:.01em;
  white-space:nowrap;
  cursor:pointer;
  transition:color .2s ease, background-color .2s ease,
             box-shadow .25s ease, transform .18s var(--is-ease);
}
.nav-pills .nav-link > i{
  font-size:15px;
  line-height:1;
  transition:transform .25s var(--is-ease), color .2s ease;
}
.nav-pills .nav-link:hover{
  color:var(--is-ink);
  background:color-mix(in srgb, var(--is-violet) 8%, transparent);
}
.nav-pills .nav-link:hover > i{ transform:translateY(-1px) scale(1.1); }
.nav-pills .nav-link:active{ transform:scale(.97); }
.nav-pills .nav-link:focus-visible{ outline:2px solid var(--is-violet); outline-offset:2px; }

.nav-pills .nav-link.active{
  background:var(--is-violet);
  color:#fff;
  box-shadow:0 8px 18px -8px rgba(79,52,150,.7), inset 0 0 0 1px rgba(255,255,255,.14);
}
.nav-pills .nav-link.active > i{ color:var(--is-lime); }
.nav-pills .nav-link.active:hover{ background:var(--is-violet-2); }

.nav-pills .nav-link.disabled,
.nav-pills .nav-link:disabled{
  opacity:.45; cursor:not-allowed;
  background:transparent; color:var(--is-ink-soft); box-shadow:none;
}

/* optional modifier: stretch pills to fill the whole row */
.nav-pills.nav-pills-stretch{ display:flex; width:100%; }
.nav-pills.nav-pills-stretch .nav-link{ flex:1 1 0; justify-content:center; }

@media (prefers-reduced-motion:reduce){
  .nav-pills .nav-link, .nav-pills .nav-link > i{ transition:none; }
  .nav-pills .nav-link:hover > i{ transform:none; }
}
