:root{font-family:Arial,Helvetica,sans-serif;color:#0a203b;background:#eff4f8;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #05a8b4;outline-offset:3px}button:disabled,select:disabled{cursor:default;opacity:.65}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:linear-gradient(150deg,#092636,#041824);color:white;padding:31px 12px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:8px;font-weight:750;font-size:29px;letter-spacing:-1px;margin:8px 12px}.pulse{color:#04acb4;width:40px;height:47px}.tagline{font-size:11px;line-height:1.5;color:#bacbd6;text-align:center;margin:0 0 29px 35px}.nav-item{background:none;color:#e9f2f8;border:0;border-radius:7px;width:100%;display:flex;gap:13px;align-items:center;padding:15px 15px;text-align:left;margin:3px 0;font-size:13px;min-height:46px}.nav-item svg{width:19px;height:19px;flex-shrink:0}.nav-item.active{background:linear-gradient(100deg,#0870bc,#1263a4);box-shadow:inset 0 0 0 1px #3794c13d}.nav-item:hover{background:#145278}.subnav{margin:0 0 7px 27px;border-left:1px solid #597181;padding-left:9px}.subnav .nav-item{font-size:12px;padding:10px 9px;min-height:36px}.chevron{margin-left:auto}.sidebar-foot{margin-top:auto;color:#88a4b6;font-size:11px;padding:18px 14px 0}.workspace{margin-left:236px;padding:32px clamp(20px,3vw,47px);max-width:1800px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.topbar h1{font-size:29px;letter-spacing:-.8px;margin:0 0 7px}.subtitle{color:#59708d;line-height:1.5;margin:0}.account{display:flex;align-items:center;gap:11px}.avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;color:white;background:#14639f}.account small{display:block;color:#6d819b;font-size:11px;margin-top:5px}.period-select{padding:12px 15px;border:1px solid #dce5ef;background:white;border-radius:8px;color:#102746;min-height:44px;max-width:100%}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px;flex-wrap:wrap}.update-meta{color:#6b7f95;font-size:11px;line-height:1.7}.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid #dbe5ee;border-radius:8px;background:white;color:#1d4164;padding:11px 16px;min-height:44px;text-decoration:none}.button svg{height:16px;width:16px}.button.primary{background:#096baa;color:white;border-color:#096baa}.notice{border:1px solid #c7dfe9;border-left:3px solid #1499ab;padding:15px 18px;border-radius:9px;background:#f5fbfd;color:#405e77;line-height:1.55;margin-bottom:23px}.notice strong{display:block;color:#173950;font-size:13px;margin-bottom:3px}.notice.error{border-color:#e8b9b9;background:#fff7f7;color:#9f3838}.highlights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-bottom:22px}.highlight{background:linear-gradient(140deg,#fff,#fafcff);border:1px solid #dce6ef;border-radius:12px;box-shadow:0 6px 18px #173c6410;text-align:left;padding:19px 17px 21px;color:#0a203b;min-height:203px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .15s,box-shadow .15s}.highlight:hover{transform:translateY(-3px);box-shadow:0 9px 20px #173c641a}.icon-box{width:47px;height:47px;display:grid;place-items:center;color:white;border-radius:14px;box-shadow:inset 0 0 8px #ffffff38;margin-bottom:15px}.icon-box svg{height:25px;width:25px}.green{background:linear-gradient(135deg,#31c64d,#21a542)}.blue{background:linear-gradient(135deg,#1495ff,#0071ee)}.purple{background:linear-gradient(135deg,#b437f2,#8a20e0)}.orange{background:linear-gradient(135deg,#ff991a,#ff7108)}.red{background:linear-gradient(135deg,#ff5e66,#ff373e)}.highlight h2{font-size:13px;margin:0 0 11px}.highlight .value{font-size:clamp(16px,1.7vw,25px);font-weight:700;letter-spacing:-.6px;margin-bottom:8px}.highlight .missing{font-size:16px;color:#70849a;font-weight:500;letter-spacing:0}.detail{color:#667f99;font-size:11px;line-height:1.6}.panels{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.panel{border:1px solid #dfe7ef;background:#fff;border-radius:12px;padding:21px;min-width:0}.panel h2{font-size:15px;margin:0 0 20px;letter-spacing:-.2px}.panel h3{font-size:14px}.panel.full{grid-column:1/-1}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:#7290a7;font-size:10px;margin-bottom:8px}.chart-empty{position:relative;min-height:230px;display:grid;place-items:center;padding:35px;text-align:center;color:#8193a6;font-size:12px;border-bottom:1px solid #dce6ed;background:repeating-linear-gradient(to top,transparent 0,transparent 56px,#edf2f6 57px,#edf2f6 58px);margin:5px 0 18px}.chart-empty>div{background:#ffffffed;padding:18px;border-radius:10px}.chart-empty svg{display:block;width:32px;height:32px;margin:0 auto 12px;color:#a8bacb}.chart-empty strong{display:block;color:#536f88;margin-bottom:8px;font-weight:500}.summary-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f3f6;font-size:12px}.summary-row:last-child{border:0}.summary-icon{background:#eef5fb;border-radius:9px;padding:9px;display:flex;color:#218cd3}.summary-icon svg{width:18px;height:18px}.summary-row .amount{margin-left:auto;font-weight:600;color:#8393a3;text-align:right}.muted{color:#70839a;font-size:12px;line-height:1.6}.legend{display:flex;gap:20px;justify-content:center;font-size:11px;color:#637c93;flex-wrap:wrap}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#228ff1;margin-right:7px}.dot.green-dot{background:#36bc78}.dot.yellow-dot{background:#f4c430}.dot.red-dot{background:#ff535a}.dot.purple-dot{background:#9d3aeb}.area-description{margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric{padding:22px;border:1px solid #dfe7ef;background:white;border-radius:10px}.metric span{display:block;color:#5e758b;font-size:12px;margin-bottom:14px}.metric strong{font-size:22px}.favorable{color:#13964b!important}.unfavorable{color:#dc4444!important}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:15px 12px;text-align:left;border-bottom:1px solid #e8eef3}th{color:#6a8198;font-size:11px;font-weight:500}td:last-child{text-align:right}.chart{width:100%;height:auto;overflow:visible}.chart text{fill:#627a92;font-size:11px}.chart line{stroke:#e5edf4}.chart .target{stroke:#ee9450;stroke-dasharray:5 4}.mobile-header{display:none}.scrim{display:none}.empty-content{text-align:center;padding:55px 20px;color:#73869b}.empty-content svg{height:38px;width:38px;margin-bottom:15px;color:#a1b3c4}.empty-content strong{display:block;font-size:16px;color:#435f79;margin-bottom:10px}.analysis-text{font-size:14px;line-height:1.7;white-space:pre-line}.status{display:inline-block;padding:6px 10px;background:#fff5dd;color:#8b691f;border-radius:6px;font-size:11px;margin-bottom:15px}textarea{display:block;width:100%;min-height:130px;padding:14px;border-radius:8px;border:1px solid #ccdae5;color:#1d3d58;line-height:1.7;margin:12px 0}.dialog-backdrop{position:fixed;inset:0;background:#04182677;z-index:70;display:grid;place-items:center;padding:20px}.dialog{background:white;border-radius:15px;padding:30px;max-width:430px;box-shadow:0 20px 90px #00192b44}.dialog h2{font-size:21px}.dialog p{line-height:1.6;color:#526d84}.dialog .actions{display:flex;gap:10px;flex-wrap:wrap}.footer{font-size:10px;color:#8b9db0;text-align:right;margin-top:25px}.is-hidden{display:none!important}@media(min-width:1550px){.highlight{min-height:218px;padding:23px}.highlights{gap:20px}}@media(max-width:1150px){.sidebar{width:215px}.workspace{margin-left:215px;padding:25px 22px}.highlights{gap:10px}.highlight{padding:15px 12px}.highlight h2{font-size:12px}.highlight .missing{font-size:14px}.account-name{display:none}}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0;padding:23px 20px}.mobile-header{height:66px;display:flex;align-items:center;justify-content:space-between;background:#071e2d;color:white;padding:0 18px}.mobile-header .brand{font-size:23px;margin:0}.mobile-header .pulse{width:28px;height:34px}.mobile-header button{border:0;background:none;color:white;padding:9px;display:flex}.mobile-header svg{height:22px;width:22px}.account{display:none}.scrim.visible{display:block;position:fixed;inset:0;background:#00182788;z-index:20}.highlights{grid-template-columns:repeat(5,1fr)}.highlight{min-height:190px}.panels{grid-template-columns:1.6fr 1fr}.topbar h1{font-size:26px}}@media(max-width:650px){.workspace{padding:23px 14px}.topbar{display:block;margin-bottom:19px}.topbar h1{font-size:25px}.subtitle{font-size:13px}.toolbar{gap:12px}.toolbar .period-select{width:100%}.update-meta{flex:1;min-width:150px}.highlights{grid-template-columns:1fr;gap:11px}.highlight{display:grid;grid-template-columns:47px 1fr;column-gap:16px;min-height:105px;padding:16px}.highlight .icon-box{grid-row:1/4;align-self:center;margin:0}.highlight h2{font-size:12px;margin:0 0 6px}.highlight .value{font-size:23px;margin:0 0 4px;letter-spacing:-.5px}.highlight .missing{font-size:18px;letter-spacing:0}.highlight .detail{font-size:11px}.highlight.red-card{background:#fffafa}.panels{grid-template-columns:1fr;gap:14px}.panel{padding:18px}.metrics{grid-template-columns:1fr}.metric{padding:17px}.metric span{margin-bottom:9px}.chart-empty{min-height:210px}.notice{font-size:12px;padding:13px}.footer{text-align:center}.period-select{font-size:13px}.table-scroll{margin:0 -6px}}
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#123f55,#041824);padding:24px}.login-card{width:100%;max-width:430px;background:white;padding:36px;border-radius:16px;box-shadow:0 20px 80px #0004}.login-brand{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:bold;color:#092c43;margin-bottom:30px}.login-card h1{font-size:24px;letter-spacing:-.5px}.login-card label{display:block;font-size:13px;margin:20px 0 8px}.login-card input{padding:12px;border:1px solid #c8d7e3;border-radius:7px;width:100%;font-size:16px;min-height:46px}.login-card input:focus{outline:2px solid #07a9b5;outline-offset:2px}.login-card .button{width:100%;margin-top:14px}.login-card [hidden]{display:none}

.cash-chart-scroll{overflow-x:auto;padding-bottom:12px}.cash-chart{min-width:1200px}.chart .bar-value{font-size:10px;fill:#34485e}.dot.availability-dot{background:#173e8f}

.diagnosis-block,.diagnosis-intro,.diagnosis-actions{margin-bottom:18px}.diagnosis-editor{min-height:230px;resize:vertical}.diagnosis-actions .actions{display:flex;gap:12px;flex-wrap:wrap}.preview-profile{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.preview-profile label{font-size:12px;color:#59708d}

.result-evolution{margin:4px 0 12px}.result-evolution .result-zero{stroke:#526d84;stroke-width:2}.result-evolution .result-axis{font-size:12px}.result-evolution .result-value{fill:#193c58;font-size:13px;font-weight:600}.result-evolution .result-month{font-size:15px}.result-evolution .result-month.is-selected{fill:#173e8f;font-weight:700}.result-bar{transition:filter .15s}.result-bar.is-selected{stroke:#173e8f;stroke-width:3;paint-order:stroke fill}.result-bar:hover,.result-bar:focus{filter:brightness(.94);stroke:#173e8f;stroke-width:3;outline:none}.result-chart-help{margin:0 0 12px}@media(max-width:650px){.result-evolution .result-value{font-size:14px}}

.cash-split-chart{min-width:780px}.cash-split-chart .cash-title{font-size:19px;font-weight:700;fill:#193c58}.cash-split-chart .cash-subtitle{font-size:13px;fill:#70839a}.cash-split-chart .cash-axis{font-size:12px}.cash-split-chart .cash-month{font-size:14px;fill:#344e68}.cash-projection-bg{fill:#edf2fa}.cash-split-chart .cash-projection-label{font-size:12px;font-weight:700;fill:#61728c}.cash-split-chart .cash-projection-divider{stroke:#8ca0bc;stroke-dasharray:5 5}.cash-split-chart .cash-availability-line{stroke:#173e8f;stroke-width:3}.cash-split-chart .cash-availability-line.is-projected{stroke-dasharray:7 5}.cash-point{stroke:#173e8f;stroke-width:2}.cash-split-chart .cash-zero{stroke:#526d84;stroke-width:1.7}.cash-point:focus,.cash-movement:focus,.cash-movement:hover{stroke:#173e8f;stroke-width:2;outline:none}.cash-interpretation .legend{margin-top:8px}.cash-values{margin-top:14px}

.chart-tooltip{position:fixed;z-index:1000;max-width:min(340px,calc(100vw - 24px));padding:12px 16px;border:1px solid #cbdbe8;border-radius:10px;background:#092636;color:#fff;font-size:13px;line-height:1.6;box-shadow:0 6px 24px #001b3540;pointer-events:none;white-space:pre-line}.chart-tooltip[hidden]{display:none}.chart [data-chart-tooltip]{cursor:help}


/* Responsive layout: phones, tablets, touch and safe areas. */
html{max-width:100%;scroll-padding-top:82px}body,#app,.workspace,.topbar>div,.panel,.metric,.highlight{min-width:0}img,video{max-width:100%}.panel,.notice,.metric,.analysis-text{overflow-wrap:anywhere}.sidebar{overflow-y:auto;overscroll-behavior:contain}.chart-scroll,.cash-chart-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.chart-scroll>.chart{display:block}.chart-touch-hint{display:none}.sidebar-close{display:none}.mobile-record-table td{overflow-wrap:anywhere}.preview-profile select{min-width:0;flex:1}.summary-row>span{min-width:0}.summary-row .amount{overflow-wrap:anywhere}.button{white-space:normal}.dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.login-body{min-height:100dvh}
@media(max-width:1100px) and (min-width:851px){.highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.highlight{min-height:180px}.panels{grid-template-columns:minmax(0,1fr)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){
 .mobile-header{position:sticky;top:0;z-index:40;padding-top:env(safe-area-inset-top);height:calc(66px + env(safe-area-inset-top))}.mobile-header button{min-width:44px;min-height:44px;justify-content:center;align-items:center}.sidebar{z-index:60;width:min(320px,88vw);height:100dvh;padding:calc(16px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));visibility:hidden}.sidebar.open{visibility:visible}.scrim.visible{z-index:50}.sidebar-close{display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:calc(12px + env(safe-area-inset-top));width:44px;height:44px;border:0;border-radius:8px;background:#ffffff14;color:white}.sidebar-close svg{width:22px;height:22px}.sidebar .brand{margin-right:48px;font-size:26px}.sidebar nav{padding-bottom:12px}.nav-item,.subnav .nav-item{min-height:44px}.sidebar-foot{flex-shrink:0}.workspace{width:100%;margin-left:0;padding:22px 20px calc(24px + env(safe-area-inset-bottom))}.panels{grid-template-columns:minmax(0,1fr)}.highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.highlights .highlight:last-child{grid-column:1/-1}.highlight{min-height:170px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics .metric:only-child{grid-column:1/-1}body.mobile-menu-open{overflow:hidden}.chart-touch-hint{display:block;font-size:12px;color:#59708d;margin:8px 0 12px}.chart-scroll>.chart{min-width:560px}.chart-scroll>.result-evolution{min-width:720px}.cash-split-chart{min-width:900px}.legend{justify-content:flex-start;gap:10px 16px;line-height:1.7}.legend>span{white-space:nowrap}.panel-head{flex-wrap:wrap}.dialog{width:100%;padding:24px}.dialog .actions .button{flex:1 1 100%}
}
@media(max-width:600px){
 .workspace{padding:20px 14px calc(24px + env(safe-area-inset-bottom))}.topbar h1{font-size:25px;line-height:1.2}.subtitle{font-size:14px}.preview-profile{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.preview-profile select{width:100%;max-width:100%}.toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.toolbar .period-select,.toolbar .button{width:100%}.update-meta{min-width:0;font-size:12px}.period-select,select,textarea,input{font-size:16px}.period-select{padding:12px;min-width:0}.notice{font-size:13px;line-height:1.6;padding:13px 14px;margin-bottom:18px}.notice strong{font-size:14px}.highlights{grid-template-columns:minmax(0,1fr);gap:12px}.highlights .highlight:last-child{grid-column:auto}.highlight{grid-template-columns:44px minmax(0,1fr);min-height:108px;padding:16px;column-gap:14px}.highlight .icon-box{width:44px;height:44px}.highlight .value{font-size:clamp(21px,6vw,26px);line-height:1.2;overflow-wrap:anywhere}.highlight h2{font-size:14px}.highlight .detail{font-size:12px}.highlight .missing{font-size:19px}.highlight:hover{transform:none}.panels{gap:14px}.panel{padding:17px 14px;border-radius:12px}.panel h2{font-size:16px;line-height:1.4;margin-bottom:16px}.panel h3{line-height:1.4}.metrics{grid-template-columns:minmax(0,1fr);gap:12px}.metric strong{font-size:25px;line-height:1.25;overflow-wrap:anywhere}.metric span{font-size:14px}.summary-row{font-size:13px;gap:9px;flex-wrap:wrap}.summary-row .summary-icon{flex-shrink:0}.summary-row .amount{margin-left:auto;font-size:14px}.diagnosis-editor{min-height:270px;line-height:1.65;padding:12px}.diagnosis-actions .actions{display:grid;grid-template-columns:minmax(0,1fr)}.diagnosis-actions .button{width:100%}.analysis-text{font-size:15px;line-height:1.75}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions .button{flex:1 1 auto}.muted{font-size:13px}.footer{line-height:1.6;text-align:center}.login-body{padding:16px}.login-card{padding:25px 20px}.login-card h1{font-size:23px}.login-brand{font-size:26px}.chart-tooltip{font-size:14px;max-width:calc(100vw - 24px)}
 .table-scroll{margin:0;max-width:100%}.mobile-record-table{display:block;width:100%;border-collapse:separate}.mobile-record-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mobile-record-table tbody{display:grid;gap:12px}.mobile-record-table tr{display:block;min-width:0;border:1px solid #dfe7ef;border-radius:10px;padding:4px 12px;background:#fff}.mobile-record-table td{display:grid;grid-template-columns:minmax(80px,.9fr) minmax(0,1.1fr);gap:12px;align-items:baseline;padding:12px 0;text-align:right;font-size:14px;line-height:1.5}.mobile-record-table td::before{content:attr(data-label);text-align:left;font-size:12px;color:#59708d}.mobile-record-table td:first-child{display:block;text-align:left;font-weight:600;color:#173e8f}.mobile-record-table td:first-child::before{display:none}.mobile-record-table td:last-child{border-bottom:0}
}
@media(max-width:360px){.workspace{padding-left:10px;padding-right:10px}.panel{padding:15px 12px}.highlight{padding:13px;column-gap:11px}.summary-row .amount{flex-basis:100%;padding-left:45px;text-align:left}.mobile-record-table td{grid-template-columns:minmax(65px,.8fr) minmax(0,1.2fr);gap:8px}}
@media(pointer:coarse){button,.button,.period-select{min-height:44px}.cash-point{stroke-width:10;stroke:#173e8f22}.cash-movement{stroke:transparent;stroke-width:7;pointer-events:all}.chart [data-chart-tooltip]{cursor:pointer}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Keep sidebar scrolling available without a visible scrollbar. */
.sidebar{scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar{display:none;width:0;height:0}

.login-text-button{padding:10px 0;min-height:44px;border:0;background:none;color:#096baa;text-decoration:underline;text-align:left;font:inherit;cursor:pointer}.account-security{width:100%;font-size:12px;margin-bottom:10px}.recovery-codes{padding:0;list-style:none;display:grid;gap:9px}.recovery-codes li{padding:10px;background:#eef4f8;border-radius:6px;font-family:monospace;font-size:14px;overflow-wrap:anywhere}#recovery-result{margin-top:22px}

.sidebar-foot [data-install-pwa]{width:100%;font-size:12px;margin-bottom:10px}.pwa-toolbar-button{margin-left:auto;order:3}.pwa-dialog{width:min(100%,470px)}.pwa-dialog>img{border-radius:14px}.pwa-dialog #pwa-platform-help{padding:13px;background:#eef6fb;border-radius:8px;color:#214761}.pwa-dialog [hidden]{display:none}@media(max-width:600px){.pwa-toolbar-button{order:0;margin-left:0}}
