:root{--bg:#fff9f5;--surface:#fff;--text:#201a17;--muted:#756a65;--brand:#f2512c;--brand2:#f2512c;--line:#eadfd9;--green:#1f9d68;--yellow:#be7b00;--red:#d74b49;--shadow:0 18px 60px rgba(72,38,24,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#fff9f5 0,#fff 50%);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:auto;padding:0 22px}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:19px}.brandmark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(242,81,44,.26)}nav{display:flex;align-items:center;gap:12px}.hello{color:var(--muted);font-size:14px}.inline{display:inline}.linkbtn{background:none;border:0;font:inherit;cursor:pointer}.shell{max-width:900px;margin:auto;padding:28px 20px 80px}.hero{padding:70px 0 40px;max-width:720px}.eyebrow{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand)}h1{font-size:clamp(38px,7vw,72px);line-height:.98;letter-spacing:-.045em;margin:12px 0 20px}h1 span{color:var(--brand)}h2{letter-spacing:-.025em}.hero p{font-size:20px;line-height:1.55;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{border:0;border-radius:16px;padding:13px 18px;font-weight:800;font-size:15px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn.primary{background:var(--brand);color:white;box-shadow:0 10px 24px rgba(242,81,44,.22)}.btn.ghost{background:#fff;border:1px solid var(--line)}.btn.big{padding:16px 22px;font-size:17px}.btn.full{width:100%}.btn.whatsapp{background:#1fc76a;color:#fff;margin-top:10px}.demo-card,.form-card,.panel,.share-card,.winner,.event-card,.empty,.center-card{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px}.demo-card{padding:28px;max-width:560px;transform:rotate(-1deg)}.swipe-pill,.tag,.status,.count-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#fff0ea;color:#b64231;font-size:11px;font-weight:900;letter-spacing:.05em}.mini-row,.result-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.mini-row.best{color:var(--green)}.venue-demo{margin-top:18px;padding:18px;background:#f5fff9;border-radius:18px;display:flex;flex-direction:column}.venue-demo span,.result-row span,.muted,.optional{color:var(--muted);font-size:14px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 0 28px}.page-head h1,.invite-head h1{font-size:clamp(36px,7vw,58px);margin:8px 0}.form-card{padding:28px}.narrow{max-width:500px;margin:40px auto}.form-card label,.confirm label{display:block;font-size:13px;font-weight:800;margin:16px 0 8px}.form-card input,.form-card select,.confirm select,.sharebox input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;font:inherit;outline:none}.form-card input:focus,.confirm select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,81,44,.10)}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice input,.vote input,.venue-choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:block;padding:12px 15px;border:1px solid var(--line);border-radius:14px;cursor:pointer}.choice input:checked+span{border-color:var(--brand);background:#fff0ea}.date-list,.venue-inputs{display:grid;gap:10px}.date-option{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.event-card{padding:20px;transition:.2s}.event-card:hover{transform:translateY(-2px)}.event-top{display:flex;justify-content:space-between}.event-card h3{font-size:22px;margin-bottom:28px}.event-meta,.event-code{color:var(--muted);font-size:13px}.event-code{margin-top:6px}.status.voting{background:#fff3da;color:#9a6200}.status.confirmed{background:#e7f9ef;color:#147c4f}.empty,.center-card{text-align:center;padding:52px 28px}.huge{font-size:52px}.share-card,.panel{padding:22px;margin:14px 0}.share-card>span{font-weight:850}.sharebox{display:flex;gap:8px;margin-top:10px}.sharebox input{min-width:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.result-row>div{display:flex;flex-direction:column}.counts{align-items:flex-end}.people{display:flex;flex-wrap:wrap;gap:8px}.people span{padding:8px 11px;background:#f8f4f1;border-radius:999px;font-size:13px}.winner{padding:22px;display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#f0fff7,#fff)}.invite-head{text-align:center;padding:30px 10px}.invite-head p{color:var(--muted)}.vote-date{padding:18px 0;border-bottom:1px solid var(--line)}.date-name{display:flex;justify-content:space-between;margin-bottom:10px}.date-name span{color:var(--muted)}.vote-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.vote span{display:block;text-align:center;padding:11px 6px;border:1px solid var(--line);border-radius:13px;font-size:13px;font-weight:800;cursor:pointer}.vote input:checked+span{box-shadow:inset 0 0 0 2px currentColor}.vote.yes input:checked+span{color:var(--green);background:#ebfff4}.vote.maybe input:checked+span{color:var(--yellow);background:#fff8e7}.vote.no input:checked+span{color:var(--red);background:#fff0f0}.venue-votes{display:grid;gap:9px}.venue-choice span{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid var(--line);border-radius:15px;cursor:pointer}.venue-choice span small{color:var(--muted)}.venue-choice input:checked+span{border-color:var(--brand);background:#fff3ef}.compact{box-shadow:none}.toast{background:#24201e;color:#fff;padding:13px 16px;border-radius:14px;margin-bottom:18px}.footer{text-align:center;color:var(--muted);padding:30px;font-size:13px}.sticky-save{margin-top:14px}@media(max-width:680px){.shell{padding:15px 14px 80px}.topbar{height:62px;padding:0 15px}.hello{display:none}.hero{padding-top:45px}.hero p{font-size:17px}.event-grid,.stats-grid{grid-template-columns:1fr}.date-option{grid-template-columns:1fr 1fr}.date-option input:first-child{grid-column:1/-1}.page-head{align-items:flex-end}.page-head h1{font-size:38px}.form-card,.panel,.share-card{padding:18px;border-radius:20px}.sharebox{flex-direction:column}.sticky-save{position:sticky;bottom:12px;z-index:5}.vote-buttons{grid-template-columns:1fr}.vote span{text-align:left}.demo-card{transform:none}}
.admin-link{font-weight:850;color:var(--brand)}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.warning{background:#fffaf0;border-color:#f2d59b}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.admin-table{width:100%;border-collapse:collapse;min-width:720px}.admin-table th,.admin-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.admin-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.venue-admin-name{display:flex;align-items:center;gap:12px}.venue-admin-name img,.venue-thumb{width:46px;height:46px;border-radius:13px;object-fit:cover;background:#fff3ef;display:grid;place-items:center}.venue-thumb.google{background:#eef3ff;color:#245cc0;font-weight:900}.venue-admin-name div:last-child{display:flex;flex-direction:column;gap:3px}.venue-admin-name small{color:var(--muted)}.source-badge{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px}.source-badge.manual{background:#fff0ea;color:#b64231}.source-badge.google{background:#eef3ff;color:#245cc0}.row-actions{white-space:nowrap}.row-actions>*{margin-right:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-grid .span2{grid-column:1/-1}.form-card textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;font:inherit;resize:vertical}.toggle-row{display:flex;gap:18px;margin:18px 0}.quick-searches{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 16px}.quick-searches button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;cursor:pointer}.google-results{display:grid;gap:8px;margin-bottom:16px}.google-result{display:flex;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer}.google-result:has(input:checked){border-color:var(--brand);background:#fff4ef}.google-result div{display:flex;flex-direction:column;gap:3px}.google-result span,.google-result small{color:var(--muted)}.catalog-venues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.catalog-venue input{position:absolute;opacity:0}.catalog-venue>span{border:1px solid var(--line);border-radius:16px;padding:10px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;cursor:pointer}.catalog-venue img,.catalog-venue i{width:54px;height:54px;border-radius:12px;grid-row:1/3;object-fit:cover;background:#fff3ef;display:grid;place-items:center;font-style:normal}.catalog-venue small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-venue input:checked+span{border-color:var(--brand);box-shadow:0 0 0 2px rgba(242,81,44,.08);background:#fff5f1}@media(max-width:680px){.admin-actions{width:100%}.admin-actions .btn{flex:1}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.catalog-venues{grid-template-columns:1fr}}

/* AperiSwipe v0.3 — venue swipe */
.swipe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.swipe-head h2{margin:4px 0 4px}.venue-choice-count{margin:2px 0 4px;color:var(--ink);font-size:15px;font-weight:800}.venue-choice-count strong{color:var(--brand);font-weight:950}.swipe-progress{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;color:var(--muted)}.venue-swipe-stage{position:relative;min-height:470px;margin:18px auto 12px;max-width:460px;touch-action:pan-y}.venue-swipe-card{position:absolute;inset:0;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 22px 70px rgba(45,27,19,.16);user-select:none;cursor:grab;transform-origin:50% 100%;transition:transform .25s ease,opacity .25s ease;will-change:transform}.venue-swipe-card:active{cursor:grabbing}.venue-swipe-card.is-hidden{display:none}.venue-swipe-card.throw-left{transform:translateX(-135%) rotate(-18deg)!important;opacity:0}.venue-swipe-card.throw-right{transform:translateX(135%) rotate(18deg)!important;opacity:0}.venue-swipe-photo{height:310px;position:relative;overflow:hidden;background:#f6eee9}.venue-swipe-photo img,.venue-photo-placeholder{width:100%;height:100%;object-fit:cover;display:block}.venue-photo-placeholder{display:grid;place-items:center;font-size:82px;background:linear-gradient(145deg,#fff0e7,#ffd6c8)}.venue-swipe-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(20,14,11,.45));pointer-events:none}.compatibility-badge{position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;color:var(--brand)}.swipe-stamp{position:absolute;top:28px;z-index:3;border:4px solid currentColor;border-radius:10px;padding:6px 10px;font-size:23px;font-weight:950;letter-spacing:.06em;opacity:0;transition:opacity .08s;transform:rotate(-10deg);background:rgba(255,255,255,.72)}.swipe-stamp.like{left:24px;color:var(--green)}.swipe-stamp.pass{right:24px;color:var(--red);transform:rotate(10deg)}.venue-swipe-card.drag-like .swipe-stamp.like,.venue-swipe-card.drag-pass .swipe-stamp.pass{opacity:1}.venue-swipe-content{padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:start}.venue-swipe-content h3{font-size:25px;line-height:1.05;margin:0 0 7px;letter-spacing:-.03em}.venue-swipe-content p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.venue-group-score{text-align:right;display:flex;flex-direction:column;gap:2px}.venue-group-score strong{font-size:16px;color:var(--brand)}.venue-group-score span,.venue-source{font-size:11px;color:var(--muted)}.venue-source{grid-column:1/-1}.venue-swipe-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:460px;margin:0 auto}.swipe-action{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px 18px;font:inherit;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 24px rgba(45,27,19,.06)}.swipe-action span{font-size:22px;line-height:1}.swipe-action.pass{color:var(--red)}.swipe-action.like{color:var(--green)}.swipe-action:hover{transform:translateY(-1px)}.swipe-help{text-align:center;color:var(--muted);font-size:12px;margin:9px 0 0}.swipe-complete{text-align:center;max-width:460px;margin:18px auto 4px;padding:28px 18px;border:1px dashed var(--line);border-radius:22px;background:#fffaf7}.swipe-complete-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#e9fff3;color:var(--green);font-size:25px;font-weight:950}.swipe-complete h3{margin:0 0 5px}.swipe-result-meta{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.compat-mini{display:inline-flex;border-radius:999px;padding:4px 7px;background:#fff0ea;color:#b64231;font-size:11px;font-weight:900}
@media(max-width:680px){.swipe-head{align-items:flex-start}.venue-swipe-stage{min-height:430px}.venue-swipe-photo{height:275px}.venue-swipe-content{padding:16px}.venue-swipe-content h3{font-size:22px}.venue-swipe-actions{position:relative;z-index:2}.swipe-action{padding:13px 10px}}
@media(prefers-reduced-motion:reduce){.venue-swipe-card{transition:none}.swipe-action:hover{transform:none}}


/* AperiSwipe v0.3.3 — official branding */
.topbar{border-bottom:1px solid rgba(234,223,217,.72)}
.brand{gap:9px;font-weight:900;letter-spacing:-.03em}
.brand-logo{width:42px;height:34px;display:block;object-fit:contain;flex:0 0 auto}
.brand-name{font-size:21px;line-height:1;color:var(--text)}
.brand-name span{color:var(--brand)}
.hero-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.hero-brand img{width:82px;height:auto;display:block}
.hero-wordmark{font-size:31px;font-weight:900;letter-spacing:-.045em;color:var(--text)}
.hero-wordmark span{color:var(--brand)}
.auth-card{position:relative;overflow:hidden}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.auth-brand img{width:62px;height:auto;display:block}
.auth-brand span{font-size:25px;font-weight:850;letter-spacing:-.04em;color:var(--text)}
.auth-brand strong{color:var(--brand);font-weight:900}
.auth-card h1{font-size:clamp(36px,6vw,50px);margin-top:8px}
.btn.primary{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.btn.primary:hover{background:#df4524;transform:translateY(-1px)}
.btn.primary:active{transform:translateY(0)}
@media(max-width:680px){.brand-logo{width:36px;height:29px}.brand-name{font-size:19px}.hero-brand{margin-bottom:20px}.hero-brand img{width:68px}.hero-wordmark{font-size:27px}.auth-brand img{width:54px}.auth-brand span{font-size:23px}}

/* AperiSwipe v0.4 — app experience, event management, friends and PWA install */
:root{--brand-soft:#fff0ea;--brand-soft-2:#fff7f3;--ink-soft:#413631;--blue:#5272ff;--nav-h:72px}
body{background:radial-gradient(circle at 15% 0,rgba(242,81,44,.10),transparent 28rem),linear-gradient(180deg,#fff9f5 0,#fff 46%);}
.shell{max-width:980px}.topbar{position:sticky;top:0;z-index:30;max-width:none;padding-left:max(22px,calc((100vw - 1080px)/2 + 22px));padding-right:max(22px,calc((100vw - 1080px)/2 + 22px));background:rgba(255,249,245,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.install-nav-btn{border:1px solid rgba(242,81,44,.22);background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:8px 12px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}
.btn.soft{background:var(--brand-soft);color:var(--brand);border:1px solid rgba(242,81,44,.12)}.btn.danger{background:#fff0f0;color:#b73535;border:1px solid #f2cccc}.text-link{color:var(--brand);font-weight:850;font-size:13px}
.hero-v4{position:relative;padding-top:62px}.hero-v4:after{content:"";position:absolute;z-index:-1;width:240px;height:240px;border-radius:50%;background:rgba(242,81,44,.07);filter:blur(4px);right:-80px;top:35px}.hero-cta-stack{max-width:500px;margin-top:30px;display:grid;gap:10px}.hero-main-cta{min-height:58px}.hero-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-proof{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:12px;font-weight:750}.demo-card-v4{margin-top:8px;max-width:590px;transform:rotate(-.35deg);box-shadow:0 26px 90px rgba(72,38,24,.13)}.demo-top{display:flex;justify-content:space-between;align-items:flex-start}.demo-top h2{font-size:29px;margin:10px 0 15px}.demo-avatar{width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 9px 24px rgba(242,81,44,.25)}.demo-people{display:flex;align-items:center;margin-top:18px}.demo-people span,.demo-people b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.08);margin-left:-6px;font-size:12px}.demo-people span:first-child{margin-left:0}.demo-people b{background:var(--brand-soft);color:var(--brand)}
.dashboard-hero-v4{position:relative;display:grid;grid-template-columns:1fr auto;gap:18px;padding:34px;border-radius:30px;background:linear-gradient(135deg,#241b18 0,#3b2922 65%,#f2512c 160%);color:#fff;box-shadow:0 25px 70px rgba(45,27,19,.20);overflow:hidden;margin-bottom:30px}.dashboard-hero-v4:after{content:"🍹";position:absolute;right:18%;bottom:-35px;font-size:125px;opacity:.08;transform:rotate(-12deg)}.dashboard-hero-v4 .eyebrow{color:#ffb39f}.dashboard-hero-v4 h1{font-size:clamp(40px,6vw,62px);margin:8px 0 12px}.dashboard-hero-v4 p{color:#e8dcd7;margin:0;max-width:580px}.dashboard-hero-v4>.btn{align-self:center;z-index:1}.dashboard-kpis{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.dashboard-kpis span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:9px 12px;font-size:12px}.dashboard-kpis b{font-size:16px;margin-right:3px}.dashboard-section{margin:34px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-head h2{margin:4px 0;font-size:27px}.section-count{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:900;font-size:12px}.invite-inbox{margin:26px 0}.horizontal-events{display:flex;gap:12px;overflow:auto;padding:2px 2px 8px}.mini-event{min-width:260px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;display:flex;gap:12px;box-shadow:0 10px 30px rgba(72,38,24,.07)}.mini-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--brand-soft);font-size:23px}.mini-event div{display:flex;flex-direction:column;gap:2px}.mini-event small{color:var(--muted)}.mini-event span:last-child{color:var(--brand);font-size:12px;font-weight:850;margin-top:4px}.rich-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-event{position:relative;overflow:hidden;min-height:260px;padding:22px}.event-card-accent{height:5px;background:linear-gradient(90deg,var(--brand),#ff9b65);position:absolute;top:0;left:0;right:0}.rich-event h3{font-size:27px;margin:24px 0 22px}.event-date-big{display:flex;align-items:center;gap:10px}.event-date-big>b{font-size:47px;line-height:1;letter-spacing:-.05em}.event-date-big>span{font-size:13px;font-weight:900;color:var(--brand);display:flex;flex-direction:column}.event-date-big small{color:var(--muted);font-size:12px;margin-top:3px}.event-footer{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-top:23px;padding-top:15px;border-top:1px solid var(--line)}.event-list-clean{display:grid;gap:9px}.event-row-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(72,38,24,.045)}.event-row-emoji{width:44px;height:44px;border-radius:14px;background:var(--brand-soft);display:grid;place-items:center;font-size:22px}.event-row-main{display:flex;flex-direction:column}.event-row-main small{color:var(--muted);margin-top:3px}.row-arrow{font-size:29px;color:#b9aaa2}.history-list{display:grid;gap:12px}.history-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px;box-shadow:0 9px 30px rgba(72,38,24,.05)}.history-date{width:58px;height:66px;border-radius:17px;background:var(--brand-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brand)}.history-date b{font-size:24px;line-height:1}.history-date span{font-size:10px;font-weight:900;margin-top:4px}.history-main{display:flex;flex-direction:column;gap:3px}.history-main>small{color:var(--muted)}.history-attendees{margin-top:10px}.history-attendees>strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.history-attendees em{display:block;color:var(--muted);font-size:12px;margin-top:5px}.attendee-chip-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.attendee-chip-list span{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#f8f4f1;padding:5px 8px 5px 5px;font-size:11px}.attendee-chip-list i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--brand);font-size:9px;font-style:normal;font-weight:900}
.manage-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:-14px;margin-bottom:14px}.share-card-v4{background:linear-gradient(145deg,#fff,#fff8f4)}.share-card-title{display:flex;gap:11px;align-items:center}.share-card-title>div{display:flex;flex-direction:column}.share-card-title small{color:var(--muted);margin-top:2px}.share-icon{width:38px;height:38px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-size:19px;font-weight:900}.direct-invite-panel{border-color:#f1d7cc}.compact-picker{margin-bottom:14px}.result-panel{box-shadow:0 10px 35px rgba(72,38,24,.05)}.winner-v4{border-color:#ccebdc;box-shadow:0 12px 42px rgba(31,157,104,.09)}
.vote-transparency{margin-top:18px}.organizer-strip{display:flex;gap:11px;align-items:center;padding:12px;border-radius:16px;background:var(--brand-soft-2);border:1px solid #f5ded5;margin-bottom:12px}.organizer-strip>div{display:flex;flex-direction:column}.organizer-strip small{color:var(--muted)}.friend-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:900;flex:0 0 auto}.friend-avatar.large{width:48px;height:48px}.vote-person-list{display:grid;gap:10px}.vote-person-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.vote-person-card header{display:flex;gap:10px;align-items:center}.vote-person-card header>div{display:flex;flex-direction:column;min-width:0}.vote-person-card header small{color:var(--muted)}.participant-state{margin-left:auto;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;background:#f4f1ef;color:var(--muted)}.participant-state.going{background:#e7f9ef;color:#147c4f}.participant-state.not_going{background:#fff0f0;color:#a83c3c}.person-votes{display:grid;gap:11px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.person-votes strong{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.vote-chip-wrap{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.vote-chip{font-size:11px;font-weight:780;padding:6px 8px;border-radius:999px;background:#f5f2f0}.vote-chip.yes,.vote-chip.like{background:#eaf9f1;color:#17794f}.vote-chip.maybe{background:#fff7df;color:#956400}.vote-chip.no,.vote-chip.pass{background:#fff0f0;color:#a83b3b}.vote-chip.empty{color:#938781}.confirm-v4{border:1px solid #f2cfc2;background:linear-gradient(145deg,#fff,#fff6f1)}
.attendance-panel{border-color:#dceadf}.attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.attendance-list label{display:flex;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:15px;cursor:pointer;background:#fff}.attendance-list input{accent-color:var(--brand)}.attendance-list label>div{display:flex;flex-direction:column}.attendance-list small{color:var(--muted)}.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border-radius:19px;border:1px solid #f0cece;background:#fff8f8;margin:20px 0}.danger-zone p{margin:4px 0 0;color:#8a6c6c;font-size:13px}.cancelled-card{display:flex;gap:17px;align-items:center;padding:24px;border-radius:24px;background:#fff1f1;border:1px solid #f1caca;margin:16px 0}.cancelled-card>span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#b83f3f;font-size:27px;font-weight:900}.cancelled-card h2{margin:3px 0}.cancelled-card p{margin:0;color:#8f6767}.public-cancelled{max-width:650px;margin:20px auto 60px}
.invite-head-v4{padding-top:38px}.organizer-attendance-pill{display:inline-flex;margin-top:5px;background:#f7f2ef;border:1px solid var(--line);padding:7px 10px;border-radius:999px;color:var(--muted);font-size:11px;font-weight:800}.join-card{box-shadow:0 20px 65px rgba(72,38,24,.10)}.auth-mini-profile{display:flex;gap:11px;align-items:center;padding:10px 0}.auth-mini-profile>div{display:flex;flex-direction:column}.auth-mini-profile small{color:var(--muted)}.guest-account-hint{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted)}.guest-account-hint a{color:var(--brand);font-weight:850}.vote-panel-v4{box-shadow:0 15px 45px rgba(72,38,24,.06)}.rsvp-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px}.rsvp-card h2{margin:4px 0}.rsvp-actions{display:flex;gap:8px}.rsvp-yes{background:#e8f9ef;color:#15764d}.rsvp-no{background:#fff0f0;color:#a43c3c}.rsvp-actions .selected{box-shadow:inset 0 0 0 2px currentColor}.group-votes-details{padding:0;overflow:hidden}.group-votes-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer}.group-votes-details summary::-webkit-details-marker{display:none}.group-votes-details summary span{display:flex;flex-direction:column}.group-votes-details summary small{color:var(--muted);margin-top:2px}.group-votes-details summary i{font-size:22px;font-style:normal;color:var(--brand)}.group-votes-details[open] summary i{transform:rotate(45deg)}.group-vote-content{border-top:1px solid var(--line);padding:14px 18px 18px}.public-vote-person{padding:12px 0;border-bottom:1px solid var(--line)}.public-vote-person:last-child{border-bottom:0}.public-vote-person header{display:flex;gap:9px;align-items:center}.venue-public-votes{margin-top:7px}.group-preview{margin-top:20px}
.friend-search-card{background:linear-gradient(145deg,#fff,#fff8f4);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 32px rgba(72,38,24,.06)}.friend-search-card label{font-size:12px;font-weight:850}.search-row{display:flex;gap:8px;margin-top:7px}.search-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:14px;padding:13px;font:inherit}.friend-list{display:grid;gap:8px}.friend-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:#fff;border-radius:17px;padding:11px}.friend-row>div{display:flex;flex-direction:column;min-width:0;flex:1}.friend-row small{color:var(--muted)}.friend-state{font-size:11px;font-weight:850;color:var(--muted)}.friend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.friend-tile{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid var(--line);border-radius:20px;background:#fff;padding:18px;box-shadow:0 8px 26px rgba(72,38,24,.04)}.friend-tile small{color:var(--muted);font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.friend-picker{display:flex;gap:8px;flex-wrap:wrap}.friend-picker label{position:relative;border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 10px 6px 6px;display:flex;align-items:center;gap:6px;cursor:pointer;margin:0}.friend-picker input{position:absolute;opacity:0}.friend-picker label:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.friend-picker label.already{opacity:.72;cursor:default}.friend-picker small{color:var(--muted);font-size:9px}.avatar-mini{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-size:10px;font-weight:900}.soft-empty{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;background:#faf7f5;border:1px dashed var(--line)}.soft-empty>span{font-size:25px}.soft-empty>div{display:flex;flex-direction:column;flex:1}.soft-empty small{color:var(--muted)}.soft-empty>a{color:var(--brand);font-size:12px;font-weight:850}.soft-empty.large{padding:22px}.event-editor{padding:0;overflow:hidden}.editor-block{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:24px;border-bottom:1px solid var(--line)}.editor-block:last-of-type{border-bottom:0}.editor-step{width:36px;height:36px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-weight:900}.editor-body h2{margin:4px 0 14px}.editor-submit{border-radius:0}.attendance-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px}.attendance-choice input{position:absolute;opacity:0}.attendance-choice span{height:100%;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer}.attendance-choice small{color:var(--muted)}.attendance-choice input:checked+span{border-color:var(--brand);background:var(--brand-soft)}.page-sub{color:var(--muted);margin:0;max-width:620px}.mini-heading{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-top:20px}
.install-sheet[hidden]{display:none}.install-sheet{position:fixed;z-index:100;inset:0;display:grid;align-items:end}.install-sheet-backdrop{position:absolute;inset:0;background:rgba(23,17,14,.45);backdrop-filter:blur(4px)}.install-sheet-card{position:relative;background:#fff;border-radius:28px 28px 0 0;padding:28px 24px calc(24px + env(safe-area-inset-bottom));max-width:520px;width:100%;margin:0 auto;box-shadow:0 -20px 70px rgba(0,0,0,.18);text-align:center}.install-sheet-card img{border-radius:18px}.install-sheet-card h2{margin:12px 0 5px}.install-sheet-card p{color:var(--muted)}.install-close{position:absolute;right:16px;top:14px;border:0;background:#f5f1ef;width:34px;height:34px;border-radius:50%;font-size:21px;cursor:pointer}.ios-install-help{display:grid;gap:8px;text-align:left;background:#faf7f5;border-radius:16px;padding:14px;margin:14px 0}.ios-install-help span{color:var(--muted);font-size:13px}
.mobile-app-nav{display:none}
@media(max-width:720px){
  body{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.shell{padding-bottom:34px}.footer{padding-bottom:20px}
  .topbar{padding-left:14px;padding-right:14px}.topbar nav{gap:8px}.admin-link{display:none}
  .hero-v4{padding-top:35px}.hero-v4 h1{font-size:44px}.hero-secondary-actions{grid-template-columns:1fr}.hero-proof{gap:7px;flex-direction:column}.demo-card-v4{margin-top:2px}
  .dashboard-hero-v4{grid-template-columns:1fr;padding:24px}.dashboard-hero-v4>.btn{width:100%}.dashboard-hero-v4:after{right:-15px}.dashboard-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dashboard-kpis span{text-align:center;padding:8px 4px}.dashboard-kpis b{display:block}
  .rich-grid{grid-template-columns:1fr}.event-row-card{grid-template-columns:auto 1fr auto}.event-row-card .status{display:none}.history-card{grid-template-columns:auto 1fr}.history-card>.row-arrow{display:none}.history-attendees{max-width:100%}.attendee-chip-list{max-width:100%}
  .manage-head{display:block}.manage-head>.status{margin-top:8px}.stats-grid{grid-template-columns:1fr}.attendance-list{grid-template-columns:1fr}.danger-zone{align-items:flex-start;flex-direction:column}.danger-zone form,.danger-zone .btn{width:100%}
  .rsvp-card{grid-template-columns:1fr}.rsvp-actions{display:grid;grid-template-columns:1fr 1fr}.vote-person-card header{align-items:flex-start}.participant-state{font-size:9px}
  .friend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-row{flex-direction:column}.attendance-choice{grid-template-columns:1fr}.editor-block{grid-template-columns:32px 1fr;padding:18px 15px;gap:10px}.editor-step{width:30px;height:30px;border-radius:10px}.form-card.event-editor{padding:0}
  .mobile-app-nav{position:fixed;z-index:50;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:64px;border-radius:22px;background:rgba(35,27,24,.94);backdrop-filter:blur(16px);display:grid;grid-template-columns:1fr 1fr 62px 1fr 1fr;align-items:center;padding:5px 8px;box-shadow:0 15px 45px rgba(26,17,13,.30)}.mobile-nav-item{color:#d8cbc5;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;font-size:16px}.mobile-nav-item b{font-size:9px;font-weight:750}.mobile-nav-create{width:54px;height:54px;border-radius:18px;background:var(--brand);color:#fff;display:grid;place-items:center;margin:-20px auto 0;box-shadow:0 10px 26px rgba(242,81,44,.40);border:4px solid #2b211e}.mobile-nav-create span{font-size:31px;font-weight:300;line-height:1}
}
@media(max-width:430px){.friend-grid{grid-template-columns:1fr}.hero-v4 h1{font-size:40px}.invite-head-v4 h1{font-size:42px}.dashboard-kpis span{font-size:10px}.rich-event h3{font-size:24px}}
.desktop-app-link{font-size:13px;font-weight:800;color:var(--muted)}.desktop-app-link:hover{color:var(--text)}.desktop-organize-link{font-size:12px;font-weight:900;background:var(--brand-soft);color:var(--brand);padding:8px 11px;border-radius:999px}@media(max-width:720px){.desktop-app-link,.desktop-organize-link{display:none}}

/* v0.4.1 — profilo, notifiche, date dinamiche, città locali */
.password-field{position:relative}.password-field input{padding-right:50px}.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:#f7f2ef;border-radius:11px;cursor:pointer;font-size:16px}.auth-helper-row{display:flex;justify-content:flex-end;margin:-2px 0 14px}.auth-helper-row a{font-size:12px;font-weight:800;color:var(--brand)}
.profile-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.profile-summary{display:flex;align-items:center;gap:16px;height:max-content}.profile-summary h2{margin:0 0 4px}.profile-summary p{margin:0 0 10px;color:var(--muted)}.profile-avatar{width:70px;height:70px;border-radius:24px;background:var(--brand-soft,#fff0ea);color:var(--brand);display:grid;place-items:center;font-size:28px;font-weight:900}.profile-password-card{margin:0}
.notification-link{position:relative;width:36px;height:36px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:16px}.notification-link span{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--brand);color:#fff;font-size:9px;font-weight:900;display:grid;place-items:center}.notification-list{display:grid;gap:8px}.notification-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 14px}.notification-row.is-unread{background:#fff6f1;border-color:#f5c7b8}.notification-icon{width:42px;height:42px;border-radius:14px;background:var(--brand-soft,#fff0ea);display:grid;place-items:center;font-size:20px}.notification-row>div{display:flex;flex-direction:column;gap:3px}.notification-row small,.notification-row time{color:var(--muted);font-size:11px}.user-mode-link{font-size:12px;font-weight:900;color:var(--brand);background:var(--brand-soft,#fff0ea);padding:9px 12px;border-radius:999px}
.editor-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-title-row h2{margin:4px 0 14px}.mini-add-btn{border:1px solid var(--line);background:#fff;color:var(--brand);font-weight:850;border-radius:12px;padding:8px 10px;cursor:pointer}.date-option{grid-template-columns:1.4fr 1fr 1fr auto;align-items:center}.date-remove{width:36px;height:36px;border:0;border-radius:11px;background:#fff0f0;color:#ad3e3e;font-size:20px;cursor:pointer}.catalog-loading,.catalog-empty{padding:14px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:13px}.catalog-venues.is-loading{opacity:.5;pointer-events:none}
@media(max-width:720px){.profile-grid{grid-template-columns:1fr}.notification-link{width:34px;height:34px}.user-mode-link{font-size:11px}.date-option{grid-template-columns:1fr 1fr auto}.date-option input[type="date"]{grid-column:1/-1}.date-option input[type="time"]{grid-column:auto}.date-remove{grid-column:3;grid-row:2}.editor-title-row{align-items:flex-start}.mini-add-btn{white-space:nowrap}.topbar .notification-link{display:grid}}

/* AperiSwipe v0.4.2 — liste amici, foto profilo, header notifications */
.friend-avatar.has-photo,.avatar-mini.has-photo,.profile-avatar.has-photo,.header-user-avatar.has-photo{overflow:hidden;background:#f2ece8;color:transparent}
.friend-avatar.has-photo img,.avatar-mini.has-photo img,.profile-avatar.has-photo img,.header-user-avatar.has-photo img{width:100%;height:100%;object-fit:cover;display:block}
.friend-remove-btn{margin-top:10px;background:#fff5f3;color:#b83f32;border:1px solid #f4d2cb;padding:8px 11px;font-size:11px;border-radius:12px;box-shadow:none}
.friend-remove-btn:hover{background:#ffebe7}
.friend-list-create{display:flex;gap:9px;margin:18px 0}.friend-list-create input{flex:1;min-width:0;border:1px solid var(--line);border-radius:15px;padding:13px 14px;font:inherit;background:#fff}.friend-list-create input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,81,44,.1)}
.friend-list-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.friend-group-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px;box-shadow:0 10px 30px rgba(72,38,24,.05)}.friend-group-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:13px}.friend-group-card h3{margin:0;font-size:20px;letter-spacing:-.02em}.friend-group-card header small{color:var(--muted)}.group-title-row{display:flex;align-items:center;gap:8px}.icon-danger-btn{width:30px;height:30px;border-radius:10px;border:1px solid #f0d3cd;background:#fff7f5;color:#bd4636;font-size:20px;line-height:1;cursor:pointer}.group-member-picker{display:grid;gap:6px;max-height:260px;overflow:auto;padding-right:2px}.group-member-picker label{position:relative;margin:0;cursor:pointer}.group-member-picker input{position:absolute;opacity:0}.group-member-picker label>span{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:7px 9px;background:#fff}.group-member-picker input:checked+span{border-color:var(--brand);background:var(--brand-soft,#fff0ea)}.group-save-btn{margin-top:10px;width:100%}
.friend-list-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 16px}.friend-list-picker label{position:relative;margin:0;cursor:pointer}.friend-list-picker input{position:absolute;opacity:0}.friend-list-picker label>span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.friend-list-picker label>span small{color:var(--muted);font-size:11px}.friend-list-picker input:checked+span{border-color:var(--brand);background:var(--brand-soft,#fff0ea);box-shadow:inset 0 0 0 1px var(--brand)}.compact-list-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-summary-v42{position:relative}.profile-avatar-wrap{position:relative;flex:0 0 auto}.profile-avatar.has-photo{border-radius:24px}.profile-photo-badge{position:absolute;right:-5px;bottom:-5px;width:25px;height:25px;border-radius:9px;display:grid;place-items:center;background:var(--brand);color:#fff;border:3px solid #fff;font-weight:900;line-height:1}.profile-photo-card{margin:0}.avatar-upload-drop{display:flex!important;align-items:center!important;gap:10px!important;border:1px dashed #d9c7bf;border-radius:18px;padding:14px!important;background:#fffaf7;cursor:pointer;margin:12px 0!important}.avatar-upload-drop input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.avatar-upload-drop .avatar-upload-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--brand-soft,#fff0ea);color:var(--brand);font-size:22px}.avatar-upload-drop b{font-size:13px}.avatar-upload-drop small{margin-left:auto;color:var(--muted);font-size:10px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-avatar-remove{display:block;margin:10px auto 0;color:#b64537;font-size:12px}
.password-field button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-field button.is-visible{color:var(--brand)}
.header-user{display:flex;align-items:center;gap:7px}.header-user-avatar{width:30px;height:30px;border-radius:10px;background:var(--brand-soft,#fff0ea);color:var(--brand);display:grid;place-items:center;font-size:11px;font-weight:900;overflow:hidden}.header-user-avatar img{width:100%;height:100%;object-fit:cover}.header-logout .linkbtn{font-size:12px;color:var(--muted)}
.notification-link{order:99;flex:0 0 auto}.notification-link svg{width:19px;height:19px;fill:none;stroke:#302824;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}.notification-link:hover svg{stroke:var(--brand)}
@media(max-width:720px){.friend-list-groups{grid-template-columns:1fr}.friend-list-picker,.compact-list-picker{grid-template-columns:1fr 1fr}.friend-list-create{flex-direction:column}.header-logout{display:none}.header-user .hello{display:none}.header-user-avatar{width:32px;height:32px}.topbar nav{margin-left:auto}.profile-grid{grid-template-columns:1fr}.avatar-upload-drop small{max-width:38%}}
@media(max-width:430px){.friend-list-picker,.compact-list-picker{grid-template-columns:1fr}}

/* v0.4.3 — prossimi aperitivi: confermati + non confermati */
.status.pending{background:#fff4df;color:#9b6100;border:1px solid #f3d59c}.rich-event.is-pending .event-card-accent{background:linear-gradient(90deg,#f2a43a,#ffd183)}.pending-hint{display:inline-flex;align-items:center;gap:6px;margin-top:13px;padding:7px 10px;border-radius:999px;background:#fff8eb;color:#8b5b12;font-size:11px;font-weight:850}.rich-event.is-pending .event-date-big>b{color:#8b5b12}

/* AperiSwipe v0.4.4 — deadline, ricerca amici, profilo, installazione e auth compatta */
.response-deadline-field{margin-top:18px;padding:15px 16px;border:1px solid #eadfd9;border-radius:17px;background:#fffaf7}.response-deadline-field label{margin:0!important}.response-deadline-field input{margin-top:7px}.response-deadline-field>small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:8px}.response-deadline-field .optional{font-weight:650;text-transform:none;letter-spacing:0;margin-left:4px}
.invite-meta-pills{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.invite-meta-pills .organizer-attendance-pill{margin-top:5px}.deadline-pill{display:inline-flex;margin-top:5px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:850;border:1px solid}.deadline-pill.is-open{background:#fff8e7;border-color:#f2d59b;color:#8b5b12}.deadline-pill.is-closed{background:#f2efed;border-color:#ded5d1;color:#625650}
.deadline-status-card{display:flex;align-items:center;gap:13px;padding:15px 17px;border-radius:19px;margin:14px 0;border:1px solid}.deadline-status-card>div{display:flex;flex-direction:column;gap:2px}.deadline-status-card span{font-size:13px;font-weight:800}.deadline-status-card small{color:var(--muted);font-size:11px}.deadline-status-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;flex:0 0 auto}.deadline-status-card.is-open{background:#fffaf0;border-color:#f1d9a7}.deadline-status-card.is-open .deadline-status-icon{background:#fff0c9}.deadline-status-card.is-closed{background:#f6f3f1;border-color:#ddd4cf}.deadline-status-card.is-closed .deadline-status-icon{background:#e9e3df}.status.closed{background:#efebe8;color:#675a54;border:1px solid #ddd4cf}.participant-state.closed{background:#eee9e6;color:#625650}.response-closed-card{display:flex;align-items:flex-start;gap:15px;background:linear-gradient(145deg,#f8f5f3,#fff);border-color:#ded5d1}.response-closed-card h2{margin:3px 0 7px}.response-closed-card p{margin:0 0 5px;color:var(--muted)}.response-closed-card small{color:#7a6d67}.closed-lock{width:44px;height:44px;border-radius:14px;background:#eee8e4;display:grid;place-items:center;flex:0 0 auto}.closed-lock svg{width:22px;height:22px;fill:none;stroke:#625650;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.public-person-title{display:flex!important;align-items:center!important;flex-direction:row!important;gap:8px!important}.public-person-title .participant-state{margin-left:0}
.friend-search-card-v44{padding:20px}.friend-search-input{flex:1;min-width:0;position:relative}.friend-search-input svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:#8b7c75;stroke-width:1.8;stroke-linecap:round}.search-row .friend-search-input input{width:100%;padding-left:41px}.friend-search-hint{display:block;margin-top:8px;color:var(--muted);font-size:11px}.email-invite-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;background:#fff8f4;border:1px solid #f3d2c7;border-radius:19px;padding:14px}.email-invite-card>div{display:flex;flex-direction:column;gap:2px}.email-invite-card small{color:var(--muted)}.email-invite-icon{width:42px;height:42px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.email-invite-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.profile-summary-v44{position:relative;align-items:center}.profile-avatar-xl{width:92px;height:92px;border-radius:28px;font-size:34px;flex:0 0 auto}.profile-photo-jump{display:inline-flex;margin-top:4px;color:var(--brand);font-size:12px;font-weight:900}.profile-photo-card-v44{margin:0}.avatar-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none}.avatar-primary-action{display:flex!important;align-items:center!important;gap:13px!important;border:1.5px dashed #d9bdb3!important;border-radius:19px!important;padding:16px!important;background:#fff8f4!important;cursor:pointer;margin:14px 0 10px!important}.avatar-primary-action:hover{border-color:var(--brand)!important;background:#fff3ee!important}.avatar-action-icon{width:48px;height:48px;border-radius:15px;background:var(--brand);color:#fff;display:grid;place-items:center;flex:0 0 auto}.avatar-action-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.avatar-primary-action>span:last-child{display:flex;flex-direction:column;gap:3px}.avatar-primary-action small{color:var(--muted);font-size:11px}.avatar-save-btn{margin-top:6px}.profile-avatar-remove{border:0;background:none;cursor:pointer}.profile-password-card{grid-column:2}.profile-photo-card-v44{grid-column:2}.profile-summary-v44{grid-row:1/3}
.install-nav-auth{order:70}.desktop-install-help{display:grid;gap:8px;text-align:left;background:#faf7f5;border-radius:16px;padding:14px;margin:14px 0}.desktop-install-help span{color:var(--muted);font-size:13px}
.auth-card-v44{overflow:visible}.auth-card-v44 h1{margin-bottom:10px}.auth-card-v44>p{margin-top:0}.auth-login-form .password-label{margin-bottom:0}.auth-helper-tight{margin:4px 0 12px!important}.auth-helper-tight a{line-height:1.2}.invite-registration-note{display:flex;gap:10px;align-items:center;padding:12px;border-radius:16px;background:#fff4ef;border:1px solid #f1d2c6;margin-bottom:15px}.invite-registration-note>span{font-size:24px}.invite-registration-note>div{display:flex;flex-direction:column}.invite-registration-note small{color:var(--muted);font-size:11px}
.rich-event.is-pending .pending-hint.is-closed{background:#f2eeeb;color:#665952}.pending-hint.is-closed:before{content:"🔒"}
@media(max-width:720px){.email-invite-card{grid-template-columns:auto 1fr}.email-invite-card form{grid-column:1/-1}.email-invite-card .btn{width:100%}.profile-summary-v44{grid-row:auto}.profile-photo-card-v44,.profile-password-card{grid-column:auto}.profile-avatar-xl{width:82px;height:82px}.install-nav-auth{padding:7px 9px;font-size:11px}.response-closed-card{align-items:flex-start}.friend-search-card-v44 .search-row{flex-direction:column}.friend-search-card-v44 .search-row>.btn{width:100%}}


/* AperiSwipe v0.4.5 — mobile/PWA viewport hardening */
html,body{width:100%;max-width:100%;overflow-x:hidden}body{position:relative}img,svg,video,canvas{max-width:100%}input,select,textarea,button{max-width:100%}.topbar,.shell,.footer{width:100%;max-width:100%}.shell>*{min-width:0;max-width:100%}.event-grid>* ,.stats-grid>* ,.profile-grid>* ,.friend-grid>* ,.history-card>* ,.event-row-card>* ,.winner>* ,.dashboard-hero-v4>*{min-width:0}.event-card,.panel,.share-card,.form-card,.winner,.history-card,.soft-empty,.invite-head,.dashboard-section{max-width:100%}.event-footer,.event-top,.section-head,.page-head{min-width:0}.event-footer>* ,.event-top>* ,.section-head>* ,.page-head>*{min-width:0}.rich-event h3,.history-main,.event-row-main{overflow-wrap:anywhere}.sharebox,.sharebox input{min-width:0;max-width:100%}
@media(max-width:720px){
  :root{--mobile-nav-base:70px}
  html,body{overflow-x:hidden;overscroll-behavior-x:none}
  body{padding-bottom:calc(var(--mobile-nav-base) + env(safe-area-inset-bottom) + 8px)}
  .shell{padding-left:14px;padding-right:14px;padding-bottom:24px;overflow:visible}
  .topbar{width:100%;max-width:100vw;min-width:0;padding-left:12px;padding-right:12px;gap:8px;overflow:hidden}
  .topbar .brand{min-width:0;flex:0 1 auto;gap:6px}
  .topbar .brand-logo{flex:0 0 auto}
  .topbar .brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px}
  .topbar nav{min-width:0;flex:0 0 auto;gap:6px}
  .install-nav-auth{padding:7px 9px;font-size:11px;white-space:nowrap}
  .header-user{display:none}
  .notification-link{flex:0 0 34px}
  .dashboard-hero-v4,.event-card,.panel,.form-card,.share-card,.winner,.history-card,.soft-empty{width:100%;max-width:100%}
  .dashboard-hero-v4{overflow:hidden}
  .rich-grid{grid-template-columns:minmax(0,1fr)}
  .event-footer{flex-wrap:wrap}
  .history-card{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}
  .horizontal-events{max-width:100%;overscroll-behavior-x:contain}
  .mobile-app-nav{left:0;right:0;bottom:0;width:100%;max-width:100vw;height:calc(var(--mobile-nav-base) + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;padding:6px 12px max(8px,env(safe-area-inset-bottom));box-shadow:0 -10px 38px rgba(26,17,13,.26);grid-template-columns:1fr 1fr 64px 1fr 1fr;overflow:visible;transform:translateZ(0)}
  .mobile-nav-create{margin:-18px auto 0}
  .footer{display:none}
  .app-list-head{align-items:flex-start;flex-direction:column}.app-list-head .btn{width:100%}
}
@media(max-width:390px){.topbar .brand-name{display:none}.topbar .brand-logo{width:40px;height:32px}.install-nav-auth{padding:7px 8px}.mobile-app-nav{padding-left:7px;padding-right:7px}.mobile-nav-item b{font-size:8.5px}}
@media(display-mode:standalone) and (max-width:720px){
  .topbar{padding-top:env(safe-area-inset-top);height:calc(62px + env(safe-area-inset-top))}
  .mobile-app-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}
}


/* AperiSwipe v0.4.6 — city combobox, compact PWA nav, viewport fixes */
.city-combobox{position:relative;width:100%;margin-top:7px}.city-combobox>input{width:100%;padding-right:48px!important}.city-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:12px;background:#fff7f3;color:#4c3c35;font-size:22px;cursor:pointer}.city-options{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:0 18px 50px rgba(50,30,20,.16)}.city-option{width:100%;border:0;background:transparent;border-radius:11px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font:inherit;color:inherit}.city-option:hover,.city-option:focus{background:var(--brand-soft);outline:none}.city-option span{font-weight:800}.city-option small{color:var(--muted);font-size:11px}.city-no-results{padding:12px;color:var(--muted);font-size:13px}.city-options[hidden]{display:none!important}
@media(max-width:720px){
  :root{--mobile-nav-base:54px}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .mobile-app-nav{left:8px!important;right:8px!important;bottom:calc(6px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:calc(100vw - 16px)!important;height:54px!important;border-radius:18px!important;padding:4px 6px!important;grid-template-columns:1fr 1fr 52px 1fr 1fr!important;overflow:visible!important}
  .mobile-nav-item{font-size:14px!important;gap:0!important;min-width:0}.mobile-nav-item b{font-size:8px!important;line-height:1.05!important;margin-top:1px}.mobile-nav-create{width:46px!important;height:46px!important;border-radius:15px!important;margin:-12px auto 0!important;border-width:3px!important}.mobile-nav-create span{font-size:27px!important}
  .shell{padding-bottom:18px!important}.city-options{max-height:min(44vh,300px);-webkit-overflow-scrolling:touch}.city-option{min-height:46px}
}
@media(display-mode:standalone) and (max-width:720px){.mobile-app-nav{bottom:calc(4px + env(safe-area-inset-bottom))!important}}

/* AperiSwipe v0.4.6.8 — swipe rows, live searches, state accent sync */
.swipe-card-row{display:flex!important;grid-template-columns:none!important;gap:14px;overflow-x:auto;overflow-y:hidden;padding:3px 3px 13px;scroll-snap-type:x mandatory;scroll-padding-inline:3px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;cursor:grab;user-select:none}.swipe-card-row.is-dragging{cursor:grabbing;scroll-snap-type:none}.swipe-card-row>*{scroll-snap-align:start;scroll-snap-stop:always;user-select:text}.upcoming-swipe-row>.rich-event{flex:0 0 clamp(320px,44vw,430px);width:clamp(320px,44vw,430px)}.rich-event.is-confirmed .event-card-accent{background:linear-gradient(90deg,#3dbb78,#83ddb0)}.rich-event.is-pending .event-card-accent{background:linear-gradient(90deg,#f2a43a,#ffd183)}.event-venue-choice{display:inline-flex;align-items:center;gap:7px;margin-top:13px;padding:7px 10px;border-radius:12px;background:#f0faf5;color:#276d49;font-size:12px;max-width:100%}.event-venue-choice b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-swipe-row>.friend-tile{flex:0 0 250px;width:250px;min-height:220px}.group-swipe-row>.friend-group-card{flex:0 0 clamp(300px,42vw,430px);width:clamp(300px,42vw,430px)}.collection-search{position:relative;max-width:430px;margin:0 0 13px}.collection-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:#8b7c75;stroke-width:1.8;stroke-linecap:round}.collection-search input{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 13px 12px 41px;font:inherit}.collection-search input:focus{outline:2px solid rgba(242,81,44,.13);border-color:var(--brand)}.collection-filter-empty{padding:14px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:13px}.city-options-meta{position:sticky;top:-6px;z-index:2;background:#fff;padding:7px 10px 8px;border-bottom:1px solid #f0e7e2;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.auto-choice-note{margin:-2px 0 14px;padding:11px 12px;border-radius:14px;background:#fff8f4;border:1px solid #f2d3c8;color:#6f5d55;font-size:12px}.friend-list-groups.swipe-card-row{grid-template-columns:none}.friend-grid.swipe-card-row{grid-template-columns:none}
.swipe-card-row::-webkit-scrollbar{height:7px}.swipe-card-row::-webkit-scrollbar-thumb{background:#d9cbc4;border-radius:999px}.swipe-card-row::-webkit-scrollbar-track{background:transparent}
@media(max-width:720px){.swipe-card-row{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;scroll-padding-left:14px;scrollbar-width:none}.swipe-card-row::-webkit-scrollbar{display:none}.upcoming-swipe-row>.rich-event{flex-basis:calc(100vw - 46px);width:calc(100vw - 46px);min-width:0}.friend-swipe-row>.friend-tile{flex-basis:min(78vw,285px);width:min(78vw,285px)}.group-swipe-row>.friend-group-card{flex-basis:calc(100vw - 46px);width:calc(100vw - 46px);min-width:0}.collection-search{max-width:none}.event-venue-choice{max-width:calc(100vw - 100px)}}


/* AperiSwipe v0.4.7.3 — venue usage + compact catalog + scalable Admin venues */
.venue-usage-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:6px;padding:4px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:850;line-height:1.1;letter-spacing:.01em;background:#fff3ed;color:#9f3d27;border:1px solid #f2d2c5}.venue-usage-badge.aperitivo{background:#fff4e9;color:#9b5a09;border-color:#f3d39f}.venue-usage-badge.aperitivo_cena{background:#eef8f3;color:#25704c;border-color:#cbe8da}.venue-usage-badge.cena{background:#f2eff8;color:#66517f;border-color:#ddd4eb}
.venue-catalog-tools{display:flex;align-items:end;gap:10px;margin:12px 0 10px}.venue-live-search{flex:1;margin:0!important}.venue-live-search>span{display:block;margin:0 0 5px;font-size:11px;font-weight:800;color:var(--muted)}.venue-live-search input{width:100%}.compact-catalog{max-height:460px;overflow:auto;padding-right:4px;align-content:start}.compact-catalog .catalog-venue>span{min-height:74px;padding:10px 12px}.compact-catalog .catalog-venue img,.compact-catalog .catalog-venue i{width:48px;height:48px}.compact-catalog .catalog-venue b{font-size:13px}.compact-catalog .catalog-venue small{font-size:10px}.catalog-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.admin-venue-filters{display:grid;grid-template-columns:minmax(260px,1.8fr) repeat(8,minmax(120px,1fr));gap:10px;align-items:end;margin:16px 0 10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}.admin-venue-filters label{margin:0}.admin-venue-filters label>span{display:block;margin:0 0 5px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:var(--muted)}.admin-venue-filters input,.admin-venue-filters select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.admin-venue-summary{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:12px;margin:8px 2px}.admin-bulkbar{position:sticky;top:76px;z-index:8;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.admin-bulkbar label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750}.admin-bulkbar select{min-height:38px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff}.admin-venue-list{display:grid;gap:8px;transition:opacity .15s ease}.admin-venue-list.is-loading{opacity:.45;pointer-events:none}.admin-venue-row{display:grid;grid-template-columns:28px 54px minmax(220px,1fr) minmax(280px,auto) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:15px;background:#fff}.admin-row-check{width:17px;height:17px}.admin-venue-photo{width:50px;height:50px;border-radius:12px;overflow:hidden;background:#fff3ee;display:grid;place-items:center}.admin-venue-photo img{width:100%;height:100%;object-fit:cover}.admin-venue-main{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-venue-main strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-venue-main small{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-venue-tags{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.admin-venue-tags .venue-usage-badge{margin:0}.admin-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850}.admin-status.on{background:#eaf8f0;color:#27764d}.admin-status.off{background:#f3efed;color:#7b6c65}.admin-venue-actions{display:flex;justify-content:flex-end}.admin-venue-actions .btn.small{padding:7px 10px;font-size:10px}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0}.admin-pagination span{font-size:12px;color:var(--muted)}
@media(max-width:1400px){.admin-venue-filters{grid-template-columns:repeat(4,minmax(140px,1fr))}.admin-search-field{grid-column:span 2}.admin-venue-row{grid-template-columns:28px 54px minmax(180px,1fr) auto}.admin-venue-tags{grid-column:3/5;justify-content:flex-start}.admin-venue-actions{grid-column:4;grid-row:1/2}}
@media(max-width:720px){.venue-catalog-tools{align-items:stretch;flex-direction:column}.venue-catalog-tools .btn{width:100%}.compact-catalog{max-height:52vh;grid-template-columns:1fr!important}.admin-venue-filters{grid-template-columns:1fr 1fr;padding:11px}.admin-search-field{grid-column:1/-1}.admin-bulkbar{top:64px;gap:7px}.admin-bulkbar select{flex:1;min-width:180px}.admin-venue-row{grid-template-columns:24px 48px minmax(0,1fr) auto;gap:9px;padding:9px}.admin-venue-photo{width:44px;height:44px}.admin-venue-main strong{font-size:13px}.admin-venue-main small{white-space:normal;line-height:1.25}.admin-venue-tags{grid-column:2/5;justify-content:flex-start}.admin-venue-actions{grid-column:4;grid-row:1/2}.admin-pagination{justify-content:space-between}.admin-pagination .btn{padding:8px 10px}}

/* AperiSwipe v0.4.7.4 — fix filtro locale live, badge utilizzo e menu mobile */
.catalog-venue>span{grid-template-rows:auto auto auto!important}
.catalog-venue img,.catalog-venue i{grid-row:1/4!important}
.catalog-venue .venue-usage-badge{grid-column:2!important;grid-row:3!important;justify-self:start!important;align-self:start!important;max-width:100%!important;width:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.15!important}
.compact-catalog .catalog-venue .venue-usage-badge{margin-top:5px!important}
@media(max-width:720px){
  .mobile-app-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;height:58px!important;padding:5px 10px!important}
  .mobile-app-nav.is-admin{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .mobile-nav-item{font-size:18px!important;gap:1px!important;min-width:0!important;padding:4px 2px!important}
  .mobile-nav-item b{font-size:9.5px!important;line-height:1.05!important;margin-top:1px!important;white-space:nowrap!important}
  .mobile-nav-admin{color:#ffd9ce!important}
  .catalog-venue>span{grid-template-columns:48px minmax(0,1fr)!important;column-gap:10px!important}
  .catalog-venue .venue-usage-badge{font-size:9.5px!important;padding:4px 7px!important}
}
@media(max-width:390px){.mobile-nav-item{font-size:17px!important}.mobile-nav-item b{font-size:9px!important}}

/* v0.4.7.5 - telefono prenotazione sui prossimi confermati */
.event-booking-phone{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border:1px solid #dcefe4;border-radius:12px;background:#f7fcf9;color:#315f49;font-size:12px;max-width:100%}.event-booking-phone>span:nth-child(2){display:flex;flex-direction:column;min-width:0;line-height:1.15}.event-booking-phone small{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#789483;font-weight:850;margin-bottom:2px}.event-booking-phone b{overflow-wrap:anywhere}.event-call-action,.event-book-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border:0;border-radius:999px;background:#276d49;color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer;user-select:none}.event-call-action{margin-left:auto}.event-book-action{background:#e7682a}.event-book-action.is-booked{background:#1d7a4d;cursor:default}.event-call-action:focus-visible,.event-book-action:focus-visible{outline:2px solid #276d49;outline-offset:2px}@media(max-width:720px){.event-booking-phone{padding:8px}.event-call-action,.event-book-action{min-height:32px;padding-inline:11px}}

/* v0.4.7.6 — il filtro città usa l’attributo hidden: display:flex non deve sovrascriverlo. */
.city-option[hidden]{display:none!important}

/* v0.4.7.7 — città profilo + fallback foto Google */
.profile-city-card{margin:0}.profile-city-form{display:flex;align-items:end;gap:10px}.profile-city-form label{flex:1;margin:0}.profile-city-form input{width:100%}.profile-city-summary{margin:4px 0 0!important;color:#6f625c!important;font-size:12px!important}.venue-photo-fallback{width:100%;height:100%;display:grid;place-items:center;background:#fff3ee;font-size:20px;line-height:1}.catalog-venue .venue-photo-fallback{grid-column:1!important;grid-row:1/4!important;width:48px;height:48px;border-radius:12px}.venue-swipe-photo>.venue-photo-fallback{position:absolute;inset:0;width:100%;height:100%;font-size:42px}.admin-venue-photo>.venue-photo-fallback{width:100%;height:100%}@media(max-width:720px){.profile-city-form{align-items:stretch;flex-direction:column}.profile-city-form .btn{width:100%}}

/* v0.4.8.2 — foto locali da sorgenti riutilizzabili */
.commons-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:18px 0}.commons-photo-card{overflow:hidden;border:1px solid var(--border,#eadfd9);border-radius:18px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(31,20,16,.05)}.commons-photo-card>img{display:block;width:100%;height:160px;object-fit:cover;background:#f7f2ef}.commons-photo-meta{display:flex;flex-direction:column;gap:7px;padding:12px}.commons-photo-meta strong{font-size:.94rem;line-height:1.25;overflow-wrap:anywhere}.commons-photo-meta small{color:var(--muted,#746c68);line-height:1.35}.commons-photo-meta a{font-size:.82rem}.commons-photo-meta form{margin-top:4px}.photo-current-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.photo-current-panel img{width:190px;height:120px;object-fit:cover;border-radius:16px}.photo-google-fallback{margin-top:20px}.photo-google-fallback span{opacity:.8}.venue-photo-credit{display:block;margin-top:6px;font-size:.72rem;line-height:1.25;color:var(--muted,#746c68)}.admin-venue-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.commons-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.commons-photo-card>img{height:120px}.commons-photo-meta{padding:9px}.photo-current-panel{align-items:flex-start;flex-direction:column}.photo-current-panel img{width:100%;height:180px}.admin-venue-actions{justify-content:flex-start}}

/* v0.4.8.3 · Editor locali + ricerca foto massiva */
.mobile-app-nav.is-editor{grid-template-columns:repeat(5,minmax(0,1fr))!important}.venue-editor-assign{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff8f5}.venue-editor-assign label{display:block;margin:0}.venue-editor-assign select{width:100%;margin-top:6px}.venue-editor-assign p{margin:7px 0 0}.editor-permissions-note{margin:18px 0}.editor-venue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.editor-venue-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(31,20,16,.05)}.editor-venue-card-photo{height:160px;display:grid;place-items:center;background:#fff3ee;font-size:42px;overflow:hidden}.editor-venue-card-photo img{width:100%;height:100%;object-fit:cover}.editor-venue-card-body{padding:16px}.editor-venue-card-body h2{margin:3px 0 6px;font-size:1.15rem}.editor-venue-card-body p{min-height:1.2em}.editor-venue-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.bulk-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:18px 0}.bulk-photo-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.bulk-photo-preview{height:150px;display:grid;place-items:center;background:#fff3ee;font-size:36px}.bulk-photo-preview img{width:100%;height:100%;object-fit:cover}.bulk-photo-body{display:flex;flex-direction:column;gap:6px;padding:12px}.bulk-photo-body>small{line-height:1.3}.bulk-photo-choice{display:flex!important;align-items:center;gap:8px;margin:6px 0 0!important;font-weight:800}.bulk-photo-choice input{width:auto!important}.bulk-photo-submit{display:flex;justify-content:flex-end;margin:16px 0 28px}
@media(max-width:720px){.editor-venue-grid,.bulk-photo-grid{grid-template-columns:1fr}.bulk-photo-submit .btn{width:100%}}

/* AperiSwipe v0.4.8.4 · Admin Locali/Utenti + motore ricerca locali */
.admin-section-tabs{max-width:900px;margin:4px auto 0;padding:0 20px;display:flex;gap:8px}.admin-section-tabs a{min-width:132px;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-weight:850}.admin-section-tabs a.active{background:#fff1eb;border-color:#f7b5a4;color:var(--brand);box-shadow:0 7px 18px rgba(242,81,44,.08)}
.admin-user-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:10px;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.admin-user-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:var(--muted)}.admin-user-filters input,.admin-user-filters select{min-height:40px;border:1px solid var(--line);border-radius:11px;padding:8px 10px;background:#fff;font:inherit;color:var(--text)}.admin-user-summary{margin:8px 2px 12px;color:var(--muted);font-size:13px}.admin-user-list{display:grid;gap:8px}.admin-user-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 64px 18px;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:15px;background:#fff}.admin-user-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff0ea;color:var(--brand);font-weight:900}.admin-user-main{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-user-main strong,.admin-user-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-main small{color:var(--muted);font-size:11px}.admin-user-role{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.role-user{background:#f3efed;color:#6f625c}.role-editor{background:#fff3da;color:#936000}.role-admin{background:#fff0ea;color:#b64231}.admin-user-venues{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted)}.admin-user-venues small{font-size:10px}.admin-user-venue-assign{margin:24px 0}.admin-user-venue-search{width:100%;margin:4px 0 10px;border:1px solid var(--line);border-radius:13px;padding:12px;font:inherit}.admin-user-venue-list{max-height:430px;overflow:auto;display:grid;gap:7px;padding:2px}.admin-user-venue-item{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.admin-user-venue-item input{width:auto!important;flex:0 0 auto}.admin-user-venue-item>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.admin-user-venue-item small{color:var(--muted);font-weight:500}.admin-user-venue-item em{color:#9a6200;font-size:10px;font-style:normal}.admin-user-venue-item:has(input:checked){border-color:#f2a38f;background:#fff7f3}.admin-pagination .is-disabled{opacity:.45;pointer-events:none}
.venue-discovery{margin:18px 0 28px;padding:18px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fff,#fff8f4);box-shadow:0 12px 34px rgba(72,38,24,.06)}.venue-discovery-head{margin-bottom:12px}.venue-discovery-head h2{margin:4px 0}.venue-discovery-head p{margin:4px 0 0}.venue-discovery-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,2fr);gap:10px}.venue-discovery-controls label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;font-weight:850}.venue-discovery-controls select,.venue-discovery-controls input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;font:inherit;color:var(--text)}.venue-discovery-status{margin:10px 2px;font-size:11px}.venue-discovery-results{display:grid;gap:9px;transition:opacity .15s}.venue-discovery.is-loading .venue-discovery-results{opacity:.45}.venue-discovery-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}.venue-discovery-photo{width:72px;height:72px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:#fff3ee;font-size:28px}.venue-discovery-photo img{width:100%;height:100%;object-fit:cover}.venue-discovery-main{min-width:0}.venue-discovery-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.venue-discovery-main>small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.venue-discovery-main p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.3}.venue-discovery-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.venue-discovery-actions .btn.small{padding:8px 10px;font-size:11px}.preselected-venue-notice{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 13px;border:1px solid #cde9da;border-radius:14px;background:#f4fcf7;color:#226946}.preselected-venue-notice>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dff4e8;font-weight:900}.preselected-venue-notice>div{display:flex;flex-direction:column}.preselected-venue-notice small{color:#5f7d6c}
@media(max-width:720px){.admin-section-tabs{padding:0 14px;margin-top:2px}.admin-section-tabs a{flex:1;min-width:0;padding:10px}.admin-user-filters{grid-template-columns:1fr 1fr}.admin-user-filters .admin-search-field{grid-column:1/-1}.admin-user-filters .btn{grid-column:1/-1}.admin-user-row{grid-template-columns:40px minmax(0,1fr) auto 16px}.admin-user-role{grid-column:3}.admin-user-venues{grid-column:2;justify-content:flex-start}.venue-discovery{margin:14px 0 24px;padding:14px;border-radius:20px}.venue-discovery-controls{grid-template-columns:1fr}.venue-discovery-card{grid-template-columns:60px minmax(0,1fr)}.venue-discovery-photo{width:58px;height:58px}.venue-discovery-actions{grid-column:1/-1;justify-content:stretch}.venue-discovery-actions .btn{flex:1}.venue-discovery-main p{display:none}}


/* AperiSwipe v0.4.8.5 · assegnazione Editor mobile senza salti di scroll */
.admin-user-venue-list{overflow-anchor:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.admin-user-venue-item{touch-action:manipulation;scroll-margin-block:0}.admin-user-venue-item input{scroll-margin:0}
@media(max-width:720px){.admin-user-venue-list{max-height:min(52vh,430px)}}

/* AperiSwipe v0.4.8.6 · ricerca solo su input + CTA uniformi + Editor mobile stabile */
.venue-discovery-actions .venue-discovery-organize{min-width:180px}
@media(max-width:720px){
  .venue-discovery-actions{justify-content:flex-end}
  .venue-discovery-actions .venue-discovery-organize{flex:0 0 calc(50% - 3px);width:calc(50% - 3px);min-width:0}
  .venue-discovery-actions .btn:not(.venue-discovery-organize){flex:1 1 0;min-width:0}
  .admin-user-venue-item input{pointer-events:none}
}

/* AperiSwipe v0.4.8.7 — Editor list stable scroll + phone CTA */
.admin-user-venue-list{overflow-anchor:none;overscroll-behavior:contain;contain:layout paint;}
.admin-user-venue-item{user-select:none;-webkit-user-select:none;}
.admin-user-venue-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
.admin-user-venue-checkbox{pointer-events:none;}
.venue-discovery-phone{display:flex!important;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;gap:3px;}
.venue-discovery-phone small{font-size:9px;font-weight:800;white-space:nowrap;color:inherit;}
@media(max-width:720px){
  .admin-user-venue-list{height:min(50dvh,430px);min-height:280px;max-height:none;overflow-y:auto;}
  .venue-discovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;align-items:stretch;}
  .venue-discovery-actions .venue-discovery-organize{width:100%;min-width:0;grid-column:2;grid-row:1;}
  .venue-discovery-actions .venue-discovery-phone{width:100%;min-width:0;grid-column:1;grid-row:1;}
  .venue-discovery-actions .venue-discovery-site{grid-column:1/-1;grid-row:2;}
}


/* AperiSwipe v0.4.8.8 — Editor stabile + telefono nelle card di Organizza */
.admin-user-venue-assign[hidden]{display:block!important}
.admin-user-venue-assign{border-top:1px solid var(--line);padding-top:18px}
.admin-user-venue-assign.is-role-editor{border-top-color:#f4b29f}
.admin-user-venue-checkbox{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important}
.admin-user-venue-check{width:24px;height:24px;border:1px solid var(--line);border-radius:7px;display:grid;place-items:center;flex:0 0 24px;color:transparent;background:#fff;font-weight:950;line-height:1}
.admin-user-venue-item[aria-checked="true"]{border-color:#f2a38f;background:#fff7f3}
.admin-user-venue-item[aria-checked="true"] .admin-user-venue-check{background:var(--brand);border-color:var(--brand);color:#fff}
.admin-user-venue-copy{display:flex!important;flex:1;min-width:0;flex-direction:column;gap:2px}
.admin-user-venue-item{position:relative;outline:none!important;overflow-anchor:none}
.catalog-venue>span{grid-template-rows:auto auto auto auto!important}
.catalog-venue img,.catalog-venue i{grid-row:1/5!important}
.catalog-venue .venue-usage-badge{grid-row:3!important}
.catalog-venue-phone{grid-column:2;grid-row:4;display:flex;align-items:center;gap:7px;min-width:0;margin-top:5px;color:#466a57}
.catalog-venue-phone a{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#2f7752;color:#fff;font-size:10px;font-weight:900;text-decoration:none;flex:0 0 auto}
.catalog-venue-phone b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.preselected-venue-phone{display:flex;align-items:center;gap:8px;margin-top:5px}.preselected-venue-phone a{display:inline-flex;padding:4px 9px;border-radius:999px;background:#2f7752;color:#fff;font-size:10px;font-weight:900}.preselected-venue-phone b{font-size:11px}
@media(max-width:720px){
  .admin-user-venue-list{height:min(50dvh,430px);overflow-y:auto;overflow-anchor:none;contain:strict;touch-action:pan-y}
  .admin-user-venue-item{touch-action:pan-y;min-height:56px}
  .catalog-venue-phone{gap:6px}.catalog-venue-phone a{min-height:28px}.catalog-venue-phone b{font-size:10px}
}

/* AperiSwipe v0.4.8.9 — cache-bust, Editor senza form control, RSVP binario */
.vote-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-user-venue-list{contain:none!important;overflow-anchor:none!important;scroll-behavior:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.admin-user-venue-item{position:relative;min-height:58px;touch-action:pan-y;overflow-anchor:none!important;user-select:none;-webkit-user-select:none}
.admin-user-venue-item>.admin-user-venue-check{width:24px!important;height:24px!important;flex:0 0 24px!important;display:grid!important;place-items:center!important}
.admin-user-venue-item>.admin-user-venue-copy{display:flex!important;flex:1 1 auto!important;min-width:0!important;flex-direction:column!important;gap:2px!important}
.admin-user-venue-item[aria-checked="true"]{border-color:#f2a38f;background:#fff7f3}
.admin-user-venue-item[aria-checked="true"]>.admin-user-venue-check{background:var(--brand);border-color:var(--brand);color:#fff}
.venue-swipe-phone{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap}.venue-swipe-phone a{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#2f7752;color:#fff;font-size:10px;font-weight:900}.venue-swipe-phone b{font-size:11px;color:#466a57;overflow-wrap:anywhere}
@media(max-width:720px){
  .admin-user-venue-list{height:min(52dvh,440px)!important;max-height:none!important;overflow-y:auto!important}
  .vote-buttons{grid-template-columns:1fr 1fr}
  .vote span{text-align:center}
  .catalog-venue-phone{display:flex!important;visibility:visible!important;opacity:1!important}
}


/* AperiSwipe v0.4.9.0 — registrazione/privacy + stabilità selezione locali Editor */
.register-name-grid{grid-template-columns:1fr 1fr;gap:10px}
.privacy-ack-row{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;margin:6px 0 0;font-weight:700!important;line-height:1.35}
.privacy-ack-row input{width:20px!important;height:20px!important;min-width:20px;margin:1px 0 0!important;accent-color:var(--brand)}
.privacy-ack-row span{display:block;min-width:0}.privacy-ack-row a{text-decoration:underline;text-underline-offset:2px}
.privacy-version-note{display:block;margin:-2px 0 8px}
.privacy-policy-page{max-width:860px;margin:0 auto}.privacy-page-head{align-items:flex-start}.privacy-policy-card{line-height:1.65}.privacy-policy-card h2{margin:28px 0 8px;font-size:19px}.privacy-policy-card p{margin:8px 0}.privacy-policy-card ul{padding-left:22px}.privacy-policy-card li{margin:5px 0}.privacy-warning{padding:10px 12px;border-radius:12px;background:#fff7e6;border:1px solid #f3d28a}
.footer a{margin-left:8px;text-decoration:underline;text-underline-offset:2px}
[data-user-venue-hidden]{display:none!important}
.admin-user-venue-assign .section-count{min-width:2.4rem;text-align:center;font-variant-numeric:tabular-nums}
.admin-user-venue-list{overflow-anchor:none!important;scroll-behavior:auto!important;overscroll-behavior-y:contain!important}
.admin-user-venue-item{overflow-anchor:none!important}
@media(max-width:720px){.register-name-grid{grid-template-columns:1fr}.privacy-policy-card{padding:16px}.privacy-policy-card h2{font-size:18px}.admin-user-venue-list{overscroll-behavior-y:contain!important}}


/* AperiSwipe v0.4.9.1 · Dark Mode, logout mobile e cancellazione account */
.profile-theme-card,.profile-danger-card{margin:0}.theme-preference-form{margin-top:14px}.theme-toggle-row{display:flex!important;align-items:center;justify-content:space-between;gap:18px;margin:0!important;padding:14px 0!important}.theme-toggle-row>span:first-child{display:flex;flex-direction:column;gap:3px}.theme-toggle-row small{color:var(--muted);font-size:12px}.theme-switch{position:relative;display:inline-flex;width:54px;height:30px;flex:0 0 auto}.theme-switch input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:auto!important}.theme-switch>span{position:absolute;inset:0;border-radius:999px;background:#d8cec9;transition:.2s;box-shadow:inset 0 0 0 1px rgba(50,30,20,.08)}.theme-switch>span:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.2);transition:.2s}.theme-switch input:checked+span{background:var(--brand)}.theme-switch input:checked+span:after{transform:translateX(24px)}.theme-switch input:focus-visible+span{outline:3px solid rgba(242,81,44,.25);outline-offset:2px}.theme-system-btn{margin-top:8px;color:var(--brand);font-weight:800}.profile-mobile-logout{display:block}.danger-eyebrow{color:#b73535}.danger-outline{border:1px solid #e3a9a9!important;background:#fff7f7!important;color:#a42f2f!important}.btn.danger{background:#b73535;color:#fff}.delete-account-details{margin-top:14px}.delete-account-details>summary{list-style:none;cursor:pointer;width:100%}.delete-account-details>summary::-webkit-details-marker{display:none}.delete-account-form{margin-top:16px;padding-top:4px;border-top:1px solid var(--line)}.delete-account-form input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;font:inherit;outline:none}.delete-account-form .btn.danger{margin-top:16px}
@media(max-width:720px){.profile-mobile-logout{display:block;margin:0}.profile-danger-card{grid-column:1}.profile-theme-card{grid-column:1}}

html[data-theme="dark"]{color-scheme:dark;--bg:#151210;--surface:#201b18;--text:#f6efeb;--muted:#b9aaa3;--line:#413630;--brand-soft:#3a201a;--brand-soft-2:#2b1c18;--shadow:0 18px 60px rgba(0,0,0,.28)}
html[data-theme="dark"] body{background:linear-gradient(180deg,#151210 0,#1b1715 52%,#151210 100%);color:var(--text)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .footer{color:var(--text)}
html[data-theme="dark"] .demo-card,html[data-theme="dark"] .form-card,html[data-theme="dark"] .panel,html[data-theme="dark"] .share-card,html[data-theme="dark"] .winner,html[data-theme="dark"] .event-card,html[data-theme="dark"] .empty,html[data-theme="dark"] .center-card,html[data-theme="dark"] .history-card,html[data-theme="dark"] .soft-empty,html[data-theme="dark"] .dashboard-section,html[data-theme="dark"] .invite-head,html[data-theme="dark"] .editor-venue-card,html[data-theme="dark"] .bulk-photo-card,html[data-theme="dark"] .venue-editor-assign{background:#201b18!important;border-color:var(--line)!important;color:var(--text)}
html[data-theme="dark"] .btn.ghost,html[data-theme="dark"] .form-card input,html[data-theme="dark"] .form-card select,html[data-theme="dark"] .form-card textarea,html[data-theme="dark"] .confirm select,html[data-theme="dark"] .sharebox input,html[data-theme="dark"] .delete-account-form input,html[data-theme="dark"] .avatar-primary-action,html[data-theme="dark"] .avatar-upload-drop{background:#181412!important;border-color:var(--line)!important;color:var(--text)!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#877a74}
html[data-theme="dark"] .choice span,html[data-theme="dark"] .vote span,html[data-theme="dark"] .venue-choice span,html[data-theme="dark"] .people span,html[data-theme="dark"] .desktop-install-help{background:#181412;border-color:var(--line)}
html[data-theme="dark"] .choice input:checked+span,html[data-theme="dark"] .venue-choice input:checked+span{background:#3a201a;border-color:var(--brand)}
html[data-theme="dark"] .mobile-app-nav,html[data-theme="dark"] .admin-section-tabs,html[data-theme="dark"] .install-sheet-card{background:#211b18!important;border-color:var(--line)!important;color:var(--text)}
html[data-theme="dark"] .venue-discovery-card,html[data-theme="dark"] .catalog-venue,html[data-theme="dark"] .event-row-card,html[data-theme="dark"] .friend-card,html[data-theme="dark"] .notification-card{background:#201b18!important;border-color:var(--line)!important;color:var(--text)}
html[data-theme="dark"] .venue-discovery-photo,html[data-theme="dark"] .venue-photo-fallback,html[data-theme="dark"] .editor-venue-card-photo,html[data-theme="dark"] .bulk-photo-preview{background:#2d211d!important}
html[data-theme="dark"] .danger-outline{background:#2b1717!important;border-color:#714343!important;color:#ffaaaa!important}
html[data-theme="dark"] .toast{background:#f2e8e2;color:#221b18}
html[data-theme="dark"] .profile-photo-badge{border-color:#201b18}
html[data-theme="dark"] .theme-switch>span{background:#5a4d47}


/* AperiSwipe v0.4.9.2 · Dark Mode contrast pass + pill leggibili */
html[data-theme="dark"]{
  --surface:#211b18;
  --surface-2:#181412;
  --surface-3:#2a211d;
  --surface-hover:#30251f;
  --text:#f7f0ec;
  --muted:#c0b1aa;
  --line:#4b3e38;
  --brand-soft:#3b211b;
  --brand-soft-2:#2b1d19;
}

/* Superfici e card che in 0.4.9.1 restavano bianche */
html[data-theme="dark"] .venue-swipe-card,
html[data-theme="dark"] .swipe-progress,
html[data-theme="dark"] .swipe-action,
html[data-theme="dark"] .swipe-complete,
html[data-theme="dark"] .mini-event,
html[data-theme="dark"] .friend-search-card,
html[data-theme="dark"] .friend-row,
html[data-theme="dark"] .friend-tile,
html[data-theme="dark"] .friend-picker label,
html[data-theme="dark"] .friend-list-picker label>span,
html[data-theme="dark"] .vote-person-card,
html[data-theme="dark"] .confirm-v4,
html[data-theme="dark"] .response-closed-card,
html[data-theme="dark"] .admin-table-wrap,
html[data-theme="dark"] .admin-venue-filters,
html[data-theme="dark"] .admin-venue-row,
html[data-theme="dark"] .admin-user-filters,
html[data-theme="dark"] .admin-user-row,
html[data-theme="dark"] .admin-user-venue-item,
html[data-theme="dark"] .catalog-venue>span,
html[data-theme="dark"] .venue-discovery,
html[data-theme="dark"] .venue-discovery-card,
html[data-theme="dark"] .city-options,
html[data-theme="dark"] .city-option,
html[data-theme="dark"] .soft-empty,
html[data-theme="dark"] .warning,
html[data-theme="dark"] .privacy-warning{
  background:var(--surface)!important;
  border-color:var(--line)!important;
  color:var(--text)!important;
  box-shadow:none;
}

html[data-theme="dark"] .venue-discovery{
  background:linear-gradient(135deg,#211b18,#261c18)!important;
}
html[data-theme="dark"] .friend-search-card,
html[data-theme="dark"] .confirm-v4{
  background:linear-gradient(145deg,#211b18,#261c18)!important;
}

/* Campi input/select e controlli secondari */
html[data-theme="dark"] .venue-discovery-controls select,
html[data-theme="dark"] .venue-discovery-controls input,
html[data-theme="dark"] .admin-venue-filters input,
html[data-theme="dark"] .admin-venue-filters select,
html[data-theme="dark"] .admin-bulkbar select,
html[data-theme="dark"] .admin-user-filters input,
html[data-theme="dark"] .admin-user-filters select,
html[data-theme="dark"] .admin-user-venue-search,
html[data-theme="dark"] .quick-searches button,
html[data-theme="dark"] .search-row input,
html[data-theme="dark"] .friend-list-create input,
html[data-theme="dark"] .collection-search input,
html[data-theme="dark"] .city-combobox input,
html[data-theme="dark"] .city-toggle,
html[data-theme="dark"] .venue-live-search input,
html[data-theme="dark"] .date-option input,
html[data-theme="dark"] .response-deadline-field input,
html[data-theme="dark"] .venue-inputs input{
  background:var(--surface-2)!important;
  border-color:var(--line)!important;
  color:var(--text)!important;
}
html[data-theme="dark"] select option{background:#181412;color:#f7f0ec}
html[data-theme="dark"] input[type="date"],
html[data-theme="dark"] input[type="time"],
html[data-theme="dark"] input[type="datetime-local"]{color-scheme:dark}

/* Selezioni: scure ma chiaramente attive */
html[data-theme="dark"] .catalog-venue input:checked+span,
html[data-theme="dark"] .google-result:has(input:checked),
html[data-theme="dark"] .admin-user-venue-item[aria-checked="true"],
html[data-theme="dark"] .admin-user-venue-item:has(input:checked),
html[data-theme="dark"] .friend-picker label:has(input:checked),
html[data-theme="dark"] .friend-list-picker input:checked+span,
html[data-theme="dark"] .attendance-choice input:checked+span{
  background:#3a211b!important;
  border-color:#a95741!important;
  color:var(--text)!important;
}
html[data-theme="dark"] .admin-user-venue-check{background:#181412!important;border-color:#65534b!important}
html[data-theme="dark"] .admin-user-venue-item[aria-checked="true"] .admin-user-venue-check{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}

/* Scheda swipe locale */
html[data-theme="dark"] .venue-swipe-card{box-shadow:0 22px 70px rgba(0,0,0,.38)}
html[data-theme="dark"] .venue-swipe-photo{background:#261d19}
html[data-theme="dark"] .venue-photo-placeholder{background:linear-gradient(145deg,#31231e,#47271f)}
html[data-theme="dark"] .compatibility-badge{background:rgba(28,22,19,.92)!important;color:#ff9b82!important;border:1px solid #59443b}
html[data-theme="dark"] .swipe-stamp{background:rgba(24,19,17,.80)}
html[data-theme="dark"] .swipe-action.pass{background:#251818!important;border-color:#5d3939!important;color:#ff9b9b!important}
html[data-theme="dark"] .swipe-action.like{background:#15251d!important;border-color:#345e48!important;color:#88ddb0!important}
html[data-theme="dark"] .swipe-complete-icon{background:#173426;color:#91e3b9}

/* Pillole uso locale: contrasto AA sul fondo scuro */
html[data-theme="dark"] .venue-usage-badge{background:#3b241e!important;color:#ffb49f!important;border-color:#684236!important}
html[data-theme="dark"] .venue-usage-badge.aperitivo{background:#3b2a15!important;color:#ffd08a!important;border-color:#6b4b20!important}
html[data-theme="dark"] .venue-usage-badge.aperitivo_cena{background:#17382a!important;color:#9be0bd!important;border-color:#315f49!important}
html[data-theme="dark"] .venue-usage-badge.cena{background:#2d2440!important;color:#d5c1f1!important;border-color:#56466f!important}

/* Source / stato Admin: niente pillole bianche con testo scuro */
html[data-theme="dark"] .source-badge{background:#302824!important;color:#e8ddd7!important;border:1px solid #554640}
html[data-theme="dark"] .source-badge.manual{background:#3b211b!important;color:#ffad97!important;border-color:#664035}
html[data-theme="dark"] .source-badge.google{background:#1d2b43!important;color:#a9c8ff!important;border-color:#38537a}
html[data-theme="dark"] .source-badge.json{background:#2b2a31!important;color:#e4dff0!important;border-color:#4c4957}
html[data-theme="dark"] .admin-status.on{background:#17382a!important;color:#9be0bd!important;border:1px solid #315f49}
html[data-theme="dark"] .admin-status.off{background:#302824!important;color:#c9bbb4!important;border:1px solid #554640}
html[data-theme="dark"] .role-user{background:#302824!important;color:#ddd0c9!important}
html[data-theme="dark"] .role-editor{background:#3b2a15!important;color:#ffd08a!important}
html[data-theme="dark"] .role-admin{background:#3b211b!important;color:#ffad97!important}

/* Pillole generiche e stati evento */
html[data-theme="dark"] .swipe-pill,
html[data-theme="dark"] .tag,
html[data-theme="dark"] .count-badge,
html[data-theme="dark"] .compat-mini{background:#3b211b!important;color:#ffad97!important}
html[data-theme="dark"] .status.voting,
html[data-theme="dark"] .status.pending,
html[data-theme="dark"] .pending-hint{background:#3a2b16!important;color:#ffd080!important;border-color:#684d24!important}
html[data-theme="dark"] .status.confirmed,
html[data-theme="dark"] .participant-state.going,
html[data-theme="dark"] .vote-chip.yes,
html[data-theme="dark"] .vote-chip.like{background:#17382a!important;color:#9be0bd!important;border-color:#315f49!important}
html[data-theme="dark"] .participant-state.not_going,
html[data-theme="dark"] .vote-chip.no,
html[data-theme="dark"] .vote-chip.pass{background:#3b1f20!important;color:#ffabab!important}
html[data-theme="dark"] .participant-state,
html[data-theme="dark"] .vote-chip,
html[data-theme="dark"] .status.closed,
html[data-theme="dark"] .pending-hint.is-closed{background:#302824!important;color:#d0c2bb!important;border-color:#554640!important}

/* Box informativi chiari */
html[data-theme="dark"] .preselected-venue-notice,
html[data-theme="dark"] .event-venue-choice{background:#17382a!important;color:#9be0bd!important;border-color:#315f49!important}
html[data-theme="dark"] .preselected-venue-notice>span{background:#214b38!important;color:#b7efcf!important}
html[data-theme="dark"] .preselected-venue-notice small{color:#a9cbb9!important}
html[data-theme="dark"] .deadline-status-card.is-open{background:#342817!important;border-color:#6b5229!important}
html[data-theme="dark"] .deadline-status-card.is-open .deadline-status-icon{background:#4a381c!important}
html[data-theme="dark"] .deadline-status-card.is-closed{background:#2b2522!important;border-color:#554842!important}
html[data-theme="dark"] .deadline-status-card.is-closed .deadline-status-icon,
html[data-theme="dark"] .closed-lock{background:#3a322e!important}
html[data-theme="dark"] .response-closed-card{background:linear-gradient(145deg,#241f1c,#1c1816)!important}
html[data-theme="dark"] .privacy-warning,
html[data-theme="dark"] .warning{background:#342817!important;border-color:#6b5229!important;color:#f1dcc0!important}

/* Admin bar e tab */
html[data-theme="dark"] .admin-bulkbar{background:rgba(31,25,22,.96)!important;border-color:var(--line)!important}
html[data-theme="dark"] .admin-section-tabs a{background:#211b18!important;border-color:var(--line)!important;color:var(--muted)!important}
html[data-theme="dark"] .admin-section-tabs a.active{background:#3b211b!important;border-color:#744637!important;color:#ff9b82!important}
html[data-theme="dark"] .admin-venue-photo,
html[data-theme="dark"] .venue-thumb,
html[data-theme="dark"] .catalog-venue img,
html[data-theme="dark"] .catalog-venue i,
html[data-theme="dark"] .admin-user-avatar{background:#2d211d!important}

/* Testi secondari sempre leggibili */
html[data-theme="dark"] .catalog-venue small,
html[data-theme="dark"] .venue-discovery-main>small,
html[data-theme="dark"] .venue-discovery-main p,
html[data-theme="dark"] .admin-venue-main small,
html[data-theme="dark"] .admin-user-main small,
html[data-theme="dark"] .friend-tile small,
html[data-theme="dark"] .friend-row small,
html[data-theme="dark"] .attendance-choice small,
html[data-theme="dark"] .soft-empty small{color:var(--muted)!important}

/* AperiSwipe v0.4.9.3 · Dark header/pills + segnalazione locale chiuso */
html[data-theme="dark"] .topbar{
  background:rgba(24,20,18,.94)!important;
  border-bottom-color:#40342f!important;
  color:var(--text)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.20);
}
html[data-theme="dark"] .topbar .desktop-app-link,
html[data-theme="dark"] .topbar .hello,
html[data-theme="dark"] .topbar .header-logout .linkbtn{
  color:#cbbdb6!important;
}
html[data-theme="dark"] .topbar .desktop-app-link:hover,
html[data-theme="dark"] .topbar .header-logout .linkbtn:hover{
  color:#fff!important;
}
html[data-theme="dark"] .topbar .brand-name{color:#f7f0ec!important}
html[data-theme="dark"] .topbar .notification-link{
  background:#211b18!important;
  border-color:#594a43!important;
}
html[data-theme="dark"] .topbar .notification-link svg{stroke:#f1e8e3!important}
html[data-theme="dark"] .topbar .header-user-avatar{background:#2d211d!important;border-color:#4b3e38!important}

html[data-theme="dark"] .attendee-chip-list span{
  background:#2a221f!important;
  border:1px solid #4b3e38!important;
  color:#f7f0ec!important;
}
html[data-theme="dark"] .attendee-chip-list i{
  background:#171311!important;
  color:#ff7a58!important;
  border:1px solid #453832;
}
html[data-theme="dark"] .history-main>small,
html[data-theme="dark"] .history-attendees>strong,
html[data-theme="dark"] .history-attendees em{color:#c0b1aa!important}

.venue-report-closed{
  appearance:none;border:0;background:transparent;color:#8c7770;padding:4px 0;
  font:inherit;font-size:11px;font-weight:750;text-decoration:underline;text-underline-offset:3px;
  cursor:pointer;white-space:nowrap;
}
.venue-report-closed:hover{color:#b74238}
.venue-report-closed[disabled]{opacity:.55;cursor:wait}
.venue-report-closed.is-sent{color:#3f8b65;text-decoration:none}
.venue-discovery-actions .venue-report-closed{align-self:center;margin:2px 4px}
.catalog-venue-report{grid-column:2;justify-self:start;margin-top:2px;position:relative;z-index:2}
html[data-theme="dark"] .venue-report-closed{color:#c9aaa0}
html[data-theme="dark"] .venue-report-closed:hover{color:#ff9b82}
html[data-theme="dark"] .venue-report-closed.is-sent{color:#91dfb5}
@media(max-width:720px){
  .venue-discovery-actions .venue-report-closed{grid-column:1/-1;justify-self:center;margin-top:2px}
}

/* v0.4.9.3 — report action also on swipe venue cards */
.venue-swipe-report{margin-top:10px;max-width:max-content}
html[data-theme="dark"] .venue-swipe-report{color:#d8c9c2!important;border-color:#5a4941!important;background:#211b18!important}

/* v0.4.9.3 · generatore JSON Italia */
.italy-json-generator{margin-top:18px;display:grid;gap:14px}
.italy-json-generator h2{margin:4px 0 6px}
.italy-json-progress{display:grid;gap:7px}
.italy-json-progress progress{width:100%;height:12px;accent-color:#ff5a36}
.italy-json-progress strong.error{color:#b74238}
html[data-theme="dark"] .italy-json-generator{background:#211b18!important;border-color:#493d37!important}
html[data-theme="dark"] .italy-json-progress strong{color:#f7f0ec}
html[data-theme="dark"] .italy-json-progress strong.error{color:#ff9b82}

/* AperiSwipe v0.4.9.4 · import JSON + foto locali */
.json-local-photo-option{margin-top:14px;display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.json-local-photo-option input{margin-top:3px;flex:0 0 auto}
.json-local-photo-option span{display:grid;gap:3px}
.json-local-photo-option small{color:var(--muted);line-height:1.4}
.photo-localize-info{margin-bottom:18px}
.photo-localize-runner{display:grid;gap:14px}
.photo-localize-runner progress{width:100%;height:13px;accent-color:#f2512c}
.photo-localize-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.photo-localize-stats span{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.photo-localize-stats b{font-size:22px}
.photo-localize-stats small{color:var(--muted)}
.photo-localize-actions{display:flex;gap:10px;flex-wrap:wrap}
html[data-theme="dark"] .json-local-photo-option,
html[data-theme="dark"] .photo-localize-stats span{background:#211b18!important;border-color:#493d37!important}
html[data-theme="dark"] .photo-localize-info{background:#211b18!important;border-color:#493d37!important}
@media(max-width:720px){.photo-localize-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* AperiSwipe v0.4.10.0 — UX semplificata Organizza + Home */
.create-page-head{margin-bottom:18px}.create-page-head h1{font-size:clamp(34px,5.2vw,48px);margin-bottom:10px}.create-page-head .page-sub{font-size:14px;line-height:1.45}
.event-editor-progressive{overflow:visible;background:transparent;border:0;box-shadow:none}.event-flow-progress{position:sticky;top:8px;z-index:12;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px;padding:8px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(72,38,24,.07)}.event-flow-progress button{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border-radius:12px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.event-flow-progress button span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f3ece8;color:#8b776e;font-size:10px}.event-flow-progress button.active{background:var(--brand-soft);color:var(--brand)}.event-flow-progress button.active span{background:var(--brand);color:#fff}.event-flow-progress button.complete span{background:#e7f6ed;color:#24754d}.event-flow-progress button:disabled{opacity:.46;cursor:default}
.flow-section{display:block!important;padding:0!important;margin:0 0 10px;border:1px solid var(--line)!important;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 26px rgba(72,38,24,.045)}.flow-section-head{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;border:0;background:#fff;padding:14px 16px;text-align:left;color:var(--text);cursor:pointer}.flow-section-head>span:nth-child(2){display:flex;flex-direction:column;gap:2px}.flow-section-head b{font-size:15px}.flow-section-head small{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-section-head>i{font-style:normal;color:#a08f87;transition:transform .18s}.flow-section.is-open .flow-section-head>i{transform:rotate(180deg)}.flow-section.is-complete .editor-step{background:#e7f6ed;color:#24754d}.flow-section.is-complete .editor-step:after{content:'✓';font-size:13px}.flow-section.is-complete .editor-step{font-size:0}.flow-section.is-complete .flow-section-head>span:nth-child(2){flex-direction:row;align-items:baseline;gap:0;min-width:0}.flow-section.is-complete .flow-section-head small{font-size:12px;color:#5f7368;font-weight:750;min-width:0}.flow-section.is-complete .flow-section-head small:before{content:' — ';color:#9b8f89}.event-flow-progress button.complete span{font-size:0}.event-flow-progress button.complete span:after{content:'✓';font-size:11px;font-weight:900}.flow-section-body{padding:4px 18px 20px}.event-editor-progressive:not(.is-progressive) .flow-section-body{display:block}.event-editor-progressive.is-progressive .flow-section:not(.is-open) .flow-section-body{display:none}.flow-section-body h2{font-size:24px;margin:8px 0 14px}.compact-help{margin:5px 0 12px!important;font-size:12px!important;line-height:1.45;color:#665b56!important}
.event-type-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-type-choice .choice{margin:0}.event-type-choice .choice span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px 12px;font-size:13px;font-weight:850}.event-type-choice .choice span i{font-style:normal;font-size:18px}.field-required,.date-option label>span em{font-size:10px;font-style:normal;font-weight:700;color:var(--brand);margin-left:4px}.field-label{display:block;font-size:13px;font-weight:800;margin:18px 0 8px}.attendance-inline{margin-top:4px}.compact-attendance{grid-template-columns:1fr 1fr}.compact-attendance label{margin:0}.compact-attendance span{padding:12px 13px;border-radius:14px}.compact-attendance b{font-size:13px}.compact-attendance small{font-size:10px;line-height:1.3}
.flow-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.flow-actions .btn{min-width:120px}.final-actions .btn.primary{gap:8px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.is-submitting{pointer-events:none}
.date-option{align-items:end}.date-option label{margin:0!important;display:flex!important;flex-direction:column;gap:5px;font-size:10px!important;color:var(--muted)}.date-option label>span{display:block;font-size:10px;font-weight:800;color:var(--muted)}.date-option input{min-height:46px}.response-deadline-field small{color:#665b56!important;line-height:1.45}.venue-inputs{margin-top:12px}.venue-inputs label{margin:0}.flow-field-error{display:block!important;margin:5px 2px 0!important;color:#b83232!important;font-size:11px!important;font-weight:750!important}.has-flow-error>input,.has-flow-error input{border-color:#d74b49!important;box-shadow:0 0 0 3px rgba(215,75,73,.09)!important}
.catalog-venue{position:relative}.catalog-venue>span{transition:border-color .15s,background .15s,box-shadow .15s}.catalog-venue input:checked+span{background:#fff2ed!important;border-color:var(--brand)!important;box-shadow:0 0 0 2px rgba(242,81,44,.10)}.catalog-venue input:checked+span:after{content:'✓';position:absolute;right:10px;top:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:11px;font-weight:900}.catalog-venue small:not(.venue-photo-credit){white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;line-height:1.3!important;color:#625853!important}
.event-review-grid{display:grid;gap:8px}.event-review-item{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 12px;text-align:left;color:var(--text);cursor:pointer}.event-review-item>span{color:var(--muted);font-size:11px;font-weight:800}.event-review-item>b{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis}.event-review-item>i{font-style:normal;color:var(--brand);font-size:10px;font-weight:850}.flow-missing{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff3e8;color:#9b5b13;font-size:11px;font-weight:750}

/* Home: meno testo, più azione */
.simplified-home-hero{padding:28px 30px;margin-bottom:22px}.simplified-home-hero h1{font-size:clamp(36px,5vw,52px);margin:6px 0 9px}.simplified-home-hero p{font-size:14px;max-width:470px}.simplified-home-hero:after{font-size:96px}.simplified-discovery{margin-top:0}.simplified-discovery .venue-discovery-head h2{font-size:25px}.event-card.rich-event{transition:transform .15s,box-shadow .15s,border-color .15s}.event-card.rich-event:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(72,38,24,.10)}.event-card.needs-attention{border-color:#efc173}.event-card.needs-attention .event-card-accent{background:linear-gradient(90deg,#e59326,#ffbd5a)}.event-venue-choice.is-undecided{background:#f7f3f1;color:#776a64;border-color:#e9ded8}.event-action-status{margin-top:9px;padding:8px 10px;border-radius:11px;background:#f4f1ef;color:#685d58;font-size:11px;font-weight:800}.event-action-status.urgent{background:#fff5df;color:#96600b}.status.pending{background:#fff3da;color:#996200}.compact-history{margin-bottom:20px}.section-text-link{color:var(--brand);font-size:12px;font-weight:850}.history-card-compact{align-items:center}.history-attendees.compact{display:flex;align-items:center;gap:8px;margin-top:7px}.history-attendees.compact>strong{font-size:10px}.attendee-avatar-stack{display:flex}.attendee-avatar-stack i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;margin-left:-5px;border:2px solid #fff;background:var(--brand-soft);color:var(--brand);font-size:9px;font-style:normal;font-weight:900}.attendee-avatar-stack i:first-child{margin-left:0}

/* Icone navigazione: stesso stile lineare in tutta la bottom bar */
.mobile-nav-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-nav-item>span{display:grid;place-items:center;height:21px}

@media(max-width:720px){
  .create-page-head{margin:8px 2px 14px}.create-page-head h1{font-size:31px}.create-page-head .page-sub{font-size:12px}
  .event-flow-progress{top:4px;gap:2px;padding:6px 4px;border-radius:15px}.event-flow-progress button{gap:0;min-height:34px;padding:4px}.event-flow-progress button b{display:none}.event-flow-progress button span{width:24px;height:24px}
  .flow-section{border-radius:17px}.flow-section-head{grid-template-columns:32px minmax(0,1fr) auto;padding:12px}.flow-section-head small{font-size:10px}.flow-section-body{padding:2px 13px 16px}.flow-section-body h2{font-size:21px}.event-type-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.event-type-choice .choice span{padding:9px 5px;font-size:11px;gap:4px}.event-type-choice .choice span i{font-size:16px}.compact-attendance{grid-template-columns:1fr}.flow-actions{position:sticky;bottom:8px;z-index:7;padding:8px;margin:14px -5px -7px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:14px}.flow-actions .btn{flex:1;min-width:0}.date-option{grid-template-columns:1fr 1fr auto!important}.date-option label:first-child{grid-column:1/-1}.date-option .date-remove{grid-column:3;grid-row:2;align-self:end}.event-review-item{grid-template-columns:82px minmax(0,1fr);gap:7px}.event-review-item>i{grid-column:2;justify-self:start}.simplified-home-hero{padding:22px 20px}.simplified-home-hero h1{font-size:34px}.simplified-home-hero p{display:none}.simplified-home-hero>.btn{width:100%}.simplified-home-hero .dashboard-kpis{margin-top:0}.venue-discovery-head p{display:none}.simplified-discovery .venue-discovery-head h2{font-size:21px}.rich-event h3{font-size:23px;margin:18px 0}.event-footer{margin-top:14px}.history-card-compact{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:13px}.history-date{width:50px;height:58px}.section-text-link{font-size:11px;text-align:right}
}

html[data-theme="dark"] .flow-section,html[data-theme="dark"] .flow-section-head,html[data-theme="dark"] .event-flow-progress,html[data-theme="dark"] .event-review-item{background:#201b18!important;border-color:var(--line)!important;color:var(--text)!important}html[data-theme="dark"] .flow-actions{background:rgba(32,27,24,.95)}html[data-theme="dark"] .catalog-venue input:checked+span{background:#3a251f!important}html[data-theme="dark"] .event-action-status,html[data-theme="dark"] .event-venue-choice.is-undecided{background:#2b2522!important;color:#d8ccc6!important}html[data-theme="dark"] .event-action-status.urgent{background:#3c301b!important;color:#f4cb82!important}
.venue-discovery-main>small,.catalog-venue small{color:#655a55}.venue-report-closed{opacity:.78}.venue-report-closed:hover{opacity:1}
html[data-theme="dark"] .compact-help,html[data-theme="dark"] .response-deadline-field small,html[data-theme="dark"] .venue-discovery-main>small,html[data-theme="dark"] .catalog-venue small{color:#c6b9b2!important}

/* AperiSwipe v0.4.10.4 · Home Regione → Città → Locali */
.venue-discovery-controls-three{grid-template-columns:minmax(170px,.7fr) minmax(190px,.8fr) minmax(280px,2fr)}
@media(max-width:900px){.venue-discovery-controls-three{grid-template-columns:1fr 1fr}.venue-discovery-controls-three .venue-discovery-query{grid-column:1/-1}}
@media(max-width:720px){.venue-discovery-controls-three{grid-template-columns:1fr}.venue-discovery-controls-three .venue-discovery-query{grid-column:auto}}


/* AperiSwipe v0.4.10.5 · Home compatta + reset filtri */
.venue-discovery-head{align-items:flex-end;gap:12px}.venue-discovery-clear{flex:0 0 auto;white-space:nowrap}.venue-discovery-results:empty{display:none}.venue-discovery-status:empty{display:none}
.friend-picker .avatar-mini.has-photo{padding:0;flex:0 0 28px}.friend-picker .avatar-mini.has-photo img{border-radius:50%}
@media(max-width:720px){.venue-discovery-head{align-items:flex-start}.venue-discovery-clear{padding:7px 9px;font-size:10px}.friend-picker .avatar-mini{width:30px;height:30px;flex-basis:30px}}

/* AperiSwipe v0.4.10.6 — Editor locali: ruolo + filtri Regione/Città affidabili */
.admin-user-venue-assign[hidden]{display:none!important}
.admin-user-venue-item.is-filtered-out{display:none!important}
.admin-user-venue-filters{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(190px,1fr) minmax(260px,1.5fr);gap:10px;align-items:end;margin:12px 0 10px}
.admin-user-venue-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:var(--muted)}
.admin-user-venue-filters select,.admin-user-venue-filters input{width:100%;min-height:46px;margin:0;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;color:var(--text);font:inherit}
.admin-user-venue-empty{padding:14px 4px;margin:0}
html[data-theme="dark"] .admin-user-venue-filters select,html[data-theme="dark"] .admin-user-venue-filters input{background:#181412!important;color:var(--text)!important;border-color:#65534b!important}
@media(max-width:720px){.admin-user-venue-filters{grid-template-columns:1fr 1fr}.admin-user-venue-search-field{grid-column:1/-1}}

/* v0.4.10.8 — foto profilo nei ricordi e nello storico */
.attendee-avatar-stack i.has-photo,.attendee-chip-list i.has-photo{overflow:hidden;background:#f2ece8;color:transparent;padding:0}
.attendee-avatar-stack i.has-photo img,.attendee-chip-list i.has-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* ========================================================================
   AperiSwipe v0.5.0 — VISUAL REFRESH / PHASE 1
   App utente soltanto: Home, Scopri, Swipe, navigazione e design system.
   ======================================================================== */
body.app-v5{
  --v5-bg:#fbf7f4;
  --v5-surface:rgba(255,255,255,.88);
  --v5-surface-solid:#fff;
  --v5-ink:#1e1917;
  --v5-muted:#786d67;
  --v5-line:rgba(74,50,39,.10);
  --v5-coral:#f4512d;
  --v5-coral-2:#ff7650;
  --v5-peach:#ffe8de;
  --v5-green:#24744f;
  --v5-green-soft:#e8f6ee;
  --v5-shadow:0 18px 48px rgba(61,39,29,.10);
  --v5-shadow-soft:0 10px 30px rgba(61,39,29,.07);
  background:
    radial-gradient(circle at 7% 0%,rgba(255,118,80,.09),transparent 24rem),
    linear-gradient(180deg,#fffaf7 0%,var(--v5-bg) 45%,#fff 100%);
}
body.app-v5 .shell{max-width:1040px;padding-top:20px}
body.app-v5 .topbar{position:sticky;top:0;z-index:45;max-width:1040px;height:68px;padding:0 18px;background:rgba(255,250,247,.80);backdrop-filter:blur(20px) saturate(1.25);border-bottom:1px solid rgba(71,43,31,.06)}
body.app-v5 .topbar .brand-name{letter-spacing:-.035em;font-weight:900}
body.app-v5 .notification-link{border-color:var(--v5-line);box-shadow:0 5px 18px rgba(61,39,29,.06);background:rgba(255,255,255,.82)}
body.app-v5 .btn{border-radius:15px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
body.app-v5 .btn:active{transform:scale(.98)}
body.app-v5 .btn.primary{background:linear-gradient(135deg,var(--v5-coral),var(--v5-coral-2));box-shadow:0 12px 28px rgba(244,81,45,.24)}
body.app-v5 .eyebrow{font-size:11px;letter-spacing:.13em;font-weight:900}
body.app-v5 .section-head h2{font-size:clamp(24px,3vw,31px);letter-spacing:-.045em}

/* Home hero: meno banner, più prodotto consumer */
body.app-v5 .v5-home-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:5px 0 24px;padding:26px 28px;border:1px solid rgba(92,59,44,.09);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,242,235,.92));box-shadow:var(--v5-shadow);overflow:hidden}
body.app-v5 .v5-home-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-85px;top:-105px;background:radial-gradient(circle,rgba(244,81,45,.22),rgba(244,81,45,0) 70%);pointer-events:none}
body.app-v5 .v5-home-greeting{display:flex;align-items:center;gap:14px;min-width:0;z-index:1}
body.app-v5 .v5-home-greeting>div:last-child{min-width:0}
body.app-v5 .v5-home-greeting>div:last-child>span{display:block;font-size:13px;font-weight:850;color:var(--v5-muted);margin-bottom:4px}
body.app-v5 .v5-home-greeting h1{font-size:clamp(34px,5vw,52px);line-height:.98;margin:0 0 8px;letter-spacing:-.055em}
body.app-v5 .v5-home-greeting p{margin:0;color:var(--v5-muted);font-size:13px}
body.app-v5 .v5-home-avatar{width:56px;height:56px;border-radius:19px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,#ffd8c9,#fff1eb);color:var(--v5-coral);font-size:21px;font-weight:950;border:3px solid #fff;box-shadow:0 8px 22px rgba(61,39,29,.10);overflow:hidden}
body.app-v5 .v5-home-avatar img{width:100%;height:100%;object-fit:cover}
body.app-v5 .v5-hero-cta{z-index:1;min-height:48px;padding-inline:18px;gap:8px}
body.app-v5 .v5-hero-cta span{font-size:20px;font-weight:400;line-height:1}
body.app-v5 .v5-kpi-strip{grid-column:1/-1;display:flex;gap:8px;z-index:1}
body.app-v5 .v5-kpi-strip>span{display:flex;align-items:baseline;gap:5px;padding:8px 11px;border-radius:13px;background:rgba(255,255,255,.68);border:1px solid rgba(78,49,36,.07)}
body.app-v5 .v5-kpi-strip b{font-size:16px}
body.app-v5 .v5-kpi-strip small{font-size:10px;color:var(--v5-muted);font-weight:750}

/* Scopri: filtro compatto, risultati visuali */
body.app-v5 .v5-discovery{margin:0 0 32px;padding:22px;border-radius:28px;border:1px solid var(--v5-line);background:rgba(255,255,255,.73);backdrop-filter:blur(16px);box-shadow:var(--v5-shadow-soft)}
body.app-v5 .v5-discovery .venue-discovery-head{margin-bottom:16px}
body.app-v5 .v5-discovery .venue-discovery-head h2{margin:4px 0 2px}
body.app-v5 .v5-discovery .venue-discovery-controls{gap:8px;padding:8px;border-radius:18px;background:#f7f2ef;border:1px solid rgba(69,45,34,.06)}
body.app-v5 .v5-discovery .venue-discovery-controls label{gap:4px}
body.app-v5 .v5-discovery .venue-discovery-controls label>span{padding-left:4px;font-size:9px;letter-spacing:.07em;text-transform:uppercase}
body.app-v5 .v5-discovery .venue-discovery-controls select,
body.app-v5 .v5-discovery .venue-discovery-controls input{min-height:48px;border-radius:13px;border:1px solid transparent;background:#fff;box-shadow:0 3px 12px rgba(61,39,29,.04);font-weight:720}
body.app-v5 .v5-discovery .venue-discovery-controls select:focus,
body.app-v5 .v5-discovery .venue-discovery-controls input:focus{outline:0;border-color:rgba(244,81,45,.42);box-shadow:0 0 0 3px rgba(244,81,45,.09)}
body.app-v5 .venue-discovery-status{margin:12px 3px 3px;font-size:10px}
body.app-v5 .venue-discovery-results{margin-top:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.app-v5 .venue-discovery-card{position:relative;grid-template-columns:98px minmax(0,1fr);align-items:stretch;gap:12px;padding:9px;border:0;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(61,39,29,.07);overflow:hidden}
body.app-v5 .venue-discovery-photo{width:98px;height:100%;min-height:112px;border-radius:15px;background:linear-gradient(145deg,#ffe6dc,#fff3ee)}
body.app-v5 .venue-discovery-main{padding:6px 4px 2px 0}
body.app-v5 .venue-discovery-title strong{font-size:14px;line-height:1.18}
body.app-v5 .venue-discovery-main>small{font-size:10px;line-height:1.3;margin-top:6px}
body.app-v5 .venue-discovery-main p{display:none}
body.app-v5 .venue-discovery-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:1px}
body.app-v5 .venue-discovery-actions .btn{min-width:0!important;width:100%!important;min-height:36px;padding:8px 10px!important;border-radius:12px;font-size:10px!important}
body.app-v5 .venue-discovery-actions .venue-discovery-organize{grid-column:2!important;grid-row:1!important}
body.app-v5 .venue-discovery-actions .venue-discovery-phone{grid-column:1!important;grid-row:1!important}
body.app-v5 .venue-discovery-actions .venue-discovery-site{grid-column:1/-1!important;grid-row:2!important}
body.app-v5 .venue-discovery-actions .venue-report-closed{grid-column:1/-1!important;justify-self:center;font-size:9px;opacity:.6}

/* Prossime uscite: card immersive ma leggibili anche senza foto */
body.app-v5 .v5-upcoming{margin-top:28px}
body.app-v5 .v5-event-card{isolation:isolate;min-height:300px;padding:18px;border:1px solid rgba(79,52,39,.10);border-radius:26px;background:linear-gradient(145deg,#fff,#fff8f4);box-shadow:var(--v5-shadow-soft);transition:transform .2s ease,box-shadow .2s ease}
body.app-v5 .v5-event-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(61,39,29,.14)}
body.app-v5 .v5-event-card.has-venue-photo{background-image:var(--event-photo);background-size:cover;background-position:center;color:#fff;border-color:rgba(255,255,255,.18);box-shadow:0 18px 52px rgba(28,18,14,.24)}
body.app-v5 .v5-event-card .v5-event-shade{position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(20,14,12,.04) 0%,rgba(20,14,12,.08) 34%,rgba(20,14,12,.82) 100%);opacity:0}
body.app-v5 .v5-event-card.has-venue-photo .v5-event-shade{opacity:1}
body.app-v5 .v5-event-card .event-card-accent{height:4px;border-radius:26px 26px 0 0}
body.app-v5 .v5-event-card .tag,body.app-v5 .v5-event-card .status{border:1px solid rgba(79,52,39,.07);backdrop-filter:blur(9px)}
body.app-v5 .v5-event-card.has-venue-photo .tag{background:rgba(24,18,16,.48);color:#fff;border-color:rgba(255,255,255,.14)}
body.app-v5 .v5-event-card.has-venue-photo .status.confirmed{background:rgba(45,137,91,.86);color:#fff;border-color:rgba(255,255,255,.14)}
body.app-v5 .v5-event-core{margin-top:auto;padding-top:30px}
body.app-v5 .v5-event-card h3{font-size:clamp(25px,3vw,32px);letter-spacing:-.045em;margin:10px 0 5px}
body.app-v5 .v5-event-venue{font-size:12px;font-weight:760;color:var(--v5-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.app-v5 .v5-event-card.has-venue-photo .v5-event-venue{color:rgba(255,255,255,.82)}
body.app-v5 .v5-event-card .event-date-big{margin-top:13px}
body.app-v5 .v5-event-card .event-date-big>b{font-size:44px}
body.app-v5 .v5-event-card.has-venue-photo .event-date-big>span,body.app-v5 .v5-event-card.has-venue-photo .event-date-big small{color:#fff}
body.app-v5 .v5-event-card.has-venue-photo .event-booking-phone{background:rgba(20,18,16,.48);border-color:rgba(255,255,255,.17);color:#fff;backdrop-filter:blur(10px)}
body.app-v5 .v5-event-card.has-venue-photo .event-booking-phone small{color:rgba(255,255,255,.65)}
body.app-v5 .v5-event-card.has-venue-photo .event-call-action{background:#fff;color:#1e1917}body.app-v5 .v5-event-card.has-venue-photo .event-book-action{background:#e7682a;color:#fff}body.app-v5 .v5-event-card.has-venue-photo .event-book-action.is-booked{background:#fff;color:#1d6b47}
body.app-v5 .v5-event-card .event-action-status{border-radius:12px}
body.app-v5 .v5-event-card.has-venue-photo .event-action-status{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(10px)}
body.app-v5 .v5-event-card.has-venue-photo .event-footer{color:rgba(255,255,255,.82);border-color:rgba(255,255,255,.16)}
body.app-v5 .upcoming-swipe-row>.v5-event-card{flex-basis:clamp(330px,46vw,450px);width:clamp(330px,46vw,450px)}

/* Ricordo: più emotivo, foto del locale come thumbnail/background */
body.app-v5 .v5-history-card{position:relative;overflow:hidden;min-height:112px;border:0;border-radius:24px;box-shadow:var(--v5-shadow-soft)}
body.app-v5 .v5-history-card.has-photo{background-image:linear-gradient(90deg,rgba(25,18,15,.86),rgba(25,18,15,.58)),var(--history-photo);background-size:cover;background-position:center;color:#fff}
body.app-v5 .v5-history-card.has-photo .history-date{background:rgba(255,238,231,.94)}
body.app-v5 .v5-history-card.has-photo .history-main>small,body.app-v5 .v5-history-card.has-photo .history-attendees>strong,body.app-v5 .v5-history-card.has-photo .row-arrow{color:rgba(255,255,255,.78)}
body.app-v5 .v5-history-card.has-photo .attendee-avatar-stack i{border-color:rgba(255,255,255,.85)}

/* Swipe: immagine protagonista, meno pannello gestionale */
body.app-v5 .venue-swipe-panel{border:0!important;background:transparent!important;box-shadow:none!important;padding:6px 0!important}
body.app-v5 .swipe-head{padding:0 4px 8px}
body.app-v5 .swipe-head h2{font-size:30px;letter-spacing:-.045em;margin-bottom:5px}
body.app-v5 .venue-swipe-stage{max-width:560px;margin-inline:auto;perspective:1000px}
body.app-v5 .venue-swipe-card{overflow:hidden;border:1px solid rgba(70,45,34,.11);border-radius:30px;background:#fff;box-shadow:0 24px 65px rgba(41,26,20,.18);touch-action:pan-y;transform-origin:50% 95%}
body.app-v5 .venue-swipe-photo{height:clamp(340px,58vh,520px);min-height:340px;background:#2a201c}
body.app-v5 .venue-swipe-photo img{width:100%;height:100%;object-fit:cover}
body.app-v5 .venue-swipe-photo:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(23,16,13,.55));pointer-events:none}
body.app-v5 .swipe-stamp{top:22px;padding:9px 13px;border-radius:14px;font-size:15px;letter-spacing:.08em;box-shadow:0 8px 20px rgba(0,0,0,.18)}
body.app-v5 .compatibility-badge{z-index:2;bottom:16px;right:16px;background:rgba(36,116,79,.92);color:#fff;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
body.app-v5 .venue-swipe-content{padding:18px 20px 19px;gap:10px}
body.app-v5 .venue-swipe-content h3{font-size:27px;letter-spacing:-.04em;margin:0 0 4px}
body.app-v5 .venue-swipe-content p{font-size:12px;line-height:1.35;max-width:90%}
body.app-v5 .venue-group-score{min-width:68px;border-radius:15px;background:#f7f2ef;padding:9px}
body.app-v5 .venue-swipe-actions{max-width:430px;margin:18px auto 0;gap:26px;justify-content:center}
body.app-v5 .swipe-action{width:70px;height:70px;border-radius:50%!important;padding:0!important;font-size:0!important;box-shadow:0 12px 30px rgba(31,20,16,.15);transition:transform .16s ease}
body.app-v5 .swipe-action:hover{transform:translateY(-3px) scale(1.02)}
body.app-v5 .swipe-action span{font-size:30px!important;margin:0!important}
body.app-v5 .swipe-action.pass{background:#fff!important;border:1px solid #f1cbc2!important;color:var(--v5-coral)!important}
body.app-v5 .swipe-action.like{background:linear-gradient(135deg,#388a5e,#6dbb86)!important;border:0!important;color:#fff!important}
body.app-v5 .swipe-help{opacity:.55;font-size:10px}

/* Bottom nav: floating, chiara, pulsante Organizza centrale */
@media(max-width:720px){
  body.app-v5{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  body.app-v5 .shell{padding-left:13px;padding-right:13px;padding-bottom:24px!important}
  body.app-v5 .topbar{height:60px;padding-inline:13px;background:rgba(255,250,247,.88)}
  body.app-v5 .topbar .brand-logo{width:38px;height:30px}
  body.app-v5 .v5-bottom-nav.mobile-app-nav{display:flex!important;align-items:center!important;justify-content:space-around!important;gap:2px!important;left:10px!important;right:10px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:calc(100vw - 20px)!important;height:62px!important;padding:5px 7px!important;border-radius:22px!important;border:1px solid rgba(73,48,37,.09)!important;background:rgba(255,255,255,.91)!important;backdrop-filter:blur(22px) saturate(1.35)!important;box-shadow:0 14px 38px rgba(45,29,22,.18)!important;overflow:visible!important}
  body.app-v5 .v5-bottom-nav .mobile-nav-item{flex:1 1 0!important;min-width:0!important;height:50px!important;padding:4px 2px!important;color:#8b7e78!important;font-size:14px!important}
  body.app-v5 .v5-bottom-nav .mobile-nav-item svg{width:20px;height:20px;stroke-width:1.8}
  body.app-v5 .v5-bottom-nav .mobile-nav-item b{font-size:8.5px!important;font-weight:800!important}
  body.app-v5 .v5-bottom-nav .mobile-nav-item.is-active{color:var(--v5-coral)!important}
  body.app-v5 .v5-bottom-nav .mobile-nav-admin{flex:.78 1 0!important}
  body.app-v5 .v5-nav-create.mobile-nav-create{position:relative!important;flex:0 0 52px!important;width:52px!important;height:52px!important;border-radius:18px!important;margin:-16px 1px 0!important;border:4px solid rgba(255,255,255,.96)!important;background:linear-gradient(145deg,var(--v5-coral),var(--v5-coral-2))!important;color:#fff!important;box-shadow:0 12px 28px rgba(244,81,45,.34)!important}
  body.app-v5 .v5-nav-create span{font-size:29px!important}

  body.app-v5 .v5-home-hero{grid-template-columns:1fr;padding:18px 17px;border-radius:24px;gap:13px}
  body.app-v5 .v5-home-avatar{width:48px;height:48px;border-radius:16px}
  body.app-v5 .v5-home-greeting{align-items:flex-start}
  body.app-v5 .v5-home-greeting h1{font-size:32px;margin-top:1px}
  body.app-v5 .v5-home-greeting p{display:none}
  body.app-v5 .v5-hero-cta{width:100%;min-height:45px}
  body.app-v5 .v5-kpi-strip{gap:5px}
  body.app-v5 .v5-kpi-strip>span{flex:1;justify-content:center;padding:7px 5px;gap:3px}
  body.app-v5 .v5-kpi-strip b{font-size:14px}
  body.app-v5 .v5-kpi-strip small{font-size:8px}

  body.app-v5 .v5-discovery{padding:16px 13px;border-radius:23px}
  body.app-v5 .v5-discovery .venue-discovery-head{align-items:flex-start}
  body.app-v5 .v5-discovery .venue-discovery-head h2{font-size:23px}
  body.app-v5 .v5-discovery .venue-discovery-controls{display:grid!important;grid-template-columns:1fr 1fr!important;padding:7px}
  body.app-v5 .v5-discovery .venue-discovery-query{grid-column:1/-1!important}
  body.app-v5 .v5-discovery .venue-discovery-controls select,body.app-v5 .v5-discovery .venue-discovery-controls input{min-height:45px;font-size:12px}
  body.app-v5 .venue-discovery-results{grid-template-columns:1fr}
  body.app-v5 .venue-discovery-card{grid-template-columns:82px minmax(0,1fr)}
  body.app-v5 .venue-discovery-photo{width:82px;min-height:94px}

  body.app-v5 .upcoming-swipe-row>.v5-event-card{flex-basis:calc(100vw - 44px);width:calc(100vw - 44px);min-height:310px}
  body.app-v5 .v5-event-card{padding:16px;border-radius:24px}
  body.app-v5 .v5-event-card h3{font-size:27px}
  body.app-v5 .v5-event-card .event-date-big>b{font-size:40px}
  body.app-v5 .v5-history-card{padding:14px}

  body.app-v5 .swipe-head h2{font-size:25px}
  body.app-v5 .venue-swipe-stage{max-width:100%}
  body.app-v5 .venue-swipe-card{border-radius:26px}
  body.app-v5 .venue-swipe-photo{height:min(58vh,460px);min-height:310px}
  body.app-v5 .venue-swipe-content{padding:15px 16px}
  body.app-v5 .venue-swipe-content h3{font-size:24px}
  body.app-v5 .swipe-action{width:64px!important;height:64px!important}
}

/* Dark mode v5: nightlife, non semplice inversione */
html[data-theme="dark"] body.app-v5{
  --v5-bg:#151311;--v5-surface:rgba(31,27,24,.90);--v5-surface-solid:#211d1a;--v5-ink:#f8f2ef;--v5-muted:#b9aca5;--v5-line:rgba(255,255,255,.10);--v5-shadow:0 20px 58px rgba(0,0,0,.34);--v5-shadow-soft:0 12px 38px rgba(0,0,0,.24);
  background:radial-gradient(circle at 8% 0%,rgba(244,81,45,.13),transparent 25rem),linear-gradient(180deg,#171411,#12100f);
}
html[data-theme="dark"] body.app-v5 .topbar{background:rgba(20,17,15,.88)!important;border-bottom-color:rgba(255,255,255,.06)!important}
html[data-theme="dark"] body.app-v5 .v5-home-hero{background:linear-gradient(135deg,#211b18,#2d211c);border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] body.app-v5 .v5-home-greeting>div:last-child>span,html[data-theme="dark"] body.app-v5 .v5-home-greeting p{color:#bfaea6}
html[data-theme="dark"] body.app-v5 .v5-kpi-strip>span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.06)}
html[data-theme="dark"] body.app-v5 .v5-discovery{background:rgba(31,27,24,.84)!important;border-color:rgba(255,255,255,.08)!important}
html[data-theme="dark"] body.app-v5 .v5-discovery .venue-discovery-controls{background:#171411;border-color:rgba(255,255,255,.06)}
html[data-theme="dark"] body.app-v5 .v5-discovery .venue-discovery-controls select,html[data-theme="dark"] body.app-v5 .v5-discovery .venue-discovery-controls input{background:#25201d!important;border-color:rgba(255,255,255,.06)!important;color:#f8f2ef!important}
html[data-theme="dark"] body.app-v5 .venue-discovery-card,html[data-theme="dark"] body.app-v5 .v5-event-card:not(.has-venue-photo),html[data-theme="dark"] body.app-v5 .venue-swipe-card{background:#211d1a!important;border-color:rgba(255,255,255,.08)!important}
html[data-theme="dark"] body.app-v5 .v5-bottom-nav.mobile-app-nav{background:rgba(29,25,22,.92)!important;border-color:rgba(255,255,255,.08)!important}
html[data-theme="dark"] body.app-v5 .v5-nav-create.mobile-nav-create{border-color:#1d1916!important}
html[data-theme="dark"] body.app-v5 .venue-group-score{background:#171411}
/* v0.5.0 layering fix: overlay della foto sopra il background, contenuto sopra l'overlay. */
body.app-v5 .v5-event-card .v5-event-shade{z-index:0}
body.app-v5 .v5-event-card>*:not(.v5-event-shade){position:relative;z-index:1}


/* AperiSwipe v0.5.0.2 — Dark Contrast Pass + cover regionali */
/* Le cover regionali sono fallback visuali: overlay più deciso per non sembrare foto del locale. */
body.app-v5 .v5-event-card.region-fallback .v5-event-shade{
  background:linear-gradient(180deg,rgba(20,14,12,.13) 0%,rgba(20,14,12,.30) 38%,rgba(20,14,12,.90) 100%);
}
body.app-v5 .v5-history-card.region-fallback{
  background-image:linear-gradient(90deg,rgba(25,18,15,.90),rgba(25,18,15,.68)),var(--history-photo);
}
body.app-v5 .venue-photo-placeholder,
body.app-v5 .venue-photo-fallback{background:linear-gradient(145deg,#ffe4d9,#fff5ef)}

/* Notifiche: in dark non possono ereditare testo chiaro sopra card bianche. */
html[data-theme="dark"] body.app-v5 .notification-section{
  background:transparent!important;border-color:transparent!important;box-shadow:none!important;
}
html[data-theme="dark"] body.app-v5 .notification-row{
  background:#211d1a!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#f8f2ef!important;
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
html[data-theme="dark"] body.app-v5 .notification-row.is-unread{
  background:linear-gradient(135deg,#2c211d,#251b18)!important;
  border-color:rgba(244,81,45,.38)!important;
  box-shadow:inset 3px 0 0 #f4512d,0 12px 34px rgba(0,0,0,.20);
}
html[data-theme="dark"] body.app-v5 .notification-row b{color:#fff!important;font-weight:850}
html[data-theme="dark"] body.app-v5 .notification-row small,
html[data-theme="dark"] body.app-v5 .notification-row time{color:#c8b9b2!important}
html[data-theme="dark"] body.app-v5 .notification-row .row-arrow{color:#bdaaa1!important}
html[data-theme="dark"] body.app-v5 .notification-icon{
  background:#3b231d!important;color:#fff!important;border:1px solid rgba(244,81,45,.18)
}
html[data-theme="dark"] body.app-v5 .notification-link{
  background:#211d1a!important;border-color:rgba(255,255,255,.12)!important;color:#f8f2ef!important;
}
html[data-theme="dark"] body.app-v5 .notification-link svg{stroke:#f8f2ef!important}

/* Pass di contrasto sui principali componenti v5 che in light hanno superfici bianche esplicite. */
html[data-theme="dark"] body.app-v5 .v5-discovery .venue-discovery-controls input::placeholder{color:#9f918a!important}
html[data-theme="dark"] body.app-v5 .venue-discovery-card strong,
html[data-theme="dark"] body.app-v5 .venue-swipe-content h3,
html[data-theme="dark"] body.app-v5 .v5-event-card:not(.has-venue-photo) h3,
html[data-theme="dark"] body.app-v5 .v5-history-card:not(.has-photo) b{color:#f8f2ef!important}
html[data-theme="dark"] body.app-v5 .venue-discovery-card small,
html[data-theme="dark"] body.app-v5 .venue-swipe-content p,
html[data-theme="dark"] body.app-v5 .v5-event-card:not(.has-venue-photo) .v5-event-venue,
html[data-theme="dark"] body.app-v5 .v5-history-card:not(.has-photo) small{color:#c0b1aa!important}
html[data-theme="dark"] body.app-v5 .swipe-action.pass{background:#211d1a!important;border-color:#6f4136!important;color:#ff7453!important}
html[data-theme="dark"] body.app-v5 .page-head h1,
html[data-theme="dark"] body.app-v5 .section-head h2{color:#f8f2ef!important}
html[data-theme="dark"] body.app-v5 .page-sub{color:#c3b3ac!important}

@media(max-width:720px){
  html[data-theme="dark"] body.app-v5 .notification-list{gap:10px}
  html[data-theme="dark"] body.app-v5 .notification-row{padding:13px;border-radius:18px}
}


/* AperiSwipe v0.5.1 — Notification filters, Admin nav polish, compact attendance */
.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.notification-filters{display:inline-flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#f7f2ef}
.notification-filters a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:850;transition:.15s ease}
.notification-filters a span{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:rgba(117,106,101,.10);font-size:10px}
.notification-filters a.is-active{background:#fff;color:var(--text);box-shadow:0 4px 14px rgba(42,27,21,.08)}
.notification-filters a.is-active span{background:var(--brand-soft);color:var(--brand)}
.notification-read-all{margin:0}.notification-read-all .btn{padding:9px 12px;border-radius:999px;font-size:11px;box-shadow:none}
.notification-row.is-read{opacity:.82}

/* Admin: icona più semplice e leggibile nella barra flottante. */
body.app-v5 .v5-bottom-nav .mobile-nav-admin-v51 svg{width:21px!important;height:21px!important;stroke-width:1.9!important}
body.app-v5 .v5-bottom-nav .mobile-nav-admin-v51>span{height:22px!important}

/* Gestisci evento: la partecipazione effettiva deve seguire il contenuto, non creare una grande area vuota. */
body.app-v5 .attendance-panel{display:block!important;min-height:0!important;height:auto!important;align-self:start!important;padding:20px!important}
body.app-v5 .attendance-panel .section-head{margin-bottom:0!important}
body.app-v5 .attendance-panel>p{margin:7px 0 12px!important}
body.app-v5 .attendance-list{margin:10px 0 14px!important;align-items:start!important}
body.app-v5 .attendance-list label{min-height:62px!important;height:auto!important;margin:0!important}
body.app-v5 .attendance-panel>.btn{width:auto!important;min-width:170px}

html[data-theme="dark"] body.app-v5 .notification-filters{background:#171411!important;border-color:rgba(255,255,255,.10)!important}
html[data-theme="dark"] body.app-v5 .notification-filters a{color:#bfaea6!important}
html[data-theme="dark"] body.app-v5 .notification-filters a span{background:rgba(255,255,255,.07)!important;color:#c9bbb4!important}
html[data-theme="dark"] body.app-v5 .notification-filters a.is-active{background:#2a231f!important;color:#fff!important;box-shadow:none!important}
html[data-theme="dark"] body.app-v5 .notification-filters a.is-active span{background:#4a2a21!important;color:#ff896c!important}
html[data-theme="dark"] body.app-v5 .notification-read-all .btn{background:#211d1a!important;border-color:rgba(255,255,255,.10)!important;color:#f8f2ef!important}
html[data-theme="dark"] body.app-v5 .attendance-list label{background:#211d1a!important;border-color:rgba(255,255,255,.10)!important;color:#f8f2ef!important}

@media(max-width:720px){
  .notification-toolbar{align-items:stretch}.notification-filters{width:100%;display:grid;grid-template-columns:1fr 1fr}.notification-filters a{justify-content:center}.notification-read-all{width:100%}.notification-read-all .btn{width:100%}
  body.app-v5 .attendance-panel{padding:16px!important}
  body.app-v5 .attendance-panel>.btn{width:100%!important}
}

/* AperiSwipe v0.5.1.1 — Dark Mode full polish + regional art fallback */
/* Organizza: nessuna superficie chiara deve sopravvivere nel tema scuro. */
html[data-theme="dark"] body.app-v5 .response-deadline-field,
html[data-theme="dark"] body.app-v5 .email-invite-card,
html[data-theme="dark"] body.app-v5 .invite-registration-note,
html[data-theme="dark"] body.app-v5 .auto-choice-note,
html[data-theme="dark"] body.app-v5 .friend-group-card,
html[data-theme="dark"] body.app-v5 .danger-zone{
  background:#211d1a!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#f8f2ef!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.app-v5 .response-deadline-field label,
html[data-theme="dark"] body.app-v5 .response-deadline-field b{color:#f8f2ef!important}
html[data-theme="dark"] body.app-v5 .response-deadline-field .optional{color:#ff8e72!important}
html[data-theme="dark"] body.app-v5 .response-deadline-field>small{color:#bfaea6!important}

/* Azioni secondarie: niente bottoni bianchi in dark. */
html[data-theme="dark"] body.app-v5 .mini-add-btn,
html[data-theme="dark"] body.app-v5 .theme-system-btn{
  background:#25201d!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#ff7a5c!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.app-v5 .mini-add-btn:hover,
html[data-theme="dark"] body.app-v5 .theme-system-btn:hover{background:#302722!important}
html[data-theme="dark"] body.app-v5 .date-remove,
html[data-theme="dark"] body.app-v5 .friend-remove-btn,
html[data-theme="dark"] body.app-v5 .icon-danger-btn{
  background:#321d1d!important;
  border-color:#684040!important;
  color:#ff9d93!important;
}

/* Continua disabilitato: chiaramente inattivo ma sempre leggibile. */
html[data-theme="dark"] body.app-v5 .flow-actions .btn.primary:disabled,
html[data-theme="dark"] body.app-v5 [data-flow-next]:disabled,
html[data-theme="dark"] body.app-v5 [data-final-submit]:disabled{
  opacity:1!important;
  background:#473028!important;
  color:#bdaaa2!important;
  border:1px solid #5b4037!important;
  box-shadow:none!important;
  filter:none!important;
}
html[data-theme="dark"] body.app-v5 .flow-actions .btn.ghost{
  background:#181412!important;
  border-color:#51433c!important;
  color:#f5ece8!important;
}

/* Step e riepiloghi: contrasto leggibile anche sui verdi di completamento. */
html[data-theme="dark"] body.app-v5 .flow-section.is-complete .flow-section-head small{color:#9fd2b6!important}
html[data-theme="dark"] body.app-v5 .flow-section.is-complete .flow-section-head small:before{color:#796b64!important}
html[data-theme="dark"] body.app-v5 .flow-section.is-complete .editor-step,
html[data-theme="dark"] body.app-v5 .event-flow-progress button.complete span{
  background:#193528!important;
  color:#9ee0bb!important;
}
html[data-theme="dark"] body.app-v5 .flow-section-head>i{color:#ad9e96!important}
html[data-theme="dark"] body.app-v5 .flow-section-head small{color:#c4b5ae!important}
html[data-theme="dark"] body.app-v5 .field-label,
html[data-theme="dark"] body.app-v5 .date-option label,
html[data-theme="dark"] body.app-v5 .date-option label>span{color:#c8b9b2!important}
html[data-theme="dark"] body.app-v5 .field-required,
html[data-theme="dark"] body.app-v5 .date-option label>span em{color:#ff8265!important}

/* Campi e picker user-facing: stessa superficie scura e focus coerente. */
html[data-theme="dark"] body.app-v5 .event-editor-progressive input,
html[data-theme="dark"] body.app-v5 .event-editor-progressive select,
html[data-theme="dark"] body.app-v5 .event-editor-progressive textarea,
html[data-theme="dark"] body.app-v5 .friend-search-card input,
html[data-theme="dark"] body.app-v5 .collection-search input{
  background:#181412!important;
  border-color:#51433c!important;
  color:#f8f2ef!important;
}
html[data-theme="dark"] body.app-v5 .event-editor-progressive input:focus,
html[data-theme="dark"] body.app-v5 .event-editor-progressive select:focus,
html[data-theme="dark"] body.app-v5 .event-editor-progressive textarea:focus{
  border-color:#f4512d!important;
  box-shadow:0 0 0 3px rgba(244,81,45,.16)!important;
}
html[data-theme="dark"] body.app-v5 .event-editor-progressive input::placeholder,
html[data-theme="dark"] body.app-v5 .event-editor-progressive textarea::placeholder{color:#897b74!important}

/* Altre card che avevano ancora un background light hard-coded. */
html[data-theme="dark"] body.app-v5 .friend-search-card,
html[data-theme="dark"] body.app-v5 .friend-row,
html[data-theme="dark"] body.app-v5 .friend-tile,
html[data-theme="dark"] body.app-v5 .soft-empty,
html[data-theme="dark"] body.app-v5 .group-member-picker label>span,
html[data-theme="dark"] body.app-v5 .friend-list-picker label>span,
html[data-theme="dark"] body.app-v5 .city-options,
html[data-theme="dark"] body.app-v5 .city-option{
  background:#211d1a!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#f8f2ef!important;
}
html[data-theme="dark"] body.app-v5 .friend-row small,
html[data-theme="dark"] body.app-v5 .friend-tile small,
html[data-theme="dark"] body.app-v5 .soft-empty small{color:#bfaea6!important}

/* Stati rossi/cancellati: scuri, non bianco/rosa acceso. */
html[data-theme="dark"] body.app-v5 .cancelled-card,
html[data-theme="dark"] body.app-v5 .rsvp-no{
  background:#2f1b1b!important;
  border-color:#65403f!important;
  color:#ffaaa0!important;
}

/* Su mobile la sticky action bar è una superficie scura vera. */
@media(max-width:720px){
  html[data-theme="dark"] body.app-v5 .flow-actions{
    background:rgba(25,21,19,.96)!important;
    border:1px solid rgba(255,255,255,.07)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
  }
}

/* Le cover regionali sono illustrazioni editoriali, non foto del locale. */
body.app-v5 .region-fallback{position:relative}
body.app-v5 .region-fallback:after{
  content:'Cover regionale';
  position:absolute;
  top:13px;
  right:13px;
  z-index:2;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(20,14,12,.58);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
  pointer-events:none;
}
body.app-v5 .v5-history-card.region-fallback:after{top:9px;right:9px;font-size:7px;padding:4px 6px}

/* AperiSwipe v0.5.1.2 — Event cards, dark imagery, notifications spacing, Italian dates */
/* Uscite usa le stesse card immersive della Home. */
body.app-v5 .v5-events-index-grid>.v5-event-card{flex-basis:clamp(330px,46vw,450px);width:clamp(330px,46vw,450px)}
body.app-v5 .v5-events-history-list .v5-history-card{min-height:118px}

/* Le immagini/fallback regionali devono restare visibili anche in dark mode. */
html[data-theme="dark"] body.app-v5 .v5-event-card.has-venue-photo{
  background-color:#211d1a!important;
  background-image:var(--event-photo)!important;
  background-size:cover!important;
  background-position:center!important;
  border-color:rgba(255,255,255,.12)!important;
}
html[data-theme="dark"] body.app-v5 .v5-event-card.has-venue-photo .v5-event-shade{opacity:1!important}
html[data-theme="dark"] body.app-v5 .v5-history-card.has-photo{
  background-color:#211d1a!important;
  background-image:linear-gradient(90deg,rgba(18,14,12,.91),rgba(18,14,12,.56)),var(--history-photo)!important;
  background-size:cover!important;
  background-position:center!important;
  border-color:rgba(255,255,255,.10)!important;
}

/* Data: mesi italiani e trattamento coerente in dark. */
html[data-theme="dark"] body.app-v5 .v5-event-card .event-date-big{
  width:max-content;
  padding:9px 12px;
  border-radius:15px;
  background:#191513;
  border:1px solid rgba(255,255,255,.09);
}
html[data-theme="dark"] body.app-v5 .v5-event-card.has-venue-photo .event-date-big{
  background:rgba(18,14,12,.50);
  border-color:rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
}
html[data-theme="dark"] body.app-v5 .v5-event-card .event-date-big>b{color:#f8f2ef!important}
html[data-theme="dark"] body.app-v5 .v5-event-card .event-date-big>span{color:#ff7453!important}
html[data-theme="dark"] body.app-v5 .v5-event-card .event-date-big small{color:#c8b9b2!important}
html[data-theme="dark"] body.app-v5 .v5-event-card.has-venue-photo .event-date-big>span,
html[data-theme="dark"] body.app-v5 .v5-event-card.has-venue-photo .event-date-big small{color:#fff!important}
html[data-theme="dark"] body.app-v5 .history-date,
html[data-theme="dark"] body.app-v5 .v5-history-card.has-photo .history-date{
  background:#2d211d!important;
  border:1px solid #5a3930!important;
  color:#ff7453!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.app-v5 .history-date b,
html[data-theme="dark"] body.app-v5 .history-date span{color:inherit!important}

/* Notifiche: numero/freccia non attaccati ai bordi. */
body.app-v5 .notification-link span{right:-2px;top:-4px}
body.app-v5 .notification-row{padding-left:16px;padding-right:18px}
body.app-v5 .notification-row .row-arrow{margin-left:5px;padding-right:2px;line-height:1}
html[data-theme="dark"] body.app-v5 .notification-row{padding-left:16px!important;padding-right:18px!important}
html[data-theme="dark"] body.app-v5 .notification-link span{right:-2px!important;top:-4px!important}

/* In Organizza il badge Aperitivo/Cena è informativo: non deve nascondere locali reali. */
body.app-v5 .catalog-venue[data-venue-usage]{display:flex}

@media(max-width:720px){
  body.app-v5 .v5-events-index-grid>.v5-event-card{flex-basis:calc(100vw - 44px);width:calc(100vw - 44px);min-height:310px}
  body.app-v5 .notification-row{padding-left:15px!important;padding-right:18px!important;gap:11px}
  body.app-v5 .notification-row .row-arrow{margin-right:2px}
}


/* AperiSwipe v0.5.1.3 — venue cards visuali compatte + accent allineato */
body.app-v5 .v5-event-card .event-card-accent{top:0!important;left:0!important;right:0!important;width:100%!important;border-radius:26px 26px 0 0!important}

/* Organizza / Modifica: stessa estetica visuale della Home, ma card sottili. */
body.app-v5 .compact-catalog{gap:9px}
body.app-v5 .catalog-venue.catalog-venue-visual{display:block!important;min-width:0}
body.app-v5 .catalog-venue.catalog-venue-visual>span{
  position:relative;isolation:isolate;display:flex!important;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  min-height:124px!important;height:auto;padding:12px 13px!important;border:1px solid rgba(70,45,34,.12)!important;border-radius:18px!important;
  overflow:hidden;background:linear-gradient(145deg,#fff2ec,#f7e6de)!important;background-size:cover!important;background-position:center!important;
  box-shadow:0 7px 20px rgba(42,27,21,.07);color:#fff!important;
}
body.app-v5 .catalog-venue.catalog-venue-visual.has-photo>span{background-image:var(--catalog-photo)!important}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-shade{position:absolute!important;z-index:-1!important;inset:0!important;width:auto!important;height:auto!important;border-radius:inherit!important;background:linear-gradient(180deg,rgba(18,13,11,.16),rgba(18,13,11,.42) 52%,rgba(18,13,11,.90))!important}
body.app-v5 .catalog-venue.catalog-venue-visual.region-fallback .catalog-venue-shade{background:linear-gradient(180deg,rgba(18,13,11,.10),rgba(18,13,11,.34) 45%,rgba(18,13,11,.88))!important}
body.app-v5 .catalog-venue.catalog-venue-visual b{position:relative;z-index:1;font-size:14px!important;line-height:1.15;color:#fff!important;max-width:calc(100% - 26px)}
body.app-v5 .catalog-venue.catalog-venue-visual>span>small:not(.venue-photo-credit):not(.catalog-region-chip){position:relative;z-index:1;margin-top:3px;color:rgba(255,255,255,.80)!important;font-size:10px!important;line-height:1.2!important;max-width:100%;-webkit-line-clamp:1!important}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-usage-badge{position:relative;z-index:2;grid-column:auto!important;grid-row:auto!important;margin:7px 0 0!important;background:rgba(25,18,15,.62)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;backdrop-filter:blur(8px)}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-region-chip{position:absolute;z-index:2;top:10px;left:11px;padding:4px 7px;border-radius:999px;background:rgba(244,81,45,.88);color:#fff!important;font-size:8px!important;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
body.app-v5 .catalog-venue.catalog-venue-visual.region-fallback>span{padding-top:34px!important}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-phone{position:absolute;z-index:3;right:10px;bottom:10px;display:flex!important;gap:5px;margin:0;color:#fff}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-phone a{background:rgba(47,119,82,.92);backdrop-filter:blur(8px)}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-phone b{display:none}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-report{position:absolute;z-index:3;left:12px;bottom:11px;margin:0;color:rgba(255,255,255,.80)!important;font-size:9px;text-decoration:underline;text-underline-offset:2px}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-photo-credit{position:absolute;z-index:2;right:8px;top:7px;max-width:46%;color:rgba(255,255,255,.68)!important;font-size:7px!important;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.app-v5 .catalog-venue.catalog-venue-visual input:checked+span{border-color:#ff7355!important;box-shadow:0 0 0 3px rgba(244,81,45,.23),0 10px 28px rgba(42,27,21,.12)!important;background-color:transparent!important}
body.app-v5 .catalog-venue.catalog-venue-visual input:checked+span:after{right:10px;top:10px;z-index:4;border:2px solid rgba(255,255,255,.86)}

/* Home > Scopri: full-bleed, ma volutamente più sottile delle card evento. */
body.app-v5 .venue-discovery-card.venue-discovery-visual{position:relative;isolation:isolate;display:flex!important;flex-direction:column;justify-content:flex-end;min-height:128px;padding:13px!important;border:1px solid rgba(70,45,34,.10)!important;border-radius:19px;background:linear-gradient(145deg,#f6dfd5,#fff1eb)!important;background-size:cover!important;background-position:center!important;overflow:hidden;color:#fff;box-shadow:0 8px 24px rgba(42,27,21,.08)}
body.app-v5 .venue-discovery-card.venue-discovery-visual.has-photo{background-image:var(--discovery-photo)!important}
body.app-v5 .venue-discovery-visual .venue-discovery-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(17,12,10,.10),rgba(17,12,10,.30) 42%,rgba(17,12,10,.91));border-radius:inherit}
body.app-v5 .venue-discovery-visual.region-fallback .venue-discovery-shade{background:linear-gradient(180deg,rgba(17,12,10,.06),rgba(17,12,10,.26) 42%,rgba(17,12,10,.88))}
body.app-v5 .venue-discovery-visual .venue-discovery-main{position:relative;z-index:1;padding:0!important;min-width:0}
body.app-v5 .venue-discovery-visual .venue-discovery-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
body.app-v5 .venue-discovery-visual .venue-discovery-title strong{font-size:14px;color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.25)}
body.app-v5 .venue-discovery-visual .venue-discovery-title .venue-usage-badge{background:rgba(24,18,16,.60)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
body.app-v5 .venue-discovery-visual .venue-region-label{padding:4px 7px;border-radius:999px;background:rgba(244,81,45,.88);color:#fff;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
body.app-v5 .venue-discovery-visual .venue-discovery-main>small{display:block;margin-top:5px;color:rgba(255,255,255,.78)!important;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.app-v5 .venue-discovery-visual .venue-discovery-actions{position:relative;z-index:2;grid-column:auto!important;display:flex!important;align-items:center;gap:6px;margin-top:9px}
body.app-v5 .venue-discovery-visual .venue-discovery-actions .btn{width:auto!important;min-height:30px!important;padding:6px 9px!important;border-radius:999px!important;font-size:9px!important;box-shadow:none!important}
body.app-v5 .venue-discovery-visual .venue-discovery-phone{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important;backdrop-filter:blur(8px)}
body.app-v5 .venue-discovery-visual .venue-discovery-organize{margin-left:auto;background:var(--brand)!important;color:#fff!important}
body.app-v5 .venue-discovery-visual .venue-report-closed{color:rgba(255,255,255,.72)!important;font-size:8px!important;white-space:nowrap}

/* Il dark mode non deve cancellare foto e cover. */
html[data-theme="dark"] body.app-v5 .catalog-venue.catalog-venue-visual>span,
html[data-theme="dark"] body.app-v5 .catalog-venue.catalog-venue-visual input:checked+span,
html[data-theme="dark"] body.app-v5 .venue-discovery-card.venue-discovery-visual{background-color:#211d1a!important;border-color:rgba(255,255,255,.10)!important;color:#fff!important}
html[data-theme="dark"] body.app-v5 .catalog-venue.catalog-venue-visual.has-photo>span{background-image:var(--catalog-photo)!important}
html[data-theme="dark"] body.app-v5 .venue-discovery-card.venue-discovery-visual.has-photo{background-image:var(--discovery-photo)!important}

@media(max-width:720px){
  body.app-v5 .compact-catalog{gap:8px}
  body.app-v5 .catalog-venue.catalog-venue-visual>span{min-height:120px!important;padding:11px 12px!important}
  body.app-v5 .catalog-venue.catalog-venue-visual.region-fallback>span{padding-top:33px!important}
  body.app-v5 .venue-discovery-card.venue-discovery-visual{min-height:122px;padding:12px!important}
  body.app-v5 .venue-discovery-results{grid-template-columns:1fr!important}
}
/* v0.5.1.3 compact tuning: informazioni sopra, azioni sotto senza aumentare troppo l'altezza. */
body.app-v5 .catalog-venue.catalog-venue-visual>span{padding:34px 12px 36px!important}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-usage-badge{position:absolute!important;z-index:3;top:10px;right:10px;margin:0!important;max-width:52%!important;white-space:nowrap!important}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-region-chip{top:10px;left:11px;max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.app-v5 .catalog-venue.catalog-venue-visual:not(.region-fallback)>span{padding-top:34px!important}
body.app-v5 .catalog-venue.catalog-venue-visual input:checked+span:after{top:42px!important;right:10px!important}
@media(max-width:720px){body.app-v5 .catalog-venue.catalog-venue-visual>span{min-height:120px!important;padding:34px 11px 35px!important}}


/* AperiSwipe v0.5.1.7 — bordo stato card + fallback regionale silenzioso */
body.app-v5 .region-fallback:after{display:none!important;content:none!important}
body.app-v5 .v5-event-card{position:relative;overflow:hidden;border:0!important}
body.app-v5 .v5-event-card .event-card-accent{display:none!important}
body.app-v5 .v5-event-card:before{
  content:"";position:absolute;z-index:8;top:0;left:0;right:0;height:6px;
  border-radius:26px 26px 0 0;pointer-events:none;
  background:linear-gradient(90deg,#f2a43a,#ffd183);
}
body.app-v5 .v5-event-card.is-confirmed:before{background:linear-gradient(90deg,#3dbb78,#83ddb0)}
body.app-v5 .v5-event-card.is-pending:before{background:linear-gradient(90deg,#f2a43a,#ffd183)}
body.app-v5 .v5-event-card.needs-attention:before{background:linear-gradient(90deg,#e59326,#ffbd5a)}

/* AperiSwipe v0.5.2 — Preferiti, topbar ruoli, swipe allineato, cover senza etichette */
body.app-v5 .catalog-region-chip,
body.app-v5 .venue-region-label{display:none!important}
body.app-v5 .catalog-venue.catalog-venue-visual.region-fallback>span{padding-top:34px!important}

.header-role-link{position:relative;width:36px;height:36px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:0 0 36px;color:var(--brand)}
.header-role-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.header-role-link:hover{background:var(--brand-soft,#fff0ea)}
html[data-theme="dark"] .header-role-link{background:#211b18!important;border-color:#4d4039!important;color:#ff7453!important}
body.app-v5 .header-role-link{border-color:var(--v5-line);box-shadow:0 5px 18px rgba(61,39,29,.06);background:rgba(255,255,255,.82)}
html[data-theme="dark"] body.app-v5 .header-role-link{background:#211d1a!important;border-color:rgba(255,255,255,.08)!important}

/* Bottom bar: 5 sezioni stabili, senza pulsante + e senza Admin. */
@media(max-width:720px){
  body.app-v5 .v5-bottom-nav.mobile-app-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;justify-content:stretch!important;gap:2px!important}
  body.app-v5 .v5-bottom-nav .mobile-nav-item{width:100%!important;flex:none!important}
  body.app-v5 .v5-bottom-nav .mobile-nav-favorites svg{width:21px;height:21px}
  body.app-v5 .topbar nav{gap:5px!important}
  body.app-v5 .topbar .install-nav-auth{padding:7px 9px!important;font-size:11px!important}
  body.app-v5 .topbar .header-role-link,body.app-v5 .topbar .notification-link{width:33px;height:33px;flex-basis:33px}
}
@media(max-width:390px){
  body.app-v5 .topbar .install-nav-auth{font-size:10px!important;padding:7px!important}
}

/* Stella preferiti sulle card dei locali. */
.venue-favorite{position:absolute;z-index:8;top:10px;left:10px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.42);background:rgba(26,20,17,.48);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.12)}
.venue-favorite span{font-size:19px;line-height:1;transform:translateY(-1px)}
.venue-favorite.is-favorite{background:#fff3cf;color:#a96b00;border-color:#ffe287}
.venue-favorite.is-loading{opacity:.55;pointer-events:none}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-favorite{top:9px;left:9px}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-usage-badge{max-width:calc(100% - 58px)!important}
body.app-v5 .venue-discovery-card.venue-discovery-visual .venue-favorite{top:10px;right:10px;left:auto}
body.app-v5 .venue-discovery-card.venue-discovery-visual .venue-discovery-main{padding-right:38px!important}
.venue-favorite-swipe{top:16px;right:16px;left:auto;width:42px;height:42px;z-index:9}
.venue-favorite-swipe span{font-size:23px}
html[data-theme="dark"] .venue-favorite{border-color:rgba(255,255,255,.24);background:rgba(20,16,14,.62)}
html[data-theme="dark"] .venue-favorite.is-favorite{background:#493715;color:#ffd777;border-color:#7b5e21}

/* Pagina Preferiti: stesse card visuali usate in Scopri. */
.favorite-venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.favorite-venue-card{min-height:152px!important}
.favorite-venue-card.is-removing{opacity:0;transform:scale(.97);transition:opacity .18s ease,transform .18s ease}
.favorites-empty{margin-top:20px}
@media(max-width:720px){.favorite-venue-grid{grid-template-columns:1fr}.favorites-head{align-items:flex-start}.favorites-head .btn{margin-top:5px}}

/* Swipe v0.5.2: la foto non può più tagliare la parte testuale della card. */
body.app-v5 .venue-swipe-stage{height:clamp(500px,68vh,610px)!important;min-height:500px!important;max-width:560px!important}
body.app-v5 .venue-swipe-card{display:flex!important;flex-direction:column!important;height:100%!important;inset:0!important}
body.app-v5 .venue-swipe-photo{flex:0 0 clamp(270px,42vh,360px)!important;height:clamp(270px,42vh,360px)!important;min-height:270px!important}
body.app-v5 .venue-swipe-content{flex:1 1 auto!important;min-height:0!important;align-content:start!important;background:#fff}
body.app-v5 .venue-swipe-actions{display:grid!important;grid-template-columns:70px 70px!important;width:max-content!important;margin:18px auto 0!important;gap:54px!important}
html[data-theme="dark"] body.app-v5 .venue-swipe-content{background:#211d1a!important}
@media(max-width:720px){
  body.app-v5 .venue-swipe-stage{height:clamp(470px,64vh,550px)!important;min-height:470px!important}
  body.app-v5 .venue-swipe-photo{flex-basis:clamp(240px,38vh,315px)!important;height:clamp(240px,38vh,315px)!important;min-height:240px!important}
  body.app-v5 .venue-swipe-content{padding:14px 16px 15px!important}
  body.app-v5 .venue-swipe-actions{margin-top:16px!important;gap:48px!important}
}

/* AperiSwipe v0.5.3 — ricerca per raggio + aggiornamento OSM */
body.app-v5 .venue-radius-row{display:block;margin:10px 0 12px}
body.app-v5 .venue-radius-row>label{display:block;max-width:260px}
body.app-v5 .venue-radius-row select{min-height:44px}
body.app-v5 .v5-discovery .venue-radius-custom{display:none!important}
body.app-v5 .v5-discovery .venue-discovery-controls:has([data-home-venue-radius]){grid-template-columns:1fr 1fr 1fr!important}
body.app-v5 .v5-discovery .venue-discovery-query{grid-column:1/-1!important}
@media(max-width:720px){
  body.app-v5 .venue-radius-row{display:block}
  body.app-v5 .venue-radius-row>label{max-width:none}
  body.app-v5 .v5-discovery .venue-discovery-controls:has([data-home-venue-radius]){grid-template-columns:1fr 1fr!important}
}

/* AperiSwipe v0.5.4 — caricamento progressivo locali */
body.app-v5 .venue-results-more{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0 2px}
body.app-v5 .venue-results-more[hidden]{display:none!important}
body.app-v5 .venue-results-more small{color:var(--muted);font-size:11px;font-weight:800}
body.app-v5 [data-venue-show-all]{white-space:nowrap}


/* AperiSwipe v0.5.5 — Home città ricercabile + anteprima OSM */
body.app-v5 .venue-discovery-controls-home{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr)!important;gap:10px!important;align-items:end}
body.app-v5 .venue-discovery-controls-home .venue-discovery-query{grid-column:1/-1!important}
body.app-v5 .venue-discovery-controls-home .home-city-field{min-width:0}
body.app-v5 .venue-discovery-controls-home .city-combobox{margin-top:0}
body.app-v5 .venue-discovery-controls-home .city-combobox>input{min-height:48px;border-radius:13px;border:1px solid transparent;background:#fff;box-shadow:0 3px 12px rgba(61,39,29,.04);font-weight:720;padding:0 52px 0 14px}
body.app-v5 .venue-discovery-controls-home .city-toggle{right:5px;width:38px;height:38px}
.osm-preview-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:16px}
.osm-preview-form{padding:18px!important}
.osm-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.osm-preview-toolbar label{display:flex;align-items:center;gap:8px;font-weight:850}
.osm-preview-list{display:grid;gap:9px;margin:14px 0}
.osm-preview-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}
.osm-preview-row.is-disable{border-left:4px solid #d85a46}.osm-preview-row.is-link{border-left:4px solid #3ca675}
.osm-preview-check{display:grid;place-items:center}.osm-preview-check input{width:19px;height:19px}
.osm-preview-main{min-width:0}.osm-preview-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.osm-preview-main>small{display:block;margin-top:4px;color:var(--muted)}.osm-preview-main p{margin:7px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.osm-preview-main code{font-size:10px}
.osm-preview-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}
html[data-theme="dark"] .osm-preview-row{background:#211d1a;border-color:rgba(255,255,255,.09)}
@media(max-width:720px){body.app-v5 .venue-discovery-controls-home{grid-template-columns:1fr!important}.osm-preview-summary{grid-template-columns:1fr}.osm-preview-row{grid-template-columns:auto minmax(0,1fr)}.osm-preview-row>.btn{grid-column:2}.osm-preview-actions{flex-direction:column-reverse}.osm-preview-actions .btn{width:100%}}
body.app-v5 .v5-discovery .venue-discovery-controls.venue-discovery-controls-home:has([data-home-venue-radius]){grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr)!important}
@media(max-width:720px){body.app-v5 .v5-discovery .venue-discovery-controls.venue-discovery-controls-home:has([data-home-venue-radius]){grid-template-columns:1fr!important}}

/* AperiSwipe v0.5.6 — Landing page locali */
.venue-form-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.venue-form-tools small{flex-basis:100%}
.venue-landing-editor{display:grid;gap:18px}.landing-edit-section{padding:18px 0;border-bottom:1px solid var(--line)}.landing-edit-section:first-child{padding-top:0}.landing-edit-section h2{margin:4px 0 8px}.slug-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;margin-top:7px}.slug-input span{padding:0 0 0 13px;color:var(--muted);font-weight:750;white-space:nowrap}.slug-input input{border:0!important;box-shadow:none!important;min-width:0}.landing-hero-current{display:flex;align-items:center;gap:14px;margin:12px 0}.landing-hero-current img{width:180px;height:110px;object-fit:cover;border-radius:16px}.landing-hero-current label{display:flex;align-items:center;gap:8px}.landing-hours-editor{display:grid;gap:8px;margin-top:12px}.landing-hours-row{display:grid;grid-template-columns:110px 90px 1fr auto 1fr 1fr auto 1fr;gap:7px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fff}.landing-hours-row input[type=time]{min-width:0;padding:9px 8px}.landing-closed{display:flex;align-items:center;gap:5px;font-size:12px}.landing-publish-box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fffaf7}.landing-publish-box>div{display:flex;flex-direction:column;gap:3px}.landing-publish-box small{color:var(--muted)}.landing-publish-toggle{display:flex;align-items:center;gap:8px;font-weight:850;white-space:nowrap}
.catalog-venue-discover{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.24);color:#fff!important;font-size:9px;font-weight:900;text-decoration:none;position:relative;z-index:5}.venue-swipe-discover{display:inline-flex;margin-top:8px;text-decoration:none}.venue-discovery-discover{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important}
.venue-landing-public{max-width:1060px;margin:10px auto 40px}.venue-landing-hero{position:relative;min-height:440px;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,#5a4037,#f0774d);background-image:var(--landing-hero);background-size:cover;background-position:center;box-shadow:0 26px 72px rgba(45,27,19,.18)}.venue-landing-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,13,.10),rgba(20,15,13,.72))}.venue-landing-hero-copy{position:absolute;inset:auto 34px 32px;color:#fff;z-index:2}.venue-landing-hero-copy h1{margin:10px 0 8px;font-size:clamp(38px,6vw,72px);line-height:.95;letter-spacing:-.045em}.venue-landing-hero-copy p{margin:0;color:rgba(255,255,255,.82);font-weight:750}.venue-landing-body{display:grid;gap:18px;margin-top:18px}.venue-landing-section,.venue-landing-promo,.venue-landing-cta{border:1px solid var(--line);border-radius:24px;background:#fff;padding:24px}.venue-landing-section h2,.venue-landing-promo h2{margin:4px 0 14px}.venue-landing-promo{background:linear-gradient(135deg,#fff3d7,#fff9ef);border-color:#f2d49a}.venue-landing-promo p{white-space:normal;line-height:1.6}.venue-landing-promo small{display:block;margin-top:10px;color:#8d6300;font-weight:800}.venue-landing-hours{display:grid;gap:2px}.venue-landing-hours>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:11px 8px;border-bottom:1px solid var(--line)}.venue-landing-hours>div:last-child{border-bottom:0}.venue-landing-hours .is-today{background:#fff5f0;border-radius:12px;border-bottom-color:transparent}.venue-landing-hours span{color:var(--muted);font-weight:700}.venue-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.venue-contact-grid>a,.venue-contact-grid>div{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:16px;padding:15px;color:inherit;text-decoration:none}.venue-contact-grid span{color:var(--muted);overflow-wrap:anywhere}.venue-landing-description{font-size:16px;line-height:1.65}.venue-landing-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#201a17;color:#fff}.venue-landing-cta>div{display:flex;flex-direction:column;gap:5px}.venue-landing-cta small{color:rgba(255,255,255,.68)}
html[data-theme="dark"] .slug-input,html[data-theme="dark"] .landing-hours-row,html[data-theme="dark"] .landing-publish-box,html[data-theme="dark"] .venue-landing-section{background:#211d1a;border-color:rgba(255,255,255,.08)}html[data-theme="dark"] .venue-landing-promo{background:#3a2e17;border-color:#5f4920}html[data-theme="dark"] .venue-landing-hours .is-today{background:#35251e}
@media(max-width:760px){.landing-hours-row{grid-template-columns:1fr auto 1fr auto 1fr;gap:6px}.landing-hours-row>strong{grid-column:1/3}.landing-hours-row>.landing-closed{grid-column:3/6;justify-self:end}.landing-hours-row input:nth-of-type(4){grid-column:1}.venue-landing-hero{min-height:360px;border-radius:24px}.venue-landing-hero-copy{inset:auto 20px 22px}.venue-landing-body{gap:12px}.venue-landing-section,.venue-landing-promo,.venue-landing-cta{padding:18px;border-radius:20px}.venue-contact-grid{grid-template-columns:1fr}.venue-landing-hours>div{grid-template-columns:110px 1fr}.venue-landing-cta{align-items:flex-start;flex-direction:column}.venue-landing-cta .btn{width:100%}.landing-publish-box{align-items:flex-start;flex-direction:column}.slug-input span{font-size:12px}}

/* AperiSwipe v0.5.6.1 — fix controlli checkbox landing */
.venue-landing-editor input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px;margin:0!important;padding:0!important;accent-color:var(--brand);box-shadow:none!important}
.landing-publish-box{min-width:0;overflow:hidden;flex-wrap:wrap}
.landing-publish-box>div{min-width:0;flex:1 1 360px}
.form-card .landing-publish-toggle{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;margin:0!important;padding:10px 13px!important;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:13px!important;font-weight:850!important;white-space:normal!important;cursor:pointer;flex:0 0 auto}
.form-card .landing-publish-toggle span{display:block;min-width:0;overflow-wrap:anywhere}
.form-card .landing-closed,.form-card .landing-hero-current label{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important;width:auto!important}
html[data-theme="dark"] .form-card .landing-publish-toggle{background:#2a2420;border-color:rgba(255,255,255,.10);color:#f8f2ef}
@media(max-width:760px){.landing-publish-box{display:grid;grid-template-columns:1fr;gap:13px}.landing-publish-box>div{width:100%}.form-card .landing-publish-toggle{width:100%!important;justify-content:flex-start!important;padding:12px 13px!important}}

/* AperiSwipe v0.5.6.2 — avviso dati landing */
.venue-landing-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 18px;border:1px solid #efd9a8;border-radius:20px;background:#fff9e8;color:#33291f}.venue-landing-warning-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f4b53f;color:#2a2118;font-weight:950;font-size:18px}.venue-landing-warning strong{display:block;margin-bottom:3px;font-size:14px}.venue-landing-warning p{margin:0;color:#74675b;font-size:13px;line-height:1.45}.venue-landing-warning-call{white-space:nowrap}.venue-landing-warning .btn.ghost{background:rgba(255,255,255,.72);border-color:#e7cea0;color:#33291f}html[data-theme="dark"] .venue-landing-warning{background:#322a1b;border-color:#5d4c2d;color:#fff4dd}html[data-theme="dark"] .venue-landing-warning p{color:#c9bda7}html[data-theme="dark"] .venue-landing-warning .btn.ghost{background:#211d1a;border-color:#665433;color:#fff4dd}@media(max-width:760px){.venue-landing-warning{grid-template-columns:auto 1fr;padding:15px}.venue-landing-warning-call{grid-column:1/-1;width:100%!important;text-align:center;justify-content:center}}


/* AperiSwipe v0.5.7.3 — Home: Locale sopra, città+raggio sotto allineati */
body.app-v5 .venue-discovery-controls-home .venue-discovery-query{grid-column:1/-1!important;grid-row:1!important}
body.app-v5 .venue-discovery-controls-home .home-city-field{grid-column:1!important;grid-row:2!important}
body.app-v5 .venue-discovery-controls-home .home-radius-field{grid-column:2!important;grid-row:2!important;min-width:0}
body.app-v5 .venue-discovery-controls-home .home-radius-field select{
  width:100%!important;min-height:48px!important;height:48px!important;margin-top:0!important;padding:0 42px 0 14px!important;
  border:1px solid transparent!important;border-radius:13px!important;background-color:#fff!important;box-shadow:0 3px 12px rgba(61,39,29,.04)!important;
  color:var(--text)!important;font:inherit!important;font-weight:720!important;line-height:48px!important;
}
body.app-v5 .venue-discovery-controls-home .home-city-field .city-combobox>input,
body.app-v5 .venue-discovery-controls-home .home-radius-field select,
body.app-v5 .venue-discovery-controls-home .venue-discovery-query>input{box-sizing:border-box!important}
html[data-theme="dark"] body.app-v5 .venue-discovery-controls-home .home-radius-field select{background-color:#211d1a!important;border-color:rgba(255,255,255,.08)!important;color:#fff!important}
@media(max-width:720px){
  body.app-v5 .venue-discovery-controls-home .venue-discovery-query,
  body.app-v5 .venue-discovery-controls-home .home-city-field,
  body.app-v5 .venue-discovery-controls-home .home-radius-field{grid-column:1!important;grid-row:auto!important}
}

/* AperiSwipe v0.5.8 — Home locali: drag desktop + swipe touch */
body.app-v5 .home-venue-swipe-row{
  display:flex!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;
  padding:4px 4px 14px!important;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;cursor:grab;user-select:none;touch-action:pan-x pan-y;
}
body.app-v5 .home-venue-swipe-row.is-dragging{cursor:grabbing;scroll-snap-type:none}
body.app-v5 .home-venue-swipe-row.is-dragging *{user-select:none!important}
body.app-v5 .home-venue-swipe-row>.venue-discovery-card{
  flex:0 0 clamp(320px,42vw,430px)!important;width:clamp(320px,42vw,430px)!important;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;
}
body.app-v5 .home-venue-swipe-row>.soft-empty{flex:1 0 100%;width:100%}
@media(max-width:720px){
  body.app-v5 .home-venue-swipe-row{gap:10px!important;padding-right:12px!important;scroll-snap-type:x mandatory}
  body.app-v5 .home-venue-swipe-row>.venue-discovery-card{flex-basis:min(86vw,360px)!important;width:min(86vw,360px)!important}
}

/* AperiSwipe v0.5.8.1 — swipe card più compatta + gesto mobile più naturale */
body.app-v5 .venue-swipe-stage{
  height:clamp(455px,60vh,535px)!important;
  min-height:455px!important;
  margin-top:14px!important;
  margin-bottom:8px!important;
}
body.app-v5 .venue-swipe-card{
  touch-action:pan-y!important;
  overscroll-behavior-x:contain;
}
body.app-v5 .venue-swipe-photo{
  flex:0 0 clamp(255px,36vh,315px)!important;
  height:clamp(255px,36vh,315px)!important;
  min-height:255px!important;
}
body.app-v5 .venue-swipe-content{
  padding:15px 18px 14px!important;
  gap:7px 14px!important;
}
body.app-v5 .venue-swipe-content h3{
  margin-bottom:3px!important;
}
body.app-v5 .venue-group-score{
  padding:8px!important;
  min-width:64px!important;
}
body.app-v5 .venue-swipe-actions{
  margin:9px auto 0!important;
  gap:44px!important;
}
body.app-v5 .swipe-help{
  margin-top:6px!important;
}
@media(max-width:720px){
  body.app-v5 .venue-swipe-stage{
    height:clamp(420px,61svh,490px)!important;
    min-height:420px!important;
    margin-top:10px!important;
  }
  body.app-v5 .venue-swipe-photo{
    flex-basis:clamp(215px,34svh,275px)!important;
    height:clamp(215px,34svh,275px)!important;
    min-height:215px!important;
  }
  body.app-v5 .venue-swipe-content{
    padding:13px 15px 12px!important;
    gap:6px 10px!important;
  }
  body.app-v5 .venue-swipe-content h3{font-size:23px!important}
  body.app-v5 .venue-swipe-actions{
    margin-top:8px!important;
    gap:40px!important;
  }
  body.app-v5 .swipe-action{width:60px!important;height:60px!important}
  body.app-v5 .swipe-action span{font-size:28px!important}
}

/* AperiSwipe v0.5.9 — Evento in casa */
.event-type-choice{grid-template-columns:repeat(3,minmax(0,1fr))!important}
[data-home-location-fields][hidden],[data-standard-venue-fields][hidden]{display:none!important}
.home-event-location{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fffaf7,#fff)}
.home-event-intro{display:flex;align-items:flex-start;gap:12px;padding-bottom:4px}.home-event-intro>span{width:42px;height:42px;border-radius:14px;background:#fff0ea;display:grid;place-items:center;font-size:22px;flex:0 0 auto}.home-event-intro b{display:block;font-size:15px}.home-event-intro small{display:block;margin-top:3px;color:var(--muted);line-height:1.4}
.home-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.home-event-grid label{margin:0}.home-event-grid label:last-child{grid-column:1/-1}
.form-card .home-bring-toggle{display:flex!important;align-items:center!important;gap:12px!important;margin:2px 0!important;padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:#fff9f5;cursor:pointer}.form-card .home-bring-toggle>input{width:20px!important;height:20px!important;min-width:20px!important;margin:0!important;padding:0!important;accent-color:var(--brand);box-shadow:none!important}.home-bring-toggle span{display:block}.home-bring-toggle b{display:block;font-size:14px}.home-bring-toggle small{display:block;margin-top:2px;color:var(--muted);font-weight:500;line-height:1.35}.home-event-privacy{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.profile-contact-form{display:grid;gap:4px}.profile-contact-note{display:block;margin:4px 0 10px;color:var(--muted);line-height:1.45}
.home-public-location,.home-manage-location{overflow:hidden}.home-public-location-head{display:flex;align-items:center;gap:13px}.home-public-location-head>span{width:48px;height:48px;border-radius:15px;background:#fff0ea;display:grid;place-items:center;font-size:25px;flex:0 0 auto}.home-public-location-head h2{margin:3px 0 0}.home-public-detail{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);margin-top:14px}.home-public-detail small,.home-manage-details small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.home-phone-detail>div{min-width:0}.home-private-note{margin:15px 0 0;padding:13px;border-radius:14px;background:#faf6f3}.home-manage-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.home-manage-details>div{padding:12px 13px;border-radius:14px;background:#faf6f3}.home-bring-requested{margin-top:12px;padding:11px 13px;border-radius:14px;background:#fff6df;color:#6c4a00;font-weight:750;font-size:13px}
.bring-item-panel input,.rsvp-bring-field input{margin-top:7px}.bring-list-panel .section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.bring-list{display:grid;gap:8px;margin-top:12px}.bring-list>div{display:grid;grid-template-columns:auto minmax(110px,.7fr) minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px}.bring-list>div>span:last-child{color:var(--muted);overflow-wrap:anywhere}.bring-person-chip{display:inline-flex;align-items:center;gap:4px;margin-top:9px;padding:7px 9px;border-radius:11px;background:#fff6df;color:#6c4a00;font-size:12px}.home-result-row{border-bottom:0!important}.rsvp-bring-field{display:block;margin:14px 0;font-weight:800;font-size:13px}
html[data-theme="dark"] .home-event-location{background:#211d1a;border-color:rgba(255,255,255,.10)}html[data-theme="dark"] .home-event-intro>span,html[data-theme="dark"] .home-public-location-head>span{background:#34231e}html[data-theme="dark"] .form-card .home-bring-toggle,html[data-theme="dark"] .home-private-note,html[data-theme="dark"] .home-manage-details>div{background:#2a2420;border-color:rgba(255,255,255,.10)}html[data-theme="dark"] .home-bring-requested,html[data-theme="dark"] .bring-person-chip{background:#3a301d;color:#ffe0a0}
@media(max-width:680px){.event-type-choice{grid-template-columns:1fr!important}.home-event-grid,.home-manage-details{grid-template-columns:1fr}.home-event-grid label:last-child{grid-column:auto}.home-public-detail{align-items:flex-start;flex-direction:column}.home-public-detail .btn{width:100%}.bring-list>div{grid-template-columns:auto minmax(0,1fr)}.bring-list>div>span:last-child{grid-column:2}.home-event-location{padding:14px}}


/* AperiSwipe v0.5.9.1 — discovery pubblica prima di login/registrazione
   v0.5.9.5: le CARD non hanno più uno stile pubblico separato: ereditano esattamente la Home autenticata. */
.public-venue-discovery{margin:26px 0 34px;padding:22px;border-radius:28px;border:1px solid rgba(92,59,44,.10);background:rgba(255,255,255,.88);box-shadow:0 16px 44px rgba(61,39,29,.08)}
.public-venue-discovery .venue-discovery-head{align-items:flex-end;margin-bottom:16px}
.public-venue-discovery .venue-discovery-head h2{margin:4px 0 3px;font-size:clamp(25px,3.2vw,34px);letter-spacing:-.04em}
.public-discovery-note{display:flex;align-items:center;gap:7px;margin:14px 2px 0;color:var(--muted);font-size:11px;font-weight:750}.public-discovery-note span{color:var(--brand);font-weight:950}
.auth-card+.public-venue-discovery{margin-top:30px}
@media(max-width:720px){.public-venue-discovery{padding:15px;border-radius:22px}.public-venue-discovery .venue-discovery-head{align-items:flex-start}.public-venue-discovery .venue-discovery-head p{display:block;font-size:12px}}

/* AperiSwipe v0.5.9.3 — decisione scadenza */
.deadline-decision-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;border-color:#f2c88e!important;background:linear-gradient(135deg,#fff7e6,#fffaf4)!important}
.deadline-decision-copy h2{margin:4px 0 7px}.deadline-decision-copy p{margin:0;color:var(--muted);line-height:1.5}.deadline-decision-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.deadline-decision-actions form{margin:0}.deadline-extend-form{display:flex;align-items:center;gap:7px}.deadline-extend-form select{width:auto!important;min-height:42px!important;padding:8px 34px 8px 12px!important;border-radius:12px!important}
html[data-theme="dark"] .deadline-decision-card{background:linear-gradient(145deg,#30271d,#241f1b)!important;border-color:#75592f!important}
@media(max-width:760px){.deadline-decision-card{grid-template-columns:1fr}.deadline-decision-actions{justify-content:stretch;display:grid;grid-template-columns:1fr}.deadline-decision-actions>.btn,.deadline-decision-actions>form,.deadline-decision-actions form>.btn{width:100%!important}.deadline-extend-form{display:grid;grid-template-columns:1fr auto}.deadline-extend-form select{width:100%!important}}

/* AperiSwipe v0.5.9.4 — sicurezza dispositivo */
.remember-login-row{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;margin:2px 0 4px;padding:9px 11px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55)}
.remember-login-row input{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 18px;margin:0!important;accent-color:var(--brand)}
.remember-login-row span{display:flex;flex-direction:column;gap:1px}.remember-login-row b{font-size:12px}.remember-login-row small{font-size:10px;color:var(--muted)}
.passkey-login-btn{margin-top:9px}.passkey-login-help{display:block;margin:6px 0 0;text-align:center;color:var(--muted);font-size:10px}
.passkey-profile-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.passkey-profile-actions small{color:var(--muted);font-size:11px}
.passkey-list{display:grid;gap:8px;margin-top:14px}.passkey-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55)}
.passkey-row>span{font-size:19px}.passkey-row>div{display:flex;flex-direction:column;min-width:0}.passkey-row b{font-size:12px}.passkey-row small{font-size:9px;color:var(--muted)}.passkey-row form{margin:0}
.profile-device-toggle{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.58)}
.profile-device-toggle>span:first-child{display:flex;flex-direction:column;gap:2px}.profile-device-toggle b{font-size:12px}.profile-device-toggle small{font-size:10px;color:var(--muted)}
.profile-device-toggle .theme-switch{flex:0 0 auto}.profile-device-toggle input{width:1px!important;min-height:0!important}
.push-help{margin-top:10px;padding:10px 12px;border-radius:13px;background:var(--brand-soft,#fff0ea);color:var(--muted);font-size:10px;line-height:1.4}
html[data-theme="dark"] .remember-login-row,html[data-theme="dark"] .passkey-row,html[data-theme="dark"] .profile-device-toggle{background:#211d1a!important;border-color:rgba(255,255,255,.10)!important}

@media(max-width:720px){
  .passkey-row{grid-template-columns:auto minmax(0,1fr)}.passkey-row form{grid-column:2}
}


/* AperiSwipe v0.5.9.5 — card pubbliche: stessa pipeline CSS della Home autenticata.
   Nessuna geometria/tipografia viene ridefinita dentro .public-venue-discovery. */

/* AperiSwipe v0.5.9.5.1 — fix allineamento selettore città nella discovery pubblica/login */
.public-venue-discovery .venue-discovery-controls-home .home-city-field .city-combobox{
  position:relative!important;
  margin-top:0!important;
  min-height:48px!important;
  height:48px!important;
}
.public-venue-discovery .venue-discovery-controls-home .home-city-field .city-combobox>input{
  width:100%!important;
  min-height:48px!important;
  height:48px!important;
  padding:0 54px 0 14px!important;
}
.public-venue-discovery .venue-discovery-controls-home .home-city-field .city-toggle{
  position:absolute!important;
  top:5px!important;
  right:5px!important;
  bottom:auto!important;
  transform:none!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
@media(max-width:720px){
  .public-venue-discovery .venue-discovery-controls-home .home-city-field .city-combobox,
  .public-venue-discovery .venue-discovery-controls-home .home-city-field .city-combobox>input{height:48px!important;min-height:48px!important}
  .public-venue-discovery .venue-discovery-controls-home .home-city-field .city-toggle{top:5px!important;right:5px!important}
}

/* AperiSwipe v0.5.9.5.2 — dropdown città sempre sopra + icone swipe centrate */
body.app-v5 .v5-discovery{
  position:relative;
  overflow:visible!important;
}
body.app-v5 .v5-discovery:has(.city-options:not([hidden])){
  z-index:120!important;
}
body.app-v5 .v5-discovery .venue-discovery-controls,
body.app-v5 .v5-discovery .home-city-field,
body.app-v5 .v5-discovery .city-combobox{
  overflow:visible!important;
}
body.app-v5 .v5-discovery .home-city-field,
body.app-v5 .v5-discovery .city-combobox{
  position:relative;
  z-index:2;
}
body.app-v5 .v5-discovery .city-options{
  z-index:500!important;
}
body.app-v5 .v5-discovery:has(.city-options:not([hidden])) .home-city-field,
body.app-v5 .v5-discovery:has(.city-options:not([hidden])) .city-combobox{
  z-index:501!important;
}

body.app-v5 .swipe-action{
  display:grid!important;
  place-items:center!important;
}
body.app-v5 .swipe-action .swipe-action-icon{
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  flex:0 0 30px!important;
}
body.app-v5 .swipe-action .swipe-action-icon svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible;
}
body.app-v5 .swipe-action.pass .swipe-action-icon svg{
  width:27px!important;
  height:27px!important;
}
body.app-v5 .swipe-action.like .swipe-action-icon svg{
  width:28px!important;
  height:28px!important;
}
@media(max-width:720px){
  body.app-v5 .swipe-action .swipe-action-icon{width:28px!important;height:28px!important;flex-basis:28px!important}
  body.app-v5 .swipe-action.pass .swipe-action-icon svg{width:25px!important;height:25px!important}
  body.app-v5 .swipe-action.like .swipe-action-icon svg{width:26px!important;height:26px!important}
}

/* AperiSwipe v0.6.0.1 — centratura geometrica definitiva azioni swipe.
   Posizionamento assoluto per neutralizzare regole legacy/flex/grid sovrapposte. */
body.app-v5 .venue-swipe-actions .swipe-action{
  position:relative!important;
  display:block!important;
  padding:0!important;
  line-height:0!important;
  text-align:center!important;
}
body.app-v5 .venue-swipe-actions .swipe-action .swipe-action-icon{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  line-height:0!important;
}
body.app-v5 .venue-swipe-actions .swipe-action .swipe-action-icon svg,
body.app-v5 .venue-swipe-actions .swipe-action.pass .swipe-action-icon svg,
body.app-v5 .venue-swipe-actions .swipe-action.like .swipe-action-icon svg{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:28px!important;
  height:28px!important;
  margin:auto!important;
  transform:none!important;
}
@media(max-width:720px){
  body.app-v5 .venue-swipe-actions .swipe-action .swipe-action-icon,
  body.app-v5 .venue-swipe-actions .swipe-action.pass .swipe-action-icon svg,
  body.app-v5 .venue-swipe-actions .swipe-action.like .swipe-action-icon svg{
    width:27px!important;
    height:27px!important;
  }
}

/* AperiSwipe v0.6.0.2 - mappa landing locale */
.venue-landing-map-section{overflow:hidden}.venue-landing-map-address{margin:-4px 0 14px;color:var(--muted);font-weight:700}.venue-landing-map-frame{position:relative;width:100%;height:320px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#f4f0ed}.venue-landing-map-frame iframe{display:block;width:100%;height:100%;border:0}.venue-landing-map-actions{display:flex;justify-content:flex-end;margin-top:12px}.venue-landing-map-actions .btn{min-height:44px}html[data-theme="dark"] .venue-landing-map-frame{background:#211d1a;border-color:rgba(255,255,255,.08)}@media(max-width:760px){.venue-landing-map-frame{height:270px;border-radius:15px}.venue-landing-map-actions .btn{width:100%;justify-content:center;text-align:center}}


/* AperiSwipe v0.6.3 — notification preferences */
.profile-notification-preferences{display:grid;gap:10px;margin-top:14px}.profile-notification-preferences .profile-device-toggle{margin:0!important}.profile-notification-preferences>.btn{margin-top:4px}

/* AperiSwipe v0.6.3.2 — colonne profilo indipendenti su desktop.
   La colonna sinistra non eredita più l'altezza delle card della colonna destra. */
@media(min-width:721px){
  .profile-grid{grid-template-columns:.8fr 1.2fr!important;align-items:start!important}
  .profile-desktop-column{display:flex;flex-direction:column;gap:16px;min-width:0;align-self:start}
  .profile-left-column{grid-column:1}
  .profile-right-column{grid-column:2}
  .profile-desktop-column>.panel,.profile-desktop-column>.form-card{width:100%;margin:0;grid-column:auto!important;grid-row:auto!important}
  .profile-notification-preferences{grid-template-columns:1fr!important}
  .profile-notification-preferences>.btn{grid-column:auto!important}
}
@media(max-width:720px){
  .profile-grid{display:flex!important;flex-direction:column;gap:16px}
  .profile-desktop-column{display:contents}
  .profile-summary-v44{order:1}
  .profile-event-data-card{order:2}
  .profile-photo-card-v44{order:3}
  .profile-password-card{order:4}
  .profile-passkey-card{order:5}
  .profile-push-card{order:6}
  .profile-notification-preferences-card{order:7}
  .profile-theme-card{order:8}
  .profile-mobile-logout{order:9}
  .profile-danger-card{order:10}
}
.venue-landing-delete-form{margin:0!important;display:inline-flex}.venue-form-tools{align-items:center;flex-wrap:wrap}

/* AperiSwipe v0.6.4.2 — topbar desktop più ariosa + gruppi scalabili */
@media(min-width:721px){
  body.app-v5 .topbar nav{gap:10px!important}
  body.app-v5 .topbar .desktop-app-link,
  body.app-v5 .topbar .desktop-organize-link,
  body.app-v5 .topbar .header-logout .linkbtn{display:inline-flex;align-items:center;min-height:36px;padding:8px 9px;border-radius:12px;font-weight:800;white-space:nowrap}
  body.app-v5 .topbar .desktop-app-link:hover,
  body.app-v5 .topbar .header-logout .linkbtn:hover{background:rgba(242,81,44,.07)}
  body.app-v5 .topbar .header-user-avatar-only{margin-left:2px}
  body.app-v5 .topbar .install-nav-btn{display:none!important}
}

.friend-list-groups-compact{align-items:start}
.friend-group-summary{display:flex;flex-direction:column;min-height:220px}
.group-member-preview{display:grid;gap:7px;min-height:72px;margin-bottom:12px}
.group-member-preview-row{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:#fff}
.group-member-preview-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.group-empty-members{padding:16px;border:1px dashed var(--line);border-radius:13px;color:var(--muted);font-size:12px;text-align:center}
.group-more-members{padding:3px 2px;color:var(--muted);font-size:11px;font-weight:800}
.group-manage-btn{width:100%;margin-top:auto}

.group-manage-head{align-items:flex-end}
.group-manage-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.group-manage-layout>.dashboard-section{margin:0}
.group-current-members,.group-available-friends{display:grid;gap:8px}
.group-current-member-row,.group-available-friend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 11px;border:1px solid var(--line);border-radius:15px;background:#fff}
.group-current-member-row>div,.group-available-friend-row>div{min-width:0;display:flex;flex-direction:column}
.group-current-member-row b,.group-available-friend-row b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-current-member-row small,.group-available-friend-row small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-current-member-row form,.group-available-friend-row form{margin:0}
.group-remove-member{background:#fff7f5;color:#bd4636;border:1px solid #f0d3cd;padding:9px 11px;font-size:11px;box-shadow:none}
.group-friend-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 13px}
.group-friend-search .friend-search-input{min-width:0}
.group-manage-empty{padding:28px 18px!important}

html[data-theme="dark"] body.app-v5 .group-member-preview-row,
html[data-theme="dark"] body.app-v5 .group-current-member-row,
html[data-theme="dark"] body.app-v5 .group-available-friend-row{background:#211d1a!important;border-color:rgba(255,255,255,.10)!important}
html[data-theme="dark"] body.app-v5 .group-empty-members{border-color:rgba(255,255,255,.12)!important}
html[data-theme="dark"] body.app-v5 .group-remove-member{background:#2a201d!important;border-color:#6a3b33!important;color:#ffb5a6!important}

@media(max-width:720px){
  .group-manage-layout{grid-template-columns:1fr}
  .group-manage-head{align-items:flex-start;flex-direction:column}
  .group-manage-head>.btn{width:100%}
  .group-current-member-row,.group-available-friend-row{grid-template-columns:auto minmax(0,1fr)}
  .group-current-member-row form,.group-available-friend-row form{grid-column:2}
  .group-current-member-row .btn,.group-available-friend-row .btn{width:100%}
  .group-friend-search{grid-template-columns:1fr}
  .group-friend-search>.btn{width:100%}
}

/* AperiSwipe v0.6.5.3 — profilo desktop bilanciato; mobile invariato */
@media(min-width:721px){
  body.app-v5.profile-page-route .shell{max-width:1080px}
  body.app-v5.profile-page-route .profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:20px!important}
}

/* AperiSwipe v0.6.5.4 — Organizza: selezione card pulita, check verde solo quando attiva. */
body.app-v5 .event-editor .catalog-venue.catalog-venue-visual .venue-favorite{
  display:none!important;
}
body.app-v5 .event-editor .catalog-venue.catalog-venue-visual>span{
  cursor:pointer;
  touch-action:manipulation;
}
body.app-v5 .event-editor .catalog-venue.catalog-venue-visual input:checked+span{
  border-color:#2f8f5b!important;
  box-shadow:0 0 0 3px rgba(47,143,91,.24),0 10px 28px rgba(42,27,21,.12)!important;
}
body.app-v5 .event-editor .catalog-venue.catalog-venue-visual input:checked+span:after{
  content:'✓'!important;
  left:10px!important;
  right:auto!important;
  top:10px!important;
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#2f8f5b!important;
  color:#fff!important;
  border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:0 4px 12px rgba(19,74,45,.30)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  z-index:9!important;
}
html[data-theme="dark"] body.app-v5 .event-editor .catalog-venue.catalog-venue-visual input:checked+span{
  border-color:#48b879!important;
  box-shadow:0 0 0 3px rgba(72,184,121,.24),0 10px 28px rgba(0,0,0,.20)!important;
}
html[data-theme="dark"] body.app-v5 .event-editor .catalog-venue.catalog-venue-visual input:checked+span:after{
  background:#3fa96d!important;
}

/* v0.6.5.5 — Admin · Stato sistema */
.admin-system-head{align-items:flex-end}.system-updated{font-size:12px;color:var(--muted);font-weight:750;white-space:nowrap}.system-db-overview{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);gap:18px;padding:22px;margin:0 0 18px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.system-db-main{min-width:0}.system-db-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.system-db-title>span{font-size:14px;font-weight:850;color:var(--muted)}.system-db-title>strong{font-size:12px;border-radius:999px;padding:6px 10px}.system-level-good .system-db-title>strong{background:#e7f9ef;color:#147c4f}.system-level-warning .system-db-title>strong{background:#fff3da;color:#9a6200}.system-level-danger .system-db-title>strong{background:#fff0f0;color:#b93333}.system-db-value{font-size:36px;font-weight:950;letter-spacing:-.04em;margin:3px 0 13px}.system-db-value small{font-size:16px;font-weight:750;color:var(--muted);letter-spacing:0}.system-progress{height:12px;background:var(--soft);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.system-progress i{display:block;height:100%;min-width:2px;border-radius:inherit;background:#22a568}.system-level-warning .system-progress i{background:#d99516}.system-level-danger .system-progress i{background:#d84b43}.system-db-foot{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--muted);font-size:12px;font-weight:750}.system-db-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:stretch}.system-db-breakdown span{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.system-db-breakdown small,.system-runtime-list small{color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.system-db-breakdown b{font-size:17px}.system-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.system-stat-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(45,34,28,.04)}.system-stat-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff1eb;color:var(--brand);font-weight:900}.system-stat-card>div{display:flex;flex-direction:column;min-width:0}.system-stat-card b{font-size:22px;line-height:1}.system-stat-card small{margin-top:4px;color:var(--muted);font-weight:750}.system-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:14px}.system-panel{margin:0}.system-panel h2{margin:2px 0 0}.system-table-wrap{overflow:auto;margin-top:12px}.system-table{width:100%;border-collapse:collapse;min-width:570px}.system-table th,.system-table td{text-align:left;padding:10px 9px;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}.system-table th{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}.system-note{display:block;margin-top:10px}.system-runtime-list{display:grid;gap:0;margin:7px 0 14px}.system-runtime-list span{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.system-runtime-list b{font-size:13px;text-align:right;overflow-wrap:anywhere}.system-on{color:#168052}.system-off{color:var(--muted)}.system-quota-note{margin:12px 0 0;font-size:12px;line-height:1.5}.system-quota-note code{font-size:11px;overflow-wrap:anywhere}
html[data-theme="dark"] .system-db-overview,html[data-theme="dark"] .system-stat-card{background:#211b18!important;border-color:var(--line)!important}html[data-theme="dark"] .system-db-breakdown span{background:#2a221e!important;border-color:var(--line)!important}html[data-theme="dark"] .system-stat-card>span{background:#3b211b!important;color:#ff9b82!important}html[data-theme="dark"] .system-progress{background:#302722!important}
@media(max-width:900px){.system-db-overview{grid-template-columns:1fr}.system-detail-grid{grid-template-columns:1fr}.system-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.admin-system-head{align-items:flex-start}.system-updated{white-space:normal}.system-db-overview{padding:17px}.system-db-value{font-size:30px}.system-db-breakdown{grid-template-columns:repeat(3,minmax(0,1fr))}.system-db-breakdown span{padding:10px 8px}.system-db-breakdown b{font-size:14px}.system-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.system-stat-card{padding:12px}.system-stat-card>span{width:34px;height:34px}.system-stat-card b{font-size:19px}.admin-section-tabs a{font-size:12px;padding:9px 7px}.admin-section-tabs a span{display:none}}

/* v0.6.5.7 — Admin · manutenzione configurabile */
.system-side-stack{display:grid;gap:14px;align-content:start}.system-maintenance-panel{display:grid;gap:14px}.system-maintenance-panel .section-head{align-items:center}.system-maintenance-state{font-size:11px;font-weight:850;border-radius:999px;padding:6px 9px;white-space:nowrap}.system-maintenance-state.is-on{background:#e7f9ef;color:#147c4f}.system-maintenance-state.is-off{background:var(--soft);color:var(--muted)}.system-maintenance-form{display:grid;gap:0}.system-maintenance-setting,.system-maintenance-time{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.system-maintenance-setting>div,.system-maintenance-time>span{display:flex;flex-direction:column;gap:3px}.system-maintenance-setting b,.system-maintenance-time b{font-size:13px}.system-maintenance-setting small,.system-maintenance-time small{font-size:11px;color:var(--muted);line-height:1.35}.system-maintenance-static>strong{font-size:13px;white-space:nowrap}.system-maintenance-time input[type=time]{width:112px;min-width:112px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px;font:inherit;font-size:13px;font-weight:800;color:var(--ink)}.system-switch{position:relative;display:inline-flex;width:50px;height:28px;flex:0 0 auto}.system-switch input{position:absolute;opacity:0;width:1px;height:1px}.system-switch span{position:absolute;inset:0;border-radius:999px;background:#d8cec9;transition:.2s;box-shadow:inset 0 0 0 1px rgba(50,30,20,.08)}.system-switch span:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.18);transition:.2s}.system-switch input:checked+span{background:#22a568}.system-switch input:checked+span:after{transform:translateX(22px)}.system-switch input:focus-visible+span{outline:3px solid rgba(34,165,104,.22);outline-offset:2px}.system-maintenance-save{margin-top:12px}.system-maintenance-status{display:grid;gap:0;border-top:1px solid var(--line)}.system-maintenance-status span{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.system-maintenance-status small{font-size:11px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.035em}.system-maintenance-status b{font-size:12px;text-align:right}.system-maintenance-details{border:1px solid var(--line);border-radius:13px;background:var(--soft);overflow:hidden}.system-maintenance-details summary{cursor:pointer;padding:11px 12px;font-size:12px;font-weight:850;list-style:none}.system-maintenance-details summary::-webkit-details-marker{display:none}.system-maintenance-details summary:after{content:"+";float:right;color:var(--muted)}.system-maintenance-details[open] summary:after{content:"−"}.system-maintenance-details>div{display:grid;gap:0;padding:0 12px 8px}.system-maintenance-details span{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.system-maintenance-details b{color:var(--ink)}.system-maintenance-note{margin:0;font-size:11px;line-height:1.45}.system-maintenance-run{margin-top:0}html[data-theme="dark"] .system-maintenance-time input[type=time]{background:#2a221e!important;border-color:var(--line)!important;color:var(--ink)!important;color-scheme:dark}html[data-theme="dark"] .system-switch span{background:#50433d}html[data-theme="dark"] .system-maintenance-details{background:#2a221e!important;border-color:var(--line)!important}@media(max-width:680px){.system-maintenance-setting,.system-maintenance-time{align-items:flex-start}.system-maintenance-time input[type=time]{margin-top:1px}.system-maintenance-status span{align-items:flex-start}.system-maintenance-status b{max-width:55%}}

/* v0.6.5.8 — Admin · Statistiche per regione */
.admin-statistics-head{align-items:flex-end}.statistics-updated{font-size:12px;color:var(--muted);font-weight:750;white-space:nowrap}.statistics-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 20px}.statistics-summary-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 6px 18px rgba(45,34,28,.04)}.statistics-summary-card>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#fff1eb;color:var(--brand);font-weight:900}.statistics-summary-card>div{display:flex;flex-direction:column;min-width:0}.statistics-summary-card b{font-size:22px;line-height:1}.statistics-summary-card small{margin-top:4px;color:var(--muted);font-weight:750;line-height:1.25}.statistics-ranking-section>.section-head{margin-bottom:14px}.statistics-ranking-section>.section-head h2{margin-bottom:4px}.statistics-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.statistics-region-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(45,34,28,.05)}.statistics-region-head{position:relative;min-height:118px;display:flex;align-items:flex-end;padding:17px;background:linear-gradient(135deg,#f7d7cb,#fff3ee);overflow:hidden}.statistics-region-head.has-cover{background-image:var(--region-stat-cover);background-size:cover;background-position:center}.statistics-region-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,20,17,.08),rgba(28,20,17,.78))}.statistics-region-head:not(.has-cover) .statistics-region-shade{background:linear-gradient(135deg,rgba(242,81,44,.12),rgba(53,34,26,.08))}.statistics-region-head-copy{position:relative;z-index:1;width:100%;color:#fff}.statistics-region-head:not(.has-cover) .statistics-region-head-copy{color:var(--ink)}.statistics-region-head-copy .eyebrow{color:inherit;opacity:.82}.statistics-region-head-copy h3{margin:3px 0 10px;font-size:21px;line-height:1.1}.statistics-region-totals{display:flex;gap:8px;flex-wrap:wrap}.statistics-region-totals span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px;font-weight:750;backdrop-filter:blur(4px)}.statistics-region-head:not(.has-cover) .statistics-region-totals span{background:rgba(255,255,255,.7);border:1px solid rgba(242,81,44,.14)}.statistics-region-ranking{display:grid}.statistics-rank-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .15s ease}.statistics-rank-row:hover{background:var(--soft)}.statistics-rank-position{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:900}.statistics-rank-position.is-1{background:#fff4cc;color:#8a6511}.statistics-rank-position.is-2{background:#eef1f4;color:#66717b}.statistics-rank-position.is-3{background:#f5e5d8;color:#8b5a37}.statistics-rank-main{display:flex;flex-direction:column;min-width:0}.statistics-rank-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.statistics-rank-main small{margin-top:2px;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statistics-rank-main em{margin-top:3px;color:var(--muted);font-size:10px;font-style:normal}.statistics-rank-value{display:flex;flex-direction:column;align-items:flex-end;min-width:46px}.statistics-rank-value b{font-size:17px;line-height:1;color:var(--brand)}.statistics-rank-value small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:750}.statistics-empty{min-height:111px;display:flex;align-items:center;gap:11px;padding:18px;color:var(--muted)}.statistics-empty>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--soft);font-weight:900}.statistics-empty>div{display:flex;flex-direction:column;gap:3px}.statistics-empty b{font-size:13px;color:var(--ink)}.statistics-empty small{font-size:11px;line-height:1.35}.statistics-unmapped{margin-top:16px}.statistics-unmapped .statistics-region-ranking{border:1px solid var(--line);border-radius:14px;overflow:hidden}html[data-theme="dark"] .statistics-summary-card,html[data-theme="dark"] .statistics-region-card{background:#211b18!important;border-color:var(--line)!important}html[data-theme="dark"] .statistics-summary-card>span{background:#3b211b!important;color:#ff9b82!important}html[data-theme="dark"] .statistics-region-head:not(.has-cover){background:#2a221e!important}html[data-theme="dark"] .statistics-region-head:not(.has-cover) .statistics-region-shade{background:linear-gradient(135deg,rgba(242,81,44,.16),rgba(0,0,0,.08))!important}html[data-theme="dark"] .statistics-region-head:not(.has-cover) .statistics-region-head-copy{color:var(--ink)!important}html[data-theme="dark"] .statistics-region-head:not(.has-cover) .statistics-region-totals span{background:#352923!important;border-color:var(--line)!important}@media(max-width:900px){.statistics-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-region-grid{grid-template-columns:1fr}}@media(max-width:680px){.admin-statistics-head{align-items:flex-start}.statistics-updated{white-space:normal}.statistics-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.statistics-summary-card{padding:12px}.statistics-summary-card>span{width:34px;height:34px}.statistics-summary-card b{font-size:19px}.statistics-region-head{min-height:105px;padding:15px}.statistics-rank-row{grid-template-columns:32px minmax(0,1fr) auto;padding:11px 12px}.statistics-rank-position{width:28px;height:28px}}

/* v0.6.5.9 — Admin · Stato sistema mobile: nessun contenuto tagliato */
.system-detail-grid,.system-detail-grid>*,.system-side-stack,.system-side-stack>*,.system-panel,.system-table-wrap,.system-runtime-list{min-width:0;max-width:100%}
@media(max-width:680px){
  .system-detail-grid,.system-side-stack,.system-panel,.system-table-wrap,.system-runtime-list{width:100%;max-width:100%}
  .system-table-wrap{overflow:visible;margin-top:10px}
  .system-table{display:block;width:100%;min-width:0}
  .system-table thead{display:none}
  .system-table tbody{display:grid;gap:0;width:100%}
  .system-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;width:100%;min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}
  .system-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0;padding:5px 0;border:0;white-space:normal;overflow-wrap:anywhere}
  .system-table td:first-child{grid-column:1/-1;padding:0 0 6px;font-size:13px}
  .system-table td:first-child b{min-width:0;overflow-wrap:anywhere}
  .system-table td:not(:first-child){font-size:11px}
  .system-table td:not(:first-child)::before{flex:0 0 auto;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
  .system-table td:nth-child(2)::before{content:"Righe*"}
  .system-table td:nth-child(3)::before{content:"Dati"}
  .system-table td:nth-child(4)::before{content:"Indici"}
  .system-table td:nth-child(5)::before{content:"Totale"}
  .system-runtime-list span{min-width:0;width:100%;align-items:flex-start}
  .system-runtime-list small{flex:0 0 auto;max-width:38%}
  .system-runtime-list b{min-width:0;max-width:62%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
  .system-db-title,.system-db-foot{flex-wrap:wrap}
  .system-quota-note,.system-note{min-width:0;max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:420px){
  .system-maintenance-time{flex-wrap:wrap}
  .system-maintenance-time>span{width:100%}
  .system-maintenance-time input[type=time]{width:100%;min-width:0}
  .system-maintenance-status span{flex-wrap:wrap}
  .system-maintenance-status b{max-width:100%;text-align:left}
}

/* v0.6.6 — Admin Intelligence + responsive hardening */
.admin-statistics-page,.admin-system-page,.admin-statistics-page *,.admin-system-page *{min-width:0}.admin-statistics-page,.admin-system-page{width:100%;max-width:100%}.statistics-period-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-10px 0 22px}.statistics-period-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:850}.statistics-period-tabs a.active{background:#fff1eb;border-color:#f7b5a4;color:var(--brand)}.statistics-summary-grid-main{grid-template-columns:repeat(3,minmax(0,1fr))}.statistics-summary-card em{margin-top:5px;color:var(--muted);font-size:10px;font-style:normal;font-weight:750;line-height:1.25}.statistics-summary-card em.is-up{color:var(--green)}.statistics-summary-card em.is-down{color:var(--red)}.statistics-activity-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;margin:10px 0 24px}.statistics-activity-strip span{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-right:1px solid var(--line)}.statistics-activity-strip span:last-child{border-right:0}.statistics-activity-strip small{color:var(--muted);font-size:10px;font-weight:750;line-height:1.2}.statistics-activity-strip b{font-size:17px}.statistics-intelligence-section,.statistics-city-section,.statistics-ranking-section,.statistics-quality-section{margin-top:28px}.statistics-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.statistics-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.statistics-list-panel{margin:0!important;padding:0!important;overflow:hidden}.statistics-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 16px 12px}.statistics-panel-title h3{margin:3px 0 0;font-size:18px}.statistics-panel-title>span{padding:5px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:9px;font-weight:800;text-align:right}.statistics-list-panel .statistics-rank-row:first-child{border-top:1px solid var(--line)}.statistics-empty.compact{min-height:92px}.statistics-city-list{display:grid;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.statistics-city-row{display:grid;grid-template-columns:38px minmax(0,1fr) 94px 94px;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line)}.statistics-city-row:last-child{border-bottom:0}.statistics-city-main{display:flex;flex-direction:column}.statistics-city-main b{font-size:13px;overflow-wrap:anywhere}.statistics-city-main small{margin-top:2px;color:var(--muted);font-size:10px}.statistics-city-metric{display:flex;flex-direction:column;align-items:flex-end}.statistics-city-metric b{font-size:16px}.statistics-city-metric small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:750}.statistics-quality-section{padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(45,34,28,.04)}.statistics-quality-section>.section-head{align-items:flex-end}.statistics-quality-score{font-size:28px;font-weight:900;color:var(--green);white-space:nowrap}.statistics-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.statistics-quality-card{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.statistics-quality-card>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#fff;color:var(--brand);font-size:13px;font-weight:900}.statistics-quality-card>div{display:flex;flex-direction:column}.statistics-quality-card b{font-size:18px;line-height:1}.statistics-quality-card small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:750;line-height:1.2}.statistics-quality-foot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.statistics-quality-foot span{display:flex;flex-direction:column;padding:11px 12px;border-right:1px solid var(--line)}.statistics-quality-foot span:last-child{border-right:0}.statistics-quality-foot small{font-size:9px;color:var(--muted);font-weight:750}.statistics-quality-foot b{margin-top:3px;font-size:14px}.statistics-source-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.statistics-source-chips span{padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:750}.statistics-source-chips b{color:var(--ink)}
.system-growth-panel,.system-health-panel{margin:18px 0!important}.system-growth-panel>.section-head,.system-health-panel>.section-head{align-items:flex-start}.system-growth-days{padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.system-growth-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.system-growth-grid article{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.system-growth-grid small{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.035em}.system-growth-grid b{margin-top:6px;font-size:18px;line-height:1.05;overflow-wrap:anywhere}.system-growth-grid span{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.25}.system-history-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));align-items:end;gap:6px;min-height:122px;margin-top:14px;padding:14px 10px 6px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.system-history-bars>span{height:88px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.system-history-bars i{display:block;width:100%;max-width:28px;min-height:4px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--brand),#ff967d)}.system-history-bars small{font-size:8px;color:var(--muted);font-weight:750}.system-growth-note{margin:12px 0 0}.system-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.system-health-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.system-health-item>span{width:9px;height:9px;border-radius:50%;background:#8a817d}.system-health-item.is-good>span{background:var(--green)}.system-health-item.is-warning>span{background:var(--yellow)}.system-health-item.is-danger>span{background:var(--red)}.system-health-item>div{display:flex;flex-direction:column}.system-health-item b{font-size:12px}.system-health-item small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.25;overflow-wrap:anywhere}.system-health-item>strong{font-size:9px;color:var(--muted);text-align:right}.system-health-item.is-good>strong{color:var(--green)}.system-health-item.is-danger>strong{color:var(--red)}
html[data-theme="dark"] .statistics-period-tabs a,html[data-theme="dark"] .statistics-activity-strip,html[data-theme="dark"] .statistics-city-list,html[data-theme="dark"] .statistics-quality-section{background:#211b18!important;border-color:var(--line)!important}html[data-theme="dark"] .statistics-period-tabs a.active{background:#3b211b!important;color:#ff9b82!important}html[data-theme="dark"] .statistics-quality-card>span{background:#342923!important}html[data-theme="dark"] .statistics-quality-card,html[data-theme="dark"] .statistics-source-chips span,html[data-theme="dark"] .system-growth-grid article,html[data-theme="dark"] .system-history-bars,html[data-theme="dark"] .system-health-item{background:#2a221e!important;border-color:var(--line)!important}
@media(max-width:900px){.statistics-summary-grid-main{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-activity-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.statistics-activity-strip span{border-bottom:1px solid var(--line)}.statistics-two-column{grid-template-columns:1fr}.statistics-three-column{grid-template-columns:1fr 1fr}.statistics-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-growth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-section-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;width:100%;max-width:100%;padding:0 14px!important}.admin-section-tabs a{width:100%;min-width:0!important;padding:10px 8px!important;overflow:hidden}.admin-section-tabs a b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-statistics-head,.admin-system-head{flex-direction:column;align-items:flex-start!important}.statistics-period-tabs{width:100%}.statistics-period-tabs a{flex:1 1 calc(50% - 8px);text-align:center}.statistics-summary-grid-main{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-summary-card{overflow:hidden}.statistics-summary-card small,.statistics-summary-card em{white-space:normal;overflow-wrap:anywhere}.statistics-activity-strip{grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.statistics-activity-strip span{border-right:1px solid var(--line);padding:11px}.statistics-three-column{grid-template-columns:1fr}.statistics-city-row{grid-template-columns:32px minmax(0,1fr) 70px 70px;padding:10px 11px;gap:7px}.statistics-quality-section{padding:15px;border-radius:19px}.statistics-quality-section>.section-head{align-items:flex-start;flex-direction:column}.statistics-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-quality-foot{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-quality-foot span{border-bottom:1px solid var(--line)}.statistics-quality-foot span:nth-child(2n){border-right:0}.system-growth-panel,.system-health-panel{padding:16px!important}.system-growth-panel>.section-head{flex-direction:column}.system-growth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-health-grid{grid-template-columns:1fr}.system-health-item{grid-template-columns:9px minmax(0,1fr) auto}.system-history-bars{grid-template-columns:repeat(auto-fit,minmax(38px,1fr))}.system-growth-days{white-space:normal}}
@media(max-width:430px){.statistics-summary-grid-main,.statistics-quality-grid,.system-growth-grid{grid-template-columns:1fr}.statistics-summary-grid{grid-template-columns:1fr!important}.statistics-activity-strip{grid-template-columns:1fr}.statistics-activity-strip span{border-right:0}.statistics-city-row{grid-template-columns:30px minmax(0,1fr) 58px}.statistics-city-row .statistics-city-metric:last-child{grid-column:2/-1;align-items:flex-start;padding-top:4px}.statistics-quality-foot{grid-template-columns:1fr}.statistics-quality-foot span{border-right:0}.statistics-period-tabs a{flex-basis:100%}.statistics-rank-row{grid-template-columns:30px minmax(0,1fr) 46px!important;gap:7px!important}.statistics-rank-main b,.statistics-rank-main small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}.statistics-rank-value b{font-size:15px}.system-health-item{grid-template-columns:9px minmax(0,1fr)}.system-health-item>strong{grid-column:2;text-align:left}.system-db-value{overflow-wrap:anywhere}.system-db-breakdown{grid-template-columns:1fr!important}.system-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* AperiSwipe v0.6.6.1 · Segnala problema + coda Admin · mobile-first */
html.venue-report-open,html.venue-report-open body{overflow:hidden!important;overscroll-behavior:none}
.venue-report-sheet[hidden]{display:none!important}.venue-report-sheet{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:18px}.venue-report-backdrop{position:absolute;inset:0;background:rgba(22,15,12,.58);backdrop-filter:blur(4px)}.venue-report-dialog{position:relative;width:min(560px,100%);max-width:100%;max-height:min(760px,calc(100dvh - 36px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 28px 80px rgba(30,18,13,.28)}.venue-report-grabber{display:none}.venue-report-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--line);flex:0 0 auto}.venue-report-head>div{min-width:0}.venue-report-head small{display:block;color:var(--brand);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.venue-report-head h2{margin:3px 0 2px;font-size:22px;line-height:1.08}.venue-report-head p{margin:0;max-width:100%;color:var(--muted);font-size:11px;font-weight:700;white-space:normal;overflow-wrap:anywhere}.venue-report-close,.venue-report-back{appearance:none;border:0;background:var(--soft);color:var(--ink);width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:24px;line-height:1;cursor:pointer}.venue-report-back{font-size:31px;padding-bottom:4px}.venue-report-content{min-width:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 18px calc(18px + env(safe-area-inset-bottom))}.venue-report-choices{display:grid;gap:8px}.venue-report-choices.is-loading{opacity:.55;pointer-events:none}.venue-report-choice{appearance:none;width:100%;min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.venue-report-choice:hover{border-color:#f4a38f;background:#fff8f5}.venue-report-choice>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff1eb;font-size:17px}.venue-report-choice>div{display:flex;flex-direction:column;min-width:0}.venue-report-choice b{font-size:13px;line-height:1.2}.venue-report-choice small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.venue-report-choice>i{font-size:20px;color:var(--muted);font-style:normal}.venue-report-form{display:grid;gap:12px;min-width:0}.venue-report-form[hidden]{display:none!important}.venue-report-current{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--soft);min-width:0}.venue-report-current small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.venue-report-current b{font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.venue-report-field,.venue-report-note{display:flex;flex-direction:column;gap:6px;min-width:0}.venue-report-field>span,.venue-report-note>span{font-size:11px;font-weight:850}.venue-report-note>span small{color:var(--muted);font-size:9px;font-weight:700}.venue-report-field input,.venue-report-field select,.venue-report-note textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.venue-report-note textarea{resize:vertical;min-height:82px}.venue-report-remove{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;font-size:11px;font-weight:750}.venue-report-remove input{width:auto!important;flex:0 0 auto}.venue-report-hint{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #f6c4b7;border-radius:14px;background:#fff6f2;min-width:0}.venue-report-hint b{font-size:12px}.venue-report-hint span{color:var(--muted);font-size:10px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.venue-report-feedback{min-height:0;color:var(--muted);font-size:10px;font-weight:750;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.venue-report-feedback:empty{display:none}.venue-report-feedback.is-error{padding:9px 10px;border-radius:11px;background:#fff0ed;color:#a54235}.venue-report-feedback.is-success{padding:9px 10px;border-radius:11px;background:#edf8f1;color:#2d7650}.venue-report-duplicate-results{display:grid;gap:6px;min-width:0}.venue-report-duplicate-option{appearance:none;width:100%;min-width:0;display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;color:var(--ink);cursor:pointer}.venue-report-duplicate-option b{font-size:11px}.venue-report-duplicate-option small,.venue-report-no-results{color:var(--muted);font-size:9px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}.venue-report-selected-duplicate{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid #9fd5b8;border-radius:13px;background:#f0faf4}.venue-report-selected-duplicate>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#3f8b65;color:#fff;font-size:11px;font-weight:900}.venue-report-selected-duplicate>div{display:flex;flex-direction:column;min-width:0}.venue-report-selected-duplicate b{font-size:11px;overflow-wrap:anywhere}.venue-report-selected-duplicate small{margin-top:2px;color:var(--muted);font-size:9px;white-space:normal;overflow-wrap:anywhere}.venue-report-selected-duplicate>button{appearance:none;border:0;background:transparent;color:var(--brand);font-size:10px;font-weight:850;cursor:pointer}.venue-report-submit{min-height:44px}
html[data-theme="dark"] .venue-report-dialog,html[data-theme="dark"] .venue-report-choice,html[data-theme="dark"] .venue-report-duplicate-option{background:#211b18!important;border-color:var(--line)!important;color:var(--text)!important}html[data-theme="dark"] .venue-report-choice>span,html[data-theme="dark"] .venue-report-close,html[data-theme="dark"] .venue-report-back{background:#342923!important;color:#f7f0ec!important}html[data-theme="dark"] .venue-report-hint{background:#34241f!important;border-color:#6a4034!important}html[data-theme="dark"] .venue-report-selected-duplicate{background:#1d3026!important;border-color:#386b50!important}html[data-theme="dark"] .venue-report-feedback.is-error{background:#3b211b!important;color:#ff9b82!important}html[data-theme="dark"] .venue-report-feedback.is-success{background:#1d3026!important;color:#91dfb5!important}

/* Admin → Segnalazioni */
.admin-section-tabs{max-width:1080px}.admin-section-tabs a{position:relative}.admin-tab-badge{min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--brand);color:#fff;font-size:8px;font-style:normal;font-weight:900;line-height:1}.admin-reports-page,.admin-reports-page *{min-width:0}.admin-reports-page{width:100%;max-width:100%}.admin-reports-head{align-items:flex-end}.report-pending-counter{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto}.report-pending-counter b{font-size:30px;line-height:1;color:var(--brand)}.report-pending-counter small{margin-top:4px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.report-schema-warning{padding:18px}.report-schema-warning p{margin:5px 0 0;white-space:normal;overflow-wrap:anywhere}.report-schema-warning code{overflow-wrap:anywhere}.report-filter-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:-7px 0 14px}.report-status-tabs{display:flex;gap:7px;flex-wrap:wrap}.report-status-tabs a{display:flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:10px;font-weight:850}.report-status-tabs a.active{background:#fff1eb;border-color:#f5b29f;color:var(--brand)}.report-status-tabs a b{min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--soft);font-size:8px}.report-type-filter label{display:flex;align-items:center;gap:7px}.report-type-filter label>span{color:var(--muted);font-size:10px;font-weight:800}.report-type-filter select{min-width:165px;padding:8px 32px 8px 10px;font-size:10px}.report-results-meta{margin-bottom:9px;color:var(--muted);font-size:10px}.report-results-meta b{color:var(--ink)}.admin-report-list{display:grid;gap:12px}.admin-report-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(45,34,28,.045)}.admin-report-card.is-pending{border-left:3px solid #f2512c}.admin-report-card.is-closed{opacity:.88}.admin-report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.report-type-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.report-type-title>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#fff1eb;font-size:15px}.report-type-title>div{min-width:0}.report-type-title h2{margin:5px 0 1px;font-size:16px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.report-type-title small{display:block;color:var(--muted);font-size:9px;white-space:normal;overflow-wrap:anywhere}.report-badges{display:flex;gap:5px;flex-wrap:wrap}.report-badges em{padding:4px 6px;border-radius:999px;font-size:7px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.report-type-badge{background:#fff1eb;color:var(--brand)}.report-status-badge{background:var(--soft);color:var(--muted)}.report-status-badge.status-approved,.report-status-badge.status-resolved{background:#edf8f1;color:#337a54}.report-status-badge.status-ignored{background:#f1efee;color:#81736d}.admin-report-card-head time{flex:0 0 auto;color:var(--muted);font-size:9px;font-weight:750;white-space:nowrap}.admin-report-body{display:grid;gap:10px;padding:14px 16px}.report-comparison{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:stretch;gap:8px}.report-comparison>div{display:flex;flex-direction:column;gap:4px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.report-comparison>div.is-proposed{border-color:#a6d8bd;background:#f2faf5}.report-comparison>span{display:grid;place-items:center;color:var(--muted);font-weight:900}.report-comparison small,.report-duplicate-box small,.report-user-note small,.report-resolution small{color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.report-comparison b{font-size:11px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.report-message-box,.report-duplicate-box{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.report-message-box b,.report-duplicate-box b{font-size:11px}.report-message-box small,.report-duplicate-box span{color:var(--muted);font-size:9px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.report-user-note,.report-resolution{padding:10px 11px;border-left:3px solid #e4d7d1;background:#fcfaf9;border-radius:0 11px 11px 0}.report-user-note p,.report-resolution p{margin:4px 0 0;font-size:10px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.report-reporter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:9px}.report-reporter a{color:var(--brand);overflow-wrap:anywhere}.admin-report-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 16px;border-top:1px solid var(--line);background:#fdfbf9}.admin-report-actions form{margin:0}.admin-report-actions .report-ignore-btn{color:#8c7770}.report-empty{margin-top:14px}.report-pagination{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:18px 0}.report-pagination a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:10px;font-weight:850}.report-pagination a.active{background:var(--brand);border-color:var(--brand);color:#fff}
html[data-theme="dark"] .report-status-tabs a,html[data-theme="dark"] .admin-report-card,html[data-theme="dark"] .report-pagination a{background:#211b18!important;border-color:var(--line)!important}html[data-theme="dark"] .report-status-tabs a.active{background:#3b211b!important;color:#ff9b82!important}html[data-theme="dark"] .report-type-title>span{background:#342923!important}html[data-theme="dark"] .report-comparison>div,html[data-theme="dark"] .report-message-box,html[data-theme="dark"] .report-duplicate-box{background:#2a221e!important;border-color:var(--line)!important}html[data-theme="dark"] .report-comparison>div.is-proposed{background:#1d3026!important;border-color:#386b50!important}html[data-theme="dark"] .report-user-note,html[data-theme="dark"] .report-resolution,html[data-theme="dark"] .admin-report-actions{background:#1e1917!important}

@media(max-width:720px){
  .venue-report-sheet{place-items:end center;padding:0}.venue-report-dialog{width:100%;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));border-radius:24px 24px 0 0;border-bottom:0}.venue-report-grabber{display:block;width:42px;height:4px;margin:8px auto 0;border-radius:999px;background:#d8cbc5;flex:0 0 auto}.venue-report-head{padding:10px 14px 12px}.venue-report-content{padding:12px 14px calc(16px + env(safe-area-inset-bottom))}.venue-report-choice{padding:10px}.venue-report-choice>span{width:36px;height:36px}.venue-report-head h2{font-size:19px}.venue-report-back,.venue-report-close{width:32px;height:32px}
  .admin-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-section-tabs a b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-align:center;line-height:1.15}.admin-section-tabs a:nth-child(5){grid-column:1/-1}.admin-tab-badge{position:absolute;right:6px;top:5px}
  .admin-reports-head{flex-direction:column;align-items:flex-start!important}.report-pending-counter{align-items:flex-start}.report-filter-bar{flex-direction:column;align-items:stretch}.report-status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.report-status-tabs a{justify-content:center;text-align:center;padding:9px 6px}.report-type-filter label{display:grid;grid-template-columns:auto minmax(0,1fr)}.report-type-filter select{min-width:0;width:100%;max-width:100%}.admin-report-card-head{padding:12px;flex-direction:column}.admin-report-card-head time{white-space:normal;margin-left:46px}.admin-report-body{padding:12px}.admin-report-actions{padding:10px 12px}.admin-report-actions .btn,.admin-report-actions form{flex:1 1 auto}.admin-report-actions form .btn{width:100%}.report-comparison{grid-template-columns:1fr}.report-comparison>span{height:16px;transform:rotate(90deg)}
}
@media(max-width:430px){
  .venue-report-choice{grid-template-columns:34px minmax(0,1fr) 12px;gap:8px}.venue-report-choice>span{width:32px;height:32px;font-size:14px}.venue-report-choice b{font-size:12px}.venue-report-choice small{font-size:9px}.venue-report-head{grid-template-columns:32px minmax(0,1fr) 32px;gap:7px}.venue-report-current b{font-size:11px}.venue-report-selected-duplicate{grid-template-columns:24px minmax(0,1fr)}.venue-report-selected-duplicate>button{grid-column:2;justify-self:start;padding:0}.report-status-tabs{grid-template-columns:1fr}.report-type-title>span{width:32px;height:32px}.admin-report-card-head time{margin-left:42px}.admin-report-actions{display:grid;grid-template-columns:1fr}.admin-report-actions .btn,.admin-report-actions form{width:100%}.admin-report-actions form .btn{width:100%}.report-reporter{flex-direction:column;align-items:flex-start;gap:3px}
}

/* AperiSwipe v0.6.6.2 · Admin Territorio · mobile-safe */
.admin-territory-page,.admin-territory-page *{min-width:0}.admin-territory-page{width:100%;max-width:100%}.territory-head{align-items:flex-end}.territory-updated{flex:0 0 auto;color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}.territory-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px}.territory-summary-card{display:flex;align-items:center;gap:11px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(45,34,28,.04);overflow:hidden}.territory-summary-card>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#fff1eb;color:var(--brand);font-size:16px;font-weight:900}.territory-summary-card>div{display:flex;flex-direction:column;min-width:0}.territory-summary-card b{font-size:22px;line-height:1}.territory-summary-card small{margin-top:5px;color:var(--muted);font-size:9px;font-weight:800;white-space:normal;overflow-wrap:anywhere}.territory-user-mapping{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr);align-items:center;gap:18px;padding:18px;margin-bottom:18px}.territory-user-mapping h2{margin:3px 0 5px}.territory-user-mapping p{margin:0;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.territory-mapping-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;overflow:hidden}.territory-mapping-metrics span{display:flex;flex-direction:column;padding:10px 11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--soft)}.territory-mapping-metrics span:nth-child(2n){border-right:0}.territory-mapping-metrics span:nth-last-child(-n+2){border-bottom:0}.territory-mapping-metrics b{font-size:15px}.territory-mapping-metrics small{margin-top:2px;color:var(--muted);font-size:8px;font-weight:800;white-space:normal}.territory-regions-section{margin-top:18px}.territory-region-list{display:grid;gap:10px}.territory-region-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(45,34,28,.035);overflow:hidden}.territory-region-card.is-unmapped{border-style:dashed}.territory-region-card>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 15px;cursor:pointer;user-select:none}.territory-region-card>summary::-webkit-details-marker{display:none}.territory-region-title{display:flex;align-items:center;gap:10px;min-width:0}.territory-region-title>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:#fff1eb;color:var(--brand);font-weight:900}.territory-region-title>div{display:flex;flex-direction:column;min-width:0}.territory-region-title b{font-size:13px;white-space:normal;overflow-wrap:anywhere}.territory-region-title small{margin-top:2px;color:var(--muted);font-size:8px;white-space:normal;overflow-wrap:anywhere}.territory-region-metrics{display:grid;grid-template-columns:70px 70px 20px;align-items:center;gap:7px}.territory-region-metrics>span{display:flex;flex-direction:column;align-items:flex-end}.territory-region-metrics b{font-size:15px}.territory-region-metrics small{color:var(--muted);font-size:8px;font-weight:800}.territory-region-metrics i{display:grid;place-items:center;color:var(--muted);font-style:normal;font-size:15px;transition:transform .15s ease}.territory-region-card[open] .territory-region-metrics i{transform:rotate(180deg)}.territory-city-list{border-top:1px solid var(--line);background:#fdfbf9}.territory-city-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px;align-items:center;gap:10px;padding:10px 15px;border-bottom:1px solid var(--line)}.territory-city-row:last-child{border-bottom:0}.territory-city-name{display:flex;flex-direction:column;min-width:0}.territory-city-name b{font-size:11px;white-space:normal;overflow-wrap:anywhere}.territory-city-name small{margin-top:2px;color:var(--muted);font-size:8px;white-space:normal;overflow-wrap:anywhere}.territory-city-number{display:flex;flex-direction:column;align-items:flex-end;min-width:0}.territory-city-number b{font-size:13px}.territory-city-number small{color:var(--muted);font-size:8px;font-weight:800}.territory-empty{display:flex;flex-direction:column;padding:14px 15px}.territory-empty b{font-size:11px}.territory-empty small{margin-top:3px;color:var(--muted);font-size:9px;white-space:normal;overflow-wrap:anywhere}
html[data-theme="dark"] .territory-summary-card,html[data-theme="dark"] .territory-region-card{background:#211b18!important;border-color:var(--line)!important}html[data-theme="dark"] .territory-summary-card>span,html[data-theme="dark"] .territory-region-title>span{background:#3b211b!important;color:#ff9b82!important}html[data-theme="dark"] .territory-city-list{background:#1e1917!important}html[data-theme="dark"] .territory-mapping-metrics span{background:#2a221e!important}
@media(max-width:900px){.territory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-user-mapping{grid-template-columns:1fr}.territory-mapping-metrics{width:100%}}
@media(max-width:720px){.territory-head{flex-direction:column;align-items:flex-start!important}.territory-updated{white-space:normal}.admin-section-tabs a:nth-child(5){grid-column:auto!important}.admin-section-tabs a:nth-child(6){grid-column:auto!important}.admin-section-tabs a{min-height:44px}.territory-summary-card{padding:12px}.territory-region-card>summary{grid-template-columns:minmax(0,1fr);gap:9px;padding:12px}.territory-region-metrics{grid-template-columns:repeat(2,minmax(0,1fr)) 18px;width:100%}.territory-region-metrics>span{align-items:flex-start;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.territory-city-row{grid-template-columns:minmax(0,1fr) 70px 70px;padding:10px 12px;gap:7px}.territory-user-mapping{padding:15px}.territory-regions-section>.section-head{align-items:flex-start}}
@media(max-width:430px){.territory-summary-grid{grid-template-columns:1fr}.territory-summary-card>span{width:34px;height:34px}.territory-mapping-metrics{grid-template-columns:1fr}.territory-mapping-metrics span{border-right:0!important;border-bottom:1px solid var(--line)!important}.territory-mapping-metrics span:last-child{border-bottom:0!important}.territory-city-row{grid-template-columns:minmax(0,1fr) minmax(52px,64px) minmax(52px,64px)}.territory-city-number b{font-size:12px}.territory-region-title b{font-size:12px}.territory-region-metrics{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 16px}.territory-region-metrics>span{padding:7px}.admin-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-section-tabs a b{font-size:10px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;line-height:1.12!important}}

/* AperiSwipe v0.6.6.6 — opzioni alimentari locali + footer progetto. */
.venue-dietary-badges{display:inline-flex;align-items:center;gap:4px;max-width:100%;vertical-align:middle}
.venue-dietary-badge{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;min-width:23px;border-radius:999px;border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.08);line-height:1}
.venue-dietary-badge svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.venue-dietary-badge.vegan{background:#ecf9f0;border-color:#9fd3b2;color:#197342}
.venue-dietary-badge.gluten-free{background:#fff4c8;border-color:#e6c95d;color:#8a6500}
.venue-dietary-badge .dietary-slash{stroke-width:2.7}
.venue-dietary-badges.expanded{gap:7px;flex-wrap:wrap}
.venue-dietary-badges.expanded .venue-dietary-badge{width:auto;min-width:0;height:29px;padding:0 9px 0 7px;gap:5px;font-size:11px;font-weight:850;box-shadow:none}
.venue-dietary-badges.expanded .venue-dietary-badge svg{width:15px;height:15px}
.venue-dietary-badges.expanded .venue-dietary-badge b{font-size:11px;white-space:nowrap}

/* Catalogo Organizza: neutralizza il vecchio selettore generico .catalog-venue span. */
body.app-v5 .catalog-venue.catalog-venue-visual .venue-dietary-badges{position:relative!important;z-index:3!important;display:inline-flex!important;grid-template-columns:none!important;grid-template-rows:none!important;width:auto!important;height:auto!important;padding:0!important;margin:5px 0 0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;cursor:default!important;column-gap:4px!important;gap:4px!important;align-items:center!important;overflow:visible!important}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-dietary-badge{position:relative!important;display:inline-flex!important;grid-template-columns:none!important;grid-template-rows:none!important;width:22px!important;height:22px!important;min-width:22px!important;padding:0!important;margin:0!important;border-radius:999px!important;cursor:default!important;place-items:initial!important;align-items:center!important;justify-content:center!important;box-shadow:0 2px 7px rgba(0,0,0,.12)!important}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-dietary-badge.vegan{background:rgba(236,249,240,.96)!important;border:1px solid rgba(159,211,178,.95)!important;color:#197342!important}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-dietary-badge.gluten-free{background:rgba(255,244,200,.96)!important;border:1px solid rgba(230,201,93,.95)!important;color:#8a6500!important}
body.app-v5 .catalog-venue.catalog-venue-visual .venue-dietary-badge svg{display:block!important;width:13px!important;height:13px!important;grid-row:auto!important;background:none!important;border-radius:0!important}

body.app-v5 .venue-discovery-title .venue-dietary-badges{flex:0 0 auto}
body.app-v5 .venue-discovery-title .venue-dietary-badge{width:21px;height:21px;min-width:21px;box-shadow:0 2px 7px rgba(0,0,0,.16)}
body.app-v5 .venue-discovery-title .venue-dietary-badge svg{width:12px;height:12px}
body.app-v5 .venue-swipe-content .venue-dietary-badges{margin:4px 0 5px}
body.app-v5 .venue-landing-hero-copy .venue-dietary-badges{margin-top:8px}

/* Editor locale: due opzioni chiare, senza aggiungere bottoni alle card. */
.venue-dietary-editor{margin:12px 0 4px;padding:15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.58);min-width:0}
.venue-dietary-editor>div:first-child{display:flex;flex-direction:column;gap:3px}
.venue-dietary-editor>div:first-child small{color:var(--muted);font-size:12px;line-height:1.4}
.venue-dietary-editor-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:11px}
.form-card .venue-dietary-check{display:grid;grid-template-columns:18px 32px minmax(0,1fr);align-items:center;gap:9px;margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;min-width:0}
.form-card .venue-dietary-check input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;accent-color:var(--brand);box-shadow:none!important}
.venue-dietary-check .venue-dietary-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
.venue-dietary-check .venue-dietary-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.venue-dietary-check.vegan .venue-dietary-icon{background:#ecf9f0;color:#197342}
.venue-dietary-check.gluten-free .venue-dietary-icon{background:#fff4c8;color:#8a6500}
.venue-dietary-check .dietary-slash{stroke-width:2.7}
.venue-dietary-check>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.venue-dietary-check>span:last-child b{font-size:13px}
.venue-dietary-check>span:last-child small{color:var(--muted);font-size:10px;line-height:1.3;overflow-wrap:anywhere}
html[data-theme="dark"] .venue-dietary-editor{background:#211d1a;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .form-card .venue-dietary-check{background:#29231f;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .venue-dietary-badge.vegan{background:#193b2a;border-color:#315f46;color:#8ad9aa}
html[data-theme="dark"] .venue-dietary-badge.gluten-free{background:#403718;border-color:#6a5921;color:#f2d36a}

/* Footer globale. */
.aperiswipe-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;max-width:100%;overflow-wrap:anywhere}
.aperiswipe-footer .footer-project{font-weight:750;color:var(--muted)}
.aperiswipe-footer .footer-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.aperiswipe-footer .footer-links a{text-decoration:underline;text-underline-offset:3px}
.aperiswipe-footer .footer-links a:hover{color:var(--brand)}
@media(max-width:680px){
  .venue-dietary-editor-options{grid-template-columns:1fr}
  .venue-dietary-editor{padding:13px;max-width:100%;overflow:hidden}
  .form-card .venue-dietary-check{grid-template-columns:18px 30px minmax(0,1fr);padding:10px;max-width:100%}
  .mobile-app-nav + .aperiswipe-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .aperiswipe-footer{padding-left:16px;padding-right:16px}
}

/* v0.6.6.8 — landing carousel Safari-safe + responsive image fit */
.venue-landing-hero{isolation:isolate;min-width:0;aspect-ratio:16/9;min-height:0;max-height:620px;background-image:none!important}
.venue-landing-carousel-track{position:absolute;inset:0;z-index:0;display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
.venue-landing-carousel-track::-webkit-scrollbar{display:none}
.venue-landing-slide{position:relative;flex:0 0 100%;width:100%;height:100%;min-width:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#181412}
.venue-landing-slide img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;image-rendering:auto;user-select:none;-webkit-user-drag:none;backface-visibility:hidden}
.venue-landing-hero-shade{z-index:1;pointer-events:none}
.venue-landing-hero-copy{z-index:3;pointer-events:none;max-width:calc(100% - 68px)}
.venue-landing-carousel-btn{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(20,15,13,.50);color:#fff;font-size:31px;line-height:1;transform:translateY(-50%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.venue-landing-carousel-btn.prev{left:14px}.venue-landing-carousel-btn.next{right:14px}
.venue-landing-carousel-btn:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:2px}
.venue-landing-carousel-dots{position:absolute;z-index:5;top:16px;left:50%;display:flex;align-items:center;gap:7px;max-width:calc(100% - 120px);transform:translateX(-50%)}
.venue-landing-carousel-dots button{width:8px;height:8px;min-width:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.50);box-shadow:0 1px 5px rgba(0,0,0,.24);cursor:pointer;transition:width .18s ease,background .18s ease}
.venue-landing-carousel-dots button.is-active{width:24px;border-radius:99px;background:#fff}
.venue-contact-grid>a b{display:flex;align-items:center;gap:6px}
@media(max-width:760px){.venue-landing-hero{aspect-ratio:4/3;max-height:none}.venue-landing-carousel-btn{width:42px;height:42px}.venue-landing-carousel-btn.prev{left:10px}.venue-landing-carousel-btn.next{right:10px}.venue-landing-carousel-dots{top:12px;max-width:calc(100% - 96px)}.venue-landing-public,.venue-landing-body,.venue-landing-section,.venue-landing-promo,.venue-landing-cta{min-width:0;max-width:100%}.venue-landing-description,.venue-contact-grid span{overflow-wrap:anywhere;word-break:break-word}.venue-landing-hero-copy{max-width:calc(100% - 40px)}}
@media(max-width:420px){.venue-landing-hero{aspect-ratio:1/1;min-height:330px}.venue-landing-carousel-btn{top:45%;width:40px;height:40px}.venue-landing-hero-copy{max-width:calc(100% - 32px)}.venue-landing-hero-copy h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.venue-landing-carousel-track{scroll-behavior:auto}.venue-landing-carousel-dots button{transition:none}}

/* v0.6.7.0 — ingresso AperiSwipe Business anche da mobile. */
.business-entry-link{font-weight:900!important;color:var(--brand)!important}
@media(max-width:720px){
  .topbar .desktop-app-link.business-entry-link{display:grid!important;place-items:center;width:33px;height:33px;min-width:33px;padding:0!important;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:0!important;line-height:1}
  .topbar .desktop-app-link.business-entry-link::before{content:'B';font-size:14px;font-weight:950;color:var(--brand)}
  html[data-theme="dark"] .topbar .desktop-app-link.business-entry-link{background:#211d1a!important;border-color:rgba(255,255,255,.08)!important}
}

/* v0.6.8.2 — card eventi: azioni cliccabili, disponibilità Business e controlli senza bordi fantasma */
body.app-v5 .v5-event-card{color:inherit}
body.app-v5 .v5-event-main-link{display:block;color:inherit;text-decoration:none;position:relative;z-index:1}
body.app-v5 .v5-event-main-link:focus-visible{outline:3px solid rgba(242,81,44,.34);outline-offset:3px;border-radius:16px}
body.app-v5 .v5-event-card .event-footer-link{position:relative;z-index:4;color:inherit;text-decoration:none;font-weight:850;white-space:nowrap}
body.app-v5 .v5-event-card .event-footer-link:hover{text-decoration:underline;text-underline-offset:3px}
body.app-v5 .v5-event-card .event-call-action{text-decoration:none;border:0!important;box-shadow:none!important}
body.app-v5 .v5-event-card .event-book-action{border:0!important;box-shadow:none!important}
body.app-v5 .v5-event-card .event-book-action.is-unavailable{background:#eee7e3;color:#7a6d66;cursor:default;white-space:nowrap}
body.app-v5 .v5-event-card.has-venue-photo .event-book-action.is-unavailable{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(8px)}
.manage-business-booking .business-unavailable{cursor:default;border:0!important}
.manage-business-booking>small{display:block;margin-top:6px;max-width:520px}

/* Le vecchie regole .catalog-venue span non devono trasformare i controlli interni in grandi pillole vuote. */
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-phone{
  display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;
  width:auto!important;height:auto!important;min-width:0!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;cursor:default!important
}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-phone a{
  border:0!important;box-shadow:none!important;outline:0;background:rgba(47,119,82,.92)!important
}
body.app-v5 .catalog-venue.catalog-venue-visual .catalog-venue-discover{
  border:0!important;box-shadow:none!important;background:rgba(255,255,255,.16)!important
}

/* v0.6.8.3 — fix definitivo bordi fantasma nelle card locali. */
body.app-v5 .catalog-venue.catalog-venue-visual .venue-favorite>span{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;width:auto!important;height:auto!important;border-radius:0!important;display:block!important;grid-template-columns:none!important;grid-template-rows:none!important;cursor:inherit!important}

/* v0.6.8.4 — badge alimentari accanto a Confermato + popup scelta area Business. */
body.app-v5 .event-top-statuses{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;position:relative;z-index:4;min-width:0}
body.app-v5 .event-top-statuses>.status{height:27px;display:inline-flex;align-items:center;white-space:nowrap}
body.app-v5 .event-top-statuses .venue-dietary-badges{display:inline-flex;align-items:center;gap:6px;margin:0!important;width:auto!important;height:27px!important;flex:0 0 auto}
body.app-v5 .event-top-statuses .venue-dietary-badge{width:27px!important;height:27px!important;min-width:27px!important;margin:0!important;padding:0!important;box-shadow:0 2px 7px rgba(0,0,0,.14)!important}
body.app-v5 .event-top-statuses .venue-dietary-badge svg{width:14px!important;height:14px!important}
body.app-v5 .v5-event-card.has-venue-photo .event-top-statuses .venue-dietary-badge.vegan{background:rgba(40,123,78,.9)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
body.app-v5 .v5-event-card.has-venue-photo .event-top-statuses .venue-dietary-badge.gluten-free{background:rgba(191,143,23,.94)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}

.business-book-sheet[hidden]{display:none!important}.business-book-sheet{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:18px}.business-book-backdrop{position:absolute;inset:0;background:rgba(22,15,12,.62);backdrop-filter:blur(4px)}.business-book-dialog{position:relative;width:min(520px,100%);max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 28px 80px rgba(30,18,13,.3)}.business-book-grabber{display:none}.business-book-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:20px 20px 15px;border-bottom:1px solid var(--line)}.business-book-head small{display:block;color:var(--brand);font-size:9px;font-weight:950;letter-spacing:.09em}.business-book-head h2{margin:4px 0 3px;font-size:24px;line-height:1.05}.business-book-head p{margin:0;color:var(--muted);font-size:12px;font-weight:750}.business-book-close{appearance:none;border:0;background:var(--soft);color:var(--ink);width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:25px;line-height:1;cursor:pointer}.business-book-form{display:grid;gap:13px;padding:16px 20px calc(20px + env(safe-area-inset-bottom))}.business-book-choices{display:grid;gap:9px}.business-book-area-choice{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer}.business-book-area-choice:hover{border-color:#f3a18d;background:#fff8f5}.business-book-area-choice input{position:absolute;opacity:0;pointer-events:none}.business-book-area-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#fff0ea;color:var(--brand);font-size:18px;font-weight:950}.business-book-area-copy{display:flex;flex-direction:column;min-width:0}.business-book-area-copy b{font-size:14px;line-height:1.2;overflow-wrap:anywhere}.business-book-area-copy small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:750}.business-book-area-choice>i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eee7e3;color:transparent;font-style:normal;font-size:12px;font-weight:950}.business-book-area-choice:has(input:checked){border-color:#f28469;background:#fff7f4;box-shadow:0 0 0 2px rgba(242,81,44,.08)}.business-book-area-choice:has(input:checked)>i{background:var(--brand);color:#fff}.business-book-note{padding:10px 11px;border-radius:12px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:700;line-height:1.4}.business-book-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center;font-size:12px}.business-book-submit{min-height:46px}.business-book-submit:disabled{opacity:.5;cursor:not-allowed}.business-book-open{overflow:hidden}
html[data-theme="dark"] .business-book-dialog,html[data-theme="dark"] .business-book-area-choice{background:#211b18!important;border-color:rgba(255,255,255,.09)!important;color:var(--text)!important}html[data-theme="dark"] .business-book-close,html[data-theme="dark"] .business-book-note{background:#342923!important;color:#f7f0ec!important}html[data-theme="dark"] .business-book-area-icon{background:#3b2922!important}html[data-theme="dark"] .business-book-area-choice:hover,html[data-theme="dark"] .business-book-area-choice:has(input:checked){background:#2d211d!important;border-color:#a95b47!important}
@media(max-width:680px){.business-book-sheet{place-items:end center;padding:0}.business-book-dialog{width:100%;border-radius:24px 24px 0 0;border-bottom:0}.business-book-grabber{display:block;width:42px;height:4px;margin:8px auto 0;border-radius:999px;background:#d8cbc5}.business-book-head{padding:10px 14px 13px}.business-book-head h2{font-size:21px}.business-book-form{padding:13px 14px calc(16px + env(safe-area-inset-bottom))}.business-book-area-choice{padding:11px}.business-book-close{width:33px;height:33px}}


.organizer-self-card{display:flex;align-items:flex-start;gap:16px;margin-top:16px;padding:20px;background:var(--brand-soft-2);border:1px solid var(--line);border-radius:22px}.organizer-self-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:16px;background:var(--brand-soft);font-size:24px}.organizer-self-copy{min-width:0}.organizer-self-copy h2{margin:3px 0 7px}.organizer-self-copy p{margin:0;color:var(--muted);line-height:1.5}.organizer-self-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}@media(max-width:640px){.organizer-self-card{padding:16px;gap:12px}.organizer-self-actions .btn{width:100%;justify-content:center}}

/* AperiSwipe v0.6.9.0 — calendario evento + ricerca desktop proporzionata */
@media(min-width:721px){
  .search-row{align-items:stretch}
  .search-row>.btn.primary{min-width:132px;min-height:48px;padding:0 24px;font-size:15px;border-radius:14px;white-space:nowrap}
  .search-row .friend-search-input,.search-row .friend-search-input input{min-height:48px}
}
.event-calendar-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px 20px;background:linear-gradient(135deg,#fff,#fff8f4)}
.event-calendar-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--brand-soft,#fff0ea);font-size:23px}
.event-calendar-copy{min-width:0}.event-calendar-copy h2{margin:3px 0 4px;font-size:20px}.event-calendar-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.event-calendar-open{white-space:nowrap}
.calendar-dialog-shell{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:18px}
.calendar-dialog-shell[hidden]{display:none!important}
.calendar-dialog-backdrop{position:absolute;inset:0;background:rgba(25,20,18,.52);backdrop-filter:blur(7px)}
.calendar-dialog{position:relative;z-index:1;width:min(460px,100%);padding:28px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 28px 90px rgba(31,20,15,.28);text-align:center}
.calendar-dialog-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f5efec;color:var(--text);font-size:25px;line-height:1;cursor:pointer}
.calendar-dialog-icon{width:58px;height:58px;margin:0 auto 13px;display:grid;place-items:center;border-radius:18px;background:var(--brand-soft,#fff0ea);font-size:27px}
.calendar-dialog h2{margin:6px 0 7px;font-size:27px}.calendar-dialog>p{margin:0 0 18px;color:var(--muted);font-size:14px}
.calendar-provider-actions{display:grid;gap:9px}.calendar-provider-actions .btn{width:100%;min-height:50px;gap:9px}
.calendar-provider-actions .btn>span{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.2);font-weight:950}
.calendar-apple>span{font-size:18px;background:#f4efec!important}.calendar-not-now{margin-top:15px;color:var(--muted);font-weight:800;cursor:pointer}
body.calendar-dialog-open{overflow:hidden}
html[data-theme="dark"] .event-calendar-card{background:linear-gradient(135deg,#211d1a,#281e1a);border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .calendar-dialog{background:#211d1a;border-color:rgba(255,255,255,.10);color:#fff}
html[data-theme="dark"] .calendar-dialog-close,html[data-theme="dark"] .calendar-apple>span{background:#312a26!important;color:#fff}
@media(max-width:720px){
  .event-calendar-card{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px}.event-calendar-open{grid-column:1/-1;width:100%}
  .calendar-dialog-shell{align-items:end;padding:10px}.calendar-dialog{width:100%;padding:25px 18px 20px;border-radius:25px 25px 18px 18px}.calendar-dialog h2{font-size:24px}
}

/* v0.6.9.0 — CTA Cerca desktop della discovery: stessa scala dell'input. */
@media(min-width:721px){
  body.app-v5 .v5-discovery .venue-discovery-controls.venue-discovery-controls-home:has([data-home-venue-radius]){grid-template-columns:minmax(0,1fr) 156px!important}
  body.app-v5 .venue-discovery-controls-home .venue-discovery-query{grid-column:1!important;grid-row:1!important}
  body.app-v5 .venue-discovery-controls-home .venue-discovery-submit{grid-column:2!important;grid-row:1!important;width:100%!important;height:48px!important;min-height:48px!important;align-self:end!important;border-radius:13px!important;padding:0 22px!important;font-size:15px!important;box-shadow:0 8px 20px rgba(242,81,44,.18)!important}
  body.app-v5 .venue-discovery-controls-home .home-city-field{grid-column:1!important;grid-row:2!important}
  body.app-v5 .venue-discovery-controls-home .home-radius-field{grid-column:2!important;grid-row:2!important}
}
@media(max-width:720px){body.app-v5 .venue-discovery-controls-home .venue-discovery-submit{display:none!important}}

/* AperiSwipe v0.6.9.1 — ricerca gruppi desktop + foto profilo compatta */
.profile-photo-inline-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:5px}
.profile-photo-inline-upload,.profile-photo-inline-remove-form{display:inline-flex;align-items:center;gap:8px;margin:0}
.profile-photo-inline-tools .profile-photo-jump{margin:0;cursor:pointer;line-height:1.2}
.profile-photo-inline-save,.profile-photo-inline-remove{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:11px;font-weight:900;cursor:pointer;line-height:1.2}
.profile-photo-inline-save{color:var(--brand)}
.profile-photo-inline-remove{color:var(--muted)}
.profile-photo-inline-save:hover,.profile-photo-inline-remove:hover{text-decoration:underline}

@media(min-width:721px){
  body.app-v5 .group-add-friends .group-friend-search{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) 138px;
    gap:12px;
    align-items:stretch;
  }
  body.app-v5 .group-add-friends .group-friend-search .friend-search-input{
    width:100%;
    min-width:0;
    min-height:52px;
  }
  body.app-v5 .group-add-friends .group-friend-search .friend-search-input input{
    display:block;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    box-sizing:border-box;
    padding:0 16px 0 44px!important;
    border-radius:14px;
    font-size:15px;
  }
  body.app-v5 .group-add-friends .group-friend-search .friend-search-input svg{
    left:15px;
    width:19px;
    height:19px;
  }
  body.app-v5 .group-add-friends .group-friend-search>.btn{
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 22px!important;
    border-radius:14px!important;
    font-size:15px!important;
    align-self:stretch!important;
  }
}

@media(max-width:720px){
  .profile-photo-inline-tools{gap:8px}
  .profile-photo-inline-upload{flex-wrap:wrap}
}

/* AperiSwipe v0.6.9.2 — stato notifiche e CTA impostazioni */
.notification-settings-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--text);box-shadow:0 6px 22px rgba(48,34,28,.05);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.notification-settings-alert:hover{transform:translateY(-1px);border-color:rgba(255,91,55,.28);box-shadow:0 10px 26px rgba(48,34,28,.08)}
.notification-settings-alert-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--brand-soft,#fff0ea);font-size:20px}
.notification-settings-alert span:nth-child(2){min-width:0;display:grid;gap:3px}.notification-settings-alert b{font-size:13px;line-height:1.3}.notification-settings-alert small{color:var(--muted);font-size:11px;line-height:1.35}.notification-settings-alert>i{font-style:normal;color:var(--muted);font-size:24px;font-weight:700}
.notification-settings-alert.is-disabled{background:linear-gradient(135deg,#fff8f4,#fff);border-color:rgba(255,91,55,.22)}
.notification-settings-alert.is-device{background:linear-gradient(135deg,#fff,#fff9f6)}
html[data-theme="dark"] body.app-v5 .notification-settings-alert{background:#211d1a!important;border-color:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:none!important}
html[data-theme="dark"] body.app-v5 .notification-settings-alert-icon{background:#31251f!important}html[data-theme="dark"] body.app-v5 .notification-settings-alert small,html[data-theme="dark"] body.app-v5 .notification-settings-alert>i{color:#c8b9b2!important}
@media(max-width:640px){.notification-settings-alert{padding:13px;gap:11px;border-radius:16px}.notification-settings-alert-icon{width:38px;height:38px;border-radius:12px}.notification-settings-alert b{font-size:12px}}



/* AperiSwipe v0.6.9.3 — città coerente con selettore raggio + stato push account. */
body.app-v5 .venue-discovery-controls-home .home-city-field .city-combobox>input{
  padding-right:52px!important;
}
body.app-v5 .venue-discovery-controls-home .home-city-field .city-toggle,
.public-venue-discovery .venue-discovery-controls-home .home-city-field .city-toggle{
  position:absolute!important;
  top:0!important;right:0!important;bottom:0!important;
  transform:none!important;
  width:52px!important;height:48px!important;min-width:52px!important;min-height:48px!important;
  margin:0!important;padding:0 15px!important;
  display:grid!important;place-items:center!important;
  border:0!important;border-radius:0 13px 13px 0!important;
  background:transparent!important;box-shadow:none!important;
  color:var(--text)!important;font-size:20px!important;font-weight:700!important;line-height:1!important;
}
body.app-v5 .venue-discovery-controls-home .home-city-field .city-toggle:hover,
body.app-v5 .venue-discovery-controls-home .home-city-field .city-toggle:focus-visible,
.public-venue-discovery .venue-discovery-controls-home .home-city-field .city-toggle:hover,
.public-venue-discovery .venue-discovery-controls-home .home-city-field .city-toggle:focus-visible{
  background:rgba(242,81,44,.055)!important;outline:none!important;
}
html[data-theme="dark"] body.app-v5 .venue-discovery-controls-home .home-city-field .city-toggle{
  background:transparent!important;color:#fff!important;
}
@media(max-width:720px){
  body.app-v5 .venue-discovery-controls-home .home-city-field .city-toggle,
  .public-venue-discovery .venue-discovery-controls-home .home-city-field .city-toggle{top:0!important;right:0!important;height:48px!important;min-height:48px!important}
}

/* AperiSwipe v0.6.9.4 — PWA tap highlight + input Cerca coerente. */
@media(max-width:720px){
  body.app-v5 .mobile-app-nav,
  body.app-v5 .mobile-app-nav a,
  body.app-v5 .mobile-app-nav button,
  body.app-v5 .mobile-app-nav span,
  body.app-v5 .mobile-app-nav svg{
    -webkit-tap-highlight-color:transparent!important;
  }
  body.app-v5 .mobile-app-nav a,
  body.app-v5 .mobile-app-nav button{touch-action:manipulation;-webkit-user-select:none;user-select:none}
  body.app-v5 .mobile-nav-item:focus:not(:focus-visible){outline:none!important}
}
body.app-v5 .friend-search-input input[type="search"],
body.app-v5 .group-friend-search .friend-search-input input{
  -webkit-appearance:none!important;
  appearance:none!important;
  border:1px solid var(--line)!important;
  outline:0!important;
  box-shadow:none!important;
  background:#fff!important;
  color:var(--text)!important;
  font:inherit;
}
body.app-v5 .friend-search-input input[type="search"]:focus,
body.app-v5 .group-friend-search .friend-search-input input:focus{
  border-color:rgba(242,81,44,.48)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(242,81,44,.09)!important;
}
html[data-theme="dark"] body.app-v5 .friend-search-input input[type="search"],
html[data-theme="dark"] body.app-v5 .group-friend-search .friend-search-input input{
  background:#211d1a!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#fff!important;
}


/* AperiSwipe v0.6.9.6 — coerenza filtri, input "Cosa porto" mobile e bordi voto completi. */
body.app-v5 .venue-discovery-controls-home .home-radius-field select{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 52px 0 14px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23201a17' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 16px center!important;
  background-size:18px 18px!important;
  box-shadow:0 3px 12px rgba(61,39,29,.04)!important;
  color:var(--text)!important;
  font:inherit!important;
  font-weight:720!important;
  line-height:48px!important;
  outline:none!important;
}
body.app-v5 .venue-discovery-controls-home .home-radius-field select:hover,
body.app-v5 .venue-discovery-controls-home .home-radius-field select:focus-visible{
  border-color:rgba(242,81,44,.20)!important;
  box-shadow:0 0 0 3px rgba(242,81,44,.07),0 3px 12px rgba(61,39,29,.04)!important;
}
html[data-theme="dark"] body.app-v5 .venue-discovery-controls-home .home-radius-field select{
  background-color:#211d1a!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  border-color:rgba(255,255,255,.08)!important;
  color:#fff!important;
}

/* I bordi selezionati sono bordi reali, non inset-shadow: niente lati tagliati su Android/iOS. */
body.app-v5 .vote-panel-v4 .vote-buttons{
  padding:2px!important;
  gap:8px!important;
  overflow:visible!important;
}
body.app-v5 .vote-panel-v4 .vote{min-width:0!important;margin:0!important}
body.app-v5 .vote-panel-v4 .vote span{
  width:100%!important;
  border:2px solid var(--line)!important;
  box-shadow:none!important;
  background-clip:padding-box!important;
}
body.app-v5 .vote-panel-v4 .vote input:checked+span{
  border-color:currentColor!important;
  box-shadow:none!important;
}

/* Campo "Cosa porto" coerente con gli input AperiSwipe, soprattutto su mobile. */
body.app-v5 .bring-item-panel label{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin:16px 0 0;
  font-size:13px;
  font-weight:800;
}
body.app-v5 .bring-item-panel input[type="text"],
body.app-v5 .rsvp-bring-field input[type="text"]{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--text)!important;
  font:inherit!important;
  outline:none!important;
  box-shadow:0 3px 12px rgba(61,39,29,.035)!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
body.app-v5 .bring-item-panel input[type="text"]:focus,
body.app-v5 .rsvp-bring-field input[type="text"]:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 3px rgba(242,81,44,.09)!important;
}
html[data-theme="dark"] body.app-v5 .bring-item-panel input[type="text"],
html[data-theme="dark"] body.app-v5 .rsvp-bring-field input[type="text"]{
  background:#211d1a!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
@media(max-width:680px){
  body.app-v5 .bring-item-panel label{
    grid-template-columns:max-content minmax(0,1fr)!important;
    gap:14px!important;
    padding-left:2px!important;
  }
  body.app-v5 .bring-item-panel input[type="text"]{
    min-height:48px!important;
    border-radius:15px!important;
  }
  body.app-v5 .vote-panel-v4 .vote-date{
    overflow:visible!important;
  }
}

/* AperiSwipe v0.6.9.7 — raggio con lo stesso identico componente visivo della città. */
body.app-v5 .venue-discovery-controls-home .home-radius-field .radius-combobox,
.public-venue-discovery .venue-discovery-controls-home .home-radius-field .radius-combobox{
  position:relative!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin-top:0!important;
}
body.app-v5 .venue-discovery-controls-home .home-radius-field .radius-combobox>select,
.public-venue-discovery .venue-discovery-controls-home .home-radius-field .radius-combobox>select{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 52px 0 14px!important;
  box-sizing:border-box!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:0 3px 12px rgba(61,39,29,.04)!important;
  color:var(--text)!important;
  font:inherit!important;
  font-weight:720!important;
  line-height:normal!important;
  outline:0!important;
  cursor:pointer!important;
}
body.app-v5 .venue-discovery-controls-home .home-radius-field .radius-toggle,
.public-venue-discovery .venue-discovery-controls-home .home-radius-field .radius-toggle{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  transform:none!important;
  width:52px!important;
  height:48px!important;
  min-width:52px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 15px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:0 13px 13px 0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text)!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1!important;
  pointer-events:none!important;
}
body.app-v5 .venue-discovery-controls-home .home-radius-field .radius-combobox>select:hover,
body.app-v5 .venue-discovery-controls-home .home-radius-field .radius-combobox>select:focus-visible,
.public-venue-discovery .venue-discovery-controls-home .home-radius-field .radius-combobox>select:hover,
.public-venue-discovery .venue-discovery-controls-home .home-radius-field .radius-combobox>select:focus-visible{
  border-color:rgba(242,81,44,.20)!important;
  box-shadow:0 0 0 3px rgba(242,81,44,.07),0 3px 12px rgba(61,39,29,.04)!important;
}
html[data-theme="dark"] body.app-v5 .venue-discovery-controls-home .home-radius-field .radius-combobox>select{
  background:#211d1a!important;
  border-color:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
html[data-theme="dark"] body.app-v5 .venue-discovery-controls-home .home-radius-field .radius-toggle{
  color:#fff!important;
}

/* AperiSwipe v0.6.9.8 — componenti custom uniformi: Raggio + selezione orario. */
.as-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.radius-combobox>.radius-toggle{display:none!important}
.as-select-control{position:relative;width:100%;min-width:0}
.as-select-trigger{
  width:100%;height:48px;min-height:48px;margin:0;padding:0 52px 0 14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;
  border:1px solid transparent;border-radius:13px;background:#fff;color:var(--text);
  box-shadow:0 3px 12px rgba(61,39,29,.04);font:inherit;font-weight:720;line-height:1;text-align:left;cursor:pointer;outline:0
}
.as-select-trigger:hover,.as-select-trigger:focus-visible,.as-select-control.is-open .as-select-trigger{border-color:rgba(242,81,44,.20);box-shadow:0 0 0 3px rgba(242,81,44,.07),0 3px 12px rgba(61,39,29,.04)}
.as-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-select-caret{position:absolute;right:0;top:0;width:52px;height:48px;display:grid;place-items:center;font-size:20px;font-weight:700;color:var(--text);pointer-events:none}
.as-select-menu{position:absolute;z-index:95;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(50,30,20,.16)}
.as-select-menu[hidden]{display:none!important}
.as-select-option{width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:11px;background:transparent;color:inherit;font:inherit;font-weight:760;text-align:left;cursor:pointer}
.as-select-option:hover,.as-select-option:focus-visible,.as-select-option.is-selected{background:var(--brand-soft,#fff0ea);outline:0}
.venue-discovery-controls-home .home-radius-field .radius-combobox{height:auto!important;min-height:48px!important}
.venue-discovery-controls-home .home-radius-field .as-select-control{height:48px!important}
.venue-radius-row .as-select-control{margin-top:7px}
html[data-theme="dark"] .as-select-trigger{background:#211d1a;color:#fff;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .as-select-caret{color:#fff}
html[data-theme="dark"] .as-select-menu{background:#211d1a;border-color:rgba(255,255,255,.10)}
html[data-theme="dark"] .as-select-option:hover,html[data-theme="dark"] .as-select-option:focus-visible,html[data-theme="dark"] .as-select-option.is-selected{background:#342720}

.as-time-control{position:relative;display:block;width:100%;min-width:0}
.as-time-native{display:none!important}
.as-time-trigger{
  width:100%;min-height:46px;padding:12px 42px 12px 14px;display:flex;align-items:center;justify-content:space-between;
  border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font:inherit;font-weight:760;text-align:left;outline:0;cursor:pointer
}
.as-time-trigger i{position:absolute;right:14px;font-style:normal;color:var(--muted);font-size:18px}
.as-time-trigger.is-empty span{color:var(--muted);font-weight:650}
.as-time-trigger:hover,.as-time-trigger:focus-visible,.as-time-trigger[aria-expanded="true"]{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,81,44,.10)}
.as-time-backdrop{position:fixed;z-index:2500;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(22,17,15,.48);backdrop-filter:blur(5px)}
.as-time-backdrop[hidden]{display:none!important}
.as-time-sheet{width:min(430px,100%);max-height:min(680px,calc(100dvh - 36px));overflow:auto;padding:22px;border:1px solid rgba(255,255,255,.58);border-radius:26px;background:#fff9f5;color:var(--text);box-shadow:0 28px 90px rgba(25,15,10,.30)}
.as-time-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.as-time-head h3{margin:4px 0 0;font-size:26px;letter-spacing:-.03em}.as-time-close{width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--text);font-size:25px;line-height:1;cursor:pointer}
.as-time-preview{margin:18px 0 20px;padding:14px;border-radius:18px;background:#fff;color:var(--text);font-size:52px;font-weight:850;line-height:1;text-align:center;letter-spacing:-.045em;border:1px solid var(--line)}
.as-time-steppers{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px}.as-time-colon{padding-bottom:16px;font-size:32px;font-weight:900;color:var(--muted)}
.as-time-stepper>span{display:block;margin:0 0 7px 4px;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.as-time-stepper>div{display:grid;grid-template-columns:44px minmax(54px,1fr) 44px;align-items:center;gap:6px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff}.as-time-stepper button{width:44px;height:44px;border:0;border-radius:12px;background:#fff0ea;color:var(--brand);font-size:24px;font-weight:900;cursor:pointer}.as-time-stepper b{text-align:center;font-size:23px}
.as-time-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.as-time-quick button{min-height:42px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--text);font:inherit;font-weight:800;cursor:pointer}.as-time-quick button.is-selected{border-color:var(--brand);background:#fff0ea;color:var(--brand)}
.as-time-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;margin-top:20px}.as-time-actions .btn{min-height:46px;padding:11px 13px}
html.as-time-open,html.as-time-open body{overflow:hidden!important}
html[data-theme="dark"] .as-time-trigger,html[data-theme="dark"] .as-time-sheet,html[data-theme="dark"] .as-time-close,html[data-theme="dark"] .as-time-preview,html[data-theme="dark"] .as-time-stepper>div,html[data-theme="dark"] .as-time-quick button{background:#211d1a;color:#fff;border-color:rgba(255,255,255,.10)}
html[data-theme="dark"] .as-time-sheet{background:#171412}html[data-theme="dark"] .as-time-stepper button,html[data-theme="dark"] .as-time-quick button.is-selected{background:#3a241d}
@media(max-width:680px){
  .as-time-backdrop{align-items:flex-end;padding:12px 12px max(12px,env(safe-area-inset-bottom))}
  .as-time-sheet{width:100%;max-height:calc(100dvh - 24px);border-radius:24px 24px 18px 18px;padding:20px 16px}
  .as-time-preview{font-size:46px}
  .as-time-actions{grid-template-columns:1fr 1fr}.as-time-actions [data-as-time-clear]{grid-column:1/-1;order:3}
  .event-editor .date-option .as-time-control{min-width:0}
}


/* AperiSwipe v0.6.10.0 — time picker universale, auth spacing, dark-mode button hardening */
.auth-register-footer{display:grid;gap:12px;margin-top:20px;padding-top:4px}
.auth-register-footer p{margin:0!important;line-height:1.5}
.auth-login-switch{padding-top:4px}
.auth-login-switch a,.guest-account-link{text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:3px!important;color:var(--brand)!important;font-weight:850!important}
.guest-account-hint{margin-top:22px!important;row-gap:10px!important;column-gap:14px!important}
.guest-account-hint>span{flex-basis:100%;text-align:center;margin-bottom:2px}
.as-time-trigger.is-invalid{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(215,75,73,.12)!important}
/* Il picker custom viene usato globalmente: nessun input time nativo deve restare visibile dopo il bootstrap. */
.as-time-control{min-width:0}
.as-time-trigger{width:100%}

/* Fallback finale: nel tema scuro nessuna azione secondaria comune resta bianca/illeggibile. */
html[data-theme="dark"] body.app-v5 .btn.ghost,
html[data-theme="dark"] body.app-v5 a.btn.ghost,
html[data-theme="dark"] body.app-v5 button.btn.ghost,
html[data-theme="dark"] body.app-v5 .btn.soft,
html[data-theme="dark"] body.app-v5 .mini-add-btn,
html[data-theme="dark"] body.app-v5 .city-toggle,
html[data-theme="dark"] body.app-v5 .as-select-trigger,
html[data-theme="dark"] body.app-v5 .as-time-trigger,
html[data-theme="dark"] body.app-v5 .as-time-close,
html[data-theme="dark"] body.app-v5 .quick-searches button,
html[data-theme="dark"] body.app-v5 .calendar-dialog-close{
  background:#211d1a!important;
  color:#f8f2ef!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.app-v5 .btn.ghost:hover,
html[data-theme="dark"] body.app-v5 .btn.soft:hover,
html[data-theme="dark"] body.app-v5 .mini-add-btn:hover,
html[data-theme="dark"] body.app-v5 .city-toggle:hover,
html[data-theme="dark"] body.app-v5 .as-select-trigger:hover,
html[data-theme="dark"] body.app-v5 .as-time-trigger:hover{
  background:#2c2521!important;
  color:#fff!important;
  border-color:#6a554a!important;
}
html[data-theme="dark"] body.app-v5 .as-time-quick button,
html[data-theme="dark"] body.app-v5 .as-time-stepper>div,
html[data-theme="dark"] body.app-v5 .as-time-preview{
  background:#211d1a!important;color:#f8f2ef!important;border-color:rgba(255,255,255,.12)!important
}
html[data-theme="dark"] body.app-v5 .as-time-stepper button{background:#3a241d!important;color:#ff8f73!important}
html[data-theme="dark"] body.app-v5 .as-time-quick button.is-selected{background:#3a241d!important;color:#ff8f73!important;border-color:#7f4a3b!important}
@media(max-width:720px){
  .auth-register-footer{gap:14px;margin-top:22px}
  .guest-account-hint{margin-top:24px!important}
}

/* AperiSwipe v0.6.10.2 — landing maps, headline dinamica, auth dark mode e time picker hardening */
.v5-rotating-headline{min-height:1.08em;display:block;overflow:hidden}
.v5-rotating-headline>[data-home-rotating-headline]{display:inline-block;transition:opacity .28s ease,transform .28s ease;opacity:1;transform:translateY(0)}
.v5-rotating-headline>[data-home-rotating-headline].is-changing{opacity:0;transform:translateY(7px)}
@media(prefers-reduced-motion:reduce){.v5-rotating-headline>[data-home-rotating-headline]{transition:none}}

.venue-landing-hero-location{display:inline-block;color:inherit;text-decoration:none}
.venue-landing-hero-location p{display:inline-flex;align-items:center;gap:5px}
.venue-landing-hero-location:hover p,.venue-landing-hero-location:focus-visible p{text-decoration:underline;text-underline-offset:3px}
.venue-landing-map-address a{color:inherit;text-decoration:underline;text-decoration-thickness:1.3px;text-underline-offset:3px;font-weight:750}
.venue-contact-grid>a[href*="google.com/maps"] span{text-decoration:underline;text-decoration-thickness:1.2px;text-underline-offset:3px}

/* Auth: elimina i controlli bianchi nativi nel tema scuro. */
html[data-theme="dark"] body.app-v5 .auth-card .password-field button{
  background:#2a2420!important;color:#f8f2ef!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:none!important
}
html[data-theme="dark"] body.app-v5 .auth-card .password-field button:hover,
html[data-theme="dark"] body.app-v5 .auth-card .password-field button:focus-visible{
  background:#352d28!important;color:#ff9a80!important;border-color:#6d554a!important;outline:none!important
}
html[data-theme="dark"] body.app-v5 .auth-card .password-field button svg{stroke:currentColor!important}
html[data-theme="dark"] body.app-v5 .auth-card .privacy-ack-row input[type="checkbox"],
html[data-theme="dark"] body.app-v5 .auth-card .remember-login-row input[type="checkbox"]{
  accent-color:var(--brand)!important;background:#181412!important;color-scheme:dark
}
html[data-theme="dark"] body.app-v5 .auth-card .auth-helper-row a,
html[data-theme="dark"] body.app-v5 .auth-card .auth-login-switch a,
html[data-theme="dark"] body.app-v5 .auth-card>p a{
  color:#ff8e72!important;text-decoration:underline!important;text-underline-offset:3px!important
}
html[data-theme="dark"] body.app-v5 .hero-secondary-actions .btn.ghost,
html[data-theme="dark"] body.app-v5 .hero-secondary-actions .btn.soft{
  background:#211d1a!important;color:#f8f2ef!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:none!important
}
html[data-theme="dark"] body.app-v5 .hero-secondary-actions .btn.ghost:hover,
html[data-theme="dark"] body.app-v5 .hero-secondary-actions .btn.soft:hover{
  background:#2d2622!important;color:#fff!important;border-color:#6b554b!important
}

/* Gli input orario pre-renderizzati sono text/readonly per impedire ad Android di aprire il picker nativo prima del JS. */
input[data-as-time-input][readonly]{cursor:pointer}
html[data-theme="dark"] input[data-as-time-input][readonly]{background:#181412!important;color:var(--text)!important}

/* Landing dentro Business: mantiene la larghezza utile del pannello Business. */
body.business-page-route .landing-editor-head,
body.business-page-route .venue-landing-editor{max-width:1100px;margin-left:auto;margin-right:auto}
.response-deadline-title{display:block;font-size:13px;font-weight:800;margin:0 0 8px}
.response-deadline-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.response-deadline-controls>label{margin:0!important}
.response-deadline-controls>label>span:first-child{display:block;margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:560px){.response-deadline-controls{grid-template-columns:1fr}}

/* AperiSwipe v0.6.10.4 — Home configurabile da Admin con colori Light/Dark */
body.app-v5 .v5-rotating-headline>[data-home-rotating-headline]{color:var(--home-headline-color-light,var(--home-headline-color,inherit))}
html[data-theme="dark"] body.app-v5 .v5-rotating-headline>[data-home-rotating-headline]{color:var(--home-headline-color-dark,var(--home-headline-color-light,var(--home-headline-color,inherit)))}

.admin-home-presentation{max-width:980px}
.admin-home-settings-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:22px;align-items:start}
.admin-home-phrases{margin:0!important}
.admin-home-phrases textarea{width:100%;min-height:320px;resize:vertical;line-height:1.55}
.admin-home-color-card{display:grid;gap:16px;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(247,241,238,.7)}
.admin-home-color-card>div:first-child{display:grid;gap:4px}.admin-home-color-card small{color:var(--muted);line-height:1.45}
.admin-home-color-picker{display:flex!important;align-items:center;gap:12px;margin:0!important}
.admin-home-color-picker input[type="color"]{width:64px!important;height:48px!important;padding:4px!important;border-radius:13px!important;cursor:pointer}
.admin-home-color-picker span{font-weight:900;letter-spacing:.04em}
.admin-home-mode-colors{display:grid;gap:18px}
.admin-home-color-option{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.admin-home-color-option:first-child{padding-top:0;border-top:0}
.admin-home-color-option-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.admin-home-color-option-head>small{font-size:11px}
.admin-home-preview{display:grid;gap:6px;padding:18px;border-radius:18px;min-height:120px;align-content:center;border:1px solid transparent}
.admin-home-preview.is-light{background:#fffaf7;border-color:#eadfd9}
.admin-home-preview.is-dark{background:linear-gradient(135deg,#211b18,#3a2821);border-color:#4a3e38}
.admin-home-preview.is-light small{color:#7c6f69!important}.admin-home-preview.is-dark small{color:#cdbeb7!important}.admin-home-preview strong{font-size:27px;line-height:1.04;letter-spacing:-.035em;color:var(--admin-home-preview-color,#f2512c)}
.admin-home-actions{display:flex;justify-content:flex-end;margin-top:20px}
@media(max-width:760px){.admin-home-settings-grid{grid-template-columns:1fr}.admin-home-phrases textarea{min-height:270px}.admin-home-actions .btn{width:100%}}
html[data-theme="dark"] .admin-home-color-card{background:#211b18!important;border-color:#4a3e38!important}
html[data-theme="dark"] .admin-home-color-picker input[type="color"]{background:#171311!important;border-color:#51433d!important}

html[data-theme="dark"] .demo-card-v4 .venue-demo{background:#17382a!important;border:1px solid #315f49!important;color:#c6f1da!important}
html[data-theme="dark"] .demo-card-v4 .venue-demo strong{color:#d8f7e7!important}
html[data-theme="dark"] .demo-card-v4 .venue-demo span{color:#9bc9b2!important}
html[data-theme="dark"] .demo-card-v4 .mini-row{border-color:#4b403b!important;color:#eee5e0!important}
html[data-theme="dark"] .demo-card-v4 .mini-row.best,html[data-theme="dark"] .demo-card-v4 .mini-row.best span,html[data-theme="dark"] .demo-card-v4 .mini-row.best b{color:#6ed3a1!important}
html[data-theme="dark"] .demo-card-v4 .demo-people span{background:#2b2522!important;border-color:#443a35!important;color:#eee5e0!important;box-shadow:none!important}
html[data-theme="dark"] .demo-card-v4 .demo-people b{background:#3b211b!important;border-color:#694034!important;color:#ff9d83!important;box-shadow:none!important}
html[data-theme="dark"] .demo-card-v4 .swipe-pill{background:#4a281f!important;color:#ffb09c!important;border:1px solid #714236!important}


/* AperiSwipe v0.6.10.5 — time picker responsive anche con viewport/font scaling Samsung. */
.as-time-steppers{
  position:relative;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:end;
  gap:18px!important;
}
.as-time-colon{
  position:absolute!important;
  left:50%!important;
  bottom:17px!important;
  transform:translateX(-50%)!important;
  padding:0!important;
  width:auto!important;
  pointer-events:none;
  z-index:2;
}
.as-time-stepper{min-width:0!important}
.as-time-stepper>div{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr) minmax(38px,.9fr) minmax(0,1fr)!important;
  gap:4px!important;
}
.as-time-stepper button{
  width:100%!important;
  min-width:0!important;
  max-width:48px!important;
  box-sizing:border-box!important;
  justify-self:center!important;
}
.as-time-stepper b{
  min-width:0!important;
  width:100%!important;
  font-size:clamp(20px,5.5vw,23px)!important;
  line-height:1!important;
  white-space:nowrap!important;
}
@media(max-width:390px){
  .as-time-sheet{padding-left:14px!important;padding-right:14px!important}
  .as-time-steppers{gap:12px!important}
  .as-time-stepper>div{padding:5px!important;gap:3px!important}
  .as-time-stepper button{height:42px!important;max-width:44px!important;font-size:22px!important}
  .as-time-colon{bottom:16px!important;font-size:28px!important}
}
@media(max-width:350px){
  .as-time-steppers{gap:10px!important}
  .as-time-stepper>span{margin-left:2px!important}
  .as-time-stepper>div{padding:4px!important;grid-template-columns:minmax(0,1fr) minmax(34px,.85fr) minmax(0,1fr)!important}
  .as-time-stepper button{height:40px!important;max-width:40px!important;font-size:21px!important}
  .as-time-stepper b{font-size:19px!important}
}

/* AperiSwipe v0.6.10.6 — swipe locali, stacking città/raggio e centratura icone cross-device. */
/* La regola display:flex della card non deve mai vincere sullo stato nascosto. */
body.app-v5 .venue-swipe-card.is-hidden,
body.app-v5 .venue-swipe-card[hidden]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.app-v5 .venue-swipe-card:not(.is-hidden):not([hidden]){
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Il menu Città deve stare sopra al controllo Raggio anche su Samsung Internet/WebView. */
body.app-v5 .v5-discovery .venue-discovery-controls-home{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate;
}
body.app-v5 .v5-discovery .home-city-field{
  position:relative!important;
  z-index:20!important;
  overflow:visible!important;
}
body.app-v5 .v5-discovery .home-radius-field{
  position:relative!important;
  z-index:1!important;
}
body.app-v5 .v5-discovery .home-city-field .city-combobox.is-open,
body.app-v5 .v5-discovery.city-menu-open .home-city-field,
body.app-v5 .v5-discovery.city-menu-open .home-city-field .city-combobox{
  z-index:1002!important;
}
body.app-v5 .v5-discovery .home-city-field .city-combobox.is-open .city-options,
body.app-v5 .v5-discovery.city-menu-open .home-city-field .city-options{
  z-index:1003!important;
}
body.app-v5 .v5-discovery.city-menu-open .home-radius-field,
body.app-v5 .v5-discovery.city-menu-open .home-radius-field .as-select-control{
  z-index:1!important;
}

/* Controlli grafici: centro ottico stabile con viewport, DPR e font scaling differenti. */
body.app-v5 .password-field button{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:0!important;
  aspect-ratio:1/1;
}
body.app-v5 .password-field button svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  margin:auto!important;
  transform:none!important;
  transform-origin:center!important;
}
body.app-v5 .mobile-nav-item>span{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  display:grid!important;
  place-items:center!important;
  line-height:0!important;
  margin:0 auto!important;
}
body.app-v5 .mobile-nav-item>span svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  margin:auto!important;
}
body.app-v5 .header-role-link,
body.app-v5 .venue-favorite,
body.app-v5 .as-time-close,
body.app-v5 .as-time-stepper button,
body.app-v5 .business-book-close{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
}
body.app-v5 .header-role-link svg,
body.app-v5 .swipe-action-icon svg{
  display:block!important;
  margin:auto!important;
  transform-origin:center!important;
}

/* Evita che display/font scaling spostino i controlli quadrati sui telefoni più stretti. */
@media(max-width:390px){
  body.app-v5 .password-field button{right:6px!important;width:36px!important;height:36px!important}
  body.app-v5 .mobile-nav-item>span{width:24px!important;height:24px!important;min-width:24px!important}
  body.app-v5 .mobile-nav-item>span svg{width:21px!important;height:21px!important}
}
@media(max-width:350px){
  body.app-v5 .mobile-nav-item>span{width:22px!important;height:22px!important;min-width:22px!important}
  body.app-v5 .mobile-nav-item>span svg{width:20px!important;height:20px!important}
}

/* AperiSwipe v0.6.10.7 — centratura ottica cross-device + date picker Organizza. */
/* La B Business viene centrata tramite un box reale, senza dipendere dalla baseline del font. */
@media(max-width:720px){
  body.app-v5 .topbar .desktop-app-link.business-entry-link{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    line-height:0!important;
    overflow:hidden!important;
  }
  body.app-v5 .topbar .desktop-app-link.business-entry-link::before{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    font-size:14px!important;
    line-height:14px!important;
    font-weight:950!important;
    text-align:center!important;
  }
}

/* Chevron CSS: identica e centrata su tutti i browser/scale factor. */
body.app-v5 .city-toggle,
body.app-v5 .as-select-caret,
body.app-v5 .as-time-trigger>i,
body.app-v5 .as-date-trigger>i,
body.app-v5 .flow-section-head>i{
  font-size:0!important;
  line-height:0!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
}
body.app-v5 .city-toggle::before,
body.app-v5 .as-select-caret::before,
body.app-v5 .as-time-trigger>i::before,
body.app-v5 .as-date-trigger>i::before,
body.app-v5 .flow-section-head>i::before{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transform-origin:center;
  display:block;
  margin-top:-4px;
}
body.app-v5 .as-time-trigger>i,
body.app-v5 .as-date-trigger>i{
  position:absolute!important;
  top:0!important;
  right:7px!important;
  width:34px!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
body.app-v5 .flow-section-head>i{
  width:24px!important;
  height:24px!important;
  margin:0!important;
  padding:0!important;
}
body.app-v5 .flow-section.is-open .flow-section-head>i{transform:rotate(180deg)!important}

/* Pulsanti/icona: box quadrato e contenuto centrato anche con font/display scaling elevato. */
body.app-v5 .notification-link,
body.app-v5 .header-role-link,
body.app-v5 .password-field button,
body.app-v5 .date-remove,
body.app-v5 .as-time-close,
body.app-v5 .as-date-close{
  align-items:center!important;
  justify-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0!important;
  line-height:1!important;
}
body.app-v5 .notification-link svg,
body.app-v5 .header-role-link svg,
body.app-v5 .password-field button svg{
  display:block!important;
  margin:auto!important;
  position:static!important;
  transform:none!important;
}

/* Login: una riga di respiro in più prima di “Non hai un account? Registrati”. */
body.app-v5 .auth-card .auth-login-switch{
  margin:30px 0 0!important;
  padding:0!important;
  line-height:1.55!important;
}
@media(max-width:720px){body.app-v5 .auth-card .auth-login-switch{margin-top:32px!important}}

/* Date picker: stesso linguaggio visivo del time picker, ma calendario dedicato. */
.as-date-control{position:relative;display:block;width:100%;min-width:0}
.as-date-trigger{position:relative;width:100%;min-height:48px;padding:11px 46px 11px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font:inherit;font-weight:800;text-align:left;cursor:pointer;outline:0;box-shadow:none}
.as-date-trigger span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-date-trigger.is-empty span{color:var(--muted);font-weight:650}
.as-date-trigger:hover,.as-date-trigger:focus-visible,.as-date-trigger[aria-expanded="true"]{border-color:var(--brand);box-shadow:0 0 0 3px rgba(242,81,44,.10)}
.as-date-trigger.is-invalid{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(215,75,73,.12)!important}
.as-date-backdrop{position:fixed;z-index:2510;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(22,17,15,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.as-date-backdrop[hidden]{display:none!important}
.as-date-sheet{width:min(430px,100%);max-height:min(720px,calc(100dvh - 36px));overflow:auto;padding:22px;border:1px solid rgba(255,255,255,.58);border-radius:26px;background:#fff9f5;color:var(--text);box-shadow:0 28px 90px rgba(25,15,10,.30)}
.as-date-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.as-date-head h3{margin:4px 0 0;font-size:26px;letter-spacing:-.03em}
.as-date-close{width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--text);font-size:25px;cursor:pointer;display:grid;place-items:center}
.as-date-preview{margin:18px 0 16px;padding:14px 12px;border-radius:18px;background:#fff;color:var(--text);font-size:28px;font-weight:850;line-height:1.15;text-align:center;letter-spacing:-.035em;border:1px solid var(--line)}
.as-date-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin-bottom:10px}
.as-date-month-nav strong{text-align:center;text-transform:capitalize;font-size:15px}
.as-date-month-nav button{width:44px;height:44px;border:0;border-radius:12px;background:#fff0ea;color:var(--brand);font:inherit;font-size:27px;font-weight:900;display:grid;place-items:center;cursor:pointer;padding:0;line-height:1}
.as-date-weekdays,.as-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.as-date-weekdays{margin-bottom:5px}.as-date-weekdays span{text-align:center;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.as-date-grid{padding:8px;border:1px solid var(--line);border-radius:17px;background:#fff}
.as-date-blank{min-height:40px}
.as-date-day{aspect-ratio:1/1;min-width:0;border:0;border-radius:11px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:800;display:grid;place-items:center;cursor:pointer;padding:0}
.as-date-day:hover,.as-date-day:focus-visible{background:#fff0ea;color:var(--brand);outline:none}
.as-date-day.is-today{box-shadow:inset 0 0 0 1px rgba(242,81,44,.38);color:var(--brand)}
.as-date-day.is-selected{background:var(--brand)!important;color:#fff!important;box-shadow:none!important}
.as-date-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}
.as-date-quick button{min-height:42px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--text);font:inherit;font-weight:800;cursor:pointer;padding:8px 6px}
.as-date-actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;margin-top:20px}.as-date-actions .btn{min-height:46px;padding:11px 13px}
html.as-date-open,html.as-date-open body{overflow:hidden!important}
html[data-theme="dark"] .as-date-trigger,html[data-theme="dark"] .as-date-sheet,html[data-theme="dark"] .as-date-close,html[data-theme="dark"] .as-date-preview,html[data-theme="dark"] .as-date-grid,html[data-theme="dark"] .as-date-quick button{background:#211d1a;color:#fff;border-color:rgba(255,255,255,.10)}
html[data-theme="dark"] .as-date-sheet{background:#171412}
html[data-theme="dark"] .as-date-month-nav button{background:#3a241d;color:#ff8f73}
html[data-theme="dark"] .as-date-day{color:#f8f2ef}
html[data-theme="dark"] .as-date-day:hover,html[data-theme="dark"] .as-date-day:focus-visible{background:#3a241d;color:#ff8f73}
@media(max-width:680px){
  .as-date-backdrop{align-items:flex-end;padding:12px 12px max(12px,env(safe-area-inset-bottom))}
  .as-date-sheet{width:100%;max-height:calc(100dvh - 24px);border-radius:24px 24px 18px 18px;padding:20px 16px}
  .as-date-preview{font-size:25px}
  .as-date-actions{grid-template-columns:1fr 1fr}.as-date-actions [data-as-date-clear]{grid-column:1/-1;order:3}
  .date-option>.as-date-control{grid-column:1/-1}
}
@media(max-width:390px){
  .as-date-sheet{padding-left:14px;padding-right:14px}
  .as-date-grid{gap:4px;padding:7px}
  .as-date-day,.as-date-blank{min-height:38px}
  .as-date-quick{gap:6px}.as-date-quick button{font-size:12px}
}
@media(max-width:350px){
  .as-date-weekdays,.as-date-grid{gap:3px}
  .as-date-grid{padding:6px}
  .as-date-day,.as-date-blank{min-height:35px}
  .as-date-day{font-size:12px;border-radius:9px}
  .as-date-month-nav{grid-template-columns:40px minmax(0,1fr) 40px}.as-date-month-nav button{width:40px;height:40px}
}

/* AperiSwipe v0.6.10.8 — fine swipe compatta, voto organizzatore, chevron singola. */
body.app-v5 .venue-swipe-panel.is-complete{
  padding-bottom:18px!important;
}
body.app-v5 .venue-swipe-panel.is-complete .venue-swipe-stage,
body.app-v5 .venue-swipe-panel.is-complete .venue-swipe-actions,
body.app-v5 .venue-swipe-panel.is-complete .swipe-help{
  display:none!important;
}
body.app-v5 .swipe-complete{
  margin-top:16px!important;
  padding:14px 16px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.74)!important;
}
body.app-v5 .swipe-complete[hidden]{display:none!important}
body.app-v5 .swipe-complete-icon{
  width:34px!important;height:34px!important;min-width:34px!important;
  display:grid!important;place-items:center!important;
  border-radius:999px!important;background:#def7ea!important;color:#198f5f!important;
  font-weight:900!important;
}
body.app-v5 .swipe-complete h3{margin:0!important;font-size:15px!important}
body.app-v5 .swipe-complete p{margin:2px 0 0!important;font-size:12px!important}
body.app-v5 .swipe-complete .btn{min-height:38px!important;padding:8px 12px!important;white-space:nowrap!important}
html[data-theme="dark"] body.app-v5 .swipe-complete{background:#211d1a!important;border-color:rgba(255,255,255,.10)!important}
@media(max-width:520px){
  body.app-v5 .swipe-complete{grid-template-columns:auto minmax(0,1fr)!important}
  body.app-v5 .swipe-complete .btn{grid-column:1/-1!important;width:100%!important}
}

.creator-venue-votes{
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.68);
}
.creator-venue-votes[hidden]{display:none!important}
.creator-venue-votes-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.creator-venue-votes-head>span{width:34px;height:34px;min-width:34px;display:grid;place-items:center;border-radius:999px;background:#fff0ea}
.creator-venue-votes-head b,.creator-venue-votes-head small{display:block}
.creator-venue-votes-head small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}
.creator-venue-vote-list{display:grid;gap:8px}
.creator-venue-vote-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 11px;border:1px solid var(--line);border-radius:14px;background:#fff}
.creator-venue-vote-row>span{min-width:0}.creator-venue-vote-row>span b,.creator-venue-vote-row>span small{display:block}.creator-venue-vote-row>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creator-venue-vote-row>span small{color:var(--muted);font-size:10px;margin-top:2px}
.creator-venue-vote-actions{display:flex;gap:8px;align-items:center}
.creator-vote-btn{width:40px;height:40px;min-width:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);display:grid;place-items:center;padding:0;line-height:1;font:inherit;font-size:20px;font-weight:900;cursor:pointer}
.creator-vote-btn.pass.is-active{background:#fff0ea;color:var(--brand);border-color:#f5b4a5}
.creator-vote-btn.like.is-active{background:#e5f8ef;color:#198f5f;border-color:#9eddbf}
html[data-theme="dark"] .creator-venue-votes,html[data-theme="dark"] .creator-venue-vote-row,html[data-theme="dark"] .creator-vote-btn{background:#211d1a;color:#fff;border-color:rgba(255,255,255,.10)}
html[data-theme="dark"] .creator-venue-votes-head>span{background:#3a241d}
html[data-theme="dark"] .creator-vote-btn.pass.is-active{background:#44271f;color:#ff9277;border-color:#75483c}
html[data-theme="dark"] .creator-vote-btn.like.is-active{background:#193329;color:#89ddb1;border-color:#35684f}
@media(max-width:420px){.creator-venue-vote-row{grid-template-columns:1fr}.creator-venue-vote-actions{justify-content:flex-end}.creator-vote-btn{width:44px;height:44px}}

/* Una sola chevron: il glifo HTML/JS è rimosso e resta solo il disegno CSS. */
body.app-v5 .city-toggle,
body.app-v5 .as-select-caret{overflow:hidden!important;color:var(--text)!important}
body.app-v5 .city-toggle::after,
body.app-v5 .as-select-caret::after{content:none!important;display:none!important}

/* AperiSwipe v0.6.10.9 — Admin Privacy Policy. */
.admin-privacy-form{display:grid;gap:22px}
.admin-privacy-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-privacy-meta-grid .span-2{grid-column:1/-1}
.admin-privacy-body{display:grid;gap:8px}
.admin-privacy-body textarea{width:100%;min-height:520px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.55}
.admin-privacy-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:720px){.admin-privacy-meta-grid{grid-template-columns:1fr}.admin-privacy-meta-grid .span-2{grid-column:auto}.admin-privacy-body textarea{min-height:420px}.admin-privacy-actions>*{flex:1 1 100%}}

/* AperiSwipe v0.6.11.0 — pagina pubblica eliminazione account */
.account-delete-public form{margin-top:20px}
.account-delete-public .btn.danger{margin-top:16px;background:#b73535;color:#fff;border:1px solid #b73535}
.account-delete-public .account-delete-note{margin-top:18px;box-shadow:none;background:#fff8f5}
.account-delete-public .account-delete-back{margin-top:20px}
.account-delete-public .account-delete-back a{color:var(--brand);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.account-delete-public .panel.success{background:#eefbf4;border-color:#bfe8d0;color:#146b47;box-shadow:none}
html[data-theme="dark"] .account-delete-public .account-delete-note{background:#271d19!important;border-color:#514039!important;color:var(--text)!important}
html[data-theme="dark"] .account-delete-public .panel.success{background:#173126!important;border-color:#315d49!important;color:#a7e8c8!important}
html[data-theme="dark"] .account-delete-public .btn.danger{background:#a93b3b!important;border-color:#c85b5b!important;color:#fff!important}

/* AperiSwipe v0.6.11.1 — registrazione: città custom TWA + occhietto password senza stato sticky */
.auth-city-field{position:relative;margin:16px 0 0}
.form-card .auth-city-field>label{margin:0 0 8px!important}
.register-city-combobox{position:relative;width:100%;min-width:0;z-index:20}
.register-city-combobox>input{padding-right:50px!important}
.register-city-toggle{position:absolute;z-index:3;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;border:0;border-radius:11px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.register-city-toggle>span{display:block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}
.register-city-combobox.is-open .register-city-toggle>span{transform:translateY(2px) rotate(225deg)}
.register-city-toggle:focus-visible{outline:2px solid rgba(242,81,44,.35);outline-offset:1px}
.register-city-options{position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 7px);max-height:min(280px,42vh);overflow:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 18px 45px rgba(52,31,22,.18);-webkit-overflow-scrolling:touch}
.register-city-options[hidden]{display:none!important}
.register-city-option{display:block;width:100%;min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--text);padding:10px 11px;text-align:left;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.register-city-option:hover,.register-city-option.is-active{background:var(--brand-soft,#fff0ea);color:var(--brand)}
.register-city-no-results{padding:12px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.45}
.auth-city-help{display:block;margin:7px 0 2px!important;line-height:1.45}

/* Lo stato “password visibile” non deve sembrare un pulsante rimasto premuto. */
body.app-v5 .password-field button,
body.app-v5 .password-field button.is-visible{box-shadow:none!important;-webkit-tap-highlight-color:transparent!important}
body.app-v5 .password-field button:active{transform:none!important}
@media(hover:none),(pointer:coarse){
  body.app-v5 .auth-card .password-field button:hover,
  body.app-v5 .auth-card .password-field button:focus,
  body.app-v5 .auth-card .password-field button:focus-visible{background:#f7f2ef!important;color:var(--text)!important;border-color:transparent!important;outline:none!important;box-shadow:none!important}
  body.app-v5 .auth-card .password-field button.is-visible{color:var(--brand)!important}
  html[data-theme="dark"] body.app-v5 .auth-card .password-field button:hover,
  html[data-theme="dark"] body.app-v5 .auth-card .password-field button:focus,
  html[data-theme="dark"] body.app-v5 .auth-card .password-field button:focus-visible{background:#2a2420!important;color:#f8f2ef!important;border-color:rgba(255,255,255,.12)!important}
  html[data-theme="dark"] body.app-v5 .auth-card .password-field button.is-visible{color:#ff9a80!important}
}
html[data-theme="dark"] .register-city-toggle{color:#c6b9b2}
html[data-theme="dark"] .register-city-options{background:#211b18;border-color:#4a3d36;box-shadow:0 20px 48px rgba(0,0,0,.36)}
html[data-theme="dark"] .register-city-option{color:#f8f2ef}
html[data-theme="dark"] .register-city-option:hover,html[data-theme="dark"] .register-city-option.is-active{background:#3b211b;color:#ff9b82}
@media(max-width:430px){.register-city-options{max-height:min(250px,38vh)}.register-city-option{min-height:44px}}

/* AperiSwipe v0.6.11.2 — registrazione: comuni ISTAT + password eye stabile */
.register-city-results{display:grid;gap:2px}
.register-city-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.register-city-option[hidden]{display:none!important}
.register-city-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.register-city-option small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.04em}
.register-city-validation{display:block;min-height:15px;margin:5px 2px 0;color:#b83232;font-size:11px;font-weight:760;line-height:1.35}
.register-city-validation:empty{min-height:0;margin-top:0}
.register-password-group{margin-top:16px}
.form-card .register-password-group>label{margin:0 0 8px!important}
/* Non rimuovere translateY durante :active: era la causa dell'occhio che scendeva e risaliva. */
body.app-v5 .password-field button:active{transform:translateY(-50%)!important}
body.app-v5 .auth-card .password-field button{touch-action:manipulation;user-select:none;-webkit-user-select:none}
html[data-theme="dark"] .register-city-option small{color:#bcaea7}


/* AperiSwipe v0.6.11.5 — tema dispositivo di default + override esplicito */
.theme-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.theme-mode-option{appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:10px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.68);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
.theme-mode-option:hover{transform:translateY(-1px);border-color:rgba(242,81,44,.38)}
.theme-mode-option:focus-visible{outline:3px solid rgba(242,81,44,.22);outline-offset:2px}
.theme-mode-option.is-active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px rgba(242,81,44,.08)}
.theme-mode-option>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}
.theme-mode-option b{font-size:12px;line-height:1.2}
.theme-mode-option small{font-size:10px;line-height:1.25;color:var(--muted)}
.theme-mode-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:var(--soft);font-size:17px;font-weight:900}
.theme-mode-option.is-active .theme-mode-icon{background:var(--brand);color:#fff}
.theme-current-note{margin:12px 0 0;color:var(--brand);font-size:12px;font-weight:850}
html[data-theme="dark"] .theme-mode-option{background:#211d1a;border-color:rgba(255,255,255,.10);color:var(--text)}
html[data-theme="dark"] .theme-mode-option.is-active{background:#3a201a;border-color:var(--brand)}
html[data-theme="dark"] .theme-mode-icon{background:#312925;color:#eadfd9}
html[data-theme="dark"] .theme-mode-option.is-active .theme-mode-icon{background:var(--brand);color:#fff}
@media(max-width:620px){.theme-mode-options{grid-template-columns:1fr}.theme-mode-option{padding:14px 15px}.theme-mode-option b{font-size:13px}.theme-mode-option small{font-size:11px}}

/* AperiSwipe v0.6.11.6 — coerenza tema per pulsanti inline dei campi password. */
body.app-v5 .password-field button{
  border:1px solid rgba(32,26,23,.06)!important;
  background:#f7f2ef!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
body.app-v5 .password-field button:hover,
body.app-v5 .password-field button:focus,
body.app-v5 .password-field button:focus-visible{
  background:#efe7e2!important;
  color:var(--brand)!important;
  border-color:#dfcfc8!important;
  outline:none!important;
}
body.app-v5 .password-field button.is-visible{color:var(--brand)!important}
html[data-theme="dark"] body.app-v5 .password-field button{
  background:#2a2420!important;
  color:#f8f2ef!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body.app-v5 .password-field button:hover,
html[data-theme="dark"] body.app-v5 .password-field button:focus,
html[data-theme="dark"] body.app-v5 .password-field button:focus-visible{
  background:#352d28!important;
  color:#ff9a80!important;
  border-color:#6d554a!important;
  outline:none!important;
}
html[data-theme="dark"] body.app-v5 .password-field button.is-visible{color:#ff9a80!important}
html[data-theme="dark"] body.app-v5 .password-field button svg{stroke:currentColor!important}
@media(hover:none),(pointer:coarse){
  body.app-v5 .password-field button:hover,
  body.app-v5 .password-field button:focus,
  body.app-v5 .password-field button:focus-visible{
    background:#f7f2ef!important;
    color:var(--text)!important;
    border-color:rgba(32,26,23,.06)!important;
  }
  body.app-v5 .password-field button.is-visible{color:var(--brand)!important}
  html[data-theme="dark"] body.app-v5 .password-field button:hover,
  html[data-theme="dark"] body.app-v5 .password-field button:focus,
  html[data-theme="dark"] body.app-v5 .password-field button:focus-visible{
    background:#2a2420!important;
    color:#f8f2ef!important;
    border-color:rgba(255,255,255,.12)!important;
  }
  html[data-theme="dark"] body.app-v5 .password-field button.is-visible{color:#ff9a80!important}
}

/* AperiSwipe v0.6.11.7 — accompagnatori / “io + x persone”. */
.event-companion-editor{margin:16px 0 4px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface,#fff)}
.event-companion-editor.is-compact{padding:14px;margin:12px 0}
.event-companion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.event-companion-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}.event-companion-head b{font-size:14px}.event-companion-head small{color:var(--muted);font-size:11px;line-height:1.4}
.event-companion-count{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--brand-soft,#fff0ea);color:var(--brand);display:grid;place-items:center;font-size:11px;font-weight:900}
.event-companion-list{display:grid;gap:8px;margin-top:12px}.event-companion-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:end;gap:8px}.event-companion-row label{margin:0!important}.event-companion-row label>span{display:block;margin:0 0 5px;font-size:10px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.event-companion-row input[type="text"]{min-height:44px}
.event-companion-remove{width:38px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--soft,#f7f2ef);color:var(--muted);font:inherit;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}.event-companion-remove:hover{color:var(--red);border-color:#e4b8b1}
.event-companion-add{margin-top:10px}.event-companion-editor.is-owner-absent .event-companion-head small::after{content:" · Se tu non partecipi, al salvataggio scegli chi viene comunque."}
.companion-absence-question{margin-top:14px;padding:15px;border:1px solid #f0c8bc;border-radius:16px;background:var(--brand-soft,#fff0ea)}.companion-absence-question[hidden]{display:none!important}.companion-absence-question h3{margin:5px 0 6px;font-size:18px}.companion-absence-question p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.45}.companion-absence-list{display:grid;gap:7px}.companion-absence-option{margin:0!important;display:flex!important;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);cursor:pointer}.companion-absence-option input{width:18px!important;height:18px!important;flex:0 0 18px;accent-color:var(--brand)}.companion-absence-option span{font-weight:800;font-size:13px}.companion-absence-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
.companion-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}.companion-summary>b{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.companion-summary>span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:var(--brand-soft,#fff0ea);color:var(--brand);font-size:10px;font-weight:850}.participant-companions{padding:0 2px 10px}.attendance-companion{margin-left:18px!important;border-left:3px solid var(--brand-soft,#fff0ea)!important}.companion-vote-panel>.event-companion-editor{margin:0;border:0;padding:0;background:transparent}
html[data-theme="dark"] .event-companion-editor{background:#211d1a;border-color:rgba(255,255,255,.10)}html[data-theme="dark"] .event-companion-remove{background:#2a2420;color:#d8cbc5;border-color:rgba(255,255,255,.10)}html[data-theme="dark"] .companion-absence-question{background:#32221c;border-color:#70483d}html[data-theme="dark"] .companion-absence-option{background:#211d1a;border-color:rgba(255,255,255,.10);color:var(--text)}
@media(max-width:520px){.event-companion-editor{padding:13px}.event-companion-row{grid-template-columns:minmax(0,1fr) 40px}.companion-absence-actions>.btn{flex:1}.attendance-companion{margin-left:8px!important}}

/* AperiSwipe v0.6.11.8 — partecipanti visibili + voto locale solo se presenti. */
.confirmed-party-total{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface,#fff);color:var(--text)}
.confirmed-party-total b{display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:var(--brand);color:#fff;font-size:13px}
.confirmed-party-total span{font-size:12px;font-weight:850}
.venue-vote-unavailable{border-style:dashed;box-shadow:none}.venue-vote-unavailable h2{margin:5px 0 6px}.venue-vote-unavailable p{margin:0}
.public-group-roster .section-title,.manage-participant-roster .section-head{align-items:flex-start}
.public-roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
.public-roster-person{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff)}
.public-roster-person>div{min-width:0;display:flex;flex-direction:column;gap:2px}.public-roster-person b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-roster-person small{color:var(--muted);font-size:10px;font-weight:760;line-height:1.35}
.public-roster-person.is-companion{margin-left:14px}.public-roster-person.is-going{border-color:color-mix(in srgb,var(--green) 28%,var(--line))}.public-roster-person.is-not-going{opacity:.68}.public-roster-person.is-pending{border-style:dashed}
.public-roster-person .friend-avatar{width:38px;height:38px;border-radius:13px}
html[data-theme="dark"] .confirmed-party-total,html[data-theme="dark"] .public-roster-person{background:#211d1a;border-color:rgba(255,255,255,.10)}
html[data-theme="dark"] .public-roster-person.is-going{border-color:rgba(89,190,138,.36)}
html[data-theme="dark"] .venue-vote-unavailable{background:#211d1a;border-color:rgba(255,255,255,.12)}
@media(max-width:680px){.public-roster-list{grid-template-columns:1fr}.public-roster-person.is-companion{margin-left:10px}.confirmed-party-total{margin-top:8px}}

/* AperiSwipe v0.6.11.10 — più locali manuali nello step Luogo. */
.manual-venue-list{gap:10px!important}
.manual-venue-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:end}
.manual-venue-row>label{min-width:0}
.manual-venue-remove{width:44px;height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#a94b3c;font:inherit;font-size:22px;font-weight:800;display:grid;place-items:center;cursor:pointer;padding:0}
.manual-venue-remove:hover,.manual-venue-remove:focus-visible{border-color:#e6b3a8;background:#fff5f2;color:var(--brand);outline:none}
html[data-theme="dark"] .manual-venue-remove{background:#211d1a;color:#ff9a80;border-color:rgba(255,255,255,.12)}
html[data-theme="dark"] .manual-venue-remove:hover,html[data-theme="dark"] .manual-venue-remove:focus-visible{background:#34231e;border-color:#75483c;color:#ff9a80}
@media(max-width:430px){.manual-venue-row{grid-template-columns:minmax(0,1fr) 42px}.manual-venue-remove{width:42px;height:46px}}

/* AperiSwipe v0.6.11.11 — chevron centrati + stato Data pulito. */
/* Elimina lo spostamento ottico ereditato: tutte le chevron partono dal centro reale. */
body.app-v5 .city-toggle::before,
body.app-v5 .as-select-caret::before,
body.app-v5 .as-time-trigger>i::before,
body.app-v5 .as-date-trigger>i::before,
body.app-v5 .flow-section-head>i::before{
  margin:0!important;
}

/* Date e ora: box dell'icona indipendente da font, line-height e scaling del browser. */
body.app-v5 .as-time-trigger>i,
body.app-v5 .as-date-trigger>i{
  position:absolute!important;
  top:50%!important;
  right:10px!important;
  width:30px!important;
  height:30px!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
}
body.app-v5 .as-time-trigger>i::before,
body.app-v5 .as-date-trigger>i::before{
  width:9px!important;
  height:9px!important;
  border-right-width:2px!important;
  border-bottom-width:2px!important;
  transform:rotate(45deg)!important;
  transform-origin:50% 50%!important;
}

/* La data vuota deve sembrare un normale campo, non un controllo in errore/focus permanente. */
body.app-v5 .as-date-trigger,
body.app-v5 .as-time-trigger{
  box-shadow:none!important;
}
body.app-v5 .as-date-trigger:hover,
body.app-v5 .as-date-trigger:focus-visible,
body.app-v5 .as-date-trigger[aria-expanded="true"],
body.app-v5 .as-time-trigger:hover,
body.app-v5 .as-time-trigger:focus-visible,
body.app-v5 .as-time-trigger[aria-expanded="true"]{
  border-color:var(--brand)!important;
  box-shadow:none!important;
  outline:none!important;
}
body.app-v5 .as-date-trigger.is-invalid,
body.app-v5 .as-time-trigger.is-invalid{
  border-color:var(--red)!important;
  box-shadow:none!important;
}

/* Anche le chevron delle sezioni collassabili restano otticamente centrate. */
body.app-v5 .flow-section-head>i{
  display:grid!important;
  place-items:center!important;
}

/* AperiSwipe v0.6.11.12 — date picker compatto, date evento obbligatorie, scrollbar Safari invisibile. */
.as-date-sheet{
  box-sizing:border-box!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  overscroll-behavior:contain!important;
}
.as-date-sheet::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
  background:transparent!important;
}
.as-date-actions [hidden]{display:none!important}
.as-date-sheet.is-required .as-date-actions{
  grid-template-columns:1fr 1fr!important;
}
.as-date-sheet.is-required .as-date-actions [data-as-date-close]{grid-column:1!important}
.as-date-sheet.is-required .as-date-actions [data-as-date-save]{grid-column:2!important}

/* Riduce l'altezza senza sacrificare il calendario: più vicino allo stile del time picker. */
@media(max-width:680px){
  .as-date-sheet{
    max-height:calc(100dvh - 20px)!important;
    padding:18px 15px max(16px,env(safe-area-inset-bottom))!important;
    border-radius:22px!important;
  }
  .as-date-head h3{font-size:24px!important}
  .as-date-preview{
    margin:14px 0 13px!important;
    padding:11px 10px!important;
    font-size:23px!important;
    border-radius:16px!important;
  }
  .as-date-month-nav{margin-bottom:7px!important}
  .as-date-weekdays{margin-bottom:3px!important}
  .as-date-grid{padding:6px!important;gap:3px!important;border-radius:15px!important}
  .as-date-day,.as-date-blank{min-height:34px!important}
  .as-date-day{font-size:12px!important}
  .as-date-quick{margin-top:10px!important;gap:6px!important}
  .as-date-quick button{min-height:39px!important;padding:7px 5px!important}
  .as-date-actions{margin-top:12px!important;gap:7px!important}
  .as-date-actions .btn{min-height:43px!important;padding:9px 10px!important}
  .as-date-sheet.is-required .as-date-actions{grid-template-columns:1fr 1fr!important}
}

/* Su schermi molto stretti evita qualsiasi overflow orizzontale del foglio. */
@media(max-width:390px){
  .as-date-backdrop{padding:8px 8px max(8px,env(safe-area-inset-bottom))!important}
  .as-date-sheet{width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important}
  .as-date-month-nav{grid-template-columns:38px minmax(0,1fr) 38px!important}
  .as-date-month-nav button{width:38px!important;height:38px!important}
  .as-date-day,.as-date-blank{min-height:32px!important}
}


/* AperiSwipe v0.6.11.14 — fix dropdown Raggio + social footer pubblico. */
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open){position:relative!important;z-index:1200!important;overflow:visible!important}
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open) .venue-discovery-controls,
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open) .home-radius-field,
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open) .radius-combobox,
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open) .as-select-control{position:relative!important;overflow:visible!important}
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open) .home-radius-field{z-index:1201!important}
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open) .as-select-control.is-open{z-index:1202!important}
body.app-v5 .v5-discovery:has(.home-radius-field .as-select-control.is-open) .as-select-menu{z-index:1203!important}
.aperiswipe-footer .footer-social{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}
.aperiswipe-footer .footer-social a{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--text);box-shadow:0 5px 16px rgba(61,39,29,.05);transition:transform .15s,border-color .15s,color .15s,box-shadow .15s}
.aperiswipe-footer .footer-social a:hover,.aperiswipe-footer .footer-social a:focus-visible{transform:translateY(-2px);border-color:#f3a38f;color:var(--brand);box-shadow:0 8px 22px rgba(242,81,44,.12);outline:none}
.aperiswipe-footer .footer-social svg{width:18px;height:18px;display:block;fill:currentColor}
html[data-theme="dark"] .aperiswipe-footer .footer-social a{background:#211d1a;border-color:rgba(255,255,255,.10);color:#f8f2ef}
html[data-theme="dark"] .aperiswipe-footer .footer-social a:hover,html[data-theme="dark"] .aperiswipe-footer .footer-social a:focus-visible{color:#ff9b82;border-color:#744637}

/* AperiSwipe v0.6.11.23 — Admin desktop tabs: nessun bottone tagliato.
   Solo layout navigazione Admin; mobile <=720px resta invariato. */
@media (min-width:721px){
  .admin-section-tabs{
    box-sizing:border-box;
    width:100%;
    margin:4px auto 0;
    padding:0 20px;
    display:grid;
    gap:8px;
    overflow:visible;
  }
  .admin-section-tabs a{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:11px 10px;
    white-space:nowrap;
  }
  .admin-section-tabs a b{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media (min-width:1180px){
  .admin-section-tabs{
    max-width:1560px;
    grid-template-columns:repeat(10,minmax(0,1fr));
  }
}
@media (min-width:721px) and (max-width:1179px){
  .admin-section-tabs{
    max-width:1080px;
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}


/* AperiSwipe v0.6.11.24 — Stato Redis/Varnish + diagnostica SQL read-only. */
.system-cache-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.system-cache-status>div{display:flex;flex-direction:column;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}
.system-cache-status small{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.system-cache-status b{margin-top:4px;font-size:12px;overflow-wrap:anywhere}
.system-cache-progress{margin-top:8px}
.system-performance-panel{margin:18px 0!important}
.system-performance-panel>.section-head{align-items:flex-start}
.system-performance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:4px}
.system-performance-summary article,.system-performance-audit article{display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}
.system-performance-summary small,.system-performance-audit small{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.system-performance-summary b,.system-performance-audit b{margin-top:6px;font-size:18px;line-height:1.05;overflow-wrap:anywhere}
.system-performance-summary span,.system-performance-audit span{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.35;overflow-wrap:anywhere}
.system-performance-table{margin-top:12px}
.system-query-cell{min-width:300px;max-width:620px}
.system-query-cell code{display:block;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.35}
.system-performance-audit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.system-performance-note{margin-top:12px}
html[data-theme="dark"] .system-cache-status>div,
html[data-theme="dark"] .system-performance-summary article,
html[data-theme="dark"] .system-performance-audit article{background:#2a221e!important;border-color:var(--line)!important}
@media(max-width:900px){
  .system-performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-performance-audit{grid-template-columns:1fr}
}
@media(max-width:720px){
  .system-cache-status{grid-template-columns:1fr}
  .system-performance-panel{padding:16px!important}
  .system-performance-panel>.section-head{flex-direction:column}
  .system-performance-table{overflow-x:auto}
  .system-performance-table .system-table{min-width:880px}
}
@media(max-width:430px){.system-performance-summary{grid-template-columns:1fr}}


/* AperiSwipe v0.6.11.26 — dropdown Citta/Raggio sempre sopra ai risultati + utenti online Admin. */
body.app-v5 .v5-discovery.city-menu-open,
body.app-v5 .v5-discovery.radius-menu-open{
  position:relative!important;
  z-index:5000!important;
  overflow:visible!important;
  isolation:isolate!important;
}
body.app-v5 .v5-discovery.city-menu-open .venue-discovery-controls-home,
body.app-v5 .v5-discovery.radius-menu-open .venue-discovery-controls-home{
  position:relative!important;
  z-index:5001!important;
  overflow:visible!important;
}
body.app-v5 .v5-discovery.city-menu-open .home-city-field,
body.app-v5 .v5-discovery.city-menu-open .home-city-field .city-combobox,
body.app-v5 .v5-discovery.radius-menu-open .home-radius-field,
body.app-v5 .v5-discovery.radius-menu-open .home-radius-field .radius-combobox,
body.app-v5 .v5-discovery.radius-menu-open .home-radius-field .as-select-control{
  position:relative!important;
  z-index:5002!important;
  overflow:visible!important;
}
body.app-v5 .v5-discovery.city-menu-open .city-options,
body.app-v5 .v5-discovery.radius-menu-open .as-select-menu{
  z-index:5004!important;
}
body.app-v5 .v5-discovery.city-menu-open .venue-discovery-status,
body.app-v5 .v5-discovery.city-menu-open .venue-discovery-results,
body.app-v5 .v5-discovery.radius-menu-open .venue-discovery-status,
body.app-v5 .v5-discovery.radius-menu-open .venue-discovery-results{
  position:relative!important;
  z-index:0!important;
}

.statistics-summary-card.is-live>span{background:#eaf8ef!important;color:#198754!important}
.statistics-online-panel{margin:0 0 24px;padding:17px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 7px 22px rgba(45,34,28,.04)}
.statistics-online-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.statistics-online-head h3{margin:3px 0 3px;font-size:18px}.statistics-online-head p{margin:0;font-size:11px}
.statistics-live-count{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eaf8ef;color:#198754;font-size:10px;font-weight:900;white-space:nowrap}
.statistics-live-count:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(25,135,84,.10)}
.statistics-online-users{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.statistics-online-user{display:grid;grid-template-columns:36px minmax(0,1fr) 8px;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:13px;background:var(--soft);color:var(--ink);text-decoration:none;min-width:0}
.statistics-online-user:hover{border-color:#efb6a7;background:#fff8f5}.statistics-online-user>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.statistics-online-user b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statistics-online-user small{margin-top:2px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statistics-online-user>i{width:7px;height:7px;border-radius:50%;background:#20a464;box-shadow:0 0 0 3px rgba(32,164,100,.10)}
.statistics-online-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#fff1eb;color:var(--brand);font-size:11px;font-weight:900}.statistics-online-avatar img{width:100%;height:100%;object-fit:cover;display:block}
html[data-theme="dark"] .statistics-online-panel{background:#211b18!important;border-color:var(--line)!important}html[data-theme="dark"] .statistics-online-user{background:#2a221e!important;border-color:var(--line)!important}html[data-theme="dark"] .statistics-summary-card.is-live>span{background:#173428!important;color:#72d7a4!important}
@media(max-width:1000px){.statistics-online-users{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.statistics-online-head{flex-direction:column}.statistics-online-users{grid-template-columns:1fr}.statistics-live-count{align-self:flex-start}}


/* v0.6.11.34 SAFE - gestione mirror OSM + normalizzazione Comune/ISTAT */
.photo-localize-stats>.osm-stat-link{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.photo-localize-stats>.osm-stat-link:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(45,34,28,.08)}.photo-localize-stats>.osm-stat-link em{margin-top:7px;color:var(--brand);font-size:9px;font-style:normal;font-weight:850}.osm-new-head-actions{display:flex;gap:8px;flex-wrap:wrap}.osm-new-summary{display:grid;grid-template-columns:repeat(2,minmax(0,180px)) minmax(260px,1fr);gap:12px;align-items:center;margin-bottom:16px}.osm-new-summary>div{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.osm-new-summary>div strong{font-size:26px;line-height:1}.osm-new-summary>div small{margin-top:5px;color:var(--muted);font-size:9px}.osm-new-summary p{margin:0;font-size:10px;line-height:1.45}.osm-filter-grid{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(130px,1fr));gap:10px}.osm-filter-grid label{display:flex;flex-direction:column;gap:5px}.osm-filter-grid label>span{color:var(--muted);font-size:9px;font-weight:800}.osm-filter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.osm-new-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px;padding:12px 14px}.osm-new-toolbar>label{font-size:10px;font-weight:800}.osm-new-toolbar>div{display:flex;align-items:center;gap:10px}.osm-new-list{display:grid;gap:10px}.osm-new-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:11px;align-items:flex-start;padding:14px 15px;border:1px solid var(--line);border-radius:18px;background:#fff}.osm-new-row.has-duplicate{border-left:3px solid #d39b42}.osm-new-check{padding-top:3px}.osm-new-main{min-width:0}.osm-new-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.osm-new-title>strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}.osm-new-main>small{display:block;margin-top:4px;color:var(--muted);font-size:9px;overflow-wrap:anywhere}.osm-usage-badge,.osm-duplicate-badge,.osm-existing-badge{padding:4px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.osm-usage-badge{background:var(--soft);color:var(--muted)}.osm-duplicate-badge{background:#fff4dd;color:#8b621e}.osm-existing-badge{background:#edf8f1;color:#337a54}.osm-new-description{margin:7px 0 0;font-size:10px}.osm-new-details{margin-top:8px}.osm-new-details summary{cursor:pointer;color:var(--brand);font-size:9px;font-weight:850}.osm-new-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin:8px 0 0}.osm-new-details dl>div{min-width:0}.osm-new-details dt{color:var(--muted);font-size:7px;font-weight:850;text-transform:uppercase}.osm-new-details dd{margin:2px 0 0;font-size:9px;overflow-wrap:anywhere}.osm-duplicate-note,.osm-existing-note{margin:9px 0 0;padding:8px 10px;border-radius:10px;font-size:9px;line-height:1.4}.osm-duplicate-note{background:#fff8e9}.osm-existing-note{background:#f2faf5}.osm-new-actions{display:flex;gap:6px}.osm-new-pagination{margin-top:16px}
html[data-theme="dark"] .photo-localize-stats>.osm-stat-link{background:#211b18!important;border-color:#493d37!important}html[data-theme="dark"] .osm-new-row{background:#211b18!important;border-color:var(--line)!important}html[data-theme="dark"] .osm-new-summary>div{background:#2a221e!important}html[data-theme="dark"] .osm-duplicate-note{background:#332a1c!important}html[data-theme="dark"] .osm-existing-note{background:#1d3026!important}.photo-localize-stats>.osm-stat-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:900px){.osm-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.osm-new-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.osm-new-summary p{grid-column:1/-1}.osm-new-toolbar{align-items:flex-start;flex-direction:column}.osm-new-toolbar>div{width:100%;justify-content:space-between}.osm-new-row{grid-template-columns:28px minmax(0,1fr)}.osm-new-actions{grid-column:2}.osm-new-details dl{grid-template-columns:1fr}}
@media(max-width:560px){.osm-filter-grid,.osm-new-summary{grid-template-columns:1fr}.osm-new-summary p{grid-column:auto}.osm-new-head-actions{width:100%}.osm-new-head-actions .btn{flex:1}.osm-new-toolbar>div{align-items:flex-start;flex-direction:column}.osm-new-toolbar .btn{width:100%}.osm-new-row{padding:12px}.osm-new-actions .btn{width:100%}}

.source-badge.osm{background:#edf8f1;color:#337a54}html[data-theme="dark"] .source-badge.osm{background:#1d3026!important;color:#a6d8bd!important;border-color:#386b50!important}

/* AperiSwipe v0.6.11.35 — permesso accompagnatori + chiarezza date/voti */
.event-companion-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:10px}.event-companion-actions .event-companion-add{margin-top:0;align-self:stretch}.invitee-companion-permission{display:flex!important;align-items:center!important;gap:10px!important;flex:1 1 320px;margin:0!important;padding:10px 12px!important;border:1px solid var(--line);border-radius:14px;background:var(--soft,#faf6f3);cursor:pointer}.invitee-companion-permission>input{width:19px!important;height:19px!important;min-width:19px!important;margin:0!important;padding:0!important;accent-color:var(--brand);box-shadow:none!important}.invitee-companion-permission>span{display:block;min-width:0}.invitee-companion-permission b{display:block;font-size:12px;line-height:1.25}.invitee-companion-permission small{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35;font-weight:550}
.event-date-purpose-card{display:flex;align-items:flex-start;gap:11px;margin:4px 0 12px;padding:12px 14px;border:1px solid rgba(242,81,44,.24);border-radius:15px;background:var(--brand-soft,#fff0ea)}.event-date-purpose-card>span{font-size:20px;line-height:1}.event-date-purpose-card>div{min-width:0}.event-date-purpose-card b{display:block;font-size:13px}.event-date-purpose-card b em{margin-left:6px;color:var(--brand);font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.04em}.event-date-purpose-card small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.response-deadline-field{border-top:1px dashed var(--line);margin-top:14px;padding-top:14px}.response-deadline-title{font-size:14px}.response-deadline-field>small{display:block;margin-top:8px;line-height:1.45}
.date-vote-warning{display:flex;align-items:flex-start;gap:10px;margin:2px 0 14px;padding:11px 13px;border:1px solid #e3c77b;border-radius:14px;background:#fff8df;color:#6b5112}.date-vote-warning>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:999px;background:#f3d676;font-weight:950}.date-vote-warning b{display:block;font-size:12px}.date-vote-warning small{display:block;margin-top:2px;font-size:10px;line-height:1.4;color:inherit}.date-vote-warning.is-error{border-color:#e18b78;background:#fff0eb;color:#8e2e1d;box-shadow:0 0 0 3px rgba(242,81,44,.08)}.date-vote-warning.is-error>span{background:#f7b5a5}.date-vote-warning.is-complete{border-color:#9acdb2;background:#edf9f2;color:#246540}.date-vote-warning.is-complete>span{background:#bfe7ce}
html[data-theme="dark"] .invitee-companion-permission{background:#2a2420;border-color:rgba(255,255,255,.10)}html[data-theme="dark"] .event-date-purpose-card{background:#32221c;border-color:#70483d}html[data-theme="dark"] .date-vote-warning{background:#332d1d;border-color:#6f6137;color:#f5dfa0}html[data-theme="dark"] .date-vote-warning.is-error{background:#3a211c;border-color:#7f473b;color:#ffc7bb}html[data-theme="dark"] .date-vote-warning.is-complete{background:#1f352a;border-color:#3e6d53;color:#c9efd8}
@media(max-width:620px){.event-companion-actions{display:grid;grid-template-columns:1fr}.event-companion-actions .event-companion-add,.invitee-companion-permission{width:100%;max-width:none}.event-date-purpose-card{padding:11px 12px}}

/* v0.6.11.41 - filtro rapido OSM: mostra solo i record importabili */
.osm-ready-filter-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.osm-ready-filter-wrap small{max-width:520px}.osm-ready-filter.is-active{font-weight:800}@media(max-width:720px){.osm-ready-filter-wrap{width:100%}.osm-ready-filter-wrap .btn{width:100%;justify-content:center}.osm-ready-filter-wrap small{width:100%}}

/* v0.6.11.45 SAFE - import OSM a blocchi con avanzamento visibile */
.osm-import-progress{display:grid;gap:10px;margin:0 0 12px;padding:13px 14px}.osm-import-progress[hidden]{display:none!important}.osm-import-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.osm-import-progress-head strong{font-size:12px}.osm-import-progress-head span{font-size:10px;color:var(--muted)}.osm-import-progress progress{width:100%;height:10px;accent-color:var(--brand)}.osm-import-progress-stats{display:flex;gap:10px 16px;flex-wrap:wrap;font-size:9px}.osm-import-progress-stats span{white-space:nowrap}.osm-import-progress>small{line-height:1.4}.osm-import-progress .btn{justify-self:start}@media(max-width:560px){.osm-import-progress-head{align-items:flex-start;flex-direction:column}.osm-import-progress .btn{width:100%}}

/* v0.6.11.46 SAFE - filtro OSM ready ottimizzato lato SQL, nessuna modifica grafica */

/* AperiSwipe v0.6.11.56 — anteprima di tutti i locali prima dello swipe */
body.app-v5 .venue-preview{max-width:760px;margin:14px auto 4px}
body.app-v5 .venue-preview-intro{display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:12px;border:1px solid #f0dfd7;border-radius:18px;background:#fff8f4}
body.app-v5 .venue-preview-intro>span{font-size:26px;line-height:1}
body.app-v5 .venue-preview-intro div{display:flex;flex-direction:column;gap:2px;min-width:0}
body.app-v5 .venue-preview-intro b{font-size:14px;color:var(--ink)}
body.app-v5 .venue-preview-intro small{font-size:12px;line-height:1.35;color:var(--muted)}
body.app-v5 .venue-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.app-v5 .venue-preview-card{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:118px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(45,27,19,.06)}
body.app-v5 .venue-preview-photo{min-height:118px;background:#f6eee9;overflow:hidden}
body.app-v5 .venue-preview-photo img,body.app-v5 .venue-preview-placeholder{width:100%;height:100%;min-height:118px;object-fit:cover;display:block}
body.app-v5 .venue-preview-placeholder{display:grid;place-items:center;font-size:42px;background:linear-gradient(145deg,#fff0e7,#ffd6c8)}
body.app-v5 .venue-preview-body{padding:12px 12px 11px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
body.app-v5 .venue-preview-title{display:flex;align-items:flex-start;gap:7px;justify-content:space-between;width:100%}
body.app-v5 .venue-preview-title h3{margin:0;font-size:16px;line-height:1.1;letter-spacing:-.02em;overflow-wrap:anywhere}
body.app-v5 .venue-preview-type{flex:0 0 auto;border-radius:999px;padding:4px 6px;background:#fff0ea;color:#b64231;font-size:9px;font-weight:900;white-space:nowrap}
body.app-v5 .venue-preview-body p{margin:0;color:var(--muted);font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.app-v5 .venue-preview-link{margin-top:auto;color:var(--brand);font-size:11px;font-weight:900;text-decoration:none}
body.app-v5 .venue-preview-link:hover{text-decoration:underline}
body.app-v5 .venue-preview-actions{display:flex;justify-content:center;align-items:center;margin-top:16px;width:100%}body.app-v5 .venue-preview-start{width:min(100%,460px);max-width:460px;margin:0!important}
body.app-v5 .venue-voting-toolbar{max-width:560px;margin:2px auto 0;display:flex;justify-content:flex-start}
body.app-v5 .venue-voting-toolbar .btn{min-height:36px;padding:7px 11px;font-size:11px}
html[data-theme="dark"] body.app-v5 .venue-preview-intro{background:#2a211d;border-color:rgba(255,255,255,.10)}
html[data-theme="dark"] body.app-v5 .venue-preview-card{background:#211d1a;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] body.app-v5 .venue-preview-title h3{color:#fff}
html[data-theme="dark"] body.app-v5 .venue-preview-type{background:#3b2922;color:#ff8c71}
@media(max-width:680px){
  body.app-v5 .venue-preview{margin-top:8px}
  body.app-v5 .venue-preview-grid{grid-template-columns:1fr;gap:9px}
  body.app-v5 .venue-preview-card{grid-template-columns:104px minmax(0,1fr);min-height:104px;border-radius:17px}
  body.app-v5 .venue-preview-photo,body.app-v5 .venue-preview-photo img,body.app-v5 .venue-preview-placeholder{min-height:104px}
  body.app-v5 .venue-preview-body{padding:10px}
  body.app-v5 .venue-preview-title h3{font-size:15px}
  body.app-v5 .venue-preview-intro{padding:11px 12px;border-radius:16px}
  body.app-v5 .venue-preview-actions{margin-top:12px}
  body.app-v5 .venue-voting-toolbar{padding:0 4px}
}


/* AperiSwipe v0.6.11.62 — presenza live totale / registrati / ospiti. */
.statistics-online-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.statistics-online-split>span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.statistics-online-split small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.statistics-online-split b{font-size:17px}
html[data-theme="dark"] .statistics-online-split>span{background:#2a221e!important;border-color:var(--line)!important}
@media(max-width:560px){.statistics-online-split{grid-template-columns:1fr}}
