/* Pianificatore social · sobrio, leggibile, chiaro e scuro, da app sul telefono */
:root{
  --fondo:#f4f5f7;--carta:#fff;--testo:#161b26;--tenue:#5b6475;--linea:#e2e5ea;--linea-forte:#cfd4dc;
  --acc:#283a7b;--acc-testo:#fff;--acc-chiaro:#eef1f8;
  --ok:#17694a;--ok-f:#e6f3ec;--att:#8a5300;--att-f:#fbf1de;--err:#b3261e;--err-f:#fbe9e7;--neutro-f:#eef0f3;
  --r:10px;--lato:236px;--ombra:0 1px 2px rgba(16,24,40,.05);
}
@media (prefers-color-scheme:dark){:root{
  --fondo:#0f1218;--carta:#171b23;--testo:#e6e8ee;--tenue:#9aa2b2;--linea:#262c38;--linea-forte:#343b4a;
  --acc:#9db0f0;--acc-testo:#0f1218;--acc-chiaro:#1d2440;
  --ok:#6fd3a0;--ok-f:#132a21;--att:#f0c169;--att-f:#33290f;--err:#ff958c;--err-f:#341816;--neutro-f:#20252f;--ombra:none}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fondo);color:var(--testo)}
a{color:var(--acc);text-underline-offset:2px}
code{font-size:13px;background:var(--neutro-f);padding:2px 6px;border-radius:5px;word-break:break-all}
hr{border:0;border-top:1px solid var(--linea);margin:10px 0}
h1{font-size:22px;line-height:1.25;margin:2px 0 18px;letter-spacing:-.01em}
h2{font-size:16px;margin:0 0 12px} h3{font-size:14px;margin:0 0 8px}
.icona{flex:none}
.nascosta{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- impaginazione: barra laterale (computer), barre alta e bassa (telefono) ---------- */
.lato{position:fixed;inset:0 auto 0 0;width:var(--lato);background:var(--carta);border-right:1px solid var(--linea);display:flex;flex-direction:column;padding:16px 12px;overflow-y:auto;z-index:10}
.lato .marca{display:block;font-weight:800;font-size:15px;color:var(--testo);text-decoration:none;padding:4px 10px 16px}
.lato nav{display:flex;flex-direction:column;gap:2px}
.lato a,.lato .link-menu,.lato .installa{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--tenue);text-decoration:none;font-weight:500;font-size:14.5px;background:none;border:0;cursor:pointer;width:100%;text-align:left;font-family:inherit}
.lato a:hover,.lato .link-menu:hover,.lato .installa:hover{background:var(--neutro-f);color:var(--testo)}
.lato a[aria-current]{background:var(--acc-chiaro);color:var(--acc);font-weight:600}
.lato-piede{margin-top:auto;border-top:1px solid var(--linea);padding-top:10px;display:flex;flex-direction:column;gap:2px}
.lato-piede form{margin:0}
.badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--err);color:#fff;font-size:12px;font-weight:700;display:inline-grid;place-items:center;line-height:1}
main{margin-left:var(--lato);max-width:1180px;padding:28px 32px 80px}
.barra-alta,.barra-bassa{display:none}
.banda-sim{background:var(--att-f);color:var(--att);padding:8px 12px;font-weight:600;font-size:13px;border-radius:8px;margin-bottom:14px}
body.fuori main,.stretta-centro{margin:0 auto;max-width:440px;padding:56px 18px}
.fuori .marca{font-weight:800;color:var(--tenue);margin:0 0 8px}
body.pubblica main{margin:0 auto;max-width:980px;padding:28px 18px}

@media (max-width:900px){
  .lato{display:none}
  main{margin:0;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}
  .barra-alta{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;height:52px;padding:0 8px 0 16px;background:var(--carta);border-bottom:1px solid var(--linea);padding-top:env(safe-area-inset-top);box-sizing:content-box}
  .barra-alta .marca{font-weight:800;color:var(--testo);text-decoration:none}
  .barra-alta .campana{position:relative;display:grid;place-items:center;width:44px;height:44px;color:var(--testo)}
  .barra-alta .badge{position:absolute;top:4px;right:2px}
  .barra-bassa{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--carta);border-top:1px solid var(--linea);padding-bottom:env(safe-area-inset-bottom)}
  .barra-bassa a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;color:var(--tenue);text-decoration:none;font-size:11.5px;font-weight:500}
  .barra-bassa a[aria-current]{color:var(--acc);font-weight:700}
  .barra-bassa .badge{position:absolute;top:3px;left:calc(50% + 6px);margin:0}
  h1{font-size:20px;margin-bottom:14px}
}

/* ---------- elementi ---------- */
.scheda{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);padding:18px 20px;margin-bottom:16px;box-shadow:var(--ombra)}
.scheda.vuota{color:var(--tenue)}
.stretta{max-width:580px}
label{display:block;margin:0 0 14px;font-weight:600;font-size:14px}
input:not([type=checkbox]):not([type=color]):not([type=radio]),select,textarea{display:block;width:100%;margin-top:5px;padding:9px 11px;border:1px solid var(--linea-forte);border-radius:8px;background:var(--carta);color:var(--testo);font:inherit;font-weight:400}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:transparent}
input[type=checkbox]{width:17px;height:17px;accent-color:var(--acc)}
textarea{resize:vertical;line-height:1.5}
fieldset{border:1px solid var(--linea);border-radius:8px;margin:0 0 14px;padding:10px 14px} legend{font-weight:700;font-size:14px;padding:0 6px}
.spunta{display:flex;gap:9px;align-items:center;font-weight:400;margin:6px 0}
button,.bottone{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:0;border-radius:8px;background:var(--acc);color:var(--acc-testo);font:inherit;font-weight:600;font-size:14.5px;cursor:pointer;text-decoration:none;line-height:1.2}
button:hover,.bottone:hover{filter:brightness(1.08)}
button.secondario,.bottone.secondario{background:var(--neutro-f);color:var(--testo)}
button.pericolo{background:var(--err-f);color:var(--err)}
button.piccolo,.bottone.piccolo{padding:6px 11px;font-size:13.5px}
button.link{background:none;color:var(--acc);padding:0;font-weight:400}
.azioni{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px} .azioni form{display:inline;margin:0}
.due{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.nota{color:var(--tenue);font-size:13px;font-weight:400}
.avviso{padding:10px 14px;border-radius:8px;margin-bottom:14px;background:var(--ok-f);color:var(--ok);font-size:14px}
.avviso.errore{background:var(--err-f);color:var(--err)} .avviso.avviso{background:var(--att-f);color:var(--att)}
.avviso ul{margin:6px 0 0;padding-left:18px}
.stato{display:inline-block;font-size:13px;font-weight:600;padding:0 0 0 8px;border-left:3px solid currentColor;color:var(--tenue);line-height:1.3}
.s-in_approvazione,.s-in_attesa{color:var(--att)} .s-approvato,.s-in_corso,.s-in_elaborazione{color:var(--acc)}
.s-pubblicato{color:var(--ok)} .s-errore{color:var(--err)}
.tabella{width:100%;border-collapse:collapse} .tabella td,.tabella th{padding:10px 8px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top;font-size:14px}
.tabella th{font-size:13px;color:var(--tenue);font-weight:600}
.tabella tr:last-child td{border-bottom:0} .spento{opacity:.55}
.pallino,.filtri i,.elenco i,.riga-post i{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;box-shadow:0 0 0 1.5px var(--carta),0 0 0 2.5px var(--linea-forte)}
.filtri{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.filtri a{display:flex;gap:8px;align-items:center;padding:6px 12px;border:1px solid var(--linea);border-radius:8px;background:var(--carta);text-decoration:none;color:var(--testo);font-size:14px}
.filtri a[aria-current]{border-color:var(--acc);color:var(--acc);font-weight:600}
.elenco{list-style:none;margin:0;padding:0} .elenco li{padding:8px 0;border-bottom:1px solid var(--linea);display:flex;gap:8px;align-items:center;flex-wrap:wrap} .elenco li:last-child{border:0}
.elenco li > a{display:flex;gap:8px;align-items:center}
.riga-post{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--testo);flex:1;min-width:0}
.riga-post > span{display:flex;flex-direction:column;min-width:0} .riga-post b{font-weight:600}
.evidenza{border-left:3px solid var(--att)}
.richiamo{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:14px;background:var(--att-f);color:var(--att);border-radius:var(--r);text-decoration:none;font-weight:600}
.richiamo .nota{margin-left:auto;color:var(--att)}

/* ---------- calendario e agenda ---------- */
.mese{display:flex;align-items:center;gap:10px;margin:6px 0 12px;flex-wrap:wrap}
.mese b{font-size:18px;text-transform:capitalize;min-width:150px;text-align:center}
.mese > a:not(.bottone){font-size:22px;text-decoration:none;padding:0 8px;color:var(--testo)}
.mese .bottone{margin-left:auto}
.viste{display:inline-flex;border:1px solid var(--linea);border-radius:8px;overflow:hidden;margin-left:8px}
.viste a{padding:6px 12px;text-decoration:none;color:var(--tenue);font-size:13.5px;background:var(--carta)}
.viste a[aria-current]{background:var(--acc-chiaro);color:var(--acc);font-weight:600}
.cal{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden}
.cal-testa,.cal-griglia{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-testa div{padding:8px 10px;font-size:13px;font-weight:600;color:var(--tenue);border-bottom:1px solid var(--linea)}
.giorno{min-height:116px;padding:6px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);display:flex;flex-direction:column;gap:4px;min-width:0}
.giorno:nth-child(7n){border-right:0} .giorno.fuori{background:var(--fondo)} .giorno.fuori .num{opacity:.45}
.giorno .num{font-size:13px;font-weight:600;color:var(--tenue);text-decoration:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%}
.giorno .num:hover{background:var(--neutro-f)} .giorno.oggi .num{background:var(--acc);color:var(--acc-testo)}
.voce{display:block;font-size:12px;line-height:1.3;padding:4px 6px;border-left:3px solid;border-radius:4px;background:var(--neutro-f);color:var(--testo);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.voce .ora{font-weight:700} .voce.s-in_approvazione{background:var(--att-f)} .voce.s-pubblicato{background:var(--ok-f)} .voce.s-errore{background:var(--err-f)} .voce.s-approvato{background:var(--acc-chiaro)}
.legenda{margin-top:10px;display:flex;gap:14px;flex-wrap:wrap}
.agenda{display:none} .agenda.sempre{display:block}
.giorno-agenda{background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);padding:12px 16px;margin-bottom:10px}
.giorno-agenda h3{text-transform:capitalize;color:var(--tenue)} .giorno-agenda.oggi{border-color:var(--acc)} .giorno-agenda.oggi h3{color:var(--acc)}
@media (max-width:900px){.solo-mese{display:none}.agenda{display:block}.viste{display:none}.mese b{min-width:0;text-align:left}}

/* ---------- post ---------- */
.colonne{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start}
.telefono{background:var(--carta);border:1px solid var(--linea);border-radius:20px;overflow:hidden;position:sticky;top:20px;box-shadow:var(--ombra)}
.tel-testa{padding:10px 14px;font-size:14px;border-bottom:1px solid var(--linea)}
.tel-media{position:relative;background:#000;aspect-ratio:4/5;display:grid;place-items:center} .telefono.alto .tel-media{aspect-ratio:9/16}
.tel-img{width:100%;height:100%;object-fit:cover} .vuoto{color:#aaa}
.contatore{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:2px 8px;border-radius:10px}
.tel-striscia{display:flex;gap:4px;padding:6px;overflow-x:auto} .mini{width:56px;height:70px;object-fit:cover;border-radius:5px;flex:none;background:var(--neutro-f)}
.tel-testo{padding:10px 14px 14px;font-size:14px;max-height:340px;overflow:auto}
.grande{font-size:19px;font-weight:700;margin:6px 0 10px} .riga-stato{margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.riquadro{border:1px solid var(--linea);border-left:3px solid var(--att);border-radius:0 8px 8px 0;padding:12px 14px;margin:14px 0 0}
.riquadro summary{cursor:pointer;font-weight:600} .riquadro form{margin-top:10px}
.copia{margin-top:8px;font-size:13px}
.note-interne{background:var(--neutro-f);padding:8px 12px;border-radius:8px;font-size:14px}
.errore-testo{color:var(--err);font-size:13px;display:block}
.registro{list-style:none;padding:0;margin:0;font-size:14px} .registro li{padding:6px 0;border-bottom:1px solid var(--linea)} .registro li:last-child{border:0}
.l-errore{color:var(--err)} .l-avviso{color:var(--att)}
.commenti{list-style:none;padding:0;margin:0 0 12px} .commenti li{padding:10px 0;border-bottom:1px solid var(--linea)} .commenti p{margin:4px 0 0}
.commenti li.richiesta{border-left:3px solid var(--att);padding-left:12px}
.files{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px} .file{width:130px;font-size:12px} .file .mini{width:130px;height:160px}
.file label{font-size:12px;margin:4px 0} .file input[type=number]{padding:4px 6px}
.riga-ruolo{display:flex;align-items:center;gap:12px;font-weight:400} .riga-ruolo span{flex:1} .riga-ruolo select{width:auto;margin:0}
.chiave{display:block;margin-top:6px;font-size:14px;user-select:all}
.conta{display:block;text-align:right;margin-top:4px}
.controllo{border-left:3px solid var(--att);background:var(--att-f);padding:10px 14px;border-radius:0 8px 8px 0;margin:10px 0 14px;font-size:14px}
.controllo ul{margin:6px 0 0;padding-left:18px} .controllo li{margin:4px 0} .controllo.pulito{border-color:var(--ok);background:var(--ok-f);color:var(--ok)}
.testi-pronti{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:4px 0 6px}
label[for=testo]{margin-bottom:4px}
.sposta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 0}
.testo-post{white-space:normal}
.galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px} .galleria figure{margin:0}
details summary{cursor:pointer;font-weight:600;margin:6px 0}

/* ---------- archivio ---------- */
.archivio{display:grid;grid-template-columns:250px 1fr;gap:20px;align-items:start}
.albero{display:flex;flex-direction:column;background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);padding:6px;margin-bottom:12px}
.albero a{padding:7px 12px;border-radius:6px;text-decoration:none;color:var(--testo);font-size:14px;display:flex;justify-content:space-between;gap:6px}
.albero a:hover{background:var(--neutro-f)} .albero a[aria-current]{background:var(--acc-chiaro);color:var(--acc);font-weight:600}
.archivio aside .scheda{padding:12px 14px}
.zona-carica{border:1.5px dashed var(--linea-forte);border-radius:var(--r);padding:22px;text-align:center;margin-bottom:10px;position:relative}
.zona-carica.sopra{border-color:var(--acc);background:var(--acc-chiaro)} .zona-carica input{position:absolute;inset:0;opacity:0;cursor:pointer}
.zona-carica label{font-weight:600;margin:0 0 4px}
.barra-archivio{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.griglia-file{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}
.carta-file{position:relative;background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);padding:8px;font-weight:400;margin:0;display:flex;flex-direction:column;gap:3px}
.carta-file:has(input:checked){border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.carta-file input[type=checkbox]{position:absolute;top:14px;left:14px;z-index:2}
.anteprima-file{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--neutro-f);display:block}
.nome-file{font-size:13px;font-weight:600;word-break:break-word} .tag{color:var(--acc)}
.barra-multi{position:sticky;bottom:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--carta);border:1px solid var(--linea-forte);border-radius:var(--r);padding:10px 14px;margin-top:14px;box-shadow:0 4px 16px rgba(16,24,40,.08)}
.file-grande{width:100%;border-radius:var(--r);border:1px solid var(--linea);background:var(--neutro-f);display:block}
.pescaggio{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:340px;overflow:auto;margin-top:8px}
.pesca{font-weight:400;font-size:12px;margin:0;display:flex;flex-direction:column;gap:3px;position:relative}
.pesca input{position:absolute;top:6px;left:6px} .pesca .mini{width:100%;height:110px} .pesca span{word-break:break-word}
form.barra-multi input:not([type=checkbox]):not([type=color]):not([type=radio]),form.barra-multi select,form.barra-archivio input:not([type=checkbox]):not([type=color]):not([type=radio]),form.barra-archivio select,form.sposta input:not([type=checkbox]):not([type=color]):not([type=radio]){display:inline-block;width:auto;margin:0}
.barra-archivio input[type=search]{flex:1;min-width:180px} .barra-multi input[name=tag]{flex:1;min-width:150px}

/* ---------- notifiche, menu ---------- */
.notifiche{list-style:none;padding:0;margin:12px 0 0} .notifiche li a{display:flex;flex-direction:column;gap:2px;padding:11px 0 11px 14px;border-bottom:1px solid var(--linea);text-decoration:none;color:var(--tenue)}
.notifiche li.nuova a{color:var(--testo);font-weight:600;border-left:3px solid var(--acc);padding-left:11px}
.menu-grande{list-style:none;padding:0;margin:0;background:var(--carta);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden}
.menu-grande li{border-bottom:1px solid var(--linea)} .menu-grande li:last-child{border:0} .menu-grande form{margin:0}
.menu-grande a,.menu-grande button{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--testo);text-decoration:none;background:none;border:0;width:100%;font:inherit;font-size:15px;border-radius:0;font-weight:500;cursor:pointer}

@media (max-width:900px){
  .colonne{grid-template-columns:1fr}.telefono{position:static;max-width:400px}.due{grid-template-columns:1fr}
  .giorno{min-height:80px;padding:3px}.voce .ora{display:none}.voce{font-size:11px;padding:2px 4px}
  .tabella tr{display:block;padding:10px 0;border-bottom:1px solid var(--linea)}.tabella tr:last-child{border:0}
  .tabella td,.tabella th{display:block;border:0;padding:3px 0}.tabella th{display:none}
  .archivio{grid-template-columns:1fr}.griglia-file{grid-template-columns:repeat(2,1fr)}
  .scheda{padding:14px 16px}
  .barra-multi{bottom:calc(68px + env(safe-area-inset-bottom))}
}
