:root{--navy:#0c244f;--navy2:#07172f;--red:#ef252e;--green:#12b76a;--blue:#2563eb;--orange:#ef8b17;--purple:#7c3aed;--ink:#152238;--muted:#69768a;--line:#dfe6ef;--soft:#f5f8fc;--surface:#fff;--shadow:0 12px 34px rgba(12,36,79,.08)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f3f6fa;color:var(--ink);font:13px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.ess-app{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.ess-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:22px 14px;display:flex;flex-direction:column;z-index:30}.ess-brand{display:grid;gap:8px;color:#fff;text-decoration:none;padding:0 8px 25px}.ess-brand img{width:138px;filter:brightness(0) invert(1)}.ess-brand span{font-size:10px;color:#9fb2d1;text-transform:uppercase;letter-spacing:.12em}.ess-sidebar nav{display:grid;gap:5px}.ess-sidebar nav button,.ess-logout{border:0;background:transparent;color:#bed0e7;border-radius:9px;padding:11px 12px;display:flex;align-items:center;gap:11px;text-decoration:none;font:inherit;text-align:left;cursor:pointer}.ess-sidebar nav button:hover,.ess-sidebar nav button.active{background:linear-gradient(90deg,#ef252e,#df1d27);color:#fff}.ess-sidebar svg{width:17px}.ess-logout{margin-top:auto;border:1px solid #ffffff1f}.ess-stage{min-width:0}.ess-topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:20}.ess-topbar>div:first-of-type{display:grid}.ess-topbar .ess-kicker{font-size:8px;color:var(--red);font-weight:800;letter-spacing:.14em}.ess-topbar>div>strong{font-size:16px}.ess-menu{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;width:39px;height:39px}.ess-user{margin-left:auto;display:flex;align-items:center;gap:9px}.ess-user span:last-child{display:grid}.ess-user small{color:var(--muted);font-size:9px}.ess-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7efff;color:var(--navy);font-weight:800;overflow:hidden}.ess-avatar img{width:100%;height:100%;object-fit:cover}#page{padding:22px;max-width:1500px;margin:auto}.ess-page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.ess-page-head h1{margin:0;font-size:24px}.ess-page-head p{margin:3px 0 0;color:var(--muted)}.ess-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.ess-panel{padding:18px}.ess-grid{display:grid;gap:12px}.ess-kpis{grid-template-columns:repeat(5,minmax(120px,1fr));margin-bottom:14px}.ess-kpi{padding:15px;display:flex;gap:11px;align-items:center}.ess-kpi i,.ess-icon{width:38px;height:38px;border-radius:9px;background:#e9f0ff;color:var(--blue);display:grid;place-items:center}.ess-kpi i svg,.ess-icon svg{width:18px}.ess-kpi span{display:grid}.ess-kpi small{font-size:9px;color:var(--muted)}.ess-kpi strong{font-size:20px}.ess-two{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr)}.ess-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ess-card-head h2{margin:0;font-size:15px}.ess-card-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.ess-today{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ess-today div{background:var(--soft);border-radius:9px;padding:12px}.ess-today small{display:block;color:var(--muted);font-size:9px}.ess-today strong{display:block;margin-top:4px}.ess-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:9px;font-weight:700;background:#edf1f6;color:#586579}.ess-status.present,.ess-status.approved,.ess-status.active{background:#def7ea;color:#07864c}.ess-status.late,.ess-status.pending{background:#fff0dd;color:#bc6500}.ess-status.absent,.ess-status.rejected{background:#ffe5e8;color:#cc2639}.ess-status.on-leave,.ess-status.holiday,.ess-status.weekly-off{background:#e7efff;color:#245dcc}.ess-table-wrap{overflow:auto}.ess-table{width:100%;border-collapse:collapse;min-width:680px}.ess-table th,.ess-table td{text-align:left;padding:10px;border-bottom:1px solid #e8edf4;white-space:nowrap}.ess-table th{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f8fafc}.ess-table td{font-size:11px}.ess-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:9px 12px;font:inherit;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.ess-btn.primary,.ess-primary{background:var(--red);border-color:var(--red);color:#fff}.ess-btn.small{padding:6px 9px;font-size:10px}.ess-btn.danger{color:#c62235;border-color:#ffcbd2}.ess-field{display:grid;gap:5px}.ess-field span,.ess-login-card label{font-size:10px;color:#526176;font-weight:650}.ess-input,.ess-select,.ess-textarea,.ess-login-card input{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 11px;font:inherit;color:var(--ink)}.ess-textarea{min-height:90px;resize:vertical}.ess-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ess-field.full{grid-column:1/-1}.ess-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.ess-balance-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.ess-balance{padding:15px}.ess-balance header{display:flex;justify-content:space-between;gap:8px}.ess-balance h3{margin:0;font-size:12px}.ess-balance strong{font-size:23px;color:var(--navy)}.ess-balance p{margin:5px 0;color:var(--muted);font-size:9px}.ess-progress{height:5px;background:#edf1f6;border-radius:99px;overflow:hidden}.ess-progress span{display:block;height:100%;background:var(--green)}.ess-month{display:flex;align-items:center;gap:8px}.ess-month input{width:auto}.ess-holidays{display:grid;gap:8px}.ess-holiday{display:flex;align-items:center;gap:10px;background:var(--soft);border-radius:9px;padding:10px}.ess-holiday time{width:48px;text-align:center;color:var(--red);font-weight:800}.ess-holiday span{display:grid}.ess-holiday small{color:var(--muted)}.ess-profile{display:flex;align-items:center;gap:14px;margin-bottom:16px}.ess-profile .ess-avatar{width:66px;height:66px;font-size:19px}.ess-profile h2{margin:0}.ess-profile p{margin:4px 0;color:var(--muted)}.ess-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ess-detail-grid div{background:var(--soft);padding:11px;border-radius:8px}.ess-detail-grid small{display:block;color:var(--muted);font-size:9px}.ess-detail-grid strong{display:block;margin-top:3px}.ess-empty{text-align:center;color:var(--muted);padding:28px}.ess-loading{min-height:60vh;display:grid;place-items:center;align-content:center;color:var(--muted)}.ess-loading span{width:32px;height:32px;border:3px solid #dce4ef;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ess-toast{position:fixed;right:18px;bottom:18px;background:var(--navy2);color:#fff;border-radius:9px;padding:11px 15px;opacity:0;transform:translateY(12px);transition:.2s;z-index:80}.ess-toast.show{opacity:1;transform:none}.ess-modal-backdrop{position:fixed;inset:0;background:#07172fa8;display:grid;place-items:center;padding:15px;z-index:70}.ess-modal-backdrop[hidden]{display:none}.ess-modal{width:min(600px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:20px}.ess-modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.ess-modal h2{margin:0}.ess-modal>header button{border:0;background:transparent;font-size:25px}.ess-alert{padding:10px 12px;border-radius:8px;margin-bottom:12px}.ess-alert.error{background:#ffe6e9;color:#bd2638}.ess-alert.info{background:#e7efff;color:#245dcc}.ess-login-body{min-height:100vh;background:var(--navy2);display:grid;place-items:center;padding:24px}.ess-login-shell{width:min(950px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px #0006}.ess-login-brand{background:linear-gradient(145deg,#07172f,#0c3268);color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:center}.ess-login-brand img{width:170px;filter:brightness(0) invert(1);margin-bottom:42px}.ess-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--red)}.ess-login-brand h1{font-size:40px;line-height:1.05;margin:12px 0}.ess-login-brand p{color:#b8c8df}.ess-login-points{display:grid;gap:8px;color:#dce7f5;font-size:11px;margin-top:20px}.ess-login-card{padding:52px;align-self:center}.ess-login-card h2{font-size:28px;margin:8px 0 3px}.ess-login-card>p{color:var(--muted);margin:0 0 20px}.ess-login-card label{display:grid;gap:6px;margin:13px 0}.ess-primary{width:100%;border:0;border-radius:8px;padding:12px;font-weight:750;cursor:pointer}.ess-admin-link{display:block;text-align:center;margin-top:15px;color:var(--navy);font-size:10px}.ess-mobile-logo{display:none}
@media(max-width:1050px){.ess-kpis{grid-template-columns:repeat(3,1fr)}.ess-balance-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ess-app{display:block}.ess-sidebar{position:fixed;left:-240px;width:224px;transition:.2s}.ess-sidebar.open{left:0}.ess-overlay{display:none;position:fixed;inset:0;background:#07172f88;z-index:25}.ess-overlay.show{display:block}.ess-menu{display:grid;place-items:center}.ess-topbar{padding:0 13px}.ess-user span:last-child{display:none}#page{padding:14px}.ess-kpis{grid-template-columns:repeat(2,1fr)}.ess-two,.ess-form-grid{grid-template-columns:1fr}.ess-today{grid-template-columns:1fr 1fr}.ess-field.full,.ess-form-actions{grid-column:auto}.ess-detail-grid{grid-template-columns:1fr 1fr}.ess-login-shell{grid-template-columns:1fr}.ess-login-brand{display:none}.ess-login-card{padding:32px 24px}.ess-mobile-logo{display:block}.ess-mobile-logo img{width:145px;margin-bottom:22px}}@media(max-width:420px){.ess-kpis,.ess-balance-grid,.ess-detail-grid{grid-template-columns:1fr}.ess-page-head{align-items:flex-start;flex-direction:column}.ess-today{grid-template-columns:1fr}}
.ess-sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#47658e transparent}.ess-sidebar nav{flex:0 0 auto}.ess-sidebar .ess-logout{flex:0 0 auto;min-height:43px}
@media print{@page{size:A4;margin:.2in}.ess-sidebar,.ess-topbar,.ess-page-head .ess-month,.ess-card-head .ess-btn,.ess-toast,.ess-modal-backdrop{display:none!important}.ess-app{display:block}.ess-stage,#page{padding:0;max-width:none}.ess-card{box-shadow:none;break-inside:avoid}.ess-kpis{grid-template-columns:repeat(5,1fr)}.ess-table-wrap{overflow:visible}.ess-table{min-width:0}.ess-table th,.ess-table td{padding:5px;font-size:8px}}
