:root{--color-primary: #0042A0;--color-primary-hover: #003580;--color-primary-light: #e8f0fe;--color-primary-alpha-10: rgba(0, 66, 160, .1);--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-success: #16a34a;--color-success-light: #dcfce7;--color-error: #dc2626;--color-error-hover: #b91c1c;--color-error-light: #fee2e2;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-info: #0042A0;--color-info-light: #dbeafe;--color-white: #ffffff;--color-black: #000000;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-disabled: #9ca3af;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--border-width: 1px;--border-width-thick: 2px;--border-color: var(--color-gray-200);--border-color-hover: var(--color-gray-300);--border-color-focus: var(--color-primary);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: .9375rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.375rem;--font-size-3xl: 1.875rem;--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;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-modal: 10000;--z-toast: 9999;--z-tooltip: 5000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-fast) ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate-fade-out{animation:fadeOut var(--transition-fast) ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp var(--transition-normal) ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown var(--transition-normal) ease-out}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-zoom-in{animation:zoomIn var(--transition-normal) ease-out}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.animate-zoom-out{animation:zoomOut var(--transition-normal) ease-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-shake{animation:shake .5s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 1s ease-in-out infinite}@keyframes scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-scale{animation:scale .3s ease-in-out}.animate-duration-fast{animation-duration:var(--transition-fast)}.animate-duration-normal{animation-duration:var(--transition-normal)}.animate-duration-slow{animation-duration:var(--transition-slow)}.animate-delay-short{animation-delay:.1s}.animate-delay-medium{animation-delay:.2s}.animate-delay-long{animation-delay:.3s}.animate-infinite{animation-iteration-count:infinite}.animate-once{animation-iteration-count:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;border:var(--border-width) solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);outline:none;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-white);border-color:var(--border-color);color:var(--color-gray-600)}.btn-secondary:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-danger{background:var(--color-error);border-color:var(--color-error);color:var(--color-white)}.btn-danger:hover:not(:disabled){background:var(--color-error-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-gray-700)}.btn-ghost:hover:not(:disabled){background:var(--color-gray-100)}.btn-sm{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.btn-md{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base)}.btn-lg{padding:var(--spacing-lg) calc(var(--spacing-xl) * 1.5);font-size:var(--font-size-md)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:0;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--border-color);border-radius:var(--radius-sm);color:var(--color-gray-500);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-300)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon.btn-icon-danger:hover:not(:disabled){background:var(--color-error-light);border-color:var(--color-error-border);color:var(--color-error)}.btn-icon.btn-icon-primary:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.btn-icon-sm{width:24px;height:24px}.btn-icon-md{width:28px;height:28px}.btn-icon-lg{width:32px;height:32px}.btn-full{width:100%}.btn-with-icon{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn-icon-left{margin-right:var(--spacing-xs)}.btn-icon-right{margin-left:var(--spacing-xs)}.btn-group{display:inline-flex;gap:var(--spacing-md)}.btn-loading{position:relative;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:var(--spacing-lg)}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-gray-700);margin-bottom:var(--spacing-sm)}.form-label.required:after{content:"*";color:var(--color-error);margin-left:var(--spacing-xs)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-white);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-sm);outline:none;transition:all var(--transition-fast);box-sizing:border-box}.form-input:hover:not(:disabled),.form-textarea:hover:not(:disabled),.form-select:hover:not(:disabled){border-color:var(--border-color-hover)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px var(--color-primary-alpha-10)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background:var(--color-gray-50);color:var(--color-text-disabled);cursor:not-allowed}.form-input-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.form-input-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-row-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.form-row,.form-row-3,.form-row-4{grid-template-columns:1fr}}.checkbox-label,.radio-label{display:inline-flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-md);color:var(--color-gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:var(--line-height-normal)}.checkbox-input,.radio-input{width:20px;height:20px;cursor:pointer;margin:0;accent-color:var(--color-primary)}.checkbox-input:disabled,.radio-input:disabled{cursor:not-allowed;opacity:.5}.form-input.is-invalid,.form-textarea.is-invalid,.form-select.is-invalid{border-color:var(--color-error)}.form-input.is-invalid:focus,.form-textarea.is-invalid:focus,.form-select.is-invalid:focus{box-shadow:0 0 0 3px #dc26261a}.form-input.is-valid,.form-textarea.is-valid,.form-select.is-valid{border-color:var(--color-success)}.form-input.is-valid:focus,.form-textarea.is-valid:focus,.form-select.is-valid:focus{box-shadow:0 0 0 3px #16a34a1a}.form-error,.form-success,.form-hint{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm)}.form-error{color:var(--color-error)}.form-success{color:var(--color-success)}.form-hint{color:var(--color-text-secondary);font-style:italic}.form-section{margin-bottom:var(--spacing-2xl)}.form-section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0}.form-section-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input-icon{position:absolute;left:var(--spacing-md);color:var(--color-gray-400);pointer-events:none}.form-input-wrapper .form-input{padding-left:calc(var(--spacing-md) * 2.5)}.switch-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-md)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-gray-300);transition:var(--transition-fast);border-radius:var(--radius-full)}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-white);transition:var(--transition-fast);border-radius:50%}.switch input:checked+.switch-slider{background-color:var(--color-primary)}.switch input:checked+.switch-slider:before{transform:translate(20px)}.switch input:disabled+.switch-slider{opacity:.5;cursor:not-allowed}*,*:before,*:after{box-sizing:border-box}html{overflow:hidden}body{margin:0;padding:0;font-family:var(--font-family);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}
