/* bibliografia/stile.css — stile locale sopra /frontend/style.css.
   Stesso sistema cromatico dark/neon del sito, del Vademecum e dello
   Scadenzario Laurea. Un'unica eccezione: l'anteprima della bibliografia è su
   fondo chiaro con carattere con grazie, perché è un pezzo di tesi e va
   guardato come apparirà nel documento, non come una schermata. */

:root{
  --bg:#0B1120; --bg-soft:#0F172A; --card:#141E2E; --card-2:#0F1A2B;
  --line:#1E2D42; --line-2:#2D3F55;
  --ink:#F1F5F9; --ink-2:#CBD5E1; --grey:#94A3B8; --faint:#64748B;
  --lime:#CCFF00; --pink:#FF00FF; --orange:#FF6B2B; --red:#f87171;
  --amber:#fbbf24; --verde:#34d399;
  --mono:'Fira Mono','Consolas',monospace; --maxw:1240px;
}
*{box-sizing:border-box}
body.bi{margin:0;font-family:'Inter',system-ui,-apple-system,Roboto,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.55;font-size:16px;
  background-image:radial-gradient(120% 55% at 50% -8%,rgba(204,255,0,.06),transparent 60%),
                   radial-gradient(80% 50% at 100% 0,rgba(255,0,255,.05),transparent 55%);
  background-attachment:fixed;-webkit-font-smoothing:antialiased}
body.bi a{color:var(--lime);text-underline-offset:2px}
body.bi a:hover{color:#fff}
body.bi :focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}

/* ── utente nell'header ── */
.bi-user{display:flex;align-items:center;gap:.5em}
.bi-user-pic{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--lime)}
.bi-user-email{font-family:var(--mono);font-size:.72rem;color:var(--grey);max-width:170px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bi-user-logout{font-size:.72rem;color:var(--red)!important;font-family:var(--mono);
  text-decoration:none;font-weight:700;white-space:nowrap}
.bi-user-logout:hover{color:#fff!important}
@media(max-width:640px){.bi-user-email{display:none}}

/* ══════════════ PRESENTAZIONE ══════════════ */
.hero{position:relative;overflow:hidden;
  background:linear-gradient(160deg,#0F172A 0%,#141E2E 58%,#0F172A 100%);
  border-bottom:1px solid var(--lime);
  box-shadow:0 1px 0 var(--lime),0 22px 60px -34px rgba(204,255,0,.45);
  padding:30px 0 26px}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(58% 120% at 10% -25%,rgba(204,255,0,.16),transparent 60%),
             radial-gradient(50% 120% at 102% 125%,rgba(255,0,255,.13),transparent 60%)}
.hero .wrap{position:relative}
.kicker{font-family:var(--mono);color:var(--lime);font-weight:700;letter-spacing:.16em;
  font-size:12px;text-transform:uppercase}
.hero h1{font-family:'Playfair Display',serif;margin:8px 0 10px;
  font-size:clamp(30px,7vw,50px);line-height:1.06;color:#fff;font-weight:700;letter-spacing:-.01em}
.hero h1 .hl{color:var(--lime);text-shadow:0 0 26px rgba(204,255,0,.5)}
.hero p{margin:0;color:var(--ink-2);font-size:clamp(15px,2.6vw,18px);max-width:70ch}
.hero .meta{margin-top:12px;font-size:13px;color:var(--grey);max-width:82ch;
  border-left:2px solid var(--orange);padding-left:12px;line-height:1.5}

.landing{padding:28px 16px 60px}
.login-card{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;
  box-shadow:0 24px 60px -40px rgba(0,0,0,.9)}
.card-badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  color:#0B1120;background:var(--lime);padding:3px 9px;border-radius:4px;font-weight:700}
.login-title{font-family:'Playfair Display',serif;font-size:clamp(24px,4vw,34px);
  line-height:1.12;margin:14px 0 10px;color:#fff}
.login-sub{color:var(--ink-2);margin:0 0 16px;font-size:15px}
.login-lista{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.login-lista li{position:relative;padding-left:24px;font-size:14.5px;color:var(--ink-2);line-height:1.5}
.login-lista li::before{content:"→";position:absolute;left:0;top:0;color:var(--lime);font-weight:700}
.login-lista b{color:#fff}
.login-col--azione{display:flex;align-items:flex-start}
.login-box{background:var(--card-2);border:1.5px solid rgba(204,255,0,.25);border-radius:14px;
  padding:22px;width:100%;text-align:center;position:sticky;top:16px}
.login-emoji{font-size:2.6rem}
.login-box h3{margin:.4em 0 .5em;font-size:1.25rem;color:#fff}
.login-nota{color:var(--grey);font-size:13.5px;margin:0 0 16px;line-height:1.5}
.g-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;width:100%;
  padding:.85rem 1.2rem;background:#fff;color:#131826;border-radius:.7rem;font-weight:700;
  text-decoration:none}
.g-btn:hover{background:#f1f5f9;color:#131826!important}
.g-btn svg{width:20px;height:20px}
.login-mini{font-size:11.5px;color:var(--faint);margin:14px 0 0;line-height:1.45}

.blocco{margin-top:34px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:22px 24px}
.blocco h2{font-family:'Playfair Display',serif;font-size:clamp(20px,3vw,26px);margin:0 0 14px;color:#fff}
.blocco-testo{color:var(--ink-2);font-size:15px;margin:0 0 12px;max-width:88ch}
.esempio{display:grid;grid-template-columns:1fr auto 1.25fr;gap:18px;align-items:center}
.esempio-eti{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--lime);
  text-transform:uppercase;margin:12px 0 4px;font-weight:700}
.esempio-eti:first-child{margin-top:0}
.esempio-pre{font-family:var(--mono);font-size:12.5px;color:var(--grey);background:var(--bg-soft);
  border:1px solid var(--line);border-radius:10px;padding:12px;white-space:pre-wrap;margin:0;line-height:1.6}
.esempio-freccia{color:var(--lime);font-size:26px}
.esempio-out{background:#fdfdfb;color:#1b1b1b;border-radius:8px;padding:10px 12px;margin:0;
  font-family:'Iowan Old Style','Palatino Linotype',Georgia,serif;font-size:14px;line-height:1.5}
.faq{border-top:1px solid var(--line);padding:12px 0}
.faq summary{cursor:pointer;font-weight:600;color:#fff;font-size:15px}
.faq p{color:var(--ink-2);font-size:14.5px;margin:10px 0 0;max-width:88ch}
@media(max-width:900px){
  .login-card{grid-template-columns:1fr}
  .esempio{grid-template-columns:1fr}
  .esempio-freccia{transform:rotate(90deg);text-align:center}
}

/* ══════════════ APPLICAZIONE ══════════════ */
.bi-app{padding-bottom:60px}

.barra{position:sticky;top:0;z-index:40;background:rgba(11,17,32,.93);
  backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.barra-in{max-width:var(--maxw);margin:0 auto;padding:10px 16px;display:flex;
  align-items:center;gap:12px;flex-wrap:wrap}
.barra-gruppo{display:flex;align-items:center;gap:6px}
.barra-sp{flex:1}
.barra-eti{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--faint);font-weight:700}

select,input[type=text],input[type=date],textarea{font-family:inherit;font-size:14px;
  background:var(--bg-soft);color:var(--ink);border:1.5px solid var(--line-2);
  border-radius:9px;padding:8px 11px;outline:none;color-scheme:dark;max-width:100%}
select:focus,input:focus,textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(204,255,0,.14)}
input::placeholder,textarea::placeholder{color:var(--faint)}
.sel-stile{font-weight:700;min-width:190px}
.sel-prog{min-width:150px;max-width:220px}

.bt{font-family:inherit;font-size:12.5px;font-weight:700;letter-spacing:.02em;
  background:var(--card);color:var(--ink);border:1.5px solid var(--line-2);
  border-radius:9px;padding:8px 13px;cursor:pointer;transition:.15s;white-space:nowrap}
.bt:hover{border-color:var(--lime);color:#fff}
.bt-lime{background:var(--lime);color:#0B1120;border-color:var(--lime)}
.bt-lime:hover{background:#dfff4d;color:#0B1120}
.bt-ghost{background:transparent;color:var(--grey)}
.bt-rosso{color:var(--red)}
.bt-rosso:hover{border-color:var(--red)}
.bt-grande{padding:11px 20px;font-size:13.5px}
.bt[disabled]{opacity:.45;cursor:default}

.menu-wrap{position:relative}
.menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);
  border:1px solid var(--line-2);border-radius:11px;padding:6px;min-width:280px;max-width:calc(100vw - 32px);
  z-index:60;box-shadow:0 20px 44px -22px rgba(0,0,0,.95);display:flex;flex-direction:column;gap:2px}
/* Serve per forza: `display:flex` su una classe batte il `display:none` che il
   browser dà all'attributo hidden, e senza questa riga il menu resta aperto. */
.menu[hidden]{display:none}
.menu button{background:none;border:none;color:var(--ink-2);text-align:left;font-family:inherit;
  font-size:13px;padding:9px 11px;border-radius:7px;cursor:pointer}
.menu button:hover{background:var(--bg-soft);color:#fff}

.salvataggio{font-family:var(--mono);font-size:10.5px;color:var(--faint);min-width:104px;text-align:right}
.salvataggio.ok{color:var(--verde)}
.salvataggio.err{color:var(--red)}

.griglia{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;padding-top:20px;align-items:start}
@media(max-width:1080px){.griglia{grid-template-columns:1fr}.col-lato{order:-1}}

/* ── schede ── */
.schede{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}
.scheda{background:none;border:none;border-bottom:2px solid transparent;color:var(--grey);
  font-family:inherit;font-size:13.5px;font-weight:700;padding:9px 14px;cursor:pointer;
  display:flex;align-items:center;gap:7px;margin-bottom:-1px}
.scheda:hover{color:#fff}
.scheda.attiva{color:var(--lime);border-bottom-color:var(--lime)}
.pill{background:var(--line);color:var(--ink-2);border-radius:11px;font-size:10.5px;
  padding:1px 7px;font-family:var(--mono)}
.scheda.attiva .pill{background:var(--lime);color:#0B1120}
.pill-avviso.ha-gravi{background:var(--red);color:#fff}
.pill-avviso.ha-medi{background:var(--amber);color:#0B1120}
.pannello-scheda{display:none}
.pannello-scheda.attiva{display:block}

/* ── incolla ── */
.incolla{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.campo-label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lime);font-weight:700;margin-bottom:7px}
.campo-label small{color:var(--faint);letter-spacing:.04em;text-transform:none;font-weight:400}
#incolla{width:100%;min-height:120px;resize:vertical;font-family:var(--mono);font-size:13px;line-height:1.65}
.incolla-azioni{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap}

.elenco-testa{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.elenco-conta{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.elenco-azioni{margin-left:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.mini-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--grey);cursor:pointer}
.mini-check input{accent-color:var(--lime);width:15px;height:15px}

/* ── elenco voci ── */
.elenco{display:flex;flex-direction:column;gap:9px}
.sezione-eti{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--orange);
  text-transform:uppercase;font-weight:700;margin:16px 0 2px;padding-bottom:5px;
  border-bottom:1px solid var(--line)}
.sezione-eti:first-child{margin-top:0}

.voce{background:var(--card);border:1px solid var(--line);border-radius:12px;
  transition:border-color .15s}
.voce:hover{border-color:var(--line-2)}
.voce.aperta{border-color:var(--lime)}
.voce-testa{display:flex;gap:11px;padding:12px 14px;align-items:flex-start;cursor:pointer}
.voce-num{font-family:var(--mono);font-size:11px;color:var(--faint);min-width:22px;padding-top:2px}
.voce-corpo{flex:1;min-width:0}
.voce-resa{font-family:'Iowan Old Style','Palatino Linotype',Georgia,serif;font-size:14.5px;
  line-height:1.5;color:var(--ink);word-break:normal;overflow-wrap:anywhere}
.voce-resa em{font-style:italic}
.voce-resa .mc{font-variant:small-caps;letter-spacing:.02em}
.voce-meta{display:flex;gap:7px;align-items:center;margin-top:7px;flex-wrap:wrap}
.tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:2px 7px;border-radius:4px;background:var(--bg-soft);color:var(--grey);border:1px solid var(--line)}
.tag-tipo{color:var(--lime);border-color:rgba(204,255,0,.3)}
.tag-av{cursor:pointer}
.tag-av.g3{background:rgba(248,113,113,.14);color:var(--red);border-color:rgba(248,113,113,.35)}
.tag-av.g2{background:rgba(251,191,36,.13);color:var(--amber);border-color:rgba(251,191,36,.32)}
.tag-av.g1{background:rgba(148,163,184,.12);color:var(--grey)}
.voce-bt{display:flex;gap:4px;flex-shrink:0}
.ico{background:none;border:1px solid transparent;color:var(--faint);cursor:pointer;
  border-radius:7px;padding:4px 7px;font-size:13px;line-height:1}
.ico:hover{color:#fff;border-color:var(--line-2)}
.ico.rosso:hover{color:var(--red);border-color:var(--red)}

.voce-editor{border-top:1px solid var(--line);padding:14px;display:none}
.voce.aperta .voce-editor{display:block}
.campi{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:11px}
.campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.campo label{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.campo input,.campo select{width:100%;font-size:13.5px;padding:7px 10px}
.campo--largo{grid-column:1/-1}
.editor-azioni{margin-top:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.editor-azioni .mini-nota{margin:0;flex:1;min-width:180px}
.avvisi{margin-top:13px;display:flex;flex-direction:column;gap:7px}
.avviso{display:flex;gap:9px;font-size:12.5px;line-height:1.45;padding:8px 10px;border-radius:8px;
  background:var(--bg-soft);border-left:3px solid var(--grey)}
.avviso.g3{border-left-color:var(--red)}
.avviso.g2{border-left-color:var(--amber)}
.avviso b{color:#fff;font-weight:600}
.avviso span{color:var(--grey)}
.riga-orig{margin-top:11px;font-family:var(--mono);font-size:11px;color:var(--faint);
  background:var(--bg-soft);border-radius:7px;padding:8px 10px;line-height:1.55;overflow-wrap:anywhere}

.vuoto{text-align:center;padding:44px 20px;color:var(--faint);font-size:14px}
.vuoto-emoji{font-size:2.4rem;margin-bottom:8px;opacity:.6}

/* ── anteprima: qui si guarda un pezzo di tesi ── */
.anteprima-testa{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.anteprima-nota{margin:0;font-size:13px;color:var(--grey);flex:1;min-width:220px}
.foglio{background:#fdfdfb;color:#16181d;border-radius:12px;padding:34px 38px;
  font-family:'Iowan Old Style','Palatino Linotype',Georgia,serif;font-size:15px;line-height:1.62;
  box-shadow:0 24px 60px -34px rgba(0,0,0,.9);min-height:220px}
.foglio h4{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:#3b3f4a;border-bottom:1.5px solid #16181d;padding-bottom:5px;margin:26px 0 14px}
.foglio h4:first-child{margin-top:0}
.foglio .rif{margin:0 0 9px 1.6em;text-indent:-1.6em;text-align:justify;hyphens:auto;
  overflow-wrap:anywhere}
.foglio .rif em{font-style:italic}
.foglio .rif .mc{font-variant:small-caps}
.foglio .num{color:#6b7280;margin-right:.3em}
.foglio-vuoto{color:#8a8f99;font-style:italic;text-align:center;padding:40px 0}

/* ── note ── */
.note-intro{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--orange);
  border-radius:11px;padding:13px 16px;font-size:13.5px;color:var(--ink-2);margin-bottom:20px;line-height:1.55}
.tit-sez{font-family:'Playfair Display',serif;font-size:20px;color:#fff;margin:26px 0 8px}
.sotto-tit{font-size:13px;color:var(--grey);margin:0 0 14px;max-width:80ch}
.prontuario{display:flex;flex-direction:column;gap:11px}
.pront{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.pront-tit{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lime);font-weight:700;margin-bottom:9px}
.pront-riga{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:5px 0;font-size:13.5px;
  border-top:1px solid rgba(30,45,66,.6)}
.pront-riga:first-of-type{border-top:none}
.pront-que{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--faint);padding-top:3px}
.pront-val{font-family:'Iowan Old Style','Palatino Linotype',Georgia,serif;color:var(--ink);
  line-height:1.5;overflow-wrap:anywhere}
.pront-val em{font-style:italic}
@media(max-width:620px){.pront-riga{grid-template-columns:1fr}}

.catena-agg{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.catena-agg select{flex:1;min-width:210px;max-width:460px}
.catena-agg input{width:88px}
.catena{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:14px 14px 14px 44px;margin:0;font-family:'Iowan Old Style','Palatino Linotype',Georgia,serif;
  font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.catena li{padding:5px 0;border-top:1px solid rgba(30,45,66,.55)}
.catena li:first-child{border-top:none}
.catena li::marker{color:var(--faint);font-family:var(--mono);font-size:11px}
.catena em{font-style:italic}
.catena .forma{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint);margin-left:8px}
.catena .togli{background:none;border:none;color:var(--faint);cursor:pointer;float:right;font-size:14px}
.catena .togli:hover{color:var(--red)}
.catena-vuota{color:var(--faint);font-style:italic;font-size:13.5px}

/* ── controllo ── */
.blocco-ctrl{background:var(--card);border:1px solid var(--line);border-radius:13px;
  padding:16px 18px;margin-bottom:15px}
.blocco-ctrl h3{margin:0 0 11px;font-size:13px;font-family:var(--mono);letter-spacing:.13em;
  text-transform:uppercase;color:var(--lime)}
.consiglio{display:flex;gap:10px;padding:9px 0;border-top:1px solid rgba(30,45,66,.6);
  font-size:13.5px;color:var(--ink-2);line-height:1.5}
.consiglio:first-of-type{border-top:none}
.consiglio-ico{flex-shrink:0;font-size:15px;line-height:1.3}
.ctrl-voce{padding:10px 0;border-top:1px solid rgba(30,45,66,.6)}
.ctrl-voce:first-of-type{border-top:none}
.ctrl-voce-tit{font-family:'Iowan Old Style',Georgia,serif;font-size:13.5px;color:var(--ink);
  margin-bottom:6px;cursor:pointer}
.ctrl-voce-tit:hover{color:var(--lime)}

/* ── colonna laterale ── */
.col-lato{display:flex;flex-direction:column;gap:15px;position:sticky;top:74px}
@media(max-width:1080px){.col-lato{position:static}}
.pannello{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:15px 16px}
.pannello h3{margin:0 0 12px;font-size:11px;font-family:var(--mono);letter-spacing:.14em;
  text-transform:uppercase;color:var(--lime)}
.voto-riga{display:flex;gap:13px;align-items:center;margin-bottom:13px}
.voto-cerchio{width:66px;height:66px;border-radius:50%;flex-shrink:0;display:flex;
  flex-direction:column;align-items:center;justify-content:center;
  border:3px solid var(--line-2);background:var(--bg-soft)}
.voto-cerchio span{font-size:21px;font-weight:800;line-height:1}
.voto-cerchio small{font-size:9px;color:var(--faint)}
.voto-cerchio.alto{border-color:var(--verde)} .voto-cerchio.alto span{color:var(--verde)}
.voto-cerchio.medio{border-color:var(--amber)} .voto-cerchio.medio span{color:var(--amber)}
.voto-cerchio.basso{border-color:var(--red)} .voto-cerchio.basso span{color:var(--red)}
.voto-giudizio{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45}
.voto-barre{display:flex;flex-direction:column;gap:8px}
.barra-voce{font-size:11px}
.barra-voce-testa{display:flex;justify-content:space-between;color:var(--grey);margin-bottom:3px}
.barra-voce-testa b{color:var(--ink-2);font-weight:600}
.barra-pista{height:5px;background:var(--bg-soft);border-radius:3px;overflow:hidden}
.barra-riemp{height:100%;background:var(--lime);border-radius:3px}
.stat{display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.stat-riga{display:flex;justify-content:space-between;color:var(--grey)}
.stat-riga b{color:var(--ink);font-weight:600}
.stat-sep{height:1px;background:var(--line);margin:5px 0}
.mini-nota{font-size:11.5px;color:var(--faint);line-height:1.5;margin:7px 0 0}
.pannello--aiuto{background:var(--card-2)}

/* ── modale duplicati ── */
.modale{position:fixed;inset:0;z-index:200;background:rgba(4,8,18,.82);
  display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(4px)}
.modale[hidden]{display:none}
.modale-box{background:var(--card);border:1px solid var(--line-2);border-radius:16px;
  padding:24px;max-width:820px;width:100%;max-height:86vh;overflow:auto;position:relative}
.modale-box h2{font-family:'Playfair Display',serif;margin:0 0 8px;font-size:24px;color:#fff}
.modale-x{position:absolute;right:14px;top:11px;background:none;border:none;color:var(--faint);
  font-size:26px;cursor:pointer;line-height:1}
.modale-x:hover{color:#fff}
.dup{border:1px solid var(--line);border-radius:11px;padding:13px;margin-top:13px}
.dup-motivo{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--amber);margin-bottom:9px}
.dup-lato{display:flex;gap:10px;align-items:flex-start;padding:7px 0;
  font-family:'Iowan Old Style',Georgia,serif;font-size:13.5px;line-height:1.5;color:var(--ink-2);
  overflow-wrap:anywhere}
.dup-lato em{font-style:italic}
.dup-lato .bt{flex-shrink:0}

/* ── avviso volante ── */
.avviso-fisso{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:300;
  background:var(--lime);color:#0B1120;font-weight:700;font-size:13.5px;
  padding:11px 20px;border-radius:10px;box-shadow:0 18px 40px -18px rgba(0,0,0,.9)}
.avviso-fisso[hidden]{display:none}
.avviso-fisso.err{background:var(--red);color:#fff}

.bi-footer{border-top:1px solid var(--line);padding:22px 0 34px;margin-top:30px}
.bi-footer p{margin:0;font-size:12px;color:var(--faint);line-height:1.6;max-width:92ch}

@media(max-width:640px){
  .foglio{padding:20px 18px}
  .barra-in{gap:8px;padding:9px 12px}
  .salvataggio{min-width:0}
  .catena{padding-left:34px}
  /* Su schermo stretto la barra strumenti deve poter andare a capo dentro i
     gruppi, non solo fra un gruppo e l'altro: i due menu a tendina insieme ai
     tre bottoncini del progetto superano la larghezza del telefono. */
  .barra-gruppo{flex-wrap:wrap;min-width:0}
  .barra-gruppo--prog{flex:1 1 100%}
  .sel-stile{min-width:0;flex:1}
  .sel-prog{min-width:0;max-width:none;flex:1}
}

@media print{
  .barra,.schede,.col-lato,.site-header,.bi-footer,.incolla,.elenco-testa,.anteprima-testa{display:none!important}
  body.bi{background:#fff;color:#000}
  .foglio{box-shadow:none;padding:0}
}
