/* Rozelia RC3 — shared visual primitives, used by the three existing apps. */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --rz-bg:#f3f6fa; --rz-surface:#fff; --rz-subtle:#edf2f7; --rz-raised:#e4ebf3;
  --rz-ink:#172b43; --rz-muted:#52647a; --rz-line:#d4dfea;
  --rz-brand:#174f99; --rz-on-brand:#fff; --rz-accent:#a44b16; --rz-focus:#196ad2;
  --rz-ok:#17613e; --rz-ok-bg:#e6f3eb; --rz-warn:#805100; --rz-warn-bg:#fff0d5;
  --rz-danger:#ab2836; --rz-danger-bg:#ffe9ed;
  --rz-shadow:0 8px 24px rgba(22,44,76,.05);
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --rz-bg:#101923; --rz-surface:#182431; --rz-subtle:#1e2d3e; --rz-raised:#283c50;
  --rz-ink:#edf3fa; --rz-muted:#acbed2; --rz-line:#354a60;
  --rz-brand:#91bdff; --rz-on-brand:#101923; --rz-accent:#ffb477; --rz-focus:#9ac3ff;
  --rz-ok:#83dbac; --rz-ok-bg:#17382b; --rz-warn:#f6cf85; --rz-warn-bg:#3a2e18;
  --rz-danger:#ffa1ac; --rz-danger-bg:#40242e;
  --rz-shadow:0 8px 24px rgba(0,0,0,.12);
}
html { background:var(--rz-bg); scroll-padding-top:100px; }
body { background:var(--rz-bg); color:var(--rz-ink); font-size:1rem; line-height:1.8; }
button,input,select,textarea {font:inherit;}
button,a,input,select,textarea,summary {touch-action:manipulation;}
:where(button,a,input,select,textarea,summary):focus-visible {outline:3px solid var(--rz-focus);outline-offset:3px;}
::selection {background:var(--rz-raised);color:var(--rz-ink);}
.rz-skip {position:fixed;inset-block-start:8px;inset-inline-start:16px;transform:translateY(-180%);z-index:10000;background:var(--rz-surface);color:var(--rz-brand);padding:12px 20px;border:2px solid var(--rz-brand);border-radius:8px;}
.rz-skip:focus {transform:none;}
.rz-theme {display:inline-flex;align-items:center;gap:8px;color:var(--rz-muted);font-size:.875rem;white-space:nowrap;}
.rz-theme select {background:var(--rz-subtle);color:var(--rz-ink);border:1px solid var(--rz-line);border-radius:9px;padding:7px 10px;min-height:42px;max-width:155px;}
.rz-primary,.rz-account {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 18px;border:1px solid var(--rz-line);border-radius:9px;background:var(--rz-surface);color:var(--rz-ink);font-weight:600;cursor:pointer;text-decoration:none;}
.rz-primary {background:#174f99;border-color:#174f99;color:#fff;box-shadow:0 3px 9px #174f991a;}
.rz-primary:hover {background:#123f7a;color:#fff;}
.rz-heading-actions {display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.rz-caption {font-size:.875rem;color:var(--rz-muted);}
.rz-wordmark {display:flex;flex-direction:column;line-height:1.6;}
.rz-wordmark strong {font-size:1rem;color:var(--rz-ink);}
.rz-wordmark small {font-size:.75rem;color:var(--rz-muted);}
.rz-company-logo {width:52px;height:48px;object-fit:contain;background:#fff;border-radius:9px;padding:3px;flex-shrink:0;}
.rz-section-nav {display:flex;gap:4px;flex-wrap:wrap;}
.rz-section-nav a {padding:9px 14px;color:var(--rz-muted);border-radius:8px;text-decoration:none;font-size:.875rem;}
.rz-section-nav a[aria-current="page"] {background:var(--rz-subtle);color:var(--rz-brand);font-weight:700;}
@media(max-width:680px) {.rz-theme>span{display:none}.rz-theme select{max-width:132px}.rz-heading-actions{width:100%}.rz-wordmark small{font-size:.75rem}}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media print {.rz-theme,.rz-skip{display:none!important}}
