.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:30px 19px 16px;background:#0d1b2a;color:#b0bdca;display:flex;flex-direction:column;z-index:60;overflow-y:auto}.sidebar .brand{color:#f3f3f0;padding-left:13px}.sidebar .brand-sub{padding-left:14px}.space-switch{margin:30px 0 27px;border:1px solid #ffffff20;border-radius:10px;background:#ffffff05;color:#e3e7ed;font-size:12px;padding:12px;min-height:47px}.nav-group{font-size:9px;letter-spacing:1.8px;color:#8293a4;padding:0 14px;margin:6px 0 12px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;min-height:47px;border-radius:8px;color:#a9b7c4;text-align:left;font-size:12px;margin-bottom:4px;position:relative}.nav-item.active{color:#e0c593;background:#c9a96e15}.nav-item.active:before{content:'';position:absolute;width:3px;height:23px;left:-19px;background:#c9a96e;border-radius:0 4px 4px 0}.nav-item:hover{background:#ffffff09;color:#eee}.nav-item .tag{margin-left:auto;font-size:9px;padding:3px 6px}.sidebar-bottom{margin-top:auto;padding-top:35px}.sidebar-tip{border:1px solid #ffffff12;border-radius:10px;padding:14px;font-size:11px;line-height:1.7;color:#91a1b1}.sidebar-tip strong{color:#d3bd96;display:block;margin-bottom:5px}.profile{border-top:1px solid #ffffff14;margin-top:22px;padding-top:19px;display:flex;gap:10px;align-items:center}.avatar{width:35px;height:35px;border-radius:50%;background:#c9a96e1a;display:grid;place-items:center;color:#dfc48f;font-size:12px;flex-shrink:0}.profile strong{font-size:11px;color:#e2e8ee;display:block;font-weight:550}.profile small{font-size:10px;color:#8799aa;display:block;margin-top:4px}.main{margin-left:245px;width:calc(100% - 245px);min-width:0}.topbar{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);height:76px;padding:0 35px;display:flex;align-items:center;gap:12px}.breadcrumb{font-size:12px;flex:1;color:var(--muted)}.breadcrumb strong{color:var(--text);font-weight:500;margin-left:10px}.topbar .top-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.topbar .top-note:before{content:'';width:6px;height:6px;background:#5a977e;border-radius:50%}.content{padding:32px 35px 45px;max-width:1700px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading h1{font-size:30px;font-weight:600;line-height:1.2;margin:8px 0}.page-heading h1:after{content:'.';color:var(--gold);margin-left:1px}.page-heading p{font-size:12px;color:var(--muted)}.page-actions{display:flex;gap:9px;align-items:center;flex-shrink:0}.month-control{display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:2px 6px;background:var(--surface)}.month-control input{min-height:38px;width:143px;padding:5px;border:0;font-size:12px;box-shadow:none}.month-control button{min-width:30px;width:30px;height:35px;display:grid;place-items:center;color:var(--muted)}.mobile-menu,.mobile-brand,.bottomnav{display:none}.footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:35px;padding-top:19px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-art{background:#0d1b2a;color:#f2f3f5;padding:60px clamp(40px,6vw,100px);display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-art .brand{color:#f4f2ed}.auth-art-content{margin:auto 0;z-index:1;padding:55px 0}.auth-art-content .eyebrow{color:#cfb681}.auth-art h1{font-size:clamp(34px,4vw,60px);line-height:1.1;font-weight:450;margin:22px 0;letter-spacing:-2.2px}.auth-art h1 em{font-family:Georgia,serif;color:#d9bb82;font-weight:400}.auth-art p{font-size:14px;max-width:420px;color:#9eafbf}.auth-art:after{content:'';position:absolute;bottom:-180px;right:-120px;width:550px;height:550px;border:1px solid #c9a96e20;border-radius:50%;box-shadow:0 0 0 65px #c9a96e05,0 0 0 130px #c9a96e03;pointer-events:none}.auth-art-footer{display:flex;align-items:center;gap:10px;font-size:11px;color:#8fa0b1;z-index:1}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:50px 35px;background:var(--surface)}.auth-form{width:min(100%,390px)}.auth-form h2{font-size:30px;font-weight:550;margin:10px 0}.auth-form>p{font-size:13px;color:var(--muted);margin-bottom:27px}.auth-form .field{margin-top:17px}.auth-form .btn.block{margin-top:25px}.auth-links{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.auth-links button{font-size:12px;color:var(--gold-ink);padding:8px 0;text-align:left}.auth-form .fine{margin-top:30px}
@media(min-width:1500px){.content{padding-top:36px}.hero{min-height:240px}.hero h2{font-size:36px}}
@media(max-width:1190px){.sidebar{width:215px;padding-inline:15px}.main{margin-left:215px;width:calc(100% - 215px)}.topbar{padding-inline:24px}.content{padding:26px 24px 40px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px}.page-actions{width:100%}.page-actions .month-control{margin-right:auto}.hero{padding:28px}.hero h2{font-size:29px}.hero-side{min-width:160px}.hero-side strong{font-size:30px}.metrics{gap:12px}.metric{padding:17px 16px}.metric strong{font-size:23px}.two-col{grid-template-columns:minmax(0,1fr)}.donut-layout{justify-content:space-around}.category-list{max-width:350px}.equal-cols{gap:16px}.table-scroll th,.table-scroll td{padding-inline:14px}}
@media(max-width:860px){.sidebar{transform:translateX(-100%);transition:.2s;width:255px;padding-top:26px;box-shadow:10px 0 70px #0003}.sidebar.open{transform:translateX(0)}.main{margin:0;width:100%}.topbar{height:65px;padding:0 20px;gap:10px}.mobile-menu{display:inline-flex}.mobile-brand{display:block;font-size:25px;flex:1}.breadcrumb{display:none}.topbar .top-note{display:none}.content{padding:24px 22px 110px}.bottomnav{display:flex;position:fixed;bottom:0;inset-inline:0;background:var(--surface);border-top:1px solid var(--line);padding:7px 10px max(8px,env(safe-area-inset-bottom));z-index:45;justify-content:space-around;gap:5px}.bottomnav button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;color:var(--muted);font-size:9px;min-height:49px;min-width:48px}.bottomnav button.active{color:var(--gold-ink)}.bottomnav .quick-add{background:var(--navy);color:#e8d0a2;border-radius:14px;min-width:52px;height:47px;margin-top:-17px;box-shadow:0 3px 12px #0002}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.equal-cols{grid-template-columns:1fr}.hero h2{font-size:30px}.auth-shell{grid-template-columns:1fr}.auth-art{min-height:250px;padding:28px 32px}.auth-art-content{padding:24px 0 10px}.auth-art h1{font-size:36px;margin:13px 0;max-width:550px}.auth-art p,.auth-art-footer{display:none}.auth-form-wrap{padding:35px 25px 60px}.auth-form h2{font-size:27px}#toast{bottom:95px}.step{min-height:150px}.page-heading h1{font-size:28px}}
@media(max-width:520px){.content{padding:22px 16px 105px}.topbar{padding:0 12px}.topbar .icon-btn{min-width:38px}.page-heading{margin-bottom:20px;gap:17px}.page-heading p{font-size:11px}.page-actions{gap:7px;flex-wrap:wrap}.page-actions .btn{padding:10px 12px;font-size:12px}.page-actions>.btn:not(.primary){display:none}.month-control{flex:1}.month-control input{width:100%;min-width:95px}.hero{padding:24px;min-height:230px;align-items:flex-start;gap:12px;flex-direction:column}.hero h2{font-size:27px;max-width:270px}.hero p{font-size:11px;max-width:265px}.hero-side{min-width:0;text-align:left;display:flex;gap:10px;align-items:baseline}.hero-side strong{font-size:25px;display:inline}.hero-side small{font-size:10px}.hero .btn{margin-top:14px}.metrics{gap:10px;margin:16px 0}.metric{min-height:130px;padding:15px 14px}.metric .metric-label{font-size:10px}.metric .metric-icon{width:26px;height:26px}.metric .metric-icon .icon{width:15px}.metric strong{font-size:22px;margin-top:15px;letter-spacing:-.8px}.metric small{font-size:10px}.panel-head{padding:20px 18px 15px}.panel-head h2{font-size:15px}.panel-head p{font-size:10px}.pad,.panel-body{padding-inline:18px}.two-col{gap:16px}.section-gap{margin-top:16px}.banner{padding:20px;align-items:flex-start;flex-direction:column;gap:12px}.banner p{font-size:12px}.steps{grid-template-columns:1fr}.step{min-height:0;padding:16px;display:grid;grid-template-columns:30px 1fr;gap:0 12px}.step>b{grid-row:1/3;margin:0}.step p{grid-column:2}.step strong{font-size:12px}.donut{width:145px;height:145px}.donut-layout{gap:15px}.category-list{min-width:125px}.category-row{font-size:11px}.toolbar{padding:15px 18px}.toolbar input{width:100%;flex-basis:100%}.toolbar select{flex:1;max-width:none;font-size:12px;min-width:0}.mobile-table thead{display:none}.mobile-table,.mobile-table tbody,.mobile-table tr,.mobile-table td{display:block;width:100%}.mobile-table tr{padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:9px 10px;border-bottom:1px solid var(--line)}.mobile-table td{padding:0;border:0;font-size:11px;min-width:0}.mobile-table td:first-child{grid-column:1;grid-row:1}.mobile-table td.mobile-amount{grid-column:2;grid-row:1;text-align:right;font-size:13px;align-self:start}.mobile-table td.mobile-state{grid-column:2;grid-row:2;text-align:right}.mobile-table td.mobile-date{grid-column:1;grid-row:2}.mobile-table td.mobile-actions{grid-column:1/-1;margin-top:4px}.mobile-table .actions{justify-content:flex-end}.mobile-table .hide-mobile{display:none}.calendar{gap:3px}.day{min-height:65px;padding:7px 3px;gap:5px}.day small{font-size:8px}.day b{font-size:11px}.agenda-item{flex-wrap:wrap;gap:9px}.agenda-item .grow{flex-basis:calc(100% - 60px)}.agenda-item>.amount{margin-left:50px;font-size:12px}.agenda-item>.btn{margin-left:auto}.agenda-item .tag{font-size:10px}.form-grid{grid-template-columns:1fr}.field.full,.full{grid-column:1}.modal-body{padding:20px}.modal-head{padding:13px 20px}.modal-head h2{font-size:19px}.form-actions>.btn{flex:1}.quick-box{flex-wrap:wrap}.quick-box .btn{width:100%}.footer{font-size:9px}.footer span:last-child{display:none}.tabs{width:100%;overflow:auto}.tabs button{flex:1;white-space:nowrap;font-size:11px;padding-inline:12px}.setting-row{flex-wrap:wrap}.setting-row .btn{font-size:11px}.auth-art{min-height:230px;padding:26px}.auth-art h1{font-size:33px}.auth-art .brand{font-size:28px}.auth-form-wrap{padding-top:27px}dialog{max-height:94dvh}.credit-card{padding:22px}.card-content{padding:18px}.debt-card,.goal-card{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.bottomnav,.page-actions,.btn,.footer{display:none!important}.main{margin:0;width:100%}.content{padding:0}.panel{break-inside:avoid}.hero{print-color-adjust:exact}}

.menu-shade{display:none}@media(max-width:860px){.menu-shade{display:block;position:fixed;inset:0;z-index:55;background:#07121e70;backdrop-filter:blur(2px)}}@media(max-width:520px){.hero-side{display:block}.hero-side small{display:block}.hero-side strong{display:block;margin:5px 0}.hero-side small:last-child{display:none}}

/* O texto dos cartões herda a cor de contraste de cada instituição. */
.bank-face small{color:inherit}.bank-face .bank-nickname,.bank-face .bank-footnote{opacity:.88}.bank-face .bank-face-value>small{opacity:.86}
