:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#24372f;background:#f7f8f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--dark:#193e32;--primary:#265a49;--green:#386c58;--line:#e6eae5;--muted:#869289;--bg:#f7f8f5;--lime:#e4edc9;--amber:#f5c87f;--radius:21px;--shadow:0 8px 32px rgba(25,62,50,.035)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #97c9ad;outline-offset:2px}.symbols{position:absolute;width:0;height:0;overflow:hidden}.ico{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ico-lg{width:25px;height:25px}.hidden{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;align-self:flex-start;width:263px;min-width:263px;height:100vh;background:#fff;border-right:1px solid var(--line);padding:31px 18px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;margin:0 5px 54px}.brand-icon{width:42px;height:42px;background:var(--dark);color:#e4f0c6;border-radius:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 12px #193e3224}.brand-icon .ico{height:23px;width:23px;fill:#e3ecc7;stroke:#e3ecc7}.brand strong{font-size:17px;letter-spacing:-.6px;color:#1f4234;display:block}.brand small{display:block;color:#919c94;font-size:11px;margin-top:3px;letter-spacing:.15px}.brand-mark{color:#b6ce72}.sidebar-heading{font-size:10px;color:#a8b2a9;letter-spacing:1.7px;font-weight:800;padding:0 17px;margin:0 0 19px}.desktop-nav{display:grid;gap:9px}.nav-item{width:100%;background:transparent;border:0;color:#7d8e83;border-radius:11px;display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600;text-align:left;padding:14px 16px;transition:background .2s,color .2s}.nav-item.active,.nav-item:hover{background:#ebf2ed;color:#245a44}.nav-item.active .ico{stroke-width:2.5}.sidebar-bottom{margin-top:auto;background:#eef4e9;border-radius:17px;padding:19px 18px 20px;color:#325443}.tip-icon{width:37px;height:37px;border-radius:12px;background:#d9e9cb;display:flex;align-items:center;justify-content:center;margin-bottom:15px}.sidebar-bottom strong{display:block;font-size:13px}.sidebar-bottom p{font-size:12px;color:#758b79;line-height:1.6;margin:8px 0 15px}.tip-tag{font-size:10px;font-weight:800;letter-spacing:.4px;color:#56775d}.sidebar-foot{font-size:10px;color:#b1b9b1;text-align:center;margin-top:25px}.main{min-width:0;flex:1}.topbar{height:74px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.82);display:flex;justify-content:space-between;align-items:center;padding:0 48px}.topbar-label{font-size:10px;font-weight:800;letter-spacing:1.7px;color:#8c9c90;display:flex;align-items:center;gap:10px}.topbar-bullet{height:7px;width:7px;border-radius:50%;background:#8eac73}.topbar-right{display:flex;align-items:center;gap:20px}.connection-tag{font-size:11px;color:#71927d;background:#eef6ef;border:1px solid #e4f1e6;border-radius:30px;padding:9px 13px}.user-circle{font-size:11px;font-weight:800;color:#476c58;border-radius:50%;background:#dfeadb;display:grid;place-items:center;width:32px;height:32px}.content{max-width:1380px;margin:auto;padding:45px 46px 70px}.view{display:none}.view.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:800;color:#8da392}.page-heading h1{font-size:35px;letter-spacing:-1.8px;line-height:1.2;margin:8px 0;color:#253c31;font-weight:800}.wave{color:#c8d39b;font-size:26px;vertical-align:8px}.page-heading p{margin:3px 0 0;color:#98a49b;font-size:13px}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:11px 17px;border-radius:10px;font-weight:700;font-size:12px;border:1px solid transparent;transition:background .2s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.985)}.btn-primary{background:var(--dark);color:white;box-shadow:0 6px 16px #193e3226}.btn-primary:hover{background:#2b634f}.btn-outline{background:white;border-color:#e1e8df;color:#4c6556}.btn-outline:hover{background:#f2f7f2}.btn-ghost{color:#386755;background:transparent}.btn-danger{color:#a6453f;border:1px solid #f1d7d3;background:#fff}.btn-small{min-height:34px;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,1fr);gap:19px}.balance-card{position:relative;overflow:hidden;min-height:307px;padding:32px 34px;color:white;background:linear-gradient(117deg,#1a4939,#275e49 63%,#356f54);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 15px 32px #163a2e20}.balance-glow{position:absolute;pointer-events:none;width:340px;height:340px;border:54px solid #ffffff09;border-radius:50%;right:-123px;top:-130px}.balance-card:after{content:"";position:absolute;pointer-events:none;width:190px;height:190px;border:42px solid #ffffff08;border-radius:50%;right:-40px;bottom:-145px}.card-topline{display:flex;align-items:center;justify-content:space-between;color:#c4dec9;font-size:10px;letter-spacing:1.3px;font-weight:800;position:relative}.card-topline>span{display:flex;align-items:center;gap:10px}.round-pulse{height:8px;width:8px;border:2px solid #b9daa9;border-radius:50%}.balance-amount{display:flex;align-items:baseline;gap:12px;margin:30px 0 3px;position:relative}.balance-amount strong{font-size:68px;letter-spacing:-3px;line-height:1.12;font-weight:760;font-variant-numeric:tabular-nums}.balance-amount span{font-size:18px;color:#d0e0d0;font-weight:600}.balance-sub{font-size:12px;color:#c5d9c8;margin:4px 0 0}.balance-rule{height:1px;background:#ffffff33;margin:auto 0 18px}.balance-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#c7ddcb;font-size:11px}.balance-bottom>span:first-child{display:flex;align-items:center;gap:7px}.balance-bottom .ico{height:15px;width:15px}.confidence-chip{background:#ffffff23;padding:8px 10px;border-radius:30px;color:#edf7ed;white-space:nowrap}.metrics-col{display:grid;grid-template-rows:1fr 1fr;gap:18px}.metric-card{border:1px solid var(--line);border-radius:18px;background:white;padding:24px 26px;box-shadow:var(--shadow);min-height:143px}.metric-head{color:#7d8e81;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:space-between}.metric-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center}.metric-icon.mint{background:#eff5ea;color:#4a875e}.metric-icon.sun{background:#fff4e3;color:#d69b51}.metric-number{margin-top:6px;display:flex;align-items:baseline;gap:9px}.metric-number strong{font-size:36px;letter-spacing:-1.3px;font-weight:800;color:#244737;font-variant-numeric:tabular-nums}.metric-number span{color:#98a69d;font-size:11px}.metric-footer{font-size:11px;color:#9ba89e;margin-top:5px}.alerts{display:grid;gap:10px;margin:17px 0}.alerts:empty{display:none}.banner{margin:0 0 18px;border-radius:13px;background:#eef5e9;color:#58785b;padding:13px 16px;display:flex;gap:9px;align-items:center;font-size:12px;line-height:1.5;border:1px solid #e3edda}.banner.warning{background:#fff6e5;color:#94622f;border-color:#f5e6c6}.banner.danger{background:#fff0e9;color:#a2543c;border-color:#f4dbcf}.banner.demo{background:#eaf2fa;border-color:#d6e6f6;color:#456a91}.banner .ico{width:17px;height:17px}.text-button{margin-left:auto;border:0;background:transparent;color:#2c6995;font-weight:800;text-decoration:underline;white-space:nowrap}.section-grid{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);gap:19px;margin-top:20px}.panel{border-radius:18px;background:white;border:1px solid var(--line);padding:24px 26px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:21px}.panel h2,.onboard h2{font-size:15px;font-weight:800;letter-spacing:-.3px;margin:0;color:#314c3b}.panel-heading p,.panel>p{font-size:11px;color:#9cac9e;margin:6px 0 0;line-height:1.6}.inline-link{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:4px 0;background:transparent;color:#4d8064;border:0;font-size:11px;font-weight:800}.inline-link .ico{height:14px;width:14px}.bar-chart{height:153px;display:flex;align-items:end;gap:7px;border-bottom:1px solid #e9eee9;padding:0 4px 0 0;position:relative}.bar-col{height:100%;min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px}.bar-shape{width:100%;max-width:33px;min-height:3px;border-radius:5px 5px 0 0;background:#a2c5ae}.bar-shape.incomplete{background:repeating-linear-gradient(45deg,#d7e2d9,#d7e2d9 3px,#e9efea 3px,#e9efea 6px)}.bar-label{font-size:9px;color:#9cab9d;white-space:nowrap;height:12px;margin-bottom:-20px}.bar-legend{font-size:10px;color:#9ba99d;display:flex;align-items:center;gap:7px;margin-top:30px}.legend-dot{height:8px;width:8px;background:#a2c5ae;border-radius:2px}.activity-list{display:grid}.activity-item{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #f0f2ee}.activity-item:last-child{border-bottom:0}.activity-icon{border-radius:12px;display:grid;place-items:center;width:37px;height:37px;background:#e8f2e9;color:#4d8a65}.activity-icon.topup{background:#fff3e0;color:#bf8e48}.activity-icon .ico{width:17px;height:17px}.activity-detail{min-width:0;flex:1}.activity-detail strong{display:block;color:#425d4a;font-size:12px}.activity-detail small{display:block;font-size:10px;color:#a5afa5;margin-top:4px}.activity-value{font-size:12px;font-weight:800;color:#2f644b;white-space:nowrap}.activity-value.topup{color:#bf8843}.disclaimer{display:flex;gap:10px;align-items:start;margin-top:23px;color:#94a195;font-size:10.5px;line-height:1.7}.disclaimer .ico{width:17px;height:17px;flex-shrink:0;margin-top:1px}.disclaimer strong{color:#748376}.onboard{display:flex;gap:25px;padding:29px;margin-bottom:20px;background:#eaf2ea;border:1px solid #dcebdc;border-radius:18px}.onboard-icon{background:#d5e8cd;color:#37664b;border-radius:18px;width:65px;height:65px;display:grid;place-items:center;flex-shrink:0}.onboard-icon .ico{width:29px;height:29px}.onboard h2{font-size:23px;margin-top:5px}.onboard p{font-size:13px;line-height:1.65;color:#6b866f;max-width:500px}.onboard-actions{display:flex;gap:7px;flex-wrap:wrap}.empty-small{background:#f8faf6;border-radius:12px;padding:27px 15px;text-align:center;font-size:12px;color:#97a79b}.forecast-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:18px}.forecast-mini{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 22px;display:grid;gap:7px}.forecast-mini span{color:#97a499;font-size:11px}.forecast-mini strong{font-size:22px;color:#2e5542;font-weight:800;letter-spacing:-.4px}.big-panel{padding:25px 29px}.pred-tag{border-radius:30px;color:#648468;background:#eef6ec;padding:8px 10px;font-size:9px;font-weight:800;letter-spacing:1px}.chart-scroll{overflow-x:auto;max-width:100%}.line-chart{width:100%;min-width:460px;min-height:275px;display:grid;place-items:center}.line-chart svg{width:100%;height:auto;max-height:302px}.chart-footnote{color:#a2aaa2!important}.forecast-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:18px}.forecast-bottom .panel{min-height:240px}.formula{background:#f0f5ee;border:1px solid #e3ece0;padding:15px 17px;border-radius:12px;display:grid;gap:6px;margin-bottom:15px}.formula span{font-size:11px;color:#7f9583}.formula strong{color:#36614b;font-size:12px;line-height:1.6}.method-description,.quality-details{color:#809384;font-size:12px;line-height:1.8}.quality-point{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #eef1ed}.quality-point:last-child{border-bottom:0}.quality-point strong{font-size:12px;color:#47614d;text-align:right}.select-wrap{display:flex;align-items:center;gap:9px;font-size:12px;color:#829383}.select-wrap select{border:1px solid var(--line);border-radius:9px;background:white;color:#44644e;padding:10px 12px}.full-panel{padding:0}.history-tools{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.tab-row{display:flex;align-items:center;gap:5px}.filter{border:0;background:transparent;padding:9px 12px;font-size:12px;color:#93a294;font-weight:700;border-radius:9px}.filter.active{background:#e8f1e8;color:#3c7450}.small-muted{color:#a5b2a4;font-size:11px}.table-scroll{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.history-table th{background:#fbfcfa;color:#a8b3a8;font-size:10px;letter-spacing:.6px;text-transform:uppercase;font-weight:800;padding:15px 24px}.history-table td{padding:15px 24px;color:#718474;border-top:1px solid #f0f2ef;font-size:12px}.history-table .align-right{text-align:right}.history-table td strong{color:#466b52}.type-pill{font-size:10px;display:inline-flex;gap:6px;align-items:center;padding:7px 9px;border-radius:7px;color:#508767;background:#edf5ee;font-weight:800}.type-pill.topup{background:#fff5e6;color:#af8453}.row-action{border:0;background:transparent;font-size:11px;font-weight:750;color:#65806e;padding:5px 7px}.row-action.delete{color:#be7771}.settings-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:20px}.settings-panel{padding:27px 29px}.settings-panel>p{margin:8px 0 21px}.settings-panel form{display:grid;gap:9px}.settings-panel label,dialog label{font-size:12px;color:#5f7867;font-weight:750;margin:8px 0 0}.field-unit{display:flex;align-items:center;border:1px solid #dee6dd;border-radius:11px;background:#fff;padding:0 13px}.field-unit:focus-within{outline:2px solid #a8ccb5}.field-unit input{border:0;outline:0!important;padding:14px 0;width:100%;min-width:0;color:#305240;background:transparent}.field-unit span{color:#9fac9e;font-size:12px;white-space:nowrap}.save-settings{margin-top:15px;justify-self:start}.setting-action{display:flex;align-items:center;justify-content:space-between;gap:13px;border-top:1px solid #edf1ed;padding:16px 0}.setting-action strong{font-size:12px;font-weight:750;color:#3b6046}.setting-action small{display:block;font-size:10px;color:#9aa99c;line-height:1.7;margin-top:4px}.install-info{background:#eef4ec;border:1px solid #dfebdc;border-radius:17px;padding:24px 27px;margin-top:22px;display:flex;align-items:start;gap:18px}.install-badge{background:#dbead6;color:#4f8061;width:45px;height:45px;flex-shrink:0;border-radius:14px;display:grid;place-items:center}.install-info h3{font-size:14px;color:#385b46;margin:1px 0 7px}.install-info p{font-size:12px;color:#7d9180;margin:0;line-height:1.8}.privacy-note{margin-top:21px;font-size:10.5px;color:#9ba99c;line-height:1.7}.bottom-nav{display:none}dialog{border:1px solid #e3ebe0;border-radius:19px;padding:0;box-shadow:0 35px 90px #10302540;width:min(440px,calc(100vw - 28px));max-height:90dvh;overflow:auto;color:#284536}dialog::backdrop{background:#182b24aa;backdrop-filter:blur(3px)}dialog form{padding:29px;display:grid;gap:11px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:14px}.dialog-heading h2{font-size:23px;letter-spacing:-.7px;margin:8px 0 0}.dialog-description{font-size:12px;color:#8b9d8d;line-height:1.7;margin:0 0 7px}.icon-button{border:0;background:#f2f6f1;color:#62806e;padding:9px;border-radius:9px;display:grid;place-items:center}.icon-button .ico{width:16px;height:16px}dialog input[type=datetime-local]{width:100%;border-radius:10px;border:1px solid #dde6dd;padding:13px;color:#375342;background:white}dialog .field-unit{margin-bottom:0}.entry-help{font-size:11px;color:#9aa89c;line-height:1.6;margin:0}.dialog-actions{display:flex;justify-content:end;gap:8px;margin-top:12px}.toast{position:fixed;bottom:27px;right:25px;background:#1d4535;color:white;padding:12px 18px;border-radius:11px;box-shadow:0 10px 30px #13291c38;font-size:12px;transform:translateY(80px);opacity:0;transition:all .3s;z-index:50;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}@media(max-width:1170px){.sidebar{width:215px;min-width:215px}.topbar{padding:0 27px}.content{padding:37px 26px 65px}.dashboard-grid{grid-template-columns:1.3fr 1fr}.balance-card{padding:26px}.balance-amount strong{font-size:57px}.panel{padding:21px}.section-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.sidebar{width:74px;min-width:74px;padding:25px 13px}.brand{margin:0 0 48px;justify-content:center}.brand>span:last-child,.sidebar-heading,.sidebar-bottom,.sidebar-foot{display:none}.nav-item{font-size:0;justify-content:center;padding:15px}.nav-item .ico{width:20px;height:20px}.content{padding:32px 24px}.topbar{height:65px}.dashboard-grid{grid-template-columns:1.15fr 1fr}.section-grid{grid-template-columns:1fr}.balance-amount strong{font-size:52px}.metric-card{padding:17px}.metric-number strong{font-size:29px}.metric-number span{font-size:10px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:640px){.sidebar{display:none}.topbar{height:56px;padding:0 20px}.topbar-right{gap:9px}.connection-tag{font-size:9px;padding:7px 9px}.user-circle{width:27px;height:27px;font-size:9px}.content{padding:28px 17px calc(95px + env(safe-area-inset-bottom,0px))}.page-heading{display:block;margin-bottom:23px}.page-heading h1{font-size:31px}.page-heading p{font-size:12px}.heading-actions{margin-top:17px;gap:8px}.heading-actions .btn{flex:1}.dashboard-grid,.section-grid,.forecast-bottom{display:grid;grid-template-columns:1fr;gap:14px}.balance-card{min-height:274px;padding:26px}.balance-amount{margin:23px 0 2px}.balance-amount strong{font-size:65px}.metrics-col{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px}.metric-card{min-height:141px;padding:16px 13px}.metric-head{font-size:10px;gap:3px}.metric-icon{height:28px;width:28px;border-radius:9px}.metric-icon .ico{height:15px;width:15px}.metric-number{display:block;margin-top:12px}.metric-number strong{font-size:29px}.metric-number span{font-size:10px;display:block;margin-top:3px}.metric-footer{font-size:9px;line-height:1.5;margin-top:11px}.section-grid{margin-top:16px}.panel{padding:20px 18px}.panel h2{font-size:14px}.panel-heading p{font-size:10px}.bar-chart{height:130px}.activity-item{padding:9px 0}.forecast-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.forecast-mini{padding:15px}.forecast-mini:last-child{grid-column:1/-1}.forecast-mini strong{font-size:20px}.full-panel{padding:0}.history-tools{padding:16px 12px}.filter{padding:8px 9px;font-size:11px}.history-table th{padding:13px 16px}.history-table td{padding:14px 16px}.settings-panel{padding:23px 19px}.onboard{padding:22px;display:block}.onboard-icon{margin-bottom:16px}.onboard h2{font-size:20px}.onboard p{font-size:12px}.onboard-actions .btn{width:100%}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;align-items:stretch;background:#fff;border-top:1px solid #e3eae2;box-shadow:0 -5px 20px #173d2c0a;padding:9px 10px calc(7px + env(safe-area-inset-bottom,0px));height:calc(72px + env(safe-area-inset-bottom,0px))}.mobile-item{display:grid;place-content:center;justify-items:center;gap:5px;border:0;background:none;color:#96a597;min-width:67px;font-size:10px;font-weight:700}.mobile-item.active{color:#2e6b4a}.mobile-item .ico{height:21px;width:21px}.toast{left:15px;right:15px;bottom:calc(87px + env(safe-area-inset-bottom,0px));text-align:center}.install-info{padding:20px;gap:11px}.install-badge{width:37px;height:37px}.balance-bottom{font-size:10px}.connection-tag{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Module dépenses – version 1.1 */
.money-highlight{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin:18px 0 20px;background:linear-gradient(115deg,#f0f6e8,#f8f8ee);border:1px solid #dce9d6;border-radius:18px;padding:25px 29px;color:#2d4f38}.money-overline{font-weight:800;letter-spacing:1.3px;font-size:10px;color:#698776}.money-hero{display:flex;align-items:baseline;gap:10px;margin:9px 0}.money-hero strong{font-size:39px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.money-hero span{font-size:13px;font-weight:800}.money-highlight p{margin:0;font-size:11px;line-height:1.6;color:#859883}.money-highlight-right{border-left:1px solid #d7e4d3;padding-left:24px;display:grid;gap:12px}.money-highlight-right>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.money-highlight-right>div span{font-size:11px;color:#829787}.money-highlight-right>div strong{font-size:14px;text-align:right}.money-highlight-right .inline-link{justify-self:start}.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 18px}.finance-kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;min-width:0}.finance-kpi.important{background:var(--dark);color:#fff;border-color:var(--dark)}.finance-kpi>span{font-size:11px;color:#8c9e91}.finance-kpi.important>span{color:#c9decf}.finance-kpi>div{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:12px}.finance-kpi strong{font-size:26px;font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#26503b}.finance-kpi.important strong{color:white}.finance-kpi small{font-size:10px;font-weight:800;color:#94a697}.finance-kpi.important small{color:#d6e9d2}.finance-kpi p{font-size:10px;color:#a2aca3;margin:9px 0 0;line-height:1.5}.finance-kpi.important p{color:#c9daca}.money-panels{display:grid;grid-template-columns:1.14fr 1fr;gap:17px;margin-bottom:18px}.money-chart{min-height:214px;display:flex;align-items:end;gap:12px;padding:15px 2px 8px;border-bottom:1px solid #e8eee8}.money-chart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:end}.money-chart-value{font-size:10px;color:#3d7154;font-weight:800;text-align:center;white-space:nowrap}.money-chart-bar{width:100%;max-width:47px;border-radius:9px 9px 0 0;min-height:4px;background:linear-gradient(#93bba0,#b6d0b2)}.money-chart-label{font-size:11px;color:#829a89;font-weight:700}.money-small-note{font-size:10px!important;line-height:1.65;color:#9aab9b;margin:14px 0!important}.budget-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0;font-size:11px;color:#819387}.budget-row strong{color:#346349;font-size:12px;text-align:right}.budget-row.muted strong{color:#66836c}.budget-track{height:10px;border-radius:99px;overflow:hidden;background:#e9f0e8;margin:9px 0}.budget-track div{width:0;height:100%;border-radius:99px;background:#7fb494;transition:width .3s}.budget-track.over div{background:#d69269}.budget-divider{height:1px;background:#edf1ed;margin:12px 0}.money-list-panel{padding:24px 0}.money-list-panel .panel-heading{padding:0 24px}.entry-money{display:grid;gap:8px;padding:14px 0 0;border-top:1px solid #e8efe8}.entry-money label{margin:0}.history-table td .unknown{color:#aa9e87;font-style:italic}.finance-kpi .unknown-money{font-size:17px!important}
@media(max-width:1170px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.money-panels{grid-template-columns:1fr}.money-chart{min-height:190px}}
@media(max-width:640px){.money-highlight{grid-template-columns:1fr;gap:13px;padding:21px}.money-highlight-right{border-left:0;border-top:1px solid #d7e4d3;padding:14px 0 0}.money-hero strong{font-size:34px}.finance-kpis{gap:10px}.finance-kpi{padding:17px 14px}.finance-kpi strong{font-size:22px}.money-chart{gap:7px}.money-chart-value{font-size:9px}.money-list-panel{padding:17px 0}.money-list-panel .panel-heading{padding:0 17px}.mobile-item{min-width:0;flex:1;font-size:9px}.mobile-item .ico{height:20px;width:20px}}

/* Version 1.2 — bilan mensuel énergétique et financier */
.monthly-report{margin:20px 0 21px}.report-heading{align-items:center;flex-wrap:wrap}.report-heading h2{margin-top:7px;font-size:20px}.report-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.report-period{display:flex;flex-direction:column;gap:5px;color:#7c8b80;font-size:11px;font-weight:700}.report-period input{height:38px;max-width:175px;border:1px solid #dce7dd;border-radius:10px;padding:7px 10px;background:#fff;color:#315742;min-width:140px}.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-metric{border-radius:14px;border:1px solid #e6ebe5;background:#f8faf7;padding:18px 15px;min-width:0}.report-metric>span{font-size:11px;color:#718879;display:block;margin-bottom:11px}.report-metric strong{font-size:22px;color:#234638;display:block;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.65px}.report-metric small{font-size:10.5px;color:#809284;display:block;line-height:1.4;margin-top:8px}.report-metric small.positive{color:#b0754b}.report-metric small.negative{color:#388463}.monthly-bottom{display:grid;grid-template-columns:1fr 1.25fr;gap:19px;margin-top:18px}.report-summary,.report-monthly-table{border:1px solid #e8ede6;border-radius:14px;padding:20px;min-width:0}.report-summary{background:linear-gradient(145deg,#f3f8f1,#fff)}.report-summary h3,.report-monthly-table h3{font-size:14px;margin:0 0 12px;color:#2c513b}.report-summary>p{font-size:12px;line-height:1.65;color:#5f7465;margin:7px 0 17px}.report-detail{display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-top:1px solid #e5ebe2;padding:12px 0;font-size:11px;color:#7a8d7d}.report-detail strong{font-size:12px;color:#28563d;text-align:right}.report-summary p.report-explainer{font-size:10px;color:#9caa9a;margin:10px 0 0}.report-monthly-table .history-table{font-size:11px}.report-monthly-table .history-table th,.report-monthly-table .history-table td{padding:12px 10px;white-space:nowrap}.report-monthly-table .history-table td strong{font-size:11px}.report-monthly-table .table-scroll{overflow:auto}.report-monthly-table tbody tr:last-child{background:#f3f8f1}.report-monthly-table td.incomplete{color:#a27643}.report-monthly-table td.missing{color:#9aa49b}.monthly-report .money-small-note{margin:17px 0 0}
@media(max-width:1100px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-bottom{grid-template-columns:1fr}}@media(max-width:600px){.monthly-report{padding:20px 17px}.report-controls{width:100%;justify-content:space-between}.report-period{width:100%}.report-period input{max-width:none;width:100%}.report-controls .btn{flex:1}.report-metrics{gap:9px}.report-metric{padding:15px 10px}.report-metric strong{font-size:18px}.report-metric small{font-size:10px}.report-summary,.report-monthly-table{padding:15px 12px}.report-monthly-table .history-table{font-size:10px}}

/* V2 — Scénarios, indicateurs de qualité et alertes de recharge */
.scenario-panel {margin-top:18px; margin-bottom:18px}
.scenario-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.scenario-card{background:#f5f8f4;border:1px solid #e5ebe4;border-radius:17px;padding:18px;min-width:0}
.scenario-card.typical{background:#e8f2e9;border-color:#b5d1bd}
.scenario-card h3{margin:0 0 5px;color:#203d30;font-size:15px}
.scenario-card .scenario-hint{color:#718579;font-size:12px;display:block}
.scenario-card .scenario-days{font-weight:750;letter-spacing:-.05em;color:#183f31;font-size:31px;display:block;margin-top:13px}
.scenario-card .scenario-days small{font-weight:400;letter-spacing:0;font-size:13px}
.scenario-card .scenario-date{font-size:12px;color:#617568;display:block;margin-top:7px}
.scenario-card .scenario-rate{font-size:13px;color:#365b45;margin-top:11px;display:block}
.scenario-quality{display:grid;grid-template-columns:1fr 170px;gap:12px;align-items:center;margin-top:17px;border-top:1px solid #e5ebe4;padding-top:17px}
.scenario-quality strong{font-size:14px;color:#1f4735}.scenario-quality>div:first-child span{display:block;font-size:12px;color:#6f8275;margin-top:5px}
.scenario-quality p{grid-column:1/-1;margin:0;font-size:13px;color:#708176}
.quality-meter{background:#e5eae5;height:9px;border-radius:10px;overflow:hidden}
.quality-meter>span{height:100%;width:0;display:block;background:#4b9171;border-radius:10px;transition:width .2s}
.scenario-disclaimer{font-size:12px!important;color:#728477;margin:16px 0 0!important}
.notice-next-recharge{background:#fff9e8;border:1px solid #efdcaf;color:#6d5425;padding:13px 18px;border-radius:13px;font-size:14px;margin:14px 0}
[hidden]{display:none!important}
@media(max-width:700px){.scenario-cards{grid-template-columns:1fr}.scenario-card{padding:15px}.scenario-card .scenario-days{font-size:27px}.scenario-quality{grid-template-columns:1fr}.scenario-quality p{grid-column:auto}}
