/* ===== Agenda — stile ispirato a mikechef (Fraunces + Inter, crema e verde) ===== */
@font-face{font-family:"Inter";src:url(/assets/inter.woff2) format("woff2");font-weight:100 900;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(/assets/inter-ext.woff2) format("woff2");font-weight:100 900;font-display:swap;
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";src:url(/assets/fraunces.woff2) format("woff2");font-weight:100 900;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";src:url(/assets/fraunces-ext.woff2) format("woff2");font-weight:100 900;font-display:swap;
  unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --crema:#f2f5ec; --crema-2:#e8ede0; --crema-3:#e3e9d7;
  --carta:#fffefb; --bordo:#dde4cf; --bordo-forte:#cbd6b8;
  --inchiostro:#232720; --soft:#646b5c; --tenue:#9fa793;
  --verde:#5b7a49; --verde-scuro:#435b35; --verde-chiaro:#91a877;
  --bacca:#cf6a4a; --oro:#c99a3d;
  --ombra:0 1px 2px rgba(35,39,32,.05), 0 8px 24px -12px rgba(35,39,32,.18);
  --ombra-alta:0 2px 6px rgba(35,39,32,.08), 0 24px 48px -20px rgba(35,39,32,.30);
  --r:14px; --r-s:10px; --r-g:22px;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--crema);color-scheme:light}   /* niente scuro: mai, su nessun dispositivo */
body{
  font-family:var(--sans); color:var(--inchiostro); background:var(--crema);
  -webkit-font-smoothing:antialiased; font-size:15.5px; line-height:1.55;
  padding-bottom:env(safe-area-inset-bottom);
}
button,input,textarea,select{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nascosto{display:none !important}
.contenitore{max-width:1080px;margin:0 auto;padding:0 20px}
::selection{background:var(--verde-chiaro);color:#fff}

/* ---------- testata ---------- */
.testata{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--crema) 88%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--bordo)}
.testata-riga{display:flex;align-items:center;gap:18px;height:62px}
.marchio{font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:-.02em;display:flex;align-items:center;gap:9px;flex:none}
.marchio-punto{width:11px;height:11px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 4px color-mix(in srgb,var(--verde) 18%,transparent)}
.nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{padding:7px 13px;border-radius:999px;font-size:14px;font-weight:500;color:var(--soft);white-space:nowrap;transition:.15s}
.nav a:hover{background:var(--crema-3);color:var(--inchiostro)}
.nav a.attiva{background:var(--inchiostro);color:var(--crema)}
.strumenti{display:flex;align-items:center;gap:8px;flex:none}
.cerca{display:flex;align-items:center;gap:8px;background:var(--carta);border:1px solid var(--bordo);
  border-radius:999px;padding:0 14px;height:38px;transition:.15s}
.cerca:focus-within{border-color:var(--verde-chiaro);box-shadow:0 0 0 3px color-mix(in srgb,var(--verde) 14%,transparent)}
.cerca .ic{color:var(--tenue);flex:none}
.cerca input{border:0;background:none;outline:none;width:150px;font-size:14px}
.icona{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--bordo);background:var(--carta);
  border-radius:50%;cursor:pointer;color:var(--soft);transition:.15s}
.icona:hover{color:var(--inchiostro);border-color:var(--bordo-forte)}
#btnMenu{display:none}
.pannello-menu{border-bottom:1px solid var(--bordo);background:var(--carta)}
.pannello-dentro{display:flex;gap:8px;padding:12px 20px;flex-wrap:wrap;align-items:center}
.pannello-dentro button{border:1px solid var(--bordo);background:var(--crema);border-radius:999px;padding:6px 14px;font-size:13.5px;cursor:pointer}
.pannello-dentro button:hover{border-color:var(--bordo-forte)}
.stato-sync{margin-left:auto;font-size:12.5px;color:var(--tenue)}

/* ---------- cattura ---------- */
.cattura-fascia{background:linear-gradient(180deg,var(--crema-2),var(--crema));border-bottom:1px solid var(--bordo);padding:18px 0}
.cattura{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r-g);box-shadow:var(--ombra);
  padding:6px 6px 6px 18px;transition:.2s}
.cattura:focus-within{border-color:var(--verde-chiaro);box-shadow:var(--ombra-alta)}
.cattura-riga{display:flex;align-items:center;gap:12px}
.cattura-piu{font-size:22px;color:var(--verde);font-weight:300;line-height:1;flex:none}
#campoNuova{flex:1;border:0;outline:none;background:none;font-size:16.5px;padding:12px 0;min-width:0}
#campoNuova::placeholder{color:var(--tenue)}
.cattura-sotto{display:flex;align-items:center;gap:14px;padding:0 8px 10px 0;flex-wrap:wrap}
.chip-gruppo{display:flex;gap:6px}
.chip{border:1px solid var(--bordo);background:var(--crema);border-radius:999px;padding:4px 12px;font-size:12.5px;
  cursor:pointer;color:var(--soft);transition:.15s}
.chip:hover{border-color:var(--bordo-forte)}
.chip.attivo{background:var(--verde);border-color:var(--verde);color:#fff}
.suggerimento{font-size:12.5px;color:var(--tenue)}
.suggerimento b{font-weight:600;color:var(--soft)}
.suggerimento .letto{color:var(--verde);font-weight:600}

/* ---------- bottoni ---------- */
.bottone{border:1px solid var(--bordo);background:var(--carta);border-radius:999px;padding:9px 18px;font-size:14px;
  font-weight:500;cursor:pointer;transition:.15s;white-space:nowrap}
.bottone:hover{border-color:var(--bordo-forte)}
.bottone.primario{background:var(--inchiostro);border-color:var(--inchiostro);color:var(--crema)}
.bottone.primario:hover{background:var(--verde-scuro);border-color:var(--verde-scuro)}

/* ---------- sezioni ---------- */
main{padding-top:34px;padding-bottom:60px}
.saluto{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.saluto h1{font-family:var(--serif);font-weight:600;font-size:clamp(28px,4.4vw,40px);letter-spacing:-.03em;margin:0 0 4px}
.saluto .data{color:var(--soft);font-size:14.5px}
.saluto .data::first-letter{text-transform:uppercase}
.cruscotto{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:34px}
.tessera{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r);padding:14px 16px;cursor:pointer;transition:.15s}
.tessera:hover{border-color:var(--bordo-forte);transform:translateY(-1px)}
.tessera .n{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1.1;letter-spacing:-.02em}
.tessera .e{font-size:12.5px;color:var(--soft);margin-top:2px}
.tessera.v .n{color:var(--verde)} .tessera.b .n{color:var(--bacca)} .tessera.o .n{color:var(--oro)}

.sezione{margin-bottom:38px}
.sezione-testata{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.sezione-testata h2{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:-.02em;margin:0}
.sezione-testata .conta{font-size:12.5px;color:var(--tenue);background:var(--crema-3);border-radius:999px;padding:1px 9px}
.sezione-testata .vedi{margin-left:auto;font-size:13.5px;color:var(--soft);cursor:pointer}
.sezione-testata .vedi:hover{color:var(--verde);text-decoration:underline}

.griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px}
.elenco{display:flex;flex-direction:column;gap:9px}

/* ---------- schede ---------- */
.voce{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r);padding:14px 15px;
  display:flex;gap:12px;align-items:flex-start;cursor:pointer;transition:.15s;position:relative;overflow:hidden}
.voce:hover{border-color:var(--bordo-forte);box-shadow:var(--ombra)}
.voce.pri1{box-shadow:inset 3px 0 0 var(--oro)}
.voce.pri2{box-shadow:inset 3px 0 0 var(--bacca)}
.voce.fatta{opacity:.55}
.voce.fatta .testo{text-decoration:line-through;text-decoration-color:var(--tenue)}
.spunta{width:21px;height:21px;border-radius:50%;border:1.7px solid var(--bordo-forte);flex:none;margin-top:2px;
  display:grid;place-items:center;cursor:pointer;transition:.15s;background:none}
.spunta:hover{border-color:var(--verde);background:color-mix(in srgb,var(--verde) 10%,transparent)}
.spunta .ic{width:12px;height:12px;opacity:0;stroke-width:2.6;color:#fff}
.voce.fatta .spunta{background:var(--verde);border-color:var(--verde)}
.voce.fatta .spunta .ic{opacity:1}
.voce.corso .spunta{border-color:var(--oro);background:color-mix(in srgb,var(--oro) 22%,transparent)}
.voce-corpo{flex:1;min-width:0}
.testo{font-size:15px;line-height:1.45;word-break:break-word}
.meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:7px;font-size:12px;color:var(--tenue)}
.etichetta{background:var(--crema-3);border-radius:999px;padding:1px 8px;color:var(--soft)}
.etichetta.prog{background:color-mix(in srgb,var(--verde) 16%,transparent);color:var(--verde-scuro);font-weight:500}
.etichetta.scad{background:color-mix(in srgb,var(--oro) 18%,transparent);color:#8a6a1f}
.etichetta.scad.rossa{background:color-mix(in srgb,var(--bacca) 18%,transparent);color:var(--bacca)}
.etichetta.tipo{border:1px solid var(--bordo);background:none}
.passi-mini{color:var(--tenue)}
.voce-azioni{display:flex;gap:4px;opacity:0;transition:.15s;flex:none}
.voce:hover .voce-azioni,.voce:focus-within .voce-azioni{opacity:1}
.mini{width:28px;height:28px;border:0;background:none;border-radius:8px;display:grid;place-items:center;
  cursor:pointer;color:var(--tenue)}
.mini:hover{background:var(--crema-3);color:var(--inchiostro)}
.mini.rossa:hover{color:var(--bacca)}
@media (hover:none){.voce-azioni{opacity:1}}

/* ---------- vuoto ---------- */
.vuoto{border:1.5px dashed var(--bordo-forte);border-radius:var(--r);padding:30px 22px;text-align:center;color:var(--soft)}
.vuoto > b{display:block;font-family:var(--serif);font-size:17px;color:var(--inchiostro);margin-bottom:4px;font-weight:600}
.vuoto span{font-size:13.5px}
.vuoto span b{display:inline;font-family:var(--sans);font-size:inherit;font-weight:600;color:var(--soft)}

/* ---------- progetti ---------- */
.progetto-scheda{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r);padding:16px 17px;cursor:pointer;transition:.15s}
.progetto-scheda:hover{border-color:var(--verde-chiaro);transform:translateY(-1px);box-shadow:var(--ombra)}
.progetto-scheda h3{font-family:var(--serif);font-size:18px;font-weight:600;margin:0 0 8px;letter-spacing:-.01em}
.barra{height:5px;background:var(--crema-3);border-radius:999px;overflow:hidden;margin:10px 0 8px}
.barra i{display:block;height:100%;background:var(--verde);border-radius:999px;transition:width .4s}
.progetto-scheda .righe{font-size:12.5px;color:var(--soft)}

/* ---------- diario ---------- */
.giorno{margin-bottom:26px}
.giorno-testata{display:flex;align-items:center;gap:12px;margin-bottom:11px;position:sticky;top:62px;
  background:var(--crema);padding:6px 0;z-index:5}
.giorno-testata h3{font-family:var(--serif);font-size:17px;font-weight:600;margin:0;text-transform:capitalize}
.giorno-testata .linea{flex:1;height:1px;background:var(--bordo)}
.giorno-testata .n{font-size:12px;color:var(--tenue)}

/* ---------- filtri ---------- */
.filtri{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.filtri .chip.attivo{background:var(--inchiostro);border-color:var(--inchiostro);color:var(--crema)}

/* ---------- cassetto ---------- */
.velo{position:fixed;inset:0;background:rgba(35,39,32,.34);backdrop-filter:blur(2px);z-index:60;animation:sfuma .2s}
@keyframes sfuma{from{opacity:0}to{opacity:1}}
.cassetto{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--carta);z-index:61;
  box-shadow:var(--ombra-alta);display:flex;flex-direction:column;animation:entra .24s cubic-bezier(.2,.7,.3,1)}
@keyframes entra{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
.cassetto-testata{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--bordo);flex:none}
.cassetto-testata .titolino{font-size:12.5px;color:var(--tenue);flex:1}
.cassetto-corpo{padding:20px 22px 40px;overflow-y:auto;flex:1}
.cassetto-corpo h2{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px;
  outline:none;border-radius:6px;line-height:1.3}
.cassetto-corpo h2:focus{background:var(--crema-2);box-shadow:0 0 0 6px var(--crema-2)}
.campo{margin-top:20px}
.campo label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--tenue);margin-bottom:7px}
.campo input[type=text],.campo input[type=date],.campo textarea,.campo select{
  width:100%;border:1px solid var(--bordo);background:var(--crema);border-radius:var(--r-s);padding:10px 12px;
  outline:none;font-size:14.5px;transition:.15s}
.campo textarea{min-height:110px;resize:vertical;line-height:1.6}
.campo input:focus,.campo textarea:focus,.campo select:focus{border-color:var(--verde-chiaro);background:var(--carta);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--verde) 12%,transparent)}
.riga-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.segmenti{display:flex;gap:6px;flex-wrap:wrap}
.segmenti .chip.attivo{background:var(--verde);border-color:var(--verde);color:#fff}
.passo{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px dashed var(--bordo)}
.passo input[type=checkbox]{width:17px;height:17px;accent-color:var(--verde);flex:none}
.passo .t{flex:1;font-size:14.5px;outline:none;border-radius:5px;padding:2px 4px}
.passo .t:focus{background:var(--crema-2)}
.passo.ok .t{text-decoration:line-through;color:var(--tenue)}
.aggiungi-passo{border:0;background:none;color:var(--verde);cursor:pointer;font-size:13.5px;padding:9px 0;font-weight:500}
.cassetto-pie{display:flex;gap:8px;align-items:center;padding:12px 18px;border-top:1px solid var(--bordo);flex:none;background:var(--crema-2)}
.cassetto-pie .cronaca{font-size:11.5px;color:var(--tenue);flex:1;line-height:1.4}

/* ---------- accesso ---------- */
.lucchetto{position:fixed;inset:0;background:var(--crema);z-index:90;display:grid;place-items:center;padding:24px}
.scheda-accesso{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r-g);padding:34px 30px;
  width:min(360px,100%);text-align:center;box-shadow:var(--ombra)}
.marchio-grande{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:-.03em}
.scheda-accesso .sottotitolo{color:var(--soft);font-size:14px;margin:6px 0 20px}
.scheda-accesso input{width:100%;text-align:center;letter-spacing:.3em;font-size:18px;padding:12px;
  border:1px solid var(--bordo);border-radius:var(--r-s);background:var(--crema);outline:none;margin-bottom:12px}
.scheda-accesso input:focus{border-color:var(--verde-chiaro)}
.scheda-accesso .bottone{width:100%}
.errore-accesso{color:var(--bacca);font-size:13px;margin:12px 0 0}

/* ---------- brindisi ---------- */
.brindisi{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:80;background:var(--inchiostro);
  color:var(--crema);padding:10px 18px;border-radius:999px;font-size:13.5px;box-shadow:var(--ombra-alta);
  opacity:0;pointer-events:none;transition:.25s;display:flex;gap:12px;align-items:center}
.brindisi.visibile{opacity:1;transform:translate(-50%,0)}
.brindisi button{background:none;border:0;color:var(--verde-chiaro);font-weight:600;cursor:pointer;padding:0}

.pie{border-top:1px solid var(--bordo);padding:20px 0 34px;color:var(--tenue);font-size:12.5px}

/* ---------- schermi piccoli ---------- */
@media (max-width:860px){
  .cruscotto{grid-template-columns:repeat(2,1fr)}
  .cerca input{width:110px}
  .nav a{padding:7px 11px}
}
@media (max-width:640px){
  .contenitore{padding:0 15px}
  /* niente backdrop-filter qui: creerebbe un blocco contenitore e la barra
     in basso (position:fixed) resterebbe agganciata all'intestazione */
  .testata{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--crema)}
  .testata-riga{height:56px;gap:10px}
  .nav{position:fixed;left:0;right:0;bottom:0;z-index:45;background:color-mix(in srgb,var(--crema) 94%,transparent);
    backdrop-filter:blur(14px);border-top:1px solid var(--bordo);justify-content:space-around;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom))}
  .nav a{font-size:12.5px;padding:6px 10px}
  body{padding-bottom:64px}
  .cerca{display:none}
  .cerca.aperta{display:flex;position:absolute;left:15px;right:15px;top:9px;z-index:2}
  .cerca.aperta input{width:100%}
  #btnMenu{display:grid}
  .giorno-testata{top:56px}
  .cassetto{width:100%;top:auto;height:92vh;border-radius:var(--r-g) var(--r-g) 0 0;animation:sale .26s cubic-bezier(.2,.7,.3,1)}
  @keyframes sale{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
}

/* ---------- promemoria ---------- */
.pastiglia{background:var(--bacca);color:#fff;border-radius:999px;font-size:10.5px;font-weight:700;
  padding:0 6px;min-width:17px;height:17px;display:inline-grid;place-items:center;margin-left:6px;line-height:1}
.nav a.attiva .pastiglia{background:var(--crema);color:var(--bacca)}
.avviso{display:flex;gap:14px;align-items:center;background:color-mix(in srgb,var(--bacca) 12%,var(--carta));
  border:1px solid color-mix(in srgb,var(--bacca) 34%,transparent);border-radius:var(--r);padding:14px 16px;margin-bottom:24px}
.avviso .campana{width:34px;height:34px;border-radius:50%;background:var(--bacca);color:#fff;display:grid;place-items:center;flex:none}
.avviso .t{flex:1;font-size:14px}
.avviso .t b{display:block;font-family:var(--serif);font-size:16px;font-weight:600}
.avviso .bottone{flex:none}
.orario{font-variant-numeric:tabular-nums;font-weight:600;color:var(--soft);font-size:12.5px;
  background:var(--crema-3);border-radius:999px;padding:1px 8px}
.etichetta.scad.rossa .o{opacity:.8}
.ripete{color:var(--verde);font-size:12px}
.riga-data{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.riga-data input[type=date]{flex:1 1 150px;width:auto}
.riga-data input[type=time]{flex:0 1 120px;width:auto}
.campo select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tenue) 50%),linear-gradient(135deg,var(--tenue) 50%,transparent 50%);
  background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.rapide{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
@media (max-width:640px){ .nav a[data-vista="archivio"]{display:none} }

/* ---------- calendario ---------- */
.cal-testata{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.cal-testata h1{font-family:var(--serif);font-weight:600;font-size:clamp(24px,4vw,34px);letter-spacing:-.03em;margin:0 0 3px;text-transform:capitalize}
.cal-testata .data{color:var(--soft);font-size:14px}
.cal-frecce{display:flex;gap:7px;align-items:center}
.cal-modi{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}
.cal-modi .chip.attivo{background:var(--inchiostro);border-color:var(--inchiostro);color:var(--crema)}

.cal-sigle{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:7px}
.cal-sigle span{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--tenue);text-align:center}
.cal-griglia{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal-cella{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r-s);min-height:104px;
  padding:7px 7px 8px;cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.cal-cella:hover{border-color:var(--verde-chiaro)}
.cal-cella.fuori{background:transparent;border-color:transparent}
.cal-cella.fuori .cal-num{color:var(--tenue);opacity:.6}
.cal-num{font-family:var(--serif);font-size:15px;font-weight:600;line-height:1;text-align:right;color:var(--soft)}
.cal-cella.oggi{border-color:var(--verde);box-shadow:0 0 0 1px var(--verde)}
.cal-cella.oggi .cal-num{color:#fff;background:var(--verde);border-radius:999px;width:22px;height:22px;
  display:grid;place-items:center;margin-left:auto;font-size:12.5px}
.cal-voci{display:flex;flex-direction:column;gap:3px;min-width:0}
.pillola{font-size:11px;line-height:1.3;background:var(--crema-3);color:var(--soft);border-radius:5px;
  padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;
  border-left:2.5px solid var(--bordo-forte)}
.pillola b{font-variant-numeric:tabular-nums;color:var(--inchiostro)}
.pillola:hover{background:var(--crema-2)}
.pillola.corso{border-left-color:var(--oro);background:color-mix(in srgb,var(--oro) 14%,var(--crema-3))}
.pillola.tardi{border-left-color:var(--bacca);background:color-mix(in srgb,var(--bacca) 14%,var(--crema-3));color:var(--bacca)}
.pillola.fatta{opacity:.5;text-decoration:line-through;border-left-color:var(--verde)}
.cal-altre{font-size:10.5px;color:var(--tenue);padding-left:5px}

.cal-settimana{display:flex;flex-direction:column;gap:10px}
.cal-riga{display:grid;grid-template-columns:74px 1fr;gap:14px;align-items:start;
  background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r);padding:12px 14px}
.cal-riga.oggi{border-color:var(--verde);box-shadow:inset 3px 0 0 var(--verde)}
.cal-riga-giorno{cursor:pointer;text-align:center;padding-top:4px}
.cal-riga-giorno b{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--tenue);font-weight:600}
.cal-riga-giorno span{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.1}
.cal-riga .voce{border:0;padding:8px 0;background:none}
.cal-riga .voce:hover{box-shadow:none;background:var(--crema-2);border-radius:var(--r-s);padding-left:8px;padding-right:8px}
.cal-niente{color:var(--tenue);font-size:14px;display:block;padding:10px 0}
.cal-ora{display:flex;gap:12px;align-items:flex-start}
.cal-ora .orario{margin-top:16px;flex:none}
.cal-ora .voce{flex:1}

@media (max-width:760px){
  .cal-griglia{gap:5px}
  .cal-cella{min-height:66px;padding:5px 4px;border-radius:8px}
  .cal-num{font-size:13px}
  .cal-cella.oggi .cal-num{width:20px;height:20px;font-size:11.5px}
  .pillola{font-size:0;line-height:0;padding:0;height:5px;border-radius:999px;border-left:0;background:var(--verde-chiaro)}
  .pillola b{font-size:0}
  .pillola.corso{background:var(--oro)} .pillola.tardi{background:var(--bacca)} .pillola.fatta{background:var(--bordo-forte)}
  .cal-altre{display:none}
  .cal-riga{grid-template-columns:56px 1fr;gap:10px;padding:10px 12px}
  .cal-riga-giorno span{font-size:20px}
  .cal-testata{gap:12px}
}

/* ---------- sezioni ---------- */
.c-verde{--tinta:#5b7a49} .c-oro{--tinta:#c99a3d} .c-bacca{--tinta:#cf6a4a}
.c-salvia{--tinta:#7f9a7a} .c-ardesia{--tinta:#5f7284} .c-prugna{--tinta:#8d6480}
   
.sez-punto{width:8px;height:8px;border-radius:50%;background:var(--tinta,var(--verde));display:inline-block;flex:none}
.sez-punto.grande{width:12px;height:12px}
.etichetta.sez{background:color-mix(in srgb,var(--tinta) 16%,transparent);color:color-mix(in srgb,var(--tinta) 78%,var(--inchiostro));font-weight:500}
.chip.sezione-chip,.segmenti .chip[data-c="sezione"],#chipSez .chip{display:inline-flex;align-items:center;gap:6px}
#chipSez .chip.attivo,.segmenti .chip[data-c="sezione"].attivo,.filtri .chip.sezione-chip.attivo{
  background:var(--tinta);border-color:var(--tinta);color:#fff}
#chipSez .chip.attivo .sez-punto,.segmenti .chip.attivo .sez-punto,.filtri .chip.attivo .sez-punto{background:#fff}
.divisorio{width:1px;height:18px;background:var(--bordo)}

.sez-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sez-colonna{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--r);padding:13px 14px;
  cursor:pointer;transition:.15s;border-top:3px solid var(--tinta)}
.sez-colonna:hover{border-color:var(--bordo-forte);border-top-color:var(--tinta);transform:translateY(-1px);box-shadow:var(--ombra)}
.sez-testa{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.sez-testa b{font-family:var(--serif);font-size:16px;font-weight:600;flex:1}
.sez-riga{font-size:13.5px;color:var(--soft);padding:5px 0;border-bottom:1px dashed var(--bordo);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sez-riga:hover{color:var(--inchiostro)}
.sez-riga:last-of-type{border-bottom:0}
.sez-riga.vuota{color:var(--tenue);font-style:italic}
.sez-altre{font-size:12px;color:var(--tenue);padding-top:6px}

.sez-scheda{display:flex;align-items:center;gap:12px;background:var(--carta);border:1px solid var(--bordo);
  border-radius:var(--r);padding:12px 14px;border-left:4px solid var(--tinta)}
.sez-nome{flex:1;min-width:0;border:0;background:none;outline:none;font-family:var(--serif);font-size:17px;font-weight:600;padding:4px 6px;border-radius:6px}
.sez-nome:focus{background:var(--crema-2)}
.sez-colori{display:flex;gap:5px}
.tinta{width:19px;height:19px;border-radius:50%;background:var(--tinta);border:2px solid transparent;cursor:pointer;padding:0}
.tinta.scelta{border-color:var(--inchiostro)}
.sez-conta{font-size:12.5px;color:var(--tenue);background:var(--crema-3);border-radius:999px;padding:1px 9px}
@media (max-width:640px){
  .sez-scheda{flex-wrap:wrap}
  .sez-nome{flex:1 1 100%;order:-1}
}

/* ---------- file ---------- */
.zona{border:1.5px dashed var(--bordo-forte);border-radius:var(--r);padding:26px 20px;text-align:center;
  cursor:pointer;transition:.18s;background:var(--carta)}
.zona:hover,.zona.attiva{border-color:var(--verde);background:color-mix(in srgb,var(--verde) 7%,var(--carta))}
.zona b{display:block;font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:3px}
.zona span{font-size:13.5px;color:var(--soft)}
.zona i{font-family:var(--font-mono,monospace);font-style:normal;background:var(--crema-3);padding:1px 5px;border-radius:4px}
.file-riga{display:flex;align-items:center;gap:13px;background:var(--carta);border:1px solid var(--bordo);
  border-radius:var(--r);padding:11px 14px;cursor:pointer;transition:.15s}
.file-riga:hover{border-color:var(--bordo-forte);box-shadow:var(--ombra)}
.file-est{width:44px;height:44px;flex:none;border-radius:10px;background:var(--crema-3);color:var(--verde-scuro);
  display:grid;place-items:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;overflow:hidden}
.file-corpo{flex:1;min-width:0}
.file-nome{font-size:15px;font-weight:500;word-break:break-all}
.file-riga .meta{margin-top:2px}
textarea.codice{font-family:var(--font-mono,ui-monospace,Menlo,monospace);font-size:12.5px;line-height:1.6;
  min-height:340px;white-space:pre;overflow-wrap:normal;overflow-x:auto;tab-size:2}

/* ---------- taglio da app ---------- */
.tondo{display:none;position:fixed;right:16px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:46;
  width:56px;height:56px;border-radius:50%;border:0;background:var(--inchiostro);color:var(--crema);
  box-shadow:var(--ombra-alta);cursor:pointer;place-items:center}
.tondo svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.nav a svg{display:none}

@media (max-width:640px){
  body{-webkit-tap-highlight-color:transparent;padding-bottom:78px}
  .tondo{display:grid}
  .nav{padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 6px;border-radius:12px;
    font-size:10.5px;letter-spacing:.01em;flex:1;position:relative}
  .nav a svg{display:block;width:21px;height:21px}
  .nav a.attiva{background:none;color:var(--verde)}
  .nav a.attiva svg{stroke-width:2.2}
  .nav a[data-vista="diario"],.nav a[data-vista="archivio"]{display:none}
  .nav a .pastiglia{position:absolute;top:0;right:calc(50% - 20px);margin:0}
  .cattura-fascia{padding:12px 0}
  .cattura{padding:4px 4px 4px 14px}
  #campoNuova{font-size:16px;padding:10px 0}
  .cattura-sotto{display:none}
  .cattura:focus-within .cattura-sotto{display:flex;padding-top:4px}
  .bottone,.chip,.mini,.icona{touch-action:manipulation}
  .spunta{width:26px;height:26px}
  .spunta .ic{width:14px;height:14px}
  .mini{width:34px;height:34px}
  .voce{padding:13px 13px;border-radius:var(--r)}
  .cruscotto{gap:9px}
  .tessera{padding:12px 13px}
  .tessera .n{font-size:26px}
  .cassetto-pie{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .file-est{width:38px;height:38px}
}
.file-nota{font-size:13px;color:var(--soft);margin-top:2px;line-height:1.4}
.file-riga .meta .etichetta{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px}

/* ---------- il blocco note della home ---------- */
.blocco{position:relative;margin-bottom:34px;filter:drop-shadow(0 14px 28px rgba(35,39,32,.10))}
.blocco-cima{display:flex;justify-content:space-around;align-items:center;height:26px;
  background:linear-gradient(180deg,var(--crema-3),var(--crema-2));
  border:1px solid var(--bordo);border-bottom:0;border-radius:var(--r) var(--r) 0 0;padding:0 22px}
.blocco-cima i{width:9px;height:14px;border-radius:5px;background:var(--crema);
  border:1px solid var(--bordo-forte);box-shadow:inset 0 -3px 0 -1px color-mix(in srgb,var(--inchiostro) 12%,transparent)}
.blocco-carta{background:var(--carta);border:1px solid var(--bordo);border-top:0;
  display:grid;grid-template-columns:1fr 1fr;gap:0}
.blocco-col{padding:16px 20px 14px;min-width:0}
.blocco-col + .blocco-col{border-left:1px dashed var(--bordo)}
.blocco-col h3{font-family:var(--serif);font-size:13px;font-weight:600;letter-spacing:.02em;margin:0 0 6px;
  color:var(--verde-scuro);text-transform:lowercase;font-style:italic}
.righe{list-style:none;margin:0;padding:0;
  background-image:repeating-linear-gradient(var(--carta),var(--carta) 33px,var(--bordo) 33px,var(--bordo) 34px)}
.righe li{display:flex;align-items:center;gap:9px;height:34px;line-height:34px;cursor:pointer;
  font-size:14px;min-width:0;padding-right:2px}
.righe li:hover .riga-testo{color:var(--verde-scuro)}
.righe li.niente{color:var(--tenue);font-style:italic;font-size:13.5px;cursor:default}
.segno{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--bordo-forte);flex:none}
.segno.corso{background:var(--oro);border-color:var(--oro)}
.segno.tardi{background:var(--bacca);border-color:var(--bacca)}
.riga-testo{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.15s}
.riga-quando{font-size:11.5px;color:var(--tenue);flex:none;font-variant-numeric:tabular-nums}
.riga-quando.tardi{color:var(--bacca)}
.blocco-pie{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--tenue);
  background:var(--crema-2);border:1px solid var(--bordo);border-top:0;border-radius:0 0 var(--r) var(--r);padding:8px 20px}
.blocco-pie span{cursor:pointer;color:var(--soft)}
.blocco-pie span:hover{color:var(--verde);text-decoration:underline}
.vuoto-blocco{display:block;text-align:center;padding:34px 24px}
.vuoto-blocco b{display:block;font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:4px}
.vuoto-blocco span{font-size:13.5px;color:var(--soft)}
.vuoto-blocco span b{display:inline;font-family:var(--sans);font-size:inherit;color:var(--soft)}

/* fila dei progetti, compatta */
.prog-fila{display:flex;gap:8px;flex-wrap:wrap}
.prog-chip{display:inline-flex;align-items:center;gap:8px;background:var(--carta);border:1px solid var(--bordo);
  border-radius:999px;padding:7px 14px 7px 10px;font-size:13.5px;cursor:pointer;transition:.15s}
.prog-chip:hover{border-color:var(--verde-chiaro);box-shadow:var(--ombra)}
.prog-arco{width:15px;height:15px;border-radius:50%;flex:none;
  background:conic-gradient(var(--verde) calc(var(--perc)*1%),var(--crema-3) 0)}
.prog-chip .conta{font-size:11.5px;color:var(--tenue);background:var(--crema-3);border-radius:999px;padding:0 7px}

@media (max-width:640px){
  .blocco-carta{grid-template-columns:1fr}
  .blocco-col + .blocco-col{border-left:0;border-top:1px dashed var(--bordo)}
  .blocco-col{padding:13px 15px 12px}
  .blocco-cima{padding:0 14px}
  .blocco-pie{padding:8px 15px}
  .righe li{font-size:14.5px}
}

/* ---------- cartelle dei file ---------- */
.cartella{display:flex;align-items:center;gap:13px;background:var(--carta);border:1px solid var(--bordo);
  border-radius:var(--r);padding:13px 14px;cursor:pointer;transition:.15s}
.cartella:hover{border-color:var(--verde-chiaro);transform:translateY(-1px);box-shadow:var(--ombra)}
.cartella-icona{width:42px;height:42px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--verde) 14%,transparent);color:var(--verde)}
.cartella-icona .ic{width:22px;height:22px}
.cartella-corpo{flex:1;min-width:0}
.cartella-nome{font-family:var(--serif);font-size:16px;font-weight:600;word-break:break-word}
.cartella .meta{margin-top:1px}

/* le azioni su file e cartelle sono sempre visibili, non solo al passaggio del mouse */
.file-riga .voce-azioni,.cartella .voce-azioni{opacity:1}
.file-riga .mini,.cartella .mini{border:1px solid var(--bordo);background:var(--crema)}
.file-riga .mini:hover,.cartella .mini:hover{border-color:var(--bordo-forte);background:var(--crema-3)}
.file-riga .mini.rossa:hover,.cartella .mini.rossa:hover{color:#fff;background:var(--bacca);border-color:var(--bacca)}
#tastoSalva[disabled]{opacity:.5;cursor:default}
.cassetto-pie .cronaca{font-size:12px}

/* ---------- colori dei pallini: due tinte in più ---------- */
.c-cielo{--tinta:#5f8ba4} .c-terra{--tinta:#a07d54}

/* pallini colorati su stati, tipi e sezioni ovunque compaiano */
.segmenti .chip,.filtri .chip.sezione-chip,#chipTipo .chip,#chipSez .chip{display:inline-flex;align-items:center;gap:6px}
.segmenti .chip.attivo,#chipTipo .chip.attivo{background:var(--tinta,var(--verde));border-color:var(--tinta,var(--verde));color:#fff}
.segmenti .chip.attivo .sez-punto,#chipTipo .chip.attivo .sez-punto{background:#fff}
.etichetta.tipo{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--bordo);background:none;
  color:color-mix(in srgb,var(--tinta) 78%,var(--inchiostro))}
.voce.corso{box-shadow:inset 3px 0 0 var(--tinta,var(--oro))}
.voce.pri1{box-shadow:inset 3px 0 0 var(--oro)}
.voce.pri2{box-shadow:inset 3px 0 0 var(--bacca)}
.segno.tinto{background:var(--tinta,var(--bordo-forte));border-color:var(--tinta,var(--bordo-forte))}
.pillola.tinta{border-left-color:var(--tinta);background:color-mix(in srgb,var(--tinta) 13%,var(--crema-3))}
.chip.minuscolo{font-size:11px;padding:3px 9px;white-space:nowrap}
.chip.minuscolo.attivo{background:var(--verde);border-color:var(--verde);color:#fff}
.mini[disabled]{opacity:.25;cursor:default}
.sez-scheda{flex-wrap:wrap}
.sez-scheda .sez-nome{flex:1 1 160px}

/* appunti che si allungano da soli */
.campo textarea.cresce{min-height:90px;overflow-y:auto;resize:none;transition:height .12s}
@media (max-width:640px){
  .pillola.tinta{background:var(--tinta)}
  .sez-colori{order:3}
}

/* riga di scrittura: cresce con il testo, si scrive tutto qui dentro */
.cattura-riga.alto{align-items:flex-start}
.cattura-riga.alto .cattura-piu{margin-top:13px}
.cattura-riga.alto .bottone{margin-top:5px}
#campoNuova{flex:1;border:0;outline:none;background:none;font-family:inherit;font-size:16.5px;line-height:1.5;
  padding:12px 0;min-width:0;resize:none;overflow-y:auto;max-height:45vh;display:block}
#campoNuova::placeholder{color:var(--tenue)}

/* bottoncini di scadenza e importanza nella barra di scrittura */
.mini-campo{border:1px solid var(--bordo);background:var(--crema);border-radius:999px;padding:3px 10px;
  font-size:12.5px;outline:none;color:var(--soft);font-family:inherit;max-width:140px}
.mini-campo:focus{border-color:var(--verde-chiaro);background:var(--carta);color:var(--inchiostro)}
.mini-campo:valid:not(:placeholder-shown){color:var(--inchiostro)}
#chipQuando,#chipPri{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#chipQuando .chip.attivo{background:var(--oro);border-color:var(--oro);color:#fff}
#chipPri .chip[data-pri="1"].attivo{background:var(--oro);border-color:var(--oro);color:#fff}
#chipPri .chip[data-pri="2"].attivo{background:var(--bacca);border-color:var(--bacca);color:#fff}
@media (max-width:640px){ .mini-campo{max-width:118px;padding:3px 8px} }
