/* Generated by scripts/genera-kranz-zugang.py; source SHA-256 c7626d804799f5ec1aa18a1443be04c5592af47bc7c06e85e199391bdf8a92e7. */
html[data-kranz-access] {
  /* ── Colore — carta calda, inchiostro, corallo ───────────────────────────── */
  --klaus-paper: 37.5 44.44% 96.47%;              /* #FAF7F2 — la carta del sito Klaus */
  --klaus-bianco: 0 0% 100%;              /* #FFFFFF — il bianco come gettone (fg sui riempimenti profondi) */
  --klaus-surface: 0 0% 100%;             /* #FFFFFF — card bianche sulla carta */
  --klaus-surface-2: 35.29 37.78% 91.18%;          /* #F1EAE0 — pannello affondato / riga hover (muted sopra: 6,24:1) */
  --klaus-ink: 30 14.81% 10.59%;                /* #1F1B17 — inchiostro caldo (su carta 16,01:1) */
  --klaus-muted: 216.32 21.11% 35.29%;             /* #47566D — testo secondario del marketing (su carta 6,97:1) */

  /* Accento: il CORALLO è la marca (riempimenti, segni, velature col testo
     scuro); il PROFONDO è l'accento operativo quando fa da TESTO o da riempimento
     scuro — come il foglio finale del sito, che ridefinisce il primario sul tono
     profondo. Il corallo come testo su carta sta a 2,68:1: NON si usa per scrivere. */
  --klaus-accent: 27 81.97% 52.16%;        /* #E97B21 — corallo; testo SCURO sopra (5,96:1), mai bianco (2,87:1) */
  --klaus-accent-deep: 26.3 91.25% 31.37%;        /* #994707 — profondo; testo su carta 6,03:1, bianco sopra 6,44:1 */
  --klaus-accent-soft: 27.41 83.12% 46.47%;        /* #D96E14 — hover del riempimento corallo, testo scuro sopra (5,04:1) */
  --klaus-accent-notte: 26.15 92.13% 24.9%;       /* #7A3805 — hover del riempimento profondo, bianco sopra 8,77:1 */
  --klaus-accent-tint: 28 82% 93%;        /* #FCEDE0 — velatura (corallo composto su bianco ad alfa 0,14); deep sopra: 5,62:1 */
  --klaus-accent-fg: 30 15% 11%;          /* #1F1B17 — il testo sui riempimenti d'accento è l'inchiostro */

  /* Linee — il confine di un CONTROLLO non è un filetto (tokens.css:21):
     due gettoni separati, come la base dell'app. */
  --klaus-line: 39.23 35.14% 85.49%;        /* #E7DECD — filetto di riga (1,25:1 su carta: subordinato) */
  --klaus-line-strong: 33 20.83% 62.35%;        /* #B3A18B — filetto rinforzato / divisore attivo */
  --klaus-line-control: 30.77 16.6% 46.08%;  /* #897662 — il bordo del marketing: 4,07:1, sopra il pavimento 3:1 */
  --klaus-line-control-strong: 30 20.22% 34.9%;/* #6B5947 — hover del bordo controllo (6,25:1) */

  /* Ombra e rampa scura del guscio — l'inchiostro Klaus è caldo, non verde-abissale */
  --klaus-shadow: 30 14.81% 10.59%;             /* #1F1B17 — base delle ombre */
  --klaus-warm-900: 32.31 18.31% 13.92%;           /* #2A241D — pannelli scuri (etichette #A89B88 sopra: 5,63:1) */
  --klaus-warm-950: 30 14.81% 10.59%;           /* #1F1B17 */
  --klaus-warm-400: 35.62 15.53% 59.61%;           /* #A89B88 — etichette sulla rampa scura */

  /* ── Stati — il RITARDO e il MEGLIO (grafici-g2, 16.10.2026) ───────────────
     Il marketing non ha un rosso né un verde: servono ai grafici e al briefing,
     e il loro posto è qui, non in un secondo file. Il rosso dei ritardi NON è
     il corallo della marca: tinta 6° contro 27°, e soprattutto più scuro — sotto
     deuteranopia (Machado 2009) il corallo diventa #B6A21F e il ritardo #6E6217,
     luminanza 2,39:1 l'uno dall'altro; contro il secondario delle barre resta
     distinto sull'asse giallo-blu (#6E6217 contro #4A536C), e non viaggia mai da
     solo: c'è sempre la parola e la freccia o l'icona. Contrasti calcolati dai
     canali con .uscite/grafici-g2/attrezzi/contrasto.py (WCAG 2.2):
     ritardo su bianco 7,09:1 (AAA anche in piena luce), su carta 6,63:1, sulla
     sua velatura 6,14:1, come segno sulla corsia (surface-2) 5,93:1;
     il meglio sulla sua velatura 6,93:1. */
  --klaus-achtung: 6 70% 38%;             /* #A52B1D — in ritardo, oltre la soglia, scaduto */
  --klaus-achtung-tint: 6 74% 95%;        /* #FCEBE9 — velatura delle pastiglie «peggio» */
  --klaus-gut: 153 48% 24%;               /* #205B40 — «meglio di ieri», solo su metriche dove meno è meglio */
  --klaus-gut-tint: 145 40% 92%;          /* #E2F3E9 — la sua velatura */

  /* ★ grafica-walter, giro 3 (AUDIT-SOL-2 §2, 17.10.2026) — la SERIE ACCANTO ALLO STATO. Il ritardo e il
     secondario hanno la stessa luminosita' (1,05:1; 1,30:1 in scala di grigi): accanto a una colonna
     «überfällig» le barre della serie erano barre come le altre. La regola di Kranz (grafica-unita 10,
     «Wie sich die Arbeit verteilt»): dove la serie sta accanto allo stato la serie e' CHIARA col contorno
     pieno, e il rosso resta il solo segno pieno e scuro. Kranz la scrive come secondario ad alfa 0,3; qui
     e' lo stesso colore gia' composto sul bianco della carta, OPACO — cosi' il colore calcolato dice
     quello che si dipinge su qualunque fondo e chi lo misura non deve ricordarsi l'alfa.
     Contrasti (WCAG 2.2, banco-walter-grafica/allarme-grigio.mjs): ritardo contro serie chiara 4,40:1 a
     colori e 6,05:1 in grigio (erano 1,05 e 1,30); il contorno (il secondario) tiene la barra a 7,45:1 sul
     bianco e a 4,62:1 sul suo riempimento. */
  --klaus-muted-tint: 216.32 11.52% 80.59%;  /* #C8CCD3 — il secondario composto su bianco ad alfa 0,3 */

  /* ── Stati — il PRESTO e l'INFORMAZIONE (grafica-walter, giro 2, 17.10.2026) ──
     Nemmeno questi due li ha il marketing, e il CRM li usa da sempre: «läuft ab»,
     «Freigabe», «wartet» (PRESTO: da guardare prima che diventi un ritardo) e
     «gesendet», «in Arbeit» (INFORMAZIONE: niente da fare adesso). Nelle pagine di
     Klaus di Walter li dipingeva ancora la pelle del mandante (saffron e lake di
     tokens.css:63–65): l'ultimo colore di quelle pagine che non veniva da qui. I
     valori sono QUELLI, apposta: la figura che il cliente conosce non cambia, cambia
     da dove viene. La provenienza è il CRM, non il marketing.
     Contrasti (WCAG 2.2, opachi, .uscite/grafica-walter/g2r/attrezzi/contrasto.py):
     presto sulla sua velatura 4,88:1, su carta 5,63:1, su bianco 6,02:1, bianco sopra
     6,02:1; informazione sulla sua velatura 6,40:1, su carta 7,51:1, bianco sopra 8,02:1.
     ⚠️ Il PRESTO e il PROFONDO della marca hanno quasi la stessa luminanza (1,07:1):
     li separa la tinta (36° contro 26°) e basta — come il ritardo, il presto non
     viaggia mai senza la parola. */
  --klaus-hinweis: 36 60% 32%;            /* #835B21 — presto: testo, segni e riempimenti (saffron-deep del CRM) */
  --klaus-hinweis-tint: 41 54% 88%;       /* #F1E6D0 — la sua velatura (saffron-tint del CRM) */
  --klaus-info: 196 44% 28%;              /* #285667 — informazione: testo, segni e riempimenti (lake-deep del CRM) */
  --klaus-info-tint: 196 44% 89%;         /* #D7E9EF — la sua velatura (lake-tint del CRM) */

  /* ── Caratteri — DM Sans per corpo e titoli, come il marketing ───────────── */
  --klaus-font-family: "DM Sans", "Manrope Variable", system-ui, sans-serif;
  /* Le CIFRE. ⚠️ Il DM Sans di questo file (DMSans-latin-var.woff2) NON ha cifre
     tabulari: nessuna funzione `tnum` (le sue sono calt, ccmp, dnom, frac, liga,
     locl, numr) e le cifre hanno larghezze diverse — «1» 342 unità, «0» 656
     (fontTools, 16.10.2026). `tabular-nums` lì non fa niente e un numero che si
     aggiorna BALLA. Le cifre in colonna o che cambiano usano Manrope, già caricato
     dall'app, che `tnum` lo ha. */
  --klaus-font-zahlen: "Manrope Variable", "DM Sans", system-ui, sans-serif;

  /* Scala tipografica (rem) — i ruoli dell'APP. 56/80 sono i display del
     marketing: restano dichiarati perché il contratto è unico, ma un titolo
     d'app non li eredita gratis (l'inventario: «56/80 non diventano
     automaticamente titoli di app»). */
  --klaus-text-label: 0.875rem;           /* 14 — etichette, meta */
  --klaus-text-body: 1rem;                /* 16 — corpo */
  --klaus-text-lead: 1.25rem;             /* 20 — ingressi di sezione */
  --klaus-text-h3: 1.5rem;                /* 24 — titolo di card alta */
  --klaus-text-h2: 2rem;                  /* 32 — titolo di sezione */
  --klaus-text-h1: 2.5rem;                /* 40 — titolo di pagina */
  --klaus-text-display: 3.5rem;           /* 56 — display marketing (36→32 in media query) */
  --klaus-text-hero: 5rem;                /* 80 — hero marketing (56 da 80 sotto le medesime query) */
  /* Ruoli già dipinti dal pilota e dai primitivi condivisi. Nessun ritocco
     di scala: le utility Tailwind nel pilota consumano queste misure. */
  --klaus-text-caption: 0.6875rem;
  --klaus-text-small: 0.75rem;
  --klaus-text-compact: 0.9375rem;
  --klaus-text-app: 15px;                 /* corpo ereditato da body: conserva anche root 32 */
  --klaus-text-section: 1.125rem;
  --klaus-text-title: 1.55rem;
  --klaus-text-stat: 1.7rem;
  --klaus-leading-caption: var(--klaus-text-body);
  --klaus-leading-small: var(--klaus-text-body);
  --klaus-leading-label: var(--klaus-text-lead);
  --klaus-leading-compact: 1.4rem;
  --klaus-leading-body: var(--klaus-text-h3);
  --klaus-leading-section: 1.75rem;
  --klaus-leading-lead: var(--klaus-leading-section);
  --klaus-leading-h3: var(--klaus-text-h2);
  --klaus-leading-title: 1.2;
  --klaus-leading-stat: 1.15;
  --klaus-leading-h2: 1.1;
  --klaus-leading-none: 1;
  --klaus-leading-tight: 1.25;
  --klaus-leading-snug: 1.375;
  --klaus-leading-normal: 1.5;
  --klaus-leading-relaxed: 1.625;
  --klaus-leading-loose: 2;
  --klaus-leading-wordmark: var(--klaus-leading-stat);
  --klaus-tracking-heading: -0.01em;
  --klaus-tracking-tighter: -0.05em;
  --klaus-tracking-tight: -0.025em;
  --klaus-tracking-normal: 0;
  --klaus-tracking-wide: 0.025em;
  --klaus-tracking-wider: 0.05em;
  --klaus-tracking-widest: 0.1em;
  --klaus-tracking-eyebrow: 0.16em;
  --klaus-tracking-codlab: 0.18em;
  --klaus-weight-thin: 100;
  --klaus-weight-extralight: 200;
  --klaus-weight-light: 300;
  --klaus-weight-regular: 400;
  --klaus-weight-ui-medium: 500;          /* conserva font-medium dei primitivi */
  --klaus-weight-medium: 600;             /* DM Sans 600 = «medium» del marketing */
  --klaus-weight-bold: 700;
  --klaus-weight-extrabold: 800;
  --klaus-weight-black: 900;

  /* ── Spaziatura — la scala APPLICATIVA che al marketing manca (inventario:
     «manca una scala applicativa nominata per righe, toolbar, tabelle e modali»).
     Passo 4px, numeri = passi; i ruoli semantici sotto traducono le misure
     misurate del sito (gap 8/12/14, campo 12×14, pannello 38×34, sezione 52). */
  --klaus-space-0: 0px;
  --klaus-space-px: 1px;
  --klaus-space-0-5: 0.125rem;            /* 2 */
  --klaus-space-1: 0.25rem;               /* 4 */
  --klaus-space-1-5: 0.375rem;            /* 6 */
  --klaus-space-2: 0.5rem;                /* 8 */
  --klaus-space-2-5: 0.625rem;            /* 10 */
  --klaus-space-3: 0.75rem;               /* 12 */
  --klaus-space-3-5: 0.875rem;            /* 14 */
  --klaus-space-4: 1rem;                  /* 16 */
  --klaus-space-5: 1.25rem;               /* 20 */
  --klaus-space-6: 1.5rem;                /* 24 */
  --klaus-space-8: 2rem;                  /* 32 */
  --klaus-space-10: 2.5rem;               /* 40 */
  --klaus-space-13: 3.25rem;              /* 52 */
  --klaus-space-16: 4rem;                 /* 64 */
  /* I MEZZI PASSI 0,5 · 1,5 · 2,5 · 3,5 (grafici-g3, 17.10.2026). La carta del briefing e i
     grafici li dipingevano scritti a mano (.125rem, .375rem, .625rem) o con le utility di
     Tailwind: sei valori su 57 fuori dai gettoni, misurati da Sol il 16.10 — 2/6/10 px fra una
     cifra e la sua parola, nelle pastiglie, fra una decisione e l'altra. Il loro posto è QUI,
     come gli altri passi: chi li usa scrive `var(--klaus-space-1-5)`, mai il numero. */
  --klaus-gap-row: var(--klaus-space-3);          /* righe di lista / toolbar */
  --klaus-gap-group: var(--klaus-space-5);        /* gruppi di campi */
  --klaus-pad-field-y: var(--klaus-space-3);      /* campo 12×14 del marketing */
  --klaus-pad-field-x: var(--klaus-space-3-5);    /* 14 */
  --klaus-pad-panel-y: 2.375rem;                  /* 38 — pannello del marketing */
  --klaus-pad-panel-x: 2.125rem;                  /* 34 */
  --klaus-sec-y: var(--klaus-space-13);           /* ritmo verticale delle sezioni */
  /* Larghezze e riserve già presenti in .page/.prosa: stesse misure,
     governate qui. I tetti in px conservano il comportamento a testo ingrandito. */
  --klaus-page-gutter-cap: 16px;
  --klaus-page-gutter-cap-md: 28px;
  --klaus-page-tail: calc(var(--klaus-space-1) * 24);
  --klaus-prose-max: 63ch;
  --klaus-prose-wide: 36rem;

  /* ── Raggi — i quattro del marketing, non di più ─────────────────────────── */
  --klaus-radius-small: 4px;              /* dettagli, chip tecnici */
  --klaus-radius-control: 12px;           /* campi, bottoni */
  --klaus-radius-card: 20px;              /* card e pannelli */
  --klaus-radius-round: 999px;            /* pillole, stati */

  /* ── Ombre — le due del marketing; non tutte le card le usano ────────────── */
  --klaus-shadow-soft: 0 4px 16px hsl(var(--klaus-shadow) / 0.10);
  --klaus-shadow-raised: 0 12px 32px hsl(var(--klaus-shadow) / 0.18);

  /* ── Misure di controllo — il pubblico del mandato (45–60 anni) e le
     soglie misurate del sito: campo almeno 48px, bottone callback 52px ─────── */
  --klaus-control-h: 3rem;                /* 48 — campo */
  --klaus-control-h-primary: 3.25rem;     /* 52 — comando principale */

  /* ── Slot del marchio — proposte dell'inventario: esteso 144×40, segno 32×32.
     Il riquadro RISERVA lo spazio: un logo enorme o molto allungato non sposta
     il layout, si contiene (object-fit: contain, nessun ritaglio). ─────────── */
  --klaus-logo-w: 9rem;                   /* 144 — slot esteso */
  --klaus-logo-h: 2.5rem;                 /* 40 */
  --klaus-logo-mark: 2rem;                /* 32 — segno compatto */
}
