:root{
  --red:#d71920;--red-2:#b60f16;--black:#111113;--white:#fff;--bg:#f4f4f5;--surface:#fff;--surface-2:#f8f8f9;--surface-3:#eeeef0;--text:#111113;--muted:#73737b;--line:#e2e2e6;--green:#11845b;--amber:#a76b00;--shadow:0 10px 30px rgba(20,20,24,.07);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)
}
:root[data-theme="dark"]{
  --bg:#08080a;--surface:#121216;--surface-2:#19191e;--surface-3:#24242b;--text:#f7f7f8;--muted:#a3a3ad;--line:#2a2a31;--black:#050506;--white:#fff;--green:#35c991;--amber:#e1a943;--shadow:0 14px 35px rgba(0,0,0,.22)
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Avenir Next","Montserrat","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{color:inherit}
button,select{cursor:pointer}
svg{fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.app-shell{width:min(760px,100%);min-height:100dvh;margin:0 auto;background:var(--bg);padding-bottom:calc(86px + var(--safe-bottom))}
.topbar{position:sticky;top:0;z-index:25;height:calc(58px + var(--safe-top));padding:var(--safe-top) 14px 0;display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(22px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.brand-mark{width:38px;height:38px;background:var(--black);color:#fff;display:grid;place-items:center;position:relative;overflow:hidden;clip-path:polygon(17% 0,100% 0,83% 100%,0 100%)}
.brand-mark:after{content:"";position:absolute;right:-8px;bottom:-7px;width:24px;height:22px;background:var(--red);transform:skewX(-18deg)}
.brand-mark span{font-size:10px;font-weight:1000;letter-spacing:.2px;z-index:1}
.brand-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}.brand-copy strong{font-size:12px;letter-spacing:.8px;font-weight:900}.brand-copy small{margin-top:4px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-button{margin-left:auto;width:38px;height:38px;border:1px solid var(--line);background:var(--surface);border-radius:12px;display:grid;place-items:center}.icon-button svg{width:18px;height:18px}
main{padding:0 14px 28px}
.hero-section{position:relative;margin:0 -14px;padding:20px 18px 18px;min-height:174px;background:var(--surface);overflow:hidden;border-bottom:1px solid var(--line)}
.home-hero{background:linear-gradient(145deg,var(--surface) 0 62%,var(--surface-2) 62%)}
.hero-heading{position:relative;z-index:2;max-width:310px}.hero-heading p{font-size:11px;color:var(--muted);margin:0 0 5px}.hero-heading h1{font-size:29px;line-height:1.02;letter-spacing:-1px;margin:0;max-width:280px}
.geometric-accent{position:absolute;right:-36px;top:-28px;width:185px;height:150px;background:var(--black);clip-path:polygon(32% 0,100% 0,75% 100%,0 66%)}.geometric-accent:after{content:"";position:absolute;right:-8px;bottom:-4px;width:130px;height:48px;background:var(--red);clip-path:polygon(15% 0,100% 30%,100% 100%,0 100%)}
.period-control{position:absolute;z-index:3;left:18px;right:18px;bottom:16px;height:42px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center}.period-control button{height:100%;border:0;background:transparent;font-size:23px}.period-control strong{text-align:center;font-size:11px;text-transform:capitalize}.period-control.compact{position:static;left:auto;right:auto;bottom:auto;width:100%;max-width:244px;height:38px}.period-control.compact button{font-size:20px}.period-control.compact strong{font-size:10px}
.report-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.report-card{position:relative;min-height:105px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:12px 10px;text-align:left;overflow:hidden;box-shadow:var(--shadow)}.report-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--red)}.report-card span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.2px}.report-card strong{display:block;font-size:17px;line-height:1.05;margin-top:11px;white-space:nowrap;letter-spacing:-.5px}.report-card small{display:block;margin-top:7px;font-size:8.5px;color:var(--muted);line-height:1.25}.report-card.report-cash:before{background:var(--black)}.report-card.report-house:before{background:linear-gradient(var(--black) 0 48%,var(--red) 48%)}
.section-block{margin-top:12px;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-title>div{min-width:0}.section-title span{display:block;font-size:8px;font-weight:900;color:var(--red);letter-spacing:.75px}.section-title h2{font-size:17px;line-height:1.16;margin:4px 0 0;letter-spacing:-.35px}.status-pill{flex:0 0 auto!important;font-size:8px!important;padding:6px 8px;border-radius:999px;background:color-mix(in srgb,var(--red) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 25%,var(--line));color:var(--red)!important}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.metric-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:12px;display:flex;flex-direction:column}.metric-card span{font-size:9px;color:var(--muted)}.metric-card strong{font-size:18px;line-height:1.1;margin-top:6px;letter-spacing:-.45px}.metric-card small{font-size:8.5px;color:var(--muted);margin-top:7px;line-height:1.3}.metric-card.highlight{grid-column:1/-1;background:var(--black);color:#fff;border-color:var(--black);position:relative;overflow:hidden}.metric-card.highlight:after{content:"";position:absolute;right:-18px;bottom:-30px;width:92px;height:70px;background:var(--red);transform:rotate(-14deg)}.metric-card.highlight span,.metric-card.highlight small{color:#d7d7da}.metric-card.highlight strong{position:relative;z-index:1}.metric-card.income strong{color:var(--green)}.metric-card.expense strong{color:var(--red)}
.quick-launch-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.quick-launch{min-height:96px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:10px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.quick-launch>span{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--red)}.quick-launch>span svg{width:16px;height:16px}.quick-launch strong{font-size:11px;margin-top:8px}.quick-launch small{font-size:8.5px;color:var(--muted);margin-top:3px}.quick-launch.income>span{color:var(--green)}.quick-launch.neutral>span{color:var(--text)}
.text-link{border:0;background:transparent;color:var(--red);font-size:9px;font-weight:900;padding:4px}
.transaction-list{display:grid;gap:1px}.home-list{margin-top:9px}.transaction-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 1px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left}.transaction-row:last-child{border-bottom:0}.transaction-symbol{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:18px;font-weight:600;background:color-mix(in srgb,var(--red) 9%,var(--surface-2));color:var(--red)}.transaction-symbol.income{background:color-mix(in srgb,var(--green) 10%,var(--surface-2));color:var(--green)}.transaction-symbol.transfer{background:var(--surface-2);color:var(--text)}.transaction-copy{min-width:0;display:flex;flex-direction:column}.transaction-copy>strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-copy>small{font-size:8.7px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-mini-tags{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}.transaction-mini-tags i{font-style:normal;font-size:7.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px 5px;color:var(--muted)}.transaction-mini-tags i.paid{color:var(--green);border-color:color-mix(in srgb,var(--green) 25%,var(--line))}.transaction-mini-tags i.pending{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 25%,var(--line))}.transaction-value{display:flex;flex-direction:column;text-align:right;align-items:flex-end}.transaction-value>strong{font-size:11px;white-space:nowrap}.transaction-value>small{font-size:8px;color:var(--muted);margin-top:4px}.negative{color:var(--red)!important}.positive{color:var(--green)!important}.report-dots{display:flex;gap:2px;margin-top:5px}.report-dots i{width:5px;height:5px;border-radius:50%;display:block}.report-dots .report-complete{background:var(--red)}.report-dots .report-cash{background:var(--text)}.report-dots .report-house{background:#808088}
.classification-note{margin-top:12px;background:var(--black);color:#fff;border-radius:18px;padding:14px;display:flex;gap:12px;position:relative;overflow:hidden}.classification-note:after{content:"";position:absolute;right:-44px;top:-26px;width:130px;height:80px;background:var(--red);transform:rotate(22deg)}.classification-mark{width:43px;height:43px;flex:0 0 auto;background:var(--red);display:grid;place-items:center;font-weight:1000;clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}.classification-note>div:last-child{position:relative;z-index:1}.classification-note span{font-size:7.5px;letter-spacing:.7px;color:#ff8f94;font-weight:900}.classification-note strong{display:block;font-size:12px;line-height:1.28;margin-top:3px;max-width:280px}.classification-note p{font-size:8.5px;line-height:1.4;color:#b9b9c0;margin:5px 0 0}
.page-heading{margin:14px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:17px;position:relative;overflow:hidden;min-height:116px}.page-heading h1{font-size:26px;margin:4px 0 4px;letter-spacing:-.8px}.page-heading p{margin:0;color:var(--muted);font-size:10.5px;line-height:1.35;max-width:275px;position:relative;z-index:2}.eyebrow{font-size:8px!important;font-weight:900;color:var(--red)!important;letter-spacing:.85px}.heading-slash{position:absolute;right:-23px;top:-24px;width:136px;height:120px;background:var(--black);clip-path:polygon(45% 0,100% 0,65% 100%,0 65%)}.heading-slash:after{content:"";position:absolute;left:32px;bottom:0;width:94px;height:37px;background:var(--red);clip-path:polygon(15% 0,100% 35%,100% 100%,0 100%)}
.transaction-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:12px}.reports-toolbar{justify-content:flex-start}.compact-button{width:auto!important;padding:0 14px;height:38px!important;flex:0 0 auto}.search-box{height:44px;margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:38px 1fr 34px;align-items:center}.search-box>span{display:grid;place-items:center;color:var(--muted)}.search-box svg{width:17px;height:17px}.search-box input{height:100%;border:0;outline:0;background:transparent;color:var(--text);min-width:0;font-size:11px}.search-clear{height:100%;border:0;background:transparent;color:var(--muted);font-size:18px}.filter-tabs{display:flex;gap:6px;overflow:auto;margin:9px -14px 0;padding:0 14px 2px;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex:0 0 auto;height:31px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:8.5px;font-weight:800;padding:0 10px;color:var(--muted)}.filter-tab.selected{background:var(--black);color:#fff;border-color:var(--black)}.list-summary{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:0 3px}.list-summary span{font-size:9px;color:var(--muted)}.list-summary strong{font-size:11px}.main-list{margin-top:5px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:0 10px;box-shadow:var(--shadow)}.floating-add{position:fixed;z-index:20;right:max(17px,calc((100vw - 760px)/2 + 17px));bottom:calc(82px + var(--safe-bottom));width:50px;height:50px;border:0;border-radius:16px;background:var(--red);color:#fff;box-shadow:0 9px 25px rgba(215,25,32,.32);display:grid;place-items:center}.floating-add svg{width:22px;height:22px}
.empty-block{display:flex;gap:13px;align-items:center;padding:10px 2px}.empty-graphic{width:57px;height:49px;display:flex;align-items:flex-end;gap:4px;flex:0 0 auto}.empty-graphic span{display:block;width:13px;background:var(--line);clip-path:polygon(15% 0,100% 0,85% 100%,0 100%)}.empty-graphic span:nth-child(1){height:25px}.empty-graphic span:nth-child(2){height:41px;background:var(--red)}.empty-graphic span:nth-child(3){height:33px;background:var(--black)}.empty-block strong{font-size:12px}.empty-block p{margin:4px 0 0;font-size:9.3px;line-height:1.4;color:var(--muted)}
.stack-list{display:grid;gap:9px;margin-top:12px}.large-report{min-height:138px;border-radius:19px;border:1px solid var(--line);background:var(--surface);padding:15px;position:relative;overflow:hidden;display:flex;align-items:flex-end;gap:10px;box-shadow:var(--shadow)}.large-report-accent{position:absolute;right:-35px;top:-42px;width:145px;height:120px;background:var(--black);clip-path:polygon(25% 0,100% 0,75% 100%,0 65%)}.large-report-accent:after{content:"";position:absolute;right:0;bottom:0;width:95px;height:38px;background:var(--red)}.large-report>div:nth-child(2){position:relative;z-index:1;flex:1;min-width:0}.large-report span{font-size:10px;font-weight:900}.large-report strong{display:block;font-size:24px;margin-top:6px;letter-spacing:-.6px}.large-report p{font-size:9.5px;color:var(--muted);margin:6px 0 0}.large-report small{font-size:8px;color:var(--muted);display:block;margin-top:6px}.ghost-button{border:1px solid var(--line);background:var(--surface-2);border-radius:11px;padding:8px 10px;font-size:8.5px;font-weight:900;cursor:pointer;position:relative;z-index:2;white-space:nowrap}.report-logic{box-shadow:none}.logic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.logic-grid>div{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:11px;text-align:center}.logic-grid strong{display:block;font-size:17px}.logic-grid span{font-size:7.5px;color:var(--muted);margin-top:4px;display:block}.panel-lead{font-size:9.5px;color:var(--muted);line-height:1.5;margin:10px 0 12px}.note-card{box-shadow:none}.note-card h2{font-size:17px;margin:5px 0 7px}.note-card p{font-size:10px;line-height:1.5;color:var(--muted);margin:0}
.pre-finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.pre-finance-summary>div{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:11px}.pre-finance-summary span{font-size:8px;color:var(--muted)}.pre-finance-summary strong{display:block;font-size:13px;margin-top:5px}.finance-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.finance-tile{min-height:158px;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:13px;position:relative;overflow:hidden}.finance-tile:after{content:"";position:absolute;right:-20px;bottom:-18px;width:70px;height:55px;background:var(--red);clip-path:polygon(40% 0,100% 20%,100% 100%,0 100%)}.tile-status{font-size:7px;font-weight:900;letter-spacing:.7px;color:var(--red)}.finance-tile h3{font-size:13px;margin:7px 0 5px}.finance-tile p{font-size:8.8px;line-height:1.35;color:var(--muted);margin:0}.mini-chart{height:40px;margin-top:13px;display:flex;align-items:flex-end;gap:4px}.mini-chart i{width:8px;background:var(--line);display:block}.mini-chart i:nth-child(1){height:14px}.mini-chart i:nth-child(2){height:27px;background:var(--red)}.mini-chart i:nth-child(3){height:20px}.mini-chart i:nth-child(4){height:34px;background:var(--black)}.mini-chart i:nth-child(5){height:25px}
.profile-card{margin-top:12px;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:13px;display:flex;align-items:center;gap:10px}.avatar{width:46px;height:46px;border-radius:13px;background:var(--black);color:#fff;font-weight:1000;display:grid;place-items:center;position:relative;overflow:hidden}.avatar:after{content:"";position:absolute;right:-8px;bottom:-8px;width:29px;height:29px;background:var(--red);transform:rotate(30deg)}.profile-card>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.profile-card strong{font-size:12px}.profile-card span{font-size:9px;color:var(--muted);margin-top:3px}.profile-card button{margin-left:auto}.settings-list{display:grid;gap:7px;margin-top:10px}.setting-row,.quick-card{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:10px;text-align:left}.setting-icon{width:35px;height:35px;border-radius:10px;background:var(--surface-2);color:var(--red);display:grid;place-items:center;flex:0 0 auto}.setting-icon svg{width:17px;height:17px}.setting-row>div{display:flex;flex-direction:column;min-width:0;flex:1}.setting-row strong{font-size:10.5px}.setting-row small{font-size:8.5px;color:var(--muted);margin-top:2px}.setting-row>svg{width:16px;height:16px;color:var(--muted)}
.bottom-nav{position:fixed;z-index:30;left:50%;transform:translateX(-50%);bottom:0;width:min(760px,100%);height:calc(70px + var(--safe-bottom));padding:6px 7px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(22px);border-top:1px solid var(--line)}.nav-item{border:0;background:transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted)}.nav-item svg{width:19px;height:19px}.nav-item span{font-size:8px}.nav-item.active{color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent)}.nav-item.active span{font-weight:900}
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.43);z-index:50;backdrop-filter:blur(2px)}.drawer{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:0;width:min(760px,100%);max-height:87dvh;background:var(--surface);border-radius:24px 24px 0 0;border:1px solid var(--line);box-shadow:0 -16px 55px rgba(0,0,0,.28);padding-bottom:var(--safe-bottom);overflow:hidden}.drawer.drawer-tall{max-height:94dvh}.drawer-handle{width:42px;height:5px;border-radius:999px;background:var(--line);margin:8px auto}.drawer-head{display:flex;align-items:flex-start;padding:5px 15px 11px;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:21px;margin:3px 0 0}.drawer-head .icon-button{font-size:20px;line-height:1;width:34px;height:34px;border:0;background:var(--surface-2)}.drawer-head .icon-button svg{width:17px}.drawer-body{padding:13px 15px 20px;overflow:auto;max-height:calc(87dvh - 73px)}.drawer-tall .drawer-body{max-height:calc(94dvh - 73px)}
.manager-list{display:grid;gap:6px}.manager-item{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);background:var(--surface-2);border-radius:13px}.manager-symbol{width:33px;height:33px;border-radius:9px;background:var(--black);color:#fff;display:grid;place-items:center;font-weight:900;font-size:10px}.manager-item>div{display:flex;flex-direction:column;min-width:0;flex:1}.manager-item strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-item small{font-size:8.3px;color:var(--muted);margin-top:2px}.manager-item>div>span{font-size:7.5px;color:var(--red);margin-top:3px}.manager-item.disabled{opacity:.55}.text-danger{border:0;background:transparent;color:var(--red);font-size:8px;font-weight:900;padding:6px}.inline-form,.form-stack{display:grid;gap:8px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.inline-form label,.form-stack label{font-size:9px;font-weight:800;display:grid;gap:5px}.inline-form input,.inline-form select,.form-stack input{width:100%;height:41px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);padding:0 10px;outline:none}.primary-button,.danger-button{height:43px;border:0;border-radius:12px;background:var(--red);color:#fff;font-weight:900;font-size:10px;display:flex;align-items:center;justify-content:center;gap:7px}.primary-button svg,.danger-button svg{width:16px;height:16px}.danger-button{width:100%;background:color-mix(in srgb,var(--red) 12%,var(--surface));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 25%,var(--line));margin-top:10px}.secondary-danger{width:100%;height:38px;border:0;background:transparent;color:var(--red);font-size:9px;font-weight:900;margin-top:2px}.theme-options{display:grid;gap:8px}.theme-option{width:100%;display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;text-align:left}.theme-option.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset}.theme-option>div{display:flex;flex-direction:column;flex:1}.theme-option strong{font-size:10.5px}.theme-option small{font-size:8.3px;color:var(--muted);margin-top:2px}.theme-preview{width:53px;height:36px;border-radius:8px;border:1px solid var(--line);padding:5px;display:flex;align-items:flex-end;gap:3px;background:#fff}.theme-preview.dark{background:#111}.theme-preview.system{background:linear-gradient(90deg,#fff 0 50%,#111 50%)}.theme-preview i{display:block;width:7px;background:#d71920}.theme-preview i:nth-child(1){height:9px}.theme-preview i:nth-child(2){height:19px}.theme-preview i:nth-child(3){height:14px;background:#222}.radio-dot{width:17px;height:17px;border-radius:50%;border:2px solid var(--line)}.theme-option.selected .radio-dot{border:5px solid var(--red)}.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:12px}.about-grid div{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column}.about-grid span{font-size:8px;color:var(--muted)}.about-grid strong{font-size:13px;margin-top:4px}
.transaction-form{display:grid;gap:11px}.type-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.type-button{min-height:64px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted)}.type-button svg{width:18px;height:18px}.type-button span{font-size:8.5px;font-weight:900}.type-button.selected{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface));color:var(--red);box-shadow:0 0 0 1px var(--red) inset}.type-button.income.selected{border-color:var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 8%,var(--surface));box-shadow:0 0 0 1px var(--green) inset}.type-button.transfer.selected{border-color:var(--text);color:var(--text);box-shadow:0 0 0 1px var(--text) inset}.field{display:grid;gap:5px}.field>span{font-size:8.5px;font-weight:900;color:var(--muted)}.field>span em{font-style:normal;font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);outline:0;font-size:10.5px}.field input,.field select{height:42px;padding:0 10px}.field textarea{padding:9px 10px;resize:none}.field>small{font-size:7.8px;color:var(--muted);line-height:1.35}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.money-input{display:grid;grid-template-columns:33px 1fr;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);align-items:center;overflow:hidden}.money-input i{font-style:normal;font-size:9px;color:var(--muted);text-align:center;border-right:1px solid var(--line)}.money-input input{height:100%;border:0;border-radius:0;background:transparent}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.choice-card{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:10px;display:flex;flex-direction:column;min-height:68px}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card strong{font-size:9px}.choice-card small{font-size:7.5px;line-height:1.35;color:var(--muted);margin-top:4px}.choice-card.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset;background:color-mix(in srgb,var(--red) 6%,var(--surface))}.toggle-stack{display:grid;gap:6px}.toggle-row{min-height:57px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:9px 10px;display:flex;align-items:center;gap:10px;position:relative}.toggle-row>div{display:flex;flex-direction:column;flex:1}.toggle-row strong{font-size:9.5px}.toggle-row small{font-size:7.5px;color:var(--muted);margin-top:2px;line-height:1.35}.toggle-row input{position:absolute;opacity:0}.toggle-row>span{width:39px;height:23px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line);position:relative;transition:.2s}.toggle-row>span:after{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.toggle-row input:checked+span{background:var(--red);border-color:var(--red)}.toggle-row input:checked+span:after{transform:translateX(16px);background:#fff}.toggle-row.locked{opacity:.65}.future-toggle{margin-top:-2px}.installment-field{border-top:1px solid var(--line);padding-top:10px}.form-hint{font-size:8.3px;line-height:1.45;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);padding:9px;border-radius:10px}.save-transaction{height:47px;margin-top:2px}.classification-preview{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface-2)}.classification-preview>span{font-size:8px;color:var(--muted)}.classification-preview>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.classification-preview i{font-style:normal;font-size:7.5px;font-weight:900;padding:4px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.classification-preview i.report-complete{color:var(--red)}.classification-preview i.report-cash{color:var(--text)}.classification-preview i.report-house{color:var(--muted)}
.report-panel-total{padding:14px;background:var(--black);color:#fff;border-radius:15px;position:relative;overflow:hidden}.report-panel-total:after{content:"";position:absolute;right:-18px;bottom:-29px;width:90px;height:63px;background:var(--red);transform:rotate(-20deg)}.report-panel-total span{font-size:8px;color:#c7c7cc}.report-panel-total strong{display:block;font-size:26px;margin-top:5px;position:relative;z-index:1}.report-panel-total small{display:block;font-size:8px;color:#c7c7cc;margin-top:5px}.report-panel-list{margin-top:8px}.toast{position:fixed;z-index:100;left:50%;bottom:calc(84px + var(--safe-bottom));transform:translate(-50%,18px);background:var(--black);color:#fff;border:1px solid #303036;border-radius:12px;padding:10px 13px;font-size:9px;font-weight:800;opacity:0;pointer-events:none;transition:.22s;box-shadow:0 8px 28px rgba(0,0,0,.24);white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (min-width:620px){main{padding-left:24px;padding-right:24px}.hero-section{margin-left:-24px;margin-right:-24px;padding-left:28px;padding-right:28px}.period-control{left:28px;right:28px}.summary-grid{grid-template-columns:repeat(3,1fr)}.metric-card.highlight{grid-column:auto}.report-card{min-height:112px}.finance-grid{grid-template-columns:repeat(4,1fr)}.drawer-body{padding-left:22px;padding-right:22px}.transaction-form{max-width:620px;margin:0 auto}.floating-add{right:max(25px,calc((100vw - 760px)/2 + 25px))}}
@media (max-width:370px){.hero-heading h1{font-size:26px}.report-strip{grid-template-columns:1fr}.report-card{min-height:83px}.report-card strong{font-size:19px}.quick-launch-row{grid-template-columns:1fr 1fr}.quick-launch:last-child{grid-column:1/-1}.finance-grid{grid-template-columns:1fr}.pre-finance-summary{grid-template-columns:1fr}.form-grid.two,.choice-grid{grid-template-columns:1fr}.nav-item span{font-size:7.5px}}
@media print{.topbar,.bottom-nav,.icon-button,.floating-add,.transaction-toolbar,.filter-tabs,.search-box{display:none!important}body,.app-shell{background:#fff;color:#111}.app-shell{max-width:none;padding:0}.section-block,.page-heading,.large-report,.finance-tile{box-shadow:none;break-inside:avoid}main{padding:0}@page{size:A4 portrait;margin:12mm}}

/* Sprint 3 — Relatórios A4 e exportações */
.export-standard-card{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center}.export-standard-card .export-standard-icon{width:58px;height:72px;border:2px solid var(--black);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:950;position:relative;background:var(--surface-2)}.export-standard-card .export-standard-icon:before{content:"";position:absolute;left:-2px;bottom:-2px;width:24px;height:18px;background:var(--red);clip-path:polygon(0 100%,100% 100%,0 0)}.export-standard-card h2{font-size:14px;margin:2px 0 4px}.export-standard-card p{font-size:8.5px;color:var(--muted);line-height:1.45;margin:0}
.drawer-report{height:min(94dvh,920px);max-height:94dvh}.drawer-report .drawer-body{padding-bottom:calc(30px + var(--safe-bottom));overflow:auto}.report-detail-top{display:grid;gap:9px}.export-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.export-button{min-width:0;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:11px;padding:8px 5px;display:flex;align-items:center;justify-content:center;gap:5px}.export-button svg{width:14px;height:14px;flex:0 0 auto}.export-button span{min-width:0;display:flex;flex-direction:column;text-align:left}.export-button strong{font-size:8px}.export-button small{font-size:6.8px;color:var(--muted);margin-top:1px}.export-button.pdf{border-color:color-mix(in srgb,var(--red) 35%,var(--line));color:var(--red)}.export-button.excel{border-color:color-mix(in srgb,#138a58 35%,var(--line));color:#138a58}.export-button.png{border-color:color-mix(in srgb,#3659a7 35%,var(--line));color:#3659a7}.export-button.share{border-color:color-mix(in srgb,var(--text) 22%,var(--line))}
.a4-preview-label{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:15px 0 7px}.a4-preview-label span{font-size:7.5px;font-weight:950;color:var(--red);letter-spacing:.06em}.a4-preview-label small{font-size:6.8px;color:var(--muted);text-align:right;max-width:54%}.a4-preview-wrap{border-radius:8px;background:#d9d9dc;padding:10px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.report-a4{aspect-ratio:210/297;width:100%;background:#fff;color:#111;position:relative;overflow:hidden;box-shadow:0 3px 15px rgba(0,0,0,.16);font-family:Arial,Helvetica,sans-serif}.a4-header{height:13.4%;background:#101012;color:#fff;position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:5.2% 5.3%;overflow:hidden}.a4-brand{display:flex;align-items:center;gap:2.1%;position:relative;z-index:2}.a4-logo{width:9.5%;min-width:26px;aspect-ratio:1;background:#fff;color:#111;display:grid;place-items:center;font-size:2.8vw;font-weight:950;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.a4-brand div{display:flex;flex-direction:column}.a4-brand strong{font-size:2.4vw;line-height:1}.a4-brand small{font-size:1.1vw;letter-spacing:.08em;color:#c9c9ce;margin-top:4%}.a4-period{display:flex;flex-direction:column;text-align:right;position:relative;z-index:2}.a4-period span{font-size:1.7vw;font-weight:900;text-transform:uppercase}.a4-period small{font-size:1vw;color:#d1d1d5;margin-top:3%}.a4-red-shape{position:absolute;right:-6%;top:-28%;width:46%;height:112%;background:#d71920;transform:skewX(-31deg)}.a4-white-cut{position:absolute;right:-2%;bottom:-27%;width:31%;height:44%;background:#fff;transform:skewX(-31deg)}
.a4-title{height:15.5%;display:flex;justify-content:space-between;align-items:center;padding:3.8% 5.3% 2.7%;gap:4%}.a4-title>div:first-child{max-width:54%}.a4-title>div:first-child>span{font-size:1.05vw;font-weight:950;color:#d71920;letter-spacing:.06em}.a4-title h2{font-size:4.1vw;line-height:.95;margin:2.5% 0 2%;letter-spacing:-.04em}.a4-title p{font-size:1.25vw;color:#6e6e73;margin:0;line-height:1.25}.a4-total{width:38%;background:#f1f1f3;padding:3.1% 3.2%;display:flex;flex-direction:column}.a4-total span{font-size:1vw;color:#6e6e73;font-weight:800}.a4-total strong{font-size:2.8vw;margin-top:4%}.a4-total small{font-size:1vw;color:#6e6e73;margin-top:3%}
.a4-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4%;padding:0 5.3% 3%}.a4-kpis>div{background:#f3f3f4;padding:7% 7%;display:flex;flex-direction:column}.a4-kpis>div:first-child{background:#111113;color:#fff}.a4-kpis span{font-size:.95vw;color:#717176;font-weight:800}.a4-kpis>div:first-child span{color:#cfcfd3}.a4-kpis strong{font-size:1.45vw;margin-top:5%}
.a4-content-grid{display:grid;grid-template-columns:2.55fr 1fr;gap:2.5%;padding:0 5.3%;height:49.5%}.a4-section-head{display:flex;flex-direction:column;margin-bottom:2.1%}.a4-section-head span{font-size:.92vw;color:#d71920;font-weight:950;letter-spacing:.05em}.a4-section-head strong{font-size:1.35vw;margin-top:1.2%}.a4-table-area{min-width:0}.a4-table-area table{width:100%;border-collapse:collapse;table-layout:fixed}.a4-table-area th{background:#101012;color:#fff;font-size:.78vw;padding:1.65% 1.2%;text-align:left}.a4-table-area th:nth-child(1){width:9%}.a4-table-area th:nth-child(2){width:31%}.a4-table-area th:nth-child(3){width:24%}.a4-table-area th:nth-child(4){width:20%}.a4-table-area th:nth-child(5){width:16%;text-align:right}.a4-table-area td{font-size:.79vw;padding:1.45% 1.1%;border-bottom:1px solid #e4e4e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.a4-table-area td:last-child{text-align:right;font-weight:900}.a4-table-area td small{font-size:.65vw;color:#777}.a4-overflow{font-size:.76vw;color:#d71920;font-weight:900;padding-top:2%}.a4-category-area{background:#f4f4f5;padding:6.5%;align-self:start}.a4-cat{margin-bottom:8.5%}.a4-cat>div{display:flex;justify-content:space-between;gap:4%;align-items:flex-end}.a4-cat span{font-size:.85vw;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.a4-cat strong{font-size:.82vw}.a4-cat i{display:block;height:4px;background:#ddd;margin-top:4%;overflow:hidden}.a4-cat b{display:block;height:100%;background:#d71920}
.a4-footer{position:absolute;left:0;right:0;bottom:0;height:5.1%;background:#101012;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5.3%}.a4-footer>div{display:flex;flex-direction:column}.a4-footer strong{font-size:1vw}.a4-footer span{font-size:.72vw;color:#c9c9ce;margin-top:1%}.a4-footer>div:last-child{text-align:right}.a4-footer>div:last-child strong{font-size:1.2vw;margin-top:2%}.report-breakdown-mobile{margin-top:11px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.report-breakdown-mobile h3{font-size:10px;margin:0 0 7px}.report-breakdown-mobile>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:8.5px}.report-breakdown-mobile>div strong{font-size:8.5px}
@media (min-width:620px){.drawer-report{width:min(780px,100vw);left:50%;transform:translateX(-50%);border-radius:24px 24px 0 0}.a4-logo{font-size:18px}.a4-brand strong{font-size:15px}.a4-brand small{font-size:7px}.a4-period span{font-size:11px}.a4-period small{font-size:6.5px}.a4-title>div:first-child>span{font-size:7px}.a4-title h2{font-size:27px}.a4-title p{font-size:8px}.a4-total span{font-size:6.5px}.a4-total strong{font-size:18px}.a4-total small{font-size:6.5px}.a4-kpis span{font-size:6px}.a4-kpis strong{font-size:9.5px}.a4-section-head span{font-size:6px}.a4-section-head strong{font-size:9px}.a4-table-area th{font-size:5px}.a4-table-area td{font-size:5.2px}.a4-table-area td small{font-size:4.3px}.a4-cat span,.a4-cat strong{font-size:5.4px}.a4-footer strong{font-size:6.5px}.a4-footer span{font-size:4.8px}.a4-footer>div:last-child strong{font-size:8px}}
@media (max-width:370px){.export-actions{grid-template-columns:repeat(2,1fr)}.a4-preview-wrap{padding:7px}.a4-preview-label{align-items:flex-start;flex-direction:column}.a4-preview-label small{max-width:100%;text-align:left}}

/* Sprint 4 — Fluxo de Caixa, DRE, Balancete e Despesas/Receitas */
.sprint4-grid{align-items:stretch}.finance-tile-button{appearance:none;width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;min-height:170px}.finance-tile-button .tile-status{background:color-mix(in srgb,var(--green) 11%,var(--surface));color:var(--green);border-color:color-mix(in srgb,var(--green) 28%,var(--line))}.finance-tile-value{display:block;font-size:18px;line-height:1.08;letter-spacing:-.45px;margin:9px 0 2px}.finance-tile-action{margin-top:auto;padding-top:10px;color:var(--red);font-size:8px;font-weight:950;display:flex;align-items:center;gap:4px}.finance-tile-action svg{width:12px;height:12px}.finance-panel-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.finance-panel-kpis>div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;min-width:0}.finance-panel-kpis>div.focus{background:var(--black);color:#fff;border-color:var(--black);position:relative;overflow:hidden}.finance-panel-kpis>div.focus:after{content:"";position:absolute;right:-18px;bottom:-21px;width:64px;height:48px;background:var(--red);transform:rotate(-18deg)}.finance-panel-kpis span{font-size:7.5px;color:var(--muted);font-weight:850}.finance-panel-kpis .focus span{color:#cfcfd4}.finance-panel-kpis strong{font-size:14px;line-height:1.12;margin-top:5px;position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opening-balance-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;border:1px solid var(--line);background:var(--surface-2);padding:9px;border-radius:12px}.opening-balance-form label>span{display:block;font-size:7.5px;font-weight:850;color:var(--muted);margin-bottom:5px}.opening-balance-form .money-input{height:38px}.opening-balance-form .ghost-button{height:38px}.finance-filter-tabs{display:flex;gap:5px;overflow:auto;padding-bottom:1px}.finance-filter-tabs .filter-tab{white-space:nowrap}.finance-mobile-table>div{align-items:center}.finance-mobile-table>div span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-mobile-table>div span small{display:inline;font-size:7px;color:var(--muted);margin-left:3px}.finance-mobile-table>p{font-size:8px;color:var(--muted);margin:8px 0 0}.finance-a4-title h2{font-size:3.4vw;max-width:100%;white-space:nowrap}.finance-a4-table{padding:0 5.3%;height:49.5%;overflow:hidden}.finance-a4-table table{width:100%;border-collapse:collapse;table-layout:fixed}.finance-a4-table th{background:#101012;color:#fff;font-size:.73vw;padding:1.7% 1.2%;text-align:left;white-space:nowrap}.finance-a4-table td{font-size:.72vw;padding:1.42% 1.1%;border-bottom:1px solid #e5e5e7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-a4-table td:last-child,.finance-a4-table th:last-child{text-align:right;font-weight:900}.finance-a4-table tr.finance-total-row td{font-weight:900;background:#f2f2f3;border-top:2px solid #111}.finance-a4 .a4-kpis>div:first-child{background:#f3f3f4;color:#111}.finance-a4 .a4-kpis>div:first-child span{color:#717176}.finance-a4 .a4-kpis>div:last-child{background:#111113;color:#fff}.finance-a4 .a4-kpis>div:last-child span{color:#cfcfd3}
@media (min-width:620px){.finance-panel-kpis{grid-template-columns:repeat(4,1fr)}.finance-a4-title h2{font-size:23px}.finance-a4-table th{font-size:4.8px}.finance-a4-table td{font-size:4.8px}}
@media (max-width:370px){.finance-panel-kpis{grid-template-columns:1fr}.opening-balance-form{grid-template-columns:1fr}.opening-balance-form .ghost-button{width:100%}}

/* Sprint 5 — Dashboard + inteligência operacional */
.sprint5-hero .hero-heading h1{max-width:300px}.dashboard-summary{overflow:hidden}.dashboard-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.dashboard-kpi{min-width:0;min-height:92px;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:11px;display:flex;flex-direction:column;position:relative;overflow:hidden}.dashboard-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line)}.dashboard-kpi.expense:before{background:var(--red)}.dashboard-kpi.pending:before{background:var(--amber)}.dashboard-kpi.recurring:before{background:var(--black)}.dashboard-kpi.result:before{background:var(--green)}.dashboard-kpi>span{font-size:8.2px;color:var(--muted);font-weight:800}.dashboard-kpi>strong{font-size:17px;line-height:1.08;letter-spacing:-.4px;margin-top:6px;white-space:nowrap}.dashboard-kpi>small{font-size:7.7px;color:var(--muted);margin-top:auto;padding-top:7px;line-height:1.2}.delta{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;font-size:7px!important;font-weight:850!important;border-radius:999px;padding:3px 5px!important;margin-top:auto!important;line-height:1!important;white-space:nowrap}.delta.good{color:var(--green)!important;background:color-mix(in srgb,var(--green) 10%,var(--surface))}.delta.bad{color:var(--red)!important;background:color-mix(in srgb,var(--red) 9%,var(--surface))}.delta.neutral{color:var(--muted)!important;background:var(--surface-3)}
.sprint5-quick .quick-launch{min-height:88px}.sprint5-quick .quick-launch>span{width:29px;height:29px}.intelligence-card{position:relative;overflow:hidden}.intelligence-card:after{content:"";position:absolute;right:-42px;top:-52px;width:120px;height:90px;background:color-mix(in srgb,var(--red) 7%,transparent);transform:rotate(25deg)}.intelligence-dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px color-mix(in srgb,var(--red) 9%,transparent)}.alert-list{display:grid;gap:7px;margin-top:11px;position:relative;z-index:1}.operational-alert{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:9px}.operational-alert .alert-symbol{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:950}.operational-alert>div{min-width:0}.operational-alert strong{display:block;font-size:9.5px}.operational-alert p{font-size:7.7px;line-height:1.3;color:var(--muted);margin:3px 0 0}.operational-alert button{border:0;background:transparent;color:var(--red);font-size:7.5px;font-weight:900;padding:7px 3px;white-space:nowrap}.operational-alert.danger{border-color:color-mix(in srgb,var(--red) 30%,var(--line))}.operational-alert.danger .alert-symbol{color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface))}.operational-alert.warning{border-color:color-mix(in srgb,var(--amber) 28%,var(--line))}.operational-alert.warning .alert-symbol{color:var(--amber);background:color-mix(in srgb,var(--amber) 9%,var(--surface))}.operational-alert.success .alert-symbol{color:var(--green);background:color-mix(in srgb,var(--green) 9%,var(--surface))}.operational-alert.info .alert-symbol{color:var(--text);background:var(--surface-3)}
.dashboard-analysis-grid{display:grid;gap:0}.analysis-card{min-width:0}.analysis-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.analysis-head>div{min-width:0}.analysis-head>div>span{font-size:7.5px;font-weight:900;color:var(--red);letter-spacing:.7px}.analysis-head h2{font-size:15px;line-height:1.15;margin:3px 0 0}.analysis-head>.delta{margin-top:0!important}.trend-chart{height:115px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end;margin-top:14px;padding:0 2px 20px;border-bottom:1px solid var(--line)}.trend-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.trend-bars{height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.trend-bars i{display:block;width:9px;min-height:3px;border-radius:3px 3px 0 0}.trend-bars i.income{background:var(--black)}.trend-bars i.expense{background:var(--red)}.trend-col>span{position:absolute;bottom:-17px;font-size:6.7px;color:var(--muted);font-weight:800}.chart-legend{display:flex;gap:12px;justify-content:flex-end;margin-top:9px}.chart-legend span{font-size:7.4px;color:var(--muted);display:flex;align-items:center;gap:4px}.chart-legend i{width:7px;height:7px;border-radius:2px;display:inline-block}.chart-legend i.income{background:var(--black)}.chart-legend i.expense{background:var(--red)}
.category-weight-list{display:grid;gap:10px;margin-top:13px}.category-weight{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center}.category-rank{width:24px;height:24px;border-radius:7px;background:var(--black);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:950}.category-weight>div{min-width:0}.category-weight-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.category-weight-head strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-weight-head span{font-size:8.3px;font-weight:900;white-space:nowrap}.category-weight>div>i{display:block;height:5px;background:var(--surface-3);border-radius:999px;overflow:hidden;margin-top:5px}.category-weight>div>i>b{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--black));border-radius:inherit}.category-weight small{display:block;font-size:6.8px;color:var(--muted);margin-top:4px}.fixed-variable{display:grid;grid-template-columns:104px minmax(0,1fr);gap:13px;align-items:center;margin-top:12px}.split-donut{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--red) 0 var(--fixed),var(--black) var(--fixed) 100%);position:relative}.split-donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:var(--surface)}.split-donut>div{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column}.split-donut strong{font-size:17px;line-height:1}.split-donut span{font-size:6.5px;color:var(--muted);margin-top:3px}.split-legend{display:grid;gap:8px}.split-legend>div{display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center}.split-legend i{width:7px;height:7px;border-radius:2px}.split-legend i.fixed{background:var(--red)}.split-legend i.variable{background:var(--black)}.split-legend span{font-size:8px;color:var(--muted)}.split-legend strong{font-size:8.5px}.split-legend>small{font-size:7px;line-height:1.35;color:var(--muted);border-top:1px solid var(--line);padding-top:7px}
.pre-finance-summary .delta{margin-top:6px!important;white-space:normal;line-height:1.15!important}.pre-finance-summary>div>small:not(.delta){display:block;font-size:7px;color:var(--muted);margin-top:6px}.finance-intelligence{overflow:hidden}.finance-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.finance-insight-grid>div{min-width:0;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:10px;display:flex;flex-direction:column}.finance-insight-grid span{font-size:7.2px;color:var(--muted)}.finance-insight-grid strong{font-size:10px;line-height:1.15;margin-top:5px;white-space:normal}.finance-insight-grid small{font-size:7px;color:var(--muted);margin-top:4px}
@media (min-width:620px){.dashboard-kpis{grid-template-columns:repeat(4,1fr)}.dashboard-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-analysis-grid .section-block{margin-top:12px}.split-card{grid-column:1/-1}.fixed-variable{max-width:430px}.trend-chart{height:135px}.operational-alert{grid-template-columns:34px minmax(0,1fr) auto}.finance-insight-grid strong{font-size:12px}}
@media (max-width:370px){.dashboard-kpis{grid-template-columns:1fr}.dashboard-kpi{min-height:80px}.operational-alert{grid-template-columns:30px minmax(0,1fr)}.operational-alert button{grid-column:2;justify-self:start;padding:2px 0}.fixed-variable{grid-template-columns:88px minmax(0,1fr)}.split-donut{width:88px;height:88px}.split-donut:after{inset:16px}.trend-bars i{width:7px}.finance-insight-grid{grid-template-columns:1fr}.finance-insight-grid>div{min-height:60px}}
.sprint5-hero .geometric-accent{right:-58px}

/* Sprint 6 — migração, backup, integridade e v1.0 */
.v1-status-card{margin-top:12px;border-radius:18px;background:var(--black);color:#fff;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;overflow:hidden}.v1-status-card:after{content:"";position:absolute;right:-24px;bottom:-34px;width:120px;height:76px;background:var(--red);transform:rotate(-17deg)}.v1-status-card>div{position:relative;z-index:1}.v1-status-card .eyebrow{color:#ff9699}.v1-status-card h2{font-size:18px;margin:4px 0 0}.v1-status-card p{font-size:8px;line-height:1.35;color:#d2d2d5;max-width:270px;margin:5px 0 0}.v1-badge{position:relative;z-index:2;display:grid;place-items:center;min-width:58px;height:44px;padding:0 10px;background:#fff;color:#111;border-radius:12px;font-size:13px;font-weight:950}
.data-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.data-kpis>div{min-width:0;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:10px;display:flex;flex-direction:column}.data-kpis span{font-size:7.4px;color:var(--muted);font-weight:800}.data-kpis strong{font-size:10px;line-height:1.25;margin-top:4px;overflow-wrap:anywhere}.data-section{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.data-section>p{font-size:8.2px;line-height:1.45;color:var(--muted);margin:8px 0 10px}.section-title.compact h2{font-size:14px}.file-picker{position:relative;width:100%;overflow:hidden}.file-picker input,.data-action input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.ghost-wide-button{width:100%;height:40px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font-size:9px;font-weight:900;margin-top:7px}.data-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.data-action{position:relative;min-height:72px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);padding:10px;text-align:left;display:flex;gap:8px;align-items:center;overflow:hidden}.data-action>svg{width:18px;height:18px;color:var(--red);flex:0 0 auto}.data-action>span{display:flex;flex-direction:column;min-width:0}.data-action strong{font-size:9px}.data-action small{font-size:7.2px;color:var(--muted);margin-top:3px}.snapshot-list{display:grid;gap:6px;margin-top:10px}.snapshot-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:9px}.snapshot-row>div{min-width:0;display:flex;flex-direction:column}.snapshot-row strong{font-size:8.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-row small{font-size:7px;color:var(--muted);margin-top:3px}.snapshot-row button{border:0;background:transparent;color:var(--red);font-size:7.5px;font-weight:900;padding:5px}.snapshot-row .text-danger{color:var(--muted)}
.integrity-hero{border-radius:16px;padding:14px;border:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column}.integrity-hero.ok{border-color:color-mix(in srgb,var(--green) 28%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--surface))}.integrity-hero.warning{border-color:color-mix(in srgb,var(--amber) 30%,var(--line));background:color-mix(in srgb,var(--amber) 7%,var(--surface))}.integrity-hero span{font-size:7.4px;font-weight:900;letter-spacing:.65px;color:var(--green)}.integrity-hero.warning span{color:var(--amber)}.integrity-hero strong{font-size:17px;margin-top:5px}.integrity-hero p{font-size:8px;color:var(--muted);margin:5px 0 0}.integrity-list{display:grid;gap:7px;margin-top:11px}.integrity-row{display:grid;grid-template-columns:31px minmax(0,1fr);gap:8px;align-items:center;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:9px}.integrity-row>span{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font-weight:950}.integrity-row.ok>span{background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green)}.integrity-row.bad>span{background:color-mix(in srgb,var(--red) 9%,var(--surface));color:var(--red)}.integrity-row>div{display:flex;flex-direction:column;min-width:0}.integrity-row strong{font-size:9.4px}.integrity-row small{font-size:7.3px;color:var(--muted);margin-top:3px;line-height:1.3}
.audit-list{display:grid;gap:0}.audit-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;padding:10px 2px;border-bottom:1px solid var(--line)}.audit-dot{width:8px;height:8px;border-radius:50%;background:var(--red);margin:4px auto 0;box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 8%,transparent)}.audit-row>div{display:flex;flex-direction:column;min-width:0}.audit-row strong{font-size:9.4px}.audit-row small{font-size:7.3px;color:var(--muted);line-height:1.35;margin-top:3px}
.import-summary{background:var(--black);color:#fff;border-radius:15px;padding:13px;position:relative;overflow:hidden}.import-summary:after{content:"";position:absolute;right:-30px;top:-30px;width:100px;height:85px;background:var(--red);transform:rotate(22deg)}.import-summary>*{position:relative;z-index:1}.import-summary span{display:block;font-size:7px;color:#ff9699;font-weight:900;letter-spacing:.6px}.import-summary strong{display:block;font-size:17px;margin-top:4px}.import-summary p{font-size:7.5px;color:#d7d7da;margin:5px 0 0}.import-kpis strong{font-size:9px}.import-warnings{border:1px solid color-mix(in srgb,var(--amber) 28%,var(--line));background:color-mix(in srgb,var(--amber) 7%,var(--surface));border-radius:12px;padding:8px 10px;margin:10px 0}.import-warnings p{font-size:7.4px;color:var(--muted);line-height:1.35;margin:3px 0}.import-preview-list{display:grid;gap:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}.import-preview-list>div{display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"date name amount" "date meta amount";gap:2px 7px;align-items:center;padding:8px;border-bottom:1px solid var(--line);background:var(--surface-2)}.import-preview-list>div:last-of-type{border-bottom:0}.import-preview-list span{grid-area:date;font-size:7px;color:var(--muted)}.import-preview-list strong{grid-area:name;font-size:8.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-preview-list small{grid-area:meta;font-size:6.8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-preview-list b{grid-area:amount;font-size:8.5px;white-space:nowrap}.import-preview-list>p{font-size:7.2px;color:var(--muted);margin:0;padding:8px;background:var(--surface)}.import-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:7px;margin-top:10px}.import-actions .ghost-wide-button{margin-top:0}.import-actions .primary-button{height:40px}
@media (min-width:620px){.data-kpis{grid-template-columns:repeat(4,1fr)}.data-action-grid{grid-template-columns:repeat(2,1fr)}.snapshot-row strong{font-size:9.5px}.import-preview-list>div{grid-template-columns:58px minmax(0,1fr) auto}}
@media (max-width:370px){.data-action-grid,.import-actions{grid-template-columns:1fr}.snapshot-row{grid-template-columns:minmax(0,1fr) auto}.snapshot-row .text-danger{grid-column:2}.v1-status-card p{max-width:210px}}
