@font-face{font-family:Alan Sans Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/alan-sans-latin-ext-wght-normal-bMqJwkmD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alan Sans Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/alan-sans-latin-wght-normal-BYXbn9SH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2)format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2)format("woff2"),url(/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-cyrillic-700-normal-Dw3uKy19.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-700-normal-Dk1mTcxf.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-vietnamese-700-normal-CaKJSIny.woff2)format("woff2"),url(/assets/playfair-display-vietnamese-700-normal-Cr1rw0mr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-ext-700-normal-C58ejOkc.woff2)format("woff2"),url(/assets/playfair-display-latin-ext-700-normal-D5HUU8GT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/playfair-display-latin-700-normal-CuDiGg7c.woff2)format("woff2"),url(/assets/playfair-display-latin-700-normal-Bc_1Q1cG.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}:root.dark{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}:root{--color-surface:#f2eded;--color-card:#fff;--color-text:#0a1931;--color-muted:#4a5568;--color-border:#dcd5d5;--color-accent:#0047ab;--color-accent-soft:#e1ebf9;--color-on-accent:#fff;--color-done:#248f4d;--color-danger:#c81a40;--radius:.75rem;--radius-sm:.5rem;--shadow-card:0 4px 10px #0000000d;--shadow-card-hover:0 8px 20px #00000014;--text-hero:clamp(1.7rem, 1.3rem + 1.8vw, 2.5rem);--space-section:clamp(1.5rem, 1.2rem + 1.5vw, 2.75rem);--duration-fast:.15s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--color-surface:#00050d;--color-card:#001026;--color-text:#fff;--color-muted:#cbd5e1;--color-border:#122544;--color-accent:#4dabff;--color-accent-soft:#0d2b4d;--color-on-accent:#00050d;--color-done:#3fbf72;--color-danger:#f33;--shadow-card:0 12px 25px #0009;--shadow-card-hover:0 16px 32px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--color-surface);color:var(--color-text);letter-spacing:.02em;font-family:Alan Sans Variable,ui-sans-serif,system-ui,sans-serif}h1{color:var(--color-text);font-family:Playfair Display,serif;font-weight:700}time,.pmtiles-command code,.map-pin-orario{font-variant-numeric:tabular-nums;font-family:DM Mono,monospace}.home,.trip{max-width:860px;padding:var(--space-section) 1.25rem 4rem;margin:0 auto}.home{max-width:1080px}.home h1,.trip-header h1{font-size:var(--text-hero);letter-spacing:-.02em;margin:0 0 1.5rem}.home-header{margin-bottom:var(--space-section);justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.home-header h1{margin:0}.home-tagline{color:var(--color-muted);margin:.35rem 0 0;font-size:.95rem}.theme-toggle{border:1px solid var(--color-border);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo), transform var(--duration-fast) var(--ease-out-expo);background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex}.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent)}.theme-toggle:active{transform:scale(.94)}.hero-card-wrap,.trip-card-wrap{position:relative}.hero-card{margin-bottom:var(--space-section);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-card);color:inherit;transition:transform var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo);flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.75rem 2rem;text-decoration:none;display:flex}.hero-card:hover,.hero-card:focus-visible{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.hero-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-size:.8rem}.hero-card-nome{color:var(--color-text);font-family:Playfair Display,serif;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);font-weight:700}.hero-card-date{color:var(--color-muted)}.hero-card-chip{background:var(--color-accent-soft);color:var(--color-accent);border-radius:999px;margin-top:.35rem;padding:.3rem .75rem;font-size:.85rem;font-weight:600}.home-empty{margin-bottom:var(--space-section);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-card);text-align:center;padding:2.5rem 1.5rem}.home-empty-title{color:var(--color-text);margin:0;font-family:Playfair Display,serif;font-size:1.4rem}.home-actions{margin:var(--space-section) 0 1.5rem;flex-wrap:wrap;gap:.75rem;display:flex}.btn-primary,.btn-secondary{font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:center;padding:.7rem 1.3rem;text-decoration:none}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);transition:opacity var(--duration-fast) var(--ease-out-expo);border:none}.btn-primary:hover,.btn-primary:focus-visible{opacity:.88}.btn-secondary{border:1px solid var(--color-border);color:var(--color-text);transition:background var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo);background:0 0}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent)}.trip-cards{margin:0 0 var(--space-section);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:0;list-style:none;display:grid}.trip-card{border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-card);color:inherit;transition:transform var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo);flex-direction:column;gap:.35rem;padding:1.25rem;text-decoration:none;display:flex}.trip-card:hover,.trip-card:focus-visible{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.trip-card strong{font-size:1.15rem}.trip-card-concluso{opacity:.6}.trip-card-badge{border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);align-self:flex-start;padding:.15rem .5rem;font-size:.75rem}.trip-card span,.trip-header p,.contatore,.prenotazioni-list .vuoto{color:var(--color-muted)}.trip-form{border-radius:var(--radius);background:var(--color-card);max-width:420px;box-shadow:var(--shadow-card);gap:.9rem;padding:1.5rem;display:grid}.trip-form label{color:var(--color-muted);gap:.3rem;font-size:.9rem;display:grid}.trip-form input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:.6rem .75rem}.trip-form input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.trip-form button,.tile button{font:inherit;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out-expo);border:none;justify-self:start;padding:.6rem 1.1rem}.trip-form button:disabled{opacity:.6;cursor:not-allowed}.import-link{color:var(--color-accent);margin-top:1.25rem;display:inline-block}[role=alert]{color:var(--color-danger);font-size:.9rem}.back-link{color:var(--color-muted);text-decoration:none}.trip-header p{margin:0 0 var(--space-section)}.tiles{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=640px){.tiles{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.tiles{grid-template-columns:repeat(3,1fr)}}.tile{border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-card);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.tile h2{margin:0;font-size:1.05rem}.giornate-list,.prenotazioni-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.giornate-list a{border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;text-decoration:none;display:flex}.giornate-list a:hover,.giornate-list a:focus-visible{background:var(--color-accent-soft)}.contatore{font-variant-numeric:tabular-nums}.prenotazioni-list li{border-radius:var(--radius-sm);background:var(--color-surface);flex-wrap:wrap;gap:.4rem .6rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.prenotazioni-list .attachments{flex-basis:100%}.prenotazioni-list strong{text-transform:capitalize}.day{max-width:720px;padding:var(--space-section) 1.25rem 4rem;margin:0 auto}.day-header h1{font-size:var(--text-hero);letter-spacing:-.02em;margin:1.5rem 0 var(--space-section)}.timeline{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.timeline li{border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-card);padding:.9rem 1.1rem}.timeline .stop label{cursor:pointer;grid-template-columns:auto auto 1fr;align-items:start;gap:.15rem .85rem;display:grid}.timeline .stop input[type=checkbox]{accent-color:var(--color-done);width:22px;height:22px;transition:opacity var(--duration-fast) var(--ease-out-expo);margin-top:.15rem}.timeline .stop time{color:var(--color-muted);padding-top:.2rem}.timeline .transfer{min-height:1.6rem;box-shadow:none;color:var(--color-muted);background:0 0;border-radius:0;align-items:center;gap:.5rem;padding:.1rem 1.1rem;font-size:.85rem;display:flex}.transfer-line{justify-content:center;align-self:stretch;width:22px;display:flex}.transfer-line:before{content:"";border-left:2px dashed var(--color-border);width:0}.transfer-emoji{font-size:1rem;line-height:1}.transfer-min{font-variant-numeric:tabular-nums}.stop-body{gap:.2rem;display:grid}.stop-body strong{transition:opacity var(--duration-fast) var(--ease-out-expo)}.stop-body .durata{color:var(--color-muted);font-size:.85rem}.stop-body em{color:var(--color-muted);font-size:.9rem;font-style:normal}.timeline .stop.done{opacity:.55}.timeline .stop.done .stop-body strong{text-decoration:line-through;-webkit-text-decoration-color:var(--color-done);text-decoration-color:var(--color-done)}.timeline .reservation{border-left:3px solid var(--color-accent);flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.timeline .reservation .attachments{flex-basis:100%}.timeline .reservation time{color:var(--color-muted)}.res-body{flex-wrap:wrap;gap:.5rem;display:flex}.stop-body,.res-body,.res-body span,.geo-list li{overflow-wrap:anywhere;min-width:0}.res-body strong{text-transform:capitalize}.timeline .vuoto{color:var(--color-muted);box-shadow:none;background:0 0;padding:0}.import{max-width:720px;padding:var(--space-section) 1.25rem 4rem;margin:0 auto}.import h1{font-size:var(--text-hero);letter-spacing:-.02em;margin:0 0 1.5rem}.import-form,.import-review{border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-card);gap:.9rem;padding:1.5rem;display:grid}.import-form label,.import-review label{color:var(--color-muted);gap:.3rem;font-size:.9rem;display:grid}.import-form .btn-secondary{justify-self:start}.import-form textarea{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);resize:vertical;padding:.75rem}.import-form textarea:focus-visible,.import-form input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.import-form button:not(.btn-secondary),.import-actions button{font:inherit;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out-expo);border:none;justify-self:start;padding:.6rem 1.1rem}.import-form button:disabled,.import-actions button:disabled{opacity:.6;cursor:not-allowed}.import-review h2{margin:0;font-size:1.1rem}.import-errori{border-radius:var(--radius-sm);background:var(--color-accent-soft);border-left:3px solid var(--color-danger);padding:.85rem 1rem}.import-errori h3{color:var(--color-danger);margin:0 0 .5rem;font-size:.9rem}.import-errori ul{gap:.3rem;margin:0;padding-left:1.2rem;font-size:.9rem;display:grid}.geo-progress{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:0}.geo-list{gap:.35rem;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.geo-list li{border-radius:var(--radius-sm);background:var(--color-surface);padding:.4rem .6rem;font-size:.9rem}.import-actions{gap:.75rem;display:flex}.import-actions button:last-child{color:var(--color-muted);border:1px solid var(--color-border);background:0 0}.view-toggle{border-radius:var(--radius-sm);background:var(--color-surface);gap:.25rem;margin-bottom:1rem;padding:.25rem;display:inline-flex}.view-toggle button{font:inherit;border-radius:calc(var(--radius-sm) - 4px);color:var(--color-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;padding:.4rem .9rem}.view-toggle button[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.day-map{gap:.75rem;display:grid;position:relative}.map-empty{color:var(--color-muted)}.pin-card{z-index:10;border-radius:var(--radius);background:var(--color-card);max-width:480px;box-shadow:var(--shadow-card-hover);gap:.35rem;margin:0 auto;padding:1rem 1.1rem;display:grid;position:fixed;bottom:1rem;left:1rem;right:1rem}.pin-card time{color:var(--color-muted)}.pin-card-actions{gap:.6rem;margin-top:.4rem;display:flex}.pin-card-actions button{font:inherit;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.5rem 1rem}.pin-card-actions button:first-child{background:var(--color-accent);color:var(--color-on-accent)}.pin-card-actions button:last-child{color:var(--color-muted);border:1px solid var(--color-border);background:0 0}.places-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.places-list li{border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.tile-map{gap:.5rem;display:grid}.tile-map .map-view{height:min(50vh,360px)}.map-status{color:var(--color-muted);justify-content:space-between;align-items:center;gap:.75rem;margin:0;display:flex}.map-status button{font:inherit;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;white-space:nowrap;border:none;padding:.5rem 1rem}.map-manager{max-width:720px;padding:var(--space-section) 1.25rem 4rem;gap:1.25rem;margin:0 auto;display:grid}.map-manager-header h1{font-size:var(--text-hero);letter-spacing:-.02em;margin:1.5rem 0 0}.map-manager-note{color:var(--color-muted);font-size:.85rem}.bbox-copy{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.bbox-copy code{border-radius:var(--radius-sm);background:var(--color-surface);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;padding:.5rem .75rem}.bbox-copy button{font:inherit;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:none;padding:.5rem 1rem}.pmtiles-command{border-radius:var(--radius-sm);background:var(--color-surface);padding:.85rem 1rem;overflow-x:auto}.pmtiles-command code{white-space:pre;font-size:.85rem}.map-view{border-radius:var(--radius);width:100%;height:min(70vh,560px);box-shadow:var(--shadow-card);overflow:hidden}.map-pin-wrapper{pointer-events:none;flex-direction:column;align-items:center;gap:.2rem;display:flex}.map-pin{border:2px solid var(--color-card);background:var(--color-accent);width:28px;height:28px;color:var(--color-on-accent);box-shadow:var(--shadow-card);cursor:pointer;pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.map-pin.done{background:var(--color-done)}.map-pin-orario{color:var(--color-text);background:var(--color-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);pointer-events:none;padding:.05rem .35rem;font-size:.7rem}.map-gps-dot{background:#0047ab;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:relative}.map-gps-dot:after{content:"";opacity:.35;animation:map-gps-pulse 2s var(--ease-out-expo) infinite;background:#0047ab;border-radius:50%;position:absolute;inset:-6px}@keyframes map-gps-pulse{0%{opacity:.35;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.attach-toggle{font:inherit;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);border:none;align-items:center;gap:.3rem;margin-top:.5rem;padding:.3rem .6rem;font-size:.85rem;display:inline-flex}.attach-toggle[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent)}.attachments{gap:.6rem;margin-top:.6rem;display:grid}.attachments-row{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.attachment-thumb{flex-direction:column;align-items:center;gap:.25rem;width:64px;display:flex;position:relative}.attachment-thumb-compact{width:44px}.attachment-thumb-open{border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;border:none;justify-content:center;align-items:center;width:64px;height:64px;padding:0;display:flex;overflow:hidden}.attachment-thumb-compact .attachment-thumb-open{width:44px;height:44px}.attachment-thumb-open img{object-fit:cover;width:100%;height:100%}.attachment-pdf-tile{font-size:1.5rem}.attachment-thumb-loading{background:var(--color-border);opacity:.4;width:100%;height:100%}.attachment-thumb-caption{color:var(--color-muted);text-align:center;overflow-wrap:anywhere;max-width:64px;font-size:.7rem}.attachment-thumb-delete{background:var(--color-danger);width:20px;height:20px;color:var(--color-on-accent);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.attachments-file-input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.attachments-add{border:1px dashed var(--color-border);border-radius:var(--radius-sm);width:64px;height:64px;color:var(--color-muted);cursor:pointer;background:0 0;font-size:1.3rem}.attachments-pending,.attachments-confirm{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.attachments-pending input[type=text]{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);flex:1;min-width:0;padding:.4rem .6rem}.attachments-pending button,.attachments-confirm button{font:inherit;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:none;padding:.4rem .8rem}.attachments-pending button:last-child,.attachments-confirm button:last-child{color:var(--color-muted);border:1px solid var(--color-border);background:0 0}.attachment-viewer{z-index:50;background:#000000d1;justify-content:center;align-items:center;padding:2.5rem 1.5rem 1.5rem;display:flex;position:fixed;inset:0}.attachment-viewer-content{justify-items:center;gap:.6rem;max-width:92vw;max-height:85vh;display:grid;position:relative}.attachment-viewer-content img{object-fit:contain;border-radius:var(--radius-sm);max-width:92vw;max-height:75vh}.attachment-viewer-content iframe{border-radius:var(--radius-sm);background:#fff;border:none;width:min(92vw,720px);height:min(75vh,800px)}.attachment-pdf-fallback{color:#fff;font-size:.9rem;text-decoration:underline}.attachment-viewer-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:36px;height:36px;font-size:1.3rem;line-height:1;position:absolute;top:-2.5rem;right:0}.attachment-viewer-caption{color:#fff;text-align:center;overflow-wrap:anywhere;max-width:92vw;margin:0;font-size:.9rem}.badge-ospite{vertical-align:middle;border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent);letter-spacing:.02em;align-items:center;margin-left:.6rem;padding:.2rem .6rem;font-family:Alan Sans Variable,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;font-weight:600;display:inline-flex}.icon-condiviso{vertical-align:middle;margin-left:.5rem;font-size:.9rem;display:inline-flex}.trip-card-menu{z-index:2;position:absolute;top:.85rem;right:.85rem}.trip-card-menu-toggle{border:1px solid var(--color-border);background:var(--color-card);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), border-color var(--duration-fast) var(--ease-out-expo);border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:flex}.trip-card-menu-toggle:hover,.trip-card-menu-toggle:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent)}.trip-card-menu-backdrop{z-index:3;position:fixed;inset:0}.trip-card-menu-panel{z-index:4;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-card);min-width:220px;box-shadow:var(--shadow-card-hover);gap:.4rem;padding:.6rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.trip-card-menu-panel button{font:inherit;text-align:left;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;padding:.5rem .6rem}.trip-card-menu-panel button:hover,.trip-card-menu-panel button:focus-visible{background:var(--color-accent-soft)}.trip-card-menu-panel button.danger{color:var(--color-danger)}.trip-card-menu-panel button.danger:hover,.trip-card-menu-panel button.danger:focus-visible{background:var(--color-danger);color:var(--color-on-accent)}.trip-card-menu-invite,.trip-card-menu-confirm{gap:.5rem;display:grid}.trip-card-menu-invite label{color:var(--color-muted);gap:.3rem;font-size:.85rem;display:grid}.trip-card-menu-invite input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:.5rem .6rem}.trip-card-menu-invite input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.trip-card-menu-success{color:var(--color-accent);margin:0;font-size:.85rem}.members-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.members-list li{border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.members-remove{color:var(--color-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out-expo), color var(--duration-fast) var(--ease-out-expo);background:0 0;border:none;padding:.2rem .5rem;font-size:1rem;line-height:1}.members-remove:hover,.members-remove:focus-visible{background:var(--color-accent-soft);color:var(--color-danger)}.members-confirm{align-items:center;gap:.4rem;font-size:.85rem;display:flex}.members-confirm button{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);color:var(--color-text);cursor:pointer;padding:.25rem .6rem}.members-invite{gap:.5rem;display:grid}.members-invite label{color:var(--color-muted);gap:.3rem;font-size:.85rem;display:grid}.members-invite input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:.55rem .7rem}.members-invite input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.members-invite button:disabled{opacity:.6;cursor:not-allowed}.login-page{justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-card{border-radius:var(--radius);background:var(--color-card);width:100%;max-width:380px;box-shadow:var(--shadow-card);gap:1.1rem;padding:2.25rem 2rem;display:grid}.login-brand{text-align:center;margin-bottom:.25rem}.login-brand h1{font-size:var(--text-hero);letter-spacing:-.02em;margin:0}.login-tagline{color:var(--color-muted);margin:.35rem 0 0;font-size:.9rem}.login-field{color:var(--color-muted);gap:.3rem;font-size:.9rem;display:grid}.login-field input{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:.65rem .8rem}.login-field input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.login-error{margin:0}.login-submit{font:inherit;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out-expo);border:none;padding:.75rem 1.1rem}.login-submit:hover,.login-submit:focus-visible{opacity:.88}.login-submit:disabled{opacity:.6;cursor:not-allowed}.home-header-actions{gap:8px;display:flex}.impostazioni{max-width:720px;padding:var(--space-section) 1.25rem 4rem;gap:1.25rem;margin:0 auto;display:grid}.impostazioni h1{font-size:var(--text-hero);letter-spacing:-.02em;margin:1.5rem 0 0}.impostazioni-email{color:var(--color-muted);margin:0}.impostazioni-nota{color:var(--color-muted);margin:0;font-size:.85rem}.password-form{flex-direction:column;gap:12px;max-width:340px;display:flex}
