:root{--paper:#FFFFFF;--white:#fff;--ink:#282327;--muted:#777377;--line:#e9e6e5;--burg:#59192c;--burg2:#59192c;--sage:#bec2a4;--sagelight:#eff0e8;--gold:#d7c8aa;--pink:#eee1e2;--navH:75px;font-family:Futura,"Futura PT","Avenir Next","Century Gothic",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--burg);outline-offset:2px}a{color:var(--burg)}.app{background:var(--paper);min-height:100dvh;max-width:520px;margin:0 auto;position:relative;box-shadow:0 0 30px #11111105}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top,0px)) 22px 15px;position:sticky;top:0;background:var(--paper);z-index:12;border-bottom:1px solid #f1efed}.brand{font-size:16px;font-weight:550;letter-spacing:.31em;color:var(--burg)}.brand-mark{color:var(--gold);letter-spacing:0}.header-actions{display:flex;gap:10px}.icon-btn{border:0;background:none;color:var(--burg);height:34px;min-width:32px;font-size:24px}.page{padding:20px 22px calc(140px + env(safe-area-inset-bottom,0px));min-height:80vh}.bottom{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:520px;z-index:15;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;background:rgba(250,250,249,.98);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:11px 4px calc(13px + env(safe-area-inset-bottom,0px));min-height:calc(var(--navH) + env(safe-area-inset-bottom,0px))}.tab{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:0;background:none;color:#777271;font-size:10px;min-height:45px;padding:2px 0}.tab.active{color:var(--burg);font-weight:700}.tab svg{height:22px;width:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tab.add span.circle{width:43px;height:43px;color:#fff;background:var(--burg);display:flex;align-items:center;justify-content:center;border-radius:13px;margin-top:-9px}.tab.add .circle svg{height:24px;width:24px}.tab.add small{font-size:10px;color:#777271}h1,h2,h3,p{margin-top:0}.eyebrow{letter-spacing:.17em;text-transform:uppercase;font-size:10px;font-weight:700;color:#736b6e}.page-title{font-size:28px;letter-spacing:-.052em;font-weight:560;margin:0 0 5px}.deck{color:var(--muted);font-size:13px;line-height:1.6}.section{margin-top:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:13px}.section-heading h2{font-size:17px;font-weight:620;letter-spacing:-.03em;margin:0}.link{border:0;background:none;color:var(--burg);font-size:12px;font-weight:670;padding:6px 0}.switcher{display:flex;align-items:center;gap:6px;margin:0 0 23px;max-width:100%;overflow-x:auto;scrollbar-width:none}.switcher button{font-size:12px;padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#666266;white-space:nowrap}.switcher button.on{background:var(--burg);border-color:var(--burg);color:white}.switcher .outline-add{padding-inline:12px;color:var(--burg);background:transparent}.hero{background:var(--white);border-top:4px solid var(--burg);padding:24px 0 18px;border-bottom:1px solid var(--line);position:relative}.hero:after{content:'';position:absolute;top:-4px;right:0;width:48px;height:4px;background:var(--gold)}.hero .amount{font-size:46px;font-weight:440;letter-spacing:-.065em;line-height:1.14;color:var(--burg);margin:10px 0}.hero small{color:var(--muted);font-size:12px}.hero-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;border-top:1px solid var(--line);padding-top:12px;font-size:12px}.hero-meta strong{font-weight:640}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:20px}.quick button{border:0;background:transparent;border-right:1px solid var(--line);padding:10px 3px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:10px;color:var(--ink)}.quick button:last-child{border:0}.quick svg{width:25px;height:25px;fill:none;stroke:var(--burg);stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}.stroke-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:14px 0;min-height:67px}.stroke-row:last-child{border-bottom:1px solid var(--line)}.row-icon{flex:0 0 34px;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--sagelight);color:var(--burg)}.row-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}.row-content{flex:1;min-width:0}.row-content strong{display:block;font-size:13px;font-weight:600;line-height:1.4}.row-content span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.row-amount{font-weight:630;font-size:12px;white-space:nowrap}.row-action{padding:7px 9px;background:#fff;border:1px solid #ded6d6;border-radius:6px;color:var(--burg);font-size:11px;white-space:nowrap}.quiet-panel{background:#f2f3ef;border-left:3px solid var(--sage);padding:17px 15px}.quiet-panel p{margin:0;font-size:12px;line-height:1.6;color:#4b5050}.quiet-panel strong{color:var(--ink)}.savings-summary{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.savings-summary .value{font-size:25px;color:var(--burg);letter-spacing:-.04em}.savings-summary .chevron{font-size:23px;color:var(--burg)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{background:#fff;border:1px solid var(--line);padding:15px 13px}.metric small{font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:20px;letter-spacing:-.04em;margin-top:7px;font-weight:600}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.chip{border:1px solid #e6e1e2;background:#fff;border-radius:7px;padding:8px 12px;font-size:12px;color:#585458}.chip.active{background:var(--burg);color:#fff;border-color:var(--burg)}.card{padding:17px 16px;background:#fff;border:1px solid var(--line)}.card h3{font-weight:650;font-size:14px;margin-bottom:9px}.card p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:0}.bar{height:5px;background:#e6e5e2;margin-top:13px}.bar .fill{height:100%;background:var(--burg)}.field{margin:15px 0}.field label{display:block;font-weight:620;color:#595359;font-size:12px;margin-bottom:7px}.field input,.field select,.field textarea{display:block;width:100%;background:#fff;border:1px solid #d9d4d6;border-radius:7px;padding:12px 13px;min-height:45px;font-size:15px;color:var(--ink)}.field textarea{resize:vertical}.field small{font-size:11px;color:var(--muted);display:block;line-height:1.5;margin-top:5px}.btn{border:1px solid var(--burg);background:var(--burg);color:white;padding:12px 15px;min-height:43px;font-size:13px;font-weight:650;border-radius:8px}.btn.secondary{background:white;color:var(--burg)}.btn.subtle{border-color:var(--line);background:#f0efed;color:var(--ink)}.btn.block{width:100%}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.inline-actions>*{flex:1}.fund-list{display:grid;gap:13px;margin-top:15px}.fund{background:#fff;border:1px solid var(--line);padding:17px}.fund-top{display:flex;justify-content:space-between;gap:10px}.fund-top strong{font-size:14px}.fund-top span{color:var(--burg);font-weight:670;font-size:14px}.fund small{color:var(--muted);font-size:11px}.fund-actions{display:flex;gap:9px;margin-top:14px}.fund-actions button{flex:1;background:#fff;color:var(--burg);border:1px solid #d9d5d5;padding:8px 6px;font-size:12px;border-radius:6px}.fund-actions button:first-child{background:var(--burg);border-color:var(--burg);color:white}.space-banner{padding:13px 15px;border-left:3px solid var(--gold);background:#f5f2ed;margin-bottom:15px;font-size:12px;line-height:1.55}.pill{border:1px solid var(--line);padding:6px 9px;font-size:11px;background:white;color:#706a6c}.report-head{border-top:4px solid var(--burg);padding:18px 0 11px}.report-value{font-size:34px;color:var(--burg);letter-spacing:-.05em;margin:9px 0}.rank{display:grid;grid-template-columns:20px 1fr auto;align-items:start;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.rank .num{color:#8d8988;font-size:11px}.rank b{font-size:13px}.rank small{display:block;margin-top:4px;color:var(--muted)}.rank strong{font-size:13px}.donut{width:160px;height:160px;border-radius:50%;position:relative;flex:none;margin:14px auto;display:grid;place-items:center}.donut:after{content:'';position:absolute;inset:30px;background:var(--paper);border-radius:50%}.donut>span{position:relative;z-index:1;font-size:12px;font-weight:680;color:var(--burg)}.legend{display:flex;gap:7px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;margin-right:5px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.calendar-toolbar button{border:1px solid var(--line);background:white;padding:9px 12px;border-radius:7px}.weekgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.weekgrid .weekday{font-size:10px;color:var(--muted);padding:9px 0}.day{aspect-ratio:1;border:0;background:transparent;display:grid;place-items:center;font-size:12px;position:relative;color:var(--ink);border-radius:7px}.day.selected{background:var(--burg);color:#fff}.day.muted{opacity:.27}.day.dot:after{content:'';position:absolute;width:4px;height:4px;background:var(--burg);bottom:4px}.day.selected.dot:after{background:white}.overlay{position:fixed;inset:0;background:#1c0c15a6;z-index:40;display:flex;align-items:flex-end;justify-content:center}.overlay[hidden]{display:none}.modal{width:100%;max-width:520px;max-height:92dvh;overflow:auto;padding:22px 23px calc(30px + env(safe-area-inset-bottom,0px));background:var(--paper);border-radius:15px 15px 0 0;box-shadow:0 -10px 30px #0002}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.modal-heading h2{margin:0;font-size:23px;font-weight:600;letter-spacing:-.045em}.close{border:0;background:none;font-size:28px;color:var(--burg)}.message{position:fixed;z-index:60;top:calc(18px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 17px;max-width:85%;font-size:12px;border-radius:8px;text-align:center}.message[hidden]{display:none}.empty{text-align:center;color:var(--muted);font-size:12px;padding:20px 0;line-height:1.6}.inputrow{display:flex;align-items:end;gap:10px}.inputrow>*:first-child{flex:1}.app-note{font-size:11px;color:var(--muted);line-height:1.6}.border-button{width:100%;text-align:left;border:1px solid var(--line);padding:15px;background:white;color:var(--ink);font-size:13px;margin:7px 0}.label-line{margin:14px 0 7px;font-size:12px;font-weight:650}.notice{border-left:3px solid var(--burg);padding:10px 12px;background:#f6eff0;color:var(--burg);font-size:12px}.hidden{display:none!important}
@media (min-width:800px){body{background:#f1f1f0}.app{box-shadow:0 3px 22px #0000000d;min-height:100vh}.bottom{box-shadow:0 -5px 20px #00000006}}@media print{body{background:#fff!important}.topbar,.bottom,.page,.overlay,.message{display:none!important}.app{box-shadow:none;max-width:none}#printArea{display:block!important;color:#242424;background:white;margin:14mm!important;font-size:10pt}.donut{print-color-adjust:exact;-webkit-print-color-adjust:exact}h1{font-size:30pt;color:#59192c}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #ddd;text-align:left;padding:7px;font-size:9pt}thead{display:table-header-group}.report-break{page-break-before:always}}#printArea{display:none}

/* MARGINE V1.3 — editorial porcelain, flat and geometric. */
:root{--paper:#FFFFFF;--white:#fff;--ink:#262428;--burg:#59192c;--sage:#bec2a4;--gold:#d8d0b9;}
.brand-mark{display:none}
.page{padding-bottom:calc(125px + env(safe-area-inset-bottom, 0px))}
.editorial-greeting{font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.15;color:var(--burg);font-weight:400;margin:9px 0 24px;letter-spacing:-.03em}
.home-hero{border:0;background:var(--burg);padding:0;min-height:160px;display:grid;grid-template-columns:minmax(0,1fr) 24%;overflow:hidden}
.home-hero:after{display:none}
.home-hero .hero-copy{padding:23px 19px;min-width:0;color:#fff;align-self:center}
.home-hero .eyebrow{color:#f2e7e8;letter-spacing:.22em;font-weight:500}
.home-hero .amount{font:400 clamp(32px,9vw,48px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.04em;color:white;margin:10px 0 8px;white-space:nowrap}
.home-hero .balance-pending{font:500 24px/1.12 Inter,-apple-system,sans-serif;letter-spacing:-.02em}
.home-hero small{font-size:10px;letter-spacing:.16em;color:#f8f1f1;text-transform:uppercase}
.home-hero .hero-stripes{height:100%;background:repeating-linear-gradient(90deg,#eef0e8 0,#eef0e8 18%,#bec2a4 18%,#bec2a4 35%);border-left:5px solid #eef0e8}
.balance-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid #d5d1ce;background:none;color:var(--burg);width:100%;padding:14px 0;font-size:12px;font-weight:650}
.balance-cta svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none}
.hist-tally{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:end;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hist-tally strong{font-size:21px;display:block;color:var(--burg);font-weight:600;line-height:1.4;letter-spacing:-.04em}
.hist-tally small{display:block;color:var(--muted);font-size:10px;line-height:1.5}
.history-bars{height:72px;display:flex;align-items:flex-end;gap:4px;margin-bottom:10px}
.history-bars>span{display:block;flex:1;background:var(--sage);min-height:5px}
.history-bars>span:last-child{background:var(--burg)}
.hist-tally .eyebrow{font-size:8px}
.home-hero+.hero-meta{background:transparent;padding:12px 0 0;margin:0;border-top:0}
.quick{margin-top:23px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.quick button{border-radius:0}
.quick svg{stroke-width:1.55}
.savings-summary{border-left:0;border-right:0;background:none;width:100%;text-align:left}
.bottom{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));padding-top:12px;background:#FFFFFF;box-shadow:0 -2px 10px #1b15120b}
.tab{min-height:48px}
.tab.add span.circle{border-radius:11px;box-shadow:none}
.icon-btn{font-family:inherit}
@media (max-width:390px){.home-hero{grid-template-columns:minmax(0,1fr) 21%}.home-hero .amount{font-size:34px}.hist-tally strong{font-size:18px}}
@media print{.home-hero{display:none}.report-break{page-break-before:always}#printArea{font-family:Arial,sans-serif}#printArea .donut{break-inside:avoid}}

.historic-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;border-top:1px solid var(--line);margin:16px 0}
.historic-detail>div{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-bottom:1px solid var(--line)}
.historic-detail span{font-size:11px;color:var(--muted)}
.historic-detail strong{font-size:14px;color:var(--burg);font-weight:600}

/* Import JSON su iPhone: controllo ben visibile e facile da toccare */
#import-file-placeholder{display:none}.import-file-status{display:block;font-size:12px;line-height:1.5;color:#635D5E;margin-top:8px}
#backupFile{display:block;box-sizing:border-box;width:100%;min-height:56px;padding:14px 8px;border:1px solid #D6D1CF;background:#FFFFFF;color:#262428;font-size:16px;border-radius:7px}
#backupFile::file-selector-button{background:#59192C;color:#fff;padding:9px 12px;border:0;border-radius:5px;font-weight:600;margin-right:8px}

/* 1.4 — Editorial contemporary / porcelain */
.brand{display:flex;align-items:center;gap:10px}
.brand-icon{width:29px;height:29px;object-fit:contain;flex:none}
.page-intro{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:15px;align-items:start;margin:10px 0 20px;padding-bottom:17px;border-bottom:1px solid #e3e0dc}
.page-intro .page-title{margin:3px 0 6px;font-size:clamp(30px,8vw,38px);font-weight:560;letter-spacing:-.055em}
.page-kicker{color:var(--burg);font-size:9px;letter-spacing:.22em;font-weight:750;margin-bottom:13px}
.page-intro .deck{margin:0;font-size:12px;line-height:1.45;max-width:34ch}
.masthead-lines{height:88px;width:70px;background:repeating-linear-gradient(90deg,#f7f7f4 0px,#f7f7f4 11px,#c2c6ac 11px,#c2c6ac 20px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.page:has(.calendar-toolbar) .masthead-lines{background:linear-gradient(135deg,transparent 0 40%,#59192c 40% 56%,transparent 56%),repeating-linear-gradient(90deg,#FFFFFF 0,#FFFFFF 10px,#bec2a4 10px,#bec2a4 15px)}
.page:has(.report-head) .masthead-lines{background:linear-gradient(140deg,#59192c 0 50%,#FFFFFF 50% 60%,#bec2a4 60%)}
.period-digest{padding:17px 0 15px;border-top:1px solid #ded9d7;border-bottom:1px solid #ded9d7}
.digest-topline{display:flex;gap:12px;justify-content:space-between;color:#746d70;font-size:11px}
.digest-topline span:last-child{text-align:right;font-size:10px;color:#7b6870}
.digest-amount{font-size:clamp(26px,7vw,34px);color:var(--burg);font-weight:640;letter-spacing:-.045em;margin:10px 0 12px;font-variant-numeric:tabular-nums}
.digest-amount small{font-size:11px;letter-spacing:0;font-weight:500;color:#756f70;margin-left:10px}
.digest-bar{height:7px;background:#e1e2d7}.digest-bar>span{display:block;height:100%;background:var(--burg)}
.digest-foot{display:flex;gap:10px;justify-content:space-between;color:#686369;font-size:11px;margin-top:12px}
.week-pills{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.week-pills label{position:relative;cursor:pointer;margin:0}
.week-pills input{position:absolute;width:1px;height:1px;opacity:0}
.week-pills span{display:flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #d5d2ce;background:white;color:var(--ink);font-size:10px;font-weight:600}
.week-pills input:checked+span{background:var(--burg);color:#fff;border-color:var(--burg)}
.week-pills input:focus-visible+span{outline:2px solid var(--burg);outline-offset:2px}
.routine-extra{padding:0 0 4px}
.routine-creator{border-top:2px solid var(--burg);padding-top:17px}
@media(max-width:390px){.page-intro{grid-template-columns:minmax(0,1fr) 50px}.masthead-lines{width:50px;height:72px}.week-pills{gap:3px}.week-pills span{font-size:9px}}

.forecast-footnote{margin-top:16px;padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:#625962;line-height:1.5}.forecast-footnote strong{color:var(--burg)}

.header-actions .icon-btn{display:flex;align-items:center;justify-content:center}.header-actions .icon-btn svg{width:21px;height:21px;fill:none;stroke:var(--burg);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.calendar-toolbar button,.link{color:var(--burg)}


/* MARGINE 1.5 — Futura-first, restrained modern editorial UI */
:root {
 --premium-gold: #C8B899;
 font-family: Futura, "Futura PT", "Avenir Next", "Century Gothic", "Trebuchet MS", sans-serif;
}
body,button,input,select,textarea { font-family: Futura, "Futura PT", "Avenir Next", "Century Gothic", "Trebuchet MS", sans-serif; }
.editorial-greeting {
 font-family: Futura, "Futura PT", "Avenir Next", "Century Gothic", "Trebuchet MS", sans-serif;
 font-size: clamp(25px,7.2vw,33px); font-weight: 500; line-height:1.24; letter-spacing:-.045em;
}
.home-hero .amount {
 font-family: Futura, "Futura PT", "Avenir Next", "Century Gothic", "Trebuchet MS", sans-serif;
 font-size: clamp(32px,9vw,47px); font-weight:500; font-variant-numeric: tabular-nums;
 line-height:1.2; letter-spacing:-.052em;
}
.home-hero .balance-pending {font-family:inherit}
/* Remove the decoratively styled glyph next to Calendario and Stime. */
.page-intro {grid-template-columns: minmax(0,1fr); gap:0; margin-bottom:20px; position:relative;}
.page-intro .page-title {font-weight:600;letter-spacing:-.035em}
.page-intro .masthead-lines {display:none!important}
.page-intro::after{content:"";display:block;width:46px;height:2px;background:var(--burg);margin-top:14px}
/* No blue system-accent links anywhere in app controls. */
a,button,.link,.calendar-toolbar button {accent-color:var(--burg)}
/* One single soft, matte champagne detail, displayed only in the savings heading. */
.premium-spark {display:inline-block;vertical-align:middle;margin-left:10px;font-family:system-ui,sans-serif;
 font-size:17px;font-weight:400;line-height:1;color:var(--premium-gold);filter:none;text-shadow:none}
/* Keep the center plus icon visually consistent with the other navigation items. */
.bottom {background:rgba(250,250,249,.98);}
.tab.add span.circle {border-radius:10px;box-shadow:none}
.hero::after{background:var(--burg)}
/* iOS bottom spacing + accessibility zoom */
@supports(padding: max(0px)) {.bottom{padding-bottom:max(15px,env(safe-area-inset-bottom,0px));}}


/* MARGINE 1.6 / Editorial Control System — thin typography, intentional contrast */
:root{--paper:#FCFCFB;--ink:#28262A;--muted:#746E70;--burg:#57192B;--sage:#BBC2A6;--sage-soft:#F1F2EA;--line:#E9E5E4;--champagne:#BDA57D;font-family:Futura,'Futura PT','Avenir Next','Century Gothic',Arial,sans-serif;font-synthesis:none}
html{width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:clip;font-weight:400;font-size:14px;touch-action:pan-y}
.app{width:100%;max-width:520px;min-width:0;overflow-x:clip;box-shadow:none}
.page{width:100%;max-width:100%;min-width:0;padding-left:20px;padding-right:20px}
.page *, .modal *{min-width:0}
button,input,select,textarea{font-family:inherit;font-weight:400;max-width:100%;touch-action:manipulation}
.field input,.field textarea,.field select{font-size:16px;line-height:1.35}
strong,b{font-weight:500}
.brand{letter-spacing:.33em;font-size:14px;font-weight:500}
.brand-icon{width:28px;height:28px}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:.22em}
.topbar{padding-inline:20px;background:var(--paper)}
.switcher{margin-bottom:27px}
.switcher button{border-radius:3px;font-weight:400;font-size:11px}
.page-intro{margin:6px 0 24px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.page-intro::after{content:'';height:3px;width:54px;margin-top:18px;background:var(--burg)}
.page-kicker{font-size:9px;font-weight:400;letter-spacing:.22em;margin-bottom:10px}
.page-kicker .slash{color:var(--sage);padding:0 6px}
.page-intro .page-title{font-size:clamp(29px,8vw,38px);font-weight:400;letter-spacing:-.04em;line-height:1.14;margin:0 0 9px}
.page-intro .deck{font-size:12px;font-weight:400;line-height:1.45;max-width:40ch}
.section-heading h2{font-size:17px;letter-spacing:-.035em;font-weight:500}
.section-heading .link,.link{font-weight:500}
.section{margin-top:32px}
.editorial-greeting{font-weight:400;font-size:clamp(27px,7.2vw,36px);margin-bottom:25px}
.home-hero .amount{font-weight:400;letter-spacing:-.055em}
.home-hero .eyebrow{font-weight:400}
.quick button{font-size:11px}
.quick button svg{stroke-width:1.55}
.hero-meta{font-size:11px}
.explain-balance{display:flex;border:0;border-bottom:1px solid var(--line);background:transparent;width:100%;padding:13px 0 14px;align-items:center;justify-content:space-between;color:var(--ink);cursor:pointer;text-align:left;gap:6px}
.explain-balance b{font-weight:500}
.explain-arrow{color:var(--burg);font-size:18px;line-height:1}
.savings-gold{display:inline-flex;color:#AD966C;align-items:center;justify-content:center;vertical-align:middle}
.savings-gold svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.45;stroke-linejoin:round;stroke-linecap:square}
.quick .savings-gold svg{width:25px;height:25px;stroke:#B69E76}
.page-title .savings-gold{margin-left:13px;vertical-align:0}
.page-title .savings-gold svg{width:21px;height:21px}
.savings-summary .value{font-size:27px;font-weight:400}
.digest-amount{font-size:clamp(27px,7vw,35px);font-weight:450}
.digest-foot,.digest-topline{flex-wrap:wrap}
.chips{gap:5px}
.chip{border-radius:2px;font-weight:400}
.chip.active{font-weight:500}
.row-content strong{font-weight:500;font-size:12.5px}
.row-amount{font-weight:450;font-size:12px}
.row-icon{background:#F1F2EC;border-radius:4px}
.row-icon svg{stroke-width:1.6}
.metric{border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 3px 16px}
.metric strong{font-weight:400;font-size:19px}
.report-value{font-weight:400;letter-spacing:-.045em}
.btn{font-weight:500;border-radius:4px}
.calendar-toolbar{gap:7px}
.calendar-toolbar strong{font-weight:500;text-align:center;font-size:13px}
.calendar-toolbar button{border-radius:4px;min-width:42px}
.day{font-weight:400;border-radius:3px}
.field label,.label-line{font-weight:500}
.fund-top strong{font-weight:500}
.fund-top span{font-weight:500}
.rank b,.rank strong{font-weight:450}
.tab.active{font-weight:500}
.tab svg{stroke-width:1.55}
.tab.add span.circle{border-radius:9px}
.tab{font-size:10px}
.bottom{left:0;right:0;transform:none;margin:0 auto;box-sizing:border-box;max-width:520px;padding-left:4px;padding-right:4px}
/* Category list is a navigable drill-down, not a decorative chart */
.category-intro{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:17px}
.category-list{border-top:2px solid var(--burg)}
.category-item{width:100%;display:grid;grid-template-columns:19px 31px minmax(0,1fr) auto 10px;align-items:center;gap:9px;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink)}
.category-item:focus-visible{outline:2px solid var(--burg);outline-offset:-2px}
.category-number{font-size:9px;color:#98918F;letter-spacing:.06em}
.category-ico{display:grid;place-items:center;color:var(--burg)}
.category-ico svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.45;fill:none;stroke-linecap:round;stroke-linejoin:round}
.category-info{display:flex;flex-direction:column;gap:8px;min-width:0}
.category-name{font-size:12.5px;line-height:1.3;font-weight:500;overflow-wrap:anywhere}
.category-track{height:2px;width:100%;background:#E8E7E2;max-width:100%}
.category-track span{height:100%;background:var(--sage);display:block;max-width:100%}
.category-end{font-size:12px;white-space:nowrap;align-self:center;text-align:right;color:var(--burg);font-variant-numeric:tabular-nums}
.category-end small{display:block;font-size:9px;color:var(--muted);margin-top:5px}
.cat-chevron{font-size:19px;color:var(--burg);line-height:1;font-weight:300}
.back-link{padding:8px 0 16px;border:none;background:transparent;color:var(--burg);font-size:12px}
.category-detail-head{display:flex;gap:15px;align-items:center;margin:15px 0 8px}
.category-large-icon{display:grid;place-items:center;width:46px;height:46px;background:var(--sage-soft);color:var(--burg)}
.category-large-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5}
.category-name-title{font-size:27px;font-weight:400;letter-spacing:-.04em;margin:0}
.category-big-number{color:var(--burg);font-size:43px;font-weight:400;letter-spacing:-.055em;font-variant-numeric:tabular-nums;margin-top:20px}
.category-filter{margin-top:18px}
.category-movement{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.category-movement>div{min-width:0;flex:1}
.category-movement>span{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.movement-title{display:block;font-size:13px;font-weight:450;line-height:1.45;overflow-wrap:anywhere}
.movement-meta{display:block;color:var(--muted);font-size:10px;margin-top:4px;line-height:1.45}
.breakdown-list{border-top:2px solid var(--burg);margin:18px 0}
.breakdown-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px}
.breakdown-row strong{font-weight:500;white-space:nowrap}
.breakdown-row.total{color:var(--burg)}
.breakdown-row.final{font-size:14px;color:var(--burg)}
/* Fix pinched / horizontally shifted content reported on iPhone */
.page,.bottom,.topbar,.calendar-toolbar,.period-digest,.chips,.category-list,.two-col,.stroke-row{max-width:100%;min-width:0}
.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.period-digest .digest-foot{min-width:0}
@media(max-width:355px){.page{padding-left:16px;padding-right:16px}.hero-meta{font-size:10px}.category-item{grid-template-columns:15px 25px minmax(0,1fr) auto 8px;gap:5px}.category-ico svg{width:20px;height:20px}.category-end{font-size:10px}}

/* The only metallic-color motif belongs to savings. */
.space-banner{border-left-color:var(--sage)}


/* MARGINE v1.7 — editorial product UI: no horizontal page movement */
:root{--paper:#FFFFFF;--burg:#59192c;--sage:#bec2a4;--gold:#b59e78;
 font-family:Futura,"Futura PT","Avenir Next",Avenir,"Century Gothic",Arial,sans-serif;}
html{width:100%;max-width:100%;height:100%;overflow-x:hidden!important;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;touch-action:pan-y;}
body{width:100%;max-width:100%;overflow-x:hidden!important;overscroll-behavior-x:none;touch-action:pan-y;}
body.dialog-open{overflow:hidden!important;}
.app{width:100%;max-width:520px;min-width:0;overflow-x:hidden!important;touch-action:pan-y;}
#page,.page{width:100%;max-width:100%;min-width:0;overflow-x:hidden!important;overscroll-behavior-x:none;}
.topbar{width:100%;max-width:100%;min-width:0;overflow:hidden;}
.bottom{width:100%;max-width:520px;left:0;right:0;margin:0 auto;transform:none;overflow:hidden;}
.overlay{width:100%;max-width:100vw;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y;}
.modal{width:100%;max-width:min(520px,100vw);min-width:0;overflow-x:hidden!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.modal .field,.modal input,.modal select,.modal textarea,.modal .inline-actions{max-width:100%;min-width:0;}
.modal input,.modal select,.modal textarea{font-size:16px!important;}
.page *{max-width:100%;}
.page .chips{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.page .chips::-webkit-scrollbar,.switcher::-webkit-scrollbar{display:none;}
.chip{flex:0 0 auto;}
.page .two-col,.page .hero-meta,.page .calendar-toolbar,.page .section-heading,.page .stroke-row{min-width:0;}
.page .row-amount{max-width:42%;overflow-wrap:anywhere;white-space:normal;text-align:right;}
.page .period-digest,.page .digest-foot{min-width:0;max-width:100%;}
.page .metric{min-width:0;}
.page .metric strong,.page .digest-amount,.page .report-value{overflow-wrap:anywhere;}
@supports (overflow:clip){.page .category-track{overflow:clip;}}
/* Strong but restrained hierarchy, a single editorial accent per view. */
.page-intro{position:relative;margin-top:5px;padding-bottom:16px;border-bottom:1px solid #e8e4e2;}
.page-intro .page-title{font-family:Futura,"Futura PT","Avenir Next",Avenir,"Century Gothic",Arial,sans-serif!important;font-weight:400;letter-spacing:-.025em;font-size:clamp(28px,7.8vw,36px);}
.page-intro .deck{font-size:12px;line-height:1.6;}
.page-intro::after{width:34px;height:3px;background:var(--burg);margin-top:17px;}
.section-heading h2{font-weight:450;}
.row-content strong,.category-name,.category-detail-head h1{font-weight:450;}
/* Expense architecture: large category index, no pill crowding. */
.view-expenses .chips{margin-top:20px;margin-bottom:18px;border-bottom:1px solid #e7e1df;padding-bottom:2px;gap:2px;}
.view-expenses .chips .chip{border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;padding:12px 11px;font-size:12px;color:#65595d;}
.view-expenses .chips .chip.active{color:var(--burg)!important;border-bottom-color:var(--burg)!important;}
.view-expenses .metric{padding-bottom:21px;}
.view-expenses .category-list{border-top:0;counter-reset:cat;}
.view-expenses .category-item{grid-template-columns:18px 35px minmax(0,1fr) auto 10px;padding:18px 0;}
.view-expenses .category-number{font-size:11px;color:#9c958f;}
.view-expenses .category-ico{border-left:2px solid var(--sage);height:38px;padding-left:9px;}
.view-expenses .category-ico svg{width:23px;height:23px;}
.view-expenses .category-name{font-size:13px;}
/* Calendar: typographic month and understated printed-grid structure */
.view-calendar .calendar-toolbar{border-top:3px solid var(--burg);border-bottom:1px solid #d9d5d2;padding:16px 0;margin-top:23px;}
.view-calendar .calendar-toolbar strong{font-size:19px;letter-spacing:-.035em;font-weight:400;color:var(--burg);}
.view-calendar .calendar-toolbar button{border:0;background:#f1f0ec;font-size:19px;border-radius:0;min-width:40px;min-height:40px;color:var(--burg);}
.view-calendar .weekgrid{padding:6px 2px 22px;border-bottom:1px solid #dfd9d6;background:#FFFFFF;}
.view-calendar .weekday{font-size:11px;letter-spacing:.1em;color:#746c6d;}
.view-calendar .day{font-size:13px;font-weight:400;border-radius:0;}
.view-calendar .day.selected{background:var(--burg);color:#fff;}
.view-calendar .section-heading{border-bottom:1px solid #e5e0df;padding-bottom:12px;}
.view-calendar .section-heading h2{font-size:19px;}
/* Estimates: one bold data canvas, no glossy effects */
.view-estimates .report-head{margin-top:14px;padding:23px 20px;border:0;background:var(--burg);color:#fff;position:relative;overflow:hidden;}
.view-estimates .report-head:before{content:'';position:absolute;right:0;top:0;width:17px;height:100%;background:repeating-linear-gradient(90deg,#c7cdb2 0 4px,#f1f1ea 4px 8px);}
.view-estimates .report-head .eyebrow{color:#e6d9df;font-weight:400;}
.view-estimates .report-head .report-value{color:#fff;font-size:clamp(34px,9vw,44px);font-weight:400;}
.view-estimates .report-head .two-col{gap:0;border-top:1px solid #ffffff55;}
.view-estimates .report-head .metric{padding:16px 10px 12px 0;color:#fff;border:0;background:transparent;}
.view-estimates .report-head .metric small{color:#e8dce0;}
.view-estimates .report-head .metric strong{font-size:17px;color:#fff;}
.view-estimates .report-head .forecast-footnote,.view-estimates .report-head .app-note{color:#f0e9e9;font-size:10px;line-height:1.6;}
.view-estimates .calendar-toolbar strong{font-size:17px;}
.view-estimates .category-list{border-top:1px solid var(--burg);}
/* Savings: one muted, non-glittering gold icon only */
.view-savings .page-intro::after{background:var(--burg);}
.view-savings .savings-gold{color:#b9a17c;opacity:1;margin-left:8px;}
.view-savings .savings-gold svg{height:24px;width:24px;stroke:#b9a17c;stroke-width:1.55;}
.view-savings .hero{border-top:0;padding:22px 17px 19px;border-left:4px solid var(--burg);background:#f1f2ed;}
.view-savings .hero .amount{font-size:clamp(33px,9vw,44px);}
.view-savings .fund{border:0;border-bottom:1px solid #dedbd7;padding-inline:0;}
.view-estimates .report-head .forecast-footnote strong{color:#fff!important;}
/* Forms should feel fixed and comfortable on iPhone */
.push-status{display:flex;gap:10px;padding:13px 12px;background:#f6f4ef;border-left:3px solid var(--burg);margin-bottom:16px;}
.push-status-mark{font-size:15px;color:var(--burg);font-weight:600;line-height:1.3;}
.push-status strong{font-size:12px;font-weight:500;display:block;margin-bottom:4px;}
.push-status p{font-size:11px;line-height:1.6;color:#6a6262;margin:0;}
@media(max-width:370px){.page{padding-inline:15px}.view-estimates .report-head{padding-inline:13px}.view-expenses .category-item{gap:6px;grid-template-columns:14px 29px minmax(0,1fr) auto 8px}.row-content strong{font-size:12px}}


/* MARGINE — HOME USER-APPROVED / screenshot locked (Nov 2026) */
:root{--paper:#FFFFFF;--burg:#64243B;--line:#E5E2E0;--sage:#B6BBA3;font-family:Futura,'Futura PT','Avenir Next','Century Gothic',Arial,sans-serif}
html,body{width:100%;overflow-x:clip;touch-action:pan-y;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:#292727}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.topbar{position:sticky;min-height:80px;padding:18px 24px 16px;border-bottom:0;background:var(--paper)}
.topbar.is-home{height:106px;align-items:center}
.topbar .brand{font-size:15px;font-weight:600;letter-spacing:.29em;color:var(--burg)}
.topbar .brand-mark{display:none}.brand-icon{display:none!important}
.topbar.is-home #searchBtn,.topbar.is-home #settingsBtn{display:none}
.topbar:not(.is-home) #routinesBtn{display:none}
#routinesBtn{width:42px;height:42px;display:grid;place-items:center;position:relative}
.notification-dot{position:absolute;right:5px;top:5px;background:var(--burg);width:6px;height:6px;border-radius:50%}
.view-home.page{padding:0 24px calc(145px + env(safe-area-inset-bottom,0px))}
.approved-home{width:100%;max-width:100%}
.approved-eyebrow{font-size:10px;letter-spacing:.22em;color:var(--burg);font-weight:600;margin-top:8px;margin-bottom:15px}
.approved-greeting{margin:0 0 24px;font-size:clamp(27px,7.3vw,36px);font-weight:450;letter-spacing:-.058em;line-height:1.18}
.approved-greeting strong{font-weight:700;letter-spacing:-.05em}
.approved-hero{display:grid;grid-template-columns:minmax(0,1fr) 18%;background:#531C30;color:#fff;min-height:234px;overflow:hidden;width:100%}
.approved-hero-copy{padding:24px 22px 18px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.approved-label{font-size:10px;font-weight:550;letter-spacing:.24em;color:#F6EDF0}
.approved-value{font-size:clamp(35px,10.8vw,49px);font-weight:450;letter-spacing:-.06em;line-height:1.12;white-space:nowrap;margin-top:10px;font-variant-numeric:tabular-nums}
.approved-need-balance{font-size:clamp(23px,6.5vw,31px);white-space:normal}
.approved-subtitle{color:#EFE3E7;font-size:12px;font-weight:400;margin-top:8px}
.approved-explore{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:450;padding:0;margin-top:auto;text-align:left}
.approved-explore svg{height:17px;width:17px;transform:rotate(90deg);stroke-width:1.4}
.approved-segments{display:flex;gap:4px;background:transparent;border:0;padding:0;margin-top:16px;width:100%;height:7px;align-items:center}
.approved-segments span{height:5px;flex:1;display:block;background:rgba(248,239,232,.28);transition:background .38s ease,transform .38s ease}
.approved-segments span.filled{background:#F1E7E4;animation:fill-dash .4s ease both;animation-delay:calc(var(--n)*28ms)}
.approved-segments span.near-limit{background:#D9B6B5}
@keyframes fill-dash{from{opacity:.3;transform:scaleX(.3)}to{opacity:1;transform:scaleX(1)}}
.approved-hero-stripes{background:repeating-linear-gradient(90deg,#F4F2ED 0,#F4F2ED 14px,#BAC0A8 14px,#BAC0A8 28px)}
.approved-shortcuts{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.approved-shortcuts button{min-width:0;background:transparent;border:0;border-right:1px solid var(--line);padding:18px 2px 15px;min-height:85px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:-.03em;color:#292727}
.approved-shortcuts button:last-child{border-right:0}
.approved-shortcuts svg{width:26px;height:26px;stroke-width:1.5;fill:none;stroke:var(--burg);stroke-linecap:round;stroke-linejoin:round}
.approved-section{margin-top:44px}
.approved-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}
.approved-section-title h2{font-size:21px;letter-spacing:-.05em;font-weight:650;margin:0;line-height:1.2}
.approved-section-title button{font-size:12px;color:var(--burg);background:transparent;border:0;padding:5px 0;font-weight:550;white-space:nowrap}
.approved-row{display:flex;align-items:center;text-align:left;width:100%;gap:13px;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}
.approved-row-icon{width:37px;height:37px;flex:0 0 37px;background:#EEF0E9;display:grid;place-items:center;border-radius:5px;color:var(--burg)}
.approved-row-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none}
.approved-row-main{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.approved-row-main strong{font-size:14px;font-weight:600;line-height:1.3}
.approved-row-main small{font-size:11px;color:#787476}
.approved-row-price{color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap}
.approved-row>svg{width:15px;height:15px;stroke-width:1.5;color:#333;fill:none;flex-shrink:0}
.approved-empty{font-size:13px;color:var(--muted);padding:3px 0 14px}
.approved-foot{margin-top:36px;padding-top:17px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.approved-foot button{background:transparent;border:0;color:var(--burg);padding:7px 0;font-size:11px}
.bottom{max-width:520px;bottom:0;background:rgba(250,250,249,.99);padding-bottom:max(14px, env(safe-area-inset-bottom,0px));min-height:calc(71px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 18px #1C18140A}
.bottom .tab{gap:6px;min-height:55px;font-size:10px;font-weight:400}
.bottom .tab.active{font-weight:600}
.bottom .tab svg{width:24px;height:24px;stroke-width:1.5}
.bottom .tab.add .circle{width:48px;height:48px;border-radius:10px;margin-top:-11px}
.bottom .tab.add small{display:none}
@media(max-width:385px){.view-home.page{padding-left:19px;padding-right:19px}.approved-greeting{font-size:29px}.approved-hero-copy{padding:20px 17px 17px}.approved-value{font-size:41px}.approved-shortcuts button{font-size:10px}.approved-row-price{font-size:11px}}
/* Hero animation is separate from day-to-day UI. */
.splash[hidden]{display:none!important}.splash{position:fixed;inset:0;z-index:999;background:#36000A;display:grid;place-items:center;overflow:hidden;opacity:1;transition:opacity .3s ease}
.splash.fade-out{opacity:0;pointer-events:none}.splash img{width:100%;height:100%;max-width:520px;object-fit:cover;object-position:center center;display:block}
.splash #skipSplash{position:absolute;right:18px;bottom:calc(23px + env(safe-area-inset-bottom,0px));color:#FFF8F4;background:#3E0617B5;border:1px solid #ffffff4d;padding:9px 13px;font-size:11px;letter-spacing:.06em;border-radius:3px}
/* Transaction micro-feedback; it never changes accounting a second time. */
.expense-celebration{position:fixed;z-index:120;left:50%;bottom:calc(110px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px) scale(.94);width:min(88vw,350px);padding:25px 23px 21px;background:#59192c;color:white;text-align:center;box-shadow:0 15px 60px #27101B44;opacity:0;animation:celebrate-in .45s cubic-bezier(.19,1,.22,1) forwards}
.expense-celebration.out{animation:celebrate-out .28s ease forwards}
@keyframes celebrate-in{to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes celebrate-out{to{opacity:0;transform:translate(-50%,15px) scale(.98)}}
.celebrate-check{width:32px;height:32px;margin:0 auto 11px;display:grid;place-items:center;border:1px solid #EDE4D2;color:#F4EBDF;font-size:18px;font-weight:400}
.celebrate-eyebrow{font-size:10px;letter-spacing:.22em;font-weight:500;color:#F5F1EB}.celebrate-amount{font-size:27px;margin:9px 0;letter-spacing:-.06em;font-weight:450}.celebrate-line{height:1px;background:#ffffff5e;margin:12px auto}.celebrate-label{font-size:11px;color:#EADFE4}.celebrate-new{font-size:31px;font-weight:500;letter-spacing:-.055em;margin-top:5px}.celebrate-close{background:transparent;border:1px solid #f9f0e499;color:#fff;padding:8px 25px;margin-top:18px;font-size:11px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.splash{display:none!important}}

.approved-explore svg{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gift-idea-row{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
.gift-idea-row>div{display:flex;flex-direction:column;gap:5px;min-width:0}.gift-idea-row strong{font-size:13px;font-weight:500}.gift-idea-row small{font-size:11px;color:var(--muted)}

/* ================================================================
   MARGINE — Premium Motion 3.0. All solid colors, no glossy surfaces.
   Leave the approved Home composition and four shortcuts intact.
   ================================================================ */
:root{--paper:#FFFFFF;--white:#FFFFFF;--burg:#59192c;--sage:#bec2a4;--gold:#c9b78e;--pink:#eee1e2;--line:#eae8e7;--muted:#777176;font-family:Futura,'Futura PT','Avenir Next',Avenir,'Century Gothic',Arial,sans-serif!important}
html,body,.app,.topbar,.bottom{background:#FFFFFF!important}
html,body{min-height:100%;overflow-x:clip}
body,button,input,select,textarea{font-family:Futura,'Futura PT','Avenir Next',Avenir,'Century Gothic',Arial,sans-serif!important}
button,a,[role="button"],[role="slider"]{touch-action:manipulation}
button{font-weight:400}
.page-intro .page-title{font-weight:400!important}
.page-intro::after{height:1px!important;width:34px}
.page-kicker,.eyebrow,.approved-eyebrow{font-weight:400!important}
.chips button,.fund-top strong,.section-heading h2,.modal-heading h2{font-weight:500!important}
.page .metric strong,.page .category-end,.page .category-name,.stroke-row strong{font-weight:400!important}
.page .hero,.page .quiet-panel,.page .metric,.page .fund,.page .space-banner{box-shadow:none!important}
.bottom,.app{box-shadow:none!important}
.bottom{background:#FFFFFF!important;border-top:1px solid #efeeee;padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important}
.page{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}
/* The calendar is intentionally compact with round date selection. */
.view-calendar .weekgrid{background:#fff!important;padding:6px 2px 12px!important}
.view-calendar .day{font-size:12px;border-radius:50%!important;min-height:32px;min-width:32px;max-width:35px;max-height:35px;margin:auto}
.view-calendar .day.selected{border-radius:50%!important;background:var(--burg)!important;color:#fff!important}
.view-calendar .calendar-toolbar{margin-top:10px!important;padding:8px 0!important;border-top:1px solid #eae6e5!important}
.view-calendar .calendar-toolbar button{background:transparent!important;border:0!important;border-radius:50%!important;min-width:35px!important;min-height:35px!important}
/* No gradient effects in the calendar. */
.page:has(.calendar-toolbar) .masthead-lines{background:#fff!important}
.view-expenses .category-ico{border-left:0!important;padding-left:0!important}
.view-expenses .category-item{border-bottom:1px solid #eae8e6!important}
.view-estimates .report-head{background:#59192c!important}
.view-estimates .report-head:before{background:repeating-linear-gradient(90deg,#bec2a4 0 4px,#FFFFFF 4px 8px)!important}
.view-savings .hero{background:#FFFFFF!important;border-left:2px solid #59192c!important}
/* Reuse actual baseline burgundy/white/sage; no decorative cheetah elements on green. */
.pm-report-entry{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;text-align:left;background:#fff;color:#59192c;border:1px solid #eae5e4;border-left:2px solid #59192c;padding:21px 18px;margin:21px 0 4px;border-radius:0;box-shadow:none;}
.pm-report-entry small{display:block;letter-spacing:.17em;font-weight:400;font-size:9px;margin-bottom:9px;color:#8a777d}
.pm-report-entry strong{font-size:18px;font-weight:400;line-height:1.2}.pm-report-entry>span:last-child{font-size:22px}
.pm-living-opener{background:transparent;border:1px solid #ffffff66;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:12px;width:100%;padding:13px 14px;margin-top:15px;border-radius:0}
.pm-living-opener span{font-size:17px}
.pm-budget-segments{display:flex;gap:3px;width:min(140px,100%);padding-top:8px;}
.pm-budget-segments i{display:block;height:5px;flex:1;min-width:3px;background:#e8e6e4;transition:background 420ms ease}.pm-budget-segments i.pm-on{background:#bec2a4}.pm-budget-segments i.pm-on.pm-over{background:#59192c}
.pm-outline-action{background:#fff;border:1px solid #d6cdd0;color:#59192c;border-radius:0;padding:10px 14px;line-height:1.4;font-size:12px;font-weight:400;cursor:pointer}
.pm-text-action{border:0;background:transparent;color:#59192c;font-weight:400;font-size:12px;line-height:1.4;padding:9px 3px;text-align:left}
.pm-setting-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid #ece9e8;border-bottom:1px solid #ece9e8;padding:15px 0 16px;margin-bottom:12px}
.pm-setting-row>div{max-width:62%}.pm-setting-title{display:block;font-size:14px;font-weight:500;color:#282327;margin-bottom:5px}
.pm-setting-row small{font-size:11px;line-height:1.45;color:#706d6d}
.pm-settings-version{font-size:10px;letter-spacing:.1em;color:#8d8889}
.pm-private-value{display:inline-block;min-width:2.2em;letter-spacing:-.08em;font-size:.85em;color:#59192c!important;border-bottom:2px solid #bec2a4;white-space:nowrap}
.approved-hero .pm-private-value,.report-head .pm-private-value{color:#fff!important;border-bottom-color:#c9b78e}
html.pm-hidden::after{content:"MARGINE";position:fixed;inset:0;background:#59192c;color:#fff;display:flex;align-items:center;justify-content:center;letter-spacing:.36em;font-size:19px;z-index:99999}
.pm-margin-peek{position:fixed;padding:8px 14px;border:1px solid #eae3e4;background:#fff;color:#59192c;z-index:80;width:max-content;max-width:300px;text-align:center;font-size:11px;box-shadow:none;pointer-events:none}
.approved-value{touch-action:manipulation}
/* Money Morphing */
.pm-money-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#FFFFFFE8;opacity:1;transition:opacity 250ms ease;pointer-events:none}
.pm-money-overlay.pm-fade{opacity:0}.pm-money-card{background:#fff;width:min(326px,84vw);border:1px solid #eae8e7;border-top:3px solid #59192c;text-align:center;padding:25px 24px 20px;pointer-events:auto;color:#59192c}
.pm-money-card>small{letter-spacing:.21em;font-size:10px;color:#59192c}.pm-bank-to-icon{width:130px;height:95px;position:relative;margin:19px auto;}
.pm-banknote{position:absolute;left:0;top:13px;width:128px;height:72px;color:#59192c;transform-origin:75% 50%;transition:transform 780ms cubic-bezier(.2,.7,.22,1),opacity 380ms ease 270ms}
.pm-category-morph{position:absolute;inset:25px 46px 26px;width:42px;height:42px;opacity:0;transform:translate(-12px,7px) scale(.55);transition:transform 800ms cubic-bezier(.2,.7,.22,1),opacity 320ms ease 350ms;color:#59192c}
.pm-category-morph svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.pm-money-overlay.pm-animate .pm-banknote{opacity:0;transform:translate(54px,-16px) scale(.23) rotate(-11deg)}
.pm-money-overlay.pm-animate .pm-category-morph{opacity:1;transform:translate(var(--pm-end-x, 13px),var(--pm-end-y, -8px)) scale(.6)}
.pm-money-cat{font-size:15px;font-weight:400;margin:9px 0}.pm-money-old{font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.pm-money-old span{color:#c9b78e}.pm-money-old strong{font-size:18px;font-weight:400}
.pm-dismiss-money{display:block;margin:22px auto 0;background:#fff;border:1px solid #e8e5e4;color:#59192c;font-size:12px;padding:8px 24px}
/* Living Margin */
.pm-living-heading small{letter-spacing:.15em;font-size:9px;color:#59192c}.pm-living-number{font-size:clamp(35px,10vw,50px);font-weight:400;color:#59192c;margin:12px 0}.pm-living-heading p{font-size:11px;color:#666;margin:0 0 22px}
.pm-living-bars{display:flex;align-items:end;gap:9px;height:180px;border-bottom:1px solid #59192c;padding:10px 0 0;touch-action:pan-y}
.pm-living-cell{height:100%;flex:1;min-width:0;background:transparent;border:0;padding:0;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:7px}
.pm-living-bar{width:70%;height:var(--len);background:#bec2a4;transition:height 530ms ease,background 350ms ease;max-height:95%}
.pm-living-cell.pm-active .pm-living-bar{background:#59192c}.pm-living-cell span{font-size:10px;color:#777176;margin-bottom:-18px}.pm-living-bars+.app-note{margin-top:36px}
/* Unwrap Your Gift */
.pm-gift-interactive{text-align:center;padding:10px 0 26px;border-bottom:1px solid #eae8e7;margin:0 0 12px}
.pm-gift-intro{font-size:9px;color:#59192c;letter-spacing:.2em}
.pm-present{max-width:290px;margin:auto;background:#59192c;overflow:hidden}.pm-present svg{width:100%;height:auto;display:block}
.pm-present .pm-gift-lid{transition:transform 700ms cubic-bezier(.2,.7,.22,1)}
.pm-present .pm-ribbon-bow,.pm-present .pm-ribbon-v,.pm-present .pm-ribbon-h{transition:transform 700ms cubic-bezier(.2,.7,.22,1),opacity 400ms ease}
.pm-present.pm-open .pm-gift-lid{transform:translateY(-55px)}.pm-present.pm-open .pm-ribbon-bow{transform:translate(95px,-70px) rotate(18deg);opacity:0}.pm-present.pm-open .pm-ribbon-v,.pm-present.pm-open .pm-ribbon-h{opacity:0}
.pm-ribbon-handle{display:flex;justify-content:space-between;align-items:center;position:relative;touch-action:none;border-bottom:1px solid #e8e4e4;color:#59192c;max-width:276px;margin:15px auto 8px;padding:11px 2px;font-size:12px;user-select:none;overflow:hidden}
.pm-ribbon-handle::before{content:"";position:absolute;bottom:0;left:0;width:var(--pull,0%);height:2px;background:#c9b78e}
.pm-ribbon-handle.pm-unwrapped{opacity:.4}
.pm-gift-hidden{display:none!important}
/* Magnetic Savings */
.pm-magnetic{margin:12px 0 22px;border-top:1px solid #eae8e7;padding-top:18px}
.pm-magnetic-head>span{display:block;letter-spacing:.18em;font-size:9px;color:#59192c}.pm-magnetic-head small{display:block;font-size:11px;color:#70696e;margin-top:5px;line-height:1.45}
.pm-magnetic-stage{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:110px;padding:12px;border-bottom:1px solid #eae8e7;overflow:hidden;touch-action:none}
.pm-coin{width:58px;height:58px;touch-action:none;cursor:grab;position:absolute;left:12px;top:21px;z-index:1;transition:transform 350ms ease,opacity 370ms ease}.pm-coin svg{width:100%;height:100%}.pm-coin.pm-absorbed{transform:translate(170px,0) scale(.18)!important;opacity:0}
.pm-target{position:absolute;right:10px;top:13px;width:125px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #e7e2e3;color:#59192c}.pm-target svg{height:24px;width:24px;fill:none;stroke:currentColor;stroke-width:1.5}.pm-target span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:95px}
.pm-magnet-confirm{font-size:10px;color:#746a70;margin-top:9px;line-height:1.4}
.pm-savings-note{font-size:11px;line-height:1.5;color:#746a70}
/* Monthly Editorial Report / five swipeable magazine pages */
.pm-report-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.pm-report-meta>span{font-size:9px;letter-spacing:.13em;color:#59192c}.pm-report-meta .pm-text-action{font-size:11px}
.pm-report-view{border:1px solid #eae6e7;overflow:hidden;background:#fff}
.pm-report-track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.pm-report-track::-webkit-scrollbar{display:none}
.pm-report-slide{min-width:100%;height:min(57dvh,520px);overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;padding:24px 20px 24px;background:#fff;color:#292529;position:relative}
.pm-report-slide::after{content:"";position:absolute;top:0;right:0;width:4px;height:70px;background:#c9b78e}
.pm-report-slide>small{font-size:9px;color:#59192c;letter-spacing:.2em}
.pm-report-topline{display:flex;justify-content:space-between;align-items:center;color:#59192c;font-size:9px;letter-spacing:.17em;border-bottom:1px solid #e8e6e5;padding-bottom:12px;margin-bottom:34px}
.pm-report-large-word{font-size:clamp(48px,13vw,69px);line-height:1.07;font-weight:400;letter-spacing:-.055em;color:#59192c;margin:26px 0 30px}
.pm-report-big-period{font-size:18px;color:#292529;line-height:1.4;margin-bottom:20px}
.pm-report-slide h2{font-size:clamp(27px,7vw,37px);font-weight:400;line-height:1.12;letter-spacing:-.03em;margin:20px 0 28px;color:#59192c}
.pm-report-slide>p{font-size:12px;line-height:1.65;color:#706c6e}
.pm-report-figure{font-size:clamp(35px,9vw,52px);color:#59192c;font-weight:400;letter-spacing:-.04em;margin:26px 0}
.pm-report-rule{height:1px;background:#e8e5e5;margin:22px 0}
.pm-report-split{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:14px 0 32px}.pm-report-split strong{font-weight:400}
.pm-report-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:8px 0;font-size:11px;color:#383235}
.pm-report-row i{grid-column:1/-1;display:block;height:5px;background:#59192c;max-width:100%;min-width:0}
.pm-report-goal{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:11px;margin:20px 0}
.pm-report-goal strong{font-weight:400}.pm-report-goalbar{grid-column:1/-1;height:5px;background:#eae8e5}.pm-report-goalbar i{display:block;height:5px;background:#59192c}.pm-report-goal small{color:#777176;font-size:9px}
.pm-report-summary{font-size:23px;line-height:1.4;font-weight:400;color:#59192c;margin:55px 0 30px}.pm-report-end{position:absolute;bottom:20px;left:20px;font-size:10px;letter-spacing:.1em}.pm-report-end span{color:#c9b78e}
.pm-report-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 0}.pm-report-controls button{min-width:44px;height:42px}.pm-report-controls span{font-size:12px;color:#59192c}
.pm-export-controls{display:flex;flex-direction:column;gap:10px;margin:9px 0}.pm-export-check{font-size:12px;color:#383135;display:flex;gap:8px;align-items:center}.pm-export-check input{accent-color:#59192c}
/* Reduce Motion applies to every custom experience */
@media(prefers-reduced-motion:reduce){.pm-banknote,.pm-category-morph,.pm-present *, .pm-coin,.pm-living-bar,.pm-budget-segments i,.pm-money-overlay{animation:none!important;transition:none!important}.pm-report-track{scroll-behavior:auto!important}}
@media(max-width:390px){.pm-setting-row{align-items:start;flex-direction:column}.pm-setting-row>div{max-width:100%}.pm-report-slide{padding:18px 15px}}

/* ===================================================================
 MARGINE EDITORIAL MOTION 3.1 — real UI redesign, not a mock-up.
 The approved Home markup and its identifying arrangement stay unchanged.
 =================================================================== */
:root{--paper:#FFFFFF!important;--white:#FFFFFF!important;--burg:#59192c!important;--sage:#bec2a4!important;--gold:#c9b78e!important;--line:#e9e6e5!important;font-family:Futura,'Futura PT','Avenir Next',Avenir,'Century Gothic',sans-serif!important}
body,.app,.page,.topbar{background:#FFFFFF}
.page:not(.view-home){padding-top:16px}
.page:not(.view-home) h1,.page:not(.view-home) h2,.page:not(.view-home) h3{font-weight:400;letter-spacing:-.035em}
.page:not(.view-home) p{font-weight:400}
.page:not(.view-home) button{font-weight:400}
.page:not(.view-home) .btn{font-weight:400;border-radius:3px;box-shadow:none;}
.page:not(.view-home) .field label{font-weight:400}
.page:not(.view-home) .metric strong,.page:not(.view-home) .category-end,.page:not(.view-home) .category-name{font-weight:400}
.page:not(.view-home) .fund,.page:not(.view-home) .quiet-panel,.page:not(.view-home) .space-banner{background:#FFFFFF;box-shadow:none;border-radius:0}
.bottom{backdrop-filter:none!important;background:#FFFFFF!important;box-shadow:none!important}
.tab.active{font-weight:500}
.tab:not(.add) span{font-weight:400}
.modal{background:#FFFFFF!important;box-shadow:none!important}
.modal-heading h2{font-weight:400!important}
/* A genuine distinct internal interface: white on flat institutional burgundy. */
.app:has(.view-expenses) .topbar{background:var(--burg)!important;border-bottom:0;}
.app:has(.view-expenses) .brand,.app:has(.view-expenses) .topbar .icon-btn{color:#FFFFFF}
.app:has(.view-expenses) .notification-dot{border-color:var(--burg)}
.view-expenses{padding-top:0!important}
.em-expenses-header{color:#FFFFFF;background:var(--burg);margin:0 -22px 0;padding:7px 22px 0;min-height:151px;}
.em-exp-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.em-exp-top>span{font-size:9px;letter-spacing:.21em;font-weight:400;color:#f5eced}
.em-exp-top button{border:0;background:transparent;color:white;padding:4px}
.em-exp-top svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.em-expenses-header h1{font-size:37px;font-weight:400!important;line-height:1.15;letter-spacing:-.045em;margin:7px 0 22px}
.em-title-period{float:right;margin-top:19px;font-size:12px;letter-spacing:.02em;font-weight:400;color:#eee1e5;text-transform:capitalize}
.em-tabs{display:flex;gap:17px;overflow-x:auto;scrollbar-width:none;margin:0;white-space:nowrap}
.em-tabs::-webkit-scrollbar{display:none}
.em-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:#e7dce1;padding:13px 0 12px;font-size:12px;font-weight:400;flex-shrink:0}
.em-tab.is-active{border-bottom-color:#c9b78e;color:#FFFFFF}
.em-workspace{padding:10px 0 4px}
.em-workspace .switcher{margin:0;gap:4px;border:0;max-width:100%;}
.em-workspace .switcher button{font-size:10px;padding:4px 7px;border:0;border-bottom:1px solid transparent;border-radius:0;background:none;color:#73676c}
.em-workspace .switcher button.on{color:var(--burg)!important;background:transparent;border-color:var(--burg)!important}
.em-ledger{margin-top:10px}
.em-ledger-top,.em-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.em-overline{color:#8b7780;font-size:9px;letter-spacing:.11em;line-height:1.5}
.em-quiet-link{background:none;border:0;color:var(--burg);font-size:11px;padding:8px 0;flex-shrink:0}
.em-ledger-total{font-size:clamp(36px,9vw,52px);letter-spacing:-.065em;color:var(--burg);font-weight:400;line-height:1.15;padding-top:6px;font-variant-numeric:tabular-nums}
.em-ledger-caption{font-size:11px;color:#807879;margin:7px 0 26px}
.em-ledger-divider{height:1px;background:#e8e4e3}
.em-list-head{margin:15px 0 5px}
.em-list-head h2{font-size:21px;color:#282327;margin:0;letter-spacing:-.04em}
.em-category-row{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto 10px;align-items:center;gap:9px;padding:15px 0;min-height:82px;border:0;border-bottom:1px solid #e9e5e3;background:#FFFFFF;color:#292629;text-align:left}
.em-category-row:active{background:#faf9f9}
.em-category-icon svg{height:23px;width:23px;fill:none;stroke:var(--burg);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.em-category-label{display:block;min-width:0;}
.em-category-name{display:block;font-size:14px;letter-spacing:-.015em;margin-bottom:7px;font-weight:400}
.em-share-track{height:3px;background:#ece8e7;max-width:150px;width:95%;}
.em-share-track>span{height:100%;display:block;background:var(--burg);transition:width 500ms ease}
.em-ratio{font-size:9px;color:#827b7d;display:block;margin-top:4px}
.em-category-value{font-size:13px;letter-spacing:-.02em;color:#242124;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.em-category-value small{display:block;font-size:9px;color:#7a7375;margin-top:5px}
.em-chevron{color:#675b61;font-size:19px;font-weight:300}
.em-segments{display:flex;gap:3px;max-width:162px;width:96%;}
.em-segments i{height:4px;flex:1;min-width:3px;background:#ece7e7;transition:background 400ms ease}
.em-segments i.active{background:#bec2a4}
.em-segments i.warn{background:var(--burg)}
.em-empty{text-align:left;padding:15px 0 26px}
.em-large-zero{display:block;font-size:66px;font-weight:300;color:#e3dadb;letter-spacing:-.08em}
.em-empty h2{font-size:19px}
.em-empty p{font-size:12px;line-height:1.65;color:#756d70;max-width:310px}
.em-inline-action{border:0;border-bottom:1px solid #b99a8f;background:none;color:var(--burg);padding:9px 0;font-size:12px}
.em-ledger-footer{display:flex;gap:25px;padding:18px 0 0;flex-wrap:wrap}
.em-legacy .chips{display:none}
.em-legacy .metric{border:0;border-bottom:1px solid var(--line);border-radius:0}
/* Compact round calendar, truly fits at 375 × 812 with a small agenda. */
.view-calendar{padding-top:0!important}
.em-pagebar{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:31px;margin:1px 0 5px}
.em-pagebar>span{font-size:9px;letter-spacing:.22em;color:var(--burg)}
.em-pagebar button{background:transparent;border:0;font-size:23px;font-weight:300;color:var(--burg);padding:4px 5px;line-height:1}
.em-pagebar svg{height:20px;width:20px;stroke:currentColor;stroke-width:1.35;fill:none}
.em-calendar h1,.em-gifts h1,.em-settings h1{font-size:31px;font-weight:400;letter-spacing:-.045em;margin:8px 0 16px;color:#292428}
.em-cal-nav{display:grid;grid-template-columns:45px 1fr 45px;align-items:center;margin:0 0 12px;border-top:1px solid #e7e2e2;padding-top:11px;color:var(--burg);text-align:center}
.em-cal-nav button{border:0;background:#FFFFFF;color:var(--burg);font-size:26px;padding:3px;min-height:31px}
.em-cal-nav span{font-size:14px;font-weight:400;letter-spacing:-.015em;text-transform:capitalize}
.em-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:34px;gap:3px 0;margin:0 0 15px;padding-bottom:12px;border-bottom:1px solid #e9e6e5}
.em-week{color:#757075;font-size:9px;display:grid;place-items:center;letter-spacing:.04em;height:29px}
.em-cal-day{height:30px;width:30px;min-width:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:auto;color:#302a2e;border:0;background:#FFFFFF;font-size:12px;position:relative;font-weight:400;touch-action:manipulation}
.em-cal-day.selected{background:var(--burg);color:#fff}
.em-cal-day.event i{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--burg);bottom:1px}
.em-cal-day.event.selected i{background:#fff}
.em-agenda-head{display:flex;justify-content:space-between;align-items:center;margin:13px 0 8px;gap:5px}
.em-agenda-head h2{font-size:17px;margin:0;font-weight:400}
.em-agenda-head button{border:0;background:none;color:var(--burg);font-size:11px}
.em-agenda-row{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:11px 0;border:0;border-bottom:1px solid #eeeaea;background:#FFFFFF}
.em-agenda-row>span:first-child{display:flex;align-items:center;justify-content:center;flex:none;width:24px}
.em-agenda-row svg{height:19px;width:19px;stroke:var(--burg);stroke-width:1.35;fill:none}
.em-agenda-label{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.em-agenda-label strong{font-size:12px;font-weight:400!important;color:#2d292b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.em-agenda-label small{font-size:10px;color:#868082}
.em-agenda-price{font-size:11px;white-space:nowrap}
.em-agenda-price small{font-size:9px;color:#858081}
.em-agenda-row b{font-weight:300;color:var(--burg)}
.em-agenda-empty{color:#8a8183;font-size:12px;margin:8px 0 15px}
.em-cal-actions{display:flex;gap:19px;flex-direction:column;margin:10px 0 3px}
.em-cal-actions button{border:0;border-bottom:1px solid #eee9e8;background:transparent;color:var(--burg);display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;padding:10px 0}
.em-cal-actions svg{width:18px;height:18px;stroke-width:1.35;stroke:currentColor;fill:none}
.em-cal-actions button span:nth-child(2){flex:1}
/* Regali: cheetah appears ONLY on institutional burgundy; sage stripes absent here. */
.em-subtitle{font-size:13px;color:#81787a;margin:-6px 0 22px}
.em-gift-banner{height:221px;display:grid;grid-template-columns:58% 42%;background:var(--burg);overflow:hidden;color:#fff;margin:0 -22px 14px 0}
.em-gift-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:24px 0 18px 20px;position:relative;z-index:2}
.em-gift-text small{letter-spacing:.16em;color:#e8d9de;font-size:9px}
.em-gift-text h2{font-size:27px;font-weight:300!important;line-height:1.14;color:#fff;margin:0;letter-spacing:-.035em}
.em-gift-text button{padding:6px 0;border:0;border-bottom:1px solid #c9b78e;color:white;background:none;font-size:11px}
.em-gift-photo{background-image:url('./ghepardo-ambra.jpg');background-color:var(--burg);background-size:auto 100%;background-repeat:no-repeat;background-position:53% 50%;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
.em-gifts-actions{border-bottom:1px solid #eae7e6;padding:8px 0 13px;margin-bottom:24px}
.em-gifts-actions button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:#FFFFFF;color:var(--burg);padding:8px 0;font-size:12px}
.em-gifts-actions svg{height:19px;width:19px;stroke:#c9b78e;stroke-width:1.4;fill:none}
.em-gifts-actions span:nth-child(2){flex:1}
.em-gifts-empty{font-size:12px;color:#81797b;line-height:1.65;margin:16px 0}
.em-gift-foot{margin:30px 0 10px}
.em-gold-line{display:block;height:1px;width:42px;background:#c9b78e}
.em-gift-foot p{font-size:11px;line-height:1.6;color:#827a7a;margin-top:15px}
/* Settings: full-size dedicated screen with a real, immediately visible JSON control. */
.em-settings-block{padding-top:13px;margin:12px 0 26px;border-top:1px solid #e9e5e5}
.em-settings-heading{font-size:10px;letter-spacing:.2em;color:#a48d70;margin:5px 0 15px}
.em-settings-row{display:grid;grid-template-columns:24px 1fr 15px;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #efebea;padding:14px 0;min-height:62px}
.em-settings-icon svg{width:21px;height:21px;fill:none;stroke:var(--burg);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.em-settings-row strong,.em-backup-feature strong{font-weight:400!important;font-size:14px;display:block;color:#302a2d}
.em-settings-row small{font-size:10px;display:block;color:#888082;margin-top:5px}
.em-settings-row b{color:var(--burg);font-weight:300}
.em-backup-feature{display:flex;gap:13px;align-items:start;padding:10px 0 15px}
.em-backup-icon svg{width:25px;height:25px;stroke-width:1.3;stroke:var(--burg);fill:none}
.em-backup-feature p{font-size:11px;color:#877f82;line-height:1.5;max-width:300px;margin:7px 0 0}
.em-file-label{display:block;border:1px solid #b8a7ae;color:var(--burg);font-size:12px;text-align:center;padding:13px 5px;margin:2px 0 8px;cursor:pointer}
.em-settings #backupFile{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;opacity:0!important;min-height:1px!important}
.em-file-label:focus-within{outline:2px solid var(--burg)}
.em-file-status{display:block;margin:0 0 7px;color:#83797d;font-size:10px}
.em-file-confirm{background:none;color:var(--burg);padding:10px 0;border:0;border-bottom:1px solid var(--burg);font-size:12px;margin-bottom:12px}
.em-settings-disclaimer{font-size:11px;color:#8d8186;line-height:1.7}
.em-settings .pm-setting-row{margin-top:8px}
/* Core primitive refinements across actual existing screens. */
.view-savings .fund{border:0!important;border-bottom:1px solid #e9e5e5!important;padding:21px 0!important;background:#FFFFFF!important}
.view-savings .fund-actions button{border:1px solid #d8c9cd;background:transparent!important;color:var(--burg)!important;border-radius:2px!important;font-weight:400!important}
.view-savings .fund .bar{height:4px;background:#ede9e8}
.view-savings .fund .bar .fill{background:var(--burg)}
.view-estimates .pm-report-entry{margin:24px 0!important;border-left:1px solid var(--burg)!important}
.view-estimates .report-head{border:0!important}
.view-estimates .report-head:before{display:none!important}
.view-estimates .report-value{font-weight:400!important}
.view-category .category-detail-head{padding:10px 0}
.view-category .category-big-number{font-weight:400!important}
.view-category .category-movement{border-radius:0!important}
/* Correct iPhone safe areas, without blocking user pinch-to-zoom. */
@media(max-width:390px){
 .em-expenses-header{min-height:146px}.em-tabs{gap:13px}
 .em-title-period{font-size:11px}
 .em-cal-grid{grid-auto-rows:32px;gap:1px 0}
 .em-calendar h1,.em-settings h1,.em-gifts h1{font-size:29px}
 .em-category-row{gap:7px;grid-template-columns:28px minmax(0,1fr) auto 9px}
 .em-gift-banner{height:195px}
}
@media (prefers-reduced-motion:reduce){
 .em-share-track>span,.em-segments i{transition:none!important}
}
/* 3.1 QA refinements */
.view-expenses .em-expenses-header{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}
.view-gifts .em-list-head button{background:none;border:0;padding:7px 0;font-size:11px;color:var(--burg)}
.view-gifts .em-gift-banner{border-radius:0}

/* MARGINE 3.2 — Financial Pattern Generator + Editorial Focus Mode */
:root{--paper:#FFFFFF;--white:#FFFFFF;--fm-ink:#282327;--fm-burg:#59192c;--fm-gold:#C9B78E;--fm-sage:#B8BEA5;--fm-pink:#D1A7B0}
body,.app,.page,.modal,.topbar{background:#FFFFFF!important}
body,.app,button,input,textarea,select{font-family:Futura,'Futura PT','Avenir Next',Avenir,Helvetica,Arial,sans-serif!important;font-synthesis:weight}
.fm-pattern-module{background:#FFFFFF;color:var(--fm-ink);margin:34px -4px 40px;padding:22px 4px 26px;border-top:1px solid #d9d3d3;border-bottom:1px solid #d9d3d3;max-width:100%;overflow:hidden}
.fm-pattern-overline{display:flex;justify-content:space-between;align-items:center;color:var(--fm-burg);font-size:10px;letter-spacing:.2em;font-weight:400}
.fm-pattern-overline span{font-size:12px;color:var(--fm-gold)}
.fm-pattern-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:19px 0 15px}
.fm-pattern-head h2{font-weight:400;font-size:clamp(35px,9vw,50px);line-height:1.05;letter-spacing:-.07em;color:var(--fm-burg);margin:0}
.fm-outline-link{border:0;border-bottom:1px solid var(--fm-burg);background:#FFFFFF;color:var(--fm-burg);padding:12px 0;font-size:12px;font-weight:400;white-space:nowrap;min-height:44px}
.fm-pattern-sub{font-size:12px;line-height:1.65;color:#6b6366;margin:14px 0 25px;max-width:340px}
.fm-pattern-month{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:2px;border-top:1px solid #e9e6e5;border-bottom:1px solid #e9e6e5;padding:8px 0;margin:0 0 16px;font-size:11px;color:var(--fm-burg);text-align:center}
.fm-pattern-month button{background:transparent;color:var(--fm-burg);border:0;font-size:22px;min-width:44px;min-height:44px}
.fm-style-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid #e9e5e4;margin:8px 0 16px}
.fm-style-choice button{background:#FFFFFF;color:#827a7e;padding:13px 2px;border:0;border-bottom:2px solid transparent;font-size:10px;letter-spacing:.05em;font-weight:400}
.fm-style-choice button.active{color:var(--fm-burg);border-bottom-color:var(--fm-burg)}
.fm-pattern-stage{background:#FFFFFF;aspect-ratio:1/1;width:100%;max-width:470px;overflow:hidden;margin:4px auto 18px}
.fm-pattern-svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%}
.fm-pattern-group{cursor:pointer;transform-box:fill-box;transition:opacity 300ms ease-in-out;outline:0}
.fm-pattern-group.fm-muted{opacity:.14}
.fm-pattern-group.fm-picked{opacity:1}
.fm-pattern-group:focus-visible{outline:2px dashed var(--fm-burg);outline-offset:1px}
.fm-pattern-group>*{transition:fill 500ms ease-in-out}
.fm-pattern-label{min-height:42px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #e9e5e4;font-size:12px;line-height:1.4;color:#6f676b}
.fm-pattern-label strong{font-weight:450;color:var(--fm-burg)}
.fm-pattern-label button{border:0;border-bottom:1px solid var(--fm-burg);padding:5px 0;background:#FFFFFF;color:var(--fm-burg);font-size:12px;margin-left:auto}
.fm-pattern-legend{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #efeded;margin:0 0 6px}
.fm-legend-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto 12px;align-items:center;gap:12px;background:#FFFFFF;border:0;border-bottom:1px solid #efeded;width:100%;color:var(--fm-ink);text-align:left;padding:13px 0;min-height:44px;font-size:12px;font-weight:400}
.fm-legend-row strong{font-weight:450;color:var(--fm-burg);font-size:12px}
.fm-dot{width:10px;height:10px;display:block}
.fm-focus-hint{font-size:13px;color:#a39a9c}
.fm-precision-note{font-size:10px;line-height:1.6;color:#777073;margin:12px 0}
.fm-pattern-empty{font-size:14px;color:var(--fm-burg);padding:16px 0}
.fm-pattern-export-options{display:flex;gap:17px;flex-wrap:wrap;font-size:11px;color:#5f595c;margin:25px 0 10px}
.fm-pattern-export-options label{display:flex;align-items:center;gap:7px;min-height:30px}
.fm-pattern-export-options input{accent-color:var(--fm-burg)}
.fm-pattern-export-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.fm-pattern-export-actions button{padding:13px 9px;min-height:44px;border:1px solid #d8cdcf;background:#FFFFFF;color:var(--fm-burg);font-size:11px;font-weight:400}
.fm-pattern-export-actions button:last-child{grid-column:1/-1}
.fm-pattern-export-actions button:active{background:#f8f5f6}
.fm-focus-inline{display:block;max-width:max-content;border:0;border-bottom:1px solid #c9b78e;background:#FFFFFF;color:var(--fm-burg);font-weight:400;font-size:10px;letter-spacing:.03em;margin:-4px 0 12px auto;padding:6px 0;min-height:32px;text-align:right}
.category-item + .fm-focus-inline{margin:-8px 0 6px auto}
.fund + .fm-focus-inline{margin:-6px 0 6px auto}
.fm-report-pattern{border-top:1px solid #e5e1e2;margin-top:24px;padding:18px 0;color:var(--fm-burg)}
.fm-report-pattern>small{font-size:9px;letter-spacing:.16em}
.fm-report-pattern svg{width:125px;height:125px;margin:14px auto;display:block;pointer-events:none}
.fm-report-pattern p{font-size:10px;line-height:1.5;color:#777073}
.fm-focus-open{overflow:hidden!important}
.fm-focus{position:fixed;inset:0;z-index:1100;background:var(--fm-burg);color:#FFFFFF;display:flex;flex-direction:column;padding:calc(22px + env(safe-area-inset-top,0px)) 24px calc(22px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;isolation:isolate}
.fm-focus-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fm-focus-top span{font-size:10px;letter-spacing:.18em;color:#ffffffdb}
.fm-focus-top i{font-style:normal;color:var(--fm-gold);margin-left:5px}
.fm-close{background:transparent;border:1px solid #ffffffb5;color:#FFFFFF;border-radius:50%;width:46px;height:46px;font-size:27px;font-weight:300;display:grid;place-items:center}
.fm-focus-editorial{flex:1;min-height:380px;display:flex;flex-direction:column;justify-content:center;max-width:660px;width:100%;margin:0 auto;padding:25px 0}
.fm-focus-label{font-size:11px;letter-spacing:.21em;color:#eadfe3;margin-bottom:24px}
.fm-focus-title{font-size:clamp(34px,11vw,62px);font-weight:400!important;line-height:1.05;letter-spacing:-.06em;margin:0 0 12px;overflow-wrap:anywhere}
.fm-focus-period{font-size:12px;line-height:1.55;color:#eee3e7}
.fm-focus-number{font-size:clamp(44px,15vw,94px);font-weight:300!important;letter-spacing:-.065em;line-height:1.1;color:#FFFFFF;background:transparent;border:0;padding:30px 0 17px;text-align:left;max-width:100%;overflow-wrap:anywhere}
.fm-focus-rule{height:1px;background:var(--fm-gold);max-width:140px;width:100%;margin:14px 0 22px}
.fm-focus-metadata{font-size:13px;line-height:1.8;color:#eee7e9;display:grid;gap:5px}
.fm-focus-progress{height:5px;width:100%;background:#ffffff44;margin-top:20px}
.fm-focus-progress i{display:block;height:100%;background:#C9B78E;transition:width 450ms ease-in-out}
.fm-focus-more{border-top:1px solid #ffffff55;margin-top:20px;padding:12px 0;font-size:12px;line-height:1.8;color:#f3ebed}
.fm-focus-more[hidden]{display:none}
.fm-focus-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:660px;width:100%;margin:0 auto}
.fm-focus-footer button{border:1px solid #ffffff80;color:#FFFFFF;background:transparent;min-width:46px;min-height:46px;font-size:23px}
.fm-focus-footer span{font-size:12px;letter-spacing:.15em}
.fm-focus-tip{font-size:10px;color:#e0ccd4;text-align:center;margin:15px 0 0}
.fm-focus-accent{width:30px;height:2px;background:var(--fm-gold);position:absolute;right:24px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.fm-focus:focus-visible,.fm-focus *:focus-visible{outline:2px solid var(--fm-gold);outline-offset:3px}
.fm-interstitial{position:fixed;inset:0;z-index:1010;background:#59192c;display:flex;align-items:center;justify-content:center;padding:32px;pointer-events:none}
.fm-interstitial-frame{width:min(83vw,320px);text-align:center}
.fm-interstitial-frame img{width:min(72vw,250px);height:auto;max-height:250px;object-fit:contain;display:block;margin:auto;background:#59192c}
.fm-interstitial-frame span{display:block;font-size:10px;color:#FFFFFF;letter-spacing:.19em;margin-top:22px}
/* Flat, optic-white supporting surfaces; sage is reserved for brand-linked patterns. */
.em-gift-banner,.em-gift-photo{background-color:#59192c!important}
.em-gift-banner::before,.em-gift-banner::after,.em-gift-photo::before,.em-gift-photo::after{display:none!important}
.em-settings-row strong,.em-category-name,.em-agenda-label strong,.fund-top strong{font-weight:400!important}
.em-category-icon svg,.em-agenda-row svg,.em-settings-row svg,.category-ico svg,.row-icon svg{stroke-width:1.45!important}
.em-category-icon,.em-settings-icon{background:#FFFFFF!important}
.em-expenses-header h1,.em-calendar h1,.em-gifts h1,.em-settings h1{font-weight:400!important}
@media(max-width:360px){.fm-pattern-month{font-size:10px}.fm-pattern-head h2{font-size:36px}.fm-focus{padding-left:19px;padding-right:19px}}
@media(prefers-reduced-motion:reduce){.fm-pattern-group,.fm-pattern-group>*,.fm-focus-progress i{transition:none!important}.fm-focus,.fm-interstitial{animation:none!important}.fm-focus-editorial{transform:none!important}}
.em-exp-period-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-7px 0 6px;color:#FFFFFF;font-size:11px;font-weight:400}
.em-exp-period-controls span{font-size:11px;text-align:center;letter-spacing:.015em}
.em-exp-period-controls button{display:grid;place-items:center;min-height:38px;min-width:40px;background:transparent;border:0;color:#FFFFFF;font-size:26px;font-weight:300}
@keyframes fmEditorialReveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.fm-pattern-stage{animation:fmEditorialReveal 650ms ease-in-out both}
@media(prefers-reduced-motion:reduce){.fm-pattern-stage{animation:none!important}}
/* Optic-white surfaces, no champagne-beige fills or glossy effects. */
.view-estimates .metric,.view-estimates .quiet-panel,.view-estimates .pm-report-entry,.view-estimates .pm-living-opener,.view-estimates .card,.view-savings .fund,.view-settings .em-backup-feature{background:#FFFFFF!important;box-shadow:none!important}
.fm-pattern-module button:focus-visible,.fm-pattern-module svg [role=button]:focus-visible{outline:2px solid var(--fm-burg);outline-offset:2px}

/* MARGINE 3.3 — typography, editorial UI, native-blue removal and user-approved flat palette. */
:root { --burg:#59192c;--paper:#FFFFFF;--white:#FFFFFF;--premium-gold:#C9B78E;--fm-burg:#59192c;--muted:#756F72;--sage:#B8BEA5; color-scheme:light; }
html,body,.app,main.page {background:#FFFFFF!important;color:#282429;}
button,input,textarea,select,a{font-family:Futura,"Futura PT","Avenir Next","Century Gothic",sans-serif;accent-color:#59192c;caret-color:#59192c;-webkit-tap-highlight-color:transparent}
a,a:visited,a:hover,a:active{color:#59192c!important;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #59192c!important;outline-offset:2px}
input,textarea,select{color:#282429;}
input[type="checkbox"],input[type="radio"]{accent-color:#59192c}
input::-webkit-date-and-time-value{text-align:left;color:#282429}
input::-webkit-calendar-picker-indicator{display:none}
html {scrollbar-color:#b7b1b3 transparent}
/* Keep the Home EXACTLY in the accepted composition; neutralize only unintended UI treatments. */
.view-home .home-hero,.view-home .approved-hero{background-color:#59192c!important;background-image:none!important}
.view-home .approved-hero .approved-stripes{background-color:#B8BEA5}
/* unified brand bordeaux, never multiple near-black panels and no glossy backgrounds */
.em-gift-banner,.em-gift-photo,.em-expenses-header,.em-gift-feature,.mx-gift-feature,.mx-unveil-sleeve,.fm-focus,.pm-present,.pm-report-feature,.fm-interstitial{background-color:#59192c!important;background-image:none!important;box-shadow:none!important}
.mx-gift-feature-feline{background-color:#59192c!important}
.em-gift-photo::before,.em-gift-photo::after,.mx-gift-feature-feline::before,.mx-gift-feature-feline::after{content:none!important}
/* expense page — light editorial layout, limited gold used as tiny line, flat only */
.view-expenses{padding-top:0!important}
.mx-expense-head{background:#FFFFFF;color:#282429;padding:16px 0 0;border-bottom:1px solid #e7e4e4}
.mx-eyebrow{color:#59192c;font-size:10px;letter-spacing:.2em;font-weight:500}
.mx-expense-title{display:flex;align-items:center;justify-content:space-between;margin-top:13px}
.mx-expense-title h1,.mx-gift-title h1{font-weight:400!important;font-size:clamp(32px,8.4vw,43px);letter-spacing:-.04em;line-height:1.12;color:#292527;margin:0}
.mx-expense-title button,.mx-gift-title button{display:grid;place-items:center;background:none;border:0;color:#59192c;width:43px;height:43px;padding:9px}
.mx-expense-title svg,.mx-gift-title svg{height:23px;width:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.mx-period{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-top:17px;max-width:510px}
.mx-period button{border:0;background:none;color:#59192c;display:grid;place-items:center;height:44px}
.mx-period span{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0}
.mx-period strong{font-size:16px;line-height:1.4;color:#59192c;font-weight:400;text-transform:capitalize}
.mx-period small{font-size:11px;font-weight:400;color:#746d70}
.mx-period-custom{display:flex;align-items:center;justify-content:center;gap:7px;background:none;border:0;color:#59192c!important;font-size:11px;font-weight:400;letter-spacing:.02em;width:100%;min-height:35px;margin-bottom:8px}
.mx-period-custom svg,.mx-section button svg,.mx-occasion-actions svg,.mx-text-link svg{width:16px;height:16px;vertical-align:middle}
.mx-tabs{display:flex;gap:23px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid #e9e6e5;margin:0;padding:2px 0 0}
.mx-tabs::-webkit-scrollbar{display:none}
.mx-tabs button{background:none;border:0;color:#71686c;font-size:12px;white-space:nowrap;font-weight:400;min-height:45px;padding:11px 0;position:relative}
.mx-tabs button.active{color:#59192c;font-weight:500}
.mx-tabs button.active::after{content:"";height:2px;position:absolute;left:0;right:0;bottom:0;background:#59192c}
.mx-spaces{padding-top:8px}
.mx-spaces .switcher{border:0;background:#FFFFFF;min-height:38px;padding:0;margin:0}
.mx-spaces .switcher button{background:none;border:0;padding:8px 12px 8px 0;font-size:11px;color:#7e7677;font-weight:400}
.mx-spaces .switcher button.on{color:#59192c;border-bottom:1px solid #59192c;font-weight:500}
.mx-expense-summary{padding:22px 0 0}
.mx-plain-label{font-size:10px;font-weight:450;letter-spacing:.17em;color:#8a7d83}
.mx-expense-total{font-size:clamp(39px,10vw,54px);line-height:1.18;margin:7px 0 16px;letter-spacing:-.045em;color:#59192c;font-weight:400;font-variant-numeric:tabular-nums}
.mx-goldrule{height:1px;width:44px;background:#C9B78E}
.mx-summary-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;border-bottom:1px solid #e8e5e6;color:#766f73;font-size:11px}
.mx-summary-bottom button,.mx-cat-heading button{display:inline-flex;gap:6px;align-items:center;color:#59192c;background:none;border:0;font-weight:400;font-size:11px;white-space:nowrap;padding:5px 0}
.mx-section{margin-top:18px;padding-bottom:40px}
.mx-cat-heading{display:flex;justify-content:space-between;align-items:center;min-height:45px;margin:10px 0 3px}
.mx-cat-heading h2,.mx-list-heading h2{font-weight:400;font-size:22px;letter-spacing:-.035em;margin:0;color:#282429}
.mx-category{display:flex;align-items:center;width:100%;border:0;border-bottom:1px solid #e8e6e5;padding:14px 0;background:#FFFFFF;color:#282429;text-align:left;gap:9px;min-height:79px;border-radius:0}
.mx-cat-index{color:#aaa0a1;font-size:10px;letter-spacing:.03em;width:18px;flex:none}
.mx-cat-icon{display:grid;place-items:center;width:30px;height:36px;flex:none;color:#59192c}
.mx-cat-icon svg{height:24px;width:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.mx-cat-middle{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13.5px;font-weight:400}
.mx-cat-middle>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-cat-middle>small{color:#938c8d;font-size:10px;font-weight:400}
.mx-seg-bars{display:flex;gap:3px;align-items:center;width:min(100%,220px);height:6px;margin-top:2px}
.mx-seg-bars i{display:block;flex:1;height:5px;background:#e7e8e1;transition:background-color 340ms ease-in-out}
.mx-seg-bars i.share{background:#b8bea5}
.mx-seg-bars i.filled{background:#59192c}
.mx-seg-bars i.nearing{background:#8f4356}
.mx-cat-amount{color:#59192c;font-size:12px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.mx-cat-arrow{display:grid;place-items:center;width:19px;color:#59192c}
.mx-cat-arrow svg{height:14px;width:14px}
.mx-bottom-actions{display:flex;margin-top:20px}
.mx-bottom-actions button,.mx-light-action{display:flex;align-items:center;gap:8px;border:0;background:none;color:#59192c;font-size:12px;padding:10px 0;font-weight:450}
.mx-bottom-actions svg{width:16px;height:16px;stroke:#59192c;fill:none;stroke-width:1.5}
.mx-empty-expenses{font-size:13px;line-height:1.65;color:#777}
.mx-empty-expenses button{border:0;border-bottom:1px solid #59192c;color:#59192c;background:none}
.mx-motion-row{display:flex;align-items:center;gap:13px;min-height:67px;border-bottom:1px solid #e8e6e5}
.mx-motion-icon{width:28px;color:#59192c}
.mx-motion-icon svg{width:23px;height:23px;stroke-width:1.5;stroke:#59192c;fill:none}
.mx-motion-row>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.mx-motion-row strong{font-size:13px;font-weight:400}
.mx-motion-row small{color:#80797a;font-size:10px}
.mx-motion-row em{font-size:12px;font-style:normal;color:#59192c}
/* Gift Edit — maintain some feline presence ONLY on uniform burgundy, never beside sage stripes. */
.mx-gifts{padding:18px 0 32px}
.mx-gift-title{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.mx-gift-sub{font-size:14px;color:#776f72;margin:7px 0 21px;font-weight:400}
.mx-gift-feature{position:relative;display:grid;grid-template-columns:58% 42%;background:#59192c!important;color:#FFFFFF;min-height:226px;overflow:hidden}
.mx-gift-feature-words{padding:24px 7px 20px 20px;z-index:1;display:flex;flex-direction:column;align-items:flex-start}
.mx-gift-feature-words>small{font-size:9px;letter-spacing:.18em;color:#FFFFFF;font-weight:400}
.mx-gift-feature-words h2{font-size:clamp(22px,6vw,30px);font-weight:400;line-height:1.22;letter-spacing:-.03em;margin:28px 0 13px;color:#FFFFFF}
.mx-gift-feature-words button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;border-bottom:1px solid #C9B78E;color:#FFFFFF;padding:0 0 8px;font-size:11px;white-space:nowrap;font-weight:400}
.mx-gift-feature-words button svg{width:15px;height:15px}
.mx-gift-feature-feline{background-image:url('./ghepardo-ambra.jpg')!important;background-repeat:no-repeat!important;background-size:auto 260px!important;background-position:51% 45%!important;min-height:226px;filter:none;}
.mx-gift-feature-feline:before,.mx-gift-feature-feline:after{display:none!important}
.mx-list-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 13px;gap:12px}
.mx-list-heading button{border:0;background:none;display:inline-flex;gap:4px;align-items:center;white-space:nowrap;color:#59192c;font-size:11px;font-weight:400}
.mx-list-heading svg{stroke:#59192c;fill:none;stroke-width:1.5;width:16px;height:16px}
.mx-occasion{border-top:1px solid #e8e4e4;padding:16px 0 17px}
.mx-occasion-main{display:flex;align-items:center;gap:12px}
.mx-occasion-icon{display:grid;place-items:center;color:#59192c;width:27px}
.mx-occasion-icon svg{width:23px;height:23px;fill:none;stroke-width:1.45;stroke:currentColor}
.mx-occasion-copy{display:flex;flex-direction:column;flex:1;gap:5px;min-width:0}
.mx-occasion-copy strong{font-weight:400;color:#282429;font-size:13px}
.mx-smallcaps,.mx-idea-tiny{letter-spacing:.12em;color:#7f7377;font-size:10px}
.mx-event-more{display:grid;place-items:center;width:35px;height:35px;border:0;background:none;color:#59192c}
.mx-occasion-idea{padding:17px 0 2px 40px}
.mx-occasion-idea>div:nth-child(2){font-size:15px;font-weight:400;color:#59192c;line-height:1.35;margin-top:6px}
.mx-occasion-idea small{display:block;color:#858084;font-size:11px;margin-top:5px}
.mx-occasion-actions{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px}
.mx-text-link{display:inline-flex;gap:5px;align-items:center;background:none;border:0;padding:5px 0;color:#59192c!important;font-size:11px;font-weight:400;text-decoration:none}
.mx-more-gifts{display:flex;gap:8px;align-items:center;background:#59192c;color:#FFFFFF;border:0;width:100%;min-height:50px;justify-content:center;margin-top:20px;font-size:12px;font-weight:400}
.mx-more-gifts svg{width:16px;height:16px}
.mx-gift-empty{font-size:13px;color:#858083;line-height:1.65}
.mx-disclaimer{font-size:11px;line-height:1.55;color:#827b7d;margin-top:18px}
.mx-gift-budget{display:flex;flex-direction:column;gap:5px;padding:15px 0 20px;border-bottom:1px solid #e5e1e2}
.mx-gift-budget span{color:#59192c;letter-spacing:.15em;font-size:10px}
.mx-gift-budget strong{font-size:27px;color:#59192c;font-weight:400;letter-spacing:-.025em}
.mx-gift-budget small{color:#81797b;font-size:11px}
.mx-gift-result{align-items:flex-start;gap:8px;flex-wrap:wrap}
.mx-gift-result>div:first-child{flex:1;min-width:140px}
.mx-gift-row-actions{display:flex;flex-wrap:wrap;gap:4px 10px}
/* Reveal of an editorial ribbon, not a primitive heavy square gift icon. */
.mx-gift-unveil{padding:16px 0 23px;border-bottom:1px solid #e7e2e3;margin-bottom:13px}
.mx-unveil-label{font-size:10px;letter-spacing:.19em;color:#59192c;text-align:center;margin-bottom:12px}
.mx-unveil-stage{background:#59192c;min-height:215px;color:#fff;overflow:hidden}
.mx-unveil-sleeve{background:#59192c;color:#fff;padding:18px;min-height:215px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.mx-unveil-heading{font-size:12px;font-weight:400;letter-spacing:.18em;z-index:1}
.mx-unveil-mark{align-self:stretch;height:115px;max-height:115px}
.mx-unveil-mark svg{display:block;width:100%;height:100%}
.mx-unveil-mark .mx-unveil-ribbon,.mx-unveil-mark .mx-unveil-bow{transform-origin:center;transition:transform 580ms ease-in-out,opacity 580ms ease-in-out}
.mx-unveil-dash{position:absolute;width:45px;height:1px;background:#C9B78E;right:20px;top:23px}
.mx-unveil-sleeve>small{font-size:10px;letter-spacing:.1em;color:#FFFFFF}
.mx-unveil-guide{font-size:11px;color:#74676d;padding:14px 0 8px;display:flex;justify-content:space-between}
.mx-unveil-guide>span{color:#59192c}
.mx-unveil-slider{background:#e8e4e1;width:100%;height:3px;touch-action:none;position:relative;margin:3px 0 15px}
.mx-unveil-slider i{position:absolute;left:0;top:0;bottom:0;width:var(--progress,0%);background:#C9B78E}
.mx-unveil-tap{border:0;border-bottom:1px solid #59192c;background:#FFFFFF;color:#59192c;font-size:12px;padding:8px 0;display:flex;align-items:center;gap:7px;margin:0 auto}
.mx-gift-unveil.is-open .mx-unveil-ribbon{transform:translateX(80px) rotate(15deg);opacity:0}
.mx-gift-unveil.is-open .mx-unveil-bow{transform:translate(0,-40px);opacity:0}
.mx-gift-unveil.is-open .mx-unveil-sleeve{opacity:.82;transition:opacity 520ms ease-in-out}
/* iOS date inputs: custom bordeaux circular date picker (no native blue popover) */
.mx-native-date-replaced{background-image:none!important;cursor:pointer!important;color:#59192c!important}
.mx-date-panel{position:absolute;z-index:130;left:0;right:0;top:0;min-height:100%;background:#FFFFFF;border-radius:14px 14px 0 0;padding:20px 15px 32px;box-sizing:border-box;box-shadow:none!important;color:#282429}
.mx-date-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#59192c;margin-bottom:17px}
.mx-date-top>span{font-size:15px;font-weight:400;text-align:center}
.mx-date-top button{width:35px;height:37px;border:0;background:none;color:#59192c;display:grid;place-items:center}
.mx-date-movers{display:flex;gap:4px}
.mx-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;align-items:center}
.mx-date-grid>span{color:#837a7b;font-size:10px;text-align:center;margin:7px 0}
.mx-date-grid button{display:grid;place-items:center;aspect-ratio:1;width:100%;max-width:44px;border-radius:50%;background:#FFFFFF;color:#282429;border:0;font-size:13px;font-weight:400;margin:auto}
.mx-date-grid button.selected{background:#59192c;color:#FFFFFF}
/* explicit assets appear over real actions and in Settings preview, no random new content */
.fm-interstitial{background:#59192c!important}
.fm-interstitial-frame{background:#59192c!important;border:0!important}
.fm-interstitial-frame img{background:#59192c!important}
/* pattern is an authored part of Stime directly after period selection, not buried after reports */
.view-estimates .fm-pattern-module{margin-top:16px!important;margin-bottom:30px!important;border-top:1px solid #e8e4e5;border-bottom:1px solid #e8e4e5;padding-top:17px;background:#FFFFFF!important}
.view-estimates .fm-pattern-head h2{font-size:clamp(24px,6vw,32px)!important;font-weight:400!important;line-height:1.19}
.fm-pattern-head button{border:0;background:none;color:#59192c!important;font-weight:400}
.fm-pattern-stage{background:#FFFFFF!important}
.fm-pattern-label,.fm-pattern-sub{font-weight:400}
@media(max-width:390px){.mx-gift-feature{min-height:215px}.mx-gift-feature-words{padding-left:16px}.mx-cat-index{width:12px}.mx-category{gap:6px}.mx-cat-middle{font-size:12px}.mx-cat-amount{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mx-seg-bars i,.mx-unveil-mark .mx-unveil-bow,.mx-unveil-mark .mx-unveil-ribbon,.mx-unveil-sleeve{animation:none!important;transition:none!important}}

/* MARGINE 3.4 — corrective visual polish, retains approved Home composition. */
:root{--paper:#FFFFFF;--white:#FFFFFF;--burg:#59192c;--burg2:#59192c;--gold:#C9B78E;--pink:#EEE1E2;--sage:#BEC2A4;--sagelight:#EFF0E8;color-scheme:light}
body,.app,.page,.bottom,.modal{background-color:#FFFFFF!important}
button,input,select,textarea{accent-color:#59192c;caret-color:#59192c}
a,button{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #59192c!important;outline-offset:3px}
.page h1:not(.approved-title),.page-title,.mx-gift-title h1,.mx-expense-head h1,.em-pagebar+h1{font-family:Futura,"Futura PT","Avenir Next","Century Gothic",Arial,sans-serif;font-weight:400!important;letter-spacing:-.02em}
.page:not(.view-home) .section-heading h2,.page:not(.view-home) h2{font-weight:400}
.page:not(.view-home) strong,.page:not(.view-home) .row-content strong{font-weight:500}
.view-home .approved-title{font-family:Futura,"Futura PT","Avenir Next","Century Gothic",Arial,sans-serif}
.view-expenses .mx-expense-head,.view-gifts .mx-gift-feature,.view-estimates .report-head{box-shadow:none!important}
.view-expenses .mx-expense-head{background:#FFFFFF!important}
.view-expenses .mx-category{background:#FFFFFF!important}
.mx-unveil-sleeve,.mx-unveil-stage{background:#59192c!important}
.mx-gift-feature-feline{background-color:#59192c!important;background-blend-mode:lighten!important}
/* Photo and solid bordeaux share a continuous backdrop, without adjoining sage stripes. */
.mx-gift-feature{background:#59192c!important}
.mx-gift-feature-feline{border-left:0!important}
.mx-unveil-mark{height:137px!important;max-height:137px!important;max-width:300px;margin:0 auto;width:100%}
.mx-unveil-mark svg{width:100%;height:100%;overflow:visible}
.mx-unveil-mark .mx-unveil-lid{transform-origin:50% 45%;transition:transform .58s ease-in-out,opacity .58s ease-in-out}
.mx-gift-unveil.is-open .mx-unveil-lid{transform:translateY(-34px) rotate(-2deg);opacity:.65}
.mx-unveil-mark .mx-unveil-ribbon{transform-origin:center;transition:transform .58s ease-in-out,opacity .58s ease-in-out}
.mx-gift-unveil.is-open .mx-unveil-ribbon{transform:translateX(70px);opacity:0}
.mx-unveil-mark .mx-unveil-bow{transform-origin:center;transition:transform .58s ease-in-out,opacity .58s ease-in-out}
.mx-gift-unveil.is-open .mx-unveil-bow{transform:translate(0,-29px) scale(.94);opacity:0}
.fm-focus,.fm-interstitial,.fm-interstitial-frame{background-color:#59192c!important}
.view-estimates .fm-pattern-module{background:#FFFFFF!important}
.fm-pattern-svg{max-width:100%;height:auto}
@media (prefers-reduced-motion:reduce){.mx-unveil-mark *,.fm-focus *,.fm-pattern-module *{animation:none!important;transition:none!important}}


/* MARGINE 3.5 — automatic gift proposals, motion embeds, and refined pattern module */
a[x-apple-data-detectors], .em-agenda-price, .em-agenda-price *, .em-agenda-row .em-agenda-price {color:var(--burg)!important;text-decoration:none!important;font-weight:400;}
.mx-calendar-gifts{margin-top:18px;padding-top:8px;border-top:1px solid #ece7e8}
.mx-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}
.mx-list-heading h2{margin:0;font-size:18px;font-weight:400;letter-spacing:-.03em;color:#282429}
.mx-list-heading button{background:none;border:0;padding:6px 0;color:#59192c;font-size:11px}
.mx-gift-auto{border:1px solid #e6e1e2;background:#fff;padding:14px 14px 12px;margin:10px 0}
.mx-gift-auto-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:9px}
.mx-gift-auto-head strong{font-size:15px;font-weight:400;color:#282429}
.mx-gift-auto-head .mx-smallcaps{font-size:9px;letter-spacing:.17em;color:#59192c}
.mx-gift-auto-body{display:grid;gap:10px}
.mx-gift-auto-body h3{margin:0;font-size:18px;font-weight:400;letter-spacing:-.02em;color:#59192c}
.mx-gift-auto-body p,.mx-gift-auto p{margin:3px 0 0;font-size:11px;line-height:1.6;color:#7b7477}
.mx-gift-auto-actions{display:flex;flex-wrap:wrap;gap:6px 14px}
.mx-gift-auto-modal{margin:12px 0 16px;padding-top:16px;border-top:1px solid #e8e3e4}
.mx-gift-auto-calendar{background:#fcfbfb}
.mx-motion-inline{margin:14px 0 16px;border-top:1px solid #ebe6e7;padding-top:14px}
.mx-motion-inline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.mx-motion-inline-head span{font-size:9px;letter-spacing:.17em;color:#59192c}
.mx-motion-inline-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;border:1px solid #e4dcdf;padding:10px;background:#fff}
.mx-motion-inline-card img{display:block;width:86px;height:86px;object-fit:contain;background:#59192c}
.mx-motion-inline-card strong{display:block;font-size:15px;font-weight:400;color:#282429;margin-bottom:4px}
.mx-motion-inline-card small{display:block;font-size:11px;line-height:1.5;color:#7f777a}
.fm-pattern-module{padding-left:0;padding-right:0}
.fm-pattern-hero{display:grid;gap:14px;align-items:start;margin-bottom:12px}
.fm-pattern-stage-wrap{border:1px solid #e7e1e2;padding:14px;background:#fff}
.fm-pattern-stage{max-width:none;margin:0}
.fm-pattern-summary{display:grid;gap:8px}
.fm-pattern-summary-title{font-size:10px;letter-spacing:.18em;color:#59192c}
.fm-summary-card{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px 0;border:0;border-bottom:1px solid #ede8e9;background:#fff;text-align:left;color:#282429}
.fm-summary-index{font-size:11px;color:#9c9497}
.fm-summary-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.fm-summary-meta small{font-size:13px;color:#282429}
.fm-summary-meta strong{font-size:18px;color:#59192c;font-weight:400;letter-spacing:-.02em}
.fm-summary-card i{display:block;width:14px;height:14px}
.fm-pattern-label{min-height:52px}
.fm-pattern-legend{margin-top:4px}
@media(min-width:420px){.fm-pattern-hero{grid-template-columns:minmax(0,1.2fr) minmax(148px,.8fr)}.mx-gift-auto-body{grid-template-columns:minmax(0,1fr) auto;align-items:end}.mx-gift-auto-actions{justify-content:flex-end}}
@media(max-width:389px){.mx-motion-inline-card{grid-template-columns:72px minmax(0,1fr);gap:10px}.mx-motion-inline-card img{width:72px;height:72px}.fm-summary-meta{display:block}.fm-summary-meta strong{display:block;margin-top:4px}}
