/* Riscontri: linguetta, pannello, chat dei riscontri e bacheca (D0). Palette e caratteri ripresi dal file unico v2.1
   (stili calcolati misurati nel browser: testo #22333E, fondo #F4FBFC, barra scura #12202C, accento #2FC0B4). */
:root {
  --r-testo:#22333e; --r-tenue:#5f7380; --r-fondo:#f4fbfc; --r-carta:#fff; --r-scuro:#12202c; --r-scuro2:#1c3f5f;
  --r-accento:#2fc0b4; --r-accento-scuro:#1f8f86; --r-accento-chiaro:#e6f8f6; --r-bordo:#cbd9df; --r-bordo2:#eaf1f4;
  --r-ok:#1f9e5a; --r-ambra:#fdf3dc; --r-ambra-t:#8a5a00; --r-errore:#b4232a; --r-errore-chiaro:#fdecec;
  --r-font: Inter, "Segoe UI", system-ui, -apple-system, sans-serif; --r-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --r-ombra: 0 12px 32px rgba(18,32,44,.22), 0 2px 6px rgba(18,32,44,.12);
}
.tag-proto { font:600 10px/1 var(--r-font); letter-spacing:.08em; text-transform:uppercase; color:var(--r-ambra-t); background:var(--r-ambra); border-radius:4px; padding:3px 6px; vertical-align:middle; }

/* ---- linguetta ---- */
.rsc { font-family:var(--r-font); color:var(--r-testo); }
.rsc-linguetta { position:fixed; z-index:1001; display:flex; align-items:center; gap:8px; background:var(--r-scuro); color:#fff; border:0;
  font:600 13px/1 var(--r-font); cursor:pointer; box-shadow:var(--r-ombra); transition:transform .18s ease, background .15s; }
.rsc-linguetta:hover { background:var(--r-scuro2); }
.rsc-linguetta:focus-visible { outline:3px solid var(--r-accento); outline-offset:2px; }
.rsc-ico { width:18px; height:18px; color:var(--r-accento); flex:none; }
.rsc-badge { background:var(--r-accento); color:var(--r-scuro); border-radius:999px; min-width:20px; height:20px; padding:0 6px; display:inline-grid; place-items:center; font:700 11px var(--r-font); }
.rsc-l-corto { display:none; }

/* posizione: --rsc-t = punto lungo il bordo (0-100 %), impostato da linguetta.js; default laterale destro a metà */
.rsc { --rsc-t:50%; --rsc-lw:min(460px, 100vw); --rsc-bw:min(560px, calc(100vw - 32px)); --rsc-bh:min(80vh, 760px); }
.rsc-presa { width:10px; height:14px; flex:none; opacity:.55; background:radial-gradient(circle, #fff 1.2px, transparent 1.5px) 0 0 / 5px 5px; }
.rsc-linguetta { cursor:grab; touch-action:none; }
.rsc.trascinando .rsc-linguetta { cursor:grabbing; transition:none; box-shadow:0 0 0 3px var(--r-accento), var(--r-ombra); }
html.rsc-trascina iframe, html.rsc-trascina body { pointer-events:none; user-select:none; }
html.rsc-trascina .rsc-linguetta { pointer-events:auto; }

/* in basso: la linguetta sta sul bordo inferiore, il pannello sale come un cassetto sopra di lei */
.rsc-var-basso .rsc-linguetta { bottom:0; left:clamp(16px, var(--rsc-t), calc(100vw - 16px)); transform:translateX(-50%); padding:10px 16px 12px; border-radius:12px 12px 0 0; }
.rsc-var-basso .rsc-pannello { position:fixed; z-index:1000; bottom:0; width:var(--rsc-bw); height:var(--rsc-bh); border-radius:14px 14px 0 0; animation:rsc-sali .2s ease-out;
  left:clamp(16px, calc(var(--rsc-t) - var(--rsc-bw) / 2), calc(100vw - var(--rsc-bw) - 16px)); }
.rsc-var-basso.aperto .rsc-linguetta { transform:translate(-50%, calc(-1 * var(--rsc-bh))); }
@keyframes rsc-sali { from { transform:translateY(40px); opacity:.4; } to { transform:none; opacity:1; } }

/* laterale (destra di default, o sinistra): linguetta verticale sul bordo, pannello a tutta altezza */
.rsc-var-lato .rsc-linguetta { right:0; top:clamp(80px, var(--rsc-t), calc(100vh - 80px)); transform:translateY(-50%); writing-mode:vertical-rl; padding:14px 10px; border-radius:12px 0 0 12px; }
.rsc-var-lato .rsc-l-testo { display:none; }
.rsc-var-lato .rsc-l-corto { display:inline; }
.rsc-var-lato .rsc-ico { transform:rotate(90deg); }
.rsc-var-lato .rsc-badge, .rsc-var-lato .rsc-presa { writing-mode:horizontal-tb; }
.rsc-var-lato .rsc-pannello { position:fixed; z-index:1000; right:0; top:0; bottom:0; width:var(--rsc-lw); border-radius:0; animation:rsc-entra .2s ease-out; }
.rsc-var-lato.aperto .rsc-linguetta { transform:translate(calc(-1 * var(--rsc-lw)), -50%); }
.rsc-var-lato.rsc-sx .rsc-linguetta { right:auto; left:0; border-radius:0 12px 12px 0; }
.rsc-var-lato.rsc-sx .rsc-pannello { right:auto; left:0; animation-name:rsc-entra-sx; }
.rsc-var-lato.rsc-sx.aperto .rsc-linguetta { transform:translate(var(--rsc-lw), -50%); }
@keyframes rsc-entra { from { transform:translateX(40px); opacity:.4; } to { transform:none; opacity:1; } }
@keyframes rsc-entra-sx { from { transform:translateX(-40px); opacity:.4; } to { transform:none; opacity:1; } }

/* pulsanti «Sposta» nel pannello (alternativa al trascinamento, anche da tastiera) */
.rsc-sposta { display:inline-flex; gap:2px; margin-left:auto; margin-right:6px; }
.rsc-sposta button { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:#cfe3e8; border-radius:6px; width:28px; height:26px; padding:0; display:inline-grid; place-items:center; cursor:pointer; }
.rsc-sposta svg { width:16px; height:16px; }
.rsc-sposta button[aria-pressed="true"] { background:var(--r-accento); color:var(--r-scuro); border-color:var(--r-accento); }

.rsc.in-cattura .rsc-pannello, .rsc.in-cattura .rsc-linguetta { visibility:hidden; }

/* ---- pannello ---- */
.rsc-pannello { background:var(--r-carta); box-shadow:var(--r-ombra); display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--r-bordo); }
.rsc-pannello[hidden] { display:none; }
.rsc-pannello.trascina { outline:3px dashed var(--r-accento); outline-offset:-8px; }
.rsc-testa { background:var(--r-scuro); color:#fff; padding:14px 18px 0; flex:none; }
.rsc-riga { display:flex; align-items:center; justify-content:space-between; }
.rsc-testa h2 { margin:0; font:600 16px var(--r-font); }
.rsc-chiudi { background:none; border:0; color:#cfe3e8; font-size:24px; line-height:1; padding:2px 6px; cursor:pointer; border-radius:6px; }
.rsc-chiudi:hover { background:rgba(255,255,255,.08); color:#fff; }
.rsc-contesto { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; margin:12px 0; }
.rsc-contesto div { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:6px 8px; min-width:0; }
.rsc-contesto dt { font:600 10px var(--r-font); letter-spacing:.08em; text-transform:uppercase; color:var(--r-accento); }
.rsc-contesto dd { margin:2px 0 0; font-size:12.5px; color:#fff; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rsc-schede { display:flex; gap:2px; }
.rsc-schede button { background:none; color:#b7cbd3; border:0; border-radius:8px 8px 0 0; padding:9px 14px; font:600 13px var(--r-font); cursor:pointer; }
.rsc-schede button[aria-selected="true"] { background:var(--r-carta); color:var(--r-testo); }
.rsc-n { background:var(--r-bordo2); color:var(--r-testo); border-radius:999px; padding:1px 7px; font-size:11px; margin-left:4px; }
.rsc-form, .rsc-storico { padding:16px 18px; overflow:auto; flex:1; display:flex; flex-direction:column; gap:12px; }
.rsc-form[hidden], .rsc-storico[hidden] { display:none; }
.rsc-aspetti { border:0; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px; }
.rsc-aspetti legend { font:600 12px var(--r-font); color:var(--r-tenue); margin-bottom:6px; padding:0; }
.rsc-aspetti input { position:absolute; opacity:0; pointer-events:none; }
.rsc-aspetti span { display:inline-block; border:1px solid var(--r-bordo); border-radius:999px; padding:6px 12px; font-size:13px; cursor:pointer; background:#fff; }
.rsc-aspetti input:checked + span { background:var(--r-accento-chiaro); border-color:var(--r-accento); color:var(--r-accento-scuro); font-weight:600; }
.rsc-aspetti input:focus-visible + span { outline:2px solid var(--r-accento); outline-offset:2px; }
.rsc-campo { display:grid; gap:6px; font:600 12px var(--r-font); color:var(--r-tenue); }
.rsc-campo textarea, .rc textarea { font:14px/1.45 var(--r-font); color:var(--r-testo); border:1px solid var(--r-bordo); border-radius:10px; padding:10px 12px; resize:vertical; min-height:96px; background:#fff; }
.rsc-campo textarea:focus, .rc textarea:focus { outline:none; border-color:var(--r-accento); box-shadow:0 0 0 3px rgba(47,192,180,.18); }
.rsc-azioni { display:flex; flex-wrap:wrap; gap:6px; }
button.sec { display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--r-testo); border:1px solid var(--r-bordo); border-radius:8px; padding:7px 11px; font:500 13px var(--r-font); cursor:pointer; }
button.sec:hover:not(:disabled) { border-color:var(--r-accento); background:var(--r-accento-chiaro); }
button.sec:disabled { opacity:.45; cursor:not-allowed; }
button.sec svg { width:16px; height:16px; color:var(--r-accento-scuro); }
.rsc-nota, .rsc-privacy { margin:0; font-size:12px; color:var(--r-tenue); }
.rsc-privacy { background:var(--r-fondo); border-radius:8px; padding:8px 10px; }
.rsc-anteprime, .rc-anteprime { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.rsc-anteprime li, .rc-anteprime li { position:relative; width:112px; border:1px solid var(--r-bordo); border-radius:8px; overflow:hidden; background:#fff; font-size:11px; }
.rsc-anteprime img, .rc-anteprime img { width:100%; height:70px; object-fit:cover; display:block; background:var(--r-bordo2); }
.doc-ico { display:grid; place-items:center; height:70px; background:var(--r-bordo2); font:700 13px var(--r-mono); color:var(--r-scuro2); }
.rsc-anteprime .nome, .rc-anteprime .nome { display:block; padding:4px 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rsc-anteprime button, .rc-anteprime button { position:absolute; top:3px; right:3px; width:22px; height:22px; border-radius:50%; border:0; background:rgba(18,32,44,.75); color:#fff; cursor:pointer; padding:0; line-height:22px; }
.rsc-piede { display:flex; align-items:center; gap:12px; justify-content:flex-end; margin-top:auto; padding-top:4px; }
.rsc-esito { font-size:13px; color:var(--r-ok); margin-right:auto; }
.rsc-esito.errore { color:var(--r-errore); }
.rsc-invia, .rc-primario { background:var(--r-accento); color:var(--r-scuro); border:0; border-radius:8px; padding:10px 18px; font:700 14px var(--r-font); cursor:pointer; }
.rsc-invia:hover, .rc-primario:hover { background:#28ada2; }
.rsc-invia:disabled, .rc-primario:disabled { opacity:.6; }
.rsc-elenco { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.rsc-elenco a { display:grid; gap:4px; text-decoration:none; color:inherit; border:1px solid var(--r-bordo); border-radius:10px; padding:10px 12px; }
.rsc-elenco a:hover { border-color:var(--r-accento); background:var(--r-fondo); }
.rsc-e-testa { display:flex; gap:6px; align-items:center; font-size:12px; }
.rsc-e-testo { font-size:13px; }
.rsc-e-piede { font-size:11.5px; color:var(--r-tenue); }
.rsc-vuoto { color:var(--r-tenue); font-size:13px; padding:8px 0; }
.rsc-vai { font:600 13px var(--r-font); color:var(--r-accento-scuro); }

/* ---- etichette di stato (anche nella chat) ---- */
.stato { display:inline-block; border-radius:999px; padding:2px 8px; font:600 11px var(--r-font); background:var(--r-bordo2); color:var(--r-scuro2); white-space:nowrap; }
.st-nuovo { background:#e7f0fb; color:#1c4f8f; }
.st-in_verifica, .st-confermato { background:var(--r-accento-chiaro); color:var(--r-accento-scuro); }
.st-da_decidere { background:var(--r-ambra); color:var(--r-ambra-t); }
.st-non_riproducibile, .st-respinto { background:var(--r-errore-chiaro); color:var(--r-errore); }
.st-in_lavorazione, .st-da_controllare { background:#efe9fb; color:#5a3a9a; }
.st-pubblicato { background:#e3f5ea; color:var(--r-ok); }
.st-chiuso, .st-rimandato { background:#eef1f3; color:#55646e; }
.asp { font-size:11px; color:var(--r-tenue); border:1px solid var(--r-bordo); border-radius:999px; padding:1px 7px; white-space:nowrap; }
.cat { font:700 11px var(--r-mono); background:var(--r-scuro); color:#fff; border-radius:4px; padding:2px 6px; }

/* ---- chat dei riscontri ---- */
.pagina-riscontri main { max-width:none; padding:0; }
.rc { font-family:var(--r-font); color:var(--r-testo); background:var(--r-fondo); min-height:calc(100vh - 50px); display:flex; flex-direction:column; }
.rc-testa { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; padding:14px 20px 0; background:#fff; border-bottom:1px solid var(--r-bordo); }
.rc-testa h1 { margin:0; font:700 19px var(--r-font); }
.rc-chi { margin:0; font-size:13px; color:var(--r-tenue); flex:1 1 280px; }
.rc-chi b { color:var(--r-testo); }
.rc-viste { display:flex; gap:2px; flex-basis:100%; }
.rc-viste button { background:none; border:0; border-bottom:3px solid transparent; color:var(--r-tenue); padding:10px 14px; font:600 14px var(--r-font); cursor:pointer; }
.rc-viste button[aria-selected="true"] { color:var(--r-testo); border-bottom-color:var(--r-accento); }
.rc-filtri { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px 20px; background:#fff; border-bottom:1px solid var(--r-bordo2); }
.rc-filtri select, .rc-filtri input[type=search] { font:13px var(--r-font); color:var(--r-testo); border:1px solid var(--r-bordo); border-radius:8px; padding:6px 8px; background:#fff; max-width:220px; }
.rc-filtri label.chk { font-size:13px; display:flex; gap:6px; align-items:center; color:var(--r-tenue); }
.rc-conta { margin-left:auto; font-size:12px; color:var(--r-tenue); }
.rc-conv { display:grid; grid-template-columns:minmax(280px, 380px) 1fr; flex:1; min-height:0; }
.rc-conv[hidden], .rc-bacheca[hidden] { display:none; }
.rc-lista { border-right:1px solid var(--r-bordo); background:#fff; overflow:auto; max-height:calc(100vh - 190px); }
.rc-lista ul { list-style:none; margin:0; padding:0; }
.rc-lista li button { all:unset; box-sizing:border-box; display:grid; gap:4px; width:100%; padding:12px 16px; border-bottom:1px solid var(--r-bordo2); cursor:pointer; }
.rc-lista li button:hover { background:var(--r-fondo); }
.rc-lista li button[aria-current="true"] { background:var(--r-accento-chiaro); box-shadow:inset 3px 0 0 var(--r-accento); }
.rc-l-riga { display:flex; gap:6px; align-items:center; font-size:12px; color:var(--r-tenue); }
.rc-l-riga .quando { margin-left:auto; }
.rc-l-prog { font:600 13.5px var(--r-font); color:var(--r-testo); }
.rc-l-testo { font-size:13px; color:var(--r-tenue); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rc-dettaglio { display:flex; flex-direction:column; min-width:0; max-height:calc(100vh - 190px); }
.rc-vuoto { margin:auto; color:var(--r-tenue); text-align:center; padding:40px; }
.rc-d-testa { background:#fff; padding:14px 20px; border-bottom:1px solid var(--r-bordo); display:grid; gap:8px; }
.rc-d-testa h2 { margin:0; font:700 16px var(--r-font); }
.rc-d-testa h2 small { font-weight:500; color:var(--r-tenue); }
.rc-d-meta { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; font-size:12.5px; color:var(--r-tenue); }
.rc-d-azioni { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.rc-d-azioni a.sec { text-decoration:none; display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--r-testo); border:1px solid var(--r-bordo); border-radius:8px; padding:6px 10px; font:500 13px var(--r-font); }
.rc-gestione { display:flex; flex-wrap:wrap; gap:8px; align-items:center; background:var(--r-ambra); border-radius:8px; padding:6px 10px; font-size:12.5px; }
.rc-gestione select { font:13px var(--r-font); border:1px solid var(--r-bordo); border-radius:6px; padding:4px 6px; }
.rc-filo { flex:1; overflow:auto; padding:16px 20px; display:flex; flex-direction:column; gap:12px; }
.msg { max-width:min(640px, 85%); display:grid; gap:4px; }
.msg .bolla { background:#fff; border:1px solid var(--r-bordo); border-radius:14px 14px 14px 4px; padding:10px 12px; font-size:14px; white-space:pre-wrap; overflow-wrap:anywhere; }
.msg.mio { align-self:flex-end; }
.msg.mio .bolla { background:var(--r-accento-chiaro); border-color:#bfe9e4; border-radius:14px 14px 4px 14px; }
.msg.supporto .bolla { border-left:3px solid var(--r-scuro2); }
.msg.interno .bolla { background:var(--r-ambra); border-color:#f1dfb0; }
.msg .chi { font-size:11.5px; color:var(--r-tenue); }
.msg.mio .chi { text-align:right; }
.ruolo { font:600 10px var(--r-font); letter-spacing:.06em; text-transform:uppercase; background:var(--r-scuro); color:#fff; border-radius:4px; padding:1px 5px; }
.msg.primo .bolla { border-width:1px 1px 1px 3px; border-left-color:var(--r-accento); }
.evento { align-self:center; font-size:12px; color:var(--r-tenue); background:#fff; border:1px solid var(--r-bordo2); border-radius:999px; padding:4px 12px; text-align:center; max-width:90%; }
.evento .motivo { display:block; font-style:italic; color:var(--r-testo); }
.allegati { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.allegati a { display:block; width:120px; border:1px solid var(--r-bordo); border-radius:8px; overflow:hidden; text-decoration:none; color:var(--r-testo); background:#fff; font-size:11px; }
.allegati img { width:100%; height:76px; object-fit:cover; display:block; background:var(--r-bordo2); }
.allegati .nome { display:block; padding:3px 6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rc-scrivi { background:#fff; border-top:1px solid var(--r-bordo); padding:12px 20px; display:grid; gap:8px; }
.rc-scrivi textarea { min-height:60px; }
.rc-scrivi-riga { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.rc-scrivi-riga .spazio { flex:1; }
.rc-esito { font-size:13px; color:var(--r-errore); }

/* ---- bacheca ---- */
.rc-bacheca { flex:1; overflow-x:auto; padding:16px 20px 24px; display:flex; gap:12px; align-items:flex-start; }
.col { flex:0 0 260px; background:#e9f2f5; border-radius:12px; display:flex; flex-direction:column; max-height:calc(100vh - 210px); }
.col.fuori { background:#eef0f2; }
.col.sopra { outline:2px dashed var(--r-accento); }
.col-testa { display:flex; align-items:center; gap:8px; padding:10px 12px; font:700 13px var(--r-font); }
.col-testa .n { margin-left:auto; background:#fff; border-radius:999px; padding:1px 8px; font-size:11px; color:var(--r-tenue); }
.col-corpo { overflow:auto; padding:0 8px 8px; display:grid; gap:8px; min-height:40px; }
.carta { background:#fff; border:1px solid var(--r-bordo); border-radius:10px; padding:10px; display:grid; gap:6px; cursor:pointer; text-align:left; font:inherit; color:inherit; }
.carta:hover { border-color:var(--r-accento); box-shadow:0 2px 8px rgba(18,32,44,.08); }
.carta[draggable="true"] { cursor:grab; }
.carta .c-testa { display:flex; gap:6px; align-items:center; font-size:11.5px; color:var(--r-tenue); }
.carta .c-prog { font:600 13px var(--r-font); }
.carta .c-testo { font-size:12.5px; color:var(--r-tenue); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.carta .c-piede { display:flex; gap:8px; font-size:11.5px; color:var(--r-tenue); align-items:center; flex-wrap:wrap; }
.rep { background:var(--r-bordo2); border-radius:4px; padding:1px 6px; color:var(--r-scuro2); font-size:11px; }

@media (max-width: 760px) {
  .rc-conv { grid-template-columns:1fr; }
  .rc-lista { max-height:40vh; border-right:0; border-bottom:1px solid var(--r-bordo); }
  .rsc-contesto { grid-template-columns:1fr; }
}
