/* Looper — palette: verde perimetro, rosso flusso analisi, blu flusso ticket (come la lavagna del brainstorming). */
:root {
  --lp-bg: #F5F6F3; --lp-surface: #FFFFFF; --lp-ink: #1A2028; --lp-muted: #5C6670; --lp-line: #DDE1DA;
  --lp-green: #2F8F5B; --lp-green-dark: #24704A; --lp-green-soft: #E3F1E8;
  --lp-red: #C2453A; --lp-red-soft: #F7E6E3; --lp-blue: #2F6FB5; --lp-blue-soft: #E3ECF7;
  --lp-amber: #B7791F; --lp-amber-soft: #FBF0DC;
  --bs-body-bg: var(--lp-bg); --bs-body-color: var(--lp-ink); --bs-link-color: var(--lp-green-dark);
  --bs-primary: var(--lp-green); --bs-primary-rgb: 47, 143, 91; --bs-border-color: var(--lp-line);
}
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.testata { background: #17221C; color: #fff; }
.testata .navbar-brand { color: #fff; font-weight: 600; letter-spacing: .01em; }
.testata .nav-link { color: rgba(255,255,255,.72); border-radius: 6px; padding: .45rem .75rem; }
.testata .nav-link:hover, .testata .nav-link.active { color: #fff; background: rgba(255,255,255,.08); }
.badge-env { font: 600 10px/1 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; background: var(--lp-amber); color: #fff; padding: 4px 6px; border-radius: 4px; margin-left: 6px; }
.avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--lp-green); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; font-size: 13px; }
#nav-triage-badge { background: var(--lp-blue); }

.occhiello { font: 500 11px/1 ui-monospace, SFMono-Regular, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--lp-muted); margin-bottom: 8px; }
.titolo-pagina { font-size: 1.75rem; font-weight: 650; letter-spacing: -.01em; margin: 0 0 .25rem; }
.sottotesto { color: var(--lp-muted); max-width: 70ch; }

.riquadro { background: var(--lp-surface); border: 1px solid var(--lp-line); border-radius: 8px; }
.riquadro .intestazione { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--lp-line); }
.riquadro .intestazione h2 { font-size: 15px; font-weight: 600; margin: 0; display: flex; align-items: center; }
.lista .voce { display: flex; gap: 12px; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--lp-line); text-decoration: none; color: inherit; }
.lista .voce:last-child { border-bottom: 0; }
.lista .voce:hover { background: #FAFBF8; }
.lista .voce .primo { font-weight: 600; }
.lista .voce .meta { color: var(--lp-muted); font-size: 13px; }
.lista .vuoto { padding: 20px 16px; color: var(--lp-muted); text-align: center; }
.contatore { background: var(--lp-surface); border: 1px solid var(--lp-line); border-radius: 8px; padding: 14px 16px; display: block; color: inherit; text-decoration: none; }
.contatore .n { font-size: 28px; font-weight: 650; line-height: 1; font-variant-numeric: tabular-nums; }
.contatore .l { color: var(--lp-muted); font-size: 13px; margin-top: 4px; }
.contatore.a { border-top: 3px solid var(--lp-red); } .contatore.b { border-top: 3px solid var(--lp-blue); } .contatore.g { border-top: 3px solid var(--lp-green); } .contatore.w { border-top: 3px solid var(--lp-amber); }

.btn-lp { background: var(--lp-green); border-color: var(--lp-green); color: #fff; }
.btn-lp:hover, .btn-lp:focus { background: var(--lp-green-dark); border-color: var(--lp-green-dark); color: #fff; }
.btn-lp-chiaro { background: var(--lp-green-soft); border-color: var(--lp-green-soft); color: var(--lp-green-dark); }
.btn-lp-chiaro:hover { background: #d3e8dc; color: var(--lp-green-dark); }
.btn-outline-lp { border-color: var(--lp-green); color: var(--lp-green-dark); }
.btn-outline-lp:hover, .btn-check:checked + .btn-outline-lp { background: var(--lp-green); border-color: var(--lp-green); color: #fff; }

.pill { display: inline-block; font: 500 11px/1 ui-monospace, monospace; letter-spacing: .04em; padding: 4px 7px; border-radius: 4px; white-space: nowrap; }
.pill.g { background: var(--lp-green-soft); color: var(--lp-green-dark); } .pill.r { background: var(--lp-red-soft); color: var(--lp-red); }
.pill.b { background: var(--lp-blue-soft); color: var(--lp-blue); } .pill.w { background: var(--lp-amber-soft); color: var(--lp-amber); }
.pill.n { background: #EEF0EA; color: var(--lp-muted); }

.gate-badge { display: inline-flex; width: 22px; height: 22px; border-radius: 4px; background: var(--lp-green); color: #fff; font: 700 12px/1 ui-monospace, monospace; align-items: center; justify-content: center; margin-right: 8px; }
.gates { display: flex; gap: 6px; }
.gates .g { font: 600 12px/1 ui-monospace, monospace; padding: 6px 9px; border-radius: 4px; border: 1px solid var(--lp-line); color: var(--lp-muted); background: var(--lp-surface); }
.gates .g.done { background: var(--lp-green-soft); border-color: var(--lp-green-soft); color: var(--lp-green-dark); }
.gates .g.now { border-color: var(--lp-green); color: var(--lp-green-dark); }

.dropzone { border: 2px dashed var(--lp-line); border-radius: 8px; padding: 26px; text-align: center; color: var(--lp-muted); transition: border-color .15s, background .15s; }
.dropzone.over { border-color: var(--lp-green); background: var(--lp-green-soft); }
.dropzone-sm { padding: 12px; font-size: 14px; }
.dettagli dt { font: 500 11px/1.4 ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--lp-muted); margin-top: 8px; }
.dettagli dd { margin: 0; }
.prompt-editor { min-height: 520px; resize: vertical; font-size: 12.5px; line-height: 1.5; }
.prompt-view { font-size: 12.5px; line-height: 1.5; white-space: pre-wrap; max-height: 70vh; overflow: auto; }
.candidato { cursor: pointer; }
.candidato.scelto { background: var(--lp-green-soft); }
.score { font-variant-numeric: tabular-nums; color: var(--lp-muted); font-size: 12px; }
.table thead th { font: 500 11px/1.3 ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--lp-muted); }

/* accesso */
.pagina-accesso { background: #17221C; min-height: 100vh; display: grid; place-items: center; }
.accesso-card { background: var(--lp-surface); border-radius: 12px; padding: 32px; width: min(460px, 92vw); }
@media (max-width: 767px) { .titolo-pagina { font-size: 1.4rem; } .prompt-editor { min-height: 320px; } }
