/* ════════════════════════════════════════════════════════════════════════════
   KAM Agency — tema della Demo Gestionale (stile del sito kamagency.it)
   Caricato per ULTIMO in ogni pagina da strumenti/rebrand.py.
   Caratteri KAM, angoli netti, linee sottili al posto delle ombre,
   etichette in mono maiuscolo, inchiostro + oro + crema.
   ════════════════════════════════════════════════════════════════════════════ */
@font-face { font-family: 'KAM Display'; src: url('/static/fonts/kam-display-400-900-normal.woff2') format('woff2'); font-weight: 400 900; font-display: swap; }
@font-face { font-family: 'KAM Sans'; src: url('/static/fonts/kam-sans-300-700-normal.woff2') format('woff2'); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'KAM Sans'; src: url('/static/fonts/kam-sans-300-700-italic.woff2') format('woff2'); font-weight: 300 700; font-style: italic; font-display: swap; }
@font-face { font-family: 'KAM Mono'; src: url('/static/fonts/kam-mono-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'KAM Mono'; src: url('/static/fonts/kam-mono-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; }

:root {
  --kam-ink: #17140F; --kam-ink-2: #2A251D; --kam-oro: #C8A24A; --kam-oro-dk: #96731F;
  --kam-crema: #F2EEE3; --kam-carta: #FBF9F4; --kam-linea: rgba(23,20,15,.13); --kam-linea-forte: rgba(23,20,15,.26);
  --kam-testo-2: #5B5447;
  --ui-radius: 6px;
  --ui-border: var(--kam-linea);
  --ui-shadow: none;
  --ui-shadow-hover: 0 0 0 1px var(--kam-linea-forte);
  --dash-radius: 6px;
}

/* ── Caratteri ─────────────────────────────────────────────────────────────── */
body, .form-control, .form-select, .btn, input, select, textarea, .modal, .dropdown-menu, .tooltip, .popover {
  font-family: 'KAM Sans', 'Helvetica Neue', Arial, sans-serif !important;
}
body { background: var(--kam-crema) !important; color: var(--kam-ink); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, .sec-header-text h5, .dash-hero h1, .dash-hero h2, .dash-hero h3, .modal-title,
.dash-kpi-value, .stat-val, .hsc-val, .pres-stats-val, .app-nav-brand span, .login-logo-wrap span {
  font-family: 'KAM Display', 'KAM Sans', sans-serif !important; letter-spacing: -.01em;
}
.app-table thead th, .filter-label, .filters-bar .filter-label, .stat-label, .hsc-label, .pres-stats-label,
.dash-kpi-label, .badge, .tip-chip, .kam-demo-badge, .nav-pill-btn, .ft-tab-btn, .pres-tab, .field-label,
.form-label, .dash-hero small, .sec-header-text small {
  font-family: 'KAM Mono', ui-monospace, monospace !important;
}
.app-table thead th, .filter-label, .stat-label, .hsc-label, .pres-stats-label, .dash-kpi-label, .form-label {
  text-transform: uppercase; letter-spacing: .1em !important; font-weight: 500 !important; color: var(--kam-testo-2) !important;
}
.app-table thead th { font-size: .66rem !important; }
.nav-pill-btn, .ft-tab-btn, .pres-tab { text-transform: uppercase; letter-spacing: .06em; font-size: .74rem !important; font-weight: 500 !important; }
.sec-header-text small { font-size: .72rem !important; letter-spacing: .04em; color: var(--kam-testo-2) !important; }
td, .app-table td { font-variant-numeric: tabular-nums; }
.app-table td { font-size: .84rem !important; }
.app-table td:nth-last-child(2) { white-space: nowrap; }

/* ── Barra in alto ─────────────────────────────────────────────────────────── */
.app-nav { background: var(--kam-ink) !important; border-bottom: 2px solid var(--kam-oro) !important; box-shadow: none !important; }
.app-nav-brand span { color: var(--kam-crema) !important; font-weight: 700 !important; }
.nav-pill-btn { border-radius: 4px !important; color: rgba(242,238,227,.78) !important; }
.nav-pill-btn:hover { color: var(--kam-crema) !important; background: rgba(242,238,227,.08) !important; }
.nav-pill-btn.active { background: transparent !important; color: var(--kam-oro) !important; box-shadow: inset 0 -2px 0 var(--kam-oro) !important; border-radius: 0 !important; }

/* ── Superfici: carta su crema, linee sottili, niente ombre ───────────────── */
.sec-header, .filters-bar, .app-card, .card, .ft-tab-bar, .pres-tabs-bar, .stats-strip .stat-chip, .home-stat-card,
.pres-stats-card, .dash-kpi, .modal-content, .table-responsive, .dropdown-menu, .list-group-item {
  border-radius: var(--ui-radius) !important; box-shadow: none !important; border-color: var(--kam-linea) !important;
}
.sec-header, .filters-bar, .app-card, .card, .dash-kpi, .home-stat-card, .stats-strip .stat-chip, .pres-stats-card, .modal-content {
  background: var(--kam-carta) !important;
}
.dash-kpi:hover, .home-stat-card:hover, .stats-strip .stat-chip:hover { box-shadow: 0 0 0 1px var(--kam-linea-forte) !important; transform: none !important; }
.dash-kpi::before { height: 2px !important; background: var(--kam-oro) !important; }
.stats-strip .stat-chip, .home-stat-card, .pres-stats-card { border-left: 2px solid var(--chip-accent, var(--kam-oro)) !important; }

/* icona dell'intestazione: quadrato inchiostro con icona oro */
.sec-header-icon, .dash-kpi-icon, .home-stat-card .hsc-icon {
  background: var(--kam-ink) !important; color: var(--kam-oro) !important; border-radius: 4px !important; box-shadow: none !important;
}

/* intestazioni scure dei report */
.dash-hero { background: var(--kam-ink) !important; border-radius: var(--ui-radius) !important; border-bottom: 2px solid var(--kam-oro); }

/* ── Tabelle ───────────────────────────────────────────────────────────────── */
.app-table thead th { background: transparent !important; border-bottom: 1px solid var(--kam-linea-forte) !important; }
.app-table td { border-color: var(--kam-linea) !important; }
.app-table tbody tr:hover td { background: rgba(200,162,74,.07) !important; }

/* ── Schede in alto ────────────────────────────────────────────────────────── */
.ft-tab-bar, .pres-tabs-bar { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--kam-linea-forte) !important; border-radius: 0 !important; padding: 0 !important; gap: 0 !important; }
.ft-tab-btn, .pres-tab { border-radius: 0 !important; background: transparent !important; color: var(--kam-testo-2) !important; padding: .55rem 1rem !important; }
.ft-tab-btn.active, .pres-tab.active { background: transparent !important; color: var(--kam-ink) !important; box-shadow: inset 0 -2px 0 var(--kam-oro) !important; }

/* ── Bottoni e campi ───────────────────────────────────────────────────────── */
.btn, .btn-reset, .form-control, .form-select, .filters-bar .form-control, .filters-bar .form-select, .sec-header .btn { border-radius: 4px !important; }
.btn-primary, .btn-dark { background: var(--kam-ink) !important; border-color: var(--kam-ink) !important; color: var(--kam-crema) !important; }
.btn-primary:hover, .btn-dark:hover { background: var(--kam-oro) !important; border-color: var(--kam-oro) !important; color: var(--kam-ink) !important; }
.form-control:focus, .form-select:focus { border-color: var(--kam-oro) !important; box-shadow: 0 0 0 3px rgba(200,162,74,.22) !important; }
.badge, .tip-chip { border-radius: 3px !important; font-weight: 500 !important; letter-spacing: .03em; }
.filters-bar .form-control, .filters-bar .form-select { background-color: #fff !important; }
