/* Colori strutturali (neutri). Il colore di brand è --color-primary, iniettato a
   runtime dal branding del tenant in base.html (F3); qui solo il fallback neutro. */
:root { --fg: #1d2433; --muted: #6b7280; --err: #b91c1c; --color-primary: #334155; --accent: var(--color-primary); }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color: var(--fg); margin: 0; }
.app-header { display: flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-bottom: 2px solid var(--color-primary); }
.app-logo { height: 2rem; width: auto; }
.app-name { font-weight: 600; color: var(--color-primary); }
.container { max-width: 28rem; margin: 2rem auto; padding: 0 1rem; }
h1 { font-size: 1.4rem; }
input[type=text], input[type=email], input[type=password] { width: 100%; padding: .5rem; border: 1px solid #cbd5e1; border-radius: .375rem; }
button, input[type=submit] { padding: .5rem 1rem; background: var(--accent); color: #fff; border: 0; border-radius: .375rem; cursor: pointer; }
.flashes { list-style: none; padding: 0; }
.flash { padding: .5rem .75rem; border-radius: .375rem; margin-bottom: .5rem; }
.flash-danger { background: #fee2e2; color: var(--err); }
.flash-success { background: #dcfce7; color: #166534; }
.flash-info, .flash-warning { background: #e0f2fe; color: #075985; }
.field-error { color: var(--err); font-size: .85rem; }
.env-banner { background: #f59e0b; color: #1d2433; text-align: center; font-weight: 600; padding: .25rem; }

/* F2 — badge natura riga (rimborso/azienda) */
.badge { display: inline-block; padding: 0.1em 0.5em; border-radius: 0.25em; font-size: 0.85em; }
.badge-reimburse { background: #e6f4ea; color: #1e7e34; }
.badge-company { background: #eceff1; color: #455a64; }
.totals ul { list-style: none; padding-left: 0; }

/* F3 — intestazione documenti brandizzata */
.doc-header { display: flex; align-items: center; gap: .75rem; border-bottom: 3px solid var(--pdf-header-color); padding-bottom: .5rem; margin-bottom: 1rem; }
.doc-header img { height: 2.5rem; width: auto; }
.doc-header h1 { margin: 0; }
