:root{--color-primary: #0042A0;--color-primary-hover: #003580;--color-primary-light: #eff6ff;--color-primary-alpha-10: rgba(0, 66, 160, .1);--color-primary-shadow: rgba(0, 66, 160, .4);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-white: #ffffff;--color-black: #000000;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #059669;--color-error: #dc2626;--color-error-light: #fee2e2;--color-error-dark: #b91c1c;--color-error-border: #fecaca;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #d97706;--color-info: #3b82f6;--color-info-light: #e0f2fe;--color-info-dark: #1976d2;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--border-width: 1px;--border-width-thick: 2px;--border-color: #e5e7eb;--border-color-focus: #0042A0;--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .1);--shadow-xl: 0 10px 15px rgba(0, 0, 0, .1);--shadow-2xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.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.75;--z-base: 1;--z-dropdown: 100;--z-sticky: 500;--z-modal: 1000;--z-toast: 1500;--z-tooltip: 2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:var(--border-width) solid transparent;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-300)}.btn-secondary:hover:not(:disabled){background:var(--color-gray-200);color:var(--color-gray-800)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-light)}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.btn-icon{width:32px;height:32px;padding:0;border:var(--border-width) solid var(--border-color);background:transparent;color:var(--color-gray-500)}.btn-icon:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-300)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700);margin-bottom:var(--spacing-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-white);transition:all var(--transition-normal);box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-color-focus);box-shadow:0 0 0 3px var(--color-primary-alpha-10)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-gray-50);cursor:not-allowed;opacity:.6}.form-textarea{resize:vertical;min-height:100px}.checkbox-label,.radio-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer}input[type=checkbox],input[type=radio]{cursor:pointer}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #dc26261a}*,*:before,*:after{box-sizing:border-box}html{overflow:hidden}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}input,textarea,select,button{font-family:inherit}app-root{display:block;min-height:100vh}
