:root { --fondo:#0b1f1e; --carta:#10302e; --linea:#1f4a46; --testo:#eef5f3; --grigio:#9fb8b3; --oro:#f2c14e; --verde:#2fd08f; --rosso:#ff5c6c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--fondo); color:var(--testo); font:17px/1.6 -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color:var(--oro); }
header { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--linea); flex-wrap:wrap; gap:12px; }
.marchio { font-weight:800; font-size:20px; color:var(--testo); text-decoration:none; } .marchio span { color:var(--oro); }
nav a { color:var(--grigio); text-decoration:none; margin-left:18px; font-size:15px; } nav a.attivo { color:var(--testo); font-weight:600; }
main { max-width:1000px; margin:0 auto; padding:32px 16px 48px; }
.pubblicita { border:1px solid var(--oro); color:var(--oro); border-radius:10px; padding:10px 14px; font-size:14px; margin-bottom:24px; }
h1 { font-size:34px; line-height:1.2; margin:0 0 10px; }
h2 { font-size:22px; margin:36px 0 12px; }
h3 { font-size:18px; margin:24px 0 8px; }
.sotto { color:var(--grigio); margin:0 0 28px; max-width:720px; }
.briciole { color:var(--grigio); font-size:14px; margin:0 0 8px; } .briciole a { color:var(--grigio); }
table { width:100%; border-collapse:collapse; background:var(--carta); border-radius:14px; overflow:hidden; }
th, td { text-align:left; padding:14px; border-bottom:1px solid var(--linea); vertical-align:top; font-size:15px; }
th { color:var(--grigio); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
table.scheda th { text-transform:none; font-size:15px; width:30%; }
td.broker a { color:var(--testo); font-weight:700; font-size:17px; text-decoration:none; }
.aut { color:var(--grigio); font-size:12px; font-weight:400; margin-top:4px; }
.si { color:var(--verde); font-weight:600; }
.bottone { display:inline-block; color:var(--fondo); background:var(--oro); border-radius:8px; padding:7px 12px; text-decoration:none; font-weight:600; font-size:14px; white-space:nowrap; margin:2px 0; }
.bottone.secondario { background:transparent; color:var(--testo); border:1px solid var(--linea); }
.nota { color:var(--grigio); font-size:13px; margin:10px 0 32px; }
.riquadri { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:14px; }
.riquadro { background:var(--carta); border:1px solid var(--linea); border-radius:12px; padding:16px; }
.riquadro b { color:var(--oro); }
.riquadro.avanti { margin-top:28px; }
.rischio { margin-top:28px; border-left:4px solid var(--rosso); background:var(--carta); padding:14px 16px; border-radius:8px; font-size:15px; }
ul.guide { list-style:none; padding:0; display:grid; gap:12px; }
ul.guide li { background:var(--carta); border:1px solid var(--linea); border-radius:12px; padding:14px 16px; }
ul.guide a { font-weight:700; text-decoration:none; } ul.guide span { display:block; color:var(--grigio); font-size:14px; }
.dacompletare { color:var(--rosso); font-style:italic; }
footer { border-top:1px solid var(--linea); color:var(--grigio); font-size:13px; padding:20px 24px; text-align:center; }
footer a { color:var(--grigio); }
@media (max-width:760px) {
  body { font-size:16px; } h1 { font-size:27px; }
  header { padding:14px 16px; } nav a { margin:0 14px 0 0; }
  table:not(.scheda) thead { display:none; }
  table:not(.scheda) tr { display:block; border-bottom:1px solid var(--linea); padding:8px 0; }
  table:not(.scheda) td { display:block; border:0; padding:6px 14px; }
  table:not(.scheda) td[data-et]:not(.broker)::before { content:attr(data-et); display:block; color:var(--grigio); font-size:12px; text-transform:uppercase; }
  table.scheda th, table.scheda td { padding:10px; }
}
