:root{--color-primary-50: #EFF6FF;--color-primary-100: #DBEAFE;--color-primary-200: #BFDBFE;--color-primary-300: #93C5FD;--color-primary-400: #60A5FA;--color-primary-500: #3B82F6;--color-primary-600: #2563EB;--color-primary-700: #1D4ED8;--color-primary-800: #1E40AF;--color-primary-900: #1E3A8A;--color-accent-50: #FFF7ED;--color-accent-100: #FFEDD5;--color-accent-200: #FED7AA;--color-accent-300: #FDBA74;--color-accent-400: #FB923C;--color-accent-500: #F97316;--color-accent-600: #EA580C;--color-accent-700: #C2410C;--color-accent-800: #9A3412;--color-accent-900: #7C2D12;--color-yellow-50: #FEFCE8;--color-yellow-100: #FEF9C3;--color-yellow-200: #FEF08A;--color-yellow-300: #FDE047;--color-yellow-400: #FACC15;--color-yellow-500: #FFD700;--color-yellow-600: #EAB308;--color-yellow-700: #CA8A04;--color-yellow-800: #A16207;--color-yellow-900: #854D0E;--color-neutral-50: #F8FAFC;--color-neutral-100: #F1F5F9;--color-neutral-200: #E2E8F0;--color-neutral-300: #CBD5E1;--color-neutral-400: #94A3B8;--color-neutral-500: #64748B;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1E293B;--color-neutral-900: #0F172A;--color-success-50: #F0FDF4;--color-success-100: #DCFCE7;--color-success-500: #10B981;--color-success-600: #059669;--color-success-700: #047857;--color-error-50: #FEF2F2;--color-error-100: #FEE2E2;--color-error-500: #EF4444;--color-error-600: #DC2626;--color-error-700: #B91C1C;--color-warning-50: #FFFBEB;--color-warning-100: #FEF3C7;--color-warning-500: #F59E0B;--color-warning-600: #D97706;--color-info-50: #EFF6FF;--color-info-100: #DBEAFE;--color-info-500: #3B82F6;--color-info-600: #2563EB;--color-bg-white: #FFFFFF;--color-bg-light: #F8FAFC;--color-bg-subtle: #F1F5F9;--primary-color: var(--color-primary-500);--primary-dark: var(--color-primary-600);--primary-light: var(--color-primary-100);--primary-lighter: var(--color-primary-50);--accent-blue: var(--color-primary-400);--yellow: var(--color-yellow-500);--success-color: var(--color-success-500);--error-color: var(--color-error-500);--text-dark: var(--color-neutral-800);--text-gray: var(--color-neutral-500);--text-light: var(--color-neutral-400);--bg-white: var(--color-bg-white);--bg-light: var(--color-bg-light);--bg-subtle: var(--color-bg-subtle);--border-color: var(--color-neutral-200);--border-light: var(--color-neutral-100);--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", 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-size-5xl: 3rem;--font-weight-light: 300;--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;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0em;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--radius-none: 0;--radius-sm: .25rem;--radius-base: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--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);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-none: none}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif);color:var(--text-dark);line-height:var(--line-height-normal);background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-bg-light) 50%,var(--color-bg-white) 100%);min-height:100vh;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,var(--color-accent-100) 0%,transparent 70%);opacity:.3;z-index:0;pointer-events:none}body:after{content:"";position:fixed;bottom:-30%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,var(--color-primary-100) 0%,transparent 70%);opacity:.2;z-index:0;pointer-events:none}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-6) var(--spacing-5);position:relative;z-index:1;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.container{padding:var(--spacing-16) var(--spacing-10)}}.form-header{text-align:center;margin-bottom:var(--spacing-12);padding:var(--spacing-8) 0;position:relative;animation:fadeInDown .8s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.form-header{margin-bottom:var(--spacing-16);padding:var(--spacing-10) 0}}.logo{display:inline-block;margin-bottom:var(--spacing-6);position:relative;padding:var(--spacing-4) var(--spacing-8);background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo-text{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tighter);background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-500) 50%,var(--color-primary-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;text-shadow:none;position:relative;transition:transform .3s ease;filter:drop-shadow(0 2px 8px rgba(59,130,246,.3))}.logo-text:hover{transform:scale(1.05);filter:drop-shadow(0 4px 12px rgba(59,130,246,.4))}.logo-text:first-letter{background:linear-gradient(135deg,var(--color-primary-700) 0%,var(--color-primary-500) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.2em;display:inline-block;transform:translateY(-2px)}.logo:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);border-radius:var(--radius-full)}@media(min-width:768px){.logo-text{font-size:var(--font-size-5xl);letter-spacing:var(--letter-spacing-tighter)}.logo{padding:var(--spacing-5) var(--spacing-10)}}.form-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);margin-bottom:var(--spacing-4);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-800) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}@media(min-width:768px){.form-title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-5)}}.form-subtitle{font-size:var(--font-size-lg);color:var(--text-gray);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);max-width:600px;margin:0 auto;padding:0 var(--spacing-4)}@media(min-width:768px){.form-subtitle{font-size:var(--font-size-xl)}}.employee-form{background:var(--color-bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-8) var(--spacing-6);box-shadow:var(--shadow-xl),0 0 0 1px #3b82f60d;border:1px solid var(--border-light);position:relative;overflow:hidden;animation:slideInUp .8s ease-out .2s both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.employee-form:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--color-primary-500) 0%,var(--color-accent-500) 50%,var(--color-primary-500) 100%);background-size:200% 100%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.employee-form:after{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,var(--color-primary-100) 0%,transparent 70%);opacity:.3;pointer-events:none}@media(min-width:768px){.employee-form{border-radius:var(--radius-2xl);padding:var(--spacing-12) var(--spacing-12);box-shadow:var(--shadow-2xl),0 0 0 1px #3b82f60d}}.form-section{margin-bottom:var(--spacing-12);padding-bottom:var(--spacing-10);border-bottom:1px solid var(--border-light)}@media(min-width:768px){.form-section{margin-bottom:var(--spacing-16);padding-bottom:var(--spacing-12)}}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header{margin-bottom:var(--spacing-8);position:relative;padding-left:var(--spacing-6);border-left:4px solid var(--color-primary-500)}@media(min-width:768px){.section-header{margin-bottom:var(--spacing-10);padding-left:var(--spacing-8)}}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);margin-bottom:var(--spacing-2);letter-spacing:var(--letter-spacing-tight);display:flex;align-items:center;gap:var(--spacing-3)}.section-title:before{content:"";width:8px;height:8px;background:var(--color-accent-500);border-radius:var(--radius-full);box-shadow:0 0 0 4px var(--color-accent-100)}@media(min-width:768px){.section-title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-3)}}.section-description{font-size:var(--font-size-sm);color:var(--text-gray);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);margin-top:var(--spacing-2)}@media(min-width:768px){.section-description{font-size:15px}}.form-grid{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr);gap:24px}}.form-group{display:flex;flex-direction:column}.form-group--full{grid-column:1 / -1}.form-label{font-size:14px;font-weight:500;color:var(--text-dark);margin-bottom:8px;display:flex;align-items:center;gap:6px;letter-spacing:-.01em}@media(min-width:768px){.form-label{font-size:15px;margin-bottom:10px}}.required{color:var(--error-color)}.form-hint{font-size:12px;font-weight:400;color:var(--text-light);margin-left:4px}.form-input{padding:var(--spacing-4) var(--spacing-4);border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--color-bg-light);color:var(--text-dark);-webkit-appearance:none;appearance:none;position:relative}@media(min-width:768px){.form-input{padding:var(--spacing-4) var(--spacing-5);font-size:var(--font-size-base);border-radius:var(--radius-xl)}}.form-input:hover:not(:disabled){border-color:var(--color-primary-300);background:var(--color-bg-white);box-shadow:0 2px 8px #3b82f614}.form-input:focus:not(:disabled){outline:none;border-color:var(--color-primary-500);background:var(--color-bg-white);box-shadow:0 0 0 4px var(--color-primary-50),0 4px 12px #3b82f626;transform:translateY(-1px)}.form-input:disabled{background:var(--color-neutral-100);border-color:var(--color-neutral-300);color:var(--color-neutral-500);cursor:not-allowed;opacity:.7}input[type=date],input[type=tel],input[type=email],select{font-size:16px}@media(min-width:768px){input[type=date],input[type=tel],input[type=email],select{font-size:15px}}.form-input:invalid{border-color:var(--error-color)}.form-input.error{border-color:var(--color-error-500);background:var(--color-error-50)}.form-input.error:focus{border-color:var(--color-error-500);box-shadow:0 0 0 4px var(--color-error-50)}.error-message{color:var(--color-error-600);font-size:var(--font-size-sm);margin-top:var(--spacing-2);font-weight:var(--font-weight-normal);display:flex;align-items:center;gap:var(--spacing-1)}.error-message:before{content:"⚠️";font-size:var(--font-size-xs)}.loading-indicator{margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-primary-500);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-2);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-indicator:before{content:"⏳";font-size:var(--font-size-base);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.radio-group{display:flex;flex-direction:column;gap:16px;margin-top:8px}@media(min-width:768px){.radio-group{flex-direction:row;gap:24px}}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:16px}.radio-label input[type=radio]{width:20px;height:20px;min-width:20px;cursor:pointer;flex-shrink:0}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:16px;line-height:1.6}.checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:2px;cursor:pointer;flex-shrink:0}.dependentes-container{margin-top:24px}.dependente-card{background:linear-gradient(135deg,var(--color-bg-subtle) 0%,var(--color-bg-white) 100%);border:2px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.dependente-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);transform:scaleY(0);transition:transform .3s ease}.dependente-card:hover:before{transform:scaleY(1)}@media(min-width:768px){.dependente-card{padding:var(--spacing-8);border-radius:var(--radius-2xl)}}.dependente-card:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.dependente-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:2px solid var(--border-light);position:relative}.dependente-header:after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);border-radius:var(--radius-full)}.dependente-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);display:flex;align-items:center;gap:var(--spacing-2)}.dependente-header h3:before{content:"👤";font-size:var(--font-size-lg)}.btn-remove{background:var(--color-error-500);color:var(--color-bg-white);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease}.btn-remove:hover{background:var(--color-error-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn{padding:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit;width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-size:var(--font-size-sm)}@media(min-width:768px){.btn{width:auto;padding:var(--spacing-4) var(--spacing-8);min-height:auto}}.btn--primary{background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%);color:var(--color-bg-white);box-shadow:var(--shadow-md);border:none}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-600) 0%,var(--color-accent-700) 100%);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-md)}.btn--primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn--secondary{background:var(--color-bg-white);color:var(--color-primary-600);border:2px solid var(--color-primary-500)}.btn--secondary:hover{background:var(--color-primary-50);border-color:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn--large{padding:var(--spacing-5) var(--spacing-10);font-size:var(--font-size-lg);min-height:56px}.form-actions{display:flex;justify-content:center;margin-top:var(--spacing-10);padding-top:var(--spacing-8);border-top:2px solid var(--border-light);position:relative}.form-actions:before{content:"";position:absolute;top:-2px;left:50%;transform:translate(-50%);width:100px;height:2px;background:linear-gradient(90deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);border-radius:var(--radius-full)}@media(min-width:768px){.form-actions{margin-top:var(--spacing-12);padding-top:var(--spacing-10)}}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-5);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-10) var(--spacing-8);max-width:520px;width:100%;text-align:center;box-shadow:var(--shadow-2xl);position:relative;overflow:hidden;animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--color-success-500) 0%,var(--color-success-600) 100%)}.modal-icon{font-size:80px;margin-bottom:var(--spacing-6);animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.modal-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4);background:linear-gradient(135deg,var(--color-success-600) 0%,var(--color-primary-600) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-message{font-size:var(--font-size-base);color:var(--text-gray);margin-bottom:var(--spacing-8);line-height:var(--line-height-relaxed);padding:0 var(--spacing-4)}.modal-content--success{border:2px solid var(--color-success-500)}.modal-title--success{color:var(--color-success-700);background:none;-webkit-background-clip:unset;-webkit-text-fill-color:var(--color-success-700);background-clip:unset}.modal-success-badge{display:inline-flex;align-items:center;gap:var(--spacing-2);background:var(--color-success-50);border:1px solid var(--color-success-100);border-radius:var(--radius-full);padding:var(--spacing-2) var(--spacing-4);margin-bottom:var(--spacing-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-success-700)}.modal-success-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--color-success-500);color:#fff;border-radius:50%;font-size:12px;font-weight:var(--font-weight-bold)}.modal-success-text{color:var(--color-success-700)}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:var(--spacing-2);vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:767px){.section-title{font-size:18px}.section-description,.form-label{font-size:13px}.modal-content{padding:32px 24px;margin:16px;max-width:calc(100% - 32px)}.btn--large{padding:16px 24px;font-size:16px}.dependente-header{flex-direction:column;align-items:flex-start;gap:12px}.dependente-header h3{font-size:18px}.btn-remove{width:100%;padding:12px}.form-actions{margin-top:24px}}@media(min-width:480px)and (max-width:767px){.btn-remove{width:auto;padding:8px 16px}.dependente-header{flex-direction:row;align-items:center;justify-content:space-between}}
