/* Lexo identity: palette and original artwork supplied in lexo.pdf.
   Cairo retained as requested by the user. */
:root {
  --lexo-petrol:#165069; --lexo-mint:#7dd4c1; --lexo-gold:#c5a166;
  --lexo-ivory:#f0ebe4; --lexo-ink:#21353e; --lexo-font:'Cairo',sans-serif;
  --primary:var(--lexo-petrol); --primary-color:var(--lexo-petrol);
  --accent:var(--lexo-petrol); --accent-color:var(--lexo-petrol);
  --primary-dark:#123f53; --accent-hover:#123f53; --brand:var(--lexo-petrol);
  --brand-dark:#123f53; --ink:var(--lexo-ink); --text-dark:var(--lexo-ink);
  --gold:var(--lexo-gold); --paper:var(--lexo-ivory); --bg-gray:var(--lexo-ivory);
  --bg-light:var(--lexo-ivory); --line:#deded5;
  --bs-primary:#165069; --bs-primary-rgb:22,80,105;
  --bs-link-color:#165069; --bs-link-hover-color:#123f53;
  --bs-body-color:#21353e; --bs-body-font-family:var(--lexo-font);
}
body { font-family:var(--lexo-font); color:var(--lexo-ink); line-height:1.8; }
button,input,select,textarea { font-family:inherit; caret-color:var(--lexo-petrol); }
h1,h2,h3,h4,h5,h6 { letter-spacing:normal; text-wrap:balance; }
::selection { background:var(--lexo-mint); color:var(--lexo-ink); }
:focus-visible { outline:3px solid var(--lexo-gold); outline-offset:3px; }
html { scrollbar-color:#91acae var(--lexo-ivory); }
.lexo-brand-wordmark { width:130px; height:auto; display:block; }
.lexo-footer-logo { width:145px; height:auto; display:block; }
.lexo-dashboard-brand { display:flex; align-items:center; flex-shrink:0; }
.lexo-dashboard-brand img { width:112px; height:auto; display:block; }
.navbar-custom { padding-block:1rem; border-bottom:1px solid var(--line); box-shadow:0 4px 18px #21353e06; }
.topbar { border-bottom:1px solid var(--line); }
.sidebar { background:#fff; border-inline-end:1px solid var(--line); }
.sidebar .menu-item.active { background:#e2f2ec; color:var(--lexo-petrol); border-color:var(--lexo-petrol); }
.sidebar .menu-item:hover { background:#f0f6f3; color:var(--lexo-petrol); }
.btn-primary,.btn-auth-solid { background:var(--lexo-petrol); border-color:var(--lexo-petrol); color:#fff; box-shadow:none; }
.btn-primary:hover,.btn-primary:focus-visible,.btn-auth-solid:hover { background:#123f53; border-color:#123f53; color:#fff; }
.btn-primary:disabled { background:#165069; border-color:#165069; opacity:.6; }
.btn-outline-primary { color:var(--lexo-petrol); border-color:var(--lexo-petrol); }
.btn-outline-primary:hover { color:#fff; background:var(--lexo-petrol); border-color:var(--lexo-petrol); }
.form-control,.form-select { color:var(--lexo-ink); border-color:#c7d3d2; }
.form-control:focus,.form-select:focus { border-color:var(--lexo-petrol); box-shadow:0 0 0 3px #16506920; }
.form-check-input:checked { background-color:var(--lexo-petrol); border-color:var(--lexo-petrol); }
.nav-pills .nav-link.active,.page-item.active .page-link { background:var(--lexo-petrol); color:#fff; border-color:var(--lexo-petrol); }
.table { font-variant-numeric:tabular-nums; }
.table th { color:var(--lexo-petrol); background:#f4f2ed; }
.law-hero { background:var(--lexo-petrol); }
.law-hero h1 em { color:var(--lexo-mint); }
.law-study-card { background:var(--lexo-ink); border-color:#47616a; border-radius:16px; transform:none; }
.law-primary { background:var(--lexo-gold); color:var(--lexo-ink); }
.law-primary:hover { background:#d5b989; color:var(--lexo-ink); }
.law-emblem { background:var(--lexo-ivory); color:var(--lexo-petrol); }
.law-how { background:#e8eee7; }
.law-categories a { background:#e1eee7; color:var(--lexo-petrol); }
.card-auth { background:#fff; border:1px solid #dfdfd5; border-radius:16px; box-shadow:0 16px 48px #21353e0d; backdrop-filter:none; }
body:has(.card-auth),body:has(.offline-card) { background:var(--lexo-ivory); }
.card-auth:hover { transform:none; }
.brand-logo-container { width:auto; height:auto; background:none; box-shadow:none; border-radius:0; margin-block:0 1.75rem; }
.lexo-auth-logo { width:196px; max-width:100%; height:auto; display:block; }
.pwa-install-prompt,.pwa-ios-instructions { background:var(--lexo-ink); border-color:#4d686d; backdrop-filter:none; }
@media(max-width:575px) {
 .lexo-brand-wordmark { width:104px; }
 .lexo-dashboard-brand img { width:88px; }
 .topbar>.d-flex { gap:.75rem !important; }
 .card-auth { padding:1.5rem !important; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }
@media print { body { background:#fff; } .lexo-certificate-logo { print-color-adjust:exact; } }

.offline-card { border-radius:16px; background:#fff; backdrop-filter:none; box-shadow:0 16px 48px #21353e12; }
.offline-card .illustration { animation:none; width:72px; height:72px; }
