:root{--color-primary: #FFFFFF;--color-primary-light: #FFF41E;--color-secondary: #4E5D80;--color-background: #FFFFFF;--color-surface: #FFFFFF;--color-text-primary: #1E293B;--color-text-secondary: #64748B;--color-text-tertiary: #94A3B8;--color-border: #E2E8F0;--color-success: #4CAF50;--color-success-light: #d1fae5;--color-error: #EF4444;--color-error-light: #fee2e2;--color-warning: #F59E0B;--color-warning-light: #fef3c7;--color-info: #3B82F6;--color-info-light: #dbeafe;--color-white: #ffffff;--color-black: #000000;--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;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-gray-900);background-color:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.btn:focus{outline:none;box-shadow:0 0 0 3px #4e5d8033}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-secondary);color:var(--color-primary);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background:#3d4a6b}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--color-white);color:var(--color-gray-700);border:2px solid var(--color-gray-300);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background-color:var(--color-success);color:var(--color-white);box-shadow:var(--shadow-md)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background-color:#45a049}.btn-success:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-group{display:flex;gap:var(--spacing-md)}.btn-group .btn:first-child{flex:1}.btn-group .btn:last-child{flex:1;background-color:var(--color-success);color:var(--color-white);box-shadow:var(--shadow-md)}.btn-group .btn:last-child:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background-color:#45a049}.btn-group .btn:last-child:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.form-actions .btn{flex:1}.form-actions .btn:last-child:not(.btn-primary):not(.btn-secondary):not(.btn-outline):not(.btn-ghost){background-color:var(--color-success);color:var(--color-white)}.form-actions .btn:last-child:not(.btn-primary):not(.btn-secondary):not(.btn-outline):not(.btn-ghost):hover:not(:disabled){background-color:#45a049;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background-color:transparent;color:var(--color-secondary);border:2px solid var(--color-secondary)}.btn-outline:hover:not(:disabled){background-color:var(--color-secondary);color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;color:var(--color-gray-700);border:none}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100);color:var(--color-gray-900)}.btn-sm{padding:.5rem 1rem;font-size:var(--font-size-sm)}.btn-lg{padding:1rem 2rem;font-size:var(--font-size-lg)}.btn-full{width:100%}.btn i{margin-right:.5rem}.btn i:only-child{margin-right:0}.form-group{margin-bottom:var(--spacing-lg)}.form-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-label.required:after{content:" *";color:var(--color-error)}.input-wrapper{position:relative}.form-control{width:100%;padding:.875rem 1rem;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-gray-900);background-color:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--radius-lg);transition:all var(--transition-base);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control::placeholder{color:var(--color-gray-400)}.form-control:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #4e5d801a;background-color:var(--color-white)}.form-control:disabled{background-color:var(--color-gray-100);color:var(--color-gray-500);cursor:not-allowed;opacity:.6}.input-with-icon{padding-left:3rem;padding-right:3rem}.input-with-icon.password-input{padding-right:3rem}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-gray-400);pointer-events:none;transition:color var(--transition-base)}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base);z-index:2}.password-toggle:hover{color:var(--color-secondary)}.password-toggle:focus{outline:none;color:var(--color-secondary)}.form-control:focus~.input-icon{color:var(--color-secondary)}.form-control.is-invalid{border-color:var(--color-error)}.form-control.is-invalid:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.invalid-feedback{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error)}.form-check{display:flex;align-items:center;margin-bottom:var(--spacing-md)}.form-check-input{width:1.25rem;height:1.25rem;margin-right:var(--spacing-sm);cursor:pointer;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);transition:all var(--transition-base);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-white);position:relative}.form-check-input:checked{background-color:var(--color-secondary);border-color:var(--color-secondary)}.form-check-input:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-white);font-size:.75rem;font-weight:var(--font-weight-bold)}.form-check-input:focus{outline:none;box-shadow:0 0 0 3px #4e5d8033}.form-check-label{font-size:var(--font-size-base);color:var(--color-gray-700);cursor:pointer;-webkit-user-select:none;user-select:none}.form-select{width:100%;padding:.875rem 2.5rem .875rem 1rem;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-gray-900);background-color:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--radius-lg);transition:all var(--transition-base);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.form-select:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #4e5d801a}.form-textarea{min-height:120px;resize:vertical}.alert{padding:1rem 1.25rem;margin-bottom:var(--spacing-lg);border-radius:var(--radius-lg);border:none;font-size:var(--font-size-sm);display:flex;align-items:flex-start}.alert i{margin-right:var(--spacing-sm);margin-top:.125rem}.alert-success{background-color:var(--color-success-light);color:var(--color-success)}.alert-error,.alert-danger{background-color:var(--color-error-light);color:var(--color-error)}.alert-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.alert-info{background-color:var(--color-info-light);color:var(--color-info)}.card{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-200);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{padding:var(--spacing-lg);background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);background-color:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.p-4{padding:var(--spacing-xl)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.animate-fadeIn{animation:fadeIn .5s ease}.animate-fadeInUp{animation:fadeInUp .6s ease}.animate-fadeInDown{animation:fadeInDown .6s ease}.animate-slideInRight{animation:slideInRight .6s ease}.animate-slideInLeft{animation:slideInLeft .6s ease}.animate-shake{animation:shake .5s ease}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--color-white);animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
