@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#090e1b;--panel:#10172b;--panel2:#151e35;--stroke:#283349;--text:#f8f8ff;--muted:#9da6bb;--pink:#ff4fb4;--cyan:#58d8e8;--yellow:#ffc777}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--cyan)}.app{display:flex;min-height:100vh}.sidebar{width:257px;min-width:257px;position:sticky;top:0;height:100vh;background:#0b1224;border-right:1px solid var(--stroke);padding:29px 18px 18px;display:flex;flex-direction:column;z-index:20}.logo{display:flex;align-items:center;gap:12px;padding:0 8px 33px}.logo-icon{width:48px;height:48px;display:grid;place-items:center;background:linear-gradient(140deg,#ec399d,#734bd6);font:900 24px 'Barlow Condensed';border-radius:12px;position:relative}.logo-icon span{font:12px Arial;position:absolute;right:-4px;top:-6px;color:#ffcb65}.logo strong{font:800 19px 'Barlow Condensed';letter-spacing:1px;display:block}.logo small{font-size:9px;letter-spacing:2px;color:#aab5ce}.overline,.side-label{font-size:10px;letter-spacing:2px;color:#687691;padding:0 15px;margin:8px 0 13px;font-weight:800}nav{display:grid;gap:5px}.nav-item{width:100%;border:0;border-left:3px solid transparent;background:transparent;color:#a9b3c9;padding:13px 12px;display:flex;align-items:center;gap:12px;text-align:left;border-radius:7px;font-weight:600;white-space:nowrap}.nav-item>span{font-size:19px;width:23px;text-align:center}.nav-item b{margin-left:auto;font-size:9px;letter-spacing:1px;color:#ffb4df}.nav-item em{margin-left:auto;font-style:normal;background:#273250;border-radius:8px;font-size:11px;padding:1px 7px}.nav-item.active,.nav-item:hover{background:#242039;border-left-color:var(--pink);color:#fff}.side-bottom{margin-top:auto}.admin-btn{border:1px solid #3b4561;background:#111b34;border-radius:9px;color:#e7eeff;padding:12px;width:100%;text-align:left;font-size:12px}.admin-btn:hover{border-color:var(--pink)}.legend-mini{padding:20px 6px 4px;color:#7e8ba3;font-size:10px}.legend-mini i,.signal i{width:6px;height:6px;background:#4fe0ae;border-radius:50%;display:inline-block;margin-right:6px}.main{width:calc(100% - 257px);min-width:0}.topbar{height:71px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;border-bottom:1px solid #1a2439}.crumb{font-weight:800;letter-spacing:1.6px;font-size:10px;color:#7788a5}.crumb span{padding:0 12px;color:#435168}.crumb b{color:#e5eaf7}.signal{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#a8b5d4}.small-btn{display:none;background:#18213a;color:#fff;border:1px solid #39435b;padding:8px 12px;border-radius:6px}.hero{min-height:310px;display:flex;overflow:hidden;position:relative;background:linear-gradient(110deg,#12142b 5%,#33213b 48%,#8e3267 76%,#fa9b7d 100%);border-bottom:1px solid #442942}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 60%,transparent 12%,#0e1331a0 65%),repeating-linear-gradient(0deg,transparent,transparent 30px,#ffffff07 31px);pointer-events:none}.hero-content{position:relative;z-index:2;padding:41px 42px;width:64%}.eyebrow{font-size:10px;color:var(--pink);font-weight:800;letter-spacing:2.3px}.hero .eyebrow{color:#ff99ce}.hero h1{font:900 clamp(52px,7vw,90px)/.82 'Barlow Condensed',sans-serif;margin:20px 0 23px;letter-spacing:1px}.hero h1 span{color:var(--pink)}.hero h1 em{font:800 25px 'Barlow Condensed';font-style:normal;letter-spacing:4px;color:#ffbdca}.hero p{max-width:410px;line-height:1.7;color:#d3d4eb;font-size:12px}.hero-actions{display:flex;gap:9px;margin-top:21px}.primary,.secondary{padding:12px 17px;border-radius:7px;font-weight:800;font-size:12px;border:1px solid transparent}.primary{background:linear-gradient(120deg,#fc4ab2,#d849a5);color:#fff;box-shadow:0 5px 18px #d849a540}.primary span,.secondary span{margin-left:15px}.secondary{background:#ffffff12;border-color:#ffffff40;color:#fff}.hero-art{position:absolute;right:0;bottom:0;width:48%;height:100%;overflow:hidden}.hero-art .sun{position:absolute;right:13%;top:23%;width:176px;height:176px;background:linear-gradient(#f8a85c,#ea5b83);border-radius:50%;box-shadow:0 0 90px #f18a7b}.hero-art strong{font:900 55px/.75 'Barlow Condensed';position:absolute;right:12%;bottom:58px;color:#ffd4de;letter-spacing:2px;transform:skew(-7deg);text-shadow:4px 4px #812551}.city-silhouette{position:absolute;bottom:0;right:0;width:100%;height:62%;background:linear-gradient(90deg,#101c34,#221d3c);clip-path:polygon(0 90%,5% 90%,5% 59%,9% 59%,9% 82%,14% 82%,14% 39%,18% 39%,18% 83%,24% 83%,24% 55%,31% 55%,31% 79%,38% 79%,38% 27%,42% 27%,42% 73%,47% 73%,47% 48%,55% 48%,55% 89%,61% 89%,61% 32%,67% 32%,67% 69%,74% 69%,74% 39%,81% 39%,81% 70%,87% 70%,87% 55%,94% 55%,94% 80%,100% 80%,100% 100%,0 100%)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#23304a;border-bottom:1px solid #23304a}.stats>div{background:#11192b;min-height:85px;display:flex;flex-direction:column;justify-content:center;padding:16px 25px}.stats small{color:#8291ae;font-size:9px;letter-spacing:1.1px;font-weight:800}.stats strong{font:800 32px 'Barlow Condensed';margin-top:6px;letter-spacing:1px}.map-section,.content-section{padding:36px 37px 10px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:21px}.section-head h2{font:800 35px 'Barlow Condensed';margin:6px 0 0;text-transform:uppercase;letter-spacing:.6px}.section-head h2 span{color:var(--pink)}.section-head p{max-width:300px;font-size:11px;line-height:1.6;color:#8997af}.map-shell{background:#111a2c;border:1px solid #344059;border-radius:12px;overflow:hidden}.map-toolbar{display:flex;justify-content:space-between;gap:15px;padding:12px 15px;background:#151f33}.map-search-wrap{display:flex;align-items:center;gap:9px;max-width:360px;flex:1;color:#8396b4;background:#0c1526;border:1px solid #344057;border-radius:7px;padding:0 12px}.map-search-wrap span{font-size:21px}.map-search-wrap input{width:100%;background:transparent;border:0;outline:0;color:#fff;padding:10px 0;font-size:12px}.toolbar-right{display:flex;gap:5px}.zoom,.reset{border:1px solid #3c4762;color:#c6d3ee;background:#202b44;border-radius:6px;padding:7px 12px;font-size:16px}.reset{font-size:11px}.filters{background:#141e31;border-top:1px solid #26324a;display:flex;gap:7px;flex-wrap:wrap;padding:10px 13px}.chip{color:#a9b6cf;font-size:10px;border:1px solid #36435c;padding:7px 10px;background:#10192a;border-radius:15px;font-weight:700}.chip.active,.chip:hover{color:#fff;background:#8f2a70;border-color:var(--pink)}.map-viewport{height:min(690px,72vw);min-height:400px;position:relative;overflow:hidden;background:#1a537f;cursor:grab;touch-action:none}.map-viewport:active{cursor:grabbing}.map-transform{position:absolute;top:0;left:0;transform-origin:0 0;width:100%;height:100%;user-select:none}.map-transform img{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}.pin-layer{position:absolute;inset:0;pointer-events:none}.map-pin{position:absolute;transform:translate(-50%,-100%);border:2px solid white;background:#b52c85;color:#fff;width:30px;height:30px;border-radius:50% 50% 50% 3px;rotate:-45deg;pointer-events:auto;display:grid;place-items:center;box-shadow:0 2px 7px #0007;padding:0}.map-pin span{rotate:45deg;font-size:14px;line-height:1}.map-pin.region{background:#278cb2}.map-pin.missione{background:#e3a640;color:#1c1d30}.map-pin.rapina{background:#e45768}.map-pin.attivita{background:#4dbaa9}.map-pin.visited{outline:3px solid #7bf9ba}.map-pin.chosen{z-index:10;box-shadow:0 0 18px 6px #fa4ac8}.map-inset{position:absolute;pointer-events:none;bottom:17px;left:18px;background:#0a162bdc;padding:11px 13px;border:1px solid #536688a8;border-radius:7px;display:grid;gap:4px}.map-inset span{font:900 20px 'Barlow Condensed';letter-spacing:3px}.map-inset small{font-size:9px;color:#c4d0e1}.map-message{position:absolute;top:13px;left:50%;transform:translateX(-50%);padding:10px 14px;background:#f6bfd9;color:#301530;border-radius:8px;font-weight:800;z-index:9;max-width:90%;text-align:center}.map-fallback{position:absolute;inset:0;background:#11233be9;display:grid;place-items:center;text-align:center;padding:40px;line-height:1.7}.map-credit{background:#10192a;border-top:1px solid #37435c;padding:12px 15px;line-height:1.7;font-size:10px;color:#a1aec6}.map-credit a{color:#9bd6ee}.poi-details{border:1px solid #2b3852;background:#10192b;display:flex;gap:15px;align-items:center;padding:17px;margin-top:13px;border-radius:9px;min-height:88px}.details-icon{background:#352140;color:#fb88cc;font-size:24px;padding:10px 14px;border-radius:8px}.details-text{display:grid;gap:5px;min-width:0;flex:1}.details-text b{font-size:13px}.details-text span,.details-text p{font-size:11px;color:#a5b1c5;line-height:1.6;margin:0}.details-actions{display:flex;gap:7px;flex-wrap:wrap}.details-actions button{font-size:11px;padding:9px 12px;border-radius:6px;background:#283653;color:#fff;border:1px solid #485474}.content-section{padding-top:40px;padding-bottom:55px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid #303b52;background:linear-gradient(135deg,#17213a,#10182b);padding:19px 18px;border-radius:10px;min-height:153px;position:relative}.card-kicker{color:#e580bb;letter-spacing:1px;font-size:9px;font-weight:800;text-transform:uppercase}.card h3{font:800 21px 'Barlow Condensed';margin:13px 0 8px;text-transform:uppercase}.card p{color:#a5b2c9;line-height:1.6;font-size:11px;margin:0}.card .tag{display:inline-block;margin-top:14px;padding:5px 8px;font-size:9px;border:1px solid #455472;color:#cad5ed;border-radius:12px}.card button{margin-top:13px;background:#213450;color:#e8f1fe;border:1px solid #3d5474;padding:8px 11px;border-radius:6px;font-size:11px}.card button:hover{border-color:#fe63bf}.empty{grid-column:1/-1;padding:30px;background:#141e31;border:1px solid #2b3953;border-radius:10px;color:#b8c6dd}footer{border-top:1px solid #27344d;padding:22px 37px 30px;color:#8b98ad;font-size:10px;line-height:1.7}footer strong{color:#f9b0dc}footer span{margin-left:6px}footer p{margin-bottom:0}.modal{position:fixed;z-index:100;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:20px}.hidden{display:none!important}.modal-box{width:min(450px,100%);background:#172139;padding:27px;border:1px solid #4d5370;border-radius:14px;box-shadow:0 20px 70px #000a;position:relative}.modal-box h2{font:800 34px 'Barlow Condensed';margin:9px 0 10px}.modal-box p{font-size:12px;line-height:1.7;color:#acb8d0}.modal-box form{display:grid;gap:14px}.modal-box label{display:grid;gap:7px;font-size:11px;color:#b7c1d8;font-weight:700}.modal-box input:not([type=checkbox]),.modal-box select,.modal-box textarea{background:#0d172b;color:#fff;border:1px solid #3d4b68;padding:12px;border-radius:8px;outline:0;width:100%}.modal-box textarea{resize:vertical}.modal-box .checkline{display:flex;align-items:center;gap:9px}.modal-box .checkline input{accent-color:#ff4fb4}.modal-box .primary{width:100%}.modal-box .secondary{width:100%;margin-top:8px}.close{position:absolute;top:13px;right:18px;background:transparent;border:0;color:#d9e5f7;font-size:30px}.coords{color:#83a3c9;font-size:11px}.error{color:#ffa2b9;font-size:11px;min-height:10px}#adminPanel .primary{margin-bottom:4px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.hero-art{width:50%}.hero h1{font-size:65px}}@media(max-width:810px){.sidebar{position:fixed;transform:translateX(-100%);transition:transform .25s}.sidebar.open{transform:translateX(0)}.main{width:100%}.small-btn{display:inline-block}.topbar{padding:0 18px}.hero-content{padding:34px 23px;width:78%}.hero h1{font-size:58px}.hero-art{opacity:.62;width:68%}.stats>div{padding:13px}.stats small{font-size:8px}.stats strong{font-size:26px}.map-section,.content-section{padding:27px 17px}.map-viewport{min-height:430px;height:70vw}.section-head{align-items:start;flex-direction:column;gap:4px}.section-head p{margin:2px 0}.cards{grid-template-columns:repeat(2,1fr)}footer{padding:25px 17px}}@media(max-width:540px){.signal{display:none}.hero{min-height:345px}.hero-content{width:100%}.hero h1{font-size:55px}.hero h1 em{font-size:19px}.hero-art{width:100%;opacity:.25}.hero-actions{position:relative}.stats{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.map-viewport{min-height:460px}.map-inset small{max-width:180px}.map-toolbar{gap:5px}.map-search-wrap{min-width:0}.reset span{display:none}.filters{overflow-x:auto;flex-wrap:nowrap}.chip{white-space:nowrap}.details-actions{margin-top:10px}.poi-details{align-items:flex-start}.poi-details:has(.details-actions){flex-wrap:wrap}}

/* V2: gli avvisi non devono coprire la cartografia e bloccare i click */
.map-fallback{inset:auto 12px 12px auto;width:min(380px,calc(100% - 24px));padding:10px 14px;background:#152a44e8;border:1px solid #5c809d;border-radius:8px;z-index:5;pointer-events:none;font-size:11px;display:block;text-align:left}.map-viewport{touch-action:none}
