/* Identità ADAGIO — condivide i token del Mainframe (letti dal suo index.html:
   --bg #12161d, accento ambra #f2a71b, Inter + IBM Plex Mono serviti in locale).
   UI dell'app in tema scuro come il pannello; il documento stampato (documento.html)
   usa invece il tema chiaro su carta, con gli stessi accenti. */

@font-face { font-family:'Inter'; font-weight:400; font-style:normal;
  src:url('fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:500; font-style:normal;
  src:url('fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:600; font-style:normal;
  src:url('fonts/inter-600.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:700; font-style:normal;
  src:url('fonts/inter-700.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-weight:400; font-style:normal;
  src:url('fonts/plexmono-400.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-weight:500; font-style:normal;
  src:url('fonts/plexmono-500.woff2') format('woff2'); }

:root {
  color-scheme: dark;
  --bg:#12161d; --bg-secondary:#161b24;
  --card:#1a2029; --surface:#1a2029; --surface-raised:#212836;
  --border:#2b3342;
  --text:#eef1f6; --text-muted:#8b94a6;
  --accent:#f2a71b; --accent-dim:#7a5a1e;
  --live:#2dd4bf; --danger:#ef5b5b;
  --font-body:'Inter', system-ui, sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}

* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:14px; line-height:1.45; }

header { background:var(--bg-secondary); border-bottom:1px solid var(--border);
  padding:14px 24px; display:flex; justify-content:space-between; align-items:center;
  gap:16px; flex-wrap:wrap; }
header h1 { font-size:15px; margin:0; font-weight:600; letter-spacing:.2px; }
header h1 .mark { color:var(--accent); font-weight:700; }
header .sub { color:var(--text-muted); font-size:12px; font-weight:400; }
nav { display:flex; gap:4px; flex-wrap:wrap; }
nav a { color:var(--text-muted); text-decoration:none; font-size:13px;
  padding:6px 10px; border-radius:6px; }
nav a:hover { background:var(--surface-raised); color:var(--text); }
nav a.attiva { background:var(--accent-dim); color:#fff; }

main { max-width:1180px; margin:22px auto; padding:0 18px; }

/* Card: riquadro pieno, raggio 0 (design system v1.2 §4: "CARD = flat, sempre 0") */
.card { background:var(--card); border:1px solid var(--border); border-radius:0;
  padding:16px; margin-bottom:18px; }
.card h2 { font-size:11px; text-transform:uppercase; letter-spacing:.9px;
  color:var(--text-muted); margin:0 0 12px 0; font-weight:600; }

.azioni { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.btn { display:inline-block; background:var(--accent); color:#1a1200; border:none;
  border-radius:6px; padding:9px 15px; font-size:13px; font-weight:600;
  font-family:inherit; cursor:pointer; text-decoration:none; }
.btn:hover { filter:brightness(1.08); }
.btn.alt { background:var(--surface-raised); color:var(--text); border:1px solid var(--border);
  font-weight:500; }
.btn.pericolo { background:transparent; color:var(--danger); border:1px solid var(--danger); }

table { width:100%; border-collapse:collapse; background:var(--card);
  border:1px solid var(--border); border-radius:0; overflow:hidden; }
th { background:var(--bg-secondary); text-align:left; font-size:10.5px;
  text-transform:uppercase; letter-spacing:.7px; color:var(--text-muted);
  padding:10px; font-weight:600; }
td { padding:10px; border-top:1px solid var(--border); font-size:13px;
  vertical-align:top; }
tr:hover td { background:var(--surface-raised); }
td.n, th.n { text-align:right; }
.n, .num, .importi { font-family:var(--font-mono); font-variant-numeric:tabular-nums; }

.tag { display:inline-block; padding:2px 9px; border-radius:20px; font-size:11px;
  font-weight:600; border:1px solid transparent; }
.tag.preventivo { background:rgba(242,167,27,.14); color:var(--accent); border-color:var(--accent-dim); }
.tag.fattura { background:rgba(45,212,191,.14); color:var(--live); border-color:#1d6b62; }
.tag.nota { background:rgba(239,91,91,.14); color:var(--danger); border-color:#7a3030; }
.tag.convertito, .tag.emesso { background:var(--surface-raised); color:var(--text-muted);
  border-color:var(--border); }

label { display:block; font-size:11px; color:var(--text-muted); margin-bottom:4px;
  text-transform:uppercase; letter-spacing:.5px; }
input, select, textarea { width:100%; padding:8px 9px; background:var(--bg-secondary);
  color:var(--text); border:1px solid var(--border); border-radius:6px;
  font-size:13px; font-family:inherit; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--accent); }
input[type=checkbox] { width:auto; }
.grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.wide { grid-column:span 2; }

.muted { color:var(--text-muted); font-size:12px; }
a { color:var(--accent); }
.ok { color:var(--live); } .ko { color:var(--danger); }
.tot { display:flex; justify-content:flex-end; gap:22px; font-size:13px; margin-top:12px;
  flex-wrap:wrap; }
.tot b { font-family:var(--font-mono); font-size:15px; color:var(--text); }
code, .codice { font-family:var(--font-mono); font-size:12px; color:var(--text-muted); }

/* Piede obbligatorio (design system §6): "Sviluppo: ADAGIO media" + badge versione
   nel formato vX.Y.Z-data, mono 11-12px, --text-muted. Il claim del marchio non
   compare mai nella UI: vive solo su carta (linee guida §3). */
.piede { max-width:1180px; margin:0 auto; padding:6px 18px 26px 18px;
  display:flex; gap:16px; align-items:baseline; flex-wrap:wrap;
  border-top:1px solid var(--border); }
.piede .sviluppo { color:var(--text-muted); font-size:12px; }
.piede .badge { font-family:var(--font-mono); font-size:11px; color:var(--text-muted); }
