/* Scheda del progetto: un foglio A4 a schermo e in stampa. */
:root {
  --blue: #003EA1; --deep: #012269; --ink: #14224A; --soft: #4A5878; --muted: #5A6683; --coral-ink: #B8322C;
  --line: #D5DEF0; --coral: #FC6C6B; --gold: #E5B44D; --sky: #42AAF1; --bg: #E9EEF7;
}
* { box-sizing: border-box; }
html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font: 400 9.6pt/1.45 'Cabin', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.sheet-bar {
  position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center;
  gap: 1rem; padding: .75rem max(1rem, calc((100vw - 210mm) / 2)); background: rgba(1, 34, 105, .94); color: #fff;
}
.sheet-bar a { color: #fff; text-decoration: none; font-weight: 600; }
.sheet-bar button {
  font: inherit; font-weight: 700; border: 0; border-radius: 999px; padding: .6rem 1.2rem;
  background: #D63A39; color: #fff; cursor: pointer;
}
.sheet-bar button:focus-visible, .sheet-bar a:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

.sheet {
  width: 210mm; min-height: 297mm; margin: 1.5rem auto 3rem; padding: 12mm 14mm 9mm;
  background: #fff; box-shadow: 0 20px 50px -20px rgba(1, 34, 105, .35); display: flex; flex-direction: column;
}
.sheet__head { display: flex; gap: 7mm; align-items: center; padding-bottom: 4.5mm; border-bottom: 2.5pt solid var(--blue); }
.sheet__head img { width: 24mm; height: 24mm; flex: none; }
.sheet__kicker { margin: 0 0 1mm; font-weight: 700; font-size: 8.5pt; letter-spacing: .12em; text-transform: uppercase; color: var(--coral-ink); }
.sheet h1 { margin: 0; font: 600 19pt/1.12 'Libre Bodoni', Georgia, serif; color: var(--deep); }
.sheet__claim { margin: 2mm 0 0; color: var(--soft); font-size: 10pt; }
.sheet__claim .c0 { color: #0B6FB8; } .sheet__claim .c99 { color: var(--coral-ink); }

.sheet__grid { display: grid; grid-template-columns: 1fr 62mm; gap: 8mm; padding-top: 5mm; flex: 1; }
.sheet h2 {
  margin: 0 0 2mm; font-size: 8.5pt; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue);
}
.sheet section + section { margin-top: 4mm; }
.sheet p { margin: 0 0 2mm; }
.muted { color: var(--muted); }

.sheet__table { width: 100%; border-collapse: collapse; font-size: 9pt; }
.sheet__table th, .sheet__table td { text-align: left; padding: .9mm 0; border-bottom: .6pt solid var(--line); vertical-align: top; }
.sheet__table th { font-weight: 600; }
.sheet__table td { padding-left: 3mm; white-space: nowrap; }
.sw { display: inline-block; width: 2.4mm; height: 2.4mm; border-radius: 50%; margin-right: 2mm; vertical-align: .2mm; }

.sheet__phases { list-style: none; margin: 0; padding: 0; counter-reset: f; }
.sheet__phases li { display: grid; grid-template-columns: 1fr auto; column-gap: 3mm; padding: 1.1mm 0; border-bottom: .6pt solid var(--line); }
.sheet__phases strong { font-size: 9.5pt; }
.sheet__phases span { font-weight: 700; color: var(--coral-ink); font-size: 9pt; }
.sheet__phases small { grid-column: 1 / -1; color: var(--soft); font-size: 8pt; line-height: 1.35; }

.sheet__side { border-left: .6pt solid var(--line); padding-left: 7mm; }
.sheet__list { margin: 0; padding: 0; list-style: none; font-size: 9.5pt; }
.sheet__list li { padding: .8mm 0 .8mm 3.5mm; position: relative; }
.sheet__list li::before { content: ''; position: absolute; left: 0; top: 2.9mm; width: 1.5mm; height: 1.5mm; border-radius: 50%; background: var(--gold); }
.sheet__targets ul { margin: 0 0 2mm; padding: 0; list-style: none; }
.sheet__targets li { display: grid; grid-template-columns: 13mm 1fr; gap: 2mm; align-items: baseline; padding: .9mm 0; font-size: 8.6pt; border-bottom: .6pt solid var(--line); }
.sheet__targets b { font: 600 15pt/1 'Libre Bodoni', Georgia, serif; color: var(--blue); text-align: right; }
.sheet__targets .muted { font-size: 8pt; }
.sheet__contact { background: #F1F5FD; border-radius: 3mm; padding: 4mm; font-size: 9.5pt; }
.sheet__contact p:last-child { margin: 0; font-weight: 700; color: var(--blue); }

.sheet__foot {
  display: flex; justify-content: space-between; gap: 6mm; margin-top: 4mm; padding-top: 2.5mm;
  border-top: .6pt solid var(--line); font-size: 7.5pt; color: var(--muted);
}

@media (max-width: 840px) {
  .sheet { width: auto; min-height: 0; margin: 0; padding: 1.5rem 1rem 2rem; box-shadow: none; }
  .sheet__head { flex-direction: column; align-items: flex-start; }
  .sheet__grid { grid-template-columns: 1fr; }
  .sheet__side { border: 0; padding: 0; }
  .sheet__foot { flex-direction: column; }
  .sheet__table td { white-space: normal; }
}

@page { size: A4; margin: 0; }
@media print {
  body { background: #fff; }
  .sheet-bar { display: none; }
  .sheet { width: 210mm; height: 297mm; min-height: 0; margin: 0; box-shadow: none; overflow: hidden; }
}
.sheet__list small { display: block; color: var(--soft); font-size: 7.6pt; line-height: 1.3; margin-top: .3mm; }
