@import url("style-base.css");
/* Aggiornamenti richiesti: valori mensili contestuali e linee di riferimento. */
.dynamic-chart{overflow:visible;pointer-events:none}
.dynamic-chart .bars{overflow:visible}
.dynamic-chart .bar-group{display:block;overflow:visible;pointer-events:auto;cursor:pointer}
.dynamic-chart .bar{position:absolute;left:4%;width:42%;bottom:0;z-index:1;min-height:1px}
.dynamic-chart .bar.fixed{left:54%;background:#c8cbc6}
.dynamic-chart .bar.negative{opacity:.78}
.dynamic-chart .chart-reference{position:absolute;left:0;right:0;height:0;z-index:4;border-top:3px solid;pointer-events:none}
.dynamic-chart .chart-reference.average{border-top:3px dashed #4b997c}
.dynamic-chart .chart-reference.long{border-top:3px solid #39423d}
.dynamic-chart .reference-label{position:absolute;z-index:5;max-width:75%;padding:4px 9px;border-radius:6px;background:rgba(247,246,242,.94);font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:700;line-height:1.25;white-space:nowrap;pointer-events:none}
.dynamic-chart .chart-reference.average+.reference-label{right:0;color:#0e7a5f}
.dynamic-chart .chart-reference.long+.reference-label{left:0;color:#303a35}
.dynamic-chart .chart-value{display:none;position:absolute;bottom:calc(100% + 18px);left:50%;z-index:12;min-width:190px;padding:12px 16px;transform:translateX(-50%);border-radius:9px;background:#10221c;box-shadow:0 8px 24px rgba(16,34,28,.2);color:#fff;font-size:18px;font-weight:600;line-height:1.5;text-align:left;white-space:nowrap;pointer-events:none}
.dynamic-chart .chart-value span{display:block}
.dynamic-chart .chart-value .tooltip-short{color:#9de0c2}
.dynamic-chart .bar-group:hover .chart-value,.dynamic-chart .bar-group:focus .chart-value{display:block}
.dynamic-chart .chart-value.align-start{left:0;transform:none}
.dynamic-chart .chart-value.align-end{right:0;left:auto;transform:none}
@media(max-width:760px){
 .dynamic-chart .reference-label{font-size:15px;padding:3px 6px}
 .dynamic-chart .chart-value{min-width:150px;padding:9px 12px;font-size:16px}
 .dynamic-chart .chart-reference{border-top-width:2px}
}

/* Parametri aggiuntivi nello stesso sistema di coordinate del design originale. */
.rf-settings{position:absolute;z-index:20;color:#12211c;font-family:Manrope,Arial,sans-serif;font-size:30px;line-height:1.4}
.rf-settings summary{width:max-content;max-width:100%;margin:auto;cursor:pointer;list-style:none;color:#0e7a5f;font-size:30px;font-weight:700;padding:12px 8px;min-height:66px;text-align:center}
.rf-settings summary::-webkit-details-marker{display:none}
.rf-settings summary:focus-visible{outline:4px solid #0e7a5f;outline-offset:6px;border-radius:10px}
.rf-settings-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:36px;border:2px solid #d9e2d9;border-radius:28px;background:#fdfdf9;margin-top:16px}
.rf-settings .rf-field{min-width:0}
.rf-settings label:not(.rf-agency-toggle){display:block;font-size:26px;font-weight:700;margin-bottom:10px}
.rf-settings input:not([type=checkbox]),.rf-settings select{display:block;min-width:0;width:100%;max-width:100%;height:80px;padding:12px 18px;border:2px solid #d3dcd4;border-radius:16px;background:#fff;color:#12211c;font-size:27px}
.rf-settings input:focus-visible,.rf-settings select:focus-visible{outline:4px solid #0e7a5f;outline-offset:3px}
.rf-settings small{display:block;font-size:23px;color:#596b60;line-height:1.45;margin-top:8px}
.rf-settings-note{grid-column:1/-1;font-size:24px;color:#596b60;line-height:1.5;margin:0}
.rf-agency-toggle{grid-column:1/-1;display:flex;gap:20px;align-items:center;padding:24px;border:2px solid #d3dcd4;border-radius:18px;font-size:30px;font-weight:700;background:#f1f6f0;cursor:pointer}
.rf-agency-toggle input{width:38px;height:38px;margin:0;flex:none;accent-color:#0e7a5f}
.rf-agency-toggle small{font-weight:400}
.rf-agency-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;border:0;padding:0;margin:0;min-width:0}
.rf-settings [hidden],.rf-agency-breakdown[hidden]{display:none!important}
.rf-agency-breakdown{position:absolute;color:#445b50;font-family:Manrope,Arial,sans-serif;font-size:28px;line-height:1.35;pointer-events:none}
.rf-agency-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.rf-agency-main b{color:#12211c;white-space:nowrap;font-weight:700}
.rf-agency-breakdown p{margin:10px 0 0;font-size:23px;line-height:1.35;color:#596b60}
[data-key=delta].rf-negative svg text,[data-key=delta].rf-negative svg tspan{fill:#9e5d15!important}
.mobile .rf-settings{font-size:27px}
.mobile .rf-settings summary{font-size:28px;min-height:64px}
.mobile .rf-settings-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:26px;border-radius:22px}
.mobile .rf-settings label:not(.rf-agency-toggle){font-size:24px}
.mobile .rf-settings select,.mobile .rf-settings input:not([type=checkbox]){font-size:24px;padding:12px;height:78px}
.mobile .rf-settings small{font-size:22px}
.mobile .rf-settings-note{font-size:22px}
.mobile .rf-agency-toggle{font-size:27px;padding:22px;gap:16px}
.mobile .rf-agency-fields{grid-template-columns:minmax(0,1fr)}
.mobile .rf-agency-breakdown{font-size:26px}
.mobile .rf-agency-breakdown p{font-size:22px;margin-top:10px}

/* Leggibilità dei nuovi controlli indipendente dalla scala nativa degli artboard. */
.artboard:not(.rf-calculated) .rf-result-content{visibility:hidden!important;pointer-events:none!important}
.rf-settings{font-size:calc(14px / var(--design-scale,.5))}
.rf-settings summary,.mobile .rf-settings summary{font-size:calc(14px / var(--design-scale,.5));padding:calc(6px / var(--design-scale,.5));min-height:calc(34px / var(--design-scale,.5))}
.rf-settings-panel,.mobile .rf-settings-panel{gap:calc(14px / var(--design-scale,.5));padding:calc(18px / var(--design-scale,.5));border-radius:calc(14px / var(--design-scale,.5));margin-top:calc(8px / var(--design-scale,.5))}
.rf-settings label:not(.rf-agency-toggle),.mobile .rf-settings label:not(.rf-agency-toggle){font-size:calc(12px / var(--design-scale,.5));margin-bottom:calc(5px / var(--design-scale,.5))}
.rf-settings input:not([type=checkbox]),.rf-settings select,.mobile .rf-settings select,.mobile .rf-settings input:not([type=checkbox]){height:calc(40px / var(--design-scale,.5));font-size:calc(14px / var(--design-scale,.5));padding:calc(6px / var(--design-scale,.5)) calc(9px / var(--design-scale,.5));border-radius:calc(8px / var(--design-scale,.5))}
.rf-settings small,.mobile .rf-settings small{font-size:calc(12px / var(--design-scale,.5));margin-top:calc(4px / var(--design-scale,.5))}
.rf-settings-note,.mobile .rf-settings-note{font-size:calc(12px / var(--design-scale,.5))}
.rf-agency-toggle,.mobile .rf-agency-toggle{gap:calc(10px / var(--design-scale,.5));padding:calc(12px / var(--design-scale,.5));border-radius:calc(9px / var(--design-scale,.5));font-size:calc(14px / var(--design-scale,.5))}
.rf-agency-toggle input{width:calc(20px / var(--design-scale,.5));height:calc(20px / var(--design-scale,.5))}
.rf-agency-fields{gap:calc(13px / var(--design-scale,.5))}
.rf-agency-breakdown,.mobile .rf-agency-breakdown{font-size:calc(13px / var(--design-scale,.5))}
.rf-agency-breakdown p,.mobile .rf-agency-breakdown p{font-size:calc(11px / var(--design-scale,.5));margin-top:calc(5px / var(--design-scale,.5))}
.rf-city-suggestions{position:absolute;z-index:90;max-height:calc(240px / var(--design-scale,.5));overflow:auto;border:2px solid #d3dcd4;border-radius:calc(10px / var(--design-scale,.5));background:#fff;box-shadow:0 8px 32px #12211c26;color:#12211c;font:calc(14px / var(--design-scale,.5))/1.45 Manrope,Arial,sans-serif}
.rf-city-suggestions[hidden]{display:none!important}
.rf-city-suggestions button{display:block;width:100%;padding:calc(10px / var(--design-scale,.5)) calc(14px / var(--design-scale,.5));border:0;border-bottom:1px solid #e4e9e1;background:#fff;text-align:left;color:inherit;font:inherit;cursor:pointer}
.rf-city-suggestions button:hover,.rf-city-suggestions button:focus-visible{background:#edf5ef;outline:3px solid #0e7a5f;outline-offset:-3px}
.rf-city-suggestions p{margin:0;padding:calc(12px / var(--design-scale,.5));font:inherit}
@media(max-width:1100px){.rf-settings-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.rf-agency-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mobile .rf-settings-panel,.mobile .rf-agency-fields{grid-template-columns:minmax(0,1fr)}

.layer.rf-live-delta{display:flex;align-items:center;justify-content:center;background:#0e7a5f;color:#fff;border-radius:999px;font-size:calc(12px / var(--design-scale,.5));font-weight:700;line-height:1.15;text-align:center;padding:0 calc(5px / var(--design-scale,.5));min-height:calc(32px / var(--design-scale,.5))}
.layer.rf-live-delta.rf-negative{background:#9e5d15;color:#fff}
.layer.rf-live-delta>.rf-delta-value{display:block;max-width:100%;color:#fff}

/* Suggerimenti città fuori dall’artboard trasformato: dimensioni reali e clic affidabili. */
.rf-city-suggestions.rf-city-portal{position:fixed;z-index:100001;pointer-events:auto;font:14px/1.4 Manrope,Arial,sans-serif;max-height:220px;overflow:auto;overscroll-behavior:contain;border:1px solid #d3dcd4;border-radius:10px;box-shadow:0 8px 24px #12211c26;background:#fff}
.rf-city-suggestions.rf-city-portal button{pointer-events:auto;min-height:38px;padding:9px 13px;font:inherit;touch-action:manipulation}
.rf-city-suggestions.rf-city-portal p{padding:12px;font:inherit}
.rf-city-suggestions.rf-city-portal button[aria-selected=true]{background:#edf5ef;font-weight:700}

/* Informativa e attribuzione dell'autocomplete sempre visibili sotto il modulo. */
.rf-settings-stack{position:absolute;z-index:20;color:#12211c;font-family:Manrope,Arial,sans-serif}
.rf-settings-stack>.rf-settings{position:static;width:100%}
.rf-address-note{margin:0 0 calc(7px / var(--design-scale,.5));font:calc(11px / var(--design-scale,.5))/1.45 Manrope,Arial,sans-serif;color:#52645b;text-align:center}
.rf-address-note a{color:#0e6d54;text-decoration:underline;text-underline-offset:2px}
.rf-address-note a:focus-visible{outline:3px solid #0e7a5f;outline-offset:3px}
.rf-city-suggestions.rf-city-portal button{white-space:normal;overflow-wrap:anywhere}
.rf-city-suggestions.rf-city-portal p[role=status]{font-size:12px;color:#52645b;background:#f4f7f2}
