@charset "UTF-8";.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#036,#06c);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:450px;overflow:hidden}.login-header{background:#036;color:#fff;padding:30px;text-align:center}.login-header h1{margin:0 0 10px;font-size:2.5rem;font-weight:700}.login-header p{margin:0;font-size:1rem;opacity:.9}.login-form{padding:40px 30px}.login-form h2{margin:0 0 10px;font-size:1.75rem;color:#333}.totp-instructions{color:#666;font-size:.95rem;margin-bottom:25px;line-height:1.5}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:.95rem}.form-group input{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#06c}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.totp-input{text-align:center;font-size:1.5rem!important;letter-spacing:8px;font-weight:700}.btn-primary,.btn-secondary{width:100%;padding:14px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-bottom:10px}.btn-primary{background:#06c;color:#fff}.btn-primary:hover:not(:disabled){background:#0052a3;transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.btn-primary:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:#666;border:2px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:12px 15px;border-radius:6px;margin-bottom:20px;border-left:4px solid #c33;font-size:.95rem}.login-footer{background:#f5f5f5;padding:20px;text-align:center;border-top:1px solid #e0e0e0}.login-footer p{margin:0;font-size:.85rem;color:#666}@media (max-width: 480px){.login-card{border-radius:0;box-shadow:none}.login-header h1{font-size:2rem}.login-form{padding:30px 20px}}.dashboard-container{min-height:100vh;background:#f5f7fa}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.5rem;color:#666}.dashboard-header{background:#036;color:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;padding:20px 30px;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{margin:0;font-size:1.75rem;font-weight:700}.header-actions{display:flex;align-items:center;gap:20px}.user-info{font-size:.95rem;opacity:.9}.btn-logout{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 20px;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s}.btn-logout:hover{background:#ffffff40}.dashboard-main{max-width:1400px;margin:0 auto;padding:30px}.dashboard-content{display:flex;flex-direction:column;gap:30px}.error-banner{background:#fee;color:#c33;padding:15px 20px;border-radius:8px;border-left:4px solid #c33}.welcome-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #0000000d}.welcome-section h2{margin:0 0 10px;color:#036;font-size:1.75rem}.welcome-section p{margin:0;color:#666;font-size:1.05rem}.stats-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #0000000d}.stats-section h3{margin:0 0 20px;color:#333;font-size:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:linear-gradient(135deg,#f5f7fa,#fff);border:1px solid #e0e0e0;border-radius:10px;padding:20px;display:flex;align-items:center;gap:15px;transition:transform .3s,box-shadow .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff;box-shadow:0 2px 8px #00000014}.stat-info{flex:1}.stat-value{font-size:2rem;font-weight:700;color:#036;line-height:1;margin-bottom:5px}.stat-label{font-size:.95rem;color:#666;margin-bottom:2px}.stat-detail{font-size:.85rem;color:#999}.actions-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #0000000d}.actions-section h3{margin:0 0 20px;color:#333;font-size:1.5rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.action-card{background:linear-gradient(135deg,#06c,#036);color:#fff;border:none;border-radius:10px;padding:25px 20px;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.action-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0066cc4d}.action-icon{font-size:2.5rem}.action-label{font-size:1rem;font-weight:600}.recent-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 2px 8px #0000000d}.recent-section h3{margin:0 0 20px;color:#333;font-size:1.5rem}.table-container{overflow-x:auto;margin-bottom:20px}.data-table th{background:#f5f7fa;padding:12px 15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.data-table tbody tr:hover{background:#f9f9f9}.status-badge.processed{background:#e8f5e9;color:#2e7d32}.status-badge.pending{background:#fff3e0;color:#ef6c00}.amount{font-weight:600;color:#036;font-family:monospace}.btn-view-all{background:transparent;color:#06c;border:2px solid #0066cc;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s}.btn-view-all:hover{background:#06c;color:#fff}@media (max-width: 1280px){.dashboard-main{padding:25px 20px;gap:20px}.dashboard-header,.header-content{padding:15px 20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.stat-card{padding:15px}.stat-value{font-size:1.75rem}.stat-label{font-size:.85rem}.actions-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.action-card{padding:18px 15px}.action-icon{font-size:2rem}.action-label{font-size:.9rem}.welcome-section,.stats-section,.actions-section,.recent-section{padding:22px}.table-container{overflow-x:auto}.data-table th,.data-table td{padding:10px 12px;font-size:.9rem}}@media (max-width: 1024px){.dashboard-main{padding:18px 15px;gap:15px}.header-content{padding:12px 15px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{padding:12px}.stat-value{font-size:1.5rem}.actions-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.action-card{padding:15px 12px;gap:8px}.welcome-section,.stats-section,.actions-section,.recent-section{padding:18px}}@media (max-width: 768px){.header-content{flex-direction:column;gap:15px;text-align:center;padding:10px 12px}.header-actions{flex-direction:column;gap:10px}.header-actions button{width:100%}.dashboard-main{padding:12px 10px;gap:12px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:10px}.stat-value{font-size:1.35rem}.stat-label{font-size:.8rem}.actions-grid{grid-template-columns:repeat(2,1fr);gap:10px}.action-card{padding:12px 10px}.action-icon{font-size:1.75rem}.action-label{font-size:.85rem}.welcome-section,.stats-section,.actions-section,.recent-section{padding:15px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:500px}.data-table th,.data-table td{padding:8px 10px;font-size:.85rem}}@media (max-width: 480px){.stats-grid,.actions-grid{grid-template-columns:1fr}.stat-value{font-size:1.25rem}.data-table th,.data-table td{padding:6px 8px;font-size:.8rem}}.employees-container{min-height:100vh;background:#f5f7fa}.employees-header{background:#fff;color:#1a202c;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.employees-header .header-content{max-width:1600px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.employees-header h1{margin:0;font-size:1.75rem;font-weight:600;color:#1a202c}.employees-header .btn-back{background:#edf2f7;color:#2d3748;border:1px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.employees-header .btn-back:hover{background:#e2e8f0;border-color:#cbd5e0}.employees-main{max-width:1600px;margin:0 auto;padding:2rem}.filters-section{margin-bottom:2rem}.filters-row{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;max-width:300px;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filters-row input[type=text]{flex:0 1 auto;min-width:150px;max-width:250px;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.filters-row input[type=text]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-add{padding:.75rem 1.5rem;background:#48bb78;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s;white-space:nowrap}.btn-add:hover{background:#38a169;transform:translateY(-1px);box-shadow:0 4px 6px #48bb784d}.employees-table{width:100%;border-collapse:collapse}.employees-table thead{background:#f7fafc}.employees-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.employees-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.employees-table tbody tr.clickable-row{cursor:pointer}.employees-table tbody tr.clickable-row:hover{background:#f7fafc}.employees-table td{padding:1rem;font-size:.95rem;color:#2d3748}.employees-table tfoot{background:#f7fafc;border-top:2px solid #e2e8f0}.modal-content{background:#fff;border-radius:8px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a;margin:auto}.modal-body,.employee-form{padding:1.5rem;overflow-y:auto;flex:1}.form-group .form-help{display:block;margin-top:.35rem;font-size:.75rem;color:#718096}.employee-details{padding:1.5rem}@media (max-width: 1280px){.employees-container{padding:1.25rem}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filters-bar{padding:1rem;gap:.75rem}.search-box{min-width:200px}.table-container{overflow-x:auto}.employees-table th,.employees-table td{padding:.75rem .5rem;font-size:.85rem}.btn-add,.btn-refresh{padding:.6rem 1rem;font-size:.875rem}}@media (max-width: 1024px){.employees-container{padding:1rem}.employees-table th,.employees-table td{padding:.6rem .4rem;font-size:.8rem}.modal-content.detail-modal{max-width:90vw}}@media (max-width: 768px){.employees-container{padding:.75rem}.page-header{flex-direction:column;align-items:stretch}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.header-actions button{flex:1;min-width:120px}.summary-cards{grid-template-columns:1fr}.filters-bar{flex-direction:column;align-items:stretch;padding:.75rem}.search-box{min-width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem}.employees-table{min-width:700px}.employees-table th,.employees-table td{padding:.5rem .35rem;font-size:.75rem}.modal-overlay{padding:0}.modal-content.detail-modal{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body{max-height:calc(100vh - 160px);overflow-y:auto}.detail-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#fff;padding:.75rem;z-index:5}.form-actions button{width:100%}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.payroll-container{min-height:100vh;background:#f5f7fa}.payroll-header{background:#fff;color:#1a202c;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.payroll-header .header-content{max-width:1600px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.payroll-header h1{margin:0;font-size:1.75rem;font-weight:600;color:#1a202c}.payroll-header .btn-back{background:#edf2f7;color:#2d3748;border:1px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.payroll-header .btn-back:hover{background:#e2e8f0;border-color:#cbd5e0}.payroll-main{max-width:1600px;margin:0 auto;padding:2rem}.actions-section{margin-bottom:2rem}.actions-row{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:grid;grid-template-columns:auto auto 1fr;gap:1rem;align-items:center}.btn-create,.btn-aguinaldo,.btn-export{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s;font-weight:500}.btn-create{background:#48bb78;color:#fff}.btn-aguinaldo{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-aguinaldo:hover{transform:translateY(-1px);box-shadow:0 4px 6px #667eea4d}.btn-export{background:#4299e1;color:#fff}.btn-export:hover{background:#3182ce;transform:translateY(-1px);box-shadow:0 4px 6px #4299e14d}.filters-group{display:flex;gap:.75rem;justify-content:flex-end;align-items:center}.employee-filter-container{position:relative;flex:0 1 auto;min-width:200px;max-width:300px}.employee-search,.filter-input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.employee-search:focus,.filter-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-select{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;min-width:150px;max-width:200px;background:#fff;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-mode-toggle{display:flex;gap:.5rem;align-items:center;background:#f7fafc;padding:.25rem;border-radius:6px;border:1px solid #e2e8f0}.toggle-btn{padding:.5rem 1rem;border:none;background:transparent;color:#4a5568;cursor:pointer;border-radius:4px;font-size:.85rem;font-weight:600;transition:all .2s}.toggle-btn:hover{background:#e2e8f0;color:#2d3748}.toggle-btn.active{background:#fff;color:#667eea;box-shadow:0 1px 3px #0000001a}.date-range-inputs{display:flex;align-items:center;gap:.5rem}.range-separator{color:#718096;font-weight:600;padding:0 .25rem}.filters-group input[type=month]{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;min-width:150px;max-width:180px;cursor:pointer;transition:border-color .2s}.filters-group input[type=month]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.table-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.payroll-table{width:100%;border-collapse:collapse}.payroll-table thead{background:#f7fafc}.payroll-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.payroll-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.payroll-table tbody tr.clickable-row{cursor:pointer}.payroll-table tbody tr.clickable-row:hover{background:#f7fafc}.payroll-table td{padding:1rem;font-size:.95rem;color:#2d3748}.payroll-table tfoot{background:#f7fafc;border-top:2px solid #e2e8f0}.btn-inline-edit{background:none;border:none;cursor:pointer;font-size:1rem;margin-left:.5rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s;opacity:.6}.btn-inline-edit:hover{background:#edf2f7;opacity:1;transform:scale(1.1)}.modal-body,.payroll-form{padding:1.5rem;overflow-y:auto;flex:1}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.btn-print{padding:.75rem 1.5rem;background:#48bb78;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background .2s;display:flex;align-items:center;gap:.5rem}.btn-print:hover{background:#38a169}.modal-payslip{max-width:900px;max-height:90vh;display:flex;flex-direction:column}.payslip-content{padding:1rem;background:#fff;overflow-y:auto;flex:1}.payslip-content body{max-width:100%!important;padding:0!important;margin:0!important}.modal-calculate{max-width:800px}.calculate-content{padding:1.5rem;max-height:90vh;overflow-y:auto}.employee-info{background:#f7fafc;padding:1rem 1.5rem;border-radius:6px;margin-bottom:1.5rem}.employee-info h3{margin:0 0 .25rem;font-size:1.1rem;color:#2d3748}.employee-info p{margin:0;font-size:.9rem;color:#718096}.calculation-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.calc-section{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:1rem}.calc-section h4{margin:0 0 1rem;font-size:1rem;color:#2d3748;font-weight:600}.calc-items{display:flex;flex-direction:column;gap:.75rem}.calc-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.95rem}.calc-item span:first-child{color:#4a5568}.calc-item span:last-child{font-family:Courier New,monospace;font-weight:500;color:#2d3748}.calc-item.total{border-top:2px solid #e2e8f0;padding-top:.75rem;margin-top:.5rem}.calc-item.total span{font-size:1.05rem}.calc-item .negative{color:#e53e3e}.net-salary-section{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;text-align:center}.net-salary-section h4{color:#fff;margin-bottom:.5rem}.net-salary-amount{font-size:2rem;font-weight:700;font-family:Courier New,monospace}@media print{@page{size:A4;margin:1cm}*{visibility:hidden}.modal-overlay,.modal-calculate,.modal-calculate *,.calculate-content,.calculate-content *{visibility:visible!important}html,body{height:auto!important;margin:0!important;padding:0!important}.modal-overlay{position:absolute!important;top:0!important;left:0!important;background:#fff!important;width:100%!important;height:auto!important;display:block!important;overflow:visible!important}.modal-calculate{position:static!important;transform:none!important;margin:0!important;max-width:100%!important}.modal-content.calculate-content{position:static!important;box-shadow:none!important;max-width:100%!important;margin:0!important;padding:.5rem!important;border-radius:0!important}.modal-header{display:none!important}.employee-info{padding:.5rem!important;margin-bottom:.75rem!important}.employee-info h3{font-size:.95rem!important;margin-bottom:.15rem!important}.employee-info p{font-size:.75rem!important}.calculation-sections{gap:.75rem!important;margin-bottom:.75rem!important}.calc-section{padding:.5rem!important;margin-bottom:0!important}.calc-section h4{font-size:.85rem!important;margin-bottom:.5rem!important}.calc-items{gap:.25rem!important}.calc-item{padding:.25rem 0!important;font-size:.75rem!important}.calc-item .label,.calc-item .value{font-size:.75rem!important}.calc-subtotal{padding:.4rem!important;margin-top:.5rem!important;font-size:.8rem!important}.net-salary-section{padding:.75rem!important;margin-top:.75rem!important}.net-salary-section h4{font-size:.9rem!important;margin-bottom:.25rem!important}.net-salary-amount{font-size:1.3rem!important}.modal-calculate .modal-actions{display:none!important}.calculate-content,.calc-section{page-break-inside:avoid}.modal-payslip,.modal-payslip *,.payslip-content,.payslip-content *,.payslip-content body,.payslip-content body *{visibility:visible!important}.modal-overlay:has(.modal-payslip){position:absolute!important;top:0!important;left:0!important;background:#fff!important;width:100%!important;height:auto!important;display:block!important;overflow:visible!important}.modal-payslip{position:static!important;transform:none!important;margin:0!important;max-width:100%!important;max-height:none!important}.payslip-content{position:static!important;max-width:100%!important;padding:.5rem!important;overflow:visible!important}.payslip-content body{padding:0!important;margin:0!important;font-size:.65rem!important;line-height:1.2!important}.payslip-content .header{padding-bottom:5px!important;margin-bottom:8px!important;border-bottom-width:2px!important}.payslip-content .header h1{font-size:1rem!important;margin:0 0 3px!important}.payslip-content .header p{font-size:.65rem!important;margin:0!important}.payslip-content .employee-info{padding:5px 8px!important;margin-bottom:8px!important}.payslip-content .info-row{margin-bottom:2px!important;font-size:.65rem!important}.payslip-content .section{margin-bottom:10px!important}.payslip-content .section h2{font-size:.85rem!important;padding-bottom:3px!important;margin-bottom:5px!important;border-bottom-width:1px!important}.payslip-content table{margin-top:5px!important;font-size:.6rem!important}.payslip-content th,.payslip-content td{padding:3px 5px!important}.payslip-content th{font-size:.6rem!important}.payslip-content .total-row{font-size:.7rem!important;padding:4px 5px!important}.payslip-content .footer{margin-top:10px!important;padding-top:5px!important;font-size:.55rem!important;border-top-width:1px!important}.payslip-content .footer p{margin:2px 0!important}.modal-payslip .modal-header,.modal-payslip .form-actions{display:none!important}}@media (max-width: 1280px){.payroll-container{padding:1.25rem}.header-content{padding:1rem 1.5rem}.header-content h1{font-size:1.5rem}.actions-row{gap:1rem}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-card{padding:1rem}.card-value{font-size:1.5rem}.filters-group{gap:.75rem}.filters-group input[type=month],.filters-group input[type=date]{min-width:130px;max-width:160px;padding:.6rem;font-size:.875rem}.employee-filter-container{min-width:180px;max-width:260px}.table-container{overflow-x:auto}.payroll-table th,.payroll-table td{padding:.75rem .5rem;font-size:.85rem}.btn-add,.btn-refresh,.btn-primary,.btn-secondary{padding:.6rem 1rem;font-size:.875rem}}@media (max-width: 1024px){.payroll-container{padding:1rem}.header-content{padding:.875rem 1.25rem}.actions-row{grid-template-columns:1fr 1fr;gap:.75rem}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.payroll-table th,.payroll-table td{padding:.6rem .4rem;font-size:.8rem}.modal-content.detail-modal{max-width:90vw}.detail-grid{grid-template-columns:1fr 1fr}.btn-inline-edit{padding:.2rem .35rem;font-size:.9rem}}@media (max-height: 900px){.modal-content{max-height:85vh}.modal-body,.payroll-form{max-height:calc(85vh - 140px);overflow-y:auto}.form-actions{position:sticky;bottom:0;background:#fff;padding:1rem 1.5rem;margin:0;border-top:1px solid #e2e8f0;z-index:5}}@media (max-width: 768px){.payroll-container{padding:.75rem}.header-content{padding:.75rem 1rem}.page-header{flex-direction:column;align-items:stretch}.summary-cards,.actions-row{grid-template-columns:1fr;gap:.75rem}.filters-group{flex-direction:column;align-items:stretch}.search-box{min-width:100%}.filter-select,.filters-group input[type=month],.filters-group input[type=date],.filters-group .filter-mode-toggle,.filters-group .date-range-inputs,.employee-filter-container{min-width:100%;max-width:100%}.date-range-inputs{flex-direction:column}.date-range-inputs .range-separator{display:none}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem}.payroll-table{min-width:700px}.payroll-table th,.payroll-table td{padding:.5rem .35rem;font-size:.75rem}.modal-overlay{padding:0}.modal-content.detail-modal{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body{max-height:calc(100vh - 160px);overflow-y:auto}.detail-grid,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#fff;padding:.75rem;z-index:5}.form-actions button{width:100%}}.date-range-picker{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:all .2s;background:#fff}.date-range-picker:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.react-datepicker{font-family:inherit;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026}.react-datepicker__header{background-color:#3182ce!important;border-bottom:none;border-radius:8px 8px 0 0;padding-top:12px}.react-datepicker__current-month{color:#fff!important}.react-datepicker__day-name{color:#fff!important;font-weight:600}.react-datepicker__day-names{background-color:#3182ce}.react-datepicker__navigation-icon:before{border-color:#fff}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range{background-color:#3182ce;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range){background-color:#3182ce80}.react-datepicker__day:hover{background-color:#e2e8f0}.react-datepicker__day--keyboard-selected{background-color:#3182ce;color:#fff}.payroll-type-hint{font-size:.8em;color:#718096;font-weight:400;margin-left:.5em}.loans-container{min-height:100vh;background:#f5f7fa}.loans-header{background:#fff;color:#1a202c;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.loans-header .header-content{max-width:1600px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.loans-header h1{margin:0;font-size:1.75rem;font-weight:600;color:#1a202c}.loans-header .btn-back{background:#edf2f7;color:#2d3748;border:1px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.loans-header .btn-back:hover{background:#e2e8f0;border-color:#cbd5e0}.loans-main{max-width:1600px;margin:0 auto;padding:2rem}.loans-table{width:100%;border-collapse:collapse}.loans-table thead{background:#f7fafc}.loans-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.loans-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.loans-table tbody tr.clickable-row{cursor:pointer}.loans-table tbody tr.clickable-row:hover{background:#f7fafc}.loans-table td{padding:1rem;font-size:.95rem;color:#2d3748}.loans-table tfoot{background:#f7fafc;border-top:2px solid #e2e8f0}.modal-body,.loan-form,.payment-form{padding:1.5rem;overflow-y:auto;flex:1}.loan-details{padding:1.5rem}.payment-modal-content{padding:1.5rem}.loan-summary{background:#f7fafc;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.loan-summary h4{margin:0 0 1rem;font-size:1.1rem;color:#2d3748}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.payment-table{width:100%;border-collapse:collapse;margin-top:1rem}.payment-table thead{background:#f7fafc}.payment-table th{padding:.75rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.payment-table tbody tr{border-bottom:1px solid #e2e8f0}.payment-table tbody tr:hover{background:#f7fafc}.payment-table td{padding:.75rem;font-size:.95rem;color:#2d3748}.payment-table td:last-child{font-family:Courier New,monospace;font-weight:500}.no-payments{text-align:center;padding:2rem;color:#a0aec0;font-style:italic}.payment-history{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:.5rem;background:#f7fafc;border-radius:6px}.payment-item{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:.75rem;background:#fff;border-radius:4px;border:1px solid #e2e8f0;align-items:center}.payment-date{font-size:.875rem;color:#4a5568;font-weight:500}.payment-amount{font-size:.875rem;font-weight:600;color:#2d3748;font-family:Courier New,monospace;text-align:right}@media (max-width: 1280px){.loans-container{padding:1.25rem}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filters-bar{padding:1rem;gap:.75rem}.search-box{min-width:200px}.table-container{overflow-x:auto}.loans-table th,.loans-table td{padding:.75rem .5rem;font-size:.85rem}.btn-add,.btn-refresh{padding:.6rem 1rem;font-size:.875rem}}@media (max-width: 1024px){.loans-container{padding:1rem}.loans-table th,.loans-table td{padding:.6rem .4rem;font-size:.8rem}.modal-content.detail-modal{max-width:90vw}}@media (max-width: 768px){.loans-container{padding:.75rem}.page-header{flex-direction:column;align-items:stretch}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.header-actions button{flex:1;min-width:120px}.summary-cards{grid-template-columns:1fr}.filters-bar{flex-direction:column;align-items:stretch;padding:.75rem}.search-box{min-width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem}.loans-table{min-width:700px}.loans-table th,.loans-table td{padding:.5rem .35rem;font-size:.75rem}.modal-overlay{padding:0}.modal-content.detail-modal{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body{max-height:calc(100vh - 160px);overflow-y:auto}.detail-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#fff;padding:.75rem;z-index:5}.form-actions button{width:100%}}.savings-container{min-height:100vh;background:#f5f7fa}.savings-header{background:#fff;color:#1a202c;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.savings-header .header-content{max-width:1600px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.savings-header h1{margin:0;font-size:1.75rem;font-weight:600;color:#1a202c}.savings-header .btn-back{background:#edf2f7;color:#2d3748;border:1px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.savings-header .btn-back:hover{background:#e2e8f0;border-color:#cbd5e0}.savings-main{max-width:1600px;margin:0 auto;padding:2rem}.summary-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.filters-bar{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:250px;position:relative}.search-box input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-clear-filter{position:absolute;right:8px;background:#e2e8f0;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;color:#4a5568}.btn-clear-filter:hover{background:#cbd5e0}.btn-refresh{padding:.75rem 1.25rem;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background .2s}.btn-refresh:hover{background:#5a67d8}.savings-table{width:100%;border-collapse:collapse}.savings-table thead{background:#f7fafc}.savings-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.savings-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.savings-table tbody tr.clickable-row{cursor:pointer}.savings-table tbody tr.clickable-row:hover{background:#f7fafc}.savings-table td{padding:1rem;font-size:.95rem;color:#2d3748}.highlight-amount{color:#667eea;font-weight:600;font-size:1.05rem}.savings-table tfoot{background:#f7fafc;border-top:2px solid #e2e8f0}.modal-body,.savings-form,.contribution-form{padding:1.5rem;overflow-y:auto;flex:1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#4a5568}.form-group input,.form-group select{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;margin-top:1rem;border-top:1px solid #e2e8f0}.btn-cancel{padding:.75rem 1.5rem;background:#edf2f7;color:#2d3748;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.btn-cancel:hover{background:#e2e8f0;border-color:#cbd5e0}.btn-submit{padding:.75rem 1.5rem;background:#4299e1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background .2s}.btn-submit:hover{background:#3182ce}.savings-details{padding:1.5rem}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{font-size:.875rem;color:#718096;font-weight:500}.detail-value{font-size:.95rem;color:#2d3748;font-weight:500}.calculation-summary{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem;border-radius:8px;color:#fff}.calculation-summary h3{color:#fff;border-bottom-color:#ffffff4d}.calculation-box{background:#ffffff1a;border-radius:6px;padding:1rem}.calc-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.calc-label{font-size:.95rem;opacity:.9}.calc-value{font-weight:500}.calc-value.amount{font-family:Courier New,monospace;font-size:1.05rem}.calc-value.formula{font-family:Courier New,monospace;font-size:.9rem;opacity:.95}.formula-row{background:#ffffff0d;border-radius:4px}.total-row{background:#ffffff26;border-radius:4px;margin-top:.5rem;font-size:1.1rem}.aguinaldo-total{font-size:1.5rem!important;font-weight:700!important}.amount-small.highlight{color:#667eea;font-weight:600}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#667eea;color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.contribution-modal-content{padding:1.5rem}.savings-summary{background:#f7fafc;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.savings-summary h4{margin:0 0 1rem;font-size:1.1rem;color:#2d3748}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.summary-grid>div{display:flex;flex-direction:column;gap:.5rem}.summary-label{font-size:.875rem;color:#718096;font-weight:500}.summary-value{font-size:1.1rem;color:#2d3748;font-weight:600;font-family:Courier New,monospace}.summary-value.highlight{color:#2d3748;font-size:1.25rem}.contribution-table{width:100%;border-collapse:collapse;margin-top:1rem}.contribution-table thead{background:#f7fafc}.contribution-table th{padding:.75rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.contribution-table tbody tr{border-bottom:1px solid #e2e8f0}.contribution-table tbody tr:hover{background:#f7fafc}.contribution-table td{padding:.75rem;font-size:.95rem;color:#2d3748}.contribution-table td:last-child{font-family:Courier New,monospace;font-weight:500}.no-contributions{text-align:center;padding:2rem;color:#a0aec0;font-style:italic}.contribution-history{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:.5rem;background:#f7fafc;border-radius:6px}.contribution-item{display:grid;grid-template-columns:100px 1fr 120px;gap:1rem;padding:.75rem;background:#fff;border-radius:4px;border:1px solid #e2e8f0;align-items:center}.contribution-date{font-size:.875rem;color:#4a5568;font-weight:500}.contribution-period{font-size:.875rem;color:#718096}.contribution-amount{font-size:.875rem;font-weight:600;color:#2d3748;font-family:Courier New,monospace;text-align:right}@media (max-width: 1280px){.savings-container{padding:1.25rem}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filters-bar{padding:1rem;gap:.75rem}.search-box{min-width:200px}.table-container{overflow-x:auto}.savings-table th,.savings-table td{padding:.75rem .5rem;font-size:.85rem}.btn-add,.btn-refresh{padding:.6rem 1rem;font-size:.875rem}}@media (max-width: 1024px){.savings-container{padding:1rem}.savings-table th,.savings-table td{padding:.6rem .4rem;font-size:.8rem}.modal-content.detail-modal{max-width:90vw}}@media (max-width: 768px){.savings-container{padding:.75rem}.page-header{flex-direction:column;align-items:stretch}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.header-actions button{flex:1;min-width:120px}.summary-cards{grid-template-columns:1fr}.filters-bar{flex-direction:column;align-items:stretch;padding:.75rem}.search-box{min-width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem}.savings-table{min-width:700px}.savings-table th,.savings-table td{padding:.5rem .35rem;font-size:.75rem}.modal-overlay{padding:0}.modal-content.detail-modal{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body{max-height:calc(100vh - 160px);overflow-y:auto}.detail-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#fff;padding:.75rem;z-index:5}.form-actions button{width:100%}}.aguinaldo-container{padding:2rem;max-width:1600px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-content h1{font-size:2rem;color:#1a202c;margin:0 0 .5rem}.subtitle{color:#718096;font-size:1rem;margin:0}.btn-back{padding:.75rem 1.5rem;background:#edf2f7;color:#2d3748;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .2s}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.summary-card.highlight{background:#2d3748;color:#fff}.card-icon{font-size:2.5rem;opacity:.9}.card-content{flex:1}.card-label{font-size:.875rem;opacity:.8;margin-bottom:.25rem}.summary-card.highlight .card-label{color:#ffffffe6}.card-value{font-size:1.75rem;font-weight:600}.filters-bar{background:#fff;padding:1.25rem 1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001f;margin-bottom:1.5rem;display:flex;gap:1.25rem;align-items:flex-end;flex-wrap:wrap}.search-box{position:relative;flex:1 1 320px;min-width:260px}.date-filter{display:flex;flex-direction:column;gap:.5rem}.date-filter label{font-size:.9rem;font-weight:600;color:#4a5568}.date-input-wrapper{position:relative;width:220px}.date-input-wrapper input[type=date]{width:100%;padding:.75rem 2.25rem .75rem .9rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.date-input-wrapper input[type=date]:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.btn-refresh{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:1rem;color:#a0aec0}.search-box input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:border-color .2s}.search-box input:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.filter-group{display:flex;align-items:center;gap:.5rem;position:relative}.filter-group label{font-size:.875rem;color:#4a5568;font-weight:500;white-space:nowrap}.filter-group input[type=date]{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem}.btn-clear-filter,.btn-clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#e2e8f0;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;color:#4a5568;z-index:1}.btn-clear-filter:hover,.btn-clear-search:hover{background:#cbd5e0}.btn-refresh{padding:.75rem 1.25rem;background:#4299e1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background .2s}.btn-refresh:hover{background:#3182ce}.info-banner{background:#ebf8ff;border:1px solid #90cdf4;border-left:4px solid #4299e1;border-radius:6px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;gap:1rem;align-items:flex-start}.info-icon{font-size:1.25rem;color:#4299e1}.info-content{flex:1;font-size:.9rem;color:#2c5282;line-height:1.6}.info-content strong{color:#2a4365;margin-right:.25rem}.table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.aguinaldo-table{width:100%;border-collapse:collapse}.aguinaldo-table thead{background:#f7fafc}.aguinaldo-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.aguinaldo-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.aguinaldo-table tbody tr.clickable-row{cursor:pointer}.aguinaldo-table tbody tr.clickable-row:hover{background:#f7fafc}.aguinaldo-table td{padding:1rem;font-size:.95rem;color:#2d3748}.employee-name{font-weight:500;color:#1a202c}.period-cell{font-size:.85rem;line-height:1.4;color:#4a5568}.period-to{color:#a0aec0;font-size:.75rem}.centered{text-align:center}.amount{text-align:right;font-family:Courier New,monospace;font-weight:500}.highlight-amount{color:#2d3748;font-weight:600;font-size:1.05rem}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.complete{background:#c6f6d5;color:#22543d}.status-badge.partial{background:#feebc8;color:#7c2d12}.aguinaldo-table tfoot{background:#f7fafc;border-top:2px solid #e2e8f0}.totals-row td{padding:1rem;font-weight:600}.totals-label{text-align:right;color:#2d3748}.totals-amount{font-size:1.1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-content{background:#fff;border-radius:8px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a;margin:auto}.modal-content.detail-modal{max-width:1000px;width:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:10}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#a0aec0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.btn-close:hover{background:#f7fafc;color:#2d3748}.btn-print{background:#2b6cb0;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.25rem;transition:background-color .2s}.btn-print:hover{background:#2c5282}.btn-send{background:#48bb78;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.25rem;transition:background-color .2s}.btn-send:hover{background:#38a169}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-loading,.modal-error{padding:3rem;text-align:center;color:#718096}.detail-section{margin-bottom:2rem}.detail-section h3{font-size:1.1rem;color:#2d3748;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-size:.8rem;color:#718096;font-weight:500}.detail-item span{font-size:.95rem;color:#2d3748;font-weight:500}.calculation-summary{background:#f7fafc;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0}.calculation-summary h3{color:#2d3748;border-bottom-color:#cbd5e0}.calculation-box{background:#fff;border-radius:6px;padding:1rem;border:1px solid #e2e8f0}.calc-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #e2e8f0;color:#2d3748}.calc-row:last-child{border-bottom:none}.calc-label{font-size:.95rem;color:#4a5568}.calc-value{font-weight:500;color:#1a202c}.calc-value.amount{font-family:Courier New,monospace;font-size:1.05rem;color:#2d3748}.calc-value.formula{font-family:Courier New,monospace;font-size:.9rem;color:#4a5568}.formula-row{background:#f7fafc;border-radius:4px}.total-row{background:#edf2f7;border-radius:4px;margin-top:.5rem;font-size:1.1rem}.aguinaldo-total{font-size:1.5rem!important;font-weight:700!important;color:#2b6cb0!important}.payroll-breakdown-table{overflow-x:auto;border:1px solid #e2e8f0;border-radius:6px}.payroll-breakdown-table table{width:100%;border-collapse:collapse}.payroll-breakdown-table thead{background:#f7fafc}.payroll-breakdown-table th{padding:.75rem;text-align:left;font-size:.8rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.payroll-breakdown-table tbody tr{border-bottom:1px solid #e2e8f0}.payroll-breakdown-table tbody tr:last-child{border-bottom:none}.payroll-breakdown-table td{padding:.75rem;font-size:.85rem;color:#2d3748}.payroll-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.payroll-type-badge.monthly{background:#d6bcfa;color:#44337a}.payroll-type-badge.biweekly{background:#b2f5ea;color:#234e52}.payroll-type-badge.weekly{background:#fed7d7;color:#742a2a}.period-cell-small{font-size:.8rem;line-height:1.3;color:#4a5568}.amount-small{text-align:right;font-family:Courier New,monospace;font-size:.85rem}.amount-small.highlight{color:#2d3748;font-weight:600}.date-small{font-size:.8rem;color:#718096}.payroll-breakdown-table tfoot{background:#f7fafc;border-top:2px solid #e2e8f0}.payroll-breakdown-table tfoot .total-row td{padding:.75rem;font-weight:600}.text-right{text-align:right}.calculation-formula{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.formula-box{display:flex;flex-direction:column;gap:1rem}.formula-step{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#fff;border-radius:6px;border-left:3px solid #cbd5e0}.formula-step.warning{background:#fffbeb;border-left-color:#f59e0b}.formula-step.result{background:#ecfdf5;border-left-color:#10b981;font-size:1.05rem}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#4299e1;color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.step-icon{font-size:1.25rem}.step-text{flex:1;line-height:1.5;color:#2d3748}.aguinaldo-result{color:#10b981;font-size:1.25rem;font-weight:700}.loading-message,.empty-message,.error-banner{padding:2rem;text-align:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.error-banner{background:#fed7d7;border:1px solid #fc8181;color:#742a2a;margin-bottom:1rem}.empty-message{color:#a0aec0}@media (max-width: 1280px){.aguinaldo-container{padding:1.25rem}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filters-bar{padding:1rem;gap:.75rem}.search-box{min-width:200px}.table-container{overflow-x:auto}.aguinaldo-table th,.aguinaldo-table td{padding:.75rem .5rem;font-size:.85rem}.btn-add,.btn-refresh{padding:.6rem 1rem;font-size:.875rem}}@media (max-width: 1024px){.aguinaldo-container{padding:1rem}.aguinaldo-table th,.aguinaldo-table td{padding:.6rem .4rem;font-size:.8rem}.modal-content.detail-modal{max-width:90vw}}@media (max-width: 768px){.aguinaldo-container{padding:.75rem}.page-header{flex-direction:column;align-items:stretch}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.header-actions button{flex:1;min-width:120px}.summary-cards{grid-template-columns:1fr}.filters-bar{flex-direction:column;align-items:stretch;padding:.75rem;gap:.75rem}.filters-row{flex-direction:column;align-items:stretch}.search-row .search-box{min-width:100%}.date-filter{flex-direction:column;align-items:flex-start;gap:.5rem}.date-filter label{font-size:.9rem}.date-input-wrapper,.search-box,.btn-refresh{width:100%}.btn-refresh{justify-content:center}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem}.aguinaldo-table{min-width:600px}.aguinaldo-table th,.aguinaldo-table td{padding:.5rem .35rem;font-size:.75rem}.modal-overlay{padding:0}.modal-content.detail-modal{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body{max-height:calc(100vh - 160px);overflow-y:auto}.form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#fff;padding:.75rem;z-index:5}.form-actions button{width:100%}}@media print{@page{size:A4;margin:1cm}*{visibility:hidden}.modal-overlay,.modal-content.detail-modal,.modal-content.detail-modal *,.detail-modal,.detail-modal *,.modal-body,.modal-body *{visibility:visible!important}html,body{height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.modal-overlay{position:absolute!important;top:0!important;left:0!important;background:#fff!important;width:100%!important;height:auto!important;display:block!important;overflow:visible!important}.modal-content.detail-modal{position:static!important;transform:none!important;margin:0!important;max-width:100%!important;max-height:none!important;box-shadow:none!important;padding:.5rem!important;border-radius:0!important;overflow:visible!important}.modal-header{padding:.5rem!important;border:none!important;page-break-after:avoid!important}.modal-header h2{font-size:1.2rem!important}.btn-close,.btn-print,.btn-send{display:none!important}.modal-body{padding:.5rem!important;overflow:visible!important}.detail-section{margin-bottom:.75rem!important;page-break-inside:avoid!important}.detail-section h3{font-size:.95rem!important;margin-bottom:.5rem!important;padding-bottom:.25rem!important}.detail-grid{gap:.5rem!important;grid-template-columns:repeat(3,1fr)!important}.detail-item label{font-size:.7rem!important}.detail-item span{font-size:.8rem!important}.calculation-summary{padding:.75rem!important;margin-bottom:.75rem!important;background:#f7fafc!important;border:1px solid #cbd5e0!important;page-break-inside:avoid!important}.calculation-box{padding:.5rem!important}.calc-row{padding:.4rem!important;font-size:.75rem!important}.calc-label,.calc-value{font-size:.75rem!important}.calc-value.amount{font-size:.8rem!important}.total-row{margin-top:.25rem!important}.aguinaldo-total{font-size:1rem!important}.payroll-breakdown-table{font-size:.65rem!important;border:1px solid #cbd5e0!important;page-break-inside:avoid!important}.payroll-breakdown-table th,.payroll-breakdown-table td{padding:.25rem!important;font-size:.65rem!important}.period-cell-small{font-size:.6rem!important}.amount-small{font-size:.65rem!important}.calculation-formula{margin-bottom:0!important;page-break-inside:avoid!important}.formula-box{padding:.5rem!important}.formula-step{font-size:.7rem!important;padding:.25rem .5rem!important}.step-number{font-size:.7rem!important}.aguinaldo-result{font-size:.85rem!important}*{box-shadow:none!important;text-shadow:none!important}.calculation-summary,.payroll-breakdown-table,.calculation-formula{page-break-inside:avoid!important}}.vacations-container{min-height:100vh;background:#f5f7fa}.vacations-main{max-width:1600px;margin:0 auto;padding:2rem}.vacations-header{background:#fff;color:#1a202c;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.vacations-header .header-content{max-width:1600px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.vacations-header .header-left{display:flex;flex-direction:column;gap:.5rem}.vacations-header .header-left h1{font-size:1.75rem;font-weight:600;color:#1a202c;margin:0}.vacations-header .subtitle{color:#4a5568;font-size:.95rem}.btn-back{padding:.75rem 1.5rem;border:1px solid #e2e8f0;border-radius:6px;background:#edf2f7;color:#2d3748;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 10px #667eea4d}.btn-create{padding:.75rem 1.5rem;background:#48bb78;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s;white-space:nowrap;height:fit-content}.btn-create:hover{background:#38a169;transform:translateY(-1px);box-shadow:0 4px 6px #48bb784d}.feedback-wrapper{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.banner{padding:.75rem 1rem;border-radius:8px;font-weight:500}.banner.error{background:#fed7d7;color:#742a2a;border:1px solid #feb2b2}.banner.success{background:#c6f6d5;color:#22543d;border:1px solid #68d391}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1rem;display:flex;gap:.75rem;align-items:center;box-shadow:0 1px 3px #0000001a}.stat-label{font-size:.875rem;color:#4a5568;margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:#2d3748}.filters-bar{background:#fff;padding:1rem 1.5rem;border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.search-box{position:relative;flex:1 1 280px}.search-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:#a0aec0}.search-box input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border-radius:8px;border:1px solid #e2e8f0;font-size:.95rem}.filter-group label{font-weight:600;color:#2d3748}.filter-group select,.filter-group input[type=date]{padding:.7rem .75rem;border-radius:8px;border:1px solid #e2e8f0;min-width:180px}.btn-clear{margin-top:.25rem;background:#edf2f7;border:none;border-radius:50%;width:24px;height:24px;font-size:.85rem;cursor:pointer}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.btn-refresh{background:#edf2f7;border:none;padding:.6rem 1rem;border-radius:6px;cursor:pointer;font-weight:600}.summary-section,.requests-section{margin-bottom:2rem}.table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.summary-table,.requests-table{width:100%;border-collapse:collapse}.summary-table th,.summary-table td,.requests-table th,.requests-table td{padding:.85rem;border-bottom:1px solid #e2e8f0;text-align:left;font-size:.95rem}.summary-table th,.requests-table th{background:#f7fafc;font-weight:700;color:#2d3748}.loading-cell,.empty-cell{text-align:center;padding:2rem;color:#718096}.available-cell{font-weight:700;color:#2b6cb0}.btn-link{border:none;background:none;color:#2b6cb0;cursor:pointer;text-decoration:underline;font-weight:600}.btn-edit-cell{border:none;background:none;color:#2b6cb0;cursor:pointer;text-decoration:underline;font-weight:600;padding:0}.btn-edit-cell:hover{color:#667eea;text-decoration:underline double}.status-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;text-transform:capitalize}.status-pending{background:#fefcbf;color:#744210}.status-approved{background:#c6f6d5;color:#22543d}.status-rejected{background:#fed7d7;color:#9b2c2c}.status-cancelled{background:#e2e8f0;color:#4a5568}.actions-cell{display:flex;flex-direction:column;gap:.5rem}.btn-action{border:none;border-radius:6px;padding:.45rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-action.approve{background:#48bb78;color:#fff}.btn-action.reject{background:#f56565;color:#fff}.btn-action.cancel{background:#edf2f7;color:#2d3748}.approved-info,.rejected-info{font-size:.85rem;color:#4a5568}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;width:min(520px,92vw);border-radius:12px;box-shadow:0 10px 40px #0003;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border-radius:8px;border:1px solid #e2e8f0}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.btn-secondary{background:#edf2f7;border:none;border-radius:8px;padding:.75rem 1.25rem;font-weight:600;cursor:pointer}.btn-close{border:none;background:none;font-size:1.25rem;cursor:pointer}@media (max-width: 1280px){.vacations-container{padding:1.25rem}.filters-bar{padding:1rem;gap:.75rem}.search-box{min-width:200px}.table-container{overflow-x:auto}.vacations-table th,.vacations-table td{padding:.75rem .5rem;font-size:.85rem}.btn-add,.btn-refresh{padding:.6rem 1rem;font-size:.875rem}}@media (max-width: 1024px){.vacations-container{padding:1rem}.vacations-table th,.vacations-table td{padding:.6rem .4rem;font-size:.8rem}.modal-content{max-width:90vw}}@media (max-height: 900px){.modal-content{max-height:85vh}.modal-body{max-height:calc(85vh - 140px);overflow-y:auto}.form-actions{position:sticky;bottom:0;background:#fff;padding:1rem 1.5rem;margin:0;border-top:1px solid #e2e8f0;z-index:5}}@media (max-width: 768px){.vacations-container{padding:.75rem}.vacations-header{flex-direction:column;align-items:stretch}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.header-actions button{flex:1;min-width:120px}.filters-bar{flex-direction:column;align-items:stretch;padding:.75rem}.filter-group,.search-box{width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem}.vacations-table{min-width:600px}.vacations-table th,.vacations-table td{padding:.5rem .35rem;font-size:.75rem}.actions-cell{align-items:flex-start}.modal-overlay{padding:0}.modal-content{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body{max-height:calc(100vh - 160px);overflow-y:auto}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#fff;padding:.75rem;z-index:5}.form-actions button{width:100%}}.admin-container{min-height:100vh;background:#f5f7fa}.admin-header{background:#036;color:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.admin-header .header-content{max-width:1800px;margin:0 auto;padding:20px 30px;display:flex;justify-content:space-between;align-items:center}.admin-header h1{margin:0;font-size:1.75rem;font-weight:700}.btn-back{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease}.btn-back:hover{background:#ffffff4d;transform:translate(-3px)}.admin-main{max-width:1800px;margin:0 auto;padding:30px}.error-banner{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 20px;border-radius:6px;margin-bottom:20px}.tabs-navigation{background:#fff;padding:10px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap}.tab-button{background:transparent;border:none;padding:12px 24px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#666}.tab-button:hover{background:#f0f0f0;color:#036}.tab-button.active{background:linear-gradient(135deg,#036,#06c);color:#fff;box-shadow:0 2px 8px #0033664d}.tabs-content-area{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.tab-header h2{margin:0;color:#036;font-size:1.5rem}.btn-create,.btn-refresh,.btn-clear-filters{background:linear-gradient(135deg,#28a745,#218838);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-create:hover,.btn-refresh:hover,.btn-clear-filters:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.btn-clear-filters{background:linear-gradient(135deg,#6c757d,#5a6268)}.btn-clear-filters:hover{box-shadow:0 4px 12px #6c757d4d}.loading-message,.empty-message{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}.empty-message{font-style:italic}.data-table-container{overflow-x:auto;margin-bottom:20px}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8f9fa}.data-table th{text-align:left;padding:12px 15px;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.data-table td{padding:12px 15px;border-bottom:1px solid #f0f0f0}.data-table tbody tr:hover{background:#f8f9fa}.client-name,.user-username{font-weight:600;color:#036}.user-id,.resource-id,.id-code{font-family:Courier New,monospace;font-size:.85rem;color:#666;background:#f8f9fa;padding:2px 6px;border-radius:4px;cursor:help}.id-code:hover{background:#e9ecef;color:#036}.id-cell{display:flex;align-items:center;gap:6px}.id-code-full{font-family:Courier New,monospace;font-size:.75rem;color:#555;background:#f8f9fa;padding:4px 8px;border-radius:4px;border:1px solid #e0e0e0;-webkit-user-select:all;user-select:all;cursor:text;flex:1;min-width:0;word-break:break-all}.id-code-full:hover{background:#e9ecef;border-color:#036}.btn-copy-id{background:#f0f0f0;border:1px solid #d0d0d0;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:.9rem;transition:all .2s ease;flex-shrink:0}.btn-copy-id:hover{background:#036;border-color:#036;transform:scale(1.1)}.btn-copy-id:active{transform:scale(.95)}.log-details{font-family:Courier New,monospace;font-size:.85rem;color:#666;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.role-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.role-badge.admin{background:#fff3cd;color:#856404}.role-badge.user{background:#e3f2fd;color:#06c}.action-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:lowercase}.action-badge.login,.action-badge.logout{background:#e3f2fd;color:#06c}.action-badge.create{background:#d4edda;color:#155724}.action-badge.update{background:#fff3cd;color:#856404}.action-badge.delete{background:#f8d7da;color:#721c24}.action-badge.process_payroll,.action-badge.calculate_payroll,.action-badge.view_payslip{background:#e8f5e9;color:#2e7d32}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-action{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.btn-action:hover{background:#f0f0f0;transform:scale(1.1)}.btn-edit:hover{background:#f3e5f5}.btn-recalc{color:#06c}.btn-recalc:hover{background:#e3f2fd}.btn-toggle:hover{background:#fff3cd}.btn-delete:hover{background:#ffebee}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-top:1px solid #f0f0f0}.btn-page{background:#036;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .3s ease}.btn-page:hover:not(:disabled){background:#06c;transform:translateY(-1px)}.btn-page:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.page-info{color:#666;font-size:.95rem}.filters-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:8px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-weight:600;color:#333;font-size:.9rem}.filter-select,.filter-input{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff;transition:border-color .3s ease}.filter-select:focus,.filter-input:focus{outline:none;border-color:#036}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#036;font-size:1.5rem}.modal-header .btn-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1;transition:color .3s ease}.modal-header .btn-close:hover{color:#333}.modal-form{padding:30px;overflow-y:auto;flex:1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{margin-bottom:6px;color:#333;font-weight:600;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#036}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.form-group textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-cancel{background:#f0f0f0;color:#333;border:1px solid #ddd;padding:10px 25px;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:linear-gradient(135deg,#036,#06c);color:#fff;border:none;padding:10px 25px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0033664d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.stat-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:20px;transition:all .3s ease;border-left:4px solid #ccc}.stat-card:hover{transform:translateY(-3px);box-shadow:0 4px 16px #00000026}.stat-card.clients{border-left-color:#06c}.stat-card.users{border-left-color:#28a745}.stat-card.employees{border-left-color:#ffc107}.stat-card.payrolls{border-left-color:#17a2b8}.stat-card.loans{border-left-color:#ff9800}.stat-card.savings{border-left-color:#9c27b0}.stat-card.logs{border-left-color:#6c757d}.stat-card.system{border-left-color:#28a745}.stat-icon{font-size:3rem;opacity:.8}.stat-label{font-size:.9rem;color:#666;margin-bottom:8px;font-weight:600}.stat-value{font-size:2rem;font-weight:700;color:#036;margin-bottom:4px}.stat-value.status-healthy{color:#28a745;font-size:1.5rem}.stat-sublabel{font-size:.85rem;color:#999}@media (max-width: 1280px){.admin-main{padding:25px 20px}.admin-header .header-content{padding:15px 20px}.tabs-navigation{gap:5px}.tab-button{padding:10px 14px;font-size:.85rem}.tabs-content-area{padding:20px}.data-table{font-size:.85rem}.data-table th,.data-table td{padding:10px 8px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.stat-card{padding:15px}.stat-icon{font-size:2.5rem}.stat-value{font-size:1.25rem}.btn-create,.btn-refresh{padding:.6rem 1rem;font-size:.85rem}}@media (max-width: 1200px){.data-table{font-size:.8rem}.data-table th,.data-table td{padding:8px 6px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.data-table-container{overflow-x:auto}}@media (max-width: 1024px){.admin-main{padding:18px 15px}.tabs-content-area{padding:15px}.tab-button{padding:8px 12px;font-size:.8rem}.modal-content{max-width:90vw}}@media (max-height: 900px){.modal-content{max-height:85vh}.modal-body,.modal-form{max-height:calc(85vh - 140px);overflow-y:auto}.form-actions{position:sticky;bottom:0;background:#fff;padding:1rem 1.5rem;margin:0;border-top:1px solid #e2e8f0;z-index:5}}@media (max-width: 768px){.admin-header .header-content{flex-direction:column;gap:15px;text-align:center;padding:12px 15px}.admin-header h1{font-size:1.5rem}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.header-actions button{flex:1;min-width:120px}.admin-main{padding:12px 10px}.tabs-navigation{flex-direction:column;gap:5px}.tab-button{width:100%;text-align:center}.tabs-content-area{padding:12px}.tab-header{flex-direction:column;gap:10px;align-items:stretch}.btn-create,.btn-refresh,.btn-clear-filters{width:100%;justify-content:center}.data-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -12px;padding:0 12px}.data-table{min-width:600px;font-size:.75rem}.data-table th,.data-table td{padding:6px 4px}.filters-section,.form-row{grid-template-columns:1fr}.pagination{flex-direction:column;gap:10px;padding:10px}.pagination button{padding:6px 10px;font-size:.8rem}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{flex-direction:row;padding:10px}.stat-icon{font-size:2rem}.stat-value{font-size:1.1rem}.modal-overlay{padding:0}.modal-content{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body,.modal-form{max-height:calc(100vh - 160px);overflow-y:auto}.form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#fff;padding:.75rem;z-index:5}.form-actions button{width:100%}}@media (max-width: 480px){.admin-header .header-content{padding:10px 12px}.admin-main{padding:10px 8px}.tabs-content-area{padding:10px}.modal-form{padding:15px}.modal-header{padding:12px 15px}.modal-header h2{font-size:1.15rem}.btn-action{font-size:.9rem}.stats-grid{grid-template-columns:1fr}.stat-icon{font-size:1.75rem}.stat-value{font-size:1rem}.log-details{max-width:120px}}.totp-modal{max-width:600px}.totp-modal h2{color:#d32f2f;margin:0 0 20px;padding:20px 30px 0;font-size:1.5rem}.totp-info{padding:0 30px 30px}.totp-info p{margin:0 0 15px;font-size:1rem}.totp-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:12px 15px;border-radius:6px;font-weight:600;margin:15px 0!important}.totp-secret-box{background:#f8f9fa;border:2px solid #003366;border-radius:8px;padding:20px;margin:20px 0}.totp-secret-box label{display:block;font-weight:600;color:#036;margin-bottom:12px;font-size:1rem}.secret-display{display:flex;gap:10px;align-items:center}.secret-display code{flex:1;background:#fff;border:1px solid #ddd;padding:12px 15px;border-radius:6px;font-size:1.1rem;font-family:Courier New,monospace;color:#d32f2f;font-weight:700;letter-spacing:1px;word-break:break-all}.btn-copy{background:linear-gradient(135deg,#28a745,#218838);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;white-space:nowrap;transition:all .3s ease}.btn-copy:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.totp-instructions{background:#e3f2fd;border-left:4px solid #0066cc;padding:15px 20px;border-radius:6px;margin-top:20px}.totp-instructions h3{margin:0 0 10px;color:#036;font-size:1rem}.totp-instructions ol{margin:0;padding-left:20px}.totp-instructions li{margin:8px 0;color:#333;line-height:1.5}.health-widget{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 30px;border-radius:12px;margin-bottom:25px;box-shadow:0 4px 15px #667eea4d}.health-widget h3{margin:0 0 15px;font-size:1.25rem;font-weight:600}.health-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.health-stat{display:flex;flex-direction:column;gap:5px}.health-label{font-size:.85rem;opacity:.9;font-weight:500}.health-value{font-size:1.5rem;font-weight:700}.health-value.ok,.health-value.healthy{color:#a8ff78}.health-value.error{color:#ff6b6b}.health-value.warning{color:#ffd93d}.filters-section{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px #0000000d}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:5px}.filter-group label{font-size:.9rem;font-weight:500;color:#333}.filter-group input[type=text],.filter-group input[type=date],.filter-group select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:all .3s ease}.filter-group input[type=text]:focus,.filter-group input[type=date]:focus,.filter-group select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.filter-group input[type=checkbox]{margin-right:8px}.data-table{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.data-table thead{background:#f8f9fa;border-bottom:2px solid #e0e0e0}.data-table th{padding:15px;text-align:left;font-weight:600;color:#333;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.data-table tbody tr:hover{background-color:#f8f9fa}.data-table tbody tr.error-row{background-color:#fff5f5}.data-table tbody tr.error-row:hover{background-color:#ffe0e0}.data-table td{padding:12px 15px;color:#666;font-size:.95rem}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-error{background:#fee;color:#c33}.badge-warning{background:#fff3cd;color:#856404}.badge-info{background:#d1ecf1;color:#0c5460}.badge-debug{background:#e2e3e5;color:#383d41}.badge-method-get{background:#d1ecf1;color:#0c5460}.badge-method-post{background:#d4edda;color:#155724}.badge-method-put{background:#fff3cd;color:#856404}.badge-method-delete{background:#fee;color:#c33}.badge-status-2{background:#d4edda;color:#155724}.badge-status-3{background:#d1ecf1;color:#0c5460}.badge-status-4{background:#fff3cd;color:#856404}.badge-status-5{background:#fee;color:#c33}.endpoint-cell{font-family:Courier New,monospace;font-size:.85rem;color:#06c}.request-id-cell{font-family:Courier New,monospace;font-size:.8rem;color:#999}.slow-request{color:#dc3545;font-weight:600}@media (max-width: 768px){.health-stats,.filters-grid{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto}}.form-section{margin-top:30px;padding-top:25px;border-top:2px solid #e0e0e0}.form-section h3{margin:0 0 20px;color:#036;font-size:1.1rem;font-weight:600}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.checkbox-label span{-webkit-user-select:none;user-select:none}.info-box{background:#e7f3ff;border-left:4px solid #0066cc;padding:12px 16px;border-radius:4px;margin-top:15px;font-size:.9rem}.info-box strong{color:#036}.recalc-modal{max-width:800px}.recalc-info{margin-bottom:20px}.recalc-info ul{margin:10px 0;padding-left:20px}.recalc-info li{margin:5px 0}.recalc-warning{background:#fff3cd;border-left:4px solid #ffc107;padding:12px;margin:15px 0;border-radius:4px}.recalc-preview{margin-top:20px}.preview-summary{background:#f8f9fa;padding:15px;border-radius:6px;margin-bottom:20px}.preview-summary p{margin:8px 0}.changes-table{margin:20px 0;max-height:400px;overflow-y:auto}.changes-table table{width:100%;font-size:.9rem}.changes-table th{position:sticky;top:0;background:#f8f9fa;font-weight:600;padding:10px 8px;text-align:left;border-bottom:2px solid #dee2e6}.changes-table td{padding:8px;border-bottom:1px solid #f0f0f0}.changes-table .positive{color:#28a745;font-weight:600}.changes-table .negative{color:#dc3545;font-weight:600}.no-changes{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:15px;border-radius:6px;text-align:center;font-weight:500}.btn-danger{background:#dc3545!important}.btn-danger:hover{background:#c82333!important}.loading-spinner{text-align:center;padding:30px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #0066cc;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.debug-logs-container{padding:2rem;max-width:1600px;margin:0 auto}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.page-header h1{font-size:2rem;margin-bottom:.5rem;color:#1a202c}.page-header .subtitle{color:#718096;font-size:1rem}.btn-back{padding:.5rem 1rem;background:#edf2f7;color:#2d3748;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-back:hover{background:#e2e8f0;border-color:#cbd5e0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.stat-card.error{border-left:4px solid #e53e3e}.stat-card.warning{border-left:4px solid #ed8936}.stat-icon{font-size:2rem}.stat-content{flex:1}.stat-label{font-size:.875rem;color:#718096;margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:600;color:#1a202c}.stat-value.stat-text{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filters-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.filters-header h3{margin:0;font-size:1.25rem;color:#1a202c}.filter-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.auto-refresh-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#4a5568}.auto-refresh-toggle input{cursor:pointer}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:#4a5568}.filter-group input,.filter-group select{padding:.5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;transition:border-color .2s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.btn-primary,.btn-secondary,.btn-pagination{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#4299e1;color:#fff}.btn-primary:hover:not(:disabled){background:#3182ce}.btn-primary:disabled{background:#cbd5e0;cursor:not-allowed}.btn-secondary{background:#edf2f7;color:#2d3748}.btn-secondary:hover{background:#e2e8f0}.error-message{background:#fed7d7;border:1px solid #fc8181;border-radius:4px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;color:#742a2a}.logs-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.logs-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.logs-header h3{margin:0;font-size:1.25rem;color:#1a202c}.pagination-info{font-size:.875rem;color:#718096}.logs-table-container{overflow-x:auto}.logs-table{width:100%;border-collapse:collapse}.logs-table thead{background:#f7fafc}.logs-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#4a5568;border-bottom:2px solid #e2e8f0}.logs-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s;cursor:pointer}.logs-table tbody tr:hover{background:#f7fafc}.logs-table tbody tr.selected{background:#ebf8ff}.logs-table td{padding:1rem;font-size:.875rem;color:#2d3748}.log-time{white-space:nowrap;color:#718096;font-family:Courier New,monospace;font-size:.8rem}.log-endpoint{font-family:Courier New,monospace;font-size:.8rem;color:#4a5568;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-message{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-user{font-size:.8rem;color:#718096}.log-request-id{font-family:Courier New,monospace}.log-level-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.log-level-badge.small{padding:.125rem .5rem;font-size:.625rem}.log-level-error{background:#fed7d7;color:#742a2a}.log-level-warning{background:#feebc8;color:#7c2d12}.log-level-info{background:#bee3f8;color:#2c5282}.log-level-debug{background:#e2e8f0;color:#2d3748}.log-level-default{background:#f7fafc;color:#4a5568}.request-id-badge{background:#edf2f7;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;color:#4a5568}.request-id-full{background:#edf2f7;padding:.5rem;border-radius:4px;display:inline-block;font-size:.8rem;color:#2d3748;word-break:break-all}.empty-state{text-align:center;padding:3rem!important;color:#a0aec0;font-size:1rem}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;border-top:1px solid #e2e8f0}.btn-pagination{padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;color:#2d3748}.btn-pagination:hover:not(:disabled){background:#f7fafc}.btn-pagination:disabled{color:#cbd5e0;cursor:not-allowed}.pagination-text{font-size:.875rem;color:#4a5568;padding:0 1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:8px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:1.5rem;color:#1a202c}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#a0aec0;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-body{padding:1.5rem;overflow-y:auto}.detail-group{margin-bottom:1.5rem}.detail-group label{display:block;font-size:.875rem;font-weight:600;color:#4a5568;margin-bottom:.5rem}.detail-group>div,.detail-group>pre{font-size:.875rem;color:#2d3748}.json-display,.exception-display{background:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;padding:1rem;overflow-x:auto;font-family:Courier New,monospace;font-size:.8rem;line-height:1.5;margin:0}.exception-display{color:#e53e3e;max-height:300px;overflow-y:auto}.error-detail{background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;padding:1rem}.related-logs-list{border:1px solid #e2e8f0;border-radius:4px;max-height:300px;overflow-y:auto}.related-log-item{padding:.75rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background-color .2s}.related-log-item:last-child{border-bottom:none}.related-log-item:hover{background:#f7fafc}.related-log-item.current{background:#ebf8ff}.related-log-time{font-family:Courier New,monospace;font-size:.75rem;color:#718096;white-space:nowrap}.related-log-message{font-size:.875rem;color:#2d3748;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1280px){.debug-logs-container{padding:1.25rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.filters-grid{gap:.75rem}.logs-table{font-size:.85rem}.logs-table th,.logs-table td{padding:.6rem .4rem}.log-message,.log-endpoint{max-width:200px}}@media (max-width: 1024px){.debug-logs-container{padding:1rem}.logs-table{font-size:.8rem}.logs-table th,.logs-table td{padding:.5rem .35rem}.log-message,.log-endpoint{max-width:180px}.table-container{overflow-x:auto}}@media (max-height: 900px){.modal-content{max-height:85vh}.modal-body{max-height:calc(85vh - 100px);overflow-y:auto}}@media (max-width: 768px){.debug-logs-container{padding:.75rem}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.filters-grid{grid-template-columns:1fr}.filters-header{flex-direction:column;align-items:stretch;gap:.5rem}.filter-controls{width:100%;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.filter-controls button{flex:1;min-width:100px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem}.logs-table{min-width:700px;font-size:.75rem}.logs-table th,.logs-table td{padding:.4rem .3rem}.log-message,.log-endpoint{max-width:150px}.modal-overlay{padding:0}.modal-content{margin:0;max-height:100vh;max-width:100vw;border-radius:0;width:100%}.modal-body{max-height:calc(100vh - 80px);overflow-y:auto}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.log-message,.log-endpoint{max-width:100px}}.landing-page{min-height:100vh;background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.landing-header{position:fixed;top:0;left:0;right:0;background:#fff;box-shadow:0 2px 8px #00000014;z-index:1000}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:1.75rem}.logo-text{font-size:1.5rem;font-weight:700;color:#1a202c}.nav-links{display:flex;gap:.5rem}.nav-link{background:none;border:none;padding:.5rem 1rem;font-size:.95rem;color:#4a5568;cursor:pointer;border-radius:6px;transition:all .2s}.nav-link:hover{background:#f7fafc;color:#1a202c}.btn-demo-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-demo-header:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.hero-section{padding:8rem 2rem 4rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{padding-right:2rem}.hero-title{font-size:3rem;font-weight:800;color:#1a202c;line-height:1.2;margin-bottom:1.5rem}.hero-title .highlight{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:#4a5568;line-height:1.7;margin-bottom:2rem}.hero-ctas{display:flex;gap:1rem;margin-bottom:1.5rem}.btn-primary-large{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary-large:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-secondary-large{background:#fff;color:#4a5568;border:2px solid #e2e8f0;padding:1rem 2rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary-large:hover{border-color:#667eea;color:#667eea}.hero-note{font-size:.9rem;color:#718096}.hero-visual{display:flex;justify-content:center}.dashboard-preview{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000026;overflow:hidden;width:100%;max-width:500px}.preview-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:.75rem 1rem;display:flex;align-items:center;gap:1rem}.preview-dots{display:flex;gap:.4rem}.preview-dots span{width:10px;height:10px;border-radius:50%;background:#ffffff4d}.preview-dots span:first-child{background:#fc8181}.preview-dots span:nth-child(2){background:#fbd38d}.preview-dots span:nth-child(3){background:#68d391}.preview-title{color:#fff;font-size:.85rem;font-weight:500}.preview-content{padding:2rem;display:grid;gap:1.5rem}.preview-stat{background:#f7fafc;padding:1.25rem;border-radius:10px;text-align:center}.preview-stat .stat-value{display:block;font-size:1.5rem;font-weight:700;color:#667eea;margin-bottom:.25rem}.preview-stat .stat-label{font-size:.85rem;color:#718096}.section-container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{font-size:2.25rem;font-weight:700;color:#1a202c;text-align:center;margin-bottom:.75rem}.section-subtitle{font-size:1.1rem;color:#718096;text-align:center;margin-bottom:3rem}.features-section{background:#fff;padding:5rem 0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-card{background:#f8fafc;padding:2rem;border-radius:12px;text-align:center;transition:all .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000014}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;color:#1a202c;margin-bottom:.75rem}.feature-card p{font-size:.95rem;color:#4a5568;line-height:1.6}.how-it-works-section{padding:5rem 0;background:#f8fafc}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.step-card{background:#fff;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000000d}.step-number{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem}.step-card h3{font-size:1.1rem;color:#1a202c;margin-bottom:.75rem}.step-card p{font-size:.95rem;color:#4a5568;line-height:1.6}.pricing-section{padding:5rem 0;background:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-bottom:2rem}.pricing-card{background:#f8fafc;border-radius:12px;padding:1.5rem;text-align:center;position:relative;transition:all .2s;display:flex;flex-direction:column}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.pricing-card.popular{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:scale(1.05)}.pricing-card.popular:hover{transform:scale(1.05) translateY(-4px)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#48bb78;color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600}.pricing-header h3{font-size:1.1rem;margin-bottom:.5rem}.pricing-amount{margin-bottom:1rem}.pricing-amount .currency{font-size:1.25rem;vertical-align:top}.pricing-amount .price{font-size:2.5rem;font-weight:700}.pricing-amount .period{font-size:.9rem;opacity:.8}.pricing-features{flex:1;text-align:left}.employee-limit{text-align:center;font-size:.95rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.pricing-card.popular .employee-limit{border-bottom-color:#fff3}.pricing-features ul{list-style:none;padding:0;margin:0}.pricing-features li{font-size:.85rem;padding:.35rem 0;opacity:.9}.btn-pricing{width:100%;padding:.75rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1.5rem;background:#fff;color:#667eea;border:2px solid #667eea}.btn-pricing:hover{background:#667eea;color:#fff}.btn-pricing.primary{background:#fff;color:#764ba2;border-color:#fff}.btn-pricing.primary:hover{background:#ffffffe6}.pricing-note{text-align:center;color:#718096;font-size:.95rem}.pricing-note a{color:#667eea;text-decoration:none}.pricing-note a:hover{text-decoration:underline}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:4rem 0;text-align:center;color:#fff}.cta-section h2{font-size:2rem;margin-bottom:.75rem}.cta-section p{font-size:1.1rem;opacity:.9;margin-bottom:1.5rem}.cta-section .btn-primary-large{background:#fff;color:#667eea}.cta-section .btn-primary-large:hover{box-shadow:0 8px 20px #0003}.landing-footer{background:#1a202c;color:#fff;padding:2rem 0}.footer-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-left .logo{margin-bottom:.5rem}.footer-left .logo-text{color:#fff}.footer-left p,.footer-center p{font-size:.85rem;opacity:.7}.footer-right a{color:#667eea;text-decoration:none}.footer-right a:hover{text-decoration:underline}@media (max-width: 1200px){.pricing-grid{grid-template-columns:repeat(3,1fr)}.pricing-card.popular{transform:none}.pricing-card.popular:hover{transform:translateY(-4px)}}@media (max-width: 992px){.hero-section{grid-template-columns:1fr;gap:3rem;text-align:center;padding-top:6rem}.hero-content{padding-right:0}.hero-ctas{justify-content:center}.features-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.header-container{padding:.75rem 1rem}.nav-links{display:none}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-ctas{flex-direction:column}.btn-primary-large,.btn-secondary-large{width:100%;padding:.875rem 1.5rem}.features-grid{grid-template-columns:1fr}.section-title{font-size:1.75rem}.pricing-grid{grid-template-columns:1fr;max-width:350px;margin:0 auto}.footer-container{flex-direction:column;text-align:center}}@media (max-width: 480px){.hero-section{padding:5rem 1rem 2rem}.hero-title{font-size:1.75rem}.dashboard-preview{display:none}.section-container{padding:0 1rem}.feature-card,.step-card{padding:1.5rem}}.demo-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#f6ad55,#ed8936);color:#fff;padding:.5rem 1rem;box-shadow:0 -2px 8px #00000026}.demo-banner.warning{background:linear-gradient(135deg,#fc8181,#f56565);animation:pulse 2s infinite}.demo-banner.critical{background:linear-gradient(135deg,#e53e3e,#c53030);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.demo-banner-content{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.demo-banner-left{display:flex;align-items:center;gap:.75rem}.demo-icon{font-size:1.25rem}.demo-label{font-weight:600;font-size:.95rem}.demo-separator{opacity:.6}.demo-timer{font-size:.9rem}.demo-timer strong{font-family:Courier New,monospace;font-size:1rem;background:#fff3;padding:.15rem .5rem;border-radius:4px}.demo-banner-right{display:flex;align-items:center;gap:1rem}.demo-notice{font-size:.85rem;opacity:.9}.btn-exit-demo{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);padding:.4rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-exit-demo:hover{background:#ffffff4d;border-color:#fff9}body.demo-mode-active{padding-bottom:48px}@media (max-width: 768px){.demo-banner{padding:.5rem}.demo-banner-content{flex-direction:column;gap:.5rem}.demo-banner-left,.demo-banner-right{width:100%;justify-content:center;text-align:center}.demo-notice,.demo-separator{display:none}.demo-timer{font-size:.85rem}}@media (max-width: 480px){.demo-label{font-size:.85rem}.btn-exit-demo{padding:.35rem .75rem;font-size:.8rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#000000de;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}input,select,textarea{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:#007bff}.error{color:#dc3545;font-size:.875rem;margin-top:.25rem}.success{color:#28a745;font-size:.875rem;margin-top:.25rem}
