@font-face{font-family:"Agrandir";src:url("brand/agrandir/Agrandir-Regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Agrandir";src:url("brand/agrandir/Agrandir-TextBold.otf") format("opentype");font-weight:700;font-display:swap}
@font-face{font-family:"Agrandir";src:url("brand/agrandir/Agrandir-GrandHeavy.otf") format("opentype");font-weight:900;font-display:swap}
:root{--crema:#f5efe7;--panna:#fcf9f4;--ink:#050505;--muted:#69645d;--linea:rgba(52,40,30,.12);
--verde:#008c45;--rosso:#cd212a;--r:16px;--shadow:0 14px 32px rgba(102,82,61,.10);
--font:"Agrandir",Inter,system-ui,-apple-system,"PingFang SC",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none !important} /* hidden vince sempre, anche su display:flex delle classi */
html,body{margin:0}
body{background:var(--crema);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;
padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.view{position:relative;max-width:560px;margin:0 auto;padding:18px 20px 28px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column} /* 100vh: ripiego per i browser senza dvh */
.apphead{display:flex;justify-content:space-between;align-items:center;min-height:34px;margin-bottom:22px}
.logo{height:22px;width:auto}
h1{font-weight:900;font-size:34px;letter-spacing:-.01em;margin:10px 0 8px}
.daychip{font-size:12px;font-weight:700;background:var(--panna);border:1px solid var(--linea);border-radius:999px;padding:5px 12px;color:var(--muted)}
/* acquisizione in alto */
.capture{display:flex;flex-direction:column;gap:10px;margin:14px 0 20px}
.bigshot{display:flex;align-items:center;gap:16px;background:var(--ink);color:#fff;border-radius:22px;padding:20px 22px;cursor:pointer;box-shadow:var(--shadow);transition:transform .12s ease}
.bigshot:active{transform:scale(.98)}
.bigshot b{font-size:18px}
.bigshot small{display:block;color:rgba(255,255,255,.62);font-size:12.5px;font-weight:400;margin-top:3px}
/* header */
.headchips{display:flex;gap:6px;align-items:center}
.opbtn{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* menu ⋯ */
.kebab{font:inherit;font-size:20px;font-weight:900;line-height:1;background:var(--panna);border:1px solid var(--linea);border-radius:999px;width:34px;height:34px;cursor:pointer;color:var(--muted)}
.menupop{position:absolute;right:20px;top:54px;z-index:20;background:var(--bianco, #fff);border:1px solid var(--linea);border-radius:16px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;min-width:260px}
.menupop button{display:flex;align-items:center;gap:10px;font:inherit;font-size:14.5px;font-weight:700;color:var(--ink);text-align:left;background:none;border:0;padding:12px 14px;border-radius:11px;cursor:pointer}
.menupop button:active{background:var(--crema)}
.menufoot{font-size:10.5px;font-weight:700;color:var(--muted);opacity:.7;text-align:center;padding:8px 0 4px;border-top:1px solid var(--linea);margin-top:4px}

/* IL form (unico, richiudibile) */
.formcard{background:var(--panna);border:1px solid var(--linea);border-radius:20px;padding:6px 16px;margin:12px 0 4px}
.formcard.open{padding:6px 16px 16px}
.formhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.formtitle{flex:1;display:flex;align-items:center;justify-content:space-between;font:inherit;font-size:15px;font-weight:700;color:var(--ink);background:none;border:0;padding:12px 0;cursor:pointer;text-align:left}
.formtitle .chev{color:var(--muted);font-weight:900;transition:transform .18s ease}
.formcard.open .chev{transform:rotate(180deg)}
.formcard input,.formcard textarea{background:var(--crema)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:380px){.grid2{grid-template-columns:1fr}}

/* foto dentro il form (solo in modifica) */
.photoslot{margin:4px 0 14px;display:flex;gap:14px;align-items:center}
.photoslot img{width:120px;border-radius:12px;border:1px solid var(--linea)}
.photolabel{font-size:13px;font-weight:700;color:var(--ink);background:var(--crema);border:1px solid var(--linea);border-radius:999px;padding:9px 14px;cursor:pointer}

/* status bar salvataggio */
.savestatus{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;border-radius:12px;padding:11px 14px;margin:8px 0}
.savestatus.db{background:rgba(0,140,69,.1);color:var(--verde)}
.savestatus.locale{background:rgba(52,40,30,.07);color:var(--muted)}
.savestatus.errore{background:rgba(205,33,42,.08);color:var(--rosso)}

/* accesso */
.loginview{justify-content:flex-start;padding-top:48px}
.loginview .field input{background:var(--bianco,#fff)}
.loginfoot{text-align:center;font-size:13px;color:var(--muted);margin:16px 0 0}
.loginfoot a{color:var(--ink);font-weight:700}
.loginview .cta.secondary{background:none;color:var(--ink);border:1px solid var(--linea)}
.cta:disabled{opacity:.55}
button.daychip{font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}

/* avvisi fissi: nuova versione, archivio, memoria */
.updatebar{display:block;width:100%;max-width:560px;margin:0 auto;font:inherit;font-size:14px;font-weight:700;background:var(--verde);color:#fff;border:0;padding:12px 16px;cursor:pointer;text-align:center}
.warnbar{max-width:560px;margin:0 auto;font-size:13.5px;font-weight:700;background:rgba(205,33,42,.1);color:var(--rosso);padding:11px 16px;line-height:1.45}
.tag.errore{background:rgba(205,33,42,.1);color:var(--rosso);border-color:transparent}

/* vista visitatore */
.kioskview{background:var(--crema)}
.kiosklogo{height:26px;width:auto;display:block;margin:18px auto 6px}
.kioskwelcome{text-align:center;font-weight:900;font-size:26px;margin:12px 0 6px}
.kiosksub{text-align:center;color:var(--muted);font-size:14px;margin:0 0 18px}
.kioskview .field input{background:var(--bianco,#fff)}
.langs{display:inline-flex;background:rgba(5,5,5,.07);border-radius:999px;padding:3px;gap:2px}
.langs button{font:inherit;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:999px;border:0;background:none;color:var(--muted);cursor:pointer}
.langs button.on{background:var(--ink);color:#fff}
.kthanks{text-align:center;font-weight:900;font-size:24px;color:var(--verde);margin:18px 0}
.kioskfoot{margin-top:auto;text-align:center;font-size:11px;color:var(--muted);font-weight:700;padding:16px 0 6px}
.statline{display:flex;align-items:baseline;gap:7px;font-size:13px;color:var(--muted);font-weight:700;margin:2px 0 8px}
.statline b{font-size:24px;color:var(--ink);font-weight:900}
.statline .today{margin-left:auto;font-size:12px;color:var(--verde);background:rgba(0,140,69,.09);padding:4px 11px;border-radius:999px}

/* vista rapida post-scatto */
.quickcard{margin:8px 0 12px}
.quickcard img{width:100%;max-height:300px;object-fit:cover;border-radius:18px;border:1px solid var(--linea);box-shadow:var(--shadow)}
.quickhint{color:var(--muted);font-size:14.5px;margin:0 0 14px;line-height:1.55}
.seg.seg-big{gap:8px}
.seg.seg-big button{font-size:15px;padding:13px 18px;border-radius:14px;flex:1;text-align:center}
.search{width:100%;border:0;background:var(--panna);border:1px solid var(--linea);border-radius:14px;padding:12px 14px;font:inherit;font-size:15px;margin-bottom:6px}
.clist{list-style:none;margin:0;padding:0}
.clist li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linea);cursor:pointer}
.avatar{width:42px;height:42px;border-radius:14px;background:var(--panna);border:1px solid var(--linea);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex:none}
.clist .who{min-width:0;flex:1}
.clist .n{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clist .c{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag{flex:none;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--panna);border:1px solid var(--linea);color:var(--muted)}
.tag.alto{background:rgba(0,140,69,.1);color:var(--verde);border-color:transparent}
.empty{color:var(--muted);text-align:center;margin-top:40px}
.ver{font-size:10px;font-weight:700;color:var(--muted);opacity:.7}
.back,.danger{font:inherit;font-weight:700;color:var(--ink);background:none;border:0;padding:6px 0;cursor:pointer}
.danger{color:var(--rosso)}
.field{margin-bottom:12px}
.field>label{display:flex;gap:8px;align-items:baseline;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.req{font-style:normal;color:var(--rosso)}
.fromphoto{text-decoration:none;font-size:9.5px;background:rgba(0,140,69,.1);color:var(--verde);border-radius:999px;padding:2.5px 8px}
input,textarea{width:100%;border:1px solid var(--linea);background:var(--panna);border-radius:12px;padding:11px 12px;font:inherit;font-size:16px}
textarea{resize:vertical}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{font:inherit;font-size:13px;font-weight:700;padding:9px 13px;border-radius:999px;background:var(--panna);border:1px solid var(--linea);color:var(--muted);cursor:pointer}
.seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cta{width:100%;font:inherit;font-size:16px;font-weight:700;background:var(--ink);color:#fff;border:0;border-radius:16px;padding:15px;cursor:pointer;margin-top:6px}
