:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--accent-primary:#6366f1;--accent-hover:#4f46e5;--border-light:#e5e7eb;--border-focus:#93c5fd;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--radius-md:6px;--radius-lg:8px}*,:before,:after{box-sizing:border-box}body,html{background-color:var(--bg-secondary);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0}button{font-family:inherit}.app-layout{background-color:var(--bg-secondary);width:100vw;height:100vh;color:var(--text-primary);font-family:var(--font-sans);display:flex;overflow:hidden}.sidebar{background-color:var(--bg-primary);border-right:1px solid var(--border-light);width:280px;box-shadow:var(--shadow-sm);z-index:10;flex-direction:column;padding:24px;display:flex}.sidebar-header{margin-bottom:32px}.sidebar-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.step-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.step-item{color:var(--text-tertiary);align-items:center;gap:12px;font-size:.9rem;font-weight:500;transition:color .2s;display:flex}.step-item.active{color:var(--accent-primary)}.step-item.completed{color:var(--text-primary)}.step-number{border:2px solid var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.step-item.active .step-number{border-color:var(--accent-primary);background-color:var(--accent-primary);color:var(--bg-primary)}.step-item.completed .step-number{border-color:var(--text-primary);background-color:var(--text-primary);color:var(--bg-primary)}.main-content{flex-direction:column;flex:1;display:flex;overflow-y:auto}.header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);align-items:center;height:64px;padding:0 32px;display:flex}.page-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:32px}
