@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap";:root{--bg: #fbfaf7;--surface: #ffffff;--surface-2: #fffdf9;--surface-3: #f4fbfc;--border: #ece7df;--border-strong: #dfd8cc;--ink: #22252d;--ink-2: #5b616a;--ink-3: #9398a1;--brand: #56c4d6;--brand-2: #29aeca;--brand-soft: #e8f9fc;--brand-ink: #1686a0;--income: #46aa68;--income-soft: #f7fef9;--expense: #ff5775;--expense-soft: #fff8fa;--shadow-sm: 0 12px 35px rgba(36, 43, 55, .06)}:root[data-theme=dark]{--bg: #171918;--surface: #202321;--surface-2: #252a28;--surface-3: #161a19;--border: #323a38;--border-strong: #44504d;--ink: #f3f2ec;--ink-2: #c8c4ba;--ink-3: #8f948e;--brand-soft: rgba(17, 174, 202, .14);--income-soft: rgba(22, 135, 95, .18);--expense-soft: rgba(198, 87, 87, .16);--shadow-sm: none}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;font-size:max(16px,1em)}button{color:inherit}.loading-screen{min-height:100%;display:grid;place-items:center;color:var(--ink-2);background:var(--bg)}.app-shell{height:100%;display:flex;overflow:hidden;background:linear-gradient(180deg,#fffaf2b3,#f7f1e6f5),var(--bg)}:root[data-theme=dark] .app-shell{background:var(--bg)}.sidebar{width:232px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border-right:1px solid var(--border);transition:width .24s cubic-bezier(.4,0,.2,1)}.sidebar-brand{display:flex;align-items:center;gap:10px;min-height:64px;padding:14px 14px 10px}.brand-mark{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--brand);box-shadow:0 1px 2px #11aeca57}.brand-mark img,.avatar img,.profile-photo img,.login-card img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.brand-copy,.profile-copy{min-width:0;flex:1;display:grid;gap:1px}.brand-copy strong,.profile-copy strong{font-size:13.5px;font-weight:700;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.brand-copy span,.profile-copy span{font-size:11px;color:var(--ink-3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.icon-btn{border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;color:var(--ink-2);background:transparent;transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.sidebar-nav{flex:0 0 auto;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.sidebar.is-collapsed .sidebar-nav{align-items:center;padding-inline:0}.nav-btn{width:100%;height:40px;border:0;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px;cursor:pointer;color:var(--ink-2);background:transparent;font-size:13.5px;font-weight:550;text-align:left;position:relative;transition:background .15s,color .15s}.nav-btn:hover{background:var(--surface-3)}.nav-btn.is-active{background:var(--brand-soft);color:var(--brand-ink)}.nav-btn.is-active:before{content:"";position:absolute;left:-10px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--brand)}.nav-btn.is-collapsed{width:44px;height:44px;justify-content:center;padding:0}.nav-btn.is-collapsed.is-active:before{left:-1px}.month-block{flex:1;min-height:0;padding:10px;overflow:auto}.side-label{padding:0 2px 8px;color:var(--ink-3);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.month-list{display:flex;flex-direction:column;gap:4px}.month-btn{min-height:42px;border:0;border-radius:8px;padding:7px 10px;display:grid;gap:1px;text-align:left;cursor:pointer;background:transparent;color:var(--ink-2)}.month-btn:hover{background:var(--surface-3)}.month-btn.is-active{background:var(--surface-3);color:var(--ink)}.month-btn span{font-weight:650;font-size:13px}.month-btn small{color:var(--ink-3);font-size:11px}.sidebar.is-collapsed .month-btn{text-align:center;padding-inline:0}.sidebar-profile{border-top:1px solid var(--border);padding:10px;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--brand-ink);background:var(--brand-soft)}.main{flex:1;min-width:0;height:100%;overflow:auto;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar span,.section-head span{color:var(--ink-3);font-size:12px;font-weight:650}.topbar h1,.section-head h2{margin:2px 0 0;font-size:clamp(22px,2.2vw,31px);line-height:1.1;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:8px}.theme-toggle,.primary-btn,.ghost-btn,.mic-btn{min-height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);padding:0 12px;cursor:pointer;font-weight:650;background:var(--surface);color:var(--ink-2)}.primary-btn{border-color:var(--brand);background:var(--brand);color:#fff}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.ghost-btn:hover,.theme-toggle:hover,.mic-btn:hover{background:var(--surface-3);color:var(--ink)}.month-hero{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,.9fr);gap:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.month-hero>div:first-child span{display:block;color:var(--ink-3);font-weight:650;margin-bottom:4px}.month-hero>div:first-child strong{display:block;font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:0}.month-hero p{max-width:460px;margin:10px 0 0;color:var(--ink-2)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-card{min-height:106px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);padding:14px;display:flex;flex-direction:column;justify-content:space-between}.summary-card span{color:var(--ink-3);font-size:12px;font-weight:650}.summary-card strong{font-size:18px;color:var(--ink)}.summary-card>div:last-child{display:grid;gap:4px}.summary-card.income{background:var(--income-soft)}.summary-card.expense{background:var(--expense-soft)}.summary-card.income strong{color:var(--income)}.summary-card.expense strong{color:var(--expense)}.quick-form{margin:14px 0;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:10px;display:grid;grid-template-columns:155px 110px minmax(180px,1fr) 110px 145px minmax(120px,.7fr) auto auto;gap:8px;align-items:center}.form-title{display:flex;align-items:center;gap:7px;color:var(--ink-2);font-weight:700}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;min-height:38px;padding:0 11px;color:var(--ink);background:var(--surface-2);outline:none}textarea{padding:10px 11px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #11aeca24}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}.panel,.installment-form,.balance-correction{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.movements{min-width:0;overflow:hidden}.section-head{padding:17px 18px 12px;display:flex;align-items:start;justify-content:space-between;gap:12px}.section-head strong{color:var(--ink-3);font-size:12px}.transaction-list{display:grid}.transaction-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:66px;padding:0 12px 0 18px;border-top:1px solid var(--border)}.transaction-row.is-projected{background:linear-gradient(90deg,rgba(86,196,214,.07),transparent 55%)}.row-dot{width:8px;height:8px;border-radius:999px;background:var(--income)}.row-dot.expense{background:var(--expense)}.row-main{min-width:0;display:grid;gap:2px}.row-main strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-main span{color:var(--ink-3);font-size:12px}.row-value{min-width:118px;text-align:right;font-weight:750;color:var(--income)}.row-actions{display:flex;gap:2px;min-width:0}.side-column{display:grid;align-content:start;gap:14px}.installment-form,.balance-correction{padding:14px;display:grid;gap:9px}.installment-form>div,.balance-correction>div{display:grid;gap:2px}.installment-form span,.balance-correction span,.tiny-help span{color:var(--ink-3);font-size:12px}.installment-form{grid-template-columns:1fr 1fr 1fr}.installment-form>div,.installment-form .primary-btn{grid-column:1 / -1}.tiny-help{padding:14px;display:grid;gap:8px}.assistant-wrap{position:fixed;right:22px;bottom:22px;z-index:30}.assistant-button{width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:linear-gradient(180deg,#69d4e6,#18a7c4);box-shadow:0 18px 38px #11aeca52;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.mobile-action-pill{display:none}.assistant-button:hover{transform:translateY(-2px);box-shadow:0 22px 44px #11aeca61}.assistant-button.is-live{background:linear-gradient(180deg,#67d8e6,#24abc8);animation:livePulse 1.55s ease-in-out infinite}@keyframes livePulse{0%,to{box-shadow:0 18px 38px #11aeca52,0 0 #56c4d657}50%{box-shadow:0 18px 38px #11aeca52,0 0 0 12px #56c4d600}}.assistant-popover{position:absolute;right:0;bottom:72px;width:min(390px,calc(100vw - 28px));height:min(60vh,640px);min-height:min(460px,calc(100vh - 110px));max-height:calc(100vh - 96px);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;background:var(--surface);box-shadow:0 22px 70px #19150f2e;padding:12px;overflow:hidden}.assistant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.assistant-head>div{display:flex;align-items:center;gap:8px;font-weight:750}.assistant-head>span{width:1px;height:30px}.assistant-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.mic-btn.is-on{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}.tool-card-list{display:grid;gap:8px;margin-top:10px}.financial-tool-card{min-height:66px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--surface)}.financial-tool-card span{display:block;color:var(--ink-3);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.financial-tool-card strong{display:block;margin-top:2px;font-size:17px;color:var(--ink)}.financial-tool-card em{flex-shrink:0;font-style:normal;font-size:20px;font-weight:850;color:var(--ink)}.financial-tool-card.income{border-color:#46aa683d;background:var(--income-soft)}.financial-tool-card.income em{color:var(--income)}.financial-tool-card.expense{border-color:#ff57753d;background:var(--expense-soft)}.financial-tool-card.expense em{color:var(--expense)}.error-box{border:1px solid var(--expense);border-radius:8px;padding:10px 12px;margin-bottom:12px;color:var(--expense);background:var(--expense-soft)}.mobile-header,.mobile-drawer,.drawer-overlay{display:none}@media(max-width:1120px){.month-hero,.content-grid{grid-template-columns:1fr}.quick-form{grid-template-columns:1fr 1fr}.form-title{grid-column:1 / -1}}@media(max-width:767px){.app-shell{display:block;overflow:hidden}.mobile-header{height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border);background:var(--surface)}.mobile-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-weight:750}.app-shell>.sidebar{display:none}.drawer-overlay{display:block;position:fixed;inset:0;border:0;background:#14120e24;z-index:40}.mobile-drawer{position:fixed;top:0;bottom:0;left:0;width:272px;display:block;z-index:50;transform:translate(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1)}.mobile-drawer.is-open{transform:translate(0)}.mobile-drawer .sidebar{display:flex;width:272px;height:100%}.main{height:calc(100% - 124px);padding:16px}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.summary-grid,.installment-form,.quick-form{grid-template-columns:1fr}.transaction-row{grid-template-columns:10px minmax(0,1fr) auto;padding:10px 12px}.row-actions{grid-column:2 / -1;justify-content:flex-end}.assistant-wrap{right:16px;bottom:12px}}.app-shell{background:radial-gradient(circle at 80% 0%,rgba(86,196,214,.08),transparent 28%),var(--bg)}.sidebar{width:280px;background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar.is-collapsed{width:72px}.brand-mark{border-radius:50%;background:linear-gradient(135deg,#7fd9e6,#28abc5);position:relative}.brand-mark span{width:20px;height:10px;display:block;border-radius:999px;background:#fff;-webkit-mask:radial-gradient(circle at 25% 65%,transparent 6px,#000 6.5px),radial-gradient(circle at 75% 35%,transparent 6px,#000 6.5px);mask:radial-gradient(circle at 25% 65%,transparent 6px,#000 6.5px),radial-gradient(circle at 75% 35%,transparent 6px,#000 6.5px)}.brand-copy strong{font-size:19px;color:var(--ink)}.brand-copy strong span{color:var(--brand-ink)}.sidebar-brand{min-height:82px;padding:22px 20px 14px}.sidebar-nav{padding:12px 16px;gap:12px}.nav-btn{height:56px;border-radius:8px;gap:14px;padding:0 18px;font-size:16px;color:#3e4651}.nav-btn.is-active{background:var(--brand-soft);color:var(--brand-ink);box-shadow:inset 0 0 0 1px #56c4d61f}.nav-btn.is-active:before{display:none}.month-block{padding:26px 20px;border-top:1px solid var(--border)}.month-list{gap:12px}.month-btn{min-height:46px;border-radius:8px;color:var(--ink-2)}.month-btn.is-active{background:transparent;color:var(--brand-ink)}.month-btn span{font-size:16px}.month-btn small{display:none}.sidebar-profile-wrap{position:relative;margin:auto 16px 16px}.sidebar-profile{width:100%;min-height:62px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:12px;padding:10px;cursor:pointer;background:var(--surface);box-shadow:var(--shadow-sm)}.avatar{width:42px;height:42px;border-radius:50%}.profile-copy strong{font-size:16px}.profile-copy{min-width:0;display:grid;gap:2px;text-align:left}.profile-copy span{overflow:hidden;color:var(--ink-3);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.profile-spacer{flex:1}.profile-chevron{transition:transform .18s ease}.profile-chevron.is-open{transform:rotate(180deg)}.profile-popover{position:absolute;left:0;right:0;bottom:72px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 20px 60px #22252d24;padding:10px;z-index:20}.profile-popover>button{width:100%;min-height:38px;border:0;border-radius:8px;display:flex;align-items:center;gap:8px;background:transparent;cursor:pointer;color:var(--ink-2);padding:0 10px}.profile-popover>button:hover{background:var(--surface-3)}.profile-theme{padding:8px 4px 2px;display:grid;gap:6px}.profile-theme>span{font-size:12px;color:var(--ink-3)}.main{padding:30px 34px}.topbar{margin-bottom:28px}.topbar h1{margin:0;font-size:30px}.topbar h1 .wave-emoji{display:inline-flex;align-items:center;font-size:1.08em;line-height:1;vertical-align:-.06em}.topbar p{margin:4px 0 0;color:var(--ink-2);font-size:16px}.top-insight{width:fit-content;max-width:min(720px,100%);margin-top:10px;border:1px solid rgba(86,196,214,.26);border-radius:8px;display:flex;align-items:center;gap:8px;padding:8px 10px;color:var(--brand-ink);background:var(--brand-soft);font-size:17px;font-weight:650}.top-insight svg{width:17px;height:17px;flex:0 0 auto}.topbar .top-insight span{color:inherit;font-size:17px;font-weight:650}.top-insight.insight-skeleton{width:min(520px,100%)}.top-insight.insight-skeleton span,.top-insight.insight-skeleton i{height:12px;border-radius:999px;background:linear-gradient(90deg,#56c4d62e,#56c4d675,#56c4d62e);background-size:220% 100%;animation:shimmer 1.1s ease-in-out infinite}.top-insight.insight-skeleton span{width:min(310px,52vw)}.top-insight.insight-skeleton i{width:88px}@keyframes shimmer{0%{background-position:220% 0}to{background-position:-120% 0}}.month-picker{height:48px;min-width:210px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:flex;align-items:center;gap:12px;padding:0 14px}.month-picker select{border:0;background:transparent;min-height:0;padding:0;font-weight:650;appearance:none}.floating-add.top-add{border:0;border-radius:8px;min-height:48px;padding:0 16px;display:inline-flex;align-items:center;gap:7px;color:#fff;background:var(--brand);box-shadow:0 12px 26px #56c4d647;cursor:pointer;font-weight:700}.month-hero{position:relative;min-height:240px;display:block;overflow:hidden;padding:0;background:#f8fdff}.month-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}.hero-content{position:relative;z-index:1;padding:34px;max-width:780px}.hero-content>span{display:block;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:700}.hero-content>strong{display:block;margin-top:6px;font-size:clamp(38px,4.2vw,56px);line-height:1;color:var(--brand-ink)}.hero-content>p{margin:12px 0 22px;color:var(--income);font-weight:600}.summary-grid{grid-template-columns:repeat(3,minmax(150px,1fr));max-width:720px}.summary-card{min-height:76px;flex-direction:row;align-items:center;gap:14px;background:#ffffffdb;box-shadow:0 14px 35px #2330460f}.summary-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor;color:var(--brand)}.summary-card.income .summary-icon{color:var(--income)}.summary-card.expense .summary-icon{color:var(--expense)}.content-grid{margin-top:28px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:28px}.monthly-flow-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.panel{background:#ffffffeb}.section-head.compact-head{align-items:center}.section-head h2{font-size:22px}.count-pill{display:inline-grid;place-items:center;min-width:26px;height:26px;margin-left:8px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:13px}.ghost-mini{border:1px solid var(--border);border-radius:8px;min-height:34px;padding:0 12px;background:var(--surface);color:var(--ink-2);cursor:pointer;font-weight:650}.initial-balance-row{width:100%;min-height:76px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px}.initial-balance-row>span{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;color:var(--brand);background:var(--brand-soft)}.initial-balance-row strong{display:block;font-size:16px}.initial-balance-row small{display:block;margin-top:3px;color:var(--ink-3);font-size:13px}.initial-balance-row em{color:var(--ink);font-size:18px;font-style:normal;font-weight:850}.monthly-summary-rail{align-self:start}.monthly-summary-panel{display:grid;gap:14px;padding:16px}.monthly-summary-list{display:grid;gap:10px}.monthly-summary-list .summary-card{min-height:86px;padding:12px}.monthly-status-strip{border-top:1px solid var(--border);display:grid;gap:8px;padding-top:12px}.monthly-status-strip span{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:14px;font-weight:700}.empty-state.compact{border:1px dashed var(--border);border-radius:8px;display:grid;justify-items:center;gap:8px;margin-top:10px;padding:28px 18px;color:var(--ink-3);text-align:center}.empty-state.compact strong{color:var(--ink);font-size:16px}.transaction-list.grouped{padding:0 14px 14px}.date-group{border:1px solid var(--border);border-radius:8px;overflow:hidden}.date-group+.date-group{margin-top:10px}.date-group-title{min-height:38px;display:flex;align-items:center;padding:0 14px;background:#fffdf8;color:var(--ink);font-weight:700}.transaction-row{min-height:58px;border-top:1px solid var(--border);grid-template-columns:38px minmax(0,1fr) auto auto}.row-dot{width:22px;height:22px;display:grid;place-items:center;color:var(--income);background:transparent}.row-dot.expense{color:var(--expense);background:transparent}.row-value.expense{color:var(--expense)}.add-card,.installments-preview{padding-bottom:14px}.segmented{display:flex;gap:4px;border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--surface-2);justify-content:space-around}.segmented button{flex:1 1 0;border:0;border-radius:7px;min-height:36px;padding:0 16px;background:transparent;color:var(--ink-2);cursor:pointer;font-weight:650;width:50%}.segmented button.is-active{background:var(--brand-soft);color:var(--brand-ink);box-shadow:0 8px 18px #56c4d621}.segmented.compact button{min-height:32px;padding:0 13px;width:auto}.add-card-field,.add-card-grid button{width:calc(100% - 28px);min-height:44px;margin:0 14px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink-3);display:flex;align-items:center;justify-content:space-between;padding:0 14px;cursor:pointer}.add-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 14px 10px}.add-card-grid button{width:100%;margin:0;color:var(--ink-2)}.add-card .primary-btn{width:calc(100% - 28px);margin:0 14px;background:linear-gradient(180deg,#63d1df,#34b7cd)}.installment-preview-row{position:relative;margin:0 14px;min-height:70px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:1fr 1fr;gap:0 10px;align-items:center;padding:10px 12px;text-align:left;cursor:pointer}.installment-preview-row span{grid-row:1 / -1;width:42px;height:42px;border-radius:8px;display:grid;place-items:center;color:var(--brand-ink);background:var(--brand-soft)}.installment-preview-row small{color:var(--ink-3)}.installment-preview-row em{grid-row:1 / -1;align-self:start;justify-self:end;border-radius:999px;padding:3px 8px;background:var(--brand-soft);color:var(--brand-ink);font-style:normal;font-size:11px;font-weight:700}.balance-correction{background:#ffffffe6}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#1a20262e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sheet-grabber{display:none}.ios-action-sheet{width:min(420px,100%);border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 28px 80px #1e263038;padding:8px;display:grid;gap:4px}.ios-action-sheet button{min-height:48px;border:0;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--surface-2);color:var(--ink);cursor:pointer;font-weight:700}.ios-action-sheet button.danger{color:var(--expense);background:var(--expense-soft)}.action-sheet-title{padding:10px 12px 8px;display:grid;gap:2px}.action-sheet-title span{color:var(--ink-3);font-size:12px;font-weight:800;text-transform:uppercase}.action-sheet-title strong{font-size:18px}.action-sheet-title em{color:var(--ink-2);font-style:normal;font-weight:750}.launch-modal{width:min(500px,100%);border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 28px 80px #1e263038;padding:18px;display:grid;gap:13px}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head span,.launch-modal label>span{color:var(--ink-3);font-size:12px;font-weight:700}.modal-head strong{display:block;font-size:22px}.launch-modal label{display:grid;gap:6px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recurrence-box{border:1px solid var(--border);border-radius:8px;padding:12px;display:grid;gap:10px;background:var(--surface-2)}.ios-toggle{width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:16px;border:1px solid transparent;border-radius:8px;padding:8px 6px;cursor:default;color:var(--ink)}.ios-switch-wrap{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ios-switch-wrap input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.ios-switch{width:49px;height:30px;border-radius:999px;display:inline-flex;align-items:center;padding:3px;cursor:pointer;background:#d7dce1;box-shadow:inset 0 0 0 1px #1f242c0d;transition:background .2s ease,box-shadow .2s ease}.ios-switch span{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #161c233d;transform:translate(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.ios-switch-wrap input:checked+.ios-switch{background:#0a84ff;box-shadow:inset 0 0 0 1px #0a50aa29}.ios-switch-wrap input:checked+.ios-switch span{transform:translate(19px)}.ios-switch-wrap input:focus-visible+.ios-switch{outline:3px solid rgba(86,196,214,.24);outline-offset:2px}.ios-toggle-copy{min-width:0;flex:1;display:grid;gap:2px}.ios-toggle-copy strong{font-size:13px;color:var(--ink)}.ios-toggle-copy small{font-size:12px;color:var(--ink-3)}.assistant-popover{width:min(520px,calc(100vw - 28px))}.assistant-floating-card{position:absolute;right:0;bottom:72px;width:min(330px,calc(100vw - 28px));z-index:2}.live-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.live-chip{border:1px solid var(--border);border-radius:999px;min-height:30px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);cursor:pointer;color:var(--ink-2);font-weight:700;font-size:12px}.live-chip.on{color:var(--income);border-color:#46aa6847;background:#46aa6814}.live-chip.connecting,.live-chip.reconnecting{color:var(--brand-ink);border-color:#56c4d659;background:var(--brand-soft)}.live-chip.connecting svg,.live-chip.reconnecting svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.live-row span{color:var(--ink-3);font-size:12px}.live-transcript{border:1px solid rgba(86,196,214,.25);border-radius:8px;background:linear-gradient(180deg,#e8f9fcdb,#fffffff0);padding:12px;margin-bottom:10px}:root[data-theme=dark] .live-transcript{background:#11aeca1f}.live-transcript-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.live-transcript-head span{color:var(--brand-ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.live-transcript p{min-height:40px;margin:0;color:var(--ink);font-size:15px;font-weight:650;line-height:1.35}.voice-bars{height:20px;display:inline-flex;align-items:center;gap:3px;color:var(--brand)}.voice-bars i{width:3px;height:7px;border-radius:999px;background:currentColor;opacity:.55}.live-transcript.is-listening .voice-bars i{animation:voiceBar .8s ease-in-out infinite}.live-transcript.is-listening .voice-bars i:nth-child(2){animation-delay:.08s}.live-transcript.is-listening .voice-bars i:nth-child(3){animation-delay:.16s}.live-transcript.is-listening .voice-bars i:nth-child(4){animation-delay:.24s}.live-transcript.is-listening .voice-bars i:nth-child(5){animation-delay:.32s}@keyframes voiceBar{0%,to{height:7px;opacity:.5}50%{height:18px;opacity:1}}.chat-thread{flex:1;min-height:0;max-height:none;overflow:auto;display:grid;align-content:start;gap:8px;margin-bottom:10px;padding-right:2px}.chat-bubble{max-width:88%;border-radius:8px;padding:9px 10px;color:var(--ink-2);background:var(--surface-2)}.chat-bubble.user{justify-self:end;background:var(--brand-soft);color:var(--brand-ink)}.tool-run-bubble{width:min(330px,92%);border:1px solid rgba(70,170,104,.25);border-radius:8px;display:inline-grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;justify-self:start;padding:12px;background:var(--income-soft);color:var(--ink);cursor:pointer;text-align:left}.tool-run-bubble.failed{border-color:#ff577547;background:var(--expense-soft)}.tool-run-bubble.running svg{color:var(--income);animation:spin .8s linear infinite}.tool-run-bubble.failed svg{color:var(--expense)}.tool-run-bubble strong{color:var(--ink);font-size:15px;line-height:1.2}.tool-run-bubble.confirm{grid-template-columns:1fr;gap:10px;cursor:default}.tool-result-cards{width:min(330px,92%);display:grid;justify-self:start;gap:8px}.tool-result-cards .assistant-metric-card,.tool-run-bubble .financial-tool-card,.assistant-floating-card .assistant-metric-card,.assistant-floating-card .tool-run-bubble,.assistant-floating-card .tool-result-cards{width:100%}.tool-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.tool-confirm-actions .primary-btn,.tool-confirm-actions .ghost-btn{min-height:34px;padding:0 10px}.end-call-btn{min-height:30px;border:1px solid rgba(255,87,117,.24);border-radius:8px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;color:var(--expense);background:var(--expense-soft);cursor:pointer;font-size:12px;font-weight:750}.live-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.live-compose input{min-height:42px;border-radius:8px}.live-compose .assistant-actions{margin-top:0;justify-content:end}.settings-page{display:grid;gap:20px}.settings-intro{display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:18px}.settings-intro h2,.settings-intro p{margin:0}.settings-intro p{margin-top:3px;color:var(--ink-2)}.playground-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.api-book{padding-bottom:16px}.endpoint-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px}.endpoint-row{min-height:94px;border:1px solid var(--border);border-radius:8px;display:grid;gap:5px;padding:12px;background:var(--surface-2)}.endpoint-row span{color:var(--brand-ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.endpoint-row code{overflow:hidden;color:var(--ink);font-size:13px;font-weight:750;white-space:nowrap;text-overflow:ellipsis}.endpoint-row p{margin:0;color:var(--ink-2);font-size:12px}.confirm-book{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px 0}.confirm-book>div{border:1px solid rgba(86,196,214,.25);border-radius:8px;display:grid;gap:4px;padding:12px;background:var(--brand-soft)}.confirm-book strong{color:var(--brand-ink);font-size:13px}.confirm-book span{color:var(--ink-2);font-size:12px}.playground-panel{padding-bottom:16px}.playground-panel textarea,.playground-panel pre{width:calc(100% - 32px);margin:0 16px 12px}.playground-panel pre{min-height:294px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:12px;background:#101820;color:#eaf8fb;font-size:12px;white-space:pre-wrap}.playground-panel .primary-btn,.playground-actions{margin-left:16px;margin-right:16px}.playground-actions{display:flex;gap:8px}.login-screen{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,rgba(116,216,231,.42),transparent 34%),linear-gradient(180deg,#0787ad,#075a94 54%,#063866)}.login-card{width:min(420px,100%);border:1px solid rgba(255,255,255,.24);border-radius:8px;display:grid;gap:16px;padding:26px;color:#fff;background:#ffffff21;box-shadow:0 24px 80px #03122a47;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card img{width:64px;height:64px;border-radius:16px}.login-card h1,.login-card p{margin:0}.login-card p{margin-top:4px;color:#ffffffc2}.login-card label,.installment-create label{display:grid;gap:6px}.login-card label span,.installment-create label span{color:var(--ink-3);font-size:12px;font-weight:750}.login-card label span{color:#ffffffc2}.login-card input{border-color:#ffffff4d;color:#fff;background:#ffffff24}.login-card input::placeholder{color:#ffffff94}.login-card .ghost-btn{border-color:#ffffff4d;color:#fff;background:#ffffff1a}.login-error{border:1px solid rgba(255,87,117,.28);border-radius:8px;padding:10px;color:var(--expense);background:var(--expense-soft)}.transaction-row.is-cancelled{opacity:.52}.transaction-row.is-cancelled .row-main strong{text-decoration:line-through}.status-segmented{width:100%}.chat-bubble.assistant{justify-self:start;background:var(--surface-2);color:var(--ink)}.assistant-metric-card{width:min(260px,88%);border:1px solid var(--border);border-radius:8px;display:grid;gap:2px;padding:12px;background:var(--surface-2)}.assistant-metric-card span{color:var(--ink-3);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.assistant-metric-card strong{color:var(--ink);font-size:24px;line-height:1.1}.assistant-metric-card small{color:var(--ink-2)}.assistant-metric-card.income{border-color:#46aa6840;background:var(--income-soft)}.assistant-metric-card.expense{border-color:#ff577540;background:var(--expense-soft)}.send-icon-btn{width:42px;height:42px;border:0;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:#fff;background:var(--brand)}.send-icon-btn:disabled{cursor:default;opacity:.45}.chat-page{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-height:0;height:min(720px,calc(100dvh - 160px));overflow:hidden}.chat-main{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto auto}.full-chat-thread{min-height:320px;overflow:auto;display:grid;align-content:start;gap:10px;padding:0 16px 16px}.markdown-text{display:grid;gap:6px}.markdown-text p,.markdown-text ul{margin:0}.markdown-text code{border-radius:6px;padding:1px 5px;background:#1f272f14;font-size:.92em}.followup-row{min-width:0;overflow-x:auto;display:flex;gap:8px;padding:0 16px 10px;max-height:54px;opacity:1;transform:translateY(0);transition:opacity .22s ease,transform .22s ease,max-height .22s ease,padding .22s ease}.followup-row.is-hidden{max-height:0;opacity:0;pointer-events:none;transform:translateY(8px);padding-bottom:0}.followup-row button{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;min-height:34px;padding:0 12px;color:var(--brand-ink);background:var(--brand-soft);cursor:pointer;font-size:12px;font-weight:750}.chat-bubble.is-loading{min-width:122px}.chat-stream-loader{display:inline-flex;align-items:center;gap:8px;color:var(--ink-3);font-size:13px;font-weight:750}.chat-stream-loader svg{color:var(--brand);animation:spin .8s linear infinite}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:0 16px 16px}.attach-icon-btn{position:relative;overflow:hidden;color:var(--brand-ink);background:var(--brand-soft)}.attach-icon-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.installment-plan-row{border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;color:var(--ink);background:var(--surface-2)}.installment-plan-row span{color:var(--ink-2);font-size:12px}.upload-chip{position:relative;overflow:hidden;cursor:pointer}.upload-chip input{position:absolute;inset:0;opacity:0;cursor:pointer}.profile-settings{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px}.profile-photo{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;overflow:hidden;color:var(--brand-ink);background:var(--brand-soft)}.profile-settings strong,.profile-settings span{display:block}.profile-settings span{color:var(--ink-3)}.theme-settings,.security-settings,.installment-create,.installment-list-panel{padding-bottom:16px}.theme-segmented{margin:0 16px}.installments-page{display:grid;grid-template-columns:minmax(320px,460px) minmax(0,1fr);gap:18px}.security-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 16px 12px}.security-row strong,.security-row span{display:block}.security-row span,.settings-note{color:var(--ink-3);font-size:12px}.settings-note{padding:0 16px 14px}.insights-page{display:grid;gap:18px}.insights-toolbar{display:grid;grid-template-columns:minmax(210px,280px) minmax(260px,360px) minmax(160px,1fr) minmax(190px,1fr);gap:12px;align-items:center;padding:14px}.insights-month-picker{width:100%;min-width:0}.insight-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.insight-summary-grid .summary-card{min-height:86px}.insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.insight-chart-panel,.category-breakdown{padding-bottom:16px}.month-bars{display:grid;gap:14px;padding:0 16px}.month-bars>div{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px}.month-bars span{color:var(--ink-2);font-weight:750}.month-bars i,.category-bar-row i{height:10px;border-radius:999px;overflow:hidden;background:var(--surface-3)}.month-bars i:before,.category-bar-row i:before{content:"";display:block;width:var(--bar-size);height:100%;border-radius:inherit;background:var(--income)}.month-bars .expense i:before,.category-bars:not(.income) .category-bar-row i:before{background:var(--expense)}.month-bars strong,.category-bar-row strong{color:var(--ink);font-weight:800}.highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px}.highlight-grid>div{border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;padding:14px;background:var(--surface-2)}.highlight-grid span{color:var(--ink-3);font-size:12px;font-weight:800;text-transform:uppercase}.highlight-grid strong{color:var(--ink);font-size:18px}.highlight-grid em{color:var(--brand-ink);font-style:normal;font-weight:800}.category-bars{display:grid;gap:12px;padding:0 16px}.category-bar-row{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,1fr) auto;align-items:center;gap:12px}.category-bar-row span{min-width:0;display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);font-weight:750}.category-bar-row span svg{flex:0 0 auto;color:var(--brand-ink)}.installment-create{display:grid;gap:12px;padding-inline:16px}.installment-create .section-head{margin-inline:-16px}.installment-plan-list{display:grid;gap:10px;padding:0 16px 16px}.installment-plan-row{justify-content:start}.installment-plan-row div{flex:1;min-width:0}.installment-plan-row strong{display:block}.installment-plan-row em{font-style:normal;color:var(--brand-ink);font-size:12px;font-weight:750}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .panel,:root[data-theme=dark] .date-group,:root[data-theme=dark] .transaction-row,:root[data-theme=dark] .balance-correction,:root[data-theme=dark] .installments-preview,:root[data-theme=dark] .assistant-popover{background:var(--surface);color:var(--ink)}:root[data-theme=dark] .sidebar{border-color:var(--border)}:root[data-theme=dark] .date-group-title,:root[data-theme=dark] .chat-bubble.assistant,:root[data-theme=dark] .financial-tool-card,:root[data-theme=dark] .assistant-metric-card,:root[data-theme=dark] .category-bar-row i,:root[data-theme=dark] .highlight-grid>div,:root[data-theme=dark] .installment-plan-row,:root[data-theme=dark] .ghost-mini,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface-2);color:var(--ink);border-color:var(--border)}:root[data-theme=dark] .month-hero{background:#101412}:root[data-theme=dark] .month-hero>img{opacity:.62;filter:saturate(.82) brightness(.82)}:root[data-theme=dark] .summary-card{background:#121615db;color:var(--ink)}:root[data-theme=dark] .nav-btn{color:var(--ink-2)}:root[data-theme=dark] .nav-btn.is-active{background:#56c4d629;color:#76d8e7}:root[data-theme=dark] .row-main strong,:root[data-theme=dark] .section-head h2,:root[data-theme=dark] .brand-copy strong,:root[data-theme=dark] .profile-copy strong{color:var(--ink)}:root[data-theme=dark] .row-main span,:root[data-theme=dark] .profile-copy span,:root[data-theme=dark] .month-btn{color:var(--ink-2)}:root[data-theme=dark] .login-card input{border-color:#ffffff4d;color:#fff;background:#ffffff24}:root[data-scene=night]{--bg: #080b0c;--surface: #121716;--surface-2: #18201e;--surface-3: #0e1413;--border: #26312f;--ink: #f6f4ee;--ink-2: #c8d0ca;--ink-3: #89938e}@media(max-width:1120px){.content-grid,.chat-page,.installments-page,.playground-grid,.endpoint-list,.confirm-book,.insights-toolbar,.insight-summary-grid,.insights-grid{grid-template-columns:1fr}}@media(max-width:767px){html,body,#root{min-height:100%;height:100%;overflow:hidden;background:var(--bg)}.app-shell{min-height:100dvh;height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.mobile-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink)}.main{height:calc(100dvh - 52px - env(safe-area-inset-bottom));padding:16px 16px 96px;overflow:auto}.topbar{display:grid;gap:10px;margin-bottom:14px}.topbar h1{font-size:34px}.topbar p{font-size:17px}.top-insight{width:100%;padding:10px;font-size:17px}.top-actions{display:none}.month-hero{min-height:0;height:auto;border-radius:8px}.initial-balance-row{grid-template-columns:38px minmax(0,1fr)}.initial-balance-row em{grid-column:2;justify-self:start;font-size:17px}.month-hero>img{object-position:right center}.hero-content{padding:18px;max-width:none}.hero-content>strong{font-size:42px}.hero-content>p{margin:8px 0 12px}.summary-grid,.modal-grid,.add-card-grid{grid-template-columns:1fr}.summary-grid{gap:8px}.summary-card{min-height:58px;padding:10px 12px}.summary-icon{width:32px;height:32px}.summary-card strong{font-size:17px}.content-grid{margin-top:18px;gap:18px;padding-bottom:100px}.transaction-row{grid-template-columns:34px minmax(0,1fr) auto;min-height:62px;cursor:pointer}.row-actions{display:none}.assistant-wrap{left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;justify-content:center}.assistant-button{display:none}.mobile-action-pill{width:min(360px,100%);min-height:58px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(86,196,214,.25);border-radius:999px;background:#ffffffeb;box-shadow:0 18px 50px #1f272f2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-action-pill button{border:0;min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--brand-ink);font-weight:800}.mobile-action-pill button+button{border-left:1px solid var(--border);color:#fff;background:var(--brand)}.mobile-action-pill button.is-live{background:var(--brand-soft)}.assistant-popover{position:fixed;left:12px;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));width:auto;height:min(60dvh,560px);min-height:min(460px,calc(100dvh - 112px));max-height:min(72dvh,560px);overflow:hidden;border-radius:18px;padding:14px}.assistant-floating-card{right:0;bottom:calc(72px + env(safe-area-inset-bottom))}.modal-backdrop{align-items:end;place-items:end center;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -48px 100px #1e263033}.launch-modal,.ios-action-sheet{width:100%;max-height:min(86dvh,720px);overflow:auto;border-radius:22px 22px 0 0;border-bottom:0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -8px 80px #1e26308a;animation:sheetIn .22s cubic-bezier(.2,.8,.2,1)}.sheet-grabber{width:42px;height:5px;border-radius:999px;display:block;justify-self:center;margin:2px 0 8px;background:var(--border-strong)}.segmented{width:100%}.segmented button{min-width:0;padding:0 10px;white-space:nowrap}.status-segmented{display:flex}.status-segmented button{font-size:13px;width:auto}.chat-page{height:calc(100dvh - 172px - env(safe-area-inset-bottom));min-height:420px}.chat-main{min-height:0}.insights-toolbar,.insight-summary-grid,.insights-grid{grid-template-columns:1fr}.highlight-grid,.security-row{grid-template-columns:1fr;display:grid}.category-bar-row{grid-template-columns:1fr;gap:7px}.login-screen{min-height:100dvh;padding:18px}.login-card{padding:20px}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}
