/* ============================================================
   POK – Poročila o kakovosti čiščenja
   ŽELVA brand theme — drop-in replacement for
   src/POK.Web/wwwroot/css/site.css
   ------------------------------------------------------------
   Re-skins Bootstrap 5.3 + the app's custom classes to the
   ŽELVA design system (CGP priročnik). No markup/functionality
   changes required — same class names, brand visuals.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Kalam:wght@400;700&display=swap');

/* ---- ŽELVA tokens (subset used by the app) ---- */
:root {
  --green-50:#ECF7F0; --green-100:#D2ECDC; --green-200:#A7D8BB; --green-300:#71C091;
  --green-400:#3FA86A; --green-500:#1D9649; --green-600:#157C3B; --green-700:#0C6330;
  --green-800:#004E1F; --green-900:#074B1F; --green-950:#03330F;
  --accent-bright:#14DA63;
  --mint-50:#F3FAF5; --mint-100:#E3F2E9; --mint-200:#CFE8D9;
  --neutral-0:#FFFFFF; --neutral-50:#F7F9F7; --neutral-100:#EEF1EE; --neutral-200:#DEE4DE;
  --neutral-300:#C4CCC4; --neutral-400:#9BA69B; --neutral-500:#6E7A6E; --neutral-600:#515B51;
  --neutral-700:#3A423A; --neutral-800:#242B24; --neutral-900:#151915;

  --brand:var(--green-500); --brand-strong:var(--green-800); --brand-deep:var(--green-900);
  --brand-hover:var(--green-600); --brand-active:var(--green-700); --brand-tint:var(--mint-100);

  --danger-500:#C8372D; --danger-600:#A82A22; --danger-surface:#FBEAE8; --danger-border:#F0C4BF;
  --warning-500:#B9740A; --warning-600:#985F08; --warning-surface:#FBF1DF; --warning-border:#EBD3A4;
  --info-500:#1E6FB0; --info-surface:#E6F0F8; --info-border:#BBD6EC;
  --success-surface:#E7F5ED; --success-border:#B6E0C6;

  --text-strong:#11261A; --text-body:#1F2C23; --text-muted:var(--neutral-500);

  --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-pill:999px;
  --shadow-xs:0 1px 2px rgba(7,75,31,.06);
  --shadow-sm:0 1px 3px rgba(7,75,31,.08),0 1px 2px rgba(7,75,31,.06);
  --shadow-md:0 4px 12px rgba(7,75,31,.10),0 2px 4px rgba(7,75,31,.06);
  --shadow-lg:0 12px 28px rgba(7,75,31,.12),0 4px 10px rgba(7,75,31,.07);
  --shadow-focus:0 0 0 3px rgba(20,218,99,.45);
  --ease-out:cubic-bezier(0.22,1,0.36,1);

  /* ---- Bootstrap variable remap → ŽELVA ---- */
  --bs-primary:#1D9649;
  --bs-primary-rgb:29,150,73;
  --bs-success:#1D9649;
  --bs-success-rgb:29,150,73;
  --bs-danger:#C8372D;
  --bs-danger-rgb:200,55,45;
  --bs-warning:#B9740A;
  --bs-warning-rgb:185,116,10;
  --bs-info:#1E6FB0;
  --bs-info-rgb:30,111,176;
  --bs-link-color:#0C6330;
  --bs-link-color-rgb:12,99,48;
  --bs-link-hover-color:#004E1F;
  --bs-border-color:var(--neutral-200);
  --bs-body-color:var(--text-body);
  --bs-body-bg:var(--neutral-50);
  --bs-emphasis-color:var(--text-strong);
  --bs-border-radius:var(--radius-md);
  --bs-border-radius-sm:var(--radius-sm);
  --bs-border-radius-lg:var(--radius-lg);
}

/* ============================================================
   Base
   ============================================================ */
body {
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:1rem;
  color:var(--text-body);
  background:var(--neutral-50);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5,h6 { color:var(--text-strong); letter-spacing:-.01em; }

/* --- Page headings --- */
main > .d-flex > h2,
main > h2 {
  font-weight:700;
  letter-spacing:-.02em;
  padding-bottom:.5rem;
  border-bottom:2px solid var(--neutral-200);
}

/* ============================================================
   Navbar — deep forest green, white ŽELVA logo
   ============================================================ */
.navbar.bg-primary { background-color:var(--brand-deep) !important; }
.navbar {
  box-shadow:0 2px 10px rgba(7,75,31,.18);
  border-bottom:3px solid var(--accent-bright);
  min-height:64px;
}
.navbar-brand {
  font-weight:700;
  letter-spacing:-.01em;
  display:flex;
  align-items:center;
  gap:.7rem;
}
.navbar-brand .navbar-logo {
  height:30px; width:auto; flex:0 0 auto;
  display:block;
}
.navbar-brand .navbar-logo + span { padding-left:.7rem; border-left:1px solid rgba(255,255,255,.28); }
.navbar-dark .navbar-nav .nav-link { color:rgba(255,255,255,.82); font-weight:500; border-radius:var(--radius-sm); padding-left:.85rem; padding-right:.85rem; transition:background-color var(--dur,160ms) var(--ease-out),color 160ms; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus { color:#fff; background-color:rgba(255,255,255,.10); }
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link { color:#fff; background-color:rgba(20,218,99,.18); }
.navbar .dropdown-menu-dark { background-color:var(--green-950); border:1px solid rgba(255,255,255,.08); border-radius:var(--radius-md); box-shadow:var(--shadow-lg); padding:.4rem; }
.navbar .dropdown-menu-dark .dropdown-item { border-radius:var(--radius-sm); padding:.5rem .75rem; }
.navbar .dropdown-menu-dark .dropdown-item:hover { background-color:rgba(20,218,99,.16); }
.navbar .dropdown-menu-dark .dropdown-item.active { background-color:rgba(20,218,99,.22); color:#fff; font-weight:600; }
.navbar-text { font-weight:500; }

@media (max-width: 991.98px) {
  .navbar-toggler { flex-shrink:0; }
  .navbar .navbar-collapse .dropdown-menu {
    background-color:transparent; border:0; box-shadow:none; padding-top:0; padding-bottom:0;
  }
  .navbar .navbar-collapse .dropdown-menu .dropdown-item {
    color:rgba(255,255,255,.85); padding:.4rem 0 .4rem 1.5rem;
  }
  .navbar .navbar-collapse .dropdown-menu .dropdown-item:hover,
  .navbar .navbar-collapse .dropdown-menu .dropdown-item:focus {
    color:#fff; background-color:rgba(255,255,255,.12);
  }
  .navbar .navbar-user {
    margin-top:.75rem; padding-top:.75rem;
    border-top:1px solid rgba(255,255,255,.25); flex-wrap:wrap;
  }
}

/* ============================================================
   Buttons — calm hover/press, bright-green focus halo
   ============================================================ */
.btn { border-radius:var(--radius-md); font-weight:600; letter-spacing:.005em; transition:background-color 160ms var(--ease-out),border-color 160ms,color 160ms,box-shadow 160ms; }

.btn-primary,
.btn-success {
  --bs-btn-bg:var(--brand); --bs-btn-border-color:var(--brand);
  --bs-btn-hover-bg:var(--brand-hover); --bs-btn-hover-border-color:var(--brand-hover);
  --bs-btn-active-bg:var(--brand-active); --bs-btn-active-border-color:var(--brand-active);
  --bs-btn-disabled-bg:var(--green-300); --bs-btn-disabled-border-color:var(--green-300);
  --bs-btn-color:#fff; --bs-btn-hover-color:#fff; --bs-btn-active-color:#fff;
}
.btn-outline-primary {
  --bs-btn-color:var(--brand); --bs-btn-border-color:var(--brand);
  --bs-btn-hover-bg:var(--brand); --bs-btn-hover-border-color:var(--brand); --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--brand-active); --bs-btn-active-border-color:var(--brand-active);
}
.btn-outline-secondary {
  --bs-btn-color:var(--neutral-600); --bs-btn-border-color:var(--neutral-300);
  --bs-btn-hover-bg:var(--neutral-100); --bs-btn-hover-border-color:var(--neutral-400); --bs-btn-hover-color:var(--text-strong);
  --bs-btn-active-bg:var(--neutral-200); --bs-btn-active-border-color:var(--neutral-400); --bs-btn-active-color:var(--text-strong);
}
.btn-outline-danger {
  --bs-btn-color:var(--danger-500); --bs-btn-border-color:var(--danger-border);
  --bs-btn-hover-bg:var(--danger-500); --bs-btn-hover-border-color:var(--danger-500); --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--danger-600); --bs-btn-active-border-color:var(--danger-600);
}
.btn-outline-warning {
  --bs-btn-color:var(--warning-600); --bs-btn-border-color:var(--warning-border);
  --bs-btn-hover-bg:var(--warning-500); --bs-btn-hover-border-color:var(--warning-500); --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--warning-600); --bs-btn-active-border-color:var(--warning-600);
}
.btn-outline-success {
  --bs-btn-color:var(--brand); --bs-btn-border-color:var(--success-border);
  --bs-btn-hover-bg:var(--brand); --bs-btn-hover-border-color:var(--brand); --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--brand-active); --bs-btn-active-border-color:var(--brand-active);
}
.btn-outline-light {
  --bs-btn-color:rgba(255,255,255,.9); --bs-btn-border-color:rgba(255,255,255,.5);
  --bs-btn-hover-bg:rgba(255,255,255,.14); --bs-btn-hover-border-color:#fff; --bs-btn-hover-color:#fff;
}
.btn-link { --bs-btn-color:var(--green-700); --bs-btn-hover-color:var(--brand-strong); font-weight:600; }

/* ============================================================
   Forms — rounded, brand focus halo
   ============================================================ */
.form-control, .form-select {
  border-radius:var(--radius-md);
  border-color:var(--neutral-300);
  color:var(--text-body);
}
.form-control-sm, .form-select-sm { border-radius:var(--radius-sm); }
.form-control:focus, .form-select:focus {
  border-color:var(--brand);
  box-shadow:var(--shadow-focus);
}
.form-control::placeholder { color:var(--neutral-400); }
.form-label { font-weight:600; color:var(--text-strong); }
.form-text { color:var(--text-muted); }
.form-check-input:checked { background-color:var(--brand); border-color:var(--brand); }
.form-check-input:focus { border-color:var(--brand); box-shadow:var(--shadow-focus); }

/* ============================================================
   Cards
   ============================================================ */
.card {
  border:1px solid var(--neutral-200);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
.card.shadow { box-shadow:var(--shadow-lg) !important; }

/* ============================================================
   Alerts — soft brand surfaces
   ============================================================ */
.alert { border-radius:var(--radius-md); border-width:1px; }
.alert-success { --bs-alert-color:var(--brand-strong); --bs-alert-bg:var(--success-surface); --bs-alert-border-color:var(--success-border); }
.alert-danger  { --bs-alert-color:var(--danger-600);  --bs-alert-bg:var(--danger-surface);  --bs-alert-border-color:var(--danger-border); }
.alert-warning { --bs-alert-color:var(--warning-600); --bs-alert-bg:var(--warning-surface); --bs-alert-border-color:var(--warning-border); }

/* ============================================================
   Badges
   ============================================================ */
.badge { border-radius:var(--radius-pill); font-weight:600; letter-spacing:.01em; }
.badge.bg-info { background-color:var(--info-surface) !important; color:var(--info-500) !important; }

/* ============================================================
   Tables
   ============================================================ */
.table { --bs-table-hover-bg:var(--mint-50); border-color:var(--neutral-200); }
.table > thead.table-light th,
.table-light { --bs-table-bg:var(--mint-100); color:var(--brand-strong); }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type:var(--neutral-50); }

/* ============================================================
   Pagination
   ============================================================ */
.pagination {
  --bs-pagination-color:var(--green-700);
  --bs-pagination-hover-color:var(--brand-strong);
  --bs-pagination-hover-bg:var(--mint-100);
  --bs-pagination-focus-color:var(--brand-strong);
  --bs-pagination-focus-bg:var(--mint-100);
  --bs-pagination-focus-box-shadow:var(--shadow-focus);
  --bs-pagination-active-bg:var(--brand);
  --bs-pagination-active-border-color:var(--brand);
  --bs-pagination-border-radius:var(--radius-sm);
}

/* ============================================================
   Rdeče vrstice (ocena < 3) — kept red for safety meaning,
   tuned to the muted ŽELVA danger surface
   ============================================================ */
tr.ocena-low > td {
  --bs-table-bg:var(--danger-surface);
  --bs-table-striped-bg:var(--danger-surface);
  --bs-table-hover-bg:#F6D6D2;
  --bs-table-bg-state:var(--danger-surface);
  background-color:var(--danger-surface) !important;
  color:#7A1F18;
  font-weight:500;
}
tr.ocena-low:hover > td {
  --bs-table-bg-state:#F6D6D2;
  background-color:#F6D6D2 !important;
}
tr.ocena-low > td:first-child {
  border-left:4px solid var(--danger-500) !important;
}

/* ============================================================
   Autocomplete
   ============================================================ */
.autocomplete-wrap { position:relative; }
.autocomplete-list {
  position:absolute; z-index:1000; left:0; right:0; top:100%;
  max-height:300px; overflow-y:auto;
  background:#fff; border:1px solid var(--neutral-300); border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  margin-top:4px;
}
.autocomplete-item { padding:.5rem .75rem; cursor:pointer; }
.autocomplete-item:hover, .autocomplete-item.active { background:var(--mint-100); color:var(--brand-strong); }
.autocomplete-new { font-style:italic; color:var(--green-700); }

.autocomplete-wrap.select-like .form-control {
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23004E1F' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right .65rem center;
  background-size:14px 10px;
  padding-right:2rem;
  cursor:pointer;
}

.ocena-input { width:4.5rem; text-align:center; }
.ocena-field .ocena-label { display:block; min-height:2.6em; margin-bottom:.25rem; }

/* ============================================================
   Numeric rating picker (1–5) — ŽELVA semantic ramp
   ============================================================ */
.num-rating { display:inline-flex; align-items:center; flex-wrap:nowrap; gap:.5rem; user-select:none; }
.num-rating .num-btn {
  width:2.4rem; height:2.4rem;
  border-radius:var(--radius-md);
  border:0;
  background:var(--neutral-100);
  color:var(--neutral-600);
  font-weight:700; font-size:1rem; line-height:1; padding:0;
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  box-shadow:inset 0 0 0 1px var(--neutral-200);
  transition:transform .12s var(--ease-out),background-color .15s ease,color .15s ease,box-shadow .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.num-rating .num-btn.num-on { color:#fff; transform:scale(1.08); box-shadow:0 2px 6px rgba(7,75,31,.18); }
.num-rating .num-btn[data-num="1"].num-on { background:var(--danger-500); }
.num-rating .num-btn[data-num="2"].num-on { background:var(--warning-500); }
.num-rating .num-btn[data-num="3"].num-on { background:#E0A91B; color:#3A2A00; }
.num-rating .num-btn[data-num="4"].num-on { background:var(--green-400); }
.num-rating .num-btn[data-num="5"].num-on { background:var(--green-600); }

.num-rating .num-clear {
  background:none; border:0; color:var(--neutral-400);
  font-size:1.5rem; line-height:1; padding:.25rem .5rem; cursor:pointer;
  transition:color .12s ease; -webkit-tap-highlight-color:transparent;
}
@media (hover: hover) {
  .num-rating .num-btn:hover { box-shadow:inset 0 0 0 1.5px var(--green-300),0 2px 6px rgba(7,75,31,.10); transform:translateY(-1px); }
  .num-rating .num-btn.num-on:hover { filter:brightness(1.06); }
  .num-rating .num-clear:hover { color:var(--danger-500); }
}
@media (max-width: 575.98px) {
  .cas-picker .form-select-sm { font-size:1rem; padding:.4rem .6rem; }
  .num-rating { gap:.4rem; }
  .num-rating .num-btn { width:2.75rem; height:2.75rem; font-size:1.1rem; }
}

/* ============================================================
   European date input
   ============================================================ */
.eu-date { position:relative; }
.eu-date .eu-date-text { padding-right:2.5rem; }
.eu-date.eu-date-sm .eu-date-text { padding-right:2.25rem; }
.eu-date .eu-date-picker {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; opacity:0; pointer-events:none;
}
.eu-date .eu-date-btn {
  position:absolute; top:50%; right:.25rem; transform:translateY(-50%);
  background:transparent; border:0; padding:.35rem .5rem; line-height:0;
  color:var(--neutral-500); cursor:pointer; border-radius:var(--radius-sm);
  -webkit-tap-highlight-color:transparent;
}
.eu-date .eu-date-btn:hover { color:var(--brand); background:var(--mint-100); }
.eu-date .eu-date-btn:focus-visible { outline:none; box-shadow:var(--shadow-focus); }

/* Flatpickr ZELVA overrides */
.eu-date .flatpickr-calendar { font-family:var(--ff); }
.flatpickr-day.selected,
.flatpickr-day.selected:hover { background:var(--brand); border-color:var(--brand); }
.flatpickr-day.today { border-color:var(--brand); }
.flatpickr-day.today:hover { background:var(--mint-100); }
.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
span.flatpickr-weekday { color:var(--green-900); font-weight:600; }

/* Datumska skupina — preset + od/do */
.date-group { display:flex; flex-direction:column; gap:.35rem; }
.date-group .date-presets-select {
  min-width:0; width:100%; color:var(--green-800); border-color:var(--neutral-200);
  border-radius:var(--radius-sm) var(--radius-sm) 0 0;
  font-weight:500; font-size:.8125rem;
}
.date-group .date-presets-select:focus { border-color:var(--brand); box-shadow:var(--shadow-focus); }
.date-group-row {
  display:flex; align-items:center; gap:.25rem;
}
.date-group-row .filter-date { flex:1; min-width:0; }
.date-group-sep { color:var(--neutral-400); font-weight:500; flex-shrink:0; padding:0 .1rem; }

@media (max-width: 767.98px) {
  .ocena-field .ocena-label { min-height:auto; margin-bottom:.35rem; }
  .ocena-field { padding-top:.25rem; padding-bottom:.25rem; }
  .ocena-field + .ocena-field { border-top:1px solid var(--neutral-100); }
}

/* ============================================================
   Filter bar
   ============================================================ */
.filter-bar {
  background:var(--mint-50);
  padding:1rem;
  border-radius:var(--radius-lg);
  margin-bottom:1rem;
  border:1px solid var(--mint-200);
  box-shadow:var(--shadow-xs);
}
.filter-bar .filter-date { max-width:10rem; }

/* ---- Stats bar ---- */
.stats-bar {
  display:flex; justify-content:space-between; align-items:center;
  padding:.5rem 0; margin-bottom:.5rem;
  border-bottom:1px solid var(--neutral-200);
}

/* ============================================================
   Kontrole table
   ============================================================ */
.table-kontrole th { white-space:nowrap; font-size:.85rem; }
.table-kontrole td { font-size:.9rem; vertical-align:middle; }
.table-kontrole .ocena-cell { text-align:center; width:3rem; }
.table-kontrole td.ocena-cell-empty { color:var(--neutral-300); font-weight:400; }
.table-kontrole thead th { position:sticky; top:0; z-index:2; }
.table-kontrole tbody tr[data-href] { cursor:pointer; }
@media (hover: hover) {
  .table-kontrole tbody tr[data-href]:hover { background-color:var(--mint-100) !important; }
}
.ocena-header-abbr { font-size:.75rem; display:block; font-weight:400; color:var(--text-muted); line-height:1.1; }

/* ============================================================
   Create / Edit form
   ============================================================ */
.kontrola-form-wrap { max-width:1100px; margin:0 auto; }
.ratings-card {
  background:var(--mint-50);
  border:1px solid var(--mint-200);
  border-radius:var(--radius-lg);
  padding:1rem 1rem .5rem;
}
.ratings-card h5 {
  font-weight:700; color:var(--text-strong);
  margin-bottom:.75rem; padding-bottom:.5rem;
  border-bottom:2px solid var(--mint-200);
}
.submit-bar { padding-top:1rem; margin-top:1rem; border-top:2px solid var(--neutral-200); }

/* ============================================================
   Focus visible
   ============================================================ */
:focus-visible { outline:none; box-shadow:var(--shadow-focus); border-radius:var(--radius-sm); }
.btn:focus-visible { box-shadow:var(--shadow-focus); }

/* ============================================================
   Šifrant tabele
   ============================================================ */
.sifrant-table { max-width:140rem; margin:0 auto; margin-bottom:0; }
.sifrant-table td:not(.sifrant-naziv) { white-space:nowrap; width:1%; }
.sifrant-table .sifrant-naziv form { display:flex; gap:.5rem; align-items:center; }
.sifrant-table .sifrant-naziv input[type="text"] { flex:1 1 auto; min-width:0; }

@media (min-width: 768px) {
  .table-responsive:has(.sifrant-table) {
    max-width:90rem; margin:0 auto;
    border:1px solid var(--neutral-200);
    border-radius:var(--radius-lg); overflow:hidden;
    background:#fff; box-shadow:var(--shadow-sm);
  }
  .table-responsive:has(.sifrant-table) > .sifrant-table { max-width:none; margin:0; }
}

.sifrant-table tr.sifrant-inactive { opacity:.55; }
.sifrant-table tr.sifrant-inactive .sifrant-naziv input[type="text"] {
  text-decoration:line-through; font-style:italic;
}

.sifrant-search {
  max-width:400px; font-size:1rem;
  padding:.5rem .75rem .5rem 2.25rem;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236E7A6E' viewBox='0 0 16 16'%3e%3cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3e%3c/svg%3e");
  background-repeat:no-repeat; background-position:.75rem center; background-size:16px 16px;
}

@media (max-width: 767.98px) {
  .sifrant-table { max-width:none; }
  .sifrant-search { max-width:none; }
}

/* ============================================================
   Login page — mint wash, brand logo, green accent
   ============================================================ */
.login-wrapper {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:1rem;
  background:
    radial-gradient(120% 80% at 80% -10%, rgba(20,218,99,.10) 0%, rgba(20,218,99,0) 55%),
    linear-gradient(135deg, #F3FAF5 0%, #E3F2E9 100%);
}
.login-card { width:100%; max-width:420px; }
.login-card .card {
  border:1px solid var(--mint-200);
  border-top:4px solid var(--brand);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg) !important;
}
.login-card .card-body { padding:2rem; }
.login-card h3 { font-weight:800; color:var(--text-strong); letter-spacing:-.02em; }
.login-card .brand-sub { color:var(--text-muted); font-size:.85rem; }
.login-card .zelva-logo {
  display:block; width:160px; height:auto; margin:0 auto 1.25rem;
}
