:root{--background:#fff;--foreground:#203339;--card:#fff;--card-foreground:#203339;--popover:#fff;--popover-foreground:#203339;--primary:#167e73;--primary-foreground:#fff;--secondary:#eef4f2;--secondary-foreground:#203339;--muted:#f1f5f4;--muted-foreground:#65777c;--accent:#eef4f2;--accent-foreground:#203339;--destructive:#b44f3c;--border:#e4eae8;--input:#e4eae8;--ring:#167e73;--radius:.75rem;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;--teal:#167e73;--ink:#203339;--quiet:#65777c;--surface:#f6f8f8}*{box-sizing:border-box}html{font-size:16px;color-scheme:light}body{margin:0;color:var(--ink);background:var(--surface);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:0;color:inherit;background:none}button:disabled{cursor:default;opacity:.35}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #65b4a8;outline-offset:3px}h1,h2,h3,p{margin:0}input,select,textarea{background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:10px 12px;min-width:0}select{font-size:.875rem}input::placeholder,textarea::placeholder{color:#8a999d}textarea{resize:vertical}small{font-size:.75rem}strong{font-weight:600}.skip-link{position:fixed;top:-70px;left:20px;padding:12px 20px;background:var(--teal);color:#fff;z-index:100;border-radius:8px}.skip-link:focus{top:12px}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);padding:30px 20px 20px;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 9px;font-size:1.5rem;font-weight:700;letter-spacing:-.05em}.brand-mark{width:42px;height:42px;background:#153e42;color:#fff;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.brand small{display:block;font-size:.625rem;font-weight:500;letter-spacing:.14em;color:var(--quiet);margin-top:2px}.family-space{display:flex;align-items:center;gap:10px;padding:16px 10px;margin:32px 0 30px;background:#f6f8f8;border:1px solid #edf1ef;border-radius:10px}.family-space strong{font-size:.8125rem;white-space:nowrap}.family-space small{display:block;color:var(--quiet);margin-top:3px;font-size:.75rem}.avatar-stack{display:flex;padding-right:4px}.avatar-stack span{width:27px;height:27px;border:2px solid #fff;border-radius:50%;background:#d2e7e1;color:#2a645e;font-size:.625rem;display:grid;place-items:center}.avatar-stack span+span{margin-left:-9px;background:#e2e7f3;color:#5d71b5}.nav-caption{font-size:.625rem;letter-spacing:.12em;color:#8a989d;padding-left:14px;margin-bottom:12px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:13px;padding:13px 15px;color:#65777c;font-size:.9375rem;font-weight:500;border-radius:9px;transition:background .15s}.nav-link:hover{background:#f4f7f6}.nav-link.active{background:#eaf3f0;color:#14776c;font-weight:600}.nav-indicator{width:5px;height:5px;background:var(--teal);border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:35px}.demo-card{border:1px solid var(--border);border-radius:10px;padding:17px 14px;background:linear-gradient(150deg,#f8faf9,#f1f6f4)}.demo-icon{display:block;margin-bottom:11px;color:#56827a}.demo-card strong{font-size:.8125rem}.demo-card p{color:#71847f;font-size:.75rem;margin:6px 0 12px;line-height:1.8}.demo-card a{font-size:.75rem;font-weight:600;color:var(--teal)}.profile{display:flex;align-items:center;gap:10px;margin-top:22px;padding:0 5px}.profile strong{font-size:.8125rem}.profile small{display:block;font-size:.6875rem;color:var(--quiet);margin-top:2px}.avatar{display:grid;place-items:center;width:36px;height:36px;background:#dcebe7;color:#356e64;border:3px solid #fff;box-shadow:0 0 0 1px #e6eeeb;border-radius:50%;font-size:.8125rem;flex-shrink:0}.avatar.small{width:31px;height:31px;font-size:.75rem}.avatar.alternate{background:#e6e9f4;color:#6074a6}.app-body{margin-left:224px}.topbar{height:73px;border-bottom:1px solid var(--border);justify-content:space-between;padding:0 36px;background:#fff}.breadcrumbs,.topbar{display:flex;align-items:center}.breadcrumbs{gap:12px;font-size:.8125rem}.breadcrumbs span,.breadcrumbs svg{color:#7d8d92}.breadcrumbs strong{font-weight:500}.topbar-end{display:flex;align-items:center;gap:13px}.demo-badge{font-size:.625rem;font-weight:600;letter-spacing:.09em;color:#638b83;background:#eef5f2;border:1px solid #dceae5;padding:3px 7px;border-radius:4px}.topbar-note{font-size:.75rem;color:#81908f;margin-right:5px}.main-content{padding:32px 36px 0;max-width:1632px;margin:0 auto;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:.625rem;font-weight:600;color:#849491;letter-spacing:.16em;margin-bottom:7px}h1{font-size:1.8125rem;letter-spacing:-.045em;font-weight:650;line-height:1.35}.page-heading p{font-size:.875rem;color:var(--quiet);margin-top:7px}.heading-actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:10px 15px;background:#fff;font-size:.875rem;font-weight:500;white-space:nowrap;transition:background .15s,transform .15s;min-height:42px}.button:hover{background:#f1f6f4}.button:active{transform:translateY(1px)}.button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.button.primary:hover{background:#116d64}.button.wide{width:100%}.icon-button{display:inline-grid;place-items:center;padding:6px;width:32px;height:32px;border-radius:6px}.icon-button:hover:not(:disabled){background:#edf3f0}.period-picker{background:#fff;border:1px solid var(--border);border-radius:8px;padding:4px}.period-picker,.period-select{display:flex;align-items:center}.period-select{position:relative;gap:8px;padding:0 3px}.period-select svg{color:#6e807d;pointer-events:none}.period-select select{border:0;padding:5px 2px;background:transparent;appearance:none;font-size:.8125rem;font-weight:500;width:103px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{display:flex;flex-direction:column;min-width:0;padding:21px 22px 19px;background:#fff;border:1px solid var(--border);border-radius:12px;transition:box-shadow .2s,border-color .2s}.metric:hover{border-color:#a8c9bf;box-shadow:0 5px 20px #173e3e08}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--quiet);font-size:.8125rem}.metric-label svg{color:#8e9e9a}.metric-value{font-size:clamp(1.35rem,1.8vw,1.9375rem);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:15px 0 14px;white-space:nowrap}.metric-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.75rem;color:#7b8b8c;min-height:23px}.metric-foot strong{font-weight:500;color:#506561}.metric.dark{background:#153e42;border-color:#153e42;color:#fff;position:relative;overflow:hidden}.metric.dark .metric-label{color:#c1d6d4}.metric.dark .metric-label svg{color:#a9c3c0}.metric.dark .metric-foot{color:#b6cfcb}.light-tag{padding:3px 7px;border-radius:4px;background:#ffffff15;color:#d8e8e4}.positive{color:#167e73}.negative{color:#b85742}.muted{color:var(--quiet)}.change{font-size:.75rem;font-weight:600;padding:3px 7px;background:#eff7f3;border-radius:4px}.change.negative{background:#f9eeeb}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:23px 24px;min-width:0}.home-main-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:20px;margin-bottom:20px}.home-bottom-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr) minmax(260px,1fr);gap:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}h2{font-size:1rem;font-weight:600;letter-spacing:-.025em}.section-heading p{color:var(--quiet);font-size:.75rem;margin-top:5px}.text-link{display:inline-flex;align-items:center;gap:4px;padding:3px 0;color:var(--teal);font-size:.75rem;font-weight:500;white-space:nowrap}.text-link:hover{text-decoration:underline;text-underline-offset:3px}.quiet-chip{display:inline-flex;align-items:center;padding:4px 8px;background:#f3f6f5;border-radius:5px;font-size:.75rem;color:#657c75;white-space:nowrap}.segmented{display:flex;gap:3px;padding:4px;background:#f1f5f3;border-radius:7px}.segmented button{padding:7px 13px;font-size:.875rem;border-radius:5px;color:#758680;white-space:nowrap}.segmented button.selected{background:#fff;color:#2b5a51;box-shadow:0 1px 4px #1b393710;font-weight:500}.segmented.small{padding:3px}.segmented.small button{font-size:.75rem;padding:5px 9px}.chart-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chart-summary>strong{font-size:1.5rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.chart-summary>span{font-size:.75rem;color:#8b9996}.chart-legend{display:flex;gap:13px;margin-left:auto;font-size:.75rem;color:#798884}.calendar-legend span,.chart-legend span{display:flex;align-items:center;gap:6px}i{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.chart-container{height:234px;margin-top:17px;width:100%}.budget-hero{display:flex;align-items:center;gap:12px;margin-top:-5px;margin-bottom:18px}.budget-hero>strong{font-size:2.125rem;font-weight:600;letter-spacing:-.04em}.budget-hero strong small{font-size:1rem;margin-left:3px;font-weight:500;color:#718480}.budget-hero>span{font-size:.75rem;color:#73847e}.budget-rows{display:flex;flex-direction:column;gap:17px}.budget-row-heading{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;gap:8px;margin-bottom:8px}.budget-row-heading>span:first-child{display:flex;align-items:center;gap:7px;color:#4d625b}.budget-row-heading strong{font-weight:500;font-size:.8125rem}.budget-row-heading small{color:#899994}.progress{height:5px;background:#eef3f0;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;border-radius:10px;transition:width .35s}.budget-bottom{margin-top:20px;font-size:.75rem}.transaction-list{display:flex;flex-direction:column}.transaction-row{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:15px 0;border-bottom:1px solid #edf1ef;transition:background .15s}.transaction-row:hover{background:#f9fbfa}.transaction-row:last-child{border-bottom:0}.transaction-icon{width:36px;height:36px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;background:#f0f3f1;color:#6a8176}.transaction-icon.income{color:#167e73;background:#eaf5ef}.transaction-icon.transfer{color:#5f75ad;background:#eff1f8}.transaction-icon.large{width:58px;height:58px;border-radius:16px;margin-top:12px}.transaction-name{flex:1;min-width:0}.transaction-name strong{display:block;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-name small{display:block;color:#899891;font-size:.75rem;margin-top:4px}.transaction-date{width:55px;color:#7f8f88;font-size:.8125rem}.member-chip{min-width:47px;text-align:center;font-size:.75rem;padding:4px 7px;color:#75877f;background:#f5f7f6;border-radius:5px}.transaction-amount{min-width:145px;text-align:right;font-size:.875rem;font-weight:500;font-variant-numeric:tabular-nums}.transaction-amount small{display:block;font-size:.6875rem;margin-top:3px;color:#8a9991;font-weight:400}.row-chevron{color:#adb9b1}.compact .transaction-row{gap:10px;padding:12px 0}.compact .transaction-name strong{font-size:.8125rem}.compact .transaction-amount{min-width:unset;font-size:.8125rem}.compact .row-chevron,.compact .transaction-amount small{display:none}.compact .transaction-icon{width:33px;height:33px;border-radius:9px}.home-bottom-grid .section-heading{margin-bottom:14px}.donut{position:relative;height:206px;width:206px;margin:4px auto 20px}.donut.compact{height:146px;width:146px;margin:0 auto 14px}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;white-space:nowrap}.donut-center>span{display:block;font-size:.6875rem;color:#8a9991;margin-bottom:4px}.donut-center strong{font-size:1.125rem;font-weight:600;letter-spacing:-.03em}.donut-center strong small{font-size:.6875rem;font-weight:400;margin-left:2px}.allocation-legend{display:flex;flex-direction:column;gap:10px}.allocation-legend>div{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem}.allocation-legend span{display:flex;align-items:center;gap:7px;color:#657c71}.allocation-legend strong{font-weight:500;font-size:.8125rem}.allocation-legend strong small{color:#8a9991;font-size:.75rem;margin-left:2px}.calendar-notice{display:flex;align-items:center;gap:8px;font-size:.6875rem;color:#8a9991;margin-bottom:11px}.calendar-notice .quiet-chip{font-size:.625rem;padding:3px 6px}.event-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1ef}.event-row:last-child{border:0}.event-row:hover strong{color:var(--teal)}.event-date{min-width:39px;height:47px;background:#f4f7f5;border:1px solid #e9efeb;border-radius:7px;text-align:center;display:flex;flex-direction:column;justify-content:center}.event-date small{font-size:.625rem;color:#87968c}.event-date strong{font-size:1.0625rem;font-weight:600;line-height:1.2}.event-row>div:last-child{min-width:0}.event-row>div:last-child strong{display:block;font-size:.8125rem;font-weight:500}.event-row>div:last-child small{display:block;font-size:.6875rem;color:#89988e;margin-top:5px}.demo-inline{display:flex;align-items:flex-start;gap:8px;font-size:.75rem;color:#87968f;padding:19px 1px 1px}.demo-inline svg{flex-shrink:0}.page-footer{display:flex;justify-content:space-between;gap:16px;color:#909e99;font-size:.6875rem;margin-top:35px;padding:20px 0;border-top:1px solid #e7edeb}.mobile-nav{display:none}.toast{position:fixed;z-index:100;bottom:26px;left:calc(50% + 112px);transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#153e42;box-shadow:0 5px 30px #183c4226;color:#fff;padding:13px 18px;border-radius:10px;font-size:.875rem;max-width:90vw;animation:toast-in .2s ease-out}.toast button{display:grid;place-items:center;margin-left:15px;color:#b8d6ce}.ledger-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(275px,1fr);gap:20px;align-items:start}.ledger-controls{justify-content:space-between;gap:14px;margin-bottom:17px}.ledger-controls,.search-input{display:flex;align-items:center}.search-input{gap:9px;border:1px solid var(--border);border-radius:7px;padding:0 10px;color:#899991;width:220px}.search-input input{width:100%;border:0;padding:9px 0;font-size:.8125rem;outline-offset:1px}.search-input button{display:grid;place-items:center}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.filter-row select{font-size:.75rem;padding:7px 10px}.table-labels{display:grid;grid-template-columns:1fr 65px 65px 168px;padding:10px 13px;background:#f7f9f8;border-radius:6px;font-size:.75rem;color:#87968e}.table-labels span:last-child{text-align:right}.pagination{justify-content:space-between;border-top:1px solid #edf1ef;margin-top:8px;padding-top:16px;font-size:.75rem;color:#87968e}.pagination,.pagination>div{display:flex;align-items:center}.pagination>div{gap:7px}.info-box{display:flex;align-items:flex-start;gap:9px;padding:14px;background:#f3f7f5;border-radius:8px;margin-top:24px;color:#71837a;font-size:.8125rem;line-height:1.7}.info-box svg{flex-shrink:0;margin-top:2px}.empty{padding:45px 10px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;color:#95a59b}.empty h3{font-size:.9375rem;color:#62796c;font-weight:500;margin-top:6px}.empty p{font-size:.8125rem;color:#87988c;margin-bottom:4px}.investment-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.investment-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;padding:27px 30px;border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:20px}.investment-summary>div{padding-left:28px;border-left:1px solid var(--border)}.investment-summary>div:first-child{padding-left:0;border:0}.investment-summary span{display:block;font-size:.8125rem;color:var(--quiet);margin-bottom:9px}.investment-summary strong{display:block;font-size:1.8125rem;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.investment-summary small{display:block;font-size:.75rem;margin-top:8px;color:#879a8d}.investment-summary small.positive{color:var(--teal)}.investment-summary small.negative{color:#b85742}.investment-chart-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:20px;margin-bottom:20px}.asset-chart{height:228px}.chart-note{font-size:.75rem;color:#86978c;margin-top:7px}.holdings-table{width:100%;border-collapse:collapse;font-size:.875rem;white-space:nowrap}.table-scroll{overflow-x:auto}.holdings-table th{text-align:right;font-size:.75rem;font-weight:400;background:#f7f9f8;padding:12px 14px;color:#819487}.holdings-table th:first-child,.holdings-table th:nth-child(2){text-align:left}.holdings-table td{text-align:right;padding:17px 14px;border-bottom:1px solid #edf1ef;font-variant-numeric:tabular-nums}.holdings-table td:first-child{padding-left:0;text-align:left}.holdings-table td:nth-child(2){text-align:left}.holdings-table td:last-child{padding-right:0}.holdings-table tr:last-child td{border-bottom:0}.holdings-table tr:hover td{background:#fbfcfb}.holdings-table td>small{display:block;font-size:.75rem;margin-top:4px}.holding-name{display:flex;align-items:center;gap:12px;text-align:left;width:100%}.holding-name:hover strong{color:var(--teal)}.holding-name strong{font-size:.875rem;font-weight:500}.holding-name small{display:block;margin-top:4px;font-size:.75rem;color:#84978b}.holding-symbol{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;font-size:1rem;font-weight:600;flex-shrink:0}.holding-symbol.large{width:57px;height:57px;font-size:1.5rem;margin-top:12px}.net-worth-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px;border:1px solid var(--border);border-radius:10px;margin-top:18px;background:#f1f6f3;font-size:.75rem;color:#798b7e}.net-worth-strip span:first-child{display:flex;align-items:center;gap:8px;color:#4d705c;font-weight:500}.net-worth-strip strong{font-weight:500;color:#344e3d;display:block;margin-top:3px}.apple-banner{display:flex;align-items:center;gap:16px;background:#edf4f1;border:1px solid #dce9e3;border-radius:11px;padding:21px 23px;margin-bottom:22px}.apple-icon{display:grid;place-items:center;width:46px;height:46px;background:#fff;border:1px solid #e1eae5;border-radius:11px;color:#648a78;flex-shrink:0}.apple-banner strong{font-size:.9375rem;font-weight:500}.apple-banner p{font-size:.8125rem;color:#718b7a;margin-top:5px}.apple-banner .button{margin-left:auto;font-size:.8125rem}.calendar-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(270px,1fr);gap:20px}.calendar-panel{padding:23px 24px 17px}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:26px}.weekdays span{text-align:center;font-size:.75rem;color:#86998a;padding:10px}.calendar-cell.sunday .day-number,.weekdays .sunday{color:#bd7b70}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #edf1ee;border-top:1px solid #edf1ee}.calendar-cell{display:flex;flex-direction:column;align-items:flex-start;gap:9px;border-right:1px solid #edf1ee;border-bottom:1px solid #edf1ee;min-height:106px;padding:10px 8px;text-align:left;min-width:0;transition:background .15s}.calendar-cell:hover:not(.blank){background:#f6faf7}.calendar-cell.selected{background:#eff7f2;box-shadow:inset 0 0 0 1px #80b7a4}.calendar-cell.blank{background:#fafbfa}.day-number{font-size:.8125rem;color:#607867;width:25px;height:25px;display:grid;place-items:center}.selected .day-number{background:#167e73;color:#fff!important;border-radius:50%}.calendar-event{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;border-left:2px solid;padding:4px;border-radius:3px}.calendar-legend{display:flex;gap:17px;padding-top:17px;font-size:.75rem;color:#819486}.mobile-event-dot{display:none}.calendar-side{display:flex;flex-direction:column;gap:20px}.agenda{padding:6px 0 17px}.agenda h3{font-size:1rem;font-weight:500;margin:15px 0 8px}.agenda p{font-size:.875rem;color:#6e8976}.agenda>small{display:block;margin-top:5px;color:#8da091}.compact-empty{padding:22px 0}.calendar-help p{font-size:.875rem;color:#677f6f;margin:8px 0 16px;line-height:1.8}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;max-width:1150px}.settings-column{display:flex;flex-direction:column;gap:20px}.settings-form label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:#657c6d}.settings-form input{font-size:.9375rem}.settings-static{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;color:#87998b;padding:17px 0;border-bottom:1px solid #edf1ee}.settings-static strong{font-size:.8125rem;font-weight:500;color:#546f5d}.settings-form .button{margin-top:20px}.member-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid #edf1ee}.member-row>div{flex:1}.member-row strong{font-size:.875rem;font-weight:500}.member-row small{display:block;color:#8b9c8e;font-size:.75rem;margin-top:4px}.budget-form>label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.budget-form>label>span{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#637d6b}.budget-form>label>div{display:flex;align-items:center;gap:8px;color:#8c9d90;font-size:.8125rem}.budget-form input{width:155px;padding:8px 11px;text-align:right;font-size:.875rem;font-variant-numeric:tabular-nums}.budget-total{display:flex;justify-content:space-between;padding:18px 0;margin-top:18px;border-top:1px solid var(--border);font-size:.875rem}.budget-total strong{font-size:1.125rem;font-weight:600}.demo-settings>p{font-size:.875rem;color:#879a8c;line-height:1.8;margin-bottom:16px}.transaction-dialog{border-radius:16px!important;padding:27px!important;gap:20px!important;max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:4px}.dialog-heading [data-slot=dialog-title],.dialog-heading [data-slot=sheet-title]{font-size:1.125rem;line-height:1.5}.dialog-heading [data-slot=dialog-description],.dialog-heading [data-slot=sheet-description]{margin-top:6px;font-size:.8125rem;line-height:1.6}.transaction-form{display:flex;flex-direction:column;gap:17px}.form-grid>label,.transaction-form>label{display:flex;flex-direction:column;gap:7px;font-size:.8125rem;color:#617c6a}.transaction-form input,.transaction-form select,.transaction-form textarea{font-size:.875rem;width:100%}.form-tabs{margin-bottom:3px}.form-tabs button{flex:1}.form-grid{gap:17px 14px}.amount-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;padding-left:14px;gap:9px;font-size:1.25rem}.amount-input input{border:0;font-size:1.375rem;font-weight:500;padding:10px 12px 10px 0}.optional{color:#93a499;font-size:.6875rem;display:inline}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:6px}.form-error{color:#b44f3c;font-size:.8125rem}.detail-sheet{width:460px!important;max-width:100vw!important;padding:30px!important;overflow-y:auto;gap:17px!important;background:#fff}.detail-sheet h2{font-size:1.375rem;letter-spacing:-.03em}.detail-sheet>p{font-size:.875rem}.detail-amount{font-size:1.875rem;letter-spacing:-.045em;font-weight:600;font-variant-numeric:tabular-nums}.detail-list{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;margin:10px 0;font-size:.875rem}.detail-list dt{color:#8b9f90}.detail-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.detail-sheet .info-box{margin-top:8px}.detail-sheet .chart-container{height:185px}.detail-sheet .section-heading{margin-top:12px;margin-bottom:14px;flex-wrap:wrap}.detail-sheet .chart-summary>strong{font-size:1.2rem}@keyframes toast-in{0%{opacity:0;margin-bottom:-8px}to{opacity:1;margin-bottom:0}}@media(min-width:1600px){.metric-value{font-size:2rem}.home-main-grid{grid-template-columns:2fr 1fr}}@media(max-width:1250px){.sidebar{width:200px;padding:27px 14px 18px}.app-body{margin-left:200px}.main-content{padding:28px 24px 0}.topbar{padding:0 24px}.metric{padding:18px}.metric-value{font-size:1.4rem}.metrics-grid{gap:12px}.panel{padding:21px 20px}.home-bottom-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.home-bottom-grid>.panel:last-child{grid-column:1/-1}.home-bottom-grid>.panel:last-child .event-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.home-bottom-grid>.panel:last-child .event-row{border:0}.home-bottom-grid>.panel:last-child .calendar-notice{margin-top:-8px;margin-bottom:4px}.ledger-grid{grid-template-columns:minmax(0,1fr)}.ledger-grid>.panel:last-child .budget-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.investment-summary strong{font-size:1.5rem}.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.calendar-cell{min-height:115px}.toast{left:calc(50% + 100px)}}@media(max-width:1000px){.sidebar{width:180px;padding:25px 12px 18px}.brand{padding:0 5px;gap:9px;font-size:1.3rem}.brand-mark{width:36px;height:36px}.brand small{font-size:.55rem}.family-space{padding:12px 8px;gap:7px}.family-space strong{font-size:.75rem}.family-space small{font-size:.6875rem}.avatar-stack span{width:23px;height:23px}.app-body{margin-left:180px}.main-content{padding:25px 20px 0}.topbar{padding:0 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:17px}.heading-actions{width:100%;justify-content:space-between}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric-value{font-size:1.7rem}.home-main-grid{grid-template-columns:minmax(0,1fr)}.home-main-grid>.panel:last-child .budget-rows{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-main-grid>.panel:last-child .budget-hero{margin-bottom:22px}.home-bottom-grid{gap:15px}.home-bottom-grid>.panel:last-child .event-list{grid-template-columns:1fr}.home-bottom-grid>.panel:last-child .event-row{border-bottom:1px solid #edf1ef}.home-bottom-grid>.panel:last-child .event-row:last-child{border:0}.investment-chart-grid{grid-template-columns:minmax(0,1fr)}.investment-chart-grid>.panel:last-child{display:grid;grid-template-columns:1fr 1fr;align-items:center}.investment-chart-grid>.panel:last-child .section-heading{grid-column:1/-1}.investment-summary{padding:22px}.investment-summary>div{padding-left:15px}.investment-summary strong{font-size:1.2rem}.investment-toolbar{align-items:flex-start;flex-direction:column}.settings-grid{grid-template-columns:1fr}.apple-banner{flex-wrap:wrap}.apple-banner>div:nth-child(2){flex:1}.apple-banner .button{margin-left:62px}.page-footer{flex-direction:column;gap:5px}.toast{left:calc(50% + 90px)}}@media(max-width:700px){.sidebar{display:none}.app-body{margin-left:0}.topbar{height:59px;padding:0 20px}.breadcrumbs{font-size:.8125rem}.topbar-note{display:none}.topbar-end{gap:11px}.main-content{padding:25px 18px 88px}.eyebrow{font-size:.625rem;margin-bottom:6px}h1{font-size:1.625rem}.page-heading{margin-bottom:21px;gap:18px}.page-heading p{font-size:.8125rem}.heading-actions{gap:8px}.period-picker{padding:3px}.period-select{gap:5px}.period-select select{width:96px;font-size:.75rem}.period-picker .icon-button{width:27px}.heading-actions .button{font-size:.8125rem;padding:9px 12px}.metrics-grid{gap:10px;margin-bottom:16px}.metric{padding:16px 15px;border-radius:10px}.metric-label{font-size:.75rem}.metric-label svg{width:16px}.metric-value{font-size:clamp(1.1rem,5vw,1.65rem);margin:12px 0 9px}.metric-foot{gap:5px;min-height:22px}.change,.metric-foot,.metric-foot strong{font-size:.6875rem}.panel{padding:20px 18px;border-radius:10px}.home-main-grid{gap:16px;margin-bottom:16px}.home-bottom-grid{grid-template-columns:1fr;gap:16px}.home-bottom-grid>.panel:last-child{grid-column:auto}.home-bottom-grid>.panel:nth-child(2){display:grid;grid-template-columns:1fr 1fr;align-items:center}.home-bottom-grid>.panel:nth-child(2) .section-heading{grid-column:1/-1}.home-bottom-grid .donut{margin:0}.section-heading{gap:10px;margin-bottom:18px}h2{font-size:.9375rem}.section-heading p{font-size:.75rem}.section-heading .segmented.small button{font-size:.6875rem;padding:5px 7px}.chart-summary>strong{font-size:1.375rem}.chart-legend,.chart-summary>span{font-size:.6875rem}.chart-legend{width:100%;margin:3px 0 0;gap:15px}.chart-container{height:210px;margin-top:14px}.budget-hero{margin-bottom:18px}.budget-rows{gap:17px}.home-main-grid>.panel:last-child .budget-rows{gap:18px}.budget-row-heading,.budget-row-heading strong{font-size:.75rem}.budget-row-heading small{font-size:.6875rem}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid var(--border);background:#fffffff5;backdrop-filter:blur(12px);padding:9px 10px max(10px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#8a9b90;min-width:52px;min-height:44px;font-size:.6875rem}.mobile-nav a.active{color:var(--teal);font-weight:600}.page-footer{font-size:.6875rem;margin-top:24px;padding:17px 0 0}.toast{bottom:88px;left:50%;font-size:.8125rem;width:max-content;max-width:calc(100vw - 32px)}.ledger-grid{gap:16px}.ledger-controls{flex-direction:column;align-items:stretch;gap:13px}.ledger-controls .segmented button{flex:1;font-size:.8125rem}.search-input{width:100%}.filter-row{gap:7px}.filter-row select{flex:1;font-size:.75rem;padding:8px 7px}.table-labels{grid-template-columns:1fr 116px;padding:9px 8px}.table-labels span:nth-child(2),.table-labels span:nth-child(3){display:none}.transaction-row{gap:10px;padding:14px 0}.member-chip,.row-chevron,.transaction-date{display:none}.transaction-name strong{font-size:.8125rem}.transaction-name small{font-size:.6875rem}.transaction-amount{min-width:108px;font-size:.8125rem}.transaction-icon{width:32px;height:32px;border-radius:9px}.transaction-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-grid>.panel:last-child .budget-rows{grid-template-columns:1fr}.investment-toolbar{gap:12px;margin-bottom:16px}.account-tabs{width:100%}.account-tabs button{padding:7px 10px;font-size:.75rem;flex:1}.investment-toolbar select{font-size:.75rem;width:100%}.investment-summary{grid-template-columns:1fr 1fr;padding:21px 18px;gap:20px 16px}.investment-summary>div:first-child{grid-column:1/-1;padding-bottom:18px;border-bottom:1px solid var(--border)}.investment-summary>div:nth-child(2){padding-left:0;border:0}.investment-summary strong{font-size:1.25rem}.investment-summary>div:first-child strong{font-size:2rem}.investment-summary span{font-size:.75rem;margin-bottom:8px}.investment-summary small{font-size:.6875rem}.investment-chart-grid{gap:16px;margin-bottom:16px}.investment-chart-grid .donut{width:145px;height:145px;margin:0}.holdings-table{min-width:740px}.holdings-table th{font-size:.75rem}.net-worth-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;font-size:.75rem}.net-worth-strip>span:first-child{grid-column:1/-1}.apple-banner{padding:18px;gap:12px}.apple-icon{width:39px;height:39px}.apple-banner strong{font-size:.8125rem}.apple-banner p{font-size:.75rem;line-height:1.7}.apple-banner .button{margin-left:51px;padding:7px 11px;min-height:36px;font-size:.75rem}.calendar-layout{gap:16px}.calendar-panel{padding:19px 12px 14px}.calendar-panel .section-heading{padding:0 5px}.weekdays{margin-top:12px}.weekdays span{padding:8px 0}.calendar-cell{min-height:65px;padding:7px 4px;gap:5px;align-items:center}.calendar-event{display:none}.mobile-event-dot{display:block;height:5px;width:5px;border-radius:50%}.calendar-legend{gap:13px;padding-left:5px;font-size:.6875rem}.calendar-side{display:flex;flex-direction:column;gap:16px}.calendar-side>.panel{width:100%}.settings-column,.settings-grid{gap:16px}.settings-static,.settings-static strong{font-size:.75rem}.budget-form>label>span{font-size:.8125rem}.budget-form input{width:140px;font-size:.8125rem}.transaction-dialog{padding:22px!important;width:calc(100% - 24px)!important;border-radius:12px!important;max-height:calc(100dvh - 24px)}.detail-sheet{width:min(440px,100vw)!important;padding:24px!important}.dialog-heading [data-slot=dialog-title]{font-size:1rem}.dialog-heading [data-slot=dialog-description]{font-size:.75rem}.transaction-form{gap:15px}.form-grid{gap:14px 12px}.transaction-form input[type=date]{padding:10px 7px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.overlay-content{position:fixed;inset:0;margin:auto;color:var(--ink);width:min(512px,calc(100% - 32px));border:1px solid var(--border);display:flex;flex-direction:column;gap:20px;box-shadow:0 25px 80px #183c4220;max-height:calc(100dvh - 32px)}.overlay-content:not([open]){display:none!important}.overlay-content::backdrop{background:#132d3970;backdrop-filter:blur(3px)}.overlay-sheet{inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;border-radius:0;border:0;border-left:1px solid var(--border)}.overlay-close{position:absolute;top:14px;right:14px}.overlay-description{color:var(--quiet);font-size:.875rem;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-panel{width:min(440px,calc(100% - 32px));margin:9vh auto;padding:28px;background:white;border:1px solid var(--border);border-radius:16px;display:grid;gap:18px}.auth-panel h1{font-size:1.7rem}fieldset{border:0;padding:0;margin:0;min-width:0}.field{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:.875rem;font-weight:500;min-width:0}.field input,.field select,.field textarea{width:100%;font-size:1rem;min-height:44px}.ledger-card{background:white;border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:24px;min-width:0}.ledger-card h2{font-size:1.1rem;margin-bottom:16px}.ledger-card h3{margin:16px 0 8px;font-size:1rem}.ledger-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.field-wide{grid-column:1/-1}.form-actions,.row-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.quiet{color:var(--quiet);font-size:.8125rem;line-height:1.8}.balance-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.balance-row small{display:block;color:var(--quiet)}.entry-row{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:18px 0}.entry-row>div:first-child{flex:1;min-width:0}.entry-row small,.entry-row span,.entry-row strong{display:block;overflow-wrap:anywhere;white-space:pre-wrap}.entry-row small,.entry-row span{font-size:.8125rem;color:var(--quiet)}.entry-row .row-actions{margin:0}.edit-panel{padding:18px;background:var(--muted);border-radius:10px;margin:16px 0}.empty-ledger{color:var(--quiet);text-align:center;padding:32px}.notice{padding:12px 16px;background:#e7f4ed;color:#176147;margin-bottom:16px}.error,.notice{border-radius:8px}.error{padding:12px;background:#fff1ed;margin:12px 0;overflow-wrap:anywhere}.danger,.error{color:#983d2c}.check-field{display:flex;align-items:center;gap:12px;margin:16px 0}.check-field input{width:22px;height:22px;flex-shrink:0}.csv-schema{display:block;overflow-x:auto;white-space:nowrap;padding:12px;background:var(--muted)}.preview-rows{max-height:300px;overflow-y:auto;font-size:.875rem}.preview-rows p{padding:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}hr{border:0;border-top:1px solid var(--border);margin:24px 0}.button{min-height:44px}.metric-value{overflow-wrap:anywhere}@media(max-width:1000px){.ledger-columns{grid-template-columns:1fr;gap:0}}@media(max-width:640px){.ledger-card{padding:18px}.entry-row{flex-wrap:wrap;gap:12px}.entry-row .row-actions{width:100%}.entry-row>div:first-child{flex-basis:60%}.form-grid{gap:0 12px}.page-heading{align-items:flex-start}.topbar{padding:12px 18px}.page-heading h1{font-size:1.5rem}.page-heading .field{max-width:150px}.main-content{padding-bottom:90px}.auth-panel{margin:5vh auto;padding:24px}}