*{box-sizing:border-box;margin:0;padding:0}:root{--bs-primary:#3b82f6;--bs-primary-rgb:59,130,246;--bs-btn-bg:#3b82f6;--bs-btn-border-color:#3b82f6;--bs-btn-hover-bg:#2563eb;--bs-btn-hover-border-color:#2563eb;--bs-btn-active-bg:#1e40af;--bs-btn-active-border-color:#1e40af;--bs-btn-border-radius:0.625rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0d6efd,#0a58ca);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}#root,body{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.user-select-none{-webkit-user-select:none;user-select:none}.cursor-pointer{cursor:pointer}.text-shadow{text-shadow:0 2px 4px #0000004d}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:20px auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.how-to-add-leave-banner{animation:slideDown .4s ease-out;left:50%;max-width:600px;position:fixed;top:80px;transform:translateX(-50%);width:calc(100% - 40px);z-index:1050}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.how-to-add-leave-content{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:12px;box-shadow:0 10px 40px #0003;color:#fff;display:flex;gap:16px;padding:20px;position:relative}.how-to-add-leave-icon{animation:pulse 2s infinite;flex-shrink:0;font-size:3rem}.how-to-add-leave-text{flex:1 1}.how-to-add-leave-text h5{font-size:1.25rem;font-weight:600;margin:0 0 8px}.how-to-add-leave-text p{font-size:.95rem;line-height:1.5;margin:0;opacity:.95}.how-to-add-leave-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.how-to-add-leave-actions .btn-primary{background:#fff;border:none;color:#38a169;font-weight:600;white-space:nowrap}.how-to-add-leave-actions .btn-primary:hover{background:#f7fafc;color:#2f855a}.how-to-add-leave-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;transition:all .2s;width:28px}.how-to-add-leave-close:hover{background:#ffffff4d;transform:scale(1.1)}@media (max-width:768px){.how-to-add-leave-banner{top:70px;width:calc(100% - 20px)}.how-to-add-leave-content{flex-direction:column;padding:16px;text-align:center}.how-to-add-leave-icon{font-size:2.5rem}.how-to-add-leave-text h5{font-size:1.1rem}.how-to-add-leave-text p{font-size:.875rem}.how-to-add-leave-actions{flex-direction:row;justify-content:center;width:100%}.how-to-add-leave-actions .btn{flex:1 1}}.landing-page{background:linear-gradient(135deg,#e8f0f7,#dce8f3);min-height:100vh}.hero-section{background:var(--primary-gradient);color:#fff;overflow:hidden;padding:100px 20px 80px;position:relative;text-align:center}.hero-section:before{background:radial-gradient(circle at 20% 50%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 80%,#ffffff14 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-content{margin:0 auto;max-width:800px;position:relative;z-index:1}.hero-icon{display:block;height:120px;margin:0 auto 20px;object-fit:contain;width:120px}.hero-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2;margin-bottom:20px}.hero-subtitle{font-size:clamp(1.1rem,2.5vw,1.3rem);line-height:1.6;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:600px;opacity:.95}.cta-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.cta-demo,.cta-signup{border-radius:12px;box-shadow:0 4px 12px #0000001f;font-size:1.1rem;font-weight:700;letter-spacing:-.01em;padding:16px 36px;transition:all .2s ease}.cta-demo{background:#fff;border:none;color:var(--primary-dark)}.cta-demo:hover{background:#f8f9fa;box-shadow:0 6px 20px var(--shadow-primary);color:var(--primary-dark);transform:translateY(-2px)}.cta-signup{background:#0000;border:2px solid #fff;color:#fff}.cta-signup:hover{background:#fff;box-shadow:0 6px 20px #ffffff4d;color:var(--primary-dark);transform:translateY(-2px)}.how-it-works{background:#fff;padding:60px 20px}.section-title{color:#2d3748;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;margin-bottom:50px;text-align:center}.steps-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1100px}.step-card{background:#f8f9fa;border-radius:12px;padding:30px 20px;position:relative;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.step-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-5px)}.step-number{align-items:center;background:var(--primary-gradient-horizontal);border-radius:50%;box-shadow:0 2px 10px var(--shadow-primary-hover);color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;left:20px;position:absolute;top:-15px;width:40px}.step-icon{display:block;font-size:3rem;margin-bottom:20px}.step-title{color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:12px}.step-description{color:#718096;font-size:1rem;line-height:1.6}.features-section{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);padding:50px 20px}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1000px}.feature-item{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.feature-item:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-3px)}.feature-icon{color:var(--primary-main);flex-shrink:0;font-size:1.8rem}.feature-item span{color:#2d3748;font-size:1rem;font-weight:500}.final-cta{background:#fff;padding:60px 20px;text-align:center}.final-cta-title{color:#2d3748;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:30px}.final-cta .btn{background:var(--primary-gradient-horizontal);border:none;border-radius:8px;box-shadow:0 4px 12px var(--shadow-primary);font-size:1.1rem;font-weight:600;padding:14px 40px;transition:all .3s ease}.final-cta .btn:hover{background:var(--primary-dark);box-shadow:0 6px 20px var(--shadow-primary-hover);transform:translateY(-2px)}@media (max-width:768px){.hero-section{padding:80px 20px 60px}.hero-icon{height:100px;width:100px}.cta-buttons{align-items:stretch;flex-direction:column}.cta-demo,.cta-signup{font-size:1.05rem;margin:0 auto;max-width:320px;padding:18px 32px;width:100%}.steps-grid{gap:30px;grid-template-columns:1fr}.features-grid{gap:20px;grid-template-columns:1fr}}.App{background:linear-gradient(135deg,#e8f0f7,#dce8f3);min-height:100vh}.navbar-toggler.android-menu{transition:background-color .2s ease}.navbar-toggler.android-menu:hover{background-color:#0000000d!important}.navbar-toggler.android-menu:active{background-color:#0000001a!important}.navbar-toggler.android-menu:after{background:#0000001a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s;width:0}.navbar-toggler.android-menu:active:after{height:100%;width:100%}.calendar-container{background:#f5f8fc;border:none;border-radius:16px;box-shadow:0 2px 8px #00000014,0 1px 3px #0000000d;margin:12px;overflow:hidden}.calendar-header{background:linear-gradient(135deg,#edf3f8,#e3ecf4);border-bottom:1px solid #d1dce6;color:#1f2937;padding:16px 20px;text-align:center}.calendar-header h1{color:#111827;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;letter-spacing:-.025em;margin-bottom:12px}.year-controls{align-items:center;display:flex;gap:24px;justify-content:center}.year-display{color:#3b82f6;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;min-width:100px}.btn-year{background:#f0f5f9;border:1.5px solid #c5d3e0;border-radius:12px;box-shadow:0 1px 2px #0000000f;color:#4b5563;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-year:hover{background:#e3ecf4;border-color:#3b82f6;box-shadow:0 4px 6px #3b82f626;color:#3b82f6;transform:translateY(-1px)}.legend{grid-gap:6px 12px;background:#fff;border:1px solid #d1dce6;border-radius:6px;box-shadow:0 1px 2px #0000000d;display:grid;gap:6px 12px;grid-template-columns:repeat(2,1fr);padding:8px 10px}.legend-item{align-items:center;color:#6b7280;display:flex;font-size:.7rem;font-weight:500;gap:6px;white-space:nowrap}.legend-color{border-radius:3px;box-shadow:0 1px 2px #0000001a;display:inline-block;flex-shrink:0;height:12px;width:12px}.legend-color.holiday{background:#e53e3e}.legend-color.paternity{background:#38b2ac}.legend-color.vacation{background:#3182ce}.legend-color.lactancia{background:#68d391}.legend-color.maternity{background:#d69e2e}.legend-color.custom{background:#805ad5}.action-buttons{background:linear-gradient(135deg,#edf3f8,#e3ecf4);border-bottom:1px solid #d1dce6;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:24px}.btn-action{align-items:center;background:#f0f5f9;border:1.5px solid #c5d3e0;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-action.active{background:#eff6ff;border-color:#3b82f6;color:#1e40af}.btn-action:hover{background:#e3ecf4;border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61f;color:#3b82f6;transform:translateY(-1px)}.calendar-grid{grid-gap:16px;background:linear-gradient(135deg,#e8f0f7,#dce8f3);display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:16px}.month-card{background:#f0f5f9;border:1px solid #d1dce6;border-radius:12px;box-shadow:0 2px 4px #00000014;overflow:hidden;transition:all .2s ease}.month-card:hover{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;transform:translateY(-2px)}.month-header{background:#3b82f6;color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.05em;padding:10px;text-align:center;text-transform:uppercase}.month-grid{border-top:none;display:grid;grid-template-columns:repeat(7,1fr)}.day-header{background:#e3ecf4;border-bottom:1px solid #d1dce6;border-right:1px solid #d1dce6;color:#5a6c7d;font-size:.65rem;font-weight:700;letter-spacing:.075em;padding:8px 4px;text-align:center;text-transform:uppercase}.day-header:last-child{border-right:none}.day-cell{align-items:center;background:#f5f8fc;border-bottom:1px solid #d1dce6;border-right:1px solid #d1dce6;color:#374151;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;justify-content:center;min-height:38px;padding:8px 4px;pointer-events:auto;position:relative;text-align:center;transition:all .15s ease;-webkit-user-select:none;user-select:none}.day-cell:last-child{border-right:none}.day-cell:hover{background:#e3ecf4}body.demo-mode .day-cell:not(.has-event):not(.holiday):hover{background:#e0f2ff;border-color:#3b82f6;box-shadow:0 2px 4px #3b82f626;cursor:pointer;transform:scale(1.05)}.day-cell.other-month{background:#e8f0f7;color:#c1cbd6;cursor:default;pointer-events:none}.day-cell.holiday{background:#e53e3e;color:#fff;font-weight:600}.day-cell.paternity{background:#38b2ac;color:#fff;font-weight:600;position:relative}.day-cell.maternity,.day-cell.paternity{border-left:3px solid #0003;border-right:3px solid #0003}.day-cell.maternity:hover:after,.day-cell.paternity:hover:after{background:#000000e6;border-radius:4px;bottom:100%;color:#fff;content:attr(data-week-info);font-size:.75rem;left:50%;margin-bottom:4px;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}@media (max-width:768px){.day-cell.maternity:active:after,.day-cell.paternity:active:after{background:#000000e6;border-radius:4px;bottom:100%;color:#fff;content:attr(data-week-info);font-size:.75rem;left:50%;margin-bottom:4px;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}}.day-cell.vacation{background:#3182ce;color:#fff;font-weight:600}.day-cell.lactancia{background:#68d391;color:#fff;font-weight:600}.day-cell.maternity{background:#d69e2e;color:#fff;font-weight:600}.day-cell.custom{background:#805ad5;color:#fff;font-weight:600}.partner-indicator{color:#fffc;font-size:8px;line-height:1;pointer-events:none;position:absolute;right:2px;top:2px}.day-cell.selecting{color:#2d3748!important}.day-cell.selected-range,.day-cell.selecting{background:#fed7d7!important;border-color:#fc8181!important}.summary{background:linear-gradient(135deg,#edf3f8,#e3ecf4);border-top:1px solid #d1dce6;padding:20px 16px;text-align:center}.summary h3{color:#111827;font-size:clamp(1rem,3vw,1.25rem);font-weight:700;letter-spacing:-.025em;margin-bottom:16px}.summary-content{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.summary-item{background:#f0f5f9;border:1px solid #c5d3e0;border-radius:12px;color:#6b7280;font-size:.875rem;min-width:140px;padding:24px 28px;transition:all .2s ease}.summary-item:hover{background:#e3ecf4;border-color:#3b82f6;box-shadow:0 4px 6px #3b82f626;transform:translateY(-2px)}.summary-item .count{color:#3b82f6;display:block;font-size:clamp(2rem,5vw,2.5rem);font-weight:800;letter-spacing:-.05em;margin-bottom:6px}input[type=date]{appearance:none;-webkit-appearance:none;background-color:#fff;position:relative}input[type=date]::-webkit-calendar-picker-indicator{background:#0000;color:#0000;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}input[type=date]::-webkit-calendar-picker-indicator:after{content:"📅";font-size:16px;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%)}@media (max-width:768px){input[type=date]{font-size:16px!important;min-height:44px}}.stats-section{display:block!important;visibility:visible!important}@keyframes pulse{0%{box-shadow:0 0 0 0 #28a745b3}70%{box-shadow:0 0 0 10px #28a74500}to{box-shadow:0 0 0 0 #28a74500}}.stats-toggle-button{display:flex!important;visibility:visible!important}@media (max-width:576px){.navbar .badge{display:none!important}.navbar .btn-sm{font-size:.8rem!important;padding:6px 10px!important}}@media (max-width:768px){.print-button{display:none!important}.calendar-container{margin:8px}.calendar-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:10px}.calendar-header{padding:12px}.calendar-header h1{font-size:1.25rem;margin-bottom:8px}.calendar-header>div{flex-direction:column;gap:15px}.day-cell{font-size:.85rem;min-height:35px}.month-header{font-size:1.1rem;padding:8px}.legend{gap:4px;grid-template-columns:1fr;min-width:0;min-width:auto;padding:6px 8px}.legend-item{font-size:.65rem}.legend-color{height:10px;width:10px}.planning-section{flex-direction:column;gap:8px!important;padding:8px!important}.planning-section>div{width:100%}.planning-inputs{flex-direction:column!important}.planning-inputs>div{max-width:none!important;width:100%!important}.action-buttons{display:none!important}.summary{padding:20px}.summary h2{font-size:1.5rem}.stats-grid{gap:15px}.stat-card{padding:15px}.stat-value{font-size:2rem}.alert{font-size:.9rem;margin:10px!important}.stats-dashboard{padding:12px!important}.stats-grid{gap:10px!important;grid-template-columns:1fr!important}.stat-card{padding:12px!important}.stat-icon{font-size:1.25rem!important}.stat-value{font-size:1.1rem!important}.stat-label{font-size:.8rem!important}}body.android-app .print-button{display:none!important}@media (min-width:768px){.legend{gap:10px 16px;grid-template-columns:repeat(2,1fr);max-width:360px;padding:12px 16px}.legend-item{font-size:.85rem;gap:8px;line-height:1.3;white-space:normal}.legend-color{border-radius:4px;height:14px;width:14px}}@media print{.action-buttons,.alert,.btn,.btn-action,.btn-year,.fa-print,.form-check,.planning-inputs,.stats-dashboard>div:first-child,.year-controls button,button{display:none!important}.stats-dashboard{page-break-inside:avoid}.calendar-header h1{font-size:1.5rem;margin-bottom:1rem;text-align:center}.calendar-grid,.month-card{page-break-inside:avoid}.month-card{margin-bottom:1rem}.month-grid{border:1px solid #ddd}.day-cell{border:1px solid #ddd!important;font-size:.9rem;min-height:40px}.day-cell.holiday{background:#fcc!important}.day-cell.holiday,.day-cell.paternity{color:#000!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.day-cell.paternity{background:#cce7e8!important}.day-cell.maternity{background:#ffe4b5!important}.day-cell.maternity,.day-cell.vacation{color:#000!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.day-cell.vacation{background:#ccdeff!important}.day-cell.lactancia{background:#d4f1d4!important}.day-cell.custom,.day-cell.lactancia{color:#000!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.day-cell.custom{background:#e6d9ff!important}.legend{margin-bottom:1rem}.legend,.summary{page-break-inside:avoid}.summary{border:1px solid #ddd;margin-top:2rem;padding:1rem}.summary h3{font-size:1.2rem}.summary button{display:none}@page{size:A4 landscape;margin:1cm}body{font-size:12pt}}.printing-pdf{background:#fff!important}.printing-pdf .action-buttons,.printing-pdf .alert,.printing-pdf .btn,.printing-pdf .btn-action,.printing-pdf .btn-year,.printing-pdf .fa-file-pdf,.printing-pdf .fa-print,.printing-pdf .form-check,.printing-pdf .planning-inputs,.printing-pdf .stats-dashboard>div:first-child,.printing-pdf .year-controls button,.printing-pdf button{display:none!important}.printing-pdf .month-card{-webkit-column-break-inside:avoid!important;break-inside:avoid!important;margin-bottom:20px!important;page-break-inside:avoid!important}.printing-pdf .calendar-grid{grid-gap:15px!important;display:grid!important;gap:15px!important;grid-template-columns:repeat(3,1fr)!important;padding:20px!important}.printing-pdf .calendar-header h1:after{color:#333;content:attr(data-print-period);display:block;font-size:1rem;margin-top:.5rem}.printing-pdf .summary button{display:none!important}.printing-pdf-mobile{margin:0 auto;max-width:768px!important;width:768px!important}.printing-pdf-mobile .calendar-header{padding:16px!important}.printing-pdf-mobile .calendar-header h1{font-size:1.5rem!important}.printing-pdf-mobile .month-grid{display:block!important}.printing-pdf-mobile .month-card{margin-bottom:20px!important;page-break-inside:avoid;width:100%!important}.printing-pdf-mobile .month-header{font-size:1.2rem!important;padding:8px!important}.printing-pdf-mobile .day-cell{font-size:.8rem!important;height:40px!important}.printing-pdf-mobile .day-cell .event-indicator{height:4px!important;width:4px!important}.printing-pdf-mobile .stats-container{padding:10px!important}.printing-pdf-mobile .stat-card{font-size:.9rem!important;margin:4px!important;padding:8px!important}.printing-pdf-mobile .summary{font-size:.9rem!important;padding:10px!important}.printing-pdf-mobile .summary h2{font-size:1.2rem!important}.printing-pdf-mobile .calendar-body{padding:10px!important}.printing-pdf-mobile .footer,.printing-pdf-mobile .language-selector,.printing-pdf-mobile .navbar{display:none!important}.event-type-selection-modal .modal-content{border:none;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.event-type-selection-modal .modal-header{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:1px solid #e5e7eb;border-radius:16px 16px 0 0;padding:20px 24px}.event-type-selection-modal .modal-title{color:#111827;font-size:1.25rem;font-weight:700;letter-spacing:-.025em}.event-type-selection-modal .modal-body{background:#fff;padding:24px}.event-type-selection-modal .modal-footer{background:#f9fafb;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;padding:16px 24px}.event-type-selection-modal .text-muted{color:#6b7280!important;font-size:1rem;font-weight:600;letter-spacing:-.01em}.event-type-button{background:#fff!important;border:2px solid #e5e7eb!important;border-radius:12px!important;padding:16px!important;transition:all .2s ease!important}.event-type-button:hover{background:#f0f9ff!important;border-color:#3b82f6!important;box-shadow:0 4px 6px -1px #3b82f61a,0 2px 4px -1px #3b82f60f;transform:translateY(-2px)}.event-type-button:active{transform:translateY(0)}.event-type-button .icon-wrapper{transition:all .2s ease}.event-type-button:hover .icon-wrapper{transform:scale(1.05)}