/* Solo il quadro della control tower. Colori, tipi e cornice vengono dal sito. */
#stars { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
#intro-overlay {
  position: fixed; inset: 0; z-index: 200; display: grid; place-items: center;
  background: #050d1a; color: #e6c98a; font-family: var(--serif); letter-spacing: .2em;
  font-size: clamp(3rem, 8vw, 6rem);
}
.sec { padding-block: clamp(28px, 4vw, 64px); padding-inline: var(--pad); }
.hdr nav { display: flex; gap: 1rem; flex-wrap: wrap; }
.hdr nav a { color: #aebbcc; text-decoration: none; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
#owner, #preset { display: grid; gap: 16px; }
#owner h2, #preset-box h2, #dashboard h2, #pl h2, #cassa h2, #grafici h2, #grafici-avanzati h2, #patrimonio h2, #integrale h2 { grid-column: 1 / -1; }
#kpi, .charts, #strumenti, #integrale { display: grid; gap: 16px; }
.kpi, .chart, .tool { padding: 16px 18px; }
.kpi h3, .chart h3, .tool h3 { font-size: 1.35rem; margin: 0 0 .35rem; }
.kpi-val { display: block; font-family: var(--serif); font-style: italic; font-size: 1.7rem; color: var(--gold-hi); }
.kpi-bench, .kpi-delta { display: block; color: #aebbcc; font-size: .78rem; }
.semaforo { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #8fa1b8; }
.semaforo.verde { background: var(--ok); }
.semaforo.giallo { background: var(--warn); }
.semaforo.rosso { background: var(--bad); }
.chart { height: 250px; overflow: hidden; }
.table-wrap, .corpo { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: .5rem .35rem; border-bottom: 1px solid var(--line); font-size: .78rem; }
th { color: var(--gold-hi); font-weight: 500; }
label { display: grid; gap: .3rem; color: #dfe6ef; font-size: .9rem; }
input[type="range"] { width: 100%; accent-color: var(--gold); height: 28px; }
#preset label { padding: .75rem; border: 1px solid var(--line-2); border-radius: 999px; text-align: center; }
#preset input { position: absolute; opacity: 0; }
#preset input:checked + span { color: var(--gold-hi); }
.tool select, .tool input[type="range"] { width: 100%; margin-top: .4rem; }
.alert { margin: .4rem 0; padding: .6rem .8rem; border-radius: 12px; }
.alert.rosso { background: rgba(255, 157, 143, .15); color: #ff9d8f; }
.alert.giallo { background: rgba(240, 179, 106, .15); color: #f0b36a; }
.rankbar { display: flex; gap: 4px; margin-top: .8rem; }
.rankbar span { flex: 1; text-align: center; font-size: .68rem; padding: .45rem .1rem; border-radius: 8px; background: rgba(10, 26, 48, .6); color: #8fa1b8; }
.rankbar span.on { background: var(--gold); color: var(--navy); }
footer { text-align: center; padding: 3rem 1rem 5rem; color: #8fa1b8; border-top: 1px solid var(--line); }
@media (min-width: 768px) {
  #owner { grid-template-columns: 1fr 1fr; }
  #preset { grid-template-columns: repeat(4, 1fr); }
  #kpi, .charts, #strumenti { grid-template-columns: 1fr 1fr; }
  #integrale { grid-template-columns: 1fr 1fr 1fr; }
}
@media (min-width: 1200px) {
  #kpi, .charts { grid-template-columns: 1fr 1fr 1fr; }
  #strumenti { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 800px) { .hdr nav { display: none; } }
@media (prefers-reduced-motion: reduce) {
  #intro-overlay { display: none; }
}

/* w10: strumenti senza overflow su mobile */
@media (max-width:767px){#strumenti{grid-template-columns:minmax(0,1fr)}}
#strumenti>.tool{min-width:0}
.tool select{max-width:100%;min-width:0}
