/* TT-26-15329 - PWA Zanconato Autisti */
:root{--blu:#1e4995;--blu2:#e8eef9;--bg:#f4f6fa;--card:#fff;--txt:#1d2433;--muted:#5d6678;--line:#dfe4ee;--ok:#1b7f45;--warn:#a85f00;--ko:#b3261e;--r:12px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body{padding-bottom:env(safe-area-inset-bottom)}
header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;background:#fff;border-bottom:3px solid var(--blu);padding:calc(8px + env(safe-area-inset-top)) 12px 8px}
header .logo{height:34px;max-width:60vw;object-fit:contain}
.icon{background:none;border:0;font-size:28px;line-height:1;color:var(--blu);padding:4px 8px;min-width:44px;min-height:44px}
#menu{margin-left:auto}.net{width:10px;height:10px;border-radius:50%;background:var(--ok);margin-left:auto}
.net.off{background:var(--ko)}#menu:not([hidden])~.net{margin-left:0}
.queue{background:#fff4e0;color:var(--warn);padding:8px 14px;font-size:14px;border-bottom:1px solid #f0d9b0}
.queue.err{background:#fde8e6;color:var(--ko)}
main{padding:12px;max-width:720px;margin:0 auto}
h1{font-size:20px;margin:8px 0 12px;color:var(--blu)}h2{font-size:17px;margin:0 0 10px;color:var(--blu)}
.center{text-align:center}.muted{color:var(--muted);font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:12px}
.trip{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.trip .when{font-weight:700;color:var(--blu)}.trip .t{font-weight:600;margin:2px 0}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--blu2);color:var(--blu)}
.badge.ok{background:#e6f4ea;color:var(--ok)}.badge.warn{background:#fff4e0;color:var(--warn)}
.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1 1 140px}
label{display:block;font-size:14px;color:var(--muted);margin:10px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #c5ccd9;border-radius:10px;background:#fff;color:var(--txt)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blu);border-color:var(--blu)}
textarea{min-height:84px;resize:vertical}
input:disabled,select:disabled,textarea:disabled{background:#f0f2f6;color:var(--muted)}
.btn{display:block;width:100%;font:inherit;font-weight:700;padding:14px;border-radius:12px;border:2px solid var(--blu);background:var(--blu);color:#fff;margin-top:12px;cursor:pointer;min-height:50px}
.btn.sec{background:#fff;color:var(--blu)}.btn.danger{border-color:var(--ko);background:var(--ko)}
.btn:disabled{opacity:.5}
details.sec{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px}
details.sec>summary{list-style:none;padding:14px;font-weight:700;color:var(--blu);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
details.sec>summary::-webkit-details-marker{display:none}
details.sec>summary::after{content:"›";transform:rotate(90deg);font-size:22px}details.sec[open]>summary::after{transform:rotate(-90deg)}
details.sec>div{padding:0 14px 14px}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.ph{position:relative;border:2px dashed #c5ccd9;border-radius:10px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:13px;color:var(--muted);overflow:hidden;background:#fafbfd;cursor:pointer}
.ph.has{border-style:solid;border-color:var(--blu)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph .lbl{position:absolute;left:0;right:0;bottom:0;background:rgba(30,73,149,.85);color:#fff;padding:3px 6px;font-size:12px}
.ph .st{position:absolute;top:4px;right:4px;background:#fff;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:700}
.ph .st.pend{color:var(--warn)}.ph .st.ok{color:var(--ok)}
.ph input{display:none}.ph .plus{font-size:30px;color:var(--blu)}
.checks label{display:flex;align-items:center;gap:10px;color:var(--txt);font-size:15px;margin:0;padding:8px 0;border-bottom:1px solid var(--line)}
.checks input{width:22px;height:22px;flex:0 0 22px}
.doc{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.doc .n{flex:1;word-break:break-word}.doc button{flex:0 0 auto;width:auto;margin:0;padding:8px 12px;min-height:40px}
.sig{border:1px solid #c5ccd9;border-radius:10px;background:#fff;width:100%;height:200px;touch-action:none;display:block}
.sigimg{max-width:100%;max-height:140px;border:1px solid var(--line);border-radius:8px;background:#fff}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(150%);background:#1d2433;color:#fff;padding:12px 16px;border-radius:10px;max-width:92vw;transition:transform .25s;z-index:20}
.toast.show{transform:translateX(-50%) translateY(0)}.toast.ko{background:var(--ko)}
dialog{border:0;border-radius:16px;padding:18px;width:min(560px,94vw);max-height:90vh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.45)}
.viewer img,.viewer iframe{width:100%;border:0;border-radius:8px}.viewer iframe{height:70vh}
.sum td{padding:4px 6px;border-bottom:1px solid var(--line)}.sum{width:100%;border-collapse:collapse;font-size:15px}
.login{max-width:420px;margin:6vh auto 0}.login img{display:block;max-width:100%;margin:0 auto 16px}
.closed{background:#e6f4ea;color:var(--ok);padding:10px 14px;border-radius:10px;font-weight:600;margin-bottom:12px}
/* TT-26-15543: itinerario nelle schede dell'elenco dei viaggi (massimo 3 righe, a capo mantenuti) */
.trip .itin{margin-top:6px;font-size:14px;text-align:left;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
