@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap");.calendar-overdue-badge{display:inline-flex;align-items:center;margin-left:7px;padding:2px 6px;border-radius:999px;background:var(--orange-pale);color:var(--orange);font-size:10px;font-style:normal;font-weight:800;line-height:1}.calendar-category-badge,.calendar-paid-badge{display:inline-flex;align-items:center;margin-left:7px;padding:2px 6px;border-radius:999px;background:var(--teal-pale);color:var(--teal-dark);font-size:10px;font-style:normal;font-weight:800;line-height:1}.calendar-record-notes{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}:root{--bg:#f5f7f9;--surface:#fff;--ink:#18252f;--muted:#84919a;--line:#e6ebee;--teal:#10a486;--teal-dark:#087963;--teal-pale:#e3f5f0;--orange:#e87b50;--orange-pale:#fff0e9;--navy:#1e3440;--shadow:0 8px 30px rgba(22,40,50,.045)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer;border:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;background:#fff;border-right:1px solid var(--line);padding:31px 17px 22px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:0 15px 39px}.brand-mark{background:var(--teal);color:#fff;width:29px;height:29px;border-radius:8px;display:grid;place-items:center;font-size:22px;font-weight:800;transform:rotate(-8deg)}.brand strong{display:block;font-size:17px;letter-spacing:-.4px}.brand small{display:block;font-family:DM Mono;font-size:10px;letter-spacing:1px;color:#a7b1b6;margin-top:3px}.side-label{color:#aab3b8;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700;padding:0 15px 10px}.nav-item{height:45px;width:100%;border-radius:9px;background:transparent;color:#859198;text-align:left;padding:0 15px;display:flex;align-items:center;gap:13px;font-size:15px;font-weight:600;margin:2px 0;transition:.2s}.nav-item:hover{background:#f4f8f7;color:var(--teal-dark)}.nav-item.active{background:var(--teal-pale);color:var(--teal-dark)}.nav-icon{width:18px;font-size:20px;line-height:1;text-align:center}.nav-arrow{margin-left:auto;font-size:22px}.sidebar-bottom{margin-top:auto}.sync{color:#9aa5ab;font-size:13px;padding:0 15px 22px;display:flex;gap:8px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:#36c29d;box-shadow:0 0 0 3px #e4f8f2}.user-chip{width:100%;display:flex;align-items:center;gap:9px;background:#f8fafb;padding:9px 11px;border-radius:10px;font-size:13px;color:#5e6c74;text-align:left}.user-chip span:last-child{margin-left:auto;color:#a1adb2}.avatar{background:#d2eee7;color:var(--teal-dark);font-weight:800;width:26px;height:26px;border-radius:7px;display:grid;place-items:center}.main-content{max-width:1400px;width:100%;padding:31px 48px 50px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:27px}.card-kicker,.eyebrow{color:#9aa7ad;font-size:12px;letter-spacing:.9px;font-weight:700;text-transform:uppercase}.topbar h1{font-size:30px;letter-spacing:-1.3px;margin:8px 0 0;line-height:1.15}.top-actions{display:flex;gap:11px;align-items:center}.icon-button{position:relative;background:#fff;border:1px solid var(--line);color:#89969b;border-radius:9px;width:37px;height:37px;font-size:19px}.notify-dot{position:absolute;top:8px;right:8px;width:5px;height:5px;border-radius:50%;background:var(--orange)}.add-button{background:var(--teal);color:#fff;font-size:14px;font-weight:700;padding:11px 16px;border-radius:8px;box-shadow:0 5px 14px #10a4862a}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;grid-gap:17px;gap:17px;margin-bottom:17px}.runway-card{background:var(--navy);border-radius:13px;padding:23px 27px 20px;color:#fff;min-height:220px;position:relative;overflow:hidden}.runway-card:after{content:"";position:absolute;width:200px;height:200px;border:1px solid #87d8c329;border-radius:50%;right:-70px;bottom:-100px}.card-kicker{display:block}.runway-card .card-kicker{color:#8acbbd}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4fd1ae;box-shadow:0 0 0 4px #4fd1ae2b;margin-right:8px}.runway-number{font-size:67px;letter-spacing:-5px;font-weight:700;line-height:1;margin:22px 0 11px}.runway-number small{font-size:19px;letter-spacing:0;margin-left:7px;font-weight:500}.infinity{font-size:78px}.runway-card p{font-size:14px;margin:0;color:#a8bdc3}.runway-card p strong{color:#ffe0bd;font-weight:600}.runway-meter{height:5px;background:#ffffff1a;border-radius:5px;margin-top:22px;overflow:hidden}.runway-meter span{display:block;height:100%;background:linear-gradient(90deg,#3ebda1,#d9ba73);border-radius:5px}.meter-labels{display:flex;justify-content:space-between;font-size:12px;color:#718f97;margin-top:7px}.card,.month-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:22px 24px;box-shadow:var(--shadow)}.month-card{min-height:220px}.card-title-row{display:flex;justify-content:space-between;align-items:flex-start}.card h3,.month-card h3{font-size:19px;letter-spacing:-.5px;margin:7px 0 0}.status-pill{font-size:12px;border-radius:20px;padding:5px 9px;font-weight:700}.status-pill.warning{color:#b96841;background:var(--orange-pale)}.month-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:11px;gap:11px;border-bottom:1px solid var(--line);padding:25px 0 19px}.goal-numbers span,.month-stats span,.projection-table span{display:block;color:#9aa7ad;font-size:12px;margin-bottom:7px}.month-stats strong{font-family:DM Mono;font-size:16px;font-weight:500}.income{color:#159b7d!important}.expense{color:var(--orange)!important}.mini-progress{height:7px;background:#edf1f2;border-radius:6px;margin:20px 0 8px;overflow:hidden}.mini-progress span{height:100%;background:var(--teal);display:block;border-radius:6px}.mini-caption{display:flex;justify-content:space-between;color:#9ca8ad;font-size:12px}.content-grid{display:grid;grid-template-columns:1.65fr 1fr;grid-gap:17px;gap:17px;margin-bottom:17px}.projection-card{min-height:365px}.legend{display:flex;gap:14px;color:#9ba7ac;font-size:12px;padding-top:5px}.legend span{display:flex;gap:5px;align-items:center}.legend-line{display:block;width:15px;height:2px;background:var(--teal)}.legend-dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--orange)}.chart-wrap{height:190px;display:flex;gap:10px;margin-top:22px}.chart-y{height:100%;display:flex;flex-direction:column;justify-content:space-between;color:#a8b3b8;font:11px DM Mono;width:45px;text-align:right;padding:3px 0}.chart-svg{height:100%;width:calc(100% - 55px);overflow:visible;background:repeating-linear-gradient(180deg,transparent 0,transparent calc(33.333% - 1px),#edf1f2 calc(33.333% - 1px),#edf1f2 33.333%)}.zero-line{stroke:#d5dddf;stroke-dasharray:2 2}.chart-line,.zero-line{vector-effect:non-scaling-stroke}.chart-line{fill:none;stroke:var(--teal);stroke-width:1.7}.chart-area{fill:url(#none);fill:none}.chart-point{fill:#fff;stroke:var(--teal);stroke-width:1.2}.chart-point,.risk-point{vector-effect:non-scaling-stroke}.risk-point{fill:var(--orange);stroke:#fff;stroke-width:1.5}.chart-x{display:flex;justify-content:space-between;margin:8px 0 0 55px;color:#a8b3b8;font:11px DM Mono}.projection-table{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.projection-table strong{font:14px DM Mono}.goal-card{min-height:365px}.target-badge{font-size:12px;color:var(--teal-dark);background:var(--teal-pale);padding:6px 8px;border-radius:5px;font-family:DM Mono}.goal-ring{height:142px;width:142px;margin:20px auto 16px;border-radius:50%;background:conic-gradient(var(--teal) var(--progress),#eaf0ef 0);display:grid;place-items:center;position:relative}.goal-ring:after{content:"";position:absolute;background:#fff;width:111px;height:111px;border-radius:50%}.goal-ring>div{z-index:1;text-align:center}.goal-ring strong{font:700 32px DM Mono;display:block;color:var(--ink)}.goal-ring strong small{font:18px Manrope;margin-left:2px}.goal-ring span{font-size:12px;color:#9aa7ad}.goal-numbers{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:16px}.goal-numbers strong{font:17px DM Mono}.range-label{display:flex;justify-content:space-between;color:#9aa7ad;font-size:12px;margin:22px 0 10px}.range-label span{font-family:DM Mono;color:var(--ink)}input[type=range]{accent-color:var(--teal);width:100%;height:5px}.outline-button{width:100%;background:#fff;border:1px solid #cdd9d9;color:var(--teal-dark);border-radius:7px;font-size:13px;font-weight:700;padding:9px;margin-top:20px}.bottom-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:17px;gap:17px}.events-card,.risk-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px 24px}.text-button{color:var(--teal-dark);background:none;font-size:13px;font-weight:700}.event-list{margin-top:13px}.event-row{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid #f0f2f3}.event-row:last-child{border:0}.event-symbol{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;font-size:18px;font-weight:700;margin-right:11px}.event-symbol.income{background:var(--teal-pale);color:var(--teal)}.event-symbol.expense{background:var(--orange-pale);color:var(--orange)}.event-main{flex:1 1}.event-main strong{display:block;font-size:13px;font-weight:700}.event-main small{display:block;color:#a2adb2;font-size:11px;margin-top:4px}.event-row>.expense,.event-row>.income{font:14px DM Mono}.risk-card h3{margin:8px 0 21px}.risk-item{display:flex;gap:11px;padding:13px 0;border-top:1px solid var(--line)}.risk-icon{width:27px;height:27px;border-radius:50%;background:var(--orange-pale);color:var(--orange);display:grid;place-items:center;font-weight:800;flex:none}.risk-icon.blue{background:#e6f1f8;color:#5592b4}.risk-item strong{display:block;font-size:13px}.risk-item small{display:block;color:#9da9ae;font-size:12px;margin-top:5px;line-height:1.5}.section-view{max-width:850px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:15px 0 25px}.section-heading h2{font-size:30px;letter-spacing:-1px;margin:7px 0 0}.placeholder-copy{color:#7f8d94;line-height:1.8;font-size:15px;margin-bottom:20px}.settings-card{max-width:460px}.settings-card h3{margin-bottom:8px}.setting-field{margin-top:25px}.setting-field label{display:block;color:#728088;font-size:13px;font-weight:700;margin-bottom:8px}.setting-field input{width:100%;border:1px solid var(--line);border-radius:7px;padding:11px;font-family:DM Mono;font-size:16px;color:var(--ink)}.setting-note{margin-top:12px;color:#a0acb1;font-size:12px}.muted{color:#9aa7ad}.muted,.toast{font-size:13px}.toast{position:fixed;bottom:25px;right:28px;background:var(--navy);color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 8px 25px #16283233}@media(max-width:980px){.sidebar{width:205px}.main-content{padding:27px 28px}.bottom-grid,.content-grid,.hero-grid{grid-template-columns:1fr}.hero-grid{gap:13px}}@media(max-width:650px){.app-shell{display:block}.sidebar{width:100%;height:auto;padding:17px 15px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 5px 15px}.sidebar .side-label,.sidebar-bottom{display:none}.nav-item{display:inline-flex;width:auto;padding:0 11px;margin:0 2px;font-size:13px;height:34px}.nav-icon{font-size:17px}.nav-arrow{display:none}.main-content{padding:22px 15px 35px}.topbar{margin-bottom:21px}.topbar h1{font-size:25px}.top-actions .icon-button{display:none}.add-button{padding:10px 12px;font-size:13px}.card,.events-card,.month-card,.risk-card,.runway-card{padding:18px}.runway-number{font-size:57px}.month-stats{gap:5px}.month-stats strong{font-size:14px}.legend{display:none}.chart-wrap{height:160px}.chart-x{font-size:10px}.chart-x span:nth-child(2n){display:none}.projection-table{gap:10px}.projection-table strong{font-size:12px}.bottom-grid{gap:13px}.section-heading h2{font-size:26px}}.sold-repayment-table{margin-top:14px;border-top:1px solid var(--line)}.sold-repayment-head,.sold-repayment-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.4fr 80px;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.sold-repayment-head{color:#8c999f;font-size:12px;font-weight:700}.sold-repayment-row strong:nth-child(3){font-family:DM Mono;color:var(--teal-dark)}.sold-repayment-row>div{display:flex;justify-content:flex-end;gap:5px}.manager-stack{max-width:none;width:100%}.manager-card,.manager-stack .overview-metrics{margin-bottom:17px}.manager-card .event-form{margin-top:17px}.manager-actions{display:flex;gap:8px}.compact{width:auto!important;margin-top:0!important;padding:9px 12px!important}.event-manager{margin-top:17px}.outline-button.compact{width:auto;margin:0;padding:8px 11px}.manager-list{margin-top:15px}.manager-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #f0f2f3}.manager-row .event-main{min-width:0}.manager-row>.expense,.manager-row>.income{font:14px DM Mono;white-space:nowrap}.event-status{font-size:11px;padding:4px 7px;border-radius:4px;white-space:nowrap}.event-status.confirmed{color:var(--teal-dark);background:var(--teal-pale)}.event-status.planned{color:#9b744a;background:#fff5e7}.delete-button,.edit-button{background:none;color:#c0c9cc;font-size:20px;padding:0 2px;line-height:1}.delete-button:hover{color:var(--orange)}.edit-button:hover{color:var(--teal)}.modal-backdrop{position:fixed;inset:0;background:#15242c66;display:grid;place-items:center;padding:20px;z-index:10}.event-form{background:#fff;border-radius:14px;width:min(100%,480px);padding:25px;box-shadow:0 18px 60px #16283233}.form-header{display:flex;justify-content:space-between;align-items:flex-start}.form-header h3{font-size:21px;margin:7px 0 21px}.close-button{background:#f2f5f5;color:#7b888e;width:28px;height:28px;border-radius:50%;font-size:21px;line-height:1}.type-toggle{display:grid;grid-template-columns:1fr 1fr;background:#f2f5f5;border-radius:8px;padding:3px;margin-bottom:19px}.type-toggle button{padding:9px;border-radius:6px;background:transparent;color:#89959a;font-size:14px;font-weight:700}.type-toggle button.selected{background:#fff;box-shadow:0 2px 7px #16283212}.type-toggle button.income-tab.selected{color:var(--teal-dark)}.type-toggle button.expense-tab.selected{color:var(--orange)}.event-form label{display:block;color:#68777e;font-size:12px;font-weight:700;margin:13px 0}.event-form input,.event-form select{display:block;width:100%;margin-top:7px;border:1px solid #dce3e5;border-radius:7px;padding:10px 11px;color:var(--ink);font-size:14px;background:#fff}.event-form input:focus,.event-form select:focus{outline:2px solid #10a48633;border-color:var(--teal)}.form-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.form-hint{color:#9ca8ad;background:#f7fafa;padding:10px;border-radius:7px;font-size:12px;line-height:1.5;margin-top:14px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.cancel-button{background:#f1f4f4;color:#66757b;border-radius:7px;padding:10px 16px;font-size:13px;font-weight:700}.p1-stack>.event-manager{margin-top:0}@media(max-width:650px){.manager-row{gap:7px}.manager-row .event-status{display:none}.manager-row>.expense,.manager-row>.income{font-size:12px}.event-form{padding:20px}.form-two{grid-template-columns:1fr;gap:0}}.settings-stack{display:grid;grid-gap:17px;gap:17px;max-width:520px}.cloud-card h3{margin-top:7px}.connection-pill{font-size:11px;font-weight:700;padding:5px 8px;border-radius:5px}.connection-pill.local{background:#f1f4f4;color:#819097}.connection-pill.ready{background:#fff5e7;color:#9b744a}.connection-pill.connected{background:var(--teal-pale);color:var(--teal-dark)}.auth-fields{display:grid;grid-gap:9px;gap:9px;margin-top:17px}.auth-fields input{width:100%;border:1px solid #dce3e5;border-radius:7px;padding:10px 11px;font-size:14px}.auth-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:13px}.auth-actions button:disabled{opacity:.55;cursor:wait}.auth-message{font-size:12px;color:#8b999f;line-height:1.5;margin:13px 0 0}.p1-stack{display:grid;grid-gap:17px;gap:17px}.p1-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.p1-summary>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 17px}.p1-row small,.p1-summary span{display:block;color:#9aa7ad;font-size:12px;margin-bottom:7px}.p1-summary strong{font:18px DM Mono}.p1-card{max-width:1040px}.p1-list{margin-top:15px;overflow-x:auto}.p1-row{display:grid;grid-template-columns:30px minmax(150px,1fr) 105px 95px 95px 20px 20px;grid-gap:10px;gap:10px;min-width:760px;align-items:center;border-top:1px solid #f0f2f3;padding:13px 0}.p1-main{min-width:0}.p1-main strong{display:block;font-size:14px}.p1-main small{margin-top:4px;margin-bottom:0;line-height:1.4}.p1-row>div>small{margin-bottom:4px}.p1-row>div>strong{font:14px DM Mono}.repayment-day strong{color:var(--teal-dark)}.priority{width:23px;height:23px;border-radius:7px;background:var(--teal-pale);color:var(--teal-dark);display:grid;place-items:center;font:13px DM Mono}.status-pill.safe{background:var(--teal-pale);color:var(--teal-dark)}.milestone-list{margin-top:15px}.milestone-row{display:flex;align-items:center;gap:11px;border-top:1px solid #f0f2f3;padding:13px 0}.milestone-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#edf4f7;color:#5794aa}.milestone-icon.income{background:var(--teal-pale);color:var(--teal)}.milestone-icon.expense{background:var(--orange-pale);color:var(--orange)}.milestone-row .p1-main{flex:1 1}.warning-text{color:#b97846;font-size:12px}.milestone-row .delete-button,.p1-row .delete-button{margin-left:auto}@media(max-width:700px){.p1-summary{grid-template-columns:1fr}.p1-row{grid-template-columns:27px minmax(90px,1fr) 85px 20px}.p1-row>div:nth-child(3){display:none}.milestone-row{gap:8px}}.simulation-card{max-width:860px}.sim-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px;margin:28px 0}.sim-controls label{color:#718087;font-size:13px;font-weight:700}.sim-controls strong{float:right;color:var(--teal-dark);font:15px DM Mono}.sim-controls input{display:block;width:100%;margin-top:13px}.sim-result{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;grid-gap:15px;gap:15px}.sim-result span{display:block;color:#9aa7ad;font-size:12px;margin-bottom:7px}.sim-result strong{font:15px DM Mono}.sim-hint{color:#9ca8ad;font-size:12px;margin-top:15px}.ex-payment{grid-template-columns:30px 1fr 120px 20px}.backup-card{max-width:520px}.backup-card h3{margin-top:7px}.backup-actions{display:flex;gap:9px;margin-top:17px}.file-button{position:relative;display:inline-flex;align-items:center}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}@media(max-width:650px){.sim-controls,.sim-result{grid-template-columns:1fr}.sim-controls{gap:17px}}:root[data-theme=dark]{--bg:#11191d;--surface:#1b262b;--ink:#e7eef0;--muted:#9aa9ae;--line:#2c3a40;--teal-pale:#173b37;--orange-pale:#3b2822;--navy:#0d2028;--shadow:0 8px 30px rgba(0,0,0,.2)}:root[data-theme=dark] body{background:var(--bg);color:var(--ink)}:root[data-theme=dark] .calendar-paid-badge{color:#91d1c1}:root[data-theme=dark] .backup-card,:root[data-theme=dark] .card,:root[data-theme=dark] .cloud-card,:root[data-theme=dark] .event-form,:root[data-theme=dark] .events-card,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .month-card,:root[data-theme=dark] .p1-card,:root[data-theme=dark] .p1-summary>div,:root[data-theme=dark] .risk-card,:root[data-theme=dark] .settings-card,:root[data-theme=dark] .sidebar{background:var(--surface);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .brand strong,:root[data-theme=dark] .card h3,:root[data-theme=dark] .event-main strong,:root[data-theme=dark] .month-card h3,:root[data-theme=dark] .p1-main strong,:root[data-theme=dark] .topbar h1{color:var(--ink)}:root[data-theme=dark] .nav-item{color:#a5b3b8}:root[data-theme=dark] .nav-item:hover{background:#20353a;color:#b8eee2}:root[data-theme=dark] .nav-item.active{background:#173b37;color:#9de0d0}:root[data-theme=dark] .auth-fields input,:root[data-theme=dark] .event-form input,:root[data-theme=dark] .event-form select,:root[data-theme=dark] .setting-field input,:root[data-theme=dark] .user-chip{background:#152125;color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .form-hint,:root[data-theme=dark] .type-toggle{background:#152125}:root[data-theme=dark] .type-toggle button.selected{background:#26383d}:root[data-theme=dark] .cancel-button,:root[data-theme=dark] .outline-button{background:#1b292e;color:#a9e5d8;border-color:#3d555c}:root[data-theme=dark] .event-row,:root[data-theme=dark] .history-list>div,:root[data-theme=dark] .manager-row,:root[data-theme=dark] .milestone-row,:root[data-theme=dark] .p1-row{border-color:var(--line)}:root[data-theme=dark] .toast{background:#e5f1f2;color:#142126}.ai-data-scope{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:18px;padding:16px;background:var(--bg);border:1px solid var(--line);border-radius:9px}.ai-data-scope .card-kicker{margin-bottom:9px}.ai-data-scope ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.8}.ai-collapse-button{display:inline-grid;place-items:center;width:25px;height:25px;margin-left:8px;vertical-align:middle;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--teal-dark);font-size:18px;line-height:1}.ai-analysis-stack .section-heading h2{font-size:24px;letter-spacing:-.7px}.ai-markdown-view{font-size:15px;line-height:1.85;color:var(--ink)}.ai-markdown-view h3,.ai-markdown-view h4{margin:18px 0 8px;color:var(--ink)}.ai-markdown-view h3{font-size:18px}.ai-markdown-view h4{font-size:16px}.ai-markdown-view p{margin:8px 0}.ai-markdown-view ul{margin:8px 0;padding-left:22px}.ai-markdown-view li{margin:4px 0}.ai-markdown-view strong{color:var(--teal-dark);font-weight:800}@media(max-width:650px){.ai-data-scope{grid-template-columns:1fr}}.financial-calendar{--cal-panel:color-mix(in srgb,var(--surface) 96%,#000);--cal-border:color-mix(in srgb,var(--line) 88%,transparent);--cal-green:#35d267;--cal-red:#ff4d5b;--cal-blue:#6878ff;display:grid;grid-gap:16px;gap:16px;padding-bottom:28px;color:var(--ink)}.calendar-summary{position:relative;display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(460px,1.5fr);align-items:center;grid-gap:20px;gap:20px;min-height:118px;padding:22px 28px;border:1px solid var(--cal-border);border-radius:18px;background:var(--cal-panel);box-shadow:var(--shadow)}.calendar-kicker{display:block;margin-bottom:8px;color:var(--muted);font:700 11px/1 DM Mono;letter-spacing:1.6px}.calendar-month-block h2{margin:0;font-size:32px;letter-spacing:-1.3px}.calendar-sources{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.calendar-sources span{padding:3px 6px;border:1px solid var(--cal-border);border-radius:999px;color:var(--muted);font-size:9px;font-weight:700}.calendar-controls{display:flex;align-items:center;padding:4px;border:1px solid var(--cal-border);border-radius:11px;background:color-mix(in srgb,var(--bg) 55%,transparent)}.calendar-controls button{display:grid;width:38px;height:36px;place-items:center;border-radius:8px;background:transparent;color:var(--ink);font-size:30px;line-height:1}.calendar-controls button:hover{background:var(--surface)}.calendar-controls .calendar-today{width:42px;border-right:1px solid var(--cal-border);border-left:1px solid var(--cal-border);border-radius:0;color:var(--muted);font-size:23px}.calendar-metrics{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));grid-gap:26px;gap:26px;justify-self:end}.calendar-metrics>div{min-width:0}.calendar-metrics span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:700}.calendar-metrics strong{display:block;overflow:hidden;font:700 22px/1.1 DM Mono;text-overflow:ellipsis}.financial-calendar .income{color:var(--cal-green)!important}.financial-calendar .expense{color:var(--cal-red)!important}.financial-calendar .net{color:var(--cal-blue)!important}.calendar-more{position:absolute;top:17px;right:18px;background:transparent;color:var(--muted);font-size:20px;letter-spacing:2px}.calendar-connect{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--teal) 32%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--teal-pale) 66%,var(--surface));color:var(--muted)}.calendar-connect>span{color:var(--teal);font-size:12px}.calendar-connect p{flex:1 1;margin:0;font-size:12px;line-height:1.5}.calendar-connect p strong{margin-right:8px;color:var(--ink)}.calendar-connect button{padding:8px 11px;border-radius:7px;background:var(--teal);color:#fff;font-size:12px;font-weight:800}.calendar-grid-card,.calendar-trend-card{overflow:hidden;border:1px solid var(--cal-border);border-radius:18px;background:var(--cal-panel);box-shadow:var(--shadow)}.calendar-trend-head{display:flex;align-items:center;gap:34px;height:58px;padding:0 22px;border-bottom:1px solid var(--cal-border)}.calendar-trend-head h3{margin:0;font-size:16px}.calendar-tabs{display:flex;height:100%;gap:25px}.calendar-tabs button{position:relative;padding:0 2px;background:transparent;color:var(--muted);font-size:13px;font-weight:800}.calendar-tabs button.active{color:var(--ink)}.calendar-tabs button.active:after{position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:2px;background:var(--cal-red);content:""}.calendar-tabs button.active.income:after{background:var(--cal-green)}.calendar-tabs button.active.net:after{background:var(--cal-blue)}.calendar-chart{position:relative;height:238px;padding:18px 60px 32px 18px}.calendar-chart svg{display:block;width:100%;height:180px;overflow:visible}.calendar-chart svg line{stroke:var(--cal-border);stroke-width:1;vector-effect:non-scaling-stroke}.calendar-chart svg path{fill:none;stroke:var(--cal-red);stroke-width:3;vector-effect:non-scaling-stroke}.calendar-chart.income svg path{stroke:var(--cal-green)}.calendar-chart.net svg path{stroke:var(--cal-blue)}.calendar-chart svg circle{fill:var(--cal-panel);stroke:var(--cal-red);stroke-width:3;vector-effect:non-scaling-stroke}.calendar-chart.income svg circle{stroke:var(--cal-green)}.calendar-chart.net svg circle{stroke:var(--cal-blue)}.calendar-axis{position:absolute;top:38px;right:13px;bottom:42px;display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font:12px DM Mono;text-align:right}.calendar-chart-labels{position:absolute;right:60px;bottom:12px;left:18px;height:16px}.calendar-chart-labels span{position:absolute;color:var(--muted);font-size:11px;white-space:nowrap;transform:translateX(-50%)}.calendar-chart-labels span:first-child{transform:none}.calendar-chart-labels span:last-child{transform:translateX(-100%)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);height:50px;border-bottom:1px solid var(--cal-border)}.calendar-weekdays span{display:grid;place-items:center;color:var(--muted);font-size:13px;font-weight:800}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{position:relative;display:flex;min-width:0;min-height:134px;flex-direction:column;gap:14px;padding:13px 12px;border-right:1px solid var(--cal-border);border-bottom:1px solid var(--cal-border);background:transparent;color:var(--ink);text-align:left;transition:background .16s ease,box-shadow .16s ease}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.selected,.calendar-day:hover{z-index:1;background:color-mix(in srgb,var(--teal-pale) 34%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 45%,transparent)}.calendar-day.empty:hover{background:transparent;box-shadow:none}.calendar-day-number{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:14px;font-weight:700}.calendar-day-number i{color:#ff573a;font-size:14px;font-style:normal}.calendar-day.today .calendar-day-number{color:#fff}.calendar-day.today .calendar-day-number:after{position:absolute;top:8px;right:8px;z-index:-1;width:30px;height:27px;border-radius:8px;background:#1678e7;content:""}.calendar-day-values{display:flex;flex-direction:column;gap:8px;min-width:0}.calendar-day-values strong{overflow:hidden;font:700 13px DM Mono;text-overflow:ellipsis}.calendar-day-values small{color:var(--muted);font-size:11px}.calendar-day-detail{display:grid;grid-template-columns:160px 1fr;grid-gap:18px;gap:18px;padding:16px 20px;border:1px solid var(--cal-border);border-radius:14px;background:var(--cal-panel);box-shadow:var(--shadow)}.calendar-day-detail>div:first-child span{display:block;color:var(--muted);font-size:12px}.calendar-day-detail>div:first-child strong{display:block;margin-top:5px;font-size:15px}.calendar-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px 18px;gap:7px 18px}.calendar-detail-list p{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;margin:0;padding:7px 0;border-bottom:1px solid var(--cal-border);font-size:12px}.calendar-detail-list i{width:6px;height:6px;border-radius:50%;background:var(--muted)}.calendar-detail-list i.income{background:var(--cal-green)}.calendar-detail-list i.expense{background:var(--cal-red)}.calendar-detail-list strong{font:700 12px DM Mono}:root[data-theme=dark] .financial-calendar{--cal-panel:#191d1f;--cal-border:#33383a}.financial-calendar button:focus-visible{outline-color:rgba(104,120,255,.58)}.calendar-overdue-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:13px;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.calendar-overdue-toggle+.calendar-overdue-toggle{margin-left:24px}.calendar-overdue-toggle input{position:absolute;width:1px;height:1px;opacity:0}.calendar-switch{position:relative;width:34px;height:20px;border-radius:999px;background:var(--line);transition:background .18s ease}.calendar-switch:after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #16283233;content:"";transition:transform .18s ease}.calendar-overdue-toggle input:checked+.calendar-switch{background:var(--orange)}.calendar-overdue-toggle input:checked+.calendar-switch:after{transform:translateX(14px)}.calendar-overdue-toggle input:focus-visible+.calendar-switch{outline:2px solid color-mix(in srgb,var(--teal) 55%,transparent);outline-offset:2px}@media(max-width:1100px){.calendar-summary{grid-template-columns:1fr auto}.calendar-metrics{grid-column:1/-1;width:100%;justify-self:stretch}.calendar-day{min-height:112px}.calendar-detail-list{grid-template-columns:1fr}}@media(max-width:720px){.calendar-summary{grid-template-columns:1fr auto;padding:19px}.calendar-month-block h2{font-size:27px}.calendar-controls button{width:34px;height:33px}.calendar-metrics{gap:10px}.calendar-metrics strong{font-size:16px}.calendar-trend-head{justify-content:space-between;gap:10px}.calendar-tabs{gap:11px}.calendar-chart{height:205px;padding-left:10px}.calendar-chart svg{height:150px}.calendar-chart-labels{left:10px}.calendar-weekdays{height:42px}.calendar-weekdays span{font-size:11px}.calendar-day{min-height:88px;padding:8px 6px;gap:8px}.calendar-day-number{font-size:12px}.calendar-day-number i{display:none}.calendar-day-values small,.calendar-day-values strong{font-size:10px}.calendar-day-detail{grid-template-columns:1fr}.calendar-connect{align-items:flex-start}.calendar-connect p strong{display:block;margin-bottom:3px}.calendar-overdue-toggle+.calendar-overdue-toggle{margin-left:0;margin-top:9px}}@media(max-width:480px){.calendar-metrics{grid-template-columns:1fr}.calendar-metrics>div{display:flex;align-items:center;justify-content:space-between}.calendar-metrics span{margin:0}.calendar-connect{display:grid;grid-template-columns:auto 1fr}.calendar-connect button{grid-column:1/-1}.calendar-grid-card{overflow-x:auto}.calendar-grid,.calendar-weekdays{min-width:620px}}.calendar-summary{grid-template-rows:auto auto;gap:16px 20px}.calendar-filters{grid-column:1/-1;display:flex;align-items:center;gap:26px;min-width:0}.calendar-filters .calendar-overdue-toggle{margin-top:0}.calendar-filters .calendar-overdue-toggle+.calendar-overdue-toggle{margin-left:0}@media(max-width:720px){.calendar-filters{flex-wrap:wrap;gap:0 15px}}