:root{--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-muted:#6b7280;--color-text-inverse:#fff;--color-bg:#f8fafc;--color-surface-primary:#fff;--color-surface-secondary:#f9fafb;--color-surface-blue:#f2f7fb;--color-surface-teal:#01abad26;--color-tab-active:#f2f5fd;--color-border-primary:#e5e7eb;--color-border-secondary:#f0f4fd;--color-border-interactive:#0067a7;--color-primary:#0067a7;--color-teal:#01abad;--color-purple:#7c3aed;--color-orange:#f59e0b;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-18:18px;--space-20:20px;--space-24:24px;--space-28:28px;--space-32:32px;--space-36:36px;--space-40:40px}.page-bold{font-size:25px;font-weight:700;line-height:1.2}.page-semibold{font-size:25px;font-weight:600;line-height:1.2}.card-bold{color:var(--color-text-primary);font-size:18px;font-weight:700;line-height:1.2}.card-semibold{color:var(--color-text-primary);font-size:18px;font-weight:600;line-height:1.2}.primary-regular{color:var(--color-text-primary);font-size:16px;font-weight:400;line-height:1.2}.primary-medium{color:var(--color-text-primary);font-size:16px;font-weight:500;line-height:1.2}.primary-semibold{color:var(--color-text-primary);font-size:16px;font-weight:600;line-height:1.2}.body-regular{color:var(--color-text-primary);font-size:16px;font-weight:400;line-height:1.2}.body-medium{color:var(--color-text-primary);font-size:16px;font-weight:500;line-height:1.2}.body-semibold{color:var(--color-text-primary);font-size:16px;font-weight:600;line-height:1.2}.helper-regular{color:var(--color-text-muted);font-size:14px;font-weight:300;line-height:1.4}.helper-medium{color:var(--color-text-muted);font-size:14px;font-weight:500;line-height:1.4}.helper-semibold{--color-text-muted:#9ca3af;font-size:14px;font-weight:600;line-height:1.4}.meta-regular{font-size:12px;font-weight:400;line-height:1.2}.button-medium{font-size:14px;font-weight:500;line-height:1.2}.badge-medium{font-size:12px;font-weight:500;line-height:1.2}.value-xl{font-size:36px;font-weight:600;line-height:1.2}.value-lg{font-size:28px;font-weight:600;line-height:1.2}.emphasis-semibold{font-size:18px;font-weight:600;line-height:1.2}.emphasis-bold{font-size:18px;font-weight:700;line-height:1.5}:root{--bg:#f9f9fa;--surface:#fff;--surface-secondary:#f9fafb;--border:#e5e7eb;--text:#111827;--muted:#6b7280;--positive:#10b981;--negative:#ef4444;--gradient-primary:linear-gradient(135deg, #0067a7, #69c8c9);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--shadow-hover:0 12px 30px #0000000f;--transition-default:transform .2s ease, box-shadow .2s ease}@font-face{font-family:Jeko;src:url(/fonts/Jeko-Light.otf)format("opentype");font-weight:300}@font-face{font-family:Jeko;src:url(/fonts/Jeko-Regular.otf)format("opentype");font-weight:400}@font-face{font-family:Jeko;src:url(/fonts/Jeko-Medium.otf)format("opentype");font-weight:500}@font-face{font-family:Jeko;src:url(/fonts/Jeko-SemiBold.otf)format("opentype");font-weight:600}@font-face{font-family:Jeko;src:url(/fonts/Jeko-Bold.otf)format("opentype");font-weight:700}@font-face{font-family:Jeko;src:url(/fonts/Jeko-Black.otf)format("opentype");font-weight:800}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);font-family:Jeko,sans-serif}button,input,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6,p{margin:0}.flex-center{justify-content:center;align-items:center;display:flex}.gradient-text{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#0067a7,#69c8c9);-webkit-background-clip:text;background-clip:text;display:inline-block}.app-layout{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.app-main{flex-direction:column;display:flex}.content{padding:9px 24px 24px}.dashboard-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;align-items:stretch;gap:16px;display:grid}.grid-motion-wrapper{display:contents}.topbar{justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.topbar-actions{align-items:center;gap:16px;display:flex}.search-bar{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);align-items:center;gap:10px;width:100%;max-width:500px;padding:10px 25px;display:flex}.search-input{height:32px;color:var(--muted);background:0 0;border:none;outline:none;flex:1;font-size:14px;font-weight:400}.search-input:focus{border-color:#0ea5e9}.search-logo{object-fit:contain;width:20px;height:20px}.search-divider{background:var(--border);width:1px;height:18px}.dashboard-header{margin-bottom:25px}.greeting{letter-spacing:-.02em;color:var(--text);font-size:24px;font-weight:500}.subtext{color:var(--muted);margin-top:3px;font-size:14px}.card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:var(--transition-default);padding:20px}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-header svg{position:relative;top:3px}.card-header{align-items:center;gap:8px;display:flex}.card-title{color:var(--text);font-size:16px;font-weight:500}.card-value{margin-top:5px;font-size:26px;font-weight:400}.card-change{margin-top:8px;font-size:13px}.card-change.positive{color:var(--positive)}.card-change.negative{color:var(--negative)}.left-column,.right-column{flex-direction:column;gap:16px;display:flex}.left-column{grid-column:1/span 2}.right-column{grid-column:3/span 2;height:100%}.networth-card{background:var(--gradient-primary);color:#fff;border:none}.networth-card .card-title,.networth-card .card-change{color:#ffffffe6}.networth-card .card-value{font-size:30px;font-weight:600}.bell-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;display:flex}.bell-button:hover{background:#f3f4f6}.bell-button svg{color:#0067a7;width:25px;height:25px}.user-profile{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);align-items:center;gap:10px;padding:6px 25px 6px 10px;display:flex}.avatar{width:45px;height:45px}.user-info{flex-direction:column;gap:2px;line-height:1.1;display:flex}.user-name{color:var(--text);font-size:15px;font-weight:500}.user-role{color:var(--muted);font-size:12px}.quick-actions-card{flex:1;grid-area:3/3/auto/span 2}.actions{flex-direction:column;gap:10px;margin-top:12px;display:flex}.actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);cursor:pointer;padding:10px;font-size:13px}.recent-activity-card{grid-column:span 2}.activity-list{margin-top:12px;padding:0;list-style:none}.activity-list li{color:var(--muted);margin-bottom:10px;font-size:13px}.sidebar{background:var(--color-surface-primary)}.logo{justify-content:center;align-items:center;margin-top:32px;display:flex}.logo img{width:140px;height:auto;display:block}.sidebar-nav{flex-direction:column;gap:24px;margin-top:60px;display:flex}.sidebar-item{min-height:60px;color:var(--color-text-secondary);align-items:center;gap:10px;padding:10px 34px;text-decoration:none;display:flex}.sidebar-item.active{background:var(--color-surface-blue);color:var(--color-primary);border-right:3px solid var(--color-primary)}.retirement-chart{position:relative}.chart-endpoint-badge{color:#fff;background:#01abad;border-radius:8px;padding:8px;font-size:16px;font-weight:600;position:absolute;top:-22px;right:-10px;box-shadow:0 10px 30px #01abad2e}.chart-endpoint-badge:after{content:"";border-top:10px solid #01abad;border-left:10px solid #0000;border-right:10px solid #0000;width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.retirement-stats{text-align:center;background:#f7fafa;border-radius:16px;justify-content:center;margin-top:12px;padding:24px 10px;display:flex}.stat{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.stat:not(:last-child){border-right:1px solid #d9d9d9}.stat p{color:#6b7280;font-size:12px}.stat h4{color:#01abad;font-size:18px;font-weight:600}.retirement-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-area:2/1/span 2/span 2;padding:20px}.retirement-header h3{margin:0;font-size:16px;font-weight:500}.retirement-header p{color:#6b7280;margin-top:4px;font-size:13px}.retirement-summary{align-items:center;gap:12px;margin-top:10px;display:flex}.retirement-summary h2{color:#01abad;margin:0;font-size:26px;font-weight:600}.badge{color:#0ea5a5;background:#e6f7f7;border-radius:999px;padding:4px 10px;font-size:12px}.chart-placeholder{background:linear-gradient(#0000,#d1f2f2);border-radius:8px;height:140px;margin-top:16px}.insights-card{background-color:#f5f9fa;grid-area:2/3/auto/span 2;padding:20px}.insights-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.status{color:#01abad;font-size:14px;font-weight:500}.insights-body{justify-content:space-between;align-items:center;display:flex}.insight-button{margin-top:var(--space-16);color:#01abad;cursor:pointer;background:0 0;border:1px solid #01abad;border-radius:8px;padding:10px 20px;font-weight:500}.insight-button:hover{background:#01abad14}.insights-illustration img{width:150px;height:auto}.insights-left{max-width:65%}.action-row{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.quick-actions-card{padding:20px 0}.quick-actions-card .card-title{margin-bottom:5px;padding:0 20px}.action-left{align-items:center;gap:12px;display:flex}.arrow{color:#9ca3af;font-size:18px}.action-row:hover{background:#f9fafb}.action-row:last-child{border-bottom:none}.recent-activity-card{padding:20px 0}.recent-activity-card .card-title{margin-bottom:0;padding:0 20px}.activity-list{width:100%}.activity-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.activity-row:last-child{border-bottom:none}.activity-left{align-items:center;gap:12px;display:flex}.icon-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.title{margin:0;font-size:15px;font-weight:500}.description{color:#6b7280;margin:2px 0 0;font-size:13px}.activity-right{text-align:right}.amount{margin:0;font-weight:600}.date{color:#6b7280;margin-top:2px;font-size:13px}.tools-page{flex-direction:column;gap:24px;display:flex}.tools-header{flex-direction:column;gap:8px;display:flex}.tool-tabs{gap:var(--space-16);flex-wrap:wrap;display:flex}.tool-tab{align-items:center;gap:var(--space-8);height:48px;padding:0 var(--space-20);border-radius:var(--radius-md);border:1px solid var(--color-border-primary);background:var(--color-surface-primary);cursor:pointer;display:inline-flex;position:relative}.tool-tab.active{background:var(--color-tab-active);color:var(--color-primary)}.tool-tab.active:after{content:"";background:var(--color-primary);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);width:100%;height:3px;position:absolute;bottom:-1px;left:0}.tools-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.tools-panel,.results-panel{align-self:start;gap:var(--space-32);background:#fff;border:1px solid #e5e7eb;border-radius:20px;flex-direction:column;padding:24px;display:flex}.panel-header{flex-direction:column;gap:6px;display:flex}.panel-header p{color:#6b7280}.input-section{flex-direction:column;gap:16px;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group input{background:#fff;border:1px solid #e5e7eb;border-radius:12px;outline:none;height:48px;padding:0 16px;transition:border-color .2s}.input-group input:focus{border-color:#0067a7}.results-panel{gap:var(--space-32);flex-direction:column;display:flex}.results-table{flex-direction:column;display:flex}.results-table-header,.results-table-row{padding:var(--space-16) 0;border-bottom:1px solid var(--color-border-primary);grid-template-columns:1.2fr 1fr 1.2fr;align-items:center;display:grid}.result-option{align-items:center;gap:var(--space-8);display:flex}.result-dot{border-radius:999px;width:8px;height:8px}.result-dot.renting{background:var(--color-primary)}.result-dot.buying{background:var(--color-teal)}.negative-text{color:var(--color-danger)}.breakdown-section{gap:var(--space-16);flex-direction:column;display:flex}.breakdown-grid{gap:var(--space-16);grid-template-columns:1fr 1fr;display:grid}.breakdown-card{gap:var(--space-8);padding:var(--space-20);border-radius:var(--radius-md);background:var(--color-surface-secondary);flex-direction:column;display:flex;position:relative;overflow:hidden}.breakdown-card:before{content:"";width:4px;height:100%;position:absolute;top:0;left:0}.breakdown-card.renting:before{background:var(--color-primary)}.breakdown-card.buying:before{background:var(--color-teal)}.chart-section{gap:var(--space-16);flex-direction:column;display:flex}.chart-header{justify-content:space-between;align-items:center;display:flex}.chart-filter{height:40px;padding:0 var(--space-16);border-radius:var(--radius-sm);border:1px solid var(--color-border-primary);background:var(--color-surface-primary)}.chart-placeholder{border-radius:var(--radius-lg);background:var(--color-surface-primary);justify-content:center;align-items:center;height:280px;display:flex}.insight-card{padding:var(--space-20);border-radius:var(--radius-md);border:1px solid var(--color-border-primary);background:var(--color-surface-secondary)}.insight-text{align-items:flex-start;gap:var(--space-8);display:flex}
