*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #4F46E5;--color-primary-hover: #4338CA;--color-primary-bg: #EEF2FF;--color-surface: #FFFFFF;--color-surface-secondary: #F8FAFC;--color-background: #F4F6F9;--color-text: #1E293B;--color-text-secondary: #64748B;--color-text-muted: #94A3B8;--color-accent: #4F46E5;--color-success: #22C55E;--color-success-bg: #F0FDF4;--color-error: #EF4444;--color-error-bg: #FEF2F2;--color-warning: #F59E0B;--color-warning-bg: #FFFBEB;--color-info: #3B82F6;--color-info-bg: #EFF6FF;--color-danger: #EF4444;--color-danger-bg: #FEF2F2;--color-warn: #F59E0B;--color-warn-bg: #FFFBEB;--color-border: #E2E8F0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: .95rem;--font-size-lg: 1.1rem;--font-size-xl: 1.35rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-base: .2s ease;--transition-slow: .35s ease;--max-content-width: 800px}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-background);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a,button,input,textarea,select{transition:all var(--transition-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;line-height:1.4;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary)}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;color:inherit}.btn-primary.btn-loading:after{border-color:#ffffffb3;border-right-color:transparent}.btn-loading[aria-busy=true]{cursor:wait}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm)}.card--compact{padding:var(--space-3) var(--space-4)}.card--elevated{box-shadow:var(--shadow-md)}.page-header{margin-bottom:var(--space-6)}.page-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-1)}.page-header .page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toast-region{position:fixed;top:var(--space-4);right:var(--space-4);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);max-width:380px;width:100%;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text);pointer-events:auto;animation:toast-slide-in var(--transition-normal) ease forwards}.toast--success{border-left:4px solid var(--color-success)}.toast--error{border-left:4px solid var(--color-error)}.toast--warning{border-left:4px solid var(--color-warning)}.toast--info{border-left:4px solid var(--color-info)}.toast__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base)}.toast--success .toast__icon{color:var(--color-success)}.toast--error .toast__icon{color:var(--color-error)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--info .toast__icon{color:var(--color-info)}.toast__message{flex:1;min-width:0}.toast__dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0;font-size:var(--font-size-base);line-height:1;opacity:.7;transition:opacity var(--transition-fast)}.toast__dismiss:hover{opacity:1}.notification-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--font-size-sm);line-height:var(--line-height-normal);animation:fade-in var(--transition-normal) ease}.notification-banner--error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.notification-banner--warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:#92400e}.notification-banner--info{background:var(--color-info-bg);border-color:var(--color-info);color:#1e40af}.notification-banner__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base)}.notification-banner__message{flex:1;min-width:0}.notification-banner__dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;font-size:var(--font-size-base);line-height:1;opacity:.7;transition:opacity var(--transition-fast);color:inherit}.notification-banner__dismiss:hover{opacity:1}.stepper{display:flex;align-items:center;justify-content:center;gap:0;width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.stepper__list{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:0}.stepper__step{display:flex;align-items:center}.stepper__step-content{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast)}.stepper__step--current .stepper__step-content{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.stepper__step--completed .stepper__step-content{color:var(--color-success)}.stepper__step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border:2px solid var(--color-border);color:var(--color-text-muted);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.stepper__step--current .stepper__step-number{border-color:var(--color-primary);color:var(--color-primary)}.stepper__step--completed .stepper__step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.stepper__step-label{display:none}@media(min-width:481px){.stepper__step-label{display:inline}}.stepper__connector{width:24px;height:2px;background:var(--color-border);margin:0 var(--space-1);transition:background var(--transition-fast)}.stepper__connector--completed{background:var(--color-success)}.fade-in{animation:fade-in var(--transition-normal) ease}.slide-in{animation:slide-in var(--transition-normal) ease}.step-enter{animation:step-enter var(--transition-normal) ease}@keyframes step-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.toast,.notification-banner,.progress-bar-fill{animation:none}.btn-loading:after{animation:none;border:2px solid currentColor}.stepper__step-number,.stepper__step-content{transition:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:374px){html{font-size:15px}}@media(min-width:1024px){html{font-size:16.5px}}
