:root{font-family:DM Sans,sans-serif;color:#20243a;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#20243a;--muted:#8990a6;--line:#eceef5;--purple:#7566d9;--green:#1ca879}.brand-mark{width:39px;height:39px;border-radius:13px;background:#7566d9;color:#fff;display:grid;place-items:center;box-shadow:0 7px 15px #7566d930}.brand strong{display:block;font:800 20px Manrope,sans-serif;letter-spacing:-.8px}.nav-item.active{background:#f0efff;color:#6d5fd1}.connect-card{padding:17px 14px;background:#f8f7ff;border:1px solid #eeecff;border-radius:14px;margin-bottom:19px}.connect-icon{height:33px;width:33px;border-radius:10px;background:#e7e4ff;color:#6e60d5;display:grid;place-items:center;margin-bottom:13px}.connect-button{border:0;background:none;color:#6c5ed1;font-weight:700;font-size:11px;padding:0;display:flex;align-items:center;gap:5px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9e7ff;color:#6859d0;font-weight:800}.topbar h1{font:800 28px Manrope,sans-serif;letter-spacing:-1px;margin:7px 0 5px}.primary-button{background:#7566d9;color:#fff;border:1px solid #7566d9;padding:11px 15px;box-shadow:0 5px 12px #7566d91c}.purple{background:#efedff;color:#7869db}.purple-dot{background:#8677e8}.balance-card{background:linear-gradient(125deg,#7566d9,#8a7ce7);color:#fff;border-color:transparent}.soft-badge{font-size:10px;color:#7b70d0;background:#f2f0ff;border-radius:6px;padding:7px 9px;white-space:nowrap}.budget-note svg{color:#9589e5;flex-shrink:0}.round-icon{height:32px;width:32px;border-radius:10px;background:#f1efff;color:#7668d8;display:grid;place-items:center}.overview-ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:conic-gradient(#7768db var(--progress),#f0eff9 0)}.legend-dot.spent{background:#7768db}.transaction-form{background:#fafaff;border:1px solid #eeedf9;border-radius:12px;padding:17px;margin-bottom:21px}.field input:focus,.field select:focus{border-color:#9589e8;box-shadow:0 0 0 3px #8a7be91a}.table-title span{background:#f1f0ff;color:#796bd5;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:700}.category-icon{height:35px;width:35px;flex-shrink:0;border-radius:10px;background:#f1efff;color:#7b6cda;display:grid;place-items:center}.cat-kos{background:#eeeaff;color:#806fdb}.empty-icon{width:45px;height:45px;border-radius:13px;background:#f3f1ff;color:#8576dc;display:grid;place-items:center;margin-bottom:4px}.modal-logo{width:42px;height:42px;border-radius:13px;background:#efedff;color:#7566d9;display:grid;place-items:center}.google-destinations>div{display:flex;align-items:center;gap:9px;border:1px solid #eceef5;border-radius:10px;padding:11px;color:#7566d9}:root{font-family:Arial,Helvetica,sans-serif;color:#20243a;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#20243a;--muted:#8990a6;--line:#eceef5;--purple:#1688f8;--green:#1ca879}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #eceef5;padding:28px 17px 18px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 39px}.brand-mark{width:39px;height:39px;border-radius:13px;background:#1688f8;color:#fff;display:grid;place-items:center;box-shadow:0 7px 15px #1688f830}.brand strong{display:block;font:800 20px Arial,Helvetica,sans-serif;letter-spacing:-.8px}.brand span{display:block;font-size:9px;letter-spacing:1.5px;color:#9ba0b3;margin-top:2px}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#9ba1b3}.nav-label{padding:0 12px 12px}.nav-item{height:44px;display:flex;align-items:center;gap:12px;padding:0 13px;border-radius:10px;color:#7d8398;text-decoration:none;font-size:13px;font-weight:600;margin-bottom:5px}.nav-item.active{background:#e8f4ff;color:#0878e8}.nav-icon{font-size:19px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto}.connect-card{padding:17px 14px;background:#f2f8ff;border:1px solid #dceeff;border-radius:14px;margin-bottom:19px}.connect-icon{height:33px;width:33px;border-radius:10px;background:#dceeff;color:#0878e8;display:grid;place-items:center;margin-bottom:13px}.connect-card strong{font-size:12px}.connect-card p{font-size:11px;line-height:1.55;color:#898ea4;margin:7px 0 13px}.connect-button{border:0;background:none;color:#0878e8;font-weight:700;font-size:11px;padding:0;display:flex;align-items:center;gap:5px}.profile{border-top:1px solid var(--line);padding:17px 4px 0;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dceeff;color:#0878e8;font-weight:800}.profile strong{font-size:11px;display:block}.profile span{font-size:10px;color:#989db0;display:block;margin-top:4px}.profile>svg{margin-left:auto;color:#a1a6b7}.main-content{margin-left:246px;padding:35px 38px 22px;max-width:1800px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.topbar h1{font:800 28px Arial,Helvetica,sans-serif;letter-spacing:-1px;margin:7px 0 5px}.subtitle{font-size:12px;color:#9298ab;margin:0}.top-actions{display:flex;align-items:center;gap:10px}.month-picker{height:39px;display:flex;align-items:center;gap:8px;border:1px solid #e7e9f1;border-radius:9px;padding:0 11px;background:#fff;color:#777d92}.month-picker input{border:0;outline:0;background:transparent;color:#565c71;font-size:11px;width:112px}.primary-button,.secondary-button,.icon-button{border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700;transition:transform .15s,box-shadow .15s}.primary-button{background:#1688f8;color:#fff;border:1px solid #1688f8;padding:11px 15px;box-shadow:0 5px 12px #1688f81c}.primary-button:hover{background:#6556ca;transform:translateY(-1px)}.secondary-button{padding:9px 12px;background:#fff;border:1px solid #e8eaf2;color:#6d7287}.icon-button{width:39px;height:39px;background:#fff;border:1px solid #e8eaf2;color:#7c8297}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-bottom:18px}.stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid #eceef5;border-radius:14px;padding:19px 19px 17px;min-height:144px;box-shadow:0 3px 12px #30385c04}.stat-head{display:flex;align-items:center;justify-content:space-between;color:#82889c;font-size:11px;font-weight:600}.stat-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center}.purple{background:#e8f4ff;color:#1688f8}.coral{background:#fff0ed;color:#ec8979}.mint{background:#e8f8f1;color:#1ca879}.blue{background:#eaf3ff;color:#4d8fe3}.stat-value{font:800 22px Manrope,sans-serif;letter-spacing:-.8px;margin:15px 0 11px;white-space:nowrap}.stat-foot{display:flex;align-items:center;gap:6px;color:#9298aa;font-size:10px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.purple-dot{background:#1688f8}.blue-dot{background:#6ca2f0}.pill{border-radius:5px;padding:4px 6px;font-size:9px;font-weight:700}.coral-pill{background:#fff0ed;color:#e77d6c}.green-pill{background:#eaf8f1;color:#189b70}.progress{height:5px;background:#f0f1f7;border-radius:10px;overflow:hidden;margin-top:11px}.progress>span{display:block;height:100%;border-radius:10px;background:#f19a86;transition:width .25s}.green-progress>span{background:#24b488}.blue-progress>span{background:#6d9fea}.balance-card{background:linear-gradient(125deg,#0878e8,#36a3ff);color:#fff;border-color:transparent}.balance-card .stat-head,.balance-card .stat-foot{color:#e0dcff}.balance-card .stat-icon{background:#ffffff25;color:#fff}.balance-card .stat-value{position:relative;z-index:1}.balance-decoration{position:absolute;right:-10px;bottom:-31px;display:flex;gap:6px;transform:rotate(30deg);opacity:.13}.balance-decoration div{width:28px;height:110px;border:7px solid white;border-radius:20px}.middle-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:17px;margin-bottom:18px}.panel{background:#fff;border:1px solid #eceef5;border-radius:14px;box-shadow:0 3px 12px #30385c04}.budget-panel,.overview-panel{padding:21px 21px 18px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2{font:700 15px Manrope,sans-serif;letter-spacing:-.3px;margin:0}.panel-header p{font-size:10px;color:#969bad;margin:6px 0 0}.soft-badge{font-size:10px;color:#0878e8;background:#e8f4ff;border-radius:6px;padding:7px 9px;white-space:nowrap}.budget-total{margin-top:20px;padding:13px 14px;background:#f8f8fc;border-radius:9px;display:flex;justify-content:space-between;align-items:center;color:#898fa2;font-size:11px}.budget-total strong{font:700 14px Manrope;color:#353950}.allocation-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:15px;margin-top:20px}.allocation-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#7c8296}.allocation-top strong{font-size:10px;color:#383d53;white-space:nowrap}.allocation-row .progress{height:4px;margin-top:8px}.budget-note{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--line);margin-top:20px;padding-top:14px;color:#999eb0;font-size:10px;line-height:1.55}.budget-note svg{color:#1688f8;flex-shrink:0}.round-icon{height:32px;width:32px;border-radius:10px;background:#e8f4ff;color:#1688f8;display:grid;place-items:center}.overview-hero{display:flex;align-items:center;justify-content:space-around;gap:15px;padding:20px 0 18px}.overview-ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:conic-gradient(#1688f8 var(--progress),#f0eff9 0)}.overview-ring>div{height:103px;width:103px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.overview-ring strong{font:800 23px Manrope;letter-spacing:-1px}.overview-ring span{font-size:10px;color:#9a9fb0;margin-top:2px}.overview-legend{display:flex;flex-direction:column;gap:16px;flex:1;min-width:0}.overview-legend>div{display:grid;grid-template-columns:8px 1fr;align-items:center;column-gap:7px;row-gap:5px;font-size:10px;color:#898fa3}.overview-legend strong{grid-column:2;font-size:11px;color:#363b51}.legend-dot{width:7px;height:7px;border-radius:2px;grid-row:span 2}.legend-dot.spent{background:#1688f8}.legend-dot.saved{background:#28b487}.legend-dot.reserve{background:#f4ad55}.daily-limit{display:flex;align-items:center;gap:10px;padding:12px;background:#f9f9fd;border:1px solid #f0f0f8;border-radius:10px}.daily-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff1de;color:#e49b37}.daily-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.daily-copy strong{font-size:10px}.daily-copy span,.daily-amount span{font-size:9px;color:#989db0}.daily-amount{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.daily-amount strong{font-size:12px;color:#2ca47e}.overview-footer{display:flex;align-items:center;justify-content:space-between;padding-top:15px;margin-top:13px;border-top:1px solid var(--line);font-size:10px;color:#9298aa}.overview-footer strong{color:#44495e}.transactions-panel{padding:21px 21px 0}.transactions-heading{margin-bottom:20px}.transaction-form{background:#fafaff;border:1px solid #dceeff;border-radius:12px;padding:17px;margin-bottom:21px}.form-grid{display:grid;grid-template-columns:1.1fr .8fr 1.3fr 1fr .9fr auto;gap:11px;align-items:end}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:10px;color:#72788e;font-weight:700}.field input,.field select{height:38px;width:100%;min-width:0;border:1px solid #e7e8f1;background:#fff;border-radius:8px;padding:0 10px;outline:none;font-size:11px;color:#363b50}.field input::placeholder{color:#b0b4c3}.field input:focus,.field select:focus{border-color:#1688f8;box-shadow:0 0 0 3px #1688f81a}.form-action .primary-button{height:38px;white-space:nowrap;padding:0 12px}.form-hint{font-size:9px;color:#a0a4b4;margin:12px 0 0}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.table-title{display:flex;align-items:center;gap:9px}.table-title strong{font:700 13px Manrope}.table-title span{background:#f1f0ff;color:#1688f8;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:700}.table-filters{display:flex;align-items:center;gap:9px}.search-box{height:34px;border:1px solid #e8eaf2;border-radius:8px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#a1a6b6}.search-box input{border:0;outline:0;width:130px;font-size:10px;color:#555b70}.filter-select{height:34px;border:1px solid #e8eaf2;border-radius:8px;background:#fff;color:#777d91;padding:0 9px;font-size:10px;max-width:150px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}thead th{height:38px;background:#fafbfe;border-top:1px solid #f0f1f6;border-bottom:1px solid #f0f1f6;color:#9ba0b2;font-size:9px;font-weight:700;letter-spacing:.7px;white-space:nowrap}thead th:first-child{padding-left:13px}thead th.right,td.right{text-align:right}tbody td{padding:12px 9px;border-bottom:1px solid #f0f1f6;font-size:10px;color:#777d91}tbody td:first-child{padding-left:13px}.tx-name{display:flex;align-items:center;gap:10px;min-width:180px}.category-icon{height:35px;width:35px;flex-shrink:0;border-radius:10px;background:#e8f4ff;color:#1688f8;display:grid;place-items:center}.cat-makan{background:#fff3e4;color:#df9b3d}.cat-kos{background:#e8f4ff;color:#1688f8}.cat-keluarga{background:#ffefee;color:#e27e82}.cat-internet{background:#e9f3ff;color:#5895dc}.cat-laundry{background:#e8f8f1;color:#30a783}.cat-tabungan,.cat-dana-darurat{background:#e8f8f1;color:#28a87d}.tx-name strong{display:block;font-size:11px;color:#373c52;margin-bottom:4px}.tx-name span{display:block;font-size:9px;color:#a0a5b4;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-pill{display:inline-block;background:#f6f6fa;border-radius:5px;padding:5px 7px;color:#747a8f;font-size:9px;white-space:nowrap}.date-cell{white-space:nowrap}.amount-cell{font-weight:700;color:#44495d;white-space:nowrap}.delete-button{border:0;background:transparent;color:#b4b8c5;padding:6px;border-radius:6px}.delete-button:hover{background:#fff0ed;color:#e17c6e}.action-cell{text-align:right}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:35px 10px;color:#969bad}.empty-icon{width:45px;height:45px;border-radius:13px;background:#e8f4ff;color:#1688f8;display:grid;place-items:center;margin-bottom:4px}.empty-state strong{font-size:12px;color:#51566b}.empty-state span{font-size:10px}.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 3px 0;color:#a2a7b6;font-size:9px}.sync-label{display:flex;align-items:center;gap:6px}.sync-label svg{color:#31ac82}.toast{position:fixed;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;gap:10px;max-width:min(500px,calc(100vw - 32px));padding:14px 15px;background:#262a40;color:#fff;border-radius:12px;box-shadow:0 12px 35px #20243a30;font-size:12px}.toast>svg{color:#69d6a9;flex-shrink:0}.toast button{background:transparent;border:0;color:#c5c8d5;margin-left:auto;display:grid;place-items:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#171a2c75;display:grid;place-items:center;padding:18px}.modal{width:min(450px,100%);background:#fff;border-radius:18px;padding:25px;box-shadow:0 20px 60px #15172a35}.modal-top{display:flex;justify-content:space-between;align-items:center}.modal-logo{width:42px;height:42px;border-radius:13px;background:#e8f4ff;color:#1688f8;display:grid;place-items:center}.close-modal{border:0;background:#f5f5fa;border-radius:8px;height:32px;width:32px;display:grid;place-items:center;color:#777d91}.modal h2{font:800 21px Manrope;margin:17px 0 7px;letter-spacing:-.5px}.modal-description{font-size:12px;line-height:1.6;color:#8f95a8;margin:0 0 20px}.modal .field input{height:42px}.google-destinations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.google-destinations>div{display:flex;align-items:center;gap:9px;border:1px solid #eceef5;border-radius:10px;padding:11px;color:#1688f8}.google-destinations span{display:flex;flex-direction:column;gap:4px}.google-destinations strong{font-size:10px;color:#484d63}.google-destinations small{font-size:9px;color:#9a9fb0}.full-button{width:100%;height:42px}.modal-footnote{font-size:10px;line-height:1.6;color:#9ba0b1;margin:13px 0 0}.negative{color:#e17b6d}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1300px){.main-content{padding:28px 25px 20px}.sidebar{width:220px}.main-content{margin-left:220px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-action .primary-button{width:100%}}@media(max-width:900px){.sidebar{width:68px;padding:20px 10px}.brand{padding:0 4px 35px}.brand>div:last-child,.nav-label,.nav-item:not(.active),.nav-item.active{font-size:0}.brand-mark{flex-shrink:0}.nav-item{justify-content:center;padding:0}.nav-icon{font-size:20px}.sidebar .connect-card,.profile>div:not(.avatar),.profile>svg{display:none}.profile{justify-content:center;padding-top:14px}.main-content{margin-left:68px;padding:25px 18px}.middle-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.allocation-list{grid-template-columns:1fr 1fr}}@media(max-width:600px){.main-content{padding:22px 12px}.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:17px}.topbar h1{font-size:25px}.stats-grid{gap:9px}.stat-card{padding:14px;min-height:130px}.stat-value{font-size:18px}.stat-head{font-size:10px}.stat-icon{width:29px;height:29px}.middle-grid{gap:12px}.budget-panel,.overview-panel,.transactions-panel{padding:15px}.allocation-list{grid-template-columns:1fr;row-gap:12px}.overview-hero{justify-content:flex-start;gap:18px}.overview-ring{width:115px;height:115px}.overview-ring>div{width:89px;height:89px}.overview-ring strong{font-size:20px}.transactions-heading{align-items:flex-start}.transactions-heading .secondary-button{font-size:0;padding:10px}.transactions-heading .secondary-button svg{margin:0}.form-grid{grid-template-columns:1fr 1fr}.field:nth-child(3){grid-column:span 2}.form-action{grid-column:span 2}.table-toolbar{align-items:flex-start;flex-direction:column}.table-filters{width:100%}.search-box{flex:1}.search-box input{width:100%;min-width:30px}.filter-select{max-width:140px}.footer{align-items:flex-start;flex-direction:column}.month-picker input{width:105px}.top-actions .primary-button{flex:1}.top-actions .icon-button{display:none}.daily-copy strong{font-size:9px}.daily-amount strong{font-size:10px}.modal{padding:20px}}.ai-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#efedff;color:#7566d9}.ai-badge{font-size:9px;font-weight:800;letter-spacing:.7px;color:#7869d7;background:#f1efff;padding:4px 6px;border-radius:5px}.ai-suggestions button{border:1px solid #e8e6fb;background:#faf9ff;color:#6c60b9;border-radius:20px;padding:8px 11px;font-size:10px;font-weight:600}.ai-suggestions button:hover{background:#f0edff}.ai-message-icon{flex-shrink:0;min-width:29px;height:29px;border-radius:9px;background:#efedff;color:#7566d9;display:grid;place-items:center;font-size:9px;font-weight:800}.user-message .ai-message-content{background:#f0efff;border-color:#e5e1ff;border-radius:11px 0 11px 11px}.ai-compose textarea:focus{border-color:#9589e8;box-shadow:0 0 0 3px #8a7be91a}.date-group-row td{background:#f0efff!important;color:#6658c7;font-weight:700;font-size:12px;padding:12px 16px!important;border-top:1px solid #e3e0ff}.ai-panel{padding:22px;margin-bottom:18px}.ai-heading{margin-bottom:15px}.ai-title{display:flex;align-items:center;gap:9px}.ai-title h2{font:700 15px Manrope,sans-serif;margin:0}.ai-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#e8f4ff;color:#1688f8}.ai-badge{font-size:9px;font-weight:800;letter-spacing:.7px;color:#1688f8;background:#e8f4ff;padding:4px 6px;border-radius:5px}.ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.ai-suggestions button{border:1px solid #d8eaff;background:#f5faff;color:#086bd1;border-radius:20px;padding:8px 11px;font-size:10px;font-weight:600}.ai-suggestions button:hover{background:#e2f1ff}.ai-chat{display:flex;flex-direction:column;gap:12px;max-height:380px;overflow-y:auto;padding:15px;background:#fafbff;border:1px solid #eef0f7;border-radius:12px}.ai-message{display:flex;align-items:flex-start;gap:9px;max-width:94%}.user-message{align-self:flex-end;flex-direction:row-reverse}.ai-message-icon{flex-shrink:0;min-width:29px;height:29px;border-radius:9px;background:#e8f4ff;color:#1688f8;display:grid;place-items:center;font-size:9px;font-weight:800}.user-message .ai-message-icon{background:#e7f7ef;color:#159b70}.ai-message-content{font-size:12px;line-height:1.65;color:#44495e;background:#fff;border:1px solid #eceef5;border-radius:0 11px 11px;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere}.user-message .ai-message-content{background:#e8f4ff;border-color:#d6eaff;border-radius:11px 0 11px 11px}.ai-typing{color:#8b90a4;font-style:italic}.ai-compose{display:flex;gap:10px;align-items:flex-end;margin-top:12px}.ai-compose textarea{flex:1;resize:vertical;min-height:58px;max-height:150px;border:1px solid #e7e8f1;background:#fff;border-radius:10px;padding:12px;font:12px/1.5 DM Sans,sans-serif;outline:none;color:#363b50}.ai-compose textarea:focus{border-color:#1688f8;box-shadow:0 0 0 3px #1688f81a}.ai-compose .primary-button{min-height:42px;white-space:nowrap}.ai-compose .primary-button:disabled{opacity:.55;cursor:not-allowed}.ai-disclaimer{font-size:9px;line-height:1.55;color:#9a9fb0;margin:10px 0 0}@media(max-width:700px){.ai-panel{padding:15px}.ai-compose{align-items:stretch;flex-direction:column}.ai-compose .primary-button{align-self:flex-end}.ai-message{max-width:100%}}.budget-adjustment{margin:0 0 22px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.budget-adjustment .transaction-form{padding:0;border:0}.date-group-row td{background:#e8f4ff!important;color:#086bd1;font-weight:700;font-size:12px;padding:12px 16px!important;border-top:1px solid #cfe6ff}.date-group-row td:first-letter{text-transform:uppercase}.weekly-panel{margin:0 0 24px;padding:24px}.week-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.week-toggle{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}.week-toggle input{accent-color:var(--purple);margin:0}.week-toggle small{font-size:10px;font-weight:500;color:var(--muted)}.week-toggle.selected{background:#e8f4ff;border-color:#a9d3ff;color:#086bd1}.week-select-all{border:0;background:transparent;color:var(--purple);font-size:12px;font-weight:700;padding:9px}.weekly-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.weekly-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.weekly-card>span{display:block;font-size:12px;color:#777d92;margin-bottom:12px}.weekly-card>span small{font-size:10px}.weekly-card>strong{display:block;font-size:18px;letter-spacing:-.4px;margin-bottom:13px;overflow-wrap:anywhere}.weekly-card>small{display:block;color:var(--muted);font-size:11px;margin-top:9px}.weekly-total{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:18px;padding-top:16px;font-size:13px;color:#777d92}.weekly-total strong{color:var(--ink);font-size:17px}.weekly-empty{padding:18px;border-radius:10px;background:#f2f8ff;color:var(--muted);font-size:12px}@media(max-width:900px){.weekly-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.weekly-cards{grid-template-columns:1fr}.weekly-panel{padding:16px}.weekly-total{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sidebar.scrolled .brand{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);height:0;padding-top:0;padding-bottom:0;margin:0;overflow:hidden;transition:opacity .18s ease,transform .18s ease,padding .18s ease}.sidebar .brand{transition:opacity .18s ease,transform .18s ease,padding .18s ease}.ai-chat{gap:16px;max-height:460px;padding:18px;scroll-behavior:smooth}.ai-message{max-width:min(92%,760px);width:fit-content}.ai-message-content{font-size:13px;line-height:1.75;padding:13px 15px;white-space:normal;overflow-wrap:anywhere;word-break:normal}.user-message .ai-message-content{white-space:pre-wrap}.ai-message-content br{content:"";display:block;margin-bottom:4px}.ai-typing{color:#7d8496}.daily-correction{display:flex;align-items:flex-start;gap:12px;margin-top:12px;padding:13px;border:1px solid #ffdfb5;background:#fffaf2;border-radius:11px;color:#7b5a26}.daily-correction>div{flex:1;min-width:0}.daily-correction strong{font-size:11px}.daily-correction p{font-size:10px;line-height:1.6;margin:5px 0 0;color:#8e7653}.daily-correction button{flex-shrink:0;border:0;border-radius:8px;background:#f3a63c;color:#fff;padding:9px 11px;font-size:10px;font-weight:700}.daily-correction button:hover{background:#df8c1d}@media(max-width:600px){.daily-correction{flex-direction:column}.daily-correction button{align-self:flex-end}.ai-message{max-width:100%}.ai-chat{padding:11px;max-height:420px}.ai-message-content{font-size:12px;padding:11px 12px}}.debt-card{border-color:#ffd8d2;background:linear-gradient(180deg,#fff,snow)}.debt-caption{font-size:9px;line-height:1.45;color:#9298aa;margin-top:9px}.debt-card .debt-caption{color:#c2766b}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{overflow-x:hidden}.app-shell,.main-content,.stat-card,.panel,.budget-adjustment,.transaction-form{min-width:0}.debt-card{border-color:#cfeedd;background:linear-gradient(180deg,#f8fffb,#effaf4)}.debt-card.debt-active{border-color:#ffd8d2;background:linear-gradient(180deg,#fff,#fff7f5)}.debt-card.debt-active .debt-caption{color:#c2766b}.debt-card.debt-cleared{border-color:#a8e5c5;background:linear-gradient(145deg,#f4fff8,#e6f9ee)}.debt-card.debt-cleared .stat-head,.debt-card.debt-cleared .debt-caption{color:#18794e}.debt-positive{color:#168653}.debt-card.debt-cleared .stat-icon{background:#d3f5e1;color:#168653}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.sidebar{width:64px;padding:16px 8px}.main-content{margin-left:64px;padding:24px 16px}.sidebar .brand{justify-content:center;padding:0 0 25px}.sidebar .brand>div:last-child{display:none}.sidebar.scrolled .brand{display:none!important}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.middle-grid{grid-template-columns:minmax(0,1fr)}.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:16px}.weekly-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sidebar{width:54px;padding:12px 6px}.main-content{margin-left:54px;padding:17px 10px 18px}.sidebar .brand{padding-bottom:20px}.brand-mark{width:34px;height:34px}.nav-item{height:42px}.topbar h1{font-size:23px}.subtitle{font-size:11px;line-height:1.5}.top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.top-actions>*{min-width:0}.month-picker{grid-column:span 2;width:100%}.month-picker input{width:100%;min-width:0}.top-actions .secondary-button,.top-actions .primary-button{min-height:40px;padding:9px 8px;font-size:10px}.top-actions .primary-button{grid-column:span 2}.top-actions .icon-button{display:inline-flex}.stats-grid{grid-template-columns:minmax(0,1fr);gap:9px}.stat-card{min-height:0;padding:15px}.stat-value{font-size:21px;white-space:normal;overflow-wrap:anywhere}.stat-head{gap:8px}.stat-head>span:first-child{line-height:1.4}.weekly-panel,.budget-panel,.overview-panel,.transactions-panel,.ai-panel,.budget-adjustment{padding:14px}.weekly-cards{grid-template-columns:minmax(0,1fr)}.week-toggle{flex:1 1 calc(50% - 8px);justify-content:center;padding:9px 7px}.week-select-all{width:100%}.overview-hero{flex-wrap:wrap}.overview-legend{min-width:130px}.form-grid{grid-template-columns:minmax(0,1fr)}.field:nth-child(3),.form-action{grid-column:auto}.form-action .primary-button{width:100%}.transaction-form{padding:12px}.table-toolbar,.table-filters{align-items:stretch;flex-direction:column}.table-filters{display:flex}.search-box,.filter-select{width:100%;max-width:none;min-height:38px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:620px}.transactions-heading{gap:8px}.transactions-heading h2{font-size:14px}.daily-correction{flex-direction:column}.daily-correction button{align-self:stretch;min-height:38px}.ai-compose{flex-direction:column;align-items:stretch}.ai-compose .primary-button{align-self:stretch}.footer{gap:8px;font-size:10px;overflow-wrap:anywhere}}@media(max-width:360px){.sidebar{width:48px}.main-content{margin-left:48px;padding-left:8px;padding-right:8px}.top-actions{grid-template-columns:minmax(0,1fr)}.month-picker,.top-actions .primary-button{grid-column:auto}.week-toggle{flex-basis:100%}}:root{--surface:#fff;--surface-2:#f8f9fd}.summary-section{padding:22px;margin-bottom:18px}.breakdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.breakdown-item{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);min-width:0}.breakdown-item span{display:block;font-size:11px;color:var(--muted);font-weight:600}.breakdown-item strong{display:block;font:800 18px Manrope,sans-serif;letter-spacing:-.5px;margin-top:9px;overflow-wrap:anywhere}.breakdown-item.total{background:#e8f4ff;border-color:#a9d3ff}.plan-list{display:grid;gap:12px;margin-top:18px}.plan-row{padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}.plan-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap}.plan-name{font-size:13px;font-weight:700}.plan-left{font-size:12px;font-weight:700;color:#168653}.plan-left.over{color:#e17b6d}.plan-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:8px;font-size:11px;color:var(--muted)}.plan-meta b{color:var(--ink)}.plan-row .progress{margin-top:12px}.progress.plan-over>span{background:#e8806f}.plan-total{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.plan-total span{display:block;font-size:11px;color:var(--muted)}.plan-total strong{display:block;font-size:16px;margin-top:6px;overflow-wrap:anywhere}.theme-toggle{flex-shrink:0}a.primary-button{text-decoration:none}@media(max-width:900px){.breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.summary-section{padding:14px}.breakdown-grid,.plan-total{grid-template-columns:minmax(0,1fr)}.top-actions a.primary-button{grid-column:span 2;min-height:40px}}html[data-theme=dark]{color-scheme:dark;background:#0f1424;color:#e6e9f5;--ink:#e6e9f5;--muted:#8f98b5;--line:#2a3250;--surface:#171d30;--surface-2:#1d2438}html[data-theme=dark] body{background:#0f1424;color:#e6e9f5}html[data-theme=dark] .sidebar,html[data-theme=dark] .panel,html[data-theme=dark] .stat-card:not(.balance-card):not(.debt-card),html[data-theme=dark] .budget-adjustment,html[data-theme=dark] .weekly-card,html[data-theme=dark] .week-toggle,html[data-theme=dark] .modal,html[data-theme=dark] .ai-message-content,html[data-theme=dark] .month-picker,html[data-theme=dark] .secondary-button,html[data-theme=dark] .icon-button,html[data-theme=dark] .search-box,html[data-theme=dark] .filter-select,html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .ai-compose textarea,html[data-theme=dark] .plan-row{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .overview-ring>div{background:var(--surface)}html[data-theme=dark] .overview-ring{background:conic-gradient(#1688f8 var(--progress),#2a3250 0)}html[data-theme=dark] .transaction-form,html[data-theme=dark] .budget-total,html[data-theme=dark] .daily-limit,html[data-theme=dark] .ai-chat,html[data-theme=dark] .connect-card,html[data-theme=dark] .weekly-empty,html[data-theme=dark] .breakdown-item,html[data-theme=dark] .category-pill{background:var(--surface-2);border-color:var(--line)}html[data-theme=dark] thead th{background:var(--surface-2);border-color:var(--line);color:var(--muted)}html[data-theme=dark] tbody td{border-color:var(--line);color:var(--muted)}html[data-theme=dark] .progress{background:#2a3250}html[data-theme=dark] .brand span,html[data-theme=dark] .nav-label,html[data-theme=dark] .eyebrow,html[data-theme=dark] .subtitle,html[data-theme=dark] .panel-header p,html[data-theme=dark] .stat-head,html[data-theme=dark] .stat-foot,html[data-theme=dark] .debt-caption,html[data-theme=dark] .form-hint,html[data-theme=dark] .field>span,html[data-theme=dark] .allocation-top,html[data-theme=dark] .budget-note,html[data-theme=dark] .overview-legend>div,html[data-theme=dark] .overview-footer,html[data-theme=dark] .overview-ring span,html[data-theme=dark] .daily-copy span,html[data-theme=dark] .daily-amount span,html[data-theme=dark] .profile span,html[data-theme=dark] .connect-card p,html[data-theme=dark] .footer,html[data-theme=dark] .weekly-card>span,html[data-theme=dark] .weekly-total,html[data-theme=dark] .tx-name span,html[data-theme=dark] .empty-state,html[data-theme=dark] .ai-disclaimer,html[data-theme=dark] .nav-item,html[data-theme=dark] .secondary-button,html[data-theme=dark] .icon-button,html[data-theme=dark] .month-picker,html[data-theme=dark] .filter-select,html[data-theme=dark] .category-pill{color:var(--muted)}html[data-theme=dark] .budget-total strong,html[data-theme=dark] .allocation-top strong,html[data-theme=dark] .overview-legend strong,html[data-theme=dark] .overview-footer strong,html[data-theme=dark] .tx-name strong,html[data-theme=dark] .amount-cell,html[data-theme=dark] .empty-state strong,html[data-theme=dark] .weekly-total strong,html[data-theme=dark] .daily-copy strong,html[data-theme=dark] .connect-card strong,html[data-theme=dark] .profile strong,html[data-theme=dark] .ai-message-content,html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .ai-compose textarea,html[data-theme=dark] .month-picker input,html[data-theme=dark] .search-box input,html[data-theme=dark] .week-toggle{color:var(--ink)}html[data-theme=dark] .field input::placeholder{color:#59627f}html[data-theme=dark] .field input:focus,html[data-theme=dark] .field select:focus,html[data-theme=dark] .ai-compose textarea:focus{border-color:#1688f8;box-shadow:0 0 0 3px #1688f833}html[data-theme=dark] .nav-item.active,html[data-theme=dark] .soft-badge,html[data-theme=dark] .round-icon,html[data-theme=dark] .purple,html[data-theme=dark] .blue,html[data-theme=dark] .avatar,html[data-theme=dark] .connect-icon,html[data-theme=dark] .ai-mark,html[data-theme=dark] .ai-badge,html[data-theme=dark] .ai-message-icon,html[data-theme=dark] .empty-icon,html[data-theme=dark] .table-title span,html[data-theme=dark] .cat-kos,html[data-theme=dark] .cat-internet,html[data-theme=dark] .category-icon{background:#172a4a;color:#6cb4ff}html[data-theme=dark] .breakdown-item.total,html[data-theme=dark] .week-toggle.selected,html[data-theme=dark] .user-message .ai-message-content{background:#172a4a;border-color:#27487c;color:#9fd0ff}html[data-theme=dark] .breakdown-item.total strong{color:#e6e9f5}html[data-theme=dark] .date-group-row td{background:#172a4a!important;color:#6cb4ff;border-top-color:#27487c}html[data-theme=dark] .ai-suggestions button{background:#172a4a;border-color:#27487c;color:#9fd0ff}html[data-theme=dark] .ai-suggestions button:hover{background:#1d3560}html[data-theme=dark] .week-select-all{color:#6cb4ff}html[data-theme=dark] .coral,html[data-theme=dark] .coral-pill,html[data-theme=dark] .cat-keluarga{background:#3a1f26;color:#f0968a}html[data-theme=dark] .mint,html[data-theme=dark] .green-pill,html[data-theme=dark] .cat-laundry,html[data-theme=dark] .cat-tabungan,html[data-theme=dark] .cat-dana-darurat,html[data-theme=dark] .user-message .ai-message-icon{background:#12302a;color:#4ed1a1}html[data-theme=dark] .cat-makan,html[data-theme=dark] .daily-icon{background:#3a2c14;color:#f0b25c}html[data-theme=dark] .delete-button{color:#7d86a3}html[data-theme=dark] .delete-button:hover{background:#3a1f26;color:#f0968a}html[data-theme=dark] .nav-item:hover{background:#1d2438}html[data-theme=dark] .nav-item.active{color:#6cb4ff}html[data-theme=dark] .debt-card{background:linear-gradient(180deg,#12291f,#0f2219);border-color:#1f5a3d}html[data-theme=dark] .debt-card.debt-active{background:linear-gradient(180deg,#2a1a22,#231720);border-color:#5a2b33}html[data-theme=dark] .debt-card.debt-cleared{background:linear-gradient(145deg,#12291f,#0f2219);border-color:#1f5a3d}html[data-theme=dark] .debt-card.debt-cleared .stat-head,html[data-theme=dark] .debt-card.debt-cleared .debt-caption{color:#4ed1a1}html[data-theme=dark] .debt-card.debt-active .debt-caption{color:#f0968a}html[data-theme=dark] .debt-card.debt-cleared .stat-icon{background:#12302a;color:#4ed1a1}html[data-theme=dark] .debt-positive,html[data-theme=dark] .plan-left{color:#4ed1a1}html[data-theme=dark] .plan-left.over,html[data-theme=dark] .negative{color:#f0968a}html[data-theme=dark] .daily-correction{background:#2a2112;border-color:#5a4318;color:#e2c48a}html[data-theme=dark] .daily-correction p{color:#c9ad78}html[data-theme=dark] .weekly-card>strong,html[data-theme=dark] .plan-name,html[data-theme=dark] .plan-total strong,html[data-theme=dark] .breakdown-item strong{color:var(--ink)}html[data-theme=dark] .toast{background:#2a3250;box-shadow:0 12px 35px #0006}html[data-theme=dark] .modal-backdrop{background:#05070fcc}html[data-theme=dark] .balance-card .stat-head,html[data-theme=dark] .balance-card .stat-foot{color:#e4f1ff}html[data-theme=dark] .budget-adjustment .transaction-form{background:transparent;border:0}html[data-theme=dark] .search-box input{background:transparent}html[data-theme=dark] .search-box input::placeholder{color:#59627f}.ai-message-content{line-height:1.6;white-space:normal}.ai-message-content>*:first-child{margin-top:0}.ai-message-content>*:last-child{margin-bottom:0}.ai-message-content p{margin:0 0 8px}.ai-message-content ul,.ai-message-content ol{margin:0 0 8px;padding-left:20px}.ai-message-content li{margin:2px 0}.ai-message-content li>ul{margin:3px 0 2px}.ai-message-content .ai-h{font-weight:700;margin:10px 0 4px}.ai-message-content code{font-size:.92em;padding:1px 5px;border-radius:5px;background:#7882aa29}.ai-table-wrap{overflow-x:auto;margin:4px 0 10px;max-width:100%}.ai-table{width:auto;min-width:50%;border-collapse:collapse;font-size:12px}.ai-table th,.ai-table td{padding:6px 10px;border:1px solid var(--line);text-align:left;vertical-align:top;font-size:12px;color:inherit;letter-spacing:0;text-transform:none;white-space:normal;height:auto}.ai-table th{background:var(--surface-2);font-weight:700}.ai-message-content br{display:inline;margin:0;content:normal}.ai-table th:first-child,.ai-table td:first-child{padding:6px 10px}html[data-theme=dark] .ai-table td,html[data-theme=dark] .ai-table th{color:var(--ink)}
