@charset "UTF-8";:root{font-family:Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}*{margin:0;padding:0}*{margin:0;padding:0;box-sizing:border-box}.holder{width:100%;font-family:Roboto,Poppins,sans-serif;color:#1e1e2f}.header{display:flex;align-items:center;justify-content:space-between;height:70px;background:#fff;border-bottom:1px solid #e4e7ec;padding:0 20px;position:fixed;top:0;left:0;right:0;z-index:1200;transition:transform .3s ease,box-shadow .3s ease}.header:hover{box-shadow:0 3px 10px #0000001a}.header.scaled{transform:scale(.95)}.logo img{height:70px;cursor:pointer;transition:transform .3s ease}.logo img:hover{transform:scale(1.1)}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:2000}.popup-box{background:#fff;padding:10px;border-radius:10px;position:relative;animation:popupZoom .25s ease-out}.popup-image{width:250px;height:auto;display:block}.popup-close{position:absolute;top:5px;right:8px;font-size:22px;border:none;background:none;cursor:pointer}@keyframes popupZoom{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.SearchHeader{display:flex;align-items:center;gap:14px;flex:1;justify-content:flex-end}.SearchHeader input{padding:10px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;color:#1e1e2f;background:#f9fafb;outline:none;transition:border-color .3s,box-shadow .3s;width:220px}.SearchHeader input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.user-container{position:relative;display:flex;align-items:center;gap:10px;cursor:pointer}.user-name{font-size:14px;font-weight:500;color:#1e1e2f}.user-icon{font-size:26px;color:#4b5563;transition:color .3s}.user-container:hover .user-icon{color:#6366f1}.user-dropdown{position:absolute;top:140%;right:0;background:#fff;border:1px solid #e4e7ec;border-radius:10px;box-shadow:0 12px 28px #0000001f;min-width:200px;display:flex;flex-direction:column;overflow:hidden;z-index:2000;animation:slideInDown .3s ease}.user-dropdown .dropdown-item{padding:14px 18px;font-size:14px;color:#1e1e2f;cursor:pointer;transition:background .3s,color .3s}.user-dropdown .dropdown-item:hover{background:#f3f4f6;color:#6366f1}.user-dropdown .dropdown-item.logout{color:#ef4444}.user-dropdown .dropdown-item.logout:hover{background:#fee2e2}.dropdown-container{position:relative}.dropdown-link-support{font-size:14px;font-weight:500;color:#1e1e2f;display:inline-flex;align-items:center;gap:8px;transition:color .3s}.dropdown-link-support:hover,.dropdown-link-support.active{color:#6366f1}.dropdown-link{font-size:14px;font-weight:600;color:#fff;display:inline-flex;align-items:center;gap:8px;transition:color .3s,transform .3s}.dropdown-link:hover{color:#a5b4fc;transform:translateY(-1px)}.arrow{font-size:10px;transition:transform .3s ease}.arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:120%;left:0;background:#1f2937;border-radius:10px;min-width:220px;box-shadow:0 12px 28px #0000001f;display:flex;flex-direction:column;z-index:1500;animation:slideInDown .3s ease}.dropdown-menu.sub-dropdown{background:#fff;border:1px solid #e4e7ec}.dropdown-item{padding:14px 18px;font-size:14px;color:#fff;text-decoration:none;transition:background .3s,color .3s}.dropdown-item:hover{background:#374151;color:#a5b4fc}.dropdown-menu.sub-dropdown .dropdown-item{color:#1e1e2f;padding:6px 12px;margin:0}.dropdown-menu.sub-dropdown .dropdown-item:hover{background:#f3f4f6;color:#6366f1}.dropdown-item-support{padding:14px 18px;font-size:14px;color:#1e1e2f;text-decoration:none;transition:background .3s,color .3s}.dropdown-item-support:hover{background:#f3f4f6;color:#6366f1}.SubHeader{display:flex;align-items:center;gap:24px;height:54px;background:#1f2937;padding:0 20px;position:fixed;top:70px;left:0;right:0;z-index:1100;box-shadow:0 3px 8px #0000001a}.SubHeader .nav{display:flex;align-items:center;gap:20px}.SubHeader a{font-size:14px;font-weight:600;color:#fff;text-decoration:none;transition:color .3s,transform .3s}.SubHeader a:hover,.SubHeader a.active{color:#a5b4fc;transform:translateY(-2px)}.hamburger{display:none;font-size:26px;cursor:pointer;color:#1e1e2f;transition:color .3s,transform .3s}.hamburger:hover{color:#6366f1;transform:scale(1.1)}.kebab{display:none;font-size:22px;cursor:pointer;color:#1e1e2f;margin-left:14px;transition:color .3s,transform .3s}.kebab:hover{color:#6366f1;transform:scale(1.1)}.kebab-expanded{display:flex;align-items:center;padding:14px 20px;background:#fff;border-bottom:1px solid #e4e7ec;animation:slideInDown .3s ease;z-index:2100}.kebab-expanded .search-left{flex:1;margin-right:14px}.kebab-expanded .search-left input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;background:#f9fafb}.kebab-expanded .actions-right{display:flex;gap:14px;align-items:center}.kebab-expanded .support-item,.kebab-expanded .user-item{position:relative;font-size:13px;font-weight:500;color:#1e1e2f;cursor:pointer}.kebab-expanded .user-item .dropdown-menu,.kebab-expanded .support-item .dropdown-menu{position:absolute;top:120%;right:0;min-width:200px;background:#fff;border:1px solid #e4e7ec;border-radius:10px;box-shadow:0 12px 28px #0000001f;display:none;flex-direction:column;z-index:2100;animation:slideInDown .3s ease}.kebab-expanded .user-item.active .dropdown-menu,.kebab-expanded .support-item.active .dropdown-menu{display:flex}.kebab-expanded .dropdown-item{padding:12px 16px;font-size:13px;color:#1e1e2f;cursor:pointer;transition:background .3s,color .3s}.kebab-expanded .dropdown-item:hover{background:#f3f4f6;color:#6366f1}.close-sidebar{display:none;position:absolute;top:18px;right:18px;font-size:26px;cursor:pointer;color:#1e1e2f;background:none;border:none;transition:transform .3s ease,color .3s}.close-sidebar:hover{transform:rotate(180deg);color:#6366f1}.user-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;cursor:pointer;border:2px solid #e4e7ec;transition:border-color .3s,transform .3s}.user-avatar:hover{border-color:#6366f1;transform:scale(1.05)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{left:-100%;opacity:0}to{left:0;opacity:1}}@keyframes slideOutLeft{0%{left:0;opacity:1}to{left:-100%;opacity:0}}.mobile-logo-simple{display:none;padding:15px 0;text-align:left;border-bottom:1px solid #e4e7ec;width:100%}.mobile-logo-img{height:100px;width:auto;transition:transform .3s ease}.mobile-logo-img:hover{transform:scale(1.05)}@media (max-width: 768px){.SearchHeader input,.user-name,.user-container{display:none}.hamburger,.kebab{display:block}.SubHeader{position:fixed;top:0;left:-100%;width:85%;max-width:340px;height:100vh;background:#fff;flex-direction:column;padding:20px;box-shadow:5px 0 15px #0003;z-index:2000;transition:left .4s cubic-bezier(.68,-.55,.27,1.55),opacity .4s ease;opacity:0;overflow-y:auto}.SubHeader.open{display:flex;left:0;opacity:1;animation:slideInLeft .4s ease forwards}.SubHeader:not(.open){animation:slideOutLeft .4s ease forwards}.close-sidebar{display:block}.mobile-overlay{position:fixed;inset:0;background:#0009;z-index:1999;opacity:0;transition:opacity .4s ease;pointer-events:none}.mobile-overlay.active{display:block;opacity:1;pointer-events:auto}.mobile-logo-simple{display:block}.SubHeader .nav{flex-direction:column;gap:18px;width:100%;margin-top:0!important;align-items:flex-start}.SubHeader .nav a{color:#1e1e2f;font-size:15px;font-weight:500;text-decoration:none;padding:12px 0;position:relative;transition:color .3s,transform .3s}.SubHeader .nav a:hover,.SubHeader .nav a.active{color:#6366f1;transform:translate(8px)}.SubHeader .nav a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .3s ease}.SubHeader .nav a:hover:after,.SubHeader .nav a.active:after{width:50%}.SubHeader .dropdown-link{color:#1e1e2f;font-size:15px;font-weight:500;padding:12px 0;width:100%;transition:color .3s,transform .3s}.SubHeader .dropdown-link:hover{color:#6366f1;transform:translate(8px)}.dropdown-menu{position:static;background:transparent;border:none;box-shadow:none;padding-left:24px;display:none}.dropdown-menu .dropdown-item{color:#1e1e2f;font-size:13px;font-weight:500;padding:10px 0;transition:color .3s,transform .3s;white-space:normal;word-break:break-word}.dropdown-menu .dropdown-item:hover{color:#6366f1;transform:translate(8px)}.dropdown-container.active .dropdown-menu{display:flex;flex-direction:column;gap:10px;margin:8px 0 15px;padding-right:8px}.dropdown-menu.sub-dropdown{max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px}.dropdown-menu.sub-dropdown::-webkit-scrollbar{width:4px}.dropdown-menu.sub-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.dropdown-menu.sub-dropdown::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.dropdown-container{width:100%;margin-bottom:5px}.dropdown-container.active{margin-bottom:15px}}@media (max-width: 480px){.dropdown-menu.sub-dropdown{max-height:45vh}}.footer{width:100%;padding:16px 32px;background-color:#f9fafb;color:#6b7280;display:flex;justify-content:space-between;align-items:center;font-family:Inter,Segoe UI,Tahoma,sans-serif;font-size:13px;border-top:1px solid #e5e7eb}.footer p{margin:0;line-height:1.4}.footer a{color:#3b82f6;text-decoration:none}.footer a:hover{text-decoration:underline}@media (max-width: 768px){.footer{flex-direction:column;text-align:center;gap:4px}}body,html,#root{height:100%;margin:0;padding:0;background-color:#eceef1;font-family:Inter,Segoe UI,Tahoma,sans-serif}.content{min-height:calc(100vh - 120px);padding:20px 32px}.content-full{min-height:100vh;padding:20px 32px}body{padding-top:114px}.attendance-dashboard-container{padding:20px;background:#f5f6fa;min-height:100vh;width:100%;box-sizing:border-box}.authentication-error-message{background:#ffe6e6;color:#e84556;padding:10px 15px;border-radius:8px;margin-bottom:15px;font-weight:600;text-align:center;width:100%;box-sizing:border-box}.attendance-dashboard-top-row{display:flex;gap:20px;flex-wrap:wrap;width:100%}.attendance-punched-column-container{flex:2;display:flex;flex-direction:column;gap:15px;min-width:0;width:100%}.attendance-dashboard-card{background:#fff;border-radius:12px;box-shadow:0 6px 20px #00000014;padding:15px;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.attendance-schedule-dashboard-card{flex:1;min-width:300px;max-width:400px;width:100%}.attendance-dashboard-card-header-section,.attendance-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px;width:100%;box-sizing:border-box}.attendance-dashboard-card-header-section h3,.attendance-card-header h3{font-size:18px;color:#222;margin:0;flex-shrink:0}.attendance-search-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:auto;justify-content:flex-end}.attendance-employee-search{padding:6px 10px;border-radius:8px;border:1px solid #ddd;outline:none;width:160px;font-size:14px;transition:border-color .2s;box-sizing:border-box;flex-shrink:0}.attendance-employee-search:focus{border-color:#007bff}.attendance-reload-schedule-button,.attendance-reload-btn{border:none;background:transparent;font-size:18px;cursor:pointer;transition:transform .2s;padding:5px;color:#666;flex-shrink:0}.attendance-reload-schedule-button:hover,.attendance-reload-btn:hover{transform:rotate(20deg);color:#333}.attendance-card-table-container,.attendance-card-table{width:100%;max-height:600px;overflow-y:auto;overflow-x:auto;flex:1;box-sizing:border-box}.attendance-scrollable-table-container{display:flex;flex-direction:column;width:100%}.attendance-schedule-card-subheader-section,.attendance-table-header{display:grid;font-weight:600;color:#555;border-bottom:2px solid #f0f0f0;padding:12px 0;background:#f8f9fa;position:sticky;top:0;z-index:1;align-items:center;min-height:50px;width:100%;box-sizing:border-box}.attendance-schedule-card-subheader-section{grid-template-columns:2fr 2fr 1fr;gap:10px;font-size:.9em;margin-bottom:5px;width:100%}.attendance-table-header{grid-template-columns:180px 180px 120px 140px 80px 100px 50px;gap:8px;font-size:.85em;padding:12px 5px;min-width:850px;width:auto}.attendance-table-header span{display:flex;align-items:center;justify-content:flex-start;height:50px;padding:0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;box-sizing:border-box;background:#f8f9fa!important}.attendance-table-header span:nth-child(1){min-width:180px;max-width:180px;width:100%;justify-content:flex-start}.attendance-table-header span:nth-child(2){min-width:180px;max-width:180px;width:100%;justify-content:flex-start}.attendance-table-header span:nth-child(3){min-width:120px;max-width:120px;width:100%;justify-content:flex-start}.attendance-table-header span:nth-child(4){min-width:140px;max-width:140px;width:100%;justify-content:flex-start}.attendance-table-header span:nth-child(5){min-width:80px;max-width:80px;width:100%;justify-content:center}.attendance-table-header span:nth-child(6){min-width:100px;max-width:100px;width:100%;justify-content:flex-start}.attendance-table-header span:nth-child(7){min-width:50px;max-width:50px;width:100%;justify-content:center}.attendance-table-header span:nth-child(7) svg{margin:0 auto;display:block}.attendance-schedule-table-row,.attendance-table-row{display:grid;align-items:flex-start;padding:12px 0;border-bottom:1px solid #f0f0f0;transition:background .2s;font-size:.9em;width:100%;box-sizing:border-box}.attendance-schedule-table-row{grid-template-columns:2fr 2fr 1fr;gap:10px;width:100%}.attendance-table-row{grid-template-columns:180px 180px 120px 140px 80px 100px 50px;gap:8px;padding:12px 5px;min-height:70px;align-items:flex-start;min-width:850px;width:auto}.attendance-schedule-table-row:hover,.attendance-table-row:hover{background:#f9faff}.attendance-schedule-employee-name-column,.attendance-employee-name{display:flex;flex-direction:column;font-weight:500;color:#333;padding:0 5px;min-width:0;align-items:flex-start;width:100%;box-sizing:border-box}#attendance-schedule-employee-name{font-size:.8rem;color:#0c67c7;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:0;width:100%}#attendance-employee-name{font-size:.9rem;color:#0c67c7;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:0;width:100%}.attendance-employee-name{min-width:180px;max-width:180px;width:100%;justify-content:flex-start;align-items:flex-start;display:flex;flex-direction:column;padding-top:8px}.attendance-shift{font-size:.9em;color:#555;font-weight:600;padding:0 5px;min-width:120px;max-width:120px;width:100%;display:flex;flex-direction:column;gap:4px;align-items:flex-start;justify-content:center;height:100%;box-sizing:border-box;white-space:normal!important;overflow:visible!important;word-break:break-word!important}.attendance-schedule{font-size:.85em;color:#555;font-weight:600;padding:0 5px;min-width:140px;max-width:140px;width:100%;display:flex;flex-direction:column;gap:4px;align-items:flex-start;justify-content:flex-start;height:100%;box-sizing:border-box}.attendance-schedule-time{font-size:1em;color:#0c67c7;font-weight:700;line-height:1.2;text-align:left;width:100%}.attendance-schedule-duration{font-size:1em;color:#999;font-weight:700;line-height:1.2;text-align:left;width:100%}.attendance-schedule-time-column{display:flex;flex-direction:column;font-weight:500;font-size:.75em;color:#333;padding:0 5px;align-items:flex-start;width:100%}.attendance-punch{font-size:.85em;color:#555;font-weight:600;padding:0 5px;min-width:180px;max-width:180px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:flex-start;height:100%;box-sizing:border-box}.attendance-schedule-branch-type-column{font-size:.8em;color:#666;font-weight:500;padding:0 5px;min-width:100px;max-width:100px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:flex-start;height:100%;box-sizing:border-box}.attendance-branch-type{font-size:.85em;color:#666;font-weight:500;padding:0 5px;min-width:100px;max-width:100px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:flex-start;height:100%;box-sizing:border-box}.early-late-badge{display:inline-block;padding:1px 5px!important;border-radius:10px!important;font-size:.7em!important;margin-top:2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;text-align:center;box-sizing:border-box;font-weight:500}.attendance-cam{display:flex;justify-content:center;align-items:flex-start;padding:0 5px;min-width:80px;max-width:80px;width:100%;height:100%;box-sizing:border-box}.attendance-clickable-photo{width:45px;height:45px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb;background:#f8f9fa;cursor:pointer;transition:transform .2s;box-sizing:border-box}.attendance-clickable-photo:hover{transform:scale(1.1)}.attendance-location-icon{display:flex;justify-content:center;align-items:flex-start;padding:0 5px;min-width:50px;max-width:50px;width:100%;height:100%;box-sizing:border-box}.attendance-location-icon svg{cursor:pointer;color:#007bff;font-size:18px;transition:color .2s}.attendance-location-icon svg:hover{color:#0056b3}.attendance-empty-schedule-row{text-align:center;color:#999;padding:40px 0;font-style:italic;width:100%}.attendance-image-modal-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:2000;box-sizing:border-box}.attendance-image-modal-content{background:#fff;border-radius:12px;max-width:700px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;width:85vw;box-sizing:border-box;margin:20px}.attendance-image-modal-header-section{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 18px;border-bottom:1px solid #eee;background:#f8f9fa;width:100%;box-sizing:border-box;flex-shrink:0}.attendance-image-modal-employee-information-section{flex:1;min-width:0;width:100%}.attendance-image-modal-employee-name-display{font-size:1.1em;font-weight:600;color:#333;margin-bottom:4px;width:100%}.attendance-image-modal-punch-details-section{display:flex;gap:12px;align-items:center;flex-wrap:wrap;width:100%}.attendance-image-modal-punch-type-badge{background:#007bff;color:#fff;padding:3px 10px;border-radius:20px;font-size:.85em;font-weight:500;box-sizing:border-box}.attendance-image-modal-punch-date-display,.attendance-image-modal-punch-hour-display{font-size:.85em;color:#666;font-weight:500}.attendance-image-modal-controls-section{display:flex;align-items:flex-start;gap:12px;flex-shrink:0}.attendance-image-modal-close-button{background:#dc3545;color:#fff;border:none;width:30px;height:30px;border-radius:50%;font-size:1.1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;box-sizing:border-box}.attendance-image-modal-close-button:hover{background:#c82333}.attendance-image-modal-body-section{padding:15px;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;max-height:55vh;background:#f8f9fa;width:100%;box-sizing:border-box;overflow:auto}.attendance-image-modal-image-display-container{position:relative;display:inline-block;background:#fff;border-radius:8px;padding:8px;box-shadow:0 2px 10px #0000001a;box-sizing:border-box;max-width:95%;max-height:45vh}.attendance-image-modal-enlarged-image{max-width:100%;max-height:45vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 4px 15px #0003;background:#fff;display:block;box-sizing:border-box}.attendance-image-modal-counter-overlay{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;padding:5px 10px;border-radius:20px;font-size:.85em;font-weight:500;z-index:10;box-sizing:border-box}.attendance-image-modal-information-section{margin-top:15px;padding:12px;background:#fff;border-radius:8px;width:100%;max-width:350px;box-sizing:border-box}.attendance-image-modal-information-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #f0f0f0;width:100%;box-sizing:border-box}.attendance-image-modal-information-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.attendance-image-modal-information-label{font-weight:600;color:#555;font-size:.9em}.attendance-image-modal-information-value{color:#333;font-weight:500;font-size:.9em}.attendance-image-modal-navigation-section{display:flex;justify-content:center;gap:12px;padding:12px 18px;border-top:1px solid #eee;background:#f8f9fa;width:100%;box-sizing:border-box}.attendance-image-modal-navigation-button{background:#007bff;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1.1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;box-sizing:border-box}.attendance-image-modal-navigation-button:hover:not(:disabled){background:#0056b3}.attendance-image-modal-navigation-button:disabled{background:#6c757d;cursor:not-allowed}.attendance-image-modal-keyboard-hint{text-align:center;padding:8px;background:#f8f9fa;color:#666;font-size:.8em;border-top:1px solid #eee;width:100%;box-sizing:border-box}.attendance-location-popup-modal-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1500;box-sizing:border-box}.attendance-location-popup-content{background:#fff;padding:15px 25px;border-radius:8px;font-size:16px;font-weight:600;box-shadow:0 4px 15px #00000040;max-width:80%;text-align:center;word-break:break-word;box-sizing:border-box}@media (max-width: 1200px){.attendance-dashboard-top-row{flex-direction:column}.attendance-schedule-dashboard-card{max-width:100%}.attendance-punched-column-container{flex-direction:row;gap:15px}}@media (max-width: 1024px){.attendance-dashboard-container{padding:15px}.attendance-punched-column-container{flex-direction:column}.attendance-table-header,.attendance-table-row{grid-template-columns:150px 150px 100px 120px 70px 90px 40px;gap:6px;font-size:.8em;min-width:720px;width:auto}}@media (max-width: 768px){.attendance-dashboard-container{padding:12px}.attendance-dashboard-card-header-section,.attendance-card-header{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:15px}.attendance-search-controls{justify-content:center;width:100%}.attendance-employee-search{width:100%;max-width:200px}.attendance-table-header,.attendance-table-row{grid-template-columns:130px 130px 90px 110px 60px 80px 35px;gap:5px;font-size:.75em;min-width:640px;width:auto}}@media (max-width: 480px){.attendance-dashboard-container{padding:8px}.attendance-dashboard-card{padding:12px}.attendance-dashboard-card-header-section h3,.attendance-card-header h3{font-size:16px;text-align:center;width:100%}.attendance-search-controls{flex-direction:row;justify-content:center;gap:8px;width:100%}.attendance-employee-search{flex:1;max-width:none;width:auto}.attendance-table-header,.attendance-table-row{grid-template-columns:120px 100px 80px 70px 35px;gap:4px;font-size:.7em;padding:8px 3px;min-height:50px;min-width:405px;width:auto}}.attendance-employee-name,.attendance-shift,.attendance-schedule,.attendance-punch,.attendance-branch-type{padding-top:0!important;align-items:flex-start!important;justify-content:flex-start!important}#attendance-employee-name{padding-top:0!important;margin-bottom:0!important;line-height:1.2!important}.early-late-badge{margin-top:2px!important;padding:1px 5px!important;font-size:.7em!important}.attendance-table-row>span{padding-top:4px!important}.attendance-punch,.attendance-schedule,.attendance-cam,.attendance-branch-type{padding-top:4px!important}@media (max-width: 480px){.attendance-dashboard-container{padding:8px 6px}.attendance-dashboard-card{padding:12px 10px;border-radius:10px}.attendance-dashboard-card-header-section,.attendance-card-header{flex-direction:column;gap:12px;margin-bottom:12px}.attendance-dashboard-card-header-section h3,.attendance-card-header h3{font-size:16px;text-align:center;width:100%;margin-bottom:0}.attendance-search-controls{width:100%;justify-content:center;gap:8px;flex-wrap:nowrap}.attendance-employee-search{width:100%;max-width:200px;font-size:13px;padding:5px 8px;flex:1}.attendance-reload-schedule-button,.attendance-reload-btn{font-size:16px;padding:4px}.attendance-card-table-container{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:8px;background:#fff;width:100%;max-height:400px;min-height:200px}.attendance-table-header,.attendance-table-row{display:grid;grid-template-columns:100px 90px 70px 65px 50px 50px 40px;gap:5px;font-size:.7em;padding:8px 4px;min-height:48px;min-width:465px;width:auto;align-items:center;box-sizing:border-box}.attendance-table-header{background:#f8f9fa!important;border-bottom:2px solid #f0f0f0;position:sticky;top:0;z-index:2;width:auto}.attendance-table-header span:nth-child(1),.attendance-employee-name{min-width:100px;max-width:100px;width:100%;padding:0 3px;flex-shrink:0}.attendance-table-header span:nth-child(2),.attendance-punch{min-width:90px;max-width:90px;width:100%;padding:0 3px;flex-shrink:0}.attendance-table-header span:nth-child(3),.attendance-shift{min-width:70px;max-width:70px;width:100%;padding:0 3px;flex-shrink:0}.attendance-table-header span:nth-child(4),.attendance-schedule{min-width:65px;max-width:65px;width:100%;padding:0 3px;flex-shrink:0}.attendance-table-header span:nth-child(5),.attendance-cam{min-width:50px;max-width:50px;width:100%;padding:0;justify-content:center;align-items:center}.attendance-table-header span:nth-child(6),.attendance-branch-type{min-width:50px;max-width:50px;width:100%;padding:0 3px;flex-shrink:0}.attendance-table-header span:nth-child(7),.attendance-location-icon{min-width:40px;max-width:40px;width:100%;padding:0;justify-content:center;align-items:center}.attendance-table-header span{display:flex;align-items:center;justify-content:flex-start;height:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75em;font-weight:600;color:#555}.attendance-cam{min-width:50px!important;max-width:50px!important;justify-content:center!important;align-items:center!important;padding:0!important}.attendance-clickable-photo{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb;background:#f8f9fa}.attendance-schedule{min-width:65px!important;max-width:65px!important;flex-direction:column!important;gap:2px!important;align-items:flex-start!important;justify-content:center!important;padding:4px 3px!important;height:100%!important}.attendance-schedule-time{font-size:.85em!important;color:#0c67c7!important;font-weight:700!important;line-height:1.1!important;width:100%!important;text-align:left!important}.attendance-schedule-duration{font-size:.85em!important;color:#999!important;font-weight:700!important;line-height:1.1!important;width:100%!important;text-align:left!important}.attendance-punch{min-width:90px!important;max-width:90px!important;flex-direction:column!important;gap:2px!important;align-items:flex-start!important;justify-content:center!important;padding:4px 3px!important;white-space:normal!important;overflow:visible!important;height:100%!important}.attendance-punch-date-line,.attendance-punch-time-line{font-size:.85em!important;line-height:1.1!important;width:100%!important;text-align:left!important;white-space:normal!important;word-break:break-word!important;display:block!important}.attendance-punch-date-line{font-size:.85em!important;color:#666!important}.attendance-punch-time-line{font-size:.85em!important;color:#555!important;font-weight:600!important}.attendance-shift{min-width:70px!important;max-width:70px!important;flex-direction:column!important;gap:2px!important;align-items:flex-start!important;justify-content:center!important;padding:4px 3px!important;white-space:normal!important;overflow:visible!important;height:100%!important}.attendance-shift-name{font-size:.85em!important;color:#0c67c7!important;font-weight:700!important;line-height:1.1!important;width:100%!important;text-align:left!important;white-space:normal!important;word-break:break-word!important;display:block!important}.attendance-shift-location{font-size:.85em!important;color:#999!important;font-weight:700!important;line-height:1.1!important;width:100%!important;text-align:left!important;white-space:normal!important;word-break:break-word!important;display:block!important}.attendance-branch-type{min-width:50px!important;max-width:50px!important;font-size:.75em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-content:flex-start!important;align-items:center!important;padding:0 3px!important}.attendance-location-icon{min-width:40px!important;max-width:40px!important;justify-content:center!important;align-items:center!important;padding:0!important}.attendance-location-icon svg{font-size:16px}.attendance-employee-name{min-width:100px!important;max-width:100px!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;height:100%!important}#attendance-employee-name{font-size:.8em!important;line-height:1.2!important;margin-bottom:0!important;width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.early-late-badge{font-size:.6em!important;padding:1px 4px!important;margin-top:2px!important;line-height:1.2!important;max-width:95px!important}.attendance-table-row>span{display:flex;align-items:center;justify-content:flex-start;height:100%;padding:0 3px;overflow:hidden}.attendance-employee-name,.attendance-shift,.attendance-punch,.attendance-schedule,.attendance-branch-type{padding-top:0!important;align-items:center!important;justify-content:flex-start!important;height:100%}.attendance-punch,.attendance-shift,.attendance-schedule,.attendance-employee-name{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;height:100%!important}.attendance-table-row:hover{background:transparent}.attendance-table-row:active{background:#f9faff}.attendance-card-table-container::-webkit-scrollbar{width:8px;height:8px}.attendance-card-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.attendance-card-table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.attendance-card-table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.attendance-card-table-container::-webkit-scrollbar-corner{background:#f1f1f1}.attendance-table-row{width:auto!important;min-width:465px!important}.attendance-schedule-dashboard-card{min-width:100%;max-width:100%}.attendance-schedule-table-row{grid-template-columns:1.5fr 1fr .8fr;gap:8px;font-size:.75em;padding:10px 5px}.attendance-card-table,.attendance-card-table-container{max-height:400px!important;height:auto!important}.attendance-schedule-dashboard-card:has(.attendance-empty-schedule-row){display:none!important}.attendance-dashboard-top-row:has(.attendance-schedule-dashboard-card[style*="display: none"]){flex-direction:column}.attendance-punched-column-container:has(+.attendance-schedule-dashboard-card[style*="display: none"]){width:100%!important;max-width:100%!important}}.employee-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000008c;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px;overflow-y:auto}.employee-modal-content{background:#fff;width:95%;max-width:800px;max-height:85vh;padding:20px 25px;border-radius:12px;box-shadow:0 10px 30px #0003;font-family:Inter,Segoe UI,Tahoma,sans-serif;display:flex;flex-direction:column;position:relative;overflow:hidden}.employee-modal-content h2{margin-bottom:20px;font-size:24px;font-weight:600;color:#333;text-align:center;padding-bottom:15px;border-bottom:1px solid #e9ecef;flex-shrink:0}.employee-modal-content form{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding-right:5px}@media (min-width: 992px){.employee-form-container{display:flex;gap:30px;margin-bottom:0;flex:1;min-height:0}.employee-form-column{flex:1;display:flex;flex-direction:column;gap:20px;min-width:0}.employee-camera-column{flex:1;display:flex;flex-direction:column;gap:0;min-width:0}}.employee-modal-content form::-webkit-scrollbar{width:6px}.employee-modal-content form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.employee-modal-content form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.employee-modal-content form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.employee-form-row{display:flex;gap:15px;margin-bottom:15px;flex-wrap:wrap}.employee-form-group-column{flex:1;min-width:220px;display:flex;flex-direction:column;gap:12px}.employee-form-group{display:flex;flex-direction:column;gap:6px}.employee-form-group label{font-weight:600;font-size:14px;color:#444;display:flex;align-items:center;gap:4px}.employee-form-group label:after{content:attr(data-required);color:#dc3545;font-size:12px;margin-left:2px}.employee-form-group input,.employee-form-group select{padding:10px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none;transition:all .3s ease;background:#fff;width:100%;box-sizing:border-box}.employee-form-group input:focus,.employee-form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26}.employee-form-group input:disabled{background-color:#f0f0f0;color:#6c6c6c;border:1px solid #ccc;box-shadow:inset 0 2px 4px #00000014;cursor:not-allowed;opacity:1}.error-field{border-color:#dc3545!important;background-color:#fff5f5}.error-text{color:#dc3545;font-size:12px;margin-top:4px;font-weight:500;padding-left:5px}.success-text{color:#28a745;font-size:13px;font-weight:500;margin-left:10px}.employee-camera-section{background:#f8fafc;border-radius:10px;padding:20px;border:2px solid #cbd5e0;height:100%;display:flex;flex-direction:column;flex:1}.employee-camera-section label{display:block;margin-bottom:15px;font-weight:600;color:#2d3748;font-size:15px}.employee-camera-container{position:relative;width:100%;height:250px;max-height:250px;overflow:hidden;border-radius:8px;background:#000;margin-bottom:15px;border:2px solid #4a5568;flex-shrink:0}.employee-camera-container video{width:100%;height:100%;object-fit:cover}.employee-camera-container canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.camera-btn{padding:8px 14px;margin:6px 4px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.save-button-wrapper{display:flex;flex-direction:column;align-items:center}.save-button-wrapper .success-text{margin-top:8px;font-size:13px;font-weight:500;color:#28a745;text-align:center}.camera-btn.capture{background-color:#4caf50;color:#fff}.camera-btn.capture:hover{background-color:#43a047;transform:translateY(-1px)}.camera-btn.stop{background-color:#f44336;color:#fff}.camera-btn.stop:hover{background-color:#e53935;transform:translateY(-1px)}.camera-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.employee-grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-wrap:wrap;z-index:1}.grid-cell{box-sizing:border-box;border:1px solid rgba(255,255,255,.1);transition:background-color .3s ease}.grid-cell.highlight{background-color:#ff000040}.center-rectangle{position:absolute;width:60%;height:70%;top:15%;left:20%;border:3px solid #00ff00;border-radius:8px;box-sizing:border-box;pointer-events:none;z-index:3;box-shadow:0 0 15px #00ff004d}.employee-preview-container{text-align:center;padding:15px;background:#fff;border-radius:8px;border:2px solid #e2e8f0;margin-top:10px;flex-shrink:0;min-height:auto;display:flex;flex-direction:column;justify-content:center}.employee-preview-container img{max-width:100%;max-height:100%;border-radius:6px;border:2px solid #ddd;box-shadow:0 4px 12px #0000001a;flex:1;object-fit:contain}.input-button-group{display:flex;gap:8px;width:100%}.input-button-group input{flex:1;min-width:0}.input-button-group button{background-color:#007bff;color:#fff;border:none;padding:0 14px;border-radius:5px;cursor:pointer;font-size:14px;transition:background .2s;white-space:nowrap;flex-shrink:0}.input-button-group button:hover{background-color:#0056b3}.success-branch-text{color:#28a745;font-size:12px;margin-top:3px}.role-note,.form-note{color:#6c757d;font-size:11px;margin-top:3px;font-style:italic;display:block}.employee-modal-buttons{display:flex;justify-content:center;gap:15px;margin-top:20px;align-items:center;padding-top:20px;border-top:1px solid #e9ecef;flex-shrink:0;width:100%}.employee-save-button{padding:12px 28px;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:140px}.employee-save-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #007bff40}.employee-cancel-button{padding:12px 28px;background:linear-gradient(135deg,#6c757d,#545b62);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:140px}.employee-cancel-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #6c757d40}@media (max-width: 991px){.employee-form-container{flex-direction:column}.employee-camera-section{margin-top:20px;height:auto}.employee-camera-container{height:250px}.employee-modal-buttons{margin-top:30px}}@media (max-width: 768px){.employee-modal-overlay{padding:10px;align-items:flex-start}.employee-modal-content{width:95%;max-height:90vh;padding:20px 15px;margin-top:10px;margin-bottom:10px}.employee-modal-content h2{font-size:20px;margin-bottom:15px}.employee-form-row{flex-direction:column;gap:15px}.employee-form-group-column{min-width:100%}.employee-camera-container{height:220px}.employee-camera-buttons{flex-direction:column;align-items:stretch;gap:10px}.employee-camera-container button{width:100%;min-width:auto}.employee-modal-buttons{flex-direction:column-reverse;gap:10px}.employee-save-button,.employee-cancel-button{width:100%;min-width:auto}.success-text{margin-left:0;margin-top:10px;text-align:center;width:100%}}@media (max-width: 480px){.employee-modal-content{padding:15px 12px;max-height:95vh}.employee-camera-container{height:200px}.center-rectangle{width:70%;height:65%;top:17.5%;left:15%}.employee-form-group input,.employee-form-group select{padding:10px 12px;font-size:13px}.employee-preview-container{min-height:150px}}.dashboard-container{width:100%;padding:20px;background-color:#f8f9fa;min-height:100vh;font-family:Inter,Segoe UI,Tahoma,sans-serif}.dashboard-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.dashboard-header-left-section{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.dashboard-header-left-section h2{font-size:24px;color:#1a1a1a;font-weight:700;margin:0}.dashboard-header-right-section{display:flex;align-items:center;gap:15px}.employee-statistics-container{display:flex;gap:15px;font-size:14px;font-weight:500;flex-wrap:wrap}.employee-statistics-container div{padding:8px 12px;background:#fff;border-radius:8px;border:1px solid #e9ecef;box-shadow:0 1px 3px #0000001a}.employee-statistic-active{color:#166534;border-left:3px solid #28a745!important}.employee-statistic-inactive{color:#dc2626;border-left:3px solid #dc3545!important}.employee-search-input{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;width:250px;font-size:14px;outline:none;transition:all .2s ease;background:#fff}.employee-search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.employee-role-filter-select,.employee-status-filter-select{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;outline:none;cursor:pointer;transition:all .2s ease;background:#fff;min-width:140px}.employee-role-filter-select:focus,.employee-status-filter-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.employee-role-filter-select,.employee-status-filter-select{margin-right:10px}.add-employee-button,.reload-employees-button{padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.add-employee-button{background-color:#007bff;color:#fff}.add-employee-button:hover{background-color:#0056b3;transform:translateY(-1px)}.reload-employees-button{background-color:#fff;color:#6c757d;border:1px solid #d1d5db}.reload-employees-button:hover{background-color:#f8f9fa;border-color:#007bff;color:#007bff}.employees-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;border:1px solid #e9ecef;max-height:600px}.scrollable-employees-table{overflow-y:auto;overflow-x:auto;max-height:600px}.employees-data-table{width:100%;border-collapse:collapse;min-width:1000px}.employees-table-header{position:sticky;top:0;z-index:10;background-color:#f8f9fa}.employees-table-header-row{background-color:#f8f9fa}.employees-table-header-cell{padding:16px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;font-size:14px;position:sticky;top:0;background:inherit;white-space:nowrap}.employees-table-body td{padding:14px 12px;border-bottom:1px solid #f3f4f6;vertical-align:middle;font-size:14px}.employee-table-row:hover{background-color:#f9fafb}.system-administrator-table-row{background-color:#fff3cd!important}.system-administrator-table-row:hover{background-color:#ffeaa7!important}.system-administrator-badge{margin-left:6px;font-size:11px;color:#856404;background:#fff3cd;padding:2px 6px;border-radius:10px;border:1px solid #ffeaa7}.inactive-employee-table-row{background-color:#fef2f2!important;opacity:.9}.inactive-employee-table-row:hover{background-color:#fecaca!important}.inactive-employee-badge{margin-left:6px;font-size:10px;color:#dc2626;background:#fef2f2;padding:2px 6px;border-radius:10px;border:1px solid #fecaca}.employee-actions-container{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.employee-actions-container svg{font-size:30px;cursor:pointer;transition:all .2s ease;padding:6px;border-radius:6px}.employee-action-icon-edit{color:#007bff;background:#e7f3ff}.employee-action-icon-edit:hover{color:#fff;background:#007bff;transform:scale(1.1)}.employee-action-icon-delete{color:#dc3545;background:#ffeaea}.employee-action-icon-delete:hover{color:#fff;background:#dc3545;transform:scale(1.1)}.employee-action-icon-deactivate{color:#f59e0b;background:#fff3cd}.employee-action-icon-deactivate:hover{color:#fff;background:#f59e0b;transform:scale(1.1)}.employee-action-icon-activate{color:#10b981;background:#d1fae5}.employee-action-icon-activate:hover{color:#fff;background:#10b981;transform:scale(1.1)}.employee-action-icon-locked{color:#6c757d;background:#f8f9fa;cursor:not-allowed}.employee-photo-image{width:50px;height:50px;border-radius:50%;object-fit:cover;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:block;margin:0 auto}.employee-photo-image:hover{transform:scale(1.1);border-color:#007bff}.employee-status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-align:center;display:inline-block;min-width:50px}.employee-status-active{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.employee-status-inactive{background:#fecaca;color:#dc2626;border:1px solid #fca5a5}.alert-message-container{position:fixed;top:20px;right:20px;padding:16px 20px;border-radius:8px;z-index:1000;max-width:400px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;animation:slideInRight .3s ease}.alert-message-close-button{background:none;border:none;font-size:18px;cursor:pointer;margin-left:10px;color:inherit;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.employee-image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:2000}.employee-image-modal .image-modal-image{max-width:90%;max-height:90%;border-radius:12px;box-shadow:0 20px 60px #00000080;object-fit:contain}.image-modal-close-button{position:absolute;top:20px;right:20px;font-size:28px;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px;background:#0009;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.image-modal-close-button:hover{background:#000c}.image-modal-previous-button,.image-modal-next-button{position:absolute;top:50%;font-size:36px;color:#fff;cursor:pointer;transform:translateY(-50%);padding:12px 16px;background:#0009;border-radius:8px;transition:background .2s ease}.image-modal-previous-button{left:20px}.image-modal-next-button{right:20px}.image-modal-previous-button:hover,.image-modal-next-button:hover{background:#000c}.image-modal-counter{position:absolute;top:20px;left:20px;color:#fff;font-size:14px;background:#0009;padding:6px 12px;border-radius:16px;font-weight:500}.export-employees-button,.import-employees-button,.download-template-button{background:#28a745;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;transition:all .2s ease;margin-left:8px}.import-employees-button{background:#17a2b8}.download-template-button{background:#6c757d}.export-employees-button:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #28a74533}.import-employees-button:hover{background:#138496;transform:translateY(-1px);box-shadow:0 4px 8px #17a2b833}.download-template-button:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 4px 8px #6c757d33}.modal-overlay-container{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:flex-start;z-index:2001;padding:20px;overflow-y:auto}.modal-content-container{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out;margin-top:40px;margin-bottom:40px}.modal-header-container{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.modal-header-container h3{margin:0;color:#343a40;font-size:1.5rem;font-weight:600}.modal-close-button{background:none;border:none;font-size:28px;cursor:pointer;color:#6c757d;line-height:1;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-body-container{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.import-instructions-container{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:20px;border-radius:10px;margin-bottom:24px;border-left:5px solid #17a2b8;box-shadow:0 2px 4px #0000000d}.import-instructions-container h4{margin-top:0;margin-bottom:16px;color:#17a2b8;font-size:1.2rem;font-weight:600}.import-instructions-container p{margin:10px 0;color:#495057;line-height:1.6;font-size:14px}.file-upload-area-container{border:3px dashed #adb5bd;border-radius:10px;padding:40px 20px;text-align:center;margin:24px 0;cursor:pointer;transition:all .3s ease;background:#f8f9fa;position:relative;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center}.file-upload-area-container:hover{border-color:#17a2b8;background:#e7f7f9;transform:translateY(-2px)}.file-upload-area-container input[type=file]{width:100%;height:100%;opacity:0;position:absolute;top:0;left:0;cursor:pointer;z-index:2}.file-selected-container{background:#fff;padding:16px;border-radius:8px;border:2px solid #28a745;margin-top:10px;width:100%;max-width:400px;box-shadow:0 4px 6px #28a7451a}.modal-actions-container{display:flex;justify-content:space-between;align-items:center;margin-top:24px;flex-wrap:wrap;gap:16px}.import-actions-container{display:flex;gap:12px}.modal-primary-button{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:12px 28px;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px}.modal-secondary-button{background:linear-gradient(135deg,#6c757d,#545b62);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease;display:flex;align-items:center;gap:8px}.modal-cancel-button{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s ease}.import-results-container{background:#fff}.result-summary-container{display:flex;gap:20px;margin-bottom:24px;flex-wrap:wrap}.result-item-container{flex:1;min-width:160px;padding:20px;border-radius:10px;text-align:center;font-size:1.1rem;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease}.result-item-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:2px solid #c3e6cb}.result-item-failed{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:2px solid #f5c6cb}.result-item-total{background:linear-gradient(135deg,#e2e3e5,#d6d8db);color:#383d41;border:2px solid #d6d8db}.success-list-container,.error-list-container{margin:20px 0;padding:20px;border-radius:10px;box-shadow:0 2px 8px #00000014}.success-list-container{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #c3e6cb}.error-list-container{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:2px solid #f5c6cb}.success-list-items,.error-list-items{list-style:none;padding:0;margin:0}.success-list-item,.error-list-item{padding:12px 16px;margin:8px 0;border-radius:6px;background:#ffffffe6;font-size:14px;line-height:1.5;transition:transform .2s ease}.error-scroll-container{max-height:250px;overflow-y:auto;padding-right:8px}.loading-spinner{display:inline-block;width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1200px){.employee-search-input{width:200px}}@media (max-width: 1024px){.dashboard-container{padding:16px}.employee-search-input{width:180px}.employee-statistics-container{gap:10px}.employee-statistics-container div{padding:6px 10px;font-size:13px}}@media (max-width: 768px){.dashboard-container{padding:12px}.dashboard-header-row,.dashboard-header-left-section{flex-direction:column;align-items:stretch;gap:12px}.dashboard-header-left-section h2{font-size:20px;text-align:center}.dashboard-header-right-section{justify-content:center}.employee-search-input,.employee-role-filter-select,.employee-status-filter-select{width:100%;margin-right:0;margin-bottom:8px}.employee-statistics-container{justify-content:center;gap:8px}.employee-statistics-container div{flex:1;min-width:120px;text-align:center;font-size:12px}.add-employee-button,.reload-employees-button,.export-employees-button,.import-employees-button,.download-template-button{flex:1;justify-content:center;min-width:140px}.employees-table-container{max-height:500px;border-radius:8px}.scrollable-employees-table{max-height:500px}.employees-table-header-cell,.employees-table-body td{padding:12px 8px;font-size:13px}.employee-actions-container{gap:6px}.employee-actions-container svg{font-size:22px;padding:7px}.employee-photo-image{width:40px;height:40px}.image-modal-close-button{top:15px;right:15px;font-size:24px;width:40px;height:40px}.image-modal-previous-button,.image-modal-next-button{font-size:28px;padding:10px 14px}.image-modal-previous-button{left:15px}.image-modal-next-button{right:15px}.image-modal-counter{top:15px;left:15px;font-size:13px}.modal-overlay-container{align-items:flex-start;padding:10px}.modal-content-container{margin-top:20px;margin-bottom:20px;max-height:85vh}.modal-body-container{padding:16px}.result-summary-container{flex-direction:column}.result-item-container{min-width:100%;padding:16px}.import-instructions-container{padding:16px}.import-instructions-container h4{font-size:1.1rem}.import-instructions-container p{font-size:13px}.file-upload-area-container{padding:30px 16px}.modal-actions-container{flex-direction:column;gap:12px}.import-actions-container{width:100%;justify-content:space-between}.modal-primary-button,.modal-secondary-button,.modal-cancel-button{width:100%;justify-content:center}.dashboard-header-right-section{display:flex;flex-wrap:wrap;gap:8px}.export-employees-button,.import-employees-button,.download-template-button{font-size:13px;padding:8px 12px;flex:1;min-width:0;justify-content:center}.export-employees-button svg,.import-employees-button svg,.download-template-button svg{font-size:16px}}@media (max-width: 480px){.dashboard-container{padding:8px}.dashboard-header-left-section h2{font-size:18px}.employee-statistics-container{flex-direction:column;width:100%}.employee-statistics-container div{width:100%}.dashboard-header-right-section{flex-direction:column;width:100%;gap:8px}.add-employee-button,.reload-employees-button,.export-employees-button,.import-employees-button,.download-template-button{width:100%}.employees-table-container,.scrollable-employees-table{max-height:400px}.employees-table-header-cell,.employees-table-body td{padding:10px 6px;font-size:12px}.employee-actions-container{flex-direction:column;gap:4px}.employee-actions-container svg{font-size:20px;padding:6px}.employee-photo-image{width:35px;height:35px}.employee-status-badge{padding:4px 8px;font-size:11px;min-width:40px}.modal-overlay-container{padding:10px}.modal-content-container{border-radius:8px}.modal-header-container{padding:16px}.modal-header-container h3{font-size:1.3rem}.result-item-container{padding:14px}.result-item-container strong{font-size:1.8rem}.success-list-container,.error-list-container{padding:16px}.success-list-item,.error-list-item{padding:10px 12px;font-size:13px}}@media (max-height: 700px){.modal-overlay-container{align-items:flex-start}.modal-content-container{margin-top:10px;max-height:95vh}}@media print{.dashboard-container{padding:0;background:#fff}.dashboard-header-row:last-child,.reload-employees-button,.export-employees-button,.import-employees-button,.download-template-button,.employee-actions-container{display:none}.employees-table-container{box-shadow:none;border:1px solid #000;max-height:none}.employees-table-header-cell{background:#f8f9fa!important;color:#000!important}.modal-overlay-container{position:static;background:#fff}.modal-content-container{box-shadow:none;max-height:none;max-width:none}.modal-close-button,.file-upload-area-container,.modal-primary-button,.modal-secondary-button,.modal-cancel-button{display:none}}.error-scroll-container::-webkit-scrollbar{width:8px}.error-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.error-scroll-container::-webkit-scrollbar-thumb{background:#dc3545;border-radius:4px}.error-scroll-container::-webkit-scrollbar-thumb:hover{background:#c82333}.scrollable-employees-table::-webkit-scrollbar{width:8px;height:8px}.scrollable-employees-table::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.scrollable-employees-table::-webkit-scrollbar-thumb{background:#007bff;border-radius:4px}.scrollable-employees-table::-webkit-scrollbar-thumb:hover{background:#0056b3}.employee-search-input:focus-visible,.employee-role-filter-select:focus-visible,.employee-status-filter-select:focus-visible{outline:2px solid #007bff;outline-offset:2px}.add-employee-button:focus-visible,.reload-employees-button:focus-visible,.export-employees-button:focus-visible,.import-employees-button:focus-visible,.download-template-button:focus-visible,.modal-primary-button:focus-visible,.modal-secondary-button:focus-visible,.modal-cancel-button:focus-visible,.alert-message-close-button:focus-visible,.image-modal-close-button:focus-visible,.image-modal-previous-button:focus-visible,.image-modal-next-button:focus-visible{outline:2px solid #0056b3;outline-offset:2px}.modal-primary-button:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 6px 12px #007bff33}.modal-primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-secondary-button:hover{background:linear-gradient(135deg,#545b62,#3d4348);transform:translateY(-2px);box-shadow:0 6px 12px #6c757d33}.modal-secondary-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-cancel-button:hover{background:#545b62;transform:translateY(-2px);box-shadow:0 4px 8px #6c757d33}.modal-cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.export-employees-button:disabled,.import-employees-button:disabled,.download-template-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.file-upload-area-container p{color:#6c757d;margin:0;font-size:16px;font-weight:500}.file-upload-area-container:hover p{color:#17a2b8}.file-selected-container p{margin:6px 0;color:#495057;font-size:14px}.file-selected-container p:first-child{color:#28a745;font-weight:600}.import-instructions-container strong{color:#343a40;font-weight:600}.result-item-container:hover{transform:translateY(-3px)}.success-list-item:hover,.error-list-item:hover{transform:translate(5px)}.no-photo-text{color:#6c757d;font-style:italic;font-size:13px}.employee-table-row:hover .employee-photo-image{transform:scale(1.1);border-color:#007bff}.image-modal-close-button:hover,.image-modal-previous-button:hover,.image-modal-next-button:hover{background:#000c}.alert-message-close-button:hover{opacity:.8}.modal-close-button:hover{background:#e9ecef;color:#343a40}.modal-close-button:disabled{opacity:.5;cursor:not-allowed}.export-employees-button:disabled,.import-employees-button:disabled,.download-template-button:disabled,.add-employee-button:disabled,.reload-employees-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.employee-balance-cell{text-align:center}.balance-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.balance-good{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.balance-low{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;animation:pulse-low 1.5s ease-in-out infinite}.balance-none{background-color:#e9ecef;color:#6c757d;border:1px solid #dee2e6}@keyframes pulse-low{0%,to{opacity:1}50%{opacity:.7}}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}.schedule-container{padding:20px;max-width:1400px;margin:0 auto;background:#f9f9f9;min-height:100vh}.schedule-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.schedule-header h2{font-size:28px;color:#2c3e50;font-weight:600}.filters-dropdowns{display:flex;gap:10px;flex-wrap:wrap}.filter-dropdown{position:relative}.dropdown-btn{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:14px;min-width:120px;position:relative}.dropdown-btn:after{content:"▼";margin-left:8px;font-size:12px;transition:transform .2s}.dropdown-btn.active:after{transform:rotate(-180deg)}.dropdown-btn:hover{border-color:#007bff}.dropdown-content{position:absolute;top:110%;left:0;width:220px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:10px;z-index:1000;max-height:300px;overflow-y:auto}.dropdown-content .dropdown-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px;color:#444}.dropdown-content .dropdown-item:hover{background:#f5f5f5}.dropdown-search{width:100%;padding:6px 8px;margin-bottom:8px;border-radius:6px;border:1px solid #ccc;outline:none}.dropdown-search:focus{border-color:#007bff}.select-all-btn{width:100%;background:#007bff;color:#fff;border:none;padding:6px 0;border-radius:6px;margin-bottom:6px;cursor:pointer;font-size:14px}.select-all-btn:hover{background:#0056b3}.view-mode-buttons{display:flex;gap:6px}.view-mode-buttons button{padding:6px 12px;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:14px;transition:all .2s ease}.view-mode-buttons button.active{background:#007bff;color:#fff;border-color:#007bff}.header-buttons{display:flex;gap:8px;flex-wrap:wrap}.export-btn,.open-shift-btn{padding:8px 14px;border-radius:6px;border:none;background:#007bff;color:#fff;cursor:pointer;font-size:14px;transition:background .2s ease}.export-btn:hover,.open-shift-btn:hover{background:#0056b3}.mini-card-schedule{margin-top:20px}.schedule-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.schedule-controls .nav-buttons{display:flex;align-items:center;justify-content:center;gap:12px}.schedule-controls .nav-buttons button{padding:6px 14px;border:none;border-radius:6px;background-color:#2575fc;color:#fff;font-size:13px;cursor:pointer}.schedule-controls .nav-buttons button:hover{background-color:#6a11cb}.schedule-controls .nav-buttons .current-date{font-weight:600;font-size:14px}.today-btn{padding:6px 14px;border:none;border-radius:6px;background-color:#28a745;color:#fff;font-size:13px;cursor:pointer}.today-btn:hover{background-color:#218838}.scrollable-grid{max-height:300px;overflow-y:auto;padding:10px;background-color:#fff;border-radius:8px;border:1px solid #ddd}.scrollable-grid::-webkit-scrollbar{width:8px}.scrollable-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.scrollable-grid::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.scrollable-grid::-webkit-scrollbar-thumb:hover{background:#555}.mini-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.day-timeline{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px}.hour-column{flex:0 0 140px;background:#f9f9f9;border-radius:6px;padding:6px;box-shadow:0 1px 4px #0003;display:flex;flex-direction:column;gap:6px}.hour-label{font-size:12px;font-weight:700;text-align:center;margin-bottom:4px}.day-column{background:#f9f9f9;border-radius:6px;padding:6px;box-shadow:0 1px 4px #0003}.day-header{font-weight:700;font-size:13px;margin-bottom:6px;text-align:center}.mini-shift-card{background:linear-gradient(135deg,#6a11cb,#2575fc);border-radius:12px;padding:10px 12px;margin-bottom:8px;box-shadow:0 6px 20px #0003;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;font-size:13px;color:#fff;display:flex;flex-direction:column;gap:4px}.mini-shift-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 10px 25px #0000004d;background:linear-gradient(135deg,#2575fc,#6a11cb)}.mini-card-branch{font-size:10px;color:#444;padding:3px 6px;border-radius:6px;display:inline-block;margin-bottom:6px;background:#fff3}.mini-card-title{font-weight:700;font-size:14px;margin-bottom:2px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.mini-card-time{color:#ffffffe6;font-size:12px;margin-bottom:2px}.mini-card-employee{color:#fffffff2;font-size:12px;margin-bottom:4px;margin-top:4px;max-height:32px;overflow:hidden}.no-shifts{text-align:center;font-size:12px;color:#444}.shift-table{margin-top:20px}.shift-table.scrollable-table{max-height:300px;overflow-y:auto}.shift-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000000d}.shift-table th,.shift-table td{padding:10px 12px;text-align:left;font-size:14px}.shift-table thead{background:#f1f3f6;font-weight:600}.shift-table tbody tr{border-bottom:1px solid #eee;transition:background .2s ease}.shift-table tbody tr:hover{background:#f9faff}.shift-table button{padding:4px 8px;border-radius:6px;border:none;cursor:pointer;background:#007bff;color:#fff;font-size:12px;margin-right:4px}.shift-table button:hover{background:#0056b3}.branch-badge{display:inline-block;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:500;color:#555}.employee-list-display{font-size:11px;line-height:1.3;cursor:default}.employee-name{display:inline}.view-more-btn,.view-less-btn{background:#ffffff4d;border:none;color:#fff;padding:1px 4px;border-radius:3px;font-size:10px;cursor:pointer;margin-left:4px;transition:background .2s ease}.view-more-btn:hover,.view-less-btn:hover{background:#ffffff80}.shift-table .employee-list-display{font-size:12px;color:#333}.shift-table .view-more-btn,.shift-table .view-less-btn{background:#007bff;color:#fff;font-size:11px}.shift-table .view-more-btn:hover,.shift-table .view-less-btn:hover{background:#0056b3}@media (max-width: 1024px){.filters-dropdowns,.view-mode-buttons,.header-buttons{flex-wrap:wrap}}@media (max-width: 768px){.schedule-header h2{font-size:22px}.dropdown-content{width:180px}.shift-table th,.shift-table td{font-size:12px;padding:8px 10px}}@media (max-width: 480px){.schedule-header{flex-direction:column;gap:8px}.view-mode-buttons,.header-buttons{width:100%;justify-content:space-between}.shift-table table{font-size:12px}}.my-shift-assign-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#2828288c;display:flex;justify-content:center;align-items:center;z-index:2000}.my-shift-assign-modal{background:#fff;width:650px;border-radius:12px;box-shadow:0 6px 20px #00000040;display:flex;flex-direction:column;overflow:visible;animation:my-shift-fadeIn .3s ease;max-height:100vh}.my-shift-compact-modal{padding:20px 24px;overflow:visible;max-height:100vh;box-sizing:border-box}.my-shift-assign-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6e6e6;padding-bottom:12px;margin-bottom:18px}.my-shift-assign-header h3{font-size:20px;font-weight:600;color:#2c3e50}.my-shift-assign-close-btn{background:none;border:none;font-size:22px;color:#888;cursor:pointer;transition:color .2s ease}.my-shift-assign-close-btn:hover{color:#e74c3c}.my-shift-assign-form{display:flex;flex-direction:column;gap:16px}.my-shift-assign-form-group{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.my-shift-assign-form-group label{flex:0 0 120px;font-size:14px;font-weight:500;color:#555}.my-shift-assign-form-group input,.my-shift-assign-form-group select,.my-shift-assign-form-group textarea{flex:1;padding:8px 10px;border:1px solid #dcdcdc;border-radius:6px;font-size:14px;transition:border .2s ease,box-shadow .2s ease}.my-shift-assign-form-group input:focus,.my-shift-assign-form-group select:focus,.my-shift-assign-form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db26;outline:none}.my-shift-assign-searchable-dropdown{position:relative;width:70%;font-size:14px}.my-shift-assign-dropdown-header{padding:10px 12px;border:1px solid #ccc;border-radius:6px;background:#fafafa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;position:relative}.my-shift-assign-dropdown-header:hover{background:#f0f8ff;border-color:#3498db}.my-shift-selection-info{display:flex;align-items:center;gap:8px;flex:1}.my-shift-selection-text{font-size:14px;color:#333}.my-shift-selected-count{font-size:12px;color:#666;background:#e3f2fd;padding:2px 8px;border-radius:12px;font-weight:600}.my-shift-assign-dropdown-body{position:absolute;top:105%;left:0;width:100%;background:#fff;border:1px solid #dcdcdc;border-radius:8px;padding:10px;box-shadow:0 6px 15px #00000026;z-index:50;max-height:300px;overflow-y:auto;animation:my-shift-slideDown .2s ease-out}.my-shift-assign-dropdown-body input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;margin-bottom:10px;font-size:14px;position:sticky;top:0;background:#fff;z-index:10}.my-shift-assign-dropdown-body input:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db26}.my-shift-assign-select-actions{display:flex;justify-content:space-around;margin-bottom:10px;position:sticky;top:50px;background:#fff;padding:5px 0;z-index:5}.my-shift-assign-select-actions button{background:#3498db;color:#fff;border:none;padding:6px 12px;border-radius:5px;font-size:12px;cursor:pointer;transition:background .2s ease}.my-shift-assign-select-actions button:hover{background:#2980b9}.my-shift-assign-dropdown-list{max-height:210px;overflow-y:auto;border:1px solid #f0f0f0;border-radius:6px;margin-top:10px}.my-shift-assign-dropdown-list::-webkit-scrollbar{width:6px}.my-shift-assign-dropdown-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.my-shift-assign-dropdown-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.my-shift-assign-dropdown-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.my-shift-assign-dropdown-item{display:grid;grid-template-columns:25px 1fr;align-items:center;padding:8px 10px;border-radius:4px;cursor:pointer;transition:background .2s ease;gap:12px;min-height:35px;border-bottom:1px solid #f5f5f5}.my-shift-assign-dropdown-item:last-child{border-bottom:none}.my-shift-assign-dropdown-item:hover{background:#f8fbff;border-color:#e3f2fd}.my-shift-assign-dropdown-item.no-results{justify-content:center;text-align:center;color:#666;font-style:italic}.my-shift-assign-dropdown-item input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#3498db;cursor:pointer;justify-self:center}.my-shift-assign-dropdown-item span{font-size:14px;color:#333;line-height:1.4;font-weight:500}.my-shift-employee-counter{font-size:11px;color:#888;text-align:right;margin-top:5px;padding:0 5px}.my-shift-repeat-days-buttons{display:flex;gap:6px}.my-shift-repeat-days-buttons button{background:#f4f4f4;border:1px solid #dcdcdc;border-radius:4px;padding:6px 10px;font-size:12px;cursor:pointer;transition:all .2s ease}.my-shift-repeat-days-buttons button.active{background:#3498db;color:#fff;border-color:#3498db}.my-shift-repeat-days-buttons button:hover{background:#3498db;color:#fff}.my-shift-assign-form-group textarea{min-height:60px;resize:vertical}.my-shift-assign-btn{padding:10px 18px;background:#3498db;border:none;color:#fff;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:background .2s ease;align-self:flex-end}.my-shift-assign-btn:hover{background:#2980b9}@keyframes my-shift-fadeIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes my-shift-slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.my-shift-compact-modal{max-height:85vh;overflow-y:auto}.my-shift-assign-tabs{display:flex;border-bottom:1px solid #e6e6e6;margin-bottom:20px;gap:5px}.my-shift-assign-tab{flex:1;padding:12px 16px;background:#f8f9fa;border:none;border-radius:8px 8px 0 0;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;text-align:center}.my-shift-assign-tab.active{background:#3498db;color:#fff;transform:translateY(-2px);box-shadow:0 2px 8px #3498db4d}.my-shift-assign-tab:hover:not(.active){background:#e9ecef}.my-shift-time-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.my-shift-time-input-group{display:flex;flex-direction:column;gap:8px}.my-shift-time-input-fields{display:flex;gap:8px}.my-shift-assign-date-input,.my-shift-assign-time-input{flex:1;padding:10px 12px;border:1px solid #dcdcdc;border-radius:8px;font-size:14px;transition:all .3s ease}.my-shift-assign-date-input:focus,.my-shift-assign-time-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.my-grace-period-section{background:linear-gradient(135deg,#f8f9ff,#f0f4ff);padding:20px;border-radius:12px;border:1px solid #e6eeff;margin-bottom:20px}.my-grace-period-section h4{margin:0 0 8px;color:#2c3e50;font-size:16px}.my-grace-period-description{color:#666;font-size:13px;margin-bottom:20px;line-height:1.4}.my-grace-period-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.my-grace-preset-btn{background:#fff;border:2px solid #e6eeff;border-radius:10px;padding:15px;cursor:pointer;transition:all .3s ease;text-align:center;min-height:80px;display:flex;flex-direction:column;justify-content:center}.my-grace-preset-btn:hover{border-color:#3498db;transform:translateY(-2px);box-shadow:0 4px 12px #3498db26}.my-grace-preset-btn.active{border-color:#3498db;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #3498db4d}.my-grace-preset-label{font-weight:600;font-size:14px;margin-bottom:4px}.my-grace-preset-desc{font-size:11px;opacity:.8;margin-bottom:6px}.my-grace-preset-times{font-size:12px;font-weight:500}.my-custom-grace-period{display:grid;grid-template-columns:1fr 1fr;gap:15px}.my-grace-period-input-group{display:flex;flex-direction:column;gap:8px}.my-grace-period-input-group label{font-size:13px;font-weight:600;color:#2c3e50;margin:0}.my-grace-period-input-with-unit{display:flex;align-items:center;gap:8px}.my-grace-period-input-fancy{flex:1;padding:12px;border:2px solid #e6eeff;border-radius:10px;font-size:14px;font-weight:600;text-align:center;transition:all .3s ease;background:#fff}.my-grace-period-input-fancy:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none;transform:scale(1.02)}.my-grace-period-unit{font-size:12px;color:#666;font-weight:500;min-width:60px}.my-shift-break-time-input{max-width:120px}.my-emergency-shift-section{background:linear-gradient(135deg,#fff8f8,#ffeaea);padding:20px;border-radius:12px;border:1px solid #ffcccc;margin-bottom:20px}.my-emergency-shift-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.my-emergency-shift-icon{font-size:24px}.my-emergency-shift-header h4{margin:0;color:#d63031;font-size:18px}.my-emergency-shift-description{color:#666;font-size:14px;line-height:1.5;margin-bottom:20px}.my-emergency-toggle-section{margin-bottom:20px}.emergency-shift-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;padding:15px;background:#fff;border-radius:10px;border:2px solid #ffcccc;transition:all .3s ease}.emergency-shift-toggle:hover{border-color:#ff6b6b;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b33}.emergency-shift-toggle input[type=checkbox]{width:20px;height:20px;accent-color:#ff6b6b}.emergency-shift-toggle-text{font-weight:600;font-size:16px;color:#d63031}.my-emergency-shift-details{animation:my-shift-slideDown .3s ease-out}.my-emergency-shift-warning-box{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:10px;padding:15px;margin:20px 0;display:flex;gap:12px;align-items:flex-start}.my-emergency-warning-icon{font-size:20px;flex-shrink:0}.my-emergency-warning-content{flex:1}.my-emergency-warning-title{font-weight:600;color:#856404;margin-bottom:5px;font-size:14px}.my-emergency-warning-message{color:#856404;font-size:13px;line-height:1.4}.my-emergency-shift-features{display:flex;flex-direction:column;gap:10px;margin-top:15px}.my-emergency-feature-item{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border-radius:8px;border:1px solid #e9ecef}.my-emergency-feature-icon{font-size:16px;flex-shrink:0}.my-emergency-feature-text{font-size:13px;color:#495057;font-weight:500}.my-shift-color-dropdown{max-width:200px}.my-shift-auth-error{background:#f8d7da;color:#721c24;padding:10px;border-radius:6px;margin-bottom:15px;font-size:14px}@media (max-width: 768px){.my-shift-assign-modal{width:95%}.my-shift-assign-form-group{flex-direction:column;align-items:flex-start}.my-shift-assign-form-group label{flex:unset}.my-shift-assign-searchable-dropdown{width:100%}.my-shift-assign-dropdown-body{width:100vw;max-width:300px;left:50%;transform:translate(-50%)}.my-shift-assign-dropdown-list{max-height:180px}.my-shift-time-input-grid,.my-custom-grace-period,.my-grace-period-presets{grid-template-columns:1fr}.my-shift-assign-tabs{flex-direction:column}.my-shift-assign-tab{border-radius:8px;margin-bottom:5px}.my-shift-assign-form-group label{min-width:200px}.my-emergency-shift-features{grid-template-columns:1fr}.my-emergency-shift-warning-box{flex-direction:column;text-align:center}.my-emergency-warning-icon{align-self:center}}.login-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;overflow:hidden}.login-card{background:#fff;padding:30px 20px;border-radius:10px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px;text-align:center;overflow:hidden}.login-card h2{font-size:24px;margin-bottom:15px;color:#333}.error{color:#e74c3c;font-size:14px;margin-bottom:10px}.login-card input{width:100%;padding:10px 12px;margin-bottom:12px;border:1px solid #ccc;border-radius:6px;font-size:14px;transition:all .2s ease}.login-card input:focus{border-color:#007bff;outline:none;box-shadow:0 0 5px #007bff4d}.remember-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:14px;flex-wrap:wrap;gap:10px}.remember-row label{display:flex;align-items:center;gap:6px;cursor:pointer}.remember-row input[type=checkbox]{width:16px;height:16px;margin:0}.login-card button{width:100%;padding:12px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background .2s ease}.login-card button:hover{background:#0056b3}.login-card button:disabled{background:#007bff80;cursor:not-allowed}.divider{display:flex;align-items:center;margin:15px 0;color:#aaa;font-size:14px}.divider span{margin:0 10px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ddd}.qr-login{display:flex;align-items:center;justify-content:center;background:#f0f0f0;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:14px;color:#333;box-shadow:0 2px 5px #0000001a}.qr-login:hover{background:#e0e0e0;transform:scale(1.05);box-shadow:0 4px 15px #007bff4d}.qr-login svg{transition:transform .3s ease}.qr-login:hover svg{transform:rotate(10deg)}.login-wrapper p.copyright{margin-top:10px;font-size:12px;color:#999;text-align:center}@media (max-width: 480px){.login-wrapper{padding:5px}.login-card{padding:20px 15px}.login-card h2{font-size:20px}.remember-row{flex-direction:column;align-items:flex-start;gap:5px}.divider{font-size:12px}.qr-login{font-size:12px;padding:6px 10px}}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,Segoe UI,Tahoma,sans-serif}.signup-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f4f6f8;padding:20px}.signup-card{background:#fff;padding:40px 30px;border-radius:10px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:450px;text-align:center}.signup-card h2{font-size:26px;margin-bottom:20px;color:#333}.error{color:#e74c3c;font-size:14px;margin-bottom:15px;text-align:left}.signup-card input[type=text],.signup-card input[type=email],.signup-card input[type=password]{width:100%;padding:12px 15px;margin-bottom:15px;border:1px solid #ccc;border-radius:6px;font-size:14px;transition:all .2s ease}.signup-card input:focus{border-color:#007bff;outline:none;box-shadow:0 0 5px #007bff4d}.password-wrapper{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#777;font-size:16px}.form-group{margin-bottom:15px;text-align:left;font-size:14px}.camera-container{display:flex;flex-direction:column;align-items:center;margin-top:8px;gap:8px}.camera-container video{width:100%;max-width:300px;border:1px solid #ccc;border-radius:6px}.btn{display:flex;gap:10px;justify-content:center}.camera-container button{background:#007bff;color:#fff;border:none;padding:8px 12px;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s ease}.camera-container button:hover{background:#0056b3}.preview-photo{margin-top:10px;max-width:120px;height:auto;border-radius:6px;border:1px solid #ddd}.agree{display:flex;align-items:center;font-size:14px;margin:15px 0;cursor:pointer;text-align:left}.agree input[type=checkbox]{margin-right:8px;width:16px;height:16px;accent-color:#007bff}.signup-card button[type=submit]{width:100%;padding:12px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background .2s ease}.signup-card button:hover{background:#0056b3}.signup-card button:disabled{background:#007bff80;cursor:not-allowed}.signup-card p{font-size:14px;margin-top:15px;color:#555}.signup-card a{color:#007bff;text-decoration:none;font-weight:500}.signup-card a:hover{color:#0056b3}@media (max-width: 480px){.signup-card{padding:30px 20px}}.punch-container{max-width:1200px;margin:20px auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;display:flex;gap:30px;align-items:flex-start;font-family:Inter,Segoe UI,Tahoma,sans-serif}.punch-guidance{flex:1;text-align:center;min-width:280px}.punch-guidance img{width:100%;max-width:260px;border-radius:10px;border:2px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.punch-guidance p{margin-top:12px;font-size:14px;color:#6b7280;line-height:1.5;font-weight:500}.punch-content{flex:2;min-width:0}.punch-content h2{font-size:24px;margin-bottom:20px;color:#1f2937;text-align:center;font-weight:700;letter-spacing:-.025em}.punch-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:25px;align-items:start}.punch-controls{display:flex;flex-direction:column;gap:16px}.manual-punch{margin-bottom:8px}.manual-punch label{display:block;margin-bottom:6px;font-weight:600;color:#374151;font-size:14px}.manual-punch-dropdown{position:relative;width:100%;text-align:left;font-size:14px}.manual-punch-dropdown-header{position:relative;display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f9f9f9;border:1px solid #ddd;border-radius:6px;cursor:pointer}.clear-selection-btn{position:absolute;right:30px;background:transparent;border:none;font-size:18px;color:#999;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;z-index:1}.clear-selection-btn:hover{background:#fee;color:#e74c3c}.manual-punch-dropdown-header:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.manual-punch-dropdown-arrow{font-size:12px;color:#6b7280;transition:transform .2s ease}.manual-punch-dropdown-body{position:absolute;width:100%;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;margin-top:6px;z-index:100;box-shadow:0 8px 25px #00000026;padding:10px}.manual-punch-dropdown-search{width:100%;padding:10px 12px;border:1.5px solid #d1d5db;border-radius:8px;margin-bottom:8px;font-size:14px;outline:none;transition:all .2s ease;background:#f9fafb}.manual-punch-dropdown-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.manual-punch-dropdown-list{max-height:200px;overflow-y:auto;border:1px solid #f3f4f6;border-radius:6px;margin-top:8px}.manual-punch-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f9fafb;min-height:44px;box-sizing:border-box}.manual-punch-dropdown-item:last-child{border-bottom:none}.manual-punch-dropdown-item:hover{background:#f8fafc;transform:translate(2px)}.manual-punch-dropdown-item input[type=radio]{width:16px;height:16px;margin:0;accent-color:#3b82f6;cursor:pointer;flex-shrink:0}.selected-employee-display{display:flex;align-items:center;gap:8px}.employee-avatar-small{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb;background:#f3f4f6}.employee-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.employee-name{font-size:14px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-code{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-punch-dropdown-footer{font-size:11px;color:#9ca3af;text-align:right;margin-top:8px;padding:8px 4px 0;border-top:1px solid #f3f4f6}.manual-punch-dropdown-item.no-results{justify-content:center;text-align:center;color:#6b7280;font-style:italic;padding:20px;min-height:44px}.manual-punch-dropdown-list::-webkit-scrollbar{width:6px}.manual-punch-dropdown-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.manual-punch-dropdown-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.manual-punch-dropdown-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.employee-preview-section{display:flex;flex-direction:column;gap:16px}.employee-card-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;padding:20px;border:2px solid #e2e8f0;min-height:220px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000000d}.selected-employee-card{text-align:center;width:100%}.employee-preview-image{width:90px;height:90px;border-radius:50%;object-fit:cover;border:4px solid #3b82f6;margin:0 auto 12px;background:#f1f5f9;box-shadow:0 4px 12px #3b82f633}.employee-preview-info h3{margin:0 0 8px;font-size:18px;color:#1e293b;font-weight:700;letter-spacing:-.025em}.employee-preview-info .employee-code{color:#3b82f6;font-weight:700;margin:0 0 6px;font-size:14px;letter-spacing:.5px}.employee-preview-info .employee-branch{color:#64748b;margin:0 0 6px;font-size:14px;font-weight:500}.employee-preview-info .employee-role{color:#94a3b8;margin:0;font-size:12px;text-transform:capitalize;font-weight:500}.no-employee-selected{text-align:center;color:#94a3b8}.placeholder-image{font-size:48px;margin-bottom:12px;opacity:.6}.no-employee-selected p{margin:0;font-size:14px;font-weight:500}.punch-success-below-card{width:100%;animation:slideInUp .3s ease-out}.punch-success-below-card .message-content{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1.5px solid #86efac;border-radius:10px;padding:16px;text-align:center;line-height:1.5;width:100%;box-shadow:0 4px 15px #22c55e26;font-size:14px;font-weight:500}.punch-success-below-card .shift-info{display:block;margin-top:10px;font-size:13px;color:#374151;background:#f0f9ff;padding:8px 12px;border-radius:6px;border-left:4px solid #007bff;font-weight:500}.punch-success-below-card .warning{display:block;margin-top:10px;font-size:13px;color:#eab308;background:#fefce8;padding:8px 12px;border-radius:6px;border-left:4px solid #eab308;font-weight:500}.control-row{display:flex;justify-content:center;gap:12px;margin-bottom:12px}.punch-btn{padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;flex:1;letter-spacing:.25px}.punch-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.punch-btn:active{transform:translateY(0)}.switch-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.toggle-btn{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.capture-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;margin-top:8px;min-width:120px;flex:none;font-size:15px;padding:12px 20px}.capture-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.punch-video{width:100%;max-width:340px;border-radius:10px;border:2px solid #e5e7eb;box-shadow:0 4px 15px #0000001a;margin:0 auto}.countdown{font-size:28px;font-weight:800;color:#e11d48;margin-bottom:12px;text-shadow:0 2px 4px rgba(225,29,72,.2);animation:pulse 1s infinite}.location-box{font-size:13px;color:#374151;background:#f8fafc;padding:8px 12px;border-radius:8px;display:inline-block;border:1px solid #e2e8f0;font-weight:500;margin:0 auto}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 1024px){.punch-container{max-width:95%;padding:16px}}@media (max-width: 968px){.punch-container{flex-direction:column;align-items:center;gap:20px}.punch-guidance{min-width:auto;width:100%}.punch-guidance img{max-width:240px}}@media (max-width: 768px){.punch-layout{grid-template-columns:1fr;gap:20px}.employee-preview-section{gap:12px}.employee-card-container{min-height:180px;order:-1}.punch-guidance,.punch-content{width:100%}.punch-video{max-width:100%}.manual-punch-dropdown-list{max-height:160px}.control-row{flex-direction:column}.punch-success-below-card .message-content{padding:14px;font-size:13px}.employee-preview-image{width:80px;height:80px}}@media (max-width: 480px){.punch-container{margin:10px auto;padding:12px}.punch-content h2{font-size:20px}.employee-card-container{padding:16px;min-height:160px}.punch-btn{padding:8px 12px;font-size:13px}}.message-title{color:#d35400}.message-details{color:#007bff}.emergency-shift-info-left{margin-top:20px;padding:15px;background:#fff;border:2px solid #ff6b6b;border-radius:10px;box-shadow:0 4px 6px #0000001a}.emergency-shift-list-left{font-size:14px}.emergency-shift-title-left{font-weight:700;margin-bottom:12px;color:#dc3545;font-size:16px;text-align:center;border-bottom:2px solid #ff6b6b;padding-bottom:8px}.emergency-shift-item-left{padding:12px 0;text-align:center}.emergency-shift-name-left{font-weight:700;color:#dc3545;font-size:15px;margin-bottom:5px}.emergency-shift-time-left{color:#2d3436;font-size:14px;margin:5px 0;font-weight:600}.emergency-shift-date-left{color:#636e72;font-size:13px;font-style:italic;margin-top:5px}.emergency-shift-divider{border:none;border-top:1px dashed #ff6b6b;margin:10px 0}.emergency-shift-empty-left{text-align:center;color:#856404;font-style:italic;padding:10px;background:#fff3cd;border-radius:5px}.emergency-shift-loading{text-align:center;color:#856404;font-style:italic;padding:10px}.capture-btn.emergency-active{background:linear-gradient(135deg,#dc3545,#c82333);border-color:#bd2130;animation:pulse-emergency 2s infinite}.capture-btn.emergency-active:disabled{background:#6c757d;border-color:#6c757d;animation:none}@keyframes pulse-emergency{0%{box-shadow:0 0 #dc3545b3}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 #dc354500}}.emergency-status{margin-top:10px;padding:8px;background:#fff3cd;border-radius:4px;border-left:4px solid #ffc107;text-align:center}.emergency-shift-count{font-size:12px;color:#28a745;font-weight:700;margin-top:4px}.no-emergency-shifts{color:#856404;font-style:italic;font-size:12px;margin-top:4px}.message-box.warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.emergency-indicator{display:block;background:#f8d7da;color:#721c24;padding:8px 12px;border-radius:4px;margin-top:8px;font-weight:700;border-left:4px solid #dc3545}.punch-guidance{display:flex;flex-direction:column;height:100%}.punch-guidance img{max-height:300px;object-fit:contain}.emergency-toggle-hint{font-size:10px}.thankyou-preview-box{margin-top:10px;padding:20px;background:#f0fdf4;border:2px solid #22c55e;border-radius:12px;text-align:center;animation:fadeIn .4s ease-in-out;max-width:100%}.thankyou-title{font-size:28px;font-weight:700;color:#16a34a}.thankyou-sub{color:#166534;font-size:16px;margin-bottom:12px}.thankyou-employee-name{font-size:16px;font-weight:500;color:#14532d;margin-bottom:8px}.thankyou-captured-img{width:100%;max-width:100%;height:auto;border-radius:10px;border:2px solid #16a34a;margin-top:10px}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.emergency-shift-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.emergency-badge-small{background:#f44;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700}.emergency-shift-break-left{font-size:12px;color:#666;margin-top:3px}.emergency-shift-note{margin-top:10px;padding:8px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;font-size:12px;color:#856404}.emergency-shift-selection{margin-bottom:15px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.selection-label{display:block;margin-bottom:10px;font-weight:600;color:#495057;font-size:14px}.shift-options-container{display:flex;flex-direction:column;gap:8px}.emergency-shift-option{display:flex;align-items:flex-start;padding:10px;border:2px solid #e9ecef;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#fff}.emergency-shift-option:hover{border-color:#007bff;background:#f8f9ff}.emergency-shift-option.selected{border-color:#007bff;background:#e7f1ff;box-shadow:0 0 0 2px #007bff40}.shift-option-radio{margin-right:10px;margin-top:2px}.shift-option-radio input[type=radio]{accent-color:#007bff}.shift-option-details{flex:1}.shift-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.shift-option-name{font-weight:600;color:#495057}.shift-option-badge{background:#f44;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700}.shift-option-time{font-size:13px;color:#6c757d;margin-bottom:2px}.shift-option-break{font-size:12px;color:#868e96}.selected-shift-info{margin-top:10px;padding:8px;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;font-size:13px;color:#155724}.selected-shift-badge{margin-left:8px;font-size:12px;color:#28a745;font-weight:600}.capture-btn.shift-selected{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 2px 4px #dc35454d}.selected-shift-display{margin-top:8px;padding:6px;background:#e7f3ff;border-radius:4px;font-size:12px;border-left:3px solid #007bff}.selected-shift-display strong{color:#0056b3}.selected-employee-branch{background-color:#3b82f6;color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;margin-left:8px;box-shadow:0 1px 3px #3b82f64d;display:inline-flex;align-items:center;gap:4px}.selected-employee-branch:before{content:"📍";font-size:10px}.punch-carousel{position:relative;width:100%;max-width:260px;height:260px;margin:0 auto;overflow:hidden;border-radius:10px;border:2px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.carousel-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .8s ease-in-out}.carousel-image.active{opacity:1}.emergency-shift-toggle{margin-top:6px;padding:8px;border-radius:8px;background:#f8fafc;border:1.5px dashed #fecaca}.emergency-toggle-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.emergency-toggle-checkbox{display:none}.emergency-toggle-slider{width:34px;height:18px;background:#d1d5db;border-radius:999px;position:relative;transition:background .3s ease;flex-shrink:0}.emergency-toggle-slider:after{content:"";position:absolute;width:14px;height:14px;top:2px;left:2px;background:#fff;border-radius:50%;transition:transform .3s ease}.emergency-toggle-checkbox:checked+.emergency-toggle-slider{background:#dc2626}.emergency-toggle-checkbox:checked+.emergency-toggle-slider:after{transform:translate(16px)}.emergency-toggle-text-wrap{display:flex;flex-direction:column;gap:2px}.emergency-toggle-title{font-size:13px;font-weight:700;color:#991b1b;display:flex;align-items:center;gap:4px}.emergency-toggle-hint{font-size:11px;color:#6b7280;line-height:1.3;padding-left:1px}.emergency-toggle-checkbox:disabled+.emergency-toggle-slider{background:#e5e7eb;cursor:not-allowed}.emergency-toggle-checkbox:disabled+.emergency-toggle-slider+.emergency-toggle-text-wrap .emergency-toggle-title{color:#9ca3af}.emergency-shift-count-badge{font-size:12px}.doc-container{max-width:900px;margin:40px auto;padding:30px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;animation:fadeIn .4s ease-in-out}.doc-container h1{font-size:26px;color:#222;text-align:center;margin-bottom:15px}.doc-container p{font-size:15px;color:#555;text-align:center;margin-bottom:25px;line-height:1.6}.doc-section{background:#f9f9f9;border:1px solid #eee;padding:18px 20px;border-radius:10px;margin-bottom:20px;transition:transform .2s ease,box-shadow .2s ease}.doc-section:hover{transform:translateY(-3px);box-shadow:0 3px 10px #00000014}.doc-section h2{font-size:20px;margin-bottom:10px;color:#007bff}.doc-section p{font-size:14px;color:#444;line-height:1.5}.payroll-section{background:#f0f7ff;border-color:#007bff}.payroll-section h3{color:#2c3e50;margin:20px 0 15px;font-size:18px;border-bottom:2px solid #007bff;padding-bottom:8px}.payroll-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px;margin:15px 0}.payroll-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000000d;transition:all .3s ease}.payroll-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.payroll-card h4{color:#2c3e50;margin:0 0 8px;font-size:14px}.payroll-card p{font-size:13px;color:#555;margin:5px 0;text-align:left}.payroll-card ul{margin:5px 0;padding-left:20px;font-size:12px;color:#444}.payroll-card ul li{margin:3px 0}.payroll-card code{display:block;background:#f4f4f4;padding:6px 10px;border-radius:4px;font-size:12px;color:#d63384;margin:5px 0;font-family:Courier New,monospace}.payroll-card small{display:block;font-size:11px;color:#888;margin-top:5px}.highlight-card{background:#e8f5e9;border-color:#28a745}.highlight-card h4{color:#1e7e34}.payroll-example{background:#fff;border-radius:8px;padding:20px;margin:20px 0;border:1px solid #e0e0e0}.example-container{display:flex;flex-wrap:wrap;gap:20px}.example-employee{flex:1;min-width:200px;background:#f8f9fa;padding:15px;border-radius:8px;border-left:4px solid #007bff}.example-employee h4{margin:0 0 10px;color:#2c3e50}.example-employee p{margin:5px 0;text-align:left;font-size:13px}.example-details{flex:2;min-width:280px}.example-row{display:flex;flex-wrap:wrap;gap:10px;padding:6px 0;border-bottom:1px solid #eee}.example-row .label{font-weight:600;color:#555;min-width:120px}.example-row .value{color:#333}.calc-steps{background:#f8f9fa;padding:12px 15px;border-radius:6px;font-size:13px;line-height:1.8;width:100%}.calc-steps div{font-family:Courier New,monospace;font-size:12px}.payroll-status-flow{margin:20px 0;background:#fff;border-radius:8px;padding:20px;border:1px solid #e0e0e0}.status-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;padding:15px 0}.status-step{display:flex;flex-direction:column;align-items:center;padding:12px 16px;border-radius:8px;min-width:80px;text-align:center}.status-step .step-number{background:#333;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-bottom:5px}.status-step .step-label{font-weight:600;font-size:13px}.status-step .step-desc{font-size:11px;color:#888}.status-step.draft{background:#fff3cd;border:1px solid #ffc107}.status-step.draft .step-number{background:#ffc107}.status-step.calculated{background:#d1ecf1;border:1px solid #17a2b8}.status-step.calculated .step-number{background:#17a2b8}.status-step.approved{background:#d4edda;border:1px solid #28a745}.status-step.approved .step-number{background:#28a745}.status-step.paid{background:#cce5ff;border:1px solid #007bff}.status-step.paid .step-number{background:#007bff}.status-arrow{font-size:20px;color:#999;font-weight:700}.payroll-settings-summary{margin:20px 0;background:#fff;border-radius:8px;padding:20px;border:1px solid #e0e0e0;overflow-x:auto}.settings-table{width:100%;border-collapse:collapse;font-size:13px}.settings-table thead{background:#2c3e50;color:#fff}.settings-table th,.settings-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #e0e0e0}.settings-table tbody tr:hover{background:#f5f5f5}.settings-table td:first-child{font-weight:600;color:#2c3e50}.download-btn{display:block;margin:25px auto 0;padding:12px 18px;font-size:15px;font-weight:600;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease-in-out,transform .2s ease-in-out}.download-btn:hover{background:#0056b3;transform:scale(1.05)}@media (max-width: 600px){.doc-container{padding:20px}.doc-container h1{font-size:22px}.doc-section h2{font-size:18px}.download-btn{font-size:14px;padding:10px 15px}.payroll-grid{grid-template-columns:1fr}.example-container{flex-direction:column}.status-flow{flex-direction:column;gap:10px}.status-arrow{transform:rotate(90deg)}.settings-table{font-size:11px}.settings-table th,.settings-table td{padding:6px 8px}}.contact-support-container{max-width:450px;margin:30px auto;padding:20px;font-family:Arial,sans-serif;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;animation:fadeIn .3s ease-in-out}.contact-support-container h2{font-size:20px;color:#222;margin-bottom:8px;text-align:center}.contact-support-container p{font-size:13px;color:#666;text-align:center;margin-bottom:18px}.success-message{background:#e6ffed;border:1px solid #28a745;color:#155724;padding:8px 12px;border-radius:6px;margin-bottom:15px;text-align:center;font-size:12px;font-weight:500}.contact-form{display:flex;flex-direction:column;gap:12px}.contact-form label{display:flex;flex-direction:column;font-weight:600;font-size:13px;color:#333}.contact-form input,.contact-form textarea{margin-top:4px;padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:#007bff;box-shadow:0 0 4px #007bff33}.contact-form button{padding:9px 12px;background:#007bff;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .2s ease-in-out}.contact-form button:hover{background:#0056b3}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.contact-support-container{padding:15px}.contact-support-container h2{font-size:18px}.contact-form button{font-size:13px;padding:8px}}.faq-container{max-width:700px;margin:40px auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;animation:fadeIn .4s ease-in-out}.faq-container h2{font-size:24px;text-align:center;color:#222;margin-bottom:25px}.faq-item{border-bottom:1px solid #eee;padding:15px 10px;transition:background .3s ease;cursor:pointer}.faq-item:last-child{border-bottom:none}.faq-item:hover{background:#f9f9f9}.faq-question{font-size:16px;font-weight:600;color:#333;display:flex;justify-content:space-between;align-items:center}.faq-toggle{font-size:18px;font-weight:700;color:#007bff;margin-left:10px;transition:transform .2s ease}.faq-item.active .faq-toggle{transform:rotate(180deg);color:#dc3545}.faq-answer{margin-top:10px;padding-left:5px;font-size:14px;line-height:1.6;color:#555;animation:slideDown .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 500px){.faq-container{padding:15px}.faq-container h2{font-size:20px}.faq-question{font-size:15px}.faq-answer{font-size:13px}}.ot-container{max-width:1200px;margin:20px auto;padding:20px;font-family:Arial,sans-serif;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px #0000001a}.ot-container h2{font-size:24px;font-weight:700}.OvertimeSummary-export{display:flex;align-items:center;margin-top:10px}.OvertimeSummary-export span{margin-right:8px;font-weight:500}.OvertimeSummary-export-btn{padding:8px 14px;margin-left:8px;background-color:#28a745;color:#fff;border:none;cursor:pointer;border-radius:5px;font-size:14px;transition:.2s}.OvertimeSummary-export-btn:hover{background-color:#218838}.ot-filters{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;align-items:center}.ot-filters input{padding:6px 10px;border:1px solid #ccc;border-radius:5px;width:120px;font-size:14px}.ot-filters button{padding:8px 14px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:.2s}.ot-filters button:hover{background-color:#0056b3}.ot-table-wrapper{width:100%;overflow-x:auto}.ot-table{min-width:800px;border-collapse:collapse}.ot-table th,.ot-table td{border:1px solid #ddd;padding:8px 10px;text-align:left;font-size:14px;white-space:nowrap}.ot-table th{background-color:#007bff;color:#fff;font-weight:700}.ot-table tr:nth-child(2n){background-color:#f2f2f2}.ot-table tr:hover{background-color:#e6f0ff}.ot-empty{text-align:center;font-style:italic;color:#555}.ot-avatar{width:40px;height:40px;object-fit:cover;border-radius:50%;display:inline-block}.ot-avatar--placeholder{display:flex;justify-content:center;align-items:center;background-color:#ccc;color:#fff;font-size:20px}.ot-details-btn{padding:5px 10px;background-color:#17a2b8;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:13px;transition:.2s}.ot-details-btn:hover{background-color:#138496}.ot-details-row td{background-color:#f9f9f9;padding:10px}.ot-details{width:100%}.ot-subtable{width:100%;border-collapse:collapse;margin-top:10px}.ot-subtable th,.ot-subtable td{border:1px solid #ddd;padding:6px 8px;font-size:13px;text-align:left}.ot-subtable th{background-color:#17a2b8;color:#fff}.clickable-photo{width:40px;height:40px;object-fit:cover;border-radius:5px;cursor:pointer}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:200}.modal-image{max-width:90%;max-height:90%;border-radius:8px}@media (max-width: 768px){.ot-filters{flex-direction:column;gap:8px}.ot-filters input{width:100%}.ot-table th,.ot-table td{font-size:12px;padding:6px 8px}.ot-details-btn{font-size:12px;padding:4px 8px}.OvertimeSummary-export-btn{font-size:12px;padding:6px 10px}}@media (max-width: 480px){.OvertimeSummary-export{flex-direction:column;align-items:stretch;gap:8px;width:100%}.OvertimeSummary-export span{margin:0;font-size:13px;text-align:center}.OvertimeSummary-export-btn{width:100%;margin:0;font-size:13px;padding:10px}.ot-container{padding:15px}.ot-container h2{font-size:20px}.OvertimeSummary-export-btn,.ot-filters button{font-size:12px;padding:6px 10px}.ot-avatar,.clickable-photo{width:30px;height:30px}}.qr-container{max-width:1200px;margin:-50px auto 20px;padding:20px;font-family:Inter,Arial,sans-serif}.qr-container h2{text-align:center;margin-bottom:20px;color:#2c3e50}.search-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;flex-wrap:wrap}.qr-search{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:250px}.print-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.selected-count{font-weight:600;color:#333;padding:8px 12px;background:#f0f0f0;border-radius:4px}.unselect-btn{padding:8px 12px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:5px}.unselect-btn:hover{background:#5a6268}.print-btn{padding:8px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:5px}.print-btn:hover:not(:disabled){background:#2980b9}.print-btn:disabled{background:#ccc;cursor:not-allowed}.qr-scroll-container{max-height:600px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:10px;background:#fafafa}.qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;min-height:400px}.no-users{grid-column:1 / -1;text-align:center;padding:40px;color:#666;font-size:16px}.qr-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.qr-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.qr-card.selected{border-color:#007bff;box-shadow:0 0 0 2px #007bff;background:#f8f9ff}.selection-checkbox{position:absolute;top:10px;right:10px}.selection-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.user-header{display:flex;align-items:center;width:100%;margin-bottom:1rem}.user-avatar{width:50px;height:50px;background-color:#667eea;color:#fff;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0;font-weight:700}.user-avatar .avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-info{text-align:left;flex:1}.user-info h3{margin:0;font-size:1rem;font-weight:600;color:#333}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;margin-top:4px}.role-badge.admin{background-color:#dc3545}.role-badge.employee{background-color:#1976d2}.role-badge.user{background-color:#28a745}.user-details{width:100%;text-align:left}.user-details p{margin:6px 0;font-size:.9rem;color:#555;line-height:1.4}.user-details strong{color:#333}.qr-section{margin-top:10px}.qr-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.select-all-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:#495057;font-size:.9rem;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #ddd}.select-all-checkbox input[type=checkbox]{opacity:0;position:absolute;width:16px;height:16px;cursor:pointer}.select-all-checkbox .checkmark{width:16px;height:16px;border:2px solid #ddd;border-radius:3px;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .3s ease;cursor:pointer;flex-shrink:0}.select-all-checkbox input[type=checkbox]:checked+.checkmark{background:#007bff;border-color:#007bff}.select-all-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:10px;font-weight:700}@media (max-width: 768px){.qr-container{padding:15px}.search-controls{flex-direction:column;align-items:stretch}.qr-search{min-width:auto;width:100%}.print-controls{justify-content:center;gap:8px}.qr-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.user-header{flex-direction:column;align-items:center;text-align:center}.user-avatar{margin-right:0;margin-bottom:8px}.user-info{text-align:center}}@media (max-width: 480px){.qr-grid{grid-template-columns:1fr}.print-controls{flex-direction:column;width:100%}.print-btn,.unselect-btn{width:100%;justify-content:center}.selected-count{text-align:center;width:100%}}.qr-scroll-container::-webkit-scrollbar{width:6px}.qr-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.qr-scroll-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.qr-scroll-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.pdf-btn{padding:8px 12px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:5px}.pdf-btn:hover:not(:disabled){background:#c82333}.pdf-btn:disabled{background:#ccc;cursor:not-allowed}.download-buttons{display:flex;gap:8px;margin-top:10px;justify-content:center}.png-btn{background:#28a745}.png-btn:hover{background:#218838}.qr-link.pdf-btn{background:#dc3545;font-size:13px;padding:6px 10px}.qr-link.pdf-btn:hover{background:#c82333}.qr-link.png-btn{background:#28a745;font-size:13px;padding:6px 10px}.qr-link.png-btn:hover{background:#218838}.print-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 768px){.print-controls{justify-content:center;gap:6px}.download-buttons{flex-direction:column;gap:5px}.qr-link.pdf-btn,.qr-link.png-btn{width:100%;justify-content:center}}.profile-container{max-width:600px;margin:80px auto;padding:20px;background:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;font-family:Roboto,Poppins,sans-serif;color:#1e1e2f}.profile-picture{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.profile-img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:2px solid #e4e7ec;transition:border-color .3s}.profile-img:hover{border-color:#6366f1}.profile-input{padding:8px;font-size:14px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.profile-input:hover{border-color:#6366f1}.remove-btn{padding:8px 16px;font-size:14px;color:#fff;background:#ef4444;border:none;border-radius:6px;cursor:pointer;transition:background .3s}.remove-btn:hover:not(:disabled){background:#dc2626}.remove-btn:disabled{background:#f87171;cursor:not-allowed}.profile-alert{padding:10px;margin:10px 0;border-radius:6px;text-align:center;font-size:14px}.profile-alert.loading{background:#e5e7eb;color:#1e1e2f}.profile-alert.error{background:#fee2e2;color:#ef4444}.profile-info{display:flex;flex-direction:column;gap:10px;font-size:16px}.profile-info p{padding:10px;background:#f9fafb;border-radius:6px}.profile-info strong{margin-right:8px}@media (max-width: 768px){.profile-container{margin:70px 20px;padding:15px}.profile-img{width:120px;height:120px}.profile-info{font-size:14px}}.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:rect(0,0,0,0);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:.3rem;border-bottom-right-radius:.3rem}.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{fill:#fff;color:#fff}.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){border-top-right-radius:.3rem}.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__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:.4rem;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:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;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:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.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:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);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:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.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{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:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.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}.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:.5rem;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__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;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}.attendance-report-container{max-width:1400px;margin:20px auto;padding:25px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;animation:fadeIn .4s ease}.attendance-report-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.attendance-report-header h2{flex:0 0 auto;margin:0}.attendance-report-punch-type{flex:1;min-width:200px;display:flex;align-items:center;justify-content:center;gap:8px}.attendance-report-punch-type .attendance-report-dropdown{width:100%;max-width:260px}.attendance-report-punch-type .attendance-report-dropdown-header{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-report-export{flex:0 0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.attendance-report-export>span{font-weight:500}.attendance-report-filters{margin-top:20px;padding:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.attendance-report-single-row{display:flex;align-items:flex-end;gap:15px;flex-wrap:nowrap;margin-bottom:0}.attendance-report-filter-group{display:flex;flex-direction:column;flex:1;min-width:200px}.attendance-report-filter-group label{margin-bottom:6px;color:#4a5568;font-size:14px;font-weight:600}.attendance-report-button-group{display:flex;align-items:flex-end;gap:10px;margin-top:24px}.attendance-report-dropdown{position:relative;width:100%;-webkit-user-select:none;user-select:none}.attendance-report-dropdown-header{height:42px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#4a5568;font-size:14px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.attendance-report-dropdown-header:hover{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.attendance-report-dropdown-arrow{flex-shrink:0;margin-left:8px;color:#718096}.attendance-report-dropdown-body{position:absolute;top:calc(100% + 5px);left:0;z-index:1000;width:100%;max-height:280px;padding:12px;overflow-y:auto;border:2px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 10px 25px #0000001a;animation:fadeIn .2s ease}.attendance-report-dropdown-body input[type=text]{width:100%;box-sizing:border-box;padding:8px 12px;margin-bottom:10px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none}.attendance-report-dropdown-body input[type=text]:focus{border-color:#4299e1}.attendance-report-select-actions{display:flex;gap:8px;margin-bottom:12px}.attendance-report-select-actions button{flex:1;padding:6px 12px;border:2px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:background .2s ease}.attendance-report-select-actions button:hover{background:#f7fafc}.attendance-report-dropdown-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.attendance-report-dropdown-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:4px;font-size:14px;transition:background .2s ease}.attendance-report-dropdown-item:hover{background:#f7fafc}.attendance-report-select,.attendance-report-datepicker-input,.attendance-report-field .react-datepicker__input-container input{box-sizing:border-box;width:100%;height:42px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#4a5568;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.attendance-report-select{cursor:pointer}.attendance-report-select:focus,.attendance-report-datepicker-input:focus,.attendance-report-field .react-datepicker__input-container input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e133}.attendance-report-calendar-popup{padding:10px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 10px 25px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.react-datepicker-popper{z-index:9999!important}.attendance-report-filter-btn,.attendance-report-clear-btn{height:42px;padding:10px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s ease}.attendance-report-filter-btn{border:none;background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.attendance-report-filter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4299e14d}.attendance-report-clear-btn{border:2px solid #e2e8f0;background:#fff;color:#718096}.attendance-report-clear-btn:hover{background:#f8fafc}.attendance-report-export-btn{padding:8px 16px;border:none;border-radius:8px;background:#28a745;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease}.attendance-report-export-btn:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.attendance-report-loading-spinner{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#4a5568;font-size:16px;font-weight:500}.attendance-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:25px 0;padding:20px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#edf2f7)}.attendance-report-summary-card{padding:18px;border-left:5px solid #4299e1;border-radius:10px;background:#fff;box-shadow:0 4px 12px #0000000d;text-align:center}.attendance-report-summary-card h4{margin:0 0 10px;color:#718096;font-size:14px;font-weight:600}.attendance-report-summary-card span{display:block;color:#2d3748;font-size:20px;font-weight:700}.attendance-report-table{width:100%;margin-top:30px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:0 4px 12px #0000000d}.attendance-report-scrollable-table{max-height:500px;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.attendance-report-table-header,.attendance-report-table-row{display:grid;grid-template-columns:minmax(340px,2.8fr) minmax(90px,.8fr) minmax(110px,1fr) minmax(90px,.8fr) minmax(130px,1.2fr) minmax(80px,.7fr) minmax(100px,.8fr) minmax(90px,.8fr) minmax(80px,.7fr);min-width:1200px;align-items:center}.attendance-report-table-header{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.attendance-report-table-header span,.attendance-report-table-row span{display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}.attendance-report-table-header span{min-height:48px;padding:14px 8px}.attendance-report-table-header span:first-child,.attendance-report-table-row span:first-child{justify-content:flex-start;text-align:left}.attendance-report-table-header span:first-child{padding-left:16px}.attendance-report-table-row{min-height:48px;border-bottom:1px solid #f1f5f9;background:#fff;color:#4a5568;font-size:13px;transition:background .2s ease}.attendance-report-table-row:hover{background:#f8fafc}.attendance-report-table-row span{min-height:48px;padding:12px 8px;font-weight:500}.attendance-report-table-row span:first-child{padding-left:16px;color:#2d3748;font-weight:600}.attendance-report-table-row.attendance-report-employee-first-row{border-top:2px solid #4299e1;background:linear-gradient(to right,#f8fafc,#fff)}.attendance-report-table-row.attendance-report-employee-first-row span:first-child{position:relative;padding-left:24px;color:#2c5282;font-weight:700}.attendance-report-empty-row{grid-column:1 / -1;display:flex!important;align-items:center;justify-content:center!important;min-height:100px;color:#a0aec0;font-size:16px;font-style:italic;text-align:center!important}.employee-name-with-days{display:flex;align-items:center;gap:4px;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.days-count-badge{flex-shrink:0;display:inline-block;margin-left:4px;padding:2px 6px;border-radius:8px;color:#4299e1;font-size:10px;font-weight:600;white-space:nowrap}.attendance-report-table-row.attendance-report-employee-first-row .days-count-badge{color:#fff}.attendance-report-clickable-photo{width:38px;height:38px;margin:0 auto;object-fit:cover;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .25s ease}.attendance-report-clickable-photo:hover{transform:scale(1.2);border-color:#4299e1;box-shadow:0 4px 12px #4299e14d}.attendance-report-image-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:10px;background:#000000d9;animation:fadeIn .3s ease}.attendance-report-modal-image{max-width:85%;max-height:85%;object-fit:contain;border-radius:12px;background:#1a202c;box-shadow:0 25px 50px #00000080;animation:scaleUp .3s ease}.attendance-report-image-counter{position:absolute;top:24px;right:28px;padding:8px 16px;border-radius:20px;background:#000000b3;color:#fff;font-size:14px;font-weight:600}.attendance-report-modal-nav{position:absolute;top:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);border:none;border-radius:50%;background:#ffffff26;color:#fff;font-size:22px;font-weight:700;cursor:pointer}.attendance-report-modal-nav:hover{background:#ffffff4d}.attendance-report-modal-nav.prev{left:24px}.attendance-report-modal-nav.next{right:24px}body.attendance-modal-open{overflow:hidden}@keyframes scaleUp{0%{opacity:.7;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 1200px){.attendance-report-container{max-width:95%;padding:20px}.attendance-report-table-header,.attendance-report-table-row{min-width:1000px}}@media (max-width: 768px){.attendance-report-filters{padding:16px}.attendance-report-single-row{flex-direction:column;gap:15px}.attendance-report-filter-group{width:100%;min-width:100%}.attendance-report-button-group{width:100%}.attendance-report-summary{grid-template-columns:1fr}}@media (max-width: 576px){.attendance-report-container{width:100%;max-width:100%;box-sizing:border-box;margin:10px 0;padding:12px;border-radius:8px;overflow-x:hidden}.attendance-report-header{flex-direction:column;align-items:stretch;width:100%;gap:10px}.attendance-report-header h2{width:100%;margin:0;font-size:21px;text-align:left}.attendance-report-punch-type{width:100%;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:8px}.attendance-report-punch-type label{flex-shrink:0;font-size:14px;font-weight:600}.attendance-report-punch-type .attendance-report-dropdown{flex:1;width:auto;max-width:none}.attendance-report-punch-type .attendance-report-dropdown-header{height:40px;padding:8px 10px;font-size:13px}.attendance-report-export{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:nowrap}.attendance-report-export>span{flex-shrink:0;font-size:13px}.attendance-report-export-btn{flex:0 0 auto;padding:8px 12px;font-size:12px}.attendance-report-filters{margin-top:15px;padding:14px 12px}.attendance-report-single-row{flex-direction:column;gap:12px}.attendance-report-button-group{flex-direction:column;width:100%;gap:8px;margin-top:8px}.attendance-report-filter-btn,.attendance-report-clear-btn{width:100%;height:44px;padding:10px;font-size:14px}.attendance-report-dropdown-header{height:44px;font-size:13px}.attendance-report-dropdown-body{width:100%;max-height:240px;box-sizing:border-box}.attendance-report-dropdown-item{min-height:42px;padding:8px}.attendance-report-select-actions{gap:6px}.attendance-report-select-actions button{padding:8px 6px}.attendance-report-datepicker-input,.attendance-report-field .react-datepicker__input-container input{height:44px;font-size:13px}.attendance-report-summary{grid-template-columns:1fr;gap:10px;margin:18px 0;padding:12px}.attendance-report-summary-card{padding:14px 12px}.attendance-report-summary-card h4{font-size:13px}.attendance-report-summary-card span{font-size:18px}.attendance-report-table{margin-top:20px;border-radius:8px;overflow:visible}.attendance-report-scrollable-table{max-height:400px;overflow-x:auto;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;-webkit-overflow-scrolling:touch}.attendance-report-table-header,.attendance-report-table-row{min-width:960px;grid-template-columns:280px 75px 90px 75px 95px 65px 95px 95px 65px}.attendance-report-table-header{font-size:10px;letter-spacing:.3px}.attendance-report-table-header span{min-height:40px;padding:10px 5px}.attendance-report-table-header span:first-child{padding-left:12px;font-size:11px}.attendance-report-table-row{min-height:44px;font-size:12px}.attendance-report-table-row span{min-height:44px;padding:10px 5px}.attendance-report-table-row span:first-child{padding-left:12px}.attendance-report-table-row.attendance-report-employee-first-row span:first-child{padding-left:20px}.attendance-report-table-row.attendance-report-employee-first-row span:first-child:before{content:"👤";position:absolute;left:6px;font-size:11px}.days-count-badge{font-size:10px;padding:2px 5px}.attendance-report-empty-row{min-height:80px;padding:30px 20px}.attendance-report-clickable-photo{width:32px;height:32px}.attendance-report-modal-image{max-width:95%;max-height:80%}.attendance-report-image-counter{top:16px;right:16px;padding:6px 12px;font-size:12px}.attendance-report-modal-nav{width:40px;height:40px;font-size:18px}.attendance-report-modal-nav.prev{left:10px}.attendance-report-modal-nav.next{right:10px}.attendance-report-scrollable-table::-webkit-scrollbar{width:6px;height:6px}.attendance-report-scrollable-table::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.attendance-report-scrollable-table::-webkit-scrollbar-track{background:#f1f5f9}}@media (max-width: 360px){.attendance-report-container{padding:10px 8px}.attendance-report-header h2{font-size:19px}.attendance-report-punch-type label{font-size:13px}.attendance-report-export{gap:4px}.attendance-report-export>span{font-size:12px}.attendance-report-export-btn{padding:7px 9px;font-size:11px}.attendance-report-table-header,.attendance-report-table-row{min-width:880px;grid-template-columns:240px 65px 80px 65px 85px 60px 85px 85px 60px}.attendance-report-table-header span{padding:8px 4px;font-size:9px}.attendance-report-table-row span{padding:8px 4px;font-size:11px}.days-count-badge{font-size:9px;padding:1px 4px}.attendance-report-clickable-photo{width:28px;height:28px}}@media (max-width: 768px) and (orientation: landscape){.attendance-report-scrollable-table{max-height:300px}.attendance-report-summary{grid-template-columns:repeat(2,1fr)}.attendance-report-table-header,.attendance-report-table-row{min-width:950px;grid-template-columns:220px 85px 100px 85px 105px 75px 105px 105px 75px}}@supports (-webkit-touch-callout: none){@media (max-width: 576px){.attendance-report-scrollable-table{-webkit-overflow-scrolling:touch}}}.daily-container{max-width:1200px;margin:20px auto;padding:20px;font-family:Arial,sans-serif;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px #0000001a;animation:fadeIn .3s ease-in-out}.daily-export{display:flex;align-items:center;gap:8px}.daily-export-btn{padding:6px 12px;border:none;background:#007bff;color:#fff;font-size:14px;border-radius:5px;cursor:pointer;transition:background .3s ease}.daily-export-btn:hover{background:#0056b3}.daily-filters{margin:20px 0;display:flex;flex-direction:column;gap:15px}.daily-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.daily-field{display:flex;flex-direction:column;min-width:250px}.daily-field label{font-weight:700;margin-bottom:5px;font-size:14px}.daily-dropdown{position:relative}.daily-dropdown-header{padding:8px 10px;border:1px solid #ccc;border-radius:5px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:#fff}.daily-dropdown-body{position:absolute;z-index:1000;top:110%;left:0;width:100%;max-height:250px;overflow-y:auto;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 10px #00000026;padding:8px}.daily-dropdown-body input[type=text]{width:100%;padding:6px 8px;margin-bottom:8px;border:1px solid #ccc;border-radius:4px}.daily-select-actions{display:flex;justify-content:space-between;margin-bottom:8px}.daily-select-actions button{background:#f1f1f1;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.daily-select-actions button:hover{background:#ddd}.daily-dropdown-list{max-height:180px;overflow-y:auto}.daily-dropdown-item{display:flex;align-items:center;gap:6px;padding:4px 0;cursor:pointer}.daily-dropdown-item:hover{background:#f5f5f5}.daily-filter-btn{padding:8px 14px;background:#28a745;border:none;color:#fff;font-size:14px;border-radius:5px;cursor:pointer;transition:background .3s ease}.daily-filter-btn:hover{background:#218838}.daily-row-date{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.daily-row-date .daily-field{flex:1;min-width:200px;display:flex;flex-direction:column}.daily-row-date .daily-field label{font-weight:700;margin-bottom:5px;font-size:14px}.daily-row-date .react-datepicker-wrapper{width:100%}.daily-row-date .react-datepicker__input-container input{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:5px;font-size:14px}.daily-row-date .daily-filter-btn{padding:8px 16px;background:#28a745;border:none;color:#fff;font-size:14px;border-radius:5px;cursor:pointer;transition:background .3s ease;height:40px;align-self:flex-end}.daily-row-date .daily-filter-btn:hover{background:#218838}.daily-table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 6px #0000001a}.daily-table th{background:#007bff;color:#fff;font-weight:600}@media (max-width: 768px){.daily-row-date,.daily-row{flex-direction:column;align-items:stretch}.daily-row-date .daily-filter-btn,.daily-filter-btn{width:100%;align-self:stretch}.daily-export-btn{padding:6px 10px;font-size:12px}}.daily-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:20px}.daily-table{width:100%;min-width:800px;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 6px #0000001a}.daily-table th,.daily-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee;font-size:14px}.daily-table th{background:#007bff;color:#fff;font-weight:600;position:sticky;top:0;z-index:2}.daily-table tr:hover{background:#f9f9f9}.daily-photo{width:45px;height:45px;border-radius:50%;cursor:pointer;object-fit:cover;transition:transform .2s ease}.daily-photo:hover{transform:scale(1.1)}.daily-image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000bf;display:flex;justify-content:center;align-items:center;z-index:2000}.daily-modal-image{max-width:90%;max-height:90%;border-radius:8px;box-shadow:0 4px 15px #0000004d}@media (max-width: 1024px){.daily-table{min-width:700px}}@media (max-width: 768px){.daily-row-date,.daily-row{flex-direction:column;align-items:stretch}.daily-row-date .daily-filter-btn,.daily-filter-btn{width:100%;align-self:stretch}.daily-table-wrapper{overflow-x:auto}.daily-table{min-width:600px}}@media (max-width: 480px){.daily-container{margin:10px;padding:15px}.daily-filters{margin:15px 0;gap:10px}.daily-field{min-width:100%}.daily-row,.daily-row-date{gap:10px}.daily-export{flex-wrap:wrap;gap:5px}.daily-export-btn{flex:1;min-width:120px;padding:8px 10px;font-size:13px}.daily-row-date .daily-field{min-width:100%}.daily-row-date .react-datepicker__input-container input{padding:10px 12px;font-size:16px}.daily-row-date .daily-filter-btn{height:45px;font-size:16px}.daily-table-wrapper{margin-top:15px}.daily-table{min-width:500px}.daily-table th,.daily-table td{padding:8px 10px;font-size:12px}.daily-photo{width:35px;height:35px}.daily-dropdown-header{padding:10px 12px;font-size:14px}.daily-dropdown-body{max-height:200px}.daily-dropdown-body input[type=text]{padding:8px 10px;font-size:14px}.daily-dropdown-item{padding:6px 0;font-size:13px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.monthly-container{max-width:1200px;margin:20px auto;padding:20px;font-family:Arial,sans-serif;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px #0000001a}.monthly-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:20px;gap:10px}.monthly-header h2{font-size:24px;font-weight:700;flex:1 1 auto}.monthly-actions{display:flex;flex-wrap:wrap;gap:10px}.monthly-actions button{padding:8px 14px;background-color:#28a745;color:#fff;border:none;cursor:pointer;border-radius:5px;font-size:14px}.monthly-actions button:hover{background-color:#218838}.monthly-filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;align-items:center}.monthly-filters input{padding:8px 10px;border:1px solid #ccc;border-radius:5px;width:120px;font-size:14px}.monthly-filters button{padding:8px 14px;background-color:#007bff;color:#fff;border:none;cursor:pointer;border-radius:5px;font-size:14px}.monthly-filters button:hover{background-color:#0056b3}.monthly-table-wrapper{width:100%;overflow-x:auto;border-radius:8px;box-shadow:0 2px 10px #0000000d;background-color:#fff}.monthly-table{width:100%;border-collapse:collapse;min-width:700px}.monthly-table th,.monthly-table td{padding:12px 15px;text-align:left;font-size:14px;white-space:nowrap;border-bottom:1px solid #eee}.monthly-table th{background-color:#007bff;color:#fff;font-weight:700;position:sticky;top:0;z-index:5}.monthly-table tr:nth-child(2n){background-color:#f9f9f9}.monthly-table tr:hover{background-color:#e6f0ff;transition:background-color .2s ease}.monthly-table td[colspan="7"]{text-align:center;padding:20px 0;color:#888}@media (max-width: 768px){.monthly-header,.monthly-actions,.monthly-filters{flex-direction:column;align-items:stretch}.monthly-actions button,.monthly-filters button,.monthly-filters input{width:100%}.monthly-table th,.monthly-table td{font-size:13px;padding:8px 6px}}@media (max-width: 480px){.monthly-container{padding:15px}.monthly-header h2{font-size:20px}.monthly-actions button,.monthly-filters button{font-size:12px;padding:6px 10px}}.late-container{max-width:1200px;margin:20px auto;padding:20px;font-family:Arial,sans-serif;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px #0000001a}.late-container h2{font-size:24px;margin-bottom:20px;font-weight:700}.late-filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;align-items:flex-end}.late-filters input[type=number]{padding:8px 10px;font-size:14px;border:1px solid #ccc;border-radius:6px;width:120px}.late-dropdown{position:relative;min-width:200px;z-index:1000}.late-dropdown-header{background-color:#fff;border:1px solid #ccc;padding:8px 10px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px}.late-dropdown-body{position:absolute;top:42px;left:0;right:0;max-height:250px;overflow-y:auto;background-color:#fff;border:1px solid #ccc;border-radius:6px;z-index:2000;padding:10px;box-shadow:0 4px 12px #00000026}.late-dropdown-body input[type=text]{width:100%;padding:6px 8px;margin-bottom:8px;border:1px solid #ccc;border-radius:5px;font-size:14px}.late-select-actions{display:flex;justify-content:space-between;margin-bottom:8px}.late-select-actions button{padding:5px 10px;font-size:12px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer}.late-select-actions button:hover{background-color:#0056b3}.late-dropdown-list{max-height:180px;overflow-y:auto}.late-dropdown-item{display:flex;align-items:center;padding:4px 0}.late-dropdown-item input{margin-right:8px}.late-filters button[type=submit]{padding:8px 16px;font-size:14px;background-color:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer}.late-filters button[type=submit]:hover{background-color:#218838}.late-export{margin-bottom:15px}.late-export button{margin-right:10px;padding:7px 14px;font-size:14px;border:none;border-radius:6px;cursor:pointer;background-color:#007bff;color:#fff}.late-export button:hover{background-color:#0056b3}.late-table-wrapper{width:100%;overflow-x:auto;border-radius:6px;box-shadow:0 2px 8px #0000000d;background-color:#fff}.late-table{width:100%;border-collapse:collapse;min-width:700px}.late-table th,.late-table td{padding:12px 15px;border-bottom:1px solid #eee;text-align:left;font-size:14px;white-space:nowrap}.late-table th{background-color:#f1f1f1;font-weight:600;position:sticky;top:0;z-index:5}.late-table tr:hover{background-color:#f9f9f9;transition:background-color .2s ease}.late-table td[colspan="5"]{text-align:center;padding:20px 0;color:#888}@media (max-width: 768px){.late-table th,.late-table td{padding:10px 8px;font-size:13px}}.late-dropdown-body::-webkit-scrollbar,.late-dropdown-list::-webkit-scrollbar{width:6px}.late-dropdown-body::-webkit-scrollbar-thumb,.late-dropdown-list::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.late-dropdown-body::-webkit-scrollbar-track,.late-dropdown-list::-webkit-scrollbar-track{background:transparent}@media (max-width: 768px){.late-filters{flex-direction:column;align-items:stretch}.late-dropdown,.late-filters input[type=number],.late-filters button[type=submit]{width:100%}}.branch-container{max-width:1200px;margin:20px auto;padding:20px;font-family:Arial,sans-serif;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px #0000001a}.branch-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:20px}.branch-header h2{font-size:24px;font-weight:700;margin-bottom:10px}.branch-export button{padding:8px 14px;margin-left:10px;background-color:#28a745;color:#fff;border:none;cursor:pointer;border-radius:5px;font-size:14px;transition:.2s}.branch-export button:hover{background-color:#218838}.branch-filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;align-items:center}.branch-filters input,.branch-filters button{min-width:120px}.branch-filters input{padding:8px 10px;border:1px solid #ccc;border-radius:5px;font-size:14px;flex-grow:1}.branch-filters button{padding:8px 14px;background-color:#007bff;color:#fff;border:none;cursor:pointer;border-radius:5px;font-size:14px;transition:.2s}.branch-filters button:hover{background-color:#0056b3}.branch-dropdown{position:relative;width:200px;flex-grow:1}.branch-dropdown-header{padding:8px 10px;border:1px solid #ccc;border-radius:5px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background-color:#fff;transition:.2s}.branch-dropdown-header:hover{border-color:#007bff}.branch-dropdown-body{position:absolute;top:100%;left:0;width:100%;max-height:250px;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:5px;margin-top:2px;z-index:100;padding:10px;box-shadow:0 2px 8px #00000026}.branch-dropdown-body input{width:100%;padding:6px 8px;margin-bottom:8px;border:1px solid #ccc;border-radius:5px}.branch-select-actions{display:flex;justify-content:space-between;margin-bottom:8px}.branch-select-actions button{padding:5px 10px;font-size:12px;border:1px solid #007bff;background:#fff;color:#007bff;border-radius:5px;cursor:pointer;transition:.2s}.branch-select-actions button:hover{background-color:#007bff;color:#fff}.branch-dropdown-list{max-height:150px;overflow-y:auto}.branch-dropdown-item{display:flex;align-items:center;padding:8px 10px;gap:10px;cursor:pointer;font-size:14px;transition:background .2s;min-height:36px}.branch-dropdown-item:hover{background-color:#f1f1f1}.branch-dropdown-item input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin:0;cursor:pointer;position:relative;top:1px}.branch-dropdown-item span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;display:flex;align-items:center;min-height:20px}.branch-table-wrapper{width:100%;overflow-x:auto;border-radius:8px;box-shadow:0 2px 10px #0000000d;background-color:#fff}.branch-table{width:100%;border-collapse:collapse;min-width:600px}.branch-table th,.branch-table td{padding:12px 10px;text-align:left;font-size:14px;white-space:nowrap;border-bottom:1px solid #eee}.branch-table th{background-color:#007bff;color:#fff;font-weight:700;position:sticky;top:0;z-index:5}.branch-table tr:nth-child(2n){background-color:#f9f9f9}.branch-table tr:hover{background-color:#e6f0ff}.branch-table td[colspan="4"]{text-align:center;padding:20px 0;color:#888}@media (max-width: 768px){.branch-filters{flex-direction:column;gap:10px}.branch-export{margin-top:10px}.branch-table th,.branch-table td{font-size:13px;padding:8px 6px}.branch-dropdown{width:100%}}@media (max-width: 480px){.branch-container{padding:15px}.branch-header h2{font-size:20px}.branch-export button,.branch-filters button{font-size:12px;padding:6px 10px}.branch-filters input{width:100%}}.employee-container{max-width:1200px;margin:20px auto;padding:20px;font-family:Inter,Arial,sans-serif;background-color:#f8f9fa;border-radius:12px;box-shadow:0 4px 16px #00000014}.header-export-wrapper{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.employee-container h2{font-size:26px;font-weight:600;margin-bottom:10px;color:#343a40}.EmployeePunches-export{display:flex;align-items:center;margin-top:10px;flex-wrap:wrap;gap:8px}.EmployeePunches-export span{margin-right:10px;font-weight:500;color:#495057;white-space:nowrap}.EmployeePunches-export-btn{padding:8px 16px;background-color:#0d6efd;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;white-space:nowrap}.EmployeePunches-export-btn:hover{background-color:#0b5ed7}.employee-filters{display:flex;flex-wrap:wrap;gap:15px;margin:20px 0;align-items:flex-end}.EmployeePunches-row{display:flex;flex-wrap:wrap;gap:15px}.EmployeePunches-field{display:flex;flex-direction:column}.EmployeePunches-field label{margin-bottom:6px;font-size:14px;font-weight:500;color:#495057}.EmployeePunches-filter-btn{padding:8px 16px;background-color:#198754;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:.2s;white-space:nowrap}.EmployeePunches-filter-btn:hover{background-color:#157347}.EmployeePunches-dropdown{position:relative;width:250px}.EmployeePunches-dropdown-header{padding:8px 12px;border:1px solid #ced4da;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background-color:#fff;transition:all .2s;font-size:14px;min-height:38px}.EmployeePunches-dropdown-header:hover{border-color:#0d6efd}.EmployeePunches-dropdown-arrow{margin-left:10px;flex-shrink:0}.EmployeePunches-dropdown-body{position:absolute;top:100%;left:0;width:100%;max-height:250px;overflow-y:auto;background-color:#fff;border:1px solid #ced4da;border-radius:6px;margin-top:4px;z-index:100;padding:10px;box-shadow:0 2px 12px #0000001f}.EmployeePunches-dropdown-body input[type=text]{width:100%;padding:6px 10px;margin-bottom:10px;border:1px solid #ced4da;border-radius:6px;font-size:14px}.EmployeePunches-select-actions{display:flex;justify-content:space-between;margin-bottom:10px}.EmployeePunches-select-actions button{padding:5px 10px;font-size:13px;border:1px solid #0d6efd;border-radius:6px;background-color:#fff;color:#0d6efd;cursor:pointer;transition:.2s}.EmployeePunches-select-actions button:hover{background-color:#0d6efd;color:#fff}.EmployeePunches-dropdown-list{max-height:150px;overflow-y:auto}.EmployeePunches-dropdown-item{display:flex;align-items:center;gap:10px;padding:6px 8px;cursor:pointer;font-size:14px;border-radius:4px;transition:background .2s}.EmployeePunches-dropdown-item:hover{background-color:#f1f3f5}.EmployeePunches-dropdown-item input[type=checkbox]{flex-shrink:0;width:16px;height:16px}.EmployeePunches-dropdown-item span{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.EmployeePunches-table-wrapper{width:100%;overflow-x:auto;border:1px solid #dee2e6;border-radius:8px;-webkit-overflow-scrolling:touch}.EmployeePunches-table{min-width:1000px;border-collapse:collapse}.EmployeePunches-table-header,.EmployeePunches-table-row{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr 1.2fr 1.5fr 1.5fr 1fr .8fr;gap:8px;padding:10px 8px;align-items:center}.EmployeePunches-table-header{background-color:#0d6efd;color:#fff;font-weight:600;position:sticky;top:0;z-index:50}.EmployeePunches-table-body{display:block;max-height:500px;overflow-y:auto}.EmployeePunches-table-row{border-bottom:1px solid #dee2e6;transition:background .2s;overflow-wrap:break-word;word-break:break-all}.EmployeePunches-table-row:nth-child(2n){background-color:#f8f9fa}.EmployeePunches-table-row:hover{background-color:#e2e6ea}.EmployeePunches-empty-row{padding:12px;text-align:center;font-style:italic;color:#6c757d}.clickable-photo{width:40px;height:40px;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform .2s}.clickable-photo:hover{transform:scale(1.2);box-shadow:0 2px 8px #0003}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000a6;display:flex;justify-content:center;align-items:center;z-index:200}.modal-image{max-width:90%;max-height:90%;border-radius:10px;box-shadow:0 4px 16px #0000004d}.EmployeePunches-datepicker-input,.EmployeePunches-field .react-datepicker__input-container input{width:100%;padding:8px 10px;border:1px solid #ced4da;border-radius:6px;font-size:14px;cursor:pointer;height:38px;transition:all .2s ease}.EmployeePunches-datepicker-input:focus,.EmployeePunches-field .react-datepicker__input-container input:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 4px #0d6efd66}.EmployeePunches-calendar-popup{font-family:Arial,sans-serif;border:1px solid #ced4da;border-radius:6px;padding:8px;box-shadow:0 2px 12px #00000026;background-color:#fff}.react-datepicker-popper{z-index:999!important}@media (max-width: 768px){.employee-filters{flex-direction:column;gap:12px}.EmployeePunches-dropdown{width:100%}.EmployeePunches-table-header,.EmployeePunches-table-row{grid-template-columns:1.5fr 1fr 1.2fr 1fr 1.2fr 1.5fr 1.5fr 1fr .8fr}.header-export-wrapper{flex-direction:column;align-items:flex-start;gap:15px}.EmployeePunches-export{width:100%;justify-content:flex-start}}@media (max-width: 480px){.employee-container{padding:15px;margin:10px}.employee-container h2{font-size:20px;line-height:1.3}.EmployeePunches-export{flex-direction:column;align-items:flex-start;gap:10px;width:100%}.EmployeePunches-export span{margin-right:0;margin-bottom:5px;font-size:14px;white-space:normal;width:100%;display:block}.EmployeePunches-export-buttons{display:flex;gap:8px;width:100%}.EmployeePunches-export-btn{flex:1;padding:10px 12px;font-size:13px;min-width:0;text-align:center}.employee-filters{margin:15px 0;gap:10px}.EmployeePunches-row{gap:10px;width:100%}.EmployeePunches-field{width:100%}.EmployeePunches-field label{font-size:13px}.EmployeePunches-dropdown-header{font-size:13px;padding:10px 12px;min-height:42px}.EmployeePunches-dropdown-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.EmployeePunches-filter-btn{width:100%;padding:10px 12px;font-size:14px;margin-top:5px}.EmployeePunches-datepicker-input,.EmployeePunches-field .react-datepicker__input-container input{padding:10px 12px;font-size:14px;height:42px}.EmployeePunches-table-wrapper{margin-top:15px;border-radius:6px}.EmployeePunches-table{min-width:800px}.EmployeePunches-table-header,.EmployeePunches-table-row{padding:8px 6px;font-size:12px}.clickable-photo{width:35px;height:35px}}@media (max-width: 360px){.employee-container{padding:12px;margin:8px}.EmployeePunches-export span{font-size:13px}.EmployeePunches-export-btn{padding:8px 10px;font-size:12px}}.workingHoursContainer{max-width:1200px;margin:20px auto;padding:20px;font-family:Segoe UI,Arial,sans-serif;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 10px #0000001a;animation:fadeInAnimation .3s ease}.reportHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.reportHeader h2{font-size:24px;font-weight:700;margin:0;color:#333}.exportButtons{display:flex;align-items:center;gap:8px}.exportButtons span{margin-right:8px;font-weight:500;color:#666}.exportButton{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.exportButton:hover{background-color:#218838;transform:translateY(-2px)}.filtersForm{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px;border:1px solid #e9ecef}.filterRow{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;align-items:center}.filterField{display:flex;flex-direction:column;min-width:200px;flex:1}.filterField label{font-size:14px;font-weight:600;margin-bottom:6px;color:#333}.dropdownContainer{position:relative;-webkit-user-select:none;user-select:none}.dropdownHeader{padding:10px 12px;border:1px solid #ced4da;border-radius:6px;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s ease;height:42px}.dropdownHeader:hover{border-color:#007bff}.dropdownArrow{margin-left:8px;font-size:12px;color:#6c757d}.dropdownBody{position:absolute;top:105%;left:0;width:100%;max-height:250px;overflow-y:auto;border:1px solid #ced4da;border-radius:6px;background-color:#fff;z-index:1000;padding:10px;box-shadow:0 2px 8px #00000026;animation:fadeInAnimation .2s ease}.dropdownSearch{width:100%;padding:8px 10px;margin-bottom:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.selectActions{display:flex;justify-content:space-between;margin-bottom:10px}.selectAllBtn,.deselectAllBtn{padding:6px 12px;font-size:12px;cursor:pointer;border:1px solid #ced4da;border-radius:4px;background-color:#fff;transition:all .2s ease}.selectAllBtn:hover,.deselectAllBtn:hover{background-color:#f8f9fa}.dropdownList{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.dropdownItem{display:flex;align-items:center;gap:10px;font-size:14px;padding:8px 10px;border-radius:4px;transition:background-color .2s ease;color:#333;cursor:pointer}.dropdownItem:hover{background-color:#f8f9fa}.employeeCheckbox,.departmentCheckbox{cursor:pointer;width:16px;height:16px}.datePickerInput{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;height:42px;box-sizing:border-box}.datePickerInput:focus{outline:none;border-color:#007bff;box-shadow:0 0 4px #007bff66}.filterActions{display:flex;gap:12px;margin-top:20px}.filterButton{padding:10px 20px;height:42px;font-size:14px;font-weight:600;border-radius:6px;border:none;background-color:#007bff;color:#fff;cursor:pointer;transition:all .2s ease}.filterButton:hover{background-color:#0056b3;transform:translateY(-2px)}.clearButton{padding:10px 20px;height:42px;font-size:14px;font-weight:600;border-radius:6px;border:none;background-color:#6c757d;color:#fff;cursor:pointer;transition:all .2s ease}.clearButton:hover{background-color:#545b62;transform:translateY(-2px)}.loadingSpinner{text-align:center;padding:30px;color:#666;font-size:16px;font-style:italic}.summaryCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:25px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.summaryCard{background:#fff;padding:25px;border-radius:8px;border-left:4px solid #28a745;box-shadow:0 2px 4px #0000001a;text-align:center;transition:transform .2s ease}.summaryCard:hover{transform:translateY(-3px)}.summaryCard h4{margin:0 0 12px;font-size:15px;color:#6c757d;font-weight:600}.summaryCard span{font-size:26px;font-weight:700;color:#495057}.reportSection{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.reportSection h3{margin:0 0 20px;color:#495057;font-size:20px;font-weight:600;border-bottom:2px solid #28a745;padding-bottom:10px}.reportTable{display:block;border-radius:8px;overflow:hidden;border:1px solid #dee2e6;background:#fff;box-shadow:0 2px 4px #0000001a;max-height:400px;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.dailyReportType .tableHeaderRow,.dailyReportType .tableDataRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;min-width:1100px}.monthlyReportType .tableHeaderRow,.monthlyReportType .tableDataRow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;min-width:1300px}.tableHeaderRow{background-color:#f1f1f1;font-weight:700;font-size:14px;position:sticky;top:0;z-index:10;border-bottom:2px solid #dee2e6}.tableHeaderCell{padding:14px 16px;text-align:left}.tableDataRow{border-bottom:1px solid #eee;font-size:14px;background-color:#fff;transition:all .2s ease}.tableDataRow:hover{background-color:#f9f9f9}.tableDataRow:last-child{border-bottom:none}.tableDataCell{padding:12px 16px;display:flex;align-items:center}.noDataMessage{text-align:center;padding:50px;color:#666;font-style:italic;background:#fff;border-radius:8px;margin:20px 0;border:1px solid #dee2e6;font-size:16px}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}@media (max-width: 1024px){.workingHoursContainer{padding:15px;margin:10px auto}.dailyReportType .tableHeaderRow,.dailyReportType .tableDataRow{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;font-size:13px;min-width:900px}.monthlyReportType .tableHeaderRow,.monthlyReportType .tableDataRow{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;font-size:13px;min-width:1100px}}@media (max-width: 768px){.reportHeader{flex-direction:column;gap:15px;align-items:flex-start}.exportButtons{width:100%;justify-content:flex-start}.filterRow{flex-direction:column;gap:12px}.filterField{min-width:100%}.filterActions{flex-direction:column}.filterButton,.clearButton{width:100%}.summaryCards{grid-template-columns:repeat(2,1fr)}.dailyReportType .tableHeaderRow,.dailyReportType .tableDataRow,.monthlyReportType .tableHeaderRow,.monthlyReportType .tableDataRow{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;gap:0;padding:0;min-width:700px}.dailyReportType .tableDataRow,.monthlyReportType .tableDataRow{position:static;padding-left:0}.tableDataCell:before{display:none}.tableHeaderRow{display:grid}.monthlyReportType .tableHeaderRow,.monthlyReportType .tableDataRow{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;min-width:800px}}@media (max-width: 480px){.workingHoursContainer{margin:10px;padding:15px}.summaryCards{grid-template-columns:1fr}.exportButtons{flex-direction:column;align-items:flex-start;gap:10px}.exportButtons span{margin-right:0;margin-bottom:5px}.reportSection,.filtersForm{padding:15px}.dailyReportType .tableHeaderRow,.dailyReportType .tableDataRow{min-width:600px;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.monthlyReportType .tableHeaderRow,.monthlyReportType .tableDataRow{min-width:700px;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr}.tableHeaderCell,.tableDataCell{padding:10px 12px;font-size:12px}.reportTable{max-height:350px}}@media print{.workingHoursContainer{box-shadow:none;background:#fff;padding:0;margin:0}.filtersForm,.filterActions,.exportButtons{display:none}.reportTable{box-shadow:none;border:1px solid #000;overflow:visible;max-height:none}.tableHeaderRow{background:#f0f0f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.email-config-container{padding:20px;max-width:1200px;margin:0 auto}.email-config-card{margin-bottom:24px;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden}.email-config-card .MuiCardContent-root{padding:24px}.email-config-title{margin-bottom:16px!important;color:#1976d2;font-weight:600!important}.email-config-section-title{margin-bottom:16px!important;color:#2c3e50;font-weight:600!important;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.email-config-alert{margin-bottom:16px;border-radius:8px}.email-config-chip-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:8px;background-color:#f8f9fa;border-radius:4px;min-height:48px}.email-config-chip{background-color:#e3f2fd!important;border:1px solid #1976d2!important;color:#1976d2!important;font-weight:500}.email-config-chip-secondary{background-color:#f3e5f5!important;border:1px solid #9c27b0!important;color:#9c27b0!important;font-weight:500}.email-config-chip .MuiChip-deleteIcon{color:inherit!important}.email-config-chip .MuiChip-deleteIcon:hover{color:#d32f2f!important}.email-config-button-group{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0;padding:16px;background-color:#f8f9fa;border-radius:8px}.email-config-button{border-radius:6px!important;text-transform:none!important;font-weight:600!important;padding:10px 20px!important}.email-config-button-save{background:linear-gradient(45deg,#1976d2,#2196f3)!important;box-shadow:0 2px 4px #1976d24d!important}.email-config-button-test{border-color:#1976d2!important;color:#1976d2!important}.email-config-button-reports{background:linear-gradient(45deg,#9c27b0,#e91e63)!important;box-shadow:0 2px 4px #9c27b04d!important}.email-config-button:disabled{opacity:.6;transform:none!important}.email-config-button:hover{transform:translateY(-1px);transition:transform .2s ease}.email-config-textfield{margin:8px 0!important}.email-config-textfield .MuiOutlinedInput-root{border-radius:6px}.email-config-textfield .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#1976d2}.email-config-textfield .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#1976d2;border-width:2px}.email-config-switch{margin:16px 0}.email-config-switch .MuiSwitch-switchBase.Mui-checked{color:#1976d2}.email-config-switch .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:#1976d2}.email-config-helper-text{color:#666!important;font-size:.75rem!important;margin-top:4px!important}.email-config-divider{margin:24px 0!important;background-color:#e0e0e0}.email-config-grid{margin-top:8px}.email-config-add-email-section{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.email-config-add-email-input{flex:1;min-width:200px}.email-config-test-email-section{margin-top:24px;padding:16px;background-color:#f0f7ff;border-radius:8px;border-left:4px solid #1976d2}@media (max-width: 768px){.email-config-container,.email-config-card .MuiCardContent-root{padding:16px}.email-config-button-group{flex-direction:column}.email-config-button{width:100%}.email-config-add-email-section{flex-direction:column;align-items:stretch}.email-config-add-email-input{min-width:auto}}@media (max-width: 480px){.email-config-container{padding:12px}.email-config-title{font-size:1.5rem!important}.email-config-section-title{font-size:1.1rem!important}}.email-config-loading{opacity:.7;pointer-events:none}.email-config-loading:after{content:"";position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.email-config-message-animation{animation:fadeInOut 4s ease-in-out}.email-config-chip-container::-webkit-scrollbar{width:6px;height:6px}.email-config-chip-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.email-config-chip-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.email-config-chip-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media print{.email-config-button-group{display:none!important}.email-config-container{padding:0}.email-config-card{box-shadow:none!important;border:1px solid #ddd!important;margin-bottom:16px!important}}.audit-logs-container{padding:20px;background:#f5f5f5;min-height:100vh}.audit-header,.audit-filters{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.audit-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.audit-table{min-width:100%}.audit-table-header{background-color:#f8f9fa;font-weight:700}.audit-chip{font-size:.7rem;font-weight:700}.changes-container{max-width:300px;word-wrap:break-word}.old-value{color:#d32f2f;text-decoration:line-through;margin-right:5px}.new-value{color:#388e3c;margin-left:5px}.change-item{margin-bottom:4px;font-size:.8rem}.plm-container{padding:20px;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.plm-header{text-align:center;margin-bottom:30px}.plm-title{color:#2c3e50;margin-bottom:8px;font-size:28px;font-weight:700}.plm-subtitle{color:#7f8c8d;font-size:16px;font-weight:400;margin-bottom:20px}.plm-message{padding:12px 20px;border-radius:8px;margin-bottom:20px;font-weight:500;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent}.plm-message--success{background-color:#d4edda;color:#155724;border-color:#c3e6cb}.plm-message--error{background-color:#f8d7da;color:#721c24;border-color:#f5c6cb}.plm-message--info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.plm-filters{display:flex;gap:15px;align-items:end;margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:10px;border:1px solid #e9ecef;flex-wrap:wrap}.plm-filter-group{display:flex;flex-direction:column;gap:5px;min-width:150px;flex:1}.plm-filter-label{font-weight:600;color:#495057;font-size:14px;margin-bottom:6px}.plm-filter-input,.plm-filter-select{padding:8px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;background:#fff;transition:all .3s ease}.plm-filter-input:focus,.plm-filter-select:focus{outline:none;border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf71a}.plm-filters .plm-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#495057;padding:8px 0;margin-top:5px}.plm-filters .plm-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#4dabf7;cursor:pointer}.plm-refresh-btn,.plm-btn,.plm-btn--primary{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;height:fit-content;display:flex;align-items:center;gap:6px;margin-top:auto}.plm-refresh-btn{background:#6c757d;color:#fff}.plm-refresh-btn:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.plm-btn--primary{background:#4dabf7;color:#fff}.plm-btn--primary:hover:not(:disabled){background:#339af0;transform:translateY(-1px)}.plm-btn--secondary{background:#6c757d;color:#fff}.plm-btn--secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.plm-btn--edit{background:#20c997;color:#fff;border:1px solid #12b886}.plm-btn--edit:hover:not(:disabled){background:#12b886;transform:translateY(-1px)}.plm-btn--reset{background:#ff922b;color:#fff;border:1px solid #fd7e14}.plm-btn--reset:hover:not(:disabled){background:#fd7e14;transform:translateY(-1px)}.plm-btn--delete{background:#fa5252;color:#fff;border:1px solid #f03e3e}.plm-btn--delete:hover:not(:disabled){background:#f03e3e;transform:translateY(-1px)}.plm-btn--add-out{background:#51cf66;color:#fff;border:1px solid #40c057}.plm-btn--add-out:hover:not(:disabled){background:#40c057;transform:translateY(-1px)}.plm-btn--add-in{background:#4dabf7;color:#fff;border:1px solid #339af0}.plm-btn--add-in:hover:not(:disabled){background:#339af0;transform:translateY(-1px)}.plm-btn--disabled{opacity:.5;cursor:not-allowed}.plm-refresh-btn:disabled,.plm-btn:disabled,.plm-btn--primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.plm-content{background-color:#fff;border-radius:10px;border:1px solid #e9ecef;overflow:hidden}.plm-table-wrapper{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;max-height:600px;overflow-y:auto;border:1px solid #e9ecef;overflow-x:auto}.plm-table{width:100%;border-collapse:collapse;min-width:800px}.plm-th{padding:16px;text-align:left;font-weight:600;color:#495057;background-color:#f8f9fa;border-bottom:2px solid #dee2e6;font-size:14px;white-space:nowrap;position:sticky;top:0;z-index:10}.plm-tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.plm-tr:hover{background-color:#f8f9fa}.plm-tr--permit{background-color:#e7f5ff;border-left:4px solid #ffc107}.plm-tr--permit:hover{background-color:#d0ebff}.plm-tr--late{background-color:#fff3bf;border-left:4px solid #dc3545}.plm-tr--late:hover{background-color:#ffec99}.plm-tr--warning{background-color:#fff8e1}.plm-tr--warning:hover{background-color:#ffecb3}.plm-td{padding:16px;font-size:14px;color:#495057;vertical-align:top;border-bottom:1px solid #ecf0f1;white-space:nowrap}.plm-employee{display:flex;flex-direction:column;gap:4px;min-width:150px}.plm-employee-name{font-weight:600;color:#2c3e50;word-break:break-word;white-space:normal}.plm-employee-code{font-size:12px;color:#6c757d;background-color:#f1f3f5;padding:2px 6px;border-radius:4px;display:inline-block;white-space:nowrap}.plm-punch-type{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;min-width:50px;text-align:center}.plm-punch-type--in{background-color:#d3f9d8;color:#2b8a3e;border:1px solid #b2f2bb}.plm-punch-type--out{background-color:#d0ebff;color:#1864ab;border:1px solid #a5d8ff}.plm-time{display:flex;flex-direction:column;gap:4px}.plm-time-original{font-weight:500;color:#2c3e50;white-space:nowrap}.plm-time-adjusted{font-size:12px;color:#868e96;font-style:italic;white-space:nowrap}.plm-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(0,0,0,.1);white-space:nowrap}.plm-badge--permit{background-color:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.plm-badge--late{background-color:#fff3e0;color:#ef6c00;border:1px solid #ffe0b2}.plm-badge--warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.plm-badge--missing{background-color:#ff9800;color:#fff;border:1px solid #f57c00}.plm-badge--success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.plm-status-cell{display:flex;align-items:center;gap:8px}.plm-notes-indicator{cursor:help;font-size:14px;color:#6c757d}.plm-actions{display:flex;gap:8px;flex-wrap:wrap;min-width:220px}.plm-btn{padding:8px 10px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .3s ease;white-space:nowrap;min-width:65px}.plm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.plm-loading,.plm-empty{text-align:center;padding:40px;color:#6c757d;font-size:16px}.plm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.plm-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.plm-modal--large{max-width:700px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.plm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.plm-modal-title{margin:0;font-size:20px;font-weight:600}.plm-modal-close{background:#fff3;border:none;font-size:24px;cursor:pointer;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;padding:4px;line-height:1}.plm-modal-close:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.plm-modal-close:disabled{opacity:.5;cursor:not-allowed}.plm-punch-info{padding:20px 24px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.plm-punch-title{margin-bottom:12px;color:#495057;font-size:16px;font-weight:600}.plm-punch-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.plm-detail-item{padding:12px;background:#fff;border-radius:6px;font-size:14px;border:1px solid #e9ecef}.plm-detail-item strong{color:#495057;display:block;margin-bottom:4px;font-size:12px;font-weight:600}.plm-form{padding:24px}.plm-form-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e9ecef}.plm-form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.plm-form-title{margin-bottom:16px;color:#495057;font-size:16px;font-weight:600}.plm-form-group{margin-bottom:16px}.plm-form-group:last-child{margin-bottom:0}.plm-form-label{display:block;margin-bottom:6px;font-weight:600;color:#495057;font-size:14px}.plm-form-input,.plm-form-select,.plm-form-textarea{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:all .3s ease;background:#fff}.plm-form-input:focus,.plm-form-select:focus,.plm-form-textarea:focus{outline:none;border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf71a}.plm-form-textarea{resize:vertical;min-height:80px;font-family:inherit}.plm-form-hint{color:#6c757d;font-size:12px;margin-top:4px;display:block}.plm-details-grid,.plm-date-range,.plm-time-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.plm-status-options{display:flex;flex-direction:column;gap:16px}.plm-option-group{padding:16px;border:1px solid #e9ecef;border-radius:8px;background-color:#f8f9fa;transition:all .3s ease}.plm-option-group:has(input:checked){border-color:#667eea;background:#f8f9ff}.plm-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;color:#495057;font-size:14px;margin:0}.plm-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#667eea}.plm-option-details{margin-top:16px;padding-top:16px;border-top:1px solid #dee2e6;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.plm-form-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;background:#f8f9fa;border-top:1px solid #e9ecef;border-radius:0 0 12px 12px}.plm-employee-summary{display:flex;align-items:center;gap:15px;padding:15px;background-color:#f8f9fa;border-radius:8px;margin-bottom:20px;border:1px solid #e9ecef}.plm-employee-summary-avatar img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid #e9ecef;background-color:#fff}.plm-employee-summary-details{flex:1}.plm-employee-summary-name{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:4px}.plm-employee-summary-code{font-size:14px;color:#7f8c8d;margin-bottom:2px}.plm-employee-summary-branch{font-size:14px;color:#3498db;font-weight:500}.plm-employee-dropdown-filters{position:relative;width:100%}.plm-dropdown-header-filters{background:#fff;border:1px solid #ced4da;border-radius:6px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:38px;transition:all .3s ease}.plm-dropdown-header-filters:hover{border-color:#4dabf7}.plm-selected-employee-filters{flex:1;font-size:14px;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plm-clear-selection-filters{position:absolute;right:30px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6c757d;cursor:pointer;padding:4px;font-size:14px;z-index:1}.plm-clear-selection-filters:hover{color:#dc3545}.plm-dropdown-body-filters{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ced4da;border-radius:0 0 6px 6px;border-top:none;margin-top:-1px;z-index:1000;box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto}.plm-search-container-filters{padding:8px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.plm-search-input-filters{width:100%;padding:6px 8px;border:1px solid #ced4da;border-radius:4px;font-size:14px;transition:all .3s ease}.plm-search-input-filters:focus{outline:none;border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf71a}.plm-dropdown-list-filters{max-height:200px;overflow-y:auto}.plm-dropdown-item-filters{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f8f9fa;transition:background-color .2s}.plm-dropdown-item-filters:hover{background-color:#f8f9fa}.plm-dropdown-item-filters.selected{background-color:#e7f5ff;border-left:3px solid #4dabf7}.plm-employee-info-filters{display:flex;flex-direction:column}.plm-employee-name-filters{font-size:14px;font-weight:500;color:#2c3e50}.plm-employee-details-filters{font-size:12px;color:#6c757d;margin-top:2px}.plm-no-results-filters{padding:12px;text-align:center;color:#6c757d;font-size:14px}.plm-dropdown-footer-filters{padding:8px 12px;border-top:1px solid #e9ecef;background-color:#f8f9fa;font-size:12px;color:#6c757d}.plm-employee-count-filters{font-weight:500}.plm-employee-dropdown{position:relative}.plm-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .3s ease;min-height:56px}.plm-dropdown-header:hover{border-color:#4dabf7}.plm-selected-employee{flex:1;font-size:14px;color:#495057;display:flex;align-items:center;gap:12px;min-width:0}.plm-placeholder{color:#6c757d;font-style:italic;flex:1}.plm-dropdown-arrow{font-size:12px;color:#6c757d;flex-shrink:0;margin-left:8px;transition:transform .3s ease}.plm-dropdown-header:hover .plm-dropdown-arrow{color:#667eea}.plm-clear-selection{position:absolute;right:35px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6c757d;cursor:pointer;padding:2px;font-size:14px}.plm-clear-selection:hover{color:#495057}.plm-dropdown-body{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #ced4da;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:100;margin-top:4px;max-height:300px;overflow-y:auto}.plm-search-container{padding:12px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.plm-search-input{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:all .3s ease}.plm-search-input:focus{outline:none;border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf71a}.plm-dropdown-list{max-height:200px;overflow-y:auto;flex:1}.plm-dropdown-item{padding:10px 12px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f8f9fa;display:flex;align-items:center;gap:12px;min-height:60px;box-sizing:border-box}.plm-dropdown-item:hover{background-color:#f8f9fa}.plm-dropdown-item.selected{background-color:#e7f5ff;border-left:3px solid #4dabf7}.plm-employee-info{display:flex;flex-direction:column;min-width:0;flex:1}.plm-employee-name{font-size:14px;font-weight:500;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plm-employee-details{font-size:12px;color:#6c757d;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plm-no-results{padding:20px;text-align:center;color:#6c757d;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.plm-no-results-icon{font-size:32px;margin-bottom:8px;opacity:.5}.plm-dropdown-footer{padding:8px 12px;border-top:1px solid #e9ecef;background-color:#f8f9fa;font-size:12px;color:#6c757d}.plm-employee-count{font-weight:500}.plm-multiple-selection{display:flex;flex-direction:column;gap:4px;width:100%}.plm-selection-count-badge{background-color:#4dabf7;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;width:fit-content}.plm-primary-employee{font-size:14px;font-weight:500;color:#2c3e50}.plm-employee-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e9ecef;flex-shrink:0}.plm-dropdown-actions{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.plm-select-all-btn{padding:4px 8px;background-color:#4dabf7;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.plm-select-all-btn:hover{background-color:#339af0}.plm-selection-count{font-size:12px;color:#6c757d;font-weight:500}.plm-time-control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.plm-time-control-buttons{display:flex;gap:8px}.plm-time-btn{padding:4px 12px;font-size:12px;border-radius:4px;border:1px solid #ddd;background:#f5f5f5;cursor:pointer;transition:all .2s;white-space:nowrap}.plm-time-btn:hover:not(:disabled){background:#e9e9e9}.plm-time-btn:disabled{opacity:.5;cursor:not-allowed}.plm-time-btn--restore{background:#e3f2fd;border-color:#2196f3;color:#0d47a1}.plm-time-btn--restore:hover:not(:disabled){background:#bbdefb}.plm-time-btn--clear{background:#ffebee;border-color:#f44336;color:#b71c1c}.plm-time-btn--clear:hover:not(:disabled){background:#ffcdd2}.plm-time-hints{display:flex;flex-direction:column;gap:4px;margin-top:4px}.plm-leave-types-container{margin-bottom:20px}.plm-leave-types-scroll{display:flex;gap:10px;overflow-x:auto;padding:8px 4px 10px;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc}.plm-leave-types-scroll::-webkit-scrollbar{height:6px}.plm-leave-types-scroll::-webkit-scrollbar-track{background:#f7fafc;border-radius:3px}.plm-leave-types-scroll::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.plm-leave-types-scroll::-webkit-scrollbar-thumb:hover{background:#a0aec0}.plm-leave-type-compact{min-width:120px;padding:12px;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:10px;background:#fff;flex-shrink:0;white-space:nowrap}.plm-leave-type-compact:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a;border-color:#667eea}.plm-leave-type-compact.selected{border-color:currentColor;background:#f8f9ff;box-shadow:0 2px 8px #667eea33;transform:translateY(-1px)}.plm-leave-type-compact-icon{font-size:24px;flex-shrink:0}.plm-leave-type-compact-info{display:flex;flex-direction:column}.plm-leave-type-compact-name{font-size:14px;font-weight:600;color:#2c3e50;line-height:1.2}.plm-leave-type-compact-max{font-size:12px;color:#6c757d;margin-top:2px;font-weight:500}.plm-days-summary{margin-top:20px}.plm-summary-card{display:flex;align-items:center;gap:15px;padding:20px;background:linear-gradient(135deg,#f8f9ff,#e9ecef);border-radius:8px;border:1px solid #e9ecef}.plm-summary-icon{font-size:24px;background:#667eea;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.plm-summary-content{flex:1}.plm-summary-title{font-weight:600;color:#2c3e50;font-size:16px;margin-bottom:4px}.plm-summary-dates{color:#667eea;font-weight:600;font-size:14px;margin-bottom:2px}.plm-summary-days{color:#28a745;font-weight:600;font-size:14px}.plm-warning-text{color:#dc3545;font-weight:500}@media (max-width: 1200px){.plm-filters{flex-direction:column}.plm-filter-group{min-width:100%}}@media (max-width: 768px){.plm-container{padding:15px}.plm-filters{flex-direction:column;align-items:stretch;gap:12px;padding:15px}.plm-filter-group{width:100%;min-width:auto}.plm-modal{width:95%;margin:10px;max-height:95vh}.plm-table-wrapper{max-height:500px}.plm-table{min-width:700px}.plm-punch-details{grid-template-columns:1fr}.plm-form-footer{flex-direction:column}.plm-actions{flex-direction:column;align-items:stretch}.plm-btn{width:100%;justify-content:center}.plm-details-grid,.plm-date-range,.plm-time-selection{grid-template-columns:1fr}.plm-modal--large{max-width:95%}.plm-dropdown-body{min-width:250px;left:-50px;right:-50px}.plm-leave-types-scroll{gap:6px;padding:6px 2px}.plm-leave-type-compact{padding:10px 14px;min-width:110px}.plm-leave-type-compact-icon{font-size:16px}.plm-leave-type-compact-name{font-size:13px}.plm-leave-type-compact-max{font-size:10px}}@media (max-width: 480px){.plm-container{padding:10px}.plm-title{font-size:24px}.plm-subtitle{font-size:14px}.plm-modal-header,.plm-punch-info,.plm-form-section,.plm-form-footer{padding:16px}.plm-dropdown-body{min-width:200px;left:-30px;right:-30px}.plm-table-wrapper{font-size:12px}.plm-th,.plm-td{padding:10px}.plm-leave-types-scroll{gap:4px}.plm-leave-type-compact{padding:8px 12px;min-width:100px}.plm-leave-type-compact-icon{font-size:14px}.plm-leave-type-compact-name{font-size:12px}.plm-leave-type-compact-max{font-size:9px}}.plm-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.plm-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1}.plm-table-wrapper::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.plm-table-wrapper::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.plm-dropdown-list::-webkit-scrollbar{width:6px}.plm-dropdown-list::-webkit-scrollbar-track{background:#f8f9fa}.plm-dropdown-list::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.plm-dropdown-list::-webkit-scrollbar-thumb:hover{background:#adb5bd}.plm-dropdown-list-filters::-webkit-scrollbar{width:6px}.plm-dropdown-list-filters::-webkit-scrollbar-track{background:#f8f9fa}.plm-dropdown-list-filters::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.plm-employee-separator{height:10px;background-color:#f5f5f5;border-top:2px solid #e0e0e0}.plm-employee-separator td{padding:0!important;border-bottom:none!important}.leave-container{padding:25px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;color:#1e293b;background:#f8fafc}.leave-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}.leave-header h2{font-size:24px;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.3px}.export-options{display:flex;flex-wrap:wrap;gap:10px}.export-btn{padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;color:#fff;background:#2563eb;cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.export-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.export-btn:active{transform:translateY(0)}.export-btn.pdf-btn{background:#dc2626}.export-btn.pdf-btn:hover{background:#b91c1c}.export-btn.print-btn{background:#16a34a}.export-btn.print-btn:hover{background:#15803d}.leave-filters{background:#fff;padding:20px 24px;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;margin-bottom:24px}.leave-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px}.leave-row--all-inline .leave-field{flex:1 1 160px;min-width:130px}.leave-field--small{flex:.8 1 120px}.leave-field--tiny{flex:.5 1 100px}.leave-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#475569;margin-bottom:4px}.leave-dropdown{position:relative;-webkit-user-select:none;user-select:none}.leave-dropdown-header{display:flex;justify-content:space-between;align-items:center;height:40px;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:14px;color:#1e293b;cursor:pointer;transition:border-color .2s}.leave-dropdown-header:hover{border-color:#94a3b8}.leave-dropdown-header:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.leave-dropdown-arrow{font-size:12px;color:#94a3b8;margin-left:8px}.leave-dropdown-body{position:absolute;top:calc(100% + 6px);left:0;width:100%;max-height:260px;overflow-y:auto;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:12px;z-index:1000;animation:fadeIn .15s ease}.leave-dropdown-body input[type=text]{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;margin-bottom:10px}.leave-dropdown-body input[type=text]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.leave-select-actions{display:flex;justify-content:space-between;margin-bottom:10px}.leave-select-actions button{padding:4px 14px;font-size:12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:background .15s}.leave-select-actions button:hover{background:#e2e8f0}.leave-dropdown-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto;padding-right:4px}.leave-dropdown-item{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px;cursor:pointer}.leave-dropdown-item:hover{background:#f1f5f9}.leave-dropdown-item input[type=checkbox]{margin:0;cursor:pointer}.leave-select{width:100%;height:40px;padding:0 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;color:#1e293b;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;transition:border-color .2s}.leave-select:hover{border-color:#94a3b8}.leave-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.leave-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.leave-filter-btn,.leave-clear-btn{height:40px;padding:0 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.leave-filter-btn{background:#16a34a;color:#fff}.leave-filter-btn:hover{background:#15803d}.leave-filter-btn:disabled{background:#94a3b8;cursor:not-allowed}.leave-clear-btn{background:#ef4444;color:#fff}.leave-clear-btn:hover{background:#dc2626}.loading-spinner{margin-top:30px;text-align:center;padding:24px;font-size:15px;color:#475569;background:#f1f5f9;border-radius:8px}.leave-data-table{background:#fff;padding:20px 24px;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;margin-top:20px}.table-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.table-header h3{font-size:18px;font-weight:600;color:#0f172a;margin:0}.total-info{font-size:13px;color:#475569;background:#f1f5f9;padding:4px 12px;border-radius:20px}.table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}table{width:100%;border-collapse:collapse;min-width:1100px}thead{background:#f8fafc}th{padding:14px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#475569;border-bottom:2px solid #e2e8f0;cursor:pointer;white-space:nowrap;transition:background .15s}th:hover{background:#f1f5f9}th:active{background:#e2e8f0}td{padding:12px;font-size:14px;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}tbody tr:hover{background:#f8fafc}.leave-main-table td:nth-child(6),.leave-main-table td:nth-child(7){text-align:center}.leave-reason{max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.leave-type-badge{display:inline-block;padding:3px 10px;font-size:11px;font-weight:600;border-radius:20px;text-transform:capitalize;color:#fff;min-width:60px;text-align:center}.type-sick{background:#ef4444}.type-annual{background:#3b82f6}.type-casual{background:#8b5cf6}.type-emergency{background:#f59e0b}.type-personal{background:#14b8a6}.type-other{background:#6b7280}.status-badge{display:inline-block;padding:3px 10px;font-size:11px;font-weight:600;border-radius:20px;text-transform:capitalize;color:#fff;min-width:70px;text-align:center}.status-approved{background:#22c55e}.status-pending{background:#f59e0b}.status-rejected{background:#ef4444}.pagination{display:flex;justify-content:center;margin-top:24px}.pagination-controls{display:flex;gap:12px;align-items:center}.pagination-btn{padding:8px 18px;font-size:13px;font-weight:600;background:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.pagination-btn:hover:not(:disabled){background:#1d4ed8}.pagination-btn:disabled{background:#94a3b8;cursor:not-allowed}.page-info{font-size:14px;color:#475569}.no-data-message{background:#fffbeb;border-left:4px solid #f59e0b;padding:20px;margin-top:20px;border-radius:8px;text-align:center}.no-data-message p{margin:0 0 16px;color:#475569}.clear-filters-btn{padding:8px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.clear-filters-btn:hover{background:#dc2626}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.leave-dropdown-list::-webkit-scrollbar,.leave-dropdown-body::-webkit-scrollbar,.table-wrapper::-webkit-scrollbar{width:6px;height:6px}.leave-dropdown-list::-webkit-scrollbar-track,.leave-dropdown-body::-webkit-scrollbar-track,.table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.leave-dropdown-list::-webkit-scrollbar-thumb,.leave-dropdown-body::-webkit-scrollbar-thumb,.table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.leave-dropdown-list::-webkit-scrollbar-thumb:hover,.leave-dropdown-body::-webkit-scrollbar-thumb:hover,.table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 1024px){.leave-row--all-inline .leave-field{flex:1 1 140px;min-width:110px}}@media (max-width: 768px){.leave-container{padding:16px}.leave-header{flex-direction:column;align-items:stretch}.export-options{justify-content:stretch}.export-btn{flex:1;justify-content:center}.leave-filters{padding:16px}.leave-row{flex-direction:column;gap:14px}.leave-row--all-inline .leave-field{flex:1 1 auto;min-width:100%}.leave-actions{flex-wrap:wrap;justify-content:stretch}.leave-filter-btn,.leave-clear-btn{flex:1}table{min-width:800px}.table-header{flex-direction:column;align-items:stretch}}@media (max-width: 480px){.leave-container{padding:10px}.leave-header h2{font-size:20px}.export-btn{font-size:12px;padding:8px 14px}.leave-filter-btn,.leave-clear-btn{font-size:13px;padding:0 14px}table{min-width:650px}}@media print{.leave-container{padding:0!important;background:#fff}.leave-header h2{font-size:20px}.leave-filters,.export-options,.pagination,.loading-spinner,.no-data-message{display:none!important}.leave-data-table{box-shadow:none;border:1px solid #ddd;padding:10px;border-radius:0}.leave-main-table{font-size:10px}th{background:#f0f0f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.leave-type-badge,.status-badge{color:#000!important;background:transparent!important;border:1px solid #000;padding:1px 6px;border-radius:2px}}.payroll-container{padding:20px;max-width:1400px;margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.alert-message-container{padding:15px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px;animation:slideDown .3s ease}.alert-message-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-message-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-message-close-button{margin-left:auto;background:none;border:none;font-size:24px;cursor:pointer;color:inherit;padding:0 8px}.alert-message-close-button:hover{opacity:.7}.payroll-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;flex-wrap:wrap;gap:15px}.payroll-header-left{flex:1}.payroll-header-right{display:flex;align-items:center;gap:12px}.payroll-title{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:700;color:#2c3e50;margin:0 0 8px}.payroll-title-icon{color:#27ae60;font-size:32px}.payroll-subtitle{color:#7f8c8d;font-size:16px;margin:0}.btn-settings-top{width:48px;height:48px;border:none;border-radius:50%;background:#f8f9fa;color:#6c757d;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px #0000000f}.btn-settings-top:hover{background:#e9ecef;color:#2c3e50;transform:rotate(60deg);box-shadow:0 4px 12px #0000001f}.btn-holiday-top{background:#6c5ce7;color:#fff;border:none;border-radius:50%;width:48px;height:48px;font-size:22px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #6c5ce733}.btn-holiday-top:hover{background:#5f3dc4;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 16px #6c5ce766}.payroll-controls{background:#fff;border-radius:10px;padding:20px;margin-bottom:25px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px}.payroll-filters{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:13px;font-weight:600;color:#555}.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:150px;background:#fff;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.payroll-dropdown{position:relative;width:100%;min-width:200px}.payroll-dropdown-header{padding:8px 12px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px;transition:border-color .2s;min-height:40px;-webkit-user-select:none;user-select:none}.payroll-dropdown-header:hover{border-color:#3498db}.payroll-dropdown-arrow{font-size:12px;color:#999;transition:transform .2s}.payroll-dropdown-body{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:320px;display:flex;flex-direction:column;min-width:250px}.payroll-dropdown-search{padding:10px 12px;border:none;border-bottom:1px solid #eee;font-size:14px;outline:none;flex-shrink:0}.payroll-dropdown-search:focus{border-bottom-color:#3498db}.payroll-select-actions{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid #eee;flex-shrink:0}.payroll-select-actions button{padding:4px 12px;font-size:12px;cursor:pointer;border:1px solid #ddd;border-radius:4px;background:#f8f9fa;transition:all .2s;flex:1}.payroll-select-actions button:hover{background:#e9ecef;border-color:#3498db}.payroll-dropdown-list{overflow-y:auto;flex:1;padding:4px 0;max-height:180px}.payroll-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:14px;transition:background .15s}.payroll-dropdown-item:hover{background:#f0f4ff}.payroll-dropdown-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;flex-shrink:0}.payroll-dropdown-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-employee-code-small{color:#999;font-size:12px;font-weight:400;margin-left:auto;flex-shrink:0}.payroll-dropdown-empty{padding:12px;text-align:center;color:#999;font-size:14px}.btn-calculate-payroll{padding:8px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;height:40px;background:#27ae60;color:#fff}.btn-calculate-payroll:hover:not(:disabled){background:#229954}.btn-calculate-payroll:disabled{opacity:.6;cursor:not-allowed}.payroll-export-buttons{display:flex;gap:10px}.btn-export-excel{padding:8px 18px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;background:#217346;color:#fff;transition:all .2s}.btn-export-excel:hover{background:#1a5e38}.payroll-summary-cards{display:grid;grid-template-columns:repeat(8,1fr);gap:15px;padding-bottom:10px;margin-bottom:25px}.summary-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.summary-card:hover{transform:translateY(-2px)}.summary-icon{width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.summary-icon.total-employees{background:linear-gradient(135deg,#667eea,#764ba2)}.summary-icon.total-net{background:linear-gradient(135deg,#27ae60,#2ecc71)}.summary-icon.total-deductions{background:linear-gradient(135deg,#e74c3c,#c0392b)}.summary-icon.total-overtime{background:linear-gradient(135deg,#f39c12,#e67e22)}.summary-icon.total-tax{background:linear-gradient(135deg,#8e44ad,#9b59b6)}.summary-icon.total-pension{background:linear-gradient(135deg,#1abc9c,#16a085)}.summary-icon.total-all-deductions{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff}.total-pension-company{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.summary-info{width:100%}.summary-label{font-size:13px;color:#7f8c8d}.summary-value{display:block;font-size:20px;font-weight:700;white-space:nowrap}.payroll-table-container{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;overflow:hidden}.table-header{padding:18px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.table-header h3{margin:0;font-size:18px;color:#2c3e50}.record-count{color:#7f8c8d;font-size:14px}.table-responsive{overflow-x:auto;max-width:100%}.payroll-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;min-width:100%;table-layout:auto}.payroll-table th:first-child,.payroll-table td:first-child{position:sticky;left:0;z-index:10;background-color:#fff;min-width:200px;max-width:220px}.payroll-table th:first-child{z-index:11;background-color:#f8f9fa;border-right:2px solid #dee2e6}.payroll-table td:first-child{border-right:2px solid #eee;box-shadow:2px 0 4px #0000000a}.payroll-table th:first-child:hover{background-color:#e9ecef}.payroll-table th{position:relative;cursor:help;background:#f8f9fa;padding:12px 15px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.payroll-table th:hover{background:#e9ecef;color:#2c3e50}.payroll-table th[title]{border-bottom:2px solid #dee2e6}.payroll-table th[title]:hover{border-bottom-color:#3498db}.payroll-table td{padding:12px 15px;border-bottom:1px solid #eee;vertical-align:middle}.payroll-table tbody tr:hover,.payroll-table tbody tr:hover td:first-child{background:#f8f9fa}.employee-cell{display:flex;align-items:center;gap:10px;min-width:160px}.employee-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #e9ecef}.employee-avatar-icon{font-size:28px;color:#bdc3c7;flex-shrink:0}.employee-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-code{font-family:monospace;font-weight:600;color:#555}.deduction-amount{color:#e74c3c}.gross-pay-amount{font-weight:600;color:#2c3e50}.deduct-sum-amount{font-weight:600;color:#e74c3c}.net-pay-amount{font-weight:700;white-space:nowrap}.net-pay-amount.positive{color:#27ae60}.net-pay-amount.negative{color:#dc3545}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.status-draft{background:#e9ecef;color:#6c757d}.status-calculated{background:#fff3cd;color:#856404}.status-approved{background:#d4edda;color:#155724}.status-paid{background:#cce5ff;color:#004085}.btn-edit-salary{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:16px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;background:#e7f3ff;color:#007bff;width:36px;height:36px}.btn-edit-salary:hover{background:#007bff;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #007bff4d}.status-select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:12px;cursor:pointer;background:#fff;min-width:90px}.status-select:focus{outline:none;border-color:#3498db}.payroll-loading,.payroll-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#7f8c8d}.spinner-large{font-size:48px;color:#3498db;animation:spin 1s linear infinite}.empty-icon{font-size:64px;color:#bdc3c7;margin-bottom:16px}.spinner{animation:spin 1s linear infinite}.holiday-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.holiday-modal-content{background:#fff;border-radius:16px;padding:30px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.holiday-modal-close{position:sticky;top:0;float:right;background:#ff6b6b;color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.holiday-modal-close:hover{background:#c0392b;transform:rotate(90deg)}.settings-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px;animation:fadeIn .3s ease}.settings-modal-content{background:#fff;border-radius:16px;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;overflow:hidden}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:2px solid #f0f0f0;background:#f8f9fa;flex-shrink:0}.settings-modal-header h2{margin:0;font-size:22px;font-weight:700;color:#2c3e50;display:flex;align-items:center;gap:10px}.settings-modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:4px 12px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1}.settings-modal-close:hover{background:#e9ecef;color:#333;transform:rotate(90deg)}.settings-modal-body{padding:25px;overflow-y:auto;flex:1}.allowance-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.allowance-modal{background:#fff;border-radius:12px;width:480px;max-width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}.allowance-modal-header{padding:20px 24px;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;background:#f8f9fa;border-radius:12px 12px 0 0}.allowance-modal-header h3{margin:0;color:#2c3e50;font-size:18px;font-weight:600}.allowance-modal-header h4{margin:4px 0 0;color:#6c757d;font-size:14px;font-weight:400;width:100%}.allowance-modal-header .close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0 8px;line-height:1;transition:color .2s}.allowance-modal-header .close-btn:hover{color:#333}.allowance-modal-body{padding:24px}.allowance-field{margin-bottom:16px}.allowance-field label{display:block;font-weight:600;color:#495057;margin-bottom:6px;font-size:14px}.allowance-field input{width:100%;padding:10px 14px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:border-color .3s,box-shadow .3s}.allowance-field input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026}.allowance-field input::placeholder{color:#adb5bd}.allowance-total-preview{margin-top:20px;padding:14px;background:#e8f5e9;border-radius:8px;text-align:center;font-size:16px}.allowance-total-preview span{color:#2e7d32;font-weight:700;font-size:20px}.allowance-modal-footer{padding:16px 24px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:10px;background:#f8f9fa;border-radius:0 0 12px 12px}.allowance-modal-footer button{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.allowance-modal-footer .btn-cancel{background:#f1f3f4;color:#5f6368}.allowance-modal-footer .btn-cancel:hover:not(:disabled){background:#e8eaed}.allowance-modal-footer .btn-save{background:#4caf50;color:#fff}.allowance-modal-footer .btn-save:hover:not(:disabled){background:#43a047;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.allowance-modal-footer .btn-save:disabled,.allowance-modal-footer .btn-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-edit-allowances{background:#fff3e0;border:1px solid #ffb74d;color:#e65100;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .3s;display:inline-flex;align-items:center;gap:4px}.btn-edit-allowances:hover{background:#ffe0b2;transform:scale(1.02)}.allowance-amount{font-weight:500;color:#2e7d32}@keyframes modalSlideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 992px){.payroll-container{padding:16px}.payroll-title{font-size:24px}.payroll-summary-cards{grid-template-columns:repeat(3,1fr)}.payroll-table th,.payroll-table td{padding:10px 12px;font-size:13px}.payroll-table th:first-child,.payroll-table td:first-child{min-width:180px;max-width:200px}.employee-avatar-img{width:28px;height:28px}.employee-avatar-icon{font-size:24px}}@media (max-width: 768px){.payroll-container{padding:12px}.payroll-header{flex-direction:column;align-items:stretch;gap:12px}.payroll-header-left{text-align:center}.payroll-header-right{justify-content:center;flex-wrap:wrap}.payroll-title{font-size:22px;justify-content:center}.payroll-title-icon{font-size:26px}.payroll-subtitle{font-size:14px;text-align:center}.btn-settings-top,.btn-holiday-top{width:40px;height:40px;font-size:18px}.payroll-controls{flex-direction:column;align-items:stretch;padding:16px;gap:12px}.payroll-filters{flex-direction:column;gap:10px}.filter-group{width:100%}.filter-select{min-width:100%;width:100%}.payroll-dropdown{min-width:100%}.payroll-dropdown-body{min-width:100%;max-height:280px}.payroll-dropdown-list{max-height:150px}.btn-calculate-payroll{width:100%;justify-content:center}.payroll-export-buttons{width:100%}.btn-export-excel{width:100%;justify-content:center}.payroll-summary-cards{grid-template-columns:repeat(2,1fr);gap:10px}.summary-card{padding:14px 16px}.summary-icon{width:38px;height:38px;font-size:16px}.summary-value{font-size:17px}.payroll-table-container{border-radius:8px}.table-header{padding:14px 16px;flex-direction:column;align-items:flex-start;gap:4px}.table-header h3{font-size:16px}.payroll-table{font-size:12px}.payroll-table th,.payroll-table td{padding:8px 10px}.payroll-table th:first-child,.payroll-table td:first-child{min-width:140px;max-width:160px}.employee-cell{min-width:120px;gap:8px}.employee-avatar-img{width:24px;height:24px}.employee-avatar-icon{font-size:20px}.employee-name{font-size:12px}.btn-edit-salary{width:32px;height:32px;font-size:14px}.status-select{min-width:70px;font-size:10px;padding:4px 8px}.status-badge{font-size:10px;padding:3px 10px}.holiday-modal-content,.settings-modal-content{max-width:98%;max-height:95vh}.holiday-modal-header,.settings-modal-header{padding:16px 20px}.holiday-modal-header h2,.settings-modal-header h2{font-size:18px}.holiday-modal-body,.settings-modal-body{padding:18px}.holiday-modal-close,.settings-modal-close{font-size:24px;padding:4px 8px}.allowance-modal{width:100%;max-width:100%;max-height:100vh;border-radius:0;margin:0}.allowance-modal-header,.allowance-modal-footer{border-radius:0}}@media (max-width: 480px){.payroll-container{padding:8px}.payroll-title{font-size:18px;gap:8px}.payroll-title-icon{font-size:22px}.payroll-subtitle{font-size:12px}.btn-settings-top,.btn-holiday-top{width:36px;height:36px;font-size:16px}.payroll-controls{padding:12px}.payroll-summary-cards{grid-template-columns:1fr;gap:8px}.summary-card{padding:12px 14px}.summary-icon{width:34px;height:34px;font-size:14px}.summary-label{font-size:11px}.summary-value{font-size:15px}.payroll-table{font-size:11px}.payroll-table th,.payroll-table td{padding:6px 8px}.payroll-table th:first-child,.payroll-table td:first-child{min-width:120px;max-width:140px}.employee-cell{min-width:100px;gap:6px}.employee-avatar-img{width:20px;height:20px;border-width:1px}.employee-avatar-icon{font-size:18px}.employee-name{font-size:11px}.employee-code{font-size:10px}.payroll-dropdown-item{padding:8px 10px;font-size:13px}.payroll-dropdown-item input[type=checkbox]{width:18px;height:18px}.payroll-select-actions{flex-direction:column;gap:4px}.payroll-select-actions button{width:100%}.btn-calculate-payroll,.btn-export-excel{height:36px;font-size:13px;padding:6px 14px}.btn-edit-salary{width:28px;height:28px;font-size:12px;padding:4px 6px}.status-select{min-width:60px;font-size:9px;padding:3px 6px}.status-badge{font-size:9px;padding:2px 8px}.table-header h3{font-size:14px}.record-count{font-size:12px}.holiday-modal-overlay,.settings-modal-overlay{padding:10px}.holiday-modal-content,.settings-modal-content{max-width:100%;max-height:98vh;border-radius:12px}.holiday-modal-header,.settings-modal-header{padding:12px 14px}.holiday-modal-header h2,.settings-modal-header h2{font-size:16px}.holiday-modal-body,.settings-modal-body{padding:12px}.holiday-modal-close,.settings-modal-close{font-size:20px;padding:4px 6px}.allowance-modal{max-width:100%;border-radius:0}.allowance-modal-header{padding:14px 16px}.allowance-modal-body{padding:16px}.allowance-modal-footer{padding:12px 16px}}@media (max-width: 360px){.payroll-title{font-size:16px}.payroll-table th:first-child,.payroll-table td:first-child{min-width:100px;max-width:120px}.employee-cell{min-width:80px;gap:4px}.employee-name{font-size:10px}.employee-avatar-img{width:18px;height:18px}.employee-avatar-icon{font-size:16px}.payroll-table th,.payroll-table td{padding:4px 6px;font-size:10px}.btn-edit-salary{width:24px;height:24px;font-size:10px}.status-select{min-width:50px;font-size:8px;padding:2px 4px}.status-badge{font-size:8px;padding:2px 6px}}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#28a745}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.payroll-table th.group-employee{background:#f8fafc;border-bottom:2px solid #cbd5e1}.payroll-table th.group-salary{background:#e3f2fd;border-bottom:2px solid #64b5f6}.payroll-table th.group-overtime{background:#e8f5e9;border-bottom:2px solid #81c784}.payroll-table th.group-allowances{background:#fff3e0;border-bottom:2px solid #ffb74d}.payroll-table th.group-gross{background:#f3e5f5;border-bottom:2px solid #ba68c8}.payroll-table th.group-time-deductions{background:#ffebee;border-bottom:2px solid #e57373}.payroll-table th.group-pension{background:#e0f2f1;border-bottom:2px solid #4db6ac}.payroll-table th.group-tax{background:#eceff1;border-bottom:2px solid #90a4ae}.payroll-table th.group-manual{background:#fce4ec;border-bottom:2px solid #f06292}.payroll-table th.group-total-deductions{background:#fff8e1;border-bottom:2px solid #ffb300}.payroll-table th.group-net-pay{background:#f9fbe7;border-bottom:2px solid #c0ca33}.payroll-table th.group-actions{background:#f5f5f5;border-bottom:2px solid #bdbdbd}.payroll-table th:first-child{border-right:2px solid #cbd5e1}.payroll-table th:hover{filter:brightness(.985);transition:filter .15s ease}.payroll-setting-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000008c;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px;overflow-y:auto;animation:fadeIn .3s ease}.payroll-setting-content{background:#fff;width:95%;max-width:780px;max-height:90vh;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}.payroll-setting-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #e9ecef;background:#f8f9fa;flex-shrink:0}.payroll-setting-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:22px;font-weight:600;color:#2c3e50}.header-icon{color:#3498db;font-size:22px}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:4px 8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#e9ecef;color:#333}.payroll-setting-alert{margin:15px 25px 0;padding:12px 16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:14px;flex-shrink:0}.alert-close{background:none;border:none;font-size:20px;cursor:pointer;color:inherit;padding:0 4px}.payroll-setting-body{padding:25px;overflow-y:auto;flex:1}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#7f8c8d}.loading-state .spinner{font-size:40px;color:#3498db;animation:spin 1s linear infinite}.loading-state p{margin-top:12px;font-size:16px}.toggle-section{margin-bottom:28px}.toggle-section:last-child{margin-bottom:0}.toggle-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:8px 0;border-bottom:2px solid #f0f0f0;transition:all .3s ease;-webkit-user-select:none;user-select:none}.toggle-header:hover{background:#f8f9fa;margin:0 -8px;padding:8px;border-radius:6px}.toggle-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:#2c3e50}.toggle-title{display:flex;align-items:center;gap:8px}.toggle-icon{color:#6c757d;font-size:18px;transition:transform .3s ease;padding:4px 8px;border-radius:4px}.toggle-header:hover .toggle-icon{background:#e9ecef}.toggle-content{padding-top:16px;animation:slideDown .3s ease}.toggle-header .section-icon{color:#3498db;font-size:18px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.setting-field{display:flex;flex-direction:column;gap:4px}.setting-field label{font-size:13px;font-weight:500;color:#555}.setting-field input,.setting-field select{padding:10px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none;transition:all .3s ease;background:#fff;width:100%;box-sizing:border-box}.setting-field input:focus,.setting-field select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26}.setting-field input[type=number]{-moz-appearance:textfield}.setting-field input[type=number]::-webkit-outer-spin-button,.setting-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setting-field input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.field-hint{display:block;color:#999;font-size:11px;margin-top:4px;font-style:italic}.single-employee-badge{display:inline-block;background:#007bff;color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500;margin-left:12px}.single-employee-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.single-employee-allowances{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:8px}.single-employee-allowances h4{grid-column:1 / -1;margin:15px 0 5px;color:#2c3e50;font-size:15px}.single-employee-allowances .setting-field:nth-child(5){grid-column:1 / 2}.single-employee-allowances .setting-field:nth-child(6){grid-column:2 / 3}.single-employee-allowances .setting-field label{display:flex;align-items:center;gap:6px}.allowance-total-preview{grid-column:1 / -1;margin-top:16px;padding:14px 20px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:8px;border:1px solid #a5d6a7;text-align:center}.allowance-total-preview strong{font-size:16px;color:#2e7d32}.allowance-total-preview span{font-size:20px;font-weight:700;color:#1b5e20;margin-left:8px}.tax-brackets-section{margin-top:4px}.tax-note{font-size:13px;color:#7f8c8d;margin:12px 0 14px;font-style:italic}.tax-brackets-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #e9ecef;animation:slideDown .3s ease}.tax-brackets-table{width:100%;border-collapse:collapse;font-size:13px}.tax-brackets-table thead{background:#f8f9fa}.tax-brackets-table th{padding:10px 12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.tax-brackets-table td{padding:6px 8px;border-bottom:1px solid #eee}.tax-brackets-table td input{width:100%;padding:8px 10px;border:2px solid #e2e8f0;border-radius:4px;font-size:13px;outline:none;transition:all .3s ease;background:#fff;box-sizing:border-box;min-width:60px}.tax-brackets-table td input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1f}.tax-brackets-table tbody tr:hover{background:#f8f9fa}.tax-brackets-table tbody tr:last-child td{border-bottom:none}.import-section{margin-bottom:28px}.import-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#2c3e50;margin:0 0 8px;padding:8px 0;border-bottom:2px solid #f0f0f0}.import-section h3 .section-icon{color:#3498db;font-size:18px}.section-description{font-size:13px;color:#7f8c8d;margin:-4px 0 16px;padding:8px 12px;background:#f8f9fa;border-radius:4px;border-left:3px solid #007bff}.import-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.btn-download-template{padding:8px 16px;border:none;border-radius:6px;background:#28a745;color:#fff;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-download-template:hover{background:#218838;transform:translateY(-1px)}.file-upload-wrapper{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-upload-wrapper input[type=file]{display:none}.file-upload-label{padding:8px 16px;border:2px solid #007bff;border-radius:6px;background:#fff;color:#007bff;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s}.file-upload-label:hover{background:#e7f3ff}.file-name{font-size:13px;color:#28a745;font-weight:500}.btn-import{padding:8px 20px;border:none;border-radius:6px;background:#007bff;color:#fff;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-import:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.btn-import:disabled{opacity:.6;cursor:not-allowed}.import-results{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.result-summary{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}.result-item{font-size:14px;padding:4px 8px}.result-item.success{color:#28a745}.result-item.failed{color:#dc3545}.result-item.total{color:#6c757d}.error-list{margin-top:12px;max-height:150px;overflow-y:auto;background:#fff;padding:10px;border-radius:6px;border:1px solid #f5c6cb}.error-list h4{margin:0 0 8px;color:#dc3545;font-size:14px}.error-list ul{margin:0;padding-left:20px}.error-list li{font-size:13px;color:#721c24;padding:2px 0}.updated-list{margin-top:12px;max-height:150px;overflow-y:auto;background:#d4edda;padding:10px;border-radius:6px;border:1px solid #c3e6cb}.updated-list h4{margin:0 0 8px;color:#155724;font-size:14px}.updated-list ul{margin:0;padding-left:20px}.updated-list li{font-size:13px;color:#155724;padding:2px 0}.btn-close-results{margin-top:12px;padding:6px 16px;border:none;border-radius:4px;background:#6c757d;color:#fff;cursor:pointer;font-size:13px}.btn-close-results:hover{background:#5a6268}.instructions-toggle-wrapper{margin-top:16px}.instructions-toggle-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:10px 14px;background:#fff3cd;border-radius:6px;border:1px solid #ffc107;transition:all .3s ease;-webkit-user-select:none;user-select:none}.instructions-toggle-header:hover{background:#ffe69c}.instructions-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:#856404}.instructions-title .info-icon{color:#856404;font-size:16px}.instructions-toggle-header .toggle-icon{color:#856404;font-size:16px;transition:transform .3s ease}.import-instructions{margin-top:0;padding:16px 20px;background:#fff8e1;border-radius:0 0 8px 8px;border-left:4px solid #ffc107;border-right:1px solid #ffc107;border-bottom:1px solid #ffc107;animation:slideDown .3s ease}.import-instructions ol{margin:0;padding-left:20px}.import-instructions li{font-size:13px;color:#856404;padding:4px 0;line-height:1.6}.import-instructions li strong{color:#6c5200}.payroll-setting-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 25px;border-top:1px solid #e9ecef;background:#f8f9fa;flex-shrink:0;border-radius:0 0 12px 12px}.btn-cancel{padding:10px 24px;border:2px solid #dee2e6;border-radius:6px;background:#fff;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease;color:#6c757d}.btn-cancel:hover{background:#f8f9fa;border-color:#c1c7cd}.btn-save{padding:10px 24px;border:none;border-radius:6px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;cursor:pointer;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;transition:all .3s ease}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #007bff40}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner-small{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.payroll-setting-body::-webkit-scrollbar{width:6px}.payroll-setting-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.payroll-setting-body::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:3px}.payroll-setting-body::-webkit-scrollbar-thumb:hover{background:#a8aeb6}.tax-brackets-table-wrapper::-webkit-scrollbar{height:6px}.tax-brackets-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.tax-brackets-table-wrapper::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:3px}.deduction-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.deduction-row .setting-field{flex:1;min-width:140px}.deduction-row .setting-field label{font-size:13px;font-weight:500;color:#555;display:block;margin-bottom:4px}.deduction-row .setting-field input{width:100%;padding:10px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none;transition:all .3s ease;background:#fff;box-sizing:border-box}.deduction-row .setting-field input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff26}@media (max-width: 768px){.payroll-setting-overlay{align-items:flex-start;padding:10px}.payroll-setting-content{width:98%;max-height:95vh;margin-top:10px;border-radius:10px}.payroll-setting-header{padding:16px 20px}.payroll-setting-header h2{font-size:18px}.payroll-setting-body{padding:16px}.settings-grid,.single-employee-grid,.single-employee-allowances{grid-template-columns:1fr 1fr;gap:12px}.single-employee-allowances .setting-field:nth-child(5){grid-column:1 / 2}.single-employee-allowances .setting-field:nth-child(6){grid-column:2 / 3}.payroll-setting-footer{padding:14px 20px;flex-wrap:wrap}.btn-cancel,.btn-save{flex:1;justify-content:center;min-width:100px}.payroll-setting-alert{margin:12px 16px 0;font-size:13px;padding:10px 14px}.tax-brackets-table{font-size:12px}.tax-brackets-table th,.tax-brackets-table td{padding:6px 8px}.tax-brackets-table td input{padding:6px 8px;font-size:12px;min-width:40px}.toggle-header{padding:6px 0}.toggle-header h3{font-size:14px}.toggle-content{padding-top:12px}.import-actions{flex-direction:column;align-items:stretch}.btn-download-template,.btn-import{justify-content:center}.file-upload-wrapper{flex-direction:column;align-items:stretch}.file-upload-label{justify-content:center}.result-summary{flex-direction:column;gap:8px}.single-employee-badge{display:block;margin:8px 0 0;text-align:center}}@media (max-width: 480px){.payroll-setting-overlay{padding:5px}.payroll-setting-content{max-height:98vh;border-radius:8px}.payroll-setting-header{padding:14px 16px}.payroll-setting-header h2{font-size:16px}.close-button{font-size:20px}.payroll-setting-body{padding:12px}.settings-grid,.single-employee-grid,.single-employee-allowances{grid-template-columns:1fr;gap:10px}.single-employee-allowances .setting-field:nth-child(5),.single-employee-allowances .setting-field:nth-child(6){grid-column:1}.single-employee-grid .setting-field:first-child,.single-employee-allowances h4,.allowance-total-preview{grid-column:1}.setting-field label{font-size:12px}.setting-field input,.setting-field select{padding:8px 10px;font-size:13px}.payroll-setting-footer{padding:12px 16px;flex-direction:column-reverse;gap:8px}.btn-cancel,.btn-save{width:100%;padding:10px 16px;font-size:13px}.payroll-setting-alert{margin:10px 12px 0;font-size:12px;padding:8px 12px}.tax-brackets-table{font-size:11px}.tax-brackets-table th,.tax-brackets-table td{padding:4px 6px}.tax-brackets-table td input{padding:4px 6px;font-size:11px;min-width:30px}.tax-note{font-size:12px}.toggle-header h3{font-size:13px}.toggle-icon{font-size:16px}.allowance-total-preview{padding:10px 16px}.allowance-total-preview span{font-size:17px}.allowance-total-preview strong{font-size:14px}.deduction-row{flex-direction:column}.deduction-row .setting-field{min-width:unset}}.holiday-manager{padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;animation:alertSlideDown .3s ease}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.holiday-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.holiday-header-left{display:flex;align-items:center;gap:12px}.holiday-header-left h2{margin:0;font-size:20px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:10px}.holiday-header-left h2 svg{color:#8e44ad}.holiday-header-right{display:flex;align-items:center;gap:10px}.btn-add{padding:10px 20px;background:linear-gradient(135deg,#8e44ad,#9b59b6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 2px 8px #8e44ad33;white-space:nowrap}.btn-add:hover{background:linear-gradient(135deg,#7d3c98,#8e44ad);transform:translateY(-2px);box-shadow:0 4px 16px #8e44ad4d}.btn-add:active{transform:translateY(0)}.holiday-filters{display:flex;gap:15px;margin-bottom:20px;align-items:flex-end;flex-wrap:wrap}.holiday-filter-group{display:flex;flex-direction:column;gap:4px}.holiday-filter-group label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.holiday-filter-group select{padding:8px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;transition:all .2s ease;min-width:150px}.holiday-filter-group select:hover{border-color:#8e44ad}.holiday-filter-group select:focus{outline:none;border-color:#8e44ad;box-shadow:0 0 0 3px #8e44ad1a}.btn-refresh{padding:8px 18px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;height:40px;display:flex;align-items:center;gap:6px}.btn-refresh:hover{background:#5a6268;transform:translateY(-1px)}.holiday-form{background:#f8f9fa;padding:24px;border-radius:12px;margin-bottom:20px;border:2px dashed #dee2e6;animation:formSlideDown .3s ease}.holiday-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.holiday-form-header h3{margin:0;color:#2c3e50;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.holiday-form-header h3:before{content:"📌"}.holiday-form-row{display:flex;gap:16px;margin-bottom:0}.holiday-form-row .holiday-form-group{flex:1;margin-bottom:16px}.holiday-form-row .holiday-form-group.half{flex:0 0 calc(50% - 8px);max-width:calc(50% - 8px)}.holiday-form-group{margin-bottom:16px}.holiday-form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:#555}.holiday-form-group input,.holiday-form-group select{width:100%;padding:10px 14px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;box-sizing:border-box;background:#fff;font-family:inherit}.holiday-form-group input:focus,.holiday-form-group select:focus{outline:none;border-color:#8e44ad;box-shadow:0 0 0 3px #8e44ad1a}.holiday-form-group input::placeholder{color:#adb5bd}.holiday-form-group select{appearance:auto;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.holiday-form-group select option{padding:8px}.holiday-form-group select:hover{border-color:#8e44ad}.holiday-hint{display:block;font-size:12px;color:#6c757d;margin-top:4px}.holiday-checkbox-row{display:flex;gap:16px;margin-bottom:12px}.holiday-checkbox-row .holiday-checkbox-group{flex:1;margin-bottom:0}.holiday-checkbox-row .holiday-checkbox-group.half{flex:0 0 calc(50% - 8px);max-width:calc(50% - 8px)}.holiday-checkbox-group{padding:10px 14px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;transition:all .2s ease}.holiday-checkbox-group:hover{background:#f0f0f0;border-color:#8e44ad}.holiday-checkbox-group label{display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer;color:#495057;font-size:14px;width:100%}.holiday-checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#8e44ad;flex-shrink:0}.holiday-checkbox-group input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #8e44ad33}.holiday-checkbox-group .checkbox-label{display:flex;flex-direction:column;gap:2px;flex:1}.holiday-checkbox-group .checkbox-label .label-main{font-weight:600;color:#2c3e50}.holiday-checkbox-group .checkbox-label .label-sub{font-size:12px;font-weight:400;color:#6c757d}.holiday-checkbox-group .checkbox-icon{font-size:16px;margin-left:auto;color:#adb5bd;transition:all .2s ease}.holiday-checkbox-group input[type=checkbox]:checked~.checkbox-icon{color:#8e44ad}.holiday-form-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.btn-save{padding:10px 28px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #27ae6033;display:inline-flex;align-items:center;gap:8px}.btn-save:hover{background:linear-gradient(135deg,#219a52,#27ae60);transform:translateY(-2px);box-shadow:0 4px 16px #27ae604d}.btn-cancel{padding:10px 28px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-cancel:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 12px #6c757d4d}.holiday-list{margin-top:4px;overflow-x:auto}.holiday-table-wrapper{max-height:400px;overflow-y:auto;border-radius:8px;border:1px solid #e9ecef}.holiday-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.holiday-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.holiday-table-wrapper::-webkit-scrollbar-thumb{background:#c1c7cd;border-radius:4px}.holiday-table-wrapper::-webkit-scrollbar-thumb:hover{background:#a8afb6}.holiday-table{width:100%;border-collapse:collapse;font-size:14px}.holiday-table thead{background:#f8f9fa;position:sticky;top:0;z-index:5}.holiday-table th{padding:12px 16px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:13px;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;position:sticky;top:0;z-index:5}.holiday-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;vertical-align:middle}.holiday-table tbody tr{transition:background .15s ease}.holiday-table tbody tr:hover{background:#f8f9fa}.holiday-table td strong{color:#2c3e50}.holiday-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-block}.holiday-badge-national{background:#e74c3c;color:#fff}.holiday-badge-religious{background:#2ecc71;color:#fff}.holiday-badge-cultural{background:#f39c12;color:#fff}.holiday-badge-other{background:#9b59b6;color:#fff}.btn-holiday-edit{padding:6px 14px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;transition:all .2s ease;margin-right:8px}.btn-holiday-edit:hover{background:#2980b9;transform:scale(1.05);box-shadow:0 4px 12px #3498db4d}.btn-holiday-delete{padding:6px 14px;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;transition:all .2s ease}.btn-holiday-delete:hover{background:#c0392b;transform:scale(1.05);box-shadow:0 4px 12px #e74c3c4d}.holiday-empty-state{text-align:center;padding:50px 20px;color:#7f8c8d}.holiday-empty-state svg{font-size:48px;color:#bdc3c7;margin-bottom:12px}.holiday-empty-state p{margin:4px 0;font-size:16px}.holiday-empty-state .hint{font-size:14px;color:#95a5a6;margin-top:8px}.holiday-loading{text-align:center;padding:40px;color:#8e44ad;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px}.holiday-spinner{animation:holidaySpin 1s linear infinite;font-size:24px}@keyframes holidaySpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes alertSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes formSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.holiday-header{flex-direction:column;align-items:stretch}.holiday-header-left h2{font-size:18px}.btn-add{justify-content:center;width:100%}.holiday-filters{flex-direction:column;align-items:stretch}.holiday-filter-group select{min-width:100%}.btn-refresh{width:100%;justify-content:center}.holiday-form-row{flex-direction:column;gap:0}.holiday-form-row .holiday-form-group.half{flex:1;max-width:100%}.holiday-checkbox-row{flex-direction:column;gap:8px}.holiday-checkbox-row .holiday-checkbox-group.half{flex:1;max-width:100%}.holiday-table{font-size:13px}.holiday-table th,.holiday-table td{padding:10px 12px}.btn-holiday-delete,.btn-holiday-edit{padding:4px 10px;font-size:11px}.holiday-form{padding:16px}.btn-save,.btn-cancel{width:100%;justify-content:center}.holiday-form-actions{flex-direction:column}}@media (max-width: 480px){.holiday-manager{padding:12px}.holiday-header-left h2{font-size:16px}.btn-add{padding:8px 16px;font-size:13px}.holiday-table{font-size:12px}.holiday-table th,.holiday-table td{padding:8px 10px}.holiday-table td strong{font-size:12px}.btn-holiday-delete,.btn-holiday-edit{padding:4px 8px;font-size:10px}.btn-holiday-delete svg,.btn-holiday-edit svg{font-size:10px}.holiday-form-group input,.holiday-form-group select{padding:8px 12px;font-size:13px}.holiday-form{padding:12px}.holiday-form-header h3,.holiday-empty-state p{font-size:14px}.holiday-empty-state .hint{font-size:12px}.holiday-checkbox-group{padding:8px 12px}.holiday-checkbox-group label{font-size:13px}.holiday-checkbox-group .checkbox-label .label-sub{font-size:11px}}.lbm-container{padding:10px;max-width:1200px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.lbm-header{margin-bottom:24px}.lbm-header h2{font-size:24px;margin-bottom:4px;color:#2c3e50}.lbm-header p{color:#6c757d;font-size:14px}.lbm-alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.lbm-alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.lbm-alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.lbm-alert-close{background:none;border:none;font-size:20px;cursor:pointer;color:inherit;padding:0 4px}.lbm-filters{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px}.lbm-filter-group{display:flex;flex-direction:column;gap:4px}.lbm-filter-group label{font-weight:600;font-size:14px;color:#495057}.lbm-filter-select,.lbm-filter-input{padding:8px 12px;border-radius:4px;border:1px solid #ced4da;font-size:14px;min-width:150px}.lbm-filter-select:focus,.lbm-filter-input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.lbm-btn-refresh{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.lbm-btn-refresh:disabled{opacity:.6;cursor:not-allowed}.lbm-loading{text-align:center;padding:40px;color:#6c757d;font-size:18px}.lbm-table-wrapper{overflow-x:auto;overflow-y:auto;max-height:400px;border-radius:8px;box-shadow:0 1px 3px #00000014}.lbm-balance-table{width:100%;border-collapse:collapse;background:#fff}.lbm-balance-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#343a40;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:1}.lbm-balance-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;vertical-align:middle}.lbm-balance-table tr:last-child td{border-bottom:none}.lbm-balance-table tbody tr:hover{background:#f8f9fa}.lbm-balance-low{color:#dc3545;font-weight:700}.lbm-balance-normal{color:#28a745;font-weight:600}.lbm-no-data{text-align:center;color:#6c757d;padding:30px 0}.lbm-employee-cell{display:flex;align-items:center;gap:10px}.lbm-employee-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #e0e0e0;box-shadow:0 1px 3px #00000014;background:#f5f5f5}.lbm-btn-edit{padding:4px 14px;background:#ffc107;border:none;border-radius:4px;cursor:pointer;font-size:14px;color:#212529;transition:background .15s}.lbm-btn-edit:hover{background:#e0a800}.lbm-btn-history{background:#17a2b8;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:14px;margin-left:8px;transition:background .15s}.lbm-btn-history:hover{background:#138496}.lbm-btn-export,.lbm-btn-import{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-left:8px}.lbm-btn-export{background:#28a745;color:#fff}.lbm-btn-export:hover{background:#218838}.lbm-btn-import{background:#17a2b8;color:#fff}.lbm-btn-import:hover{background:#138496}.lbm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1050}.lbm-modal-content{background:#fff;border-radius:8px;width:500px;max-width:95%;padding:24px;box-shadow:0 4px 20px #00000026}.lbm-modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e9ecef;padding-bottom:12px;margin-bottom:16px}.lbm-modal-header h3{margin:0;font-size:20px;color:#2c3e50}.lbm-modal-close{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#6c757d}.lbm-modal-close:hover{color:#343a40}.lbm-modal-body{padding:8px 0 16px}.lbm-modal-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e9ecef;padding-top:16px}.lbm-btn-cancel{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.lbm-btn-cancel:hover{background:#5a6268}.lbm-btn-save{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.lbm-btn-save:hover{background:#218838}.lbm-btn-cancel:disabled,.lbm-btn-save:disabled{opacity:.6;cursor:not-allowed}.lbm-emp-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #e0e0e0;box-shadow:0 1px 3px #00000014;background:#f5f5f5}.lbm-form-group{margin-bottom:20px}.lbm-form-group label{display:block;font-weight:600;margin-bottom:4px;color:#343a40}.lbm-form-control{width:100%;padding:8px 12px;border-radius:4px;border:1px solid #ced4da;font-size:14px}.lbm-form-control:disabled{background:#f1f3f5;color:#6c757d}.lbm-form-control:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.lbm-hint{display:block;font-size:12px;color:#6c757d;margin-top:4px}.lbm-modal-import{max-width:600px}.lbm-import-instructions{margin-bottom:20px;background:#f8f9fa;padding:15px;border-radius:6px}.lbm-import-instructions p{margin:6px 0}.lbm-btn-template{background:#ffc107;border:none;padding:6px 14px;border-radius:4px;cursor:pointer;margin-top:8px}.lbm-file-upload{margin:20px 0}.lbm-file-upload input[type=file]{display:none}.lbm-file-label{display:inline-block;padding:10px 20px;background:#f0f0f0;border:2px dashed #ccc;border-radius:4px;cursor:pointer;transition:background .2s;width:100%;text-align:center}.lbm-file-label:hover{background:#e0e0e0}.lbm-import-results{margin-top:10px}.lbm-result-summary{display:flex;gap:20px;margin:15px 0}.lbm-result-item{padding:8px 16px;border-radius:4px;background:#f8f9fa}.lbm-result-success{background:#d4edda;color:#155724}.lbm-result-failed{background:#f8d7da;color:#721c24}.lbm-result-total{background:#e2e3e5;color:#383d41}.lbm-error-list{max-height:200px;overflow-y:auto;background:#fff3f3;padding:10px;border-radius:4px;border:1px solid #f5c6cb}.lbm-error-list ul{margin:5px 0;padding-left:20px}.lbm-error-list li{color:#721c24;font-size:13px}.lbm-btn-close-results{margin-top:15px;padding:6px 20px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.custom-select-wrapper{position:relative;width:120px}.custom-select-display{padding:8px 12px;background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px}.custom-select-arrow{font-size:10px;color:#666}.custom-select-options{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;max-height:140px;overflow-y:auto;z-index:1000;box-shadow:0 4px 8px #0000001a}.custom-select-option{padding:8px 12px;cursor:pointer;font-size:14px;transition:background .2s}.custom-select-option:hover{background:#f0f0f0}.custom-select-option.selected{background:#4caf50;color:#fff}.custom-select-filter{padding:6px 8px;border-bottom:1px solid #eee}.custom-select-filter input{width:100%;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;outline:none}.custom-select-filter input:focus{border-color:#4caf50}.custom-select-option.custom-add-year{background:#e8f5e9;color:#2e7d32;font-weight:500}.custom-select-option.custom-add-year:hover{background:#c8e6c9}.lbm-emp-dropdown{position:relative;min-width:200px;max-width:280px}.lbm-emp-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fafbfc;border:1.5px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;color:#2c3e50;transition:border-color .25s,box-shadow .25s;-webkit-user-select:none;user-select:none;min-height:44px}.lbm-emp-dropdown-header:hover{border-color:#b0b0b0;background:#fff}.lbm-emp-dropdown-header:focus-within{border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026}.lbm-emp-selection-count{font-weight:500;color:#2c3e50}.lbm-emp-placeholder{color:#aaa;font-weight:400}.lbm-emp-dropdown-arrow{font-size:12px;color:#999;margin-left:8px}.lbm-emp-clear-btn{position:absolute;right:36px;top:50%;transform:translateY(-50%);background:none;border:none;color:#999;cursor:pointer;font-size:14px;padding:4px 6px;border-radius:50%;transition:all .2s;line-height:1}.lbm-emp-clear-btn:hover{color:#dc3545;background:#f5f5f5}.lbm-emp-dropdown-body{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:1000;max-height:340px;display:flex;flex-direction:column;overflow:hidden}.lbm-emp-search-container{padding:10px 12px;border-bottom:1px solid #f0f0f0}.lbm-emp-search-input{width:100%;padding:8px 12px;border:1.5px solid #e0e0e0;border-radius:6px;font-size:14px;background:#fafbfc;box-sizing:border-box;outline:none}.lbm-emp-search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501f;background:#fff}.lbm-emp-dropdown-actions{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #f0f0f0;gap:12px}.lbm-emp-select-all-btn{background:none;border:none;color:#4caf50;font-weight:600;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.lbm-emp-select-all-btn:hover{background:#e8f5e9}.lbm-emp-selection-count-badge{font-size:13px;color:#666;background:#f5f5f5;padding:2px 10px;border-radius:12px}.lbm-emp-dropdown-list{overflow-y:auto;max-height:200px;padding:4px 0;flex:1}.lbm-emp-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .15s}.lbm-emp-dropdown-item:hover{background:#f5f7fa}.lbm-emp-dropdown-item.selected{background:#e8f5e9}.lbm-emp-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#4caf50;flex-shrink:0}.lbm-emp-info{display:flex;flex-direction:column;gap:1px;overflow:hidden}.lbm-emp-name{font-size:14px;font-weight:500;color:#2c3e50}.lbm-emp-details{font-size:12px;color:#888}.lbm-emp-no-results{padding:20px 12px;text-align:center;color:#999;font-size:14px}.lbm-emp-dropdown-footer{padding:8px 12px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end}.lbm-emp-count{font-size:12px;color:#999}.lbm-modal-history .lbm-modal-content{background:#fff;border-radius:12px;padding:28px 32px;box-shadow:0 12px 48px #0000002e;width:min(900px,95vw);max-width:900px;border:none;box-sizing:border-box}.lbm-modal-history .lbm-modal-header{border-bottom:2px solid #eef2f7;padding-bottom:16px;margin-bottom:20px}.lbm-modal-history .lbm-modal-header h3{font-size:22px;font-weight:700;color:#1a2332;display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lbm-modal-history .lbm-modal-header h3:before{content:"📋";font-size:24px;flex-shrink:0}.lbm-modal-history .lbm-modal-close{font-size:32px;color:#8a94a6;transition:all .2s;flex-shrink:0}.lbm-modal-history .lbm-modal-close:hover{color:#dc3545;transform:rotate(90deg)}.lbm-modal-history .lbm-modal-body{padding:4px 0 12px}.lbm-history-table-wrap{width:100%;border-radius:10px;border:1px solid #e9edf4;overflow-x:auto;overflow-y:auto;max-height:400px;margin-top:4px}.lbm-history-table-wrap .lbm-balance-table{width:100%;min-width:650px;border-radius:0;box-shadow:none;margin:0;font-size:14px;table-layout:fixed}.lbm-history-table-wrap .lbm-balance-table th{background:#f7f9fc;color:#2c3e50;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.03em;padding:12px 16px;border-bottom:2px solid #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:1}.lbm-history-table-wrap .lbm-balance-table td{padding:11px 16px;border-bottom:1px solid #f0f2f5;color:#1e293b;white-space:nowrap}.lbm-history-table-wrap .lbm-balance-table tbody tr:last-child td{border-bottom:none}.lbm-history-table-wrap .lbm-balance-table tbody tr:hover{background:#f8fafc}.lbm-history-table-wrap .lbm-balance-table th:nth-child(1),.lbm-history-table-wrap .lbm-balance-table td:nth-child(1){width:16%}.lbm-history-table-wrap .lbm-balance-table th:nth-child(2),.lbm-history-table-wrap .lbm-balance-table td:nth-child(2),.lbm-history-table-wrap .lbm-balance-table th:nth-child(3),.lbm-history-table-wrap .lbm-balance-table td:nth-child(3),.lbm-history-table-wrap .lbm-balance-table th:nth-child(4),.lbm-history-table-wrap .lbm-balance-table td:nth-child(4),.lbm-history-table-wrap .lbm-balance-table th:nth-child(5),.lbm-history-table-wrap .lbm-balance-table td:nth-child(5){width:21%;text-align:center}.lbm-history-table-wrap .lbm-balance-table th:nth-child(6),.lbm-history-table-wrap .lbm-balance-table td:nth-child(6){width:10%;text-align:center;white-space:nowrap}.lbm-history-total-row{background:#f1f5f9!important;font-weight:700;border-top:2px solid #cbd5e1}.lbm-history-total-row td{padding:14px 16px!important;color:#0f172a}.lbm-history-total-row .lbm-total-label{font-size:15px;letter-spacing:.02em;text-align:right;white-space:nowrap}.lbm-history-total-row .lbm-total-value{font-size:18px;color:#0b5e2e;text-align:center;white-space:nowrap}.lbm-history-empty{text-align:center;padding:40px 20px;color:#6c757d;font-size:15px;background:#f9fafb;border-radius:8px;border:1px dashed #d0d7de}.lbm-history-empty-icon{font-size:40px;display:block;margin-bottom:12px}.lbm-modal-history .lbm-modal-footer{border-top:2px solid #eef2f7;padding-top:18px;margin-top:8px}.lbm-modal-history .lbm-btn-cancel{background:#e9edf4;color:#2c3e50;font-weight:600;padding:8px 24px;border-radius:6px;transition:all .2s}.lbm-modal-history .lbm-btn-cancel:hover{background:#dce1e9}.lbm-btn-delete-balance{background:none;border:none;color:#d32f2f;cursor:pointer;font-size:1rem;padding:4px 8px;transition:color .2s}.lbm-btn-delete-balance:hover{color:#b71c1c}.lbm-btn-delete-balance:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.lbm-modal-history .lbm-modal-content{width:95vw;max-width:95vw;padding:20px 16px}.lbm-history-table-wrap{overflow-x:auto}.lbm-history-table-wrap .lbm-balance-table{min-width:650px}}@media (max-width: 600px){.lbm-filter-group{width:100%;margin-bottom:8px}.lbm-filter-group .custom-select-wrapper{width:100%}.lbm-emp-dropdown{max-width:100%;width:100%}.lbm-filters{flex-wrap:wrap;align-items:stretch;gap:8px}.lbm-btn-refresh,.lbm-btn-export,.lbm-btn-import{flex:1;margin-left:0;margin-right:8px;padding:8px 6px;font-size:13px;white-space:nowrap}.lbm-btn-import{margin-right:0}.lbm-balance-table td:last-child{white-space:nowrap}.lbm-btn-edit,.lbm-btn-history{display:inline-block;margin-left:0;margin-right:4px;padding:4px 8px;font-size:12px}}
