:root{--primary-color:#2ba9de;--danger-color:#f65555;--background-color:#f4f8fb;--card-color:#fff;--text-color:#1f2937;--gray-color:#64748b;color:var(--text-color);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--background-color);min-width:320px}body{background:var(--background-color);min-width:320px;min-height:100vh;color:var(--text-color);margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #2ba9de38}input,select{background:#fff;border:1px solid #d8e2e9;border-radius:8px;padding:8px 12px}input:focus,select:focus{border-color:var(--primary-color);outline:none}h1,h2,h3,h4,p{margin-top:0}.route-loading{min-height:100vh;color:var(--primary-color);place-items:center;font-size:18px;font-weight:700;display:grid}.route-loading-overlay{z-index:9999;background:#f4f8fbf5;min-height:100vh;position:fixed;inset:0}.title{color:#172033;font-size:28px;font-weight:750}.card{background:var(--card-color);border:1px solid #e4edf3;border-radius:14px;padding:20px;box-shadow:0 8px 28px #1a49660f}.stat-card{background:#fff;border:1px solid #e4edf3;border-radius:14px;min-width:120px;padding:18px;box-shadow:0 8px 28px #1a49660f}.stat-card h1{color:var(--primary-color);margin:8px 0}.btn-primary,.btn-success{background:var(--primary-color);color:#fff;border-radius:7px;padding:8px 18px}.btn-danger{background:var(--danger-color);color:#fff;border-radius:7px;padding:8px 18px}.status{border-radius:20px;padding:5px 14px;font-size:13px}.status-approved{color:var(--primary-color);background:#e8f8fd}.status-pending,.status-rejected{color:var(--danger-color);background:#fff0f1}table{border-collapse:collapse;width:100%}th{background:var(--primary-color);color:#fff;padding:12px}td{border-bottom:1px solid #eee;padding:12px}.admin-page{width:100%;padding-bottom:86px}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.page-heading .title{color:#172033;letter-spacing:-.02em;margin:0;font-size:29px;line-height:1.2}.page-heading-actions{align-items:center;gap:10px;display:flex}.page-subtitle{color:#7b879b;margin:7px 0 0;font-size:14px}.admin-stats-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px;margin-bottom:20px;display:grid}.employee-stats-grid{grid-template-columns:repeat(6,minmax(135px,1fr))}.admin-stat-card{background:#fff;border:1px solid #e4edf3;border-radius:14px;align-items:center;min-height:116px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 28px #1a49660f}.admin-stat-card.is-clickable{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.admin-stat-card.is-clickable:hover,.admin-stat-card.is-clickable.is-selected{border-color:var(--stat-color,#2ba9de);transform:translateY(-2px);box-shadow:0 12px 34px #1a49661c}.admin-stat-card.is-clickable:focus-visible{outline-offset:2px;outline:3px solid #2ba9de33}.admin-stat-card:after{background:var(--stat-soft,#eaf8fd);content:"";opacity:.7;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-45px;right:-30px}.admin-stat-icon{z-index:1;background:var(--stat-soft,#eaf8fd);width:48px;height:48px;color:var(--stat-color,#2ba9de);border-radius:14px;flex:0 0 48px;place-items:center;margin-right:16px;font-size:22px;font-weight:800;display:grid;position:relative}.admin-stat-copy{z-index:1;min-width:0;position:relative}.admin-stat-copy span{color:#6c788c;margin-bottom:7px;font-size:14px;font-weight:600;display:block}.admin-stat-copy strong{color:#172033;letter-spacing:-.02em;font-size:28px;line-height:1}.stat-green{--stat-color:#0e9f82;--stat-soft:#e7f7f2}.stat-orange{--stat-color:#e56f16;--stat-soft:#fff1e5}.stat-danger{--stat-color:#f65555;--stat-soft:#fff0f0}.stat-purple{--stat-color:#7c3aed;--stat-soft:#f3efff}.stat-card-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.stat-card-button:hover{border-color:var(--stat-color,#2ba9de);transform:translateY(-2px);box-shadow:0 12px 32px #1a49661a}.dashboard-stat-link{color:inherit;cursor:pointer;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.dashboard-stat-link:hover{border-color:var(--stat-color,#2ba9de);transform:translateY(-2px);box-shadow:0 12px 32px #1a49661c}.dashboard-stat-link:focus-visible{outline-offset:3px;outline:3px solid #2ba9de38}.admin-card{background:#fff;border:1px solid #e4edf3;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px #1a49660f}.pagination{z-index:18;color:#657287;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border:1px solid #dfe9ef;border-radius:12px;justify-content:flex-end;align-items:center;gap:22px;width:auto;min-height:62px;padding:12px 20px;font-size:13px;display:flex;position:fixed;bottom:12px;left:max(266px,50vw - 663px);right:max(28px,50vw - 901px);box-shadow:0 10px 30px #1f425824}.pagination-size,.pagination-actions{align-items:center;gap:9px;display:flex}.pagination-size{margin-right:auto}.pagination-size select{color:#27364d;background:#fff;border:1px solid #dbe5ec;border-radius:7px;height:34px;padding:0 28px 0 10px}.pagination-range{white-space:nowrap}.pagination-actions button{color:#2b9fd2;cursor:pointer;background:#fff;border:1px solid #dbe5ec;border-radius:7px;min-width:70px;height:34px;padding:0 12px}.pagination-actions button:hover:not(:disabled){background:#f0faff;border-color:#2b9fd2}.pagination-actions button:disabled{color:#aeb8c5;cursor:not-allowed}.filter-panel{background:linear-gradient(#fff 0%,#fbfdfe 100%);border-bottom:1px solid #e9eff4;grid-template-columns:minmax(260px,2fr) repeat(2,minmax(150px,.8fr)) auto;align-items:end;gap:14px;padding:18px 20px;display:grid}.filter-panel.with-three-selects{grid-template-columns:minmax(250px,1.8fr) repeat(3,minmax(140px,.75fr)) auto}.filter-panel.with-four-selects{grid-template-columns:minmax(230px,1.6fr) repeat(4,minmax(125px,.7fr)) auto}.filter-field{flex-direction:column;gap:7px;min-width:0;display:flex}.filter-field>span{color:#5e6b7e;letter-spacing:.02em;font-size:12px;font-weight:700}.filter-field input,.filter-field select,.settings-field input{color:#253044;background:#fff;border:1px solid #d8e2e9;border-radius:9px;width:100%;height:42px;font-size:14px;transition:border-color .2s,box-shadow .2s}.filter-field input:focus,.filter-field select:focus,.settings-field input:focus{border-color:#2ba9de;box-shadow:0 0 0 3px #2ba9de1f}.search-input-wrap{position:relative}.search-input-wrap:before{content:"";pointer-events:none;border:2px solid #8da0b0;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:14px;transform:translateY(-60%)}.search-input-wrap:after{content:"";pointer-events:none;background:#8da0b0;border-radius:2px;width:7px;height:2px;position:absolute;top:26px;left:25px;transform:rotate(45deg)}.search-input-wrap input{padding-left:40px}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 17px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .2s,opacity .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button-primary{color:#fff;background:#2ba9de;box-shadow:0 5px 14px #2ba9de33}.button-danger{color:#fff;background:#f65555;box-shadow:0 5px 14px #f6555529}.button-outline{color:#4e5d70;background:#fff;border-color:#cfdbe4}.button-outline:hover:not(:disabled){color:#168dbd;border-color:#2ba9de}.button-soft{color:#168dbd;background:#eaf8fd}.button-soft-danger{color:#e44747;background:#fff0f0}.button-soft-warning{color:#d86c17;background:#fff4e8}.button-soft-success{color:#0e9277;background:#e7f7f2}.table-summary{color:#758195;border-bottom:1px solid #e9eff4;justify-content:space-between;align-items:center;gap:14px;min-height:49px;padding:10px 20px;font-size:13px;display:flex}.table-summary-actions{flex-wrap:wrap;gap:9px;display:flex}.selected-count{color:#168dbd;font-weight:700}.admin-table-wrap{-ms-overflow-style:none;scrollbar-width:none;width:100%;position:relative;overflow-x:auto}.admin-table-wrap::-webkit-scrollbar{width:0;height:0;display:none}.admin-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:980px}.admin-table th{color:#4b586b;text-align:left;letter-spacing:.035em;background:#f7fafc;border-bottom:1px solid #dfe9ef;height:48px;padding:0 14px;font-size:12px;font-weight:800}.admin-table td{color:#334054;text-align:left;vertical-align:middle;border-bottom:1px solid #edf2f5;height:68px;padding:10px 14px;font-size:14px}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:#f7fbfd}.resizable-table-header{position:relative}.column-resize-handle{z-index:3;cursor:col-resize;touch-action:none;width:10px;position:absolute;top:7px;bottom:7px;right:-5px}.column-resize-handle:after{content:"";background:#46637733;border-radius:2px;width:2px;transition:background .15s,box-shadow .15s;position:absolute;top:0;bottom:0;right:4px}.column-resize-handle:hover:after,.column-resize-handle.is-active:after{background:#159dcf;box-shadow:0 0 0 2px #159dcf24}.data-table .column-resize-handle:after{background:#ffffff7a}.data-table .column-resize-handle:hover:after,.data-table .column-resize-handle.is-active:after{background:#fff;box-shadow:0 0 0 2px #ffffff2e}.is-resizing-table,.is-resizing-table *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.floating-table-scrollbar{z-index:45;scrollbar-color:#83909b transparent;scrollbar-width:auto;background:#f7fafcf5;border:1px solid #c8d6e0eb;border-radius:10px;height:18px;display:none;position:fixed;bottom:10px;overflow:auto hidden;box-shadow:0 5px 18px #2f4f632e}.floating-table-scrollbar.is-visible{display:block}.floating-table-scrollbar-content{height:1px}.floating-table-scrollbar::-webkit-scrollbar{height:14px}.floating-table-scrollbar::-webkit-scrollbar-track{background:0 0;border-radius:9px}.floating-table-scrollbar::-webkit-scrollbar-thumb{background:#83909b padding-box padding-box;border:3px solid #0000;border-radius:9px;min-width:48px}@media (width<=760px){.column-resize-handle,.floating-table-scrollbar{display:none!important}}.admin-table tbody tr:last-child td{border-bottom:0}.employee-table th:first-child,.employee-table td:first-child{width:190px}.employee-table th:nth-child(2),.employee-table td:nth-child(2){width:110px}.employee-table th:nth-child(3),.employee-table td:nth-child(3){width:250px}.employee-table th:nth-child(4),.employee-table td:nth-child(4){width:140px}.employee-table th:nth-child(5),.employee-table td:nth-child(5),.employee-table th:nth-child(7),.employee-table td:nth-child(7),.employee-table th:nth-child(8),.employee-table td:nth-child(8){width:90px}.employee-table th:nth-child(6),.employee-table td:nth-child(6){width:160px}.employee-table th:nth-child(9),.employee-table td:nth-child(9){width:120px}.employee-table{min-width:1630px}.employee-table th:nth-child(10),.employee-table td:nth-child(10){width:120px}.employee-table th:nth-child(11),.employee-table td:nth-child(11){width:110px}.employee-table th:nth-child(12),.employee-table td:nth-child(12){width:210px;min-width:210px;position:sticky;right:0;box-shadow:-8px 0 16px #1f344812}.employee-table th:nth-child(12){z-index:3;background:#f7fafc}.employee-table td:nth-child(12){z-index:2;background:#fff}.employee-table tbody tr:hover td:nth-child(12){background:#f7fbfd}.schedule-table{min-width:1510px}.schedule-table th:first-child,.schedule-table td:first-child{width:4%}.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){width:16%}.schedule-table th:nth-child(3),.schedule-table td:nth-child(3){width:18%}.schedule-table th:nth-child(4),.schedule-table td:nth-child(4),.schedule-table th:nth-child(6),.schedule-table td:nth-child(6),.schedule-table th:nth-child(7),.schedule-table td:nth-child(7){width:10%}.schedule-table th:nth-child(5),.schedule-table td:nth-child(5){width:14%}.schedule-table th:nth-child(8),.schedule-table td:nth-child(8){width:8%}.schedule-table th:nth-child(9),.schedule-table td:nth-child(9){width:9%}.schedule-table th:nth-child(10),.schedule-table td:nth-child(10){width:12%}.schedule-table th:nth-child(11),.schedule-table td:nth-child(11){width:18%}.weekly-hours-badge{color:#23769a;background:#eef8fc;border-radius:9px;flex-direction:column;gap:2px;min-width:92px;padding:7px 9px;display:inline-flex}.weekly-hours-badge strong{font-size:14px}.weekly-hours-badge small{font-size:10px}.weekly-hours-near{color:#a76000;background:#fff4df}.weekly-hours-limit{color:#b83b45;background:#fff0f0}.attendance-table{min-width:1780px}.attendance-table th:first-child,.attendance-table td:first-child{width:180px}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2),.attendance-table th:nth-child(4),.attendance-table td:nth-child(4),.attendance-table th:nth-child(7),.attendance-table td:nth-child(7),.attendance-table th:nth-child(8),.attendance-table td:nth-child(8),.attendance-table th:nth-child(9),.attendance-table td:nth-child(9),.attendance-table th:nth-child(11),.attendance-table td:nth-child(11){width:105px}.attendance-table th:nth-child(3),.attendance-table td:nth-child(3){width:150px}.attendance-table th:nth-child(5),.attendance-table td:nth-child(5),.attendance-table th:nth-child(6),.attendance-table td:nth-child(6){width:135px}.attendance-table th:nth-child(10),.attendance-table td:nth-child(10){width:190px}.attendance-table th:nth-child(12),.attendance-table td:nth-child(12){width:220px}.attendance-exception-cell{flex-direction:column;gap:3px;display:flex}.attendance-time-cell strong,.attendance-time-cell small{display:block}.attendance-time-cell small,.attendance-exception-cell small{color:#7c8798;font-size:11px}.status-late,.status-early,.status-late_early{color:#a76000;background:#fff4df}.status-incomplete,.status-no_punch{color:#b83b45;background:#fff0f0}.status-normal{color:#23834b;background:#eaf8ef}.registration-audit-table{min-width:1220px}.registration-audit-table th:first-child,.registration-audit-table td:first-child{width:17%}.registration-audit-table th:nth-child(2),.registration-audit-table td:nth-child(2){width:20%}.registration-audit-table th:nth-child(3),.registration-audit-table td:nth-child(3){width:9%}.registration-audit-table th:nth-child(4),.registration-audit-table td:nth-child(4){width:16%}.registration-audit-table th:nth-child(5),.registration-audit-table td:nth-child(5){width:13%}.registration-audit-table th:nth-child(6),.registration-audit-table td:nth-child(6){width:16%}.registration-audit-table th:nth-child(7),.registration-audit-table td:nth-child(7){width:9%}.table-center{text-align:center!important}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-cell{align-items:center;gap:12px;min-width:0;display:flex}.person-avatar{background:var(--avatar-color);color:#fff;border:2px solid #fff;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:15px;font-weight:800;line-height:1;display:grid;box-shadow:0 0 0 2px #2ba9de94}.person-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.person-copy strong,.person-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-copy strong{color:#263247;font-size:14px;font-weight:700}.person-copy small,.contact-copy small{color:#8490a2;font-size:12px}.contact-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.contact-copy span,.contact-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-flex}.status-primary,.status-active,.status-work,.status-registered{color:#168dbd;background:#e8f7fc}.status-present{color:#0e9f82;background:#e7f7f2}.status-danger,.status-inactive,.status-absent,.status-rest{color:#e44747;background:#fff0f0}.status-waiting{color:#d47416;background:#fff5e8}.status-leave{color:#6d28d9;background:#f3efff}.status-neutral,.status-unassigned,.status-unregistered{color:#6f7c8f;background:#f0f3f6}.shift-pill{color:#516174;background:#f1f7fa;border-radius:7px;justify-content:center;align-items:center;min-width:66px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.row-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.attendance-view-switch{background:#f5f8fa;border:1px solid #dfe8ee;border-radius:10px;gap:4px;margin:18px 20px 0;padding:4px;display:inline-flex}.attendance-view-switch button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:36px;padding:0 18px;font-size:13px;font-weight:700}.attendance-view-switch button.active{color:#168dbd;background:#fff;box-shadow:0 2px 8px #1a49661a}.leave-reason-cell{color:#5f6b7c;text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.translation-progress,.translation-warning{border-radius:8px;margin:10px 0 0;padding:9px 12px;font-size:13px;line-height:1.45}.translation-progress{color:#315c8d;background:#edf5ff;border:1px solid #cfe3fb}.translation-warning{color:#8a5414;background:#fff7e8;border:1px solid #f3d49d}.missed-registration-badge{color:#6f7c8f;background:#f0f3f6;border-radius:999px;justify-content:center;align-items:center;min-width:58px;min-height:28px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.missed-registration-badge.is-warning{color:#e44747;background:#fff0f0}.row-action{border-radius:7px;min-height:34px;padding:0 12px;font-size:13px;font-weight:700}.empty-row{color:#9aa5b5!important;text-align:center!important;height:150px!important}.schedule-settings{background:#f9fcfd;border-bottom:1px solid #e9eff4;padding:18px 20px}.schedule-settings-merged{padding:20px}.settings-field{flex-direction:column;gap:7px;min-width:145px;display:flex}.settings-field>span{color:#5e6b7e;font-size:12px;font-weight:700}.schedule-settings .date-field{min-width:175px}.settings-spacer{flex:20px}.schedule-settings-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.registration-settings-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.registration-settings-title h2{color:#253044;margin:0;font-size:16px}.registration-settings-title>span{color:#1687b7;background:#2ba9de1f;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.schedule-settings-heading p{color:#748094;margin:6px 0 0;font-size:12px;line-height:1.55}.registration-settings-active{color:#14835e;background:#effbf6;border:1px solid #bcebd9;border-radius:9px;flex:none;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.schedule-settings-toolbar{align-items:end;gap:14px;margin-top:18px;display:flex}.schedule-shifts-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;margin-top:14px;display:grid}.schedule-shift-card{background:#fff;border:1px solid #e3ebf0;border-radius:12px;grid-template-columns:auto minmax(145px,1fr);align-items:end;gap:14px;padding:15px;display:grid}.schedule-shift-name{color:#253044;align-self:center;min-width:44px;font-size:14px}.schedule-shift-card .settings-field{min-width:0}.schedule-settings-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:14px;display:flex}.schedule-settings-footer.is-actions-only,.group-time-settings-footer.is-actions-only{justify-content:flex-end}.schedule-settings-footer>p{color:#748094;max-width:760px;margin:0;font-size:12px;line-height:1.55}.schedule-settings-actions{flex:none;gap:9px;display:flex}.schedule-settings-actions .button{white-space:nowrap}.group-management-settings{background:#fbfdfe;border-top:1px solid #e7edf2;padding:20px}.group-management-add{grid-template-columns:minmax(220px,1.6fr) minmax(140px,.8fr) minmax(150px,.8fr) auto;align-items:end;gap:12px;margin-top:18px;display:grid}.group-management-add .button{min-height:42px}.group-management-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.group-management-column{align-content:start;gap:9px;display:grid}.group-management-column>strong{color:#32475a}.group-management-row{background:#fff;border:1px solid #e1e9ee;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px 8px 14px;display:grid}.group-management-row>span{text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.group-management-row>small{color:#738294;white-space:nowrap}.group-management-notice{color:#7b6a30;margin:14px 0 0;font-size:13px}.group-time-settings{background:#f7fbfd;border-top:1px solid #e7edf2;border-bottom:1px solid #e7edf2;padding:20px}.group-time-columns{grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;margin-top:16px;display:grid}.group-time-column{background:#fff;border:1px solid #e1e9ef;border-radius:12px;overflow:hidden}.group-time-column-title{color:#263247;background:#f2f8fb;border-bottom:1px solid #e8eef2;padding:12px 14px;font-size:14px;display:block}.group-time-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:6px 14px;display:grid}.group-time-row{border-bottom:1px solid #f0f3f6;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:9px 0;display:flex}.group-time-row span{color:#536174;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.group-time-row input{width:104px;min-width:104px;height:36px;padding:0 8px}.group-time-row input:disabled,.group-schedule-push input:disabled{color:#425166;opacity:1;background:#f1f4f6;border-color:#e2e8ed}.group-time-settings-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:14px;display:flex}.group-time-settings-footer p{color:#748094;margin:0;font-size:12px;line-height:1.55}.group-schedule-push{background:linear-gradient(135deg,#ebf9fef5,#f8fdfffa);border:1px solid #cfe9f4;border-radius:14px;margin:18px 20px;padding:18px;scroll-margin-top:90px}.group-schedule-push.is-direct-entry{border-color:#55bde4;box-shadow:0 0 0 4px #2ba9de1f,0 14px 32px #2085ae1f}.group-schedule-push:focus{outline:none}.group-schedule-push-copy h2{color:#253044;margin:0;font-size:16px}.group-schedule-push-controls{grid-template-columns:minmax(210px,1.4fr) minmax(150px,.7fr) minmax(120px,.5fr) auto;align-items:end;gap:14px;margin-top:15px;display:grid}.group-push-recipient-count{background:#fff;border:1px solid #dbe8ee;border-radius:10px;grid-template-columns:1fr auto;align-content:center;gap:2px 10px;min-height:64px;padding:8px 12px;display:grid}.group-push-recipient-count span{color:#718094;font-size:11px;font-weight:700}.group-push-recipient-count strong{color:#1687b7;grid-area:1/2/3;align-self:center;font-size:24px}.group-push-recipient-count small{color:#94a0af;font-size:10px}.group-push-button{white-space:nowrap;min-height:42px}.group-push-warning{color:#aa6d20;align-items:center;gap:8px;margin-top:12px;font-size:12px;font-weight:700;display:flex}.group-push-warning span{color:#fff;background:#e9a13b;border-radius:50%;place-items:center;width:19px;height:19px;font-size:11px;display:grid}.employee-role-field{flex-direction:column;gap:6px;display:flex}.employee-role-field>span{color:#5f6d80;font-size:12px;font-weight:700}.employee-role-field small{color:#8793a3;font-size:11px;line-height:1.45}.file-actions{flex-wrap:wrap;gap:9px;display:flex}.modal-bg{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101c2c6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-box{background:#fff;border:1px solid #e3ebf0;border-radius:16px;width:min(440px,100%);padding:26px;box-shadow:0 24px 70px #142d4233}.modal-box h2{color:#172033;margin:0 0 22px;font-size:22px}.modal-box input,.modal-box select{border:1px solid #d8e2e9;border-radius:9px;width:100%;height:43px;margin-bottom:13px}.modal-buttons{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.import-modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e1c2b80;padding:24px;animation:.18s ease-out import-backdrop-in}.import-confirm-modal{border:1px solid #2ba9de29;border-radius:20px;width:min(540px,100%);padding:0;animation:.2s ease-out import-modal-in;position:relative;overflow:hidden;box-shadow:0 30px 90px #0e223647,0 8px 24px #0e22361f}.import-modal-close{z-index:2;color:#718095;background:#f1f5f8;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;font-size:22px;line-height:1;transition:background .18s,color .18s,transform .18s;display:grid;position:absolute;top:18px;right:18px}.import-modal-close:hover:not(:disabled){color:#168dbd;background:#e8f7fc;transform:rotate(4deg)}.import-modal-header{background:radial-gradient(circle at 88% 10%,#2ba9de1f,#0000 35%),linear-gradient(#fbfeff 0%,#f6fbfd 100%);border-bottom:1px solid #e8eff4;align-items:flex-start;gap:15px;padding:26px 62px 20px 26px;display:flex}.import-modal-icon{color:#fff;background:linear-gradient(145deg,#37b7e8,#229bcf);border-radius:14px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:25px;font-weight:800;display:grid;box-shadow:0 8px 20px #2ba9de40}.import-modal-icon.is-success{background:linear-gradient(145deg,#25b997,#0e9277);box-shadow:0 8px 20px #0e92773d}.import-modal-icon.is-warning{background:linear-gradient(145deg,#f0a449,#d86c17);box-shadow:0 8px 20px #d86c173d}.import-modal-icon.is-danger{background:linear-gradient(145deg,#ff6b6b,#e44747);box-shadow:0 8px 20px #e447473d}.import-confirm-modal .import-modal-header h2{color:#172033;margin:1px 0 6px;font-size:21px;line-height:1.25}.import-modal-header p{color:#738095;max-width:390px;margin:0;font-size:13px;line-height:1.6}.import-modal-content{padding:22px 26px 24px}.import-modal-custom-content{margin-top:16px}.employee-departure-form{gap:14px;display:grid}.employee-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.employee-create-form label{gap:7px;display:grid}.employee-create-form label>span{color:#5f6d80;font-size:12px;font-weight:750}.employee-create-form input,.employee-create-form select{color:#263247;width:100%;height:43px;font:inherit;background:#fff;border:1px solid #d8e2e9;border-radius:9px;margin:0;padding:10px 12px}.employee-create-form input:focus,.employee-create-form select:focus{border-color:#2ba9de;outline:none;box-shadow:0 0 0 3px #2ba9de1f}.employee-departure-form label{gap:7px;display:grid}.employee-departure-form label>span{color:#5f6d80;font-size:12px;font-weight:750}.employee-departure-form input,.employee-departure-form textarea{color:#263247;width:100%;font:inherit;border:1px solid #d8e2e9;border-radius:9px;margin:0;padding:10px 12px}.employee-departure-form input{height:43px}.employee-departure-form textarea{resize:vertical;min-height:96px}.employee-departure-form input:focus,.employee-departure-form textarea:focus{border-color:#2ba9de;outline:3px solid #2ba9de1f}.import-modal-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.import-modal-summary-item{background:#fbfdfe;border:1px solid #e5edf2;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:11px 13px;display:flex}.import-modal-summary-item span{color:#738095;font-size:12px;font-weight:650}.import-modal-summary-item strong{color:#263247;white-space:nowrap;font-size:15px;font-weight:800}.import-modal-summary-item.is-primary{background:#eff9fd;border-color:#ccecf7}.import-modal-summary-item.is-primary strong{color:#168dbd}.import-modal-summary-item.is-success{background:#f0faf7;border-color:#cdeee5}.import-modal-summary-item.is-success strong{color:#0e9277}.import-modal-summary-item.is-warning{background:#fff8f0;border-color:#f8dfc6}.import-modal-summary-item.is-warning strong{color:#d86c17}.import-modal-summary-item.is-danger{background:#fff4f4;border-color:#f8d4d4}.import-modal-summary-item.is-danger strong{color:#e44747}.import-modal-notice{background:#fff9ef;border:1px solid #f4ddbd;border-radius:11px;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.import-modal-notice>span{color:#fff;background:#e99931;border-radius:50%;flex:0 0 21px;place-items:center;width:21px;height:21px;font-size:12px;font-weight:900;display:grid}.import-modal-notice p{color:#8d5a20;margin:0;font-size:12px;line-height:1.6}.import-modal-footer{background:#fbfdfe;border-top:1px solid #e8eff4;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:15px 26px;display:flex}.import-modal-shortcuts{color:#9aa6b5;white-space:nowrap;font-size:11px}.import-modal-actions{align-items:center;gap:10px;display:flex}.import-modal-actions .button{border-radius:10px;min-width:100px;min-height:42px}.import-modal-actions .import-modal-confirm{min-width:140px;box-shadow:0 7px 18px #2ba9de40}.import-modal-actions .import-modal-confirm:hover:not(:disabled){box-shadow:0 10px 24px #2ba9de52}.import-modal-actions .import-modal-confirm.is-success{background:#0e9277;box-shadow:0 7px 18px #0e92773d}.import-modal-actions .import-modal-confirm.is-success:hover:not(:disabled){background:#0b7f68;box-shadow:0 10px 24px #0e92774d}.import-modal-actions .import-modal-confirm.is-danger{background:#e44747;box-shadow:0 7px 18px #e4474738}.import-modal-actions .import-modal-confirm.is-danger:hover:not(:disabled){background:#d83b3b;box-shadow:0 10px 24px #e4474747}@keyframes import-backdrop-in{0%{opacity:0}}@keyframes import-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.dashboard-stats{grid-template-columns:repeat(6,minmax(135px,1fr));gap:14px}.dashboard-stats .admin-stat-card{min-height:104px;padding:18px}.dashboard-stats .admin-stat-icon{flex-basis:44px;width:44px;height:44px;margin-right:13px}.dashboard-stats .admin-stat-copy strong{font-size:26px}.dashboard-page-heading{align-items:center}.dashboard-controls{align-items:center;gap:12px;display:flex}.dashboard-period-switch{background:#eef5f8;border:1px solid #dfe8ee;border-radius:10px;gap:4px;padding:4px;display:inline-flex}.dashboard-period-switch button{color:#6a778a;background:0 0;border-radius:7px;min-width:58px;height:34px;padding:0 12px;font-size:13px;font-weight:750;transition:background .18s,box-shadow .18s,color .18s}.dashboard-period-switch button:hover{color:#168dbd}.dashboard-period-switch button.active{color:#168dbd;background:#fff;box-shadow:0 3px 10px #1a49661f}.dashboard-period-switch button:focus-visible{outline-offset:1px;outline:3px solid #2ba9de33}.dashboard-shift-filter{position:relative}.dashboard-shift-filter>span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dashboard-shift-filter select{color:#425168;border-color:#dfe8ee;border-radius:10px;min-width:116px;height:42px;padding:0 32px 0 12px;font-size:13px;font-weight:700}.dashboard-load-error{color:#c23f3f;background:#fff3f3;border:1px solid #ffd5d5;border-radius:10px;margin-bottom:18px;padding:12px 16px;font-size:13px;font-weight:700}.dashboard-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-analysis-card{min-width:0;overflow:visible}.dashboard-analysis-heading{background:linear-gradient(#fff 0%,#fbfdfe 100%);border-bottom:1px solid #e9eff4;justify-content:space-between;align-items:flex-start;gap:18px;min-height:112px;padding:21px 22px 17px;display:flex}.dashboard-analysis-heading>div>span{color:#2ba9de;letter-spacing:.06em;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.dashboard-analysis-heading h2{color:#172033;letter-spacing:-.01em;margin:0;font-size:18px}.dashboard-analysis-heading p{color:#7b879b;max-width:480px;margin:7px 0 0;font-size:12px;line-height:1.5}.dashboard-analysis-heading>b{color:#168dbd;white-space:nowrap;background:#eaf8fd;border-radius:999px;flex:none;padding:6px 10px;font-size:11px}.dashboard-analysis-body{grid-template-columns:minmax(250px,.9fr) minmax(270px,1.1fr);align-items:center;gap:10px;min-height:350px;padding:18px 20px 22px;display:grid}.dashboard-donut-visual{width:100%;max-width:330px;margin:0 auto;position:relative;overflow:visible}.dashboard-donut-visual .recharts-responsive-container,.dashboard-donut-visual .recharts-wrapper,.dashboard-donut-visual .recharts-surface{overflow:visible;outline:none!important}.dashboard-donut-visual :where(.recharts-wrapper,.recharts-surface,.recharts-pie-sector,.recharts-sector,path):focus,.dashboard-donut-visual :where(.recharts-wrapper,.recharts-surface,.recharts-pie-sector,.recharts-sector,path):focus-visible{box-shadow:none!important;outline:none!important}.dashboard-ring-segment{cursor:pointer;opacity:1;transition:opacity .18s,filter .18s}.dashboard-ring-segment:hover{filter:drop-shadow(0 4px 5px #2c394a3d)}.dashboard-ring-segment.is-muted{opacity:.52}.dashboard-donut-center{text-align:center;pointer-events:none;flex-direction:column;gap:3px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dashboard-donut-center>span{color:#7b879b;font-size:12px;font-weight:700}.dashboard-donut-center strong{color:#172033;letter-spacing:-.03em;font-size:31px;line-height:1.1}.dashboard-donut-center small{color:#8491a4;font-size:11px;font-weight:600}.dashboard-ring-tooltip{color:#566174;white-space:nowrap;background:#fffffff7;border:1px solid #dce3ec;border-radius:8px;grid-template-columns:auto auto auto auto;align-items:center;gap:7px;min-width:142px;padding:10px 12px;font-size:13px;display:grid;box-shadow:0 8px 22px #1c273729}.dashboard-ring-tooltip strong{color:#344054}.dashboard-ring-tooltip-dot{border-radius:50%;width:8px;height:8px}.dashboard-ring-tooltip-percent{color:#8792a4}.dashboard-metric-list{flex-direction:column;gap:8px;min-width:0;display:flex}.dashboard-metric-row{background:#fbfdfe;border:1px solid #e8eef3;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;min-height:54px;padding:9px 11px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.dashboard-metric-row:hover{border-color:#d3e8f1;transform:translateY(-1px);box-shadow:0 7px 18px #1a496612}.dashboard-metric-dot{border-radius:50%;width:9px;height:9px}.dashboard-metric-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-metric-copy strong{color:#344054;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dashboard-metric-copy small{color:#8a96a7;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.dashboard-metric-row>b{color:#253044;font-size:17px}.dashboard-metric-row>span:last-child{color:#7b879b;text-align:right;min-width:45px;font-size:11px;font-weight:700}.dashboard-formula{color:#6c788c;text-align:center;background:#f8fbfc;border:1px dashed #d7e2e9;border-radius:9px;margin-top:2px;padding:10px 12px;font-size:10px;font-weight:650;line-height:1.45}@media (width<=1180px){.admin-stats-grid,.dashboard-stats,.filter-panel,.filter-panel.with-three-selects,.filter-panel.with-four-selects{grid-template-columns:repeat(2,minmax(180px,1fr))}.filter-field:first-child{grid-column:1/-1}.dashboard-analysis-grid,.schedule-shifts-grid,.group-time-columns{grid-template-columns:1fr}.group-management-add{grid-template-columns:repeat(2,minmax(180px,1fr))}.group-management-columns{grid-template-columns:1fr}.group-schedule-push-controls{grid-template-columns:repeat(2,minmax(180px,1fr))}.schedule-settings-footer{align-items:flex-start}}@media (width<=900px){.pagination{left:18px;right:18px}}@media (width<=720px){.page-heading{flex-direction:column;align-items:flex-start}.page-heading-actions,.page-heading-actions .button{width:100%}.page-heading .title{font-size:25px}.dashboard-controls{flex-direction:column;align-items:stretch;width:100%}.dashboard-period-switch{grid-template-columns:repeat(3,1fr);display:grid}.dashboard-period-switch button,.dashboard-shift-filter select{width:100%}.admin-stats-grid,.dashboard-stats,.filter-panel,.filter-panel.with-three-selects,.filter-panel.with-four-selects{grid-template-columns:1fr}.filter-field:first-child{grid-column:auto}.attendance-view-switch{grid-template-columns:1fr 1fr;margin:15px 15px 0;display:grid}.admin-stat-card{min-height:96px;padding:17px}.dashboard-analysis-heading{flex-direction:column;min-height:0;padding:18px 16px 14px}.dashboard-analysis-body{grid-template-columns:1fr;min-height:0;padding:12px 14px 18px}.filter-panel,.schedule-settings{padding:15px}.schedule-settings-heading{flex-direction:column;align-items:flex-start}.schedule-settings-toolbar,.schedule-settings-footer,.group-time-settings-footer{flex-direction:column;align-items:stretch}.schedule-settings-toolbar .date-field{width:100%}.schedule-settings-toolbar .settings-spacer{display:none}.schedule-shift-card{grid-template-columns:1fr}.schedule-shift-name{grid-column:auto}.schedule-settings-actions{grid-template-columns:1fr;width:100%;display:grid}.schedule-settings-actions .button{width:100%}.group-time-settings,.group-management-settings{padding:15px}.group-management-add{grid-template-columns:1fr}.group-management-add .button{width:100%}.group-management-row{grid-template-columns:minmax(0,1fr) auto}.group-management-row>small{grid-area:2/1}.group-management-row>button{grid-area:1/2/span 2}.group-time-list{grid-template-columns:1fr}.group-schedule-push{margin:14px;padding:15px}.group-schedule-push-controls{grid-template-columns:1fr}.group-push-button{width:100%}.table-summary{flex-direction:column;align-items:flex-start;padding:12px 15px}.admin-page{padding-bottom:136px}.pagination{flex-wrap:wrap;gap:9px 14px;min-height:0;padding:10px 12px;bottom:8px;left:10px;right:10px}.pagination-size{margin-right:0}.pagination-range{margin-left:auto}.pagination-actions{justify-content:flex-end;width:100%}.file-actions,.table-summary-actions,.file-actions .button,.table-summary-actions .button{width:100%}.modal-buttons{flex-direction:column-reverse}.modal-buttons .button{width:100%}.employee-create-form{grid-template-columns:1fr}.import-modal-backdrop{padding:14px}.import-confirm-modal{border-radius:16px}.import-modal-header{padding:22px 52px 18px 20px}.import-modal-icon{border-radius:12px;flex-basis:42px;width:42px;height:42px;font-size:22px}.import-modal-content{padding:18px 20px 20px}.import-modal-summary{grid-template-columns:1fr}.import-modal-footer{flex-direction:column;align-items:stretch;padding:14px 20px 18px}.import-modal-shortcuts{display:none}.import-modal-actions{flex-direction:column-reverse;width:100%}.import-modal-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){.import-modal-backdrop,.import-confirm-modal{animation:none}}
