:root{
  --bg:#111318;--panel:#1b1e24;--panel2:#20242b;--panel3:#272b33;--line:#343943;
  --text:#f5f6f8;--muted:#969da8;--muted2:#6f7681;--accent:#ff665f;--accent2:#ff7b73;
  --income:#3a9cff;--expense:#ff665f;--good:#63d28b;--warn:#ffcc66;--danger:#ff7373;
  --radius:16px;--shadow:0 16px 38px rgba(0,0,0,.2)
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;font-size:15px;line-height:1.4}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}small{color:var(--muted)}h1,h2,h3,p{margin-top:0}.pos{color:var(--income)!important}.neg{color:var(--expense)!important}.neutral{color:#b8bdc7!important}.muted{color:var(--muted)}

/* Always-on-top privacy/navigation bar */
.app-topbar{position:sticky;top:0;z-index:80;height:58px;display:grid;grid-template-columns:48px minmax(0,1fr) max-content;align-items:center;padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));background:rgba(17,19,24,.96);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.topbar-home{width:44px;height:44px;display:grid;place-items:center}.brand-dot{width:15px;height:15px;border-radius:50%;border:4px solid var(--accent);display:block}.topbar-title{position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 250px);text-align:center;font-weight:800;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.topbar-actions{grid-column:3;justify-self:end;display:flex;gap:3px;align-items:center}.topbar-balance-toggle,.top-menu>summary,.top-add-menu>summary{width:42px;height:42px;border:0;border-radius:12px;background:transparent;color:#e9ebef;display:grid;place-items:center;font-size:21px}.top-add-menu{position:relative;margin-right:2px}.top-add-menu>summary{list-style:none;background:var(--accent);font-size:26px;line-height:1;font-weight:400}.top-add-menu>summary::-webkit-details-marker{display:none}.top-add-panel{position:absolute;right:0;top:47px;min-width:190px;padding:7px;background:#202329;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:2px}.top-add-panel a{min-height:44px;display:flex;align-items:center;padding:9px 12px;border-radius:9px;font-weight:700}.top-add-panel a:active{background:#2a2e36}.topbar-balance-toggle:active,.top-menu>summary:active{background:var(--panel2)}.topbar-balance-toggle:active,.top-menu>summary:active{background:var(--panel2)}.top-menu{position:relative}.top-menu>summary{list-style:none;font-size:19px}.top-menu>summary::-webkit-details-marker{display:none}.top-menu-panel{position:absolute;right:0;top:48px;min-width:205px;padding:7px;background:#202329;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:2px}.top-menu-panel a{min-height:44px;display:flex;align-items:center;padding:9px 12px;border-radius:9px;font-weight:650}.top-menu-panel a:active{background:#2a2e36}.top-menu-panel .menu-danger{color:#ff8c8c}

.app-shell,.wrap{width:min(100%,720px);margin:0 auto;padding:0 0 28px}.wrap{padding:16px 14px 28px}.notice{margin:12px 14px 0;padding:11px 13px;border-radius:10px;border:1px solid;font-size:13px}.notice.ok,.ok{background:rgba(99,210,139,.11);border-color:rgba(99,210,139,.35);color:#9ce6b6}.notice.warn,.warn{background:rgba(255,204,102,.11);border-color:rgba(255,204,102,.35);color:#ffe09a}.ok,.warn{padding:11px 13px;border-radius:10px;margin:10px 0}

/* Money-manager inspired transaction navigation */
.month-nav{display:grid;grid-template-columns:54px 1fr 54px;align-items:center;height:62px;border-bottom:1px solid var(--line)}.month-nav a{width:48px;height:48px;display:grid;place-items:center;font-size:36px;font-weight:300;color:#d6dae1}.month-nav strong{text-align:center;font-size:17px;font-weight:650}.compact-month-nav{height:58px;margin-top:2px}
.subtabs{height:49px;display:flex;align-items:stretch;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.subtabs::-webkit-scrollbar{display:none}.subtabs a{position:relative;min-width:max-content;flex:1;display:grid;place-items:center;padding:0 15px;color:#9299a4;font-size:14px;font-weight:600}.subtabs a.active{color:#f5f6f8}.subtabs a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:3px;background:var(--accent)}
.month-summary{height:74px;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:#17191e}.month-summary div{display:grid;align-content:center;justify-items:center;min-width:0}.month-summary span{font-size:12px;color:#c0c4ca}.month-summary b{font-size:16px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Quick typing input - FinFlow differentiator */
.quick-composer{margin:12px;border:1px solid var(--line);border-radius:15px;background:var(--panel);overflow:hidden}.quick-composer>summary{list-style:none;min-height:64px;display:grid;grid-template-columns:42px 1fr 30px;align-items:center;gap:8px;padding:8px 12px;cursor:pointer}.quick-composer>summary::-webkit-details-marker{display:none}.quick-plus{width:38px;height:38px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:white;font-size:25px;line-height:1}.quick-composer summary span:nth-child(2){display:grid}.quick-composer summary small{font-size:11px;margin-top:2px}.quick-chevron{text-align:center;font-size:22px;color:var(--muted);transition:transform .2s}.quick-composer[open] .quick-chevron{transform:rotate(180deg)}.quick-form{padding:2px 12px 13px;display:grid;gap:10px;border-top:1px solid var(--line)}.quick-form label,.stack label{display:grid;gap:6px;color:#b8bdc6;font-size:12px}.quick-form label>span{padding-top:9px}.quick-form textarea,.quick-form input,.stack input,.stack textarea,.stack select,.grid2 input,.grid2 select,.username-edit input,.budget-edit input{width:100%;min-height:46px;border:1px solid var(--line);background:#13151a;color:var(--text);border-radius:10px;padding:11px 12px;outline:none;font-size:16px}.quick-form textarea,.stack textarea{resize:vertical}.quick-form input:focus,.quick-form textarea:focus,.stack input:focus,.stack textarea:focus,.stack select:focus,.grid2 input:focus,.grid2 select:focus,.budget-edit input:focus{border-color:#666e7c}.quick-form button,.stack button,.grid2 button,.budget-edit button,.button{min-height:46px;border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:#fff;font-weight:800}.helper{display:block;line-height:1.5}.helper b{color:#ccd0d7;font-weight:600}

/* Daily transactions */
.transaction-feed{border-top:1px solid rgba(255,255,255,.025)}.day-group{background:#191b20;border-bottom:7px solid #111318}.day-header{height:68px;display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line)}.day-date{display:flex;align-items:center;gap:10px}.day-date>b{font-size:32px;line-height:1;font-weight:500}.day-date>span{display:grid;color:#9ca2ac;font-size:13px}.day-date small{display:inline-flex;justify-content:center;align-items:center;width:32px;height:19px;margin-top:3px;border-radius:4px;background:#777c84;color:white;font-size:10px}.day-totals{display:grid;grid-template-columns:minmax(72px,auto) minmax(72px,auto);gap:12px;text-align:right}.day-totals span{font-size:15px;font-weight:650;white-space:nowrap}.transaction-row{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px 10px 22px;border-bottom:1px solid #2a2d34}.transaction-row:last-child{border-bottom:0}.tx-meta{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center}.tx-meta small{grid-row:1 / span 2;max-width:94px;color:#8e949e;font-size:11px;line-height:1.25}.tx-meta b{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650}.tx-right{display:flex;align-items:center;gap:6px}.tx-right>strong{font-size:15px;white-space:nowrap;font-weight:700}.tx-right form{margin:0}.tx-delete{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#777e89;font-size:20px}.tx-delete:active{background:#2b2f36;color:#ff8d8d}

/* Calendar */
.calendar-card{margin:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{height:34px;align-items:center;background:#17191e;border-bottom:1px solid var(--line)}.calendar-weekdays span{text-align:center;font-size:10px;color:#8d939e;font-weight:700}.calendar-cell{min-height:72px;border-right:1px solid #2b2f36;border-bottom:1px solid #2b2f36;padding:6px 5px;display:flex;flex-direction:column;gap:3px;align-items:flex-end}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.blank{background:#15171c}.calendar-cell b{align-self:flex-start;font-size:13px;font-weight:600}.calendar-cell small{font-size:9px;white-space:nowrap}.calendar-cell.today b{width:24px;height:24px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:white}

/* Weekly/monthly/summary */
.week-list,.month-list,.summary-list{margin:12px;display:grid;gap:8px}.week-card,.month-row,.summary-row{min-height:66px;padding:11px 13px;border:1px solid var(--line);background:var(--panel);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.week-card>div,.month-row>span{display:grid;gap:3px}.week-card>div:last-child,.month-row>span:last-child{text-align:right}.week-card span,.month-row i{font-style:normal;font-size:12px;font-weight:650}.month-row small{font-size:10px}.summary-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto}.summary-row>div{display:grid}.summary-row strong{white-space:nowrap}.cat-swatch{width:11px;height:11px;border-radius:3px;display:inline-block;flex:none}.swatch-0{background:#ff6861}.swatch-1{background:#ff934f}.swatch-2{background:#ffc73a}.swatch-3{background:#ffe100}.swatch-4{background:#b9e447}.swatch-5{background:#69d36f}.swatch-6{background:#54d7cf}.swatch-7{background:#66b9e8}.primary-link{min-height:48px;display:grid;place-items:center;color:var(--accent);font-weight:750}.empty-card{margin:12px;padding:26px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:13px}

/* Stats */
.stats-tabs{margin:12px 12px 0;height:38px;display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);background:#17191e;border-radius:9px;overflow:hidden}.stats-tabs a{display:grid;place-items:center;color:#888f9a;font-weight:650;border-right:1px solid var(--line)}.stats-tabs a:last-child{border-right:0}.stats-tabs a.active{background:var(--accent);color:white}.flow-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.flow-tabs a{position:relative;min-height:65px;display:grid;align-content:center;justify-items:center;color:#8f96a1}.flow-tabs span{font-size:12px}.flow-tabs b{font-size:15px;color:#c5c9d0}.flow-tabs a.active{color:white}.flow-tabs a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent)}.flow-tabs a.active.income:after{background:var(--income)}.flow-tabs a.active.expense:after{background:var(--expense)}.stats-chart-section{border-bottom:1px solid var(--line)}.pie-stage{position:relative;width:100%;max-width:500px;margin:10px auto 0}.expense-pie{display:block;width:100%;height:auto;overflow:visible}.pie-slice{cursor:pointer;stroke:#121419;stroke-width:1.4;transition:filter .16s,opacity .16s}.pie-slice.selected{filter:brightness(1.18);opacity:.9}.pie-percent{fill:white;font-size:10px;font-weight:900;paint-order:stroke;stroke:#08090b;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}.pie-leader{fill:none;stroke-width:1.4;opacity:.95}.pie-callout{fill:#e8eaee;font-size:10.5px;font-weight:750}.pie-callout-sub{fill:#a6adb7;font-size:9.5px;font-weight:650}.pie-center-readout{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:100px;text-align:center;pointer-events:none}.pie-center-readout small{display:block;font-size:10px;color:#e6e9ee;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:-1px -1px 0 #090a0c,1px -1px 0 #090a0c,-1px 1px 0 #090a0c,1px 1px 0 #090a0c,0 1px 2px #090a0c}.pie-center-readout b{display:block;margin-top:3px;font-size:12px;line-height:1.25;color:#fff;font-weight:900;text-shadow:-1px -1px 0 #090a0c,1px -1px 0 #090a0c,-1px 1px 0 #090a0c,1px 1px 0 #090a0c,0 1px 2px #090a0c}.category-breakdown{border-top:1px solid var(--line)}.category-row{width:100%;min-height:55px;padding:9px 16px;border:0;border-bottom:1px solid var(--line);background:#1c1f25;color:var(--text);display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left}.category-row.selected{background:#252931}.category-percent{min-width:42px;height:25px;border-radius:4px;display:grid;place-items:center;color:#202227;font-weight:900;font-size:12px}.category-row b{font-size:14px}.category-row strong{white-space:nowrap;font-size:13px}

/* Budget + Note */
.budget-summary-card{display:grid;grid-template-columns:1fr 1fr;margin:12px;border:1px solid var(--line);background:var(--panel);border-radius:13px}.budget-summary-card div{padding:13px;display:grid;gap:4px}.budget-summary-card div+div{border-left:1px solid var(--line)}.budget-summary-card span{font-size:11px;color:var(--muted)}.budget-summary-card b{font-size:15px}.budget-list{margin:12px;display:grid;gap:9px}.budget-row{padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.budget-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.budget-head>span{display:flex;align-items:center;gap:8px}.budget-head strong{font-size:12px;white-space:nowrap}.budget-track{height:6px;margin:10px 0;background:#30343c;border-radius:999px;overflow:hidden}.budget-track i{display:block;height:100%;background:var(--accent);border-radius:inherit}.budget-edit{display:grid;grid-template-columns:1fr 72px;gap:8px}.budget-edit input{min-height:42px;font-size:14px}.budget-edit button{min-height:42px;padding:8px}.note-card{margin:12px;padding:16px;border:1px solid var(--line);background:var(--panel);border-radius:14px}.note-card h2{margin-bottom:4px}.note-card p{font-size:12px;color:var(--muted)}

/* Generic cards/forms used by Accounts, Settings, Admin, Login */
.card{margin-bottom:12px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h1,.section-head h2{margin:0}.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:800}.stack{display:grid;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.secondary,.button.secondary{background:#292d34;color:#eef0f3;border:1px solid var(--line)}.danger,.danger-outline{background:transparent!important;color:#ff8585!important;border:1px solid #5e383d!important}.danger-link{color:#ff8b8b}.text-link{color:var(--accent);font-size:13px;font-weight:700}.profile-row{display:flex;align-items:center;gap:12px}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#2c3038;font-weight:900;font-size:19px}.profile-row h1{margin:0;font-size:20px}.profile-row p{margin:3px 0 0}

/* Accounts */
.account-create-card,.accounts-manage-card{margin:12px}.accounts-manage-list{display:grid;gap:7px}.account-details{border:1px solid var(--line);background:#17191e;border-radius:12px;overflow:hidden}.account-details summary{list-style:none;min-height:70px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 10px 10px 12px;cursor:pointer}.account-details summary::-webkit-details-marker{display:none}.account-summary-icon,.account-icon{width:34px;height:34px;border-radius:9px;background:#252931;display:grid;place-items:center;color:#bec4cc}.account-summary-main{min-width:0;display:grid;gap:2px}.account-name{display:flex;align-items:center;gap:7px;min-width:0}.account-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-pill{padding:2px 6px;border-radius:6px;background:#30353e;font-size:9px}.account-summary-right{display:flex;align-items:center;gap:6px}.account-balance{font-size:13px;white-space:nowrap}.chevron{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#252931;font-size:19px;transition:transform .2s}.account-panel{padding:12px;border-top:1px solid var(--line);background:#1c1f25;display:grid;gap:12px}.remove-account{display:grid;gap:6px}.remove-account button{min-height:44px;border-radius:10px}.account-overview-list{display:grid}.account-overview-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.account-overview-row:last-child{border-bottom:0}.account-overview-left{display:flex;align-items:center;gap:9px;min-width:0}.account-overview-left>span:last-child{display:grid;min-width:0}.account-overview-left b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-overview-row>strong{white-space:nowrap}

/* Admin users */
.user-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.user-main{display:grid;min-width:0}.actions,.wrap-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.actions form{margin:0}.actions button{min-height:40px;border-radius:9px;padding:8px 11px;border:0;background:#2a2e36;color:white}.username-edit{display:flex;gap:7px}.username-edit input{min-height:40px;font-size:14px}.locked-username{padding:8px 10px;background:#252931;border-radius:8px;color:var(--muted);font-size:11px}

/* Login / installer */
.install-wrap{min-height:100%;width:min(100%,460px);margin:0 auto;padding:40px 14px}.login-card{padding:22px}.brand-mark{width:48px;height:48px;border-radius:14px;background:var(--accent);display:grid;place-items:center;font-size:24px;font-weight:900;color:white;margin-bottom:18px}.install-wrap h1{font-size:26px;margin-bottom:5px}.break-word{overflow-wrap:anywhere}code{font-size:12px}

.balance-sensitive{transition:opacity .12s}.balance-hidden .balance-sensitive{letter-spacing:.05em}

@media(max-width:560px){
  body{font-size:14px}.app-shell{width:100%}.month-nav{height:58px}.subtabs a{padding:0 11px;font-size:13px}.month-summary{height:70px}.month-summary b{font-size:14px}.day-header{padding-left:14px;padding-right:12px}.day-date>b{font-size:30px}.day-totals{gap:7px;grid-template-columns:minmax(62px,auto) minmax(62px,auto)}.day-totals span{font-size:13px}.transaction-row{padding-left:14px}.tx-meta{grid-template-columns:76px minmax(0,1fr);column-gap:7px}.tx-meta small{max-width:76px}.tx-right>strong{font-size:13px}.calendar-card{margin:9px}.calendar-cell{min-height:65px;padding:5px 3px}.calendar-cell small{font-size:8px}.stats-tabs{margin:9px 9px 0}.pie-stage{margin-top:2px}.realbyte-pie-stage{margin-left:-2px;width:calc(100% + 4px)}.category-row{padding-left:12px;padding-right:12px}.account-create-card,.accounts-manage-card,.budget-list,.budget-summary-card,.note-card{margin-left:9px;margin-right:9px}.wrap{padding:12px 9px 24px}.grid2{grid-template-columns:1fr}.user-card{grid-template-columns:1fr}.wrap-actions,.username-edit{display:grid;grid-template-columns:1fr;width:100%}.wrap-actions form,.wrap-actions button,.username-edit input{width:100%}.full-mobile{width:100%}
}
@media(max-width:380px){.topbar-title{font-size:16px}.subtabs a{padding:0 9px;font-size:12px}.month-summary b{font-size:12px}.day-totals{grid-template-columns:1fr}.day-totals span{font-size:11px}.tx-meta{grid-template-columns:64px minmax(0,1fr)}.tx-meta small{max-width:64px;font-size:10px}.tx-right{gap:2px}.tx-delete{width:28px}.category-row{grid-template-columns:43px minmax(0,1fr) auto}.category-row strong{font-size:12px}}
@media(min-width:721px){.app-shell{margin-top:18px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#17191e;box-shadow:var(--shadow)}.app-topbar{padding-left:max(18px,calc((100vw - 720px)/2));padding-right:max(18px,calc((100vw - 720px)/2))}.wrap{max-width:720px}.card{border-radius:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* v3.1 input modes, icon controls, and receipt attachments */
.topbar-icon{width:23px;height:23px;color:#eef0f3}.eye-svg{width:23px;height:23px;display:block}.balance-toggle .eye-open{display:none}.balance-toggle .eye-closed{display:block}.balance-toggle.is-visible .eye-open{display:block}.balance-toggle.is-visible .eye-closed{display:none}
.input-composer{margin:12px;border:1px solid var(--line);border-radius:15px;background:var(--panel);overflow:hidden}.input-tabs{height:46px;display:grid;grid-template-columns:1fr 1fr;background:#17191e;border-bottom:1px solid var(--line)}.input-tab{position:relative;border:0;background:transparent;color:#8f96a1;font-weight:750}.input-tab.active{color:#f5f6f8}.input-tab.active:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;border-radius:3px;background:var(--accent)}.input-pane{display:none}.input-pane.active{display:block}.manual-form,.input-composer .quick-form{padding:12px;display:grid;gap:11px;border-top:0}.manual-form label,.input-composer .quick-form label{display:grid;gap:6px;color:#b8bdc6;font-size:12px}.manual-form input,.manual-form textarea,.manual-form select,.input-composer .quick-form input,.input-composer .quick-form textarea{width:100%;min-height:46px;border:1px solid var(--line);background:#13151a;color:var(--text);border-radius:10px;padding:11px 12px;outline:none;font-size:16px}.manual-form input:focus,.manual-form textarea:focus,.manual-form select:focus,.input-composer .quick-form input:focus,.input-composer .quick-form textarea:focus{border-color:#666e7c}.manual-form button,.input-composer .quick-form button{min-height:47px;border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:white;font-weight:850}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.manual-form #manualNormalFields,.manual-form #manualTransferFields{display:grid;gap:11px}.manual-form #manualNormalFields[hidden],.manual-form #manualTransferFields[hidden]{display:none}.attachment-picker input[type=file]{padding:8px;min-height:50px}.attachment-picker input[type=file]::file-selector-button{min-height:34px;margin-right:9px;border:0;border-radius:8px;padding:6px 10px;background:#2c3139;color:#f1f2f4;font-weight:700}.attachment-hint{font-size:11px;color:var(--muted);line-height:1.4}.tx-attachment{grid-column:2;display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin-top:3px;color:#aeb5bf;font-size:10px}.tx-attachment img{width:32px;height:32px;border-radius:6px;object-fit:cover;border:1px solid #343943;background:#111318}.tx-attachment span{white-space:nowrap}.tx-meta:has(.tx-attachment){row-gap:3px}
@media(max-width:560px){.input-composer{margin:9px}.manual-grid{grid-template-columns:1fr 1fr}.manual-form,.input-composer .quick-form{padding:11px}.input-tab{font-size:13px}}
@media(max-width:360px){.manual-grid{grid-template-columns:1fr}.input-tabs{height:44px}.tx-attachment img{width:29px;height:29px}}

/* v3.2 expense-first payment defaults + transfer */
.transfer-card{margin:12px}.transfer-form label{display:grid;gap:6px;color:#b8bdc6;font-size:12px}.transfer-form input,.transfer-form select{width:100%;min-height:46px;border:1px solid var(--line);background:#13151a;color:var(--text);border-radius:10px;padding:11px 12px;outline:none;font-size:16px}.transfer-form button{min-height:47px;border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:white;font-weight:850}.transfer-form small{color:var(--muted);line-height:1.45}.card select{width:100%;min-height:46px;border:1px solid var(--line);background:#13151a;color:var(--text);border-radius:10px;padding:10px 12px;font-size:16px}
.inline-check{display:flex!important;align-items:center;gap:10px;color:#d9dde3!important;font-size:13px!important}.inline-check input{width:18px!important;min-width:18px!important;height:18px;min-height:18px!important;padding:0!important}
@media(max-width:560px){.transfer-card{margin-left:9px;margin-right:9px}.transfer-form .grid2{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.transfer-form .grid2{grid-template-columns:1fr}}


/* v3.3 compact transaction dates + backup/reset polish */
.day-fold-toolbar{min-height:48px;padding:7px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);background:#15171c}.day-fold-toolbar>span{font-size:11px;color:var(--muted);font-weight:700}.day-fold-toggle{width:38px;height:38px;min-width:38px;border:1px solid var(--line);background:#22262d;color:#d7dbe2;border-radius:10px;padding:0;display:grid;place-items:center;font-size:21px;font-weight:800;line-height:1}.day-fold-toggle:active{transform:scale(.96)}.day-header.day-toggle{width:100%;border:0;background:transparent;color:inherit;text-align:left}.day-header-right{display:grid;grid-template-columns:auto auto 28px;align-items:center;gap:8px}.day-count{font-size:10px;color:var(--muted);white-space:nowrap}.day-chevron{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#242830;color:#aeb4bd;font-size:18px;transition:transform .18s}.day-group.collapsed .day-header{border-bottom:0}.day-transactions[hidden]{display:none!important}.soft-rule{border:0;border-top:1px solid var(--line);margin:16px 0}.data-backup-card h3{margin:0 0 6px;font-size:15px}.export-form button{width:100%}
@media(max-width:560px){.day-header-right{grid-template-columns:auto 28px}.day-count{display:none}.day-totals{gap:6px}.day-fold-toolbar{padding-left:10px;padding-right:10px}.day-fold-toggle{width:38px;height:38px;padding:0}}

/* v3.4 user hierarchy + mobile user-management polish */
.profile-card{display:grid;gap:14px}.profile-row{min-width:0}.profile-copy{min-width:0}.profile-copy h1,.profile-copy p{overflow-wrap:anywhere}.profile-actions{display:flex;border-top:1px solid var(--line);padding-top:12px}.profile-actions .button{display:flex;align-items:center;justify-content:center;width:100%;margin:0}
.users-page{display:grid;gap:0}.users-create-card,.users-list-card{overflow:hidden}.user-create-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.user-create-form>label{display:grid;gap:6px;color:#b8bdc6;font-size:12px}.user-create-form input,.user-create-form select{width:100%;min-height:46px;border:1px solid var(--line);background:#13151a;color:var(--text);border-radius:10px;padding:11px 12px;outline:none;font-size:16px}.user-create-form input:focus,.user-create-form select:focus{border-color:#666e7c}.create-user-submit{grid-column:1/-1;min-height:48px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:850}.plan-picker{grid-column:1/-1;margin:0;padding:10px;border:1px solid var(--line);border-radius:11px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-picker legend{padding:0 5px;color:#b8bdc6;font-size:12px}.plan-picker>label{position:relative}.plan-picker>label input{position:absolute;opacity:0;pointer-events:none}.plan-picker>label span{min-height:44px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:#17191e;font-weight:750;color:#aeb4bd}.plan-picker>label input:checked+span{border-color:var(--accent);background:rgba(255,102,95,.12);color:#fff}.plan-picker>small{grid-column:1/-1;font-size:10px}.plan-picker.is-disabled{opacity:.42}.plan-picker.is-disabled>label span{cursor:not-allowed}.users-list{display:grid}.empty-users{min-height:110px;display:grid;place-content:center;text-align:center;gap:5px}.user-card-v2{padding:15px 0;border-top:1px solid var(--line);display:grid;gap:12px}.user-card-v2:first-child{border-top:0}.user-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center}.user-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#2b3038;font-weight:900;font-size:17px}.user-identity{display:grid;gap:2px;min-width:0}.user-name-line{display:flex;gap:6px;align-items:center;min-width:0}.user-name-line>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-handle{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.role-badge,.plan-badge{font-size:10px;font-weight:850;border-radius:999px;padding:4px 7px;white-space:nowrap}.role-owner{background:rgba(255,204,102,.13);color:#ffe09a}.role-admin{background:rgba(58,156,255,.12);color:#89c4ff}.role-user{background:#292d34;color:#d8dce2}.plan-paid{background:rgba(99,210,139,.13);color:#9ce6b6}.plan-free{background:#292d34;color:#aeb4bd}.user-meta-row{min-height:34px;border-radius:9px;background:#16191e;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;font-size:11px}.user-meta-row span{color:var(--muted)}.user-meta-row b{font-weight:700;overflow-wrap:anywhere;text-align:right}.owner-lock-row,.user-readonly-note{border:1px solid var(--line);border-radius:9px;padding:10px;color:var(--muted);font-size:11px}.owner-lock-row{display:flex;align-items:center;gap:8px}.user-actions-v2{display:grid;gap:9px}.username-edit-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.username-edit-v2 label{display:grid;gap:5px;color:#b8bdc6;font-size:11px}.username-edit-v2 input{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);background:#13151a;color:var(--text);border-radius:9px;padding:9px 11px;font-size:16px}.username-edit-v2 button{min-height:42px;padding:8px 14px;border-radius:9px;border:1px solid var(--line);font-weight:750}.user-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.user-action-buttons form,.user-action-buttons button{width:100%}.user-action-buttons button{min-height:42px;border-radius:9px;padding:8px 10px;font-weight:750}.user-action-buttons .secondary{background:#292d34;color:#eef0f3;border:1px solid var(--line)}
@media(max-width:560px){.user-create-form{grid-template-columns:1fr}.plan-picker,.create-user-submit{grid-column:auto}.users-list-card,.users-create-card{padding:14px}.user-card-head{grid-template-columns:42px minmax(0,1fr)}.user-badges{grid-column:2;justify-content:flex-start}.username-edit-v2{grid-template-columns:1fr}.username-edit-v2 button{width:100%}.user-action-buttons{grid-template-columns:1fr}.profile-actions .button{min-height:46px}}


/* v3.4.1 visible app version */
.menu-version{margin-top:4px;padding:9px 12px 6px;border-top:1px solid var(--line);color:var(--muted2);font-size:10px;font-weight:750;letter-spacing:.04em;text-align:center}
.app-info-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.app-info-row h2{margin-bottom:4px}.app-info-row p{margin:0}.version-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#17191e;color:#dfe2e7;font-size:12px;font-weight:850}.login-version{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);text-align:center;color:var(--muted2);font-size:11px;font-weight:750}
@media(max-width:420px){.app-info-row{align-items:flex-start}.version-badge{margin-top:1px}}

/* v3.6 language selector */
.language-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line,#2a2d33);border-radius:12px;background:rgba(255,255,255,.03);width:max-content}
.language-toggle label{margin:0;cursor:pointer}
.language-toggle input{position:absolute;opacity:0;pointer-events:none}
.language-toggle span{display:block;min-width:54px;text-align:center;padding:9px 14px;border-radius:9px;font-weight:700;letter-spacing:.04em;color:var(--muted,#999)}
.language-toggle input:checked+span{background:#fff;color:#111}
.language-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}

@media(max-width:420px){.topbar-title{font-size:16px}.topbar-balance-toggle,.top-menu>summary,.top-add-menu>summary{width:40px;height:40px}.topbar-actions{gap:1px}}


/* v3.7.4 checkbox + transaction search polish */
.checkbox-row{display:flex!important;align-items:center;gap:10px;color:#e6e9ee!important;font-size:14px!important;line-height:1.35}
.checkbox-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:0;padding:0!important;border:1.5px solid #68707d;border-radius:5px;background:#13151a;display:inline-grid;place-content:center;flex:0 0 18px}
.checkbox-row input[type=checkbox]::after{content:"";width:9px;height:9px;transform:scale(0);transition:transform .12s ease-out;border-radius:2px;background:var(--accent)}
.checkbox-row input[type=checkbox]:checked{border-color:var(--accent);background:rgba(255,102,95,.1)}
.checkbox-row input[type=checkbox]:checked::after{transform:scale(1)}
.checkbox-row span{min-width:0}
.tx-search-list{display:grid;gap:10px}
.tx-record summary{grid-template-columns:minmax(0,1fr) auto!important;padding:12px 14px!important;gap:14px!important}
.tx-record-main{min-width:0;display:grid;gap:4px}
.tx-record-main b{font-size:15px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.tx-record-main small{font-size:12px;color:var(--muted);line-height:1.35}
.tx-record-right{display:grid;justify-items:end;align-content:center;gap:7px;text-align:right;min-width:96px}
.tx-record-right b{font-size:16px;line-height:1.15;white-space:nowrap}
.type-pill{text-transform:capitalize}
.type-expense{background:rgba(255,102,95,.14);color:#ffb0ab}
.type-income{background:rgba(58,156,255,.14);color:#95c8ff}
.type-transfer{background:rgba(255,204,102,.14);color:#ffe09a}
.type-adjustment{background:#30353e;color:#d5d9df}
.tx-record .account-panel{padding:14px}
.tx-record .account-panel form + form{margin-top:8px}
.tx-record .account-panel .muted{line-height:1.55}
.tx-record .secondary,.tx-record .danger-outline{min-height:42px;padding:9px 12px;border-radius:10px}
.tx-record form[style]{display:block!important;margin-right:0!important}
.tx-record .account-panel > form{display:grid;gap:10px}
@media(max-width:560px){.tx-record summary{padding:12px!important}.tx-record-right{min-width:82px}.tx-record-right b{font-size:15px}.checkbox-row{font-size:13px!important}}

/* v3.8.2 telegram mini tutorial */
.telegram-mini-guide{display:grid;gap:12px;margin:10px 0 16px}.telegram-bot-link{min-height:68px;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#171a20}.telegram-bot-link:active{background:#20242b}.telegram-bot-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#2aabee;color:#fff;font-size:19px;font-weight:800}.telegram-bot-link>span:nth-child(2){display:grid;gap:2px;min-width:0}.telegram-bot-link b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telegram-bot-link small{font-size:11px}.telegram-open-arrow{font-size:28px;color:var(--muted);text-align:right}.telegram-mini-guide ol{margin:0;padding-left:22px;display:grid;gap:7px;color:#d6dae1}.telegram-mini-guide li{padding-left:2px;line-height:1.45}.telegram-mini-guide code{font-size:12px}


/* v3.8.4 protected cash account */
.system-account-note{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#17191e}.system-account-note b{font-size:13px}.system-account-note small{line-height:1.45}


/* v3.8.5 default payment UX */
.default-payment-card{margin:12px}.default-payment-form button{width:100%}.set-default-account button{width:100%}.default-account-note{display:grid;gap:3px;padding:11px 12px;border:1px solid rgba(99,210,139,.3);border-radius:10px;background:rgba(99,210,139,.08)}.default-account-note b{color:#9ce6b6;font-size:13px}.default-account-note small{line-height:1.45}
@media(max-width:560px){.default-payment-card{margin-left:9px;margin-right:9px}}


/* v3.8.6 account visual hierarchy polish */
.account-details{--account-accent:#7d8796;position:relative;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.account-details[data-account-type="cash"]{--account-accent:#63d28b}
.account-details[data-account-type="bank"]{--account-accent:#5aa9ff}
.account-details[data-account-type="e_wallet"]{--account-accent:#b083ff}
.account-details[data-account-type="credit_card"]{--account-accent:#ff9b62}
.account-details[data-account-type="savings"]{--account-accent:#58c7c2}
.account-details[data-account-type="investment"]{--account-accent:#e7c45f}
.account-details[data-account-type="loan"]{--account-accent:#ff7373}
.account-details[data-account-type="asset"]{--account-accent:#76c6a3}
.account-details>summary{position:relative;transition:background .18s ease}
.account-details>summary:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--account-accent);opacity:.38;transition:opacity .18s ease,top .18s ease,bottom .18s ease}
.account-details .account-summary-icon{border:1px solid color-mix(in srgb,var(--account-accent) 30%,transparent);background:color-mix(in srgb,var(--account-accent) 10%,#252931);color:color-mix(in srgb,var(--account-accent) 72%,white)}
.account-details .chevron{transition:background .18s ease,color .18s ease,transform .18s ease}
.account-details[open]{border-color:color-mix(in srgb,var(--account-accent) 58%,#343943);background:color-mix(in srgb,var(--account-accent) 5%,#17191e);box-shadow:0 0 0 1px color-mix(in srgb,var(--account-accent) 10%,transparent),0 10px 24px rgba(0,0,0,.12)}
.account-details[open]>summary{background:color-mix(in srgb,var(--account-accent) 9%,#17191e)}
.account-details[open]>summary:before{opacity:1;top:0;bottom:0;width:4px}
.account-details[open] .account-summary-icon{background:color-mix(in srgb,var(--account-accent) 18%,#252931);border-color:color-mix(in srgb,var(--account-accent) 60%,transparent);color:#fff}
.account-details[open] .account-name>b{color:#fff}
.account-details[open] .account-balance{color:color-mix(in srgb,var(--account-accent) 62%,white)}
.account-details[open] .chevron{background:color-mix(in srgb,var(--account-accent) 18%,#252931);color:color-mix(in srgb,var(--account-accent) 70%,white)}
.account-details[open] .account-panel{border-top-color:color-mix(in srgb,var(--account-accent) 26%,#343943);background:color-mix(in srgb,var(--account-accent) 4%,#1c1f25)}
.system-pill{background:rgba(90,169,255,.12)!important;color:#a9d2ff!important}
.default-pill{background:rgba(99,210,139,.14)!important;color:#a9e9bf!important}
@media(max-width:560px){.account-details>summary:before{top:8px;bottom:8px}.account-details[open]>summary:before{top:0;bottom:0}}
