.sidebar{width:260px;height:100vh;position:fixed;top:0;left:0;display:flex;flex-direction:column;box-sizing:border-box;background:#fff;border-right:1px solid #e9e5dc;z-index:3000;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}.sidebar-brand{height:76px;display:flex;align-items:center;gap:11px;padding:0 22px;flex-shrink:0;border-bottom:1px solid #f0ece5}.brand-logo{width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:11px;background:linear-gradient(145deg,#e5c18f,#c99559);color:#fff;font-size:17px;font-weight:800;box-shadow:0 4px 10px #a070372e}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text h2{margin:0;color:#2d2924;font-size:18px;font-weight:800;letter-spacing:-.3px}.brand-text span{margin-top:5px;color:#a19a91;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:17px 12px 12px;scrollbar-width:thin;scrollbar-color:#ddd7cd transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ddd7cd;border-radius:10px}.nav-section{margin-bottom:20px}.nav-section:last-child{margin-bottom:0}.nav-section-title{display:block;padding:0 11px;margin-bottom:7px;color:#aaa39a;font-size:9px;font-weight:800;letter-spacing:1px}.sidebar-link{position:relative;width:100%;min-height:41px;display:flex;align-items:center;gap:11px;box-sizing:border-box;padding:0 11px;margin-bottom:3px;border-radius:10px;color:#625c54;text-decoration:none;font-size:13px;font-weight:500;transition:background .18s ease,color .18s ease,transform .18s ease}.sidebar-icon{width:18px;height:18px;flex-shrink:0;color:#938c83;transition:color .18s ease,transform .18s ease}.sidebar-link:hover{background:#faf7f1;color:#735332;transform:translate(2px)}.sidebar-link:hover .sidebar-icon{color:#a36f3d;transform:scale(1.04)}.sidebar-link.active{background:linear-gradient(90deg,#f3e4ce,#f8f0e4);color:#744f2d;font-weight:700}.sidebar-link.active .sidebar-icon{color:#a66f39}.sidebar-link.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 4px 4px 0;background:#b98248}.sidebar-bottom{flex-shrink:0;padding:10px 12px 14px;border-top:1px solid #f0ece5;background:#fff}.sidebar-bottom>.sidebar-link{margin-bottom:9px}.sidebar-version{padding:2px 9px 0;color:#b2aba2;font-size:9px;font-weight:500}.sidebar-link:focus-visible{outline:2px solid #c99559;outline-offset:-2px}@media(max-width:900px){.sidebar{width:230px}.sidebar-brand{padding:0 17px}.sidebar-nav{padding-left:10px;padding-right:10px}}@media(max-width:700px){.sidebar{width:260px;transform:translate(-100%);box-shadow:none;z-index:3000}.sidebar.mobile-open{transform:translate(0);box-shadow:10px 0 35px #2d261e29}.sidebar-brand{height:68px;padding:0 18px}.sidebar-nav{padding-top:14px;-webkit-overflow-scrolling:touch}.sidebar-link{min-height:44px;padding-left:13px;padding-right:13px;font-size:13px}.sidebar-icon{width:19px;height:19px}.nav-section-title{font-size:9px}.sidebar-bottom{padding-bottom:12px}}@media(max-width:420px){.sidebar{width:250px}.sidebar-brand{height:66px;padding:0 16px}.brand-logo{width:36px;height:36px;border-radius:10px}.brand-text h2{font-size:17px}.sidebar-link{min-height:43px}.sidebar-nav{padding-left:9px;padding-right:9px}}@media(max-width:360px){.sidebar{width:245px}.sidebar-brand{padding-left:14px}.sidebar-link{min-height:42px;font-size:12.5px}}.hrms-navbar{height:76px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-sizing:border-box;background:#fffffff5;border-bottom:1px solid #ebe7df;position:sticky;top:0;z-index:800;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .2s ease}.navbar-left{display:flex;align-items:center;min-width:0}.page-heading{display:flex;flex-direction:column;gap:4px}.page-heading h1{margin:0;color:#29251f;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.35px}.breadcrumb{display:flex;align-items:center;gap:7px;color:#999187;font-size:11px;font-weight:500}.breadcrumb-arrow{color:#c9c2b8}.navbar-right{display:flex;align-items:center;gap:14px}.notification-button{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #e7e2d9;border-radius:12px;background:#fff;color:#665f56;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.notification-button:hover{background:#faf7f1;border-color:#dac8ad;color:#7b5a37;transform:translateY(-1px);box-shadow:0 5px 15px #4a3d2c14}.notification-button:active{transform:translateY(0)}.notification-button svg{display:block}.notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:20px;background:#d97706;color:#fff;border:2px solid #ffffff;font-size:9px;font-weight:700;line-height:1}.navbar-divider{width:1px;height:34px;margin:0 2px;background:#ebe7df}.profile-container{position:relative}.profile-button{display:flex;align-items:center;gap:10px;padding:5px 7px;border:none;border-radius:12px;background:transparent;cursor:pointer;transition:background .2s ease}.profile-button:hover{background:#f8f6f1}.profile-avatar{width:39px;height:39px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,#ead0a9,#d6a66c);color:#5e4328;box-shadow:inset 0 0 0 1px #fff9,0 3px 10px #805e361f}.profile-avatar svg{display:block}.profile-info{display:flex;flex-direction:column;align-items:flex-start;min-width:90px}.profile-name{color:#302b25;font-size:13px;font-weight:700;line-height:1.3}.profile-role{margin-top:2px;color:#938c82;font-size:11px;font-weight:500;line-height:1.3}.profile-chevron{color:#918a81;transition:transform .2s ease}.profile-chevron.rotate{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:225px;padding:7px;box-sizing:border-box;background:#fff;border:1px solid #e9e4dc;border-radius:14px;box-shadow:0 18px 45px #322b221f,0 4px 12px #322b220d;overflow:hidden;animation:profileDropdownIn .16s ease-out}@keyframes profileDropdownIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;gap:10px;padding:10px 9px}.dropdown-avatar{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f4eadb;color:#8b653c}.dropdown-header>div:last-child{display:flex;flex-direction:column;gap:2px}.dropdown-header strong{color:#302b25;font-size:13px;font-weight:700}.dropdown-header span{color:#969087;font-size:11px;font-weight:500}.dropdown-divider{height:1px;margin:5px 2px;background:#eeeae4}.dropdown-item{width:100%;display:flex;align-items:center;gap:11px;padding:10px 11px;border:none;border-radius:9px;background:transparent;color:#4b453e;font-family:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.dropdown-item svg{flex-shrink:0;color:#837a70;transition:color .18s ease}.dropdown-item:hover{background:#f8f4ec;color:#6c4d2d}.dropdown-item:hover svg{color:#a56f38}.dropdown-item.logout-item{color:#c2413b}.dropdown-item.logout-item svg{color:#c2413b}.dropdown-item.logout-item:hover{background:#fff1ef;color:#b42318}.dropdown-item.logout-item:hover svg{color:#b42318}@media(max-width:768px){.hrms-navbar{height:68px;padding:0 16px}.page-heading h1{font-size:19px}.breadcrumb,.profile-info,.profile-chevron{display:none}.profile-button{padding:3px}.navbar-right{gap:8px}.navbar-divider{display:none}}@media(max-width:420px){.hrms-navbar{padding:0 12px}.page-heading h1{font-size:17px}.notification-button{width:38px;height:38px}.profile-avatar{width:36px;height:36px}.profile-dropdown{right:-4px;width:210px}}.layout{min-height:100vh;background:#f7f6f3}.main{min-height:100vh;margin-left:260px;position:relative}.page-content{min-height:calc(100vh - 76px);padding:24px 28px;box-sizing:border-box}.sidebar-toggle{display:none;position:fixed;top:14px;left:14px;width:40px;height:40px;padding:9px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #e7e1d8;border-radius:10px;background:#fff;box-shadow:0 4px 15px #322b2214;cursor:pointer;z-index:3000;transition:all .2s ease}.sidebar-toggle span{width:19px;height:2px;border-radius:5px;background:#5c554c;transition:transform .2s ease,opacity .2s ease}.sidebar-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.sidebar-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.sidebar-overlay{position:fixed;inset:0;background:#231f1b7a;z-index:2500;opacity:1;transition:opacity .28s ease}@media(max-width:900px){.main{margin-left:230px}.page-content{padding:22px 20px}}@media(max-width:700px){.main{margin-left:0}.page-content{padding:18px 16px}.sidebar-toggle{display:flex}.sidebar-overlay{display:none}}@media(max-width:420px){.page-content{padding:16px 12px}.sidebar-toggle{top:13px;left:11px;width:36px;height:36px}}:root{--primary: #D7A876;--accent: #8B6B3E;--background: #FBF9E6;--text-dark: #3B2F1E;--text-light: #FFFFFF;--border: #E2D8B8;--card-bg: #FFFFFF;--input-bg: #F6EACB;--hover-bg: #F3E2B8}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--background);color:var(--text-dark)}.layout{display:flex;min-height:100vh}.sidebar{width:260px;min-height:100vh;background:linear-gradient(180deg,#d2ddb7,#e8efcf,#f6eacb);color:var(--text-dark);padding:25px 20px;display:flex;flex-direction:column;box-shadow:4px 0 18px #3b2f1e2e}.sidebar h2{text-align:center;margin-bottom:30px;font-size:22px;font-weight:700}.sidebar-toggle{width:44px;height:44px;background:linear-gradient(135deg,#d7a876,#c7955e);border-radius:10px;display:none;position:fixed;top:14px;left:14px;z-index:1100;align-items:center;justify-content:center;flex-direction:column;gap:5px}.sidebar-toggle span{width:22px;height:3px;background:#3b2f1e;border-radius:2px;transition:all .3s ease}.sidebar-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.sidebar-toggle.open span:nth-child(2){opacity:0}.sidebar-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.nav-btn{display:block;width:100%;padding:14px 16px;margin-bottom:12px;border-radius:14px;background:#ffffffa6;color:var(--text-dark);text-decoration:none;font-size:14px;font-weight:600;transition:all .3s ease}.nav-btn:hover{background:var(--primary);color:var(--text-dark);transform:translate(5px)}.nav-btn.active{background:var(--primary);font-weight:700;box-shadow:0 6px 16px #3b2f1e40}.sidebar .nav-btn:last-child{margin-top:auto}.main{flex:1}h1{text-align:center;color:var(--accent);margin-bottom:30px;font-size:26px}.selfservice-main{margin:0 20px}.selfservice-card{padding:25px 30px;border-radius:20px;border:1px solid var(--border);box-shadow:0 12px 30px #8b6b3e26;margin-bottom:20px;transition:all .25s ease}.my-leaves,.leave-balance{margin:20px;padding:25px 30px;border-radius:20px;border:1px solid var(--border);box-shadow:0 12px 30px #8b6b3e26;transition:all .25s ease}.apply-leave{padding:25px 30px;margin:20px;display:flex;flex-direction:column;gap:15px;max-width:350px;border-radius:20px;border:1px solid var(--border);box-shadow:0 12px 30px #8b6b3e26;transition:all .25s ease}.balance-box{margin-bottom:12px;padding:8px 10px;background:#ecfeff;border:1px solid #67e8f9;border-radius:6px;font-size:13px}.preview-box{margin-top:12px;padding:10px;background:#f8fafc;border:1px dashed #cbd5f5;border-radius:6px;font-size:14px}.error-box{margin-bottom:12px;padding:10px;background:#fee2e2;color:#991b1b;border-radius:6px;font-weight:600}.checkbox{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:600}.card,.section.card{background:var(--card-bg);padding:25px 30px;border-radius:20px;border:1px solid var(--border);box-shadow:0 12px 30px #8b6b3e26;margin-bottom:20px;transition:all .25s ease}.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #8b6b3e40}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.card p{color:#5c4a2e}.card h1{font-size:32px;color:var(--primary)}.tabs{display:flex;gap:12px;margin-bottom:25px}.tab{padding:10px 22px;border-radius:14px;background:#ede3c4;color:var(--text-dark);cursor:pointer;font-weight:600;transition:all .2s ease}.tab.active{background:var(--primary)}form{display:flex;flex-direction:column;gap:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.selfservice-grid{margin:10px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.selfservice-grid input,.selfservice-grid select,input,select{padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--input-bg);font-size:14px;color:var(--text-dark)}.selfservice-grid input:focus,.selfservice-grid select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #d7a87673}.selfservice-grid button{padding:12px 26px;background:linear-gradient(135deg,#d7a876,#c7955e);border:none;color:#3b2f1e;border-radius:18px;cursor:pointer;font-weight:700;transition:all .25s ease}.selfservice-grid button:hover{background:linear-gradient(135deg,#c7955e,#b8864b)}button{padding:12px 26px;background:linear-gradient(135deg,#d7a876,#c7955e);border:none;color:#3b2f1e;border-radius:18px;cursor:pointer;font-weight:700;transition:all .25s ease}button:hover{background:linear-gradient(135deg,#c7955e,#b8864b)}.logout-btn{background:linear-gradient(135deg,#b45309,#92400e);color:#fff}table{width:100%;border-collapse:collapse}thead th{background:#fdecef;padding:12px;color:var(--brand);text-align:left;font-weight:700}tbody td{padding:12px;border-bottom:1px solid var(--border)}tbody tr:hover{background:#fff1f4}.status-active{color:#16a34a;font-weight:700}.status-inactive{color:#dc2626;font-weight:700}.actions{display:flex;gap:8px}.actions .edit-btn{background:#fde68a;color:#92400e}.actions .delete-btn{background:#fee2e2;color:#991b1b}.badge{padding:4px 10px;border-radius:20px;font-size:12px;color:#fff}.badge.pending{background:#facc15}.badge.approved{background:#16a34a}.badge.rejected{background:#dc2626}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-top:30px}.chart-card{background:#fff;padding:20px;border-radius:18px;box-shadow:0 10px 30px #00000014}#profile,#salaryResult,#payslipList,#hrDocList,#empDocList{margin-top:20px;background:#fdecef;padding:20px;border-radius:14px;color:var(--brand)}.login-body{display:flex;height:100vh;align-items:center;justify-content:center;background:#0f172a}.login-box{background:#fff;padding:30px;width:320px;border-radius:12px;box-shadow:0 10px 30px #0000004d;text-align:center}.login-box input,.login-box select{width:100%;margin-bottom:12px}.login-box button{width:100%;background:#16a34a}.login-box button:hover{background:#15803d}.hint{font-size:12px;color:#9ca3af;margin-top:10px}@media(max-width:768px){.actions{flex-direction:column}.charts{grid-template-columns:1fr}}.letter-editor{background:#e5e7eb}.letter-page{width:210mm;min-height:297mm;background:#fff;position:relative;font-family:Arial,sans-serif;font-size:14px;line-height:1.7;color:#000;box-sizing:border-box;overflow:hidden;box-shadow:0 0 12px #00000026}.letter-header{position:absolute;top:0;left:0;right:0;height:110px;border-bottom:1px solid #000;display:flex;align-items:center;justify-content:center}.letter-header-center{display:flex;align-items:center}.letter-logo{height:60px;width:auto;object-fit:contain}.letter-company-name{margin:0;font-size:28px;font-weight:700;letter-spacing:.5px;color:#000}.letter-body{padding:120px 40px 110px;font-size:14px;line-height:1.7;color:#000}.letter-footer{position:absolute;bottom:0;left:0;right:0;height:85px;border-top:1px solid #000;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:#444}.letter-footer-center{line-height:1.6}@media print{body{background:#fff}.layout,.main>*:not(.letter-editor){display:none!important}.letter-editor{padding:0;background:#fff}.letter-page{box-shadow:none;margin:0;page-break-after:always}button,input,select{display:none!important}}.letter-header{text-align:center;margin-bottom:20px}.letter-header-center{display:flex;justify-content:center;align-items:center;gap:14px}.letter-logo{height:60px}.letter-company-name{font-size:28px;font-weight:700;margin:0}.letter-body{margin-bottom:30px}.letter-footer{text-align:center;font-size:11px;color:#444}.page-break{page-break-before:always}@media print{body{background:#fff}button,input,select{display:none!important}.letter-editor{padding:0;background:#fff}.letter-page{margin:0}}.salary-slip{width:794px;min-height:1123px;margin:auto;padding:30px 40px;font-family:Times New Roman,serif;color:#000;background:#fff}.header{text-align:center;line-height:1.4}.header h2{margin:0;font-size:20px;font-weight:700;text-transform:uppercase}.header p{margin:0;font-size:13px}.header h3{margin-top:15px;font-size:15px;font-weight:700;text-transform:uppercase;border-top:1px solid #000;border-bottom:1px solid #000;padding:6px 0}.employee-info{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:6px;font-size:13px;margin-top:15px}.employee-info div{display:flex;justify-content:space-between}.employee-info b{min-width:130px}.salary-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:13px}.salary-table th,.salary-table td{border:1px solid #000;padding:6px 8px}.salary-table th{text-align:center;font-weight:700}.salary-table td:nth-child(2),.salary-table td:nth-child(4){text-align:right}.salary-table tr:last-child td{font-weight:700}.net-salary{margin-top:18px;font-size:14px}.net-salary b{font-size:15px}.net-salary p{margin-top:4px;font-size:13px}.footer{margin-top:80px;display:flex;justify-content:space-between;font-size:13px;text-align:center}.footer div{width:30%;border-top:1px solid #000;padding-top:6px}@media print{body{margin:0}.salary-slip{page-break-after:avoid}}.pdf-page{position:relative;width:210mm;min-height:297mm;padding:10mm 20mm 30mm;box-sizing:border-box;page-break-after:always}.pdf-header{position:absolute;left:0;right:0;text-align:center;display:flex;justify-content:center;align-items:center;gap:14px}.pdf-footer{position:absolute;bottom:10mm;left:0;right:0;text-align:center;font-size:11px}.pdf-body{margin-top:20mm}@media(max-width:768px){body{font-size:14px}h1{font-size:20px;margin-bottom:18px}button{width:100%;padding:14px;font-size:15px}}@media(max-width:768px){.layout{flex-direction:column}.main{padding:12px}}@media(max-width:768px){.sidebar{position:fixed;top:0;left:-260px;width:260px;height:100vh;flex-direction:column;overflow-y:auto;background:linear-gradient(180deg,#d2ddb7,#e8efcf,#f6eacb);z-index:1000;transition:left .3s ease}.layout.sidebar-open .sidebar{left:0}.sidebar{overflow-x:hidden!important}.sidebar h2{display:block}}@media(max-width:768px){.sidebar-toggle{display:flex}.main{padding-top:64px}.layout.sidebar-open:after{content:"";position:fixed;inset:0;background:#00000073;z-index:900}}@media(max-width:768px){table,thead,tbody,tr,th,td{display:block}thead{display:none}tbody tr{background:#fff;margin-bottom:14px;padding:14px;border-radius:16px;box-shadow:0 10px 26px #0000001f}tbody td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--border);font-size:14px}tbody td:last-child{border-bottom:none}tbody td:before{content:attr(data-label);font-weight:700;color:var(--accent)}.actions{flex-direction:column;gap:6px}.actions button{width:100%}}.bottom-nav{display:none}@media(max-width:768px){.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;display:flex;justify-content:space-around;align-items:center;box-shadow:0 -6px 20px #0000002e;z-index:900}.bottom-nav a{font-size:22px;text-decoration:none;color:var(--accent)}.bottom-nav a.active{color:var(--primary)}.main{padding-bottom:80px}}@media(max-width:768px){button,input,select,textarea{min-height:44px}}.my-attendance{width:100%;box-sizing:border-box}.my-attendance h2{margin:0 0 20px;color:#2d2924;font-size:24px;font-weight:800}.late-summary{padding:12px 15px;margin-bottom:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:9px;color:#7c4a20;font-size:13px;font-weight:600}.late-warning{padding:12px 15px;margin-bottom:18px;background:#fff1f2;border:1px solid #fecdd3;border-radius:9px;color:#9f1239;font-size:13px;font-weight:600}.attendance-actions{display:flex;align-items:center;gap:10px;margin-bottom:20px}.attendance-actions button{min-height:40px;padding:0 17px;border:0;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.attendance-actions button:hover:not(:disabled){transform:translateY(-1px)}.attendance-actions button:disabled{opacity:.45;cursor:not-allowed}.punch-in-btn{background:#e8f5e9;color:#24732f;border:1px solid #c8e6c9!important}.punch-in-btn:hover:not(:disabled){box-shadow:0 4px 12px #2e7d321f}.punch-out-btn{background:#fff0f0;color:#c62828;border:1px solid #ffcdd2!important}.punch-out-btn:hover:not(:disabled){box-shadow:0 4px 12px #c628281f}.view-leave-btn{background:#f5eadc;color:#76502f;border:1px solid #ead7bf!important}.attendance-table-container{width:100%;background:#fff;border:1px solid #ebe5da;border-radius:14px;overflow:hidden;box-sizing:border-box}.attendance-table-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.attendance-table{width:100%;min-width:760px;border-collapse:collapse;border-spacing:0;background:#fff}.attendance-table th{height:46px;padding:0 15px;background:#faf8f4;border-bottom:1px solid #e8e1d7;color:#8b8278;font-size:9px;font-weight:800;letter-spacing:.9px;text-align:left;text-transform:uppercase;white-space:nowrap}.attendance-table td{height:54px;padding:0 15px;border-bottom:1px solid #f1ede7;color:#514b44;font-size:12.5px;font-weight:500;white-space:nowrap}.attendance-table tbody tr:last-child td{border-bottom:none}.attendance-table tbody tr{transition:background .18s ease}.attendance-table tbody tr:hover{background:#fdfaf6}.attendance-empty{height:100px!important;color:#9b948b!important;text-align:center!important;font-size:13px!important}.late-reason-btn{padding:5px 9px;background:#fff5f5;border:1px solid #fecaca;border-radius:6px;color:#d32f2f;font-size:11px;font-weight:700;cursor:pointer;transition:all .18s ease}.late-reason-btn:hover{background:#fee2e2}.late-approved{color:#2563eb;font-size:12px;font-weight:700}.reason-submitted{color:#ca8a04;font-size:12px;font-weight:700}.on-time{color:#2e7d32;font-size:12px;font-weight:700}.late-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#14110e73;z-index:3000}.late-modal{width:400px;max-width:100%;padding:22px;background:#fff;border:1px solid #ebe5da;border-radius:14px;box-shadow:0 18px 45px #2d261e33;box-sizing:border-box}.late-modal h3{margin:0 0 15px;color:#2d2924;font-size:18px;font-weight:800}.late-modal textarea{width:100%;min-height:100px;padding:11px 12px;box-sizing:border-box;background:#fffdf9;border:1px solid #ddd5ca;border-radius:9px;color:#3f3933;font-family:inherit;font-size:13px;resize:vertical;outline:none}.late-modal textarea:focus{border-color:#c99559;box-shadow:0 0 0 3px #c995591f}.late-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}.late-modal-actions button{min-height:38px;padding:0 15px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.cancel-btn{background:#f7f4ef;border:1px solid #e5ded4;color:#6b6259}.submit-btn{background:#b98248;border:1px solid #b98248;color:#fff}.submit-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.my-attendance h2{font-size:21px;margin-bottom:16px}.attendance-actions{flex-wrap:wrap}.attendance-actions button{min-height:42px}.attendance-table{display:table!important;width:100%;min-width:760px}.attendance-table thead{display:table-header-group!important}.attendance-table tbody{display:table-row-group!important}.attendance-table tr{display:table-row!important}.attendance-table th,.attendance-table td{display:table-cell!important}.attendance-table td:before{content:none!important}.attendance-table-container{border-radius:11px}.attendance-table th{height:44px;padding:0 12px}.attendance-table td{height:48px;padding:0 12px}.late-summary,.late-warning{font-size:12px}.late-modal{width:100%}}@media(max-width:420px){.attendance-actions{width:100%}.attendance-actions button{flex:1;min-width:0;padding:0 10px}.attendance-table{min-width:720px}.attendance-table th,.attendance-table td{padding-left:10px;padding-right:10px}}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:68px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:750;line-height:1;white-space:nowrap}.status-present{background:#ecfdf3;border:1px solid #ccebd8;color:#247a43}.status-working{background:#fff7e8;border:1px solid #f4dfb6;color:#9a671e}.status-leave{background:#f4efff;border:1px solid #e2d6fa;color:#7251a8}.status-holiday{background:#eef5ff;border:1px solid #d5e5fb;color:#3d6eaa}.status-weekly-off{background:#f5f5f5;border:1px solid #e4e4e4;color:#77716b}.late-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:750;white-space:nowrap}.late-on-time{background:#ecfdf3;border:1px solid #ccebd8;color:#247a43}.late-approved{background:#eef5ff;border:1px solid #d5e5fb;color:#2563eb}.late-submitted{background:#fff8e6;border:1px solid #f3dfad;color:#a16b00}.late-na{color:#aaa39a;font-size:13px}.late-reason-btn{padding:5px 10px;background:#fff5f5;border:1px solid #f3caca;border-radius:999px;color:#c62828;font-size:10px;font-weight:750;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.late-reason-btn:hover{background:#fee8e8;border-color:#e9aaaa;transform:translateY(-1px)}.attendance-table td:first-child{color:#39342e;font-weight:650}.attendance-table td:nth-child(2){color:#6d665e}.attendance-table td:nth-child(3),.attendance-table td:nth-child(4){color:#4b453e;font-weight:600}.attendance-table td:nth-child(5){color:#6d665e;font-variant-numeric:tabular-nums}.apply-leave-page{width:100%;max-width:900px;margin:0 auto;padding:8px 4px 40px;box-sizing:border-box}.apply-leave-header{margin-bottom:22px}.apply-leave-header h2{margin:0;color:#2d2924;font-size:24px;font-weight:800;letter-spacing:-.5px}.apply-leave-header p{margin:6px 0 0;color:#958d83;font-size:13px}.apply-leave-card{background:#fff;border:1px solid #e9e5dc;border-radius:16px;box-shadow:0 4px 18px #2d261e0a;overflow:hidden}.form-section{padding:25px 28px;border-bottom:1px solid #f0ece5}.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.section-number{width:29px;height:29px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f7ecdc;color:#9b6a39;font-size:10px;font-weight:800}.section-heading h3{margin:1px 0 4px;color:#352f29;font-size:15px;font-weight:750}.section-heading p{margin:0;color:#9b948b;font-size:12px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group label,.half-day-select label{color:#5e574f;font-size:12px;font-weight:700}.form-group label span,.half-day-select label span{color:#b98248;margin-left:3px}.form-group select,.form-group input,.half-day-select select,.form-group textarea{width:100%;box-sizing:border-box;border:1px solid #ddd7cd;border-radius:9px;background:#fff;color:#3f3933;font-family:inherit;font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.form-group select,.form-group input,.half-day-select select{height:43px;padding:0 12px}.form-group textarea{min-height:110px;padding:12px;resize:vertical}.form-group select:focus,.form-group input:focus,.half-day-select select:focus,.form-group textarea:focus{border-color:#c99559;box-shadow:0 0 0 3px #c995591a}.form-group input::placeholder,.form-group textarea::placeholder{color:#b5aea5}.leave-balance-card{margin-top:13px;display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid #eadfce;border-radius:10px;background:#fcf8f2}.balance-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ead6b9;color:#80552f;font-size:13px;font-weight:800}.balance-content{display:flex;flex-direction:column;gap:2px}.balance-content span{color:#9a9187;font-size:10px;font-weight:600}.balance-content strong{color:#594633;font-size:14px}.half-day-option{display:flex;align-items:center;gap:11px;padding:12px 14px;margin-bottom:16px;border:1px solid #e5dfd5;border-radius:10px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.half-day-option:hover{background:#fcfaf7}.half-day-option.selected{border-color:#d7b78f;background:#fcf6ed}.half-day-checkbox{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #cfc7bc;border-radius:5px;color:#fff;background:#fff;font-size:11px;font-weight:800}.half-day-option.selected .half-day-checkbox{border-color:#b98248;background:#b98248}.half-day-option strong{display:block;color:#514a42;font-size:12px}.half-day-option span{display:block;margin-top:3px;color:#9b9389;font-size:10px}.half-day-select{margin-bottom:16px}.half-day-select select{margin-top:7px}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.leave-preview{margin:20px 28px 0;padding:17px;border:1px solid #e6dfd5;border-radius:12px;background:#faf8f4}.leave-preview.error{background:#fff7f7;border-color:#f1d0d0}.preview-header{margin-bottom:14px}.preview-header strong{display:block;color:#4b433b;font-size:13px}.preview-header span{display:block;margin-top:3px;color:#a19a91;font-size:10px}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.preview-stat{padding:11px;border-radius:8px;background:#fff;border:1px solid #eee8df}.preview-stat span{display:block;color:#999187;font-size:10px;font-weight:600}.preview-stat strong{display:block;margin-top:4px;color:#51483f;font-size:17px}.preview-stat.unpaid strong{color:#b45309}.skipped-days{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-top:11px;border-top:1px solid #ebe5dc}.skipped-days strong{color:#736b62;font-size:10px}.skipped-days span{color:#9c948a;font-size:10px}.preview-error{display:flex;align-items:center;gap:9px;color:#b42318;font-size:12px;font-weight:600}.preview-error span{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fee2e2;color:#dc2626;font-weight:800}.reason-section{margin-top:20px}.apply-leave-actions{display:flex;justify-content:flex-end;padding:18px 28px;background:#fcfbf9}.apply-leave-button{min-width:145px;height:42px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:13px;border:0;border-radius:9px;background:linear-gradient(135deg,#b98248,#9d6938);color:#fff;font-family:inherit;font-size:12px;font-weight:750;cursor:pointer;box-shadow:0 4px 10px #97653529;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.apply-leave-button span{font-size:16px}.apply-leave-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #97653538}.apply-leave-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:700px){.apply-leave-page{padding:4px 0 30px}.apply-leave-header h2{font-size:21px}.form-section{padding:21px 20px}.leave-preview{margin-left:20px;margin-right:20px}.apply-leave-actions{padding:16px 20px}}@media(max-width:520px){.apply-leave-card{border-radius:12px}.date-grid{grid-template-columns:1fr;gap:13px}.preview-stats{grid-template-columns:1fr 1fr}.preview-stat:last-child{grid-column:span 2}.apply-leave-button{width:100%}.apply-leave-actions{display:block}}.my-leaves-page{width:100%;box-sizing:border-box;padding:28px;color:#39342e}.my-leaves-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.my-leaves-header h2{margin:0;color:#2d2924;font-size:24px;font-weight:800;letter-spacing:-.4px}.my-leaves-header p{margin:7px 0 0;color:#989087;font-size:12px;font-weight:500}.leave-count{padding:7px 11px;background:#faf5ed;border:1px solid #eadfce;border-radius:999px;color:#765332;font-size:10px;font-weight:750}.my-leaves-card{width:100%;box-sizing:border-box;background:#fff;border:1px solid #ebe5dc;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px #4134260b}.leaves-table-container{width:100%;overflow:hidden}.leaves-table-scroll{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#ddd7cd transparent}.leaves-table-scroll::-webkit-scrollbar{height:5px}.leaves-table-scroll::-webkit-scrollbar-track{background:transparent}.leaves-table-scroll::-webkit-scrollbar-thumb{background:#ddd7cd;border-radius:10px}.leaves-table{width:100%;min-width:700px;border-collapse:collapse;border-spacing:0}.leaves-table th{height:46px;padding:0 16px;background:#faf8f4;border-bottom:1px solid #e8e1d7;color:#8b8278;font-size:9px;font-weight:800;letter-spacing:.9px;text-align:left;text-transform:uppercase;white-space:nowrap}.leaves-table td{height:58px;padding:0 16px;border-bottom:1px solid #f1ede7;color:#514b44;font-size:12px;font-weight:500;white-space:nowrap}.leaves-table tbody tr{transition:background .18s ease}.leaves-table tbody tr:hover{background:#fdfbf8}.leaves-table tbody tr:last-child td{border-bottom:none}.leave-type-cell{min-width:145px}.leave-type{color:#3d3731;font-size:12.5px;font-weight:700}.half-day-label{display:inline-flex;margin-top:5px;padding:3px 7px;background:#fff7e8;border:1px solid #f1dfbd;border-radius:999px;color:#a16b00;font-size:9px;font-weight:700}.date-value{color:#625b53;font-size:11.5px;font-weight:550}.leave-status{display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:750}.status-approved{background:#ecfdf3;border:1px solid #ccebd8;color:#247a43}.status-pending{background:#fff8e6;border:1px solid #f2dfad;color:#a16b00}.status-rejected{background:#fff1f2;border:1px solid #f3d0d4;color:#b42335}.status-default{background:#f5f5f5;border:1px solid #e5e5e5;color:#77716b}.pay-badge{display:inline-flex;align-items:center;justify-content:center;min-width:55px;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:750}.pay-paid{background:#ecfdf3;border:1px solid #ccebd8;color:#247a43}.pay-unpaid{background:#fff1f2;border:1px solid #f3d0d4;color:#b42335}.leaves-state{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#918980;font-size:11px}.empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:2px;background:#faf6ef;border:1px solid #ece1d1;border-radius:13px;font-size:20px}.empty-state h3{margin:0;color:#514a43;font-size:14px;font-weight:750}.empty-state p{margin:0;color:#9b938a;font-size:11px}.loading-spinner{width:22px;height:22px;border:2px solid #eadfce;border-top-color:#b98248;border-radius:50%;animation:leaves-spin .8s linear infinite}@keyframes leaves-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.my-leaves-page{padding:22px}}@media(max-width:700px){.my-leaves-page{padding:18px 14px}.my-leaves-header{align-items:flex-start;gap:12px}.my-leaves-header h2{font-size:21px}.my-leaves-header p{max-width:250px;font-size:11px;line-height:1.5}.leave-count{flex-shrink:0}.my-leaves-card{border-radius:12px}.leaves-table{min-width:680px}}@media(max-width:420px){.my-leaves-page{padding:15px 10px}.my-leaves-header{flex-direction:column}.leave-count{align-self:flex-start}}
