:root{--color-bg:#0f172a;--color-surface:#1e293b;--color-surface-hover:#334155;--color-border:#475569;--color-text:#f1f5f9;--color-text-dim:#94a3b8;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius:.5rem;color:var(--color-text);background-color:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;margin:0}#root{min-height:100vh}.main-nav{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.nav-link{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-dim);border-radius:var(--radius);white-space:nowrap;text-decoration:none;transition:all .2s}.nav-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-link.active{background:var(--color-primary);color:#fff}main{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.page{gap:var(--spacing-lg);flex-direction:column;display:flex}.page-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}h1{font-size:1.875rem;font-weight:700}h2{margin-bottom:var(--spacing-md);font-size:1.5rem;font-weight:600}button,.button-primary,.button-secondary{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;border:none;font-size:1rem;font-weight:500;transition:all .2s}.button-primary,.btn-primary{background:var(--color-primary);color:#fff}.button-primary:hover,.btn-primary:hover{background:var(--color-primary-hover)}.button-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-surface-hover)}.btn-large{padding:var(--spacing-md) var(--spacing-lg);font-size:1.125rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md)}.card:hover{border-color:var(--color-primary)}label{gap:var(--spacing-xs);flex-direction:column;font-weight:500;display:flex}input,select,textarea{padding:var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:1rem}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-dim)}.action-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.primary-action{padding:var(--spacing-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);justify-content:center;align-items:center;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.primary-action:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.totals-card{gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.total-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.total-label{color:var(--color-text-dim);font-size:.875rem}.total-value{font-size:1.5rem;font-weight:700}.onboarding-page{min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.onboarding-content{gap:var(--spacing-lg);flex-direction:column;max-width:600px;display:flex}.onboarding-section{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius)}.onboarding-section h2{margin-bottom:var(--spacing-sm);font-size:1.25rem}.onboarding-section p{color:var(--color-text-dim)}.settings-page{gap:var(--spacing-xl);flex-direction:column;display:flex}.settings-section{padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius)}.goal-inputs{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.editor-description{color:var(--color-text-dim);margin-bottom:var(--spacing-md)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}
