/* COMASIRA'S 4.32 · Portafoglio aziendale — independent view layer */
.finance-overview{--fo-ink:#221f1b;--fo-cream:#fbf7ef;--fo-gold:#b38b49;display:grid;gap:15px;margin:12px 0 24px;min-width:0}
.finance-overview[hidden]{display:none!important}
.fo-topbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding:4px 0}
.fo-topbar h2{font-size:clamp(21px,3vw,27px);margin:4px 0;font-family:Georgia,serif;color:var(--fo-ink)}
.fo-topbar p,.fo-panel-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.fo-kicker{font-size:10px;font-weight:900;letter-spacing:.12em;color:#88662d}
.fo-period{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fo-scope,.fo-period label{background:#fff;color:var(--fo-ink);font-weight:800;font-size:12px;border:1px solid #e6d9ca;border-radius:12px;padding:10px 13px;min-height:42px}
.fo-scope{cursor:pointer}.fo-scope.active{background:#29241f;color:white;border-color:#29241f}
.fo-period label{display:flex;align-items:center;gap:8px}.fo-period input{border:0;background:transparent;font:inherit;color:inherit;width:125px;min-width:0;max-width:100%;padding:0}
.fo-primary{background:linear-gradient(115deg,#292520,#51402d);border:1px solid #68533d;box-shadow:0 14px 34px rgba(56,34,13,.14);border-radius:22px;padding:23px 25px;color:#fff}
.fo-primary-label{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#f8e6c3;font-size:13px;font-weight:800}.fo-primary-label span{color:#d1c0ab;font-size:11px;font-weight:600}
.fo-primary-value{display:block;font-size:clamp(29px,5vw,45px);font-family:Georgia,serif;font-weight:800;letter-spacing:-.035em;line-height:1.13;margin:11px 0 8px;font-variant-numeric:tabular-nums}
.fo-primary p{max-width:680px;margin:0;font-size:11px;color:#d7c7b4}
.fo-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fo-metric{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #e7dace;background:#fff;border-radius:17px;min-width:0}
.fo-metric span{font-size:11px;color:#675d4f;font-weight:800}.fo-metric strong{font-size:clamp(18px,2.4vw,27px);line-height:1.13;color:#261f17;font-family:Georgia,serif;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fo-metric small{color:#857766;font-size:10px;line-height:1.4}
.fo-alert{padding:12px 15px;border:1px solid #e3c889;border-radius:13px;background:#fff5d9;font-size:12px;line-height:1.6;color:#5c451e}
.fo-alert[hidden]{display:none}.fo-alert button{border:0;color:#593d08;background:transparent;text-decoration:underline;cursor:pointer;font:inherit;font-weight:800}
.fo-panel-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr);gap:14px}
.fo-panel{background:white;border:1px solid #e6dcd0;border-radius:20px;padding:19px 20px;min-width:0}
.fo-panel h3{margin:0;font-family:Georgia,serif;color:#29231e;font-size:20px}
.fo-panel>small{display:block;margin-top:12px;font-size:10px;color:#8d8071;line-height:1.5}
.fo-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.fo-legend{display:flex;align-items:center;gap:5px;font-size:10px;white-space:nowrap;color:#6c6255}.fo-legend i{width:9px;height:9px;border-radius:2px;display:inline-block;background:#53785b}.fo-legend i:nth-of-type(2){margin-left:4px;background:#bd8a56}
.fo-chart{display:flex;gap:9px;align-items:end;min-height:160px;padding:18px 10px 7px;border-bottom:1px solid #d8caba;overflow-x:auto}
.fo-bar-group{display:flex;align-items:center;flex-direction:column;justify-content:end;gap:4px;flex:1 0 38px;max-width:68px;background:transparent;border:0;cursor:pointer;color:#675b4b;font-size:11px}
.fo-bar-group:focus-visible,.fo-month-row:focus-visible,.fo-category:focus-visible{outline:2px solid #a2722f;outline-offset:3px}
.fo-bars{height:117px;display:flex;align-items:end;gap:5px}.fo-bars i{width:14px;border-radius:5px 5px 0 0;display:block}.fo-bar-in{background:#557a5e}.fo-bar-out{background:#bd8a56}
.fo-month-rows{max-height:220px;overflow-y:auto;margin-top:10px}.fo-month-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto 12px;gap:12px;width:100%;border:0;background:#fff;border-bottom:1px solid #f0e8de;padding:11px 2px;cursor:pointer;color:#30281f;text-align:left;font-size:11px;align-items:center}.fo-month-row b{text-transform:capitalize}.fo-positive{color:#3e7450;font-weight:800}.fo-negative{color:#ad7242;font-weight:800}.fo-month-arrow{font-size:21px;color:#8b7c67}
.fo-category-list{display:grid;gap:5px}.fo-category{display:grid;gap:7px;text-align:left;background:transparent;border:0;border-bottom:1px solid #f2e8da;cursor:pointer;padding:9px 0;color:#352d25}
.fo-category-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:12px}.fo-category-line strong{white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}
.fo-meter{height:6px;background:#eee5d9;border-radius:9px;overflow:hidden}.fo-meter i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#b28d52,#e0bc7c)}.fo-category small{font-size:10px;color:#877a6b}
.fo-channel{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #eee6dc;padding:13px 0}.fo-channel div{display:grid;gap:3px}.fo-channel b{font-size:12px;color:#2b251f}.fo-channel small{color:#8b7c6c;font-size:10px}.fo-channel strong{font-size:15px;color:#24201b;font-variant-numeric:tabular-nums;white-space:nowrap}
.fo-liquidity-total{display:grid;gap:4px;background:#f7f1e8;padding:14px 15px;border-radius:13px;margin:4px 0 8px}.fo-liquidity-total span{font-size:11px;color:#736451;font-weight:800}.fo-liquidity-total strong{font-size:25px;color:#271f17;font-family:Georgia,serif}
.fo-liquidity-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f1e8dd;padding:10px 0;font-size:12px}.fo-liquidity-row small{display:block;color:#8c806f;font-size:10px}.fo-liquidity-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.fo-payables{margin-top:12px;border-top:1px solid #e8ddce}.fo-payables>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:11px}.fo-payables strong{white-space:nowrap}
.fo-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#faf6ee;border:1px solid #e6dac8;border-radius:13px;padding:13px 15px}.fo-footer span{flex:1;font-size:11px;color:#675b4b;line-height:1.5}
.fo-ledger{border:1px solid #e2d4c2;border-radius:19px;background:#fff;padding:0 17px 15px;margin:8px 0 20px}.fo-ledger summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 2px;font-size:15px;font-weight:900;color:#30291f;list-style:revert}.fo-ledger summary span{font-size:11px;font-weight:500;color:#806f58}.fo-ledger[open] summary{border-bottom:1px solid #eadfce;margin-bottom:12px}.fo-ledger-content{min-width:0}
.fo-modal-expenses{display:grid;gap:6px;margin:12px 0}.fo-modal-expenses button{padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:1px solid #eaddcc;background:#fff;border-radius:12px}.fo-modal-expenses span{display:grid;gap:4px}.fo-modal-expenses b{font-size:12px}.fo-modal-expenses small{font-size:10px;color:#8a7d6d}.fo-modal-expenses strong{white-space:nowrap}
@media(max-width:980px){.fo-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fo-panel-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){.finance-overview{gap:10px}.fo-topbar{display:grid;gap:10px}.fo-period{display:grid;grid-template-columns:1fr 1fr}.fo-period label{grid-column:1/-1;justify-content:space-between}.fo-primary{padding:19px}.fo-metrics{gap:8px}.fo-metric{padding:12px;min-height:116px}.fo-metric strong{font-size:20px}.fo-panel{padding:14px;border-radius:16px}.fo-panel-head{flex-wrap:wrap}.fo-month-row{grid-template-columns:minmax(0,1fr) auto auto;gap:5px;font-size:10px}.fo-month-arrow{display:none}.fo-channel strong{font-size:13px}.fo-footer button{width:100%}.fo-ledger summary{font-size:13px;align-items:start;flex-direction:column}}
