/* ═════════════════════════════════════════════════════════════════════
 * UREDNO — the Altoria design language, as tokens.
 *
 * GENERATED. Do not hand-edit: change design-system/design-tokens.json or
 * design-system/token-map.json and re-run
 *     python3 design-system/emit_uredno.py <out.css>
 *
 * ── SUPERSESSION, 21.08.2026 ─────────────────────────────────────────
 * Daniel's ruling: the approved design system
 * (design-system/design-tokens.json + component-blueprints.md) is the source
 * of truth; UREDNO yields and is updated. Recorded in full, with the
 * measurements, in design-system/DECISIONS.md — DEC-1 through DEC-5.
 *
 * Of the four rules the previous header declared:
 *   1. "the CTA is never green"  SUPERSEDED. action.default is #003320 on
 *      light (white on it: 13.02:1) and #BAFAC0 on dark (ink on it: 14.86:1).
 *      The rule existed because the --aco-* foundation produced a MUDDY green
 *      CTA; the approved pairing is a measured one. Note the light CTA is now
 *      literally green — that is the ruling, not a regression.
 *   2. Sora + Archivo            SUPERSEDED by font.family (Outfit + UI stack).
 *   3. weights 400/500/600 only  SUPERSEDED by font.weight (300-700; 700 for
 *      short display headings only).
 *   4. "the brand face may never set a number"  KEPT, IN A STRONGER FORM —
 *      see below. It is the one rule that was about craft rather than about
 *      the foundation it replaced.
 *
 * ── THE ONE RULE THAT SURVIVES ───────────────────────────────────────
 * The brand face may set a figure ONLY with `font-variant-numeric:
 * tabular-nums lining-nums` applied. The display face carries `tnum` but does
 * not apply it by default, so a naked figure in the display face is a defect,
 * not a style choice — it column-aligns nowhere while looking deliberate. The
 * work face is tabular by default and needs no guard.
 *
 * ── WHAT THIS FILE REPLACED, KEPT ON PURPOSE ─────────────────────────
 * The v2 tree was first built on `altoria-tokens.css` (the `--aco-*` set).
 * Uredno names that file's direction — champagne gold on near-black, "private
 * banking" — as the luxury pole it rejects, and lists portal.css /
 * altoria-cyberlux.css / altoria-operations.css as MIGRATION TARGETS, NOT
 * REFERENCES. That history is why anyone can audit how the language got here,
 * so it is appended to, never deleted.
 *
 * Uredno, adj. — in order, tidy, correct, settled. What a bookkeeper says when
 * the books are right. Not an aspirational word, and that is the point.
 * ═══════════════════════════════════════════════════════════════════ */


@font-face {
  font-family: 'Outfit';
  src: url('fonts/outfit-400.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Outfit';
  src: url('fonts/outfit-700.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --alt-ref-logo: #003320;
  --alt-ref-depth: #0F5B55;
  --alt-ref-forest: #275F2E;
  --alt-ref-leaf: #4EAF5A;
  --alt-ref-fresh: #BAFAC0;
  --alt-bg-page: #F1F4F1;
  --alt-bg-surface-1: #FFFFFF;
  --alt-bg-surface-2: #F4F7F4;
  --alt-bg-surface-3: #FBFCFB;
  --alt-bg-scrim: rgba(11, 23, 18, .42);
  --alt-line: rgba(0, 51, 32, 0.07);
  --alt-line-strong: rgba(0, 51, 32, 0.13);
  --alt-text-1: #161716;
  --alt-text-2: #4A5A52;
  --alt-text-3: #67726A;
  --alt-text-disabled: #A8B3AB;
  --alt-text-empty: #67726A;
  --alt-action-bg: #003320;
  --alt-action-fg: #FFFFFF;
  --alt-action-bg-hover: #04452C;
  --alt-action-bg-active: #22332B;
  --alt-action-quiet-bg: transparent;
  --alt-action-quiet-line: rgba(0, 51, 32, 0.13);
  --alt-action-quiet-fg: #161716;
  --alt-accent: #0E884E;
  --alt-accent-quiet: #E6F0EF;
  --alt-positive-text: #0E7C5A;
  --alt-positive-mark: #0E7C5A;
  --alt-positive-fill: #4EAF5A;
  --alt-positive-quiet: rgba(12, 154, 34, 0.12);
  --alt-negative-text: #B4433A;
  --alt-negative-fill: #B4433A;
  --alt-negative-quiet: rgba(180, 67, 58, 0.12);
  --alt-warning-text: #8A6410;
  --alt-warning-mark: #8A6410;
  --alt-warning-quiet: #FBF1DF;
  --alt-notice-text: #3F75CF;
  --alt-notice-quiet: rgba(31, 111, 178, 0.12);
  --alt-selected: #BAFAC0;
  --alt-selected-marker: #0E7C5A;
  --alt-e0: 0px 0px 0px 0px rgba(0,0,0,0);
  --alt-e1: 0px 16px 34px -22px rgba(0, 25, 15, 0.34);
  --alt-e2: 0px 20px 44px -22px rgba(0, 25, 15, 0.42);
  --alt-ease-in: cubic-bezier(0.32, 0.72, 0.0, 1.0);
  --alt-ease-out: cubic-bezier(.4, 0, 1, 1);
  --dur-1: 120ms;
  --dur-2: 180ms;
  --dur-3: 280ms;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --r-sm: 4px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 9999px;
  --row-h: 44px;
  --row-h-head: 40px;
  --control-h: 36px;
  --masthead-h: 60px;
  --carouselbar-h: 64px;
  --subhead-h: 44px;
  --rail-w: 78px;
  --rail-w-open: 264px;
  --sheet-inset: 12px;
  --sheet-radius: 28px;
  --z-masthead: 20;
  --z-carousel: 20;
  --z-popover: 40;
  --z-modal: 60;
  --z-toast: 80;
  --alt-disc-fill: #003320;
  --alt-disc-ring: rgba(0, 0, 0, 0);
  --alt-chrome-disc: #12472F;
  --alt-chrome-disc-ring: rgba(255, 255, 255, 0.16);
  --alt-glyph-novac: #67FCA7;
  --alt-glyph-dokumenti: #78A3FB;
  --alt-glyph-drzava: #FCBC2F;
  --alt-glyph-ljudi: #E9B9FD;
  --alt-glyph-banka: #21C3AC;
  --alt-glyph-rizik: #FB786B;
  --alt-accent-novac: #0E884E;
  --alt-accent-dokumenti: #3F75CF;
  --alt-accent-drzava: #996F0B;
  --alt-accent-ljudi: #9E5AB8;
  --alt-accent-banka: #0E8573;
  --alt-accent-rizik: #C75045;
  --alt-focus-ring: #0E884E;
  --alt-opacity-disabled: 0.3;
  --alt-focus-ring-chrome: #7FC4AB;
}

/* DARK — a re-derivation, not an inversion. The field stays green in both
   themes: a product that changes identity when someone turns on the lights
   doesn't have one. */
[data-theme='dark'] {
  --alt-bg-page: #07110D;
  --alt-bg-surface-1: #0C1712;
  --alt-bg-surface-2: #132520;
  --alt-bg-surface-3: #0E1C16;
  --alt-bg-scrim: rgba(4, 9, 7, .62);
  --alt-line: rgba(245, 247, 246, 0.09);
  --alt-line-strong: rgba(127, 196, 171, 0.20);
  --alt-text-1: #F5F7F6;
  --alt-text-2: #9DB0A6;
  --alt-text-3: #7F8B83;
  --alt-text-disabled: #4B564F;
  --alt-text-empty: #7F8B83;
  --alt-action-bg: #7FC4AB;
  --alt-action-fg: #052E22;
  --alt-action-bg-hover: #93D4BB;
  --alt-action-bg-active: #94E09C;
  --alt-action-quiet-bg: transparent;
  --alt-action-quiet-line: rgba(127, 196, 171, 0.20);
  --alt-action-quiet-fg: #F5F7F6;
  --alt-accent: #7FC4AB;
  --alt-accent-quiet: #1F3631;
  --alt-positive-text: #5FC49B;
  --alt-positive-mark: #5FC49B;
  --alt-positive-fill: #4EAF5A;
  --alt-positive-quiet: rgba(12, 154, 34, 0.16);
  --alt-negative-text: #E08A80;
  --alt-negative-fill: #E08A80;
  --alt-negative-quiet: rgba(180, 67, 58, 0.16);
  --alt-warning-text: #D9A455;
  --alt-warning-mark: #D9A455;
  --alt-warning-quiet: #31301C;
  --alt-notice-text: #467DD7;
  --alt-notice-quiet: rgba(31, 111, 178, 0.16);
  --alt-selected: #123528;
  --alt-selected-marker: #5FC49B;
  --alt-e1: 0px 16px 34px -22px rgba(0, 25, 15, 0.34);
  --alt-e2: 0px 20px 44px -22px rgba(0, 25, 15, 0.42);
  --alt-disc-fill: #0C3925;
  --alt-disc-ring: rgba(255, 255, 255, 0.10);
  --alt-chrome-disc: #12432D;
  --alt-chrome-disc-ring: rgba(255, 255, 255, 0.16);
  --alt-glyph-novac: #67FCA7;
  --alt-glyph-dokumenti: #78A3FB;
  --alt-glyph-drzava: #FCBC2F;
  --alt-glyph-ljudi: #E9B9FD;
  --alt-glyph-banka: #21C3AC;
  --alt-glyph-rizik: #FB786B;
  --alt-accent-novac: #109154;
  --alt-accent-dokumenti: #467DD7;
  --alt-accent-drzava: #A2770D;
  --alt-accent-ljudi: #A762C2;
  --alt-accent-banka: #108E7A;
  --alt-accent-rizik: #D0584C;
  --alt-focus-ring: #7FC4AB;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-1: 1ms; --dur-2: 1ms; --dur-3: 1ms; }
}
