.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-7) var(--space-12);border:none;border-radius:var(--radius-lg);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-align:center;text-decoration:none;cursor:pointer;transition:all var(--transition-base);-webkit-tap-highlight-color:transparent;position:relative;white-space:nowrap;min-width:fit-content}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-primary-hover)}@media(hover:hover){.btn-primary:hover:not(:disabled){transform:translateY(-1px)}}.btn-primary:disabled{background:var(--color-text-placeholder);box-shadow:none}.btn-secondary{background:var(--color-bg-card);color:var(--color-navy, #354B5E);border:2px solid var(--color-navy, #354B5E)}.btn-secondary:hover:not(:disabled){background:var(--color-gold-pale, #FDF5E9)}[data-theme=dark] .btn-secondary{background:var(--color-bg-subtle);color:var(--color-text, #e5e5e5);border-color:var(--color-border, #333)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--color-border, #333)}.btn-ghost{background:transparent;color:var(--color-teal, #3f6c67);padding:var(--space-6);font-weight:var(--font-weight-semibold)}.btn-ghost:hover:not(:disabled){color:var(--color-navy, #354B5E);background:var(--color-bg-subtle)}[data-theme=dark] .btn-ghost{color:var(--color-teal-light, #7AABA6)}[data-theme=dark] .btn-ghost:hover:not(:disabled){color:var(--color-text, #e5e5e5)}.btn.loading{color:transparent;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:18px;height:18px;top:50%;left:50%;margin-left:-9px;margin-top:-9px;border:2px solid transparent;border-top-color:currentColor;border-radius:var(--radius-full);animation:btn-spin .8s linear infinite}.btn-primary.loading:after{border-top-color:var(--color-text-inverse)}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-row{display:flex;gap:var(--space-5);margin-top:var(--space-12)}.btn-row.stacked{flex-direction:column;gap:var(--space-4)}.btn-row .btn{flex:1}.form-group{margin-bottom:var(--space-8)}.form-group label{display:block;margin-bottom:var(--space-3);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-6) var(--space-7);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg-card);transition:border-color var(--transition-base),box-shadow var(--transition-base);-webkit-appearance:none;appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-placeholder)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px #ff8a3d1a}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-7) center;padding-right:var(--space-20)}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-placeholder);margin-top:var(--space-3)}.inline-inputs{display:flex;gap:var(--space-6)}.inline-inputs .form-group:first-child{flex:1}.inline-inputs .form-group:last-child{width:90px;flex-shrink:0}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-md)}.card-elevated{box-shadow:var(--shadow-xl);border:none}.card-header{padding:var(--space-12) var(--space-14);text-align:center;color:var(--color-text-inverse);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card-header-primary{background:var(--color-primary)}.card-header h1,.card-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.card-header p{margin:var(--space-3) 0 0 0;opacity:.9;font-size:var(--font-size-base)}.card-body{padding:var(--space-14)}.step-indicators{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-12)}.progress-dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-border);transition:all var(--transition-slow);flex-shrink:0}.progress-dot.active{background:var(--color-primary);transform:scale(1.3)}.progress-dot.completed{background:var(--color-success)}.progress-line{width:24px;height:2px;background:var(--color-border);transition:background var(--transition-slow);flex-shrink:0}.progress-line.completed{background:var(--color-success)}.alert{display:flex;align-items:flex-start;gap:var(--space-5);padding:var(--space-6) var(--space-7);border-radius:var(--radius-lg);font-size:var(--font-size-sm);margin-bottom:var(--space-8)}.alert-icon{font-size:var(--font-size-md);flex-shrink:0}.alert-success{background:#f0fdf4;border:1px solid var(--color-success-border);color:var(--color-success-text)}.alert-warning{background:var(--color-warning-light);border:1px solid var(--color-warning);color:var(--color-warning-dark)}.alert-error{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error-dark)}.alert-info{background:var(--color-bg-cream);border:1px solid var(--color-border-cream);color:var(--color-brand)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-primary)}.text-brand{color:var(--color-brand)}.text-success{color:var(--color-success)}.text-success-dark{color:var(--color-success-dark)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-warning-text{color:var(--color-warning-text)}.text-placeholder{color:var(--color-text-placeholder)}.text-inverse{color:var(--color-text-inverse)}.text-navy{color:var(--color-navy)}.text-teal{color:var(--color-teal)}.text-body{color:var(--color-text-body)}.text-success-text{color:var(--color-success-text)}.text-warning-deep{color:var(--color-warning-text-deep)}.text-info{color:var(--color-info)}.bg-card{background:var(--color-bg-card)}.bg-subtle{background:var(--color-bg-subtle)}.bg-cream{background:var(--color-bg-cream)}.bg-brand{background:var(--color-brand);color:var(--color-text-inverse)}.bg-navy{background:var(--color-navy);color:var(--color-text-inverse)}.bg-teal{background:var(--color-teal);color:var(--color-text-inverse)}.bg-success-light{background:var(--color-success-light)}.bg-warning-light{background:var(--color-warning-light)}.bg-error-light{background:var(--color-error-light)}.bg-info-light{background:var(--color-info-light)}.bg-info{background:var(--color-info);color:var(--color-text-inverse)}.border-default{border-color:var(--color-border)}.border-success{border-color:var(--color-success-border)}.border-warning{border-color:var(--color-warning-border)}.border-error{border-color:var(--color-error)}.accent-brand{accent-color:var(--color-brand)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.skip-link{position:absolute;top:-100%;left:0;background:var(--color-brand);color:var(--color-text-inverse);padding:var(--space-6) var(--space-12);z-index:var(--z-loading);font-weight:var(--font-weight-semibold);text-decoration:none;border-radius:0 0 var(--radius-md) 0;transition:top var(--transition-base)}.skip-link:focus{top:0;outline:3px solid var(--color-primary);outline-offset:2px}.btn:focus-visible,.card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){.btn,.progress-dot,.progress-line,.form-group input,.form-group select{animation:none!important;transition:none!important}}@media(max-width:480px){.btn-row{flex-direction:column}.inline-inputs{flex-direction:column;gap:0}.inline-inputs .form-group:last-child{width:100%}}@keyframes toastFadeIn{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes toastFadeOut{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(20px);opacity:0}}[data-theme=dark] .alert-success{background:var(--color-success-light);border-color:#1a4a30;color:var(--color-success)}[data-theme=dark] .alert-warning{background:var(--color-warning-light);border-color:#6b5a1e;color:var(--color-warning)}[data-theme=dark] .alert-error{background:var(--color-error-light);border-color:#5c2020;color:var(--color-error)}[data-theme=dark] .alert-info{background:var(--color-bg-cream);border-color:var(--color-border-cream);color:var(--color-brand)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{box-shadow:0 0 0 3px #ff9f5a26}[data-a11y=high-contrast] .progress-dot.completed,[data-a11y=high-contrast] .progress-line.completed{background:#2563eb}[data-a11y=high-contrast] .alert-success{background:#eff6ff;border-color:#93c5fd;color:#1e40af}[data-a11y=high-contrast] .alert-error{background:#fdf2f8;border-color:#f9a8d4;color:#9d174d}[data-a11y=high-contrast] .alert-warning{background:#ecfeff;border-color:#67e8f9;color:#155e75}[data-a11y=high-contrast] .text-success{color:#2563eb}[data-a11y=high-contrast] .text-success-dark{color:#1d4ed8}[data-a11y=high-contrast] .text-error{color:#db2777}[data-a11y=high-contrast] .text-warning{color:#0891b2}[data-a11y=high-contrast] .border-success{border-color:#93c5fd}[data-a11y=high-contrast] .border-error{border-color:#f9a8d4}[data-a11y=high-contrast] .border-warning{border-color:#67e8f9}[data-a11y=high-contrast] .bg-success-light{background:#eff6ff}[data-a11y=high-contrast] .bg-error-light{background:#fdf2f8}[data-a11y=high-contrast] .bg-warning-light{background:#ecfeff}[data-theme=dark][data-a11y=high-contrast] .alert-success{background:#2563eb1a;border-color:#1e3a5f;color:#60a5fa}[data-theme=dark][data-a11y=high-contrast] .alert-error{background:#db27771a;border-color:#5c1a3e;color:#f472b6}[data-theme=dark][data-a11y=high-contrast] .alert-warning{background:#0891b21a;border-color:#164e63;color:#22d3ee}
