:root{--bg:#f7f8fc;--ink:#1a2441;--muted:#939cb1;--border:#e8ebf2;--primary:#675ee7;--navy:#111c34;--green:#21a384;--purple:#756de7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:not-allowed}
a{text-decoration:none}
.hidden{display:none!important}
.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:25px;font-weight:800;letter-spacing:-1.4px}
.brand-logo{width:39px;height:39px;border-radius:12px;background:#7a70ee;color:white;display:grid;place-items:center;font:bold 28px Georgia,serif;padding-bottom:5px;box-shadow:0 8px 24px #786deb38}
.brand-dot{color:#8de0d2}
.brand.large{font-size:29px}
.brand.large .brand-logo{width:47px;height:47px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#a9b1e6}
.eyebrow.purple{color:#7d75e8}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;height:41px;padding:0 17px;gap:7px;font-size:12px;font-weight:750;white-space:nowrap;transition:background .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--primary);color:white;box-shadow:0 6px 16px #675ee721}
.btn.primary:hover{background:#554ad6}
.btn.outline{background:white;color:#505e79;border-color:#dfe3ee}
.btn.outline:hover{background:#f8f9ff}
.btn.pale{background:#eeecff;color:#635bd8;border-color:#e8e3ff}
.btn.white{background:white;color:#5654ab}
.btn.glass{background:#ffffff24;border:1px solid #ffffff42;color:white}
.btn.full{width:100%;height:46px}
.notice{border-radius:10px;padding:13px 15px;margin:10px 0 20px;font-size:12px;line-height:1.5}
.notice.error{background:#fff0ee;border:1px solid #ffd7d1;color:#bc5550}
.notice.success{background:#ebfaf4;border:1px solid #c2eadb;color:#178569}
.small-note{color:#a5adbd;font-size:11px;line-height:1.7}

/* Independent login and setup */
.login-body{background:radial-gradient(circle at 0 0,#e7e5ff 0,transparent 30%),#f4f5fb;min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-layout{background:#fff;width:min(1030px,100%);min-height:610px;display:grid;grid-template-columns:.93fr 1fr;border-radius:22px;overflow:hidden;box-shadow:0 24px 85px #1a244120}
.auth-left{background:linear-gradient(145deg,#131d42,#353e91 67%,#6c68d5);color:white;display:flex;flex-direction:column;padding:37px 42px;position:relative;overflow:hidden}
.auth-left:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;border:1px solid #ffffff20;right:-190px;top:-160px;box-shadow:0 0 0 50px #ffffff08,0 0 0 110px #ffffff05}
.auth-left:after{content:"";position:absolute;width:350px;height:350px;border:1px solid #ffffff1c;border-radius:50%;bottom:-245px;left:-175px}
.auth-left .brand,.auth-hero,.auth-note{position:relative;z-index:1}
.auth-hero{margin:auto 0;padding:50px 0}
.auth-hero h1{font-size:clamp(36px,4vw,50px);line-height:1.12;letter-spacing:-1.7px;margin:20px 0}
.auth-hero p{color:#c3c9ef;font-size:13px;line-height:1.75;max-width:320px}
.auth-hero ul{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:13px;color:#e0e3f5;font-size:12px}
.auth-hero li:before{content:"✓";color:#83e0d0;background:#ffffff24;border-radius:50%;padding:3px 7px;margin-right:10px}
.auth-note{font-size:10px;color:#b6c0e4;letter-spacing:1.4px}
.auth-right{display:flex;align-items:center;justify-content:center;padding:40px}
.auth-card{width:min(100%,370px)}
.auth-icon{height:57px;width:57px;border-radius:17px;display:grid;place-items:center;background:#efedff;color:#6961dd;font-size:26px;margin-bottom:25px}
.auth-card h2{font-size:28px;letter-spacing:-.8px;margin:10px 0}
.auth-card>p{color:#98a1b3;font-size:12px;line-height:1.75;margin:0 0 25px}
.auth-card form{display:grid;gap:16px}
.auth-card label,.field{font-size:12px;font-weight:750;color:#55617a;display:grid;gap:8px}
.auth-card input,.field input,.field select,.field textarea{width:100%;min-height:43px;border-radius:9px;border:1px solid #e0e5ef;background:white;outline:none;padding:10px 12px;color:#1d2a45;font-size:13px;font-weight:500}
.auth-card input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#746af0;box-shadow:0 0 0 3px #756beb1a}
.auth-card input::placeholder,.field input::placeholder,.field textarea::placeholder{color:#b6bcc8}
.auth-card .small-note{margin:19px 0 0}

/* App chrome */
.app-shell{min-height:100vh;display:flex}
.sidebar{width:260px;flex:none;position:sticky;top:0;height:100vh;background:#121d34;color:#fff;padding:31px 19px 20px;display:flex;flex-direction:column;z-index:20}
.sidebar>.brand{padding:0 15px 43px}
.nav-label{font-size:10px;color:#6f83a4;letter-spacing:1.7px;font-weight:800;padding:0 15px;margin-bottom:15px}
.sidebar nav{display:grid;gap:6px}
.nav-button{border:0;background:transparent;display:flex;align-items:center;gap:13px;width:100%;text-align:left;color:#a9b8d2;border-radius:10px;padding:13px 15px;font-weight:650;font-size:13px}
.nav-button:hover{background:#24314f;color:white}
.nav-button.active{background:#2a3755;color:white;box-shadow:inset 3px 0 #867af6}
.nav-icon{font-size:20px;color:#a6a5ea;width:20px;text-align:center}
.sidebar-bottom{margin-top:auto}
.privacy-tile{border:1px solid #35445f;border-radius:15px;background:linear-gradient(125deg,#293a5b,#1b2a44);padding:17px}
.privacy-tile>span{display:grid;place-items:center;height:33px;width:33px;background:#3d4a70;border-radius:9px;color:#b6afff;font-size:20px;margin-bottom:13px}
.privacy-tile b{font-size:12px}
.privacy-tile p{font-size:11px;color:#a9b7cb;line-height:1.6;margin:8px 0 0}
.user-row{border-top:1px solid #2e3d5a;display:flex;align-items:center;gap:10px;margin-top:17px;padding:16px 5px 6px}
.user-avatar{background:#eeeaff;border-radius:10px;color:#675ddf;height:38px;width:38px;display:grid;place-items:center;font-weight:800;flex:none}
.user-avatar.small{height:34px;width:34px}
.user-row b{font-size:12px;display:block}.user-row small{display:block;font-size:10px;color:#8291b0;margin-top:3px}
.logout-button{color:#a8b7cf;background:transparent;border:0;text-align:left;font-size:12px;padding:12px 5px}
.logout-button:hover{color:white}
.app-main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 45px;gap:16px}
.top-breadcrumb{font-size:12px;color:#9fa6b8}.top-breadcrumb span{padding:0 10px;color:#d0d3de}.top-breadcrumb b{color:#3b4662}
.top-actions{display:flex;align-items:center;gap:20px;font-size:12px;color:#99a2b5}
.menu-button{display:none;border:0;background:none;color:#455370;font-size:20px}
.page-wrap{width:100%;max-width:1500px;margin:0 auto;padding:39px 46px 60px;flex:1}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:29px}
.page-heading h1{font-size:30px;letter-spacing:-1px;margin:10px 0 7px;line-height:1.2}
.page-heading p{color:#939bad;margin:0;font-size:12px}
.heading-actions{display:flex;gap:10px}
.loading{padding:50px 15px;text-align:center;color:#8e97ac}
.footer{display:flex;justify-content:space-between;gap:14px;color:#a4acbb;padding:17px 46px 24px;font-size:10px}
.mobile-backdrop{display:none}

/* Cards and dashboard */
.hero{border-radius:18px;min-height:242px;padding:32px 38px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;background:linear-gradient(110deg,#363591,#5356bb 65%,#8178e7);color:white;box-shadow:0 12px 30px #5f60b52a}
.hero:before{content:"";position:absolute;border-radius:50%;height:430px;width:430px;right:-140px;top:-260px;background:#ffffff0a;box-shadow:0 0 0 80px #ffffff08}
.hero>div:first-child{position:relative;z-index:1}
.hero-eyebrow{color:#d5d2ff;font-size:10px;letter-spacing:1.7px;font-weight:800}
.hero-value{font-size:43px;font-weight:850;letter-spacing:-1.5px;margin:14px 0 5px}
.hero p{color:#d5d5ff;font-size:12px;margin:0}
.hero-sub{display:flex;gap:42px;margin-top:28px}
.hero-sub>div{display:grid;gap:8px}
.hero-sub span{font-size:11px;color:#d5d8fa}.hero-sub b{font-size:15px;color:#fff}
.hero-art{font-size:150px;color:#ffffff25;font-weight:100;line-height:1;position:absolute;right:70px}
.stats-grid,.flat-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:20px}
.stat-card,.panel,.account-card,.category-card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 20px #202f4b06;min-width:0}
.stat-card{padding:21px}
.stat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.stat-top span{font-size:12px;color:#929bad;font-weight:650;margin-top:5px}
.stat-icon,.category-icon{height:38px;width:38px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:21px;flex:none}
.stat-icon.blue,.category-icon.tone-0,.account-symbol.tone-0{background:#eaf1ff;color:#5b8dce}
.stat-icon.green,.category-icon.tone-1,.account-symbol.tone-1{background:#e6f9f2;color:#28a688}
.stat-icon.purple,.category-icon.tone-2,.account-symbol.tone-2{background:#eeeaff;color:#6d62df}
.stat-icon.orange,.category-icon.tone-3,.account-symbol.tone-3{background:#fff3e7;color:#e1974d}
.stat-card strong{display:block;font-size:24px;letter-spacing:-.7px;margin:16px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-card small{color:#a4adbe;font-size:10px}
.panel-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:20px;margin-top:21px}
.panel{overflow:hidden}
.panel-head{padding:22px 23px 10px;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.panel-head h2,.section-head h2{font-size:16px;letter-spacing:-.35px;margin:0}
.panel-head p,.section-head p{font-size:11px;color:#9da5b8;margin:6px 0 0}
.legend{display:flex;gap:12px;color:#959db0;font-size:10px;margin-top:4px}
.legend span{display:flex;align-items:center;gap:5px}
.legend i{height:7px;width:7px;border-radius:50%}
.green-dot{background:#54b8ac}.purple-dot{background:#8075e8}
.flow-svg{display:block;width:100%;height:auto;padding:10px 20px 17px}
.flow-svg text{fill:#9ea7b7;font-size:11px;font-family:inherit}
.icon-button{border:0;border-radius:9px;height:32px;min-width:32px;padding:0 7px;background:#f5f6fb;color:#8f98ad;font-size:18px}
.icon-button:hover{background:#eeeefe;color:#6a60dc}
.budget-inside{display:flex;gap:23px;padding:4px 26px 21px;align-items:center}
.progress-circle{height:134px;width:134px;flex:none;border:15px solid #dedbfa;border-top-color:#6f67e8;border-right-color:#9088ee;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.progress-circle strong{font-size:25px}.progress-circle small{font-size:10px;color:#a3aaba}
.budget-inside>div:last-child{display:flex;flex-direction:column;gap:6px;min-width:0}
.budget-inside>div:last-child small{color:#a4acbc;font-size:10px}
.budget-inside b{font-size:16px;margin-bottom:6px;white-space:nowrap}
.link-button{border:0;background:transparent;color:#6d64e1;padding:0;font-weight:800;font-size:11px;text-align:left;white-space:nowrap}
progress{display:block;accent-color:#746be7}
.budget-line{width:calc(100% - 48px);height:8px;margin:0 24px 25px}
progress::-webkit-progress-bar{background:#eeeefa;border-radius:12px}
progress::-webkit-progress-value{background:linear-gradient(90deg,#7265e8,#a39aef);border-radius:12px}
progress::-moz-progress-bar{background:#746be7;border-radius:12px}
.tx-list{padding:0 22px 10px}
.tx-row{border-top:1px solid #eff0f5;padding:15px 0;display:flex;align-items:center;gap:12px;min-width:0}
.tx-icon{height:39px;width:39px;display:grid;place-items:center;border-radius:11px;flex:none;font-size:22px}
.tx-icon.tone-income{background:#e8f8f2;color:#20a180}
.tx-icon.tone-expense{background:#fff0e5;color:#dc954a}
.tx-icon.tone-transfer{background:#eaf2ff;color:#5b91d3}
.tx-icon.tone-flat{background:#eeecff;color:#756be2}
.tx-detail{flex:1;min-width:0}.tx-detail strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.tx-detail small{display:block;color:#a0a8b9;font-size:10px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attachment-count{display:inline-block;background:#f0edff;color:#655ac7;font-size:9px;font-weight:750;border-radius:5px;padding:3px 7px;margin-top:6px}
.tx-date{font-size:10px;color:#a0a8b9;white-space:nowrap}
.tx-amount{font-size:12px;min-width:93px;text-align:right}.tx-amount.positive{color:#17967b}
.tx-amount small{display:block;color:#9ca4b4;font-size:9px;margin-top:5px}
.tx-actions{display:flex;gap:3px}.tx-actions button{background:transparent;border:0;color:#939bb0;font-size:17px;height:29px;width:28px;border-radius:6px}.tx-actions button:hover{background:#eff0fc;color:#5f57d5}
.mini-accounts{padding:0 23px 20px}
.mini-accounts>div{display:flex;gap:12px;align-items:center;padding:15px 0;border-top:1px solid #eff0f5}
.mini-account-icon{background:#edf2ff;color:#6f89ce;border-radius:10px;height:36px;width:36px;display:grid;place-items:center;flex:none;font-size:18px}
.mini-accounts>div>div{flex:1;min-width:0}.mini-accounts b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-accounts small{color:#a3adbd;font-size:10px;display:block;text-transform:capitalize;margin-top:4px}
.mini-accounts strong{font-size:12px;white-space:nowrap}
.empty{padding:36px 15px 39px;text-align:center}.empty>span{display:grid;place-items:center;margin:auto;height:56px;width:56px;border-radius:15px;color:#756de7;background:#eeeaff;font-size:29px}
.empty h3{margin:17px 0 7px;font-size:15px}.empty p{max-width:310px;margin:0 auto 20px;color:#9ba4b5;font-size:11px;line-height:1.65}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 17px}

/* Account views */
.money-hero{border-radius:17px;background:linear-gradient(108deg,#1e2e51,#2e4172);padding:30px 35px;color:white;display:flex;align-items:center;justify-content:space-between;gap:25px}
.money-hero>div:first-child{display:grid;gap:10px}.money-hero small{font-size:10px;letter-spacing:1.4px;color:#b7c6e1;font-weight:800}.money-hero strong{font-size:36px;letter-spacing:-1.2px}.money-hero>div:first-child span{font-size:11px;color:#b8c4d9}
.money-mini{display:grid;gap:14px;border-left:1px solid #ffffff2b;padding-left:30px}.money-mini>div{display:flex;gap:20px;justify-content:space-between;color:#c6d1e7;font-size:11px}.money-mini b{color:white;font-size:13px}
.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.account-card{padding:22px;position:relative;display:flex;flex-direction:column;min-height:223px}
.account-symbol{height:44px;width:44px;display:grid;place-items:center;border-radius:12px;font-size:25px;margin-bottom:17px}
.account-card>b{font-size:13px}.account-card>small{font-size:9px;color:#a8b0c0;letter-spacing:1px;margin-top:5px}
.account-card>strong{font-size:24px;letter-spacing:-.5px;margin-top:19px}.account-card>span{font-size:10px;color:#a5aebb;margin-top:6px}
.account-edit{position:absolute;right:16px;top:17px}
.add-account-card{border:1.5px dashed #d9d9ef;background:#fbfbff;min-height:223px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;color:#66708b}
.add-account-card>span{height:46px;width:46px;display:grid;place-items:center;border-radius:12px;background:#eeebff;color:#786fe8;font-size:25px}
.add-account-card b{font-size:12px}.add-account-card small{font-size:10px;color:#a7aebd}
.tip-box{margin-top:23px;border:1px solid #e5e4fa;background:#f1f0ff;border-radius:12px;padding:16px 20px;color:#747499;font-size:11px;line-height:1.65}
.tip-box b{color:#4e4b88}.tip-box button{color:#6157d8;background:none;border:0;font-weight:800;margin-left:10px}

/* Flat costs */
.flat-hero{border-radius:17px;background:linear-gradient(110deg,#5260aa,#8d83d2);color:white;min-height:203px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;padding:29px 34px}
.flat-hero>div:first-child{position:relative;z-index:1}.flat-hero span{font-size:10px;letter-spacing:1.4px;color:#eeeaff;font-weight:800}
.flat-hero h2{font-size:28px;letter-spacing:-.7px;margin:11px 0 7px}.flat-hero p{font-size:12px;color:#ebecff;margin:0 0 23px}.flat-hero>div:first-child>div{display:flex;gap:10px}
.flat-art{position:absolute;right:90px;top:-35px;font-size:260px;line-height:1;color:#ffffff2b;font-weight:200}
.flat-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.budget-track{margin-top:17px;background:white;padding:18px 22px;border:1px solid var(--border);border-radius:12px}.budget-track>div{display:flex;justify-content:space-between;font-size:11px;margin-bottom:11px}.budget-track span{color:#756ce5;font-weight:800}.budget-track progress{width:100%;height:9px}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.category-card{padding:19px}.category-icon{margin-bottom:15px}.category-card>span{color:#8d97aa;font-size:11px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.category-card strong{display:block;margin:9px 0 14px;font-size:19px}.category-card progress{width:100%;height:7px}.category-card small{color:#a5adbb;font-size:10px}

/* Activity and exports */
.toolbar{padding:21px;display:flex;gap:10px;align-items:center}.search-wrap{display:flex;align-items:center;flex:1;min-width:0;border:1px solid #e3e7ef;border-radius:9px;height:43px;background:#f9faff;gap:10px;padding:0 13px}.search-wrap>span{color:#a4adbe;font-size:22px}.search-wrap input{border:0;background:none;width:100%;outline:0;color:#24304c;font-size:12px}
.activity-context{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.activity-context h2{margin:6px 0 7px;font-size:21px;letter-spacing:-.5px}.activity-context h2 small{font-size:12px;color:#958dae;font-weight:650}.activity-context p{font-size:11px;color:#9ba3b7;margin:0}
.activity-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.activity-stats .stat-card{padding:18px}.activity-stats .stat-card strong{font-size:22px}
.account-spend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:20px}
.account-spend-card{display:grid;grid-template-columns:1fr 1fr;gap:10px 17px;text-align:left;background:#fff;border:1px solid #e6e9f1;border-radius:12px;padding:16px;min-width:0;color:#233052;transition:border-color .15s,box-shadow .15s}
.account-spend-card:hover,.account-spend-card.selected{border-color:#8276ed;box-shadow:0 5px 21px #6b62db15}.account-spend-card.selected{background:#f9f7ff}
.account-spend-card>span{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-size:12px}.account-spend-card i{height:31px;width:31px;display:grid;place-items:center;font-style:normal;font-size:18px;border-radius:8px;background:#efedff;color:#7168e6}
.account-spend-card>div{min-width:0;display:grid;gap:6px}.account-spend-card small{font-size:10px;color:#a0a8b9}.account-spend-card strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.transaction-filters{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(130px,1fr) minmax(130px,.9fr) auto;gap:12px;padding:0 21px 20px;align-items:end}
.transaction-filters label{min-width:0;display:grid;gap:7px;font-size:10px;font-weight:800;color:#768199}.transaction-filters select,.transaction-filters input{width:100%;height:42px;border:1px solid #e0e4ee;border-radius:9px;padding:0 11px;color:#4a5671;background:white;font-size:11px;min-width:0;max-width:100%}.transaction-filters .btn{height:42px}
.toolbar select{height:43px;border:1px solid #e3e7ef;border-radius:9px;padding:0 12px;background:white;color:#5a667e;font-size:11px}
.result-count{background:#fafbfe;border-top:1px solid #eef0f5;border-bottom:1px solid #eef0f5;padding:11px 23px;font-size:11px;color:#a0a8b8}
.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.backup-panel{padding:24px}
.backup-icon{background:#eaf6f1;color:#20a485;display:grid;place-items:center;height:50px;width:50px;border-radius:14px;font-size:26px}.backup-icon.purple{background:#efecff;color:#6b63df}
.backup-panel h2{font-size:17px;margin:20px 0 8px}.backup-panel p,.security-panel p{color:#919caf;font-size:12px;line-height:1.7}.backup-panel .button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.file-picker{display:block;border:1px dashed #d4d9e8;background:#fafbff;border-radius:10px;padding:15px;font-size:12px;color:#5e6b84;margin:17px 0}.file-picker input{display:block;margin-top:10px;font-size:11px;max-width:100%}
.security-panel{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px}.security-panel h2{font-size:16px;margin:0 0 7px}.security-panel p{margin:0}

/* Modal */
dialog{max-width:min(540px,calc(100vw - 24px));width:100%;max-height:92vh;border:0;border-radius:17px;padding:0;background:white;color:var(--ink);box-shadow:0 25px 100px #101a374d;overflow:hidden}
dialog::backdrop{background:#111c36a1;backdrop-filter:blur(3px)}
.dialog-head{padding:23px 27px 17px;border-bottom:1px solid #edf0f5;display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:20px;letter-spacing:-.5px;margin:0}
.close-modal{border:0;background:#f5f6fb;color:#7e89a0;display:grid;place-items:center;border-radius:8px;height:32px;width:32px}
#dialog-content{padding:23px 27px 12px;max-height:calc(92vh - 158px);overflow:auto}
#editor-form{display:grid;gap:16px}
.field{gap:8px}.field>span{font-size:11px}.field textarea{resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-hint{border:1px solid #e6e5fa;background:#f5f4ff;color:#75769b;border-radius:9px;padding:12px;font-size:11px;line-height:1.65}
.receipt-upload{background:#fafaff;border:1px solid #e7e6f4;border-radius:11px;padding:15px;display:grid;gap:10px}
.receipt-upload-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:850;color:#465374}
.receipt-upload-title small{color:#959fb4;font-size:10px;font-weight:600}
.file-upload-label{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:pointer;border:1px dashed #9b92ed;border-radius:9px;padding:11px 13px;background:#f1efff;color:#6157d1;font-size:11px;font-weight:800;text-align:center}
.file-upload-label input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.receipt-upload>p{font-size:10px;color:#8e97ab;line-height:1.6;margin:0}
.receipt-selection{font-size:10px;color:#665bc7;word-break:break-word}
.receipt-empty{font-size:10px;color:#a2a8b8;padding:9px;border:1px solid #eeeff5;border-radius:8px;background:#fff}
.receipt-list{display:grid;gap:7px}
.receipt-row{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e8eaf2;border-radius:9px;padding:9px;min-width:0}
.receipt-icon{display:grid;place-items:center;background:#eeebff;border-radius:7px;color:#7063dc;font-size:18px;height:32px;width:32px;flex:none}
.receipt-name{flex:1;min-width:0}.receipt-name b{display:block;font-size:10px;font-weight:760;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.receipt-name small{display:block;color:#a0a8bb;font-size:9px;margin-top:4px}
.receipt-links{display:flex;align-items:center;gap:7px;flex:none}.receipt-links a,.receipt-links button{border:0;background:#f3f1ff;color:#645bd1;border-radius:6px;padding:6px 7px;font-weight:800;font-size:10px;text-decoration:none}.receipt-links button{color:#ce5a65;background:#fff0f1}
.danger-button{border:0;background:transparent;color:#d96368;text-align:left;font-size:11px;font-weight:750;padding:5px 0 0}
.dialog-foot{padding:17px 27px 21px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf0f5}
.dialog-foot .close-modal{height:41px;width:auto;display:inline-flex;background:white;color:#647188;border:1px solid #e0e4ee}
.kind-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f2f3f8;padding:5px;gap:5px;border-radius:10px}
.kind-tabs button{display:grid;justify-items:center;gap:5px;border:0;border-radius:8px;padding:10px 4px;background:none;color:#9aa3b7;font-size:20px}
.kind-tabs button small{font-size:10px;font-weight:750}.kind-tabs button.selected{background:white;color:#6c61dc;box-shadow:0 2px 9px #17224714}

@media(max-width:1180px){.sidebar{width:230px;padding-left:13px;padding-right:13px}.page-wrap{padding:32px 26px 50px}.topbar{padding:0 26px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:20px}.panel-grid{gap:13px}.footer{padding-left:26px;padding-right:26px}}
@media(max-width:930px){.panel-grid{grid-template-columns:1fr}.stats-grid,.activity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar{width:205px}.backup-grid{grid-template-columns:1fr}.transaction-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.account-spend-card strong{font-size:13px}}
@media(max-width:720px){.sidebar{position:fixed;transform:translateX(-105%);transition:transform .2s;width:275px;left:0}.sidebar.open{transform:translateX(0)}.mobile-backdrop.visible{position:fixed;inset:0;background:#101a3569;z-index:19;display:block}.menu-button{display:block}.topbar{height:65px;padding:0 17px}.top-actions>span{display:none}.page-wrap{padding:27px 17px 48px}.page-heading{align-items:flex-start;flex-direction:column;gap:17px}.page-heading h1{font-size:25px}.heading-actions{width:100%}.heading-actions .btn{flex:1}.hero{padding:25px 23px;min-height:235px}.hero-art{right:-20px;color:#ffffff14}.hero-value{font-size:36px}.hero-sub{gap:20px}.hero-sub b{font-size:12px}.stat-card strong{font-size:21px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.money-hero{flex-direction:column;align-items:flex-start;padding:24px}.money-mini{border-left:0;border-top:1px solid #ffffff20;padding:15px 0 0;width:100%}.footer{padding:20px 17px}.auth-layout{grid-template-columns:1fr;max-width:520px}.auth-left{display:none}.auth-right{padding:45px 33px}.login-body{background:white}.flat-art{right:-35px;color:#ffffff17}}
@media(max-width:510px){.page-heading h1{font-size:23px}.hero-value{font-size:29px}.hero-sub span{font-size:10px}.hero-sub{gap:17px}.stat-card{padding:15px}.stat-card strong{font-size:17px}.stat-top span{font-size:10px}.stat-icon{height:32px;width:32px}.panel-head{padding:19px 16px 10px}.tx-list{padding:0 14px 8px}.tx-row{gap:8px}.tx-date{display:none}.tx-icon{height:34px;width:34px;font-size:18px}.tx-detail strong{font-size:11px}.tx-detail small{font-size:9px}.tx-amount{font-size:10.5px;min-width:65px}.tx-actions button{width:22px}.budget-inside{gap:12px;padding:0 14px 20px}.progress-circle{height:110px;width:110px;border-width:12px}.progress-circle strong{font-size:20px}.budget-inside b{font-size:13px}.account-grid{grid-template-columns:1fr}.account-card,.add-account-card{min-height:184px}.flat-stats{grid-template-columns:1fr}.flat-hero{padding:26px 20px}.flat-hero h2{font-size:24px}.category-card{padding:14px}.category-card strong{font-size:16px}.toolbar{flex-wrap:wrap;padding:15px}.search-wrap{flex:0 0 100%}.toolbar .btn{flex:1}.activity-stats{gap:8px}.activity-stats .stat-card strong{font-size:17px}.account-spend-grid{grid-template-columns:1fr}.account-spend-card strong{font-size:16px}.transaction-filters{grid-template-columns:1fr;padding:0 15px 16px}.security-panel{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.dialog-head{padding:20px}.dialog-foot{padding:16px 20px}#dialog-content{padding:19px 20px}.kind-tabs button{padding:9px 2px}.kind-tabs button small{font-size:9px}.auth-right{padding:30px 23px}.login-body{padding:0}.auth-layout{border-radius:0;min-height:100vh;box-shadow:none}.footer{font-size:9px}}
