/* MON BUDGET — V108 CLEAN
   Consolidated stylesheet; original cascade order preserved.
   Storage/data behavior is unaffected by this file split. */

:root{
 --bg:#f6f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;
 --dark:#111827;--soft:#f3f4f6;--ok:#166534;--warn:#92400e;--bad:#b91c1c;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}.app{max-width:640px;margin:auto;min-height:100vh;padding:calc(env(safe-area-inset-top) + 14px) 14px calc(env(safe-area-inset-bottom) + 98px)}
header{display:flex;justify-content:space-between;align-items:center;margin:4px 2px 16px}h1{font-size:29px;letter-spacing:-.8px;margin:0}.sub{font-size:13px;color:var(--muted);margin-top:4px}
.icon-btn{border:0;background:#fff;width:44px;height:44px;border-radius:14px;box-shadow:0 1px 8px rgba(0,0,0,.06)}
.card{background:#fff;border-radius:22px;padding:16px;margin-bottom:14px;box-shadow:0 1px 8px rgba(0,0,0,.05)}
.hero{background:linear-gradient(135deg,#111827,#374151);color:#fff;padding:20px;border-radius:26px;margin-bottom:14px;box-shadow:0 10px 26px rgba(17,24,39,.18)}
.label{font-size:12px;color:var(--muted)}.hero .label{color:#fff;opacity:.72}.big{font-size:34px;font-weight:800;margin:5px 0 14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini{background:rgba(255,255,255,.1);padding:10px;border-radius:14px}.mini .k{font-size:10px;opacity:.72}.mini .v{font-size:14px;font-weight:800;margin-top:3px}
.tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}.tab{border:0;background:#fff;padding:10px 3px;border-radius:13px;font-size:11px;font-weight:800}.tab.active{background:#111827;color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.section-head h2{font-size:18px;margin:0}.muted{font-size:12px;color:var(--muted)}
.progress{height:10px;background:#eceff3;border-radius:999px;overflow:hidden}.bar{height:100%;background:#111827;border-radius:999px}.bar.bad{background:#991b1b}.bar.ok{background:#166534}.bar.warn{background:#92400e}
.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px}
.statrow{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.statrow:last-child{border-bottom:0}.statrow b{font-size:14px}.delta.up{color:var(--bad)}.delta.down{color:var(--ok)}.delta.flat{color:var(--muted)}
.advice{padding:12px;border-radius:15px;margin:8px 0;font-size:13px;line-height:1.4}.advice.ok{background:#ecfdf5;color:var(--ok)}.advice.warn{background:#fffbeb;color:var(--warn)}.advice.bad{background:#fef2f2;color:var(--bad)}.advice.neutral{background:#f3f4f6;color:#374151}
.account-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.switchbtn{border:0;background:var(--soft);border-radius:14px;padding:11px;font-weight:800}.switchbtn.active{background:#111827;color:#fff}
.expense{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.expense:last-child{border-bottom:0}.emoji{width:40px;height:40px;border-radius:13px;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:19px}.ename{font-weight:800;font-size:14px}.emeta{font-size:11px;color:var(--muted);margin-top:3px}.price{font-weight:800;font-size:14px}.incomePrice{color:var(--ok)}
.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.navbtn{border:0;background:var(--soft);width:38px;height:38px;border-radius:12px;font-size:18px}.month-title{font-weight:800}.today{border:0;background:var(--soft);border-radius:12px;padding:9px 12px;font-weight:700;font-size:12px}
.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays div{text-align:center;color:var(--muted);font-size:10px;padding:4px 0}.day{min-height:50px;border:1px solid transparent;border-radius:13px;background:#fafafa;padding:6px 2px;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.day.empty{background:transparent}.day.selected{border-color:#111827;background:#eef2ff}.day.today .n{background:#111827;color:#fff;width:22px;height:22px;line-height:22px;border-radius:99px;margin:auto}.day .n{font-size:12px;font-weight:700}.day .sum{font-size:8px;color:var(--muted)}
.field{margin:11px 0}.field label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff;font-size:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.primary,.secondary{width:100%;border:0;border-radius:15px;padding:14px;font-weight:800;margin-top:9px}.primary{background:#111827;color:#fff}.secondary{background:var(--soft)}
.smallbtn{border:0;background:var(--soft);border-radius:11px;padding:8px 10px;font-size:12px;font-weight:700}
.fab{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 18px);width:64px;height:64px;border:0;border-radius:22px;background:#111827;color:#fff;font-size:32px;box-shadow:0 10px 30px rgba(17,24,39,.28);z-index:10}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:flex-end;justify-content:center;z-index:20}.modal.open{display:flex}.sheet{width:100%;max-width:640px;background:#fff;border-radius:28px 28px 0 0;padding:18px 16px calc(env(safe-area-inset-bottom) + 20px);max-height:92vh;overflow:auto}.handle{width:44px;height:5px;background:#d1d5db;border-radius:99px;margin:0 auto 16px}.sheet h3{font-size:21px;margin:0 0 14px}
.empty{text-align:center;color:var(--muted);font-size:13px;padding:18px 4px}.hidden{display:none}.negative{color:#fecaca}.warningbox{background:#fef2f2;color:#991b1b;border-radius:16px;padding:13px;margin-top:10px;font-size:13px;line-height:1.35}
.catline{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.catline:last-child{border-bottom:0}

.chart-wrap{display:grid;grid-template-columns:1fr;gap:14px}
.donut-area{display:flex;flex-direction:column;align-items:center;gap:12px}
.donut{width:220px;height:220px;border-radius:50%;position:relative;background:conic-gradient(#d1d5db 0 100%)}
.donut::after{content:"";position:absolute;inset:42px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #f3f4f6}
.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;pointer-events:none}
.donut-center .dc-label{font-size:11px;color:var(--muted)}
.donut-center .dc-value{font-size:22px;font-weight:800;margin-top:3px}
.legend{width:100%}
.legend-row{display:grid;grid-template-columns:12px 1fr auto;gap:9px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}
.legend-row:last-child{border-bottom:0}
.legend-dot{width:10px;height:10px;border-radius:50%}
.legend-name{font-size:13px;font-weight:700}
.legend-val{font-size:12px;color:var(--muted);text-align:right}
.flowbar{height:18px;border-radius:999px;background:#eef0f3;overflow:hidden;display:flex;margin:10px 0 8px}
.flow-in{height:100%}.flow-out{height:100%}
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.kpi{background:var(--soft);border-radius:14px;padding:10px}
.kpi .k{font-size:10px;color:var(--muted)}.kpi .v{font-size:14px;font-weight:800;margin-top:3px}
.top3{margin-top:8px}
.top3-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.top3-row:last-child{border-bottom:0}


/* V7 visual refresh */
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(99,102,241,.09), transparent 24%),
    radial-gradient(circle at 85% 0%, rgba(168,85,247,.07), transparent 22%),
    #f7f8fc;
}
.app{padding-top:calc(env(safe-area-inset-top) + 18px)}
.top-header{display:flex;justify-content:space-between;align-items:center;margin:4px 4px 20px}
.hello{font-size:31px;font-weight:900;letter-spacing:-1px;color:#101828}
.tagline{font-size:15px;color:#7a8292;margin-top:5px}
.modern-icon{font-size:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(31,41,55,.09)}
.modern-switch{
  padding:5px;background:#fff;border-radius:22px;box-shadow:0 8px 28px rgba(31,41,55,.07);gap:4px;
}
.modern-switch .switchbtn{background:transparent;border-radius:18px;padding:14px 8px;font-size:14px}
.modern-switch .switchbtn.active{
  background:linear-gradient(135deg,#111827,#293372);
  color:#fff;box-shadow:0 8px 20px rgba(17,24,39,.2)
}
.modern-hero{
  background:linear-gradient(135deg,#111936 0%,#202b68 48%,#7046e8 100%);
  border-radius:30px;padding:22px;box-shadow:0 20px 40px rgba(67,56,202,.18);position:relative;overflow:hidden
}
.modern-hero:before{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-45px;top:-60px;
  background:rgba(255,255,255,.06)
}
.hero-top{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}
.wallet-visual{
  font-size:45px;width:82px;height:82px;border-radius:24px;background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;transform:rotate(-7deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)
}
.modern-hero .big{font-size:40px;margin:6px 0 4px;letter-spacing:-1.5px}
.modern-stats{margin-top:18px;position:relative;z-index:1}
.modern-stats .mini{
  background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.08);padding:11px 9px;
  display:flex;align-items:center;gap:7px;border-radius:17px
}
.mini-icon{width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}
.mini-icon.income{background:rgba(34,197,94,.2);color:#86efac}
.mini-icon.expense{background:rgba(244,63,94,.2);color:#fda4af}
.mini-icon.saving{background:rgba(250,204,21,.2);color:#fde047}
.quick-nav{
  display:grid;grid-template-columns:repeat(4,1fr);gap:7px;background:#fff;border-radius:24px;padding:14px 8px;margin-bottom:14px;
  box-shadow:0 10px 30px rgba(31,41,55,.06)
}
.quick-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#30384a}
.qicon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:19px;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.qicon.purple{background:linear-gradient(135deg,#8b5cf6,#6d5dfc)}
.qicon.blue{background:linear-gradient(135deg,#38bdf8,#2563eb)}
.qicon.green{background:linear-gradient(135deg,#4ade80,#16a34a)}
.qicon.gray{background:linear-gradient(135deg,#94a3b8,#64748b)}
.tabs{
  position:sticky;bottom:calc(env(safe-area-inset-bottom) + 8px);z-index:8;background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);padding:7px;border-radius:22px;box-shadow:0 10px 35px rgba(31,41,55,.13);margin-bottom:18px
}
.tab{background:transparent;box-shadow:none}.tab.active{background:#111936;color:#fff}
.card{border-radius:26px;box-shadow:0 10px 32px rgba(31,41,55,.06);border:1px solid rgba(226,232,240,.65)}
.recovery-card{position:relative;padding-top:20px}
.recovery-icon{width:46px;height:46px;border-radius:16px;background:#edf9f1;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:10px}
.status-pill{background:#edf9f1;color:#16803b;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800}
.recovery-card .progress{height:12px}
.recovery-card .bar.ok{background:linear-gradient(90deg,#16a34a,#22c55e)}
.recovery-card .bar.bad{background:linear-gradient(90deg,#ef4444,#fb7185)}
.savings-card{background:linear-gradient(180deg,#fff,#fbfbff)}
.month-card{background:linear-gradient(180deg,#fff,#fbfdff)}
.action-card{margin-top:4px}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.action-grid button{
  border:0;background:#fafbff;border-radius:18px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;gap:7px;
  font-size:11px;font-weight:800;color:#30384a;border:1px solid #eef0f4
}
.aicon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}
.aicon.green{background:#ecfdf3;color:#16a34a}
.aicon.pink{background:#fff1f2;color:#e11d48}
.aicon.violet{background:#f5f3ff;color:#7c3aed}
.fab{
  background:linear-gradient(135deg,#111936,#28347a);box-shadow:0 16px 34px rgba(17,25,54,.3);
  border-radius:50%;width:68px;height:68px
}
.warningbox{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.1)}
@media (max-width:390px){
  .hello{font-size:27px}.modern-hero .big{font-size:35px}.quick-nav{gap:4px}
  .grid3{gap:6px}.modern-stats .mini{padding:9px 6px}.mini-icon{display:none}
}


/* V8 minimal home */
.app{max-width:680px}
.top-header{margin-bottom:22px}
.modern-hero{margin-bottom:20px}
.modern-stats{grid-template-columns:repeat(3,1fr)}
.card{margin-bottom:18px}
.tabs{
  margin-top:4px;
  padding:6px;
  gap:2px;
}
.tab{font-size:11px;padding:11px 5px}
.recovery-card{padding:22px}
.month-card{padding:22px}
#home .card h2{font-size:19px}
#home{padding-bottom:88px}
@media(max-width:430px){
  .modern-hero{padding:20px;border-radius:28px}
  .modern-stats .mini{display:block;text-align:left}
  .modern-stats .mini .k{font-size:10px}
  .modern-stats .mini .v{font-size:15px;margin-top:3px}
  .wallet-visual{width:66px;height:66px;font-size:36px}
  .tabs{border-radius:20px}
}


.recurring-box{
  margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fafafa
}
.recurring-toggle{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}
.recurring-toggle input{width:20px;height:20px}
.recurring-list .catline{padding:12px 0}
.recurring-kind{font-size:10px;padding:4px 7px;border-radius:999px;background:var(--soft);color:var(--muted);margin-left:6px}


.stat-click{
  border:0;color:inherit;text-align:left;width:100%;cursor:pointer;position:relative;
}
.stat-click .chev{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  font-size:20px;opacity:.55;
}
.history-sheet{padding-bottom:calc(env(safe-area-inset-bottom) + 28px)}
.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.history-head h3{margin:3px 0 0;font-size:24px}
.close-round{
  border:0;background:var(--soft);width:38px;height:38px;border-radius:50%;
  font-size:24px;line-height:1;color:#4b5563
}
.history-summary{
  background:linear-gradient(135deg,#111936,#4f46e5);color:white;
  padding:16px;border-radius:18px;margin-bottom:12px
}
.history-summary .label{color:rgba(255,255,255,.7)}
.history-total{font-size:28px;font-weight:900;margin-top:3px}
.history-filters{display:flex;gap:7px;overflow:auto;margin-bottom:8px}
.history-row{
  display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;
  padding:13px 0;border-bottom:1px solid var(--line)
}
.history-row:last-child{border-bottom:0}
.history-date{font-size:11px;color:var(--muted);margin-top:3px}
.history-amount{font-weight:900;font-size:14px}
.history-amount.income{color:var(--ok)}
.history-amount.expense{color:var(--bad)}
.history-amount.saving{color:#7c3aed}
.history-empty{text-align:center;padding:28px 8px;color:var(--muted);font-size:13px}


.category-manage-row{
  display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--line)
}
.category-manage-row:last-child{border-bottom:0}
.category-scope{
  display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;
  background:var(--soft);color:var(--muted);font-size:10px;font-weight:700
}
.category-actions{display:flex;gap:6px}
.category-actions button{
  border:0;background:var(--soft);border-radius:10px;padding:7px 9px;font-size:12px
}
.category-actions .delete-cat{color:var(--bad);background:#fef2f2}


.dangerbtn{
  width:100%;border:0;border-radius:15px;padding:14px;font-weight:800;margin-top:9px;
  background:#fef2f2;color:#b91c1c
}
.operation-actions{display:flex;gap:6px;margin-top:5px}
.inline-action{
  border:0;background:var(--soft);border-radius:9px;padding:4px 7px;font-size:10px;color:#475569
}
.inline-action.delete{background:#fef2f2;color:#b91c1c}
.budget-track{padding:12px 0;border-bottom:1px solid var(--line)}
.budget-track:last-child{border-bottom:0}
.budget-track-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.budget-track-name{font-size:13px;font-weight:800}
.budget-track-amount{font-size:12px;font-weight:800}
.budget-track.over .budget-track-amount{color:var(--bad)}
.budget-track.near .budget-track-amount{color:var(--warn)}
.budget-input-row{display:grid;grid-template-columns:42px 1fr 120px;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.budget-input-row:last-child{border-bottom:0}
.forecast-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}
.forecast-row:last-child{border-bottom:0}


.tabs4{grid-template-columns:repeat(4,1fr)}
.settings-group{background:#fff;border-radius:22px;margin-bottom:12px;box-shadow:0 8px 28px rgba(31,41,55,.05);border:1px solid rgba(226,232,240,.7);overflow:hidden}
.settings-toggle{width:100%;border:0;background:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:850;color:#111827}
.settings-toggle .left{display:flex;align-items:center;gap:10px}
.settings-toggle .arr{font-size:20px;color:#94a3b8;transition:.2s}
.settings-group.open .settings-toggle .arr{transform:rotate(90deg)}
.settings-content{display:none;padding:0 16px 16px}
.settings-group.open .settings-content{display:block}
#settings .card{box-shadow:none;border:0;padding:0;margin:0;background:transparent}
#settings .card + .card{margin-top:14px}
#settings .section-head{margin-top:6px}


.category-manage-row{
  background:#fff;
}
.category-manage-row + .category-manage-row{
  border-top:1px solid var(--line);
}
.category-actions button{
  min-width:36px;
  min-height:34px;
}


.home-budget-card{padding:18px}
.home-budget-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.home-budget-item{
  background:#f8fafc;
  border:1px solid #edf0f4;
  border-radius:16px;
  padding:12px;
  min-width:0;
}
.home-budget-top{
  display:flex;justify-content:space-between;gap:8px;align-items:flex-start;
}
.home-budget-name{
  font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.home-budget-pct{
  font-size:11px;font-weight:900;color:#64748b;white-space:nowrap;
}
.home-budget-remaining{
  font-size:18px;font-weight:900;margin-top:8px;letter-spacing:-.3px;
}
.home-budget-caption{font-size:10px;color:var(--muted);margin-top:2px}
.home-budget-mini{
  height:6px;background:#e9edf2;border-radius:99px;overflow:hidden;margin-top:9px
}
.home-budget-mini > span{
  display:block;height:100%;background:#111936;border-radius:99px
}
.home-budget-item.near .home-budget-mini > span{background:#d97706}
.home-budget-item.over .home-budget-mini > span{background:#b91c1c}
.home-budget-item.over .home-budget-remaining{color:#b91c1c}
.home-budget-empty{
  grid-column:1/-1;padding:10px 0;color:var(--muted);font-size:12px
}
@media(max-width:370px){
  .home-budget-grid{grid-template-columns:1fr}
}


.report-cta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:linear-gradient(135deg,#ffffff,#f6f8ff)
}
.report-cta-title{font-size:18px;font-weight:900;margin:3px 0}
.report-btn{white-space:nowrap}
@media(max-width:430px){
  .report-cta{align-items:flex-start;flex-direction:column}
  .report-btn{width:100%;padding:12px}
}


.category-sheet{padding:18px 18px calc(env(safe-area-inset-bottom) + 20px)}
.category-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.sheet-kicker{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}
.category-sheet-head h3{font-size:26px;margin:3px 0 0;letter-spacing:-.5px}
.category-main-row{display:grid;grid-template-columns:1fr 92px;gap:10px}
.category-main-row .field{margin-top:0}
.category-emoji-field input{text-align:center;font-size:24px;padding-left:6px;padding-right:6px}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.segmented button{
  border:1px solid #e5e7eb;background:#f8fafc;color:#475569;
  border-radius:13px;padding:11px 6px;font-size:12px;font-weight:800
}
.segmented button.active{
  background:#111936;color:#fff;border-color:#111936;
  box-shadow:0 6px 16px rgba(17,25,54,.14)
}
.scope-segmented button.active{background:#eef2ff;color:#312e81;border-color:#c7d2fe;box-shadow:none}
.optional{font-size:10px;font-weight:600;color:#94a3b8;margin-left:5px}
.money-input{position:relative}
.money-input input{padding-right:48px}
.money-input span{
  position:absolute;right:15px;top:50%;transform:translateY(-50%);
  font-size:18px;font-weight:900;color:#64748b
}
.budget-helper{margin-top:6px;line-height:1.35}
.category-save{margin-top:16px}
@media(max-width:370px){
  .category-main-row{grid-template-columns:1fr 78px}
  .segmented button{font-size:11px;padding:10px 4px}
}


/* V19 visual system */
:root{
  --bg:#f6f7fb;--card:#fff;--text:#101828;--muted:#7b8495;--line:#e8ebf0;
  --navy:#121a3a;--navy2:#25306f;--lav:#7c83f7;--lav-soft:#eef0ff;
  --green:#45b97c;--green-soft:#edf9f2;--red:#e35d6a;--red-soft:#fff1f3;
  --amber:#d69a2d;--amber-soft:#fff7e8;
}
body{background:radial-gradient(circle at 15% -10%,rgba(124,131,247,.10),transparent 28%),radial-gradient(circle at 90% 0%,rgba(124,131,247,.07),transparent 24%),var(--bg);color:var(--text)}
.app{max-width:680px;padding-left:16px;padding-right:16px;padding-bottom:calc(env(safe-area-inset-bottom) + 112px)}
.top-header{margin:2px 2px 18px}.hello{font-size:30px;letter-spacing:-1px}.tagline{color:var(--muted);font-size:14px}
.icon-btn,.modern-icon{border:1px solid rgba(255,255,255,.85);box-shadow:0 10px 28px rgba(20,28,61,.08);color:var(--navy)}
.modern-switch{background:rgba(255,255,255,.88);border:1px solid rgba(231,235,242,.9);box-shadow:0 10px 26px rgba(24,32,70,.06);padding:4px;border-radius:18px;margin-bottom:14px}
.modern-switch .switchbtn{border-radius:14px;font-size:13px;padding:12px 8px;color:#536071}
.modern-switch .switchbtn.active{background:var(--navy);color:#fff;box-shadow:none}
.modern-hero{background:linear-gradient(145deg,var(--navy) 0%,var(--navy2) 64%,#5848c8 100%);border-radius:26px;padding:20px;box-shadow:0 18px 38px rgba(32,39,95,.18);margin-bottom:18px}
.modern-hero:before{width:160px;height:160px;right:-50px;top:-60px;background:rgba(255,255,255,.05)}
.modern-hero .big{font-size:38px;margin:6px 0 2px}.wallet-visual{width:58px;height:58px;border-radius:18px;font-size:18px;background:rgba(255,255,255,.10);transform:none}
.modern-stats{margin-top:16px;gap:8px}.modern-stats .mini{min-height:82px;border-radius:15px;padding:10px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08);box-shadow:none}
.modern-stats .mini .k{font-size:10px;color:rgba(255,255,255,.68)}.modern-stats .mini .v{font-size:15px}.mini-icon{width:24px;height:24px;font-size:13px}
.mini-icon.income{background:rgba(69,185,124,.17);color:#8ee0b4}.mini-icon.expense{background:rgba(227,93,106,.17);color:#ffadb5}.mini-icon.saving{background:rgba(124,131,247,.18);color:#c4c8ff}
.card{border-radius:22px;border:1px solid rgba(231,235,242,.92);box-shadow:0 10px 26px rgba(24,32,70,.05);padding:18px;margin-bottom:14px}
.section-head h2{font-size:17px;letter-spacing:-.2px}.muted,.label{color:var(--muted)}
.recovery-card{padding:18px}.recovery-icon{width:40px;height:40px;border-radius:13px;background:var(--green-soft);font-size:18px}.status-pill{background:var(--green-soft);color:#2f8b5e;font-size:10px;padding:6px 9px}
.progress{height:8px;background:#edf0f4}.bar.ok{background:linear-gradient(90deg,#3aaa72,#60cb91)}.bar.bad{background:linear-gradient(90deg,#d64f5d,#ec7b86)}.bar.warn{background:linear-gradient(90deg,#cf9122,#e8b14d)}
.home-budget-card{padding:16px}.home-budget-grid{gap:8px}.home-budget-item{background:#fbfcfe;border:1px solid #edf0f4;border-radius:14px;padding:11px}.home-budget-name{font-size:11.5px}.home-budget-pct{font-size:10.5px;color:#667085}.home-budget-remaining{font-size:17px}.home-budget-mini{height:5px;margin-top:8px}.home-budget-mini>span{background:var(--navy2)}
.tabs,.tabs4{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 10px);width:min(620px,calc(100% - 24px));z-index:50;margin:0;padding:6px;border-radius:20px;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(226,230,238,.9);box-shadow:0 14px 40px rgba(22,30,66,.15)}
.tab{background:transparent;color:#718096;font-size:11px;font-weight:800;border-radius:14px;padding:11px 4px}.tab.active{background:var(--navy);color:#fff}
.fab{width:58px;height:58px;bottom:calc(env(safe-area-inset-bottom) + 84px);border-radius:50%;background:var(--navy);box-shadow:0 14px 28px rgba(18,26,58,.24);font-size:29px}
.navbtn,.today,.smallbtn{background:#f5f7fa;color:#344054}.day{border-radius:11px;background:#fbfcfe}.day.selected{border-color:#c7ccfa;background:#f0f2ff}.day.today .n{background:var(--navy)}
.expense{padding:10px 0}.emoji{width:38px;height:38px;border-radius:12px;background:#f4f6f9}.ename,.price{font-size:13px}
.donut{width:205px;height:205px}.kpi{border-radius:12px;padding:9px}.kpi .v{font-size:13px}
.advice{border-radius:13px;font-size:12px}.advice.ok{background:var(--green-soft);color:#27734d}.advice.warn{background:var(--amber-soft);color:#9a6b18}.advice.bad{background:var(--red-soft);color:#b34450}.advice.neutral{background:#f4f6f9;color:#475467}
.settings-group{border-radius:18px;border:1px solid rgba(231,235,242,.95);box-shadow:0 8px 22px rgba(24,32,70,.04);margin-bottom:10px}
.settings-toggle{padding:15px 16px;font-size:15px}.settings-content{padding:0 16px 16px}.field input,.field select{border-radius:12px;border-color:#e4e7ec;background:#fff}
.primary{background:var(--navy);border-radius:13px}.secondary{background:#f4f6f9;border-radius:13px}
.category-sheet{border-radius:26px 26px 0 0}.category-sheet-head h3{font-size:24px}.segmented button{background:#f7f8fb;border-color:#e6e9ef;color:#667085}.segmented button.active{background:var(--navy);border-color:var(--navy);box-shadow:none}.scope-segmented button.active{background:var(--lav-soft);color:#4d55b8;border-color:#d6d9ff}
.history-summary{background:linear-gradient(145deg,var(--navy),#38438e);border-radius:16px}.report-cta{border-radius:20px;background:linear-gradient(145deg,#fff,#f7f8ff)}
@media(max-width:430px){
 .app{padding-left:12px;padding-right:12px}.hello{font-size:28px}.modern-hero{padding:18px}.modern-hero .big{font-size:35px}
 .wallet-visual{width:52px;height:52px}.modern-stats .mini{min-height:76px;padding:9px}.card{padding:16px}.tabs,.tabs4{width:calc(100% - 18px)}
}


/* ================= V22 — CHOIX 1 ================= */
body{background:#f5f6fa}
.app{padding-left:0;padding-right:0;max-width:720px}
.top-shell{
  background:linear-gradient(180deg,#0d1533 0%,#111a3c 100%);
  margin:0 10px 16px;
  padding:calc(env(safe-area-inset-top) + 12px) 16px 18px;
  border-radius:0 0 30px 30px;
  box-shadow:0 20px 42px rgba(13,21,51,.18);
}
.top-shell .top-header{margin:0 0 16px}
.top-shell .hello{color:#fff;font-size:27px}
.top-shell .tagline{color:rgba(255,255,255,.58)}
.top-shell .modern-icon{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);color:#fff;box-shadow:none}
.top-shell .modern-switch{
  margin:0 0 14px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);box-shadow:none
}
.top-shell .modern-switch .switchbtn{color:rgba(255,255,255,.68)}
.top-shell .modern-switch .switchbtn.active{background:linear-gradient(135deg,#5447d7,#7167ef);color:#fff}
.top-shell .modern-hero{
  margin:0;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.075);
  box-shadow:none;border-radius:22px;padding:17px
}
.top-shell .modern-hero:before{display:none}
.top-shell .wallet-visual{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06);color:#9ca6ff}
.top-shell .modern-stats .mini{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.055);min-height:74px}
.top-shell .modern-hero .big{font-size:36px}
#home,#calendar,#analysis,#envelopes,#settings{padding:0 14px}
.tabs,.tabs5{
  background:#0f1736;border-color:#182142;box-shadow:0 14px 34px rgba(15,23,54,.26);
  padding:7px;border-radius:22px
}
.tabs5{display:grid;grid-template-columns:repeat(5,1fr)}
.tab{color:#929bb7;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;font-size:9px}
.tab.active{background:#27325f;color:#fff}
.tab-ico{font-size:18px;line-height:1}
.fab{background:linear-gradient(145deg,#5a4cde,#7568ef);bottom:calc(env(safe-area-inset-bottom) + 86px)}
.recovery-card{border-left:3px solid #6256df}
.recovery-icon{display:none}
.status-pill{background:#efefff;color:#5148b6}
.card{border-radius:20px}
.home-budget-item{background:#fff;border:1px solid #e9ebf1}
.envelope-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 2px 16px}
.envelope-page-head h2{font-size:27px;margin:2px 0 5px;letter-spacing:-.6px}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:850;color:#727a92}
.envelope-group{background:#fff;border:1px solid #e7e9ef;border-radius:22px;padding:17px;margin-bottom:13px;box-shadow:0 9px 24px rgba(18,26,58,.045)}
.envelope-group-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.envelope-title-wrap{display:flex;align-items:center;gap:11px}
.envelope-title-wrap h3{margin:0;font-size:17px}
.envelope-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#f0f1ff;color:#4f46c8;font-size:18px;font-weight:900}
.envelope-group-percent{background:#f2f3f7;color:#5f687a;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:850}
.envelope-group-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 10px}
.envelope-group-kpis div{background:#f8f9fc;border-radius:12px;padding:9px}
.envelope-group-kpis span{display:block;color:#8a92a3;font-size:9px;margin-bottom:3px}
.envelope-group-kpis b{font-size:13px}.negative{color:#cc3e50!important}
.envelope-bar{height:7px;background:#eceef3;border-radius:999px;overflow:hidden}.envelope-bar span{display:block;height:100%;background:linear-gradient(90deg,#5649da,#7469ee);border-radius:inherit}
.envelope-foot{display:flex;justify-content:space-between;gap:10px;color:#8a92a3;font-size:10px;margin:5px 0 12px}
.envelope-subs{border-top:1px solid #eef0f4;margin-top:12px}
.envelope-sub{padding:13px 0;border-bottom:1px solid #eef0f4}.envelope-sub:last-child{border-bottom:0}
.envelope-sub-main{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center}
.envelope-cat-icon{width:36px;height:36px;border-radius:11px;background:#f6f7fa;display:grid;place-items:center}
.envelope-cat-name{font-size:12px;font-weight:850;display:flex;align-items:center;gap:5px}
.recurring-dot{font-size:8px;padding:3px 5px;background:#edf8f2;color:#3f9166;border-radius:999px;font-weight:800}
.envelope-cat-track{height:5px;background:#edf0f4;border-radius:999px;overflow:hidden;margin-top:7px}.envelope-cat-track span{display:block;height:100%;background:#4f59b8;border-radius:inherit}
.envelope-sub.near .envelope-cat-track span{background:#d69a2d}.envelope-sub.over .envelope-cat-track span{background:#db5062}
.envelope-cat-numbers{text-align:right}.envelope-cat-numbers b{font-size:12px}.envelope-cat-numbers span{display:block;color:#8a92a3;font-size:9px;margin-top:2px}
.envelope-row-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.envelope-row-actions button,.tiny-action{border:0;background:#f3f4f7;color:#515b70;border-radius:9px;padding:6px 8px;font-size:9px;font-weight:800}
.envelope-saving{border-color:#dfe1ff;background:linear-gradient(180deg,#fff,#fafaff)}
@media(max-width:430px){
 .top-shell{margin:0 0 14px;border-radius:0 0 28px 28px;padding-left:13px;padding-right:13px}
 #home,#calendar,#analysis,#envelopes,#settings{padding:0 12px}
 .envelope-page-head{flex-direction:column}.envelope-page-head .smallbtn{width:100%;padding:10px}
 .tab{font-size:8.5px}.tab-ico{font-size:17px}
}


.color-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.color-swatch{width:38px;height:38px;border-radius:50%;border:3px solid transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.color-swatch.active{border-color:#111936}
.icon-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.icon-choice{height:44px;border:1px solid #e6e9ef;background:#f8f9fc;border-radius:12px;font-size:21px}
.icon-choice.active{border-color:#6b63e8;background:#f0efff}
.envelope-group-head .style-edit{border:0;background:#f4f5f8;border-radius:9px;padding:6px 8px;font-size:10px;font-weight:800}
.linked-note{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f7f8fb;border-radius:10px;padding:8px 10px;margin-top:8px;font-size:10px;color:#667085}
.linked-note button{border:0;background:#eceeff;color:#5148b6;border-radius:8px;padding:5px 7px;font-size:9px;font-weight:800}
.bill-group{background:#fff;border:1px solid #e7e9ef;border-radius:20px;padding:15px;margin-bottom:14px}
.bill-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bill-summary b{font-size:18px}.bill-summary span{font-size:11px;color:#7b8495}
.bill-row{display:grid;grid-template-columns:38px 1fr auto 34px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #eef0f4}
.bill-row:first-of-type{border-top:0}
.bill-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f6f7fa}
.bill-copy b{font-size:12px}.bill-copy span{display:block;font-size:9px;color:#8a92a3;margin-top:2px}
.bill-amount{font-size:12px;font-weight:850}
.bill-check{width:28px;height:28px;border-radius:50%;border:2px solid #cdd3df;background:#fff;display:grid;place-items:center;color:#fff;font-size:14px}
.bill-check.done{background:#35aa75;border-color:#35aa75}
.charges-head{margin-top:24px}
.pie-card{background:#fff;border:1px solid #e7e9ef;border-radius:20px;padding:16px;margin-bottom:14px}
.pie-wrap{display:flex;align-items:center;gap:20px}
.pie-donut{width:150px;height:150px;border-radius:50%;position:relative;flex:0 0 auto}
.pie-donut:after{content:"";position:absolute;inset:33px;background:#fff;border-radius:50%}
.pie-center{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;font-size:11px;color:#7b8495}
.pie-center b{display:block;font-size:18px;color:#111827}
.pie-legend{flex:1;display:grid;gap:8px}
.pie-legend-row{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:10px}
.pie-dot{width:9px;height:9px;border-radius:50%}
@media(max-width:430px){
  .pie-wrap{align-items:flex-start}.pie-donut{width:130px;height:130px}.pie-donut:after{inset:29px}
}


/* ===== V24 FINAL LIGHT UI ===== */
:root{
  --v24-blue:#243b8f;
  --v24-blue2:#5368e8;
  --v24-bg:#f5f7fb;
  --v24-ink:#11182b;
  --v24-muted:#7b8497;
  --v24-line:#e8ebf2;
}
body{background:var(--v24-bg)!important;color:var(--v24-ink)!important}
.top-shell,.hero,.header,.top-area{background:transparent!important;color:var(--v24-ink)!important}
.scope-switch,.segmented{background:#fff!important;border:1px solid var(--v24-line)!important;box-shadow:0 8px 24px rgba(24,34,64,.06)!important}
.scope-switch button.active,.segmented button.active{background:var(--v24-blue)!important;color:#fff!important}
.balance-card,.hero-card,.summary-card{
  background:linear-gradient(135deg,#243b8f,#5265d9)!important;
  color:#fff!important;border:0!important;box-shadow:0 18px 38px rgba(36,59,143,.18)!important
}
.balance-card .muted,.hero-card .muted,.summary-card .muted{color:rgba(255,255,255,.72)!important}
.card,.envelope-group,.pie-card,.bill-group,.settings-group{
  background:#fff!important;border:1px solid var(--v24-line)!important;
  box-shadow:0 8px 26px rgba(24,34,64,.045)!important
}
.bottom-nav,.tabs{
  background:#fff!important;border:1px solid var(--v24-line)!important;
  box-shadow:0 12px 34px rgba(24,34,64,.10)!important
}
.bottom-nav button.active,.tab.active{background:var(--v24-blue)!important;color:#fff!important}
.primary{background:var(--v24-blue)!important}
.fab{background:linear-gradient(135deg,var(--v24-blue),var(--v24-blue2))!important;box-shadow:0 14px 28px rgba(36,59,143,.25)!important}
.v24-blue-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 18px
}
.v24-blue-mini{
  border-radius:17px;padding:13px 12px;background:#fff;border:1px solid var(--v24-line);
  box-shadow:0 6px 18px rgba(24,34,64,.04)
}
.v24-blue-mini:first-child{background:#eef2ff;border-color:#dde4ff}
.v24-blue-mini:nth-child(2){background:#edf6ff;border-color:#dceeff}
.v24-blue-mini:nth-child(3){background:#f2f4ff;border-color:#e2e5ff}
.v24-blue-mini span{display:block;font-size:10px;color:var(--v24-muted);margin-bottom:4px}
.v24-blue-mini b{font-size:14px;color:var(--v24-blue)}
.custom-color-row{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;background:#f8f9fc;border-radius:13px}
.custom-color-row input[type=color]{width:46px;height:38px;border:0;background:transparent;padding:0}
.recurring-type-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.recurring-type-choice button{border:1px solid #e4e7ef;background:#f8f9fc;border-radius:13px;padding:11px 8px;font-weight:800}
.recurring-type-choice button.active{background:#eef1ff;border-color:#6a73df;color:#303b9f}
.variable-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:#fff3df;color:#9b671a;font-size:9px;font-weight:850;margin-left:5px}


/* ===== V25 MULTI-COMPTES ===== */
.account-list{display:grid;gap:10px;margin-top:12px}
.account-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line,#e8ebf2);border-radius:16px;background:#fff}
.account-dot{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px;flex:0 0 auto}
.account-meta{min-width:0;flex:1}.account-meta b{display:block;font-size:14px}.account-meta small{color:#7b8497}
.account-balance{font-weight:900;white-space:nowrap}
.account-actions{display:flex;gap:7px;margin-left:4px}.account-actions button{border:0;background:#f3f5f9;border-radius:10px;padding:7px 9px}
.account-add{width:100%;margin-top:12px;border:1.5px dashed #cfd7e7;background:#f9fbff;border-radius:16px;padding:14px;font-weight:850;color:#2444a6}
.account-type-grid{display:grid;gap:8px;margin-top:8px}
.account-type-option{border:1px solid #e4e8f0;border-radius:14px;padding:12px;background:#fff;text-align:left}
.account-type-option.active{border-color:#4465e8;background:#f0f4ff;color:#2444a6}


/* =========================================================
   V26 — DESIGN VALIDÉ : clair + bloc bleu + switch visible
   ========================================================= */
html,body{
  background:#f6f7fb!important;
  color:#0e1734!important;
}
body{overflow-x:hidden!important}
.app{
  max-width:680px!important;
  margin:0 auto!important;
  padding:0 12px calc(env(safe-area-inset-bottom) + 110px)!important;
}

/* Header clair */
.top-shell{
  background:transparent!important;
  color:#0e1734!important;
  margin:0!important;
  padding:calc(env(safe-area-inset-top) + 16px) 0 0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.top-shell .top-header{
  margin:0 4px 16px!important;
  align-items:center!important;
}
.top-shell .hello{
  color:#101a45!important;
  font-size:29px!important;
  font-weight:900!important;
  letter-spacing:-.7px!important;
}
.top-shell .tagline{
  color:#7e8799!important;
  font-size:13px!important;
  margin-top:4px!important;
}
.top-shell .modern-icon{
  width:46px!important;height:46px!important;
  background:#fff!important;
  color:#18265e!important;
  border:1px solid #e6eaf2!important;
  box-shadow:0 7px 20px rgba(31,45,92,.07)!important;
  border-radius:15px!important;
}

/* Moi / Compte commun : TOUJOURS visible et lisible */
.top-shell .modern-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5px!important;
  background:#fff!important;
  border:1px solid #e2e7f0!important;
  padding:4px!important;
  margin:0 4px 13px!important;
  border-radius:15px!important;
  box-shadow:0 7px 20px rgba(31,45,92,.05)!important;
}
.top-shell .modern-switch .switchbtn{
  min-height:42px!important;
  color:#17224f!important;
  background:transparent!important;
  border:0!important;
  border-radius:12px!important;
  font-size:12px!important;
  font-weight:850!important;
  opacity:1!important;
}
.top-shell .modern-switch .switchbtn.active{
  color:#fff!important;
  background:#14255f!important;
  box-shadow:0 5px 13px rgba(20,37,95,.18)!important;
}

/* Carte solde bleue comme la maquette validée */
.top-shell .modern-hero{
  margin:0 4px 17px!important;
  padding:18px 16px 0!important;
  border-radius:19px!important;
  background:linear-gradient(135deg,#173eac 0%,#2059e9 58%,#315eff 100%)!important;
  border:0!important;
  box-shadow:0 15px 30px rgba(28,75,190,.18)!important;
  color:#fff!important;
  overflow:visible!important;
}
.top-shell .modern-hero:before{display:none!important}
.top-shell .modern-hero .label{
  color:rgba(255,255,255,.78)!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
}
.top-shell .modern-hero .big{
  color:#fff!important;
  font-size:35px!important;
  font-weight:900!important;
  letter-spacing:-1px!important;
  margin:6px 0!important;
}
.top-shell .wallet-visual{
  width:38px!important;height:38px!important;
  border-radius:12px!important;
  color:#fff!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  font-size:13px!important;
}

/* Les 3 mini-cartes sont blanches, pas transparentes */
.top-shell .modern-stats{
  position:relative!important;
  transform:translateY(17px)!important;
  margin-top:10px!important;
  margin-bottom:2px!important;
  gap:6px!important;
}
.top-shell .modern-stats .mini{
  min-height:86px!important;
  padding:10px 9px!important;
  background:#fff!important;
  color:#111a38!important;
  border:1px solid #e8ebf2!important;
  border-radius:14px!important;
  box-shadow:0 8px 18px rgba(22,39,89,.10)!important;
}
.top-shell .modern-stats .mini .k{
  color:#7e8799!important;
  font-size:9px!important;
}
.top-shell .modern-stats .mini .v{
  color:#101832!important;
  font-size:14px!important;
  font-weight:900!important;
}
.top-shell .modern-stats .chev{color:#9ba4b6!important}
.top-shell .mini-icon{width:26px!important;height:26px!important}

/* laisse la place aux stats qui dépassent */
.top-shell{padding-bottom:17px!important}

/* Contenu clair et plus fin */
#home,#calendar,#analysis,#envelopes,#settings{
  padding:0 4px!important;
}
.card,.settings-group,.envelope-group,.pie-card,.bill-group{
  background:#fff!important;
  color:#11182d!important;
  border:1px solid #e7eaf1!important;
  border-radius:18px!important;
  box-shadow:0 7px 22px rgba(25,38,76,.045)!important;
}
.card{padding:15px!important;margin-bottom:12px!important}
.section-head h2{font-size:16px!important}
.muted{color:#7e8799!important}

/* Cartes bleues uniquement là où elles apportent du style */
#chargesHomeSummary .card{
  background:linear-gradient(135deg,#123283,#154dc5)!important;
  color:#fff!important;
  border:0!important;
}
#chargesHomeSummary .card .muted,
#chargesHomeSummary .card h2{
  color:#fff!important;
}

/* Progression */
.progress{background:#edf0f5!important;height:7px!important}
.bar.ok{background:#2f9f64!important}
.bar.bad{background:#e34f60!important}

/* Navigation basse claire */
.tabs,.tabs5{
  background:#fff!important;
  border:1px solid #e3e7ef!important;
  box-shadow:0 13px 34px rgba(23,38,82,.12)!important;
  border-radius:20px!important;
}
.tab{
  color:#8b94a8!important;
  background:transparent!important;
}
.tab.active{
  color:#1f55d9!important;
  background:#edf3ff!important;
}
.tab-ico{font-size:16px!important}

/* Bouton + */
.fab{
  background:linear-gradient(135deg,#224dcc,#4969ec)!important;
  box-shadow:0 12px 25px rgba(34,77,204,.24)!important;
}

/* Réglages = liste claire */
.settings-toggle{
  color:#10182f!important;
  background:#fff!important;
}
.settings-toggle .arr{color:#9aa4b7!important}

/* Modales comptes */
#accountsModal .sheet,#accountEditorModal .sheet{
  background:#fff!important;color:#11182d!important;
}
.account-row{border-color:#e7eaf1!important}


/* ===== V27 ENVELOPPES COMPACTES ===== */
.account-settings-link{cursor:pointer}
.account-settings-link:active{transform:scale(.995)}
.envelope-overview-card{
  background:#fff;border:1px solid #e7eaf1;border-radius:20px;padding:16px;
  box-shadow:0 8px 24px rgba(24,38,76,.045);margin-bottom:14px
}
.envelope-overview-grid{
  display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center
}
.envelope-overview-donut{
  width:145px;height:145px;border-radius:50%;position:relative;flex:0 0 auto
}
.envelope-overview-donut:after{
  content:"";position:absolute;inset:32px;background:#fff;border-radius:50%
}
.envelope-overview-center{
  position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;
  font-size:10px;color:#7d8798
}
.envelope-overview-center b{
  display:block;font-size:18px;color:#101832;margin-bottom:2px
}
.envelope-overview-legend{display:grid;gap:7px}
.envelope-overview-legend-row{
  display:grid;grid-template-columns:9px 1fr auto;gap:7px;align-items:center;
  font-size:10px;color:#38445d
}
.envelope-overview-dot{width:9px;height:9px;border-radius:50%}
.envelope-overview-legend-row b{font-size:10px;color:#101832}

.envelope-compact-list{display:grid;gap:8px;margin-bottom:16px}
.envelope-compact-item{
  background:#fff;border:1px solid #e7eaf1;border-radius:17px;overflow:hidden;
  box-shadow:0 6px 18px rgba(24,38,76,.035)
}
.envelope-compact-head{
  display:grid;grid-template-columns:42px 1fr auto 22px;gap:10px;align-items:center;
  padding:13px 14px;cursor:pointer
}
.envelope-compact-icon{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  font-size:18px;font-weight:900
}
.envelope-compact-copy{min-width:0}
.envelope-compact-copy b{
  display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.envelope-compact-copy span{display:block;color:#8a93a4;font-size:9px;margin-top:2px}
.envelope-compact-amount{text-align:right}
.envelope-compact-amount b{display:block;font-size:12px}
.envelope-compact-amount span{display:block;color:#7d8798;font-size:9px;margin-top:2px}
.envelope-compact-chevron{
  color:#8e98aa;font-size:18px;transition:.18s;transform-origin:center
}
.envelope-compact-item.open .envelope-compact-chevron{transform:rotate(90deg)}
.envelope-compact-progress{
  height:5px;background:#edf0f4;border-radius:999px;overflow:hidden;margin-top:7px
}
.envelope-compact-progress span{display:block;height:100%;border-radius:999px}
.envelope-compact-details{
  display:none;border-top:1px solid #eef0f4;padding:0 14px 6px
}
.envelope-compact-item.open .envelope-compact-details{display:block}
.envelope-subrow{
  display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;
  padding:10px 0;border-bottom:1px solid #f0f2f6
}
.envelope-subrow:last-child{border-bottom:0}
.envelope-subrow-icon{
  width:30px;height:30px;border-radius:9px;background:#f5f7fa;display:grid;place-items:center
}
.envelope-subrow-copy b{display:block;font-size:11px}
.envelope-subrow-copy span{display:block;font-size:9px;color:#8a93a4;margin-top:2px}
.envelope-subrow-amount{text-align:right}
.envelope-subrow-amount b{display:block;font-size:10px}
.envelope-subrow-amount span{display:block;font-size:8px;color:#8a93a4;margin-top:2px}
.envelope-inline-actions{display:flex;gap:6px;padding:7px 0 4px}
.envelope-inline-actions button{
  border:0;background:#f3f5f9;border-radius:9px;padding:6px 8px;font-size:9px;font-weight:800
}
@media(max-width:430px){
  .envelope-overview-grid{grid-template-columns:125px 1fr;gap:12px}
  .envelope-overview-donut{width:122px;height:122px}
  .envelope-overview-donut:after{inset:28px}
}


/* ===== V28 CARTES + ACHATS ===== */
.tabs6{grid-template-columns:repeat(6,1fr)!important}
.tab{font-size:8px!important}
.purchase-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 2px 14px}
.purchase-head h2{font-size:26px;margin:2px 0 4px}
.purchase-summary-card{background:linear-gradient(135deg,#173eac,#285be7);color:#fff;border-radius:20px;padding:16px;margin-bottom:13px;box-shadow:0 14px 30px rgba(28,75,190,.16)}
.purchase-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.purchase-summary-grid div{background:rgba(255,255,255,.11);border-radius:12px;padding:10px}
.purchase-summary-grid span{display:block;font-size:9px;color:rgba(255,255,255,.68);margin-bottom:4px}
.purchase-summary-grid b{font-size:13px}
.purchase-section-title{font-size:13px;font-weight:900;margin:16px 2px 8px}
.purchase-card{background:#fff;border:1px solid #e7eaf1;border-radius:17px;padding:13px;margin-bottom:8px;box-shadow:0 6px 18px rgba(24,38,76,.035)}
.purchase-card-top{display:grid;grid-template-columns:1fr auto;gap:10px}
.purchase-card-name{font-size:13px;font-weight:900}
.purchase-card-meta{font-size:9px;color:#8a93a4;margin-top:3px}
.purchase-card-price{font-size:13px;font-weight:900;text-align:right}
.purchase-advice{margin-top:9px;padding:9px 10px;border-radius:11px;font-size:10px;line-height:1.35}
.purchase-advice.now{background:#edf8f2;color:#28714d}
.purchase-advice.wait{background:#fff5e8;color:#99651b}
.purchase-advice.later{background:#f3f5f8;color:#677185}
.purchase-actions{display:flex;gap:6px;margin-top:9px}
.purchase-actions button{border:0;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:800;background:#f2f4f8}
.purchase-actions button.buy{background:#edf3ff;color:#2753c7}
.purchase-badge{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:850;margin-left:5px}
.purchase-badge.essential{background:#ffecef;color:#b63c4b}
.purchase-badge.important{background:#fff4df;color:#996517}
.purchase-badge.later{background:#f0f2f6;color:#6e7787}
.card-setting-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef0f4}
.card-setting-row:last-child{border-bottom:0}
.card-setting-icon{width:36px;height:36px;border-radius:11px;background:#eef3ff;color:#2955cc;display:grid;place-items:center}
.card-setting-copy{flex:1}.card-setting-copy b{display:block;font-size:12px}.card-setting-copy span{display:block;font-size:9px;color:#8a93a4;margin-top:2px}
.card-setting-amount{text-align:right}.card-setting-amount b{display:block;font-size:11px}.card-setting-amount span{font-size:8px;color:#8a93a4}
.forecast-card{background:#fff;border:1px solid #e7eaf1;border-radius:18px;padding:14px;margin-bottom:12px;box-shadow:0 7px 22px rgba(25,38,76,.04)}
.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.forecast-grid div{background:#f7f9fc;border-radius:12px;padding:9px}
.forecast-grid span{display:block;font-size:8px;color:#8a93a4;margin-bottom:3px}
.forecast-grid b{font-size:12px}
.forecast-real{font-size:21px;font-weight:950;color:#173eac;margin:4px 0}
@media(max-width:430px){.tab{font-size:7.3px!important}.tab-ico{font-size:15px!important}}


/* ===== V29 FIX COMPTES + CATÉGORIES + ICÔNES ===== */
#bankAccountsSettingsGroup .settings-toggle{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important
}
#bankAccountsSettingsGroup .smallbtn{pointer-events:auto!important;position:relative!important;z-index:2!important}
#accountsSettingsInline{display:block!important;max-height:none!important}
#accountsInlineList{display:grid;gap:8px}
.account-inline-row{
  width:100%;display:grid;grid-template-columns:40px 1fr auto 18px;gap:10px;align-items:center;
  padding:11px;border:1px solid #e7eaf1;border-radius:14px;background:#fff;color:#11182d;text-align:left;
  -webkit-appearance:none;appearance:none;cursor:pointer
}
.account-inline-row:active{background:#f4f7ff}
.account-inline-copy{min-width:0}.account-inline-copy b{display:block;font-size:12px}.account-inline-copy small{display:block;color:#8a93a4;font-size:9px;margin-top:2px}
.account-inline-balance{font-size:11px;font-weight:900;white-space:nowrap}
.account-inline-chevron{font-size:18px;color:#9aa4b6}
.category-manage-row{
  display:grid!important;grid-template-columns:40px 1fr auto!important;gap:10px!important;align-items:center!important;
  padding:11px 0!important;border-bottom:1px solid #eef0f4!important
}
.category-manage-row:last-child{border-bottom:0!important}
.category-actions{display:flex!important;gap:6px!important}
.category-actions button{
  width:34px!important;height:34px!important;border:0!important;border-radius:10px!important;background:#f3f5f9!important;
  display:grid!important;place-items:center!important;font-size:15px!important;pointer-events:auto!important
}
.mini-icon.saving{font-size:15px!important}


/* ===== V30 CATÉGORIES TOUJOURS VISIBLES ===== */
.category-total-banner{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#eef3ff;color:#1f46b7;border-radius:12px;padding:10px 12px;margin:4px 0 8px
}
.category-total-banner b{font-size:12px}
.category-total-banner span{font-size:9px;color:#6f7da5}
.categorySettingsList{display:block!important}
.category-manage-row{min-height:62px}
.category-manage-row .ename{font-size:12px;font-weight:850}


/* ===== V31 BROWSER AUDIT FIXES ===== */
#accountsModal,#accountEditorModal,#cardEditorModal,#purchaseEditorModal{z-index:9999!important}
#accountsModal.open,#accountEditorModal.open,#cardEditorModal.open,#purchaseEditorModal.open{display:flex!important}
.account-inline-row,#bankAccountsSettingsGroup button,.category-actions button{touch-action:manipulation}


/* ===== V32 CATÉGORIES DANS ENVELOPPES ===== */
.envelope-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#eef1f7;padding:4px;border-radius:15px;margin:0 0 14px}
.envelope-view-switch button{border:0;background:transparent;padding:11px 8px;border-radius:12px;font-weight:850;color:#7d879b}
.envelope-view-switch button.active{background:#fff;color:#15213b;box-shadow:0 3px 12px #1b2b5520}
.category-group-card{background:#fff;border:1px solid #e7eaf0;border-radius:17px;margin:0 0 9px;overflow:hidden}
.category-group-head{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:11px;padding:13px 14px;text-align:left}
.category-group-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;font-weight:900;flex:0 0 auto}
.category-group-copy{display:flex;flex-direction:column;gap:2px;flex:1}.category-group-copy b{font-size:14px}.category-group-copy small{color:#929aac;font-size:10px}
.category-group-chevron{font-size:25px;color:#a0a9ba;transform:rotate(0deg);transition:.18s}.category-group-card.open .category-group-chevron{transform:rotate(90deg)}
.category-group-body{display:none;border-top:1px solid #eef0f4;padding:2px 13px}.category-group-card.open .category-group-body{display:block}
.category-group-row{display:grid;grid-template-columns:35px 1fr 36px 36px;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid #f0f1f4}.category-group-row:last-child{border-bottom:0}
.category-row-emoji{width:32px;height:32px;border-radius:10px;background:#f4f6fa;display:grid;place-items:center}.category-row-name{display:flex;flex-direction:column}.category-row-name b{font-size:12px}.category-row-name small{font-size:9px;color:#929aac;margin-top:2px}.category-group-row button{border:0;background:#f4f6fa;border-radius:10px;width:32px;height:32px;font-size:15px}


/* ===== V33 SOUS-CATÉGORIES ===== */
.category-parent-block{padding:2px 0 8px;border-bottom:1px solid #f0f1f4}
.category-parent-block:last-child{border-bottom:0}
.parent-row{border-bottom:0!important}
.subcategory-list{margin:0 0 4px 36px;border-left:2px solid #edf0f5;padding-left:9px}
.subcategory-row{
  display:grid;grid-template-columns:18px 30px 1fr 34px 34px;gap:6px;align-items:center;
  padding:8px 0;border-bottom:1px solid #f4f5f7
}
.subcategory-row:last-child{border-bottom:0}
.subcategory-branch{color:#a3acbb;font-size:15px}
.category-row-emoji.small{width:28px;height:28px;border-radius:9px;background:#f6f7fa;display:grid;place-items:center}
.subcategory-row button{border:0;background:#f4f6fa;border-radius:9px;width:30px;height:30px}
.add-subcategory-btn,.add-main-category-btn{
  border:0;background:#f6f8ff;color:#3158c7;border-radius:10px;padding:8px 10px;
  font-size:10px;font-weight:800;margin:5px 0 3px
}
.add-main-category-btn{width:100%;margin:10px 0;background:#eef3ff}


/* ===== V34 FINAL BACKUP UX ===== */
.backup-card{background:#fff;border:1px solid #e7eaf1;border-radius:18px;padding:14px;box-shadow:0 7px 22px rgba(25,38,76,.04);margin-top:10px}
.backup-card h3{margin:0 0 4px;font-size:15px}
.backup-card .muted{font-size:10px;line-height:1.4}
.backup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.backup-actions button,.backup-actions label{border:0;border-radius:12px;padding:11px 10px;font-weight:850;font-size:10px}
.backup-actions .export-btn{background:#eef3ff;color:#2149b4}
.backup-actions .restore-btn{background:#f3f5f8;color:#2d3548}
.backup-note{margin-top:9px;padding:9px 10px;border-radius:11px;background:#fff8e8;color:#7b5a16;font-size:9px;line-height:1.35}


/* ===== V35 ACCUEIL + ANALYSE ===== */
.tabs5{grid-template-columns:repeat(5,1fr)!important}
.tabs5 .tab{font-size:8.5px!important}

.home-view-switch{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;
  background:#eef1f7;padding:4px;border-radius:15px;margin:0 4px 14px
}
.home-view-switch button{
  border:0;background:transparent;padding:11px 8px;border-radius:12px;
  font-weight:850;color:#7d879b
}
.home-view-switch button.active{
  background:#fff;color:#15213b;box-shadow:0 3px 12px rgba(27,43,85,.12)
}

/* Plus de peps sur les 3 indicateurs */
.mini-icon.income{
  background:linear-gradient(135deg,#16c784,#39dea5)!important;
  color:#fff!important;box-shadow:0 6px 14px rgba(22,199,132,.28)!important;
  font-size:17px!important;font-weight:950!important
}
.mini-icon.expense{
  background:linear-gradient(135deg,#ff4f68,#ff7b64)!important;
  color:#fff!important;box-shadow:0 6px 14px rgba(255,79,104,.25)!important;
  font-size:17px!important;font-weight:950!important
}
.mini-icon.saving{
  background:linear-gradient(135deg,#7157f5,#a465ff)!important;
  color:#fff!important;box-shadow:0 6px 14px rgba(113,87,245,.27)!important;
  font-size:17px!important;font-weight:950!important
}


/* ===== V36 DESIGN FINAL VALIDÉ ===== */
:root{
  --final-blue:#0737aa;--final-blue2:#0b58db;--final-purple:#6f37e8;
  --final-green:#19a94f;--final-red:#ff3e4f;--final-bg:#f4f6fb;
}
body{background:linear-gradient(180deg,#f7f9fd 0%,#f1f4fa 100%)!important}
.app{max-width:680px!important;padding-left:12px!important;padding-right:12px!important}

/* Le grand bloc bleu reste la signature de l'app */
.top-shell{
  background:linear-gradient(145deg,#082b91 0%,#073cb8 52%,#124fd5 100%)!important;
  margin:calc(-1 * (env(safe-area-inset-top) + 14px)) -12px 14px!important;
  padding:calc(env(safe-area-inset-top) + 18px) 18px 20px!important;
  border-radius:0 0 30px 30px!important;
  box-shadow:0 18px 35px rgba(13,54,155,.18)!important;
}
.top-shell .hello,.top-shell .tagline{color:#fff!important}
.top-shell .tagline{opacity:.74}
.top-shell .icon-btn{background:rgba(255,255,255,.13)!important;color:#fff!important;border-color:rgba(255,255,255,.15)!important;box-shadow:none!important}
.top-shell .modern-switch{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.11)!important;box-shadow:none!important}
.top-shell .modern-switch .switchbtn{color:rgba(255,255,255,.72)!important}
.top-shell .modern-switch .switchbtn.active{background:#fff!important;color:#113b9e!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important}
.top-shell .modern-hero{background:transparent!important;box-shadow:none!important;padding:12px 0 0!important;margin:0!important;border-radius:0!important;overflow:visible!important}
.top-shell .modern-hero:before{display:none!important}
.top-shell .modern-hero .label{color:rgba(255,255,255,.78)!important;text-transform:uppercase;font-weight:800;letter-spacing:.3px}
.top-shell .modern-hero .big{font-size:39px!important;color:#fff!important}
.wallet-visual{background:rgba(255,255,255,.12)!important;color:#fff!important}

/* Grosses icônes en couleur directement sur le bleu, sans rond blanc */
.modern-stats{gap:9px!important;margin-top:14px!important}
.modern-stats .mini{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  min-height:112px!important;padding:10px 9px!important;border-radius:17px!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  position:relative!important;overflow:visible!important
}
.modern-stats .mini>div:nth-child(2){width:100%}
.mini-icon{display:flex!important;width:auto!important;height:48px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:39px!important;line-height:1!important;margin:0 0 4px!important;filter:saturate(1.15)}
.mini-icon.income,.mini-icon.expense,.mini-icon.saving{background:transparent!important;color:inherit!important;box-shadow:none!important}
.modern-stats .mini .k{font-size:10.5px!important;color:rgba(255,255,255,.78)!important}
.modern-stats .mini .v{font-size:16px!important;color:#fff!important;margin-top:3px!important}
.modern-stats .chev{position:absolute!important;right:8px!important;bottom:12px!important;color:rgba(255,255,255,.65)!important}

/* Accueil / Analyse : léger et compact */
.home-view-switch{background:#e9eef9!important;margin:0 0 14px!important;border-radius:15px!important}
.home-view-switch button.active{background:linear-gradient(135deg,#123caa,#245bd4)!important;color:#fff!important;box-shadow:0 5px 14px rgba(24,75,183,.18)!important}

/* Mon objectif : on le garde bien visible et coloré */
.recovery-card{
  background:linear-gradient(135deg,#0737aa,#0a4fd0)!important;color:#fff!important;
  border:0!important;box-shadow:0 13px 28px rgba(8,55,170,.20)!important;padding:16px 17px!important
}
.recovery-card .section-head{margin-bottom:5px!important}
.recovery-card .section-head h2{color:#fff!important;text-transform:uppercase;font-size:13px!important;letter-spacing:.4px}
.recovery-card .muted,.recovery-card .progress-label{color:rgba(255,255,255,.78)!important}
.recovery-card .recovery-icon{background:rgba(255,255,255,.15)!important;font-size:24px!important;width:42px!important;height:42px!important}
.recovery-card .status-pill{background:rgba(255,255,255,.15)!important;color:#fff!important}
.recovery-card .progress{background:rgba(255,255,255,.18)!important}
.recovery-card .bar.ok{background:linear-gradient(90deg,#40e485,#72f0a6)!important}
.recovery-card .bar.bad{background:linear-gradient(90deg,#ff566a,#ff8a80)!important}
.goal-main-title{font-size:22px;font-weight:900;color:#fff;margin:2px 0 3px}

/* Plus de couleur dans les cartes de budget */
.home-budget-card{border-top:4px solid #6f37e8!important}
.home-budget-item{background:#fff!important;position:relative!important;overflow:hidden!important}
.home-budget-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#315bd6}
.home-budget-item:nth-child(3n+2):before{background:#25b57d}.home-budget-item:nth-child(3n):before{background:#ff9f32}
.home-budget-item.over:before{background:#ef4459!important}.home-budget-item.near:before{background:#f4a62a!important}
.home-budget-mini>span{background:linear-gradient(90deg,#315bd6,#7654e8)!important}

/* Analyse plus colorée */
#homeAnalysisView .card:nth-child(1){border-top:4px solid #6f37e8!important}
#homeAnalysisView .card:nth-child(2){border-top:4px solid #22a95f!important}
#homeAnalysisView .card:nth-child(3){border-top:4px solid #ff4b5e!important}

/* Réglages propre : pas de doublons et une vraie carte de sauvegarde */
.settings-group{border-left:4px solid transparent!important}
#bankAccountsSettingsGroup{border-left-color:#315bd6!important}
.settings-group:has(.settings-toggle .left span:first-child:not(:last-child)){ }
.final-backup-card{border-left:4px solid #6f37e8!important;padding:16px!important}
.backup-title-row{display:flex;gap:11px;align-items:flex-start}.backup-big-icon{font-size:27px;line-height:1}.backup-title-row h3{margin:1px 0 5px!important}
.backup-actions .export-btn{background:#eef1ff!important;color:#5130c5!important}.backup-actions .restore-btn{background:#f2f4f8!important;color:#1d2945!important}
.backup-note{background:#fff5db!important;color:#8b5c05!important}
.primary{background:linear-gradient(135deg,#163da5,#295bd4)!important}
.fab{background:linear-gradient(135deg,#1646c5,#1d62e8)!important;box-shadow:0 14px 28px rgba(22,70,197,.30)!important}

/* Barre basse à 5 éléments, Analyse n'y revient pas */
.tabs5{grid-template-columns:repeat(5,1fr)!important}
.tabs5 .tab.active{background:transparent!important;color:#0752d2!important}
.tabs5 .tab.active .tab-ico{color:#0752d2!important}
.tabs5 .tab{font-size:9px!important}

@media(max-width:390px){
  .mini-icon{display:flex!important;font-size:34px!important;height:42px!important}
  .modern-stats .mini{min-height:105px!important;padding:9px 7px!important}
  .modern-stats .mini .v{font-size:14px!important}
}


/* ===== V37.6 simplification catégories + récurrence claire ===== */
.recurring-title{font-weight:900;color:#111827;margin-bottom:8px;font-size:13px}
.recurring-toggle{background:#f5f7ff;border:1px solid #e1e7fb;border-radius:14px;padding:12px!important}
.recurring-type-choice{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
.recurring-type-choice button{min-height:44px;line-height:1.15;padding:8px 6px!important}
.recurrence-explain{margin-top:10px;background:#f8f9fc;border-radius:12px;padding:10px 11px;color:#6d768c;font-size:10px;line-height:1.4}
.recurrence-explain div+div{margin-top:6px}


/* ===== V37.6.1 - Charges à régler plus claires ===== */
.bill-section-title{
  display:flex;align-items:center;justify-content:space-between;
  margin:16px 2px 7px;padding:8px 10px;border-radius:11px;
  background:#eef3ff;color:#2349a6;font-size:11px;font-weight:900
}
.bill-section-paid{background:#edf8f2;color:#2c8358}
.bill-row-paid{opacity:.82}
.bill-empty-ok{
  padding:13px;border-radius:12px;background:#edf8f2;color:#2c8358;
  font-size:11px;font-weight:800;text-align:center
}
.bill-help{
  margin-top:14px;padding:12px;border-radius:13px;background:#f7f8fc;
  color:#68738a;font-size:10px;line-height:1.45;display:grid;gap:4px
}
.bill-help b{color:#18213a;font-size:11px}


/* ===== V37.6 - Icônes principales plus grandes et plus pétantes ===== */
.stat-icon,
.summary-icon,
.kpi-icon,
.metric-icon,
.hero-stat-icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:15px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:29px !important;
  line-height:1 !important;
  transform:scale(1.04);
  filter:saturate(1.35) contrast(1.06);
}
.stat-icon span,
.summary-icon span,
.kpi-icon span,
.metric-icon span,
.hero-stat-icon span{
  font-size:29px !important;
  line-height:1 !important;
}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

.mini-icon{font-size:29px !important;line-height:1 !important;filter:saturate(1.35) contrast(1.06);}

/* Emoji themselves: large and vivid, while preserving the validated card backgrounds */
.hero-stats .emoji,
.summary-cards .emoji,
.stat-card .emoji,
.kpi-card .emoji{
  font-size:30px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  filter:saturate(1.4) contrast(1.08);
}


/* ===== V37.6 - Budgets enregistrables + persistants ===== */
.budget-inline-save{
  display:block;width:100%;margin-top:10px;border:0;border-radius:13px;
  padding:12px 14px;background:linear-gradient(135deg,#244fc9,#5268eb);
  color:#fff;font-weight:900;font-size:12px;
  box-shadow:0 7px 18px rgba(36,79,201,.18)
}
.category-save,.budget-modal-save,.envelope-budget-save{
  position:sticky;bottom:10px;z-index:5;
  box-shadow:0 10px 24px rgba(26,51,125,.22)
}
.envelope-budget-save{width:100%;margin-top:14px}
.envelope-inline-actions button:first-child{
  background:#eef3ff!important;color:#2149b4!important;font-weight:900!important
}


/* ===== V37.6 — VRAIES cartes Revenus / Dépenses / Épargne ===== */
.vivid-finance-stats{
  gap:9px !important;
  align-items:stretch !important;
}
.vivid-finance-stats .finance-stat{
  min-height:164px !important;
  padding:10px 8px 12px !important;
  border-radius:20px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  position:relative !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(222,228,240,.9) !important;
  box-shadow:0 10px 24px rgba(22,42,96,.12) !important;
}
.vivid-finance-stats .finance-art{
  height:88px !important;
  border-radius:17px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  margin-bottom:9px !important;
  overflow:hidden !important;
}
.vivid-finance-stats .income-art{
  background:linear-gradient(145deg,#22b866,#83e4a7) !important;
  box-shadow:inset 0 -8px 20px rgba(0,112,55,.12) !important;
}
.vivid-finance-stats .expense-art{
  background:linear-gradient(145deg,#ff5364,#ff9b79) !important;
  box-shadow:inset 0 -8px 20px rgba(181,35,55,.13) !important;
}
.vivid-finance-stats .saving-art{
  background:linear-gradient(145deg,#7653e9,#b98cff) !important;
  box-shadow:inset 0 -8px 20px rgba(68,42,164,.14) !important;
}
.vivid-finance-stats .main-emoji{
  font-size:58px !important;
  line-height:1 !important;
  display:block !important;
  transform:translateY(1px) !important;
  filter:saturate(1.25) drop-shadow(0 6px 7px rgba(0,0,0,.12)) !important;
}
.vivid-finance-stats .spark{
  position:absolute !important;
  color:#fff !important;
  font-size:15px !important;
  text-shadow:0 2px 7px rgba(0,0,0,.12) !important;
}
.vivid-finance-stats .spark.s1{left:10px !important;top:9px !important}
.vivid-finance-stats .spark.s2{right:10px !important;bottom:8px !important;font-size:12px !important}
.vivid-finance-stats .finance-stat-copy{
  text-align:left !important;
  width:100% !important;
  padding:0 3px !important;
}
.vivid-finance-stats .finance-stat .k{
  font-size:10px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.35px !important;
  margin-bottom:3px !important;
}
.vivid-finance-stats .income-stat .k{color:#14964d !important}
.vivid-finance-stats .expense-stat .k{color:#ef4058 !important}
.vivid-finance-stats .saving-stat .k{color:#6944d7 !important}
.vivid-finance-stats .finance-stat .v{
  font-size:17px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  color:#10182b !important;
}
.vivid-finance-stats .finance-arrow{
  position:absolute !important;
  right:9px !important;
  bottom:9px !important;
  width:25px !important;
  height:25px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  font-size:20px !important;
  font-weight:800 !important;
}
.vivid-finance-stats .income-stat .finance-arrow{background:#e4f7ea !important;color:#159a4e !important}
.vivid-finance-stats .expense-stat .finance-arrow{background:#ffe5e9 !important;color:#ef4058 !important}
.vivid-finance-stats .saving-stat .finance-arrow{background:#eee6ff !important;color:#6944d7 !important}

/* On neutralise les anciens styles mini-icon pour ces cartes uniquement */
.vivid-finance-stats .mini-icon{display:none !important}

@media (max-width:390px){
  .vivid-finance-stats{gap:7px !important}
  .vivid-finance-stats .finance-stat{min-height:154px !important;padding:8px 7px 10px !important}
  .vivid-finance-stats .finance-art{height:80px !important}
  .vivid-finance-stats .main-emoji{font-size:52px !important}
  .vivid-finance-stats .finance-stat .k{font-size:9px !important}
  .vivid-finance-stats .finance-stat .v{font-size:15px !important}
}


/* ===== V37.6 — cartes entièrement colorées ===== */
.vivid-finance-stats .finance-stat{
  border:0 !important;
  box-shadow:0 10px 24px rgba(22,42,96,.16) !important;
}
.vivid-finance-stats .income-stat{
  background:linear-gradient(145deg,#1976e9,#3e9cff) !important;
}
.vivid-finance-stats .expense-stat{
  background:linear-gradient(145deg,#ef3f55,#ff6d74) !important;
}
.vivid-finance-stats .saving-stat{
  background:linear-gradient(145deg,#6c4ad9,#9670ef) !important;
}
.vivid-finance-stats .finance-art{
  background:rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}
.vivid-finance-stats .finance-stat .k,
.vivid-finance-stats .finance-stat .v{
  color:#fff !important;
}
.vivid-finance-stats .finance-arrow{
  background:rgba(255,255,255,.20) !important;
  color:#fff !important;
}

/* Gros + principal : bleu foncé et beaucoup plus visible */
.fab,
.add-fab,
button.fab{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  min-height:68px !important;
  border-radius:50% !important;
  background:#102d70 !important;
  color:#fff !important;
  font-size:38px !important;
  font-weight:500 !important;
  line-height:1 !important;
  box-shadow:0 12px 28px rgba(16,45,112,.34) !important;
  border:3px solid rgba(255,255,255,.92) !important;
}


/* ===== V37.7 — DESIGN VALIDÉ =====
   Conserve toute la logique V37.6 ; retouche visuelle de l'accueil uniquement.
*/
.vivid-finance-stats{gap:9px!important}
.vivid-finance-stats .finance-stat{
  min-height:178px!important;
  padding:11px 9px 13px!important;
  border:0!important;
  border-radius:22px!important;
  box-shadow:0 13px 28px rgba(13,35,105,.22)!important;
  color:#fff!important;
}
.vivid-finance-stats .income-stat{
  background:linear-gradient(145deg,#24a8ff 0%,#1570ed 58%,#145bd2 100%)!important;
}
.vivid-finance-stats .expense-stat{
  background:linear-gradient(145deg,#ff746b 0%,#ff4f5f 58%,#ed334f 100%)!important;
}
.vivid-finance-stats .saving-stat{
  background:linear-gradient(145deg,#c04cf1 0%,#9634e7 48%,#7026d2 100%)!important;
}
.vivid-finance-stats .finance-art{
  height:101px!important;
  margin-bottom:8px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.015))!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.vivid-finance-stats .main-emoji{
  font-size:72px!important;
  filter:saturate(1.35) contrast(1.03) drop-shadow(0 7px 8px rgba(0,0,0,.16))!important;
}
.vivid-finance-stats .spark{font-size:18px!important;color:#fff8b8!important}
.vivid-finance-stats .finance-stat .k{
  color:#fff!important;font-size:11px!important;text-transform:uppercase!important;
  letter-spacing:.2px!important;text-shadow:0 1px 2px rgba(0,0,0,.08)!important
}
.vivid-finance-stats .finance-stat .v{
  color:#fff!important;font-size:18px!important;text-shadow:0 1px 2px rgba(0,0,0,.08)!important
}
.vivid-finance-stats .finance-arrow{
  width:30px!important;height:30px!important;right:9px!important;bottom:9px!important;
  background:rgba(255,255,255,.90)!important;font-size:23px!important
}
.vivid-finance-stats .income-stat .finance-arrow{color:#176ee5!important}
.vivid-finance-stats .expense-stat .finance-arrow{color:#ef3d55!important}
.vivid-finance-stats .saving-stat .finance-arrow{color:#7b2bd7!important}

/* Plus principal encore plus grand */
.fab,.add-fab,button.fab{
  width:82px!important;height:82px!important;min-width:82px!important;min-height:82px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#082b94,#174bd8 55%,#2367ef)!important;
  color:#fff!important;font-size:50px!important;font-weight:400!important;
  border:0!important;
  box-shadow:0 17px 36px rgba(10,48,150,.38)!important;
  bottom:calc(env(safe-area-inset-bottom) + 80px)!important;
}

/* L'objectif gagne lui aussi un peu de relief/couleur, sans assombrir toute l'app */
.recovery-card{
  background:linear-gradient(135deg,#0b46c9 0%,#1163e8 62%,#2d7df1 100%)!important;
}

/* Mobile étroit */
@media(max-width:390px){
 .vivid-finance-stats .finance-stat{min-height:166px!important;padding:9px 7px 11px!important}
 .vivid-finance-stats .finance-art{height:92px!important}
 .vivid-finance-stats .main-emoji{font-size:64px!important}
 .fab,.add-fab,button.fab{width:78px!important;height:78px!important;min-width:78px!important;min-height:78px!important;font-size:47px!important}
}


/* ===== V37.8 — ACCUEIL CALÉ SUR LA MAQUETTE VALIDÉE IMG_7308 ===== */
.hero{
  background:linear-gradient(135deg,#062487 0%,#0639b9 55%,#0b2b8f 100%)!important;
  border-radius:0 0 32px 32px!important;
}
.hero h1,.hero .balance,.hero .balance-label{color:#fff!important}
.hero .subtitle{color:rgba(255,255,255,.82)!important}

.vivid-finance-stats{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;
}
.vivid-finance-stats .finance-stat{
  min-height:286px!important;padding:0 0 15px!important;overflow:hidden!important;
  border-radius:23px!important;border:0!important;color:#fff!important;
  box-shadow:0 12px 24px rgba(13,31,98,.20)!important;
}
.vivid-finance-stats .income-stat{background:linear-gradient(145deg,#31b9ff,#0877ee)!important}
.vivid-finance-stats .expense-stat{background:linear-gradient(145deg,#ff7169,#ff4353)!important}
.vivid-finance-stats .saving-stat{background:linear-gradient(145deg,#c64df3,#8625df)!important}
.vivid-finance-stats .finance-art{
  height:190px!important;width:100%!important;margin:0 0 9px!important;border-radius:0!important;
  background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;
  box-shadow:none!important;
}
.vivid-finance-stats .income-stat .finance-art{background-image:url('finance-income.jpg')!important}
.vivid-finance-stats .expense-stat .finance-art{background-image:url('finance-expense.jpg')!important}
.vivid-finance-stats .saving-stat .finance-art{background-image:url('finance-saving.jpg')!important}
.vivid-finance-stats .finance-art>*{display:none!important}
.vivid-finance-stats .finance-stat .k{
  color:#fff!important;font-size:17px!important;font-weight:900!important;letter-spacing:.2px!important;
  padding:0 16px!important;text-transform:uppercase!important;
}
.vivid-finance-stats .finance-stat .v{
  color:#fff!important;font-size:20px!important;font-weight:850!important;padding:3px 16px 0!important;
}
.vivid-finance-stats .finance-arrow{
  width:43px!important;height:43px!important;right:13px!important;bottom:13px!important;
  border-radius:50%!important;background:#fff!important;font-size:29px!important;font-weight:900!important;
}
.vivid-finance-stats .income-stat .finance-arrow{color:#0877ee!important}
.vivid-finance-stats .expense-stat .finance-arrow{color:#f13f51!important}
.vivid-finance-stats .saving-stat .finance-arrow{color:#7e28d8!important}

.home-analysis-tabs,.home-tabs{
  background:#eef2fb!important;border-radius:23px!important;padding:5px!important;
}
.home-analysis-tabs .active,.home-tabs .active{
  background:linear-gradient(135deg,#083bbd,#0755db)!important;color:#fff!important;
  border-radius:20px!important;box-shadow:0 7px 16px rgba(0,61,190,.20)!important;
}

/* Keep the real objective data, but match the approved sky-blue visual treatment. */
.recovery-card{
  background:linear-gradient(135deg,#8bd3ff 0%,#73bdf5 58%,#8dcdf8 100%)!important;
  color:#071b4a!important;border-radius:22px!important;box-shadow:0 10px 22px rgba(40,98,170,.16)!important;
}
.recovery-card *{color:#071b4a}
.recovery-card .progress-fill{background:linear-gradient(90deg,#19dc78,#31ed9b)!important}

/* Monthly budgets card from the approved composition. */
.monthly-budgets-card,.budgets-month-card{
  border-top:4px solid #7b35e8!important;border-radius:22px!important;
  background:linear-gradient(135deg,#fff 0%,#fff 62%,#f4efff 100%)!important;
}

/* Very large centered dark-blue add button as in the approved mockup. */
.fab,.add-fab,button.fab{
  width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important;
  border-radius:50%!important;background:radial-gradient(circle at 38% 28%,#1458f1,#0735c5 62%,#06279d)!important;
  color:#fff!important;font-size:68px!important;font-weight:300!important;border:0!important;
  box-shadow:0 18px 34px rgba(5,45,166,.38)!important;
  bottom:calc(env(safe-area-inset-bottom) + 77px)!important;
}
.bottom-nav{background:rgba(255,255,255,.97)!important;border-radius:28px 28px 0 0!important}

@media(max-width:430px){
 .vivid-finance-stats .finance-stat{min-height:230px!important}
 .vivid-finance-stats .finance-art{height:150px!important}
 .vivid-finance-stats .finance-stat .k{font-size:13px!important;padding:0 10px!important}
 .vivid-finance-stats .finance-stat .v{font-size:16px!important;padding-left:10px!important}
 .vivid-finance-stats .finance-arrow{width:36px!important;height:36px!important;right:8px!important;bottom:10px!important}
 .fab,.add-fab,button.fab{width:94px!important;height:94px!important;min-width:94px!important;min-height:94px!important;font-size:58px!important}
}



/* ===== V37.9 — VISUEL CORRIGÉ SUR LA PHOTO DE RÉFÉRENCE ===== */
.top-shell{
  background:linear-gradient(135deg,#06258e 0%,#073cc0 58%,#082b93 100%)!important;
  border-radius:0 0 32px 32px!important;
}

/* Absolute override: no white lower section in any finance card. */
.top-shell .vivid-finance-stats .finance-stat{
  min-height:0!important;height:auto!important;aspect-ratio:.75!important;
  padding:0!important;border:0!important;overflow:hidden!important;
  border-radius:22px!important;box-shadow:0 10px 22px rgba(0,34,130,.20)!important;
}
.top-shell .vivid-finance-stats .income-stat{background:linear-gradient(145deg,#35baff,#0877ee)!important}
.top-shell .vivid-finance-stats .expense-stat{background:linear-gradient(145deg,#ff746a,#ff4354)!important}
.top-shell .vivid-finance-stats .saving-stat{background:linear-gradient(145deg,#c64df3,#8426df)!important}
.top-shell .vivid-finance-stats .finance-art{
  height:66%!important;flex:0 0 66%!important;width:100%!important;border-radius:0!important;margin:0!important;
}
.top-shell .vivid-finance-stats .finance-stat-copy{
  padding:9px 12px 11px!important;background:transparent!important;
}
.top-shell .vivid-finance-stats .finance-stat .k,
.top-shell .vivid-finance-stats .finance-stat .v{color:#fff!important}
.top-shell .vivid-finance-stats .finance-arrow{background:#fff!important}

/* Objective as approved: bright blue + target + mountain. */
.exact-objective-card{
  min-height:164px!important;background:linear-gradient(115deg,#8bd5ff,#73c2f7 56%,#96d5fb)!important;
  color:#081c4d!important;border:0!important;border-radius:22px!important;overflow:hidden!important;
  position:relative!important;padding:18px 22px!important;
}
.exact-objective-card .exact-hidden-icon{display:none!important}
.exact-objective-card .section-head,
.exact-objective-card .goal-main-title,
.exact-objective-card .muted,
.exact-objective-card .progress,
.exact-objective-card .progress-label{position:relative!important;z-index:3!important}
.exact-objective-card .section-head,.exact-objective-card .goal-main-title{padding-left:66px!important}
.exact-objective-card .goal-main-title{font-size:25px!important;color:#071b4a!important}
.exact-objective-card .section-head h2,
.exact-objective-card .muted,
.exact-objective-card .progress-label{color:#193060!important}
.exact-objective-card .status-pill{background:#4f9fec!important;color:#fff!important}
.objective-target-art{
  position:absolute!important;left:16px!important;top:17px!important;width:62px!important;height:62px!important;
  object-fit:cover!important;border-radius:16px!important;z-index:2!important;
}
.objective-mountain-art{
  position:absolute!important;right:0!important;bottom:0!important;width:170px!important;height:126px!important;
  object-fit:cover!important;opacity:.98!important;z-index:1!important;
}
.exact-objective-card .progress{width:72%!important;z-index:4!important}
.exact-objective-card .bar.ok{background:linear-gradient(90deg,#18dc78,#43ef9b)!important}

/* Budgets card with the wallet illustration from the reference. */
.exact-budget-card{
  min-height:142px!important;border:1px solid #ebe8f5!important;border-top:4px solid #7a39e8!important;
  border-radius:22px!important;position:relative!important;overflow:hidden!important;
  padding:17px 20px!important;background:#fff!important;
}
.exact-budget-card .section-head,.exact-budget-card .home-budget-grid{
  position:relative!important;z-index:2!important;width:72%!important;
}
.budget-wallet-art{
  position:absolute!important;right:-4px!important;bottom:-2px!important;width:185px!important;height:105px!important;
  object-fit:cover!important;z-index:1!important;
}

/* Accueil / Analyse */
.home-view-switch{border-radius:23px!important;background:#eef2fb!important;padding:5px!important}
.home-view-switch button.active{
  border-radius:20px!important;background:linear-gradient(135deg,#0737bb,#0754dc)!important;color:#fff!important;
}

/* Floating + matched to the approved mockup. */
.fab,.add-fab,button.fab{
  width:92px!important;height:92px!important;min-width:92px!important;min-height:92px!important;
  border-radius:50%!important;background:radial-gradient(circle at 38% 28%,#155df4,#073fcf 62%,#062aa2)!important;
  color:#fff!important;font-size:58px!important;border:0!important;
  box-shadow:0 17px 35px rgba(4,48,170,.38)!important;
}

@media(max-width:430px){
  .top-shell .vivid-finance-stats{gap:7px!important}
  .top-shell .vivid-finance-stats .finance-stat{aspect-ratio:.73!important}
  .top-shell .vivid-finance-stats .finance-stat .k{font-size:10px!important}
  .top-shell .vivid-finance-stats .finance-stat .v{font-size:15px!important}
  .top-shell .vivid-finance-stats .finance-arrow{width:31px!important;height:31px!important;font-size:20px!important}
  .exact-objective-card{min-height:150px!important;padding:16px 17px!important}
  .exact-objective-card .section-head,.exact-objective-card .goal-main-title{padding-left:57px!important}
  .exact-objective-card .goal-main-title{font-size:21px!important}
  .objective-target-art{width:54px!important;height:54px!important;left:13px!important;top:15px!important}
  .objective-mountain-art{width:145px!important;height:108px!important}
  .budget-wallet-art{width:150px!important;height:92px!important}
  .fab,.add-fab,button.fab{width:86px!important;height:86px!important;min-width:86px!important;min-height:86px!important;font-size:54px!important}
}



/* ===== V38 FINAL ===== */
body:not([data-active-tab="home"]) .top-shell .modern-stats{
  display:none!important;
}
body:not([data-active-tab="home"]) .top-shell .modern-hero{
  padding-bottom:4px!important;
}
body:not([data-active-tab="home"]) .top-shell{
  padding-bottom:12px!important;
  border-radius:0 0 24px 24px!important;
}
.top-header{
  padding-top:max(10px,env(safe-area-inset-top))!important;
}



/* ===== V38.1 — polish labels + objective vector ===== */

/* Finance cards: smaller arrow circles + full labels */
.top-shell .vivid-finance-stats .finance-stat-copy{
  padding:8px 10px 10px!important;
  padding-right:38px!important;
}
.top-shell .vivid-finance-stats .finance-stat .k{
  font-size:10.5px!important;
  line-height:1.05!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  margin-bottom:2px!important;
}
.top-shell .vivid-finance-stats .finance-stat .v{
  font-size:16px!important;
  line-height:1!important;
}
.top-shell .vivid-finance-stats .finance-arrow{
  width:27px!important;
  height:27px!important;
  right:7px!important;
  bottom:8px!important;
  font-size:18px!important;
  line-height:1!important;
  box-shadow:0 4px 10px rgba(0,0,0,.10)!important;
}

/* Clean vector objective decoration */
.exact-objective-card{
  overflow:hidden!important;
}
.objective-target-art{
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
  image-rendering:auto!important;
}
.objective-mountain-art{
  width:170px!important;
  height:118px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  image-rendering:auto!important;
}
.exact-objective-card .section-head,
.exact-objective-card .goal-main-title{
  padding-left:64px!important;
}
.exact-objective-card .status-pill{
  position:relative!important;
  z-index:5!important;
}

@media(max-width:390px){
  .top-shell .vivid-finance-stats .finance-stat-copy{
    padding-right:33px!important;
  }
  .top-shell .vivid-finance-stats .finance-stat .k{
    font-size:9.2px!important;
  }
  .top-shell .vivid-finance-stats .finance-stat .v{
    font-size:14.5px!important;
  }
  .top-shell .vivid-finance-stats .finance-arrow{
    width:24px!important;
    height:24px!important;
    font-size:16px!important;
    right:6px!important;
    bottom:7px!important;
  }
  .objective-target-art{
    width:50px!important;
    height:50px!important;
  }
  .objective-mountain-art{
    width:145px!important;
    height:102px!important;
  }
}


/* V38.12 — accueil : objectif restauré + gros bouton d'ajout central */
#homeMainView:not(.hidden), #personalHome:not(.hidden), #jointHome:not(.hidden){display:block!important}
#homeMainView .exact-objective-card{
  display:block!important;
  position:relative!important;
  margin:14px 0!important;
  min-height:154px!important;
  overflow:hidden!important;
}
.bottom-nav-reworked{
  overflow:visible!important;
  align-items:center!important;
}
.bottom-nav-reworked .center-nav-add{
  overflow:visible!important;
  position:relative!important;
  height:64px!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:12!important;
}
.bottom-nav-reworked .center-nav-add-circle{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:64px!important;
  height:64px!important;
  border-radius:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#123caa,#245bd4)!important;
  color:#fff!important;
  font-size:38px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:0 12px 28px rgba(18,60,170,.30)!important;
}
.bottom-nav-reworked .center-nav-add span:not(.center-nav-add-circle){display:none!important}

/* V38.13 — corrections finales demandées */
.top-shell{position:relative!important}
#topSettingsButton.top-settings-clean{
  position:absolute!important;
  left:auto!important;
  right:16px!important;
  top:16px!important;
  margin:0!important;
  transform:none!important;
  z-index:999!important;
}
#homeMainView{display:block!important}
#personalHome:not(.hidden),#jointHome:not(.hidden){display:block!important}
#homeMainView .exact-objective-card{display:block!important;visibility:visible!important;opacity:1!important}
@media(max-width:390px){
  #topSettingsButton.top-settings-clean{left:auto!important;right:12px!important}
}


/* V38.15 — restauration ciblée, sans redessiner le reste */
#personalHome:not(.hidden){
  display:block!important;
}
#personalHome .exact-objective-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
#personalHome .exact-objective-card .section-head{
  position:relative!important;
  z-index:4!important;
}
#personalHome .exact-objective-card .goal-main-title{
  position:relative!important;
  z-index:4!important;
}
/* Réglages : reste en haut à droite comme demandé précédemment */
#topSettingsButton{
  left:auto!important;
  right:16px!important;
}
@media(max-width:390px){
  #topSettingsButton{left:auto!important;right:12px!important}
}


/* V38.16 — référence utilisateur : objectif compact + illustrations intégrées */
#personalHome .exact-objective-card{
  position:relative!important;
  min-height:148px!important;
  height:auto!important;
  padding:18px 18px 16px 96px!important;
  margin:14px 0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:linear-gradient(110deg,#87d5ff 0%,#73c8f7 55%,#9bdcff 100%)!important;
  color:#071b4a!important;
  box-shadow:0 10px 24px rgba(30,94,174,.13)!important;
}
#personalHome .exact-objective-card .objective-target-art{
  display:block!important;
  position:absolute!important;
  left:18px!important;
  top:18px!important;
  width:62px!important;
  height:62px!important;
  object-fit:contain!important;
  z-index:5!important;
}
#personalHome .exact-objective-card .objective-mountain-art{
  display:block!important;
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  width:185px!important;
  height:116px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  z-index:1!important;
}
#personalHome .exact-objective-card .section-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 7px 0!important;
  position:relative!important;
  z-index:6!important;
}
#personalHome .exact-objective-card .section-head h2{
  margin:0 0 3px 0!important;
  padding:0!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:.7px!important;
  text-transform:uppercase!important;
  color:#24447d!important;
}
#personalHome .exact-objective-card .goal-main-title{
  margin:0!important;
  padding:0!important;
  font-size:23px!important;
  line-height:1.08!important;
  font-weight:950!important;
  color:#071b4a!important;
  white-space:nowrap!important;
}
#personalHome .exact-objective-card .status-pill{
  position:relative!important;
  z-index:7!important;
  margin-top:-2px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  background:#478de9!important;
  color:white!important;
  font-size:10px!important;
  font-weight:850!important;
}
#personalHome .exact-objective-card>.muted,
#personalHome .exact-objective-card>.progress,
#personalHome .exact-objective-card>.progress-label{
  position:relative!important;
  z-index:6!important;
  margin-left:-78px!important;
  width:72%!important;
}
#personalHome .exact-objective-card>.muted{
  margin-top:5px!important;
  color:#173a70!important;
  font-size:12px!important;
}
#personalHome .exact-objective-card>.progress{
  height:8px!important;
  margin-top:9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.42)!important;
  overflow:hidden!important;
}
#personalHome .exact-objective-card>.progress .bar.ok{
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#22df7c,#48ee9b)!important;
}
#personalHome .exact-objective-card>.progress-label{
  margin-top:6px!important;
  color:#173a70!important;
  font-size:11px!important;
}

/* Le bouton + central demandé : vraiment rond, pas carré arrondi */
.bottom-nav-reworked .center-nav-add-circle,
.center-nav-add-circle{
  width:66px!important;
  height:66px!important;
  min-width:66px!important;
  min-height:66px!important;
  max-width:66px!important;
  max-height:66px!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#1767ff,#0743cc)!important;
  color:#fff!important;
  border:4px solid #fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:39px!important;
  line-height:1!important;
  box-shadow:0 9px 22px rgba(7,58,176,.28)!important;
  transform:translateY(-8px)!important;
  overflow:hidden!important;
}
@media(max-width:390px){
  #personalHome .exact-objective-card{padding-left:88px!important}
  #personalHome .exact-objective-card .objective-target-art{left:15px!important;width:58px!important;height:58px!important}
  #personalHome .exact-objective-card .goal-main-title{font-size:21px!important}
  #personalHome .exact-objective-card .objective-mountain-art{width:165px!important;height:108px!important}
  #personalHome .exact-objective-card>.muted,
  #personalHome .exact-objective-card>.progress,
  #personalHome .exact-objective-card>.progress-label{margin-left:-70px!important;width:70%!important}
}


/* ===== V38.18 — OBJECTIF VERROUILLÉ SUR LA RÉFÉRENCE ===== */
#objectiveCardPersonal.objective-final-card{
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:144px!important;
  margin:14px 0!important;
  padding:17px 18px 15px!important;
  border:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:linear-gradient(112deg,#86d6ff 0%,#73c6f7 56%,#9bdcff 100%)!important;
  color:#071b4a!important;
  box-shadow:0 10px 24px rgba(31,92,176,.13)!important;
  cursor:pointer!important;
}

#objectiveCardPersonal .objective-final-target{
  display:block!important;
  position:absolute!important;
  left:17px!important;
  top:16px!important;
  width:54px!important;
  height:54px!important;
  object-fit:contain!important;
  z-index:5!important;
}

#objectiveCardPersonal .objective-final-copy{
  position:relative!important;
  z-index:6!important;
  margin-left:66px!important;
  padding-right:132px!important;
  min-height:51px!important;
}

#objectiveCardPersonal .objective-final-eyebrow{
  margin:0 0 3px!important;
  font-size:10.5px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.7px!important;
  color:#284a84!important;
}

#objectiveCardPersonal .objective-final-title{
  margin:0!important;
  font-size:20px!important;
  line-height:1.08!important;
  font-weight:950!important;
  color:#071b4a!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

#objectiveCardPersonal .objective-final-badge{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:8!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#4a8fe8!important;
  color:#fff!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:850!important;
}

#objectiveCardPersonal .objective-final-mountain{
  display:block!important;
  position:absolute!important;
  right:4px!important;
  bottom:0!important;
  width:132px!important;
  height:88px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  z-index:2!important;
}

#objectiveCardPersonal .objective-final-balance{
  position:relative!important;
  z-index:6!important;
  margin-top:5px!important;
  width:70%!important;
  font-size:11.5px!important;
  line-height:1.1!important;
  color:#173a70!important;
}

#objectiveCardPersonal .objective-final-progress{
  position:relative!important;
  z-index:6!important;
  width:70%!important;
  height:7px!important;
  margin-top:9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.46)!important;
  overflow:hidden!important;
}

#objectiveCardPersonal .objective-final-progressbar{
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#22df7c,#49ed9b)!important;
}

#objectiveCardPersonal .objective-final-bottom{
  position:relative!important;
  z-index:6!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:70%!important;
  margin-top:6px!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  color:#173a70!important;
}

/* ===== V38.18 — UN SEUL + ROND, PROPREMENT INTÉGRÉ ===== */
.bottom-nav-reworked{
  position:sticky!important;
  overflow:visible!important;
  grid-template-columns:1fr 1fr 76px 1fr 1fr!important;
  align-items:center!important;
  min-height:78px!important;
  padding-top:12px!important;
}

.bottom-nav-reworked .center-nav-add{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:76px!important;
  min-width:76px!important;
  height:58px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.bottom-nav-reworked .center-nav-add .center-nav-add-circle{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-68%)!important;
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  min-height:68px!important;
  max-width:68px!important;
  max-height:68px!important;
  aspect-ratio:1/1!important;
  box-sizing:border-box!important;
  padding:0!important;
  border:4px solid #fff!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#1767ff 0%,#084bd5 62%,#0738b8 100%)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:39px!important;
  font-weight:300!important;
  line-height:1!important;
  box-shadow:0 9px 22px rgba(7,58,176,.28)!important;
  z-index:20!important;
}

/* Réglages bien en haut à droite */
#topSettingsButton{
  position:absolute!important;
  left:auto!important;
  right:16px!important;
  top:14px!important;
  transform:none!important;
  margin:0!important;
  z-index:999!important;
}

@media(max-width:390px){
  #objectiveCardPersonal.objective-final-card{min-height:140px!important;padding:16px 15px 14px!important}
  #objectiveCardPersonal .objective-final-target{left:14px!important;top:15px!important;width:50px!important;height:50px!important}
  #objectiveCardPersonal .objective-final-copy{margin-left:60px!important;padding-right:118px!important}
  #objectiveCardPersonal .objective-final-title{font-size:18.5px!important}
  #objectiveCardPersonal .objective-final-mountain{width:120px!important;height:82px!important}
  #objectiveCardPersonal .objective-final-balance,
  #objectiveCardPersonal .objective-final-progress,
  #objectiveCardPersonal .objective-final-bottom{width:68%!important}
  .bottom-nav-reworked .center-nav-add .center-nav-add-circle{
    width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;
    max-width:64px!important;max-height:64px!important;font-size:37px!important;
  }
  #topSettingsButton{right:12px!important}
}


/* ===== V38.21 — NAVIGATION ISOLÉE, SANS ANCIENS STYLES ===== */
.app{
  padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
}

#mbBottomNav.mb-bottom-nav{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:calc(8px + env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;

  display:grid!important;
  grid-template-columns:1fr 1fr 78px 1fr 1fr!important;
  align-items:center!important;
  gap:0!important;

  width:min(680px, calc(100% - 18px))!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;

  margin:0!important;
  padding:8px 8px!important;
  box-sizing:border-box!important;

  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:27px!important;
  box-shadow:0 14px 38px rgba(23,38,82,.14)!important;

  overflow:visible!important;
  z-index:500!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
}

#mbBottomNav .mb-nav-item{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;

  width:100%!important;
  min-width:0!important;
  height:64px!important;

  margin:0!important;
  padding:4px 1px!important;

  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;

  color:#8c96aa!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
}

#mbBottomNav .mb-nav-item.active{
  background:transparent!important;
  color:#1357d8!important;
}

#mbBottomNav .mb-nav-icon{
  display:block!important;
  margin:0 0 6px!important;
  font-size:19px!important;
  line-height:1!important;
  color:inherit!important;
}

#mbBottomNav .mb-nav-label{
  display:block!important;
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1!important;
  color:inherit!important;
}

#mbBottomNav .mb-nav-add{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:78px!important;
  min-width:78px!important;
  max-width:78px!important;
  height:64px!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}

#mbBottomNav .mb-nav-add-circle{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-62%)!important;

  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  min-height:68px!important;
  max-width:68px!important;
  max-height:68px!important;
  aspect-ratio:1/1!important;

  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;

  border:4px solid #fff!important;
  border-radius:50%!important;

  background:linear-gradient(145deg,#1767ff 0%,#084bd5 62%,#0738b8 100%)!important;
  color:#fff!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  font-size:39px!important;
  font-weight:300!important;
  line-height:1!important;

  box-shadow:0 10px 24px rgba(7,58,176,.30)!important;
  z-index:10!important;
}

/* Réglages : bien en haut à droite */
#topSettingsButton{
  position:absolute!important;
  left:auto!important;
  right:16px!important;
  top:14px!important;
  transform:none!important;
  margin:0!important;
  z-index:999!important;
}

@media(max-width:390px){
  #mbBottomNav.mb-bottom-nav{
    grid-template-columns:1fr 1fr 70px 1fr 1fr!important;
    width:calc(100% - 14px)!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }

  #mbBottomNav .mb-nav-add{
    width:70px!important;
    min-width:70px!important;
    max-width:70px!important;
  }

  #mbBottomNav .mb-nav-add-circle{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
    max-width:62px!important;
    max-height:62px!important;
    font-size:36px!important;
  }

  #mbBottomNav .mb-nav-label{
    font-size:9px!important;
  }

  #topSettingsButton{
    right:12px!important;
  }
}


/* ===== V38.22 — FINITIONS DESIGN ===== */

/* Cartes Revenus / Dépenses / Épargne : aucune cassure visuelle */
.top-shell .vivid-finance-stats{
  gap:10px!important;
}
.top-shell .vivid-finance-stats .finance-stat{
  padding:0!important;
  border:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 10px 24px rgba(14,39,110,.18)!important;
}
.top-shell .vivid-finance-stats .finance-art{
  width:100%!important;
  height:112px!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.top-shell .vivid-finance-stats .finance-art img,
.top-shell .vivid-finance-stats .finance-art .finance-photo{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:0!important;
}
.top-shell .vivid-finance-stats .finance-stat-copy{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:62px!important;
  margin:0!important;
  padding:10px 40px 10px 12px!important;
  border:0!important;
  border-radius:0!important;
}
.top-shell .vivid-finance-stats .finance-stat:nth-child(1),
.top-shell .vivid-finance-stats .finance-stat:nth-child(1) .finance-stat-copy{
  background:linear-gradient(180deg,#28adf4 0%,#1688ec 100%)!important;
}
.top-shell .vivid-finance-stats .finance-stat:nth-child(2),
.top-shell .vivid-finance-stats .finance-stat:nth-child(2) .finance-stat-copy{
  background:linear-gradient(180deg,#ff5d62 0%,#ff444f 100%)!important;
}
.top-shell .vivid-finance-stats .finance-stat:nth-child(3),
.top-shell .vivid-finance-stats .finance-stat:nth-child(3) .finance-stat-copy{
  background:linear-gradient(180deg,#bb43e9 0%,#9728df 100%)!important;
}
.top-shell .vivid-finance-stats .finance-stat .k,
.top-shell .vivid-finance-stats .finance-stat .v{
  color:#fff!important;
}
.top-shell .vivid-finance-stats .finance-arrow{
  bottom:12px!important;
}

/* Cible : aucun carré de fond, elle se fond directement dans la carte */
#objectiveCardPersonal .objective-final-target{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}


/* ===== V38.24 — LISSAGE FINAL DES 3 CARTES ===== */

.top-shell .finance-stat{
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:22px!important;
  padding:0!important;
  box-shadow:0 10px 24px rgba(14,39,110,.18)!important;
  isolation:isolate!important;
}

.top-shell .finance-stat .finance-art{
  position:relative!important;
  width:100%!important;
  height:calc(66% + 3px)!important;
  margin:0 0 -3px 0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center!important;
  z-index:1!important;
}

/* Petit fondu en bas de l'image pour effacer totalement la jonction */
.top-shell .finance-stat .finance-art::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:18px!important;
  pointer-events:none!important;
  z-index:3!important;
}

.top-shell .finance-stat.income-stat .finance-art::after{
  background:linear-gradient(to bottom,rgba(22,136,236,0),#1688ec 95%)!important;
}
.top-shell .finance-stat.expense-stat .finance-art::after{
  background:linear-gradient(to bottom,rgba(255,68,79,0),#ff444f 95%)!important;
}
.top-shell .finance-stat.saving-stat .finance-art::after{
  background:linear-gradient(to bottom,rgba(151,40,223,0),#9728df 95%)!important;
}

.top-shell .finance-stat .finance-stat-copy{
  position:relative!important;
  z-index:4!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}

.top-shell .finance-stat.income-stat,
.top-shell .finance-stat.income-stat .finance-stat-copy{
  background:#1688ec!important;
}
.top-shell .finance-stat.expense-stat,
.top-shell .finance-stat.expense-stat .finance-stat-copy{
  background:#ff444f!important;
}
.top-shell .finance-stat.saving-stat,
.top-shell .finance-stat.saving-stat .finance-stat-copy{
  background:#9728df!important;
}

/* Supprime tout trait/ombre interne parasite */
.top-shell .finance-stat::before,
.top-shell .finance-stat::after,
.top-shell .finance-stat .finance-stat-copy::before,
.top-shell .finance-stat .finance-stat-copy::after{
  border:0!important;
  box-shadow:none!important;
}

/* Cible : toujours sans fond carré */
#objectiveCardPersonal .objective-final-target{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}



/* ===== V38.26 — CARTES FINANCE UNIQUEMENT SUR ACCUEIL ===== */
/* Au chargement initial elles restent visibles.
   Dès qu'un onglet est choisi, elles ne restent visibles que sur Accueil. */
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .vivid-finance-stats{
  display:none!important;
}

/* V38.23 — finitions lisses : supprime les coutures entre image et cartouche */
.top-shell .vivid-finance-stats .finance-stat{
  border-radius:22px!important;
  overflow:hidden!important;
  border:0!important;
  background-clip:padding-box!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black)!important;
  transform:translateZ(0)!important;
}
.top-shell .vivid-finance-stats .finance-art{
  display:block!important;
  width:100%!important;
  margin:0 0 -2px 0!important;
  border:0!important;
  box-shadow:none!important;
  background-color:transparent!important;
}
.top-shell .vivid-finance-stats .finance-stat-copy{
  position:relative!important;
  z-index:2!important;
  margin:-2px 0 0!important;
  border:0!important;
  box-shadow:none!important;
  background-clip:padding-box!important;
}
.top-shell .vivid-finance-stats .finance-stat:nth-child(1) .finance-stat-copy{background:#1688ec!important}
.top-shell .vivid-finance-stats .finance-stat:nth-child(2) .finance-stat-copy{background:#ff444f!important}
.top-shell .vivid-finance-stats .finance-stat:nth-child(3) .finance-stat-copy{background:#9728df!important}
/* bords des grandes bulles/cartes plus réguliers */
#objectiveCardPersonal.objective-final-card,.mb-bottom-nav,.home-view-toggle{
  background-clip:padding-box!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black)!important;
  transform:translateZ(0)!important;
}

/* ===== V38.27 — AUTRES PAGES PLUS CLAIRES ===== */
body[data-active-tab="home"] #compactPageHeader{display:none!important}
body[data-active-tab]:not([data-active-tab="home"]) .top-shell{
  padding-top:14px!important;padding-bottom:14px!important;min-height:0!important;
  border-radius:0 0 28px 28px!important
}
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .top-header,
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .hero,
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .vivid-finance-stats,
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .finance-stat,
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .modern-stats{display:none!important}
body[data-active-tab]:not([data-active-tab="home"]) #compactPageHeader{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  width:100%!important;margin:2px auto 12px!important;text-align:center!important
}
.compact-page-logo{
  display:block!important;width:58px!important;height:58px!important;object-fit:contain!important;
  margin:0 auto 7px!important;border-radius:16px!important
}
.compact-page-title{
  color:#fff!important;font-size:21px!important;line-height:1.05!important;font-weight:900!important
}
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .account-switch{
  width:calc(100% - 28px)!important;max-width:540px!important;margin:0 auto!important;
  min-height:52px!important;padding:5px!important;border-radius:18px!important
}
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .account-switch .switchbtn{
  min-height:42px!important;padding:8px 10px!important;font-size:13px!important;border-radius:14px!important
}
body[data-active-tab]:not([data-active-tab="home"]) .tabcontent:not(.hidden){padding-top:14px!important}
#topSettingsButton{left:auto!important;right:16px!important;top:14px!important;z-index:1000!important}
@media(max-width:390px){
 .compact-page-logo{width:52px!important;height:52px!important;border-radius:15px!important}
 .compact-page-title{font-size:19px!important}
 body[data-active-tab]:not([data-active-tab="home"]) .top-shell .account-switch{width:calc(100% - 20px)!important}
 #topSettingsButton{right:12px!important}
}

/* ===== V38.28 — LOGO PARFAITEMENT CENTRÉ ===== */
body[data-active-tab]:not([data-active-tab="home"]) #compactPageHeader{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body[data-active-tab]:not([data-active-tab="home"]) .compact-page-logo{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  display:block!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body[data-active-tab]:not([data-active-tab="home"]) .compact-page-title{
  width:100%!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ===== V38.29 — CALENDRIER + BASCULE ENVELOPPES/CATÉGORIES RESTAURÉS ===== */

/* Historique : le calendrier et l'historique restent toujours visibles dans l'onglet */
body[data-active-tab="calendar"] #calendar.tabcontent:not(.hidden){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body[data-active-tab="calendar"] #calendar .card,
body[data-active-tab="calendar"] #calendar .month-nav,
body[data-active-tab="calendar"] #calendar .weekdays,
body[data-active-tab="calendar"] #calendar #calendarGrid,
body[data-active-tab="calendar"] #calendar #dayList{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body[data-active-tab="calendar"] #calendar .weekdays,
body[data-active-tab="calendar"] #calendar #calendarGrid{
  display:grid!important;
}

/* Enveloppes : remettre la bascule Enveloppes / Catégories */
body[data-active-tab="envelopes"] .envelope-view-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  width:calc(100% - 28px)!important;
  margin:0 auto 16px!important;
  padding:5px!important;
  border-radius:18px!important;
  background:#eef2fb!important;
  visibility:visible!important;
  opacity:1!important;
}
body[data-active-tab="envelopes"] .envelope-view-switch button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#8b94a8!important;
  font-size:15px!important;
  font-weight:900!important;
}
body[data-active-tab="envelopes"] .envelope-view-switch button.active{
  background:#fff!important;
  color:#111a33!important;
  box-shadow:0 6px 18px rgba(32,55,105,.10)!important;
}

/* Le logo portefeuille reste centré et garde son détail sombre */
.compact-page-logo{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}

.compact-page-logo{
  width:68px!important;
  height:68px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto 8px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:0 7px 18px rgba(6,30,82,.16)!important;
  position:relative!important;
  z-index:10!important;
}

#topSettingsButton{
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  right:16px!important;
  left:auto!important;
  width:52px!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(5,30,90,.16)!important;
  font-size:24px!important;
  line-height:1!important;
  z-index:99999!important;
}

#compactPageHeader{
  position:relative!important;
  width:100%!important;
  min-height:110px!important;
  padding:8px 84px 10px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:visible!important;
}

.compact-page-logo{
  width:70px!important;
  height:70px!important;
  min-width:70px!important;
  min-height:70px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 auto 8px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:0 7px 18px rgba(6,30,82,.16)!important;
  position:relative!important;
  z-index:10!important;
}

.compact-page-title{
  width:100%!important;
  max-width:calc(100vw - 170px)!important;
  margin:0 auto!important;
  text-align:center!important;
  line-height:1.15!important;
  position:relative!important;
  z-index:5!important;
}

@media(max-width:390px){
  #topSettingsButton{
    right:12px!important;
    width:48px!important;
    height:42px!important;
    font-size:22px!important;
  }
  #compactPageHeader{
    padding-left:72px!important;
    padding-right:72px!important;
  }
  .compact-page-logo{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    min-height:64px!important;
  }
  .compact-page-title{
    max-width:calc(100vw - 150px)!important;
  }
}

/* ===== V38.38 — CARTES ACCUEIL CLIQUABLES ===== */

/* Le header secondaire n'existe visuellement que hors Accueil et ne doit jamais bloquer les clics */
body[data-active-tab="home"] #compactPageHeader{
  display:none!important;
  pointer-events:none!important;
}

/* Le bouton réglages reste cliquable mais sa zone ne déborde pas */
#topSettingsButton{
  pointer-events:auto!important;
}

/* Les cartes Accueil passent au-dessus de tout overlay décoratif */
body[data-active-tab="home"] .top-shell .vivid-finance-stats{
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
}

body[data-active-tab="home"] .top-shell .finance-stat,
body[data-active-tab="home"] .top-shell .income-stat,
body[data-active-tab="home"] .top-shell .expense-stat,
body[data-active-tab="home"] .top-shell .saving-stat{
  position:relative!important;
  z-index:21!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}

body[data-active-tab="home"] .top-shell .finance-stat *,
body[data-active-tab="home"] .top-shell .income-stat *,
body[data-active-tab="home"] .top-shell .expense-stat *,
body[data-active-tab="home"] .top-shell .saving-stat *{
  pointer-events:none!important;
}

/* Tout pseudo-overlay de top-shell ne doit pas intercepter les clics */
body[data-active-tab="home"] .top-shell::before,
body[data-active-tab="home"] .top-shell::after{
  pointer-events:none!important;
}

/* ===== V38.39 — CARTES CLAIREMENT CLIQUABLES ===== */
body[data-active-tab="home"] .top-shell .finance-stat{
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease!important;
  position:relative!important;
  pointer-events:auto!important;
}

body[data-active-tab="home"] .top-shell .finance-stat:active{
  transform:scale(.97)!important;
  filter:brightness(.97)!important;
  box-shadow:0 6px 16px rgba(16,32,78,.18)!important;
}

/* Flèche ronde bien visible = indice clair qu'on peut entrer dans la carte */
body[data-active-tab="home"] .top-shell .finance-stat .finance-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:absolute!important;
  right:8px!important;
  bottom:9px!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#173f9f!important;
  font-size:21px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 4px 12px rgba(16,32,78,.18)!important;
  z-index:30!important;
  pointer-events:none!important;
}

/* Petit reflet discret au survol/touch pour renforcer l'effet bouton */
body[data-active-tab="home"] .top-shell .finance-stat::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)!important;
  pointer-events:none!important;
}

/* Toute la carte reçoit le clic, jamais les éléments internes */
body[data-active-tab="home"] .top-shell .finance-stat *{
  pointer-events:none!important;
}

.modal{z-index:200000!important}
.sheet{position:relative!important;z-index:200001!important}
body[data-active-tab="home"] .vivid-finance-stats{position:relative!important;z-index:10!important;pointer-events:auto!important}
body[data-active-tab="home"] .vivid-finance-stats .finance-stat{pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important}
body[data-active-tab="home"] .vivid-finance-stats .finance-stat *{pointer-events:none!important}
#forecastHome{margin:14px 0 0}
#forecastHome .forecast-card{background:#fff;border:1px solid #e8edf7;border-radius:22px;padding:16px;box-shadow:0 10px 26px rgba(21,48,111,.09)}
#forecastHome .forecast-real{font-size:28px;font-weight:950;color:#111a34;margin:8px 0 12px}
#forecastHome .forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#forecastHome .forecast-grid>div{background:#f7f9fd;border-radius:13px;padding:10px;display:grid;gap:4px}
#forecastHome .forecast-grid span{font-size:10px;color:#7a849a;font-weight:700}
#forecastHome .forecast-grid b{font-size:12px;color:#17213e}

:root{
  --simple-blue:#1746a2;
  --simple-blue-2:#2457c5;
  --simple-bg:#f5f7fb;
  --simple-card:#ffffff;
  --simple-text:#16203a;
  --simple-muted:#7b8498;
  --simple-border:#e5eaf3;
}

/* Base */
body{
  background:var(--simple-bg)!important;
  color:var(--simple-text)!important;
}

.app{
  max-width:720px!important;
  margin:0 auto!important;
}

/* Header simple */
.top-shell{
  background:linear-gradient(180deg,var(--simple-blue),var(--simple-blue-2))!important;
  border-radius:0 0 24px 24px!important;
  box-shadow:none!important;
}

.top-shell::before,
.top-shell::after{
  display:none!important;
}

/* No decorative emojis / image areas in the 3 main cards */
.vivid-finance-stats .finance-art,
.vivid-finance-stats .main-emoji,
.vivid-finance-stats .spark,
.vivid-finance-stats .mini-icon{
  display:none!important;
}

/* Main finance cards: plain and readable */
.vivid-finance-stats{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:9px!important;
  margin-top:14px!important;
}

.vivid-finance-stats .finance-stat{
  min-height:100px!important;
  height:auto!important;
  padding:14px 12px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.5)!important;
  box-shadow:0 5px 14px rgba(8,31,89,.12)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  overflow:hidden!important;
  color:var(--simple-text)!important;
}

.vivid-finance-stats .finance-stat-copy{
  padding:0!important;
  width:100%!important;
}

.vivid-finance-stats .finance-stat .k{
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.4px!important;
  margin:0 0 8px!important;
  color:#6f788b!important;
}

.vivid-finance-stats .finance-stat .v{
  font-size:19px!important;
  line-height:1.05!important;
  font-weight:950!important;
  color:var(--simple-text)!important;
}

.vivid-finance-stats .income-stat{
  border-top:4px solid #25a968!important;
}
.vivid-finance-stats .expense-stat{
  border-top:4px solid #e34d59!important;
}
.vivid-finance-stats .saving-stat{
  border-top:4px solid #7a59d8!important;
}

.vivid-finance-stats .finance-arrow{
  right:9px!important;
  bottom:9px!important;
  width:25px!important;
  height:25px!important;
  background:#f0f3f8!important;
  color:#55617a!important;
  box-shadow:none!important;
  font-size:17px!important;
}

/* Cards in content */
.card,
.forecast-card,
.exact-budget-card{
  border-radius:16px!important;
  border:1px solid var(--simple-border)!important;
  box-shadow:none!important;
  background:#fff!important;
}

/* Objective: no decorative target/mountain */
#objectiveCardPersonal.objective-final-card{
  min-height:0!important;
  padding:17px!important;
  border-radius:16px!important;
  background:#fff!important;
  color:var(--simple-text)!important;
  box-shadow:none!important;
  border:1px solid var(--simple-border)!important;
}

#objectiveCardPersonal .objective-final-target,
#objectiveCardPersonal .objective-final-mountain{
  display:none!important;
}

#objectiveCardPersonal .objective-final-copy{
  margin:0!important;
  padding:0 95px 0 0!important;
  min-height:0!important;
}

#objectiveCardPersonal .objective-final-eyebrow{
  font-size:10px!important;
  color:var(--simple-muted)!important;
  margin-bottom:5px!important;
}

#objectiveCardPersonal .objective-final-title{
  font-size:19px!important;
  color:var(--simple-text)!important;
}

#objectiveCardPersonal .objective-final-badge{
  top:14px!important;
  right:14px!important;
  background:#eef3ff!important;
  color:#2457c5!important;
}

#objectiveCardPersonal .objective-final-balance,
#objectiveCardPersonal .objective-final-progress,
#objectiveCardPersonal .objective-final-bottom{
  width:100%!important;
}

#objectiveCardPersonal .objective-final-balance{
  margin-top:14px!important;
  color:#4f5a71!important;
}

#objectiveCardPersonal .objective-final-progress{
  background:#edf0f5!important;
}

#objectiveCardPersonal .objective-final-bottom{
  color:#667087!important;
}

/* Forecast simpler */
#forecastHome .forecast-card{
  padding:16px!important;
}
#forecastHome .forecast-grid{
  grid-template-columns:1fr 1fr!important;
}
#forecastHome .forecast-grid>div{
  background:#f7f8fb!important;
  border-radius:12px!important;
  border:1px solid #edf0f5!important;
}

/* Budget section */
.home-budget-card{
  padding:16px!important;
}
.budget-wallet-art{
  display:none!important;
}

/* Switches / tabs */
.home-view-switch,
.account-switch,
.envelope-view-switch{
  border-radius:14px!important;
  box-shadow:none!important;
  background:#edf1f7!important;
}

.home-view-switch button,
.account-switch button,
.envelope-view-switch button{
  border-radius:11px!important;
  box-shadow:none!important;
}

/* Bottom nav: simpler */
#mbBottomNav.mb-bottom-nav{
  border-radius:18px!important;
  box-shadow:0 6px 18px rgba(18,38,86,.10)!important;
  border:1px solid var(--simple-border)!important;
}

#mbBottomNav .mb-nav-add-circle{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  border-width:3px!important;
  font-size:33px!important;
  box-shadow:0 5px 14px rgba(15,64,180,.22)!important;
}

/* Settings button simple */
#topSettingsButton{
  width:46px!important;
  height:40px!important;
  border-radius:13px!important;
  box-shadow:none!important;
  border:1px solid rgba(255,255,255,.35)!important;
  background:rgba(255,255,255,.96)!important;
}

/* Secondary pages: simple compact header */
body[data-active-tab]:not([data-active-tab="home"]) #compactPageHeader{
  min-height:72px!important;
  padding:8px 70px!important;
}

body[data-active-tab]:not([data-active-tab="home"]) .compact-page-logo{
  display:none!important;
}

body[data-active-tab]:not([data-active-tab="home"]) .compact-page-title{
  font-size:20px!important;
  color:#fff!important;
  max-width:none!important;
}

/* Remove decorative shadows */
button,
.primary,
.secondary,
.ghost,
.pill{
  box-shadow:none!important;
}

/* Better touch/readability */
button{
  -webkit-tap-highlight-color:rgba(23,70,162,.08)!important;
}

@media(max-width:390px){
  .vivid-finance-stats{
    gap:7px!important;
  }
  .vivid-finance-stats .finance-stat{
    min-height:92px!important;
    padding:12px 9px!important;
  }
  .vivid-finance-stats .finance-stat .k{
    font-size:9px!important;
  }
  .vivid-finance-stats .finance-stat .v{
    font-size:16px!important;
  }
  #forecastHome .forecast-grid{
    grid-template-columns:1fr!important;
  }
}

#homeMainView>*:not(#v40Dashboard){display:none!important}.v40-dashboard{display:grid;gap:14px;padding:2px 0 18px}.v40-dashboard *{box-sizing:border-box}
.v40-balance,.v40-section{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:16px;box-shadow:none}.v40-label{display:block;font-size:10px;font-weight:900;letter-spacing:.8px;color:#7c8597;margin-bottom:5px}
.v40-balance strong{display:block;font-size:32px;line-height:1.05;color:#17213a}.v40-balance small{display:block;margin-top:5px;color:#8a92a2;font-size:11px}
.v40-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.v40-head h2{font-size:16px!important;margin:0!important;color:#17213a!important}.v40-head span,.v40-head b{font-size:11px;color:#6e788d}
.v40-head button{border:0;background:#eef3ff;color:#2457c5;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800}.v40-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v40-summary>div{padding:12px;background:#f7f8fb;border-radius:12px;display:grid;gap:5px}
.v40-summary span{font-size:10px;color:#7d8698;font-weight:700}.v40-summary b{font-size:14px;color:#17213a}.v40-progress{height:8px;background:#edf0f5;border-radius:99px;overflow:hidden}.v40-progress i{display:block;height:100%;width:0;background:#2457c5;border-radius:99px}
.v40-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:10px;color:#7d8698}.v40-bills,.v40-envelopes{display:grid;gap:8px;margin-top:12px}.v40-bill{display:flex;align-items:center;gap:9px;padding:10px;background:#f8f9fb;border-radius:11px}
.v40-bill input{width:19px;height:19px;accent-color:#2457c5}.v40-bill .copy{flex:1;display:grid;gap:2px}.v40-bill .copy b{font-size:11px}.v40-bill .copy span{font-size:9px;color:#8a92a2}.v40-bill>strong{font-size:11px}
.v40-env{display:grid;grid-template-columns:1fr auto;gap:5px}.v40-env span{font-size:11px;font-weight:800}.v40-env small{font-size:10px;color:#687389}.v40-env .bar{grid-column:1/-1;height:6px;background:#edf0f5;border-radius:99px;overflow:hidden}.v40-env .bar i{display:block;height:100%;background:#2457c5}
.v40-cats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v40-cats div{padding:12px;background:#f7f8fb;border:1px solid #edf0f5;border-radius:11px;font-size:11px;font-weight:800;color:#34405a}.v40-cats div:last-child{grid-column:1/-1}

/* V40.1: épuré = simplifier l'accueil, jamais supprimer les pages */
#homeMainView > *:not(#v40Dashboard){display:block!important}

/* On garde le nouveau tableau de bord V40 */
#v40Dashboard{display:grid!important}

/* Les 3 anciennes grosses cartes Revenus / Dépenses / Épargne disparaissent */
#homeMainView .vivid-finance-stats{display:none!important}

/* Évite de doubler les informations déjà présentes dans le nouveau dashboard */
#homeMainView #personalHome,
#homeMainView #jointHome,
#homeMainView #forecastHome{display:none!important}

/* Navigation principale toujours visible */
#mbBottomNav{display:flex!important;visibility:visible!important;opacity:1!important}

/* Historique: identité claire par la date */
body[data-active-tab="history"] .compact-page-title::before{
  content:"📅 ";
}

/* Les 3 blocs sont dans .top-shell, PAS dans #homeMainView */
body[data-active-tab="home"] .top-shell .vivid-finance-stats{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Menu: le composant est une GRID à 5 colonnes. Ne jamais le forcer en flex. */
#mbBottomNav.mb-bottom-nav{
  display:grid!important;
  grid-template-columns:1fr 1fr 70px 1fr 1fr!important;
  visibility:visible!important;
  opacity:1!important;
  position:fixed!important;
  left:50%!important;
  bottom:calc(8px + env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  width:calc(100% - 14px)!important;
  height:82px!important;
  z-index:500000!important;
  background:#fff!important;
}

/* Toujours réserver la place du menu */
.app{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}

.v40-summary{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:390px){.v40-summary{gap:6px!important}.v40-summary>div{padding:10px 7px!important}.v40-summary span{font-size:9px!important}.v40-summary b{font-size:12px!important}}
.v40-transfer-task{border:1px solid #dfe7f6!important;background:#f7f9fd!important}

#calendar{display:grid;gap:12px}
#calendar.hidden{display:none!important}
.v404-history-intro{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px}
.v404-kicker{font-size:10px;font-weight:900;letter-spacing:.7px;color:#2457c5}
.v404-history-intro h2{font-size:20px;margin:4px 0 3px;color:#17213a}.v404-history-intro p{margin:0;font-size:11px;color:#7d8698}
.v404-compare-card{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px}
.v404-compare-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.v404-compare-head span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#7d8698}
.v404-compare-head h3{font-size:15px;margin:3px 0 0;color:#17213a}.v404-compare-head button{border:0;background:#eef3ff;color:#2457c5;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:900}
.v404-compare-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.v404-metric{background:#f7f8fb;border-radius:11px;padding:10px 8px}.v404-metric span{display:block;font-size:9px;color:#7d8698}
.v404-metric b{display:block;font-size:13px;color:#17213a;margin-top:4px}.v404-metric small{display:block;font-size:9px;margin-top:4px}.v404-up{color:#b8404d!important}.v404-down{color:#18845b!important}.v404-neutral{color:#7d8698!important}
.v404-compare-detail{margin-top:10px;border-top:1px solid #edf0f5;padding-top:10px}.v404-compare-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:7px 0;font-size:10px;border-bottom:1px solid #f0f2f6}.v404-compare-row:last-child{border:0}.v404-compare-row b{color:#17213a}.v404-compare-row span{color:#7d8698}
#calendar>.card{box-shadow:none!important;border:1px solid #e6eaf1!important;border-radius:16px!important}
#calendar .month-title{font-weight:900;color:#17213a}

.v405-range-card{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px}
.v405-range-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v405-range-head span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#2457c5}.v405-range-head h3{font-size:15px;margin:3px 0 0;color:#17213a}
.v405-range-head button{border:0;background:#eef3ff;color:#2457c5;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:900}
.v405-periods{display:grid;grid-template-columns:1fr 26px 1fr;gap:7px;align-items:center;margin-top:13px}.v405-period{background:#f7f8fb;border-radius:12px;padding:10px;display:grid;gap:7px}
.v405-period>b{font-size:10px;color:#17213a}.v405-period label{display:grid;gap:3px;font-size:8px;color:#7d8698}.v405-period input{width:100%;min-width:0;border:1px solid #dfe4ed;background:#fff;border-radius:8px;padding:7px 5px;font-size:9px;color:#17213a}
.v405-vs{text-align:center;font-size:9px;font-weight:950;color:#8a92a2}.v405-compare-btn{width:100%;margin-top:10px;border:0;border-radius:11px;background:#2457c5;color:#fff;padding:11px;font-size:11px;font-weight:900}
.v405-results{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.v405-result{background:#f7f8fb;border-radius:11px;padding:9px 7px}.v405-result span{display:block;font-size:8px;color:#7d8698}.v405-result b{display:block;font-size:11px;margin-top:3px;color:#17213a}.v405-result small{display:block;font-size:8px;margin-top:3px}

.v405-range-card{display:none!important}
.v406-compact-compare{background:#fff;border:1px solid #e6eaf1;border-radius:14px;overflow:hidden}
.v406-toggle{width:100%;border:0;background:#fff;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;color:#17213a;font-size:11px;font-weight:900;text-align:left}
.v406-toggle b{font-size:18px;color:#2457c5}.v406-panel{padding:0 12px 12px;border-top:1px solid #edf0f5}.v406-panel.hidden{display:none!important}
.v406-period-row{padding-top:9px}.v406-period-row label{display:grid;grid-template-columns:70px 1fr 1fr;gap:6px;align-items:center;font-size:9px;font-weight:800;color:#687389}
.v406-period-row input{min-width:0;width:100%;border:1px solid #dfe4ed;border-radius:8px;padding:7px 4px;background:#fff;font-size:8px;color:#17213a}
.v406-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:9px}.v406-actions button{border:0;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:900;background:#eef3ff;color:#2457c5}.v406-actions button:last-child{background:#2457c5;color:#fff}
.v406-panel .v405-results{margin-top:9px}

.v407-pie-card{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:14px}
.v407-pie-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.v407-pie-head span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#7d8698}
.v407-pie-head h3{font-size:15px;margin:3px 0 0;color:#17213a}
.v407-pie-head>b{font-size:13px;color:#17213a}
.v407-pie-wrap{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:center;margin-top:12px}
.v407-pie{width:118px;height:118px;border-radius:50%;position:relative;background:#edf0f5}
.v407-pie-hole{position:absolute;inset:22px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.v407-pie-hole span{font-size:8px;color:#8a92a2}.v407-pie-hole b{font-size:11px;color:#17213a;margin-top:2px}
.v407-pie-legend{display:grid;gap:7px}.v407-leg{display:grid;grid-template-columns:9px 1fr auto;gap:6px;align-items:center;font-size:9px}
.v407-dot{width:8px;height:8px;border-radius:50%}.v407-leg span{color:#687389;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v407-leg b{font-size:9px;color:#17213a}
@media(max-width:360px){.v407-pie-wrap{grid-template-columns:104px 1fr}.v407-pie{width:104px;height:104px}.v407-pie-hole{inset:20px}}

/* Camembert centré dans la page Historique */
.v407-pie-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
}
.v407-pie{
  margin:0 auto!important;
  flex:0 0 auto!important;
}
.v407-pie-legend{
  width:100%!important;
  max-width:250px!important;
  margin:0 auto!important;
}

#envelopes>#v409EnvelopeHub~*{display:none!important}
#v409EnvelopeHub{display:grid;gap:12px}
.v409-title,.v409-budget-card,.v409-saved-card{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px}
.v409-title>span,.v409-head span,.v409-saved-card>span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#2457c5}
.v409-title h2{font-size:20px;margin:4px 0 3px;color:#17213a}.v409-title p{margin:0;font-size:10px;color:#7d8698}
.v409-category-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.v409-cat{background:#fff;border:1px solid #e6eaf1;border-radius:12px;padding:11px;display:grid;gap:3px}.v409-cat:last-child{grid-column:1/-1}
.v409-cat b{font-size:10px;color:#17213a}.v409-cat small{font-size:8px;color:#8a92a2;line-height:1.35}
.v409-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}.v409-head h3{font-size:15px;margin:3px 0 0}.v409-head>b{font-size:13px}
.v409-row{padding:10px 0;border-bottom:1px solid #edf0f5}.v409-row:last-child{border:0}
.v409-row-top{display:grid;grid-template-columns:1fr 82px;gap:8px;align-items:center}.v409-row-top b{font-size:10px}.v409-row-top input{width:100%;border:1px solid #dfe4ed;border-radius:8px;padding:7px;font-size:10px;text-align:right}
.v409-row-meta{display:flex;justify-content:space-between;font-size:8px;color:#7d8698;margin-top:5px}.v409-bar{height:6px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-top:5px}.v409-bar i{display:block;height:100%;background:#2457c5;border-radius:99px}
.v409-add{width:100%;margin-top:10px;border:1px dashed #cfd8ea;background:#f8faff;color:#2457c5;border-radius:10px;padding:10px;font-size:10px;font-weight:900}
.v409-saved-card{text-align:center}.v409-saved-card strong{display:block;font-size:27px;color:#18845b;margin:5px 0 2px}.v409-saved-card small{font-size:9px;color:#7d8698}
.v409-choice{margin-top:12px;padding-top:10px;border-top:1px solid #edf0f5}.v409-choice.hidden{display:none!important}.v409-choice p{font-size:10px;color:#566177}
.v409-choice button{border:0;border-radius:9px;background:#2457c5;color:#fff;padding:9px 10px;font-size:9px;font-weight:900;margin:3px}.v409-choice button.secondary{background:#eef1f6;color:#566177}

.v410-switch{display:grid;grid-template-columns:1fr 1fr;background:#e9edf4;border-radius:13px;padding:4px;gap:4px}
.v410-switch button{border:0;border-radius:10px;padding:10px;background:transparent;color:#6d778b;font-size:11px;font-weight:900}
.v410-switch button.active{background:#fff;color:#2457c5;box-shadow:0 1px 4px rgba(20,42,90,.08)}
#v410EnvelopePanel{display:block}
#v410EnvelopeContent{display:grid;gap:12px}
#v410CategoryPanel.hidden,#v410EnvelopeContent.hidden{display:none!important}
#v410CategoryPanel{display:grid;gap:12px}
#v410CategoryPanel .v409-category-presets{margin:0}

/* La page anciennement Enveloppes devient uniquement Catégories */
#v409EnvelopeHub .v410-switch,
#v409EnvelopeHub #v410EnvelopePanel,
#v409EnvelopeHub #v410EnvelopeContent{display:none!important}
#v409EnvelopeHub #v410CategoryPanel{display:grid!important}
.v411-home-env-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.v411-home-env-summary span{background:#f7f8fb;border-radius:9px;padding:8px 5px;font-size:8px;color:#7d8698;text-align:center}
.v411-home-env-summary b{display:block;color:#17213a;font-size:10px;margin-top:2px}
.v411-home-env-add{width:100%;margin-top:9px;border:1px dashed #cfd8ea;background:#f8faff;color:#2457c5;border-radius:10px;padding:9px;font-size:9px;font-weight:900}

.v412-pie-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.v412-pie{width:150px;height:150px;border-radius:50%;position:relative;background:#edf0f5;margin:4px auto 0}
.v412-pie-hole{position:absolute;inset:30px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.v412-pie-hole span{font-size:9px;color:#8a92a2}.v412-pie-hole b{font-size:13px;color:#17213a;margin-top:2px}
.v412-pie-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;width:100%;max-width:300px}
.v412-pie-leg{display:grid;grid-template-columns:9px 1fr auto;gap:6px;align-items:center;min-width:0}
.v412-pie-dot{width:8px;height:8px;border-radius:50%}.v412-pie-leg span{font-size:9px;color:#687389;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v412-pie-leg b{font-size:9px;color:#17213a}
#homeEnvelopeView{display:grid;gap:12px;padding-bottom:18px}#homeEnvelopeView.hidden{display:none!important}
.v412-envelope-page-head{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px}
.v412-envelope-page-head span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#2457c5}.v412-envelope-page-head h2{font-size:20px;margin:4px 0 3px;color:#17213a}.v412-envelope-page-head p{font-size:10px;color:#7d8698;margin:0;line-height:1.4}
.v412-envelope-list{display:grid;gap:9px}.v412-env-card{background:#fff;border:1px solid #e6eaf1;border-radius:14px;padding:13px}
.v412-env-top{display:grid;grid-template-columns:1fr 86px;gap:10px;align-items:center}.v412-env-top b{font-size:12px;color:#17213a}.v412-env-top label{display:grid;gap:3px;font-size:8px;color:#8a92a2}
.v412-env-top input{width:100%;border:1px solid #dfe4ed;border-radius:8px;padding:7px;font-size:10px;text-align:right;color:#17213a;background:#fff}
.v412-env-numbers{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:9px;color:#7d8698}.v412-env-numbers strong{color:#17213a}
.v412-env-bar{height:7px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-top:7px}.v412-env-bar i{display:block;height:100%;background:#2457c5;border-radius:99px}
.v412-envelope-add{width:100%;border:1px dashed #cfd8ea;background:#f8faff;color:#2457c5;border-radius:11px;padding:11px;font-size:10px;font-weight:900}
.v412-envelope-total{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v412-envelope-total div{background:#fff;border:1px solid #e6eaf1;border-radius:12px;padding:10px;text-align:center}
.v412-envelope-total span{display:block;font-size:8px;color:#7d8698}.v412-envelope-total b{display:block;font-size:11px;color:#17213a;margin-top:3px}
.v412-remainder{background:#edf8f2;border:1px solid #d7efe1;border-radius:14px;padding:13px;text-align:center}.v412-remainder.hidden{display:none!important}.v412-remainder b{font-size:12px;color:#18734e}.v412-remainder p{font-size:9px;color:#668073;margin:5px 0 0}

.v42-purchase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px;margin-bottom:12px}
.v42-purchase-head h2{font-size:19px;margin:4px 0;color:#17213a}.v42-purchase-head .muted{font-size:10px;line-height:1.4}
.v42-purchase-summary{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px;margin-bottom:12px}
.v42-purchase-summary>span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#2457c5}.v42-purchase-summary>strong{display:block;font-size:27px;color:#17213a;margin:5px 0 10px}
.v42-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v42-summary-grid div{background:#f7f8fb;border-radius:10px;padding:9px;text-align:center}
.v42-summary-grid span{display:block;font-size:8px;color:#7d8698}.v42-summary-grid b{display:block;font-size:10px;color:#17213a;margin-top:3px}
.v42-buy-section{font-size:10px;font-weight:900;color:#667087;margin:14px 3px 7px;text-transform:uppercase;letter-spacing:.5px}
.v42-buy-card{background:#fff;border:1px solid #e6eaf1;border-radius:15px;padding:13px;margin-bottom:9px}
.v42-buy-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v42-buy-name{font-size:13px;font-weight:950;color:#17213a}.v42-buy-price{font-size:14px;font-weight:950;color:#17213a;white-space:nowrap}
.v42-buy-meta{font-size:9px;color:#8a92a2;margin-top:3px}.v42-buy-progress{height:7px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-top:10px}.v42-buy-progress i{display:block;height:100%;background:#2457c5;border-radius:99px}
.v42-buy-money{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:9px;color:#7d8698}.v42-buy-money b{color:#17213a}
.v42-buy-answer{margin-top:10px;padding:10px;border-radius:11px;background:#f5f7fb;font-size:10px;line-height:1.4;color:#556177}.v42-buy-answer.now{background:#edf8f2;color:#176e4b}.v42-buy-answer.wait{background:#fff7e8;color:#8b640c}
.v42-envelope-tip{margin-top:8px;padding:9px;border:1px solid #dce6fa;background:#f7f9fd;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.v42-envelope-tip span{font-size:9px;color:#5f6c83}
.v42-envelope-tip button{border:0;background:#2457c5;color:#fff;border-radius:8px;padding:7px 8px;font-size:8px;font-weight:900;white-space:nowrap}
.v42-buy-actions{display:flex;gap:6px;margin-top:9px}.v42-buy-actions button{border:0;border-radius:8px;background:#eef1f6;color:#566177;padding:8px 9px;font-size:9px;font-weight:900}.v42-buy-actions .buy{background:#2457c5;color:#fff}
@media(max-width:390px){.v42-summary-grid{gap:5px}.v42-summary-grid div{padding:8px 4px}.v42-purchase-head h2{font-size:17px}}

.v421-category-manager{display:grid;gap:12px}
.v421-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:15px}
.v421-category-head>div>span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#2457c5}
.v421-category-head h2{font-size:20px;margin:4px 0 3px;color:#17213a}.v421-category-head p{margin:0;font-size:10px;color:#7d8698}
.v421-category-head>button{border:0;background:#2457c5;color:#fff;border-radius:10px;padding:9px 10px;font-size:9px;font-weight:900}
.v421-tabs,.v421-kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e9edf4;border-radius:13px;padding:4px}
.v421-tabs button,.v421-kind-switch button{border:0;background:transparent;border-radius:10px;padding:10px 8px;font-size:10px;font-weight:900;color:#727c90}
.v421-tabs button.active,.v421-kind-switch button.active{background:#fff;color:#2457c5;box-shadow:0 1px 4px rgba(20,42,90,.08)}
.v421-category-list{display:grid;gap:9px}.v421-group{background:#fff;border:1px solid #e6eaf1;border-radius:14px;overflow:hidden}
.v421-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;border-bottom:1px solid #eef1f5}
.v421-group-title b{font-size:12px;color:#17213a}.v421-group-title span{font-size:9px;color:#8a92a2}
.v421-cat-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:11px 13px;border-bottom:1px solid #f0f2f5}
.v421-cat-row:last-child{border-bottom:0}.v421-cat-copy b{display:block;font-size:11px;color:#17213a}.v421-cat-copy small{display:block;font-size:8px;color:#8a92a2;margin-top:2px}
.v421-cat-actions{display:flex;gap:5px}.v421-cat-actions button{border:0;border-radius:8px;background:#f0f3f8;color:#536078;padding:7px 8px;font-size:9px;font-weight:900}
.v421-sub-list{margin-left:17px;border-left:2px solid #edf0f5}.v421-sub-row{padding-left:13px!important}
.v421-empty{background:#fff;border:1px solid #e6eaf1;border-radius:14px;padding:22px;text-align:center;color:#7d8698;font-size:10px}
.v421-empty button{display:block;margin:10px auto 0;border:0;background:#2457c5;color:#fff;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:900}
.v421-hide-emoji{display:none!important}#v421ExpenseFields.v421-hidden{display:none!important}

.v421-cat-actions{flex-wrap:wrap;justify-content:flex-end}
.v421-cat-actions .v422-delete{background:#fff1f2!important;color:#b42338!important}
@media(max-width:390px){
  .v421-cat-row{grid-template-columns:1fr!important}
  .v421-cat-actions{justify-content:flex-start}
  .v421-cat-actions button{padding:7px 8px!important}
}

/* Mes enveloppes doit être une vraie vue dédiée, pas l'Accueil affiché au-dessus */
body.v424-envelope-mode .top-shell .top-header,
body.v424-envelope-mode .top-shell .hero{
  display:none!important;
}
body.v424-envelope-mode .top-shell{
  padding-bottom:12px!important;
}
body.v424-envelope-mode #home{
  padding-top:0!important;
}
body.v424-envelope-mode .home-view-switch{
  margin-top:0!important;
}
#homeEnvelopeView{
  margin-top:0!important;
}
#homeEnvelopeView .v412-envelope-page-head{
  margin-top:0!important;
}

#homeMainView.hidden{display:none!important}
#homeAnalysisView.hidden{display:none!important}

#homeEnvelopeView{display:grid;gap:12px;padding-bottom:18px}
#homeEnvelopeView.hidden{display:none!important}

.v425-env-balance,
.v425-env-title,
.v425-env-card,
.v425-envelope-total>div,
.v425-remainder{
  background:#fff;border:1px solid #e6eaf1;border-radius:16px;
}
.v425-env-balance{padding:14px 15px}
.v425-env-balance span{display:block;font-size:9px;font-weight:900;letter-spacing:.7px;color:#7d8698}
.v425-env-balance strong{display:block;font-size:25px;color:#17213a;margin-top:3px}

.v425-env-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px}
.v425-env-title>div>span{font-size:9px;font-weight:900;letter-spacing:.7px;color:#2457c5}
.v425-env-title h2{font-size:19px;margin:4px 0 3px;color:#17213a}
.v425-env-title p{font-size:9px;line-height:1.4;color:#7d8698;margin:0}
.v425-env-title>button{border:0;background:#2457c5;color:#fff;border-radius:9px;padding:8px 9px;font-size:9px;font-weight:900;white-space:nowrap}

.v425-envelope-list{display:grid;gap:9px}
.v425-env-card{padding:13px}
.v425-env-card.over{border-color:#f2c9ce;background:#fffafb}

.v425-env-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.v425-env-name b{display:block;font-size:12px;color:#17213a}
.v425-env-name small{display:block;font-size:8px;color:#8a92a2;margin-top:3px}
.v425-env-budget{display:grid;justify-items:end;gap:2px}
.v425-env-budget label{font-size:7px;color:#8a92a2}
.v425-env-budget input{width:82px;border:1px solid #dfe4ed;border-radius:8px;padding:7px 6px;text-align:right;font-size:10px;color:#17213a;background:#fff}

.v425-progress-line{height:8px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-top:11px}
.v425-progress-line i{display:block;height:100%;background:#2457c5;border-radius:99px}
.v425-env-card.over .v425-progress-line i{background:#c54858}

.v425-env-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:9px}
.v425-env-numbers div{background:#f7f8fb;border-radius:9px;padding:8px 5px;text-align:center}
.v425-env-numbers span{display:block;font-size:7px;color:#8a92a2}
.v425-env-numbers b{display:block;font-size:9px;color:#17213a;margin-top:2px}
.v425-env-card.over .v425-env-numbers .remain b{color:#b42338}

.v425-status{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:8px}
.v425-status span{color:#7d8698}
.v425-status b{font-size:9px;color:#2457c5}
.v425-env-card.over .v425-status b{color:#b42338}

.v425-envelope-total{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.v425-envelope-total>div{padding:10px 6px;text-align:center}
.v425-envelope-total span{display:block;font-size:7px;color:#7d8698}
.v425-envelope-total b{display:block;font-size:10px;color:#17213a;margin-top:3px}

.v425-remainder{padding:12px;text-align:center;background:#edf8f2;border-color:#d7efe1}
.v425-remainder.hidden{display:none!important}
.v425-remainder b{font-size:10px;color:#18734e}

#homeEnvelopeView{display:block!important;padding:0 0 18px!important}
#homeEnvelopeView.hidden{display:none!important}
.v426-envelope-list{display:grid;gap:10px}

.v426-env-card{
  background:#fff;
  border:1px solid #e6eaf1;
  border-radius:14px;
  padding:13px;
}
.v426-env-card.ok{
  border-color:#cfe8da;
  background:#fbfffc;
}
.v426-env-card.over{
  border-color:#f1c8ce;
  background:#fffafb;
}

.v426-env-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.v426-env-name b{
  display:block;
  font-size:12px;
  color:#17213a;
}
.v426-env-name small{
  display:block;
  font-size:8px;
  color:#8a92a2;
  margin-top:3px;
}

.v426-env-budget{
  text-align:right;
}
.v426-env-budget span{
  display:block;
  font-size:7px;
  color:#8a92a2;
}
.v426-env-budget b{
  display:block;
  font-size:12px;
  color:#17213a;
  margin-top:2px;
}

.v426-env-progress{
  height:8px;
  background:#edf0f5;
  border-radius:99px;
  overflow:hidden;
  margin-top:10px;
}
.v426-env-progress i{
  display:block;
  height:100%;
  background:#2e9b67;
  border-radius:99px;
}
.v426-env-card.over .v426-env-progress i{
  background:#c54858;
}

.v426-env-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
}
.v426-env-bottom span{
  font-size:9px;
  color:#6f798c;
}
.v426-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:9px;
  font-weight:900;
}
.v426-status::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#2e9b67;
}
.v426-env-card.over .v426-status{
  color:#b42338;
}
.v426-env-card.over .v426-status::before{
  background:#c54858;
}
.v426-env-card.ok .v426-status{
  color:#18734e;
}
.v426-env-empty{
  background:#fff;
  border:1px solid #e6eaf1;
  border-radius:14px;
  padding:18px;
  text-align:center;
  font-size:10px;
  color:#7d8698;
}

body.v424-envelope-mode #forecastHome,
body.v424-envelope-mode #personalHome,
body.v424-envelope-mode #jointHome,
body.v424-envelope-mode #homeMainView,
body.v424-envelope-mode #homeAnalysisView{
  display:none!important;
}
body.v424-envelope-mode #homeEnvelopeView{
  display:block!important;
  margin:0!important;
  padding:0 0 18px!important;
}
body.v424-envelope-mode #homeEnvelopeView.hidden{
  display:block!important;
}
body.v424-envelope-mode .home-view-switch{
  margin-bottom:10px!important;
}

.v429-task-head-actions{display:flex;align-items:center;gap:7px}
.v429-task-head-actions button{border:0;background:#eef3ff;color:#2457c5;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:900}
.v429-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.v429-modal-head h3{margin:2px 0 12px}
.v429-checkline{display:flex;align-items:center;gap:9px;padding:11px;background:#f7f8fb;border-radius:10px;margin-bottom:10px;font-size:10px;color:#34405a}
.v429-checkline input{width:18px;height:18px;accent-color:#2457c5}
.v429-generic-task{border:1px solid #e2e7ef;background:#fbfcfe}
.v429-generic-task .v429-task-date{font-size:8px;color:#8a92a2}
.v429-task-delete{border:0;background:transparent;color:#a94955;font-size:13px;padding:4px}
.v429-auto-badge,.v429-manual-badge{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:99px;font-size:7px;font-weight:900}
.v429-auto-badge{background:#edf8f2;color:#18734e}.v429-manual-badge{background:#eef3ff;color:#2457c5}

#recurringModeWrap{display:none!important}
.v43-variable-line{display:flex;align-items:flex-start;gap:9px;margin-top:8px;padding:10px;border:1px solid #e3e8f0;background:#f8f9fb;border-radius:10px}
.v43-variable-line input{width:18px;height:18px;margin-top:1px;accent-color:#2457c5;flex:0 0 auto}
.v43-variable-line span{display:grid;gap:2px}.v43-variable-line b{font-size:10px;color:#263149}.v43-variable-line small{font-size:8px;color:#7d8698;line-height:1.35}
.v43-variable-line.v43-disabled{opacity:.45}
.v43-variable-line.v43-disabled input{pointer-events:none}

/* + = ajout de dépense simple */
#movementModal #movementKind{pointer-events:none}
#movementModal .field:has(#movementKind),
#movementModal .recurring-box,
#movementModal #v43VariableAmountLine{display:none!important}
#movementModal .sheet{padding-bottom:18px}
#movementModal #movementTitle{margin-bottom:14px}

/* Réglages mensuels déplacés dans Catégorie */
.v44-auto-box{margin-top:12px;padding:12px;border:1px solid #e4e8ef;background:#f8f9fb;border-radius:12px}
.v44-auto-box>.v44-auto-title{font-size:10px;font-weight:900;color:#263149;margin-bottom:8px}
.v44-check{display:flex;align-items:flex-start;gap:9px;padding:9px 0;font-size:10px;color:#34405a}
.v44-check input{width:18px;height:18px;margin-top:1px;accent-color:#2457c5}
.v44-check span{display:grid;gap:2px}.v44-check small{font-size:8px;color:#7d8698;line-height:1.35}
.v44-auto-details{display:grid;gap:10px;margin-top:8px}
.v44-auto-details.hidden{display:none!important}
.v44-pay-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e9edf4;border-radius:11px;padding:4px}
.v44-pay-switch button{border:0;background:transparent;border-radius:8px;padding:9px 6px;font-size:9px;font-weight:900;color:#6f798c}
.v44-pay-switch button.active{background:#fff;color:#2457c5;box-shadow:0 1px 4px rgba(20,42,90,.08)}
.v44-auto-hint{font-size:8px;color:#7d8698;line-height:1.4}

.v45-forecast-card,.v45-close-card{background:#fff;border:1px solid #e5e9f0;border-radius:15px;padding:13px;margin-bottom:10px}
.v45-forecast-card span,.v45-close-card span{display:block;font-size:8px;font-weight:900;letter-spacing:.6px;color:#7d8698}
.v45-forecast-card strong{display:block;font-size:22px;color:#17213a;margin:3px 0}.v45-forecast-card small{font-size:8px;color:#7d8698}
.v45-close-card{display:flex;align-items:center;justify-content:space-between;gap:10px}.v45-close-card b{display:block;font-size:9px;color:#34405a;margin-top:3px;font-weight:700}
.v45-close-card button{border:0;background:#2457c5;color:#fff;border-radius:9px;padding:8px 9px;font-size:8px;font-weight:900;white-space:nowrap}
.v426-env-card.warn{border-color:#f0d9a8;background:#fffdf7}.v426-env-card.warn .v426-env-progress i{background:#d59a28}.v426-env-card.warn .v426-status{color:#9b6914}.v426-env-card.warn .v426-status::before{background:#d59a28}
.v45-close-summary{padding:13px;background:#f7f8fb;border-radius:12px;margin-bottom:10px}.v45-close-summary div{display:flex;justify-content:space-between;gap:10px}.v45-close-summary span{font-size:9px;color:#667085}.v45-close-summary b{font-size:13px;color:#17213a}.v45-close-summary small{display:block;margin-top:5px;font-size:8px;color:#7d8698}
.v45-close-choices{display:grid;gap:7px;margin-bottom:12px}.v45-close-choices button{border:1px solid #dfe4ed;background:#fff;border-radius:10px;padding:10px;text-align:left;font-size:9px;font-weight:800;color:#34405a}.v45-close-choices button.active{border-color:#2457c5;background:#eef3ff;color:#2457c5}

/* Emoji + couleur visibles sur toutes les catégories */
.v421-hide-emoji{display:block!important}
.category-main-row{grid-template-columns:minmax(0,1fr) 68px 68px!important}
.category-emoji-field input{text-align:center!important;font-size:23px!important;padding:8px 4px!important}
.v47-color-field input[type="color"]{width:100%;height:44px;border:1px solid #dfe4ed;border-radius:11px;padding:4px;background:#fff}
.v47-cat-visual{display:flex;align-items:center;gap:8px;min-width:0}
.v47-cat-icon{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto}
.v47-sub-icon{width:25px;height:25px;border-radius:8px;font-size:13px}
.v47-pie-label{display:flex;align-items:center;gap:5px;min-width:0}
@media(max-width:370px){.category-main-row{grid-template-columns:minmax(0,1fr) 62px 62px!important}}

.v48-goal-card{
  background:linear-gradient(135deg,#ffffff,#f7f8ff);
  border:1px solid #e4e7f0;
  border-radius:17px;
  padding:15px;
  margin-bottom:10px;
}
.v48-goal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.v48-goal-head span{display:block;font-size:8px;font-weight:900;letter-spacing:.7px;color:#7c83f7}
.v48-goal-head h2{margin:3px 0 0;font-size:18px;color:#17213a}
.v48-goal-head button{border:0;background:#eef0ff;color:#4d55c7;border-radius:9px;padding:7px 9px;font-size:8px;font-weight:900}
.v48-goal-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.v48-goal-amounts div{background:#fff;border:1px solid #eceef4;border-radius:11px;padding:9px 6px;text-align:center}
.v48-goal-amounts span{display:block;font-size:7px;color:#8a92a2}
.v48-goal-amounts b{display:block;font-size:10px;color:#17213a;margin-top:3px}
.v48-goal-progress{height:8px;background:#e9ecf4;border-radius:99px;overflow:hidden;margin-top:11px}
.v48-goal-progress i{display:block;height:100%;background:linear-gradient(90deg,#7c83f7,#4d55c7);border-radius:99px;width:0}
.v48-goal-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}
.v48-goal-foot span{font-size:8px;color:#7d8698}
.v48-goal-foot b{font-size:9px;color:#4d55c7}

/* Taille de texte réglable */
html{--v50-font-scale:1}
body.v50-font-small{--v50-font-scale:.92}
body.v50-font-normal{--v50-font-scale:1}
body.v50-font-large{--v50-font-scale:1.12}
body{font-size:calc(16px * var(--v50-font-scale))}
.v40-label,.v40-head span,.v40-meta,.v421-cat-copy small,.v421-group-title span,.muted,.label,
.v45-forecast-card small,.v48-goal-foot,.v42-buy-meta,.v426-env-name small{
  font-size:calc(1em * var(--v50-font-scale))!important;
}
.v50-font-card{background:#fff;border:1px solid #e6eaf1;border-radius:16px;padding:14px;margin-bottom:12px}
.v50-font-card h3{font-size:15px;margin:0 0 4px;color:#17213a}
.v50-font-card p{font-size:10px;color:#7d8698;margin:0 0 10px}
.v50-font-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;background:#eef1f6;border-radius:12px;padding:4px}
.v50-font-options button{border:0;background:transparent;border-radius:9px;padding:9px 6px;font-size:10px;font-weight:900;color:#6f798c}
.v50-font-options button.active{background:#fff;color:#2457c5;box-shadow:0 1px 4px rgba(20,42,90,.08)}

/* Catégories accordéon */
.v50-cat-card{background:#fff;border:1px solid #e6eaf1;border-radius:14px;overflow:hidden;margin-bottom:8px}
.v50-cat-head{width:100%;border:0;background:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:12px;text-align:left}
.v50-cat-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px}
.v50-cat-copy{min-width:0}
.v50-cat-copy b{display:block;font-size:12px;color:#17213a}
.v50-cat-copy small{display:block;font-size:8px;color:#8a92a2;margin-top:2px}
.v50-chevron{font-size:18px;color:#8c95a7;transition:.18s}
.v50-cat-card.open .v50-chevron{transform:rotate(90deg)}
.v50-cat-body{display:none;border-top:1px solid #eef1f5}
.v50-cat-card.open .v50-cat-body{display:block}
.v50-sub-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #f1f3f6}
.v50-sub-row:last-child{border-bottom:0}
.v50-sub-icon{width:27px;height:27px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px}
.v50-sub-copy b{display:block;font-size:10px;color:#17213a}.v50-sub-copy small{display:block;font-size:8px;color:#8a92a2;margin-top:2px}
.v50-inline-actions{display:flex;gap:5px;flex-wrap:wrap;padding:9px 12px;background:#fafbfc}
.v50-inline-actions button,.v50-sub-row button{border:0;background:#eef1f6;color:#536078;border-radius:8px;padding:7px 8px;font-size:8px;font-weight:900}
.v50-inline-actions .add{background:#eef3ff;color:#2457c5}
.v50-inline-actions .delete,.v50-sub-row .delete{background:#fff1f2;color:#b42338}
.v50-group-title{font-size:10px;font-weight:900;color:#687389;margin:12px 3px 7px;text-transform:uppercase;letter-spacing:.4px}

/* ===== Typographie fixe et cohérente ===== */
html{--v50-font-scale:1!important}
body,
body.v50-font-small,
body.v50-font-normal,
body.v50-font-large{
  --v50-font-scale:1!important;
  font-size:14px!important;
}
.hello{font-size:28px!important;line-height:1.08!important;font-weight:900!important}
.tagline{font-size:13px!important;line-height:1.4!important}
.v40-head h2,.section-head h2,.v48-goal-head h2,.v421-category-head h2,.v42-purchase-head h2{
  font-size:18px!important;line-height:1.18!important;font-weight:900!important;
}
.v50-cat-copy b,.v426-env-name b,.v421-cat-copy b,.v42-buy-name{
  font-size:13px!important;line-height:1.28!important;font-weight:850!important;
}
.v50-cat-copy small,.v50-sub-copy small,.v426-env-name small,.v421-cat-copy small,
.v40-meta,.v45-forecast-card small,.v48-goal-foot span,.muted{
  font-size:10.5px!important;line-height:1.45!important;
}
.label,.v40-label,.sheet-kicker,.v421-category-head>div>span,.v48-goal-head>div>span{
  font-size:9.5px!important;line-height:1.3!important;letter-spacing:.06em!important;
}
button,input,select,textarea{font-size:13px!important}
.v50-font-card{display:none!important}

/* ===== Réglages propres ===== */
.v51-settings-title{
  margin:2px 2px 12px;
}
.v51-settings-title span{
  display:block;font-size:9px;font-weight:900;letter-spacing:.07em;color:#7c83f7;
}
.v51-settings-title h2{
  margin:3px 0 4px;font-size:22px;line-height:1.15;color:#17213a;
}
.v51-settings-title p{
  margin:0;font-size:11px;line-height:1.45;color:#7d8698;
}
.v51-settings-note{
  background:#f7f8fb;border:1px solid #e7eaf1;border-radius:13px;
  padding:11px 12px;margin-bottom:12px;font-size:10.5px;line-height:1.45;color:#667085;
}

.category-main-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 76px 76px!important;
  gap:9px!important;
  align-items:end!important;
}
.category-main-row .field{margin-bottom:0!important}
.category-emoji-field label,.v47-color-field label{
  text-align:center!important;
  display:block!important;
}
.category-emoji-field input{
  width:100%!important;
  height:46px!important;
  padding:5px!important;
  text-align:center!important;
  font-size:24px!important;
  border:1px solid #dfe4ed!important;
  border-radius:11px!important;
  background:#fff!important;
}
.v47-color-field input[type="color"]{
  width:100%!important;
  height:46px!important;
  padding:4px!important;
  border:1px solid #dfe4ed!important;
  border-radius:11px!important;
  background:#fff!important;
  cursor:pointer!important;
}
@media(max-width:360px){
  .category-main-row{grid-template-columns:minmax(0,1fr) 68px 68px!important;gap:7px!important}
}

/* Keep settings section headings exactly the same size */
#settings .settings-toggle .left>span:last-child{
  font-size:13px!important;
  font-weight:850!important;
}

/* Clearer backup / restore buttons */
.v52-backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.v52-backup-grid button,.v52-backup-grid label{
  border:0;border-radius:11px;padding:11px 8px;font-size:10px!important;font-weight:900!important;
  display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;
}
.v52-export-backup{background:#eef3ff;color:#2457c5}
.v52-import-backup{background:#f1f7f4;color:#28735a}
.v52-backup-help{font-size:9.5px!important;line-height:1.45!important;color:#7d8698;margin-top:8px}

#settings .settings-toggle,#settings .settings-toggle .left,#settings .settings-toggle .left>span:last-child{font-size:15px!important;line-height:1.2!important;font-weight:850!important}
.v53-pie-filter{display:flex;gap:8px;align-items:center;margin:10px 0 12px}.v53-pie-filter select{width:100%;height:42px;border:1px solid #e1e5ec;border-radius:12px;background:#fff;padding:0 12px;font-size:12px;font-weight:750;color:#263244}.v53-pie-caption{font-size:10px;color:#7b8494;margin-top:-5px;margin-bottom:8px}
.day{position:relative}.v53-day-dots{display:flex;gap:3px;justify-content:center;align-items:center;min-height:7px;margin-top:3px;flex-wrap:wrap;padding:0 2px}.v53-day-dot{width:6px;height:6px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.9)}.v53-day-more{font-size:7px;font-weight:900;color:#7a8494;line-height:7px}
.v53-category-list{display:grid;gap:9px}.v53-category-card{background:#fff;border:1px solid #e7eaf0;border-radius:15px;overflow:hidden}.v53-category-head{width:100%;border:0;background:#fff;padding:13px 12px;display:flex;align-items:center;gap:10px;text-align:left}.v53-category-swatch{width:9px;height:34px;border-radius:8px;flex:0 0 9px}.v53-category-emoji{width:32px;height:32px;border-radius:10px;background:#f6f7f9;display:flex;align-items:center;justify-content:center;font-size:18px}.v53-category-name{font-size:14px;font-weight:900;color:#202938;flex:1}.v53-category-count{font-size:9px;color:#8a93a2;font-weight:750}.v53-category-arrow{font-size:17px;color:#98a1af;transition:.2s}.v53-category-card.open .v53-category-arrow{transform:rotate(90deg)}.v53-category-children{display:none;border-top:1px solid #edf0f4;background:#fbfcfd;padding:6px 10px 9px}.v53-category-card.open .v53-category-children{display:block}.v53-sub-row{display:flex;align-items:center;gap:9px;padding:9px 4px;border-bottom:1px solid #eef1f4}.v53-sub-row:last-child{border-bottom:0}.v53-sub-row .sub-name{font-size:12px;font-weight:800;flex:1}.v53-sub-actions{display:flex;gap:5px}.v53-sub-actions button{border:0;background:#eef2f7;border-radius:8px;padding:6px 7px;font-size:9px;font-weight:850}.v53-empty-sub{padding:10px 4px;font-size:10px;color:#8a93a2}

/* Prévision directement sous le solde, sans nouvelle carte */
.v54-hero-forecast{margin-top:5px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.v54-hero-forecast span{font-size:9px;font-weight:800;opacity:.82}
.v54-hero-forecast b{font-size:13px;font-weight:900}
.v54-hero-forecast small{width:100%;font-size:8px;opacity:.68;line-height:1.35}
.v45-forecast-card{display:none!important}

/* Le camembert appartient désormais à Analyse, pas à Accueil */
.v412-home-pie-card{display:none!important}

/* Calendrier / Analyse */
.v54-calendar-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e9edf4;border-radius:13px;padding:4px;margin:0 0 12px}
.v54-calendar-switch button{border:0;background:transparent;border-radius:10px;padding:10px 8px;font-size:11px;font-weight:900;color:#6f798c}
.v54-calendar-switch button.active{background:#fff;color:#2457c5;box-shadow:0 1px 4px rgba(20,42,90,.08)}
.v54-history-intro{margin:4px 1px 12px}
.v54-history-intro>span{display:block;font-size:8.5px;font-weight:900;letter-spacing:.08em;color:#7c83f7}
.v54-history-intro h2{margin:3px 0 4px;font-size:20px;line-height:1.15;color:#17213a}
.v54-history-intro p{margin:0;font-size:10.5px;line-height:1.45;color:#7d8698}
.v54-calendar-mode{display:flex;justify-content:center;gap:5px;margin:0 0 10px}
.v54-calendar-mode button{border:1px solid #e1e5ec;background:#fff;border-radius:9px;padding:7px 13px;font-size:9px;font-weight:900;color:#6f798c}
.v54-calendar-mode button.active{background:#eef3ff;border-color:#d7e2ff;color:#2457c5}
.v54-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.v54-week-day{border:1px solid #e6eaf0;background:#fff;border-radius:11px;padding:8px 3px;min-height:66px;text-align:center}
.v54-week-day.selected{border-color:#2457c5;background:#eef3ff}
.v54-week-day .wd{font-size:8px;color:#8b94a3;text-transform:uppercase}
.v54-week-day .dn{font-size:14px;font-weight:900;color:#263244;margin:2px 0}
.v54-week-day .amt{font-size:7.5px;color:#6b7484;margin-top:4px}
.v54-week-day .v53-day-dots{margin-top:2px}

/* Objective belongs only to Accueil, never to Mes enveloppes. */
body.v424-envelope-mode .v48-goal-card{display:none!important}

/* Manual month close removed from Home: the month archives itself when a new month starts. */
.v45-close-card{display:none!important}

/* Month / Week / Year */
.v55-calendar-mode{grid-template-columns:repeat(3,1fr)!important;display:grid!important;gap:5px!important}
.v55-calendar-mode button{width:100%}
.v55-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.v55-year-month{border:1px solid #e4e8ef;background:#fff;border-radius:12px;padding:10px 7px;text-align:left;min-height:86px}
.v55-year-month:active{transform:scale(.98)}
.v55-year-month .ym-name{font-size:11px;font-weight:900;color:#263244;text-transform:capitalize}
.v55-year-month .ym-total{font-size:10px;font-weight:850;color:#667085;margin-top:8px}
.v55-year-month .ym-dots{display:flex;gap:3px;align-items:center;min-height:8px;margin-top:7px}
.v55-year-month .ym-dot{width:7px;height:7px;border-radius:50%}
.v55-year-month.current{border-color:#b9c9ff;background:#f5f7ff}

/* Single comparison block, after the calendar */
.v55-compare-wrap{margin-top:10px}
.v55-compare-toggle{width:100%;border:1px solid #e2e6ed;background:#fff;border-radius:13px;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;color:#34405a}
.v55-compare-toggle b{font-size:16px;color:#2457c5}
.v55-compare-panel{background:#fff;border:1px solid #e6e9ef;border-radius:14px;padding:12px;margin-top:8px}
.v55-periods{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.v55-periods label{display:grid;gap:5px}.v55-periods label>span{font-size:9px;font-weight:900;color:#5e6879}
.v55-periods input{width:100%;border:1px solid #dfe4ec;border-radius:9px;padding:8px 6px;font-size:9px!important;background:#fff}
.v55-compare-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.v55-compare-presets button{border:0;background:#eef1f6;color:#536078;border-radius:8px;padding:7px 8px;font-size:8.5px!important;font-weight:900}
.v55-compare-presets .primary-mini{background:#2457c5;color:#fff}
.v55-range-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}
.v55-range-summary>div{border-radius:11px;padding:9px;background:#f7f8fb}
.v55-range-summary span{display:block;font-size:8px;color:#7d8698;font-weight:800}.v55-range-summary b{display:block;font-size:14px;color:#17213a;margin-top:3px}
.v55-bars{display:grid;gap:12px;margin-top:8px}
.v55-bar-group{border-top:1px solid #edf0f4;padding-top:10px}
.v55-bar-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}
.v55-bar-title b{font-size:10.5px;color:#263244}.v55-bar-title span{font-size:8.5px;font-weight:850}
.v55-bar-line{display:grid;grid-template-columns:55px 1fr 55px;gap:7px;align-items:center;margin:5px 0}
.v55-bar-line span{font-size:8px;color:#7d8698}.v55-bar-line em{font-style:normal;font-size:8px;font-weight:850;text-align:right;color:#4c576a}
.v55-bar-track{height:9px;background:#edf0f5;border-radius:99px;overflow:hidden}
.v55-bar-fill{height:100%;border-radius:99px}
.v55-bar-fill.p1{opacity:.45}.v55-bar-fill.p2{opacity:1}
.v55-diff-up{color:#b42338!important}.v55-diff-down{color:#2e7d5a!important}.v55-diff-flat{color:#7d8698!important}
@media(max-width:360px){.v55-periods{grid-template-columns:1fr}.v55-year-grid{grid-template-columns:repeat(2,1fr)}}

.v56-date-toolbar{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px;margin:0 0 12px}
.v56-date-main{border:1px solid #e2e6ed;background:#fff;border-radius:13px;padding:11px 13px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px!important;font-weight:900!important;color:#263244}
.v56-date-main b{font-size:15px;color:#2457c5}
.v56-view-button{border:1px solid #e2e6ed;background:#fff;border-radius:13px;padding:0 13px;font-size:10px!important;font-weight:900!important;color:#667085}
.v56-view-menu{position:absolute;right:0;top:48px;z-index:30;background:#fff;border:1px solid #e3e7ee;border-radius:12px;box-shadow:0 10px 25px rgba(25,40,70,.14);padding:5px;min-width:116px}
.v56-view-menu button{width:100%;border:0;background:transparent;border-radius:8px;padding:9px 10px;text-align:left;font-size:10px!important;font-weight:850!important;color:#4b5565}
.v56-view-menu button.active{background:#eef3ff;color:#2457c5}

/* iPhone-like wheel picker */
.v56-date-sheet{padding-bottom:18px}
.v56-picker-head{display:grid;grid-template-columns:72px 1fr 72px;align-items:center;margin-bottom:8px}
.v56-picker-head h3{text-align:center;margin:0;font-size:16px;color:#17213a}
.v56-picker-head button{border:0;background:transparent;font-size:11px!important;font-weight:900!important;padding:8px}
.v56-cancel{color:#667085;text-align:left}.v56-done{color:#2457c5;text-align:right}
.v56-wheel-wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;height:238px;overflow:hidden;margin:6px 4px 8px}
.v56-wheel-highlight{position:absolute;left:0;right:0;top:94px;height:50px;border-radius:14px;background:#f2f3f6;z-index:0}
.v56-wheel{height:238px;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:94px 0;z-index:1}
.v56-wheel::-webkit-scrollbar{display:none}
.v56-wheel-item{height:50px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:17px;color:#9a9fa8;transition:.15s}
.v56-wheel-item.selected{font-size:20px;font-weight:800;color:#262b33}
.v56-picker-footer{text-align:center}
.v56-picker-footer button{border:0;background:#eef3ff;color:#2457c5;border-radius:10px;padding:9px 13px;font-size:10px!important;font-weight:900!important}

.v57-home-spend{margin:0 0 10px}
.v57-home-spend>button{width:100%;border:1px solid #e5e9f0;background:#fff;border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;text-align:left}
.v57-home-spend span{display:block;min-width:0}.v57-home-spend small{display:block;font-size:7.5px;color:#8a93a2;font-weight:900;letter-spacing:.04em}.v57-home-spend b{display:block;font-size:13px;color:#17213a;margin-top:2px}
.v57-home-spend em{font-style:normal;font-size:8px;color:#2457c5;font-weight:900;white-space:nowrap}
.v57-day-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}
.v57-day-arrow{width:38px;height:38px;border:0;border-radius:50%;background:#f1f3f7;color:#263244;font-size:24px;display:flex;align-items:center;justify-content:center}
.v57-day-center{text-align:center}.v57-day-center small{display:block;font-size:8px;font-weight:900;color:#7c83f7;text-transform:uppercase;letter-spacing:.05em}.v57-day-center h2{margin:2px 0 3px;font-size:16px;color:#17213a}.v57-day-center b{font-size:10px;color:#566174}
.v57-spend-high{color:#b42338!important}.v57-spend-ok{color:#2e7d5a!important}

.v58-spend-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 11px}
.v58-spend-card{background:linear-gradient(155deg,#fff 0%,#f8f9fd 100%);border:1px solid #e7eaf1;border-radius:18px;padding:12px;box-shadow:0 5px 16px rgba(36,50,83,.055);min-width:0}
.v58-card-top{display:grid;grid-template-columns:28px 1fr auto;gap:6px;align-items:center}
.v58-icon{width:28px;height:28px;border-radius:10px;background:#f0f3fb;display:flex;align-items:center;justify-content:center;font-size:14px}
.v58-card-top small{display:block;font-size:6.3px!important;letter-spacing:.055em;font-weight:900;color:#9098a8;white-space:nowrap}
.v58-card-top b{display:block;font-size:9px!important;color:#4a5568;margin-top:1px;white-space:nowrap}
.v58-arrows{display:flex;gap:2px}.v58-arrows button{border:0;background:#eef1f6;width:20px;height:20px;border-radius:50%;padding:0;color:#5d6675;font-size:15px;line-height:19px}
.v58-spend-card>strong{display:block;font-size:20px;color:#17213a;margin:11px 0 7px;letter-spacing:-.02em}
.v58-compare{display:inline-flex;align-items:center;min-height:21px;border-radius:8px;padding:4px 7px;font-size:7.3px!important;font-weight:900;line-height:1.2;background:#f0f2f5;color:#667085}
.v58-compare.good{background:#eaf7ef;color:#278357}.v58-compare.bad{background:#fff0f1;color:#c64050}.v58-compare.same{background:#f0f2f5;color:#667085}
@media(max-width:350px){.v58-spend-cards{grid-template-columns:1fr}.v58-card-top small{font-size:7px!important}}

/* Home hierarchy: immediate spending first, then goal, then a compact monthly snapshot. */
.v58-spend-cards{margin-top:2px!important;margin-bottom:10px!important}
.v48-goal-card{margin-top:0!important;margin-bottom:10px!important}
.v59-month-summary{padding:10px 11px!important;margin-bottom:10px!important}
.v59-month-summary .v40-head{margin-bottom:7px!important}
.v59-month-summary .v40-head h2{font-size:11px!important;font-weight:900!important;color:#566174!important;margin:0!important;text-transform:capitalize}
.v59-month-summary .v40-summary{gap:6px!important}
.v59-month-summary .v40-summary>div{padding:8px 7px!important;border-radius:10px!important;min-height:auto!important}
.v59-month-summary .v40-summary span{font-size:7px!important}
.v59-month-summary .v40-summary b{font-size:11px!important;margin-top:2px!important}

/* Bottom menu icons should read clearly at a glance. */
#mbBottomNav .mb-nav-icon{font-size:20px!important;filter:saturate(.9)}
#mbBottomNav .mb-nav-label{font-weight:850!important}

/* V60: Home returns to the validated hierarchy. */
#homeMainView>.v48-goal-card{display:none!important}
.v59-month-summary{padding:initial!important}
#homeMainView .v40-section{margin-bottom:10px}

/* Daily/week cards belong to Mes enveloppes and stay side-by-side. */
#homeEnvelopeView .v58-spend-cards{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;margin:0 0 12px!important}
#homeEnvelopeView .v58-spend-card{min-width:0!important;padding:10px!important}
#homeEnvelopeView .v58-card-top{grid-template-columns:25px minmax(0,1fr) auto!important;gap:4px!important}
#homeEnvelopeView .v58-icon{width:25px!important;height:25px!important}
#homeEnvelopeView .v58-card-top small{font-size:5.8px!important}
#homeEnvelopeView .v58-card-top b{font-size:8px!important;overflow:hidden;text-overflow:ellipsis}
#homeEnvelopeView .v58-spend-card>strong{font-size:18px!important;margin:9px 0 6px!important}
#homeEnvelopeView .v58-compare{font-size:6.7px!important;padding:4px 5px!important}
@media(max-width:350px){
 #homeEnvelopeView .v58-spend-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
}

/* The date selector already names the month/year: no duplicate calendar heading. */
.v60-calendar-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin:0 0 9px}
.v60-calendar-nav .navbtn{justify-self:center}
.v60-calendar-nav .today{justify-self:center}
.v60-calendar-nav #monthTitle{display:none!important}

#homeEnvelopeView .v58-compare{
  display:flex!important;
  width:100%!important;
  min-height:30px!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.25!important;
  padding:5px 6px!important;
  font-size:7px!important;
}

:root{
  --v62-purple:#6d3fd1;
  --v62-purple-dark:#5b2fc2;
  --v62-muted:#697083;
}

/* Bottom bar: unified thin-line icon system */
#mbBottomNav .mb-nav-item{
  color:var(--v62-muted)!important;
}
#mbBottomNav .mb-nav-item.active{
  color:var(--v62-purple)!important;
  background:transparent!important;
}
#mbBottomNav .mb-nav-icon{
  width:26px!important;
  height:26px!important;
  margin:0 0 5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:inherit!important;
  filter:none!important;
}
#mbBottomNav .v62-nav-svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#mbBottomNav .mb-nav-label{
  color:inherit!important;
  font-size:9.5px!important;
  font-weight:800!important;
}

/* Plus button: same polished purple family */
#mbBottomNav .mb-nav-add-circle{
  background:linear-gradient(145deg,#7d50df 0%,#6535cc 62%,#5526b7 100%)!important;
  box-shadow:0 10px 24px rgba(101,53,204,.30)!important;
}

/* Settings: same line language as the nav */
#topSettingsButton{
  color:var(--v62-muted)!important;
  font-size:0!important;
}
#topSettingsButton .v62-settings-svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Active nav subtle polish without a colored tile */
#mbBottomNav .mb-nav-item.active .v62-nav-svg{
  stroke-width:1.95!important;
}

:root{
  --v63-blue:#3978d4;
  --v63-blue-dark:#2f68c0;
  --v63-muted:#697083;
}
#mbBottomNav .mb-nav-item{
  color:var(--v63-muted)!important;
}
#mbBottomNav .mb-nav-item.active{
  color:var(--v63-blue)!important;
  background:transparent!important;
}
#mbBottomNav .mb-nav-item.active .v62-nav-svg{
  stroke:var(--v63-blue)!important;
}
#mbBottomNav .mb-nav-add-circle{
  background:linear-gradient(145deg,#4a88df 0%,#3978d4 62%,#2f68c0 100%)!important;
  box-shadow:0 10px 24px rgba(57,120,212,.28)!important;
}
#topSettingsButton{
  color:var(--v63-muted)!important;
}
#topSettingsButton.active,
body[data-active-tab="settings"] #topSettingsButton{
  color:var(--v63-blue)!important;
}

/* Only one forecast on Home */
#forecastHome{display:none!important}

/* Forecast color: positive green, negative red */
#v45Forecast{font-weight:900!important}
#v45Forecast.v64-positive{color:#48d58a!important}
#v45Forecast.v64-negative{color:#ff6b73!important}

/* Comparison sits directly under the selected month/year */
.v64-compare-inline{margin:-4px 0 11px}
.v64-compare-check{display:flex;align-items:center;gap:8px;padding:7px 4px;font-size:10px;font-weight:850;color:#596579;cursor:pointer}
.v64-compare-check input{width:17px;height:17px;accent-color:#3978d4}
.v64-compare-panel{margin-top:3px!important}
.v64-compare-panel.hidden{display:none!important}

/* Larger, more balanced Day / Week cards */
#homeEnvelopeView .v58-spend-card{padding:12px!important}
#homeEnvelopeView .v58-icon{width:34px!important;height:34px!important;font-size:18px!important;border-radius:11px!important}
#homeEnvelopeView .v58-card-top{grid-template-columns:34px minmax(0,1fr) auto!important;gap:7px!important}
#homeEnvelopeView .v58-card-top small{font-size:7px!important}
#homeEnvelopeView .v58-card-top b{font-size:9.5px!important}
#homeEnvelopeView .v58-spend-card>strong{font-size:21px!important}

/* Category budget input: currency symbol belongs to the field */
.v64-budget-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.v64-category-money{min-width:0}
.v64-category-money span{display:flex!important;align-items:center!important;justify-content:center!important;padding:0 11px!important}
.v64-budget-row .budget-inline-save{height:44px;border:0;border-radius:11px;background:#eef3ff;color:#3978d4;padding:0 11px;font-size:9px!important;font-weight:900!important}
.v64-delete-category{margin-top:8px!important;color:#ba3442!important;border-color:#f0cbd0!important;background:#fff7f8!important}

/* Simpler purchase summary */
.v64-purchase-summary{background:linear-gradient(145deg,#3978d4,#2e69c3);border-radius:18px;padding:15px;color:#fff;margin-bottom:12px}
.v64-purchase-summary>small{font-size:8px;opacity:.8;font-weight:800}
.v64-purchase-total{font-size:25px;font-weight:950;margin:3px 0 12px}
.v64-purchase-progress{height:8px;background:rgba(255,255,255,.22);border-radius:99px;overflow:hidden}
.v64-purchase-progress i{display:block;height:100%;background:#fff;border-radius:99px}
.v64-purchase-foot{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:8px;font-weight:800;opacity:.92}

#personalHome #objectiveCardPersonal{display:none!important}
.v65-goal-card{padding:15px!important}
.v65-goal-route{display:grid;grid-template-columns:1fr 28px 1fr;gap:6px;align-items:center;margin:13px 0 11px}
.v65-goal-point{background:#f7f8fb;border:1px solid #e8ebf1;border-radius:13px;padding:10px 8px;text-align:center}
.v65-goal-point.target{background:#eef5ff;border-color:#dbe8ff}
.v65-goal-point span{display:block;font-size:7.5px;color:#7d8698;font-weight:850;margin-bottom:4px}
.v65-goal-point b{display:block;font-size:15px;color:#17213a}.v65-goal-arrow{text-align:center;color:#6b7a90;font-size:18px;font-weight:900}
.v65-goal-card .v48-goal-foot{display:flex!important;flex-wrap:wrap!important;gap:5px 8px!important;align-items:center!important}
.v65-goal-card #v48GoalRemain{margin-left:auto;color:#2457c5!important}.v65-goal-card #v48GoalMonthly{width:100%;text-align:right;color:#7d8698!important;font-size:8px!important}
#homeEnvelopeView .v58-card-top{grid-template-columns:34px minmax(0,1fr)!important}
#homeEnvelopeView .v58-compare{min-height:32px!important;padding:6px 7px!important;font-size:7.2px!important;line-height:1.25!important}
.v65-spend-nav{display:grid;grid-template-columns:28px 1fr 28px;gap:5px;align-items:center;margin-top:7px}
.v65-spend-nav button{width:28px;height:28px;border:0;border-radius:50%;background:#eef1f6;color:#566177;font-size:18px;padding:0}
.v65-spend-nav span{text-align:center;font-size:7px;color:#9299a7;font-weight:800}
#homeEnvelopeView .v58-spend-card{min-height:190px!important}
.v64-compare-inline{display:none!important}
.v65-picker-compare{border-top:1px solid #eceef2;margin-top:6px;padding-top:9px}
.v65-picker-compare-toggle{display:flex;align-items:center;gap:9px;padding:7px 4px;font-size:11px;font-weight:850;color:#34405a}
.v65-picker-compare-toggle input{width:18px;height:18px;accent-color:#3978d4}
.v65-picker-compare-fields{display:grid;gap:8px;margin-top:5px}.v65-picker-compare-fields.hidden{display:none!important}
.v65-period-card{background:#f7f8fb;border-radius:11px;padding:9px}.v65-period-card>b{display:block;font-size:8px;color:#596579;margin-bottom:6px}
.v65-period-card>div{display:grid;grid-template-columns:1fr auto 1fr;gap:5px;align-items:center}.v65-period-card input{width:100%;min-width:0;border:1px solid #dfe4ec;background:#fff;border-radius:8px;padding:7px 4px;font-size:8px!important}.v65-period-card span{font-size:8px;color:#8a92a2}
.v65-picker-presets{display:flex;gap:5px}.v65-picker-presets button{border:0;background:#eef3ff;color:#3978d4;border-radius:8px;padding:7px 9px;font-size:8px!important;font-weight:900}
.v65-compare-result-card{background:#fff;border:1px solid #e5e9f0;border-radius:14px;padding:12px;margin-top:10px}.v65-compare-result-card.hidden{display:none!important}
.v65-compare-result-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.v65-compare-result-head span{font-size:8px;font-weight:900;letter-spacing:.06em;color:#3978d4}.v65-compare-result-head button{border:0;background:#eef1f6;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:850;color:#667085}
#topSettingsButton{position:absolute!important;top:max(14px,env(safe-area-inset-top))!important;right:14px!important;left:auto!important;z-index:200!important}
body.v424-envelope-mode .top-shell{padding-top:84px!important}

.v66-goal-coach{margin-top:9px;padding:9px 10px;border-radius:11px;background:#f7f9fd;font-size:8.5px;line-height:1.4;color:#596579}
.v66-goal-coach b{color:#2457c5}
.v66-success-card{background:linear-gradient(135deg,#f6f8ff,#eef4ff);border:1px solid #dce7ff;border-radius:14px;padding:12px;margin-top:8px}
.v66-success-card .medal{font-size:27px}.v66-success-card b{display:block;font-size:12px;color:#17213a;margin:4px 0}.v66-success-card span{font-size:9px;color:#707b8e}
.v66-goal-ideas{display:grid;gap:7px;margin-top:9px}.v66-goal-idea{border:1px solid #e4e8ef;background:#fff;border-radius:11px;padding:10px;text-align:left;color:#34405a;font-size:9px;font-weight:850}
.v66-goal-idea small{display:block;color:#8a92a2;font-weight:600;margin-top:3px;line-height:1.35}
.v66-installment-preview{background:#f7f9fd;border-radius:10px;padding:9px;font-size:9px;color:#596579;margin-bottom:10px}
.v66-purchase-installment{margin-top:8px;padding:8px 9px;border-radius:10px;background:#eef5ff;color:#315d9d;font-size:9px;font-weight:800}
.v66-rollover-box{margin-bottom:10px;padding:12px;border-radius:14px;background:#fff;border:1px solid #e4e9f1}
.v66-rollover-box h3{font-size:12px;margin:0 0 4px;color:#17213a}.v66-rollover-box p{font-size:8.5px;line-height:1.4;color:#778195;margin:0 0 8px}
.v66-rollover-row{padding:9px 0;border-top:1px solid #eef1f5}.v66-rollover-row:first-of-type{border-top:0}
.v66-rollover-row b{font-size:10px;color:#17213a}.v66-rollover-row span{display:block;font-size:8px;color:#7d8698;margin-top:2px}
.v66-rollover-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.v66-rollover-actions button{border:0;border-radius:8px;padding:7px 8px;font-size:7.5px;font-weight:900;background:#eef3ff;color:#2457c5}
.v66-rollover-actions button.save{background:#edf8f2;color:#18734e}.v66-rollover-actions button.reset{background:#f2f3f6;color:#697386}
.v66-notice{background:#fff8e8;border:1px solid #f2e2b7;border-radius:12px;padding:10px;margin:8px 0;font-size:8.5px;color:#765d24;line-height:1.4}
.v66-day-forward-hidden{visibility:hidden!important;pointer-events:none!important}

/* Goal planning */
.v67-random-goal{margin-bottom:8px!important}
#v67GoalPlanHint{line-height:1.4!important}

/* Envelope progress */
.v67-env-progress{height:9px;background:#edf1f5;border-radius:99px;overflow:hidden;margin:9px 0 5px}
.v67-env-progress i{display:block;height:100%;border-radius:99px;background:#48b97a;transition:.25s}
.v67-env-progress i.warn{background:#efaa3a}
.v67-env-progress i.danger{background:#e45c68}
.v67-env-status{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#7d8698}
.v67-env-status b{color:#34405a}

/* End-of-month choices are shown only in a dedicated modal, never permanently inside envelopes */
.v66-rollover-box{display:none!important}

/* Purchases */
.v67-purchase-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.v67-purchase-actions button{border:0;border-radius:9px;padding:8px 9px;font-size:8px;font-weight:900}
.v67-buy{background:#eaf7ef;color:#23734e}.v67-delete{background:#fff0f1;color:#b73b4a}.v67-savefree{background:#eef3ff;color:#2f68c0}
.v67-free-hint{margin-top:7px;padding:8px 9px;border-radius:10px;background:#f7f9fd;font-size:8.5px;color:#596579}

#v412EnvelopeRows .v426-env-card .v426-env-progress,
#v412EnvelopeRows .v426-env-card .v426-progress,
#v412EnvelopeRows .v426-env-card .progress:not(.v67-env-progress),
#v412EnvelopeRows .v426-env-card .v426-env-status,
#v412EnvelopeRows .v426-env-card .v426-status-badge,
#v412EnvelopeRows .v426-env-card .budget-ok,
#v412EnvelopeRows .v426-env-card .status-good{display:none!important}
.v67-env-progress{height:10px!important;margin:10px 0 5px!important}
.v67-env-status{font-size:8.5px!important}
.v68-purchase-card{padding:13px;border:1px solid #e5e9f0;border-radius:15px;background:#fff;margin-bottom:10px}
.v68-purchase-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.v68-purchase-title{font-size:12px;font-weight:950;color:#17213a}
.v68-purchase-priority{display:inline-block;margin-top:4px;font-size:7.5px;font-weight:850;color:#697386;background:#f2f4f7;padding:4px 7px;border-radius:99px}
.v68-purchase-price{font-size:13px;font-weight:950;color:#17213a;white-space:nowrap}
.v68-purchase-saved{margin-top:10px;display:flex;justify-content:space-between;font-size:8.5px;color:#778195}
.v68-purchase-saved b{color:#34405a}
.v68-purchase-progress{height:7px;background:#edf1f5;border-radius:99px;overflow:hidden;margin-top:6px}
.v68-purchase-progress i{display:block;height:100%;background:#4d82e6;border-radius:99px}

.v69-star-check{display:flex!important;align-items:center;gap:8px!important;font-weight:850!important}
.v69-star-check input{width:19px!important;height:19px!important;margin:0!important}
.v69-featured{margin:0 0 14px}
.v69-featured-title,.v69-group-title{font-size:10px;font-weight:950;color:#27334b;margin:10px 2px 7px;display:flex;align-items:center;justify-content:space-between}
.v69-featured-list{display:grid;gap:8px}
.v69-featured-card{border:1px solid #dce6f7;background:#f8fbff;border-radius:14px;padding:11px}
.v69-featured-card .v69-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.v69-featured-card b{font-size:11px;color:#17213a}.v69-featured-card small{font-size:7.5px;color:#748096}
.v69-star-btn{border:0;background:transparent;font-size:18px;line-height:1;padding:0 2px;cursor:pointer}
.v69-groups{display:grid;gap:8px}
.v69-group{border:1px solid #e5e9f0;border-radius:15px;background:#fff;overflow:hidden}
.v69-group-head{width:100%;border:0;background:#fff;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;font-weight:950;color:#25324a}
.v69-group-head span:last-child{font-size:9px;color:#8390a5}
.v69-group-body{padding:0 10px 10px;display:grid;gap:8px}
.v69-group-body.hidden{display:none}
.v69-item{border-top:1px solid #eef1f5;padding-top:9px}
.v69-item:first-child{border-top:0}
.v69-item-top{display:flex;justify-content:space-between;gap:8px}
.v69-item-name{font-size:10.5px;font-weight:950;color:#17213a}
.v69-item-price{font-size:10.5px;font-weight:950;color:#17213a;white-space:nowrap}
.v69-item-meta{font-size:7.5px;color:#758196;margin-top:3px}
.v69-item-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.v69-item-actions button{border:0;border-radius:9px;padding:7px 8px;font-size:7.5px;font-weight:900}
.v69-reserve{background:#eef3ff;color:#2f68c0}.v69-buy{background:#eaf7ef;color:#23734e}.v69-delete{background:#fff0f1;color:#b73b4a}
.v69-reserve-summary{font-size:8px;color:#6e798c;margin-top:6px}
.v69-budget-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;vertical-align:0}

#purchaseStats .stat:not(:first-child),#purchaseStats .kpi:not(:first-child),#purchaseStats > *:not(:first-child){display:none!important}#purchaseStats{grid-template-columns:1fr!important}
.v70-top-actions{display:flex;align-items:center;gap:5px;margin-left:auto}.v70-icon-btn{width:29px;height:29px;border:0;border-radius:9px;background:#f3f5f8;display:grid;place-items:center;font-size:14px;padding:0}.v70-star{color:#aeb6c4}.v70-star.active{color:#e5aa16;background:#fff8dc}.v70-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:8px}.v70-actions button{border:0;border-radius:9px;padding:7px 3px;font-size:7px;font-weight:900;white-space:nowrap}.v70-fund{background:#eef3ff;color:#2f68c0}.v70-buy{background:#eaf7ef;color:#23734e}.v70-delete{background:#fff0f1;color:#b73b4a}

.v71-priority-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.v71-priority-name .origin{font-size:8px;color:#7d8698;font-weight:800}
.v71-icon-actions{display:grid;grid-template-columns:repeat(3,34px);gap:6px;justify-content:start;margin-top:9px}
.v71-icon-actions button{width:34px;height:34px;border:0;border-radius:10px;display:grid;place-items:center;font-size:16px;font-weight:950;padding:0}
.v71-money{background:#eef3ff;color:#2f68c0}
.v71-bought{background:#eaf7ef;color:#23734e}
.v71-delete{background:#fff0f1;color:#b73b4a}
.v71-icon-actions button:active{transform:scale(.96)}

.v73-category-manager{gap:10px!important}
.v73-bottom-add{display:flex;justify-content:center;padding:5px 0 2px}
.v73-bottom-add button{
  border:0;background:#eef3ff;color:#3978d4;border-radius:11px;
  padding:9px 12px;font-size:9px;font-weight:900;
}
.v73-purchases{padding-top:0!important}
.v73-purchases #purchaseSummary{margin-top:0!important}
.v73-category-manager .add-main-category-btn{display:none!important}

/* Compact objective */
.v65-goal-card{
  padding:12px!important;
  margin-bottom:10px!important;
}
.v65-goal-card .v48-goal-head{margin-bottom:6px!important}
.v65-goal-card .v48-goal-head h2{font-size:15px!important;margin-top:2px!important}
.v65-goal-route{
  margin:8px 0 8px!important;
  grid-template-columns:1fr 22px 1fr!important;
}
.v65-goal-point{
  padding:8px 6px!important;
  border-radius:11px!important;
}
.v65-goal-point span{font-size:7px!important;margin-bottom:2px!important}
.v65-goal-point b{font-size:13px!important}
.v65-goal-arrow{font-size:15px!important}
.v65-goal-card .v48-goal-progress{height:7px!important;margin:7px 0!important}
.v65-goal-card .v48-goal-foot{gap:3px 6px!important}
.v65-goal-card #v48GoalPercent,
.v65-goal-card #v48GoalRemain,
.v65-goal-card #v48GoalMonthly{font-size:7.5px!important}
.v66-goal-coach{
  padding:6px 8px!important;
  margin-top:6px!important;
  font-size:7.5px!important;
  line-height:1.3!important;
  min-height:0!important;
}

/* Spend cards: no useless blank space */
#homeEnvelopeView .v58-spend-card{
  min-height:0!important;
  padding:10px!important;
}
#homeEnvelopeView .v58-spend-card>strong{
  margin:7px 0 4px!important;
  font-size:19px!important;
}
#homeEnvelopeView .v58-compare{
  min-height:0!important;
  padding:4px 5px!important;
  font-size:6.8px!important;
}
.v65-spend-nav{margin-top:5px!important}
.v65-spend-nav button{width:25px!important;height:25px!important}
.v65-spend-nav span{font-size:6.5px!important}

/* Add buttons directly where user needs them */
.v74-top-add{display:flex;justify-content:flex-end;margin:0 0 9px}
.v74-top-add button{
  border:0;background:#eef3ff;color:#3978d4;border-radius:10px;
  padding:8px 10px;font-size:8.5px;font-weight:900;
}
.v73-bottom-add{display:none!important}

/* Purchase summary: only useful information */
#purchaseSummary .v42-summary-grid{
  grid-template-columns:1fr!important;
}
#purchaseSummary .v42-summary-grid > div:not(:first-child),
#purchaseSummary .summary-grid > div:not(:first-child),
#purchaseSummary .kpi-grid > div:not(:first-child),
#purchaseStats > *:not(:first-child){
  display:none!important;
}

/* ---------- Global iPhone readability ---------- */
@media(max-width:520px){
  body{font-size:17px!important}
  .app{font-size:17px!important}
  .muted{font-size:13px!important;line-height:1.35!important}
}

/* ---------- Header / gear: never under the iPhone status bar ---------- */
@media(max-width:520px){
  .top-shell{
    padding-top:58px!important;
    position:relative!important;
  }
  #topSettingsButton{
    position:absolute!important;
    top:54px!important;
    right:18px!important;
    width:48px!important;
    height:48px!important;
    z-index:4000!important;
  }
  #topSettingsButton .v62-settings-svg{width:27px!important;height:27px!important}
  body[data-active-tab]:not([data-active-tab="home"]) .top-shell{
    padding-top:62px!important;
  }
  body[data-active-tab]:not([data-active-tab="home"]) .top-shell .account-switch{
    margin:10px 16px 0!important;
    width:calc(100% - 32px)!important;
  }
}

/* ---------- Objective: compact, no meaningless current -> monthly stage boxes ---------- */
.v65-goal-route{display:none!important}
#v48GoalPercent,#v48GoalMonthly,#v66GoalCoach{display:none!important}
.v65-goal-card{
  padding:14px 14px 13px!important;
  margin-bottom:12px!important;
}
.v65-goal-card .v48-goal-head h2{font-size:21px!important;line-height:1.12!important}
.v65-goal-card .v48-goal-head button{font-size:14px!important;padding:9px 11px!important}
.v65-goal-card .v48-goal-progress{height:9px!important;margin:11px 0 7px!important}
.v65-goal-card .v48-goal-foot{
  display:block!important;
  margin-top:0!important;
}
#v48GoalRemain{
  display:block!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.25!important;
  text-align:left!important;
  color:#315cc7!important;
  font-weight:850!important;
}

/* No redundant overdraft warning in the blue hero */
#overdraftHero{display:none!important}

/* ---------- Home month summary clickable ---------- */
.v40-summary>div{
  cursor:pointer;
  position:relative;
}
.v40-summary>div::after{
  content:"›";
  position:absolute;
  right:9px;
  bottom:7px;
  color:#8a95a8;
  font-size:18px;
  font-weight:900;
}
@media(max-width:520px){
  .v40-head h2{font-size:22px!important}
  .v40-head>span{font-size:16px!important}
  .v40-summary span{font-size:13px!important;line-height:1.15!important}
  .v40-summary b{font-size:17px!important}
  .v40-summary>div{padding:13px 11px 17px!important}
}

/* ---------- Calendar: remove duplicate month selector, keep View ---------- */
.v56-date-toolbar{
  display:flex!important;
  justify-content:flex-end!important;
  margin-bottom:10px!important;
}
.v56-date-main{display:none!important}
.v56-view-button{font-size:15px!important;padding:11px 15px!important}
.v60-calendar-nav .today{
  font-size:16px!important;
  padding:11px 16px!important;
}
.v60-calendar-nav .navbtn{font-size:21px!important}
.v54-history-intro p{font-size:14px!important;line-height:1.42!important}
.v54-history-intro h2{font-size:25px!important}

/* Date picker readable and above everything */
#v56DatePickerModal{z-index:700000!important}
#v56DatePickerModal .sheet{
  max-height:calc(100dvh - 55px)!important;
  overflow-y:auto!important;
  padding:18px 18px calc(28px + env(safe-area-inset-bottom))!important;
}
.v56-picker-head h3{font-size:22px!important}
.v56-picker-head button{font-size:16px!important;font-weight:850!important}
.v56-wheel-item{font-size:19px!important}
.v65-picker-compare-toggle{font-size:16px!important;padding:11px 4px!important}
.v65-picker-compare-toggle input{width:21px!important;height:21px!important}
.v65-period-card>b{font-size:13px!important}
.v65-period-card input{font-size:14px!important;padding:10px 6px!important}
.v65-period-card span{font-size:12px!important}
.v65-picker-presets button{font-size:12px!important;padding:9px 10px!important}

/* Comparison: true vertical column chart */
.v65-compare-result-card{padding:14px!important}
.v65-compare-result-head span{font-size:13px!important}
.v65-compare-result-head button{font-size:12px!important}
.v76-compare-totals{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px
}
.v76-compare-total{
  border-radius:12px;background:#f5f7fb;padding:10px;text-align:center
}
.v76-compare-total span{display:block;font-size:11px;color:#7d8799;font-weight:800}
.v76-compare-total b{display:block;font-size:17px;color:#17213a;margin-top:3px}
.v76-column-chart{
  display:flex;gap:13px;overflow-x:auto;padding:8px 3px 4px;
  align-items:flex-end;min-height:245px
}
.v76-column-group{
  flex:0 0 92px;display:grid;grid-template-rows:175px auto;gap:8px
}
.v76-columns{
  display:flex;align-items:flex-end;justify-content:center;gap:8px;
  border-bottom:1px solid #dfe4ec;height:175px
}
.v76-col-wrap{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;width:34px}
.v76-col-wrap em{font-size:10px;font-style:normal;color:#6c778b;font-weight:750;white-space:nowrap}
.v76-col{width:28px;border-radius:7px 7px 2px 2px;min-height:3px}
.v76-col.p1{opacity:.45}
.v76-col.p2{opacity:1}
.v76-column-label{text-align:center;font-size:11px;line-height:1.2;color:#39455c;font-weight:850}
.v76-chart-key{display:flex;justify-content:center;gap:15px;margin-top:10px;font-size:11px;color:#68758a}
.v76-key-dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px;vertical-align:-1px}

/* ---------- Analysis: Expense / Income selector ---------- */
.v76-analysis-controls{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px
}
.v76-analysis-controls button{
  border:0;border-radius:11px;padding:11px 8px;font-size:14px;font-weight:900;background:#eef1f6;color:#6a7488
}
.v76-analysis-controls button.active{background:#3978d4;color:#fff}
#v76AnalysisCategory{
  width:100%;margin:0 0 12px;border:1px solid #dfe4ed;border-radius:11px;padding:11px 12px;font-size:15px;background:#fff
}
.v407-pie-head h3{font-size:21px!important}
.v407-pie-head span{font-size:11px!important}
.v407-pie-head b{font-size:18px!important}
.v407-pie-legend,.v407-pie-legend *{font-size:13px!important}

/* ---------- Category manager: only plus / pencil / delete icons ---------- */
.v421-cat-actions{
  display:flex!important;gap:6px!important;align-items:center!important;
}
.v421-cat-actions button{
  width:34px!important;height:34px!important;padding:0!important;
  border:0!important;border-radius:10px!important;background:#f1f4f8!important;
  color:#526078!important;font-size:0!important;display:grid!important;place-items:center!important
}
.v421-cat-actions button::before{font-size:17px!important;font-weight:900}
.v421-cat-actions button[onclick*="OpenSubcategory"]::before{content:"+"}
.v421-cat-actions button[onclick*="openCategoryEditor"]::before{content:"✎"}
.v421-cat-actions button[onclick*="DeleteCategory"]::before{content:"×";color:#c84754}
.v421-cat-actions button:disabled{display:none!important}
.v421-cat-copy b{font-size:16px!important}
.v421-cat-copy small{font-size:12px!important}
.v421-group-title b{font-size:15px!important}
.v421-group-title span{font-size:12px!important}

/* ---------- Purchase editor: true mobile sheet, bottom nav never covers it ---------- */
#purchaseEditorModal{z-index:800000!important}
#purchaseEditorModal .sheet{
  width:min(100%,520px)!important;
  max-height:calc(100dvh - 34px)!important;
  height:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:16px 18px calc(25px + env(safe-area-inset-bottom))!important;
  border-radius:24px 24px 0 0!important;
}
#purchaseEditorModal .category-sheet-head{
  position:sticky!important;top:-16px!important;background:#fff!important;z-index:5!important;
  padding-top:12px!important;padding-bottom:10px!important
}
#purchaseEditorModal .category-sheet-head h3{font-size:23px!important}
#purchaseEditorModal .field label{font-size:14px!important}
#purchaseEditorModal input,#purchaseEditorModal select{font-size:16px!important;min-height:48px!important}
#purchaseEditorModal .muted{font-size:12px!important}
#purchaseEditorModal>.sheet>.primary{
  position:sticky!important;bottom:0!important;z-index:6!important;
  margin-top:12px!important;min-height:50px!important;font-size:16px!important;
  box-shadow:0 -10px 20px rgba(255,255,255,.92)!important
}
/* Payment is chosen only after pressing Bought, not while preparing the shopping list. */
#purchaseEditorModal .field:has(#purchaseGroupInput),
#purchaseEditorModal .field:has(#v66PurchasePaymentMode),
#v66InstallmentFields{display:none!important}

body.v76-modal-open #mbBottomNav{display:none!important}

/* ---------- Small / category modals ---------- */
.v76-small-sheet{max-height:calc(100dvh - 70px)!important;overflow-y:auto!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
.v76-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.v76-modal-head h3{font-size:21px;margin:0}
.v76-modal-head small{font-size:10px;color:#7e89a0;font-weight:900}
.v76-modal-head button{border:0;background:#f0f2f6;width:36px;height:36px;border-radius:50%;font-size:21px}
.v76-help{font-size:13px;color:#758196;line-height:1.4}
.v76-choice-list{display:grid;gap:8px;margin:12px 0}
.v76-choice{
  display:flex;align-items:center;gap:10px;border:1px solid #dfe4ed;border-radius:12px;padding:11px 12px;background:#fff
}
.v76-choice input{width:20px;height:20px;accent-color:#3978d4}
.v76-choice span{font-size:15px;font-weight:800;color:#26334a}
.v76-summary-list{display:grid;gap:8px}
.v76-summary-row{
  display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4
}
.v76-summary-row:last-child{border-bottom:0}
.v76-summary-row b{font-size:14px;color:#17213a}
.v76-summary-row small{display:block;font-size:12px;color:#7c8799;margin-top:2px}
.v76-summary-row strong{font-size:14px;color:#17213a;white-space:nowrap}
.v76-summary-empty{padding:18px;text-align:center;color:#7a8598;font-size:14px}

/* purchase payment/category modal above everything */
#v76PurchaseCategoryModal,#v67PurchaseConfirmModal{z-index:850000!important}
#v67PurchaseConfirmModal .sheet{max-height:calc(100dvh - 60px)!important;overflow-y:auto!important;padding-bottom:calc(25px + env(safe-area-inset-bottom))!important}

/* Prevent tiny labels in calendar day card */
#v55DayCard small{font-size:12px!important}
#v55DayCard h2{font-size:20px!important}
#v55DayCard b{font-size:14px!important}

/* Objective: start-of-month -> end-of-month target */
.v65-goal-route{display:grid!important;grid-template-columns:1fr 24px 1fr!important;gap:8px!important;align-items:center!important;margin:10px 0 8px!important}
.v65-goal-point{padding:10px 8px!important;border-radius:12px!important}
.v65-goal-point span{font-size:12px!important;margin-bottom:4px!important}
.v65-goal-point b{font-size:18px!important}
.v65-goal-arrow{font-size:19px!important}
#v48GoalPercent{display:block!important;font-size:13px!important}
#v48GoalMonthly,#v66GoalCoach{display:none!important}
#v48GoalRemain{font-size:13px!important}
.v65-goal-card .v48-goal-foot{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important}

/* Home detail rows: category + note */
.v76-summary-row .v77-cat{font-size:13px;font-weight:850;color:#17213a}
.v76-summary-row .v77-note{font-size:12px;color:#7c8799;margin-top:2px}

/* Calendar minimal */
.v54-history-intro{display:none!important}
.v56-date-toolbar{margin:0 0 8px!important;min-height:0!important}
.v56-date-main{display:none!important}
.v56-view-button{
  width:38px!important;height:38px!important;padding:0!important;border-radius:11px!important;
  font-size:0!important;display:grid!important;place-items:center!important;margin-left:auto!important
}
.v56-view-button::before{content:"⋮";font-size:26px!important;line-height:1!important;color:#536078}
.v60-calendar-card{margin-top:0!important}
.v60-calendar-nav{margin-top:0!important}
.v60-calendar-nav .today{font-size:16px!important}

/* Cleaner date picker sections */
.v56-picker-section{margin:8px 0!important}
.v56-picker-mode,
.v56-picker-segmented{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important}
.v56-picker-mode button,
.v56-picker-segmented button{font-size:13px!important;padding:9px 6px!important}
.v56-picker-footer{display:flex!important;justify-content:center!important;margin-top:10px!important}
.v56-picker-footer button{font-size:14px!important;padding:9px 12px!important}

/* Center add category */
.v74-top-add{justify-content:center!important}
.v74-top-add button{font-size:14px!important;padding:10px 14px!important}

/* Purchase category two-step */
.v77-subtitle{font-size:14px;font-weight:900;color:#2d3b54;margin:12px 0 4px}
#v77PurchaseSubcategoryBlock.hidden{display:none!important}
.v76-choice.selected{border-color:#3978d4!important;background:#eef4ff!important}

/* ===== Objective trajectory gauge ===== */
.v48-goal-progress{
  position:relative!important;
  overflow:visible!important;
  height:10px!important;
  background:linear-gradient(90deg,#e45c68 0%,#e45c68 34%,#efaa3a 52%,#efaa3a 68%,#49b77b 82%,#49b77b 100%)!important;
  border-radius:99px!important;
  margin:12px 4px 7px!important;
}
.v48-goal-progress i#v48GoalBar{
  position:absolute!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  border-radius:50%!important;
  background:#fff!important;
  border:4px solid #3978d4!important;
  box-shadow:0 2px 8px rgba(26,44,84,.22)!important;
  transform:translate(-50%,-50%)!important;
  transition:left .25s ease,border-color .25s ease!important;
}
#v48GoalPercent{
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:0!important;
}
#v48GoalRemain{font-size:13px!important}

/* ===== Calendar: toolbar completely gone; menu inside calendar nav ===== */
.v56-date-toolbar{display:none!important}
.v60-calendar-card{margin-top:0!important}
.v60-calendar-nav{
  grid-template-columns:42px minmax(0,1fr) 42px 34px!important;
  gap:5px!important;
  margin:0 0 9px!important;
}
.v78-calendar-menu{
  width:34px;height:34px;border:0;border-radius:10px;background:#f2f4f8;
  color:#57647a;font-size:24px;font-weight:900;line-height:1;display:grid;place-items:center;padding:0
}
.v60-calendar-nav .navbtn:nth-of-type(3){margin-left:-3px!important}
#v56ViewMenu.v78-menu-in-card{
  position:absolute!important;
  right:16px!important;
  top:58px!important;
  z-index:80!important;
}
.v54-calendar-card{position:relative!important}

/* ===== Gear: safely inside blue header on every page ===== */
@media(max-width:520px){
  .top-shell{
    position:relative!important;
    padding-top:58px!important;
  }
  #topSettingsButton,
  #topSettingsButton.top-settings-clean{
    position:absolute!important;
    top:54px!important;
    right:16px!important;
    left:auto!important;
    transform:none!important;
    width:48px!important;height:48px!important;
    z-index:5000!important;
    margin:0!important;
  }
  .top-shell .account-switch{
    margin-top:10px!important;
    padding-right:58px!important;
  }
}

/* ===== Automatic installments don't appear in manual to-do ===== */
.v78-auto-note{
  font-size:12px;color:#738096;background:#f6f8fb;border-radius:10px;padding:9px 10px;margin:7px 0 0
}

/* V75 — iPhone readability + stable header */
@media (max-width:520px){
  body{font-size:16px!important}
  .app{font-size:16px!important}
  .section-title,.home-budget-card h2,.v48-goal-head h2,.v421-category-head h2{font-size:22px!important;line-height:1.15!important}
  .v48-goal-name,#v48GoalName{font-size:20px!important}
  .v48-goal-card small,.v48-goal-card span,.home-budget-card .muted,.v421-cat-copy small,.v421-group-title span{font-size:13px!important;line-height:1.35!important}
  .v421-tabs button,.v421-kind-switch button{font-size:14px!important;padding:12px 8px!important}
  .v421-cat-copy b,.v421-group-title b{font-size:15px!important}
  .v421-cat-actions button{font-size:12px!important}
  .v74-top-add button{font-size:14px!important;padding:11px 14px!important}
  .v56-picker-head h3{font-size:21px!important}.v56-picker-head button{font-size:16px!important;padding:10px!important}
  .v65-picker-compare-toggle{font-size:15px!important}.v65-period-card{font-size:14px!important}
  .v69-item-name,.v69-item-price,.v69-featured-card b{font-size:15px!important}
  .v69-item-meta,.v69-featured-card small,.v69-reserve-summary{font-size:12px!important;line-height:1.35!important}
  .v69-item-actions button{font-size:12px!important;padding:9px 10px!important}
  .v69-group-head{font-size:15px!important}.v69-group-head span:last-child{font-size:12px!important}
  .v74-one-summary-label{font-size:12px!important}.v74-one-summary-value{font-size:24px!important}
}
/* Keep settings gear inside the blue header and account switch below it on every page */
#topSettingsButton{position:absolute!important;right:14px!important;top:14px!important;z-index:1001!important}
body[data-active-tab]:not([data-active-tab="home"]) .top-shell{position:relative!important;padding-top:14px!important}
body[data-active-tab]:not([data-active-tab="home"]) #compactPageHeader{display:none!important}
body[data-active-tab]:not([data-active-tab="home"]) .top-shell .account-switch{margin:42px auto 0!important;width:calc(100% - 28px)!important}
@media(max-width:390px){body[data-active-tab]:not([data-active-tab="home"]) .top-shell .account-switch{width:calc(100% - 20px)!important}}
/* No modal content may leak into the page */
.modal:not(.open){display:none!important}
/* Date picker must stay above bottom navigation */
#v56DatePickerModal{z-index:300000!important}#v56DatePickerModal .sheet{padding-bottom:calc(env(safe-area-inset-bottom) + 110px)!important}

@media(max-width:520px){
  #topSettingsButton,
  #topSettingsButton.top-settings-clean{
    position:absolute!important;
    top:64px!important;
    right:16px!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    z-index:99999!important;
  }
  .account-switch{margin-top:18px!important}
}

/* =========================================================
   V79 — iPhone: readable without zoom + clean blue header
   ========================================================= */

/* Blue header is the reference background */
.top-shell{
  position:relative!important;
  background:linear-gradient(145deg,#1d49ac 0%,#2f63d4 100%)!important;
  color:#fff!important;
  border-radius:0 0 24px 24px!important;
  padding:calc(env(safe-area-inset-top) + 54px) 18px 20px!important;
  margin:0 0 14px!important;
  overflow:visible!important;
}

/* Settings stays alone in the upper-right blue area */
#topSettingsButton,
#topSettingsButton.top-settings-clean{
  position:absolute!important;
  top:calc(env(safe-area-inset-top) + 8px)!important;
  right:18px!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:44px!important;
  height:44px!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#41506a!important;
  border:0!important;
  z-index:99999!important;
  margin:0!important;
  box-shadow:0 4px 12px rgba(18,46,112,.16)!important;
}
#topSettingsButton .v62-settings-svg{
  width:25px!important;
  height:25px!important;
  stroke:#41506a!important;
}

/* Header greeting: white on blue */
.top-shell .top-header{
  margin:0 0 14px!important;
  color:#fff!important;
}
.top-shell .hello{
  color:#fff!important;
  font-size:28px!important;
  font-weight:950!important;
}
.top-shell .tagline{
  color:#fff!important;
  opacity:.88!important;
  font-size:14px!important;
}

/* Moi / Compte commun: EXACT same typography */
.top-shell .account-switch,
.top-shell .modern-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5px!important;
  width:100%!important;
  margin:8px 0 15px!important;
  padding:4px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:none!important;
}
.top-shell .account-switch .switchbtn,
.top-shell .modern-switch .switchbtn{
  min-width:0!important;
  min-height:46px!important;
  padding:9px 8px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#fff!important;
  opacity:1!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.top-shell .account-switch .switchbtn.active,
.top-shell .modern-switch .switchbtn.active{
  background:#fff!important;
  color:#173b8e!important;
  box-shadow:0 3px 10px rgba(21,55,128,.16)!important;
}

/* Main balance: always white on blue and large enough */
.top-shell .modern-hero{
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  margin:0!important;
  padding:4px 0 3px!important;
}
.top-shell .modern-hero .label,
#heroLabel{
  color:#fff!important;
  opacity:1!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
}
.top-shell .modern-hero .big,
#heroBig{
  color:#fff!important;
  font-size:39px!important;
  font-weight:950!important;
  line-height:1.05!important;
}
.v54-hero-forecast,
.v54-hero-forecast span,
.v54-hero-forecast small{
  color:#fff!important;
}
.v54-hero-forecast span{
  font-size:14px!important;
  font-weight:850!important;
}
#v45Forecast{
  font-size:17px!important;
  font-weight:950!important;
}
#v45ForecastText{
  font-size:13px!important;
  line-height:1.35!important;
  opacity:.92!important;
}

/* On white cards: darker text, never washed-out gray */
.v48-goal-card,
.v40-section,
.v54-calendar-card,
#v55DayCard,
.v407-pie-card,
.v50-cat-card,
.v69-group,
.v69-featured-card{
  color:#17213a!important;
}
.v48-goal-card .v65-goal-point span{
  color:#68758a!important;
  font-size:13px!important;
  font-weight:850!important;
}
.v48-goal-card .v65-goal-point b{
  color:#17213a!important;
  font-size:19px!important;
}
.v48-goal-head>div>span{
  font-size:12px!important;
  color:#6570e7!important;
}
.v48-goal-head h2{
  font-size:22px!important;
}

/* Trajectory wording must be readable without zoom */
#v48GoalPercent{
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:950!important;
}
#v48GoalRemain{
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:850!important;
  max-width:68%!important;
  text-align:right!important;
}

/* General critical small texts */
.v40-head h2{font-size:22px!important}
.v40-head>span{font-size:16px!important;color:#59667b!important}
.v40-summary span{font-size:14px!important;color:#68758a!important;font-weight:800!important}
.v40-summary b{font-size:18px!important;color:#17213a!important}
.v40-meta span{font-size:13px!important;color:#69758a!important}
.v40-bills .v40-bill-copy b{font-size:14px!important}
.v40-bills .v40-bill-copy span{font-size:12px!important}

/* Calendar cards: dark text on white */
.v60-calendar-card,
#v55DayCard{background:#fff!important}
.v60-calendar-nav .today{color:#27354c!important;font-size:16px!important}
.weekdays>div{color:#667287!important;font-size:12px!important}
.calendar .day{color:#17213a!important}
#v57DayRelative{font-size:12px!important;color:#6c78e8!important;font-weight:900!important}
#selectedDateLabel{font-size:20px!important;color:#17213a!important}
#v57DaySpend{font-size:14px!important;color:#536078!important}

/* Bottom navigation: readable labels */
#mbBottomNav .mb-nav-label{
  font-size:11px!important;
  font-weight:850!important;
}

/* Last iPhone-specific protection */
@media(max-width:520px){
  .top-shell{
    padding-top:calc(env(safe-area-inset-top) + 58px)!important;
  }
  #topSettingsButton,
  #topSettingsButton.top-settings-clean{
    top:calc(env(safe-area-inset-top) + 10px)!important;
  }
  .top-shell .account-switch,
  .top-shell .modern-switch{
    margin-top:10px!important;
  }
}

@media(max-width:520px){
  .top-shell .account-switch.modern-switch #personalSwitch,
  .top-shell .account-switch.modern-switch #jointSwitch{
    font-size:16px!important;
    font-weight:900!important;
    line-height:1.15!important;
  }
  .v48-goal-card.v65-goal-card .v48-goal-foot #v48GoalPercent{
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:950!important;
  }
  .v48-goal-card.v65-goal-card .v48-goal-foot #v48GoalRemain{
    font-size:15px!important;
    line-height:1.35!important;
    font-weight:850!important;
    color:inherit;
  }
  .v48-goal-card.v65-goal-card .v48-goal-head button{
    font-size:14px!important;
  }
}

/* =========================
   Equal account selector
   ========================= */
.top-shell .account-switch,
.top-shell .modern-switch{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:6px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.top-shell .account-switch .switchbtn,
.top-shell .modern-switch .switchbtn,
#personalSwitch,#jointSwitch{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0 8px!important;
  margin:0!important;
  border-radius:13px!important;
  font-size:16px!important;
  line-height:48px!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
#personalSwitch.active,#jointSwitch.active{
  background:#fff!important;
  color:#173b8e!important;
}
#personalSwitch:not(.active),#jointSwitch:not(.active){
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}

/* Keep selector safely below gear on every tab */
@media(max-width:520px){
  .top-shell{
    padding-top:calc(env(safe-area-inset-top) + 64px)!important;
  }
  #topSettingsButton,
  #topSettingsButton.top-settings-clean{
    top:calc(env(safe-area-inset-top) + 10px)!important;
    right:16px!important;
  }
  .top-shell .account-switch,
  .top-shell .modern-switch{
    margin-top:16px!important;
  }
}

/* =========================
   Calendar compact nav
   ⋮  ‹  Aujourd’hui
   ========================= */
.v60-calendar-nav{
  display:grid!important;
  grid-template-columns:38px 42px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:center!important;
}
.v60-calendar-nav .v78-calendar-menu{
  grid-column:1!important;
  grid-row:1!important;
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
}
.v60-calendar-nav .navbtn:first-of-type{
  grid-column:2!important;
  grid-row:1!important;
  width:42px!important;
  height:42px!important;
}
.v60-calendar-nav .today{
  grid-column:3!important;
  grid-row:1!important;
  width:100%!important;
  min-height:42px!important;
  font-size:15px!important;
  padding:0 12px!important;
}
.v60-calendar-nav .navbtn:nth-of-type(3){
  display:none!important;
}
#v56ViewMenu.v78-menu-in-card{
  left:14px!important;
  right:auto!important;
  top:58px!important;
}

.v60-calendar-nav > button.navbtn:last-of-type{
  display:none!important;
}

/* ===== Moi / Compte commun: one stable segmented control ===== */
.top-shell .account-switch.modern-switch{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
  width:100%!important;
  height:56px!important;
  padding:4px!important;
  margin:14px 0 15px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.top-shell .account-switch.modern-switch .switchbtn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  margin:0!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.top-shell .account-switch.modern-switch .switchbtn.active{
  background:#fff!important;
  color:#173b8e!important;
  box-shadow:0 3px 9px rgba(20,52,120,.14)!important;
}
.top-shell .account-switch.modern-switch .switchbtn:not(.active){
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Goal: no forecast sentence, only trajectory status */
#v48GoalRemain{display:none!important}
.v48-goal-foot{
  justify-content:flex-start!important;
}
#v48GoalPercent{
  font-size:16px!important;
  font-weight:950!important;
  margin-top:2px!important;
}

.v82-legacy-switch{display:none!important}
.v82-account-picker-wrap{
  position:relative!important;
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  margin:14px 0 15px!important;
  z-index:7000!important;
}
.v82-account-picker-button{
  width:min(290px,82%)!important;
  min-height:50px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:9px!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
  text-align:left!important;
  box-shadow:none!important;
}
.v82-account-picker-label{
  font-size:13px!important;
  font-weight:800!important;
  color:rgba(255,255,255,.82)!important;
}
.v82-account-picker-button strong{
  font-size:17px!important;
  line-height:1.15!important;
  font-weight:950!important;
  color:#fff!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.v82-account-picker-chevron{
  font-size:20px!important;
  color:#fff!important;
  line-height:1!important;
}
.v82-account-picker-menu{
  position:absolute!important;
  top:58px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(320px,90%)!important;
  background:#fff!important;
  border:1px solid #e5e9f0!important;
  border-radius:16px!important;
  padding:7px!important;
  box-shadow:0 16px 36px rgba(20,42,90,.20)!important;
  z-index:90000!important;
}
.v82-account-picker-menu.hidden{display:none!important}
.v82-account-option{
  width:100%!important;
  min-height:48px!important;
  border:0!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#17213a!important;
  display:grid!important;
  grid-template-columns:34px 1fr auto!important;
  align-items:center!important;
  gap:9px!important;
  padding:7px 9px!important;
  text-align:left!important;
}
.v82-account-option+.v82-account-option{margin-top:3px!important}
.v82-account-option.active{background:#eef4ff!important}
.v82-account-option .icon{
  width:32px!important;height:32px!important;border-radius:9px!important;
  display:grid!important;place-items:center!important;font-size:17px!important;
  background:#f1f4f8!important;
}
.v82-account-option .copy b{
  display:block!important;font-size:15px!important;color:#17213a!important;
}
.v82-account-option .copy small{
  display:block!important;font-size:11px!important;color:#768196!important;margin-top:2px!important;
}
.v82-account-option .tick{
  font-size:16px!important;color:#3978d4!important;font-weight:950!important;
}
@media(max-width:520px){
  .v82-account-picker-wrap{margin-top:16px!important}
  .v82-account-picker-button{width:min(300px,86%)!important}
}

/* Safe area: never collide with iPhone status bar */
body{padding-top:0!important}
.app{padding-top:0!important}
.top-shell{
  padding-top:calc(env(safe-area-inset-top, 0px) + 74px)!important;
}
#topSettingsButton,
#topSettingsButton.top-settings-clean{
  top:calc(env(safe-area-inset-top, 0px) + 16px)!important;
  right:16px!important;
  width:44px!important;height:44px!important;
}
#v83AccountButton{
  position:absolute!important;
  top:calc(env(safe-area-inset-top, 0px) + 16px)!important;
  right:68px!important;
  width:44px!important;height:44px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.15)!important;
  color:#fff!important;
  display:grid!important;place-items:center!important;
  font-size:22px!important;
  z-index:9999!important;
  padding:0!important;
}
.top-header .hello,.top-header .tagline{display:none!important}
.top-header{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.v82-account-picker-wrap,.v82-legacy-switch{display:none!important}

/* Small friendly home line, no redundant greeting */
#v83HomePhrase{
  display:block;
  margin:0 0 12px!important;
  text-align:center!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:800!important;
}

/* Account picker modal */
#v83AccountModal .modalbox{
  width:min(350px,calc(100vw - 28px))!important;
  max-height:72vh!important;
}
.v83-account-list{display:grid;gap:8px;margin-top:12px}
.v83-account-row{
  width:100%!important;min-height:54px!important;
  display:grid!important;grid-template-columns:40px 1fr auto!important;
  gap:10px!important;align-items:center!important;
  border:1px solid #e7ebf2!important;border-radius:14px!important;
  background:#fff!important;padding:8px 10px!important;text-align:left!important;
}
.v83-account-row.active{background:#eef4ff!important;border-color:#cddcff!important}
.v83-account-row .face{font-size:22px;text-align:center}
.v83-account-row b{font-size:16px;color:#17213a}
.v83-account-row small{display:block;margin-top:2px;font-size:12px;color:#748097}
.v83-account-row .tick{font-size:18px;color:#3478db;font-weight:900}

/* Account editor: color is not useful here */
#accountColor,
label[for="accountColor"]{display:none!important}
.v83-hide-color{display:none!important}

/* Ensure modal actions stay visible */
#accountEditorModal .modalbox{
  max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 36px)!important;
  overflow:auto!important;
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + 18px)!important;
}
#accountEditorModal .actions,
#accountEditorModal .modal-actions{
  position:sticky!important;bottom:0!important;background:#fff!important;
  padding-top:10px!important;padding-bottom:8px!important;z-index:4!important;
}

/* Hide every obsolete account switch/picker */
.account-switch,
.modern-switch,
.v82-account-picker-wrap,
.v82-legacy-switch{
  display:none!important;
}

/* Safe top area */
.top-shell{
  position:relative!important;
  padding-top:calc(env(safe-area-inset-top, 0px) + 72px)!important;
}

/* Both shortcuts visible on every page */
#v83AccountButton{
  display:grid!important;
  position:absolute!important;
  top:calc(env(safe-area-inset-top, 0px) + 16px)!important;
  right:68px!important;
  width:44px!important;
  height:44px!important;
  border-radius:13px!important;
  z-index:99999!important;
}
#topSettingsButton,
#topSettingsButton.top-settings-clean{
  display:grid!important;
  position:absolute!important;
  top:calc(env(safe-area-inset-top, 0px) + 16px)!important;
  right:16px!important;
  width:44px!important;
  height:44px!important;
  border-radius:13px!important;
  z-index:99999!important;
}

/* Warm greeting only on the home page */
#v84HomeGreeting{
  display:none;
  text-align:center;
  color:#fff;
  margin:0 0 14px;
}
body[data-active-tab="home"] #v84HomeGreeting{
  display:block;
}
#v84HomeGreeting .hello{
  display:block;
  font-size:24px!important;
  line-height:1.05!important;
  font-weight:950!important;
  color:#fff!important;
}
#v84HomeGreeting .sub{
  display:block;
  margin-top:4px;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:750!important;
  color:rgba(255,255,255,.9)!important;
}

/* Remove previous phrase */
#v83HomePhrase{display:none!important}

/* No hidden selector should create empty vertical space */
.top-header{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

.top-shell .account-switch.modern-switch.v82-legacy-switch,
.top-shell .account-switch.modern-switch.v82-legacy-switch #personalSwitch,
.top-shell .account-switch.modern-switch.v82-legacy-switch #jointSwitch{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* --- top controls --- */
#v83AccountButton{
  background:#fff!important;
  color:#245bc2!important;
  border:0!important;
  box-shadow:0 4px 12px rgba(18,46,112,.16)!important;
  font-size:0!important;
}
#v83AccountButton::before{
  content:"";display:block;width:24px;height:24px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
#topSettingsButton{background:#fff!important;color:#40506b!important}

/* Safe blue band; no overlap with iPhone status area */
.top-shell{padding-top:calc(env(safe-area-inset-top,0px) + 70px)!important}
body:not([data-v85-home-view="home"]) .top-shell,
body[data-active-tab="calendar"] .top-shell,
body[data-active-tab="envelopes"] .top-shell,
body[data-active-tab="purchases"] .top-shell{
  min-height:82px!important;
  padding:calc(env(safe-area-inset-top,0px) + 58px) 18px 14px!important;
}

/* Greeting: like the original, aligned left and larger. Home dashboard only. */
#v84HomeGreeting{display:none!important}
body[data-active-tab="home"][data-v85-home-view="home"] #v84HomeGreeting{
  display:block!important;text-align:left!important;margin:-4px 0 12px 2px!important;
}
#v84HomeGreeting .hello{font-size:27px!important;line-height:1.05!important;font-weight:950!important}
#v84HomeGreeting .sub{font-size:15px!important;margin-top:4px!important;font-weight:650!important}
body[data-active-tab="home"][data-v85-home-view="home"] .top-shell{
  padding-bottom:16px!important;
}
/* No greeting and no large empty blue block on envelopes */
body[data-active-tab="home"][data-v85-home-view="envelopes"] #v84HomeGreeting{display:none!important}
body[data-active-tab="home"][data-v85-home-view="envelopes"] .modern-hero{display:none!important}
body[data-active-tab="home"][data-v85-home-view="envelopes"] .top-shell{min-height:82px!important;padding-bottom:12px!important}

/* Tabs / page content always starts below the blue band */
.home-view-switch,.v54-history-switch,.v410-switch,.v73-purchases{position:relative!important;z-index:1!important}

/* --- compact envelope design inspired by supplied reference --- */
#v412EnvelopeRows{display:grid!important;gap:0!important;border:1px solid #e8ebf1!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important}
.v85-env-row{
  display:grid!important;grid-template-columns:58px minmax(0,1fr) 48px!important;
  grid-template-rows:auto auto!important;gap:7px 12px!important;
  align-items:center!important;padding:14px 15px!important;background:#fff!important;
  border-bottom:1px solid #eef1f5!important;
}
.v85-env-row:last-child{border-bottom:0!important}
.v85-env-icon{grid-row:1/3;width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:25px;background:color-mix(in srgb,var(--env-color) 14%, white)}
.v85-env-main{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.v85-env-main b{font-size:16px;color:#151d31;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v85-env-main span{font-size:13px;font-weight:850;color:#303a50;white-space:nowrap}
.v85-env-pct{font-size:15px;font-weight:950;color:#202a3e;text-align:right}
.v85-env-bar{height:8px;border-radius:99px;background:#edf0f5;overflow:hidden;grid-column:2/4}
.v85-env-bar i{display:block;height:100%;border-radius:99px;background:var(--env-color)}
.v85-env-edit{border:0;background:transparent;padding:0;cursor:pointer}
@media(max-width:380px){.v85-env-row{grid-template-columns:52px minmax(0,1fr) 42px;padding:12px}.v85-env-icon{width:46px;height:46px}.v85-env-main b{font-size:15px}.v85-env-main span{font-size:12px}}

/* account editor: useful actions clear and visible */
#accountEditorModal .v85-account-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px;position:sticky;bottom:0;background:#fff;padding:10px 0 calc(8px + env(safe-area-inset-bottom,0px));z-index:8}
#accountEditorModal .v85-account-actions button{min-height:48px;border:0;border-radius:12px;font-size:15px;font-weight:900}
#accountEditorModal .v85-save-account{background:#2f66d4;color:#fff}
#accountEditorModal .v85-delete-account{background:#fff0f1;color:#b93f4d}

/* =======================================================
   TOP BLUE BAND — shortcuts NEVER move between pages
   ======================================================= */
#v83AccountButton,
#topSettingsButton,
#topSettingsButton.top-settings-clean{
  position:absolute!important;
  top:calc(env(safe-area-inset-top, 0px) + 14px)!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  margin:0!important;
  transform:none!important;
  border-radius:13px!important;
  z-index:99999!important;
  box-sizing:border-box!important;
}
#v83AccountButton{
  right:68px!important;
  background:#fff!important;
  border:0!important;
  color:#2f66d4!important;
  display:grid!important;
  place-items:center!important;
}
#v83AccountButton::before{
  content:"👤";
  font-size:22px!important;
  line-height:1!important;
  filter:saturate(.35) hue-rotate(175deg);
}
#v83AccountButton{font-size:0!important}
#topSettingsButton,
#topSettingsButton.top-settings-clean{
  right:16px!important;
  background:#fff!important;
  color:#40506b!important;
}
#topSettingsButton .v62-settings-svg{
  width:25px!important;height:25px!important;stroke:#40506b!important;
}

/* Every page gets exactly the same shortcut band height */
.top-shell{
  position:relative!important;
  padding-top:calc(env(safe-area-inset-top, 0px) + 68px)!important;
  border-radius:0 0 22px 22px!important;
}

/* HOME: greeting higher, left aligned, less wasted blue */
body[data-active-tab="home"][data-v85-home-view="home"] .top-shell{
  padding-bottom:13px!important;
}
#v84HomeGreeting{
  margin:-4px 0 10px 18px!important;
  text-align:left!important;
}
#v84HomeGreeting .hello{
  font-size:30px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
#v84HomeGreeting .sub{
  margin-top:4px!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:650!important;
  color:rgba(255,255,255,.90)!important;
}

/* Envelopes + every other main page: small identical blue shortcut band */
body[data-active-tab="home"][data-v85-home-view="envelopes"] .top-shell,
body[data-active-tab="calendar"] .top-shell,
body[data-active-tab="envelopes"] .top-shell,
body[data-active-tab="purchases"] .top-shell{
  min-height:76px!important;
  height:76px!important;
  padding:0!important;
  padding-top:calc(env(safe-area-inset-top, 0px) + 60px)!important;
  padding-bottom:0!important;
  overflow:visible!important;
}
body[data-active-tab="home"][data-v85-home-view="envelopes"] #v84HomeGreeting,
body[data-active-tab="calendar"] #v84HomeGreeting,
body[data-active-tab="envelopes"] #v84HomeGreeting,
body[data-active-tab="purchases"] #v84HomeGreeting,
body[data-active-tab="home"][data-v85-home-view="envelopes"] .modern-hero,
body[data-active-tab="calendar"] .modern-hero,
body[data-active-tab="envelopes"] .modern-hero,
body[data-active-tab="purchases"] .modern-hero{
  display:none!important;
}

/* The page switch/tabs start after the band, never under the buttons */
.home-view-switch,
.v54-history-switch,
.v410-switch,
.v73-purchases{
  margin-top:10px!important;
}

/* =======================================================
   ENVELOPES — compact reference style
   ======================================================= */
#v412EnvelopeRows{
  display:grid!important;
  gap:0!important;
  border:1px solid #e7ebf1!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.v86-env-row{
  --env-color:#3978d4;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 45px!important;
  grid-template-rows:auto auto auto!important;
  column-gap:12px!important;
  row-gap:3px!important;
  align-items:center!important;
  padding:13px 14px!important;
  border-bottom:1px solid #eef1f5!important;
  background:#fff!important;
}
.v86-env-row:last-child{border-bottom:0!important}
.v86-env-icon{
  grid-column:1!important;
  grid-row:1/4!important;
  width:48px!important;height:48px!important;border-radius:14px!important;
  display:grid!important;place-items:center!important;
  color:var(--env-color)!important;
  background:color-mix(in srgb,var(--env-color) 12%, white)!important;
}
.v86-env-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v86-env-name{
  grid-column:2!important;grid-row:1!important;
  font-size:16px!important;font-weight:900!important;color:#17213a!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  line-height:1.15!important;
}
.v86-env-amount{
  grid-column:2!important;grid-row:2!important;
  font-size:13px!important;font-weight:800!important;color:#526078!important;
  white-space:nowrap!important;
}
.v86-env-pct{
  grid-column:3!important;grid-row:1/3!important;
  text-align:right!important;font-size:15px!important;font-weight:950!important;color:#17213a!important;
}
.v86-env-bar{
  grid-column:2/4!important;grid-row:3!important;
  height:7px!important;border-radius:99px!important;background:#edf0f5!important;
  overflow:hidden!important;margin-top:4px!important;
}
.v86-env-bar i{
  display:block!important;height:100%!important;border-radius:99px!important;
  background:var(--env-color)!important;
}
.v86-env-row{cursor:pointer}

/* =======================================================
   CATEGORY LOOK PICKER
   ======================================================= */
.category-emoji-field,.v47-color-field{display:none!important}
.v86-category-look{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
.v86-color-palette{
  display:grid!important;
  grid-template-columns:repeat(8,1fr)!important;
  gap:8px!important;
  padding:4px 0!important;
}
.v86-color-swatch{
  width:32px!important;height:32px!important;border-radius:50%!important;
  border:3px solid #fff!important;box-shadow:0 0 0 1px #dfe4ec!important;
  padding:0!important;
}
.v86-color-swatch.active{box-shadow:0 0 0 3px #1f5bd4!important}
.v86-icon-picker-button{
  width:100%!important;min-height:48px!important;border:1px solid #dfe4ed!important;
  border-radius:12px!important;background:#fff!important;color:#17213a!important;
  display:grid!important;grid-template-columns:40px 1fr auto!important;
  gap:8px!important;align-items:center!important;text-align:left!important;
  padding:7px 10px!important;font-size:14px!important;font-weight:850!important;
}
#v86SelectedIconPreview{
  width:36px!important;height:36px!important;border-radius:10px!important;
  display:grid!important;place-items:center!important;
  background:color-mix(in srgb,var(--v86-color,#2457c5) 12%, white)!important;
  color:var(--v86-color,#2457c5)!important;
}
#v86SelectedIconPreview svg,.v86-icon-choice svg,.v86-cat-icon svg{
  width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round
}
.v86-icon-palette{
  margin-top:8px!important;padding:10px!important;border:1px solid #e4e8ef!important;
  border-radius:14px!important;background:#f9fafc!important;
  display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:8px!important;
}
.v86-icon-palette.hidden{display:none!important}
.v86-icon-choice{
  height:46px!important;border:1px solid #e4e8ef!important;border-radius:11px!important;
  background:#fff!important;color:var(--v86-choice-color,#2457c5)!important;
  display:grid!important;place-items:center!important;padding:0!important;
}
.v86-icon-choice.active{border:2px solid #2457c5!important;background:#eef4ff!important}

/* =======================================================
   CATEGORIES — one clean action set only
   ======================================================= */
#v421CategoryList{display:grid!important;gap:9px!important}
.v86-cat-card{
  background:#fff!important;border:1px solid #e5e9f0!important;border-radius:14px!important;
  overflow:hidden!important;
}
.v86-cat-row{
  display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;
  gap:10px!important;align-items:center!important;padding:11px 12px!important;
}
.v86-cat-icon{
  width:40px!important;height:40px!important;border-radius:11px!important;
  display:grid!important;place-items:center!important;
  color:var(--cat-color,#3978d4)!important;
  background:color-mix(in srgb,var(--cat-color,#3978d4) 12%, white)!important;
}
.v86-cat-name{font-size:15px!important;font-weight:900!important;color:#17213a!important}
.v86-cat-actions{display:flex!important;gap:5px!important}
.v86-cat-actions button{
  width:32px!important;height:32px!important;border:0!important;border-radius:9px!important;
  background:#f1f4f8!important;color:#536078!important;font-size:16px!important;
  font-weight:900!important;padding:0!important;display:grid!important;place-items:center!important;
}
.v86-cat-actions .del{background:#fff0f1!important;color:#bb4452!important}
.v86-sub-list{border-top:1px solid #eef1f5!important;padding-left:22px!important}
.v86-sub-list .v86-cat-row{border-left:2px solid #eef1f5!important}
.v86-sub-list .v86-cat-icon{width:34px!important;height:34px!important}
.v86-sub-list .v86-cat-name{font-size:14px!important}

/* Hide old duplicated action renderer if any old block flashes */
.v421-cat-actions{display:none!important}

/* iPhone */
@media(max-width:390px){
  .v86-color-palette{grid-template-columns:repeat(6,1fr)!important}
  .v86-icon-palette{grid-template-columns:repeat(5,1fr)!important}
}

/* Greeting visibility is controlled explicitly; envelopes never show it. */
body[data-v85-home-view="envelopes"] #v84HomeGreeting,
body[data-active-tab="calendar"] #v84HomeGreeting,
body[data-active-tab="envelopes"] #v84HomeGreeting,
body[data-active-tab="purchases"] #v84HomeGreeting{
  display:none!important;
}

/* Real blue line-person icon instead of a system-colored emoji. */
#v83AccountButton::before{content:none!important}
#v83AccountButton svg{
  width:25px!important;height:25px!important;
  stroke:#2f66d4!important;fill:none!important;stroke-width:2!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}

/* Accueil : greeting encore plus haut + bandeau bleu plus court */
body[data-active-tab="home"][data-v85-home-view="home"] .top-shell{
  padding-top:calc(env(safe-area-inset-top, 0px) + 58px)!important;
  padding-bottom:7px!important;
}
body[data-active-tab="home"][data-v85-home-view="home"] #v84HomeGreeting{
  margin:-10px 0 7px 18px!important;
}

/* Toutes les autres pages : même bandeau bleu compact */
body[data-active-tab="home"][data-v85-home-view="envelopes"] .top-shell,
body[data-active-tab="calendar"] .top-shell,
body[data-active-tab="envelopes"] .top-shell,
body[data-active-tab="purchases"] .top-shell{
  min-height:66px!important;
  height:66px!important;
  padding-top:calc(env(safe-area-inset-top, 0px) + 50px)!important;
}

/* Bouton compte : bonhomme bleu bien visible */
#v83AccountButton{
  background:#fff!important;
  color:#2f66d4!important;
}
#v83AccountButton svg{
  display:block!important;
  width:27px!important;
  height:27px!important;
  stroke:#2f66d4!important;
  fill:none!important;
  stroke-width:2.25!important;
  opacity:1!important;
}

.top-shell{min-height:82px!important;height:auto!important;padding-right:22px!important;padding-bottom:12px!important}
#topSettingsButton,#v83AccountButton{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:15px!important}
#topSettingsButton{right:22px!important}
#v83AccountButton{right:78px!important}
#v83AccountButton svg{width:28px!important;height:28px!important;stroke:#2f66d4!important;fill:none!important;stroke-width:2.1!important;opacity:1!important}
.v88-period-kicker{font-size:15px!important;line-height:1.2!important;font-weight:800!important}
.v88-period-title{font-size:21px!important;line-height:1.15!important;font-weight:850!important}
.v88-period-compare{font-size:14px!important;line-height:1.25!important;font-weight:700!important}
#envelopesView .muted,#envelopesView small{font-size:14px!important;line-height:1.3!important}

#v83AccountButton{
  background:#fff!important;color:#2f66d4!important;border:0!important;
  display:grid!important;place-items:center!important;
}
#v83AccountButton svg{
  width:27px!important;height:27px!important;stroke:#2f66d4!important;
  fill:none!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.top-shell{min-height:86px!important;padding-bottom:14px!important}
#topSettingsButton,#v83AccountButton{
  top:calc(env(safe-area-inset-top,0px) + 15px)!important;
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:15px!important;
}
#topSettingsButton{right:20px!important}
#v83AccountButton{right:76px!important}
.v89-period-kicker{font-size:15px!important;font-weight:850!important;line-height:1.15!important}
.v89-period-title{font-size:21px!important;font-weight:950!important;line-height:1.1!important}
.v89-period-compare{font-size:14px!important;font-weight:750!important;line-height:1.25!important}

/* Final visual rule: compact blue header remains 66px; 48px buttons = 9px/9px */
#v83AccountButton,
#topSettingsButton,
#topSettingsButton.top-settings-clean{
  position:absolute!important;
  top:9px!important;
  transform:none!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:15px!important;
  background:#fff!important;
  z-index:2147483647!important;
}
#topSettingsButton,
#topSettingsButton.top-settings-clean{right:20px!important}
#v83AccountButton{right:76px!important}
#v83AccountButton svg{
  width:28px!important;
  height:28px!important;
  stroke:#2f66d4!important;
  fill:none!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* =========================================================
   1. ACCUEIL — greeting aligned with Solde disponible
   ========================================================= */
body[data-active-tab="home"][data-v85-home-view="home"] #v84HomeGreeting{
  display:block!important;
  text-align:left!important;
  margin:0 0 14px!important;
  padding:0!important;
  width:auto!important;
}
body[data-active-tab="home"][data-v85-home-view="home"] #v84HomeGreeting .hello{
  display:block!important;
  font-size:29px!important;
  line-height:1.02!important;
  font-weight:950!important;
  color:#fff!important;
  text-align:left!important;
}
body[data-active-tab="home"][data-v85-home-view="home"] #v84HomeGreeting .sub{
  display:block!important;
  margin-top:4px!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:rgba(255,255,255,.90)!important;
  text-align:left!important;
}
/* Greeting is moved INSIDE hero; no empty strip above hero */
body[data-active-tab="home"][data-v85-home-view="home"] .top-shell{
  padding-top:0!important;
}

/* Objective trajectory status remains large and useful */
#v48GoalPercent{
  font-size:15px!important;
  font-weight:950!important;
  line-height:1.25!important;
}
.v48-goal-progress{
  height:10px!important;
}

/* =========================================================
   2. MES ENVELOPPES — readable cards
   ========================================================= */
#homeEnvelopeView .v58-spend-card{
  padding:13px!important;
}
#homeEnvelopeView .v58-card-top{
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:8px!important;
}
#homeEnvelopeView .v58-icon{
  width:36px!important;height:36px!important;
  font-size:20px!important;border-radius:11px!important;
}
#homeEnvelopeView .v58-card-top small{
  display:block!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
}
#homeEnvelopeView .v58-card-top b{
  display:block!important;
  margin-top:3px!important;
  font-size:16px!important;
  line-height:1.12!important;
  font-weight:950!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#homeEnvelopeView .v58-spend-card>strong{
  font-size:22px!important;
  line-height:1.1!important;
  margin:10px 0 7px!important;
}
#homeEnvelopeView .v58-compare{
  min-height:28px!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  padding:5px 6px!important;
}
#homeEnvelopeView .v65-spend-nav{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 34px!important;
  gap:4px!important;
  align-items:center!important;
  margin-top:8px!important;
}
#homeEnvelopeView .v65-spend-nav span{
  font-size:11px!important;
  font-weight:850!important;
  text-align:center!important;
  color:#758096!important;
}
#homeEnvelopeView .v65-spend-nav button{
  width:32px!important;height:32px!important;
  border-radius:50%!important;
  font-size:18px!important;
}
/* Current day/week cannot go into the future. */
#homeEnvelopeView .v65-spend-nav button.v66-day-forward-hidden{
  visibility:hidden!important;
  pointer-events:none!important;
}

/* =========================================================
   3. CALENDAR — one single navigator + view menu
   ========================================================= */
#v96DayNav{display:none!important}
.v54-calendar-card{position:relative!important}
.v60-calendar-nav{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px 38px!important;
  gap:6px!important;
  align-items:center!important;
  margin:0 0 10px!important;
}
.v60-calendar-nav .navbtn,
.v60-calendar-nav .v78-calendar-menu{
  width:38px!important;height:38px!important;
  border:0!important;border-radius:50%!important;
  background:#f1f4f8!important;
  color:#43516a!important;
  display:grid!important;place-items:center!important;
  font-size:21px!important;
  font-weight:900!important;
  padding:0!important;
}
.v60-calendar-nav .today{
  justify-self:center!important;
  min-height:40px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:20px!important;
  background:#f1f4f8!important;
  color:#25334b!important;
  font-size:16px!important;
  font-weight:950!important;
}
.v60-calendar-nav .v97-future-hidden{
  visibility:hidden!important;
  pointer-events:none!important;
}
/* The duplicate lower header is removed; day transactions remain. */
#v55DayCard .v57-day-head{
  display:none!important;
}
#v55DayCard{
  margin-top:10px!important;
  padding-top:10px!important;
}
#v55DayCard:has(#dayList:empty){display:none!important}

/* View menu lives next to the calendar */
#v56ViewMenu.v78-menu-in-card,
#v56ViewMenu.v97-menu-in-card{
  position:absolute!important;
  right:12px!important;
  top:48px!important;
  z-index:100!important;
}
#v56ViewMenu button{
  font-size:14px!important;
  min-height:40px!important;
}

/* =========================================================
   4. ANALYSE — clear heading + selector + clean pie
   ========================================================= */
.v97-analysis-head{
  margin:2px 2px 12px!important;
}
.v97-analysis-head span{
  display:block!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  color:#6d72ee!important;
}
.v97-analysis-head h2{
  margin:4px 0 4px!important;
  font-size:23px!important;
  line-height:1.1!important;
  color:#17213a!important;
}
.v97-analysis-head p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.4!important;
  color:#788397!important;
}
#v76AnalysisControls{
  margin-bottom:10px!important;
}
#v76AnalysisCategory{
  min-height:46px!important;
  font-size:14px!important;
  font-weight:800!important;
}
#v54AnalysisView .v407-pie-head{
  display:none!important;
}
#v54AnalysisView .v407-pie-card{
  margin-top:0!important;
}

/* =========================================================
   5. CATEGORIES — less empty, still clean
   ========================================================= */
.v97-category-heading{
  margin:2px 2px 12px!important;
}
.v97-category-heading h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.1!important;
  color:#17213a!important;
}
.v97-category-heading p{
  margin:5px 0 0!important;
  font-size:12px!important;
  color:#788397!important;
}
#v410CategoryPanel .v74-top-add{
  display:flex!important;
  justify-content:center!important;
  margin:10px 0 12px!important;
}
#v410CategoryPanel .v74-top-add button{
  font-size:14px!important;
  font-weight:900!important;
  padding:10px 15px!important;
}

/* =========================================================
   MES ENVELOPPES — two perfectly aligned cards
   ========================================================= */
#homeEnvelopeView .v58-spend-cards{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}
#homeEnvelopeView .v58-spend-card{
  display:grid!important;
  grid-template-rows:auto auto minmax(26px,auto) auto!important;
  align-content:start!important;
  gap:8px!important;
  min-height:205px!important;
  padding:13px!important;
  box-sizing:border-box!important;
}
#homeEnvelopeView .v58-card-top{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-height:48px!important;
}
#homeEnvelopeView .v58-icon{
  width:38px!important;height:38px!important;
  font-size:20px!important;
  border-radius:12px!important;
}
#homeEnvelopeView .v58-card-top small{
  display:block!important;
  font-size:10px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  color:#7b8699!important;
}
#homeEnvelopeView .v58-card-top b{
  display:block!important;
  margin-top:3px!important;
  font-size:14px!important;
  line-height:1.08!important;
  font-weight:950!important;
  color:#26334b!important;
  white-space:normal!important;
  overflow:visible!important;
}
#homeEnvelopeView .v58-spend-card>strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:8px 6px!important;
  box-sizing:border-box!important;
  border-radius:14px!important;
  background:#f1f4f8!important;
  color:#17213a!important;
  text-align:center!important;
  font-size:21px!important;
  line-height:1!important;
  font-weight:950!important;
}
#homeEnvelopeView .v58-compare{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:26px!important;
  padding:0 3px!important;
  background:transparent!important;
  border:0!important;
  text-align:center!important;
  font-size:9.5px!important;
  line-height:1.15!important;
  font-weight:800!important;
  color:#788397!important;
}
#homeEnvelopeView .v65-spend-nav{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:5px!important;
  width:100%!important;
  min-height:36px!important;
  margin-top:0!important;
}
#homeEnvelopeView .v65-spend-nav button{
  width:34px!important;height:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#f1f4f8!important;
  color:#536078!important;
  font-size:19px!important;
  display:grid!important;
  place-items:center!important;
}
#homeEnvelopeView .v65-spend-nav span{
  min-width:0!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:#667287!important;
  white-space:normal!important;
}
#homeEnvelopeView .v65-spend-nav button.v66-day-forward-hidden{
  visibility:hidden!important;
  pointer-events:none!important;
}
.v98-hidden-period-source{
  display:none!important;
}

/* =========================================================
   CALENDAR — menu on the left, navigation mathematically centered
   ========================================================= */
.v54-calendar-card{
  position:relative!important;
  padding-top:13px!important;
}
.v60-calendar-nav{
  position:relative!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,150px) 40px!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  margin:0 auto 10px!important;
  min-height:42px!important;
}
.v60-calendar-nav .navbtn{
  width:38px!important;height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#f1f4f8!important;
  color:#43516a!important;
  font-size:21px!important;
  display:grid!important;
  place-items:center!important;
}
.v60-calendar-nav .today{
  width:auto!important;
  min-width:118px!important;
  height:40px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:20px!important;
  background:#f1f4f8!important;
  color:#25334b!important;
  font-size:16px!important;
  font-weight:950!important;
  justify-self:center!important;
}
.v60-calendar-nav .v97-future-hidden{
  visibility:hidden!important;
  pointer-events:none!important;
}
/* View menu button fixed on the far left without moving Today */
.v60-calendar-nav .v78-calendar-menu{
  position:absolute!important;
  left:-2px!important;
  top:2px!important;
  width:38px!important;height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:#f1f4f8!important;
  color:#536078!important;
  font-size:24px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
/* Push previous arrow slightly right so it doesn't collide with the dots */
.v60-calendar-nav .navbtn:first-child{
  margin-left:34px!important;
}
#v56ViewMenu.v78-menu-in-card,
#v56ViewMenu.v97-menu-in-card{
  left:10px!important;
  right:auto!important;
  top:56px!important;
}

/* =========================================================
   ANALYSIS — stronger visual hierarchy
   ========================================================= */
#v97AnalysisHead{
  margin-bottom:10px!important;
}
#v97AnalysisTitle{
  font-size:24px!important;
}
#v76AnalysisControls{
  margin:0 0 10px!important;
}
#v76AnalysisControls .v76-analysis-controls{
  margin-bottom:8px!important;
}
#v76AnalysisCategory{
  width:100%!important;
  min-height:46px!important;
  font-size:14px!important;
  font-weight:850!important;
  border-radius:13px!important;
}
#v54AnalysisView .v407-pie-card{
  padding-top:14px!important;
}

/* Final calendar alignment: three-dot menu stays far left,
   while previous / Today / next are centered as one group. */
.v60-calendar-nav{
  position:relative!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:9px!important;
  width:100%!important;
  min-height:42px!important;
  margin:0 auto 10px!important;
}
.v60-calendar-nav .navbtn:first-child{
  margin-left:0!important;
}
.v60-calendar-nav .v78-calendar-menu{
  position:absolute!important;
  left:0!important;
  top:2px!important;
}
.v60-calendar-nav .today{
  flex:0 0 auto!important;
  min-width:128px!important;
}

/* =========================================================
   1) ENVELOPES — amount color = performance vs previous period
   ========================================================= */
#v58DayCard>strong.v99-good,
#v58WeekCard>strong.v99-good{
  color:#269b63!important;
}
#v58DayCard>strong.v99-bad,
#v58WeekCard>strong.v99-bad{
  color:#db4e5d!important;
}
#v58DayCard>strong.v99-same,
#v58WeekCard>strong.v99-same{
  color:#17213a!important;
}

/* =========================================================
   2) CALENDAR — Today itself is geometrically centered.
      Arrows sit around it but never move it.
   ========================================================= */
.v60-calendar-nav{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:44px!important;
  margin:0 0 10px!important;
}
.v60-calendar-nav .today{
  position:absolute!important;
  left:50%!important;
  top:2px!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  min-width:128px!important;
  height:40px!important;
  margin:0!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:20px!important;
  background:#f1f4f8!important;
  display:grid!important;
  place-items:center!important;
  color:#25334b!important;
  font-size:16px!important;
  font-weight:950!important;
}
.v60-calendar-nav .navbtn{
  position:absolute!important;
  top:3px!important;
  width:38px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#f1f4f8!important;
  color:#43516a!important;
  display:grid!important;
  place-items:center!important;
  font-size:21px!important;
}
.v60-calendar-nav .navbtn:first-child{
  left:calc(50% - 112px)!important;
}
.v60-calendar-nav .navbtn:nth-of-type(2){
  left:calc(50% + 74px)!important;
}
.v60-calendar-nav .v97-future-hidden{
  visibility:hidden!important;
  pointer-events:none!important;
}
.v60-calendar-nav .v78-calendar-menu{
  position:absolute!important;
  left:0!important;
  top:3px!important;
  width:38px!important;
  height:38px!important;
  border:0!important;
  border-radius:12px!important;
  background:#f1f4f8!important;
  color:#536078!important;
  font-size:24px!important;
  display:grid!important;
  place-items:center!important;
}

/* =========================================================
   3) ANALYSE — larger pie
   ========================================================= */
#v54AnalysisView #v407Pie{
  width:250px!important;
  height:250px!important;
  margin:4px auto 14px!important;
}
#v54AnalysisView #v407Pie .v407-pie-hole{
  inset:58px!important;
}
#v54AnalysisView .v407-pie-card{
  padding:16px 14px 18px!important;
}

/* =========================================================
   4) CATEGORIES — icon + name on one row; clearer actions
   ========================================================= */
#v421CategoryList .v421-cat-row{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
#v421CategoryList .v47-cat-visual{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  align-items:center!important;
  gap:10px!important;
}
#v421CategoryList .v47-cat-icon{
  flex:0 0 auto!important;
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  font-size:21px!important;
}
#v421CategoryList .v421-cat-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
#v421CategoryList .v421-cat-copy b{
  font-size:15px!important;
  line-height:1.15!important;
  white-space:normal!important;
}
#v421CategoryList .v421-cat-copy small{
  margin-top:3px!important;
  font-size:11px!important;
  line-height:1.15!important;
}
#v421CategoryList .v421-cat-actions{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  gap:6px!important;
}
#v421CategoryList .v421-cat-actions button{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  display:grid!important;
  place-items:center!important;
  font-size:18px!important;
  font-weight:950!important;
  background:#f2f4f7!important;
  color:#667085!important;
}
#v421CategoryList .v421-cat-actions button:first-child{
  color:#24985f!important;
  background:#ecf8f1!important;
}
#v421CategoryList .v421-cat-actions .v422-delete{
  color:#d84855!important;
  background:#fff0f1!important;
}

/* =========================================================
   5) PURCHASES — proper page title
   ========================================================= */
.v99-purchase-heading{
  margin:2px 2px 10px!important;
}
.v99-purchase-heading h2{
  margin:0!important;
  font-size:24px!important;
  line-height:1.1!important;
  color:#17213a!important;
}
.v99-purchase-heading p{
  margin:5px 0 0!important;
  font-size:12px!important;
  line-height:1.35!important;
  color:#788397!important;
}
#purchases .v74-top-add{
  justify-content:center!important;
  margin:8px 0 12px!important;
}

/* Calendar navigation: past arrow on LEFT, future arrow on RIGHT.
   "Aujourd'hui" stays exactly centered. */
.v60-calendar-nav .navbtn:first-child{
  left:calc(50% - 112px)!important;
  right:auto!important;
}
.v60-calendar-nav .navbtn:nth-of-type(2){
  left:calc(50% + 74px)!important;
  right:auto!important;
}
.v60-calendar-nav .today{
  left:50%!important;
  transform:translateX(-50%)!important;
}

/* Analysis/category selector chevron: bring it inward from the far right */
#v76AnalysisCategory,
#v97AnalysisCategory,
.v407-pie-card select{
  background-position:right 16px center!important;
  padding-right:42px!important;
}
.v407-pie-card .select-wrap:after,
.v407-pie-card .v76-select-wrap:after{
  right:16px!important;
}

/* Final readability pass: no tiny functional labels */
.tabcontent button,
.tabcontent select,
.tabcontent input{
  font-size:max(14px,1em);
}
.v58-period-label,
.v58-compare,
.v407-leg,
.v421-cat-copy small,
.v99-purchase-heading p{
  font-size:13px!important;
  line-height:1.35!important;
}
.v407-leg span,
.v407-leg b{
  font-size:14px!important;
}
.v421-cat-copy b{
  font-size:16px!important;
}
.v421-cat-actions button{
  font-size:18px!important;
}
@media(max-width:390px){
  .v58-period-label,.v58-compare{font-size:13px!important}
}

:root{
  --v105-purple:#6d72ee;
  --v105-dark:#17213a;
  --v105-muted:#748096;
  --v105-soft:#f1f4f8;
  --v105-border:#e3e8ef;
}

/* Global readability, no tiny text */
html,body{font-size:16px!important}
body,button,input,select,textarea{font-size:16px!important}
small,.muted{font-size:13px!important;line-height:1.35!important}

/* ===== ACCUEIL TITLES ===== */
.v48-goal-head>div>span,
.v40-section>.v40-head>h2{
  font-size:14px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--v105-purple)!important;
}
.v48-goal-head h2{
  margin-top:5px!important;
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:950!important;
  color:var(--v105-dark)!important;
}
.v40-section>.v40-head>h2{
  margin:0!important;
}

/* ===== OBJECTIVE ===== */
.v65-goal-route{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  margin:14px 0 11px!important;
}
.v65-goal-point,.v65-goal-point.target{
  min-height:104px!important;
  padding:12px 10px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid var(--v105-border)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.v65-goal-point span,.v65-goal-point.target span{
  width:100%!important;
  margin:0 0 7px!important;
  text-align:center!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.15!important;
  color:var(--v105-muted)!important;
}
.v65-goal-point b,.v65-goal-point.target b,
#v48GoalDone,#v48GoalTarget{
  width:100%!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:24px!important;
  font-weight:950!important;
  line-height:1.05!important;
  color:var(--v105-dark)!important;
}
.v65-goal-arrow{
  font-size:23px!important;
  text-align:center!important;
  color:#6b768a!important;
}
#v48GoalPercent,#v48GoalRemain,#v66GoalCoach{
  font-size:15px!important;
  line-height:1.35!important;
}

/* Monthly summary and tasks */
.v40-summary span{font-size:14px!important;font-weight:800!important}
.v40-summary b{font-size:20px!important;font-weight:950!important}
.v40-meta span{font-size:13px!important}
.v40-bill-copy b{font-size:15px!important}
.v40-bill-copy span{font-size:13px!important}

/* ===== ENVELOPES SPEND CARDS ===== */
#homeEnvelopeView .v58-spend-cards{
  align-items:stretch!important;
}
#homeEnvelopeView .v58-spend-card{
  min-height:192px!important;
  padding:12px!important;
}
#homeEnvelopeView .v58-card-top small{
  font-size:12px!important;
  line-height:1.1!important;
}
#homeEnvelopeView .v58-card-top b{
  font-size:15px!important;
  line-height:1.15!important;
}
#homeEnvelopeView .v58-spend-card>strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  margin:10px 0 5px!important;
  text-align:center!important;
  font-size:22px!important;
  font-weight:950!important;
}
#homeEnvelopeView .v58-compare{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  min-height:26px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.25!important;
}
#homeEnvelopeView .v65-spend-nav{
  border-top:0!important;
  margin-top:5px!important;
  padding-top:0!important;
}
#homeEnvelopeView .v65-spend-nav span{
  font-size:12px!important;
  font-weight:850!important;
}
#homeEnvelopeView .v65-spend-nav button{
  font-size:20px!important;
}

/* Main envelope/category rows */
.v86-env-name{font-size:15px!important;font-weight:900!important}
.v86-env-amount{font-size:13px!important}
.v86-env-pct{font-size:14px!important;font-weight:900!important}

/* ===== CALENDAR ===== */
.v60-calendar-nav{
  position:relative!important;
  min-height:44px!important;
}
.v60-calendar-nav .today{
  position:absolute!important;
  left:50%!important;
  top:2px!important;
  transform:translateX(-50%)!important;
  min-width:130px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:20px!important;
  background:var(--v105-soft)!important;
  font-size:16px!important;
  font-weight:950!important;
  color:var(--v105-dark)!important;
}
.v60-calendar-nav .navbtn{
  position:absolute!important;
  top:3px!important;
  width:38px!important;height:38px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:50%!important;
  background:var(--v105-soft)!important;
  color:#465267!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:700!important;
  display:grid!important;
  place-items:center!important;
}
.v60-calendar-nav .navbtn:first-child{
  left:calc(50% - 106px)!important;
}
.v60-calendar-nav .navbtn:nth-of-type(2){
  left:calc(50% + 68px)!important;
}
.v60-calendar-nav .v78-calendar-menu{
  position:absolute!important;
  left:0!important;
  top:3px!important;
  width:38px!important;height:38px!important;
  padding:0!important;margin:0!important;
  border:0!important;border-radius:12px!important;
  background:var(--v105-soft)!important;
  color:#465267!important;
  font-size:24px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
.weekdays>div{font-size:13px!important}
.calendar .day{font-size:15px!important}

/* ===== ANALYSIS ===== */
#v97AnalysisHead{
  margin:2px 0 12px!important;
}
#v97AnalysisHead>span{
  display:block!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--v105-purple)!important;
}
#v97AnalysisHead h2,#v97AnalysisTitle{
  margin:5px 0 4px!important;
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:950!important;
  color:var(--v105-dark)!important;
}
#v97AnalysisHead p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.4!important;
  color:var(--v105-muted)!important;
}
#v76AnalysisControls button{
  min-height:44px!important;
  font-size:15px!important;
  font-weight:900!important;
}
#v76AnalysisCategory{
  min-height:48px!important;
  width:100%!important;
  padding:0 44px 0 15px!important;
  font-size:16px!important;
  font-weight:800!important;
  color:var(--v105-dark)!important;
  border-radius:14px!important;
}
#v54AnalysisView .v407-pie-card{
  padding:16px 14px!important;
  margin-top:10px!important;
  border-radius:18px!important;
}
#v54AnalysisView #v407Pie{
  width:230px!important;
  height:230px!important;
  margin:8px auto 16px!important;
  border-radius:50%!important;
}
#v54AnalysisView #v407Pie .v407-pie-hole{
  inset:54px!important;
  border-radius:50%!important;
}
#v407PieCenter,#v407PieCenter b{
  font-size:18px!important;
  font-weight:950!important;
  line-height:1.1!important;
}
#v407PieCenter small,.v407-pie-hole span{
  font-size:13px!important;
  font-weight:800!important;
}
.v407-leg,.v407-leg span,.v407-leg b{
  font-size:14px!important;
  line-height:1.3!important;
}

/* ===== CATEGORIES ===== */
#v97CategoryHeading h2{font-size:24px!important}
#v97CategoryHeading p{font-size:14px!important;line-height:1.4!important}
.v421-tabs button{font-size:15px!important}
.v74-top-add button{font-size:15px!important}
#v421CategoryList .v421-cat-copy b{font-size:16px!important}
#v421CategoryList .v421-cat-copy small{font-size:13px!important}
#v421CategoryList .v421-cat-actions button{
  width:36px!important;height:36px!important;
  min-width:36px!important;
  padding:0!important;
  font-size:19px!important;
  display:grid!important;
  place-items:center!important;
}

/* ===== PURCHASES ===== */
#v99PurchaseHeading h2{font-size:24px!important}
#v99PurchaseHeading p{font-size:14px!important;line-height:1.4!important}
.v69-featured-title,.v69-group-title{font-size:15px!important}
.v69-featured-card b,.v69-item-name,.v69-item-price{font-size:15px!important}
.v69-featured-card small,.v69-item-meta,.v69-reserve-summary{font-size:12px!important;line-height:1.35!important}
.v69-star-btn{
  width:38px!important;height:38px!important;
  min-width:38px!important;
  font-size:24px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
}
.v69-featured-card{
  border:2px solid #f0c34f!important;
  background:#fffaf0!important;
}

/* 1. Enveloppes : aucun trait parasite entre montant et navigation */
#homeEnvelopeView .v58-spend-card>strong{margin-bottom:0!important}
#homeEnvelopeView .v58-compare{
  display:none!important;
  border:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
#homeEnvelopeView .v65-spend-nav{
  border:0!important;
  border-top:0!important;
  margin-top:8px!important;
  padding-top:0!important;
}

/* Les 2 cartes ont exactement la même composition/centrage */
#homeEnvelopeView .v58-spend-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
#homeEnvelopeView .v58-card-top{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
}
#homeEnvelopeView .v58-card-top>div:last-child{
  min-width:0!important;
  flex:1!important;
}
#homeEnvelopeView .v58-card-top small,
#homeEnvelopeView .v58-card-top b{
  display:block!important;
  text-align:left!important;
}
#homeEnvelopeView .v58-card-top b{
  font-size:14px!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#homeEnvelopeView .v58-spend-card>strong{
  width:100%!important;
  text-align:center!important;
  justify-content:center!important;
}
#homeEnvelopeView .v65-spend-nav{
  width:100%!important;
  display:grid!important;
  grid-template-columns:34px 1fr 34px!important;
  align-items:center!important;
}
#homeEnvelopeView .v65-spend-nav span{
  text-align:center!important;
  font-size:12px!important;
  line-height:1.15!important;
}

/* 2. Calendrier : flèche PASSÉ obligatoirement à gauche d'Aujourd'hui */
.v60-calendar-nav{
  position:relative!important;
  min-height:44px!important;
}
.v60-calendar-nav .today{
  position:absolute!important;
  left:50%!important;
  top:2px!important;
  transform:translateX(-50%)!important;
}
.v60-calendar-nav .v78-calendar-menu{
  left:0!important;
  right:auto!important;
}
.v60-calendar-nav .navbtn.v106-prev{
  left:calc(50% - 108px)!important;
  right:auto!important;
}
.v60-calendar-nav .navbtn.v106-next{
  left:calc(50% + 70px)!important;
  right:auto!important;
}

/* 3. Analyse : un seul "Répartition du mois", en noir */
#v97AnalysisHead>span{display:none!important}
#v97AnalysisHead h2,#v97AnalysisTitle{
  margin:0 0 6px!important;
  color:#17213a!important;
  font-size:24px!important;
  font-weight:950!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
/* espace identique à gauche et à droite du select */
#v76AnalysisCategory{
  box-sizing:border-box!important;
  padding-left:16px!important;
  padding-right:42px!important;
  background-position:right 16px center!important;
}
#v76AnalysisCategoryWrap,
.v76-analysis-select-wrap{
  padding-left:0!important;
  padding-right:0!important;
}

/* Aperçu catégories/achats : données de démonstration propres */
.v106-demo-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.v106-demo-row{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px;
  background:#fff;
  border:1px solid #e5e9f0;
  border-radius:15px;
}
.v106-demo-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;font-size:22px;
  background:#f2f5fb;
}
.v106-demo-copy{flex:1;min-width:0}
.v106-demo-copy b{display:block;font-size:16px;line-height:1.15}
.v106-demo-copy small{display:block;font-size:13px;margin-top:3px;color:#748096}
.v106-demo-price{font-size:15px;font-weight:900;white-space:nowrap}
.v106-demo-star{font-size:23px;line-height:1}
