@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#f5f7fa;font-family:Poppins,sans-serif;margin:0}.logo-div{align-items:center;display:flex;height:10rem;justify-content:center;width:10rem}.logo-div img{max-height:100%;max-width:100%;object-fit:contain}.app-shell{min-height:100vh}.auth-container{display:flex;height:100vh}.auth-left{align-items:center;background:linear-gradient(135deg,#2ed8a3,#2bb7da,#1e6bd6);display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:60px;position:relative}.auth-left:before{background:#ffffff14;border-radius:50%;content:"";height:650px;position:absolute;right:-180px;top:-180px;width:650px}.branding{max-width:520px;position:relative;z-index:2}.brand-logo{margin-bottom:35px;object-fit:contain;width:180px}.brand-heading{color:#fff;font-size:64px;font-weight:800;letter-spacing:-2px;line-height:1.05;margin:0}.brand-heading span{display:inline}.brand-subtitle{color:#ffffffeb;font-size:24px;font-weight:400;margin-bottom:22px;margin-top:28px}.brand-company{color:#ffffffc7;font-size:15px;line-height:1.6}.auth-right{align-items:center;background:#f4f5f9;flex:1 1;overflow:hidden;padding:60px}.auth-card,.auth-right{display:flex;justify-content:center}.auth-card{flex-direction:column;max-width:520px;overflow:visible;width:100%}.auth-card h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e6bd6,#2bb7da);background-clip:text;-webkit-background-clip:text;font-size:48px;line-height:normal;margin:0 0 30px;padding-bottom:12px;padding-top:8px}.auth-hint{color:#64748b;font-size:14px;line-height:1.5;margin:-16px 0 10px}.auth-card h2{color:#1e6bd6;font-size:52px;font-weight:800;letter-spacing:-2px;line-height:1.1;margin-bottom:10px;white-space:nowrap}.auth-card form{display:flex;flex-direction:column;width:100%}.auth-card input{background:#fff;border:1px solid #e4e7ec;border-radius:18px;box-sizing:border-box;font-size:16px;height:58px;padding:0 10px;transition:.2s ease;width:100%}.auth-card button{background:linear-gradient(135deg,#1e6bd6,#2bb7da);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:17px;font-weight:500;height:58px;margin-top:1rem;transition:.25s ease;width:100%}.auth-links{align-items:center;display:flex;justify-content:space-between;margin-top:24px;padding:0 2px;width:100%}.error{color:#e11d48;margin-top:12px}.success{color:#16a34a;margin-top:12px}.form-group{margin-bottom:10px;margin-top:0;width:100%}.field-helper{display:flex;justify-content:space-between;margin-top:4px;padding:0 5px}.forgot-link{color:#06c;font-size:.85rem;text-decoration:none}.forgot-link:hover{text-decoration:underline}.dashboard-layout{display:flex;height:100vh}.dashboard-layout:not(:has(.main-area)) .sidebar{background:linear-gradient(180deg,#2ed8a3,#2bb7da,#1e6bd6);color:#fff;padding:24px;width:240px}.sidebar h2{margin-bottom:30px}.sidebar nav{display:flex;flex-direction:column;gap:1px}.sidebar a{color:#fff;font-size:15px;text-decoration:none}.dashboard-main{display:flex;flex:1 1;flex-direction:column}.topbar{align-items:center;background:#fff;border-bottom:1px solid #eee;display:flex;height:70px;justify-content:space-between;padding:0 24px}.dashboard-content{padding:24px}.dashboard-cards{display:flex;gap:20px;margin-top:20px}.card{background:#fff;border-radius:18px;box-shadow:0 2px 8px #0000000d;flex:1 1;padding:30px;text-align:center}.brand-title{color:#fff;font-size:86px;font-weight:800;letter-spacing:-4px;line-height:.95;margin:0}.login-powered{color:#777;font-size:14px;margin-top:30px}.back-link{margin-top:18px}.back-link a{color:#1e6bd6;font-size:14px;text-decoration:none}.back-link a:hover{text-decoration:underline}.bg-image{height:100%;inset:0;object-fit:contain;position:absolute;width:100%;z-index:-1}.login-container{background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100vh;overflow:hidden;width:100%}.login-content{align-items:center;display:grid;flex-grow:1;grid-template-columns:1.1fr .9fr;margin:0 auto;max-width:1400px;padding:0 20px;width:100%}.hero-section{color:#fff;display:flex;flex-direction:column;gap:30px;padding-right:50px}.brand-header{align-items:center;display:flex;height:47px;justify-content:flex-start;overflow:visible;width:203px}.workza-logo{height:auto;left:-68px;margin:70px 0 0;position:relative;transform:scale(1.75);transform-origin:left center;width:170px}.brand-icon{align-items:center;background-color:#fff;border-radius:8px;color:#0d82d4;display:flex;font-size:24px;font-weight:900;height:44px;justify-content:center;width:44px}.brand-text h2{font-size:20px;letter-spacing:1px}.brand-text p{font-size:10px;opacity:.8;text-transform:uppercase}.hero-text-block h1{font-size:42px;font-weight:700;line-height:1.2;margin-bottom:15px;margin-top:45px}.hero-subtitle{font-size:16px;line-height:1.5;max-width:480px;opacity:.9}.features-list{display:flex;flex-direction:column;gap:10px}.feature-item{gap:15px}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff;border-radius:8px;font-size:18px;height:46px;justify-content:center;width:47px}.feature-info h3{font-size:15px;font-weight:600}.feature-info p{font-size:13px;opacity:.8}.security-badge{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;display:flex;gap:10px;margin-top:28px;max-width:-webkit-fit-content;max-width:fit-content;padding:14px 26px;top:5px}.shield-icon{font-size:20px}.security-badge strong{display:block;font-size:12px;letter-spacing:1px}.security-badge p{font-size:11px;opacity:.8}.form-section{align-items:flex-end;display:flex;flex-direction:column;position:relative;top:4%}.help-link{color:#0369a1;cursor:pointer;font-size:14px;font-weight:600;position:absolute;right:20px;top:-35px}.form-card{background:#fff;border-radius:24px;box-shadow:0 10px 30px #0000000d;max-width:580px;padding:40px;width:100%}.form-header h2{color:#1e293b;font-size:24px;margin-bottom:6px}.form-header p{color:#64748b;font-size:14px;margin-bottom:24px}.input-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.input-group label{color:#334155;font-size:13px;font-weight:600}.input-group input{border:1px solid #cbd5e1;border-radius:8px;color:#334155;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s}.input-group input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c71a}.helper-text{color:#94a3b8;font-size:11px;margin-top:2px}.form-utilities{font-size:12px;justify-content:space-between;margin-bottom:24px}.form-utilities,.remember-me{align-items:center;display:flex}.remember-me{color:#475569;cursor:pointer;gap:6px}.forgot-links{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.forgot-links a{color:#0284c7;font-weight:500;text-decoration:none}.forgot-links a:hover{text-decoration:underline}.btn-login{background:linear-gradient(135deg,#0284c7,#10b981);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:opacity .2s;width:100%}.btn-login:hover{opacity:.95}.form-divider{background-color:#f1f5f9;height:1px;margin:24px 0}.action-buttons-group{display:flex;gap:15px}.btn-secondary{background:none;border:1px solid #0284c7;border-radius:8px;color:#0284c7;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .2s}.btn-secondary:hover{background-color:#f0f9ff}.footer-copyright{color:#000;font-size:12px;font-weight:600px;letter-spacing:1%;line-height:24px;text-align:center;width:100%}@media (max-width:900px){.login-content{gap:40px;grid-template-columns:1fr;padding:20px}.hero-section{align-items:center;padding-right:0;text-align:center}.hero-subtitle{margin:0 auto}.features-list{align-items:flex-start}.security-badge{margin:0 auto}.form-section{align-items:center}.help-link{margin-bottom:15px;position:static}}*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f7fb;font-family:Inter,sans-serif}:root{--sidebar-width:280px}.dashboard-layout{background:#f5f7fb;min-height:100vh}.dashboard-layout .sidebar{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:24px;height:100vh;justify-content:flex-start;left:0;overflow:hidden;padding:5px 20px 30px;position:fixed;top:0;width:280px;width:var(--sidebar-width);z-index:100}.sidebar-top{display:flex;flex-direction:column;min-height:0}.brand h1{color:#2563eb;font-size:26px;font-weight:800;line-height:1}.client-info{color:#0ea5e9;font-size:16px;font-weight:700;margin-top:16px}.brand span{color:#06b6d4}.brand p{color:#6b7280;font-size:14px;font-size:15px;margin-top:6px}.sidebar-menu{display:flex;flex:1 1;flex-direction:column;gap:10px;margin-top:10px;min-height:0;overflow-x:hidden;overflow-y:auto}.menu-item{align-items:center;background:#0000;border:none;border-radius:14px;color:#475569;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;height:52px;transition:.2s}.menu-item:hover{background:#f1f5f9}.menu-item.active{background:#eff6ff;color:#2563eb}.sidebar-user{border-top:1px solid #e5e7eb;gap:12px;margin-top:auto;padding-top:20px}.sidebar-user,.user-avatar{align-items:center;display:flex;flex-shrink:0}.user-avatar{background:#2563eb;border-radius:50%;color:#fff;font-weight:700;height:48px;justify-content:center;overflow:hidden;width:48px}.user-avatar-img{display:block;height:100%;object-fit:cover;width:100%}.user-meta h4{font-size:14px}.user-meta p{color:#6b7280;font-size:12px}.dashboard-layout .main-area{display:flex;flex-direction:column;margin-left:280px;margin-left:var(--sidebar-width);min-height:100vh;min-width:0;width:calc(100% - 280px);width:calc(100% - var(--sidebar-width))}.dashboard-layout .topbar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:16px;height:78px;justify-content:space-between;min-width:0;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar h2{color:#111827;font-size:16px;font-weight:700;margin:0}.topbar p{color:#6b7280;font-size:12px;margin-top:4px}.logout-btn{align-items:center;background:#ef4444;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;height:46px;padding:0 20px}.dashboard-layout .page-content{flex:1 1;min-width:0;overflow-x:auto;padding:20px 24px 32px}.stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.stat-card{background:#fff;border:1px solid #edf2f7;border-radius:10px;display:flex;flex-direction:row-reverse;gap:12px;justify-content:flex-end;padding:20px 15px}.stat-card div{display:flex;flex-direction:column;gap:2px}.stat-card h4{color:#6b7280;font-size:15px;font-weight:600}.stat-card h2{color:#111827;font-size:24px}.positive{color:#16a34a}.neutral,.positive{font-size:12px;font-weight:600}.neutral{color:#64748b}.negative{color:#dc2626;font-size:12px;font-weight:600}.stat-icon{align-items:center;border-radius:10px;display:flex;font-size:28px;height:100%;justify-content:center;width:54px}.blue{background:#dbeafe}.green{background:#dcfce7}.orange{background:#ffedd5}.purple{background:#f3e8ff}.bottom-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);height:100%;margin-top:28px}.activity-card,.leave-card{background:#fff;border:1px solid #edf2f7;border-radius:22px;max-height:40rem;min-height:15rem;overflow:hidden auto;padding:28px}.activity-card::-webkit-scrollbar,.leave-card::-webkit-scrollbar{width:8px}.activity-card::-webkit-scrollbar-track,.leave-card::-webkit-scrollbar-track{background:#0000;margin:1rem 0}.activity-card::-webkit-scrollbar-thumb,.leave-card::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#cbd5e1;border-radius:20px;margin-top:5px}.activity-card::-webkit-scrollbar-thumb:hover,.leave-card::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.activity-card h3,.leave-card h3{color:#111827;font-size:18px;margin-bottom:24px}.activity-item{border-bottom:1px solid #f1f5f9;display:flex;gap:16px;padding:18px 0}.activity-avatar{align-items:center;background:#dbeafe;border-radius:50%;color:#2563eb;display:flex;font-weight:700;height:52px;justify-content:center;width:42px}.activity-item h4{font-size:15px;margin-bottom:6px}.activity-item p{color:#6b7280;font-size:13px}.leave-item{background:#f8fafc;border-radius:14px;margin-bottom:16px;padding:14px}.leave-item h4{font-size:15px;margin-bottom:5px}.leave-item p{color:#6b7280;font-size:13px;margin-bottom:6px}.leave-item span{color:#2563eb;font-size:13px;font-weight:600}.dashboard-page{min-height:100%;width:100%}.dashboard-welcome{margin-bottom:20px}.dashboard-welcome h3{color:#111827;font-size:22px;font-weight:700;margin-bottom:6px}.dashboard-welcome p{color:#64748b;font-size:14px}.role-badge{background:#eff6ff;border-radius:20px;color:#2563eb;display:inline-block;font-size:12px;font-weight:600;margin-left:4px;padding:2px 10px}.dashboard-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px}.dashboard-loading .spin{animation:dashboard-spin .8s linear infinite;color:#2563eb}@keyframes dashboard-spin{to{transform:rotate(1turn)}}.dashboard-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:14px 18px}.insights-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.insight-chip{align-items:center;background:#eff6ff;border-radius:20px;color:#1d4ed8;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 14px}.insight-chip.warning{background:#fff7ed;color:#c2410c}.dashboard-mid-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-top:24px}.chart-card,.summary-card{background:#fff;border:1px solid #edf2f7;border-radius:22px;padding:24px 28px}.summary-card{margin-top:1rem}.chart-card-head{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.chart-card-head h3{align-items:center;color:#111827;display:flex;font-size:17px;gap:8px;margin-bottom:4px}.chart-card-head p{color:#64748b;font-size:13px}.attendance-rate-badge{background:#dcfce7;border-radius:20px;color:#15803d;font-size:13px;font-weight:700;padding:6px 12px;white-space:nowrap}.dashboard-chart{margin-top:8px}.attendance-breakdown{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px}.breakdown-item{border-radius:20px;font-size:12px;font-weight:600;padding:4px 10px}.breakdown-item.present{background:#dcfce7;color:#15803d}.breakdown-item.absent{background:#fee2e2;color:#dc2626}.breakdown-item.late{background:#fef3c7;color:#d97706}.breakdown-item.half{background:#e0e7ff;color:#4338ca}.summary-card h3{color:#111827;font-size:17px;margin-bottom:4px}.summary-period{color:#64748b;font-size:13px;margin-bottom:20px}.summary-rows{display:flex;flex-direction:column;gap:14px}.summary-row{align-items:center;color:#64748b;display:flex;font-size:14px;justify-content:space-between}.summary-row strong{color:#111827;font-size:16px}.text-green{color:#16a34a!important}.text-amber{color:#d97706!important}.link-btn{align-items:center;background:#0000;border:none;color:#2563eb;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-top:16px;padding:0}.link-btn.small{font-size:12px;margin-top:0}.section-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-head h3{font-size:18px;margin-bottom:0}.section-count{color:#94a3b8;font-size:12px;font-weight:600}.activity-body h4{color:#111827;font-size:14px;font-weight:600;margin-bottom:2px}.activity-body p{color:#475569;font-size:13px;margin-bottom:4px}.activity-time{color:#94a3b8;font-size:12px}.activity-avatar.leave{background:#ffedd5;color:#c2410c}.activity-avatar.expense{background:#f3e8ff;color:#7c3aed}.activity-avatar.attendance{background:#dcfce7;color:#15803d}.activity-avatar.employee{background:#dbeafe;color:#2563eb}.leave-item-top{gap:12px;margin-bottom:8px}.leave-avatar,.leave-item-top{align-items:center;display:flex}.leave-avatar{background:#dbeafe;border-radius:50%;color:#2563eb;flex-shrink:0;font-size:12px;font-weight:700;height:36px;justify-content:center;width:36px}.empty-hint{color:#94a3b8;font-size:14px;padding:12px 0}.approvals-section{margin-top:28px;padding:0}.approvals-section h3{color:#111827;font-size:18px;margin-bottom:16px;padding-left:8px}.approvals-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.approval-card{background:#fff;border:1px solid #edf2f7;border-radius:18px;padding:22px}.approval-card-head{align-items:center;color:#111827;display:flex;font-size:16px;font-weight:700;gap:8px;margin-bottom:16px}.approval-count{background:#fef3c7;border-radius:20px;color:#d97706;font-size:12px;font-weight:700;margin-left:auto;padding:2px 10px}.approval-item{border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;font-size:13px;gap:2px;padding:10px 0}.approval-item strong{color:#111827}.approval-item span{color:#64748b}@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.approvals-grid,.bottom-grid,.dashboard-mid-grid{grid-template-columns:1fr}}@media (max-width:600px){.stats-grid{grid-template-columns:1fr}}.stats-grid{margin-top:10px}.bottom-grid{margin-top:20px}.employee-page{max-width:100%;min-width:0;width:100%}.employee-page__count{color:#64748b;font-size:14px;margin:0 0 16px}.employee-page__count strong{color:#0f172a;font-weight:700}.employee-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.search-wrapper{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex:1 1;gap:10px;max-width:100%;min-height:40px;min-width:0;padding:0 14px}.search-wrapper svg{color:#94a3b8;flex-shrink:0}.search-wrapper input{background:#0000;border:none;flex:1 1;font-size:14px;min-width:0;outline:none;width:100%}.toolbar-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px}.add-btn,.upload-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:48px;justify-content:center;padding:0 16px;white-space:nowrap}.upload-btn{background:#f1f5f9;color:#111827}.add-btn{background:linear-gradient(135deg,#1e6bd6,#2bb7da);color:#fff}.employee-table-card{background:#fff;border:1px solid #edf2f7;border-radius:16px;max-width:100%;overflow:hidden;padding:0;width:100%}.employee-table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;padding:16px 20px 20px;width:100%}.employee-table{border-collapse:collapse;min-width:880px;width:100%}.employee-table th{border-bottom:1px solid #f1f5f9;color:#6b7280;font-size:13px;padding:14px;text-align:left}.employee-table td{border-bottom:1px solid #f8fafc;font-size:14px;padding:16px 14px}.employee-table tr:hover{background:#f9fafb}.empty-row{color:#9ca3af;padding:24px;text-align:center}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px}.status-badge.active{background:#dcfce7;color:#15803d}.status-badge.inactive{background:#fee2e2;color:#dc2626}.action-buttons{display:flex;flex-wrap:nowrap;gap:6px}@media (max-width:1100px){:root{--sidebar-width:260px}.dashboard-layout .topbar{padding:0 20px}.dashboard-layout .page-content{padding:16px 18px 28px}}@media (max-width:768px){.employee-toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{width:100%}.add-btn,.upload-btn{flex:1 1;min-width:0}.dashboard-layout .topbar h2{font-size:15px}}.delete-btn,.edit-btn,.view-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.approve-btn svg,.delete-btn svg,.document-actions button svg,.document-icon svg,.edit-btn svg,.leave-actions button svg,.letter-btn svg,.logout-btn svg,.manage-depts-row-buttons button svg,.menu-item svg,.reject-btn svg,.view-btn svg{flex-shrink:0}.view-btn{background:#eff6ff;color:#2563eb}.edit-btn{background:#fef3c7;color:#d97706}.delete-btn{background:#fee2e2;color:#dc2626}.modal-overlay{background:#0f172a73;z-index:999}.modal{padding:16px;position:relative}.large-modal,.modal{background:#fff;border-radius:24px}.large-modal{max-height:90vh;max-width:1400px;overflow-y:auto;padding:24px;width:95%}.modal-header{display:flex;justify-content:space-between;margin-bottom:18px}.modal-header h3{color:#111827;font-size:20px}.modal-header button{background:#0000;border:none;cursor:pointer}.modal input{border:1px solid #e5e7eb;border-radius:12px;height:48px;margin-bottom:12px;padding:14px;width:100%}.modal button{background:#2563eb;border:none;border-radius:12px;color:#fff;cursor:pointer;padding:12px 20px}.employee-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.employee-form button{background:#2563eb;border:none;border-radius:12px;color:#fff;font-weight:600;grid-column:span 2;height:48px}.employee-form input,.employee-form select{border:1px solid #d9d9d9;border-radius:14px;height:56px;padding:0 16px;width:100%}.success{color:green;font-size:14px}.error{color:red;font-size:14px}.documents-page{padding:24px 28px}.documents-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.documents-header h1{color:#111827;font-size:24px;font-weight:700}.documents-header p{color:#6b7280;font-size:14px;margin-top:4px}.upload-document-btn{align-items:center;border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;height:50px;padding:0 26px}.upload-document-btn,.upload-document-btn:hover{background:linear-gradient(135deg,#1e6bd6,#2bb7da)}.modal-overlay{align-items:flex-start;background:#00000059;overflow-y:auto;z-index:9999}.upload-modal{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0000001f;padding:32px;width:560px}.upload-modal h2{color:#111827;font-size:22px;margin-bottom:22px}.custom-file-upload{align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:18px;display:flex;gap:16px;height:72px;padding:0 16px;width:100%}.choose-file-btn{background:linear-gradient(135deg,#1e6bd6,#2bb7da);border:none;border-radius:14px;color:#fff;cursor:pointer;flex-shrink:0;font-size:15px;font-weight:600;height:44px;width:150px}.file-name{color:#6b7280;flex:1 1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden-file-input{display:none!important}.upload-category{background:#fff;border:1px solid #dbe3ef;border-radius:18px;font-size:15px;height:64px;margin-top:16px;outline:none;padding:0 18px;width:100%}.modal-actions{gap:14px}.cancel-btn{border-radius:14px;color:#111827;font-size:15px;font-weight:500;height:48px;width:120px}.upload-btn{border:none;border-radius:14px;cursor:pointer;height:50px;min-width:140px;width:-webkit-fit-content;width:fit-content}.doc-upload,.documents-toolbar-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;margin-bottom:28px;padding:20px}.doc-upload__row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:14px}.doc-upload__field{display:flex;flex:1 1;flex-direction:column;gap:7px;min-width:200px}.doc-upload__field>span{color:#64748b;font-size:12.5px;font-weight:600}.doc-upload__field select{background:#fff;border:1px solid #e5e9f0;border-radius:11px;color:#0f172a;cursor:pointer;font-size:14px;height:44px;padding:0 12px}.doc-upload__file{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:11px;color:#64748b;display:flex;font-size:14px;gap:9px;height:44px;overflow:hidden;padding:0 14px;position:relative;transition:border-color .15s ease,background .15s ease}.doc-upload__file:hover{background:#f2f7ff;border-color:#93b4f5}.doc-upload__file input[type=file]{cursor:pointer;inset:0;opacity:0;position:absolute}.doc-upload__filename{color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-upload__hint{color:#94a3b8;font-size:12.5px;margin:12px 0 0}.doc-upload__msg{color:#1d4ed8;font-size:13px;font-weight:500;margin:8px 0 0}.document-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.filter-btn{background:#f1f5f9;border:none;border-radius:12px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px}.filter-btn.active{background:linear-gradient(135deg,#1e6bd6,#2bb7da);color:#fff}.documents-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.document-card{background:#fff;border:1px solid #eceff3;border-radius:16px;display:flex;flex-direction:column;padding:18px;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.document-card:hover{border-color:#dbe3ee;box-shadow:0 10px 24px #0f172a14;transform:translateY(-2px)}.document-top{gap:12px;justify-content:space-between;margin-bottom:14px}.document-icon,.document-top{align-items:center;display:flex}.document-icon{border-radius:12px;flex-shrink:0;height:46px;justify-content:center;width:46px}.document-icon--pdf{background:#fef2f2;color:#e11d48}.document-icon--sheet{background:#ecfdf5;color:#059669}.document-icon--image{background:#f5f3ff;color:#7c3aed}.document-icon--doc{background:#eff6ff;color:#2563eb}.document-type-badge{background:#f1f5f9;border-radius:999px;color:#475569;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.01em;padding:4px 11px}.document-name{color:#0f172a;font-size:15px;font-weight:600;line-height:1.35;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{align-items:center;color:#94a3b8;display:flex;flex-wrap:wrap;font-size:12.5px;gap:6px}.document-meta__dot{color:#cbd5e1}.document-owner{color:#475569;font-weight:600}.document-bottom{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-top:16px;padding-top:13px}.document-date{color:#94a3b8;font-size:12.5px}.document-actions{display:flex;gap:8px}.document-actions button{align-items:center;background:#fff;border:1px solid #e5e9f0;border-radius:10px;color:#475569;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;height:34px;padding:0 10px;transition:background .15s ease,color .15s ease,border-color .15s ease}.document-actions__view{border-color:#dbe6fb;color:#1d4ed8}.document-actions button:hover{background:#eff6ff;border-color:#bfd6f7;color:#1d4ed8}.documents-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:6px;grid-column:1/-1;padding:56px 20px;text-align:center}.documents-empty p{color:#475569;font-size:15px;font-weight:600;margin:6px 0 0}.documents-empty span{color:#94a3b8;font-size:13px}.document-modal-content{display:flex;flex-direction:column;gap:16px;margin-top:20px}@media (max-width:768px){.documents-header{align-items:flex-start;flex-direction:column;gap:14px}.documents-grid{grid-template-columns:1fr}}.letter-btn{align-items:center;background:#eff6ff;border:none;border-radius:10px;color:#2563eb;cursor:pointer;display:flex;height:34px;justify-content:center;width:34px}.salary-grid{grid-gap:12px;display:grid;gap:12px;grid-column:1/-1;grid-template-columns:repeat(2,1fr)}.full-width{grid-column:1/-1}.employee-login-option{background:#f8fafc;border:1px solid #e8edf4;border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:14px 16px}.employee-login-toggle{align-items:center;color:#0f172a;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px}.employee-login-toggle input{margin:0;min-height:auto;width:auto}.employee-login-hint{color:#64748b;font-size:13px;line-height:1.5;margin:0}.employee-login-warning{color:#b45309;font-size:13px;font-weight:600;line-height:1.5;margin:0}.credentials-modal{width:min(480px,92vw);z-index:1100}.modal-overlay:has(.credentials-modal){z-index:1099}.credentials-body{display:flex;flex-direction:column;gap:14px;margin-top:8px}.credentials-row{background:#f8fafc;border:1px solid #e8edf4;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:12px 14px}.credentials-row span{color:#64748b;font-size:12px;font-weight:600}.credentials-row strong{color:#0f172a;font-size:15px;word-break:break-all}.credentials-password-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px}.credentials-password-box span{color:#1d4ed8;font-size:12px;font-weight:600}.credentials-password-box strong{color:#0f172a;font-size:24px;letter-spacing:.08em}.credentials-password-box p{color:#475569;font-size:13px;margin:0}.employee-login-fields{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:760px){.employee-login-fields{grid-template-columns:1fr}}.salary-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr auto;margin-bottom:12px;width:100%}.file-input{background:#0000!important;border:none!important;height:auto!important;padding:0!important;width:auto!important}.file-upload-wrapper{background:#fafafa;border:1px dashed #d9d9d9;border-radius:12px;padding:20px}.document-select{border:1px solid #d9d9d9;border-radius:12px;height:48px;margin-bottom:16px;padding:12px;width:250px}.documents-modal{max-width:700px}.document-section{display:flex;flex-direction:column;gap:20px;margin-top:24px}.employee-doc-header span{color:#777;font-size:13px}.employee-doc-header h4{font-size:22px;font-weight:600;margin-top:6px}.documents-modal .modal-header button{height:48px;min-width:48px;width:48px}.profile-section{margin-bottom:28px}.profile-section h4{border-bottom:1px solid #e5e7eb;color:#2563eb;font-size:18px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.profile-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.profile-grid div{display:flex;flex-direction:column}.profile-grid label{color:#6b7280;font-size:12px;margin-bottom:4px}.profile-grid span{color:#111827;font-size:15px;font-weight:500}.documents-list h4{margin-bottom:12px}.document-item{background:#fafafa;margin-bottom:10px}.view-doc-btn{padding:8px 14px}.documents-list{margin-top:24px}.document-item{align-items:center;border:1px solid #e5e7eb;border-radius:10px;display:flex;justify-content:space-between;margin-top:10px;padding:12px}.view-doc-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px}.save-btn{font-weight:600;height:48px;width:220px}.generic-card{background:#fff;border:1px solid #f1f5f9;border-radius:10px;box-shadow:0 4px 20px #00000008;box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif;max-width:380px;padding:20px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.generic-card.interactive:hover{box-shadow:0 10px 25px #00000014;cursor:pointer;transform:translateY(-5px)}.generic-card.interactive:active{box-shadow:0 6px 15px #0000000d;transform:translateY(-2px)}.generic-card.stat-layout{align-items:center;display:flex;gap:18px}.card-icon-sidebar{align-items:center;background-color:#e6f0ff;border-radius:10px;display:flex;flex-shrink:0;font-size:28px;height:64px;justify-content:center;width:64px}.card-main-content{display:flex;flex-direction:column;gap:2px}.card-header{color:#64748b;font-size:16px;font-weight:500;margin:0}.card-body{color:#0f172a;font-size:24px;font-weight:700;line-height:1.2;margin:0}.card-footer{font-size:13px;font-weight:600;margin:0}.card-footer,.card-footer.positive{color:#00875a}.card-footer.negative{color:#de350b}.card-footer.neutral{color:#64748b}.card-icon-sidebar.blue{background-color:#dbeafe;color:#1e40af}.card-icon-sidebar.green{background-color:#dcfce7;color:#166534}.card-icon-sidebar.orange{background-color:#ffedd5;color:#9a3412}.card-icon-sidebar.purple{background-color:#f3e8ff;color:#6b21a8}.ctc-split{align-items:flex-end;background:#eff6ff;border:1px dashed #bfdbfe;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:12px 14px}.ctc-split__field{display:flex;flex-direction:column;gap:4px;min-width:140px}.ctc-split__field label{color:#1e40af;font-size:.75rem;font-weight:600}.ctc-split__field input{background:#fff;padding:0 12px}.ctc-split__field input,.ctc-split__field select{border:1px solid #d1d9e6;border-radius:8px;font-size:.8125rem;height:38px}.ctc-split__field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;color:#0f172a;cursor:pointer;padding:0 36px 0 12px;width:100%}.ctc-split__field--preset{flex:1 1 220px;min-width:180px}.ctc-split__btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:600;height:38px;padding:0 14px;white-space:nowrap}.ctc-split__btn:disabled{cursor:not-allowed;opacity:.6}.ctc-split__btn--secondary{background:#fff;border:1px solid #d1d9e6;color:#334155}.ctc-split__hint{color:#64748b}.ctc-split__error,.ctc-split__hint{flex:1 1 100%;font-size:.75rem;margin:0}.ctc-split__error{color:#b91c1c}.generic-btn{align-content:center;align-items:center;background:linear-gradient(135deg,#1e6bd6,#2bb7da);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:5px;justify-content:center;padding:10px 16px;transition:opacity .2s ease,transform .1s ease}.secondary-btn{background:#fff;background-image:none;border:1.5px solid #1e6bd6;box-shadow:0 1px 2px #1e6bd614;color:#1e6bd6}.secondary-btn:hover:not(:disabled){background:#eff6ff;border-color:#1558b0;color:#1558b0;opacity:1}.secondary-btn:disabled{background:#f1f5f9;border-color:#cbd5e1;box-shadow:none;color:#94a3b8;cursor:not-allowed}.generic-btn:hover{opacity:.9}.generic-btn:active{transform:scale(.98)}.generic-btn:disabled{background:#ccc;color:#666;cursor:not-allowed;opacity:1;transform:none}.btn-icon{align-items:center;display:inline-flex;font-size:1.1em}.action-btn-delete{background:none;background-color:#fff1f2;color:#be123c}.action-btn-delete,.action-btn-edit{font-size:13px;font-weight:500;min-width:4rem;padding:8px 16px}.action-btn-edit{background:none;background-color:#c1bbbb77;color:#504f4f}.active{background:none;background-color:#1e6bd6}.active,.not-active{border-radius:20px;min-width:6rem}.not-active{background:none;background-color:#bfb9b9}.emp-salary-structure{display:flex;flex-direction:column;gap:16px}.emp-salary-structure--loading{background:#fafbfc;border:1px dashed #d1d9e6;border-radius:12px;color:#64748b;font-size:.875rem;padding:28px 16px;text-align:center}.emp-salary-structure__toolbar{grid-gap:16px;align-items:end;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(180px,240px)}.emp-salary-structure__ctc{margin:0}.emp-salary-structure__ctc input{height:42px}.emp-salary-structure__gross{align-items:center;background:linear-gradient(180deg,#ecfdf5,#f0fdf4);border:1px solid #bbf7d0;border-radius:10px;display:flex;flex-direction:row;gap:12px;height:42px;justify-content:space-between;min-height:0;min-height:auto;padding:0 16px}.emp-salary-structure__gross-label{color:#059669;font-size:.6875rem;font-weight:700;letter-spacing:.06em;margin-bottom:0;text-transform:uppercase;white-space:nowrap}.emp-salary-structure__gross strong{color:#065f46;font-size:1rem;font-weight:700;line-height:1;white-space:nowrap}.emp-salary-structure__banner{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;display:flex;flex-wrap:wrap;font-size:.8125rem;gap:6px 10px;padding:12px 14px}.emp-salary-structure__link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.emp-salary-structure__link:hover{color:#1d4ed8}.emp-salary-structure__panels{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.emp-salary-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;min-height:100%;overflow:hidden}.emp-salary-panel__head{align-items:center;display:flex;font-size:.75rem;font-weight:700;justify-content:space-between;letter-spacing:.06em;padding:10px 14px;text-transform:uppercase}.emp-salary-panel--earning .emp-salary-panel__head{background:#ecfdf5;border-bottom:1px solid #bbf7d0;color:#047857}.emp-salary-panel--deduction .emp-salary-panel__head{background:#fef2f2;border-bottom:1px solid #fecaca;color:#b91c1c}.emp-salary-panel--employer .emp-salary-panel__head{background:#eff6ff;border-bottom:1px solid #bfdbfe;color:#1d4ed8}.emp-salary-panel__count{align-items:center;background:#ffffffbf;border-radius:999px;display:inline-flex;font-size:.6875rem;height:22px;justify-content:center;min-width:22px;padding:0 6px}.emp-salary-panel__body{display:flex;flex:1 1;flex-direction:column}.emp-salary-panel__empty{align-items:center;color:#94a3b8;display:flex;flex:1 1;font-size:.8125rem;justify-content:center;padding:20px 14px;text-align:center}.emp-salary-structure .ctc-split{margin-bottom:0}.emp-salary-structure .ctc-split__hint{margin-top:2px}.emp-salary-structure .emp-salary-row{grid-gap:10px;align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:10px;grid-template-columns:28px minmax(0,1fr) 108px;min-height:56px;padding:10px 14px}.emp-salary-structure .emp-salary-row:last-child{border-bottom:none}.emp-salary-structure .emp-salary-row--disabled{opacity:.55}.emp-salary-structure .emp-salary-row--system{background:#fafbfc}.emp-salary-structure .emp-salary-row__check{align-items:center;align-self:center;display:flex;justify-content:center}.emp-salary-structure .emp-salary-row__check input[type=checkbox]{accent-color:#2563eb;cursor:pointer;height:16px;margin:0;width:16px}.emp-salary-structure .emp-salary-row__check input[type=checkbox]:disabled{cursor:default;opacity:.45}.emp-salary-structure .emp-salary-row__label{display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:36px;min-width:0}.emp-salary-structure .emp-salary-row__name{color:#0f172a;font-size:.8125rem;font-weight:600;line-height:1.35}.emp-salary-structure .emp-salary-row__label .emp-field-hint{line-height:1.3;margin:0;min-height:1rem}.emp-salary-structure .emp-field-hint--placeholder{visibility:hidden}.emp-salary-structure .emp-salary-row__amount{align-self:center}.emp-salary-structure .emp-salary-row__amount input{background:#fff;border:1px solid #d1d9e6;border-radius:10px;color:#0f172a;font-size:.8125rem;height:38px;padding:0 10px;text-align:right;transition:border-color .15s,box-shadow .15s;width:100%}.emp-salary-structure .emp-salary-row__amount input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.emp-salary-structure .emp-salary-row__amount input:disabled,.emp-salary-structure .emp-salary-row__auto{background:#f8fafc!important;color:#94a3b8!important;cursor:not-allowed;font-size:.75rem!important;font-weight:600;letter-spacing:.02em;text-align:center!important}.emp-salary-structure__msg{border-radius:10px;font-size:.8125rem;font-weight:500;padding:10px 14px}.emp-salary-structure__msg--success{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}.emp-salary-structure__msg--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.emp-salary-structure__msg--warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e;margin-bottom:12px}.emp-salary-structure__actions{border-top:1px solid #e8edf4;display:flex;gap:10px;justify-content:flex-end;padding-top:4px}@media (max-width:900px){.emp-salary-structure__toolbar{grid-template-columns:1fr}.emp-salary-structure__gross{width:100%}.emp-salary-structure__panels{grid-template-columns:1fr}}@media (max-width:520px){.emp-salary-structure .emp-salary-row{gap:8px;grid-template-columns:24px minmax(0,1fr) 92px;padding:10px 12px}}.emp-salary-view{--ess-gap:12px;--ess-gap-lg:16px;--ess-radius:10px;--ess-radius-lg:12px;--ess-pad-x:16px;--ess-pad-y:12px;--ess-border:#e2e8f0;--ess-text:#0f172a;--ess-muted:#64748b;--ess-amount-col:7.5rem;color:var(--ess-text);display:flex;flex-direction:column;font-size:.8125rem;gap:var(--ess-gap-lg);line-height:1.4}.emp-salary-view--loading,.emp-salary-view__state{background:#fafbfc;border:1px dashed #d1d9e6;border-radius:var(--ess-radius-lg);color:var(--ess-muted);font-size:.875rem;padding:24px var(--ess-pad-x);text-align:center}.emp-salary-view__state--error{background:#fef2f2;border-color:#fecaca;color:#991b1b;text-align:left}.emp-salary-view__state--warn{background:#fffbeb;border-color:#fde68a;color:#92400e;text-align:left}.emp-salary-view__state--empty{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.emp-salary-view__metrics{grid-gap:var(--ess-gap);display:grid;gap:var(--ess-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.emp-salary-view__metric{align-items:center;background:#f8fafc;border:1px solid var(--ess-border);border-radius:var(--ess-radius);display:flex;gap:var(--ess-gap);justify-content:space-between;min-height:52px;padding:var(--ess-pad-y) var(--ess-pad-x)}.emp-salary-view__metric--highlight{background:linear-gradient(180deg,#ecfdf5,#f0fdf4);border-color:#bbf7d0}.emp-salary-view__metric-label{color:var(--ess-muted);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.emp-salary-view__metric--highlight .emp-salary-view__metric-label{color:#059669}.emp-salary-view__metric-value{font-feature-settings:"tnum";color:var(--ess-text);font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.emp-salary-view__metric--highlight .emp-salary-view__metric-value{color:#065f46}.emp-salary-view__panels{grid-gap:var(--ess-gap);align-items:start;display:grid;gap:var(--ess-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.emp-salary-view__panel{background:#fff;border:1px solid var(--ess-border);border-radius:var(--ess-radius-lg);overflow:hidden}.emp-salary-view__panel-head{border-bottom:1px solid var(--ess-border);font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:10px var(--ess-pad-x);text-transform:uppercase}.emp-salary-view__panel--earning .emp-salary-view__panel-head{background:#ecfdf5;border-bottom-color:#bbf7d0;color:#047857}.emp-salary-view__panel--deduction .emp-salary-view__panel-head{background:#fef2f2;border-bottom-color:#fecaca;color:#b91c1c}.emp-salary-view__panel--employer .emp-salary-view__panel-head{background:#eff6ff;border-bottom-color:#bfdbfe;color:#1d4ed8}.emp-salary-view__panel-body{display:flex;flex-direction:column}.emp-salary-view__panel-empty{color:#94a3b8;padding:20px var(--ess-pad-x);text-align:center}.emp-salary-view__line{grid-gap:var(--ess-gap);align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:var(--ess-gap);grid-template-columns:minmax(0,1fr) var(--ess-amount-col);padding:11px var(--ess-pad-x)}.emp-salary-view__line:last-child{border-bottom:none}.emp-salary-view__line-name{color:#334155;font-weight:500;min-width:0;word-break:break-word}.emp-salary-view__line-amount{font-feature-settings:"tnum";color:var(--ess-text);font-variant-numeric:tabular-nums;font-weight:700;justify-self:end;text-align:right;white-space:nowrap}.emp-salary-view__panel--deduction .emp-salary-view__line-amount{color:#b91c1c}.emp-salary-view__panel-note{background:#fafbfc;border-top:1px dashed var(--ess-border);color:var(--ess-muted);font-size:.75rem;margin:0;padding:10px var(--ess-pad-x) 12px}.emp-salary-view__summary{background:#fff;border:1px solid var(--ess-border);border-radius:var(--ess-radius-lg);overflow:hidden}.emp-salary-view__summary-row{grid-gap:var(--ess-gap);align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:var(--ess-gap);grid-template-columns:minmax(0,1fr) var(--ess-amount-col);padding:var(--ess-pad-y) var(--ess-pad-x)}.emp-salary-view__summary-row:last-of-type{border-bottom:none}.emp-salary-view__summary-label{align-items:center;color:#334155;display:flex;flex-wrap:wrap;font-size:.875rem;font-weight:500;gap:8px}.emp-salary-view__summary-value{font-feature-settings:"tnum";font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:700;justify-self:end;text-align:right;white-space:nowrap}.emp-salary-view__summary-value--deduction{color:#b91c1c}.emp-salary-view__summary-row--net{background:linear-gradient(180deg,#ecfdf5,#f0fdf4);padding-bottom:14px;padding-top:14px}.emp-salary-view__summary-row--net .emp-salary-view__summary-value{color:#065f46;font-size:1.125rem}.emp-salary-view__badge{align-items:center;background:#fef3c7;border-radius:999px;color:#92400e;display:inline-flex;font-size:.625rem;font-style:normal;font-weight:700;letter-spacing:.04em;line-height:1.2;padding:2px 8px;text-transform:uppercase}.emp-salary-view__disclaimer{background:#f8fafc;border-top:1px dashed var(--ess-border);color:var(--ess-muted);font-size:.75rem;line-height:1.5;margin:0;padding:10px var(--ess-pad-x) 12px}@media (max-width:640px){.emp-salary-view__metrics,.emp-salary-view__panels{grid-template-columns:1fr}.emp-salary-view{--ess-amount-col:6.25rem}}.appt-letter-salary{width:100%}.appt-letter-salary__split-bar{align-items:flex-end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:12px 14px}.appt-letter-salary__preset{display:flex;flex-direction:column;gap:4px;min-width:200px}.appt-letter-salary__preset label{color:#334155;font-size:.75rem;font-weight:600;padding-left:4px}.appt-letter-salary__preset select{border:1px solid #d1d9e6;border-radius:8px;font-size:.8125rem;height:38px}.appt-letter-salary__row,.appt-letter-salary__table-head{grid-gap:12px;align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:12px;grid-template-columns:1fr 120px 120px;padding:10px 0}.appt-letter-salary__table-head{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding-top:0}.head-label{padding-left:3px;width:100%}.appt-letter-salary__name{align-items:center;color:#0f172a;display:flex;font-size:.875rem;font-weight:500;gap:8px}.appt-letter-salary__row input{border:1px solid #d1d9e6;border-radius:8px;font-size:.8125rem;height:38px;padding:0 10px;text-align:right}.appt-letter-salary__total{align-items:center;color:#065f46;display:flex;font-size:.875rem;font-weight:600;justify-content:space-between;padding:14px 0 4px}.appt-letter-salary__msg{border-radius:8px;font-size:.8125rem;margin-bottom:10px;padding:8px 12px}.appt-letter-salary__msg.success{background:#ecfdf5;color:#065f46}.appt-letter-salary__msg.error{background:#fef2f2;color:#991b1b}.appt-letter-salary__preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:16px;padding:14px}.appt-letter-salary__preview h4{color:#0f172a;font-size:.875rem;margin:0 0 10px}.appt-letter-salary__preview-section{font-size:.8125rem;margin-bottom:10px}.appt-letter-salary__preview-section>span{color:#334155;display:block;font-weight:600;margin-bottom:4px}.appt-letter-salary__preview-section ul{color:#475569;margin:0;padding-left:18px}.appt-letter-salary__preview-note{color:#64748b;font-size:.75rem;line-height:1.45;margin:8px 0 0}.emp-salary-view__row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:.8125rem;justify-content:space-between;padding:10px 0}.emp-salary-view__row:last-child{border-bottom:none}.emp-salary-view__stat{display:flex;flex-direction:column;gap:2px}.emp-salary-view__stat strong{color:#0f172a;font-size:1rem}.custom-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%236c757d%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%276 9 12 15 18 9%27></polyline></svg>");background-position:right 5px center;background-repeat:no-repeat;border-radius:5px;cursor:pointer;padding:10px 12px}.custom-select:focus{outline:none}@media (max-width:600px){.appt-letter-salary__row,.appt-letter-salary__table-head{grid-template-columns:1fr 100px}.appt-letter-salary__row input:last-child,.appt-letter-salary__table-head span:last-child{display:none}}.emp-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.emp-modal{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0f172a2e;display:flex;flex-direction:column;max-height:min(92vh,900px);overflow:hidden;width:100%}.emp-modal--md{max-width:560px}.emp-modal--lg{max-width:820px}.emp-modal--xl{max-width:960px}.emp-modal__header{align-items:center;background:#fafbfc;border-bottom:1px solid #e8edf4;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:20px 24px}.emp-modal__header h3{color:#0f172a;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;margin:0}.emp-modal__close{align-items:center;background:#fff;border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:background .15s,color .15s;width:36px}.emp-modal__close:hover{background:#f1f5f9;color:#0f172a}.emp-modal__body{flex:1 1;overflow-y:auto;padding:20px 24px 8px}.emp-modal__footer{align-items:center;background:#fafbfc;border-top:1px solid #e8edf4;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:16px 24px 20px}.emp-form-section{margin-bottom:24px}.emp-form-section:last-child{margin-bottom:8px}.emp-form-section__head{margin-bottom:14px}.emp-form-section__head h4{color:#2563eb;font-size:.8125rem;font-weight:700;letter-spacing:.06em;margin:0 0 4px;text-transform:uppercase}.emp-form-section__head p{color:#64748b;font-size:.8125rem;line-height:1.45;margin:0}.emp-form-grid{grid-gap:14px 16px;display:grid;gap:14px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.emp-form-grid--1col{grid-template-columns:1fr}.emp-field{display:flex;flex-direction:column;gap:6px;min-width:0}.emp-field--full{grid-column:1/-1}.emp-field label{color:#334155;font-size:.8125rem;font-weight:600}.emp-required{color:#dc2626;margin-left:2px}.emp-field-hint{font-size:.75rem;line-height:1.4}.emp-field-error{color:#b91c1c;font-size:.8125rem;line-height:1.4;margin:4px 0 0}.emp-field input.emp-field-input--error,.emp-field select.emp-field-input--error{border-color:#b91c1c;box-shadow:0 0 0 3px #b91c1c1a}.emp-field input,.emp-field select,.emp-field textarea{background:#fff;border:1px solid #d1d9e6;border-radius:10px;color:#0f172a;font-size:.875rem;height:42px;padding:0 12px;transition:border-color .15s,box-shadow .15s;width:100%}.emp-field input:focus,.emp-field select:focus,.emp-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.emp-field input::placeholder{color:#94a3b8}.emp-field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.emp-form-grid>.emp-field--full,.emp-form-grid>.emp-login-card{grid-column:1/-1}.emp-login-card{background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:12px;padding:16px}.emp-login-card__toggle{align-items:center;color:#0f172a;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:10px}.emp-login-card__toggle input{accent-color:#2563eb;cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.employee-login-warning{font-size:.8rem}.emp-login-card__toggle div{color:#475569;display:flex;flex-direction:column;font-size:.7rem;gap:4px;padding-bottom:4px}.emp-login-card__fields{grid-gap:12px;border-top:1px solid #e8edf4;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding-top:14px}.emp-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;height:42px;justify-content:center;padding:0 18px;transition:background .15s,transform .1s;white-space:nowrap}.emp-btn:disabled{cursor:not-allowed;opacity:.6}.emp-btn--primary{background:#2563eb;color:#fff}.emp-btn--primary:hover:not(:disabled){background:#1d4ed8}.emp-btn--secondary{background:#fff;border:1px solid #d1d9e6;color:#334155}.emp-btn--secondary:hover:not(:disabled){background:#f8fafc}.emp-btn--danger-ghost{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;height:36px;padding:0;width:36px}.emp-btn--danger-ghost:hover{background:#fee2e2}.emp-btn--block{width:100%}.emp-salary-list{display:flex;flex-direction:column;gap:10px}.emp-salary-list .emp-salary-row{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:1.4fr 1fr 1fr auto}.emp-salary-list .emp-salary-row .emp-field{margin:0}.emp-salary-list .emp-salary-row .emp-btn--danger-ghost{align-self:end;margin-bottom:0}.emp-doc-hero{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:flex;gap:14px;margin-bottom:20px;padding:14px 16px}.emp-doc-hero__icon{align-items:center;background:#2563eb;border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.emp-doc-hero__label{color:#1d4ed8;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.emp-doc-hero__name{color:#0f172a;font-size:1.0625rem;font-weight:700;margin:2px 0 0}.emp-upload-zone{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:120px;padding:20px;position:relative;text-align:center;transition:border-color .15s,background .15s}.emp-upload-zone:hover{background:#eff6ff;border-color:#2563eb}.emp-upload-zone input[type=file]{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.emp-upload-zone__title{color:#334155;font-size:.875rem;font-weight:600}.emp-upload-zone__hint{color:#64748b;font-size:.75rem}.emp-upload-zone__file{color:#2563eb;font-size:.8125rem;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-doc-list{border-top:1px solid #e8edf4;margin-top:20px;padding-top:20px}.emp-doc-list h4{color:#64748b;font-size:.8125rem;font-weight:700;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.emp-doc-list__empty{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:10px;color:#94a3b8;font-size:.875rem;margin:0;padding:24px;text-align:center}.emp-doc-item{align-items:center;background:#fff;border:1px solid #e8edf4;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;padding:12px 14px}.emp-doc-item:last-child{margin-bottom:0}.emp-doc-item__type{color:#0f172a;display:block;font-size:.8125rem;font-weight:700}.emp-doc-item__name{color:#64748b;display:block;font-size:.75rem;margin-top:2px;word-break:break-all}.emp-action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.emp-grid-btn{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#4b5563;cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:all .2s ease-in-out;width:36px}.emp-grid-btn svg{stroke-width:2px;height:18px;width:18px}.emp-grid-btn:hover{background-color:#e5e7eb;border-color:#d1d5db;color:#1f2937}.emp-grid-btn:active{transform:scale(.95)}.emp-grid-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.emp-action-buttons button:last-child:hover{background-color:#fee2e2;border-color:#fca5a5;color:#dc2626}.emp-action-buttons button:first-child{background-color:#e0f2fe;border:1px solid #bae6fd;color:#0369a1}.emp-action-buttons button:first-child:hover{background-color:#bae6fd;color:#0c4a6e}.emp-action-buttons button:nth-child(2){background-color:#fef3c7;border:1px solid #fde68a;color:#b45309}.emp-action-buttons button:nth-child(2):hover{background-color:#fde68a;color:#78350f}.emp-action-buttons button:nth-child(3){background-color:#dcfce7;border:1px solid #bbf7d0;color:#15803d}.emp-action-buttons button:nth-child(3):hover{background-color:#bbf7d0;color:#14532d}.emp-action-buttons button:nth-child(4){background-color:#e0e7ff;border:1px solid #c7d2fe;color:#4338ca}.emp-action-buttons button:nth-child(4):hover{background-color:#c7d2fe;color:#312e81}.emp-action-buttons button:nth-child(5){background-color:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.emp-action-buttons button:nth-child(5):hover{background-color:#fca5a5;color:#7f1d1d}.emp-view-body .profile-section{margin-bottom:20px}.emp-view-body .profile-section h4{font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase}.emp-view-body .profile-grid{gap:12px 16px}@media (max-width:768px){.emp-view-body .profile-grid{grid-template-columns:1fr}.emp-modal-overlay{align-items:flex-end;padding:0}.emp-modal{border-radius:16px 16px 0 0;max-height:94vh}.emp-form-grid,.emp-login-card__fields,.emp-salary-list .emp-salary-row{grid-template-columns:1fr}.emp-salary-list .emp-salary-row .emp-btn--danger-ghost{height:38px;width:100%}.emp-modal__footer{flex-direction:column-reverse}.emp-modal__footer .emp-btn{width:100%}}@media (max-width:480px){.emp-modal__body,.emp-modal__footer,.emp-modal__header{padding-left:16px;padding-right:16px}}.preview-overlay{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.preview-container{background:#fff;border-radius:10px;display:flex;flex-direction:column;height:90%;overflow:hidden;width:90%}.preview-header{align-items:center;border-bottom:1px solid #ddd;display:flex;height:60px;justify-content:space-between;padding:0 20px}.close-btn{background:#ef4444;border-radius:50%;color:#fff;font-size:18px;height:36px;width:36px}.preview-body{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:auto}.preview-image{max-height:100%;max-width:100%;object-fit:contain}.preview-pdf{border:none;height:100%;width:100%}.unsupported{color:#666;font-size:18px}.settings-container{--settings-radius-card:16px;--settings-radius-control:10px;background:#f8fafc;display:flex;flex:1 1;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:16px;min-height:100%;overflow-y:auto;padding:20px 24px}.settings-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:2px}.settings-title{color:#0f172a;font-size:28px;font-weight:800;letter-spacing:-.5px;margin:0}.settings-subtitle{color:#64748b;font-size:14px;line-height:1.4;margin:4px 0 0}.settings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:2fr 1fr}.settings-bottom-grid,.settings-notification-section{display:flex;flex-direction:column;gap:16px}.ot-form-scroll-target,.ot-list-scroll-target{scroll-margin-top:1rem}@media (max-width:1024px){.settings-grid{grid-template-columns:1fr}}@media (max-width:768px){.settings-container{padding:16px}.settings-header{align-items:flex-start;flex-direction:column}}.profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 2px 8px #0000000d;padding:20px}.profile-card__loading,.profile-error,.profile-upload-status{font-size:.8125rem;margin:0 0 12px}.profile-card__loading{color:#64748b;padding:24px 0;text-align:center}.profile-error{color:#b91c1c}.profile-upload-status{color:#2563eb;text-align:center}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.profile-title{color:#1e293b;font-size:20px;font-weight:600}.profile-subtitle{color:#64748b;font-size:13px;margin-top:6px}.camera-btn,.profile-card .edit-btn{align-items:center;background:#f1f5f9;border:none;border-radius:12px;cursor:pointer;display:flex;height:48px;justify-content:center;width:48px}.camera-btn:hover,.profile-card .edit-btn:hover{background:#e2e8f0}.remove-photo-btn{background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;font-size:12px;font-weight:500;margin-top:10px;padding:6px 12px}.remove-photo-btn:hover{background:#fecaca}.error-text{color:#ef4444;font-size:12px;margin-top:4px}.label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.error-inline{color:#ef4444;font-size:11px;font-weight:500}.input-error{border:1px solid #ef4444!important}.profile-content{align-items:flex-start;display:flex;gap:32px}.profile-avatar-section{align-items:center;display:flex;flex-direction:column;min-width:110px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#1e6bd6,#2bb7da);border-radius:50%;color:#fff;display:flex;font-size:22px;font-weight:600;height:80px;justify-content:center;overflow:hidden;width:80px}.profile-avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.camera-options{display:flex;flex-direction:column;gap:12px;margin-top:16px}.camera-btn{margin-top:12px}.profile-form-grid{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:repeat(2,1fr)}.profile-label{color:#334155;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.input-wrapper{position:relative}.input-icon{left:12px;position:absolute;top:50%;transform:translateY(-50%)}.profile-input{border:1px solid #cbd5e1;border-radius:12px;font-size:14px;height:42px;outline:none;padding:0 16px 0 40px;width:100%}.input-disabled{background:#e2e8f0;color:#64748b;cursor:not-allowed}.button-row{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.discard-btn{background:#fff;border:1px solid #cbd5e1;border-radius:12px}.discard-btn,.save-btn{cursor:pointer;padding:10px 20px}.save-btn{background:linear-gradient(135deg,#1e6bd6,#2bb7da);border:none;border-radius:12px;color:#fff}.image-popup-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.image-popup{background:#fff;border-radius:12px;min-width:250px;padding:20px}.image-popup button{display:block;margin-top:10px;padding:10px;width:100%}@media(max-width:768px){.profile-content{flex-direction:column}.profile-form-grid{grid-template-columns:1fr}}.notifications-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 2px 8px #0000000d;padding:20px}.notifications-header{align-items:center;display:flex;gap:14px;margin-bottom:20px}.notifications-icon-box{align-items:center;background:#f8fafc;border-radius:12px;display:flex;height:42px;justify-content:center;width:42px}.notifications-title{color:#1e293b;font-size:16px;font-weight:600}.notifications-subtitle{color:#64748b;font-size:12px;margin-top:4px}.toggle-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:14px 0}.toggle-row:last-child{border-bottom:none}.toggle-left{align-items:center;display:flex;gap:12px}.toggle-icon{color:#64748b}.toggle-title{color:#334155;font-size:14px;font-weight:500}.toggle-switch{background:#475569;border-radius:999px;cursor:pointer;height:24px;position:relative;transition:.3s;width:44px}.toggle-active{background:linear-gradient(135deg,#1e6bd6,#2bb7da)}.toggle-dot{background:#fff;border-radius:50%;height:16px;position:absolute;top:4px;transition:.3s;width:16px}.dot-left{left:4px}.dot-right{right:4px}.security-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 2px 8px #0000000d;padding:20px}.security-header{align-items:center;display:flex;gap:14px;margin-bottom:20px}.security-header-icon{align-items:center;background:#d1fae5;border-radius:12px;display:flex;height:42px;justify-content:center;width:42px}.security-title{color:#1e293b;font-size:16px;font-weight:600}.security-subtitle{color:#64748b;font-size:12px;margin-top:4px}.security-item{align-items:center;background:#fff;border:none;border-radius:14px;cursor:pointer;display:flex;gap:12px;margin-bottom:10px;padding:14px;transition:.25s;width:100%}.security-item:hover{background:#f8fafc}.security-item-icon{color:#64748b}.security-item-title{color:#334155;font-size:14px;font-weight:500}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-box{background:#fff;border-radius:20px;box-shadow:0 20px 50px #00000026;max-width:420px;padding:24px;width:100%}.modal-box h2,.modal-header h2{color:#0f172a;font-size:20px;font-weight:600}.modal-header p,.modal-subtext{color:#64748b;font-size:14px;margin-top:8px}.modal-form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.form-group{margin-top:18px}.form-group label{color:#334155;display:block;font-size:14px;margin-bottom:8px}.modal-input{background:#f8fafc;border:1px solid #d1d5db;border-radius:14px;font-size:14px;outline:none;padding:14px 16px;transition:.25s;width:100%}.modal-input:focus{background:#fff;border-color:#2563eb}.modal-actions{margin-top:24px}.cancel-btn{background:#fff;border:1px solid #d1d5db;border-radius:12px;color:#334155;cursor:pointer;padding:10px 18px}.primary-btn{background:linear-gradient(135deg,#2563eb,#06b6d4)}.primary-btn,.verify-btn{border:none;border-radius:12px;color:#fff;cursor:pointer;padding:10px 18px}.verify-btn{background:linear-gradient(135deg,#16a34a,#10b981)}.roles-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;height:100%;padding:20px}.roles-header{gap:14px;margin-bottom:20px}.roles-header,.roles-icon-box{align-items:center;display:flex}.roles-icon-box{background:#ede9fe;border-radius:12px;height:42px;justify-content:center;width:42px}.roles-title{color:#1e293b;font-size:16px;font-weight:600}.roles-subtitle{color:#64748b;font-size:12px;margin-top:4px}.role-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:14px 0}.role-item:last-child{border-bottom:none}.role-item-left{align-items:center;display:flex;gap:12px}.role-item-title{color:#334155;font-size:14px;font-weight:500}.role-item-subtitle{color:#64748b;font-size:12px;margin-top:3px}.shift-manager-container{display:flex;flex-direction:column-reverse;gap:40px;margin:0 auto;width:100%}.shift-form-section{background:#fff;border:1px solid #eef2f5;border-radius:12px;box-shadow:0 4px 12px #0000000d;flex:1 1;height:-webkit-fit-content;height:fit-content;padding:24px}.shift-list-section{flex:2 1}.shift-form-section h2{color:#1e293b;font-size:1.5rem;margin-bottom:20px;margin-top:0}.shift-form{display:flex;flex-direction:column;gap:16px}.form-group{gap:6px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1 1}label{color:#475569;font-size:.85rem;font-weight:600}.shift-input{border:1px solid #cbd5e1;border-radius:6px;color:#334155;font-size:.95rem;padding:10px 12px;transition:border-color .2s}.shift-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:10px}.shift-manager-container button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 16px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#1e6bd6,#2bb7da);padding:.625rem 1.25rem}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{border:1px solid #d1d5db;padding:.625rem 1.25rem}.btn-secondary:hover:not(:disabled){background-color:#f9fafb}button:disabled,input:disabled{cursor:not-allowed;opacity:.6}.shifts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.loading-shifts,.no-shifts{color:#64748b;font-style:italic}.shift-card{background:#fff;border:1px solid #eef2f5;border-radius:12px;box-shadow:0 4px 12px #0000000d;flex-direction:column;padding:20px}.shift-card,.shift-card-header{display:flex;justify-content:space-between}.shift-card-header{align-items:center;margin-bottom:12px}.shift-title{color:#1e293b;font-size:1.15rem;margin:0}.shift-badge{background-color:#f0fdf4;border-radius:12px;color:#166534;font-size:.7rem;font-weight:600;padding:2px 6px}.time-info-container{align-items:center;background-color:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:12px;padding:10px}.time-block{display:flex;flex-direction:column}.time-label{color:#64748b;font-size:.7rem;text-transform:uppercase}.time-value{color:#334155;font-size:1rem;font-weight:700}.time-divider{color:#94a3b8}.grace-time-info{display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:16px}.grace-label{color:#64748b}.grace-value{color:#dc2626;font-weight:600}.shift-card-actions-wrapper{border-top:1px solid #f3f4f6;display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem}.shift-action-btn-delete,.shift-action-btn-edit{border:1px solid #0000;border-radius:.375rem;font-size:.8125rem;font-weight:500;padding:.375rem .75rem}.shift-action-btn-edit{background-color:#f3f4f6;border-color:#d1d5db;color:#374151}.shift-action-btn-edit:hover:not(:disabled){background-color:#e5e7eb}.shift-action-btn-delete{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.shift-action-btn-delete:hover:not(:disabled){background-color:#fee2e2}@media (max-width:768px){.shift-manager-container{flex-direction:column}}.shift-form-section{scroll-margin-top:2rem}.ot-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a;color:#334155;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:16px 18px;width:100%}.ot-header{border-bottom:1px solid #f1f5f9;margin-bottom:12px;padding-bottom:10px}.ot-header h3{color:#0f172a;font-size:15px;font-weight:700;line-height:1.3;margin:0}.ot-header p{color:#64748b;font-size:13px;line-height:1.45;margin:4px 0 0}.ot-form{gap:16px}.ot-form,.ot-section{display:flex;flex-direction:column}.ot-section{gap:10px}.ot-section-title{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.04em;margin:0;text-transform:uppercase}.ot-grid-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.ot-bg-box{background:#fafbfc;border:1px solid #f1f5f9;border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:12px 14px}.ot-info-text{align-items:flex-end;color:#64748b;display:flex;font-size:12px;line-height:1.45;padding-bottom:4px}.ot-strategy-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.ot-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:space-between;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.ot-card:hover{background:#f8fafc}.ot-card.Active{background:#eff6ff;border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61a}.ot-card-title{align-items:center;display:flex;gap:8px;justify-content:space-between}.ot-card-title span{color:#0f172a;font-size:14px;font-weight:600}.ot-card-title input[type=radio]{accent-color:#1e6bd6;flex-shrink:0;height:16px;width:16px}.ot-card p{color:#64748b;font-size:12px;line-height:1.45;margin:0}.ot-label{color:#475569;display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.ot-input,.ot-select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-sizing:border-box;color:#0f172a;font-size:14px;font-weight:500;height:40px;outline:none;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.ot-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;cursor:pointer;padding-right:36px}.ot-input:focus,.ot-select:focus{border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61f}.ot-sub-panel{background:#fafbfc;border:1px solid #f1f5f9;border-radius:10px;padding:12px 14px}.ot-relative-input{position:relative}.ot-relative-input input{padding-right:5.5rem}.ot-unit-badge{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.03em;pointer-events:none;position:absolute;right:12px;text-transform:uppercase;top:50%;transform:translateY(-50%)}.ot-days-flex{display:flex;flex-wrap:wrap;gap:8px}.ot-divider{border:0;margin:0}.ot-actions,.ot-divider{border-top:1px solid #f1f5f9}.ot-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:12px}.ot-submit-status{border-radius:10px;font-size:13px;font-weight:500;padding:10px 12px}.ot-submit-status.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}.ot-submit-status.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.ot-list-empty,.ot-list-loading{background:#fafbfc;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;font-size:14px;padding:24px 16px;text-align:center}.ot-list-empty p{margin:0}.ot-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto;width:100%}.ot-table{border-collapse:collapse;font-size:14px;text-align:left;width:100%}.ot-table th{background:#fafbfc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-transform:uppercase;white-space:nowrap}.ot-table td{border-bottom:1px solid #f8fafc;color:#334155;padding:11px 12px;vertical-align:middle}.ot-table tr:last-child td{border-bottom:none}.ot-td-bold{color:#0f172a!important;font-weight:600}.ot-text-muted{color:#64748b;font-size:13px}.ot-badge-gray{background:#f1f5f9;color:#475569}.ot-badge-action,.ot-badge-gray{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 8px}.ot-badge-action.incentive{background:#eff6ff;color:#1d4ed8}.ot-badge-action.add-leave{background:#ecfdf5;color:#047857}.ot-badge-action.none{background:#f1f5f9;color:#64748b}.ot-table-days{display:flex;flex-wrap:wrap;gap:4px}.ot-day-mini-badge{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:10px;font-weight:600;letter-spacing:.03em;padding:3px 6px;text-transform:uppercase}.ot-action-buttons-group{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}@media (max-width:900px){.ot-strategy-group{grid-template-columns:1fr}}@media (max-width:768px){.ot-grid-2{grid-template-columns:1fr}.ot-actions{flex-direction:column-reverse}}.holiday-manager-container{display:flex;flex-direction:column-reverse;gap:32px;margin-top:24px;width:100%}.holiday-form-section,.holiday-list-section{background:#fff;border:1px solid #eef2f5;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:24px}.holiday-list-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.holiday-form-section h2,.holiday-list-header h2{color:#1e293b;font-size:1.35rem;margin:0 0 8px}.holiday-list-header p{color:#64748b;font-size:.92rem;margin:0}.holiday-year-filter{display:flex;flex-direction:column;gap:6px}.holiday-year-filter label{color:#475569;font-size:.8rem;font-weight:600}.holiday-year-filter select{background:#fff;border:1px solid #dbe3ea;border-radius:8px;min-width:110px;padding:8px 10px}.holiday-form{display:flex;flex-direction:column;gap:16px}.holiday-form .form-group{display:flex;flex-direction:column;gap:6px}.holiday-form .form-row{display:flex;gap:16px}.holiday-form .form-row .form-group{flex:1 1}.holiday-form label{color:#475569;font-size:.85rem;font-weight:600}.holiday-form input,.holiday-form select,.holiday-form textarea{border:1px solid #dbe3ea;border-radius:8px;font-size:.95rem;padding:10px 12px}.holiday-form textarea{resize:vertical}.holiday-form-actions{display:flex;gap:10px;justify-content:flex-end}.holiday-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 16px}.holiday-btn:disabled{cursor:not-allowed;opacity:.6}.holiday-btn--primary{background:linear-gradient(135deg,#1e6bd6,#2bb7da);color:#fff}.holiday-btn--ghost{background:#f8fafc;border:1px solid #dbe3ea;color:#334155}.holiday-btn--danger{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.holiday-table-wrap{overflow-x:auto}.holiday-table{border-collapse:collapse;width:100%}.holiday-table td,.holiday-table th{border-bottom:1px solid #eef2f5;padding:12px 10px;text-align:left;vertical-align:top}.holiday-table th{color:#64748b;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.holiday-table td strong{color:#0f172a;display:block}.holiday-table td small{color:#64748b;display:block;font-size:.82rem;margin-top:4px}.holiday-actions{display:flex;flex-wrap:wrap;gap:8px}.holiday-type-badge{background:#eff6ff;border-radius:999px;color:#1d4ed8;display:inline-block;font-size:.78rem;font-weight:600;padding:4px 10px}.holiday-type-badge--festival{background:#fff7ed;color:#c2410c}.holiday-type-badge--restricted{background:#faf5ff;color:#7e22ce}.holiday-type-badge--company{background:#ecfdf5;color:#047857}.holiday-empty{color:#64748b;margin:0}.holiday-status{border-radius:8px;font-size:.9rem;margin-bottom:16px;padding:10px 12px}.holiday-status--success{background:#ecfdf5;border:1px solid #bbf7d0;color:#047857}.holiday-status--error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}@media (max-width:768px){.holiday-form .form-row,.holiday-list-header{flex-direction:column}}.weekoff-manager-container{display:flex;flex-direction:column-reverse;gap:32px;margin-top:24px;width:100%}.weekoff-form-section,.weekoff-list-section{background:#fff;border:1px solid #eef2f5;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:24px}.weekoff-form-section h2,.weekoff-list-header h2{color:#1e293b;font-size:1.35rem;margin:0 0 8px}.weekoff-list-header p{color:#64748b;font-size:.92rem;margin:0 0 20px}.weekoff-form{display:flex;flex-direction:column;gap:18px}.weekoff-form .form-group{display:flex;flex-direction:column;gap:8px}.weekoff-form label{color:#475569;font-size:.85rem;font-weight:600}.weekoff-form select{background:#fff;border:1px solid #dbe3ea;border-radius:8px;padding:10px 12px}.weekoff-field-hint{color:#64748b;font-size:.82rem;line-height:1.4}.weekoff-days-grid{display:flex;flex-wrap:wrap;gap:10px}.weekoff-day-btn{background:#f8fafc;border:1px solid #dbe3ea;border-radius:10px;color:#475569;cursor:pointer;font-weight:600;min-width:54px;padding:10px 12px}.weekoff-day-btn.active{background:linear-gradient(135deg,#1e6bd6,#2bb7da);border-color:#0000;color:#fff}.weekoff-form-actions{display:flex;gap:10px;justify-content:flex-end}.weekoff-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 16px}.weekoff-btn:disabled{cursor:not-allowed;opacity:.6}.weekoff-btn--primary{background:linear-gradient(135deg,#1e6bd6,#2bb7da);color:#fff}.weekoff-btn--ghost{background:#f8fafc;border:1px solid #dbe3ea;color:#334155}.weekoff-btn--danger{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.weekoff-table-wrap{overflow-x:auto}.weekoff-table{border-collapse:collapse;width:100%}.weekoff-table td,.weekoff-table th{border-bottom:1px solid #eef2f5;padding:12px 10px;text-align:left;vertical-align:top}.weekoff-table th{color:#64748b;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.weekoff-table td strong{color:#0f172a;display:block}.weekoff-table td small{color:#64748b;display:block;font-size:.82rem;margin-top:4px}.weekoff-day-badges{display:flex;flex-wrap:wrap;gap:8px}.weekoff-day-badge{background:#eff6ff;border-radius:999px;color:#1d4ed8;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.weekoff-actions{display:flex;flex-wrap:wrap;gap:8px}.weekoff-empty{color:#64748b;margin:0}.weekoff-status{border-radius:8px;font-size:.9rem;margin-bottom:16px;padding:10px 12px}.weekoff-status--success{background:#ecfdf5;border:1px solid #bbf7d0;color:#047857}.weekoff-status--error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}@media (max-width:768px){.weekoff-days-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}}.payroll-config-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a;padding:16px 18px}.payroll-config-card__head{border-bottom:1px solid #f1f5f9;margin-bottom:12px;padding-bottom:10px}.payroll-config-card__head h3{color:#0f172a;font-size:15px;font-weight:700;line-height:1.3;margin:0}.payroll-config-card__head p{color:#64748b;font-size:13px;line-height:1.45;margin:4px 0 0}.payroll-config-card__section{margin-bottom:16px}.payroll-config-card__section:last-of-type{margin-bottom:0}.payroll-config-card__section-title{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.payroll-config-card__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-config-card__field{display:flex;flex-direction:column;gap:4px;min-width:0}.payroll-config-card__field label{color:#475569;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.payroll-config-card__field-hint{color:#64748b;display:block;font-size:12px;font-weight:400;letter-spacing:normal;line-height:1.4;text-transform:none}.payroll-config-card__field input[type=number],.payroll-config-card__field select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;font-size:14px;font-weight:500;height:40px;outline:none;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.payroll-config-card__field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;cursor:pointer;padding-right:36px}.payroll-config-card__field input[type=number]:focus,.payroll-config-card__field select:focus{border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61f}.payroll-config-card__toggles{background:#fafbfc;border:1px solid #f1f5f9;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.payroll-config-card__toggle{align-items:flex-start;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;transition:background .15s ease}.payroll-config-card__toggle:hover{background:#f1f5f9}.payroll-config-card__toggle>span{color:#0f172a;font-size:14px;font-weight:600;line-height:1.4}.payroll-config-card__toggle input{accent-color:#1e6bd6;flex-shrink:0;height:16px;margin-top:2px;width:16px}.payroll-config-card__toggle-hint{color:#64748b;display:block;font-size:12px;font-weight:400;line-height:1.4;margin-top:2px}.payroll-config-card__footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:4px;padding-top:12px}.payroll-config-card__msg{border-radius:10px;font-size:13px;font-weight:500;padding:8px 12px}.payroll-config-card__msg--success{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}.payroll-config-card__msg--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.payroll-config-card__loading{background:#fafbfc;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;font-size:14px;padding:24px;text-align:center}@media (max-width:768px){.payroll-config-card__grid{grid-template-columns:1fr}}.org-profile-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a;padding:16px 18px}.org-profile-card__head{align-items:flex-start;border-bottom:1px solid #f1f5f9;color:#1e6bd6;display:flex;gap:10px;margin-bottom:12px;padding-bottom:10px}.org-profile-card__head h3{color:#0f172a;font-size:15px;font-weight:700;line-height:1.3;margin:0}.org-profile-card__head p{color:#64748b;font-size:13px;line-height:1.45;margin:4px 0 0}.org-profile-card__logo-row{align-items:center;background:#fafbfc;border:1px dashed #cbd5e1;border-radius:10px;display:flex;gap:14px;margin-bottom:14px;padding:12px 14px}.org-profile-card__logo-preview{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-shrink:0;height:72px;justify-content:center;overflow:hidden;width:72px}.org-profile-card__logo-preview img{max-height:100%;max-width:100%;object-fit:contain}.org-profile-card__logo-fallback{align-items:center;background:linear-gradient(135deg,#1e6bd6,#0ea5e9);color:#fff;display:flex;font-size:20px;font-weight:700;height:100%;justify-content:center;width:100%}.org-profile-card__upload-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#334155;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:40px;padding:0 14px;transition:background .15s ease,border-color .15s ease}.org-profile-card__upload-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.org-profile-card__upload-btn:disabled{cursor:not-allowed;opacity:.6}.org-profile-card__hint{color:#64748b;font-size:12px;line-height:1.4;margin:6px 0 0}.org-profile-card__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.org-profile-card__grid label{color:#475569;display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:4px;letter-spacing:.04em;text-transform:uppercase}.org-profile-card__grid label.full-width{grid-column:1/-1}.org-profile-card__grid input,.org-profile-card__grid textarea{background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;font-size:14px;font-weight:500;outline:none;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease}.org-profile-card__grid input{height:40px}.org-profile-card__grid textarea{line-height:1.45;min-height:72px;padding:10px 12px;resize:vertical}.org-profile-card__grid input:focus,.org-profile-card__grid textarea:focus{border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61f}.org-profile-card__grid input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.org-profile-card__footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:14px;padding-top:12px}.org-profile-card__save{align-items:center;background:#1e6bd6;border:none;border-radius:10px;box-shadow:0 4px 12px #1e6bd626;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;height:40px;justify-content:center;padding:0 18px;transition:background .15s ease}.org-profile-card__save:hover:not(:disabled){background:#1d4ed8}.org-profile-card__save:disabled{cursor:not-allowed;opacity:.6}.org-profile-card__msg{border-radius:10px;font-size:13px;font-weight:500;padding:8px 12px}.org-profile-card__msg.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}.org-profile-card__msg.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.org-profile-card__loading{background:#fafbfc;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;font-size:14px;padding:24px;text-align:center}@media (max-width:768px){.org-profile-card__grid{grid-template-columns:1fr}.org-profile-card__logo-row{align-items:flex-start;flex-direction:column}.org-profile-card__footer{align-items:stretch;flex-direction:column}.org-profile-card__save{width:100%}}.salary-cm{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:16px;box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a;padding:16px 18px}.salary-cm__head{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.salary-cm__head h3{color:#0f172a;font-size:15px;font-weight:700;line-height:1.3;margin:0}.salary-cm__head p{color:#64748b;font-size:13px;line-height:1.45;margin:4px 0 0}.salary-cm__actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.salary-cm__template-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;border:1px solid #cbd5e1;border-radius:10px;cursor:pointer;height:40px;min-width:180px;outline:none;padding:0 36px 0 12px;transition:border-color .15s ease,box-shadow .15s ease}.salary-cm__template-select,.salary-cm__template-select option{color:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500}.salary-cm__template-select:focus{border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61f}.salary-cm__columns{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.salary-cm__col{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:0;overflow:hidden}.salary-cm__col-head{align-items:center;display:flex;font-size:11px;font-weight:600;justify-content:space-between;letter-spacing:.04em;padding:10px 14px;text-transform:uppercase}.salary-cm__col-head.earning{background:#ecfdf5;border-bottom:1px solid #bbf7d0;color:#047857}.salary-cm__col-head.deduction{background:#fef2f2;border-bottom:1px solid #fecaca;color:#b91c1c}.salary-cm__col-head.employer{background:#eff6ff;border-bottom:1px solid #bfdbfe;color:#1d4ed8}.salary-cm__row{align-items:center;border-top:1px solid #f1f5f9;display:flex;gap:10px;justify-content:space-between;padding:11px 14px}.salary-cm__row:first-of-type{border-top:none}.salary-cm__row-name{color:#0f172a;font-size:14px;font-weight:600;line-height:1.35}.salary-cm__row-meta{color:#64748b;font-size:12px;line-height:1.35;margin-top:2px}.salary-cm__row-actions{display:flex;flex-shrink:0;gap:6px}.salary-cm__icon-btn{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;padding:6px}.salary-cm__icon-btn:hover{background:#f1f5f9;color:#0f172a}.salary-cm__inactive{opacity:.55}.salary-cm__badge{background:#e0e7ff;border-radius:6px;color:#3730a3;font-size:10px;font-weight:700;letter-spacing:.03em;margin-left:6px;padding:2px 6px;text-transform:uppercase;vertical-align:middle}.salary-cm__badge.system{background:#fffbeb;color:#92400e}.salary-cm__empty{color:#94a3b8;font-size:13px;padding:20px 14px;text-align:center}.salary-cm__overlay{align-items:center;background:#0f172a8c;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2000}.salary-cm__modal{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 24px 48px #0f172a33;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:min(640px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);max-width:600px;overflow:hidden;width:100%}.salary-cm__modal-head{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:16px 18px}.salary-cm__modal-head h3{color:#0f172a;font-size:16px;font-weight:700;line-height:1.3;margin:0}.salary-cm__modal-subtitle{color:#64748b;font-size:13px;font-weight:400;letter-spacing:normal;line-height:1.45;margin:4px 0 0;text-transform:none}.salary-cm__modal-close{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;transition:background .15s ease,color .15s ease;width:36px}.salary-cm__modal-close:hover{background:#f8fafc;color:#0f172a}.salary-cm__modal-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:14px 18px 16px}.salary-cm__modal-section{margin-bottom:14px}.salary-cm__modal-section:last-child{margin-bottom:0}.salary-cm__modal-section-title{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.salary-cm__options{background:#fafbfc;border:1px solid #f1f5f9;border-radius:10px;padding:12px 14px}.salary-cm__options .salary-cm__modal-section-title{margin-bottom:8px}.salary-cm__options .salary-cm__check:last-child{margin-bottom:0}.salary-cm__field{margin-bottom:10px}.salary-cm__field label{color:#475569;display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.salary-cm__field input,.salary-cm__field select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-sizing:border-box;color:#0f172a;font-size:14px;font-weight:500;height:40px;outline:none;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.salary-cm__field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;cursor:pointer;padding-right:36px}.salary-cm__field input:focus,.salary-cm__field select:focus{border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61f}.salary-cm__grid2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.salary-cm__grid2 .salary-cm__field,.salary-cm__grid2:last-child{margin-bottom:0}.salary-cm__check{align-items:flex-start;color:#334155;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;line-height:1.45;margin-bottom:8px}.salary-cm__check span{flex:1 1}.salary-cm__check input{accent-color:#1e6bd6;flex-shrink:0;height:16px;margin-top:2px;width:16px}.salary-cm__modal-foot{background:#fff;border-top:1px solid #f1f5f9;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:12px 18px 16px}.salary-cm__hint{color:#64748b;font-size:12px;line-height:1.4;margin-top:4px}.salary-cm__error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.salary-cm__error,.salary-cm__msg{border-radius:10px;font-size:13px;margin-bottom:12px;padding:8px 12px}.salary-cm__msg{font-weight:500}.salary-cm__msg.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}.salary-cm__msg.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}@media (max-width:768px){.salary-cm__overlay{align-items:flex-end;padding:12px}.salary-cm__modal{border-bottom-left-radius:0;border-bottom-right-radius:0;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.salary-cm__head{flex-direction:column}.salary-cm__actions{width:100%}.salary-cm__template-select{flex:1 1;min-width:0}.salary-cm__grid2{grid-template-columns:1fr}.salary-cm__modal-foot{flex-direction:column-reverse}.salary-cm__modal-foot .generic-btn{width:100%}}.overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a66;box-sizing:border-box;display:flex;height:100vh;justify-content:center;left:0;padding:1rem;position:fixed;top:0;width:100vw;z-index:9999}.container{background-color:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;flex-direction:column;height:100%;max-height:520px;max-width:850px;padding:1.25rem;position:relative}.container,.header{box-sizing:border-box;display:flex;width:100%}.header{align-items:center;border-bottom:1px solid #e2e8f0;height:3.5rem;justify-content:space-between;padding:0 .25rem .75rem}.header h2{color:#0f172a;font-size:1.35rem;font-weight:600;margin:0}.close-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.85rem;line-height:1;padding:0;transition:color .15s ease}.close-btn:hover{color:#475569}.payroll-form{flex:1 1;overflow:hidden;width:100%}.form-grid,.payroll-form{display:flex;flex-direction:column}.form-grid{flex:1 1;gap:1.1rem;overflow-y:auto;padding:1rem .25rem}.grid-group{display:flex;gap:1.5rem;width:100%}.form-group{display:flex;flex:1 1;flex-direction:column;gap:.4rem}.form-group label{color:#475569;font-size:.9rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#1e293b;font-size:.925rem;outline:none;padding:.625rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-group input:disabled{background-color:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}.form-group textarea{resize:none}.modal-actions{border-top:1px solid #e2e8f0;box-sizing:border-box;gap:.75rem;padding-top:1rem}.btn-primary,.btn-secondary{border-radius:6px;cursor:pointer;font-family:inherit;font-size:.925rem;font-weight:500;padding:.625rem 1.25rem;transition:all .15s ease}.btn-secondary{background-color:#fff;border:1px solid #cbd5e1;color:#475569}.btn-secondary:hover{background-color:#f8fafc;border-color:#94a3b8;color:#1e293b}.btn-primary{background-color:#4f46e5;border:1px solid #4f46e5;color:#fff}.btn-primary:hover{background-color:#4338ca;border-color:#4338ca}@media (max-width:640px){.grid-group{flex-direction:column;gap:1.1rem}.container{max-height:90vh}}.payroll-adj{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.payroll-adj__head{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:10px 14px}.payroll-adj__head h5{color:#64748b;font-size:.6875rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.payroll-adj__add-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:5px 10px;transition:background .15s,border-color .15s}.payroll-adj__add-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.payroll-adj__body{padding:8px 14px 12px}.payroll-adj__empty,.payroll-adj__hint{color:#94a3b8;font-size:.8125rem;line-height:1.45;margin:0;padding:8px 0}.payroll-adj__list{list-style:none;margin:0;padding:0}.payroll-adj__list li{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:.875rem;gap:12px;justify-content:space-between;padding:10px 0}.payroll-adj__list li:last-child{border-bottom:none}.payroll-adj__meta{color:#94a3b8;display:block;font-size:.75rem;margin-top:3px}.payroll-adj__actions{align-items:center;display:flex;gap:8px}.payroll-adj__actions .earn{color:#059669}.payroll-adj__actions .ded,.payroll-adj__actions .earn{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.payroll-adj__actions .ded{color:#dc2626}.payroll-adj__remove{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;padding:4px}.payroll-adj__remove:hover{background:#fef2f2;color:#dc2626}.payroll-adj__form{background:#fafbfc;border-top:1px solid #e2e8f0;padding:12px 14px 14px}.payroll-adj__grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.payroll-adj__form label{color:#64748b;display:flex;flex-direction:column;font-size:.75rem;font-weight:500;gap:4px}.payroll-adj__form input,.payroll-adj__form select{border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;font-size:.875rem;height:36px;padding:0 10px}.payroll-adj__form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.payroll-adj__form-actions button{border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;height:36px;padding:0 14px}.payroll-adj__form-actions button[type=button]{background:#fff;border:1px solid #cbd5e1;color:#334155}.payroll-adj__form-actions button[type=submit]{background:#1e40af;border:none;color:#fff}.payroll-adj__error{color:#dc2626;font-size:.8125rem;margin-bottom:8px}@media (max-width:480px){.payroll-adj__grid{grid-template-columns:1fr}}.payroll-breakdown{display:flex;flex-direction:column;gap:16px}.payroll-breakdown__sheet{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-breakdown__col{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.payroll-breakdown__col-head{border-bottom:1px solid #e2e8f0;font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:10px 14px;text-transform:uppercase}.payroll-breakdown__col--earn .payroll-breakdown__col-head{background:#ecfdf5;color:#047857}.payroll-breakdown__col--ded .payroll-breakdown__col-head{background:#fef2f2;color:#b91c1c}.payroll-breakdown__col-body{flex:1 1;padding:4px 14px}.payroll-breakdown__col-foot{font-feature-settings:"tnum";align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:700;gap:12px;justify-content:space-between;padding:12px 14px}.payroll-breakdown__col-foot--ded{color:#b91c1c}.payroll-breakdown__col-foot-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.payroll-breakdown__line{grid-gap:12px;align-items:start;border-bottom:1px solid #f1f5f9;display:grid;font-size:.875rem;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.payroll-breakdown__line:last-child{border-bottom:none}.payroll-breakdown__line-label{display:flex;flex-direction:column;gap:3px;min-width:0}.payroll-breakdown__line-name{color:#0f172a;font-size:.8125rem;font-weight:600;line-height:1.35}.payroll-breakdown__line-code{color:#94a3b8;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.payroll-breakdown__line-formula{color:#64748b;font-size:.75rem;line-height:1.4;word-break:break-word}.payroll-breakdown__line-amount{font-feature-settings:"tnum";color:#0f172a;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:700;padding-top:1px;white-space:nowrap}.payroll-breakdown__line--ot .payroll-breakdown__line-amount{color:#059669}.payroll-breakdown__line--lop .payroll-breakdown__line-amount{color:#dc2626}.payroll-breakdown__empty{color:#94a3b8;font-size:.8125rem;padding:16px 0;text-align:center}.payroll-breakdown__employer{background:#f8fafc;border:1px solid #bfdbfe;border-radius:12px;overflow:hidden}.payroll-breakdown__employer-head{background:#eff6ff;border-bottom:1px solid #bfdbfe;padding:10px 14px}.payroll-breakdown__employer-head h4{color:#1d4ed8;font-size:.6875rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.payroll-breakdown__employer-note{color:#64748b;font-size:.75rem;line-height:1.4;margin:4px 0 0}.payroll-breakdown__employer-body{padding:4px 14px}.payroll-breakdown__line--employer .payroll-breakdown__line-amount{color:#1d4ed8}.payroll-breakdown__validation{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;overflow:hidden}.payroll-breakdown__validation-head{align-items:center;border-bottom:1px solid #fde68a;color:#92400e;display:flex;font-size:.8125rem;font-weight:600;gap:8px;padding:10px 14px}.payroll-breakdown__validation-body{padding:8px 14px 12px}.payroll-breakdown__issue{align-items:flex-start;display:flex;font-size:.8125rem;gap:10px;line-height:1.45;padding:6px 0}.payroll-breakdown__issue--fail{color:#991b1b}.payroll-breakdown__issue--warn{color:#92400e}.payroll-breakdown__issue-dot{border-radius:50%;flex-shrink:0;height:6px;margin-top:6px;width:6px}.payroll-breakdown__issue--fail .payroll-breakdown__issue-dot{background:#ef4444}.payroll-breakdown__issue--warn .payroll-breakdown__issue-dot{background:#f59e0b}.payroll-breakdown__engine{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.payroll-breakdown__engine-head{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;color:#334155;display:flex;font-size:.8125rem;font-weight:600;gap:8px;padding:10px 14px}.payroll-breakdown__engine-body{padding:4px 14px 10px}.payroll-breakdown__engine-row{grid-gap:12px;border-bottom:1px solid #f1f5f9;display:grid;font-size:.8125rem;gap:12px;grid-template-columns:120px minmax(0,1fr);line-height:1.45;padding:8px 0}.payroll-breakdown__engine-row:last-child{border-bottom:none}.payroll-breakdown__engine-key{color:#64748b;font-weight:600}.payroll-breakdown__engine-val{color:#0f172a;word-break:break-word}.payroll-breakdown__engine-val--highlight{color:#047857;font-weight:700}@media (max-width:520px){.payroll-breakdown__sheet{grid-template-columns:1fr}.payroll-breakdown__engine-row{gap:4px;grid-template-columns:1fr}}.pb-drawer{--pb-space-xs:6px;--pb-space-sm:10px;--pb-space-md:12px;--pb-space-lg:14px;--pb-space-xl:16px;--pb-radius:12px;--pb-text-xs:0.6875rem;--pb-text-sm:0.75rem;--pb-text-base:0.875rem;--pb-text-lg:1rem;--pb-text-xl:1.5rem;--pb-label:#64748b;--pb-text:#0f172a;--pb-muted:#94a3b8;--pb-border:#e2e8f0;--pb-surface:#f8fafc}.pb-drawer.details-drawer{gap:var(--pb-space-lg);max-width:520px;padding:var(--pb-space-xl)}.pb-drawer .drawer-header{border-bottom:1px solid var(--pb-border);margin-bottom:0;padding-bottom:var(--pb-space-sm)}.pb-drawer .drawer-header h2{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:0}.pb-drawer .drawer-header p{font-size:var(--pb-text-sm);line-height:1.4;margin:2px 0 0}.pb-drawer__body{display:flex;flex:1 1;flex-direction:column;gap:var(--pb-space-lg)}.pb-drawer__meta{grid-gap:var(--pb-space-md);background:var(--pb-surface);border:1px solid var(--pb-border);border-radius:var(--pb-radius);display:grid;gap:var(--pb-space-md);grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--pb-space-md)}.pb-drawer__meta-item{display:flex;flex-direction:column;gap:4px;min-width:0}.pb-drawer__meta-label{color:var(--pb-muted);font-size:var(--pb-text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pb-drawer__meta-value{color:var(--pb-text);font-size:var(--pb-text-base);font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-section{background:#fff;border:1px solid var(--pb-border);border-radius:var(--pb-radius);padding:var(--pb-space-md)}.pb-section__title{color:var(--pb-text);font-size:var(--pb-text-base);font-weight:600;letter-spacing:-.01em;margin:0 0 var(--pb-space-sm)}.pb-section__note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:var(--pb-text-sm);line-height:1.45;margin:0 0 var(--pb-space-sm);padding:var(--pb-space-xs) var(--pb-space-sm)}.pb-att-grid{grid-gap:var(--pb-space-sm);display:grid;gap:var(--pb-space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.pb-att-stat{background:var(--pb-surface);border:1px solid var(--pb-border);border-radius:10px;display:flex;flex-direction:column;gap:6px;min-height:72px;padding:var(--pb-space-sm)}.pb-att-stat__label{color:var(--pb-label);font-size:var(--pb-text-xs);font-weight:500;line-height:1.35}.pb-att-stat__value{font-feature-settings:"tnum";color:var(--pb-text);font-size:var(--pb-text-lg);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.pb-att-stat--present{background:#ecfdf5;border-color:#bbf7d0}.pb-att-stat--present .pb-att-stat__value{color:#047857}.pb-att-stat--paid{background:#eff6ff;border-color:#bfdbfe}.pb-att-stat--paid .pb-att-stat__value{color:#1d4ed8}.pb-att-stat--absent{background:#fff1f2;border-color:#fecaca}.pb-att-stat--absent .pb-att-stat__value{color:#b91c1c}.pb-ot-note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#b45309;font-size:var(--pb-text-sm);margin-top:var(--pb-space-sm);padding:var(--pb-space-xs) var(--pb-space-sm)}.pb-drawer__footer{border-top:1px solid var(--pb-border);flex-direction:column;margin-top:auto;padding-top:var(--pb-space-md)}.pb-drawer__footer,.pb-net-card{display:flex;gap:var(--pb-space-md)}.pb-net-card{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:var(--pb-radius);color:#fff;justify-content:space-between;padding:var(--pb-space-md) var(--pb-space-lg)}.pb-net-card__label{color:#94a3b8;display:block;font-size:var(--pb-text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pb-net-card__words{color:#cbd5e1;font-size:var(--pb-text-sm);line-height:1.4;margin:4px 0 0;max-width:260px}.pb-net-card__amount{font-feature-settings:"tnum";color:#34d399;font-size:var(--pb-text-xl);font-variant-numeric:tabular-nums;font-weight:700;margin:0;white-space:nowrap}.pb-drawer__actions{grid-gap:var(--pb-space-sm);display:grid;gap:var(--pb-space-sm);grid-template-columns:1fr 1fr}.pb-drawer__actions .btn-cancel,.pb-drawer__actions .btn-primary-commit{border-radius:10px;font-size:var(--pb-text-base);height:44px}.pb-drawer .breakdown-loading{align-items:center;color:var(--pb-label);display:flex;flex-direction:column;font-size:var(--pb-text-base);gap:var(--pb-space-sm);justify-content:center;padding:48px var(--pb-space-md)}@media (max-width:480px){.pb-drawer.details-drawer{border-radius:0;max-width:100%;padding:var(--pb-space-md)}.pb-drawer__meta{grid-template-columns:1fr}.pb-net-card{align-items:flex-start;flex-direction:column}.pb-drawer__actions{grid-template-columns:1fr}}.payroll-page{--radius-card:16px;--radius-control:10px;background-color:#f8fafc;flex:1 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-y:auto;padding:20px 24px}.glass-morphism{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:var(--radius-card);box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a;transition:transform .2s ease,box-shadow .2s ease}.payroll-header-banner{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.payroll-title{color:#0f172a;font-size:28px;font-weight:800;letter-spacing:-.5px;margin:0}.payroll-subtitle{color:#64748b;font-size:14px;margin:4px 0 0}.payroll-header-actions{display:flex;gap:12px}.gradient-btn{align-items:center;background:linear-gradient(135deg,#1e6bd6,#2bb7da);border:none;border-radius:var(--radius-control);box-shadow:0 4px 12px #1e6bd626;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 20px;transition:all .2s ease}.gradient-btn:hover{box-shadow:0 6px 16px #1e6bd640;opacity:.95;transform:translateY(-1px)}.gradient-btn:active{transform:translateY(0)}.gradient-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.payroll-tabs-bar{border-bottom:1px solid #e2e8f0;display:flex;gap:8px;margin-bottom:16px;padding-bottom:6px}.tab-btn{align-items:center;background:none;border:none;border-radius:var(--radius-control);color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease}.tab-btn:hover{background:#f1f5f9;color:#0f172a}.tab-btn.active{background:#eff6ff;color:#1e6bd6}.payroll-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.payroll-stats-grid .generic-card{max-width:none}.payroll-analytics-panel{display:flex;flex-direction:column;gap:16px}.payroll-stats-grid .stat-card{align-items:center;display:flex;gap:12px;justify-content:flex-start;padding:22px 24px}.metric-card:hover,.stat-card:hover{box-shadow:0 6px 16px -4px #94a3b81f;transform:translateY(-1px)}.stat-icon-wrapper{align-items:center;border-radius:var(--radius-control);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.indigo-bg{background-color:#eff6ff}.green-bg{background-color:#ecfdf5}.red-bg{background-color:#fef2f2}.amber-bg{background-color:#fffbeb}.metric-card span,.stat-label{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.4px;margin:0;text-transform:uppercase}.metric-card strong,.stat-value{color:#0f172a;display:block;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:4px 0 0}.status-banner{align-items:center;animation:fadeIn .3s ease;border-radius:12px;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:16px;padding:12px 16px;position:relative}.status-banner.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.status-banner.error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.status-banner.info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.payroll-run-banner{align-items:flex-start;border:1px solid #0000;border-radius:12px;display:flex;gap:12px;margin-bottom:16px;padding:14px 16px}.payroll-run-banner--info{background:#f8fafc;border-color:#e2e8f0;color:#334155}.payroll-run-banner--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.payroll-run-banner--warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.payroll-run-banner__icon{flex-shrink:0;margin-top:2px}.payroll-run-banner__body{min-width:0}.payroll-run-banner__title{display:block;font-size:14px;font-weight:700;margin-bottom:4px}.payroll-run-banner__message{font-size:13px;font-weight:500;line-height:1.5;margin:0}.payroll-processor-hint{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569;font-size:13px;line-height:1.5;margin:0 0 16px;padding:12px 14px}.payroll-run-meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 16px;margin:0 0 16px}.payroll-run-meta strong{color:#0f172a}.close-status{background:none;border:none;color:inherit;cursor:pointer;opacity:.6;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.close-status:hover{opacity:1}.processor-controls{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px;margin-top:0}.control-group{display:flex;flex-direction:column;gap:4px}.control-group label{color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.control-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;border:1px solid #cbd5e1;border-radius:var(--radius-control);color:#0f172a;cursor:pointer;font-size:14px;font-weight:500;height:40px;outline:none;padding:0 36px 0 14px;transition:border-color .2s ease}.control-select:focus{border-color:#1e6bd6}.processor-actions-footer{border-top:1px solid #f1f5f9;display:flex;gap:10px;justify-content:flex-end;margin-top:4px;padding-top:14px}.btn-secondary-custom{align-items:center;background-color:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-control);color:#334155;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 20px;transition:all .2s ease}.btn-secondary-custom:hover{background-color:#f8fafc;border-color:#94a3b8}.btn-primary-custom{align-items:center;background-color:#1e6bd6;border:none;border-radius:var(--radius-control);box-shadow:0 4px 12px #1e6bd626;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 20px;transition:all .2s ease}.btn-primary-custom:hover{background-color:#1d4ed8;box-shadow:0 6px 16px #1e6bd640}.btn-primary-custom:disabled{cursor:not-allowed;opacity:.6}.history-table-container{margin-bottom:16px;padding:16px 18px}.table-header-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.table-header-filters h2{color:#0f172a;font-size:17px;font-weight:700;line-height:1.3;margin:0}.table-header-filters .subtitle{color:#64748b;font-size:13px;line-height:1.4;margin:2px 0 0}.history-table-container h3{color:#0f172a;font-size:15px;font-weight:700;margin:0 0 10px}.filter-actions-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;width:100%}.filter-actions-row-left{align-items:flex-end;display:flex;flex:1 1;gap:10px}.table-search-bar{align-items:center;background-color:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-control);display:flex;gap:8px;height:40px;min-width:220px;padding:0 12px;width:min(280px,100%)}.table-search-bar input{border:none;color:#0f172a;font-size:14px;width:100%}.table-search-bar input,.table-search-bar input:focus{box-shadow:none;outline:none}.table-search-bar svg{color:#64748b}.btn-csv{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-control);color:#334155;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:40px;padding:0 14px;transition:all .2s ease}.btn-csv:hover{background-color:#f8fafc}.scrollable-table-wrapper{overflow-x:auto}.payroll-custom-table{border-collapse:collapse;text-align:left;width:100%}.payroll-custom-table th{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#334155;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-transform:uppercase}.payroll-custom-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:14px;padding:16px;vertical-align:middle}.payroll-custom-table tr:hover td{background-color:#f8fafc}.payroll-custom-table td.col-center,.payroll-custom-table th.col-center{text-align:center}.payroll-code-text{color:#1e6bd6;font-weight:700}.emp-code-cell{color:#475569;font-weight:600}.emp-name-cell{color:#0f172a;font-weight:600}.net-salary-val{color:#0f172a;font-weight:700}.deduction-val{color:#ef4444}.badge-status{align-items:center;border-radius:9999px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px}.badge-status.processed{background-color:#d1fae5;color:#065f46}.badge-status.pending{background-color:#fffbeb;color:#b45309}.badge-status.severity-pass{background-color:#d1fae5;color:#065f46}.badge-status.severity-warn{background-color:#fef3c7;color:#92400e}.badge-status.fail,.badge-status.severity-fail{background-color:#fee2e2;color:#991b1b}.badge-status.fail,.badge-status.warn{font-size:11px;padding:2px 8px}.badge-status.warn{background-color:#fef3c7;color:#92400e}.row-action-buttons{display:flex;gap:8px;justify-content:center}.action-btn-pdf,.action-btn-view{align-items:center;background:none;border:none;border-radius:var(--radius-control);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.row-action-buttons .generic-btn.action-btn-pdf,.row-action-buttons .generic-btn.action-btn-view{box-shadow:none;height:32px;min-width:32px;padding:0;transform:none;width:32px}.row-action-buttons .generic-btn.action-btn-pdf:active,.row-action-buttons .generic-btn.action-btn-pdf:hover,.row-action-buttons .generic-btn.action-btn-view:active,.row-action-buttons .generic-btn.action-btn-view:hover{opacity:1;transform:none}.row-action-buttons .generic-btn.action-btn-pdf>span:not(.btn-icon),.row-action-buttons .generic-btn.action-btn-view>span:not(.btn-icon){display:none}.action-btn-pdf svg,.action-btn-view svg{flex-shrink:0}.action-btn-view{background-color:#eff6ff;color:#3b82f6}.row-action-buttons .generic-btn.action-btn-view{background:#eff6ff;color:#3b82f6}.action-btn-view:hover{background-color:#dbeafe}.action-btn-pdf{background-color:#ecfdf5;color:#10b981}.row-action-buttons .generic-btn.action-btn-pdf{background:#ecfdf5;color:#10b981}.action-btn-pdf:hover{background-color:#d1fae5}.empty-table-cell{color:#64748b;font-style:italic;padding:40px!important;text-align:center}.chart-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:10px;padding:36px 0}.details-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.details-drawer{animation:slideLeft .3s cubic-bezier(.16,1,.3,1);background-color:#fff;border-radius:24px 0 0 24px;box-shadow:-10px 0 30px #0f172a1a;display:flex;flex-direction:column;gap:14px;height:100%;max-width:580px;overflow-y:auto;padding:18px 20px;width:100%}.drawer-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.drawer-header h2{color:#0f172a;font-size:18px;font-weight:700;line-height:1.3;margin:0}.drawer-header p{color:#64748b;font-size:13px;line-height:1.4;margin:2px 0 0}.close-drawer-btn{align-items:center;background-color:#f1f5f9;border:none;border-radius:50%;color:#475569;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background-color .2s ease;width:36px}.close-drawer-btn:hover{background-color:#e2e8f0}.drawer-meta-grid{grid-gap:16px;background-color:#f8fafc;border-radius:12px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);padding:16px 20px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-lbl{color:#94a3b8;font-size:11px;font-weight:600;text-transform:uppercase}.meta-item strong{color:#334155;font-size:14px}.details-card-block{border:1px solid #f1f5f9;border-radius:var(--radius-card);padding:20px}.details-card-block h3{color:#0f172a;font-size:14px;font-weight:700;margin-bottom:14px}.breakdown-period-note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#b45309;font-size:12px;margin:-4px 0 12px;padding:8px 12px}.grid-4-cols{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.att-box{background-color:#f8fafc;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px}.att-box span{color:#64748b;font-size:11px}.att-box strong{color:#0f172a;font-size:16px}.att-box.present{background-color:#ecfdf5;color:#047857}.att-box.paid{background-color:#eff6ff;color:#1d4ed8}.att-box.absent{background-color:#fff1f2;color:#b91c1c}.att-box.absent strong,.att-box.paid strong,.att-box.present strong{color:inherit}.ot-badge-alert{background-color:#fffbeb;border:1px solid #fef3c7;border-radius:10px;color:#d97706;font-size:13px;margin-top:14px;padding:10px 14px}.earnings-deductions-sheet{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.sheet-column h4{border-bottom:2px solid #f1f5f9;font-weight:700;margin-bottom:12px;padding-bottom:6px;text-transform:uppercase}.item-row,.sheet-column h4{color:#475569;font-size:13px}.item-row{border-bottom:1px solid #f8fafc;display:flex;justify-content:space-between;padding:8px 0}.item-row.highlight-green{color:#10b981;font-weight:600}.item-row.highlight-red{color:#ef4444;font-weight:600}.total-summary-row{border-top:2px dashed #e2e8f0;color:#0f172a;display:flex;font-size:14px;font-weight:700;justify-content:space-between;margin-top:10px;padding-top:10px}.total-summary-row.red-total{color:#ef4444}.net-payout-banner{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:16px;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.net-payout-banner .net-lbl{color:#94a3b8;font-size:12px;font-weight:600;text-transform:uppercase}.net-payout-banner .words-lbl{color:#cbd5e1;font-size:11px;font-style:italic;margin-top:4px}.net-val{color:#10b981;font-size:28px;font-weight:800}.formula-audit-card{background-color:#1e293b;border-radius:12px;color:#cbd5e1;padding:16px 20px}.formula-head{align-items:center;color:#94a3b8;display:flex;font-size:12px;font-weight:600;gap:8px;margin-bottom:10px;text-transform:uppercase}.formula-body{display:flex;flex-direction:column;font-family:Fira Code,Courier New,Courier,monospace;font-size:11px;gap:6px;line-height:1.6}.formula-body code{color:#38bdf8}.drawer-commit-row{display:flex;gap:12px;margin-top:auto}.btn-cancel{background-color:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-control);color:#334155}.btn-cancel,.btn-primary-commit{cursor:pointer;flex:1 1;font-weight:600;height:48px}.btn-primary-commit{align-items:center;background-color:#10b981;border:none;border-radius:var(--radius-control);box-shadow:0 4px 12px #10b98126;color:#fff;display:flex;gap:8px;justify-content:center}.btn-primary-commit:hover{background-color:#059669}.upload-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1100}.upload-modal{border-radius:var(--radius-card);max-width:480px;padding:28px 32px;position:relative;text-align:center;width:100%}.upload-modal h2{color:#0f172a;font-size:20px;font-weight:700;margin-bottom:8px}.upload-modal>p{color:#64748b;font-size:14px;line-height:1.5;margin-bottom:4px}.upload-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#475569;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease;width:36px}.upload-close:hover{background:#e2e8f0}.upload-icon-wrap{background:#eff6ff;border-radius:14px;color:#1e6bd6;height:56px;margin:0 auto 16px;width:56px}.upload-dropzone,.upload-icon-wrap{align-items:center;display:flex;justify-content:center}.upload-dropzone{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:var(--radius-control);color:#475569;cursor:pointer;font-size:14px;font-weight:500;margin:20px 0 16px;min-height:52px;padding:12px 16px;transition:border-color .2s ease,background .2s ease}.upload-dropzone:hover{background:#eff6ff;border-color:#1e6bd6;color:#1e6bd6}.upload-submit-btn{background:linear-gradient(135deg,#1e6bd6,#2bb7da);border:none;border-radius:var(--radius-control);color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s ease}.generic-btn.upload-submit-btn,.upload-submit-btn{height:46px;width:100%}.upload-submit-btn:hover:not(:disabled){opacity:.92}.upload-submit-btn:disabled{cursor:not-allowed;opacity:.6}.upload-results-box{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1e3a8a;font-size:13px;margin-top:14px;padding:12px 16px;text-align:left;white-space:pre-wrap}.modal-textarea{border:1px solid #cbd5e1;border-radius:var(--radius-control);color:#0f172a;font-family:inherit;font-size:14px;margin:16px 0 20px;min-height:100px;outline:none;padding:12px 14px;resize:vertical;transition:border-color .2s ease;width:100%}.modal-textarea:focus{border-color:#1e6bd6}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.processor-controls.compact{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin:0}.processor-controls.compact .control-group{flex:1 1;min-width:130px}.processor-controls.compact .control-select{height:40px;width:100%}.run-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 10px;text-transform:capitalize}.run-status-badge.pendingreview{background:#fef3c7;color:#92400e}.run-status-badge.approved{background:#d1fae5;color:#065f46}.run-status-badge.processed{background:#dbeafe;color:#1e40af}.run-status-badge.draft,.run-status-badge.rejected{background:#f1f5f9;color:#475569}.section-title{color:#0f172a;font-size:15px;font-weight:700;margin:0 0 10px}.payroll-summary-stats .generic-card{max-width:none}.payroll-summary-stats .card-header{color:#64748b;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.payroll-summary-stats .card-body{font-size:20px}.payroll-summary-stats .card-icon-sidebar{height:52px;width:52px}.summary-panels-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:16px}.summary-panel{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-card);padding:14px 16px}.kv-table td{border-bottom:1px solid #f1f5f9;color:#475569;padding:9px 0}.kv-table tr:hover td{background-color:initial}.kv-table td:last-child{color:#0f172a;font-weight:600}.summary-panel h3{border-bottom:1px solid #f1f5f9;color:#0f172a;font-size:14px;font-weight:700;margin-bottom:14px;padding-bottom:10px}.summary-panel .payroll-custom-table td:last-child{color:#0f172a;font-weight:600}.filter-actions-row .processor-controls.compact{margin-bottom:0}.filter-actions-row .btn-csv,.filter-actions-row .table-search-bar{flex-shrink:0}.emp-field-hint{color:#64748b;font-size:13px}.breakdown-loading{align-items:center;color:#64748b;display:flex;flex:1 1;flex-direction:column;gap:14px;justify-content:center;min-height:280px}.breakdown-loading p{font-size:14px;font-weight:500}.breakdown-loading svg{color:#1e6bd6}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:768px){.drawer-meta-grid,.earnings-deductions-sheet{grid-template-columns:1fr}.grid-4-cols{grid-template-columns:repeat(2,1fr)}.payroll-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.payroll-stats-grid{grid-template-columns:1fr}}.confirm-modal-overlay{align-items:center;animation:confirm-overlay-in .15s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0f1973;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}.confirm-modal{animation:confirm-modal-in .18s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:18px;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014;max-width:420px;padding:28px 28px 24px;position:relative;width:100%}@keyframes confirm-modal-in{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;padding:4px;position:absolute;right:14px;top:14px;transition:color .15s,background .15s}.confirm-modal-close:hover{background:#f3f4f6;color:#374151}.confirm-modal-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.confirm-modal-icon{flex-shrink:0}.confirm-modal-icon.danger{color:#ef4444}.confirm-modal-icon.warning{color:#f59e0b}.confirm-modal-icon.success{color:#10b981}.confirm-modal-title{color:#111827;font-size:1.05rem;font-weight:700;margin:0}.confirm-modal-message{color:#6b7280;font-size:.875rem;line-height:1.55;margin:0 0 18px}.confirm-modal-input-block{margin-bottom:18px}.confirm-modal-input-label{color:#374151;display:block;font-size:.8rem;font-weight:600;margin-bottom:6px}.confirm-modal-textarea{border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:.85rem;min-height:80px;outline:none;padding:9px 12px;resize:vertical;transition:border-color .15s;width:100%}.confirm-modal-textarea:focus{border-color:#6366f1}.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-modal-btn:disabled{cursor:not-allowed;opacity:.55}.confirm-modal-btn:active:not(:disabled){transform:scale(.97)}.confirm-modal-btn.cancel{background:#f3f4f6;color:#374151}.confirm-modal-btn.cancel:hover:not(:disabled){background:#e5e7eb}.confirm-modal-btn.confirm--success:hover:not(:disabled){opacity:.9}.toast-container{bottom:28px;display:flex;flex-direction:column;gap:10px;max-width:360px;pointer-events:none;position:fixed;right:24px;width:calc(100vw - 48px);z-index:1200}.toast-item{align-items:flex-start;animation:toast-slide-in .22s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:14px;box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f;display:flex;gap:10px;overflow:hidden;padding:13px 14px;pointer-events:all;position:relative}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(60px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.toast-item:before{border-radius:14px 0 0 14px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.toast-item--success:before{background:#10b981}.toast-item--error:before{background:#ef4444}.toast-item--warning:before{background:#f59e0b}.toast-item--info:before{background:#6366f1}.toast-icon{display:flex;flex-shrink:0;margin-top:1px}.toast-icon--success{color:#10b981}.toast-icon--error{color:#ef4444}.toast-icon--warning{color:#f59e0b}.toast-icon--info{color:#6366f1}.toast-message{color:#111827;flex:1 1;font-size:.875rem;font-weight:500;line-height:1.45;margin:0;word-break:break-word}.toast-close{background:none;border:none;border-radius:5px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;margin-top:1px;padding:2px;transition:color .15s,background .15s}.toast-close:hover{background:#f3f4f6;color:#374151}@media (max-width:480px){.toast-container{bottom:16px;left:12px;max-width:none;right:12px;width:auto}}.attendance-download-btn{align-items:center;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:33px;justify-content:center;padding:0 18px;transition:all .2s ease}.attendance-download-btn:hover{background:#1d4ed8}.attendance-download-btn:active{transform:scale(.98)}.attendance-download-btn:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.attendance-panel__head{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.attendance-panel__head h2{flex-shrink:0}.attendance-filter-container{flex:1 1;justify-content:flex-end}.attendance-filter-buttons{align-items:center;flex-wrap:wrap;gap:10px}.attendance-filter-container{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.attendance-filter-buttons{display:flex;gap:8px}.attendance-filter-btn{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;padding:8px 30px;transition:all .2s ease}.attendance-filter-btn:hover{background:#f3f4f6}.attendance-filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.attendance-date-filter{align-items:center;display:flex;gap:10px}.attendance-date-filter input{border:1px solid #d1d5db;border-radius:8px;padding:8px 12px}.attendance-search{background:#fff;border:1px solid #d9d9d9;border-radius:10px;font-size:14px;height:33px;outline:none;padding:0 14px;transition:all .2s ease;width:170px}.attendance-search::placeholder{color:#9ca3af}.attendance-search:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.attendance-search:hover{border-color:#bdbdbd}.attendance-page{--attendance-radius-card:16px;--attendance-radius-control:10px;background-color:#f8fafc;display:flex;flex:1 1;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:16px;overflow-y:auto;padding:20px 24px}.attendance-header-banner{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:2px}.attendance-title{color:#0f172a;font-size:28px;font-weight:800;letter-spacing:-.5px;margin:0}.attendance-subtitle{color:#64748b;font-size:14px;line-height:1.4;margin:4px 0 0}.attendance-alert{border-radius:var(--attendance-radius-control);font-size:14px;font-weight:500;margin:0;padding:10px 14px}.attendance-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.attendance-view-toolbar,.attendance-view-toolbar-text h1,.attendance-view-toolbar-text p{all:unset}.attendance-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--attendance-radius-control);color:#991b1b;font-weight:500;margin:0;padding:10px 14px}.attendance-page .payroll-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.attendance-employee-calendar-wrap .calendar-legend-hint{flex-basis:100%;margin-left:0;margin-top:4px}.attendance-employee-calendar-wrap .attendance-day-sessions-card{margin-top:0}.attendance-page .stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:var(--attendance-radius-card);display:flex;gap:12px;justify-content:flex-start;padding:16px 18px}.attendance-page .stat-card.glass-morphism{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a;transition:transform .2s ease,box-shadow .2s ease}.attendance-page .stat-card:hover{box-shadow:0 6px 16px -4px #94a3b81f;transform:translateY(-1px)}.attendance-page .stat-icon-wrapper{align-items:center;border-radius:var(--attendance-radius-control);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.attendance-page .indigo-bg{background-color:#eff6ff}.attendance-page .green-bg{background-color:#ecfdf5}.attendance-page .red-bg{background-color:#fef2f2}.attendance-page .amber-bg{background-color:#fffbeb}.attendance-page .stat-label{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.4px;margin:0;text-transform:uppercase}.attendance-page .stat-value{color:#0f172a;display:block;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:4px 0 0}.attendance-page .attendance-glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:var(--attendance-radius-card);box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a}.attendance-panel{display:flex;flex-direction:column;padding:16px 18px}.attendance-panel__head{border-bottom:1px solid #f1f5f9;margin-bottom:12px;padding-bottom:10px}.attendance-panel__head h2{color:#0f172a;font-size:15px;font-weight:700;line-height:1.3;margin:0}.attendance-panel__head.calendar-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.attendance-mark-card{padding:20px 22px}.attendance-mark-form__head{border-bottom:1px solid #f1f5f9;margin-bottom:18px;padding-bottom:14px}.attendance-mark-form__title-wrap h2{align-items:center;color:#0f172a;display:flex;font-size:16px;font-weight:700;gap:10px;line-height:1.3;margin:0}.attendance-mark-form__title-wrap h2 svg{color:#1e6bd6;flex-shrink:0}.attendance-mark-form__subtitle{color:#64748b;font-size:13px;line-height:1.45;margin:6px 0 0}.attendance-mark-form{display:flex;flex-direction:column;gap:16px}.attendance-mark-form__row{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:minmax(0,1.6fr) minmax(180px,.8fr)}.attendance-mark-form__row--details{align-items:end;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #e8edf4;border-radius:12px;grid-template-columns:minmax(130px,.75fr) minmax(130px,.75fr) minmax(0,1.5fr);padding:16px}.attendance-field{display:flex;flex-direction:column;gap:6px;min-width:0}.attendance-field--full{grid-column:1/-1}.attendance-mark-form .attendance-field label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:none}.attendance-control{background:#fff;border:1px solid #cbd5e1;border-radius:var(--attendance-radius-control);color:#0f172a;font-size:14px;font-weight:500;height:42px;outline:none;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;width:100%}.attendance-control--status-present{background:#f0fdf4;border-color:#86efac}.attendance-control--status-absent{background:#fef2f2;border-color:#fca5a5}.attendance-control--status-half-day{background:#fffbeb;border-color:#fcd34d}.attendance-control--status-late{background:#f5f3ff;border-color:#c4b5fd}.attendance-mark-form__hint{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;color:#64748b;font-size:12px;line-height:1.4;margin:-4px 0 0;padding:10px 12px}.attendance-form-actions{border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;margin-top:2px;padding-top:16px}.attendance-mark-form .attendance-form-actions{grid-column:unset}.attendance-control:focus{border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61f}select.attendance-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;cursor:pointer;padding-right:36px}input.attendance-control[type=time]{cursor:pointer}.attendance-control:disabled{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}.attendance-btn{align-items:center;border:none;border-radius:var(--attendance-radius-control);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;height:40px;justify-content:center;padding:0 18px}.attendance-btn--primary{background:#1e6bd6;box-shadow:0 4px 12px #1e6bd626;color:#fff}.attendance-btn--primary:hover{background:#1d4ed8}.attendance-save-msg{color:#2563eb;font-size:14px;margin:8px 0 0}.attendance-role-select-wrap{display:flex;flex-direction:column;gap:6px;min-width:200px}.attendance-role-select-wrap label{color:#64748b;font-size:13px;font-weight:600}.attendance-role-select{background:#fff;border:1px solid #dbe4ef;border-radius:10px;color:#0f172a;cursor:pointer;font-size:14px;font-weight:600;min-height:42px;padding:10px 12px}.attendance-role-banner{align-items:center;border-radius:10px;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 16px}.attendance-role-banner.manager{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.attendance-hr-actions{display:flex;flex-wrap:wrap;gap:10px}.attendance-hr-btn{align-items:center;background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px}.attendance-hr-btn.secondary{background:#fff;border:1px solid #dbe4ef;color:#334155}.attendance-action-btn{background:#fff;border:1px solid #dbe4ef;color:#2563eb}.attendance-checkin-card{background:#fff;border:1px solid #e8edf4;border-radius:16px;box-shadow:0 4px 24px #0f172a0f;overflow:hidden;padding:0}.attendance-checkin-card--hero .attendance-checkin-hero{align-items:flex-start;background:linear-gradient(135deg,#1e3a8a,#2563eb 55%,#3b82f6);color:#fff;display:flex;gap:16px;justify-content:space-between;padding:22px 24px}.attendance-checkin-hero-text{flex:1 1;min-width:0}.attendance-checkin-card--hero .attendance-checkin-subtitle{color:#ffffffc7;font-size:13px;line-height:1.45;margin:8px 0 0;max-width:36ch}.attendance-checkin-card--hero .attendance-today-sessions{background:#fafbfc;border-top:1px solid #f1f5f9;margin:0;padding:20px 24px 24px}.attendance-checkin-card--hero .attendance-checkin-proof{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;margin:0 24px 16px;padding:16px 18px}.attendance-checkin-hero-text h2{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.02em;margin:8px 0 0}.attendance-checkin-card--hero .attendance-checkin-date{color:#ffffffd9;display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.attendance-status-pill{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #ffffff47;border-radius:999px;color:#fff;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:8px 14px;white-space:nowrap}.attendance-status-pill.live{background:#22c55e40;border-color:#86efac80}.attendance-status-pill.present{background:#22c55e33}.attendance-status-pill.absent{background:#ef444433}.attendance-status-pill.late{background:#3b82f640}.attendance-status-pill.half-day{background:#f59e0b40}.attendance-metrics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 24px 12px}.attendance-metric-card{align-items:center;background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;display:flex;gap:12px;min-width:0;padding:14px 16px;transition:transform .15s ease,box-shadow .15s ease}.attendance-metric-content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.attendance-metric-card:hover{box-shadow:0 4px 12px #0f172a0f;transform:translateY(-1px)}.attendance-metric-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.attendance-metric-card.accent-green .attendance-metric-icon{background:#dcfce7;color:#16a34a}.attendance-metric-card.accent-slate .attendance-metric-icon{background:#f1f5f9;color:#475569}.attendance-metric-card.accent-blue .attendance-metric-icon{background:#dbeafe;color:#2563eb}.attendance-metric-card.accent-violet .attendance-metric-icon{background:#ede9fe;color:#7c3aed}.attendance-metric-label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.attendance-metric-label,.attendance-metric-value{display:block;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-metric-value{color:#0f172a;font-size:17px;font-weight:700}.attendance-checkin-actions--center{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:12px 24px 20px}.attendance-checkin-actions--center .generic-btn{justify-content:center;min-width:148px}.attendance-checkin-actions--center .generic-btn.secondary-btn{background:#fff;border:1px solid #dbe4ef;box-shadow:none;color:#334155}.attendance-checkin-card--hero .checkin-btn{border-radius:10px;box-shadow:0 2px 8px #0f172a14;font-size:15px;min-width:148px;padding:14px 22px}.attendance-checkin-card--hero .checkin-btn.present{background:linear-gradient(135deg,#16a34a,#22c55e)}.attendance-checkin-card--hero .attendance-save-msg{margin:0;padding:0 24px 8px}.attendance-today-sessions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.attendance-today-sessions-header h3{color:#0f172a;font-size:16px;font-weight:700;margin:0}.attendance-today-sessions-count{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;font-size:13px;font-weight:600;padding:4px 10px}.attendance-sessions-timeline{display:flex;flex-direction:column;gap:0}.attendance-timeline-item{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:28px 1fr}.attendance-timeline-rail{align-items:center;display:flex;flex-direction:column;padding-top:18px}.attendance-timeline-dot{background:#2563eb;border:3px solid #dbeafe;border-radius:50%;flex-shrink:0;height:12px;width:12px}.attendance-timeline-item.open .attendance-timeline-dot{background:#16a34a;border-color:#bbf7d0;box-shadow:0 0 0 4px #22c55e26}.attendance-timeline-line{background:linear-gradient(180deg,#cbd5e1,#e2e8f0);flex:1 1;margin-top:6px;min-height:24px;width:2px}.attendance-timeline-card{background:#fff;border:1px solid #e8edf4;border-radius:14px;box-shadow:0 1px 3px #0f172a0a;margin-bottom:14px;padding:16px 18px}.attendance-timeline-item.open .attendance-timeline-card{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#86efac}.attendance-timeline-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.attendance-live-pill{background:#dcfce7;border-radius:999px;color:#16a34a;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.attendance-timeline-times{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.attendance-timeline-time{align-items:flex-start;background:#f8fafc;border-radius:10px;display:flex;gap:10px;padding:10px 12px}.attendance-timeline-time.in svg{color:#16a34a;flex-shrink:0;margin-top:2px}.attendance-timeline-time.out svg{flex-shrink:0;margin-top:2px}.attendance-timeline-time span{color:#94a3b8;display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.attendance-timeline-time strong{color:#0f172a;display:block;font-size:15px;font-weight:700;margin-top:2px}.attendance-sessions-empty-wrap{align-items:center;background:#fff;border:2px dashed #e2e8f0;border-radius:14px;color:#94a3b8;display:flex;flex-direction:column;gap:10px;justify-content:center;padding:32px 20px}.attendance-sessions-empty-wrap p{line-height:1.5;margin:0;max-width:280px;text-align:center}.attendance-employee-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.attendance-employee-calendar-wrap,.attendance-employee-primary,.attendance-employee-secondary{display:flex;flex-direction:column;gap:16px;min-width:0}.attendance-employee-calendar-wrap .attendance-calendar-card{height:100%}.attendance-employee-primary .attendance-checkin-card--hero{display:flex;flex-direction:column;height:100%}.attendance-employee-primary .attendance-today-sessions{flex:1 1}.attendance-link-notice{padding:24px 28px}.attendance-checkin-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.attendance-checkin-header h2{color:#0f172a;font-size:18px;font-weight:700;margin:0}.attendance-checkin-date{color:#64748b;font-size:14px;font-weight:500}.attendance-checkin-body{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.attendance-checkin-label{color:#64748b;display:block;font-size:13px;margin-bottom:4px}.attendance-checkin-times{color:#475569;display:flex;font-size:14px;gap:16px;margin-top:10px}.attendance-checkin-times span{align-items:center;display:inline-flex;gap:6px}.attendance-checkin-actions{display:flex;flex-wrap:wrap;gap:10px}.checkin-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 18px}.checkin-btn.present{background:#16a34a;color:#fff}.checkin-btn.outline{background:#fff;border:1px solid #dbe4ef;color:#334155}.checkin-btn:disabled{cursor:not-allowed;opacity:.55}.attendance-checkin-subtitle{color:#64748b;font-size:13px;margin:6px 0 0}.attendance-link-notice p{margin:0}.attendance-section-heading{color:#0f172a;font-size:20px;font-weight:700;margin:0 0 14px}.attendance-today-sessions{border-top:1px solid #f1f5f9;margin-top:22px;padding-top:20px}.attendance-today-sessions h3{color:#0f172a;font-size:15px;font-weight:700;margin:0 0 12px}.attendance-sessions-list{display:flex;flex-direction:column;gap:10px}.attendance-session-row{grid-gap:12px;align-items:center;background:#f8fafc;border:1px solid #e8edf4;border-radius:10px;color:#334155;display:grid;font-size:14px;gap:12px;grid-template-columns:110px 1fr 1fr auto;padding:12px 14px}.attendance-session-row.open{background:#f0fdf4;border-color:#86efac}.attendance-session-badge{color:#475569;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.attendance-session-time{align-items:center;display:inline-flex;gap:6px}.attendance-session-hours{color:#0f172a;font-weight:600;text-align:right}.attendance-sessions-total{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:12px;color:#1d4ed8;display:flex;font-size:14px;justify-content:space-between;margin-top:6px;padding:14px 18px}.attendance-sessions-total strong{font-size:18px;font-weight:800}.attendance-sessions-empty{color:#94a3b8;font-size:14px;margin:0}.attendance-day-sessions-card{animation:attendance-fade-in .25s ease}@keyframes attendance-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.attendance-day-records{display:flex;flex-direction:column;gap:18px}.attendance-day-record{background:#fafbfc;border:1px solid #f1f5f9;border-radius:12px;padding:16px}.attendance-day-record-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.attendance-session-toggle{align-items:center;background:#fff;border:1px solid #dbe4ef;border-radius:8px;color:#2563eb;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:4px;padding:4px 8px}.attendance-sessions-expand-row td{background:#f8fafc;padding-top:0}.calendar-day{align-items:center;background:#fff;border:1px solid #0000;border-radius:10px;color:#334155;cursor:default;display:flex;flex-direction:column;font-family:inherit;font-size:14px;font-weight:600;gap:4px;justify-content:center;min-height:58px;padding:6px 4px}.calendar-day-num{display:block;font-size:14px;font-weight:700;line-height:1}.calendar-day-meta{align-items:center;display:flex;flex-direction:column;gap:2px;justify-content:center;max-width:100%;min-height:16px;width:100%}.calendar-day.has-sessions:not(:disabled){cursor:pointer}.calendar-day.has-sessions:not(:disabled):hover{box-shadow:0 0 0 2px #93c5fd}.calendar-day.selected{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb}.calendar-day:disabled{cursor:default}.calendar-day-sessions{align-items:center;background:#2563eb;border-radius:999px;color:#fff;display:inline-flex;font-size:10px;font-weight:800;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.calendar-day.has-sessions .calendar-day-sessions{margin-top:0}.calendar-day.present .calendar-day-sessions{background:#15803d}.calendar-day.today .calendar-day-sessions{background:#4f46e5}.calendar-legend-hint{color:#94a3b8;font-size:12px;margin-left:auto}.attendance-timeline-time.out svg{color:#64748b}.attendance-session-location{align-items:center;color:#2563eb;display:inline-flex;font-size:13px;font-weight:500;gap:8px;margin-top:12px;text-decoration:none}.attendance-session-location:hover{text-decoration:underline}.attendance-session-locations{display:flex;flex-direction:column;gap:8px;margin-top:12px}.attendance-checkin-proof{display:flex;flex-wrap:wrap;gap:20px}.attendance-checkin-selfie{align-items:flex-start;border-top:none;display:flex;flex-direction:column;margin-top:0;padding-top:0}.attendance-checkin-selfie img{border:1px solid #dbe4ef;border-radius:12px;display:block;height:120px;margin-top:8px;object-fit:cover;width:120px}.attendance-checkin-location-link{align-items:center;color:#2563eb;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-top:8px;text-decoration:none}.attendance-checkin-location-link:hover{text-decoration:underline}.selfie-modal-backdrop{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.selfie-modal{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0f172a2e;overflow:hidden;width:min(100%,480px)}.selfie-modal-header{display:flex;gap:16px;justify-content:space-between;padding:20px 22px 0}.selfie-modal-header h2{color:#0f172a;font-size:18px;font-weight:700;margin:0}.selfie-modal-header p{color:#64748b;font-size:14px;margin:6px 0 0}.selfie-modal-close{align-items:center;background:#fff;border:1px solid #dbe4ef;border-radius:10px;color:#475569;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.selfie-modal-body{padding:18px 22px}.selfie-preview,.selfie-video-wrap{aspect-ratio:4/3;background:#0f172a;border-radius:14px;overflow:hidden;width:100%}.selfie-video-wrap{position:relative}.selfie-preview,.selfie-video{display:block;height:100%;object-fit:cover;width:100%}.selfie-video-loading{align-items:center;background:#0f172a59;color:#fff;display:flex;font-size:14px;inset:0;justify-content:center;position:absolute}.selfie-error{color:#dc2626;font-size:14px;margin:12px 0 0}.selfie-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:0 22px 22px}.selfie-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:11px 16px}.selfie-modal-close svg{stroke:#000;flex-shrink:0;height:24px;width:24px}.selfie-btn.primary{background:#16a34a;color:#fff}.selfie-btn.secondary{background:#fff;border:1px solid #dbe4ef;color:#334155}.selfie-btn:disabled{cursor:not-allowed;opacity:.65}.attendance-my-row{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:8px 0}.attendance-my-details{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,minmax(80px,1fr))}.attendance-my-label{color:#94a3b8;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.attendance-my-details strong{color:#0f172a;font-size:15px}.attendance-calendar-card,.attendance-day-sessions-card,.attendance-table-card{padding:16px 18px}.calendar-toolbar{align-items:center;border-bottom:none;display:flex;justify-content:space-between;margin-bottom:0;padding-bottom:0}.calendar-toolbar h2{color:#0f172a;font-size:15px;font-weight:700;margin:0}.calendar-nav{display:flex;gap:6px}.calendar-nav button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:var(--attendance-radius-control);color:#475569;cursor:pointer;display:flex;height:34px;justify-content:center;width:34px}.calendar-nav button:hover{background:#f8fafc}.calendar-days,.calendar-weekdays{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.04em;padding:4px 0 8px;text-align:center;text-transform:uppercase}.calendar-day.empty{background:#0000}.calendar-day.neutral{background:#fff;color:#475569;font-weight:500}.calendar-day.present{background:#dcfce7;color:#15803d}.calendar-day.absent{background:#fee2e2;color:#b91c1c}.calendar-day.half-day{background:#ffedd5;color:#c2410c}.calendar-day.late{background:#dbeafe;color:#1d4ed8}.calendar-day.holiday{background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3}.calendar-day.holiday:not(:disabled){cursor:pointer}.calendar-day.week-off{background:#f8fafc;border:1px dashed #cbd5e1;color:#475569}.calendar-day.week-off:not(:disabled){cursor:pointer}.calendar-day-holiday{display:block;font-size:.58rem;font-weight:600;line-height:1.15;max-width:100%;overflow:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap}.calendar-day-weekoff{color:#64748b;display:block;font-size:.62rem;font-weight:700;line-height:1}.calendar-day-weekoff--compact{font-size:.55rem;opacity:.85}.calendar-day.today{border-color:#6366f1;box-shadow:0 0 0 2px #6366f1;font-weight:700;position:relative;z-index:1}.calendar-legend{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:12px;padding-top:12px}.calendar-legend span{align-items:center;color:#64748b;display:inline-flex;font-size:13px;font-weight:500;gap:8px}.legend-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.legend-dot.present{background:#22c55e}.legend-dot.absent{background:#ef4444}.legend-dot.half-day{background:#f59e0b}.legend-dot.late{background:#3b82f6}.legend-dot.holiday{background:#6366f1}.legend-dot.week-off{background:#94a3b8}.attendance-holiday-banner{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;color:#312e81;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 14px}.attendance-holiday-banner span{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.attendance-weekoff-banner{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;color:#334155;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 14px}.attendance-weekoff-banner span{color:#64748b;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.attendance-table-wrap{overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%}.attendance-table th{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.04em;padding:8px 10px 10px 0;text-align:left;text-transform:uppercase;white-space:nowrap}.attendance-table th:last-child{padding-right:0}.attendance-table td{border-bottom:1px solid #f8fafc;color:#334155;font-size:14px;padding:11px 10px 11px 0;vertical-align:middle}.attendance-table td:last-child{padding-right:0}.attendance-table tbody tr:last-child td{border-bottom:none}.attendance-empty{color:#94a3b8;padding:20px 12px;text-align:center}.employee-cell{align-items:center;display:flex;gap:12px}.employee-info{display:flex;flex-direction:column;gap:2px}.employee-code{font-size:12px}.employee-avatar{align-items:center;background:#ede9fe;border-radius:50%;color:#7c3aed;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:38px;justify-content:center;width:38px}.employee-name{color:#0f172a;font-weight:600}.muted-cell{color:#64748b}.status-text{font-size:14px;font-weight:600}.status-text-present{color:#16a34a}.status-text-absent{color:#dc2626}.status-text-half-day{color:#ea580c}.status-text-late{color:#2563eb}@media (max-width:1200px){.attendance-employee-layout,.attendance-mark-form__row,.attendance-mark-form__row--details{grid-template-columns:1fr}}@media (max-width:1100px){.attendance-page .payroll-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.attendance-page{padding:16px}.attendance-mark-form__row,.attendance-mark-form__row--details,.attendance-page .payroll-stats-grid{grid-template-columns:1fr}.attendance-field--full{grid-column:span 1}.attendance-session-row{gap:8px}.attendance-metrics-grid,.attendance-session-row,.attendance-timeline-times{grid-template-columns:1fr}.attendance-checkin-card--hero .attendance-checkin-hero{align-items:flex-start;flex-direction:column}.attendance-checkin-actions--center{align-items:stretch;flex-direction:column}.attendance-checkin-actions--center .generic-btn{min-width:0;width:100%}.attendance-checkin-card--hero .checkin-btn{width:100%}.calendar-day{font-size:12px;min-height:40px}.attendance-my-details{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.attendance-role-select-wrap{width:100%}}.leave-page{--leave-radius-card:16px;--leave-radius-control:10px;background-color:#f8fafc;display:flex;flex:1 1;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:16px;overflow-y:auto;padding:20px 24px}.leave-page .leave-glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:var(--leave-radius-card);box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a}.leave-header-banner{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:2px}.leave-title{color:#0f172a;font-size:28px;font-weight:800;letter-spacing:-.5px;margin:0}.leave-subtitle{color:#64748b;font-size:14px;line-height:1.4;margin:4px 0 0}.leave-alert{border-radius:var(--leave-radius-control);font-size:14px;font-weight:500;margin:0;padding:10px 14px}.leave-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.leave-page .payroll-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.leave-page .payroll-stats-grid .generic-card{max-width:none}.leave-page .stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:var(--leave-radius-card);display:flex;gap:12px;justify-content:flex-start;padding:16px 18px}.leave-page .stat-card.glass-morphism{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f0cc;border-radius:var(--leave-radius-card);box-shadow:0 4px 20px -2px #94a3b814,0 2px 8px -1px #94a3b80a;transition:transform .2s ease,box-shadow .2s ease}.leave-page .stat-card:hover{box-shadow:0 6px 16px -4px #94a3b81f;transform:translateY(-1px)}.leave-page .stat-icon-wrapper{align-items:center;border-radius:var(--leave-radius-control);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.leave-page .indigo-bg{background-color:#eff6ff}.leave-page .green-bg{background-color:#ecfdf5}.leave-page .red-bg{background-color:#fef2f2}.leave-page .amber-bg{background-color:#fffbeb}.leave-page .stat-label{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.4px;margin:0;text-transform:uppercase}.leave-page .stat-value{color:#0f172a;display:block;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:4px 0 0}.leave-layout-grid{grid-gap:16px;align-items:stretch;display:grid;gap:16px;grid-template-columns:1.45fr 1fr}.leave-section-heading{color:#0f172a;font-size:18px;font-weight:700;margin:0 0 12px}.leave-self-section{gap:16px}.leave-panel,.leave-self-section{display:flex;flex-direction:column}.leave-panel{min-height:100%;padding:16px 18px}.leave-panel--wide{width:100%}.leave-panel__head{border-bottom:1px solid #f1f5f9;margin-bottom:12px;padding-bottom:10px}.leave-panel__head h3{align-items:center;color:#0f172a;display:flex;font-size:15px;font-weight:700;gap:8px;line-height:1.3;margin:0}.leave-form-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.leave-field{display:flex;flex-direction:column;gap:4px;min-width:0}.leave-field--wide{grid-column:span 2}.leave-field--full{grid-column:1/-1}.leave-field label{color:#475569;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.leave-control{background:#fff;border:1px solid #cbd5e1;border-radius:var(--leave-radius-control);color:#0f172a;font-size:14px;font-weight:500;height:40px;outline:none;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.leave-control:focus{border-color:#1e6bd6;box-shadow:0 0 0 3px #1e6bd61f}select.leave-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px;cursor:pointer;padding-right:36px}.leave-form-actions{display:flex;grid-column:1/-1;justify-content:flex-end;padding-top:4px}.leave-btn{align-items:center;border:none;border-radius:var(--leave-radius-control);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:40px;justify-content:center;padding:0 18px;transition:all .15s ease}.leave-btn--primary{background:#1e6bd6;box-shadow:0 4px 12px #1e6bd626;color:#fff}.leave-btn--primary:hover{background:#1d4ed8}.balance-editor{display:flex;flex:1 1;flex-direction:column;gap:12px}.leave-balance-grid{display:flex;flex-direction:column;gap:10px}.balance-row{grid-gap:10px;align-items:end;background:#fafbfc;border:1px solid #f1f5f9;border-radius:var(--leave-radius-control);display:grid;gap:10px;grid-template-columns:36px 1fr 1fr;padding:10px 12px}.balance-row__type{color:#64748b;font-size:12px;font-weight:700;padding-bottom:10px;text-align:center}.balance-row__field label{font-size:10px}.leave-list{display:flex;flex:1 1;flex-direction:column;gap:8px}.leave-list-item{align-items:center;background:#fafbfc;border:1px solid #f1f5f9;border-radius:var(--leave-radius-control);display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.leave-list-item strong{color:#0f172a;font-size:14px}.leave-list-item p{color:#64748b;font-size:13px;margin:2px 0 0}.leave-balance-list{display:flex;flex:1 1;flex-direction:column}.leave-balance-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:14px;gap:12px;justify-content:space-between;padding:10px 0}.leave-balance-item:last-child{border-bottom:none}.leave-balance-item strong{font-feature-settings:"tnum";color:#0f172a;font-variant-numeric:tabular-nums}.leave-team-balance-group{border-bottom:1px solid #f1f5f9;padding:10px 0}.leave-team-balance-group:last-child{border-bottom:none}.leave-team-balance-name{color:#0f172a;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.leave-table-wrap{flex:1 1;overflow-x:auto}.leave-table{border-collapse:collapse;min-width:520px;width:100%}.leave-table th{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.04em;padding:8px 10px 10px 0;text-align:left;text-transform:uppercase;white-space:nowrap}.leave-table td{border-bottom:1px solid #f8fafc;color:#334155;font-size:14px;padding:11px 10px 11px 0;vertical-align:middle}.leave-table tbody tr:last-child td{border-bottom:none}.leave-status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.leave-status.approved{background:#dcfce7;color:#15803d}.leave-status.pending{background:#fef3c7;color:#b45309}.leave-status.rejected{background:#fee2e2;color:#b91c1c}.leave-status.cancelled{background:#e2e8f0;color:#334155}.leave-actions{display:flex;gap:6px}.approve-btn,.reject-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:opacity .15s ease;width:32px}.leave-actions .generic-btn.approve-btn,.leave-actions .generic-btn.reject-btn{box-shadow:none;height:32px;min-width:32px;padding:0;transform:none;width:32px}.leave-actions .generic-btn.approve-btn:active,.leave-actions .generic-btn.approve-btn:hover,.leave-actions .generic-btn.reject-btn:active,.leave-actions .generic-btn.reject-btn:hover{opacity:.85;transform:none}.leave-actions .generic-btn.approve-btn>span:not(.btn-icon),.leave-actions .generic-btn.reject-btn>span:not(.btn-icon){display:none}.approve-btn:hover,.reject-btn:hover{opacity:.85}.approve-btn{background:#dcfce7;color:#15803d}.reject-btn{background:#fee2e2;color:#b91c1c}.leave-actions .generic-btn.approve-btn{background:#dcfce7;color:#15803d}.leave-actions .generic-btn.reject-btn,.leave-cancel-btn{background:#fee2e2;color:#b91c1c}.leave-cancel-btn{border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;height:30px;padding:0 10px}.leave-role-banner{align-items:center;border-radius:var(--leave-radius-control);display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 14px}.leave-role-banner.manager{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.leave-hr-actions{display:flex;flex-wrap:wrap;gap:10px;padding-left:5px}.leave-hr-btn{align-items:center;background:#1e6bd6;border:none;border-radius:var(--leave-radius-control);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;height:40px;padding:0 16px}.leave-hr-btn.secondary{background:#fff;border:1px solid #cbd5e1;color:#334155}.leave-empty{color:#94a3b8;font-size:14px;margin:0;padding:20px 12px;text-align:center}.leave-empty--inline{padding:8px 0 4px;text-align:left}.leave-self-notice .leave-empty--inline{padding-bottom:0}@media (max-width:1200px){.leave-layout-grid{grid-template-columns:1fr}.leave-field--wide{grid-column:span 1}.leave-page .payroll-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.leave-page{padding:16px}.balance-row,.leave-form-grid,.leave-page .payroll-stats-grid{grid-template-columns:1fr}.balance-row{gap:8px}.balance-row__type{padding-bottom:0;text-align:left}}.manage-depts-container{box-sizing:border-box;color:#334155;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:2rem;width:100%}.manage-depts-stats{color:#64748b;font-size:.95rem;margin-bottom:1.25rem}.manage-depts-stats strong{color:#1e293b;font-weight:600}.manage-depts-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.manage-depts-search{align-items:center;display:flex;flex:1 1;max-width:720px;position:relative}.manage-depts-search svg{color:#94a3b8;left:1rem;pointer-events:none;position:absolute}.manage-depts-search input{background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:.95rem;outline:none;padding:.75rem 1rem .75rem 2.75rem;transition:border-color .15s ease;width:100%}.manage-depts-search input:focus{border-color:#3b82f6}.manage-depts-actions{align-items:center;display:flex}.manage-depts-add-trigger{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:10px;box-shadow:0 2px 4px #2563eb33;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:opacity .15s ease}.manage-depts-add-trigger:hover{opacity:.95}.manage-depts-card{background-color:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden;width:100%}.manage-depts-scrollable{overflow-x:auto;width:100%}.manage-depts-table{border-collapse:collapse;font-size:.95rem;text-align:left;width:100%}.manage-depts-table th{background-color:#fafafa;color:#64748b;font-weight:600;text-transform:capitalize}.manage-depts-table td,.manage-depts-table th{border-bottom:1px solid #f1f5f9;padding:1.25rem 1.5rem}.manage-depts-table td{color:#1e293b;vertical-align:middle}.manage-depts-table tr:last-child td{border-bottom:none}.manage-depts-empty{color:#94a3b8;font-style:italic;padding:4rem!important;text-align:center}.manage-depts-row-buttons{align-items:center;display:flex;gap:.5rem}.manage-depts-row-buttons button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:transform .1s ease,background-color .15s ease;width:36px}.manage-depts-row-buttons button:active{transform:scale(.95)}.manage-depts-btn-view{background-color:#eff6ff;color:#2563eb}.manage-depts-btn-view:hover{background-color:#dbeafe}.manage-depts-btn-edit{background-color:#fef3c7;border:none!important;color:#d97706}.manage-depts-btn-edit:hover{background-color:#fde68a}.manage-depts-btn-delete{background-color:#fef2f2;color:#ef4444}.manage-depts-btn-delete:hover{background-color:#fee2e2}.manage-depts-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a4d;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.manage-depts-modal{background-color:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;margin:1rem;max-height:85vh;width:100%}.manage-depts-modal--md{max-width:520px}.manage-depts-modal--lg{max-width:720px}.manage-depts-modal__header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.manage-depts-modal__header h3{color:#0f172a;font-size:1.2rem;font-weight:600;margin:0}.manage-depts-modal__close{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;padding:.25rem}.manage-depts-modal__close:hover{background-color:#f1f5f9}.manage-depts-modal__body{flex:1 1;overflow-y:auto;padding:1.5rem}.manage-depts-modal__footer{align-items:center;background-color:#fafafa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #f1f5f9;display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem}.manage-depts-section{margin-bottom:2rem}.manage-depts-section:last-child{margin-bottom:0}.manage-depts-section__head{margin-bottom:1.25rem}.manage-depts-section__head h4{color:#1e293b;font-size:1.05rem;font-weight:600;margin:0 0 .25rem}.manage-depts-section__head p{color:#64748b;font-size:.85rem;margin:0}.manage-depts-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.manage-depts-field{display:flex;flex-direction:column;gap:.5rem}.manage-depts-field--full{grid-column:span 2}.manage-depts-field label{color:#475569;font-size:.85rem;font-weight:600}.manage-depts-required{color:#ef4444;margin-left:.25rem}.manage-depts-field input[type=text],.manage-depts-field select,.manage-depts-field textarea{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.95rem;outline:none;padding:.65rem .85rem;width:100%}.manage-depts-field input[type=text]:focus,.manage-depts-field select:focus,.manage-depts-field textarea:focus{border-color:#3b82f6}.manage-depts-field input:disabled,.manage-depts-field select:disabled,.manage-depts-field textarea:disabled{background-color:#f8fafc;color:#64748b;cursor:not-allowed}.manage-depts-control-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;padding:.65rem 1.5rem;transition:background-color .15s ease}.manage-depts-control-btn--secondary{background-color:#e2e8f0;color:#475569}.manage-depts-control-btn--secondary:hover{background-color:#cbd5e1}.manage-depts-control-btn--primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.manage-depts-control-btn--primary:hover{opacity:.95}@media (max-width:640px){.manage-depts-grid{grid-template-columns:1fr}.manage-depts-field--full{grid-column:span 1}.manage-depts-toolbar{align-items:stretch;flex-direction:column}}.expense-page{background:#f8fafc;display:flex;flex:1 1;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:16px;padding:20px 24px 28px}.expense-context-line{color:#64748b;font-size:.875rem;line-height:1.45;margin:-4px 0 0;max-width:56ch}.expense-summary-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:8px}.expense-summary-grid .generic-card{max-width:none}@media (max-width:1100px){.expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.expense-summary-grid{grid-template-columns:1fr}}.expense-summary-card{align-items:center;background:#fff;border-radius:14px;box-shadow:0 1px 4px #0000000f;display:flex;gap:14px;padding:18px 20px;transition:box-shadow .2s}.expense-summary-card:hover{box-shadow:0 4px 14px #0000001a}.expense-summary-card h3{color:#1a1a2e;font-size:1.4rem;font-weight:700;margin:0}.expense-summary-card p{color:#6b7280;font-size:.78rem;margin:2px 0 0}.expense-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.expense-icon.blue{background:#eff6ff;color:#3b82f6}.expense-icon.green{background:#ecfdf5;color:#10b981}.expense-icon.amber{background:#fffbeb;color:#f59e0b}.expense-icon.purple{background:#f3e8ff;color:#8b5cf6}.expense-icon.rose{background:#fff1f2;color:#f43f5e}.expense-layout-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.expense-layout-grid-1{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:24px}@media (max-width:900px){.expense-layout-grid{grid-template-columns:1fr}}.expense-card{background:#fff;border:1px solid #e8edf3;border-radius:16px;box-shadow:0 1px 3px #0f172a0a,0 4px 16px #0f172a08;padding:22px 24px}.expense-card--form{height:100%}.expense-card__head{border-bottom:1px solid #f1f5f9;margin-bottom:18px;padding-bottom:14px}.expense-card h3,.expense-card__head h3{align-items:center;color:#0f172a;display:flex;font-size:1rem;font-weight:700;gap:8px;margin:0}.expense-card__head p{color:#64748b;font-size:.8125rem;line-height:1.45;margin:6px 0 0}.expense-card>h3{margin-bottom:16px}.expense-status{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;padding:3px 10px;text-transform:capitalize}.expense-status.draft{background:#f3f4f6;color:#6b7280}.expense-status.pending{background:#fef3c7;color:#b45309}.expense-status.approved{background:#d1fae5;color:#065f46}.expense-status.rejected{background:#fee2e2;color:#991b1b}.expense-status.reimbursed{background:#dbeafe;color:#1e40af}.expense-table{border-collapse:collapse;font-size:.85rem;gap:1rem;width:100%}.expense-table th{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.expense-table td,.expense-table th{padding:12px 10px 12px 0;text-align:left}.expense-table td{border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.expense-table tbody tr:hover{background:#f8fafc}.expense-table tbody tr:last-child td{border-bottom:none}.expense-empty{color:#9ca3af;font-size:.85rem;padding:24px;text-align:center}.expense-actions{display:flex;gap:6px}.approve-expense-btn{background:#d1fae5;color:#065f46}.reject-expense-btn{background:#fee2e2;color:#991b1b}.reimburse-btn{background:#dbeafe;color:#1e40af}.edit-expense-btn{background:#eff6ff;color:#3b82f6}.expense-form{gap:16px}.expense-field,.expense-form{display:flex;flex-direction:column}.expense-field{gap:6px;min-width:0}.expense-field--full{grid-column:1/-1}.expense-field label{color:#334155;font-size:.75rem;font-weight:600;letter-spacing:.01em}.expense-field-hint{color:#94a3b8;font-size:.75rem;line-height:1.35}.expense-control{background:#fff;border:1px solid #d1d9e6;border-radius:10px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.875rem;height:42px;outline:none;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.expense-form select.expense-control{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:36px}.expense-control:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.expense-control::placeholder{color:#94a3b8}.expense-control--textarea{height:auto;line-height:1.5;min-height:88px;padding:10px 12px;resize:vertical}.expense-form-row{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:1fr 1fr}.expense-file-zone{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;display:flex;min-height:42px;padding:0 12px;position:relative;transition:border-color .15s ease,background .15s ease}.expense-file-zone:hover{background:#eff6ff;border-color:#93c5fd}.expense-file-input{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.expense-file-zone__label{color:#64748b;font-size:.8125rem;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.expense-checkbox{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155;cursor:pointer;display:flex;font-size:.8125rem;gap:10px;padding:12px 14px;-webkit-user-select:none;user-select:none}.expense-checkbox input{accent-color:#2563eb;cursor:pointer;height:16px;margin:0;width:16px}.expense-form-actions{border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;margin-top:4px;padding-top:4px}@media (max-width:600px){.expense-form-row{grid-template-columns:1fr}}.receipt-link{align-items:center;color:#6366f1;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:4px;text-decoration:none}.receipt-link:hover{text-decoration:underline}.expense-error{background:#fee2e2;color:#991b1b}.expense-error,.expense-message{border-radius:10px;font-size:.85rem;margin-bottom:16px;padding:10px 16px}.expense-message{background:#d1fae5;color:#065f46}.expense-section-heading{color:#0f172a;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin:8px 0 14px}.category-breakdown{display:flex;flex-direction:column;gap:0}.category-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;justify-content:space-between;padding:12px 0}.category-item:last-child{border-bottom:none;padding-bottom:0}.category-name{color:#334155;font-size:.875rem;font-weight:600}.category-amount{color:#1a1a2e;font-size:.85rem;font-weight:600}.category-count{color:#9ca3af;font-size:.75rem;margin-left:6px}.expense-role-banner{align-items:center;border-radius:10px;display:flex;font-size:.85rem;font-weight:500;gap:10px;margin-bottom:20px;padding:12px 18px}.expense-role-banner.manager{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;color:#1d4ed8}.expense-self-section{border-bottom:1px solid #e5e7eb;margin-bottom:28px;padding-bottom:28px}.reject-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.reject-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:420px;padding:28px;width:90%}.reject-modal h3{font-size:1.05rem;font-weight:600;margin:0 0 16px}.reject-modal textarea{border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:.85rem;margin-bottom:14px;min-height:80px;outline:none;padding:10px 12px;resize:vertical;width:100%}.reject-modal-actions{display:flex;gap:10px;justify-content:flex-end}.reject-modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 18px}.reject-modal-actions .confirm-reject{background:#fee2e2;color:#991b1b}.reject-modal-actions .cancel-reject{background:#f3f4f6;color:#6b7280}.amount-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--secondary-color:#64748b;--bg-card:#fff;--border-color:#e2e8f0;--text-main:#1e293b;--text-muted:#64748b;--danger-color:#ef4444;--success-color:#22c55e;--success-bg:#dcfce7;--warning-color:#f59e0b;--overlay-bg:#0f172a99;--radius-md:8px;--radius-lg:12px;--transition:all 0.2s ease-in-out}.exit-mgmt-container{color:#1e293b;color:var(--text-main);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:2rem}.exit-mgmt-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.exit-mgmt-header-block{margin:2rem 0 1rem}.exit-mgmt-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.exit-mgmt-subtitle{color:#64748b;color:var(--text-muted);font-size:.875rem;margin-top:4px}.exit-mgmt-card{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;overflow:hidden}.exit-mgmt-card--mb-large{margin-bottom:2.5rem}.exit-mgmt-card--empty-state{color:#64748b;color:var(--text-muted);padding:2rem;text-align:center}.exit-mgmt-toolbar{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.exit-mgmt-search{align-items:center;display:flex;flex:1 1;max-width:400px;position:relative}.exit-mgmt-search svg{color:#64748b;color:var(--text-muted);left:12px;pointer-events:none;position:absolute}.exit-mgmt-search input{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);font-size:.875rem;outline:none;padding:.625rem .75rem .625rem 2.5rem;transition:all .2s ease-in-out;transition:var(--transition);width:100%}.exit-mgmt-search input:focus{border-color:#2563eb;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb26}.exit-mgmt-scrollable{overflow-x:auto;width:100%}.exit-mgmt-table{border-collapse:collapse;font-size:.875rem;text-align:left;width:100%}.exit-mgmt-table th{background-color:#f8fafc;color:#64748b;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.875rem 1.25rem;text-transform:uppercase}.exit-mgmt-table td,.exit-mgmt-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color)}.exit-mgmt-table td{padding:1rem 1.25rem;vertical-align:middle}.exit-mgmt-table tr:last-child td{border-bottom:none}.exit-mgmt-table tr:hover td{background-color:#f8fafc}.exit-mgmt-employee-name{font-weight:600}.exit-mgmt-truncated-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exit-mgmt-empty{color:#64748b;color:var(--text-muted);font-style:italic;padding:3rem 1.25rem!important;text-align:center}.exit-mgmt-add-trigger{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:8px;padding:.625rem 1.25rem;transition:all .2s ease-in-out;transition:var(--transition)}.exit-mgmt-add-trigger:hover{background-color:#1d4ed8;background-color:var(--primary-hover)}.exit-mgmt-row-buttons{align-items:center;display:flex;gap:8px}.exit-mgmt-btn-approve,.exit-mgmt-btn-reject,.exit-mgmt-btn-view{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .2s ease-in-out;transition:var(--transition);width:32px}.exit-mgmt-btn-view{color:#2563eb;color:var(--primary-color)}.exit-mgmt-btn-view:hover{background:#eff6ff;border-color:#2563eb;border-color:var(--primary-color)}.exit-mgmt-btn-approve{color:#22c55e;color:var(--success-color)}.exit-mgmt-btn-approve:hover{background:#f0fdf4;border-color:#22c55e;border-color:var(--success-color)}.exit-mgmt-btn-reject{color:#ef4444;color:var(--danger-color)}.exit-mgmt-btn-reject:hover{background:#fef2f2;border-color:#ef4444;border-color:var(--danger-color)}.exit-badge{align-items:center;border-radius:50px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .625rem;text-transform:capitalize}.badge--pending{background-color:#fef3c7;color:#d97706}.badge--verified{background-color:#ffedd5;color:#ea580c}.badge--approved{background-color:#dcfce7;background-color:var(--success-bg);color:#15803d}.badge--rejected{background-color:#fee2e2;color:#b91c1c}.exit-mgmt-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172a99;background-color:var(--overlay-bg);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:1000}.exit-mgmt-modal{background:#fff;background:var(--bg-card);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:calc(100vh - 3rem);width:100%}.exit-mgmt-modal--md{max-width:560px}.exit-mgmt-modal--lg{max-width:800px}.exit-mgmt-modal__header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.exit-mgmt-modal__header h3{font-size:1.125rem;font-weight:600;margin:0}.exit-mgmt-modal__close{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;color:var(--text-muted);cursor:pointer;display:flex;padding:4px}.exit-mgmt-modal__close:hover{background-color:#f1f5f9;color:#1e293b;color:var(--text-main)}.exit-mgmt-modal-actions{display:flex;gap:10px;justify-content:flex-end;width:100%}.exit-mgmt-modal__body{flex:1 1;overflow-y:auto;padding:1.5rem}.exit-mgmt-modal__footer{background-color:#f8fafc;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.exit-mgmt-section{margin-bottom:2rem}.exit-mgmt-section__head{border-bottom:1px dashed #e2e8f0;border-bottom:1px dashed var(--border-color);margin-bottom:1rem;padding-bottom:.5rem}.exit-mgmt-section__head h4{font-size:.95rem;font-weight:600;margin:0}.exit-mgmt-section__head p{color:#64748b;color:var(--text-muted);font-size:.8rem;margin:4px 0 0}.exit-mgmt-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}.exit-mgmt-field{display:flex;flex-direction:column;gap:6px}.exit-mgmt-field--full{grid-column:span 2}.exit-mgmt-field label{color:#334155;font-size:.815rem;font-weight:500}.exit-mgmt-required{color:#ef4444;color:var(--danger-color);margin-left:3px}.exit-mgmt-field input[type=date],.exit-mgmt-field input[type=number],.exit-mgmt-field input[type=text],.exit-mgmt-field textarea{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);box-sizing:border-box;font-size:.875rem;outline:none;padding:.625rem .75rem;transition:all .2s ease-in-out;transition:var(--transition);width:100%}.exit-mgmt-checkbox-list{display:flex;flex-direction:column;gap:12px;grid-column:span 2}.exit-mgmt-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px}.exit-mgmt-checkbox-label--mt{margin-top:8px}.exit-mgmt-checkbox-group{display:flex;gap:20px;grid-column:span 2;margin-top:10px}.file-upload-zone{background-color:#f8fafc;border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:12px;border-radius:var(--radius-lg);padding:1.5rem;position:relative;text-align:center}.file-upload-zone input[type=file]{cursor:pointer;inset:0;opacity:0;position:absolute}.exit-mgmt-control-btn{border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem}.exit-mgmt-control-btn--primary{background-color:#2563eb;background-color:var(--primary-color);color:#fff}.exit-mgmt-control-btn--primary:hover{background-color:#1d4ed8;background-color:var(--primary-hover)}.exit-mgmt-control-btn--secondary{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#1e293b;color:var(--text-main)}.exit-mgmt-control-btn--secondary:hover{background-color:#f1f5f9}.exit-mgmt-control-btn--verify{background-color:#f59e0b;background-color:var(--warning-color);color:#fff}.exit-mgmt-control-btn--verify:hover{background-color:#d97706}.document-download-link--btn{align-items:center;background:none;border:none;color:#2563eb;color:var(--primary-color);cursor:pointer;display:inline-flex;gap:8px;padding:0}.exit-mgmt-container svg,.exit-mgmt-modal svg{display:inline-block;flex-shrink:0;height:18px;vertical-align:middle;width:18px}.exit-mgmt-search svg{height:18px;width:18px}.exit-mgmt-row-buttons svg{height:15px;width:15px}.exit-mgmt-modal__close svg{height:22px;width:22px}@media (max-width:640px){.exit-mgmt-container{padding:1rem}.exit-mgmt-grid{grid-template-columns:1fr}.exit-mgmt-field--full{grid-column:span 1}.exit-mgmt-toolbar{align-items:stretch;flex-direction:column}.exit-mgmt-search{max-width:100%}}
/*# sourceMappingURL=main.88266bf6.css.map*/