*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #f8f9fc;--bg-secondary: #ffffff;--bg-sidebar: #1a1d2e;--bg-card: #ffffff;--text-primary: #1a1d2e;--text-secondary: #6b7280;--text-sidebar: #e2e8f0;--text-sidebar-dim: #94a3b8;--accent-green: #10b981;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-orange: #f59e0b;--accent-red: #ef4444;--accent-pink: #ec4899;--border: #e5e7eb;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--radius: 12px;--radius-sm: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;overflow:hidden;height:100vh}#root{height:100vh}.app-layout{display:grid;grid-template-columns:240px 1fr;grid-template-rows:60px 1fr 60px;height:100vh;grid-template-areas:"sidebar header" "sidebar main" "sidebar advisor"}.header{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:16px}.header-title{font-size:20px;font-weight:700;color:var(--text-primary)}.header-week{background:var(--accent-blue);color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.header-right{display:flex;align-items:center;gap:16px}.header-balance{font-size:18px;font-weight:700;color:var(--accent-green)}.speed-control{display:flex;align-items:center;gap:8px}.speed-btn{background:var(--bg-primary);border:1px solid var(--border);padding:4px 10px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.speed-btn:hover,.speed-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.pause-btn{background:var(--accent-orange);color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px}.pause-btn.paused{background:var(--accent-green)}.sidebar{grid-area:sidebar;background:var(--bg-sidebar);padding:20px 0;display:flex;flex-direction:column;overflow-y:auto}.sidebar-logo{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:12px}.sidebar-logo h1{color:#fff;font-size:22px;font-weight:800}.sidebar-logo span{color:var(--accent-green)}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--text-sidebar-dim);cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;border-left:3px solid transparent}.nav-item:hover{background:#ffffff0d;color:var(--text-sidebar)}.nav-item.active{background:#3b82f61a;color:#fff;border-left-color:var(--accent-blue)}.nav-item.locked{opacity:.4;cursor:not-allowed}.nav-item .icon{font-size:18px;width:24px;text-align:center}.nav-item .lock-icon{margin-left:auto;font-size:12px}.sidebar-skills{margin-top:auto;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-skills h3{color:var(--text-sidebar-dim);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.skill-bar{margin-bottom:8px}.skill-bar-label{display:flex;justify-content:space-between;color:var(--text-sidebar-dim);font-size:11px;margin-bottom:3px}.skill-bar-track{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.skill-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}.main-content{grid-area:main;padding:24px;overflow-y:auto}.advisor-bar{grid-area:advisor;display:flex;align-items:center;padding:0 24px;background:var(--bg-secondary);border-top:1px solid var(--border);gap:12px}.advisor-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-purple);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.advisor-message{font-size:13px;color:var(--text-secondary);flex:1}.advisor-message.tip{color:var(--accent-blue)}.advisor-message.warning{color:var(--accent-orange)}.advisor-message.celebration{color:var(--accent-green)}.advisor-message.opinion{color:var(--accent-purple)}.card{background:var(--bg-card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border:1px solid var(--border)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-title{font-size:16px;font-weight:700}.card-badge{font-size:11px;padding:3px 8px;border-radius:12px;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow);border:1px solid var(--border)}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-value{font-size:24px;font-weight:700}.stat-value.green{color:var(--accent-green)}.stat-value.blue{color:var(--accent-blue)}.stat-value.purple{color:var(--accent-purple)}.stat-value.orange{color:var(--accent-orange)}.progress-section{margin-bottom:24px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.progress-bar{height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));transition:width .5s ease}.btn{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover{background:#2563eb}.btn-success{background:var(--accent-green);color:#fff}.btn-success:hover{background:#059669}.btn-danger{background:var(--accent-red);color:#fff}.btn-warning{background:var(--accent-orange);color:#fff}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-outline:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.btn:disabled{opacity:.5;cursor:not-allowed}.job-list{display:grid;gap:12px}.job-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.job-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-blue)}.job-card.current{border-color:var(--accent-green);background:#10b98108}.job-card.locked{opacity:.5}.job-info h4{font-size:15px;margin-bottom:4px}.job-info p{font-size:12px;color:var(--text-secondary)}.job-meta{display:flex;gap:12px;margin-top:6px}.job-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg-primary);color:var(--text-secondary)}.job-pay{text-align:right}.job-pay .wage{font-size:18px;font-weight:700;color:var(--accent-green)}.job-pay .period{font-size:11px;color:var(--text-secondary)}.account-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.account-card{background:linear-gradient(135deg,#1a1d2e,#2d3148);border-radius:var(--radius);padding:20px;color:#fff}.account-card.savings{background:linear-gradient(135deg,#065f46,#047857)}.account-card .account-type{font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:1px}.account-card .account-balance{font-size:28px;font-weight:700;margin:8px 0}.account-card .account-rate{font-size:11px;opacity:.7}.transaction-list{max-height:300px;overflow-y:auto}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.transaction-item:last-child{border-bottom:none}.transaction-desc{font-size:13px}.transaction-amount{font-weight:600;font-size:14px}.transaction-amount.positive{color:var(--accent-green)}.transaction-amount.negative{color:var(--accent-red)}.transfer-form{display:flex;flex-direction:column;gap:12px;margin-top:16px;padding:16px;background:var(--bg-primary);border-radius:var(--radius-sm)}.transfer-form input,.transfer-form select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}.credit-gauge{text-align:center;padding:24px}.credit-score-number{font-size:48px;font-weight:800}.credit-score-label{font-size:14px;color:var(--text-secondary);margin-top:4px}.credit-factors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.credit-factor{padding:12px;background:var(--bg-primary);border-radius:var(--radius-sm)}.credit-factor-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px}.credit-factor-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.credit-factor-fill{height:100%;border-radius:3px;background:var(--accent-green)}.notifications{position:fixed;top:70px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:100}.notification{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;box-shadow:var(--shadow-lg);font-size:13px;animation:slideIn .3s ease;max-width:320px}.notification.success{border-left:4px solid var(--accent-green)}.notification.warning{border-left:4px solid var(--accent-orange)}.notification.error{border-left:4px solid var(--accent-red)}.notification.info{border-left:4px solid var(--accent-blue)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.setup-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1a1d2e,#2d3148)}.setup-card{background:#fff;border-radius:20px;padding:48px;max-width:480px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.setup-card h1{font-size:32px;margin-bottom:8px}.setup-card h1 span{color:var(--accent-green)}.setup-card p{color:var(--text-secondary);margin-bottom:32px}.setup-card input{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:10px;font-size:16px;margin-bottom:16px;text-align:center}.setup-card input:focus{outline:none;border-color:var(--accent-blue)}.setup-card .btn{width:100%;padding:14px;font-size:16px;margin-top:8px}.housing-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.housing-option{border:2px solid var(--border);border-radius:var(--radius);padding:20px;cursor:pointer;transition:all .2s}.housing-option:hover{border-color:var(--accent-blue)}.housing-option.selected{border-color:var(--accent-green);background:#10b98108}.housing-option h4{margin-bottom:8px}.housing-option .cost{font-size:20px;font-weight:700;color:var(--accent-green)}.housing-option .details{font-size:12px;color:var(--text-secondary);margin-top:4px}.w4-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-group select,.form-group input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px}.stock-list{display:grid;gap:12px}.stock-card{display:flex;justify-content:space-between;align-items:center;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm)}.stock-name{font-weight:600}.stock-price{font-size:18px;font-weight:700}.stock-change.up{color:var(--accent-green)}.stock-change.down{color:var(--accent-red)}.stage-indicator{display:flex;align-items:center;gap:8px;margin-bottom:20px}.stage-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--border);color:var(--text-secondary)}.stage-dot.completed{background:var(--accent-green);color:#fff}.stage-dot.current{background:var(--accent-blue);color:#fff}.stage-line{flex:1;height:2px;background:var(--border)}.stage-line.completed{background:var(--accent-green)}.paycheck-stub{background:var(--bg-primary);border:1px dashed var(--border);border-radius:var(--radius);padding:20px;font-family:Courier New,monospace}.paycheck-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.paycheck-row.total{border-top:1px solid var(--border);margin-top:8px;padding-top:8px;font-weight:700}.event-bar{background:var(--accent-orange);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;margin-bottom:16px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.settings-list{display:flex;flex-direction:column;gap:16px}.setting-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;background:var(--bg-primary);border-radius:var(--radius-sm)}.setting-info{flex:1}.setting-label{font-size:14px;font-weight:600;margin-bottom:4px}.setting-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-green)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal{background:var(--bg-card);border-radius:var(--radius);box-shadow:0 20px 60px #0000004d;max-width:640px;width:100%;max-height:80vh;overflow-y:auto;padding:28px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{font-size:18px;font-weight:700}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:4px 8px;border-radius:4px}.modal-close:hover{background:var(--bg-primary)}.modal-section{margin-bottom:20px}.modal-section h4{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px}.lot-detail{margin-top:16px;padding:16px;background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--border)}.lot-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.lot-row:last-child{border-bottom:none}.lot-badge{font-size:10px;padding:2px 6px;border-radius:8px;font-weight:600}.lot-badge.long-term{background:#10b9811a;color:var(--accent-green)}.lot-badge.short-term{background:#f59e0b1a;color:var(--accent-orange)}
