/* QFX384H — Osservatorio Varco: nessun intervento sugli altri moduli. */
.varco-observatory-view { max-width: 1500px; margin: 0 auto; display: grid; gap: 17px; }
.varco-observatory-view[hidden] { display: none; }
.varco-observatory-view .vo-hero { position: relative; overflow: hidden; padding: 25px 27px; display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; border: 1px solid rgba(227,183,92,.22); border-radius: 19px; background: radial-gradient(circle at 94% 8%,rgba(227,183,92,.09),transparent 35%),linear-gradient(120deg,#122d3c,#0b202d); }
.varco-observatory-view .vo-hero::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--gold); }
.varco-observatory-view .vo-hero h2 { margin: 7px 0 8px; color: #fff3d9; font: 30px/1.15 Georgia,serif; }
.varco-observatory-view .vo-hero p.vo-copy { color: #91acb8; margin: 0; font-size: 12px; line-height: 1.6; max-width: 620px; }
.vo-controls { display:flex; flex-wrap:wrap; align-items:flex-end; gap: 10px; }
.vo-controls label { font-size: 9px; color: #92aab4; font-weight: 700; letter-spacing:.06em; display:grid; gap:5px; }
.vo-controls select { color:#edf4f6; background:#102735; border:1px solid rgba(144,190,211,.27); border-radius:8px; padding:9px 10px; min-height: 35px; font: inherit; font-size: 11px; min-width: 124px; }
.vo-controls button { background:rgba(227,183,92,.13); border:1px solid rgba(227,183,92,.48); border-radius:8px; padding:10px 15px; color:#ffdc99; font-weight:800; font-size:11px; min-height:35px; }
.vo-controls button:disabled { opacity:.45; cursor:wait; }
.vo-meta {display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:#8faab5; font-size:11px; align-items:center;}
.vo-meta .vo-live-tag { color:#8ed6a9; background:rgba(83,197,137,.08); border:1px solid rgba(83,197,137,.2); padding:6px 10px; border-radius:999px; letter-spacing:.08em; font-size:9px; font-weight:800; }
.vo-meta .vo-live-tag.is-error { color:#f2a39c; border-color:rgba(236,120,110,.4); }
.vo-meta .vo-live-tag.is-loading { color:#98dae8; border-color:rgba(85,212,233,.32); }
.vo-kpis {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.vo-kpi {border:1px solid rgba(139,184,203,.13);border-radius:15px;background:linear-gradient(145deg,rgba(17,45,58,.92),rgba(11,29,41,.9));padding:18px 15px;min-width:0;position:relative;overflow:hidden;}
.vo-kpi:before {content:'';position:absolute;top:0;left:0;right:0;height:2px;background:rgba(85,212,233,.35);}
.vo-kpi.is-gold:before {background:var(--gold);}
.vo-kpi.is-red:before {background:var(--red);}
.vo-kpi span,.vo-kpi small {display:block;color:#86a1ad;font-size:10px;line-height:1.5;}
.vo-kpi strong {display:block;color:#f1f8f8;font-size:29px;line-height:1.2;margin:9px 0 6px;font-variant-numeric:tabular-nums;}
.vo-panel-grid {display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:stretch;}
.vo-panel {min-width:0;border:1px solid rgba(144,190,211,.13);border-radius:16px;background:linear-gradient(155deg,rgba(15,39,52,.87),rgba(8,26,37,.92));padding:19px 21px;}
.vo-panel-heading {display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:15px;}
.vo-panel-heading h3 {font:22px/1.15 Georgia,serif;color:#e9f3f1;margin:5px 0 0;}
.vo-panel-heading small {color:#77949f;font-size:10px;max-width:160px;text-align:right;line-height:1.4;}
.vo-rows {display:grid;gap:13px;}
.vo-row-header {display:flex;justify-content:space-between;gap:10px;color:#c5d5d9;font-size:12px;}
.vo-row-header strong {color:#f4e1b4;font-variant-numeric:tabular-nums;white-space:nowrap;}
.vo-track {height:7px;border-radius:12px;overflow:hidden;background:rgba(187,206,213,.11);margin-top:7px;}
.vo-fill {height:100%;border-radius:12px;background:linear-gradient(90deg,#38a5bd,#65dae2);width:0;transition:width .15s ease;}
.vo-fill.is-gold {background:linear-gradient(90deg,#997b37,#e9c477);}
.vo-fill.is-red {background:linear-gradient(90deg,#a9534e,#e9968f);}
.vo-note {color:#8a9fa9;line-height:1.65;font-size:10px;margin:12px 0 0;}
.vo-empty {padding:24px 8px;text-align:center;color:#89a1ad;font-size:11px;}
.vo-trend {display:flex;align-items:flex-end;gap:4px;height:150px;margin:0 0 24px;padding-top:15px;border-bottom:1px solid rgba(200,210,220,.13);}
.vo-day {height:100%;flex:1;min-width:2px;display:flex;align-items:flex-end;}
.vo-day-bar {min-height:2px;width:100%;background:linear-gradient(0deg,#2a8ea7,#73d2d9);border-radius:3px 3px 0 0;}
.vo-day-bar.is-empty {background:rgba(103,132,144,.28);}
.vo-trend-axis {display:flex;justify-content:space-between;color:#8199a5;font-size:10px;}
.vo-footnote {border:1px solid rgba(227,183,92,.16);border-radius:12px;padding:15px 18px;color:#9baebb;background:rgba(227,183,92,.025);font-size:11px;line-height:1.8;}
.vo-footnote strong {color:#e9cd8b;}
.vo-footnote ul {padding-left:18px;margin:7px 0 0;}
@media(max-width:1300px) {.vo-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1050px) {.varco-observatory-view .vo-hero {align-items:stretch;flex-direction:column}.vo-panel-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px) {.vo-panel-grid{grid-template-columns:1fr}.vo-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px) {.varco-observatory-view .vo-hero {padding:18px}.varco-observatory-view .vo-hero h2{font-size:25px}.vo-kpis{gap:7px}.vo-kpi{padding:12px}.vo-kpi strong{font-size:24px}.vo-panel{padding:15px}.vo-controls{display:grid;grid-template-columns:1fr 1fr}.vo-controls select{min-width:0;width:100%}.vo-controls button{grid-column:1/-1}.vo-panel-heading h3{font-size:20px}}

/* QFX384J — acquisizione contatti privata del Varco. */
.vc-workspace {display:grid;gap:14px;}
.vc-workspace[hidden],.vc-owner-only[hidden]{display:none;}
.vc-heading{align-items:center;margin-bottom:0;}
.vc-intro,.vc-compliance{margin:0;color:#98adba;font-size:11px;line-height:1.7;max-width:1050px;}
.vc-compliance{padding:11px 13px;background:rgba(227,183,92,.055);border:1px solid rgba(227,183,92,.2);border-radius:10px;color:#c5b89a;}
.vc-refresh,.vc-filter,.vc-page-actions button {font:inherit;color:#d0e9f0;font-size:11px;border:1px solid rgba(143,190,207,.24);background:#102735;border-radius:9px;min-height:35px;padding:8px 12px;cursor:pointer;}
.vc-refresh:hover,.vc-filter:hover,.vc-page-actions button:hover:not(:disabled){border-color:#d8b665;color:#f7e5c0;}
.vc-refresh:disabled,.vc-page-actions button:disabled{opacity:.48;cursor:default;}
.vc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.vc-kpi{min-width:0;border:1px solid rgba(143,190,207,.15);border-radius:12px;background:#0b2330;padding:13px 16px;}
.vc-kpi small{font-size:10px;color:#a0b6bf;display:block;}
.vc-kpi strong{font-size:26px;font-weight:750;color:#f0f7f5;display:block;margin-top:6px;font-variant-numeric:tabular-nums;}
.vc-toolbar,.vc-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.vc-filters,.vc-page-actions{display:flex;gap:6px;flex-wrap:wrap;}
.vc-filter.is-active{border-color:#e3b75c;color:#f9db9f;background:rgba(227,183,92,.16);}
.vc-snapshot,.vc-pagination,.vc-status{font-size:11px;color:#9fb7c4;}
.vc-status.is-error{color:#e7a49d;}
.vc-table{border:1px solid rgba(143,190,207,.14);border-radius:12px;overflow:hidden;}
.vc-table-heading,.vc-item{display:grid;grid-template-columns:minmax(175px,2fr) minmax(105px,1fr) minmax(115px,1fr) minmax(115px,1fr) minmax(115px,1fr);gap:12px;align-items:center;padding:11px 13px;}
.vc-table-heading{font-size:9px;letter-spacing:.07em;color:#91acba;background:#102a38;text-transform:uppercase;}
.vc-item{border-top:1px solid rgba(143,190,207,.12);font-size:11px;color:#cce0e4;}
.vc-item:nth-child(2n){background:rgba(97,147,167,.035);}
.vc-item span{overflow-wrap:anywhere;min-width:0;}
.vc-email{font-weight:650;color:#f2e5c9;}
.vc-status-chip{font-weight:750;color:#f0bf91;}
.vc-status-chip.is-verified{color:#82d4a6;}
.vc-status-chip.is-closed{color:#abb9c0;}
.vc-owner-only{color:#b6c9cf;font-size:12px;}
@media(max-width:1050px){.vc-table-heading,.vc-item{grid-template-columns:minmax(150px,2fr) repeat(4,minmax(90px,1fr));gap:8px;}}
@media(max-width:800px){.vc-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.vc-table-heading{display:none;}.vc-item{grid-template-columns:1fr 1fr;gap:8px 12px;padding:14px;}.vc-item span:first-child{grid-column:1/-1;}.vc-item span:before{display:block;content:attr(data-label);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#849eab;margin-bottom:3px;}}
@media(max-width:480px){.vc-heading{align-items:flex-start;flex-direction:column;}.vc-refresh{width:100%;}.vc-kpi{padding:11px;}.vc-kpi strong{font-size:23px;}.vc-filters{width:100%;}.vc-filter{flex:1;padding:8px 5px;}.vc-snapshot{width:100%;}.vc-pagination{align-items:stretch;}.vc-page-actions{width:100%;}.vc-page-actions button{flex:1;}}

/* QFX384Y — revisione individuale Cronache, visibile solo all'owner. */
.vr-workspace{display:grid;gap:14px}.vr-workspace[hidden]{display:none}
.vr-heading{align-items:center;margin-bottom:0}.vr-toolbar{display:flex;gap:12px;flex-wrap:wrap}
.vr-toolbar label{font-size:10px;color:#9aafbd;display:grid;gap:6px;min-width:180px}
.vr-toolbar select,.vr-toolbar input{background:#0d2634;color:#eaf0f1;border:1px solid rgba(144,190,211,.27);border-radius:8px;min-height:36px;padding:8px;font:inherit;font-size:12px}
.vr-status,.vr-pages{color:#9db5bf;font-size:11px;line-height:1.6}.vr-status.is-error{color:#f0a5a0}
.vr-rows{display:grid;gap:9px}.vr-empty{color:#8da5ae;font-size:12px;margin:0;padding:15px}
.vr-item{background:#0b2432;border:1px solid rgba(144,190,211,.19);border-radius:12px;padding:13px;display:grid;gap:8px}
.vr-item-header{display:flex;align-items:center;gap:10px;justify-content:space-between;color:#eddcae;font-size:15px}
.vr-item-status{font:700 10px/1.4 inherit;color:#9fbcc7}.vr-item-meta{margin:0;color:#9fb7bf;font-size:11px;line-height:1.5}
.vr-item button,#vr-refresh,.vr-pages button{justify-self:start;background:rgba(227,183,92,.13);border:1px solid rgba(227,183,92,.5);border-radius:8px;color:#f6d596;cursor:pointer;padding:8px 12px;font:inherit;font-size:11px}
.vr-item button:disabled,.vr-pages button:disabled{cursor:default;opacity:.44}
.vr-pages{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.vr-pages>div{display:flex;gap:7px}
@media(max-width:480px){.vr-toolbar,.vr-toolbar label{width:100%}.vr-heading{align-items:flex-start;flex-direction:column}.vr-pages{align-items:stretch;flex-direction:column}}
