@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.auth-screen{background:#f3f6fa;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:inherit;display:flex}.auth-card{background:#fff;border:1px solid #e5eaf0;border-radius:18px;width:100%;max-width:410px;padding:36px;box-shadow:0 16px 45px #112b4d17}.auth-logo{color:#075788;background:#fff;border-radius:14px;place-items:center;width:52px;height:52px;margin-bottom:20px;display:grid}.auth-logo img{object-fit:contain;width:100%;height:100%;display:block}.auth-card h1{color:#112b4d;margin:0;font-size:28px}.auth-subtitle{color:#718096;margin:8px 0 26px}.auth-card label{color:#26384c;margin:16px 0 7px;font-size:14px;font-weight:600;display:block}.auth-card input,.auth-card select{box-sizing:border-box;color:#172b42;width:100%;font:inherit;background:#fff;border:1px solid #d9e1ea;border-radius:9px;outline:none;padding:12px 13px}.auth-card input:focus,.auth-card select:focus{border-color:#075788;box-shadow:0 0 0 3px #0757881a}.auth-submit,.auth-secondary{width:100%;min-height:44px;font:inherit;cursor:pointer;border-radius:9px;margin-top:20px;font-weight:600}.auth-submit{color:#fff;background:#075788;border:0;justify-content:center;align-items:center;gap:9px;display:flex}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-secondary{color:#075788;background:#fff;border:1px solid #d9e1ea;margin-top:10px}.auth-error{color:#b42318;background:#fff0f0;border-radius:8px;padding:11px 12px;font-size:14px}.auth-success{color:#176b38;background:#eaf7ee;border-radius:8px;margin-bottom:12px;padding:11px 12px;font-size:14px}.auth-logout-button{color:#075788;cursor:pointer;font:inherit;background:#fff;border:1px solid #d9e1ea;border-radius:7px;padding:7px 10px;font-size:12px}.employee-app{--employee-navy:#112b4d;--employee-blue:#075788;--employee-green:#66b445;--employee-bg:#f4f6f9;--employee-border:#e7ebf0;background:var(--employee-bg);color:#263548;min-height:100vh;font-family:Montserrat,Arial,sans-serif;display:flex}.employee-sidebar{background:var(--employee-navy);color:#fff;flex-direction:column;flex-shrink:0;width:255px;padding:25px 17px;display:flex}.employee-brand{align-items:center;gap:12px;padding:0 8px 34px;display:flex}.employee-brand-mark{background:var(--employee-green);border-radius:12px;place-items:center;width:43px;height:43px;font-size:16px;font-weight:800;display:grid}.employee-brand strong,.employee-brand span,.employee-sidebar-user strong,.employee-sidebar-user span{display:block}.employee-brand strong{font-size:16px}.employee-brand span{color:#aebed0;margin-top:4px;font-size:11px}.employee-nav-label{color:#91a6bc;letter-spacing:1.4px;padding:0 12px 12px;font-size:10px;font-weight:700}.employee-nav{gap:7px;display:grid}.employee-nav button,.employee-logout-button{color:#c7d3df;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;width:100%;padding:13px 14px;font-size:13px;transition:all .2s;display:flex}.employee-nav button:hover,.employee-nav button.active{color:#fff;background:#244568}.employee-nav button.active{box-shadow:inset 3px 0 var(--employee-green)}.employee-sidebar-bottom{border-top:1px solid #34506d;margin-top:auto;padding-top:18px}.employee-sidebar-user{align-items:center;gap:10px;padding:0 7px 15px;display:flex}.employee-sidebar-avatar{width:35px;height:35px;color:var(--employee-navy);background:#dce8f3;border-radius:50%;place-items:center;font-weight:800;display:grid}.employee-sidebar-user strong{font-size:12px}.employee-sidebar-user span{color:#aebed0;margin-top:3px;font-size:10px}.employee-logout-button{color:#f0c4c4}.employee-logout-button:hover{color:#fff;background:#493b48}.employee-main{flex:1;min-width:0}.employee-topbar{border-bottom:1px solid var(--employee-border);background:#fff;justify-content:space-between;align-items:center;gap:15px;min-height:91px;padding:18px 35px;display:flex}.employee-topbar>div:first-child>span{color:#8793a1;font-size:11px}.employee-topbar h1{color:var(--employee-navy);margin:5px 0 0;font-size:23px}.employee-topbar-date{color:#647386;align-items:center;gap:8px;font-size:12px;display:flex}.employee-content{max-width:1500px;margin:auto;padding:30px 35px 45px}.employee-welcome,.employee-page-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.employee-eyebrow{color:var(--employee-blue);letter-spacing:1.4px;font-size:10px;font-weight:800}.employee-welcome h2,.employee-page-heading h2{color:var(--employee-navy);margin:8px 0 6px;font-size:25px}.employee-welcome p,.employee-page-heading p,.employee-section-heading p{color:#8793a1;margin:0;font-size:12px}.employee-refresh{border:1px solid var(--employee-border);color:var(--employee-navy);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:600;display:inline-flex}.employee-refresh:disabled{opacity:.6;cursor:wait}.employee-today-card{color:#fff;background:linear-gradient(115deg,#112b4d,#075788);border-radius:14px;margin-bottom:30px;padding:24px 26px;box-shadow:0 8px 22px #112b4d18}.employee-today-heading{border-bottom:1px solid #ffffff25;justify-content:space-between;align-items:center;gap:12px;padding-bottom:21px;display:flex}.employee-today-heading span:first-child{color:#c1d2e3;letter-spacing:1.2px;font-size:10px;font-weight:700}.employee-today-heading h3{margin:6px 0 0;font-size:17px}.employee-today-grid{grid-template-columns:repeat(4,1fr);gap:15px;padding-top:22px;display:grid}.employee-today-grid div span,.employee-today-grid div strong{display:block}.employee-today-grid div span{color:#c1d2e3;margin-bottom:8px;font-size:11px}.employee-today-grid div strong{font-size:20px}.employee-section-heading h3,.employee-table-heading h3,.employee-card-title h3{color:var(--employee-navy);margin:0 0 5px;font-size:16px}.employee-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.employee-profile-card,.employee-profile-item,.employee-stat-card,.employee-table-card,.employee-leave-form-card,.employee-leave-history-card{border:1px solid var(--employee-border);background:#fff;border-radius:11px}.employee-profile-main{grid-column:span 3;align-items:center;gap:15px;padding:19px;display:flex}.employee-avatar{width:54px;height:54px;color:var(--employee-blue);background:#e6f1f8;border-radius:50%;place-items:center;font-size:17px;font-weight:800;display:grid}.employee-profile-main h3{color:var(--employee-navy);margin:0 0 5px;font-size:17px}.employee-profile-main p{color:#768597;margin:0 0 6px;font-size:12px}.employee-id-label{color:var(--employee-blue);font-size:11px;font-weight:700}.employee-profile-item{align-items:center;gap:12px;min-width:0;padding:15px;display:flex}.employee-profile-item-icon,.employee-stat-icon,.employee-card-icon{width:37px;height:37px;color:var(--employee-blue);background:#eaf3f8;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.employee-profile-item span,.employee-profile-item strong{overflow-wrap:anywhere;display:block}.employee-profile-item span{color:#8995a2;margin-bottom:5px;font-size:10px}.employee-profile-item strong{color:#344457;white-space:pre-line;font-size:12px}.employee-month-toolbar{border:1px solid var(--employee-border);background:#fff;border-radius:10px;align-items:center;gap:12px;margin-bottom:18px;padding:12px;display:flex}.employee-month-arrow{border:1px solid var(--employee-border);width:35px;height:35px;color:var(--employee-navy);cursor:pointer;background:#fff;border-radius:7px;place-items:center;display:grid}.employee-month-arrow:disabled{opacity:.4;cursor:not-allowed}.employee-month-current{color:var(--employee-navy);align-items:center;gap:9px;font-size:13px;display:flex}.employee-month-input{border:1px solid var(--employee-border);color:#536477;font:inherit;border-radius:7px;margin-left:auto;padding:9px;font-size:12px}.employee-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px;display:grid}.employee-stat-grid.leave-quota-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-stat-card{padding:17px}.employee-stat-card>span,.employee-stat-card>strong,.employee-stat-card>small{display:block}.employee-stat-card>span{color:#8290a0;margin-top:13px;font-size:11px}.employee-stat-card>strong{color:var(--employee-navy);overflow-wrap:anywhere;margin:7px 0;font-size:22px}.employee-stat-card>small{color:#9aa4af;font-size:10px}.employee-table-card{overflow:hidden}.employee-table-heading{justify-content:space-between;align-items:center;padding:20px;display:flex}.employee-table-heading p{color:#8a96a3;margin:0;font-size:11px}.employee-table-heading>span{color:var(--employee-blue);font-size:11px;font-weight:700}.employee-table-wrap{overflow-x:auto}.employee-table{border-collapse:collapse;white-space:nowrap;width:100%}.employee-table th{color:#778596;text-align:left;background:#f7f9fb;padding:13px 17px;font-size:10px;font-weight:700}.employee-table td{color:#445467;border-top:1px solid #edf0f3;padding:14px 17px;font-size:11px}.employee-empty-cell{text-align:center!important;color:#8b97a4!important;padding:35px!important}.employee-earnings-note{background:#f5f8fa;border-radius:8px;margin:17px;padding:15px}.employee-earnings-note strong{color:var(--employee-navy);font-size:12px}.employee-earnings-note p,.employee-earnings-note span{color:#778596;font-size:11px;line-height:1.6;display:block}.employee-earnings-note span{color:var(--employee-blue);font-weight:700}.employee-status-pill{white-space:nowrap;border-radius:30px;align-items:center;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.employee-status-pill.present,.employee-status-pill.approved{color:#2e7c3e;background:#e8f6e9}.employee-status-pill.absent,.employee-status-pill.rejected{color:#b34545;background:#fcecec}.employee-status-pill.pending{color:#a36a18;background:#fff4df}.employee-status-pill.leave{color:#326d9c;background:#e8f3fc}.employee-status-pill.neutral{color:#d9e2eb;background:#ffffff20}.employee-leave-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;gap:17px;display:grid}.employee-leave-form-card,.employee-leave-history-card{padding:21px}.employee-card-title{align-items:center;gap:11px;margin-bottom:21px;display:flex}.employee-card-title p{color:#8a96a3;margin:0;font-size:11px}.employee-leave-form{gap:15px;display:grid}.employee-leave-form label{color:#536477;gap:7px;font-size:11px;font-weight:700;display:grid}.employee-leave-form input,.employee-leave-form select,.employee-leave-form textarea{box-sizing:border-box;color:#344457;width:100%;font:inherit;background:#fff;border:1px solid #dfe5eb;border-radius:7px;outline:none;padding:11px;font-size:12px}.employee-leave-form input:focus,.employee-leave-form select:focus,.employee-leave-form textarea:focus{border-color:var(--employee-blue)}.employee-leave-form textarea{resize:vertical}.employee-date-fields{grid-template-columns:1fr 1fr;gap:11px;display:grid}.employee-pending-info{color:#95651c;background:#fff7e8;border-radius:7px;align-items:center;gap:8px;padding:11px;font-size:10px;display:flex}.employee-primary-button{color:#fff;background:var(--employee-blue);cursor:pointer;border:0;border-radius:8px;padding:13px;font-size:12px;font-weight:700}.employee-primary-button:hover{background:var(--employee-navy)}.employee-primary-button:disabled{opacity:.6;cursor:wait}.employee-leave-item{border:1px solid var(--employee-border);border-radius:9px;padding:15px}.employee-leave-item-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.employee-leave-item-top strong,.employee-leave-item-top span{display:block}.employee-leave-item-top strong{color:var(--employee-navy);margin-bottom:6px;font-size:13px}.employee-leave-item-top div>span{color:#8995a2;font-size:10px}.employee-leave-reason{color:#667688;margin:12px 0;font-size:11px;line-height:1.5}.employee-delete-leave{color:#b64b4b;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 0;font-size:10px;font-weight:700;display:inline-flex}.employee-delete-leave:disabled{opacity:.5;cursor:wait}.employee-leave-empty{color:#9aa6b2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:190px;display:flex}.employee-leave-empty strong{color:#536477;font-size:12px}.employee-leave-empty span{font-size:10px}.employee-alert{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;padding:12px 15px;font-size:12px;display:flex}.employee-alert button{cursor:pointer;background:0 0;border:0;font-size:19px}.employee-alert.error{color:#a63d3d;background:#fff0f0}.employee-alert.success{color:#367c43;background:#edf8ee}.employee-loading-screen{background:var(--employee-bg);color:#647386;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;font-size:13px;display:flex}.employee-loading-spinner{border:3px solid #dce5ec;border-top-color:var(--employee-blue);border-radius:50%;width:35px;height:35px;animation:.8s linear infinite employee-spin}@keyframes employee-spin{to{transform:rotate(360deg)}}@media (width<=1050px){.employee-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-profile-main{grid-column:span 2}.employee-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.employee-app{display:block}.employee-sidebar{width:auto;padding:13px}.employee-brand{padding:0 5px 13px}.employee-nav-label,.employee-sidebar-bottom{display:none}.employee-nav{gap:6px;display:flex}.employee-nav button{flex:1;justify-content:center;gap:6px;padding:11px 5px;font-size:10px}.employee-topbar{min-height:70px;padding:13px 17px}.employee-topbar h1{font-size:19px}.employee-topbar-date{font-size:10px}.employee-content{padding:20px 14px 30px}.employee-today-grid{grid-template-columns:repeat(2,1fr)}.employee-profile-grid{grid-template-columns:1fr}.employee-profile-main{grid-column:auto}.employee-leave-layout{grid-template-columns:1fr}.employee-welcome h2,.employee-page-heading h2{font-size:21px}}@media (width<=480px){.employee-welcome,.employee-page-heading{align-items:flex-start}.employee-refresh{padding:9px;font-size:10px}.employee-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.employee-stat-card{padding:12px}.employee-stat-card>strong{font-size:17px}.employee-month-toolbar{flex-wrap:wrap}.employee-month-input{width:100%;margin-left:0}.employee-date-fields{grid-template-columns:1fr}}:root{color:#18263b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;background:#f5f7fb;font-family:Inter,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh}.sidebar{color:#d7e0ed;z-index:5;background:#102542;flex-direction:column;width:252px;padding:28px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 8px 34px;display:flex}.brand-icon{color:#fff;background:#fff;border-radius:13px;flex-shrink:0;justify-content:center;place-items:center;width:40px;height:40px;display:flex;overflow:hidden}.brand-icon img{object-fit:contain;width:100%;height:100%;display:block}.brand strong,.brand span,.device-status strong,.device-status span{display:block}.brand strong{color:#fff;letter-spacing:-.5px;font-size:18px}.brand span{color:#8fa2bb;letter-spacing:1.1px;margin-top:5px;font-size:8px}.nav-caption{color:#8194ae;letter-spacing:1.3px;margin-bottom:12px;padding:0 12px;font-size:10px;font-weight:700}.nav-list{gap:6px;display:grid}.nav-item{color:#b9c7da;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;width:100%;padding:13px 14px;font-size:13px;transition:background .18s,color .18s;display:flex}.nav-item:hover{color:#fff;background:#1b3558}.nav-item.active{color:#fff;background:#2367c9;font-weight:600;box-shadow:0 6px 16px #06162c38}.sidebar-bottom{margin-top:auto}.device-status{background:#162e4c;border:1px solid #2b4260;border-radius:10px;align-items:flex-start;gap:10px;margin-top:22px;padding:15px 10px;display:flex}.status-dot,.connection-indicator{background:#51d337;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.device-status strong{color:#f4f7fb;font-size:11px}.device-status span{color:#9aacc3;margin-top:5px;font-size:9px;line-height:1.5}.main-content{min-height:100vh;margin-left:252px}.topbar{background:#fff;border-bottom:1px solid #e9edf3;justify-content:space-between;align-items:center;gap:20px;min-height:106px;padding:22px 32px;display:flex}.breadcrumb{color:#8896a9;margin-bottom:7px;font-size:11px}.topbar h1{letter-spacing:-.8px;margin:0;font-size:23px}.topbar p,.welcome-row p,.panel-heading p{color:#8591a3;margin:6px 0 0;font-size:12px}.topbar-actions{align-items:center;gap:20px;display:flex}.live-clock{color:#3673c9;align-items:center;gap:9px;display:flex}.live-clock strong,.live-clock span{display:block}.live-clock strong{color:#23344b;font-variant-numeric:tabular-nums;font-size:12px}.live-clock span{color:#8a96a6;margin-top:4px;font-size:10px}.icon-button{color:#63748a;background:#fff;border:1px solid #e6ebf2;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.profile-chip{align-items:center;gap:9px;display:flex}.profile-avatar,.avatar{color:#3269bd;background:#e8f0ff;border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.profile-avatar{width:37px;height:37px}.profile-chip strong,.profile-chip span{white-space:nowrap;display:block}.profile-chip strong{font-size:11px}.profile-chip span{color:#8a96a6;margin-top:4px;font-size:10px}.page-content{max-width:1800px;margin:0 auto;padding:28px 32px}.welcome-row{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.welcome-row h2{letter-spacing:-.4px;margin:0;font-size:18px}.date-actions{align-items:center;gap:10px;display:flex}.date-input,.search-box{color:#7b8ba0;background:#fff;border:1px solid #e0e6ef;border-radius:8px;align-items:center;gap:9px;padding:0 11px;display:flex}.date-input{height:39px}.date-input input{color:#3c4a5e;background:0 0;border:0;outline:none;width:130px;font-size:11px}.primary-button,.outline-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-size:11px;font-weight:600;display:inline-flex}.primary-button{color:#fff;background:#2469c9;border:1px solid #2469c9}.primary-button:hover{background:#1958af}.outline-button{color:#4d6078;background:#fff;border:1px solid #dfe6ef}.outline-button:hover{background:#f7f9fc}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.stat-card{background:#fff;border:1px solid #e9edf4;border-radius:12px;align-items:flex-start;gap:14px;min-width:0;padding:20px;display:flex;box-shadow:0 3px 12px #1e3b5a04}.stat-icon{border-radius:11px;flex-shrink:0;place-items:center;width:43px;height:43px;display:grid}.stat-icon.blue{color:#3874cf;background:#e9f1ff}.stat-icon.green{color:#269568;background:#e6f7ef}.stat-icon.orange{color:#df8a35;background:#fff2e5}.stat-icon.purple{color:#8761d3;background:#f0eaff}.stat-content{min-width:0}.stat-title,.stat-value,.stat-subtitle{display:block}.stat-title{color:#7d8a9c;margin-bottom:9px;font-size:11px}.stat-value{letter-spacing:-.9px;font-size:26px;line-height:1}.stat-subtitle{color:#9aa5b3;margin-top:9px;font-size:10px;line-height:1.4}.content-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:20px;display:grid}.panel{background:#fff;border:1px solid #e8edf4;border-radius:12px;min-width:0;box-shadow:0 3px 12px #1e3b5a04}.attendance-panel{overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:21px 20px;display:flex}.panel-heading h2{letter-spacing:-.2px;margin:0;font-size:14px}.table-toolbar{justify-content:space-between;align-items:center;gap:10px;padding:0 20px 17px;display:flex}.search-box{width:min(100%,290px);height:37px}.search-box input{color:#394a60;border:0;outline:none;width:100%;min-width:0;font-size:11px}.search-box input::placeholder{color:#a0aaba}.record-count{color:#8b98a9;white-space:nowrap;font-size:10px}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}thead{background:#f7f9fc}th{color:#8592a4;letter-spacing:.5px;text-align:left;padding:13px 14px;font-size:9px;font-weight:700}td{color:#425168;border-bottom:1px solid #eff2f6;padding:13px 14px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcff}.employee-cell{align-items:center;gap:9px;display:flex}.employee-cell strong{color:#27374d;font-size:11px;font-weight:600}.avatar{width:31px;height:31px;font-size:9px}.muted{color:#8492a5;font-variant-numeric:tabular-nums}.time-cell{color:#51647c;font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.status-pill{border-radius:20px;padding:5px 8px;font-size:9px;font-weight:600;display:inline-flex}.status-pill.present{color:#21845c;background:#e7f7ef}.status-pill.absent{color:#c77a30;background:#fff2e8}.empty-state{color:#8b98a9;text-align:center;padding:35px 15px}.side-panels{gap:18px;display:grid}.mini-panel{padding-bottom:18px}.mini-panel .panel-heading{padding:19px 18px 12px}.donut-wrap{place-items:center;padding:12px 0 18px;display:grid}.donut{background:conic-gradient(#2ba778 0 var(--present-ratio), #f1a45a var(--present-ratio) 100%);border-radius:50%;place-items:center;width:145px;height:145px;display:grid;position:relative}.donut:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:12px}.donut-center{text-align:center;gap:5px;display:grid;position:relative}.donut-center strong{font-size:25px}.donut-center span{color:#8d99a9;font-size:10px}.legend-row{color:#607086;justify-content:space-between;align-items:center;padding:9px 19px;font-size:11px;display:flex}.legend-row span{align-items:center;gap:8px;display:flex}.legend-row strong{color:#26374d;font-size:11px}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.green-dot{background:#2ba778}.orange-dot{background:#f1a45a}.purple-dot{background:#9470df}.connection-row{align-items:flex-start;gap:10px;padding:9px 18px 16px;display:flex}.connection-indicator{background:#2ba778;box-shadow:0 0 0 4px #e7f7ef}.connection-row strong,.connection-row span{display:block}.connection-row strong{font-size:11px}.connection-row span{color:#8996a7;overflow-wrap:anywhere;margin-top:5px;font-size:10px;line-height:1.5}.full-button{width:calc(100% - 36px);margin:0 18px}.quick-action{color:#4c6078;text-align:left;background:#fff;border:1px solid #e8edf4;border-radius:8px;align-items:center;gap:10px;width:calc(100% - 36px);margin:0 18px 9px;padding:12px;font-size:11px;display:flex}.quick-action:hover{color:#2469c9;background:#f6f9ff;border-color:#cbdcf7}.page-footer{color:#9aa5b3;justify-content:space-between;gap:12px;padding:22px 2px 5px;font-size:10px;display:flex}.error-banner{color:#9d3434;overflow-wrap:anywhere;background:#fff5f5;border:1px solid #f2caca;border-radius:9px;gap:6px;margin-bottom:18px;padding:14px 16px;font-size:11px;display:grid}.error-banner span{color:#a65353}.placeholder-page{text-align:center;padding:48px 24px}.placeholder-page h2{margin:14px 0 8px}.placeholder-page p{color:#8290a3;max-width:460px;margin:0 auto 20px;font-size:13px;line-height:1.7}.placeholder-icon{color:#2469c9;background:#e9f1ff;border-radius:16px;place-items:center;width:60px;height:60px;margin:auto;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1250px){.sidebar{width:220px}.main-content{margin-left:220px}.topbar{padding:20px 24px}.page-content{padding:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:minmax(0,1fr)}.side-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.sidebar{width:100%;padding:16px;position:static}.brand{padding-bottom:16px}.nav-caption,.sidebar-bottom,.device-status{display:none}.nav-list{display:flex;overflow-x:auto}.nav-item{flex-shrink:0;width:auto;padding:11px}.main-content{margin-left:0}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-wrap:wrap;gap:12px;width:100%}.welcome-row{flex-direction:column;align-items:flex-start}.date-actions{flex-wrap:wrap;width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{gap:9px;padding:13px}.stat-icon{width:35px;height:35px}.stat-value{font-size:22px}.side-panels{grid-template-columns:minmax(0,1fr)}.page-content{padding:20px 14px}.page-footer{flex-direction:column}}@media (width<=420px){.stats-grid{grid-template-columns:1fr}.profile-chip{margin-left:auto}}.pagination{border-top:1px solid #edf0f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.pagination-info{color:#64748b;font-size:13px}.pagination-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pagination-button{color:#334155;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dce3eb;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:13px;transition:background .2s,border-color .2s;display:inline-flex}.pagination-button:hover:not(:disabled){background:#f0f7fa;border-color:#00567e}.pagination-button.active{color:#fff;background:#00567e;border-color:#00567e}.pagination-button:disabled{opacity:.45;cursor:not-allowed}@media (width<=600px){.pagination{flex-direction:column;align-items:flex-start}.pagination-controls{width:100%}.pagination-button{padding:0 8px}}.filter-container{align-items:center;display:flex;position:relative}.filter-icon-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dce3eb;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:40px;transition:background .2s,border-color .2s,color .2s;display:inline-flex;position:relative}.filter-icon-button:hover,.filter-icon-button.filter-active{color:#00567e;background:#f0f7fa;border-color:#00567e}.filter-active-dot{background:#00567e;border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.filter-popover{z-index:100;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:13px;width:280px;padding:18px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 35px #0f172a24}.filter-popover-header{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:15px;display:flex}.filter-popover-header h3{margin:0;font-size:15px;font-weight:650}.filter-popover-header p{color:#7b8797;margin:5px 0 0;font-size:12px}.filter-close-button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.filter-close-button:hover{background:#f1f5f9}.filter-options{gap:8px;padding:15px 0;display:grid}.filter-option{cursor:pointer;border:1px solid #e2e8f0;border-radius:9px;align-items:center;gap:11px;padding:11px 12px;transition:background .15s,border-color .15s;display:flex}.filter-option:hover{background:#f8fafc}.filter-option.selected{background:#f0f7fa;border-color:#00567e}.filter-option input{opacity:0;width:1px;height:1px;position:absolute}.custom-radio{background:#fff;border:1.5px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:17px;height:17px;display:inline-flex}.filter-option.selected .custom-radio{border-color:#00567e}.custom-radio span{background:#00567e;border-radius:50%;width:9px;height:9px}.filter-option-label{color:#334155;font-size:13px;font-weight:500}.filter-popover-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:9px;padding-top:13px;display:flex}.filter-cancel-button,.filter-apply-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 13px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.filter-cancel-button{color:#475569;background:#fff;border:1px solid #dce3eb}.filter-cancel-button:hover{background:#f8fafc}.filter-apply-button{color:#fff;background:#00567e;border:1px solid #00567e}.filter-apply-button:hover{background:#004563}.filter-clear-button{color:#b84d4d;cursor:pointer;background:0 0;border:0;width:100%;margin-top:12px;padding:5px;font-size:12px;display:block}.filter-clear-button:hover{color:#00567e}@media (width<=480px){.filter-popover{width:auto;position:fixed;inset:auto 12px 16px}}.employees-page{gap:20px;min-width:0;display:grid}.employees-heading,.employee-section-heading,.employee-directory-toolbar,.employee-form-actions,.employee-detail-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.employees-heading h2{margin:0;font-size:22px}.employees-heading p,.employee-section-heading p{color:#7b8797;margin:6px 0 0;font-size:13px}.employee-directory-toolbar{justify-content:flex-start}.employee-directory-toolbar .search-box{width:min(100%,360px)}.employee-directory-toolbar>span{color:#64748b;font-size:13px}.employee-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.employee-profile-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;align-items:flex-start;min-width:0;padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.employee-profile-card:hover{border-color:#b6d3e0;transform:translateY(-3px);box-shadow:0 10px 28px #0f172a12}.employee-card-avatar{color:#00567e;background:#eaf3f8;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:15px;font-weight:700;display:flex}.employee-card-avatar.large{border-radius:17px;width:66px;height:66px;font-size:20px}.employee-card-photo img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.employee-photo-button{cursor:pointer;border:0;padding:0;position:relative;overflow:visible}.employee-photo-button img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.employee-photo-button:focus-visible{outline-offset:3px;outline:3px solid #53a9ce}.employee-photo-camera{color:#fff;background:#00567e;border:2px solid #fff;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;bottom:-5px;right:-5px}.employee-card-main{width:100%;min-width:0;margin-top:17px}.employee-card-main h3{overflow-wrap:anywhere;color:#172b4d;margin:0;font-size:16px}.employee-card-main>span{color:#00567e;margin-top:6px;font-size:12px;font-weight:600;display:block}.employee-card-main p{color:#64748b;margin:8px 0 0;font-size:13px}.employee-card-bottom{border-top:1px solid #edf0f4;gap:10px;width:100%;margin-top:19px;padding-top:15px;display:grid}.employee-card-bottom span{color:#64748b;align-items:center;gap:8px;font-size:12px;display:flex}.employee-card-bottom svg{flex-shrink:0}.employee-form{padding:22px}.employee-form h3{margin:0 0 18px}.employee-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.employee-form-grid label{color:#475569;gap:7px;font-size:12px;font-weight:600;display:grid}.employee-phone-field{color:#475569;align-content:start;gap:7px;font-size:12px;font-weight:600;display:grid}.employee-phone-inputs{gap:8px;display:grid}.employee-phone-input-row{gap:8px;display:flex}.employee-phone-input-row input{flex:1}.employee-phone-input-row button{flex-shrink:0;padding:0 10px}.employee-add-phone-button{justify-self:start}.employee-form-grid input,.employee-form-grid select,.employee-form-grid textarea{box-sizing:border-box;color:#243447;width:100%;min-width:0;min-height:40px;font:inherit;background:#fff;border:1px solid #dce3eb;border-radius:8px;padding:9px 11px;font-size:13px}.employee-form-grid textarea{resize:vertical;min-height:76px}.employee-form-wide{grid-column:1/-1}.employee-form-actions{justify-content:flex-end;margin-top:20px}.employee-detail-header{align-items:center;gap:20px;padding:24px;display:flex}.employee-image-modal-backdrop{z-index:1100;background:#0f172a94;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.employee-image-modal{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:min(100%,440px);padding:22px;box-shadow:0 20px 60px #0f172a3d}.employee-image-modal-header,.employee-image-modal-actions,.employee-image-modal-actions-end{align-items:center;gap:12px;display:flex}.employee-image-modal-header,.employee-image-modal-actions{justify-content:space-between}.employee-image-modal-header h3{color:#172b4d;margin:0;font-size:17px}.employee-image-modal-header p{color:#64748b;margin:6px 0 0;font-size:12px}.employee-image-modal-header>button{flex-shrink:0;padding:0 9px}.employee-image-preview{color:#00567e;background:#eaf3f8;border:1px solid #dce5ed;border-radius:50%;place-items:center;width:156px;height:156px;margin:22px auto 16px;font-size:36px;font-weight:700;display:grid;overflow:hidden}.employee-image-preview img{object-fit:cover;width:100%;height:100%}.employee-image-select{cursor:pointer;justify-content:center;width:100%;margin-bottom:20px;position:relative}.employee-image-select input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.employee-image-select input:disabled{cursor:not-allowed}.employee-image-error{margin:-8px 0 16px}.employee-image-modal-actions-end{justify-content:flex-end;margin-left:auto}.employee-image-modal-actions button:disabled,.employee-image-modal-header button:disabled{cursor:not-allowed;opacity:.65}.employee-detail-title h2{margin:0;font-size:22px}.employee-detail-title p{color:#64748b;margin:7px 0;font-size:13px}.employee-department{color:#00567e;background:#f0f7fa;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:600;display:inline-block}.employee-info-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);align-items:stretch;gap:18px;display:grid}.employee-info-panel,.employee-month-summary,.employee-attendance-panel,.employee-leaves-panel{min-width:0;padding:22px}.employee-info-panel h3,.employee-month-summary h3,.employee-attendance-panel h3,.employee-leaves-panel h3{color:#172b4d;align-items:center;gap:9px;margin:0;font-size:16px;display:flex}.employee-info-panel h3 svg,.employee-month-summary h3 svg,.employee-attendance-panel h3 svg,.employee-leaves-panel h3 svg{color:#00567e}.employee-info-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:18px;display:grid}.employee-info-list>div{border-bottom:1px solid #edf0f4;flex-direction:column;gap:7px;min-width:0;padding:13px 0;display:flex}.employee-info-list span{color:#7b8797;font-size:12px}.employee-info-list strong{color:#243447;overflow-wrap:anywhere;font-size:13px}.employee-phone-value{white-space:pre-line}.employee-month-picker{color:#00567e;border:1px solid #dce3eb;border-radius:8px;align-items:center;gap:8px;margin-top:18px;padding:9px 11px;display:inline-flex}.employee-month-picker input{color:#334155;width:145px;font:inherit;background:0 0;border:0;outline:none;font-size:12px}.monthly-hours-value{color:#00567e;letter-spacing:-1px;margin-top:22px;font-size:32px;font-weight:750}.employee-month-summary>p{color:#7b8797;margin:7px 0 20px;font-size:12px}.monthly-summary-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.monthly-summary-stats>div{background:#f7f9fc;border-radius:10px;gap:6px;padding:14px;display:grid}.monthly-summary-stats strong{color:#172b4d;font-size:20px}.monthly-summary-stats span{color:#64748b;font-size:11px}.employee-section-heading{margin-bottom:20px}.employee-section-heading>div{min-width:0}.employee-section-heading .employee-month-picker{margin-top:0}.employee-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-weekday{color:#7b8797;text-align:center;padding:8px 0;font-size:11px;font-weight:700}.calendar-empty{min-height:55px}.employee-calendar-day{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:55px;display:flex}.employee-calendar-day:hover{background:#f0f7fa;border-color:#00567e}.employee-calendar-day.completed{background:#effaf4;border-color:#b7e4cc}.employee-calendar-day.present{background:#fff8eb;border-color:#f5d7a6}.employee-calendar-day i{background:#cbd5e1;border-radius:50%;width:6px;height:6px}.employee-calendar-day.completed i{background:#21945b}.employee-calendar-day.present i{background:#d99020}.employee-calendar-legend{color:#64748b;flex-wrap:wrap;gap:16px;margin-top:17px;font-size:11px;display:flex}.employee-calendar-legend span{align-items:center;gap:6px;display:inline-flex}.employee-daily-table-wrap{margin-top:22px;overflow-x:auto}.employee-daily-table{border-collapse:collapse;white-space:nowrap;width:100%}.employee-daily-table th,.employee-daily-table td{text-align:left;border-bottom:1px solid #edf0f4;padding:13px 12px;font-size:12px}.employee-daily-table th{color:#64748b;letter-spacing:.4px;background:#f8fafc;font-size:10px}.employee-daily-table td{color:#334155}.employee-daily-table tr:target{background:#f0f7fa}.employee-leave-list{gap:0;display:grid}.employee-leave-row{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;display:flex}.employee-leave-row>div{gap:6px;display:grid}.employee-leave-row strong{color:#243447;font-size:13px}.employee-leave-row span,.employee-leave-row p{color:#64748b;margin:0;font-size:12px}.leave-status{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:600}.leave-status.approved{color:#217346;background:#eaf8ef}.leave-status.rejected{color:#b42318;background:#fff0f0}.leave-status.pending{color:#9a6700;background:#fff7e6}.employees-empty{color:#7b8797;text-align:center;justify-items:center;gap:10px;padding:40px 20px;display:grid}.employees-empty h3,.employees-empty p{margin:0}.employees-notice{color:#00567e;font-size:13px}@media (width<=1100px){.employee-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-info-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=650px){.employee-card-grid,.employee-form-grid,.employee-info-list{grid-template-columns:minmax(0,1fr)}.employees-heading,.employee-section-heading{flex-wrap:wrap;align-items:flex-start}.employee-detail-header{align-items:flex-start;padding:18px}.employee-image-modal-actions{flex-direction:column;align-items:stretch}.employee-image-modal-actions-end{width:100%;margin-left:0}.employee-image-modal-actions-end>button{flex:1}.employee-info-panel,.employee-month-summary,.employee-attendance-panel,.employee-leaves-panel{padding:16px}.employee-calendar-grid{gap:4px}.employee-calendar-day,.calendar-empty{min-height:43px}.employee-calendar-day{font-size:11px}.employee-section-heading .employee-month-picker{max-width:100%}}.employee-detail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.employee-delete-button{color:#b42318;font:inherit;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.employee-delete-button:hover{background:#fff1f0;border-color:#f87171}.employee-delete-button:disabled{opacity:.6;cursor:not-allowed}.employee-form-note{color:#64748b;margin:-8px 0 18px;font-size:12px}.employee-form-grid input:disabled{color:#64748b;cursor:not-allowed;background:#f1f5f9}@media (width<=650px){.employee-detail-actions{width:100%}.employee-detail-actions button{flex:1}}.leaves-page{gap:20px;min-width:0;display:grid}.leaves-page-heading,.leave-table-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.leaves-page-heading h2,.leave-table-heading h3{color:#172b4d;margin:0}.leaves-page-heading h2{font-size:23px}.leaves-page-heading p,.leave-table-heading p{color:#7b8797;margin:6px 0 0;font-size:13px}.leave-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.leave-summary-card{background:#fff;border:1px solid #e5eaf0;border-radius:13px;min-width:0;padding:20px}.leave-summary-icon{border-radius:11px;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.leave-summary-icon.blue{color:#00567e;background:#eaf3f8}.leave-summary-icon.green{color:#218653;background:#eaf8ef}.leave-summary-icon.orange{color:#b77916;background:#fff5e4}.leave-summary-icon.purple{color:#7952b3;background:#f3edff}.leave-summary-card p{color:#64748b;margin:16px 0 5px;font-size:13px}.leave-summary-card>strong{color:#172b4d;font-size:29px;line-height:1.3;display:block}.leave-summary-card>span{color:#8994a4;margin-top:6px;font-size:11px;display:block}.leave-table-panel,.leave-active-panel{min-width:0;padding:22px}.leave-table-heading h3{font-size:17px}.leave-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.leave-search{flex:240px;min-width:180px}.leave-filter-control,.leave-date-filter{box-sizing:border-box;color:#334155;min-height:39px;font:inherit;background:#fff;border:1px solid #dce3eb;border-radius:8px;font-size:12px}.leave-filter-control{padding:0 11px}.leave-date-filter{color:#64748b;align-items:center;gap:7px;padding:0 9px;display:flex}.leave-date-filter input{color:#334155;width:125px;min-width:0;font:inherit;background:0 0;border:0;outline:none;font-size:12px}.leave-record-count{color:#7b8797;margin:16px 0 10px;font-size:12px}.leave-table-scroll{width:100%;overflow-x:auto}.leave-record-table{border-collapse:collapse;white-space:nowrap;width:100%}.leave-record-table th,.leave-record-table td{text-align:left;border-bottom:1px solid #edf0f4;padding:14px 12px;font-size:12px}.leave-record-table th{color:#64748b;letter-spacing:.4px;background:#f8fafc;font-size:10px;font-weight:700}.leave-record-table td{color:#334155}.leave-employee-cell{align-items:center;gap:10px;display:flex}.leave-employee-cell strong{color:#243447;font-size:12px}.leave-avatar{color:#00567e;background:#eaf3f8;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;font-size:11px;font-weight:700;display:flex}.leave-avatar.large{border-radius:12px;width:46px;height:46px}.leave-date-cell{color:#64748b;gap:5px;font-size:11px;display:grid}.leave-row-actions{align-items:center;gap:6px;display:flex}.leave-action-button{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.leave-action-button.view{color:#00567e}.leave-action-button.edit{color:#98701c}.leave-action-button.delete{color:#c24141}.leave-action-button:hover{background:#f8fafc}.leave-empty-state{color:#8994a4!important;text-align:center!important;padding:35px!important}.leave-pagination{color:#64748b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:12px;display:flex}.leave-pagination-controls{align-items:center;gap:12px;display:flex}.leave-pagination-controls .pagination-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dce3eb;border-radius:7px;justify-content:center;align-items:center;width:33px;height:33px;display:flex}.leave-pagination-controls .pagination-button:disabled{opacity:.4;cursor:not-allowed}.leave-active-count{color:#00567e;background:#f0f7fa;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:600}.leave-active-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px;display:grid}.leave-active-card{background:#fff;border:1px solid #e5eaf0;border-radius:12px;min-width:0;padding:18px}.leave-active-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.leave-period-badge{border-radius:7px;padding:6px 8px;font-size:10px;font-weight:700}.leave-period-badge.active{color:#218653;background:#eaf8ef}.leave-period-badge.upcoming{color:#a66b0e;background:#fff5e4}.leave-active-card h4{color:#172b4d;overflow-wrap:anywhere;margin:15px 0 4px;font-size:15px}.leave-active-id{color:#7b8797;margin:0 0 16px;font-size:11px}.leave-active-detail{border-top:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.leave-active-detail span{color:#7b8797;font-size:11px}.leave-active-detail strong{color:#334155;text-align:right;overflow-wrap:anywhere;font-size:11px}.leave-active-view{justify-content:center;align-items:center;gap:7px;width:100%;margin-top:14px;display:flex}.leave-active-empty{color:#8994a4;justify-items:center;gap:8px;padding:32px 15px;font-size:13px;display:grid}.leave-active-empty p{margin:0}.leave-notice{color:#217346;background:#f0faf4;border:1px solid #cce8d7;border-radius:9px;padding:12px 14px;font-size:13px}.leave-modal-backdrop{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.leave-modal{background:#fff;border-radius:15px;width:min(100%,650px);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 24px 80px #0003}.leave-modal-heading{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.leave-modal-heading h2{color:#172b4d;margin:0;font-size:20px}.leave-modal-heading p{color:#7b8797;margin:6px 0 0;font-size:12px}.leave-close-button{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.leave-modal form{padding:24px}.leave-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.leave-form-grid label{color:#475569;align-content:start;gap:7px;font-size:12px;font-weight:600;display:grid}.leave-form-grid input,.leave-form-grid select,.leave-form-grid textarea{box-sizing:border-box;color:#334155;width:100%;min-width:0;min-height:40px;font:inherit;background:#fff;border:1px solid #dce3eb;border-radius:8px;outline-color:#00567e;padding:10px 11px;font-size:13px}.leave-form-grid textarea{resize:vertical}.leave-form-grid input:disabled,.leave-form-grid select:disabled,.leave-form-grid textarea:disabled{color:#64748b;background:#f8fafc}.leave-form-wide{grid-column:1/-1}.leave-modal-actions{border-top:1px solid #edf0f4;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;display:flex}.leave-view-extra{background:#f8fafc;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;padding:16px;display:grid}.leave-view-extra>div{gap:6px;display:grid}.leave-view-extra span{color:#7b8797;font-size:11px}.leave-view-extra strong{color:#243447;font-size:13px}@media (width<=1100px){.leave-summary-grid,.leave-active-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.leaves-page-heading,.leave-table-heading{flex-wrap:wrap;align-items:flex-start}.leave-summary-grid,.leave-active-grid,.leave-form-grid,.leave-view-extra{grid-template-columns:minmax(0,1fr)}.leave-form-wide{grid-column:auto}.leave-table-panel,.leave-active-panel{padding:15px}.leave-modal-backdrop{align-items:flex-start;padding:10px}.leave-modal{max-height:calc(100vh - 20px)}.leave-modal-heading,.leave-modal form{padding:17px}.leave-pagination{flex-direction:column;align-items:flex-start}.leave-date-filter input{width:110px}}.leave-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}@media (width<=600px){.leaves-page-heading{flex-wrap:wrap;align-items:flex-start;gap:14px}.leave-heading-actions{justify-content:flex-start;width:100%}}.overtime-page{color:var(--text-primary,#172b4d);flex-direction:column;gap:22px;display:flex}.overtime-heading,.overtime-table-toolbar,.overtime-picker-heading,.overtime-pagination,.overtime-modal-heading,.overtime-modal-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.overtime-heading h2,.overtime-modal-heading h3,.overtime-table-toolbar h3{margin:0 0 6px}.overtime-heading p,.overtime-modal-heading p{color:#748096;margin:0;font-size:14px}.overtime-primary-button,.overtime-secondary-button,.overtime-pagination button{cursor:pointer;min-height:40px;font:inherit;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:600;display:inline-flex}.overtime-primary-button{color:#fff;background:#075788}.overtime-primary-button:hover{background:#06456c}.overtime-primary-button:disabled{opacity:.6;cursor:not-allowed}.overtime-secondary-button,.overtime-pagination button{color:#34445b;background:#fff;border-color:#dfe5ed}.overtime-pagination button:disabled{opacity:.45;cursor:not-allowed}.overtime-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.overtime-summary-card,.overtime-table-card{background:#fff;border:1px solid #e7ebf0;border-radius:12px}.overtime-summary-card{flex-direction:column;gap:9px;padding:20px;display:flex}.overtime-summary-card span{color:#748096;font-size:13px}.overtime-summary-card strong{font-size:27px}.overtime-table-card{overflow:hidden}.overtime-table-toolbar{flex-wrap:wrap;padding:20px}.overtime-table-toolbar h3{font-size:17px}.overtime-search{color:#748096;border:1px solid #dfe5ed;border-radius:8px;align-items:center;gap:9px;width:min(100%,330px);padding:0 12px;display:flex}.overtime-search input{color:#172b4d;width:100%;min-width:0;height:40px;font:inherit;background:0 0;border:0;outline:none}.overtime-table-wrap{width:100%;overflow-x:auto}.overtime-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.overtime-table th{color:#69778c;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f7f9fc;padding:14px 16px;font-size:11px}.overtime-table td{vertical-align:middle;border-top:1px solid #edf0f4;padding:16px}.overtime-table tbody tr:hover{background:#fbfcfe}.overtime-employee-cell{flex-direction:column;gap:5px;min-width:150px;max-width:260px;display:flex}.overtime-employee-cell strong{color:#075788}.overtime-employee-cell span,.overtime-reason{overflow-wrap:anywhere;color:#5c687b}.overtime-date-separator{color:#9aa4b2;padding:3px 0;font-size:11px;display:block}.overtime-row-actions{gap:6px;display:flex}.overtime-row-actions button,.overtime-close-button{color:#44546a;cursor:pointer;background:#fff;border:1px solid #e2e7ee;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.overtime-row-actions button:hover{background:#f1f5f9}.overtime-row-actions button.danger{color:#d14343}.overtime-pagination{color:#748096;border-top:1px solid #edf0f4;padding:16px 20px;font-size:13px}.overtime-pagination>div{gap:8px;display:flex}.overtime-notice,.overtime-error{border-radius:8px;padding:12px 14px;font-size:14px}.overtime-notice{color:#247344;background:#edf8f0}.overtime-error{color:#b42323;background:#fff0f0}.overtime-modal-backdrop{z-index:1000;background:#111f338c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.overtime-modal{background:#fff;border-radius:14px;width:min(100%,720px);max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 20px 70px #0000002e}.overtime-modal-heading{align-items:flex-start;margin-bottom:22px}.overtime-close-button{flex-shrink:0}.overtime-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.overtime-form-grid label,.overtime-reason-field{color:#34445b;flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.overtime-form-grid label:last-child{grid-column:1/-1}.overtime-form-grid input,.overtime-reason-field textarea{box-sizing:border-box;color:#172b4d;width:100%;font:inherit;background:#fff;border:1px solid #dfe5ed;border-radius:8px;padding:11px 12px;font-weight:400}.overtime-estimate{color:#075788;background:#f1f7fb;border-radius:8px;align-items:center;gap:10px;margin:18px 0;padding:13px;font-size:13px;display:flex}.overtime-employee-picker{border:1px solid #dfe5ed;border-radius:9px;margin-bottom:18px;overflow:hidden}.overtime-picker-heading{background:#f7f9fc;padding:13px 14px;font-size:13px}.overtime-picker-heading span{color:#075788}.overtime-employee-list{max-height:220px;padding:4px 14px;overflow-y:auto}.overtime-employee-option{cursor:pointer;border-bottom:1px solid #edf0f4;align-items:center;gap:11px;padding:12px 0;display:flex}.overtime-employee-option:last-child{border-bottom:0}.overtime-employee-option input{accent-color:#075788;width:16px;height:16px}.overtime-employee-option span{flex-direction:column;gap:4px;display:flex}.overtime-employee-option strong{font-size:13px}.overtime-employee-option small{color:#748096}.overtime-reason-field{margin-bottom:20px}.overtime-modal-actions{justify-content:flex-end;margin-top:20px}.overtime-view-details p{margin:12px 0;line-height:1.5}.overtime-view-details h4{margin-top:24px}.overtime-view-employee{border-bottom:1px solid #edf0f4;align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.overtime-view-details>.overtime-primary-button{margin-top:20px}@media (width<=700px){.overtime-heading,.overtime-pagination{flex-direction:column;align-items:flex-start}.overtime-summary,.overtime-form-grid{grid-template-columns:1fr}.overtime-form-grid label:last-child{grid-column:auto}.overtime-modal{padding:18px}.overtime-pagination>div{width:100%}}.employee-calendar-day.leave{background:#eff6ff;border-color:#bfdbfe}.employee-calendar-day.leave i,.blue-dot{background:#3b82f6}.paid-leave-badge{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:5px;align-items:center;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.leave-row td{background:#f8fbff}.leave-quota-row{align-items:center;gap:12px;display:flex}.leave-quota-badge{color:#00567e;white-space:nowrap;background:#f0f7fa;border-radius:7px;padding:6px 11px;font-size:12px;font-weight:600}.leave-employee-label-row{align-items:center;gap:8px;display:flex}.leave-quota-inline{white-space:nowrap;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:600}.leave-quota-inline.blue{color:#1d4ed8;background:#eff6ff}.leave-quota-inline.green{color:#15803d;background:#f0fdf4}.leave-quota-inline.red{color:#be123c;background:#fff1f2}.attendance-export-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-page{color:#18263b;flex-direction:column;gap:20px;min-width:0;font-family:Inter,system-ui,sans-serif;display:flex}.dashboard-welcome{margin-bottom:0}.dashboard-welcome h2{color:#18263b;margin:0 0 5px;font-size:22px;font-weight:700}.dashboard-welcome p{color:#718096;margin:0;font-size:13px}.dashboard-date{color:#718096;align-items:center;gap:6px;margin-top:9px;font-size:12px;display:flex}.dashboard-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-two-column{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.dashboard-panel{background:#fff;border:1px solid #e3eaf2;border-radius:10px;min-width:0;padding:18px;box-shadow:0 2px 8px #18263b08}.dashboard-panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.dashboard-panel-heading h3{color:#18263b;margin:0;font-size:14px;font-weight:700}.dashboard-panel-heading p{color:#8390a3;margin:5px 0 0;font-size:12px}.dashboard-text-button{color:#1768bd;cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:5px;padding:2px 0;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.dashboard-text-button:hover{color:#0d4f93}.dashboard-attendance-overview{justify-content:space-around;align-items:center;gap:26px;padding:8px 0 14px;display:flex}.dashboard-donut{background:conic-gradient(#169b70 0deg var(--present-angle), #e9a23b var(--present-angle) calc(var(--present-angle) + var(--no-scan-angle)), #8960df calc(var(--present-angle) + var(--no-scan-angle)) calc(var(--present-angle) + var(--no-scan-angle) + var(--incomplete-angle)), #367bd2 calc(var(--present-angle) + var(--no-scan-angle) + var(--incomplete-angle)) 360deg);border-radius:50%;flex:0 0 154px;place-items:center;width:154px;height:154px;display:grid;position:relative}.dashboard-donut-center{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:106px;height:106px;display:flex}.dashboard-donut-center strong{color:#18263b;font-size:27px;font-weight:700}.dashboard-donut-center span{color:#718096;margin-top:3px;font-size:11px}.dashboard-breakdown{flex:1;min-width:0}.dashboard-breakdown-row{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:12px;display:flex}.dashboard-breakdown-row:last-child{border-bottom:0}.dashboard-breakdown-row>span{color:#526176;align-items:center;gap:8px;display:flex}.dashboard-breakdown-row strong{color:#253a55;font-size:12px}.dashboard-dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px;display:inline-block}.dot-green{background:#169b70}.dot-orange{background:#e9a23b}.dot-purple{background:#8960df}.dot-blue{background:#367bd2}.dashboard-progress-section{border-top:1px solid #edf1f6;padding-top:15px}.dashboard-progress-label{color:#68788d;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:12px;display:flex}.dashboard-progress-label strong{color:#253a55}.dashboard-progress-track{background:#edf1f6;border-radius:20px;height:7px;overflow:hidden}.dashboard-progress-fill{border-radius:inherit;background:#1768bd;height:100%;transition:width .25s}.dashboard-snapshot-list{flex-direction:column;gap:0;display:flex}.dashboard-snapshot-item{border-bottom:1px solid #edf1f6;align-items:center;gap:12px;padding:15px 0;display:flex}.dashboard-snapshot-item:first-child{padding-top:0}.dashboard-snapshot-item:last-child{border-bottom:0}.dashboard-snapshot-icon,.dashboard-device-icon{border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.snapshot-green{color:#169b70;background:#e6f7ef}.snapshot-orange{color:#d88b20;background:#fff3df}.snapshot-purple{color:#8960df;background:#f0eaff}.dashboard-snapshot-item>div:last-child{flex-direction:column;gap:4px;display:flex}.dashboard-snapshot-item strong{color:#18263b;font-size:18px}.dashboard-snapshot-item span{color:#718096;font-size:12px}.dashboard-snapshot-note,.dashboard-sync-message{color:#35658e;background:#f0f6fd;border-radius:7px;align-items:flex-start;gap:8px;margin-top:13px;padding:11px;font-size:11px;line-height:1.6;display:flex}.dashboard-snapshot-note svg,.dashboard-sync-message svg{flex:none;margin-top:1px}.dashboard-table-wrap{width:100%;overflow-x:auto}.dashboard-table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}.dashboard-table th{color:#66768b;background:#f3f7fb;padding:11px 9px;font-size:11px;font-weight:600}.dashboard-table th:first-child{border-radius:6px 0 0 6px}.dashboard-table th:last-child{border-radius:0 6px 6px 0}.dashboard-table td{color:#40516a;border-bottom:1px solid #edf1f6;padding:12px 9px;font-size:11px}.dashboard-table tbody tr:last-child td{border-bottom:0}.dashboard-employee-cell{align-items:center;gap:9px;min-width:140px;display:flex}.dashboard-avatar{color:#245a91;background:#edf4fc;border:1px solid #dce7f4;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.dashboard-employee-cell>div:last-child,.dashboard-leave-info{flex-direction:column;gap:4px;display:flex}.dashboard-employee-cell strong,.dashboard-leave-info strong{color:#253a55;font-size:11px;font-weight:600}.dashboard-employee-cell span,.dashboard-leave-info span{color:#8390a3;font-size:10px}.dashboard-status{color:#64748b;background:#edf1f6;border-radius:20px;justify-content:center;align-items:center;padding:5px 8px;font-size:10px;font-weight:600;display:inline-flex}.status-completed,.status-present,.status-approved,.status-checked-in{color:#14845c;background:#e4f7ee}.status-incomplete,.status-pending{color:#b7791f;background:#fff3df}.status-no-scan,.status-absent{color:#d44848;background:#fff0ef}.status-on-leave{color:#7950c9;background:#f0eaff}.dashboard-empty{text-align:center;white-space:normal;color:#8390a3!important;padding:25px 12px!important;font-size:12px!important}.dashboard-leave-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px;display:grid}.dashboard-leave-card{border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:13px 11px;display:flex}.dashboard-leave-card strong{font-size:21px;line-height:1}.dashboard-leave-card span{font-size:11px}.leave-pending{color:#bd7a18;background:#fff8eb;border-color:#f8e6c7}.leave-approved{color:#16845e;background:#effaf5;border-color:#d6eee3}.leave-upcoming{color:#386bc2;background:#f1f5ff;border-color:#dce6fa}.dashboard-leave-list{flex-direction:column;display:flex}.dashboard-leave-row{border-bottom:1px solid #edf1f6;align-items:center;gap:10px;min-width:0;padding:12px 0;display:flex}.dashboard-leave-row:last-child{border-bottom:0}.dashboard-leave-info{flex:1;min-width:0}.dashboard-leave-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-leave-empty{color:#8390a3;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:30px 15px;display:flex}.dashboard-leave-empty strong{color:#526176;font-size:12px}.dashboard-leave-empty span{max-width:240px;font-size:11px;line-height:1.6}.dashboard-device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.dashboard-device-grid>div{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.dashboard-device-grid>div+div{border-left:1px solid #edf1f6;padding-left:20px}.dashboard-device-icon{color:#1768bd;background:#edf4fc}.dashboard-device-grid strong{color:#253a55;font-size:12px}.dashboard-device-grid span{color:#718096;overflow-wrap:anywhere;font-size:11px}.dashboard-sync-error{color:#b93838;background:#fff0ef}.dashboard-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dashboard-quick-actions button{color:#1768bd;text-align:center;cursor:pointer;background:#f8fbff;border:1px solid #e0e9f4;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:85px;padding:12px 7px;font-family:inherit;font-size:11px;font-weight:600;transition:background .2s,border-color .2s,transform .2s;display:flex}.dashboard-quick-actions button:hover:not(:disabled){background:#edf5ff;border-color:#a9c9ee;transform:translateY(-1px)}.dashboard-quick-actions button:disabled{cursor:not-allowed;opacity:.55}.dashboard-quick-actions button svg{flex:none}.dashboard-bottom-grid{grid-template-columns:repeat(1,1fr)}@media (width<=1200px){.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-two-column{grid-template-columns:minmax(0,1fr)}}@media (width<=650px){.dashboard-page{gap:14px}.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-panel{padding:14px}.dashboard-panel-heading{flex-wrap:wrap;margin-bottom:15px}.dashboard-attendance-overview{gap:16px}.dashboard-donut{flex-basis:120px;width:120px;height:120px}.dashboard-donut-center{width:84px;height:84px}.dashboard-donut-center strong{font-size:23px}.dashboard-breakdown-row{font-size:11px}.dashboard-leave-cards{gap:6px}.dashboard-leave-card{padding:10px 8px}.dashboard-leave-card strong{font-size:18px}.dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-device-grid{gap:12px}.dashboard-device-grid>div+div{padding-left:12px}}@media (width<=400px){.dashboard-attendance-overview{flex-direction:column}.dashboard-breakdown{width:100%}.dashboard-date{font-size:11px}}.dashboard-trend-chart{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;min-height:190px;padding:8px 0 0;display:grid}.dashboard-trend-day{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.dashboard-trend-bars{background:repeating-linear-gradient(0deg,#0000 0 36px,#edf1f6 37px 38px);border-bottom:1px solid #e3eaf2;justify-content:center;align-items:flex-end;width:100%;height:150px;display:flex}.dashboard-trend-bar-track{border-radius:5px 5px 0 0;flex-direction:column;justify-content:flex-end;width:min(30px,70%);height:100%;display:flex;overflow:hidden}.dashboard-trend-bar-present{background:#169b70;width:100%;transition:height .3s}.dashboard-trend-bar-absent{background:#e9a23b;width:100%;transition:height .3s}.dashboard-trend-day-label{color:#718096;font-size:11px;font-weight:500}.dashboard-trend-legend{border-top:1px solid #edf1f6;flex-wrap:wrap;gap:18px;margin-top:10px;padding-top:12px;display:flex}.dashboard-trend-legend span{color:#526176;align-items:center;gap:7px;font-size:11px;display:flex}.dashboard-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.dashboard-dot.dot-green{background:#169b70}.dashboard-dot.dot-orange{background:#e9a23b}@media (width<=480px){.dashboard-trend-chart{gap:4px}.dashboard-trend-bars{height:120px}.dashboard-trend-day-label{font-size:10px}}.dashboard-trend-loading{color:#718096;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:190px;font-size:12px;display:flex}.dashboard-trend-spinner{border:3px solid #e3eaf2;border-top-color:#075788;border-radius:50%;width:26px;height:26px;animation:.8s linear infinite dashboard-trend-spin}@keyframes dashboard-trend-spin{to{transform:rotate(360deg)}}.dashboard-device-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.dashboard-device-details>div{border:1px solid var(--border-color,#e5e7eb);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.dashboard-device-details span{color:#64748b;font-size:12px}.dashboard-device-details strong{color:#1e293b;overflow-wrap:anywhere;font-size:14px}.device-status-online{color:#16a34a;font-weight:600}.device-status-offline{color:#dc2626;font-weight:600}@media (width<=600px){.dashboard-device-details{grid-template-columns:1fr}}
