@font-face{font-family:Outfit;src:url('/assets/outfit-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}:root{--bg:#F4F4F6;--surface:#fff;--ink:#17131F;--muted:#4A4556;--line:#EAE9EF;--purple:#9900FF;--strong:#7A00CC;--soft:#F5EBFF;--coral:#E05257}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Outfit,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--strong)}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.025em}h2{font-size:20px;font-weight:550;letter-spacing:-.02em}h3{font-size:16px;font-weight:550}.muted{color:var(--muted)}[hidden]{display:none!important}.icon{width:21px;height:21px;display:block}.skip-link{position:fixed;left:218px;top:-60px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:200px;border-right:1px solid var(--line);padding:28px 16px;background:#FAFAFC;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:550;letter-spacing:-.035em}.brand img{width:32px;height:32px;object-fit:contain}.sidebar .brand{padding:0 9px;margin-bottom:40px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;gap:12px;align-items:center;min-height:48px;padding:12px 13px;border-radius:14px;color:var(--muted);font-size:14px;font-weight:450}.nav-item:hover{background:#eeebf2}.nav-item.active{background:var(--soft);color:#7100bd;font-weight:550}.nav-item.active .icon{filter:invert(16%) sepia(96%) saturate(6212%) hue-rotate(274deg) brightness(85%) contrast(126%)}.sidebar-note{font-size:11px;color:#6c6576;line-height:1.5;margin-top:auto;padding:20px 12px 0}.workspace{margin-left:200px}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-title{font-size:13px;color:var(--muted)}.identity{display:flex;align-items:center;gap:10px;font-size:12px}.avatar{height:32px;width:32px;border-radius:50%;display:grid;place-items:center;background:#e9e2ef;font-size:13px;font-weight:500}.identity .button{font-size:12px;margin-left:6px;padding:0 10px}.main{max-width:1264px;margin:auto;padding:27px 32px 32px;outline:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{min-height:44px;height:auto;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;font-size:12px;font-weight:500;line-height:1.4;transition:background .16s,border-color .16s;white-space:normal;text-align:center}.button.primary{background:var(--purple);color:#fff}.button.primary:hover{background:var(--strong)}.button.primary .icon{filter:brightness(0) invert(1)}.button.secondary{background:#fff;border:1px solid #ddd6e5}.button.secondary:hover{background:#faf7fc;border-color:#bf9cd6}.button.text{background:transparent;color:#6b328d}.button.text:hover{background:#f4edf9}.surface{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.section-head p{font-size:12px;color:var(--muted);margin-top:5px}.hero-budget{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;background:#FAF7FD;padding:28px 30px;border:1px solid #e8dfee;border-radius:24px}.hero-spent{display:flex;flex-direction:column;justify-content:center}.hero-spent h2{font-size:16px}.hero-spent strong{font-size:48px;line-height:1.1;font-weight:600;letter-spacing:-.045em;margin-top:9px}.hero-spent p{font-size:12px;color:var(--muted);margin-top:14px;max-width:330px;line-height:1.5}.hero-limit{padding-left:30px;border-left:1px solid #e2d6eb;min-width:0}.hero-limit-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.hero-limit-top p{font-size:12px;color:var(--muted)}.hero-limit-top strong{display:block;font-size:23px;font-weight:550;letter-spacing:-.025em;margin-top:3px}.hero-limit-top .button{font-size:11px;padding:10px 12px}.budget-available{margin-top:17px;display:flex;justify-content:space-between;align-items:baseline;gap:15px}.budget-available span{font-size:12px;color:var(--muted)}.budget-available strong{font-size:25px;font-weight:550;letter-spacing:-.03em;white-space:nowrap}.budget-track{height:8px;border-radius:4px;background:#e9deef;margin-top:14px;overflow:hidden}.budget-track span{height:100%;background:#9900ff;display:block;border-radius:4px;max-width:100%}.budget-used{font-size:11px;color:var(--muted);margin-top:8px}.over-budget{color:#9d2632!important}.context-band{display:grid;grid-template-columns:1.22fr 1fr 1fr;border:1px solid var(--line);border-radius:24px;background:white;margin-top:20px;overflow:hidden}.context-item{padding:20px 24px}.context-item+.context-item{border-left:1px solid var(--line)}.context-item h2{font-size:14px;font-weight:500}.context-item strong{font-size:27px;line-height:1.2;font-weight:550;letter-spacing:-.03em;display:block;margin-top:8px}.context-item p{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}.context-item a{font-size:11px;color:#7800c5;display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:3px}.context-item .context-value-link{font-size:27px;line-height:1.2;letter-spacing:-.03em;font-weight:550;margin-top:8px;color:var(--ink);text-decoration:none;min-height:0}.overview-lower{display:grid;grid-template-columns:1.08fr 1fr;gap:24px;margin-top:24px;align-items:start}.category-bars{display:flex;flex-direction:column;gap:8px}.category-bar-row{display:block;border-radius:12px;padding:10px 0;min-height:60px}.category-bar-row:hover{background:#faf7fc}.category-row-top{display:grid;grid-template-columns:minmax(0,1fr) auto 46px;gap:14px;align-items:baseline;font-size:13px}.category-row-top strong{font-size:14px;font-weight:500;white-space:nowrap;letter-spacing:-.02em}.category-row-top small{text-align:right;font-size:11px;color:var(--muted)}.category-bar{height:5px;display:block;background:#ac6ed3;border-radius:3px;margin-top:10px;min-width:0}.category-bar-row:nth-child(n+2) .category-bar{background:#bc93d5}.category-bar-row:nth-child(n+4) .category-bar{background:#d0b9df}.forecast-heading{align-items:flex-start}.forecast-heading .button{font-size:11px;padding:8px 10px}.forecast-sub{font-size:11px;color:var(--muted);margin-top:6px}.chart-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.forecast-mobile-hint{display:none}.forecast-plot{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}.forecast-axis{height:160px;margin-top:49px;position:relative;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.forecast-axis span{position:absolute;right:0;white-space:nowrap;transform:translateY(50%)}.forecast-chart{display:grid;gap:5px;align-items:end}.forecast-column{background:transparent;padding:48px 3px 8px;min-width:72px;display:flex;flex-direction:column;align-items:center;border:1px solid transparent;border-radius:10px}.forecast-column:hover{background:#faf6fc}.forecast-column[aria-pressed=true]{background:#f6edfc;border-color:#dfc3ef}.forecast-bar-area{height:160px;width:100%;display:flex;align-items:flex-end;justify-content:center;background:repeating-linear-gradient(to top,#eae9ef 0,#eae9ef 1px,transparent 1px,transparent 40px);box-shadow:inset 0 1px #eae9ef}.forecast-bar{width:28px;min-height:1px;background:#8b00e8;border-radius:5px 5px 0 0;position:relative}.forecast-money{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;letter-spacing:-.03em;font-weight:500;padding-bottom:8px}.forecast-month{font-size:12px;margin-top:10px;white-space:nowrap}.forecast-month[aria-current=date]{font-weight:600}.forecast-selected{visibility:hidden;font-size:11px;color:#7100ba;margin-top:3px}.forecast-column[aria-pressed=true] .forecast-selected{visibility:visible}.month-composition{border:1px solid var(--line);border-radius:18px;margin-top:24px;overflow:hidden;background:#fff}.forecast-range{font-size:12px;color:var(--muted);white-space:nowrap;margin-top:4px}.forecast-column[data-current=true] .forecast-selected{visibility:visible}.month-detail-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:#FAF8FC;border-bottom:1px solid var(--line)}.month-detail-title{display:flex;align-items:center;gap:14px;min-width:0}.month-detail-title>.icon{width:26px;height:26px;flex-shrink:0}.month-detail-title h3{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.25}.month-detail-title p{font-size:12px;color:var(--muted);margin-top:6px}.month-detail-total{text-align:right;flex-shrink:0}.month-detail-total strong{display:block;font-size:32px;font-weight:600;letter-spacing:-.035em;line-height:1.2}.month-detail-total>span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.month-detail-body{padding:0 24px}.month-list-heading,.month-expense-row{display:grid;grid-template-columns:minmax(0,1fr) 155px 165px;gap:20px;align-items:center}.month-list-heading{font-size:11px;color:var(--muted);padding:15px 0 9px}.month-list-heading>span:last-child{text-align:right}.month-expense-list{list-style:none;padding:0;margin:0}.month-expense-list>li+li{border-top:1px solid var(--line)}.month-expense-row{width:100%;min-height:84px;padding:18px 0;text-align:left;background:transparent;border-radius:8px}.month-expense-row:hover{background:#faf8fc}.month-row-main{min-width:0}.month-row-main>strong{display:block;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.month-row-main>span{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px;overflow-wrap:anywhere}.month-row-due{font-size:12px;color:var(--muted);line-height:1.5}.month-due-label{display:none}.month-row-amount{text-align:right;min-width:0}.month-row-amount>strong{display:block;font-size:17px;font-weight:600;letter-spacing:-.025em;white-space:nowrap}.month-row-amount>span{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.month-detail-footer{border-top:1px solid var(--line);padding:9px 24px}.month-detail-footer .button{padding:10px 0;min-height:44px;font-size:12px}.month-detail-empty{padding:36px 24px;font-size:13px;color:var(--muted);line-height:1.6}.button.danger-text{color:#9D2632;background:#FDEEEE;border:1px solid #f1c6c8}.button.danger-text:hover{background:#f9dfe1}.button.danger{background:#A92732;color:#fff}.button.danger:hover{background:#8b1b24}.delete-expense-summary{padding:18px;background:#FAF8FC;border:1px solid var(--line);border-radius:14px;margin-bottom:18px}.delete-expense-summary strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere}.delete-expense-summary span{display:block;font-size:24px;font-weight:550;margin-top:8px}.delete-expense-warning{font-size:14px;line-height:1.65;margin-bottom:18px}
.notice{background:#f9f2ea;border:1px solid #ede0d0;border-radius:14px;padding:14px 17px;color:#755333;font-size:12px;line-height:1.6;margin-top:20px}.tabs{display:flex;gap:24px;border-bottom:1px solid #ddd7e5;margin-bottom:22px}.tab{min-height:48px;background:transparent;font-size:13px;color:var(--muted);padding:10px 0;border-bottom:2px solid transparent;border-radius:0}.tab[aria-selected=true]{color:#7800c9;font-weight:550;border-color:#9900ff}.filters{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:14px;margin-bottom:22px;align-items:end}.filters.compact{grid-template-columns:repeat(3,minmax(0,220px))}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field-label{font-size:12px;font-weight:500;color:#453c4e}.field small{font-size:11px;color:var(--muted);line-height:1.5}.control{width:100%;max-width:100%;height:46px;border:1px solid #ddd7e5;border-radius:14px;background:#fff;padding:0 13px;font-size:13px;min-width:0}.control:hover{border-color:#baa6c8}select.control{appearance:none;background:#fff url('/assets/icons/chevron-down.svg') no-repeat right 12px center;background-size:16px;padding-right:34px}textarea.control{height:88px;padding-top:12px;resize:vertical}.control[readonly],.control:disabled{background-color:#f4f1f7;color:#716879;opacity:1}.expense-list{display:flex;flex-direction:column}.expense-row{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(150px,1fr) 120px 120px 104px;gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.expense-row:last-child{border-bottom:0}.expense-header{font-size:11px;color:var(--muted);padding-top:0;padding-bottom:14px}.expense-row p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.expense-title{background:transparent;min-height:44px;padding:0;display:block;font-size:14px;font-weight:500;text-align:left;line-height:1.4}.expense-title:hover{color:#7a00cc}.expense-value{text-align:right;font-size:15px;font-weight:550;letter-spacing:-.025em;white-space:nowrap}.expense-value small{font-size:11px;color:var(--muted);font-weight:400;display:block;margin-top:5px}.status-label{font-size:11px;color:#685875;display:inline-flex;align-items:center;gap:6px}.status-label:before{content:'';height:5px;width:5px;border-radius:50%;background:#aa94ba}.status-label.paid{color:#4c5f54}.status-label.paid:before{background:#809888}.expense-status{justify-self:end}.payment-group{margin-top:24px}.payment-group:first-child{margin-top:0}.payment-group-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px;align-items:baseline}.payment-group-head h2{font-size:18px}.payment-group-head strong{font-size:18px;font-weight:550}.installment-list{display:flex;flex-direction:column}.installment-row{display:grid;grid-template-columns:minmax(170px,1.6fr) 100px 105px minmax(170px,1.2fr);gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.installment-row:last-child{border-bottom:0}.installment-name{font-size:13px;font-weight:500}.installment-caption{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.installment-date{font-size:12px;color:var(--muted)}.installment-value{font-size:14px;text-align:right;font-weight:550;letter-spacing:-.02em;white-space:nowrap}.installment-actions{display:flex;justify-content:flex-end;gap:5px;align-items:center;flex-wrap:wrap}.installment-actions .button{font-size:11px;padding:9px 11px}.category-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.category-tile{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;display:block;min-width:0}.category-tile:hover{border-color:#d7b5ed}.category-tile h2{font-size:19px}.category-tile p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:9px;min-height:37px}.category-tile-bottom{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:22px}.category-tile-bottom strong{font-size:28px;font-weight:550;letter-spacing:-.03em}.category-tile-bottom span{font-size:12px;color:var(--muted);white-space:nowrap}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#6d328f;margin-bottom:8px}.category-context{display:flex;align-items:center;gap:24px;margin-bottom:23px;color:var(--muted);font-size:13px}.category-context strong{font-size:25px;font-weight:550;color:var(--ink);letter-spacing:-.03em}.category-context .button{margin-left:auto}.category-detail-layout{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.7fr);gap:22px;align-items:start}.choice-list{display:flex;flex-direction:column;gap:9px}.expense-choice{width:100%;background:white;border:1px solid #e6dfee;border-radius:14px;padding:17px;text-align:left}.expense-choice[aria-pressed=true]{background:#f6edfc;border-color:#dabcea}.expense-choice h3{font-size:15px}.expense-choice strong{font-size:20px;display:block;font-weight:550;letter-spacing:-.03em;margin-top:8px}.expense-choice p{font-size:11px;color:var(--muted);margin-top:7px}.expense-choice .chosen{visibility:hidden;font-size:11px;color:#7100bb;margin-top:8px;display:block}.expense-choice[aria-pressed=true] .chosen{visibility:visible}.detail-top{display:flex;gap:18px;justify-content:space-between;align-items:flex-start}.detail-top h2{font-size:24px;overflow-wrap:anywhere}.detail-price{text-align:right;white-space:nowrap}.detail-price span{font-size:11px;color:var(--muted);display:block}.detail-price strong{display:block;font-size:28px;font-weight:550;letter-spacing:-.035em;margin-top:3px}.detail-meta{display:flex;gap:7px 16px;flex-wrap:wrap;margin:15px 0;font-size:11px;color:var(--muted);line-height:1.5}.detail-amounts{display:flex;gap:30px;background:#faf8fc;border-radius:14px;padding:15px;margin:18px 0 20px}.detail-amounts p{font-size:11px;color:var(--muted)}.detail-amounts strong{font-size:19px;font-weight:550;display:block;margin-top:4px;color:var(--ink);letter-spacing:-.025em}.detail-calendar h3{font-size:16px;margin-bottom:7px}.detail-calendar .installment-row{grid-template-columns:minmax(0,1fr) 92px minmax(100px,1.2fr);gap:12px;padding:12px 0}.detail-calendar .installment-info{min-width:0}.detail-calendar .installment-actions{grid-column:3;grid-row:auto}.detail-calendar .installment-name{font-size:12px}.detail-calendar .installment-caption{font-size:11px}.detail-calendar .installment-value{font-size:13px}.detail-calendar .installment-actions .button{font-size:11px;padding:8px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:17px;border-top:1px solid var(--line);margin-top:17px}.detail-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:13px;overflow-wrap:anywhere}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card-calendar{display:flex;gap:22px;margin:22px 0}.card-calendar p{font-size:12px;color:var(--muted)}.card-calendar strong{display:block;font-size:25px;font-weight:550;margin-top:5px;color:var(--ink)}.card-item .small-note{font-size:11px;margin-bottom:17px}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.settings-grid h2{margin-bottom:16px}.settings-grid p{font-size:13px;line-height:1.6;color:var(--muted)}.settings-budget-value{font-size:36px;font-weight:550;letter-spacing:-.04em;margin:8px 0 20px}.profile-summary{display:flex;gap:12px;align-items:center;margin-bottom:23px}.profile-summary .avatar{width:44px;height:44px;font-size:17px}.profile-summary strong{font-size:16px}.profile-summary p{font-size:12px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.small-note,.help-text{font-size:12px;line-height:1.55;color:var(--muted);margin-top:10px}.feedback{font-size:12px;line-height:1.6;padding:12px 15px;border-radius:12px;background:#fdeeee;color:#9d2632;margin:14px 0}.feedback.success{background:#f0f5f1;color:#355941}.feedback.info{background:#f5ebff;color:#673486}.loading{padding:45px 20px;color:var(--muted)}.empty{padding:35px 22px;border:1px dashed #ddd2e5;border-radius:16px;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}.empty .button{margin-top:15px}.app-dialog{border:1px solid var(--line);border-radius:24px;padding:26px 28px;max-width:calc(100vw - 48px);width:780px;max-height:calc(100dvh - 48px);overflow-y:auto;color:var(--ink);background:#fff;overscroll-behavior:contain}.app-dialog::backdrop{background:#17131f66}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:24px}.dialog-header .button{padding:8px 10px}.compact-dialog{width:540px}.expense-detail-dialog{position:fixed;inset:16px 16px 16px auto;margin:0;width:680px;max-width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:none}.expense-detail-dialog .dialog-header{margin-bottom:20px}.expense-detail-dialog .surface{padding:0;border:0;border-radius:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}.full{grid-column:1/-1}.form-section-title{font-size:18px;margin:27px 0 17px;padding-top:22px;border-top:1px solid var(--line)}.form-section-title:first-child{padding:0;border:0;margin-top:0}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:23px;padding-top:20px;border-top:1px solid var(--line)}.form-actions-right{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.checkline{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px;color:var(--muted);margin-top:10px}.checkline input{height:18px;width:18px;accent-color:var(--purple);flex-shrink:0}.optional-details{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.optional-details summary{min-height:44px;cursor:pointer;color:#73328e;font-size:13px;display:list-item;list-style-position:inside}.optional-details .form-grid{margin-top:12px}.preview-section{background:#faf6fd;border:1px solid #eadcf3;border-radius:16px;padding:18px;margin-top:22px}.preview-section h3{margin-bottom:10px}.preview-row{display:grid;grid-template-columns:1fr 100px 110px;gap:16px;font-size:12px;border-bottom:1px solid #e9dfee;padding:12px 0}.preview-row:last-child{border-bottom:0}.preview-row strong{text-align:right;font-weight:500}.preview-row small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);max-width:calc(100vw - 36px);background:#f3f7f3;border:1px solid #cedfce;color:#355941;padding:14px 20px;border-radius:14px;z-index:80;font-size:13px;box-shadow:0 8px 35px #17131f14}.toast.error{background:#fdeeee;color:#9d2632;border-color:#edc8cf}.toast.info{background:#f5ebff;color:#673486;border-color:#dfcbe9}.app-footer{margin:5px 25px 26px 225px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 20px;font-size:11px;color:var(--muted)}.app-footer .button{font-size:11px;padding:10px}.cookie-notice{position:fixed;bottom:20px;left:calc(50% + 100px);transform:translateX(-50%);width:min(950px,calc(100vw - 250px));border:1px solid #dcd1e5;background:#fff;border-radius:20px;padding:22px 24px;display:flex;align-items:center;gap:25px;box-shadow:0 12px 60px #17131f22;z-index:100}.cookie-notice h2{font-size:18px}.cookie-notice p{font-size:12px;color:var(--muted);line-height:1.5;margin:7px 0}.cookie-notice a{font-size:12px;color:#7500bd;display:inline-flex;min-height:44px;align-items:center}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions .button{font-size:12px}.auth-page{min-height:100dvh;display:flex;flex-direction:column;padding:40px 25px 0}.auth-layout{max-width:1050px;width:100%;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.auth-brand .brand{margin-bottom:40px}.auth-brand h1{font-size:39px;line-height:1.2;letter-spacing:-.035em;max-width:460px}.auth-brand>p{font-size:15px;color:var(--muted);line-height:1.7;margin-top:19px;max-width:360px}.auth-illustration{height:105px;display:flex;gap:12px;align-items:flex-end;margin-top:35px}.auth-illustration span{width:64px;border-radius:9px 9px 0 0;background:#d8c3e8;height:50%}.auth-illustration span:nth-child(2){height:80%;background:#bb8fda}.auth-illustration span:nth-child(3){height:65%;background:#d2afe8}.auth-illustration span:nth-child(4){height:100%;background:#9900ff}.auth-card{background:#fff;border:1px solid #e4dce9;border-radius:24px;padding:34px;min-width:0}.auth-card h1,.auth-card h2{font-size:28px;letter-spacing:-.025em}.auth-intro{font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0 25px}.auth-card form{display:flex;flex-direction:column;gap:18px}.auth-card .button.primary{width:100%;margin-top:7px}.auth-card>#password-logout{margin-top:14px;width:100%}.password-layout{max-width:470px;width:100%;margin:auto}.password-layout>.brand{margin:0 0 24px 8px}.password-control{position:relative}.password-control input{padding-right:50px}.password-toggle{position:absolute;right:1px;top:1px;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:transparent}.password-toggle:hover{background:#f6f0fa}.auth-page .app-footer{margin:25px 0 15px}.auth-page .cookie-notice{left:50%;width:min(950px,calc(100vw - 40px))}.privacy-content{max-width:800px;margin:auto;padding:45px 25px}.privacy-content>.brand{margin-bottom:36px}.privacy-content h1{margin-bottom:25px}.privacy-content h2{margin-top:28px}.privacy-content p{margin-top:12px;line-height:1.8;color:var(--muted)}.privacy-content p a{color:#7900c9;text-decoration:underline}.privacy-content>.button{margin-top:30px}.privacy-content+.app-footer{margin-left:25px}
@media(max-width:1200px){.sidebar{width:185px}.workspace{margin-left:185px}.main{padding:25px}.topbar{padding:0 25px}.hero-budget{gap:22px;padding:26px}.hero-limit{padding-left:24px}.hero-spent strong{font-size:42px}.hero-limit-top{align-items:flex-start}.hero-limit-top strong{font-size:21px}.hero-limit-top .button{max-width:100px}.budget-available{align-items:flex-start;flex-direction:column;gap:4px;margin-top:13px}.budget-available strong{font-size:25px}.context-item{padding:20px}.context-item strong,.context-item .context-value-link{font-size:25px}.overview-lower{gap:20px;grid-template-columns:1fr 1fr}.category-row-top{grid-template-columns:minmax(0,1fr) auto 40px;gap:9px;font-size:12px}.category-row-top strong{font-size:13px}.category-detail-layout{grid-template-columns:250px minmax(0,1fr);gap:18px}.surface{padding:22px}.expense-row{grid-template-columns:minmax(150px,1.4fr) minmax(120px,1fr) 105px 105px 90px;gap:14px}.installment-row{grid-template-columns:minmax(150px,1.5fr) 95px 100px minmax(130px,1fr);gap:12px}.installment-actions .button{padding:8px}.app-footer{margin-left:210px}.cookie-notice{left:calc(50% + 92px);width:calc(100vw - 235px);flex-direction:column;align-items:stretch;gap:15px}.cookie-actions{justify-content:flex-end}.toast{left:calc(50% + 92px)}}
@media(max-width:1000px){.sidebar{position:static;width:100%;height:auto;padding:18px 25px 0;border-right:0;border-bottom:1px solid var(--line);background:#fafafc}.sidebar .brand{margin:0 0 15px;padding:0;font-size:20px}.sidebar nav{flex-direction:row;gap:5px;justify-content:space-between}.nav-item{font-size:12px;min-height:46px;padding:10px 13px;border-radius:12px 12px 0 0;gap:8px;flex:1;justify-content:center}.nav-item .icon{width:19px;height:19px}.sidebar-note{display:none}.workspace{margin-left:0}.topbar{height:61px}.topbar-title{font-size:12px}.main{padding-top:25px}.hero-budget{gap:24px}.hero-spent strong{font-size:45px}.overview-lower{grid-template-columns:1fr}.category-bars{display:grid;grid-template-columns:1fr 1fr;gap:6px 26px}.category-bar-row{min-height:65px}.forecast-chart{max-width:100%}.context-item strong,.context-item .context-value-link{font-size:25px}.category-detail-layout{grid-template-columns:1fr}.choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-calendar .installment-row{grid-template-columns:minmax(0,1fr) 100px minmax(160px,1fr)}.expense-row{grid-template-columns:minmax(160px,1.4fr) minmax(120px,1fr) 105px 100px 90px;gap:12px}.app-footer{margin-left:25px}.cookie-notice{left:50%;width:min(950px,calc(100vw - 40px))}.toast{left:50%}.settings-grid{grid-template-columns:1fr 1fr}.category-context{flex-wrap:wrap}.auth-layout{gap:45px;max-width:900px}.auth-brand h1{font-size:33px}.auth-card{padding:28px}.skip-link{left:20px}}
@media(max-width:760px){.hero-budget{padding:24px;grid-template-columns:1fr;gap:24px}.hero-spent strong{font-size:46px}.hero-spent p{max-width:none;margin-top:10px}.hero-limit{padding:22px 0 0;border-left:0;border-top:1px solid #e2d6eb}.hero-limit-top{align-items:center}.hero-limit-top .button{max-width:none}.budget-available{flex-direction:row;align-items:baseline}.context-band{grid-template-columns:1fr 1fr}.context-item:first-child{grid-column:1/-1;border-bottom:1px solid var(--line)}.context-item:nth-child(2){border-left:0}.context-item:first-child strong{font-size:29px}.context-item:first-child p{margin-top:5px}.filters{grid-template-columns:1fr 1fr}.filters.compact{grid-template-columns:1fr 1fr}.expense-header{display:none}.expense-row{grid-template-columns:minmax(0,1fr) 120px;gap:10px 20px;padding:20px 0}.expense-row>.expense-summary{grid-column:1}.expense-row>.expense-form{grid-column:1;grid-row:2}.expense-row>.expense-total{grid-column:2;grid-row:1;text-align:right}.expense-row>.expense-open{grid-column:2;grid-row:2;text-align:right}.expense-row>.expense-status{grid-column:1/-1;justify-self:start}.expense-row .expense-value small{font-size:11px}.installment-row{grid-template-columns:minmax(0,1fr) 120px;gap:10px 16px;padding:18px 0}.installment-info{grid-column:1;grid-row:1}.installment-date{grid-column:1;grid-row:2}.installment-value{grid-column:2;grid-row:1}.installment-actions{grid-column:2;grid-row:2/4;align-items:flex-end;flex-direction:column;gap:4px}.installment-actions .button{min-height:44px;padding:9px 11px}.category-catalog{grid-template-columns:1fr 1fr;gap:14px}.category-tile{padding:21px}.category-tile-bottom{flex-direction:column;gap:8px}.category-tile-bottom strong{font-size:25px}.choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-calendar .installment-row{grid-template-columns:minmax(0,1fr) 112px;gap:10px 15px}.detail-calendar .installment-actions{grid-column:2;grid-row:2/4}.settings-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr 1fr}.auth-layout{grid-template-columns:1fr;max-width:450px;gap:27px}.auth-brand h1,.auth-brand>p,.auth-illustration{display:none}.auth-brand .brand{margin:0 0 0 5px}.auth-page{padding-top:30px}.auth-card{padding:30px}.form-grid{gap:16px}.category-row-top{font-size:13px}.category-row-top strong{font-size:14px}}
@media(max-width:560px){.sidebar{position:fixed;inset:auto 0 0 0;height:76px;padding:0;background:#fff;z-index:30;border-top:1px solid #e4dce9;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.sidebar>.brand{display:none}.sidebar nav{height:75px;gap:0;align-items:center;padding:5px 0}.nav-item{flex-direction:column;gap:4px;font-size:11px;padding:8px 0;min-width:64px;min-height:61px;border-radius:12px;flex:1;justify-content:center}.nav-item.active{background:#f7f0fc}.nav-item .icon{width:21px;height:21px}.topbar{height:66px;padding:0 17px}.identity{gap:7px;font-size:11px}.identity .button{padding:9px 7px;font-size:11px;margin:0}.identity .avatar{width:28px;height:28px;font-size:12px}.topbar-title{font-size:12px}.main{padding:24px 17px 25px}h1{font-size:29px}.page-heading{gap:14px;margin-bottom:21px;align-items:flex-start}.heading-actions .button{font-size:11px;padding:11px 13px}.heading-actions{justify-content:flex-end;gap:7px}.hero-budget{padding:23px 21px;gap:22px}.hero-spent strong{font-size:42px}.hero-spent p{font-size:11px;line-height:1.6}.hero-limit{padding-top:19px}.hero-limit-top p{font-size:11px}.hero-limit-top strong{font-size:21px}.hero-limit-top .button{font-size:11px;padding:9px}.budget-available{flex-direction:column;gap:4px}.budget-available strong{font-size:26px}.budget-used{font-size:11px}.context-band{margin-top:17px;border-radius:21px}.context-item{padding:18px}.context-item h2{font-size:12px}.context-item strong,.context-item .context-value-link{font-size:22px}.context-item:first-child strong{font-size:29px}.context-item p{font-size:11px}.context-item a{min-height:44px}.overview-lower{margin-top:20px;gap:20px}.surface{padding:21px 18px;border-radius:21px}.section-head h2{font-size:19px}.category-bars{display:flex;gap:7px}.category-row-top{grid-template-columns:minmax(0,1fr) auto 40px;gap:8px;font-size:12px}.category-row-top strong{font-size:13px}.category-row-top small{font-size:11px}.category-bar-row{min-height:59px}.forecast-heading{flex-direction:column;align-items:flex-start;gap:10px}.forecast-heading .button{padding:6px 0;min-height:44px}.filters{gap:12px}.filters.compact{grid-template-columns:1fr 1fr}.filters .search{grid-column:1/-1}.field label{font-size:11px}.control{font-size:13px}.tabs{gap:20px;margin-bottom:20px}.tab{font-size:12px;line-height:1.4;text-align:left;padding-bottom:11px}.expense-row{grid-template-columns:minmax(0,1fr) 100px;gap:8px 15px}.expense-title{font-size:14px;line-height:1.5}.expense-value{font-size:14px}.expense-row p{font-size:11px}.expense-status{margin-top:3px}.installment-row{grid-template-columns:minmax(0,1fr) 108px;gap:8px 12px}.installment-value{font-size:14px}.installment-name{font-size:13px}.installment-actions .button{font-size:11px;width:100%;max-width:130px}.installment-date{font-size:11px}.installment-caption{font-size:11px}.category-catalog{grid-template-columns:1fr}.category-tile h2{font-size:20px}.category-tile p{min-height:0}.category-tile-bottom{flex-direction:row;align-items:baseline}.category-tile-bottom strong{font-size:27px}.category-context{gap:8px 15px;font-size:12px}.category-context strong{font-size:24px}.category-context .button{margin-left:0}.choice-list{display:flex}.detail-top{flex-direction:column;gap:13px}.detail-price{text-align:left}.detail-top h2{font-size:24px}.detail-price strong{font-size:30px}.detail-amounts{gap:25px;padding:14px}.detail-amounts strong{font-size:18px}.detail-meta{font-size:11px;gap:6px 14px}.detail-calendar .installment-row{grid-template-columns:minmax(0,1fr) 105px;gap:8px 12px}.detail-calendar .installment-actions .button{font-size:11px;padding:8px 9px}.detail-calendar .installment-value{font-size:14px}.cards-grid{grid-template-columns:1fr}.app-dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:94dvh;border-radius:24px 24px 0 0;padding:22px 20px 28px}.expense-detail-dialog{height:94dvh;inset:auto 0 0;max-height:94dvh}.dialog-header{gap:12px;margin-bottom:21px}.dialog-header h2{font-size:23px}.form-grid{grid-template-columns:1fr}.full{grid-column:1}.form-actions{gap:12px;align-items:flex-start}.form-actions-right{gap:8px}.form-actions .button{font-size:11px;padding:11px 13px}.form-actions-right .button{min-width:120px}.preview-section{padding:17px}.preview-row{grid-template-columns:minmax(0,1fr) 96px;gap:7px 15px}.preview-row>span:nth-child(2){grid-column:1;grid-row:2}.preview-row strong{grid-column:2;grid-row:1/3;font-size:13px}.app-footer{margin:0 17px 100px;gap:5px 17px}.toast{bottom:94px;left:50%;width:max-content;max-width:calc(100vw - 30px)}.cookie-notice{left:50%;bottom:88px;width:calc(100vw - 22px);padding:19px;gap:14px}.cookie-actions{gap:8px}.cookie-actions .button{flex:1;font-size:11px;padding:11px 10px}.auth-page .cookie-notice{bottom:11px}.auth-page .app-footer{margin:22px 0 13px}.auth-page{padding:26px 18px 0}.auth-card{padding:27px 23px}.auth-card h1,.auth-card h2{font-size:26px}.password-layout>.brand{margin-left:2px}.privacy-content{padding:30px 21px}.privacy-content+.app-footer{margin-bottom:24px}.skip-link{left:12px}.topbar-title{max-width:105px}.category-tile-bottom span{font-size:11px}.forecast-money{font-size:12px}}
@media(max-width:370px){.page-heading{flex-direction:column;align-items:stretch;gap:15px}.heading-actions{justify-content:flex-start}.hero-spent strong{font-size:38px}.context-item{padding:16px}.context-item strong,.context-item .context-value-link{font-size:20px}.identity #user-name{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-limit-top{gap:10px}.hero-limit-top .button{max-width:92px}.category-tile-bottom{align-items:flex-start;flex-direction:column;gap:7px}.detail-amounts{gap:20px}.detail-amounts strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.mobile-label{display:none}.category-description{font-size:13px;color:var(--muted);line-height:1.6;margin:-7px 0 21px}.expense-form{font-size:12px}.section-head>.muted{font-size:11px;white-space:nowrap}.context-item .context-value-link{min-height:44px}
@media(max-width:760px){.mobile-label{display:block;margin:0 0 4px!important;color:var(--muted);font-size:11px!important;font-weight:400!important}.expense-summary .expense-title{margin-bottom:4px}}

@media(max-width:560px){.choice-list .expense-choice{padding:14px 16px;min-height:78px}.choice-list .expense-choice h3{font-size:14px}.choice-list .expense-choice strong{font-size:17px;margin-top:4px}.choice-list .expense-choice p,.choice-list .expense-choice .chosen{display:none}.forecast-mobile-hint{display:inline}.forecast-plot{grid-template-columns:60px minmax(0,1fr);gap:4px}.section-head>.button{flex-shrink:0}}

.app-footer>a{display:inline-flex;align-items:center;min-height:44px}

.forecast-panel{margin-top:24px}.expense-ranking{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.expense-rank-row{display:block;width:100%;min-height:60px;background:transparent;text-align:left;padding:10px 0;border-radius:12px}.expense-rank-row:hover{background:#faf7fc}.expense-rank-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:14px;font-size:13px;line-height:1.5}.expense-rank-top>span{overflow-wrap:anywhere}.expense-rank-top strong{font-size:14px;font-weight:500;white-space:nowrap;letter-spacing:-.02em}.expense-rank-bar{display:block;height:5px;background:#ac6ed3;border-radius:3px;margin-top:10px}.expense-ranking li:nth-child(n+2) .expense-rank-bar{background:#bc93d5}.expense-ranking li:nth-child(n+4) .expense-rank-bar{background:#d0b9df}@media(max-width:560px){.forecast-panel{margin-top:20px}.expense-rank-top{gap:10px;font-size:12px}.expense-rank-top strong{font-size:13px}}

.invoice-field{margin-top:22px}.invoice-field input[type=file]{padding:0;min-height:48px;height:auto;max-width:100%;font-size:12px}.invoice-field input[type=file]::file-selector-button{border:0;border-right:1px solid var(--line);padding:12px;min-height:46px;background:#f5ebff;color:#7100bd;font:inherit;cursor:pointer;margin-right:10px}.invoice-progress{width:100%;height:8px;accent-color:var(--purple);display:block;margin-top:12px}.invoice-detail{margin:20px 0;padding:16px;background:#faf7fd;border-radius:14px}.invoice-detail p{overflow-wrap:anywhere;margin:8px 0}.invoice-field .invoice-detail{margin:12px 0}.invoice-detail .button{margin-top:3px}

.invoice-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.invoice-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.invoice-file-name{font-size:12px;color:var(--muted);overflow-wrap:anywhere;min-width:0;flex:1 1 120px}

.document-picker{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px}.document-picker>.button{margin:14px 0 10px}.document-picker>.help-text{margin-top:6px}.document-queue{display:grid;gap:12px;margin-top:14px}.document-selected{padding:16px;border-radius:12px;background:var(--bg);min-width:0}.document-file-info{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.document-file-info strong{font-size:14px;font-weight:550;overflow-wrap:anywhere;min-width:0}.document-file-info small{white-space:nowrap;color:var(--muted)}.document-identification{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;margin-top:14px}.document-selected>.button{margin-top:8px;padding-left:0}.document-selected>.feedback{margin-top:12px}.document-section{margin:24px 0;border:1px solid var(--line);border-radius:16px;padding:20px;font-size:14px}.document-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px}.document-section-head .help-text{margin-top:5px}.document-section-head .button{flex-shrink:0;font-size:12px}.document-list{list-style:none;padding:0;margin:0}.document-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;min-width:0}.document-row:last-child{border-bottom:0;padding-bottom:0}.document-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;overflow-wrap:anywhere}.document-info>strong{font-size:15px;font-weight:550}.document-info p,.document-info small{font-size:12px;color:var(--muted)}.document-type{font-size:12px;color:var(--strong);background:var(--soft);border-radius:6px;padding:3px 8px}.document-actions{display:flex;gap:8px;flex-wrap:wrap}.document-actions .button{font-size:12px;padding:10px 12px;min-height:44px}.document-empty{padding:14px 0 4px;font-size:13px;color:var(--muted)}.document-archives{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.document-archives summary{min-height:44px;cursor:pointer;display:list-item;align-content:center;margin-left:16px}.document-archives .document-type{background:var(--bg);color:var(--muted)}
@media(max-width:560px){.document-picker,.document-section{padding:16px}.document-section-head{flex-direction:column;align-items:flex-start;gap:10px}.document-identification{grid-template-columns:minmax(0,1fr)}.document-file-info{flex-direction:column;gap:4px}.document-actions{gap:8px}.document-actions .button{font-size:12px}.document-info>strong{font-size:14px}.document-picker .field label{font-size:12px}}

.document-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;margin:16px 0 12px;border:2px dashed #b9a9c7;border-radius:14px;background:#fcfaff;text-align:center;cursor:pointer;min-height:156px}.document-drop-title{font-size:14px;font-weight:500;overflow-wrap:anywhere}.document-dropzone .help-text{font-size:12px}.document-dropzone .button{min-height:44px}.document-dropzone:hover,.document-dropzone:focus-within,.document-dropzone.drag-over{border-color:var(--strong);background:var(--soft)}.document-dropzone.drag-over{outline:2px solid var(--strong);outline-offset:3px}.document-picker:has(.invoice-file-input:disabled) .document-dropzone{opacity:.6;cursor:wait;border-color:var(--line);background:var(--bg);outline:none}@media(max-width:560px){.document-dropzone{padding:20px 12px}.document-drop-title{font-size:14px}}

.preview-total{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-top:16px;padding-top:16px;border-top:1px solid #ded5e6;font-size:14px}.preview-total strong{font-size:20px;font-weight:600;white-space:nowrap;letter-spacing:-.02em}

@media(max-width:900px){.month-list-heading,.month-expense-row{grid-template-columns:minmax(0,1fr) 115px 135px;gap:16px}.month-detail-total strong{font-size:28px}.month-detail-title h3{font-size:20px}}
@media(max-width:560px){.month-detail-header{padding:20px 16px;align-items:flex-start;flex-direction:column;gap:18px}.month-detail-title{gap:12px}.month-detail-title h3{font-size:20px}.month-detail-total{text-align:left;padding-left:38px}.month-detail-total strong{font-size:28px}.month-detail-body{padding:0 16px}.month-list-heading{display:none}.month-expense-row{grid-template-columns:minmax(0,1fr) 104px;gap:7px 12px;padding:18px 0;min-height:100px}.month-row-main{grid-column:1/-1;grid-row:1}.month-row-due{grid-column:1;grid-row:2;font-size:11px}.month-due-label{display:inline}.month-row-amount{grid-column:2;grid-row:2;align-self:center}.month-row-amount>strong{font-size:15px}.month-row-main>strong{font-size:14px}.month-row-main>span{font-size:11px}.month-detail-footer{padding:10px 16px}.month-detail-empty{padding:28px 16px}.forecast-range{margin-top:0}}
