*{box-sizing:border-box}
:root{--ink:#515264;--muted:#7c7d85;--line:#d8e7fc;--bg:#f6f9fe;--blue:#2087e8;--blue-dark:#0873d6;--blue-pale:#e7f1ff;--green:#0b9e5b;--red:#e74d3e;--yellow:#f7b500;--mint:#e9f7ef;--shadow:0 10px 32px #2c6db90a;--sidebar:254px}
body{margin:0;font:14px/1.5 "Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .16s,box-shadow .16s;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}svg{display:block}button svg,[data-icon] svg{width:21px;height:21px}button:focus-visible,a:focus-visible{outline:3px solid #79b6fa;outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a1caff;outline-offset:1px}
.topbar{position:fixed;inset:0 0 auto;height:68px;background:#fff;border-bottom:1px solid #e8edf4;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:15px}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.topbar-left{min-width:230px}.brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:650;letter-spacing:-.65px;white-space:nowrap;color:#27292e}.brand-person{display:inline;color:var(--blue);margin-left:3px}.brand-mark{width:38px;height:34px}.brand-mark svg{width:100%;height:100%}.icon-btn{height:34px;min-width:34px;padding:6px;border:0;background:transparent;border-radius:50%;color:#808186}.icon-btn:hover{background:#eaf1fa;color:var(--blue)}.icon-btn.danger:hover{background:#fff0ed;color:var(--red)}.menu-toggle{margin-left:-8px}.top-more{background:#edf1f8;width:40px;height:40px}.avatar{width:40px;height:40px;border:2px solid #78aaff;border-radius:50%;background:#f2f5fa;color:#5883aa;font-size:16px;font-weight:650;box-shadow:0 2px 8px #5680b41a}.new-round{width:42px;height:42px;border:0;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 3px 9px #2087e820}.new-round:hover{background:var(--blue-dark)}.new-round svg{width:25px;height:25px}
.month-control{display:flex;align-items:center;background:#edf1f8;border:0;border-radius:28px;padding:3px 9px;gap:5px}.month-control input{border:0;background:transparent;width:151px;text-align:center;color:#4b4d53;font-size:14px;padding:6px 2px;outline:none;cursor:pointer}.month-control input::-webkit-calendar-picker-indicator{width:13px;opacity:.55}.month-control .icon-btn{width:29px;min-width:29px;height:32px;color:#525459}
.layout{min-height:100vh;padding-top:68px}.sidebar{position:fixed;inset:68px auto 0 0;width:var(--sidebar);padding:17px 12px 20px 0;background:#f6f9fe;border-right:1px solid #e5ebf3;display:flex;flex-direction:column;z-index:25;overflow:auto;transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility .2s}.nav-open .sidebar{transform:none;visibility:visible}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{border:0;background:transparent;text-align:left;justify-content:flex-start;border-radius:0 28px 28px 0;min-height:49px;padding:12px 18px;gap:24px;width:100%;color:#46484d;font-size:14px;font-weight:500}.nav-item:hover{background:#edf2fa}.nav-item.active{background:#dfecff;color:#0879ef;font-weight:600}.nav-item svg{width:23px;height:23px;flex-shrink:0}.nav-label{font-size:11px;color:#7f8188;margin:27px 15px 14px;font-weight:400}.sidebar-bottom{margin-top:auto;padding-top:30px}.offline{border-top:1px solid #e4ebf5;padding:18px 18px 0;display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#737d89}.offline small{display:block;color:#929ba6;font-size:10px;margin-top:4px}.status-dot{width:7px;height:7px;background:var(--green);border-radius:50%;display:inline-block;flex-shrink:0;margin-top:5px}.workspace{width:100%;min-width:0;transition:margin .2s}.nav-open .workspace{margin-left:var(--sidebar);width:calc(100% - var(--sidebar))}.nav-backdrop{display:none}main{max-width:1800px;margin:0 auto;padding:26px 26px 12px}.overview-page main{padding:17px 16px 12px}.overview-page .page-heading{display:none}.page-heading{margin-bottom:24px;display:flex;justify-content:space-between;gap:15px}.eyebrow{font-size:10px;letter-spacing:1px;color:#858e9d;margin-bottom:6px;font-weight:600}h1{font-size:27px;font-weight:550;letter-spacing:-.65px;line-height:1.25;margin:0}h2{font-size:18px;font-weight:450;letter-spacing:-.3px;line-height:1.3;margin:0}h3{font-size:14px;font-weight:600;margin:0}.page-heading p{font-size:13px;color:var(--muted);margin:8px 0 0}
.btn{border:1px solid #dbe5f2;border-radius:22px;background:#fff;padding:10px 17px;font-size:12px;font-weight:500;color:#697587;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:#edf5ff}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.small{padding:7px 12px;font-size:11px}.btn.ghost{border:0;background:transparent;color:var(--blue)}.btn.ghost:hover{background:#eef6ff}.btn.danger{color:var(--red);border-color:#f4d6d0;background:#fff5f2}.btn.wide{width:100%}.btn svg{width:17px;height:17px}.muted{color:var(--muted)}.green{color:var(--green)}.red{color:var(--red)}.blue{color:var(--blue)}.hint{font-size:11px;line-height:1.6;color:#858a94}.notice{display:flex;align-items:center;gap:11px;padding:12px 17px;border:1px solid #f0e4c9;background:#fffcf4;border-radius:17px;color:#9b7832;font-size:11px;margin-bottom:18px}.notice button{margin-left:auto}.notice svg{width:18px;height:18px;flex-shrink:0}.notice.info{background:#eff6ff;border-color:#d6e8ff;color:#54769d}.notice strong{font-weight:600}
.card{border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow);overflow:hidden;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 12px}.card-head p{font-size:11px;color:#92959e;margin:5px 0 0}.card-head>svg{width:20px;height:20px;color:#91949a}.card-content{padding:16px 20px 23px}.section-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.section-actions .icon-btn{height:30px;min-width:30px}.subtle-pill{font-size:10px;color:#8192a7;background:#f4f8fe;border-radius:12px;padding:4px 9px}.section-label{font-size:12px;font-weight:500;margin:24px 0 15px;color:#747d8a}
.summary-layout{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(280px,1fr);gap:16px;align-items:start}.summary-main,.summary-aside{display:flex;flex-direction:column;gap:16px;min-width:0}.hero-grid{display:grid;grid-template-columns:minmax(215px,1fr) minmax(0,2fr);gap:13px}.balance-card{padding:21px 22px 15px;display:flex;flex-direction:column;justify-content:center;min-height:228px}.balance-steps{position:relative}.balance-steps:before{content:"";position:absolute;left:15px;top:25px;bottom:25px;border-left:2px solid #e5e9ef}.balance-step{display:flex;gap:18px;position:relative;align-items:center;padding:4px 0 18px}.balance-step:last-child{padding-bottom:0}.balance-dot{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;background:#eff7ff;color:var(--blue);box-shadow:0 0 0 4px #fff}.balance-dot svg{width:19px;height:19px}.balance-step.current .balance-dot{background:#fff0ec;color:var(--red)}.balance-step.current.positive .balance-dot{background:#eaf8ef;color:var(--green)}.balance-step.forecast .balance-dot{background:#f8f9fb;color:#8a8c92}.balance-step strong{font-size:17px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.3;display:block}.balance-step.current strong{font-size:25px;letter-spacing:-.4px}.balance-step small{font-size:12px;display:block;margin-top:2px}.balance-caption{font-size:9px;color:#9aa0aa;margin:12px 0 0 49px}
.balance-chart-card{padding:17px 20px 14px;display:flex;flex-direction:column;justify-content:space-between}.chart-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#9299a5;gap:10px}.chart-heading small{font-size:10px}.balance-chart{width:100%;height:160px;overflow:visible}.balance-chart text{font:11px "Segoe UI",Arial,sans-serif;fill:#a2acba}.balance-chart .chart-grid{stroke:#e8eef6;stroke-width:1}.balance-chart .zero-line{stroke:#d8e2ef;stroke-dasharray:4 4}.chart-caption{font-size:9px;color:#9aa3af;line-height:1.5;margin-top:4px}
.overview-label{display:flex;align-items:center;justify-content:space-between;margin:4px 8px -5px;font-size:17px;font-weight:400}.overview-label .icon-btn{width:27px;height:27px;min-width:27px}.summary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-metric{padding:24px 16px;min-height:138px;display:flex;align-items:flex-start;gap:13px}.summary-metric .metric-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;background:var(--blue);color:#fff;box-shadow:0 4px 8px #2087e821;margin-top:7px}.metric-symbol svg{width:22px;height:22px}.summary-metric.income .metric-symbol{background:var(--green);box-shadow:0 4px 8px #0b9e5b21}.summary-metric.expense .metric-symbol{background:var(--red);box-shadow:0 4px 8px #e74d3e21}.summary-metric.pending .metric-symbol{background:var(--yellow);box-shadow:0 4px 8px #f7b50021}.summary-metric strong{display:block;font-size:20px;font-weight:600;letter-spacing:-.5px;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--blue-dark)}.summary-metric.income strong{color:#00874d}.summary-metric.expense strong{color:#df392a}.summary-metric.pending strong{color:#c39300}.summary-metric small{display:block;font-size:11px;line-height:1.4;color:#72747e}.metric-comparison{display:inline-block;margin-top:5px;border-radius:15px;padding:2px 8px;font-size:10px;line-height:1.4;color:#137bce;background:#eef7ff}.metric-comparison.good{color:#00874d;background:#edf8f1}.metric-comparison.bad{color:#dc4f3d;background:#fff1ed}.metric-comparison.neutral{color:#7d8a9b;background:#f3f6fb}.summary-metric.pending .metric-comparison{color:#b88c05;background:#fff8e5}
.dashboard-search{border:1px solid var(--line);background:#fff;border-radius:30px;padding:18px 20px;justify-content:flex-start;gap:12px;text-align:left;color:#66687a;min-height:66px;box-shadow:var(--shadow);font-size:13px;line-height:1.4}.dashboard-search>svg{width:23px;height:23px;color:var(--blue);flex-shrink:0}.search-shortcut{margin-left:auto;font-size:10px;background:#f6f9fd;border:1px solid #e8edf5;border-radius:6px;padding:3px 6px;color:#9aa2ae;white-space:nowrap}.dashboard-search:hover{border-color:#a8cbf7;background:#fcfdff}
.pending-card{text-align:center}.pending-heading{padding:18px;border-bottom:4px solid var(--red);font-size:13px;color:var(--red)}.pending-body{padding:28px 18px 24px;display:flex;flex-direction:column;align-items:center;min-height:226px;justify-content:center}.pending-emblem{height:39px;width:39px;border-radius:50%;background:#f5f6f7;color:#75777d;display:grid;place-items:center;margin-bottom:12px}.pending-emblem svg{width:25px;height:25px}.pending-body p{margin:3px 0;font-size:13px;line-height:1.6;color:#555761}.pending-body p b{font-weight:600;color:var(--red)}.pending-body>strong{font-size:21px;color:#34363f;font-weight:550;margin:0 0 14px}.pending-link{color:var(--red);background:#fff3f1;border:0;border-radius:25px;padding:12px 17px;font-size:11px}.pending-link:hover{background:#ffe8e3}.pending-link svg{height:17px;width:17px}.pending-card.all-clear .pending-heading{color:var(--green);border-color:var(--green)}.pending-card.all-clear .pending-body p b{color:var(--green)}
.ring-card .card-head{padding-bottom:0;min-height:53px}.ring-block{padding:14px 16px 20px}.ring{width:min(100%,255px);aspect-ratio:1;position:relative;margin:0 auto 14px}.ring svg{width:100%;height:100%;overflow:visible}.ring-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.ring-center strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.ring-center small{font-size:12px;color:#7b7c83}.ring-percent{font:10px "Segoe UI",Arial,sans-serif;fill:#fff;font-weight:600;text-anchor:middle;dominant-baseline:central}.ring-legend{border-radius:22px;background:#f7f9fd;padding:10px 13px}.ring-legend-row{display:flex;align-items:center;gap:9px;font-size:12px;padding:10px 0;border-bottom:1px dashed #e2e8f0}.ring-legend-row:last-child{border:0}.ring-legend-row i{height:10px;width:10px;border-radius:50%;flex-shrink:0}.ring-legend-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ring-legend-row strong{font-weight:450;font-size:12px;white-space:nowrap}.ring-note{font-size:10px;line-height:1.6;color:#8d94a0;text-align:center;margin:12px 7px 0}.ring-empty{font-size:12px;color:#8a8d94;text-align:center;padding:5px 0 12px}
.accounts-overview .table-scroll{padding:0 16px 12px}.accounts-overview table{font-size:13px}.accounts-overview th{font-weight:400;font-size:12px;background:#fff;letter-spacing:0;text-transform:none;padding:12px 8px;color:#666a78;border-bottom:1px solid #e9edf4}.accounts-overview td{padding:15px 8px;border-bottom:1px solid #eef1f6}.accounts-overview .account-total td{background:#f7f9fd;border:0;padding:16px 8px;font-weight:550}.accounts-overview .account-label{display:flex;align-items:center;gap:10px;white-space:nowrap}.account-logo{height:35px;width:35px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:#f1f3f5;color:#65676a}.account-logo svg{height:23px;width:23px}.account-logo.wallet{background:#ff1681;color:#fff}.accounts-overview .account-note{font-size:10px;padding:0 23px 14px;color:#939ba7}.accounts-overview .numeric{white-space:nowrap}.accounts-overview .compact-forecast{display:none;font-size:11px;font-weight:400}.account-total .account-label{padding-left:4px}
.recent-expenses .mini-rows{padding:0 20px 15px}.mini-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 0;border:0;border-bottom:1px solid #f0f3f7;background:transparent;text-align:left;border-radius:0;color:var(--ink);min-width:0}.mini-row:last-child{border-bottom:0}.mini-row:hover{background:#f8faff}.mini-marker{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.mini-marker.pending{background:var(--yellow)}.mini-icon{width:37px;height:37px;display:grid;place-items:center;background:#686aca;color:#fff;border-radius:50%;flex-shrink:0}.mini-icon svg{height:19px;width:19px}.mini-detail{flex:1;min-width:0}.mini-detail strong{display:block;font-size:14px;font-weight:450;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-detail small{display:block;font-size:11px;color:#81838b;margin-top:2px}.mini-value{font-size:14px;font-weight:450;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.mini-value small{font-size:11px;color:#898c93;display:block;margin-top:2px}.mini-rows{padding:0 20px 14px}.credit-overview .mini-rows{padding-bottom:16px}.credit-overview .mini-icon{background:#f7f7f8;color:#2087e8}.credit-overview .mini-value{font-size:15px}.credit-overview .card-note{padding:0 20px 17px;font-size:10px;color:#939ba5}.credit-overview .mini-row{cursor:default}.credit-overview .mini-row:hover{background:none}
.week-card .card-content{padding-top:3px}.week-chart{height:220px;display:flex;gap:14px;align-items:stretch;padding:25px 4px 0}.week-scale{width:55px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:#a1a5ae;padding-bottom:30px}.week-columns{display:flex;flex:1;gap:15px;min-width:0;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent 74px,#edf1f6 74px,#edf1f6 75px)}.week-column{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.week-bars{height:164px;display:flex;align-items:flex-end;justify-content:center;gap:6px;width:100%}.week-bar{background:var(--green);width:8px;border-radius:6px;min-height:0;max-width:25%}.week-bar.expense{background:var(--red)}.week-column small{display:block;padding-top:9px;font-size:11px;color:#8b919b;white-space:nowrap}.legend{display:flex;gap:17px;color:#818691;font-size:11px;margin-top:16px}.legend span{display:flex;gap:6px;align-items:center}.legend i{height:10px;width:10px;display:inline-block;border-radius:50%;background:var(--green)}.legend i.expense{background:var(--red)}.chart-footnote{font-size:10px;color:#969eaa;margin-top:9px}.ranking-list{padding:0 22px 23px}.ranking-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(80px,2fr) auto;gap:13px;align-items:center;margin-top:15px;font-size:12px}.ranking-row .ranking-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-bar{height:12px;border-radius:8px;background:#f3f6fc;overflow:hidden}.ranking-bar i{display:block;height:100%;border-radius:8px}.ranking-row b{font-weight:500;white-space:nowrap}.review-notice{margin:0;font-size:11px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{border:1px solid var(--line);border-radius:24px;background:#fff;padding:20px}.metric-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.metric-label{font-size:12px;color:#818b9a}.metric-icon{width:30px;height:30px;display:grid;place-items:center;background:#f3f7fd;border-radius:50%;color:var(--blue)}.metric-icon svg{width:18px;height:18px}.metric-value{font-size:25px;font-weight:600;font-variant-numeric:tabular-nums}.metric-foot{font-size:10px;color:#8e98a5;margin-top:6px}.metric-foot b{font-weight:500}.pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;padding:4px 9px;border-radius:14px;background:#f1f5fa;color:#8190a4;white-space:nowrap}.pill.paid{background:#eaf7ef;color:#19935d}.pill.pending{background:#fff7e5;color:#b58a18}.pill.late{background:#fff0ed;color:#d65a49}.pill.review{background:#fff5d8;color:#a0812d}.empty{padding:33px 20px;text-align:center;color:#929ba8;font-size:12px}.empty svg{height:28px;width:28px;margin:0 auto 12px;color:#b8c6d7}.empty h3{font-size:14px;font-weight:500;color:#77879b;margin-bottom:7px}.empty p{max-width:350px;margin:0 auto 16px}
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}.page-toolbar p{font-size:12px;color:#89929e;margin:0}.filters{display:flex;align-items:center;gap:10px;padding:19px 20px;border-bottom:1px solid #e8edf5;flex-wrap:wrap}.search{position:relative;flex:1;min-width:190px}.search svg{position:absolute;left:12px;top:11px;width:17px;height:17px;color:#9da9b9}.search input{width:100%}.filters input,.filters select{height:38px;background:#f7f9fd;border:1px solid #e2e9f3;border-radius:18px;padding:8px 12px;font-size:11px;color:#768297;outline:none}.filters .search input{padding-left:37px}.filters input:focus,.filters select:focus{border-color:#94c5ff;background:#fff}.switch-label{display:flex;align-items:center;gap:6px;font-size:11px;color:#8390a2;cursor:pointer}.switch-label input{width:15px;height:15px;accent-color:var(--blue)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-size:10px;letter-spacing:.3px;color:#94a0b2;font-weight:500;padding:14px 20px;background:#fafcff;border-bottom:1px solid #e8eef6;white-space:nowrap}td{padding:15px 20px;border-bottom:1px solid #edf1f7;vertical-align:middle}tbody tr:hover{background:#fbfdff}.numeric{text-align:right;font-variant-numeric:tabular-nums}td.desc{min-width:220px;max-width:410px}td.desc strong{font-size:12px;font-weight:500}td.desc small{font-size:10px;color:#929eae;display:block;margin-top:4px}.table-actions{display:flex;justify-content:flex-end;gap:3px}.table-actions .icon-btn{height:29px;min-width:29px;width:29px}.table-actions svg{width:16px;height:16px}.category-badge{font-size:11px;display:inline-flex;gap:6px;align-items:center;color:#7c899b;white-space:nowrap}.category-badge i{height:7px;width:7px;border-radius:50%;display:inline-block}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 20px;font-size:11px;color:#8d98a8}.pager{display:flex;gap:10px;align-items:center}
.account-grid,.budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-card{padding:24px}.account-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.account-name{display:flex;gap:12px;align-items:center}.account-symbol{width:41px;height:41px;border-radius:50%;background:#edf5ff;display:grid;place-items:center}.account-symbol svg{width:24px;height:24px}.account-name small{display:block;font-size:11px;color:#929bab;margin-top:4px}.account-value{font-size:30px;font-weight:550;letter-spacing:-.7px;margin:5px 0 17px}.account-breakdown{border-top:1px solid #e9eff7;padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-breakdown small{font-size:11px;color:#929bab;display:block}.account-breakdown b{font-size:14px;font-weight:500;display:block;margin-top:6px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.category-tile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}.category-tile .dot{width:29px;height:29px;border-radius:50%;flex-shrink:0;opacity:.85}.category-tile strong{font-size:12px;font-weight:500;display:block}.category-tile small{font-size:10px;color:#99a3b1}.category-tile .icon-btn{margin-left:auto}.budget-card{padding:24px}.budget-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.budget-number{font-size:25px;font-weight:550;letter-spacing:-.6px}.budget-number small{font-size:12px;color:#9aa4b2;font-weight:400}.progress{height:8px;background:#eef3fa;border-radius:6px;overflow:hidden;margin:16px 0 10px}.progress i{height:100%;display:block;border-radius:6px;background:var(--blue)}.budget-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#8995a6}.credit-card{padding:26px;background:#fff;border-color:var(--line)}.credit-card>svg{width:29px;height:29px;color:var(--blue)}.credit-card h3{margin-bottom:15px}.credit-card strong{font-size:25px;display:block;margin:5px 0 15px;font-weight:550}.credit-card small{font-size:11px;color:#8e99a9}.credit-card .row{display:flex;gap:25px}.credit-card .hint{margin-top:18px}.rule-desc small{display:block;font-size:10px;color:#929eae;margin-top:4px}.rule-amount{font-weight:550;white-space:nowrap}.archived{opacity:.6}
.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.backup-card{padding:26px}.backup-icon{width:42px;height:42px;border-radius:50%;background:#edf5ff;display:grid;place-items:center;color:var(--blue);margin-bottom:18px}.backup-icon svg{width:23px;height:23px}.backup-card p{font-size:12px;line-height:1.8;color:#8995a6;margin:12px 0 22px}.backup-info{margin-top:21px;padding:26px}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:22px}.info-grid small{display:block;font-size:11px;color:#949fad}.info-grid strong{display:block;font-size:23px;margin-top:5px;font-weight:550}.details-note{background:#f6f9fd;border-radius:16px;padding:15px 18px;color:#8693a4;font-size:11px;line-height:1.8;margin-top:20px}.restore-input{width:100%;display:block;border:1px dashed #cad9ed;border-radius:15px;padding:14px;background:#fafcff;color:#8492a5;font-size:11px}
dialog{border:1px solid var(--line);border-radius:26px;padding:0;width:570px;max-width:calc(100vw - 28px);max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 25px 90px #23456f35}dialog::backdrop{background:#243c5e55;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px 18px;border-bottom:1px solid #e8eef6}.modal-head h2{font-size:22px;font-weight:500}.modal-head .eyebrow{display:block;font-size:9px}.form-body{padding:23px 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:500;color:#748197}.field input,.field select,.field textarea{width:100%;border:1px solid #dce6f2;border-radius:12px;padding:11px 12px;font-size:12px;color:#4f627a;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#88baff;box-shadow:0 0 0 3px #2087e812}.field input[type=color]{height:41px;padding:4px}.field textarea{resize:vertical;min-height:75px}.field small{font-size:10px;color:#929faf}.check-field{display:flex;align-items:center;gap:9px;font-size:12px;color:#7a899d}.check-field input{accent-color:var(--blue);width:16px;height:16px}.modal-actions{padding:17px 26px;display:flex;justify-content:flex-end;gap:10px;background:#fafcff;border-top:1px solid #e8eef6}.form-error{padding:12px 15px;color:#cb5b51;background:#fff2ef;border-radius:12px;font-size:12px;margin-top:14px}.form-note{font-size:11px;color:#8b97a8;background:#f5f8fd;border-radius:12px;padding:12px 14px;margin-top:15px;line-height:1.7}.form-note.warning{background:#fff9ed;color:#a18449}.confirm-body{padding:24px 26px;color:#7d899b;font-size:13px;line-height:1.8}.hidden,[hidden]{display:none!important}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#315377;color:#fff;border-radius:22px;padding:13px 23px;box-shadow:0 8px 28px #20457030;font-size:12px;z-index:100;transition:opacity .2s,transform .2s;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#b45248}.loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:75px;color:#8d9aad}.spinner{height:20px;width:20px;border:2px solid #dce9fa;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-connection{max-width:500px;margin:80px auto;text-align:center}.no-connection h2{margin-bottom:12px}.no-connection p{color:#8492a5;font-size:13px}.no-connection>svg{width:32px;height:32px;margin:0 auto 15px}footer{font-size:10px;color:#9aa4b1;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:24px 8px 8px}.clickable{cursor:pointer}
@media(max-width:1600px){.summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-metric{min-height:126px;padding:23px 19px}.hero-grid{grid-template-columns:minmax(205px,1fr) minmax(0,1.65fr)}.accounts-overview .account-flow{display:none}}
@media(min-width:1700px){.summary-metric strong{font-size:21px}.summary-metric{padding:25px 16px}.ring{width:270px}.card-head{padding:20px 22px 13px}}
@media(max-width:1200px){:root{--sidebar:240px}.summary-layout{grid-template-columns:minmax(0,2.1fr) minmax(270px,1fr)}.balance-card{padding:19px 16px}.hero-grid{grid-template-columns:minmax(200px,1fr) minmax(0,1.8fr)}.nav-open .workspace{margin-left:0;width:100%}.nav-open .nav-backdrop{display:block;position:fixed;inset:68px 0 0;border:0;border-radius:0;background:#20365238;z-index:24}.sidebar{box-shadow:12px 0 35px #224c7b0c}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-metric strong{font-size:22px}.ring-center strong{font-size:16px}.accounts-overview .account-forecast{display:none}.accounts-overview .compact-forecast{display:block}.accounts-overview th,.accounts-overview td{padding-left:6px;padding-right:6px}.balance-step.current strong{font-size:23px}}
@media(max-width:960px){.hero-grid{grid-template-columns:minmax(190px,1fr) minmax(0,1.35fr)}.summary-layout{grid-template-columns:minmax(0,1.75fr) minmax(255px,1fr)}.summary-metric{padding:20px 12px;gap:10px}.summary-metric strong{font-size:19px}.summary-metric .metric-symbol{width:34px;height:34px}.metric-comparison{font-size:9px;padding:2px 6px}.balance-step{gap:12px}.balance-step.current strong{font-size:21px}.balance-step strong{font-size:15px}.balance-card{padding:20px 12px}.balance-chart-card{padding:17px 12px}.balance-caption{margin-left:44px}.chart-heading{font-size:10px}.chart-heading small{display:none}.account-grid,.budget-grid,.backup-grid{grid-template-columns:1fr}.ring-legend-row{font-size:11px}.ring-legend-row strong{font-size:11px}.card-head{padding:19px 17px 12px}h2{font-size:17px}.recent-expenses .mini-rows{padding:0 17px 15px}.mini-detail strong,.mini-value{font-size:13px}.mini-icon{width:32px;height:32px}.mini-row{gap:9px}.search-shortcut{display:none}}
@media(max-width:780px){.summary-layout{grid-template-columns:1fr}.summary-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.summary-aside .dashboard-search{grid-column:1/-1}.summary-aside .pending-card{grid-column:1/-1}.pending-body{min-height:185px;padding:20px}.hero-grid{grid-template-columns:minmax(200px,1fr) minmax(0,1.8fr)}.summary-metric{padding:23px 20px;gap:14px}.summary-metric strong{font-size:23px}.summary-metric .metric-symbol{width:40px;height:40px}.metric-comparison{font-size:10px}.topbar{padding:0 13px}.topbar-left{min-width:0;gap:9px}.topbar-right{gap:9px}.brand{font-size:18px}.brand-mark{width:32px}.month-control{gap:0;padding:3px}.month-control input{font-size:12px;width:135px}.top-more{display:none}.avatar{width:35px;height:35px}.new-round{width:38px;height:38px}.ring{max-width:235px}.accounts-overview .account-forecast{display:table-cell}.accounts-overview .compact-forecast{display:none}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:24px 17px}.overview-page main{padding:14px 12px 10px}.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.topbar{height:62px;padding:0 10px;gap:7px}.topbar-left{gap:5px}.brand{font-size:16px;gap:5px}.brand-mark{width:27px}.brand-person{display:none}.menu-toggle{width:28px;min-width:28px;margin-left:-3px}.topbar-right{gap:7px}.avatar{display:none}.month-control input{width:105px;font-size:11px}.month-control .icon-btn{min-width:23px;width:23px;padding:3px}.new-round{width:34px;height:34px}.layout{padding-top:62px}.sidebar{top:62px}.nav-open .nav-backdrop{top:62px}.hero-grid{grid-template-columns:1fr;gap:12px}.balance-card{padding:18px 20px;min-height:auto}.balance-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px}.balance-steps:before{display:none}.balance-step{padding:0;gap:10px}.balance-step.current{grid-column:1/-1;grid-row:1;padding-bottom:9px;border-bottom:1px solid #edf2f8}.balance-step.current strong{font-size:28px}.balance-step.current .balance-dot{width:38px;height:38px}.balance-step strong{font-size:15px}.balance-step small{font-size:11px}.balance-caption{margin:12px 0 0}.balance-chart-card{padding:16px 19px 12px}.balance-chart{height:130px}.chart-heading{font-size:12px}.summary-metrics{gap:10px}.summary-metric{padding:17px 13px;gap:9px;min-height:126px;flex-direction:column}.summary-metric .metric-symbol{margin:0;width:31px;height:31px}.summary-metric .metric-symbol svg{height:18px;width:18px}.summary-metric strong{font-size:20px}.summary-metric small{font-size:11px}.metric-comparison{font-size:9px}.card{border-radius:23px}.summary-aside{grid-template-columns:1fr}.summary-aside .dashboard-search,.summary-aside .pending-card{grid-column:auto}.accounts-overview .account-forecast{display:none}.accounts-overview .compact-forecast{display:block}.accounts-overview .account-label{gap:7px;font-size:12px}.account-logo{height:30px;width:30px}.account-logo svg{width:20px}.accounts-overview td{font-size:12px}.accounts-overview .table-scroll{padding:0 11px 12px}.accounts-overview .account-note{font-size:9px;padding:0 17px 14px}.recent-expenses .mini-rows{padding-left:14px;padding-right:14px}.mini-detail strong,.mini-value{font-size:12px}.mini-detail small,.mini-value small{font-size:10px}.mini-marker{width:5px;height:5px}.mini-row{gap:8px}.week-chart{gap:7px;padding-top:20px}.week-scale{width:40px;font-size:9px}.week-columns{gap:5px}.week-bars{gap:4px}.week-bar{width:7px}.week-column small{font-size:9px}.ranking-list{padding-left:17px;padding-right:17px}.ranking-row{grid-template-columns:minmax(90px,1fr) minmax(55px,1fr) auto;font-size:11px;gap:9px}.page-toolbar{align-items:flex-start;gap:10px}.page-toolbar p{font-size:11px}.category-grid{grid-template-columns:1fr}.table-footer{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-body{padding:20px}.modal-head{padding:20px}.modal-actions{padding:16px 20px}.notice{font-size:10px;gap:8px;padding:12px}.notice .btn{font-size:10px;padding:7px}.backup-card,.backup-info{padding:21px}.backup-card .section-actions{align-items:stretch}.metrics{grid-template-columns:1fr 1fr}.summary-main,.summary-aside{gap:13px}.search-shortcut{display:inline}footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Lista de despesas aberta pelo cartão Total gasto */
.summary-metric-button{appearance:none;width:100%;text-align:left;justify-content:flex-start;font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.summary-metric-button:hover{border-color:#efaba3;box-shadow:0 7px 24px #e74d3e14;transform:translateY(-1px)}
.summary-metric-button:focus-visible{outline:3px solid #f39b91;outline-offset:3px}
.metric-copy{display:block;min-width:0}
.expense-topbar-title,.expense-topbar-search,.expense-options{display:none}
.expenses-page{background:#fff}
.expenses-page .topbar{padding-left:15px;padding-right:15px;gap:18px;border-bottom:0}
.expenses-page .topbar-left,.expenses-page .top-more,.expenses-page .avatar{display:none}
.expenses-page .expense-topbar-title{display:flex;align-items:center;gap:4px;flex:1;min-width:135px}
.expense-topbar-title h1{font-size:20px;font-weight:500;color:#292c31;letter-spacing:0}
.expense-topbar-title .icon-btn svg{width:23px;height:23px}
.expenses-page .expense-topbar-search{display:flex;align-items:center;gap:6px;border-radius:25px;background:#edf1f8;width:250px;height:42px;padding:0 10px 0 15px}
.expense-topbar-search>svg{width:19px;height:19px;color:var(--blue);flex-shrink:0}
.expense-topbar-search input{min-width:0;flex:1;width:100%;border:0;background:transparent;font-size:14px;color:#5b6370;outline:none;padding:9px 2px}
.expense-topbar-search input::placeholder{color:#a8aeba}
.expense-topbar-search input::-webkit-search-cancel-button{display:none}
.expense-topbar-search .icon-btn{color:var(--blue);width:29px;height:29px;min-width:29px}
.expenses-page .expense-options{display:inline-flex;width:42px;height:42px;background:#edf1f8}
.expenses-page .new-round{background:var(--red);box-shadow:none}
.expenses-page .new-round:hover{background:#ce4033}
.expenses-page .sidebar{visibility:hidden;transform:translateX(-100%)}
.expenses-page .nav-backdrop{display:none}
.expenses-page .workspace,.expenses-page.nav-open .workspace{margin-left:0;width:100%}
.expenses-page main{max-width:none;padding:2px 7px 12px}
.expenses-page .page-heading,.expenses-page main>footer{display:none}
.expense-view{border:1px solid #e6ecf6;border-radius:6px;overflow:hidden;background:#fff}
.expense-table{font-size:14px;table-layout:auto;min-width:925px}
.expense-table th{font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;color:#626677;background:#f7f9fd;padding:14px 13px;white-space:nowrap;border-bottom:1px solid #e8ecf3}
.expense-table td{padding:10px 13px;height:56px;border-bottom:1px solid #e9edf3;color:#575a6c}
.expense-table tbody tr:hover{background:#f7f9fd}
.expense-table .expense-state-cell{width:100px}
.expense-state{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#fff8e4;color:#efb300}
.expense-state svg{width:19px;height:19px}
.expense-state.paid{background:#e3f3ed;color:#00a76b}
.expense-state.late{background:#fff0ed;color:#ee4c42}
.expense-state:hover{box-shadow:0 0 0 3px #e2e9f5}
.expense-description{min-width:210px;max-width:350px;line-height:1.3;font-size:14px}
.installment-number{font-size:13px;color:#747b8a;margin-left:4px;white-space:nowrap}
.expense-review{display:block;color:#ab852f;font-size:10px;margin-top:4px}
.expense-category{display:flex;gap:12px;align-items:center}
.expense-recurring{width:8px;height:8px;border-radius:50%;background:#2087e8;flex-shrink:0;visibility:hidden}
.expense-recurring.visible{visibility:visible}
.expense-category-chip{border:0;border-radius:20px;padding:3px 8px 3px 10px;background:color-mix(in srgb,var(--category-color) 19%,white);color:#49566a;font-size:12px;line-height:1.2;white-space:nowrap;gap:4px;font-weight:550}
.expense-category-chip svg{width:13px;height:13px}
.expense-category-chip:hover{box-shadow:0 0 0 2px var(--category-color)}
.expense-account{display:flex;align-items:center;flex-wrap:wrap;column-gap:5px;font-size:13px;line-height:1.35;min-width:155px;max-width:235px}
.expense-account>span{height:23px;width:23px;display:grid;place-items:center;background:#f5f6f8;border-radius:50%;color:#777b82;flex-shrink:0}
.expense-account svg{width:17px;height:17px}
.expense-date{font-size:13px;white-space:nowrap}
.expense-date small{display:block;font-size:9px;color:#9ca3af;margin-top:2px}
.expense-amount{white-space:nowrap;min-width:110px;font-size:14px}
.expense-table .table-actions{gap:12px;min-width:72px}
.expense-table .table-actions .icon-btn{color:#85878c}
.expense-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 19px;min-height:63px;flex-wrap:wrap;background:#fff;color:#868990;font-size:12px}
.expense-totals,.expense-pagination{display:flex;align-items:center;gap:22px}
.expense-totals>span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.expense-totals svg{width:16px;height:16px;color:#b5b8be}
.expense-pending-total b{font-size:12px;font-weight:450}
.expense-grand-total svg{color:#f18f86}
.expense-grand-total strong{font-size:16px;font-weight:600}
.expense-details-button{border:0;background:#fff2ef;color:var(--red);border-radius:22px;font-size:12px;padding:8px 14px}
.expense-details-button:hover{background:#ffe6e0}
.expense-pagination{gap:12px}
.expense-pagination label{white-space:nowrap;font-size:11px}
.expense-pagination select{border:0;background:transparent;color:#6d7280;padding:5px;font-size:11px}
.expense-pagination>span{white-space:nowrap;font-size:12px}
.expense-pagination .icon-btn{color:#8f949e;width:26px;min-width:26px;height:28px}
.expense-details{display:flex;align-items:flex-start;gap:28px;flex-wrap:wrap;background:#f9fbfe;border-top:1px solid #e9edf5;padding:18px 22px}
.expense-details small{display:block;font-size:11px;color:#9198a5;margin-bottom:5px}
.expense-details strong{font-size:18px;font-weight:550}
.expense-details p{width:100%;margin:0;font-size:11px;color:#8893a3}
.expense-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;background:#f7f9fd;border:1px solid #e5edf8;border-radius:13px;padding:14px 17px;margin-bottom:12px}
.expense-filters label{font-size:10px;color:#8b95a6;display:flex;flex-direction:column;gap:4px}
.expense-filters select{border:1px solid #dce5f3;background:#fff;border-radius:15px;padding:7px 12px;color:#67758c;font-size:12px;min-width:140px}
.expense-filters .btn{height:34px}
.expense-action-sheet{padding:22px 26px;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.expense-action-sheet .btn{justify-content:flex-start;padding:12px 18px}
@media(min-width:1500px){.expense-table td{padding:12px 17px}.expense-table th{padding:15px 17px}.expense-account{max-width:none}.expense-description{max-width:none}}
@media(max-width:1000px){.expense-footer{gap:9px;padding:12px 14px}.expense-totals{gap:14px}.expense-pagination{gap:7px}.expenses-page .topbar-right{gap:12px}.expenses-page .expense-topbar-search{width:220px}.expense-table .expense-state-cell{width:90px}}
@media(max-width:780px){.expenses-page .topbar-right{gap:8px}.expenses-page .expense-topbar-search{width:180px}.expense-topbar-title h1{font-size:18px}.expenses-page .expense-topbar-title{min-width:110px}.expenses-page .expense-options{width:35px;height:35px}.expense-footer{justify-content:center}.expense-pagination{margin-left:auto}.expenses-page .month-control input{width:124px}}
@media(max-width:650px){.expenses-page .topbar{height:116px;align-items:flex-start;padding-top:11px;padding-left:9px;padding-right:9px;gap:6px}.expenses-page .layout{padding-top:116px}.expenses-page .expense-topbar-search{display:flex;position:absolute;bottom:10px;left:12px;right:12px;width:auto;height:38px}.expenses-page .expense-topbar-title{min-width:96px}.expenses-page .topbar-right{gap:6px}.expenses-page .month-control input{width:107px}.expenses-page .month-control .icon-btn{width:23px;min-width:23px}.expenses-page .expense-options{width:31px;min-width:31px;height:34px}.expense-footer{padding:12px 10px;gap:13px}.expense-pagination{margin:0}.expense-totals{gap:11px;flex-wrap:wrap;justify-content:center}.expense-grand-total strong{font-size:14px}.expense-details-button{padding:7px 11px}.expense-filters{gap:10px}.expense-filters select{min-width:125px}.expenses-page main{padding:2px 6px 10px}}

.expense-topbar-search>[data-icon]{color:var(--blue);flex-shrink:0}.expense-split-count{font-size:10px;color:#8a94a3;white-space:nowrap}

.summary-metric-button.balance:hover{border-color:#91bef1;box-shadow:0 7px 24px #2087e814}.summary-metric-button.balance:focus-visible{outline-color:#79b6fa}

/* Atalhos de contas e receitas */
.summary-metric-button.income:hover{border-color:#81cba7;box-shadow:0 7px 24px #0b9e5b14}
.summary-metric-button.income:focus-visible{outline-color:#5eba90}
.incomes-page .new-round{background:var(--green)}
.incomes-page .new-round:hover{background:#078549}
.incomes-page .expense-details-button{background:#edf8f1;color:#0b9e5b}
.incomes-page .expense-grand-total svg{color:#4bb784}
.accounts-page .new-round{background:var(--blue)}
.accounts-page .new-round:hover{background:var(--blue-dark)}
.accounts-page{background:var(--bg)}
.accounts-page .topbar{background:var(--bg)}
.accounts-page .account-table-view{background:var(--bg);min-height:270px}
.accounts-detail-table{min-width:690px;font-size:14px}
.accounts-detail-table th{font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;padding:16px 14px;background:var(--bg);color:#697181}
.accounts-detail-table td{padding:12px 14px;height:56px;border-color:#e7edf5}
.accounts-detail-table tbody tr:hover{background:#eef4fd}
.account-table-name{display:flex;gap:12px;align-items:center}
.account-table-name small{display:block;color:#8b96a8;font-size:10px}
.accounts-detail-table .account-current{font-weight:600}
.accounts-detail-table .red{color:var(--red)}
.account-table-note{font-size:11px;color:#909aab;margin:14px 9px}
.account-archived-toggle{flex-direction:row!important;align-items:center;gap:9px!important;font-size:12px!important}
.account-archived-toggle input{accent-color:var(--blue)}

/* Acesso pessoal */
.auth-locked{background:#f5f8fd;min-height:100vh}
.auth-locked #app-shell{display:none}
#access-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;background:radial-gradient(ellipse at 18% 15%,#e2efff 0,transparent 45%),radial-gradient(ellipse at 85% 90%,#e5f4ed 0,transparent 40%),#f6f9fe}
.access-card{width:100%;max-width:430px;background:#fff;border:1px solid #dce8f8;border-radius:28px;padding:34px 36px 25px;box-shadow:0 18px 65px #345a8c12}
.access-brand{display:flex;align-items:center;gap:9px;justify-content:center;font-size:25px;letter-spacing:-.8px;color:#343c49;font-weight:600;margin-bottom:29px}
.access-brand img{width:44px;height:44px}
.access-brand b{font-weight:600;color:var(--blue);margin-left:4px}
.access-lock{height:45px;width:45px;border-radius:15px;display:grid;place-items:center;margin:0 auto 16px;background:#edf5ff;color:var(--blue)}
.access-lock svg{width:24px;height:24px}
.access-card h1{text-align:center;font-size:25px;font-weight:600;letter-spacing:-.5px}
.access-intro{text-align:center;font-size:13px;color:#8a94a4;line-height:1.7;margin:11px 0 25px}
#access-form label{font-size:12px;font-weight:600;display:block;color:#69778b;margin:17px 0 7px}
#access-form input{width:100%;height:45px;border:1px solid #dce5f0;border-radius:11px;background:#fcfdff;font-size:14px;color:#43546b;padding:11px 13px;outline:none}
#access-form input:focus{background:#fff;border-color:#88baff;box-shadow:0 0 0 3px #2087e80e}
#access-form input::placeholder{color:#a4adba}
.access-password-wrap{position:relative}
.access-password-wrap input{padding-right:76px!important}
.access-reveal{position:absolute;right:9px;top:8px;height:29px;padding:5px 8px;border:0;background:transparent;font-size:11px;color:#6a86ab;border-radius:7px}
.access-reveal:hover{background:#edf4ff}
.access-hint{display:block;font-size:10px;color:#9aa3b0;line-height:1.6;margin-top:7px}
.access-error{font-size:12px;color:#bd4f44;line-height:1.5;background:#fff1ee;padding:11px 13px;border-radius:10px;margin:17px 0 0}
.access-submit{width:100%;margin-top:24px;min-height:44px;font-size:14px;justify-content:center;border-radius:12px}
.access-submit svg{width:18px;height:18px}
.access-note{font-size:10px;color:#929dac;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;margin:23px 0 0}
.access-note svg{height:13px;width:13px}
.access-bottom{font-size:11px;color:#96a1af;text-align:center;margin:20px 0 0}
.session-lock{color:#6d849f}
.session-lock:hover{color:var(--blue)}
.sidebar .session-exit{margin-top:16px}
@media(max-width:520px){#access-screen{padding:24px 16px}.access-card{padding:28px 24px 22px;border-radius:23px}.access-card h1{font-size:23px}.session-lock{min-width:29px;width:29px;height:32px;padding:5px}.topbar-right{gap:7px}.expenses-page .topbar-right{gap:5px}}

/* Nome do aplicativo */
.brand{font-size:18px;letter-spacing:-.3px;white-space:normal;line-height:1.12}.brand-mark{flex-shrink:0}.brand-name{display:block}.brand-subtitle{display:block;color:var(--blue);font-size:13px;font-weight:600;letter-spacing:.2px;margin-top:3px}.access-brand{font-size:21px;letter-spacing:-.4px;line-height:1.18}.access-brand img{flex-shrink:0}.access-brand-name{display:block}.access-brand b{display:block;font-size:16px;margin:4px 0 0;letter-spacing:.1px}
@media(max-width:780px){.brand{font-size:14px}.brand-subtitle{font-size:11px}}
@media(max-width:540px){.brand{font-size:12px;line-height:1.05}.brand-name{max-width:83px}.brand-subtitle{font-size:10px;margin-top:2px}.brand-mark{width:24px}.topbar-right{gap:5px}}
@media(max-width:380px){.access-brand{font-size:18px}.access-brand img{width:36px;height:36px}}

/* Marca fornecida pelo usuário, preservada em sua proporção original. */
.brand-mark{width:44px;height:44px}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.access-brand img{object-fit:contain}
@media(max-width:780px){.brand-mark{width:36px;height:36px}}
@media(max-width:540px){.brand-mark{width:28px;height:28px}}

/* Acesso pessoal */
.access-tabs{display:flex;gap:4px;padding:4px;background:#eff5fc;border-radius:12px;margin-bottom:20px}
.access-tabs button{flex:1;border:0;background:transparent;padding:10px;border-radius:9px;color:#60748f;font:inherit;font-size:13px;cursor:pointer}
.access-tabs button.active{background:#fff;color:#1469bf;box-shadow:0 2px 8px #2b568e12;font-weight:600}
.access-link{display:block;margin:19px auto 0;border:0;background:transparent;color:#1469bf;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:13px;cursor:pointer}
.access-error[hidden]{display:none}
.access-card button:focus-visible,.access-card a:focus-visible{outline:3px solid #8bbaff;outline-offset:3px}
.access-card button:disabled{opacity:.55;cursor:wait}
.recovery-box{border:1px solid #c8ddf7;background:#f2f7fd;border-radius:14px;padding:18px;text-align:center}
.recovery-box small{display:block;color:#506887}
.recovery-box code{display:block;overflow-wrap:anywhere;line-height:1.8;font-size:17px;letter-spacing:1px;margin:12px 0 18px;user-select:all}
.recovery-saved{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin-top:22px;color:#506887}
.recovery-saved input{width:17px;height:17px;margin-top:1px;accent-color:#2087e8;flex-shrink:0}
.access-card{margin:20px auto}
@media(max-width:520px){.access-card{margin:0 auto}.access-card h1{font-size:22px}}

/* Aplicativo no computador e no celular */
.access-install{display:block;margin:18px auto 0;padding:10px 8px;min-height:44px;border:0;background:transparent;color:#1469bf;font:600 12px "Segoe UI",Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#install-dialog{width:610px;max-height:90dvh;max-width:calc(100vw - 28px)}
.install-head{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 20px;border-bottom:1px solid #e6edf6;gap:12px}
.install-head .eyebrow{display:block;margin-bottom:7px}
.install-head h2{font-size:25px;font-weight:600;letter-spacing:-.7px}
#install-close{font-size:28px;font-weight:300;width:44px;height:44px;flex-shrink:0}
.install-body{padding:24px 26px}
.install-brand{display:flex;gap:15px;align-items:center}
.install-brand img{flex-shrink:0;border-radius:14px;border:1px solid #e4edf8}
.install-brand strong{font-size:16px;color:#294767}
.install-brand p{font-size:12px;color:#6b8199;line-height:1.55;margin:7px 0 0}
#install-intro{font-size:13px;line-height:1.8;color:#657a92;margin:22px 0}
.install-primary{width:100%;min-height:46px;justify-content:center}
.install-platforms{display:flex;gap:5px;background:#eff5fc;border-radius:12px;padding:4px;margin:22px 0 16px}
.install-platforms button{flex:1;min-height:42px;border:0;background:transparent;border-radius:9px;font:500 12px "Segoe UI",Arial,sans-serif;color:#617b99;cursor:pointer}
.install-platforms button[aria-pressed=true]{background:#fff;color:#1469bf;font-weight:600;box-shadow:0 2px 7px #244d7f12}
.install-steps{font-size:13px;line-height:1.85;color:#576f89}
.install-steps ol{padding-left:22px;margin:0}
.install-steps li{padding-left:4px;margin:10px 0}
.install-steps p{font-size:12px;margin-top:15px}
.install-connect{display:flex;align-items:center;gap:18px;background:#f6f9fe;border:1px solid #e2ebf7;padding:16px;border-radius:18px;margin-top:24px}
.install-connect img{width:130px;height:130px;flex-shrink:0;border-radius:10px}
.install-connect h3{font-size:14px;color:#315372}
.install-connect p{font-size:12px;color:#6e8299;line-height:1.6;margin:7px 0}
.install-connect a{font-size:13px;color:#1469bf;overflow-wrap:anywhere}
.install-link-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.install-link-actions .btn{min-height:38px}
.install-message{font-size:12px;color:#1469bf;line-height:1.7;margin:16px 0 0}
.install-message:empty{display:none}
.install-note{font-size:11px;color:#7d8da1;line-height:1.7;margin:22px 0 0;border-top:1px solid #e8eef6;padding-top:17px}
#install-dialog button:focus-visible,#install-dialog a:focus-visible{outline:3px solid #8bbaff;outline-offset:3px}
#sync-now{display:block;border:0;background:transparent;color:#1469bf;padding:8px 0 0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#sync-dot[data-state=offline],#sync-dot[data-state=error]{background:#cc8241}
#sync-dot[data-state=syncing],#sync-dot[data-state=connecting]{background:#8c9cae}
#sync-dot[data-state=synced]{background:#2087e8}
.connection-banner{padding:12px 22px;background:#fff4df;border-bottom:1px solid #efdeba;color:#826231;font-size:12px;line-height:1.6}
.app-update-banner{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:12px 17px;background:#204969;color:#fff;border-radius:14px;box-shadow:0 8px 32px #153e6130;z-index:101;font-size:12px;max-width:calc(100vw - 28px);width:max-content}
.app-update-banner button{border:1px solid #ffffff65;border-radius:8px;background:#fff;color:#204969;min-height:36px;padding:7px 12px;font:600 12px "Segoe UI",Arial,sans-serif;cursor:pointer}
@media(display-mode:standalone){.topbar{padding-top:env(safe-area-inset-top);height:calc(68px + env(safe-area-inset-top))}.layout{padding-top:calc(68px + env(safe-area-inset-top))}.sidebar{top:calc(68px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}.nav-open .nav-backdrop{top:calc(68px + env(safe-area-inset-top))}main{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
@media(max-width:540px){.install-head{padding:20px}.install-head h2{font-size:22px}.install-body{padding:20px}.install-connect{gap:12px;padding:12px}.install-connect img{width:100px;height:100px}.install-brand strong{font-size:15px}.install-platforms button{font-size:11px}.install-link-actions .btn{font-size:11px;padding:7px 10px}#access-form input,.field input[type=text],.field input[type=password],.field input[type=number],.search input{font-size:16px}.connection-banner{padding:12px 16px}}
@media(max-width:540px) and (display-mode:standalone){.topbar{height:calc(62px + env(safe-area-inset-top))}.layout{padding-top:calc(62px + env(safe-area-inset-top))}.sidebar,.nav-open .nav-backdrop{top:calc(62px + env(safe-area-inset-top))}}
@media(max-width:380px){.topbar .brand-name{display:none}.install-connect{flex-direction:column;text-align:center}.install-connect img{width:140px;height:140px}.install-link-actions{justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
