[hidden]{display:none!important}:root{--ink:#111b38;--muted:#8c95a7;--line:#e8ebf0;--paper:#fff;--bg:#f7f8fa;--green:#1d9a70;--green-soft:#eaf8f2;--red:#df5d62;--red-soft:#fff1f0;--navy:#152143}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Manrope,Arial,sans-serif;background:var(--bg);font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#fff;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:3}.brand{font-size:21px;font-weight:800;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;padding:0 10px;margin-bottom:32px}.brand-mark{background:var(--green);color:#fff;border-radius:9px;width:29px;height:29px;display:grid;place-items:center;font-size:19px}.profile-mini{display:flex;gap:10px;align-items:center;background:#f8f9fb;padding:12px 10px;border-radius:12px;margin:35px 0 28px}.avatar{border:0;border-radius:50%;background:#f7d8cb;color:#964b36;font-size:18px;font-weight:800;width:35px;height:35px;display:grid;place-items:center}.profile-mini b,.profile-mini small{display:block;font-size:11px}.profile-mini small{color:var(--muted);margin-top:2px}.side-nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;padding:12px;border-radius:9px;color:#68738a;font:600 13px Manrope;text-align:left;cursor:pointer}.nav-item i{font-style:normal;width:25px;display:inline-block;font-size:18px;vertical-align:-2px}.nav-item.active{background:#eaf8f2;color:#167b5c}.side-bottom{margin-top:auto}.nav-item.muted{color:#a0a7b5}.content{margin-left:252px;width:calc(100% - 252px);padding:0 max(5vw,45px) 70px;max-width:1550px}.topbar{height:118px;display:flex;justify-content:space-between;align-items:center}.eyebrow,.section-kicker{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#99a1b1;margin:0 0 7px}.topbar h1{font:700 27px Playfair Display,serif;margin:0}.top-actions{display:flex;align-items:center;gap:14px}.icon-button{border:0;background:#fff;width:38px;height:38px;border-radius:50%;color:#4d5a72;font-size:18px;position:relative;cursor:pointer}.only-mobile{display:none}.user-menu{position:relative}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border-radius:10px;box-shadow:0 15px 40px #19244b26;min-width:170px;padding:6px;z-index:5}.user-menu-item{display:block;width:100%;text-align:left;border:0;background:none;padding:10px 12px;border-radius:7px;font:600 12px Manrope;color:#49566c;cursor:pointer}.user-menu-item:hover{background:#f5f6f8}.overview-heading,.page-title,.quick-title,.section-head{display:flex;justify-content:space-between;align-items:end}.overview-heading h2,.page-title h2,.quick-title h2,.section-head h2{font:700 24px Playfair Display,serif;margin:0}.section-head h3{font:700 19px Playfair Display,serif;margin:0}.period-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;font:600 12px Manrope;color:#526075}.period-button span{padding-left:19px}.balance-card{height:187px;background:var(--navy);border-radius:15px;color:#fff;margin-top:22px;padding:27px 32px;display:flex;justify-content:space-between;overflow:hidden;position:relative}.balance-copy{z-index:1}.balance-copy>span{color:#aeb8cf;font-size:12px;display:flex;align-items:center;gap:8px}.balance-edit{border:0;background:#22335c;color:#c7d0e6;width:20px;height:20px;border-radius:6px;cursor:pointer;font-size:10px;display:inline-grid;place-items:center;line-height:1}.balance-edit:hover{background:#2c4270;color:#fff}.balance-copy strong{font-size:35px;display:block;margin:7px 0 10px;letter-spacing:-1.5px}.balance-copy small{font-size:11px;color:#abb5ca}.balance-copy em{color:#3fd19a;background:#22486a;border-radius:5px;padding:2px 4px;font-style:normal;margin-right:5px}.balance-copy em.negative{color:#ff9195;background:#5a2331}.balance-illustration{width:360px;position:relative}.orb{position:absolute;border-radius:50%;border:1px solid #385176}.o1{width:270px;height:270px;right:-60px;top:-127px}.o2{width:180px;height:180px;right:65px;top:70px}.bars{display:flex;align-items:end;height:105px;gap:10px;position:absolute;right:35px;bottom:10px}.bars i{display:block;width:17px;border-radius:5px 5px 0 0;background:linear-gradient(#50daa6,#278d77)}.bars i:nth-child(1){height:29px}.bars i:nth-child(2){height:49px}.bars i:nth-child(3){height:42px}.bars i:nth-child(4){height:80px}.bars i:nth-child(5){height:67px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:17px 0 41px}.stat{background:#fff;border-radius:12px;padding:18px;display:flex;gap:14px;align-items:center}.stat-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;font-size:20px;font-weight:700}.income .stat-icon{color:var(--green);background:var(--green-soft)}.expense .stat-icon{color:var(--red);background:var(--red-soft)}.planned .stat-icon{color:#6272aa;background:#eef1fa}.stat p,.stat small{margin:0;color:#8f98a8;font-size:11px}.stat strong{display:block;font-size:17px;margin:2px 0}.overview-donut-card{background:#fff;border-radius:15px;padding:22px;display:flex;align-items:center;gap:28px;margin:17px 0 41px}.overview-donut-chart{flex-shrink:0}.overview-donut-chart svg{display:block}.donut-track{stroke:#eef1f4}.donut-seg{stroke-linecap:butt;transition:stroke-dasharray .4s ease,stroke-width .2s ease,opacity .2s ease}.donut-seg.highlighted{stroke-width:18px}.donut-seg.dimmed{opacity:.25}.donut-legend-item{cursor:pointer;border-radius:10px;padding:5px 8px;margin:-5px -8px;transition:background .15s ease}.donut-legend-item:hover{background:#f5f6f8}.donut-legend-item.active{background:#eef1f4}.overview-donut-legend{display:grid;gap:10px;flex:1;min-width:0}.donut-legend-item{display:flex;align-items:center;gap:9px}.donut-legend-item .donut-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-legend-item.income .donut-dot{background:var(--green)}.donut-legend-item.expense .donut-dot{background:var(--red)}.donut-legend-item.planned .donut-dot{background:#6272aa}.donut-legend-item.balance .donut-dot{background:var(--navy)}.donut-legend-item p,.donut-legend-item small{margin:0;color:#8f98a8;font-size:10px}.donut-legend-item strong{display:block;font-size:13px;margin:1px 0}.donut-legend-item strong.negative{color:var(--red)}.donut-legend-item strong.positive{color:var(--green)}.quick-title{margin-bottom:15px}.quick-title>p{color:#8f98a8;font-size:11px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quick-action{border:1px solid transparent;text-align:left;padding:19px;background:#fff;border-radius:12px;display:flex;align-items:center;gap:13px;cursor:pointer;color:var(--ink)}.quick-action:hover{border-color:#bac6d8;transform:translateY(-1px)}.quick-round{height:39px;width:39px;border-radius:50%;display:grid;place-items:center;font-size:20px}.expense-action .quick-round{background:var(--red-soft);color:var(--red)}.income-action .quick-round{background:var(--green-soft);color:var(--green)}.quick-action b,.quick-action small{display:block}.quick-action b{font-size:14px}.quick-action small{font-size:10px;color:var(--muted);margin-top:3px}.quick-action>i{font-style:normal;margin-left:auto;color:#abb2bf;font-size:19px}.recent-section{margin-top:43px}.section-head{margin-bottom:14px}.link-button{background:none;color:#268467;border:0;font:700 12px Manrope;cursor:pointer}.transactions-list{background:#fff;border-radius:12px;overflow:hidden}.transaction{display:flex;align-items:center;padding:13px 19px;border-bottom:1px solid #f0f1f4;gap:12px}.transaction:last-child{border-bottom:0}.transaction-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.transaction-info{flex:1;min-width:0}.transaction-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction.expense .transaction-icon{background:var(--red-soft);color:var(--red)}.transaction.income .transaction-icon{background:var(--green-soft);color:var(--green)}.transaction-name{font-weight:700;font-size:12px}.transaction-meta{font-size:10px;color:var(--muted);margin-top:3px}.transaction-recurrence{font-size:10px;color:#9aa4b6;margin-top:2px}.transaction-amount{margin-left:auto;font-size:13px;font-weight:800;flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums}.transaction.expense .transaction-amount{color:var(--red)}.transaction.income .transaction-amount{color:var(--green)}.status{font-size:9px;font-weight:700;padding:4px 7px;border-radius:5px;margin-left:16px;background:#f3f5f7;color:#808a9b}.status.planned{background:#eff1fa;color:#6978aa}.transaction-actions{display:flex;gap:4px;margin-left:10px;flex-shrink:0}.edit-transaction,.delete-transaction{border:0;background:none;cursor:pointer;font-size:14px;color:#a7aebc;width:26px;height:26px;border-radius:6px;display:grid;place-items:center}.edit-transaction:hover{background:#eef1fa;color:#526075}.delete-transaction:hover{background:var(--red-soft);color:var(--red)}.planning-item{position:relative}.page{display:none}.page.active{display:block}.page-title{margin:5px 0 22px}.primary{border:0;border-radius:8px;padding:11px 16px;color:#fff;background:var(--green);font:700 12px Manrope;cursor:pointer}.primary:hover{background:#167d5c}.filters{display:flex;gap:10px;margin-bottom:16px}.filters select,select,input,textarea{border:1px solid var(--line);border-radius:8px;background:#fff;color:#49566c;padding:10px 11px;font:500 12px Manrope;outline:none}.filters select:focus,select:focus,input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #e4f6ef}.large .transaction{padding:17px 20px}.forecast{display:flex;gap:20px;align-items:center;padding:23px;background:var(--navy);color:#fff;border-radius:12px;margin-bottom:22px}.forecast div{display:grid;gap:5px;flex:1}.forecast span{font-size:10px;color:#aab4c8}.forecast b{font-size:16px}.forecast i{color:#8591a8;font-style:normal}.forecast .positive{color:#5be4ae}.forecast .negative{color:#ff969b}.forecast .result{background:#203057;border-radius:8px;padding:10px}.planning-list{display:grid;gap:9px}.planning-day{font-weight:800;color:#66738a;margin-top:11px}.planning-item{background:#fff;border-radius:10px;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:14px}.planning-item span{font-size:11px;color:var(--muted)}.planning-item>div:first-child{flex:1;min-width:0}.planning-item>div:first-child b{display:block;margin-top:4px}.planning-item>b{flex:none;text-align:right;min-width:96px;font-variant-numeric:tabular-nums}.planning-item .positive{color:var(--green)}.planning-item .negative{color:var(--red)}.category-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.category-columns h3{font:700 16px Playfair Display,serif}.categories-grid{display:grid;gap:9px}.category-card{background:#fff;padding:14px 16px;border-radius:10px;display:flex;align-items:center;gap:10px}.category-card .category-symbol{width:31px;height:31px;background:#f2f4f7;border-radius:8px;display:grid;place-items:center;color:#6f7a90}.category-card b{font-size:12px}.category-card small{display:block;color:#9ba4b2;font-size:10px;margin-top:3px}.category-actions{display:flex;gap:4px;margin-left:auto}.edit-category,.delete-category{border:0;background:none;cursor:pointer;font-size:14px;color:#a7aebc;width:26px;height:26px;border-radius:6px;display:grid;place-items:center}.edit-category:hover{background:#eef1fa;color:#526075}.delete-category:hover{background:var(--red-soft);color:var(--red)}.profile-form{max-width:520px;background:#fff;padding:30px;border-radius:13px;display:grid;gap:17px;margin-bottom:20px}.profile-avatar{width:62px;height:62px;font-size:30px}.profile-form label,.modal label{display:grid;gap:7px;color:#68748a;font-weight:700;font-size:11px}.profile-form .primary{justify-self:start;margin-top:5px}.analytics-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.analytics-filters select,.analytics-filters input{border:1px solid var(--line);border-radius:8px;background:#fff;color:#49566c;padding:10px 11px;font:500 12px Manrope}.analytics-categories{background:#fff;border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:10px 18px}.analytics-categories .check{margin:0!important;font-weight:500;color:#49566c;font-size:12px}.analytics-card{background:#fff;border-radius:13px;padding:20px;margin-bottom:16px}.analytics-card h3{margin:0 0 10px;font:700 15px Playfair Display,serif}.analytics-summary{font-size:12px;color:#68738a;margin:0 0 14px}.analytics-summary b{color:var(--ink)}.analytics-summary b.positive{color:var(--green)}.analytics-summary b.negative{color:var(--red)}.chart-scroll{overflow-x:auto;padding-bottom:4px}.balance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.balance-stats div{background:#f8f9fb;border-radius:10px;padding:9px 10px;min-width:0}.balance-stats span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.balance-stats b{display:block;font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-actual-title{margin:20px 0 10px;font:700 14px Playfair Display,serif}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9996}.onboarding-hole{position:absolute;z-index:9997;pointer-events:none;box-shadow:0 0 0 9999px #0a1020bd;border-radius:12px;opacity:0;transition:opacity .3s}.onboarding-tooltip{position:absolute;z-index:9998;background:#fff;border-radius:14px;padding:20px 22px;box-shadow:0 25px 80px #0c173a4d;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.onboarding-tooltip.visible{opacity:1;transform:translateY(0)}.onboarding-tooltip.centered{text-align:center}.onboarding-close{position:absolute;right:12px;top:12px;border:0;background:none;font-size:22px;color:#9aa4b6;cursor:pointer;line-height:1;padding:4px;width:32px;height:32px;border-radius:8px}.onboarding-close:hover{background:#f2f4f7}.onboarding-progress{font-size:10px;font-weight:800;letter-spacing:.6px;color:#8c95a7;margin:0 0 8px;padding-right:26px}.onboarding-tooltip h3{font:700 17px Playfair Display,serif;margin:0 0 8px;padding-right:26px}.onboarding-tooltip p:not(.onboarding-progress){font-size:13px;color:#526075;line-height:1.5;margin:0 0 18px}.onboarding-actions{display:flex;gap:10px}.onboarding-actions .secondary{flex:none;padding:11px 14px;border-radius:8px;font:700 12px Manrope;cursor:pointer}.onboarding-actions .primary{flex:1;padding:11px 14px;min-height:44px}.onboarding-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;background:#0a0f20b3;padding:20px}.onboarding-confirm-card{background:#fff;border-radius:14px;padding:24px;max-width:320px;box-shadow:0 25px 80px #0c173a4d}.onboarding-confirm-card p{font:700 15px Playfair Display,serif;margin:0 0 8px}.onboarding-confirm-card small{display:block;color:#8c95a7;font-size:12px;line-height:1.5;margin-bottom:18px}.onboarding-confirm-actions{display:flex;flex-direction:column;gap:8px}.onboarding-confirm-actions button{padding:12px;border-radius:8px;font:700 12px Manrope;cursor:pointer;min-height:44px}.auth-headline{font:800 26px Playfair Display,serif;text-align:center;margin:0 0 8px;color:var(--ink)}.auth-subtitle{font-size:12px;color:#8c95a7;text-align:center;line-height:1.6;margin:0 0 26px}.auth-switch{grid-column:1/-1;text-align:center;font-size:12px;color:#8c95a7;margin:2px 0 0}.auth-switch .link-button{font-size:12px;padding:0;font-weight:800}.planning-view-toggle{display:flex;gap:8px;margin-bottom:14px}.view-toggle-btn{border:1px solid var(--line);background:#fff;color:#526075;border-radius:8px;padding:9px 16px;font:700 12px Manrope;cursor:pointer;min-height:40px}.view-toggle-btn.active{background:var(--green);border-color:var(--green);color:#fff}.planning-calendar{background:#fff;border-radius:12px;padding:18px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-nav b{font:700 15px Playfair Display,serif}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;color:var(--muted);margin-bottom:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-cell{aspect-ratio:1;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;font:600 12px Manrope;color:var(--ink);min-height:40px}.calendar-cell:hover{border-color:#bac6d8}.calendar-cell.empty{border-color:transparent;background:transparent;cursor:default}.calendar-cell.today{border-color:var(--green);border-width:2px}.calendar-cell.selected{background:#eaf8f2;border-color:var(--green)}.calendar-day-dots{display:flex;gap:2px}.calendar-day-dot{width:6px;height:6px;border-radius:50%}.calendar-day-dot.positive{background:var(--green)}.calendar-day-dot.negative{background:var(--red)}.calendar-day-detail{margin-top:16px}.calendar-day-detail .planning-item{margin-bottom:8px}.calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-plan-btn{border:1px dashed var(--green);background:var(--green-soft);color:#167b5c;border-radius:8px;padding:6px 10px;font:700 11px Manrope;cursor:pointer;flex-shrink:0}.calendar-plan-btn:hover{background:var(--green);color:#fff;border-style:solid}.avatar-field{display:grid;gap:7px}.avatar-field-label{color:#68748a;font-weight:700;font-size:11px}.avatar-picker{display:flex;gap:8px;flex-wrap:wrap}.avatar-option{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:#fff;font-size:24px;cursor:pointer;display:grid;place-items:center;line-height:1}.avatar-option.selected{border-color:var(--green);background:var(--green-soft)}.analytics-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.category-breakdown{display:grid;gap:10px}.breakdown-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;font-size:12px}.breakdown-name{color:#49566c;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-bar{height:8px;background:#eef0f3;border-radius:5px;overflow:hidden}.breakdown-bar-fill{height:100%;background:linear-gradient(90deg,#7d9dfa,#4a6fe0);border-radius:5px}.breakdown-amount{font-weight:700;white-space:nowrap}.plan-actual{display:grid;gap:12px}.plan-actual-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:12px;color:#68738a;padding:12px 14px;background:#f8f9fb;border-radius:10px}.plan-actual-row>span:first-child{font-weight:700;color:var(--ink);min-width:70px}.plan-actual-row b{margin-left:auto}.plan-actual-row b.positive{color:var(--green)}.plan-actual-row b.negative{color:var(--red)}.goals-section{margin-top:32px}.goals-history-title{font:700 16px Playfair Display,serif;margin:0 0 12px}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.goal-card{background:#fff;border-radius:13px;overflow:hidden;border-top:4px solid #d8dee8}.goal-card.priority-high{border-top-color:var(--red)}.goal-card.priority-medium{border-top-color:#e0a83f}.goal-card.priority-low{border-top-color:var(--green)}.goal-card.achieved{border-top-color:var(--green);opacity:.85}.goal-photo{height:110px;background:#f2f4f7;display:grid;place-items:center;overflow:hidden}.goal-photo img{width:100%;height:100%;object-fit:cover}.goal-photo-fallback{font-size:38px}.goal-body{padding:16px}.goal-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.goal-head b{font-size:14px}.goal-priority-badge{font-size:9px;font-weight:700;padding:3px 7px;border-radius:6px;white-space:nowrap;background:#f3f5f7;color:#808a9b}.goal-priority-badge.high{background:var(--red-soft);color:var(--red)}.goal-priority-badge.medium{background:#fff4e0;color:#a86a10}.goal-priority-badge.low{background:var(--green-soft);color:var(--green)}.goal-type-caption{font-size:10px;color:var(--muted);margin-top:2px}.goal-progress-bar{height:8px;background:#eef0f3;border-radius:5px;margin-top:12px;overflow:hidden}.goal-progress-fill{height:100%;background:linear-gradient(90deg,#50daa6,#1d9a70);border-radius:5px}.goal-amounts{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;font-weight:700}.goal-remaining{font-size:11px;color:var(--muted);margin-top:2px}.goal-meta{font-size:11px;color:var(--muted);margin-top:8px}.goal-meta.warn{color:var(--red);font-weight:700}.goal-required{font-size:11px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f1f4}.goal-required b{display:block;font-size:13px;margin-top:2px}.goal-required small{display:block;color:var(--muted);margin-top:2px}.goal-achievability{font-size:11px;font-weight:700;margin-top:8px}.goal-achievability.ok{color:var(--green)}.goal-achievability.warn{color:#a86a10}.goal-achievability.bad{color:var(--red)}.goal-description{font-size:11px;color:#68738a;margin-top:8px;line-height:1.5}.goal-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.goal-actions .secondary{padding:7px 10px;border-radius:7px;font:700 10px Manrope;cursor:pointer}.goal-photo-preview{width:100%;max-height:160px;object-fit:cover;border-radius:8px;margin-top:8px}.users-list{display:grid;gap:9px}.user-row{background:#fff;border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.user-info{flex:1;min-width:140px}.user-info b{display:block;font-size:13px}.user-info small{color:var(--muted);font-size:11px}.user-badge{font-size:10px;font-weight:700;padding:4px 9px;border-radius:6px;background:#f3f5f7;color:#808a9b;white-space:nowrap}.user-badge.admin{background:#eef1fa;color:#526cc6}.user-badge.super{background:#fff4e0;color:#a86a10}.user-badge.active{background:var(--green-soft);color:var(--green)}.user-badge.blocked{background:var(--red-soft);color:var(--red)}.user-actions{display:flex;gap:6px;flex-wrap:wrap}.user-registered{font-size:10px;color:var(--muted);white-space:nowrap}.admin-stats-legend{display:inline-flex;gap:12px;flex-wrap:wrap;margin-left:12px}.admin-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#68748a}.admin-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.filter-date-label{display:flex;align-items:center;gap:7px;font-size:11px;color:#68748a;font-weight:700}.users-count{color:#8f98a8;font-size:11px;margin:0 0 12px}.user-actions .secondary{padding:7px 11px;border-radius:7px;font:700 11px Manrope;cursor:pointer}.user-actions small{color:var(--muted);font-size:10px}.floating-add{display:none}.modal{border:0;padding:0;border-radius:15px;width:min(92vw,440px);box-shadow:0 25px 80px #0c173a33}.modal::backdrop{background:#101b37aa}.modal form{padding:27px;position:relative}.modal h2{font:700 23px Playfair Display,serif;margin:0 0 20px}.modal-close{position:absolute;right:17px;top:14px;border:0;background:none;font-size:26px;color:#8490a3;cursor:pointer}.modal label{margin-top:13px}.modal small{font-weight:500;color:#a1a9b6}.modal input,.modal select,.modal textarea{width:100%;resize:none}.modal textarea{height:68px}.type-switch{display:grid;grid-template-columns:1fr 1fr;border-radius:8px;background:#f2f4f7;padding:3px}.modal .type-switch{margin-top:16px}.type-switch button{border:0;background:transparent;border-radius:6px;padding:9px;font:700 12px Manrope;color:#7b8699;cursor:pointer}.type-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #19244b17}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;margin:17px 0!important;gap:8px!important}.check input{width:auto}.full{width:100%;padding:13px}.modal form>button.full{margin-top:22px}.confirm-copy{color:#68748a;font-size:12px;line-height:1.55;margin:13px 0 22px}.confirm-modal .confirm-actions{display:flex;gap:10px;margin-top:0}.confirm-modal .confirm-actions button{flex:1;border-radius:8px;padding:11px 16px;font:700 12px Manrope;cursor:pointer}.secondary{border:1px solid var(--line);background:#fff;color:#526075}.secondary:hover{background:#f5f6f8}.danger{border:0;color:#fff;background:var(--red)}.danger:hover{background:#c9484f}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,100px);background:#142344;color:#fff;padding:13px 19px;border-radius:8px;font-size:12px;font-weight:700;z-index:10;transition:.3s}.toast.show{transform:translate(-50%)}.auth-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--navy);padding:24px}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:32px;box-shadow:0 25px 80px #0c173a33}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-size:21px;font-weight:800;color:var(--ink);margin-bottom:24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:8px;background:#f2f4f7;padding:3px;margin-bottom:20px}.auth-tab{border:0;background:transparent;border-radius:6px;padding:11px;font:700 13px Manrope;color:#7b8699;cursor:pointer;min-height:44px}.auth-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #19244b17}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:#68748a;font-weight:700;font-size:11px}.auth-form input{width:100%}.auth-form small{font-weight:500;color:#a1a9b6}.auth-error{color:#d25358;font-size:12px;font-weight:700;margin:14px 0 0;text-align:center}.scanner-trigger{border:0;background:var(--green);color:#fff;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex-shrink:0;margin-right:10px;transition:background .15s ease,transform .1s ease;box-shadow:0 6px 16px #198d6b40}.scanner-trigger:hover{background:#167d5c}.scanner-trigger:focus-visible{outline:2px solid var(--green);outline-offset:3px}.scanner-trigger:active{transform:scale(.94)}.scanner-trigger:disabled{background:#c7ccd6;cursor:not-allowed;box-shadow:none}#scannerDialog{padding:27px;position:relative}#scannerDialog h2{margin:6px 0 18px}.scanner-preview-box{background:#f7f8fa;border-radius:12px;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;margin-bottom:16px}.scanner-preview-box img{max-width:100%;max-height:100%;object-fit:contain}.scanner-preview-fallback{font-size:40px}#scannerFileName{font-size:11px;color:#8c95a7;padding:0 16px;text-align:center;word-break:break-all}.scanner-actions{display:flex;gap:10px;margin-top:4px}.scanner-actions button{flex:1;border-radius:8px;padding:11px 16px;font:700 12px Manrope;cursor:pointer;min-height:44px}#scannerProcessingPanel{text-align:center;padding:30px 10px}#scannerProcessingPanel p{font-weight:700;margin:14px 0 4px}.scanner-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--green-soft);border-top-color:var(--green);margin:0 auto;animation:scanner-spin .8s linear infinite}@keyframes scanner-spin{to{transform:rotate(360deg)}}.scanner-review-title{font:700 15px Playfair Display,serif;margin:0 0 14px}#scannerReviewPanel label{display:grid;gap:7px;color:#68748a;font-weight:700;font-size:11px;margin-bottom:13px}#scannerReviewPanel input,#scannerReviewPanel select,#scannerReviewPanel textarea{width:100%}#scannerReviewPanel textarea{min-height:70px;resize:vertical;font:500 12px Manrope}.scanner-warning{background:#fff6e6;color:#8a5a00;border-radius:8px;padding:10px 12px;font-size:11px;font-weight:700;margin:0 0 12px;line-height:1.5}#scannerErrorPanel{text-align:center;padding:10px}#scannerErrorPanel p{font-weight:700;margin:0 0 16px}#scannerErrorPanel .scanner-actions{flex-direction:column}.feature-flags-list{display:grid;gap:9px}.feature-row{background:#fff;border-radius:10px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.feature-info b{display:block;font-size:13px}.feature-info small{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.5;max-width:480px}.switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d7dbe3;border-radius:24px;cursor:pointer;transition:background .15s ease}.switch-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 3px #0002}.switch input:checked+.switch-slider{background:var(--green)}.switch input:checked+.switch-slider:before{transform:translate(18px)}.switch input:focus-visible+.switch-slider{outline:2px solid var(--green);outline-offset:2px}@media(max-width:800px){.sidebar{transform:translate(-100%);transition:.25s}.sidebar.open{transform:none}.content{margin-left:0;width:100%;padding:0 18px 84px}.topbar{height:96px}.topbar h1{font-size:23px}.only-mobile{display:block;margin-right:10px}.topbar>div:first-of-type{margin-right:auto}.balance-card{height:168px;padding:24px}.balance-copy strong{font-size:29px}.balance-illustration{width:120px}.bars{right:-8px}.orb{display:none}.stat-grid{grid-template-columns:1fr;gap:8px;margin-bottom:32px}.stat{padding:13px 16px;display:flex}.stat-icon{width:31px;height:31px}.stat strong{font-size:15px}.stat small{display:inline}.overview-donut-card{flex-direction:column;align-items:stretch;gap:18px;padding:18px;margin-bottom:32px}.overview-donut-chart{align-self:center}.quick-actions{grid-template-columns:1fr}.quick-title>p{display:none}.category-columns{grid-template-columns:1fr}.forecast{display:grid;grid-template-columns:1fr 20px 1fr;gap:12px}.forecast i{display:none}.forecast .result{grid-column:1/-1}.transaction{padding:13px}.status{display:none}.filters{flex-direction:column;overflow:visible}.filters select{width:100%;min-width:0;font-size:16px}.floating-add{display:grid;place-items:center;position:fixed;right:21px;bottom:22px;width:53px;height:53px;border:0;border-radius:50%;background:var(--green);color:#fff;font-size:28px;box-shadow:0 8px 20px #198d6b55;z-index:2}.page-title{align-items:center}.profile-form{padding:20px}.balance-copy small .trend-label{display:none}.forecast{grid-template-columns:1fr;gap:10px}.forecast>div{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.planning-item{flex-wrap:wrap;padding:13px}.planning-item>div:first-child{flex:1 1 100%;order:1}.planning-item>b{order:2;min-width:0;margin-right:auto}.planning-item .transaction-actions{order:3}.planning-day{margin-top:16px}.goals-grid,.analytics-grid-2{grid-template-columns:1fr}.balance-stats{grid-template-columns:repeat(2,1fr)}.analytics-filters select,.analytics-filters input{flex:1;min-width:0;font-size:16px}.breakdown-row{grid-template-columns:1fr;gap:4px}.breakdown-amount{justify-self:end}input,select,textarea{font-size:16px}.icon-button{width:44px;height:44px}.transaction-actions,.category-actions{gap:8px}.edit-transaction,.delete-transaction,.edit-category,.delete-category{width:44px;height:44px;font-size:16px}.week-days button{height:44px}.type-switch button{min-height:44px}.auth-tab{min-height:48px}.balance-edit{width:30px;height:30px;font-size:13px}.transaction>div,.category-card>div{min-width:0}.auth-card{padding:24px}}.analytics-pro-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.analytics-pro-metric{background:#f8f9fb;border-radius:10px;padding:12px 13px;min-width:0}.analytics-pro-metric span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.analytics-pro-metric b{display:block;font-size:15px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-pro-metric b.positive{color:var(--green)}.analytics-pro-metric b.negative{color:var(--red)}.analytics-pro-insights{display:grid;gap:9px}.analytics-pro-insight{border-radius:10px;padding:12px 14px;font-size:12px;border-left:4px solid #d8dee8}.analytics-pro-insight b{display:block;font-size:12px;margin-bottom:3px}.analytics-pro-insight.positive{background:var(--green-soft);border-left-color:var(--green)}.analytics-pro-insight.warning{background:var(--red-soft);border-left-color:var(--red)}.analytics-pro-insight.info{background:#eff1fa;border-left-color:#6978aa}.analytics-pro-dynamics{display:grid;gap:8px}.analytics-pro-dynamics-row{display:flex;align-items:center;gap:10px;font-size:12px;padding:9px 11px;background:#f8f9fb;border-radius:9px}.analytics-pro-dynamics-row .breakdown-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#49566c}.analytics-pro-change{font-weight:700;white-space:nowrap}.analytics-pro-change.up{color:var(--red)}.analytics-pro-change.down{color:var(--green)}.analytics-pro-change.stable,.analytics-pro-change.new{color:var(--muted)}@media(max-width:800px){.analytics-pro-metrics{grid-template-columns:repeat(2,1fr)}}.guide-page{max-width:760px}.auth-guide-link{display:block;width:100%;text-align:center;margin-top:14px;font-size:11px;border:0;background:none;color:#a0a7b5;cursor:pointer;font-family:Manrope,Arial,sans-serif}.auth-guide-link:hover{color:#68738a}.auth-guide-screen{min-height:100vh;min-height:100dvh;background:var(--bg);padding:56px 24px 90px;margin:0 auto;box-sizing:border-box}@media(min-width:820px){.auth-guide-screen{padding-left:max(5vw,45px);padding-right:max(5vw,45px)}}.guide-intro{color:#68748a;font-size:13.5px;line-height:1.6;margin:-8px 0 18px;max-width:60ch}.guide-back{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:#268467;font:700 12px Manrope;cursor:pointer;padding:0;margin:0 0 22px}.guide-back span{font-size:14px}.guide-back:hover{text-decoration:underline}.guide-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}.guide-toc a{background:#fff;border:1px solid var(--line);border-radius:20px;padding:7px 14px;font:600 12px Manrope;color:#49566c;text-decoration:none}.guide-toc a:hover{border-color:var(--green);color:var(--green)}.guide-topic{background:#fff;border-radius:13px;padding:24px 26px;margin-bottom:16px}.guide-topic .topic-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:#99a1b1;margin:0 0 8px}.guide-topic h3{font:700 19px Playfair Display,serif;margin:0 0 6px;display:flex;align-items:center;gap:9px}.guide-badge{font:700 9px Manrope;letter-spacing:.4px;text-transform:uppercase;background:#fff4e0;color:#a86a10;border-radius:6px;padding:3px 8px}.guide-dek{color:#8f98a8;font-size:13px;margin:0 0 16px}.guide-topic p{margin:0 0 12px;font-size:13.5px;line-height:1.65}.guide-topic ul{margin:0 0 12px;padding-left:20px;font-size:13.5px;line-height:1.65}.guide-topic li{margin-bottom:6px}.guide-topic code{font-family:ui-monospace,Consolas,monospace;background:#f2f4f7;color:#268467;padding:1px 5px;border-radius:5px;font-size:.92em}.guide-feedback{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #f0f1f4}.guide-feedback span{font-size:11px;color:var(--muted)}.guide-vote{border:1px solid var(--line);background:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:14px}.guide-vote:hover{border-color:#bac6d8}.guide-vote.active.guide-like{background:var(--green-soft);border-color:var(--green)}.guide-vote.active.guide-dislike{background:var(--red-soft);border-color:var(--red)}.guide-scroll-top{display:grid;place-items:center;position:fixed;right:24px;bottom:26px;width:44px;height:44px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:19px;cursor:pointer;box-shadow:0 8px 20px #15214355;z-index:4;transition:opacity .15s ease,transform .15s ease}.guide-scroll-top:hover{transform:translateY(-2px)}@media(max-width:800px){.guide-scroll-top{right:16px;bottom:16px}}.users-search{flex:1;min-width:180px}.users-bulk-bar{display:flex;align-items:center;gap:14px;background:#fff;border-radius:10px;padding:11px 16px;margin-bottom:12px;font-size:12px}.users-bulk-bar #usersSelectedCount{color:var(--muted);font-weight:700}.users-bulk-bar .danger{margin-left:auto;border:0;color:#fff;background:var(--red);border-radius:7px;padding:8px 14px;font:700 11px Manrope;cursor:pointer}.users-bulk-bar .danger:hover{background:#c9484f}.user-select-check{width:16px;height:16px;flex-shrink:0}.user-select-spacer{width:16px;flex-shrink:0}.row-menu{position:relative;margin-left:auto}.row-menu-trigger{width:30px;height:30px;font-size:16px}.row-menu-dropdown{right:0;left:auto}.user-menu-item.danger-item{color:var(--red)}.user-menu-item.danger-item:hover{background:var(--red-soft)}.analytics-pro-audit-text{margin:14px 0 0;font-size:13px;line-height:1.65;color:#3c4658;white-space:pre-line}.schedule-fields{display:grid;gap:13px;margin-top:13px}.schedule-fields label{display:grid;gap:7px;color:#68748a;font-weight:700;font-size:11px}.schedule-fields input,.schedule-fields select{width:100%;border:1px solid #e8ebf0;border-radius:8px;background:#fff;color:#49566c;padding:10px 11px;font:500 12px Manrope,Arial,sans-serif;outline:none}.schedule-fields input:focus,.schedule-fields select:focus{border-color:#1d9a70;box-shadow:0 0 0 3px #e4f6ef}.schedule-fields .schedule-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.week-days{border:0;margin:0;padding:0}.week-days legend{font-size:11px;font-weight:700;color:#68748a;margin-bottom:8px}.week-days>div{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week-days button{height:33px;border:1px solid #e8ebf0;border-radius:7px;background:#fff;color:#758096;font:700 10px Manrope,Arial,sans-serif;cursor:pointer}.week-days button:hover{border-color:#8fcdb9}.week-days button.selected{background:#1d9a70;border-color:#1d9a70;color:#fff}.week-days small{display:block;margin-top:7px;color:#9aa3b2;font-size:10px}.field-error{color:#d25358!important;font-size:10px;font-weight:700}@media(max-width:800px){.schedule-fields .schedule-row{grid-template-columns:1fr}.schedule-fields input,.schedule-fields select{font-size:16px}}
