:root{font-family:Manrope,sans-serif;color:#222821;background:#e9e4d8;font-synthesis:none;--paper: #f7f4ed;--paper-2: #efe9dd;--ink: #222821;--muted: #78786f;--line: #d7d0c3;--green: #2f7458;--green-deep: #173e31;--red: #bb4d35;--ochre: #bd8a43;--shadow: 0 18px 45px rgba(47, 43, 34, .08)}*{box-sizing:border-box}html{min-width:320px;background:#e9e4d8}body{margin:0;min-height:100vh;background:radial-gradient(circle at 78% 8%,rgba(187,77,53,.08),transparent 24rem),linear-gradient(135deg,rgba(255,255,255,.34),transparent 48%),#e9e4d8}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}button,input,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(187,77,53,.3);outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:#1e2a22fa;color:#e9e4d8;padding:31px 23px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20;border-right:1px solid rgba(255,255,255,.05)}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:50px}.brand-mark{width:41px;height:41px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);transform:rotate(-4deg);color:#dbb16e}.brand-row strong{display:block;font-family:Fraunces,serif;font-size:23px;line-height:1;letter-spacing:.02em}.brand-row span{display:block;font-family:DM Mono,monospace;font-size:9px;color:#9aa49c;margin-top:4px;text-transform:uppercase;letter-spacing:.08em}.nav-eyebrow,.eyebrow{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.nav-eyebrow{color:#7e8c83;margin:0 12px 12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#aeb7b0;padding:11px 12px;border-radius:5px;font-size:13px;font-weight:600;transition:.2s ease}.sidebar nav a:hover{color:#fff;background:#ffffff0d;transform:translate(2px)}.sidebar nav a.active{color:#fff9e9;background:#35463a;box-shadow:inset 2px 0 #d29b52}.privacy-note{margin-top:auto;display:flex;align-items:flex-start;gap:10px;padding:16px 11px;border-top:1px solid rgba(255,255,255,.09)}.privacy-note strong,.privacy-note small{display:block}.privacy-note strong{font-size:11px}.privacy-note small{color:#89958c;font-size:9px;margin-top:3px;line-height:1.5}.status-dot{width:7px;height:7px;border-radius:50%;background:#6fb18c;box-shadow:0 0 0 4px #6fb18c1a;margin-top:3px}.mobile-menu,.sidebar-close,.nav-backdrop{display:none}.main-content{min-width:0}.page{max-width:1500px;margin:0 auto;padding:55px clamp(28px,5vw,78px) 80px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px}.page-header .eyebrow,.panel .eyebrow,.note-panel .eyebrow{color:#8b5b3d}.page-header h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(37px,4.2vw,61px);letter-spacing:-.04em;line-height:.99;margin:7px 0 12px;max-width:780px}.page-header p{color:var(--muted);max-width:610px;font-size:13px;margin:0;line-height:1.7}.header-actions{flex-shrink:0}.dashboard-controls{display:flex;align-items:center;gap:8px}.dashboard-controls>select,.filter-select{min-height:41px;border:1px solid #c9c0b3;background:#f7f4edb3;padding:0 10px;color:var(--ink);font-size:10px}.segmented{display:inline-flex;border:1px solid #c9c0b3;padding:3px;border-radius:5px;background:#f7f4ed8c}.segmented button{border:0;background:transparent;padding:9px 14px;font-size:11px;font-weight:700;border-radius:3px;cursor:pointer;color:#77766e}.segmented button.selected{background:var(--ink);color:#fff}.button{min-height:40px;border:0;padding:0 17px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:700;font-size:12px;transition:.2s ease}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #26272221}.button:disabled{opacity:.6;cursor:wait}.button.primary{background:var(--red);color:#fff}.button.dark{background:var(--ink);color:#fff}.button.secondary{background:var(--paper);color:var(--ink);border:1px solid var(--line)}.button-group{display:flex;gap:8px}.hero-metric{min-height:205px;background:var(--green-deep);color:#fff;padding:36px 42px;display:flex;align-items:flex-end;justify-content:space-between;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-metric:after{content:"";position:absolute;width:360px;height:360px;right:-80px;top:-190px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 35px #ffffff06,0 0 0 75px #ffffff05}.metric-label{font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.13em;color:#9db4a9;font-size:10px}.hero-metric>div>strong{display:block;font-family:Fraunces,serif;font-size:clamp(43px,5vw,72px);font-weight:500;letter-spacing:-.04em;line-height:1.1;margin:7px 0 10px}.hero-metric p{font-size:12px;color:#a6b8ae;margin:0}.hero-metric p b{margin-left:7px}.positive{color:#2d8060!important}.negative{color:var(--red)!important}.hero-metric .positive{color:#85d1a8!important}.hero-aside{position:relative;z-index:1;min-width:180px;padding:18px 0 0 23px;border-left:1px solid rgba(255,255,255,.15)}.hero-aside svg{color:#dbb16e;margin-bottom:10px}.hero-aside span,.hero-aside b{display:block}.hero-aside span{color:#9db4a9;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.hero-aside b{font:500 30px Fraunces,serif;margin-top:4px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border:1px solid var(--line);border-top:0}.metric-card{padding:23px 25px 21px;min-width:0;border-right:1px solid var(--line)}.metric-card:last-child{border-right:0}.metric-card>span,.metric-card>strong,.metric-card>small{display:block}.metric-card>span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.metric-card>strong{font:500 24px Fraunces,serif;margin:4px 0 6px;overflow:hidden;text-overflow:ellipsis}.metric-card>small{color:#939087;font-size:10px}.metric-card a{color:var(--red)}.metric-icon{float:right;width:30px;height:30px;display:grid;place-items:center;border-radius:50%}.metric-icon svg{width:15px}.positive-bg{color:var(--green);background:#dfebe4}.negative-bg{color:var(--red);background:#f2dfda}.neutral-bg{color:#6d6659;background:#e8e2d6}.accent-bg{color:#95652f;background:#f0e1c7}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:25px}.panel{background:#f7f4edde;border:1px solid var(--line);padding:25px;box-shadow:0 8px 26px #3f382c0a}.panel.wide{grid-column:1 / -1;grid-row:auto}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:9px}.panel-heading h2,.note-panel h2,.section-title h2{font:500 21px Fraunces,serif;margin:5px 0 0}.legend{font:10px DM Mono,monospace;color:var(--muted)}.legend i{width:7px;height:7px;border-radius:50%;display:inline-block;margin:0 3px 0 8px}.legend .green{background:var(--green)}.legend .red{background:var(--red)}.category-legend>div,.projection-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border-top:1px solid #e3ddd2;padding:9px 0;font-size:11px}.category-legend i{width:7px;height:7px;border-radius:50%}.category-legend b,.projection-list b{font-size:11px}.projection-list>div{grid-template-columns:1fr auto;padding:14px 0}.invoice-strip{margin-top:16px;display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(130px,1fr));background:var(--green-deep);color:#fff}.invoice-strip>div,.invoice-strip article{padding:20px;border-right:1px solid rgba(255,255,255,.12)}.invoice-strip h2{font:500 19px Fraunces,serif;margin:5px 0 0}.invoice-strip .eyebrow{color:#d6a962}.invoice-strip article span,.invoice-strip article b,.invoice-strip article small{display:block}.invoice-strip article span{color:#aebeb5;font-size:9px}.invoice-strip article b{font:500 18px Fraunces,serif;margin:7px 0 3px}.invoice-strip article small{color:#92a79b;font-size:8px}.budget-snapshot>div{padding:15px 0;border-top:1px solid var(--line)}.budget-snapshot header,.budget-snapshot footer{display:flex;justify-content:space-between;gap:10px}.budget-snapshot header span{font:500 14px Fraunces,serif}.budget-snapshot header b{font-size:10px}.budget-snapshot i{display:block;height:6px;background:#e3ddd2;margin:10px 0 7px;overflow:hidden}.budget-snapshot i span{display:block;height:100%;background:var(--ochre)}.budget-snapshot footer small{color:var(--muted);font-size:8px}.muted{color:var(--muted);font-size:12px;line-height:1.7}.toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:9px;margin-bottom:17px}.transaction-filter-panel{margin-bottom:17px;padding:12px;background:#f7f4eda6;border:1px solid var(--line)}.transaction-filter-panel .toolbar{margin:0}.transaction-filter-panel .filter-primary{padding-bottom:11px;border-bottom:1px solid var(--line)}.transaction-filter-panel .filter-secondary{padding-top:11px}.filter-primary .search-box{min-width:280px}.filter-secondary .date-filter{flex:1 1 260px}.filter-secondary .filter-select{flex:1 1 150px}.clear-filter{color:#76533d;background:#eee8dc}.search-box{flex:1;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 14px;min-height:43px}.search-box svg{color:#89867d}.search-box input{background:transparent;border:0;outline:0;width:100%;font-size:12px}.filter-button{border:1px solid var(--line);background:#f7f4edb3;padding:0 15px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;cursor:pointer}.date-filter{display:flex;align-items:center;gap:7px;background:#f7f4edb3;border:1px solid var(--line);padding:4px 9px}.date-filter label{display:flex;align-items:center;gap:5px}.date-filter label span{font:8px DM Mono,monospace;text-transform:uppercase;color:var(--muted)}.date-filter input{border:0;background:transparent;color:var(--ink);font:10px DM Mono,monospace;min-width:105px;outline:0}.date-filter>i{color:#aaa398;font-style:normal}.filter-button.active{background:#f0dfd7;color:#98422e;border-color:#d8ad9e}.active-filter-summary{display:flex;align-items:center;gap:7px;margin:-7px 0 14px;color:#6b5545;font-size:10px}.active-filter-summary svg{color:var(--red)}.active-filter-summary b{color:var(--ink)}.table-card{background:var(--paper);border:1px solid var(--line);overflow:hidden}.transaction-table{overflow-x:auto}.transaction-row{width:100%;min-width:880px;display:grid;grid-template-columns:30px 62px minmax(240px,1.5fr) minmax(170px,1fr) minmax(130px,.8fr) 105px;gap:15px;align-items:center;border:0;border-bottom:1px solid #e4ded4;background:transparent;padding:13px 17px;text-align:left;font-size:11px}button.transaction-row{cursor:pointer;transition:background .18s}button.transaction-row:hover{background:#f1ece2}.transaction-row.table-head{color:#88857c;text-transform:uppercase;font:9px DM Mono,monospace;letter-spacing:.07em;padding-top:11px;padding-bottom:10px;background:#efeadf}.transaction-row input[type=checkbox]{accent-color:var(--red);width:15px;height:15px}.description-cell b,.description-cell small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description-cell b{font-size:12px}.description-cell small{color:#939087;margin-top:3px;font-size:9px}.date-cell{font:10px DM Mono,monospace;text-transform:uppercase}.account-cell{color:var(--muted)}.category-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9d2c7;padding:5px 7px;border-radius:2px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-pill i{width:6px;height:6px;border-radius:50%;flex:0 0 auto}.category-pill.pending{color:#9b553c;border-style:dashed;background:#f5e7e0}.pagination{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.pagination div{display:flex;gap:9px;align-items:center}.pagination button{width:28px;height:28px;border:1px solid var(--line);background:transparent;cursor:pointer}.pagination svg{width:15px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:17px}.credit-card-visual{aspect-ratio:1.6;padding:25px;color:#f6f0e5;background:#203d33;position:relative;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.credit-card-visual:before{content:"";width:250px;height:250px;position:absolute;right:-90px;top:-130px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 25px #ffffff06,0 0 0 55px #ffffff05}.credit-card-visual.tone-1{background:#673d34}.credit-card-visual.tone-2{background:#344554}.credit-card-visual header,.card-dates{display:flex;justify-content:space-between;position:relative}.credit-card-visual header span{text-transform:uppercase;font:10px DM Mono,monospace;letter-spacing:.12em}.credit-card-visual>div small,.credit-card-visual>div strong{display:block}.credit-card-visual>div small{color:#ffffffa6;font-size:10px}.credit-card-visual>div strong{font:500 29px Fraunces,serif;margin-top:4px}.credit-card-visual footer>div:first-child{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;color:#ffffffb3}.credit-card-visual footer b{color:#fff}.limit-track{height:4px;background:#ffffff29;margin:8px 0 15px}.limit-track i{display:block;height:100%;background:#d7a75c}.card-dates{font-size:9px;color:#ffffffb3}.card-dates span{display:flex;align-items:center;gap:5px}.note-panel{border-left:3px solid var(--red);margin-top:27px;padding:25px 29px;background:#f7f4eda6;max-width:850px}.note-panel p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.75}.note-panel code{font-family:DM Mono,monospace;background:#e3ddd0;padding:2px 5px}.card-control-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(480px,1.35fr);gap:17px;margin-top:20px;align-items:start}.people-panel form{display:flex;gap:8px}.people-panel form input{flex:1;min-width:0;border:1px solid var(--line);background:#fbf9f4;padding:0 11px}.people-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.people-list>span{display:flex;align-items:center;gap:7px;padding:7px 8px 7px 11px;background:#e9e3d8;font-size:10px}.people-list button{border:0;background:transparent;width:18px;height:18px;padding:2px;cursor:pointer}.people-list svg{width:12px}.bill-filter{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:4px 0 14px;padding:10px 0;border-top:1px solid var(--line)}.bill-filter label{color:var(--muted);font:8px DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.bill-filter select{min-width:220px;min-height:38px;border:1px solid var(--line);background:#fbf9f4;padding:0 32px 0 11px;color:var(--ink);font:10px Manrope,sans-serif}.bill-list>button{width:100%;display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.bill-list>button:hover{color:var(--red)}.bill-list i{padding:5px 6px;background:#ece2cd;color:#76592e;font:8px DM Mono,monospace;font-style:normal;text-align:center;text-transform:uppercase}.bill-list i.paid{background:#dce9e0;color:var(--green)}.bill-list i.overdue{background:#f1ddd7;color:var(--red)}.bill-list span b,.bill-list span small{display:block}.bill-list span b{font-size:11px}.bill-list span small{color:var(--muted);font-size:9px;margin-top:3px}.bill-list strong{font-size:11px}.bill-list svg{width:15px}.bill-state-badges{display:grid;gap:4px;align-content:center}.bill-list i.projected{color:#365a50;background:#dce8e2;border:1px dashed #91aa9e}.modal-card:has(.bill-detail){width:min(980px,100%)}.bill-detail{display:grid;gap:20px}.bill-totals{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.bill-totals>span{padding:14px;border-right:1px solid var(--line)}.bill-totals>span:last-child{border:0}.bill-totals small,.bill-totals b{display:block}.bill-totals small{color:var(--muted);font-size:8px;text-transform:uppercase}.bill-totals b{font:500 18px Fraunces,serif;margin-top:4px}.bill-totals.bill-totals-projection{grid-template-columns:repeat(5,minmax(0,1fr))}.person-summary>div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.person-summary span b,.person-summary span small{display:block}.person-summary span b{font-size:10px}.person-summary span small{color:var(--muted);font-size:8px;margin-top:2px}.person-summary strong{font-size:11px}.bill-purchases>article{border-top:1px solid var(--line)}.purchase-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:13px 0}.purchase-main span b,.purchase-main span small,.purchase-main span em{display:block}.purchase-main span b{font-size:11px}.purchase-main span small{color:var(--muted);font-size:8px;margin-top:3px}.purchase-main span em{color:#6c775f;font-size:8px;font-style:normal;margin-top:4px}.purchase-main>strong{font-size:11px}.projected-purchases{padding:17px;border:1px solid #cbd8d1;background:#e2ebe58f}.projection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:8px}.projection-heading h3{margin:4px 0 0;font:500 18px Fraunces,serif}.projection-heading>span{color:#45685d;font:8px DM Mono,monospace;text-transform:uppercase}.projection-note{margin:0 0 11px;color:var(--muted);font-size:9px;line-height:1.55}.projected-purchase-row{border-top:1px solid rgba(85,112,100,.2)}.projected-purchase{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;padding:11px 0}.projected-purchase span b,.projected-purchase span small,.projected-purchase span em{display:block}.projected-purchase span b{font-size:10px}.projected-purchase span small{margin-top:3px;color:var(--muted);font-size:8px}.projected-purchase span em{margin-top:4px;color:#547064;font-size:8px;font-style:normal}.projected-purchase>i{padding:5px 7px;color:#365a50;background:#dce8e2;border:1px dashed #91aa9e;font:8px DM Mono,monospace;font-style:normal;text-transform:uppercase}.projected-purchase>strong{font-size:10px;white-space:nowrap}.projected-split-editor{margin:0 0 12px;border-left-color:#547064}.projection-inheritance-note{margin:11px 0 0;padding:10px 11px;border:1px solid #cbd8d1;background:#ffffff73;color:#49665b;font-size:9px;line-height:1.55}.split-editor{background:#eee9df;margin:0 -10px 12px;padding:15px;border-left:3px solid var(--ochre)}.split-editor .segmented{width:fit-content;margin-bottom:11px}.split-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.split-people label{min-height:38px;display:grid;grid-template-columns:auto 1fr 105px;gap:8px;align-items:center;padding:7px 9px;background:var(--paper);font-size:10px}.split-people input[type=checkbox]{accent-color:var(--green)}.split-people input[inputmode=decimal]{width:100%;border:1px solid var(--line);padding:7px;background:#fff}.split-people b{font-size:9px;text-align:right}.split-balance{padding:8px 10px;font-size:9px;margin:10px 0}.split-balance.ok{background:#dce9e0;color:var(--green)}.split-balance.error{background:#f1ddd7;color:var(--red)}.split-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:11px}.split-actions .text-button{margin-right:auto}.category-board{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.category-item{background:#f7f4edcc;border:1px solid var(--line)}.category-main{border:0;background:transparent;padding:17px 18px;width:100%;display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:13px;text-align:left;cursor:pointer}.category-main>i{width:9px;height:35px}.category-main strong,.category-main span{display:block}.category-main strong{font:500 18px Fraunces,serif}.category-main span{color:var(--muted);font-size:9px;margin-top:3px}.category-main svg{width:17px;transition:transform .2s}.category-main svg.rotate{transform:rotate(90deg)}.subcategory-list{padding:0 18px 17px 42px;display:flex;flex-wrap:wrap;gap:7px}.subcategory-list>span{font-size:10px;background:#ebe5da;padding:6px 9px}.add-subcategory{display:flex;height:29px}.add-subcategory input{width:160px;border:1px dashed #bdb5a9;padding:0 8px;background:transparent;font-size:10px}.add-subcategory button{border:0;background:var(--ink);color:#fff;width:29px;cursor:pointer}.add-subcategory svg{width:14px}.text-button{border:0;background:transparent;display:flex;align-items:center;gap:5px;font-size:9px;cursor:pointer}.text-button.danger{color:#a54a36}.inline-editor{background:var(--paper);border:1px solid var(--line);padding:17px;margin-bottom:17px;display:grid;grid-template-columns:1fr 180px 1fr auto;gap:13px;align-items:end}.inline-editor label,.form-stack label{display:grid;gap:6px;color:var(--muted);text-transform:uppercase;font:9px DM Mono,monospace;letter-spacing:.07em}.inline-editor input,.inline-editor select,.form-stack input,.form-stack select{min-height:40px;border:1px solid var(--line);background:#fbf9f4;padding:0 11px;color:var(--ink);outline:0;text-transform:none;font-family:Manrope,sans-serif}.color-options{display:flex;gap:8px;min-height:40px;align-items:center}.color-options button{border:3px solid var(--paper);box-shadow:0 0 0 1px transparent;width:20px;height:20px;border-radius:50%;cursor:pointer}.color-options button.chosen{box-shadow:0 0 0 1px var(--ink)}.connections-list{display:grid;gap:9px}.connections-list article{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:17px 19px;background:var(--paper);border:1px solid var(--line)}.institution-mark{width:43px;height:43px;display:grid;place-items:center;color:#fff;background:var(--green-deep);font:500 14px DM Mono,monospace}.connection-copy h3{font:500 17px Fraunces,serif;margin:0 0 4px}.connection-copy p{margin:0;font-size:10px;color:var(--muted)}.connection-status{display:flex;align-items:center;gap:5px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--green);background:#e0ece4;padding:7px 9px}.connection-status.failed{color:var(--red);background:#f2dfd9}.connection-actions{display:grid;justify-items:end;gap:8px}.connection-actions .text-button{color:#76533d}.history-import{display:grid;grid-template-columns:minmax(220px,1fr) 155px 155px auto auto;gap:12px;align-items:end;margin-bottom:17px;padding:20px;border:1px solid var(--line);border-top:3px solid var(--ochre);background:var(--paper)}.history-import h2{font:500 20px Fraunces,serif;margin:4px 0}.history-import p{color:var(--muted);font-size:9px;margin:0}.history-import label{display:grid;gap:6px;color:var(--muted);text-transform:uppercase;font:8px DM Mono,monospace}.history-import input{min-height:40px;border:1px solid var(--line);background:#fbf9f4;padding:0 9px;color:var(--ink)}.history-import>small{grid-column:1 / -1;color:var(--muted);font-size:9px}.notice.success{background:#dfeae2;color:#285842;border:1px solid #b8d0bf}.security-banner{margin-top:22px;display:flex;gap:14px;padding:21px;border:1px dashed #a9ada1;background:#ebefe480}.security-banner>svg{color:var(--green);flex:0 0 auto}.security-banner strong{font:500 16px Fraunces,serif}.security-banner p{color:var(--muted);font-size:10px;margin:5px 0 0}.notice{margin-bottom:15px;padding:12px 15px;font-size:11px}.notice.error{background:#f1ddd6;color:#8d3c2a;border:1px solid #ddb4a8}.notice.warning{margin-top:15px;background:#f3e6cd;color:#755324;border:1px solid #d8bd8f}.planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.planning-grid>article{height:100%}.planning-chart{grid-column:span 2}.planning-chart .panel-heading>strong{font:500 19px Fraunces,serif}.action-panel{display:flex;flex-direction:column}.action-panel>button{border:0;border-top:1px solid var(--line);background:transparent;display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:14px 0;align-items:center;text-align:left;cursor:pointer}.action-panel>button:hover{color:var(--red)}.action-panel>button svg{width:17px}.action-panel>button span b,.action-panel>button span small{display:block}.action-panel>button span b{font-size:11px}.action-panel>button span small{color:var(--muted);font-size:9px;margin-top:3px}.planning-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;align-items:stretch}.planning-lists>article{background:#f7f4edcc;border:1px solid var(--line);padding:21px;min-height:240px;height:100%}.section-title{display:flex;justify-content:space-between;align-items:center;min-height:62px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.section-title>div{min-width:0}.section-title .eyebrow{display:block;margin-bottom:4px;white-space:nowrap}.section-title h2{margin:0;line-height:1.05}.section-title>span{background:#e5ded2;min-width:25px;height:25px;display:grid;place-items:center;font:10px DM Mono,monospace;border-radius:50%}.plan-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border-top:1px solid var(--line);padding:11px 0}.plan-icon{width:28px;height:28px;display:grid;place-items:center;background:#e5e5db;color:var(--green)}.plan-icon svg{width:14px}.plan-row span,.plan-row small{display:block}.plan-row span{font-size:10px}.plan-row small{color:var(--muted);font-size:8px;margin-top:2px}.plan-row b{font-size:10px}.inline-confirm{border:0;padding:0;background:transparent;color:var(--red);font-size:8px;text-decoration:underline;cursor:pointer}.recurrence-editor{max-height:440px;overflow-y:auto}.recurrence-editor .section-title{position:sticky;top:-21px;z-index:2;background:var(--paper);padding:12px 0 10px}.recurrence-editor .section-title>div .eyebrow{color:#8b5b3d}.recurrence-editor .section-title>div h2{margin-top:3px}.small-add{border:0;background:var(--ink);color:#fff;padding:7px 9px;display:flex;align-items:center;gap:4px;font-size:8px;text-transform:uppercase;cursor:pointer}.small-add svg{width:12px}.recurrence-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.recurrence-row .plan-icon.expense{color:var(--red);background:#f1ddd7}.recurrence-row .plan-icon.income{color:var(--green);background:#dce9e0}.edit-recurrence,.remove-recurrence{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;cursor:pointer}.edit-recurrence:hover{color:var(--red);border-color:#c89283}.edit-recurrence svg,.remove-recurrence svg{width:13px}.remove-recurrence{color:#94604f}.remove-recurrence:hover{color:#9e3523;border-color:#c89283;background:#f4e4de}.compact-empty{border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:10px}.goal-row{border-top:1px solid var(--line);padding:11px 0}.goal-row>div{display:flex;justify-content:space-between}.goal-row span b,.goal-row span small{display:block}.goal-row span b{font-size:10px}.goal-row span small,.goal-row>small{font-size:8px;color:var(--muted)}.goal-row>i{display:block;height:4px;background:#ded8cc;margin:8px 0 5px}.goal-row>i>span{display:block;height:100%}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.settings-grid article{background:var(--paper);border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.settings-grid article>svg{color:var(--green);width:20px}.settings-grid span,.settings-grid strong,.settings-grid small{display:block}.settings-grid span{font:9px DM Mono,monospace;color:var(--muted);text-transform:uppercase}.settings-grid strong{font:500 16px Fraunces,serif;margin:4px 0}.settings-grid small{color:var(--muted);font-size:9px}.tag-ok,.tag-warn{font-size:8px;text-transform:uppercase;padding:5px 7px;background:#e0ece4;color:var(--green)}.tag-warn{background:#f3e6cd;color:#8d642d}.modal-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;border:0;background:#141b16ab;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--paper);border-top:4px solid var(--red);padding:28px;box-shadow:0 30px 80px #00000040;animation:modal-in .22s ease-out}.modal-card>header{display:flex;justify-content:space-between;margin-bottom:22px}.modal-card h2{font:500 25px Fraunces,serif;margin:5px 0 0}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;cursor:pointer}.icon-button svg{width:17px}.form-stack{display:grid;gap:15px}.form-stack .check-row{display:flex;flex-direction:row;align-items:flex-start;gap:9px;text-transform:none;letter-spacing:0;font-family:Manrope,sans-serif}.check-row input{min-height:auto;margin-top:2px;accent-color:var(--red)}.check-row span b,.check-row span small{display:block}.check-row span b{color:var(--ink);font-size:11px}.check-row span small{color:var(--muted);font-size:9px;margin-top:2px}.form-error{color:var(--red);font-size:10px}.classification-note{background:#e2ebe4;border-left:3px solid var(--green);color:#315845;padding:10px 12px;font-size:10px;line-height:1.55}.state-card,.empty-state{min-height:230px;background:#f7f4eda6;border:1px dashed #c6beb2;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;color:var(--muted)}.state-card svg{color:var(--red)}.state-card p,.empty-state p{margin:10px 0 0;font-size:11px;max-width:360px;line-height:1.6}.empty-state>span{font:500 32px Fraunces,serif;color:var(--red)}.empty-state h3{font:500 22px Fraunces,serif;color:var(--ink);margin:5px 0 0}.state-card.error{color:var(--red)}.spin{animation:spin 1s linear infinite}.reveal{animation:reveal .55s cubic-bezier(.2,.8,.2,1) both}.delay-1{animation-delay:.06s}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-card:nth-child(2){border-right:0}.metric-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.cards-grid{grid-template-columns:repeat(2,1fr)}.planning-lists,.inline-editor,.history-import{grid-template-columns:1fr 1fr}.history-import>div{grid-column:1 / -1}}@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;left:0;transform:translate(-100%);transition:transform .25s;width:250px}.sidebar.is-open{transform:translate(0)}.sidebar-close{display:grid;place-items:center;border:0;background:transparent;color:#fff;margin-left:auto}.mobile-menu{display:grid;place-items:center;position:fixed;z-index:15;right:17px;top:17px;width:42px;height:42px;border:0;color:#fff;background:var(--green-deep);box-shadow:var(--shadow)}.nav-backdrop{display:block;position:fixed;inset:0;z-index:19;border:0;background:#141b1673}.page{padding:35px 19px 60px}.page-header{padding-right:45px;align-items:flex-start;flex-direction:column}.page-header h1{font-size:41px}.dashboard-grid,.planning-grid{grid-template-columns:1fr}.planning-chart{grid-column:auto}.panel.wide{grid-row:auto}.cards-grid,.category-board,.settings-grid,.planning-lists{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.search-box{flex-basis:100%}.date-filter{flex:1 1 100%;justify-content:space-between;overflow-x:auto}.hero-metric{padding:30px}}@media(max-width:680px){.header-actions:has(.dashboard-controls){width:100%}.dashboard-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px;width:100%}.dashboard-controls>select{width:100%;min-width:0;min-height:46px;padding-inline:13px 38px}.dashboard-controls .segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.dashboard-controls .segmented button{width:100%;min-height:39px;padding-inline:8px}.invoice-strip{grid-template-columns:1fr 1fr}.invoice-strip>div{grid-column:1 / -1}}@media(max-width:530px){.page-header{margin-bottom:27px}.header-actions{width:100%}.button-group{display:grid}.button-group .button{width:100%}.hero-metric{min-height:250px;flex-direction:column;align-items:flex-start;justify-content:flex-end}.hero-aside{border:0;border-top:1px solid rgba(255,255,255,.14);margin-top:20px;padding:14px 0 0;width:100%}.metric-grid{grid-template-columns:1fr}.metric-card{border-right:0;border-bottom:1px solid var(--line)}.credit-card-visual{aspect-ratio:1.45}.inline-editor,.history-import{grid-template-columns:1fr}.connections-list article{grid-template-columns:auto 1fr}.connection-actions{grid-column:2;justify-items:start}.settings-grid article{grid-template-columns:auto 1fr}.settings-grid article>b{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.version-history{border-top:1px solid var(--line);padding-top:14px}.version-history>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #e6dfd4}.version-history b,.version-history small{display:block}.version-history b{font-size:11px}.version-history small{color:var(--muted);font-size:8px;margin-top:2px}.version-history button{border:0;background:transparent;color:var(--red);text-decoration:underline;font-size:9px;cursor:pointer}.analysis-filters{display:grid;grid-template-columns:125px 125px minmax(140px,1fr) minmax(140px,1fr) auto auto;gap:9px;align-items:end;padding:16px;margin-bottom:17px;overflow:hidden;background:#f7f4edd1;border:1px solid var(--line)}.analysis-filters>*{min-width:0}.analysis-filters label{display:grid;gap:6px;color:var(--muted);text-transform:uppercase;font:8px DM Mono,monospace;letter-spacing:.06em}.analysis-filters input,.analysis-filters select{width:100%;min-height:40px;border:1px solid var(--line);background:#fbf9f4;padding:0 10px;color:var(--ink);font:10px Manrope,sans-serif}.analysis-clear{white-space:nowrap;padding-inline:12px}.analysis-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--paper);margin-bottom:16px}.analysis-metrics article{padding:21px 23px;border-right:1px solid var(--line);min-width:0}.analysis-metrics article:last-child{border:0}.analysis-metrics svg{width:18px;margin-bottom:12px;color:#766f64}.analysis-metrics span,.analysis-metrics strong,.analysis-metrics small{display:block}.analysis-metrics span{color:var(--muted);text-transform:uppercase;font:8px DM Mono,monospace}.analysis-metrics strong{font:500 24px Fraunces,serif;margin-top:5px}.analysis-metrics small{color:var(--muted);font-size:8px;margin-top:5px}.analysis-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:16px}.analysis-flow,.analysis-merchants{min-width:0}.analysis-ranking>div{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.analysis-ranking em{color:#a18f79;font:9px DM Mono,monospace;font-style:normal}.analysis-ranking span b,.analysis-ranking span small{display:block}.analysis-ranking span b{font-size:10px}.analysis-ranking span small{color:var(--muted);font-size:8px;margin-top:2px}.analysis-ranking strong{font-size:10px}.analysis-tables{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.rank-count{color:var(--muted);font:8px DM Mono,monospace;text-transform:uppercase}.ranked-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.ranked-row em{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#ebe4d8;color:#806e59;font:8px DM Mono,monospace;font-style:normal}.ranked-row span{min-width:0}.ranked-row span b,.ranked-row span small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranked-row span b{font-size:10px}.ranked-row span small{color:var(--muted);font-size:8px;margin-top:3px}.ranked-row strong{font-size:10px}.distribution-legend{border-top:1px solid var(--line);padding-top:5px}.distribution-legend>div{display:grid;grid-template-columns:8px minmax(0,1fr) 38px auto;gap:7px;align-items:center;padding:6px 0;font-size:9px}.distribution-legend i{width:7px;height:7px;border-radius:50%}.distribution-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.distribution-legend small{color:var(--muted);text-align:right}.distribution-legend b{font-size:9px;min-width:62px;text-align:right}.chart-tooltip{max-width:360px;white-space:normal}.chart-tooltip strong,.chart-tooltip span,.chart-tooltip b{display:block}.chart-tooltip strong{line-height:1.4;margin-bottom:6px}.chart-tooltip span{color:#777;font-size:10px}.chart-tooltip b{color:#8f4a34;margin-top:5px}@media(max-width:1100px){.analysis-filters{grid-template-columns:repeat(2,1fr)}.analysis-filters .segmented{justify-self:start}.analysis-metrics{grid-template-columns:repeat(2,1fr)}.analysis-metrics article:nth-child(2){border-right:0}.analysis-metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.analysis-grid{grid-template-columns:1fr}}.editable-plan-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.goal-row-controls{display:flex;align-items:center;gap:6px}.goal-row-controls .edit-recurrence,.goal-row-controls .remove-recurrence{width:25px;height:25px}.assistant-page{height:100vh;max-height:100vh;padding-top:28px;padding-bottom:24px;display:flex;flex-direction:column;overflow:hidden}.assistant-page .page-header{flex:0 0 auto;margin-bottom:20px}.assistant-page .page-header h1{font-size:clamp(36px,3.6vw,51px);margin-bottom:8px}.assistant-page .page-header p{line-height:1.45}.assistant-shell{min-height:0;flex:1 1 auto;display:grid;grid-template-columns:225px minmax(0,1fr);border:1px solid var(--line);background:var(--paper);overflow:hidden}.conversation-rail{padding:15px;border-right:1px solid var(--line);background:#ece7dc;overflow-y:auto}.new-chat{width:100%;justify-content:center}.new-chat svg{width:15px}.conversation-list{display:grid;gap:5px;margin-top:13px}.conversation-list>button{display:grid;grid-template-columns:minmax(0,1fr) 22px 22px;gap:4px;align-items:center;border:1px solid transparent;background:transparent;padding:9px 7px 9px 10px;color:var(--ink);text-align:left;cursor:pointer}.conversation-list>button.active{background:var(--paper);border-color:var(--line)}.conversation-list>button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.conversation-list i{width:21px;height:21px;display:grid;place-items:center;color:var(--muted)}.conversation-list i:hover{color:var(--red)}.conversation-list svg{width:12px}.chat-panel{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;background:linear-gradient(135deg,#faf8f2f5,#f4f0e7db)}.chat-scroll{min-height:0;overflow-y:auto;padding:20px clamp(18px,4vw,56px)}.chat-message{max-width:820px;display:flex;gap:10px;margin:0 auto 18px}.chat-message>svg{width:25px;height:25px;flex:0 0 auto;padding:5px;background:var(--green-deep);color:#fff}.chat-message>div{min-width:0;font-size:12px;line-height:1.75}.chat-message.user{justify-content:flex-end}.chat-message.user>div{max-width:75%;background:#e3ddd1;padding:11px 14px;border-radius:10px 10px 2px}.chat-message p{margin:0 0 8px}.chat-message p:last-child{margin-bottom:0}.chat-message ul,.chat-message ol{padding-left:20px}.chat-message code{font-family:DM Mono,monospace;background:#e9e3d8;padding:2px 4px}.chat-message pre{overflow-x:auto;background:#e9e3d8;padding:12px}.chat-welcome{max-width:710px;margin:clamp(16px,4vh,42px) auto 20px;text-align:center}.chat-welcome>svg{width:40px;height:40px;padding:9px;color:#fff;background:var(--green-deep);margin-bottom:8px}.chat-welcome h2{font-size:26px;margin:5px 0}.chat-welcome>p{color:var(--muted);font-size:11px}.chat-welcome>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.chat-welcome button{border:1px solid var(--line);background:#ffffff80;padding:10px 12px;color:var(--ink);font-size:10px;text-align:left;cursor:pointer}.chat-welcome button:hover{border-color:var(--ochre)}.chat-error{margin:0 25px 8px;padding:9px 12px;color:var(--red);background:#f1ddd7;font-size:10px}.chat-composer{width:calc(100% - 40px);max-width:850px;margin:0 auto 14px;display:grid;grid-template-columns:minmax(0,1fr) 43px;align-items:end;border:1px solid #cfc6b8;background:#fff;box-shadow:0 8px 24px #332b2114}.chat-composer textarea{resize:none;min-height:49px;max-height:130px;border:0;outline:0;padding:12px 13px;color:var(--ink);background:transparent;font:11px Manrope,sans-serif}.chat-composer>button{width:34px;height:34px;margin:0 7px 7px 0;display:grid;place-items:center;border:0;background:var(--green-deep);color:#fff;cursor:pointer}.chat-composer>button:disabled{opacity:.4;cursor:default}.chat-composer>button.stop-chat{background:var(--red)}.chat-composer svg{width:15px}.chat-welcome>svg{display:block;margin:0 auto 10px}.chat-welcome>.eyebrow{display:block;line-height:1;margin:0 0 10px}.chart-tooltip{min-width:225px;font:11px Manrope,sans-serif;color:var(--ink)}.chart-tooltip-title,.chart-tooltip-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.chart-tooltip-title{grid-template-columns:8px minmax(0,1fr) auto;font-size:12px}.chart-tooltip-title i{width:8px;height:8px;border-radius:50%}.chart-tooltip-title b{font-size:12px}.chart-tooltip-divider{height:1px;background:var(--line);margin:9px 0 6px}.chart-tooltip-row{padding:3px 0;color:var(--muted)}.chart-tooltip-row b{color:var(--ink);font-size:10px}.conversation-rail-heading{display:flex;align-items:center;justify-content:space-between;margin:1px 2px 11px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.conversation-rail-heading small{min-width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#ddd6ca;font-size:9px}.conversation-search{height:35px;display:flex;align-items:center;gap:7px;margin-top:11px;padding:0 9px;border:1px solid #d2cabd;background:#ffffff70}.conversation-search svg{width:13px;color:var(--muted)}.conversation-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:10px;color:var(--ink)}.conversation-list{align-content:start}.conversation-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid transparent;transition:background .18s,border-color .18s}.conversation-item:hover{background:#f7f4ed8c}.conversation-item.active{background:var(--paper);border-color:var(--line);box-shadow:inset 2px 0 var(--ochre)}.conversation-select{min-width:0;border:0;background:transparent;padding:9px 4px 9px 11px;text-align:left;cursor:pointer}.conversation-select span,.conversation-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-select span{font-size:10px;font-weight:650}.conversation-select small{margin-top:3px;color:var(--muted);font-size:8px;text-transform:lowercase}.conversation-actions{display:flex;padding-right:5px;opacity:0;transition:opacity .18s}.conversation-item:hover .conversation-actions,.conversation-item.active .conversation-actions,.conversation-actions:focus-within{opacity:1}.conversation-actions button{width:24px;height:27px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer}.conversation-actions button:hover{color:var(--red)}.conversation-actions svg{width:12px}.conversation-empty{padding:14px 8px;color:var(--muted);font-size:9px;line-height:1.5}.chat-panel{grid-template-rows:auto minmax(0,1fr) auto auto}.chat-toolbar{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 18px;border-bottom:1px solid var(--line);background:#f7f4edbf}.chat-toolbar span,.chat-toolbar strong{display:block}.chat-toolbar span{color:var(--muted);font:8px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.chat-toolbar strong{max-width:min(55vw,600px);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.chat-toolbar button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.chat-toolbar button:hover{color:var(--ink)}.chat-toolbar svg{width:12px}.chat-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-error>div{display:flex;gap:8px;flex:0 0 auto}.chat-error button{border:0;background:transparent;color:var(--red);font-size:9px;font-weight:700;cursor:pointer}.chat-message h1,.chat-message h2,.chat-message h3{font-family:Fraunces,serif;font-weight:550;line-height:1.2;margin:18px 0 8px}.chat-message h1{font-size:21px}.chat-message h2{font-size:18px}.chat-message h3{font-size:15px}.chat-message strong{color:#172d24}.chat-message table{width:100%;margin:12px 0 17px;border-collapse:collapse;font-size:10px}.chat-message th{color:var(--muted);font:8px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase;text-align:left;background:#eee8dc}.chat-message th,.chat-message td{padding:8px 10px;border:1px solid var(--line)}.chat-message td:not(:first-child),.chat-message th:not(:first-child){text-align:right}.chat-message blockquote{margin:12px 0;padding:10px 13px;border-left:3px solid var(--ochre);background:#f0eadf;color:var(--muted)}.chat-message hr{border:0;border-top:1px solid var(--line);margin:16px 0}@media(max-width:800px){.assistant-page{height:auto;max-height:none;min-height:100vh;overflow:visible}.assistant-shell{height:auto;min-height:calc(100vh - 170px);grid-template-columns:1fr}.conversation-rail{border-right:0;border-bottom:1px solid var(--line);max-height:225px}.conversation-list{display:flex;overflow-x:auto}.conversation-item{min-width:190px}.conversation-actions{opacity:1}.chat-panel{min-height:520px}.chat-scroll{padding:20px 14px}.chat-welcome{margin:25px auto}.chat-welcome>div{grid-template-columns:1fr}.chat-composer{width:calc(100% - 24px)}.chat-message.user>div{max-width:90%}}.version-editors input{min-width:0;width:118px;padding:7px;border:1px solid var(--line);background:var(--paper);font-size:9px}.version-editors>div:has(input){display:grid;grid-template-columns:1fr 90px auto}.budget-detail{margin-top:16px}.budget-category-filter{display:grid;gap:5px;color:var(--muted);text-transform:uppercase;font:8px DM Mono,monospace;letter-spacing:.06em}.budget-category-filter select{min-width:190px;min-height:38px;border:1px solid var(--line);background:#fbf9f4;padding:0 10px;color:var(--ink);font:10px Manrope,sans-serif}.budget-month-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:1px solid var(--line)}.budget-month-table>div{display:grid;gap:5px;padding:14px;border-right:1px solid var(--line)}.budget-month-table span{font:500 15px Fraunces,serif}.budget-month-table small{color:var(--muted);font-size:9px;display:flex;justify-content:space-between}.budget-month-table strong{font-size:9px}@media(max-width:680px){.analysis-filters,.analysis-metrics,.analysis-tables{grid-template-columns:1fr}.analysis-metrics article{border-right:0;border-bottom:1px solid var(--line)}.analysis-filters .segmented{width:100%}.analysis-filters .segmented button{flex:1}.ranked-row{grid-template-columns:24px minmax(0,1fr)}.ranked-row>strong{grid-column:2}}@media(max-width:800px){.card-control-grid{grid-template-columns:1fr}.bill-list>button{grid-template-columns:64px minmax(0,1fr) auto}.bill-list>button>svg{display:none}.bill-totals,.bill-totals.bill-totals-projection{grid-template-columns:1fr}.bill-totals>span{border-right:0;border-bottom:1px solid var(--line)}.purchase-main{grid-template-columns:minmax(0,1fr) auto}.purchase-main>button{grid-column:1 / -1;justify-content:center}.projected-purchase{grid-template-columns:minmax(0,1fr) auto}.projected-purchase>i{grid-column:1;width:fit-content}.projected-purchase>button{grid-column:1 / -1;justify-content:center}.split-people,.split-scope-selector{grid-template-columns:1fr}.modal-card:has(.bill-detail){padding:20px 15px}}.card-management-stack{display:grid;gap:17px;margin-top:20px}.card-used{min-width:0}.card-used strong{white-space:nowrap;font-size:clamp(24px,2.3vw,29px)}.credit-card-visual .limit-track{margin:6px 0 9px}.available-limit-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-7px 0 12px;padding:6px 8px;border-left:2px solid rgba(215,167,92,.65);background:#ffffff0e;color:#ffffffa8;font-size:9px}.available-limit-row b{color:#ffffffe6;font:700 10px Manrope,sans-serif;white-space:nowrap}.future-split-option{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:11px;border:1px solid #d6c9b4;background:#f7f2e8;cursor:pointer}.future-split-option input{margin-top:2px;accent-color:var(--green)}.future-split-option span,.future-split-option b,.future-split-option small{display:block}.future-split-option b{font-size:10px}.future-split-option small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45}.split-scope-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px}.split-scope-selector button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:58px;padding:10px 11px;border:1px solid var(--line);background:#ffffff73;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.split-scope-selector button:hover{border-color:#a79b87}.split-scope-selector button.selected{border-color:var(--green);background:#e3ebe5;box-shadow:inset 3px 0 0 var(--green)}.split-scope-selector b{font-size:10px}.split-scope-selector small{color:var(--muted);font-size:8px;line-height:1.45}@media(max-width:680px){.transaction-filter-panel{padding:10px}.transaction-filter-panel .filter-primary{display:grid;grid-template-columns:1fr 1fr}.filter-primary .search-box{grid-column:1 / -1;min-width:0;width:100%}.filter-primary .filter-button{min-height:43px;justify-content:center;padding-inline:9px}.filter-primary .button.dark{grid-column:1 / -1;width:100%}.transaction-filter-panel .filter-secondary{display:grid;grid-template-columns:1fr}.filter-secondary .date-filter{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px;overflow:visible;padding:7px 9px}.filter-secondary .date-filter>i{display:none}.filter-secondary .date-filter label{min-width:0;display:grid;gap:3px}.filter-secondary .date-filter input{width:100%;min-width:0}.filter-secondary .filter-select{width:100%;min-height:43px}.transaction-table{overflow:visible;padding:8px}.transaction-row.table-head{display:none}button.transaction-row{min-width:0;grid-template-columns:22px minmax(0,1fr) auto;gap:7px 10px;margin-bottom:8px;padding:14px 13px;border:1px solid var(--line);background:#faf7f0;box-shadow:0 5px 16px #3f382c0a}button.transaction-row:last-child{margin-bottom:0}button.transaction-row .selection-cell{grid-column:1;grid-row:1 / span 2;align-self:start}button.transaction-row .description-cell{grid-column:2 / 4;grid-row:1;min-width:0}button.transaction-row .description-cell b,button.transaction-row .description-cell small{white-space:normal}button.transaction-row .date-cell{grid-column:2;grid-row:2;color:var(--muted)}button.transaction-row .amount-cell{grid-column:3;grid-row:2;white-space:nowrap;font-size:12px}button.transaction-row .category-cell{grid-column:2 / 4;grid-row:3;min-width:0}button.transaction-row .account-cell{grid-column:2 / 4;grid-row:4;min-width:0;padding-top:2px;font-size:9px}button.transaction-row .account-cell:before{content:"Conta · ";color:#999188}.table-card{border:0;background:transparent}.pagination{padding-inline:8px}.page-header:has(.connection-header-actions){padding-right:0}.page-header:has(.connection-header-actions)>div:first-child{padding-right:45px}.header-actions:has(.connection-header-actions){width:100%;display:flex;justify-content:center}.connection-header-actions{width:min(100%,360px);display:grid;grid-template-columns:1fr;margin-inline:auto;gap:8px}.connection-header-actions .button{width:100%;min-height:44px}.connections-list article{grid-template-columns:45px minmax(0,1fr);gap:11px;padding:14px}.connection-actions{grid-column:1 / -1;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;padding-top:10px;border-top:1px solid var(--line)}.connection-actions .text-button{justify-self:end;min-height:32px}.history-import{position:relative;padding:18px 15px}.history-import>div{padding-right:34px}.history-import>.button{width:100%}.history-import>.icon-button{position:absolute;top:11px;right:11px}.security-banner{align-items:flex-start;padding:17px 15px}.card-used strong{font-size:clamp(25px,8vw,30px)}.bill-filter{display:grid;justify-content:stretch;gap:6px}.bill-filter select{width:100%;min-width:0}.bill-list>button{grid-template-columns:64px minmax(0,1fr) auto;gap:8px}.bill-list>button>strong{white-space:nowrap}}@media(max-width:390px){.connection-actions{grid-template-columns:1fr;gap:7px}.connection-actions .text-button{justify-self:start}.people-panel form{display:grid;grid-template-columns:1fr}.people-panel form .button{width:100%}.available-limit-row{margin-top:-5px}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 15%,#eee2d6,transparent 36%),var(--cream)}.auth-card{width:min(100%,460px);padding:clamp(28px,6vw,52px);border:1px solid var(--line);background:#f9f7f1f0;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:10px;color:var(--green-deep);margin-bottom:38px}.auth-brand svg{color:#b47b35}.auth-brand strong{font:500 26px Fraunces,serif}.auth-card h1{margin:8px 0 10px;font:500 clamp(34px,7vw,49px)/1 "Fraunces",serif;letter-spacing:-.035em}.auth-card>p{color:var(--muted);font-size:12px;line-height:1.7}.auth-form{display:grid;gap:15px;margin-top:28px}.auth-form label,.settings-form label,.invite-form label{display:grid;gap:6px;color:var(--muted);font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.auth-form input,.settings-form input,.invite-form input{min-height:44px;border:1px solid #cfc5b7;background:#fbf9f4;padding:0 12px;color:var(--ink);font:12px Manrope,sans-serif}.auth-form>a{text-align:center;color:var(--green);font-size:11px}.auth-loading{min-height:100vh;display:grid;place-items:center}.api-waking{position:sticky;z-index:12;top:0;padding:9px 20px;background:#efe1c6;border-bottom:1px solid #dbc49e;color:#76542e;text-align:center;font-size:10px}.sidebar-user{display:flex;align-items:center;gap:8px;margin-top:auto;padding:12px 10px;border-top:1px solid rgba(255,255,255,.09)}.sidebar-user>div{min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:9px;color:#d9ded9}.sidebar-user small{margin-top:3px;font-size:8px;color:#839087}.sidebar-user button{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);background:transparent;color:#abb5ad;cursor:pointer}.sidebar-user+.privacy-note{margin-top:0}.settings-section{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(320px,1.15fr);gap:clamp(24px,5vw,70px);margin-top:18px;padding:clamp(24px,4vw,38px);border:1px solid var(--line);background:#f7f4edde}.settings-section h2{margin:6px 0 8px;font:500 27px Fraunces,serif}.settings-section p{color:var(--muted);font-size:11px;line-height:1.7}.settings-form{display:grid;gap:13px}.settings-form .notice{margin:0}.admin-users{grid-template-columns:1fr}.invite-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:end}.managed-users{display:grid;border-top:1px solid var(--line)}.managed-users article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.managed-users strong,.managed-users small{display:block}.managed-users strong{font-size:12px}.managed-users small{margin-top:4px;color:var(--muted);font-size:9px}.sync-progress{display:flex;align-items:center;gap:9px;margin:10px 0;padding:11px 14px;border:1px solid #d5c6a8;background:#f5ecdc;color:#715530;font-size:10px}@media(max-width:760px){.settings-section{grid-template-columns:1fr;padding:21px 16px}.invite-form{grid-template-columns:1fr}.invite-form .button{width:100%}.managed-users article{align-items:flex-start;flex-direction:column}.managed-users .button-group{width:100%}}
