/* V4.0 hybrid design: presentation only, no changes to pricing or data logic. */
:root{--ink:#172c42;--muted:#6e8094;--line:#e0e9f1;--paper:#f3f7fb;--white:#fff;--green:#078e80;--green-dark:#056c68;--soft:#e8f7f4;--shadow:0 5px 22px rgba(22,50,77,.045)}
body.apm-v4{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px}
.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}
.apm-sidebar{background:linear-gradient(165deg,#10263d,#17334c 66%,#10283e);color:#e6f2fc;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto;padding:22px 13px 16px;scrollbar-width:thin;scrollbar-color:#506479 transparent;z-index:30}
.apm-brand{display:flex;gap:12px;align-items:center;padding:3px 11px 25px;color:#fff;text-decoration:none;border-bottom:1px solid #ffffff1a}.apm-brand strong{font-size:21px;letter-spacing:-.7px;display:block;line-height:1.2}.apm-brand small{display:block;color:#b3c8d8;letter-spacing:2.2px;font-size:9px;margin-top:4px;font-weight:800}.apm-logo{display:grid;place-items:center;color:#48d3cc;font-size:34px;font-weight:800;width:40px;height:40px;border-radius:11px;background:#ffffff12}
.apm-property{margin:22px 4px 16px}.apm-side-label{display:block;font-size:9px;letter-spacing:1.35px;font-weight:800;color:#8daac0;margin:0 12px 10px}.apm-property select{width:100%;border:1px solid #ffffff24;border-radius:11px;background:#1c3c55;color:#fff;font-size:12px;padding:12px 11px;white-space:normal}.apm-property option{color:#152d43;background:white}.apm-menu{display:flex;flex-direction:column;gap:3px;flex:1}.apm-menu>a,.apm-more>a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#d4e1ee;padding:11px 13px;border-radius:9px;font-size:12px;font-weight:650;transition:background .15s}.apm-menu>a:hover,.apm-more>a:hover{background:#ffffff13;color:#fff}.apm-menu>a.is-active,.apm-more>a.is-active{background:linear-gradient(90deg,#0b827f,#17658a);color:#fff;box-shadow:inset 3px 0 #35d9bf}.apm-nav-icon{font-size:18px;width:19px;text-align:center;line-height:1;color:#9fc7d8}.is-active .apm-nav-icon{color:#fff}.apm-group{margin-top:20px}.apm-more{margin:6px 0}.apm-more summary{cursor:pointer;color:#b7cede;padding:10px 13px;font-size:12px;font-weight:650;list-style:none;display:flex;justify-content:space-between}.apm-more summary::-webkit-details-marker{display:none}.apm-more>a{font-size:11px;padding-left:30px}.apm-side-bottom{border-top:1px solid #ffffff22;padding:18px 9px 3px;color:#abc4d4;font-size:10px}.apm-status-dot,.apm-live i{display:inline-block;width:7px;height:7px;background:#40d2a9;border-radius:50%;margin-right:7px}.apm-side-bottom form{margin-top:13px}.apm-side-bottom button{width:100%;border:1px solid #ffffff29;border-radius:9px;background:#ffffff10;color:#eaf6ff;padding:10px;font-size:11px;cursor:pointer}.apm-side-bottom button:hover{background:#ffffff22}
.apm-workspace{min-width:0;display:flex;flex-direction:column}.apm-header{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 clamp(20px,2.6vw,42px);display:flex;align-items:center;justify-content:space-between;gap:15px}.apm-header>div:first-of-type{display:flex;flex-direction:column}.apm-header-overline{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#8298aa}.apm-header strong{font-size:15px;font-weight:800;letter-spacing:-.2px}.apm-header-right{display:flex;align-items:center;gap:20px}.apm-live{background:#f0f6f9;color:#637c90;padding:9px 13px;border-radius:30px;font-size:11px}.apm-avatar{width:34px;height:34px;background:#1673c9;color:white;border-radius:50%;display:grid;place-items:center;font-weight:800}.apm-menu-toggle{display:none;border:0;background:transparent;font-size:23px;color:var(--ink);cursor:pointer}
.apm-content.container{width:min(1520px,calc(100% - 48px));margin:27px auto 50px;flex:1}.apm-footer{font-size:10px;color:#91a1af;text-align:center;padding:18px;border-top:1px solid #e6edf3}.apm-v4 .hero h1,.apm-v4 .page-intro h1{font-size:clamp(25px,2.8vw,35px);letter-spacing:-1px}.apm-v4 .eyebrow{color:#088f88}.apm-v4 .panel,.apm-v4 .stat-card,.apm-v4 .sp-card,.apm-v4 .auto-stat{border:1px solid #e1e9f1;border-radius:15px;box-shadow:0 5px 25px rgba(30,66,95,.035);background:#fff}.apm-v4 .panel{padding:24px}.apm-v4 .stat-card{padding:22px}.apm-v4 .stat-card strong{color:#122e49}.apm-v4 .stat-card span{color:#637d91}.apm-v4 .panel h2{color:#132d47}.apm-v4 th{background:#f4f8fc;color:#667f96;border-bottom:1px solid #e4ebf2}.apm-v4 td{border-bottom:1px solid #edf1f5}.apm-v4 tbody tr:hover{background:#f7fbff}.apm-v4 .button.primary,.apm-v4 button.primary,.apm-v4 .nav-cta{background:linear-gradient(110deg,#06a478,#087d84);color:#fff;border:0}.apm-v4 .button.primary:hover{filter:brightness(.94)}.apm-v4 input:focus,.apm-v4 select:focus,.apm-v4 textarea:focus{border-color:#168f9d;box-shadow:0 0 0 3px #0e9c9b1c}.apm-v4 .notice{background:#e9f8f6;border-color:#d1eeea;color:#356b6d}.apm-v4 .hint{background:#f3f8fc}.apm-v4 .stats{gap:14px}.apm-v4 .panel-heading{margin-bottom:19px}.apm-v4 .text-link{color:#087d84}
/* Avoid breaking bespoke existing comparison widgets; improve their framing only */
.apm-v4 .v39-stats>div{border-color:#e1e9f1;background:#fff;border-radius:12px}.apm-v4 .sp-page{--sp-blue:#087f88;--sp-ink:#173047}.apm-v4 .sp-btn-primary{background:#087f88;border-color:#087f88}
@media(max-width:1060px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.apm-sidebar{padding-left:8px;padding-right:8px}.apm-brand strong{font-size:18px}.apm-content.container{width:calc(100% - 32px)}}
@media(max-width:760px){.app-shell{display:block}.apm-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-102%);transition:transform .2s;box-shadow:12px 0 25px #10243a33}.apm-open .apm-sidebar{transform:translateX(0)}.apm-header{height:68px;padding:0 16px}.apm-menu-toggle{display:block}.apm-header-right .apm-live{display:none}.apm-content.container{width:calc(100% - 24px);margin:19px auto 35px}.apm-v4 .panel{padding:17px}.apm-header strong{font-size:12px}.apm-header-overline{font-size:8px}}


/* V4.1 visual implementation of approved Acanfora premium dashboard reference */
:root{--paper:#f4f8fc;--ink:#102238;--line:#e1eaf3;--green:#008f82}
body.apm-v4{background:#f3f8fc;color:#12243b;font-size:13px}
.app-shell{grid-template-columns:218px minmax(0,1fr)}
.apm-sidebar{background:linear-gradient(160deg,#092339 0%,#102f47 67%,#071c2e 100%);padding:15px 10px 12px}
.apm-brand{flex-direction:column;gap:2px;justify-content:center;text-align:center;padding:0 8px 16px}
.apm-logo-real{width:112px;height:70px;object-fit:contain;filter:brightness(0) invert(1)}
.apm-brand strong{font-size:14px;letter-spacing:4px;font-weight:600}
.apm-brand small{font-size:12px;letter-spacing:1.5px;font-weight:450;color:#e5f4ff}
.apm-property{margin:16px 2px 14px}.apm-property select{background:#123951;min-height:46px}
.apm-menu{gap:2px}.apm-menu>a{padding:10px 11px;font-size:12px}.apm-group{margin-top:12px}
.apm-side-bottom{padding:8px 0 0;border-top:0}.apm-hotel-card{border:1px solid #ffffff22;background:#ffffff0a;border-radius:11px;overflow:hidden;margin-bottom:12px;padding-bottom:10px}
.apm-hotel-card img{width:100%;height:138px;object-fit:cover;display:block;margin-bottom:10px}.apm-hotel-card strong{display:block;font-size:12px;color:white;line-height:1.45;padding:0 11px}.apm-hotel-card small{display:block;font-size:9px;line-height:1.4;color:#acc6d6;padding:5px 11px 0}
.apm-header{height:65px;background:#f6faff;border-bottom:0;padding:0 23px}.apm-header-overline{color:#0b8881}.apm-header strong{font-size:13px}.apm-content.container{width:calc(100% - 36px);max-width:1750px;margin:12px auto 36px}
.apm-v4 .page-intro h1{font-size:27px;letter-spacing:-.8px;margin:0 0 5px}.apm-v4 .page-intro .eyebrow{font-size:10px;letter-spacing:1.5px;margin:0 0 5px}.apm-v4 .page-intro .muted{font-size:12px}
.apm-v4 .panel{border-radius:11px;padding:17px;border:1px solid #e4ebf2;box-shadow:0 3px 16px #0c35500a}
.apm-v4 .panel h2{font-size:17px;letter-spacing:-.25px;margin:0 0 10px}.apm-v4 .panel h3{font-size:14px}
.apm-v4 #compare-public{display:grid;grid-template-columns:1fr 1.24fr 1fr;column-gap:0;row-gap:8px;padding:0;overflow:hidden}
.apm-v4 #compare-public>.apm-step{padding:17px;min-width:0}.apm-v4 #compare-public>.apm-step:not(:last-of-type){border-right:1px solid #e7edf3}
.apm-v4 #compare-public>.apm-step h2{font-size:14px;margin-bottom:12px}.apm-v4 #compare-public>.apm-step h2:first-letter{color:#078d83}
.apm-v4 #compare-public>.apm-step .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.apm-v4 #compare-public>.apm-step:first-child .form-grid{grid-template-columns:1fr}
.apm-v4 #compare-public>.apm-step label{font-size:11px}.apm-v4 #compare-public>.apm-step input,.apm-v4 #compare-public>.apm-step select{font-size:12px;min-width:0}
.apm-v4 #compare-public>.apm-step .muted{font-size:11px;line-height:1.45}
.apm-v4 #compare-public>.apm-advanced{grid-column:1/-1;border-top:1px solid #e7edf3;padding:12px 18px}
.apm-v4 #compare-public>.apm-advanced summary{font-size:12px;font-weight:750;color:#0a6d70;cursor:pointer}
.apm-v4 #compare-public .form-actions{display:flex;flex-wrap:wrap;gap:8px}
.apm-v4 #compare-public .form-actions button{font-size:12px;padding:11px 13px}
.apm-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}
.apm-kpi{display:flex;gap:12px;align-items:center;padding:17px 14px;border-radius:11px;border:1px solid #e2eaf2;background:#fff;min-width:0;box-shadow:0 3px 16px #0c355008}
.apm-kpi-symbol{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;background:#e6f2ff;border-radius:50%;font-size:23px;color:#1671c7;font-weight:800}
.apm-symbol-teal{color:#008f75;background:#e3f8ef}.apm-symbol-blue{color:#1578bf;background:#e5f2ff}
.apm-kpi div{min-width:0}.apm-kpi small,.apm-kpi span:last-child{display:block;color:#587087;font-size:10px;line-height:1.4}.apm-kpi strong{display:block;font-size:22px;letter-spacing:-.7px;color:#0e2034;margin:3px 0}
.apm-v4 .apm-content:has(#booking-pace){display:grid;grid-template-columns:minmax(0,1.65fr) minmax(315px,.8fr);gap:12px;align-content:start}
.apm-v4 .apm-content:has(#booking-pace)>:not(#booking-pace):not(#public-prices){grid-column:1/-1}
.apm-v4 #booking-pace{grid-column:1;grid-row:auto;min-width:0}.apm-v4 #public-prices{grid-column:2;min-width:0}
.apm-v4 #booking-pace svg{max-width:none!important;background:white!important}.apm-v4 #booking-pace #pace-channels{gap:6px!important}.apm-v4 #booking-pace #pace-channels label{font-size:10px}
.apm-v4 .public-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.apm-v4 .public-card{border-color:#e2ebf3;background:#fbfdff}
.apm-v4 th{background:#f1f7fb;color:#254c68;font-size:11px}.apm-v4 td{font-size:11px;vertical-align:top}.apm-v4 table{width:100%}
.apm-v4 .panel:has(#pace-svg){min-height:350px}
@media(max-width:1350px){.apm-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.apm-v4 #compare-public{grid-template-columns:1fr 1fr}.apm-v4 #compare-public>.apm-step:nth-child(2){border-right:0}.apm-v4 #compare-public>.apm-step:nth-child(3){grid-column:1/-1;border-top:1px solid #e7edf3}.apm-v4 .apm-content:has(#booking-pace){grid-template-columns:1fr}.apm-v4 #booking-pace,.apm-v4 #public-prices{grid-column:1}}
@media(max-width:760px){.app-shell{display:block}.apm-v4 #compare-public{grid-template-columns:1fr}.apm-v4 #compare-public>.apm-step{grid-column:1!important;border-right:0!important;border-bottom:1px solid #e7edf3}.apm-kpi-strip{grid-template-columns:1fr 1fr}.apm-kpi strong{font-size:17px}.apm-content.container{width:calc(100% - 20px)}}

/* Two-column dashboard order: sales chart and public prices side by side */
.apm-v4 .apm-content:has(#booking-pace)>.page-intro{order:1}
.apm-v4 .apm-content:has(#booking-pace)>#compare-public{order:3}
.apm-v4 .apm-content:has(#booking-pace)>.apm-kpi-strip{order:4}
.apm-v4 .apm-content:has(#booking-pace)>#booking-pace{order:5}
.apm-v4 .apm-content:has(#booking-pace)>#public-prices{order:6}
.apm-v4 .apm-content:has(#booking-pace)>#commercial-analytics{order:7}
.apm-v4 .apm-content:has(#booking-pace)>#sales-context{order:8}
.apm-v4 .apm-content:has(#booking-pace)>#matched-nearest{order:9}
.apm-v4 .apm-content:has(#booking-pace)>:not(.page-intro):not(#compare-public):not(.apm-kpi-strip):not(#booking-pace):not(#public-prices):not(#commercial-analytics):not(#sales-context):not(#matched-nearest){order:10}
.apm-v4 .apm-content:has(#booking-pace)>#public-prices{grid-column:2}
@media(max-width:1350px){.apm-v4 .apm-content:has(#booking-pace)>#public-prices{grid-column:1}}

/* V4.2: compact, property-specific photo next to the property selector. */
.apm-sidebar{overflow-y:auto;min-height:0}
.apm-property{margin:11px 2px 12px}
.apm-property-selector{display:flex;align-items:center;gap:8px;background:#123951;border:1px solid #ffffff24;border-radius:10px;padding:6px;min-height:54px}
.apm-property-thumb{display:block;width:49px;height:43px;flex:0 0 49px;object-fit:cover;border-radius:7px}
.apm-property-selector form{flex:1;min-width:0;margin:0}
.apm-property-selector select{width:100%;min-width:0;background:transparent;border:0;padding:7px 3px;min-height:38px;white-space:normal;color:#fff;font-size:11px;line-height:1.25;box-shadow:none}
.apm-property-selector select:focus{box-shadow:none;outline:2px solid #38c5ba;outline-offset:1px}
.apm-menu{flex:0 0 auto;gap:1px}
.apm-menu>a{padding:8px 10px}
.apm-group{margin-top:9px}
.apm-side-bottom{margin-top:auto;padding-top:12px;border-top:1px solid #ffffff20}
.apm-hotel-card{display:none!important}
@media(max-height:750px){.apm-brand{padding-bottom:9px}.apm-logo-real{height:54px}.apm-property{margin:8px 2px}.apm-menu>a{padding:7px 10px}.apm-group{margin-top:7px}.apm-side-bottom{padding-top:8px}}

/* V4.3: tooltip immediato, senza attesa del titolo SVG nativo */
.instant-chart-tooltip{position:absolute;z-index:40;pointer-events:none;max-width:255px;padding:10px 12px;border-radius:10px;background:#102b42;color:#fff;font-size:12px;line-height:1.55;box-shadow:0 8px 24px #102b4240;white-space:normal}
.instant-chart-tooltip[hidden]{display:none!important}.instant-chart-tooltip small{color:#d2e2ed}
