:root{--color-bg:#f8fafb;--color-bg-elevated:#fff;--color-bg-card:#fff;--color-bg-hover:#f1f5f9;--color-border:#e2e8f0;--color-border-subtle:#f1f5f9;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-muted:#94a3b8;--color-primary:#0891b2;--color-primary-hover:#0e7490;--color-primary-muted:#0891b214;--color-primary-gradient:linear-gradient(135deg, #0891b2, #10b981);--color-success:#10b981;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-info:#0891b2;--color-info-bg:#ecfeff;--color-info-border:#a5f3fc;--color-accent:#10b981;--color-accent-hover:#059669;--color-accent-muted:#10b98114;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Consolas", monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-card:0 1px 3px #0000000f, 0 1px 2px #0000000a;--transition-fast:.1s ease;--transition-base:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600;line-height:1.3}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-hover);border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease}.animate-slide-in{animation:slideInRight var(--transition-slow) ease}.animate-scale-in{animation:scaleIn var(--transition-base) ease}button{cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:inherit;border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff}input:hover,textarea:hover,select:hover{border-color:#cbd5e1}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-muted);outline:none}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}::selection{background:var(--color-primary-muted);color:var(--color-text)}@media (width<=1024px){:root{--space-lg:20px;--space-xl:28px;--space-2xl:40px}}@media (width<=768px){:root{--space-lg:16px;--space-xl:24px;--space-2xl:32px}html{font-size:15px}}@media (width<=480px){:root{--space-md:12px;--space-lg:14px}html{font-size:14px}}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#0f172a!important;background:#fff!important}.no-print{display:none!important}*{box-shadow:none!important}}.card-sm{border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);padding:12px 14px}.card-md{border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);padding:14px 16px}.btn-primary{border-radius:var(--radius-md);background:var(--color-text);color:#fff;cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn-primary:hover{opacity:.9}.btn-success{border-radius:var(--radius-md);background:var(--color-success);color:#fff;cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn-success:hover{opacity:.9}.subsection-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:11px;font-weight:700}.text-body{color:var(--color-text-secondary);font-size:13px;line-height:1.6}.text-detail{color:var(--color-text-tertiary);font-size:12.5px;line-height:1.55}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-balance{text-wrap:balance}.btn-outline{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);background:0 0;font-size:14px;font-weight:500;display:inline-flex}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-continue{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;font-size:14px;font-weight:600;display:inline-flex}.btn-continue:hover{opacity:.9}.btn-sm{align-items:center;gap:var(--space-xs);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.btn-sm-primary{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.btn-sm-primary:hover{opacity:.9}.btn-sm-ghost{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.btn-sm-ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-sm-danger-ghost{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0}.btn-sm-danger-ghost:hover{border-color:var(--color-danger);color:var(--color-danger)}.pill{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.pill-info{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-primary)}.pill-neutral{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.pill-muted{background:var(--color-bg-hover);border:1px solid var(--color-border);color:var(--color-text-tertiary)}.pill-warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.header-chip{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border);padding:6px 12px;display:flex}.header-chip-label{color:var(--color-text-muted);font-size:12px}.header-chip-value{color:var(--color-text);font-size:13px;font-weight:600}.section-heading-sm{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:14px;font-weight:600}.nav-footer{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.nav-footer-right{align-items:center;gap:var(--space-md);display:flex}.nav-footer-counter{color:var(--color-text-muted);font-size:12px}.incomplete-warning{align-items:center;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);display:flex}.incomplete-warning-text{color:var(--color-text-secondary);font-size:13px}
