@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";:root{--primary:#4318ff;--primary-hover:#31c;--bg-main:#f4f7fe;--bg-card:#fff;--text-dark:#2b3674;--text-light:#707eae;--text-dim:#a3aed1;--success:#05cd99;--error:#ee5d50;--warning:#ffb547;--border:#e2e8f0;--shadow:0 4px 12px #0000000d;--radius-card:14px;--radius-btn:8px;color:var(--text-dark);font-family:Nunito,sans-serif}*{box-sizing:border-box}body{background-color:var(--bg-main);-webkit-font-smoothing:antialiased;margin:0;font-size:13px;line-height:1.4}#root{width:100%;min-height:100vh;display:flex}.card{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow);border:1px solid #ffffff80;padding:18px}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-btn);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-secondary{color:var(--primary);border-radius:var(--radius-btn);cursor:pointer;background:#f4f7fe;border:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-secondary.outline{border:1px solid var(--border);color:var(--text-dark);background:#fff}.btn-secondary:hover,.btn-secondary.outline:hover{background:#e2e8f0}h1,h2,h3,h4{margin:0;font-weight:800}h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.1rem}.data-table th{color:var(--text-light);text-transform:uppercase;border-bottom:1px solid var(--border);padding:10px 14px;font-size:.7rem}.data-table td{border-bottom:1px solid #f4f7fe;padding:10px 14px;font-size:.85rem}.login-container{color:#14235f;background:radial-gradient(circle at 20% 18%,#4318ff1f,#0000 30%),radial-gradient(circle at 80% 82%,#14b8a624,#0000 28%),linear-gradient(135deg,#f6f8ff 0%,#eef3fb 52%,#f8fbff 100%);flex:1;place-items:center;width:100%;min-width:100vw;min-height:100vh;padding:32px 18px;font-family:Inter,sans-serif;display:grid}.login-glass{background:#fffffff0;border:1px solid #dfe7f5;border-radius:18px;width:min(100%,430px);padding:38px;box-shadow:0 24px 70px #14235f24}.login-brand{justify-content:center;align-items:center;gap:12px;margin-bottom:26px;display:flex}.login-brand-mark{color:#fff;background:linear-gradient(135deg,#4318ff,#17c3d8);border-radius:14px;place-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:grid;box-shadow:0 12px 24px #4318ff3d}.login-brand strong,.login-brand span{line-height:1.1;display:block}.login-brand strong{color:#14235f;font-size:22px;font-weight:800}.login-brand span{letter-spacing:.08em;text-transform:uppercase;color:#6a79ad;margin-top:5px;font-size:11px;font-weight:800}.login-title{text-align:center;color:#14235f;margin:0 0 8px;font-size:30px;font-weight:800}.login-subtitle{text-align:center;color:#6978a8;max-width:310px;margin:0 auto 28px;font-size:14px;line-height:1.6}.input-group{margin-bottom:18px}.input-group label{color:#23336f;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.input-group input{box-sizing:border-box;color:#14235f;background:#f8faff;border:1px solid #d7e0f0;border-radius:10px;outline:none;width:100%;padding:14px 15px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.input-group input:focus{background:#fff;border-color:#4318ff;box-shadow:0 0 0 4px #4318ff1a}.input-group input::placeholder{color:#9aa7c8}.login-btn{color:#fff;cursor:pointer;background:#4318ff;border:0;border-radius:10px;width:100%;min-height:50px;margin-top:8px;padding:14px;font-size:15px;font-weight:800;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 14px 28px #4318ff3d}.login-btn:hover{background:#31c;transform:translateY(-1px);box-shadow:0 18px 34px #4318ff4d}.login-btn:active{transform:translateY(0)}.login-btn:disabled{cursor:not-allowed;opacity:.72;transform:none}.login-error{color:#c62828;text-align:center;background:#fff1f1;border:1px solid #ffc7c7;border-radius:10px;margin-bottom:18px;padding:11px 12px;font-size:13px;font-weight:700}.spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=520px){.login-glass{border-radius:16px;padding:30px 22px}.login-title{font-size:26px}}.dashboard-wrapper{flex-direction:column;gap:20px;display:flex}.dash-loading{height:60vh;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.dash-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.stat-cards-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{border-radius:16px;align-items:center;gap:14px;padding:20px;transition:transform .2s;display:flex;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px)}.stat-card-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-primary .stat-card-icon{background:var(--primary)}.stat-success .stat-card-icon{background:var(--success)}.stat-warning .stat-card-icon{background:var(--warning)}.stat-error .stat-card-icon{background:var(--error)}.stat-card-body{z-index:1;flex-direction:column;gap:3px;display:flex}.stat-card-body p{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.72rem;font-weight:700}.stat-card-body h2{color:var(--text-dark);margin:0;font-size:1.7rem;font-weight:800;line-height:1}.stat-card-body span{color:var(--text-light);font-size:.72rem}.rate-pill{border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:800;display:inline-block}.rate-pill.success{color:var(--success);background:#e6faf5}.rate-pill.error{color:var(--error);background:#ffe9e9}.stat-card-glow{opacity:.06;border-radius:50%;width:100px;height:100px;position:absolute;top:-20px;right:-20px}.stat-primary .stat-card-glow{background:var(--primary)}.stat-success .stat-card-glow{background:var(--success)}.stat-warning .stat-card-glow{background:var(--warning)}.stat-error .stat-card-glow{background:var(--error)}.dash-main-grid{grid-template-columns:1fr 1.4fr 1fr;gap:16px;display:grid}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.live-dot{color:var(--success);align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:flex}.pulse{background:var(--success);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.donut-body{justify-content:center;align-items:center;gap:20px;margin-bottom:20px;display:flex}.donut-legend{flex-direction:column;gap:12px;display:flex}.donut-legend-item{align-items:center;gap:10px;display:flex}.donut-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.donut-legend-item p{color:var(--text-light);text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.donut-legend-item strong{color:var(--text-dark);font-size:1rem;font-weight:800}.channel-breakdown{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.channel-row{align-items:center;gap:10px;display:flex}.channel-label{flex-shrink:0;width:90px;font-size:.75rem;font-weight:700}.channel-bar-wrap{background:#f0f0f8;border-radius:6px;flex:1;height:8px;overflow:hidden}.channel-bar{border-radius:6px;height:100%;transition:width 1s}.channel-bar.telegram{background:#08c}.channel-bar.whatsapp{background:#25d366}.channel-count{color:var(--text-light);white-space:nowrap;font-size:.72rem;font-weight:700}.activity-feed{flex-direction:column;gap:10px;max-height:340px;display:flex;overflow-y:auto}.activity-item{background:#f8fafc;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.activity-item:hover{background:#f0f4ff}.activity-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:800;display:flex}.activity-info{flex-direction:column;flex:1;gap:2px;display:flex}.activity-info strong{color:var(--text-dark);font-size:.85rem}.activity-info span{color:var(--text-light);text-transform:capitalize;font-size:.72rem}.activity-right{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.activity-amount{color:var(--text-dark);font-size:.82rem;font-weight:800}.status-pill{text-transform:capitalize;border-radius:20px;padding:2px 8px;font-size:.65rem;font-weight:800}.status-pill.sent{color:var(--success);background:#e6faf5}.status-pill.failed{color:var(--error);background:#ffe9e9}.status-pill.pending{color:var(--warning);background:#fff8e1}.empty-feed{text-align:center;color:var(--text-light);padding:30px 20px;font-size:.85rem}.empty-feed span{margin-bottom:8px;font-size:2rem;display:block}.quick-actions-card h3{margin:0 0 14px;font-size:1rem}.quick-actions-list{flex-direction:column;gap:8px;display:flex}.quick-action-btn{border:1px solid var(--border);cursor:pointer;text-align:left;background:#f8fafc;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-family:inherit;transition:all .18s;display:flex}.quick-action-btn:hover{border-color:var(--primary);background:#f0f4ff;transform:translate(3px)}.qa-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.qa-icon.primary{background:#e9edff}.qa-icon.success{background:#e6faf5}.qa-icon.warning{background:#fff8e1}.qa-icon.purple{background:#f0e7ff}.qa-text{flex-direction:column;flex:1;gap:2px;display:flex}.qa-text strong{color:var(--text-dark);font-size:.85rem}.qa-text span{color:var(--text-light);font-size:.72rem}.qa-arrow{color:var(--text-light);font-size:1.1rem}.text-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:.82rem;font-weight:700}@media (width<=1100px){.stat-cards-row{grid-template-columns:repeat(2,1fr)}.dash-main-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.stat-cards-row{grid-template-columns:1fr 1fr}.dash-main-grid{grid-template-columns:1fr}}.companies-page{flex-direction:column;gap:20px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;display:flex}.page-header h2{color:var(--text-dark);margin:0 0 4px;font-size:1.4rem;font-weight:800}.page-header p{color:var(--text-light);margin:0;font-size:.9rem}.table-card{overflow:hidden}.id-cell{color:var(--text-light);font-family:monospace;font-size:.8rem}.company-name-cell{align-items:center;gap:12px;display:flex}.company-avatar{width:34px;height:34px;color:var(--primary);background:#e9edff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:flex}.employee-count{color:var(--text-light);background:#f4f7fe;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-block}.actions-cell{gap:6px;display:flex}.modal-content{width:100%;max-width:460px;padding:28px;animation:.25s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.company-form{flex-direction:column;gap:16px;display:flex}.btn-danger{background:var(--error);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:.85rem;font-weight:700;transition:opacity .2s}@keyframes slideInRight{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar-left{align-items:center;gap:8px;display:flex}.show-label{color:var(--text-light);font-size:.82rem;font-weight:600}.page-size-select{border:1px solid var(--border);background:var(--bg-main);cursor:pointer;color:var(--text-dark);border-radius:8px;outline:none;padding:5px 10px;font-family:inherit;font-size:.82rem}.page-size-select:focus{border-color:var(--primary)}.toolbar-right{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tb-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.8rem;font-weight:700;transition:opacity .2s;display:inline-flex}.tb-btn:hover{opacity:.85}.col-vis-wrap{position:relative}.col-vis-btn{background:var(--primary)}.col-vis-menu{border:1px solid var(--border);z-index:200;background:#fff;border-radius:12px;min-width:180px;max-height:340px;padding:8px 0;animation:.15s ease-out dropIn;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001a}.col-vis-menu::-webkit-scrollbar{width:7px}.col-vis-menu::-webkit-scrollbar-track{background:#eef2f8;border-radius:999px}.col-vis-menu::-webkit-scrollbar-thumb{background:#c7d2e5;border-radius:999px}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.col-vis-item{cursor:pointer;color:var(--text-dark);align-items:center;gap:10px;padding:8px 16px;font-size:.83rem;font-weight:600;transition:background .15s;display:flex}.col-vis-item:hover{background:#f4f7fe}.col-vis-item input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:14px;height:14px}.tb-copy-toast{color:#fff;z-index:9999;pointer-events:none;background:#22c55e;border-radius:8px;padding:8px 20px;font-size:.82rem;font-weight:600;animation:.2s tb-fadein;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes tb-fadein{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pagination-bar{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.pagination-info{color:var(--text-light);margin:0;font-size:.8rem}.pagination-info strong{color:var(--text-dark)}.pagination-controls{align-items:center;gap:6px;display:flex}.pg-btn{cursor:pointer;min-width:38px;height:38px;color:var(--text-light);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0 10px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .18s;display:flex}.pg-btn:hover:not(:disabled):not(.active){color:var(--text-dark);background:#f4f7fe}.pg-btn.active{color:#fff;background:#2bb5a0;border-radius:10px;font-weight:700;box-shadow:0 4px 12px #2bb5a04d}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-nav{color:var(--text-light);min-width:32px;font-size:1rem}.pg-ellipsis{color:var(--text-light);-webkit-user-select:none;user-select:none;padding:0 4px;font-size:.9rem;line-height:38px}.ss-container{width:100%;font-family:inherit;position:relative}.ss-control{border:1px solid var(--border);background:var(--bg-main);cursor:pointer;color:var(--text-dark);-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.85rem;font-weight:600;transition:border-color .2s;display:flex}.ss-control.open,.ss-control:hover{border-color:var(--primary)}.ss-value.placeholder{color:var(--text-light);font-weight:400}.ss-arrow{color:var(--text-light);flex-shrink:0;margin-left:8px;font-size:.55rem}.ss-dropdown{border:1px solid var(--border);z-index:9999;background:#fff;border-radius:10px;animation:.15s ease-out ssDropIn;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #00000026}@keyframes ssDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ss-search-wrap{border-bottom:1px solid var(--border);padding:8px 10px}.ss-search{border:1px solid var(--border);background:var(--bg-main);width:100%;color:var(--text-dark);border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:.82rem}.ss-search:focus{border-color:var(--primary)}.ss-options{max-height:200px;overflow-y:auto}.ss-option{cursor:pointer;color:var(--text-dark);padding:9px 14px;font-size:.84rem;transition:background .12s}.ss-option:hover{background:#f4f7fe}.ss-option.selected{color:var(--primary);background:#e9edff;font-weight:700}.ss-option.none-opt{color:var(--text-light);font-style:italic}.ss-no-results{color:var(--text-light);text-align:center;padding:12px 14px;font-size:.82rem}.employee-directory{flex-direction:column;gap:20px;width:100%;min-width:0;display:flex;overflow:hidden}.directory-table-container{width:100%;min-width:0;overflow:visible}.employee-table-scroll{width:100%;max-width:100%;padding-bottom:6px;overflow:auto visible}.employee-table{min-width:1280px}.directory-header{flex-direction:column;gap:0;display:flex}.header-top-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.header-actions{align-items:center;gap:20px;display:flex}.action-btns{align-items:center;gap:8px;display:flex}.tab-group{background:#f4f7fe;border-radius:12px;padding:4px;display:flex}.tab{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:6px 16px;font-size:.8rem;font-weight:700}.tab.active{color:var(--primary);background:#fff;box-shadow:0 2px 8px #0000000d}.metrics-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.metric-icon-bg{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex}.metric-icon-bg.primary{color:var(--primary);background:#e9edff}.metric-icon-bg.success{color:var(--success);background:#e6faf5}.metric-icon-bg.warning{color:var(--warning);background:#fff8e1}.metric-icon-bg.error{color:var(--error);background:#ffe9e9}.label-row{justify-content:space-between;width:100%;margin-bottom:2px;display:flex}.label-row p{color:var(--text-light);font-size:.7rem;font-weight:700}.trend{font-size:.65rem;font-weight:800}.metric-info strong{font-size:1.25rem}.table-filters{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.search-box{background:var(--bg-main);border-radius:12px;flex:1;align-items:center;gap:10px;max-width:400px;padding:10px 16px;display:flex}.search-box input{background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.filter-group{gap:10px;display:flex}.filter-dropdown{background:var(--bg-main);cursor:pointer;border-radius:12px;padding:10px 16px;font-size:.8rem;font-weight:700}.avatar-circle{width:32px;height:32px;color:var(--primary);background:#f4f7fe;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:500px;padding:30px;animation:.3s ease-out slideUp;overflow:visible}.employee-form{margin-top:20px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:25px;display:grid;overflow:visible}.modal-actions{justify-content:flex-end;gap:15px;display:flex}.messaging-cell{gap:6px;display:flex}.msg-btn{border:1px solid var(--border);color:var(--primary);cursor:pointer;background:#f4f7fe;border-radius:6px;padding:4px 8px;font-size:.7rem;font-weight:800;transition:all .2s}.msg-btn:hover{background:var(--primary);color:#fff}.table-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;display:flex}.pagination{gap:8px;display:flex}.page-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:6px 12px;font-size:.75rem;font-weight:700}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.toast-alert{z-index:2000;border-left:4px solid var(--primary);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:12px 24px;animation:.3s ease-out slideInRight;display:flex;position:fixed;top:30px;right:30px;box-shadow:0 10px 30px #0000001a}.toast-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:800;display:flex}.custom-select{width:100%;position:relative}.custom-select select{border:1px solid var(--border);background:var(--bg-main);appearance:none;cursor:pointer;width:100%;color:var(--text-dark);border-radius:10px;outline:none;padding:10px 14px;font-family:inherit;font-size:.85rem;font-weight:600}.custom-select:after{content:"▼";pointer-events:none;color:var(--text-light);font-size:.6rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.stat{text-align:center;border-radius:12px;padding:15px;font-size:.9rem}.stat strong{font-size:1.4rem;display:block}.failure-details{border-top:1px solid var(--border);margin-top:15px;padding-top:15px}.failure-list{flex-direction:column;gap:8px;max-height:150px;margin-top:10px;display:flex;overflow-y:auto}.failure-item{background:#f8fafc;border-radius:8px;flex-direction:column;padding:8px 12px;display:flex}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:#f4f7fe}.filter-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.chip{color:var(--primary);background:#e9edff;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.chip button{cursor:pointer;color:var(--primary);background:0 0;border:none;padding:0;font-size:.7rem;line-height:1}.clear-all-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.clear-all-btn:hover{color:var(--error)}.company-cell{color:var(--text-light);font-size:.8rem}.action-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:5px 8px;font-size:.8rem;transition:all .2s}.action-btn.delete:hover{border-color:var(--error);background:#ffe9e9}.action-btn.edit:hover{border-color:var(--primary);background:#e9edff}.btn-danger{background:var(--error);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:.85rem;font-weight:700}.btn-danger:hover{opacity:.85}.stat.updated{color:var(--warning);background:#fff8e1}.stat.skipped{color:var(--primary);background:#eef2ff}.failure-item{background:#f8fafc;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.failure-item span{font-size:.8rem;font-weight:700}.failure-item.success small{color:var(--success)}.failure-item.skipped small{color:var(--primary)}.msg-btn.wa{color:#25d366}.msg-btn.wa:hover{color:#fff;background:#25d366;border-color:#25d366}.msg-btn.tg{color:#08c}.msg-btn.tg:hover{color:#fff;background:#08c;border-color:#08c}.msg-btn.tg.linked{color:#08c;background:#e6f7ff;border-color:#08c;font-weight:800}.msg-btn.tg.unlinked{color:var(--text-light);border-color:var(--border)}.tg-linked-badge{background:#e6faf5;border:1px solid #b2f0e0;border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:20px;padding:16px;font-size:1.4rem;display:flex}.tg-linked-badge strong{color:var(--success);font-size:.9rem;display:block}.tg-linked-badge p{color:var(--text-light);margin:4px 0 0;font-size:.82rem}.tg-instructions{margin-bottom:16px}.tg-instructions p{margin:0 0 8px;font-size:.85rem;font-weight:700}.tg-instructions ol{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.tg-instructions li{color:var(--text-light);font-size:.83rem;line-height:1.5}.tg-link-box{border:1px solid var(--border);background:#f4f7fe;border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.tg-link-text{color:var(--primary);word-break:break-all;flex:1;font-family:monospace;font-size:.78rem}.tg-copy-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:.78rem;font-weight:700}.tg-copy-btn:hover{opacity:.85}.tg-note{color:var(--text-light);margin:0 0 16px;font-size:.75rem;line-height:1.5}.tg-status{white-space:nowrap;font-size:.75rem;font-weight:700}.tg-status.linked{color:var(--success)}.tg-status.not-linked{color:var(--text-light)}.btn-outline.tg-export{color:#08c;border-color:#08c}.btn-outline.tg-export:hover{color:#fff;background:#08c}.bulk-checkbox{cursor:pointer;width:15px;height:15px;accent-color:var(--primary)}tr.row-selected td{background:#f0f3ff}.bulk-action-bar{background:#fff8f0;border:1px solid #ffd6a5;border-radius:10px;align-items:center;gap:12px;margin-bottom:10px;padding:10px 16px;display:flex}.bulk-count{color:var(--text-dark);font-size:.85rem;font-weight:700}.btn-danger-outline{color:var(--error);border:1.5px solid var(--error);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:.82rem;font-weight:700;transition:background .15s,color .15s}.btn-danger-outline:hover{background:var(--error);color:#fff}.payslip-config-panel{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;flex-direction:column;gap:16px;padding:18px;display:flex}.payslip-config-panel.inline-mode{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;margin-bottom:16px;padding:14px}.pcfg-top-bar{border-bottom:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.pcfg-template-select-group{color:var(--text-main,#1e293b);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.pcfg-template-select-group select{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:600}.pcfg-apply-all-toggle{color:#475569;align-items:center;font-size:.84rem;display:flex}.pcfg-apply-all-toggle .checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.pcfg-badge{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;padding:4px 10px;font-size:.78rem;font-weight:600}.pcfg-msg{border-radius:6px;align-items:center;padding:8px 14px;font-size:.82rem;font-weight:600;animation:.2s ease-in-out fadeIn;display:flex}.pcfg-msg.success{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.pcfg-msg.error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.pcfg-sections-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.pcfg-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;transition:all .2s;display:flex}.pcfg-section-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000a}.pcfg-section-card.active{background:#fff;border-left:3px solid #2563eb}.pcfg-section-card.disabled{opacity:.65;background:#f8fafc;border-left:3px solid #94a3b8}.pcfg-section-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.pcfg-section-title-wrap{align-items:flex-start;gap:10px;display:flex}.pcfg-section-icon{font-size:1.25rem;line-height:1}.pcfg-section-title-wrap strong{color:#0f172a;font-size:.86rem;line-height:1.2;display:block}.pcfg-section-title-wrap p{color:#64748b;margin:2px 0 0;font-size:.74rem;line-height:1.25}.pcfg-actions-right{align-items:center;gap:8px;display:flex}.pcfg-expand-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600}.pcfg-expand-btn:hover{background:#eff6ff}.pcfg-toggle-switch{cursor:pointer;background:#cbd5e1;border:none;border-radius:12px;flex-shrink:0;width:38px;height:20px;padding:2px;transition:background .2s;position:relative}.pcfg-toggle-switch.on{background:#2563eb}.pcfg-toggle-switch .switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block;box-shadow:0 1px 3px #0003}.pcfg-toggle-switch.on .switch-thumb{transform:translate(18px)}.pcfg-subfields-tray{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:6px;margin-top:6px;padding:8px 10px;animation:.15s ease-in-out fadeIn;display:flex}.pcfg-subfield-hint{color:#64748b;font-size:.72rem;font-weight:600}.pcfg-subfields-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px 10px;display:grid}.pcfg-subfield-checkbox{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.74rem;display:flex}.pcfg-subfield-checkbox input[type=checkbox]{cursor:pointer;accent-color:#2563eb}.pcfg-input-label{color:#475569;font-size:.74rem;font-weight:600}.pcfg-text-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:6px 10px;font-size:.78rem}.pcfg-text-input.small{height:28px;padding:4px 8px;font-size:.76rem}.pcfg-subheading-row{align-items:center;gap:8px;margin-top:6px;font-size:.74rem;display:flex}.pcfg-subheading-row label{color:#475569;white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:flex}.pcfg-inline-fields-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;display:grid}.pcfg-field-caption{color:#64748b;margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.pcfg-footer-actions{border-top:1px solid var(--border-color,#e2e8f0);justify-content:flex-end;align-items:center;gap:10px;padding-top:12px;display:flex}.pcfg-btn{border-radius:6px;padding:8px 16px;font-size:.84rem;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=640px){.pcfg-sections-grid{grid-template-columns:1fr}.pcfg-top-bar{flex-direction:column;align-items:flex-start}.pcfg-languages-grid{grid-template-columns:1fr!important}}.pcfg-languages-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 18px;box-shadow:0 2px 8px #0f172a08}.pcfg-languages-header{margin-bottom:10px}.pcfg-languages-title-wrap{align-items:center;gap:12px;display:flex}.pcfg-languages-icon-badge{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#3b82f6 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.15rem;display:flex;box-shadow:0 3px 8px #6366f133}.pcfg-languages-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pcfg-languages-title-row strong{color:#0f172a;font-size:.96rem;font-weight:800}.pcfg-badge-lang-count{color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.pcfg-languages-title-wrap p{color:#64748b;margin:2px 0 0;font-size:.78rem;line-height:1.35}.pcfg-languages-grid.small{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px;display:grid}@media (width<=900px){.pcfg-languages-grid.small{grid-template-columns:1fr}}.pcfg-language-option-card.small{cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:auto;padding:10px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.pcfg-language-option-card.small:hover{background:#fff;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0d}.pcfg-language-option-card.small.selected{background:linear-gradient(#fff 0%,#f0fdf4 100%);border-color:#10b981;box-shadow:0 3px 10px #10b9811f}.pcfg-lang-left{align-items:center;gap:10px;min-width:0;display:flex}.pcfg-lang-flag-badge{flex-shrink:0;align-items:center;gap:6px;display:flex}.pcfg-lang-flag-emoji{font-size:1.25rem;line-height:1}.pcfg-lang-code-pill{letter-spacing:.04em;color:#334155;text-transform:uppercase;background:#e2e8f0;border-radius:5px;padding:2px 6px;font-size:.68rem;font-weight:800}.pcfg-language-option-card.selected .pcfg-lang-code-pill{color:#15803d;background:#dcfce7}.pcfg-lang-body{flex-direction:column;gap:2px;min-width:0;display:flex}.pcfg-lang-name-row{flex-wrap:nowrap;align-items:baseline;gap:6px;display:flex}.pcfg-lang-native{color:#0f172a;font-size:1.05rem;font-weight:800;line-height:1.2}.pcfg-language-option-card.selected .pcfg-lang-native{color:#065f46}.pcfg-lang-label{color:#64748b;font-size:.74rem;font-weight:600}.pcfg-lang-footer{align-items:center;display:flex}.pcfg-lang-page-tag{color:#15803d;background:#dcfce7;border-radius:5px;align-items:center;gap:5px;padding:2px 7px;font-size:.7rem;font-weight:700;line-height:1.2;display:inline-flex}.pcfg-pulse-dot{background:#10b981;border-radius:50%;width:6px;height:6px}.pcfg-lang-page-tag.unselected{color:#94a3b8;background:#f1f5f9;border:1px dashed #cbd5e1}.pcfg-lang-checkbox{color:#fff;background:#fff;border:1.5px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex}.pcfg-language-option-card:hover .pcfg-lang-checkbox{border-color:#94a3b8}.pcfg-lang-checkbox.checked{background:#10b981;border-color:#10b981;box-shadow:0 2px 6px #10b98159}.pcfg-languages-footer-info{border-top:1px solid #f1f5f9;margin-top:10px;padding-top:8px}.pcfg-multipage-notice{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:.76rem;line-height:1.35;display:flex}.pcfg-multipage-notice.single{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.pcfg-multipage-notice .notice-icon{font-size:.95rem;line-height:1}.payroll-hub{flex-direction:column;gap:20px;display:flex}.hub-header{justify-content:flex-end;align-items:center;display:flex}.hub-header-actions{align-items:center;gap:10px;display:flex}.btn-outline{white-space:nowrap;border:1px solid var(--border);cursor:pointer;color:var(--text-dark);background:#fff;border-radius:10px;align-items:center;padding:7px 14px;font-family:inherit;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.hub-main-grid{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.upload-container.card{flex-direction:column;gap:20px;min-height:300px;display:flex}.upload-month-row{gap:16px;display:flex}.select-wrap{flex-direction:column;flex:1;gap:5px;display:flex}.select-wrap label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.select-wrap select{border:1px solid var(--border);background:var(--bg-main);cursor:pointer;color:var(--text-dark);border-radius:10px;outline:none;padding:9px 12px;font-family:inherit;font-size:.85rem}.select-wrap select:focus{border-color:var(--primary)}.drop-zone{border:2px dashed var(--border);text-align:center;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:30px 20px;display:flex}.upload-icon{background:#f4f7fe;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.drop-zone h3{color:var(--text-dark);margin:0;font-size:1rem}.drop-zone p{color:var(--text-light);max-width:280px;margin:0;font-size:.8rem;line-height:1.5}.btn-primary.disabled{opacity:.6;cursor:not-allowed}.hub-side-grid{flex-direction:column;gap:16px;display:flex}.live-badge{color:var(--primary);background:#e9edff;border-radius:20px;padding:3px 8px;font-size:.68rem;font-weight:800}.status-cards{flex-direction:column;gap:10px;margin:14px 0;display:flex}.status-sub-card{background:#f8fafc;border:1px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:14px;display:flex}.status-sub-card.success{border-color:#dcfce7}.status-sub-card.error{border-color:#fee2e2}.check-icon,.error-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;font-weight:800;display:flex}.check-icon{background:var(--success);color:#fff}.error-icon{background:var(--error);color:#fff}.status-info p{color:var(--text-light);margin:0;font-size:.68rem;font-weight:700}.status-info strong{color:var(--text-dark);font-size:1.3rem}.error-types{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.error-types p{color:var(--text-light);margin:0 0 8px;font-size:.68rem;font-weight:800}.error-list{flex-direction:column;gap:5px;max-height:100px;display:flex;overflow-y:auto}.error-tag{color:var(--error);background:#fff5f5;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600}.no-upload-hint{color:var(--text-light);text-align:center;margin:10px 0 0;font-size:.8rem}.automated-info.card{padding:18px}.info-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.info-header h3{margin:0;font-size:.95rem}.automated-info p{color:var(--text-light);margin:0;font-size:.82rem;line-height:1.5}.recent-uploads.card{overflow:hidden}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.section-header h3{margin:0;font-size:1rem}.table-filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-box-sm{background:var(--bg-main);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:7px 12px;font-size:.8rem;display:flex}.payroll-table-scroll{width:100%;padding-bottom:8px;overflow:auto visible}.payroll-table-scroll::-webkit-scrollbar{height:8px}.payroll-table-scroll::-webkit-scrollbar-track{background:#eef2f8;border-radius:999px}.payroll-table-scroll::-webkit-scrollbar-thumb{background:#c7d2e5;border-radius:999px}.payroll-records-table{min-width:max(100%,1500px)}.data-table th{text-align:left;color:var(--text-light);letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:.68rem;font-weight:800}.data-table td{border-bottom:1px solid var(--border);color:var(--text-dark);vertical-align:middle;white-space:nowrap;padding:13px 14px;font-size:.84rem}.user-cell{align-items:center;gap:10px;display:flex}.emp-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.78rem;font-weight:800;display:flex}.period-badge{color:var(--primary);background:#f4f7fe;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:700}.deduction-text{color:var(--error)}.net-text{color:var(--success)}.status-badge{text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:800;display:inline-block}.status-badge.generated{color:var(--success);background:#e6faf5}.status-badge.completed{color:var(--success);background:#e6faf5}.deleted-emp-badge{text-transform:uppercase;color:#7c3aed;letter-spacing:.03em;background:#f3e8ff;border-radius:20px;padding:1px 7px;font-size:.68rem;font-weight:800;display:inline-block}.action-row{gap:6px;display:flex}.row-menu-wrap{display:inline-block;position:relative}.dots-btn{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-light);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:all .2s;display:flex}.dots-btn:hover{border-color:var(--primary);color:var(--primary);background:#f4f7fe}.row-dropdown{border:1px solid var(--border);z-index:9999;background:#fff;border-radius:12px;min-width:170px;animation:.15s ease-out dropIn;position:fixed;overflow:hidden;box-shadow:0 8px 24px #0000001a}.row-dropdown button{cursor:pointer;text-align:left;width:100%;color:var(--text-dark);background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:.83rem;font-weight:600;transition:background .15s;display:flex}.row-dropdown button:hover{background:#f4f7fe}.row-dropdown button+button{border-top:1px solid var(--border)}.modal-sub{color:var(--text-light);margin:3px 0 0;font-size:.8rem}.modal-content.payslip-preview,.payslip-preview{max-height:calc(100vh - 30px);padding:12px 16px;overflow:hidden auto;width:min(92vw,550px)!important;max-width:550px!important}.modal-content.payslip-preview.config-open,.payslip-preview.config-open{width:min(96vw,700px)!important;max-width:700px!important}.payslip-preview .modal-header{margin-bottom:12px}.payslip-preview .modal-actions{margin-top:12px}.payslip-body{justify-content:center;align-items:flex-start;width:100%;display:flex;overflow:visible}.preview-lang-tabs-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:5px 12px;display:flex}.preview-lang-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preview-lang-hint{color:#475569;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;font-size:.74rem;font-weight:700;display:inline-flex}.preview-lang-icon{font-size:.85rem}.preview-lang-pills{background:#e2e8f0;border-radius:7px;align-items:center;gap:4px;padding:2.5px;display:inline-flex}.preview-lang-pill{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:3.5px 10px;font-size:.78rem;font-weight:600;line-height:1.2;transition:all .15s ease-in-out;display:inline-flex}.preview-lang-pill:hover{color:#1e293b;background:#ffffffa6}.preview-lang-pill.active{color:#4338ca;background:#fff;border-color:#cbd5e1;font-weight:700;box-shadow:0 1px 3px #0f172a14}.preview-lang-pill .pill-flag{font-size:.85rem;line-height:1}.preview-lang-pill .pill-native{color:#1e293b;font-weight:700}.preview-lang-pill.active .pill-native{color:#4338ca}.preview-lang-pill .pill-label-sub{color:#64748b;opacity:.9;font-size:.7rem;font-weight:500}.preview-lang-pill.active .pill-label-sub{color:#6366f1}.preview-lang-pill .pill-page-badge{color:#64748b;letter-spacing:.02em;background:#f1f5f9;border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:700}.preview-lang-pill.active .pill-page-badge{color:#4338ca;background:#e0e7ff}.preview-multipage-badge{color:#047857;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.preview-multipage-badge .badge-check{color:#059669;font-weight:800}.preview-slip.lang-kn,.preview-slip.lang-kn *{font-family:Noto Sans Kannada,Inter,-apple-system,sans-serif!important}.preview-slip.lang-hi,.preview-slip.lang-hi *{font-family:Noto Sans Devanagari,Inter,-apple-system,sans-serif!important}.preview-slip{color:#0f172a;background:#fff;width:100%;min-width:0;max-width:500px;font-family:inherit;overflow:hidden}.preview-modern-slip{border:1px solid #e2e8f0;border-left:4px solid #1e293b;border-radius:8px;padding:12px 14px;box-shadow:0 4px 16px #0000000a}.payslip-preview .preview-modern-slip{zoom:1;width:100%;min-width:0;max-width:500px}.preview-modern-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.preview-modern-company-block{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.preview-modern-logo{color:#4f46e5;justify-content:flex-start;align-items:center;min-height:48px;font-size:16px;font-weight:900;display:flex}.preview-modern-logo img{object-fit:contain;width:48px;max-height:48px}.preview-modern-company{min-width:0}.preview-modern-company h2{color:#0f172a;letter-spacing:0;text-transform:uppercase;margin:0 0 2px;font-size:17px;font-weight:900}.preview-modern-company p{color:#64748b;margin:1.5px 0;font-size:9.5px;font-weight:650;line-height:1.3}.preview-modern-title{text-align:right;flex-shrink:0}.preview-modern-title b{color:#4f46e5;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:900;line-height:1.15;display:block}.preview-modern-title div{white-space:nowrap}.preview-modern-title span{color:#64748b;font-size:9px;font-weight:700;display:inline}.preview-modern-divider{background:#4f46e5;height:2px;margin:10px 0 12px}.preview-modern-info{background:#f8fafc;border:1px solid #edf2f7;border-radius:6px;margin-bottom:8px;padding:8px 12px}.preview-modern-info-row{color:#0f172a;grid-template-columns:1fr 1fr;gap:16px;font-size:10.5px;line-height:1.6;display:grid}.preview-modern-info-row b{color:#334155;font-weight:700}.preview-modern-section{color:#111827;border-bottom:1px solid #e2e8f0;margin:7px 0 4px;padding-bottom:3px;font-size:11px;font-weight:900}.preview-modern-attendance{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.preview-modern-attendance div{text-align:center;background:#fff;border-right:1px solid #e2e8f0;padding:6px 8px}.preview-modern-attendance div:last-child{border-right:0}.preview-modern-attendance span{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:8.5px;font-weight:700;display:block}.preview-modern-attendance strong{color:#0f172a;margin-top:2px;font-size:14px;font-weight:900;display:block}.preview-modern-table{border-collapse:collapse;width:100%;margin-bottom:3px}.preview-modern-table th{color:#1e293b;text-align:left;background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:5px 8px;font-size:9.5px;font-weight:900}.preview-modern-table th:last-child,.preview-modern-table td:last-child{text-align:right}.preview-modern-table td{border-bottom:1px solid #e2e8f0;padding:4px 8px;font-size:10px;font-weight:700}.preview-modern-pay-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.preview-modern-earnings td{color:#059669}.preview-modern-deductions td{color:#b7794a}.preview-modern-table .preview-modern-total td{color:#111827;background:#fbfdff;font-weight:900}.preview-modern-summary-row{grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;display:grid}.preview-modern-netpay-row,.preview-modern-total-deduction-row{background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:10px;font-weight:900;display:flex}.preview-modern-netpay-row{color:#1d4ed8}.preview-modern-total-deduction-row{color:#111827;background:#fbfdff;border-color:#e2e8f0}.preview-modern-net{color:#fff;background:linear-gradient(135deg,#065f46 0%,#059669 45%,#10b981 100%);border-radius:8px;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #05966938,inset 0 1px #ffffff40}.preview-modern-net:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff14);width:140px;height:100%;position:absolute;top:0;right:0}.preview-modern-net-label{text-align:left;flex-direction:column;gap:1px;display:flex}.preview-modern-net-label span{letter-spacing:.8px;text-transform:uppercase;color:#fffffff2;font-size:10px;font-weight:800}.preview-modern-net-label small{color:#ffffffbf;letter-spacing:.2px;font-size:8.5px;font-weight:600}.preview-modern-net strong{color:#fff;letter-spacing:-.3px;text-shadow:0 1px 2px #00000026;align-items:center;gap:3px;font-size:21px;font-weight:900;display:flex}.preview-modern-net strong .currency-symbol{opacity:.9;font-size:15px;font-weight:700}.preview-modern-footer{color:#94a3b8;text-align:center;border-top:1px solid #e2e8f0;margin-top:8px;padding-top:6px;font-size:8px}.preview-company-banner{border-bottom:2px solid #2c3293;grid-template-columns:92px minmax(0,1fr) 150px;align-items:center;gap:10px;padding:12px 14px 8px;display:grid}.preview-logo{color:#f07a21;text-align:center;font-size:34px;font-weight:900}.preview-logo img{object-fit:contain;width:70px;max-height:70px}.preview-company-main{text-align:center}.preview-company-main h2{color:#f07a21;letter-spacing:1px;text-transform:uppercase;margin:0;font-size:30px}.preview-company-main p{color:#2c3293;margin:4px 0 0;font-size:13px;font-weight:800}.preview-contact{color:#2c3293;font-size:14px;font-weight:900;line-height:1.25}.preview-company-stats{color:#2c3293;border-bottom:2px solid #2c3293;grid-template-columns:1fr 1fr;gap:2px 22px;padding:8px 95px 8px 125px;font-size:13px;font-weight:900;display:grid}.preview-company-stats b{color:#f07a21}.preview-slip-title{text-align:center;background:#ff0;border-bottom:1px solid #111;font-size:13px;font-weight:900;line-height:26px}.preview-slip-table{border-collapse:collapse;table-layout:fixed;width:100%}.preview-slip-table td{vertical-align:middle;word-break:break-word;border:1px solid #111;padding:7px 12px;font-size:12px;line-height:16px}.pst-label{text-transform:uppercase;width:19%;font-weight:900}.pst-value{width:31%;font-weight:800}.pst-bank-label,.pst-bank-value{text-align:center;background:#ffd400;font-weight:900}.bulk-preview-modal{width:min(98vw,1380px);max-width:none;max-height:calc(100vh - 18px);padding:12px 16px;overflow:hidden}.bulk-whatsapp-layout{flex-direction:column;gap:12px;display:flex}.bulk-whatsapp-panel{flex-direction:column;gap:12px;min-width:0;display:flex}.bulk-whatsapp-panel .modal-actions{margin-top:0}.bulk-preview-sample{flex-direction:column;align-items:center;gap:10px;min-width:0;margin-bottom:0;display:flex;overflow:hidden}.bulk-preview-sample .preview-modern-slip{zoom:1;width:100%;min-width:0}.bulk-preview-sample .preview-modern-header{grid-template-columns:56px minmax(0,1fr) 110px;gap:8px}.bulk-preview-sample .preview-modern-logo{min-height:42px}.bulk-preview-sample .preview-modern-logo img{width:42px;max-height:42px}.bulk-preview-sample .preview-modern-company h2{font-size:18px;line-height:1.08}.bulk-preview-sample .preview-modern-company p{font-size:9px;line-height:1.25}.bulk-preview-sample .preview-modern-title strong{font-size:18px}.bulk-preview-sample .preview-modern-title span{font-size:8px}.bulk-preview-sample .preview-modern-info-row{gap:10px;font-size:10px}.bulk-preview-sample .preview-modern-pay-grid{gap:10px}.bulk-preview-sample .preview-modern-table th,.bulk-preview-sample .preview-modern-table td{padding:4px 6px;font-size:10px}.bulk-preview-sample .preview-modern-net{padding:8px 12px}.bulk-preview-sample .preview-modern-net strong{font-size:18px}.bulk-preview-caption{border:1px solid var(--border);color:var(--text-dark);background:#f4f7fe;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:.84rem;display:flex}.bulk-preview-caption span{color:var(--primary);font-weight:800}.ps-company{text-align:center;border-bottom:1px solid var(--border);padding-bottom:16px}.ps-company h2{margin:0 0 4px;font-size:1.2rem}.ps-company p{color:var(--text-light);margin:0;font-size:.82rem}.ps-period{font-weight:700;color:var(--primary)!important;margin-top:6px!important}.ps-details-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ps-details-grid>div{background:var(--bg-main);border-radius:10px;flex-direction:column;gap:3px;padding:10px 14px;display:flex}.ps-details-grid span{color:var(--text-light);text-transform:uppercase;font-size:.7rem;font-weight:700}.ps-details-grid strong{font-size:.85rem}.ps-salary-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ps-col{border:1px solid var(--border);border-radius:12px;overflow:hidden}.ps-col-header{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;background:#f4f7fe;padding:8px 14px;font-size:.72rem;font-weight:800}.ps-row{border-top:1px solid var(--border);justify-content:space-between;padding:8px 14px;font-size:.82rem;display:flex}.ps-row.total{background:#f8fafc;font-size:.85rem;font-weight:800}.ps-net{background:var(--primary);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.ps-net span{font-size:.85rem;font-weight:700}.ps-net strong{font-size:1.3rem}.history-modal{max-width:520px}.history-list{flex-direction:column;gap:8px;max-height:420px;display:flex;overflow-y:auto}.history-item{border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:all .18s;display:flex}.history-item:hover{border-color:var(--primary);background:#f8faff}.history-period{flex-direction:column;gap:5px;min-width:110px;display:flex}.history-period strong{font-size:.88rem}.history-amounts{flex:1;gap:20px;display:flex}.history-amounts>div{flex-direction:column;gap:2px;display:flex}.history-amounts span{color:var(--text-light);text-transform:uppercase;font-size:.68rem;font-weight:700}.history-amounts strong{font-size:.85rem}.history-arrow{color:var(--text-light);margin-left:auto;font-size:1.2rem}.summary-stats{grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;display:grid}.stat{text-align:center;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.stat strong{font-size:1.8rem;font-weight:800}.stat span{font-size:.8rem;font-weight:600}.stat.success{color:var(--success);background:#e6faf5}.stat.error{color:var(--error);background:#fff5f5}.failure-details p{color:var(--text-light);margin:0 0 8px;font-size:.8rem;font-weight:700}.failure-list{flex-direction:column;gap:5px;max-height:140px;display:flex;overflow-y:auto}.failure-item{background:#f8fafc;border-radius:8px;padding:7px 12px}.failure-item small{color:var(--error);font-size:.75rem}.toast-alert{z-index:2000;border-left:4px solid var(--primary);background:#fff;border-radius:12px;align-items:center;gap:12px;max-width:320px;padding:12px 20px;animation:.3s ease-out slideInRight;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 8px 24px #0000001f}.toast-alert.error{border-left-color:var(--error)}.toast-alert.success{border-left-color:var(--success)}.toast-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:800;display:flex}.success .toast-icon{background:var(--success)}.error .toast-icon{background:var(--error)}@media (width<=900px){.hub-main-grid,.ps-salary-grid,.ps-details-grid{grid-template-columns:1fr}}.btn-tg-bulk{color:#fff;cursor:pointer;white-space:nowrap;background:#08c;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:.82rem;font-weight:700;transition:opacity .2s;display:inline-flex}.btn-tg-bulk:hover{opacity:.85}.btn-tg-bulk:disabled{opacity:.4;cursor:not-allowed}.btn-wa-bulk{color:#fff;cursor:pointer;white-space:nowrap;background:#25d366;border:none;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:.82rem;font-weight:700;transition:opacity .2s;display:inline-flex}.btn-wa-bulk:hover{opacity:.85}.btn-wa-bulk:disabled{opacity:.4;cursor:not-allowed}.btn-wa{background:#25d366!important}.btn-wa:hover{background:#1ebe5d!important}.tg-count-badge{color:#08c;background:#fff;border-radius:20px;padding:1px 7px;font-size:.72rem;font-weight:800}.bulk-tg-summary{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.bulk-tg-group{border:1px solid #0000;border-radius:12px;padding:14px}.bulk-tg-group.linked{background:#f0fff8;border-color:#b2f0d8}.bulk-tg-group.not-linked{background:#fff5f5;border-color:#fecaca}.bulk-tg-group-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.bulk-tg-group-header strong{font-size:.88rem}.bulk-tg-icon{font-size:1rem}.bulk-tg-names{flex-wrap:wrap;gap:6px;display:flex}.bulk-wa-select-list{flex-wrap:wrap;gap:6px;max-height:170px;padding-right:4px;display:flex;overflow-y:auto}.bulk-tg-name{border:1px solid var(--border);color:var(--text-dark);background:#fff;border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:600}.bulk-tg-name.muted{color:var(--text-light)}.bulk-tg-name.removable{align-items:center;gap:7px;padding-right:5px;display:inline-flex}.bulk-tg-name.removable button{width:18px;height:18px;color:var(--text-light);cursor:pointer;background:#eef2ff;border:0;border-radius:50%;padding:0;font-size:13px;font-weight:800;line-height:18px}.bulk-tg-name.removable button:hover{color:var(--error);background:#ffe9e9}.bulk-tg-more{color:var(--text-light);padding:3px 6px;font-size:.75rem;font-weight:600}.bulk-tg-info{background:#f4f7fe;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.82rem;display:flex}.bulk-tg-info p{color:var(--text-light);margin:0;line-height:1.5}.file-preview-box{border:1px solid var(--border);background:#f4f7fe;border-radius:12px;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;display:flex}.file-preview-icon{font-size:2rem}.file-preview-info{flex-direction:column;gap:3px;display:flex}.file-preview-info strong{color:var(--text-dark);word-break:break-all;font-size:.88rem}.file-preview-info span{color:var(--text-light);font-size:.75rem}.upload-confirm-period{background:#e9edff;border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:.85rem;display:flex}.upload-confirm-period span{color:var(--text-light);font-weight:600}.upload-confirm-period strong{color:var(--primary)}.file-preview-note{color:var(--text-light);margin:0 0 4px;font-size:.8rem;line-height:1.5}.deleted-employee-row{background:#fff5f5!important}.deleted-employee-row td{color:#b91c1c}.deleted-employee-row .text-muted{color:#fca5a5}.records-tab-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.records-tabs{background:#f4f7fe;border-radius:8px;gap:4px;padding:3px;display:flex}.records-tab{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 14px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s;display:flex}.records-tab:hover{color:var(--primary);background:#e9edff}.records-tab.active{color:var(--primary);background:#fff;box-shadow:0 1px 4px #00000014}.records-tab.active.deleted{color:#dc2626}.del-tab-badge{color:#dc2626;background:#fee2e2;border-radius:20px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:800;display:inline-flex}.records-tab.active.deleted .del-tab-badge{color:#fff;background:#dc2626}.management-container{background-color:#f4f7fe;min-height:100vh;padding:40px;font-family:Inter,sans-serif}.management-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.management-header h2{color:#2b3674;font-size:2rem}.btn-primary{color:#fff;cursor:pointer;background:#4318ff;border:none;border-radius:10px;padding:12px 24px;font-weight:600;transition:all .2s}.btn-primary:hover{background:#31c;transform:translateY(-2px)}.table-container{background:#fff;border-radius:20px;padding:24px;overflow-x:auto;box-shadow:0 4px 20px #0000000d}.data-table th{text-align:left;color:#a3aed1;border-bottom:1px solid #e2e8f0;padding:16px;font-weight:600}.data-table td{color:#2b3674;border-bottom:1px solid #f4f7fe;padding:16px;font-weight:500}.data-table tbody tr:hover{background-color:#f8fafc}.text-center{text-align:center}.btn-icon{cursor:pointer;opacity:.7;background:0 0;border:none;margin-right:10px;font-size:1.2rem;transition:opacity .2s}.btn-icon:hover{opacity:1}.status-badge{text-transform:capitalize;border-radius:20px;padding:6px 12px;font-size:.85rem;font-weight:600}.status-badge.active{color:#059669;background:#d1fae5}.status-badge.inactive{color:#dc2626;background:#fee2e2}.logs-center{flex-direction:column;gap:20px;display:flex}.logs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.header-info p{color:var(--text-light);margin:0;font-size:.9rem}.logs-header .header-actions{gap:10px;display:flex}.log-type-tabs{background:#eef2ff;border-radius:10px;gap:6px;width:fit-content;padding:6px;display:inline-flex}.log-type-tabs button{color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 14px;font-weight:800}.log-type-tabs button.active{color:var(--primary);background:#fff;box-shadow:0 4px 12px #0f172a14}.log-stats-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.log-stat-card{flex-direction:column;gap:10px;display:flex;position:relative;overflow:hidden}.log-stat-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;font-weight:800;display:flex}.log-stat-icon.success{color:var(--success);background:#e6faf5}.log-stat-icon.error{color:var(--error);background:#ffe9e9}.log-stat-icon.warning{color:var(--warning);background:#fff8e1}.log-stat-icon.primary{color:var(--primary);background:#e9edff}.log-stat-info p{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.68rem;font-weight:800}.log-stat-info strong{color:var(--text-dark);font-size:1.6rem;font-weight:800;line-height:1}.log-stat-rate{font-size:.72rem;font-weight:700}.log-stat-rate.success{color:var(--success)}.log-stat-rate.error{color:var(--error)}.log-stat-rate.warning{color:var(--warning)}.log-stat-bar{background:var(--border);border-radius:4px;height:4px;overflow:hidden}.log-stat-fill{border-radius:4px;height:100%;transition:width .5s}.log-stat-fill.success{background:var(--success)}.log-stat-fill.error{background:var(--error)}.failure-reasons-card{padding:16px 20px}.failure-reasons-card h4{margin:0 0 14px;font-size:.9rem}.failure-reasons-list{flex-direction:column;gap:8px;display:flex}.failure-reason-item{border-left:3px solid var(--error);background:#fff5f5;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.failure-reason-label{color:var(--text-dark);font-size:.83rem;font-weight:600}.failure-reason-count{background:var(--error);color:#fff;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:800}.logs-table-card{overflow:hidden}.logs-filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.search-box-sm{background:var(--bg-main);border:1px solid var(--border);border-radius:10px;flex:1;align-items:center;gap:8px;max-width:300px;padding:7px 12px;font-size:.8rem;display:flex}.search-box-sm input{background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.82rem}.clear-x{cursor:pointer;color:var(--text-light);background:0 0;border:none;padding:0;font-size:.72rem}.clear-x:hover{color:var(--error)}.filter-sel{border:1px solid var(--border);background:var(--bg-main);cursor:pointer;color:var(--text-dark);border-radius:10px;outline:none;padding:7px 12px;font-family:inherit;font-size:.8rem}.filter-sel:focus{border-color:var(--primary)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-light);letter-spacing:.05em;border-bottom:1px solid var(--border);padding:10px 14px;font-size:.68rem;font-weight:800}.data-table td{border-bottom:1px solid var(--border);color:var(--text-dark);vertical-align:middle;padding:12px 14px;font-size:.83rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f8faff}.data-table tr.row-error td{background:#fff8f8}.data-table tr.row-error:hover td{background:#fff0f0}.user-cell-sm strong{font-size:.85rem;display:block}.sub-text{color:var(--text-light);font-size:.72rem;display:block}.period-badge-sm{color:var(--primary);background:#f4f7fe;border-radius:20px;padding:3px 8px;font-size:.72rem;font-weight:700}.channel-badge{text-transform:capitalize;font-size:.8rem;font-weight:600}.status-badge{border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:800;display:inline-block}.status-badge.sent{color:var(--success);background:#e6faf5}.status-badge.failed{color:var(--error);background:#ffe9e9}.status-badge.pending{color:var(--warning);background:#fff8e1}.time-cell{color:var(--text-light);white-space:nowrap;font-size:.75rem}.center-cell{text-align:center}.text-muted{color:var(--text-light)}.retry-badge{color:var(--warning);background:#fff8e1;border-radius:20px;padding:2px 8px;font-size:.72rem;font-weight:800}.count-pill{text-align:center;border-radius:20px;min-width:28px;padding:3px 9px;font-size:.72rem;font-weight:900;display:inline-block}.count-pill.success{color:var(--success);background:#e6faf5}.count-pill.error{color:var(--error);background:#ffe9e9}.count-pill.primary{color:var(--primary);background:#e9edff}.count-pill.warning{color:var(--warning);background:#fff8e1}.error-snippet{color:var(--error);cursor:pointer;font-size:.75rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.empty-state{text-align:center;color:var(--text-light);padding:50px 20px!important}.empty-icon{margin-bottom:10px;font-size:2rem}.empty-state p{margin:0;font-size:.88rem}.table-loading{color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:50px;display:flex}.spinner-ring{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite spin}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:480px;max-height:90vh;padding:28px;animation:.22s ease-out slideUp;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3{margin:0;font-size:1rem}.modal-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1rem}.modal-close:hover{background:var(--bg-main)}.modal-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.error-detail-body{flex-direction:column;gap:10px;display:flex}.error-detail-row{background:var(--bg-main);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.83rem;display:flex}.error-detail-row span{color:var(--text-light);font-weight:600}.error-detail-row strong{color:var(--text-dark)}.error-message-box{background:#fff5f5;border:1px solid #fecaca;border-radius:10px;padding:14px}.error-message-label{color:var(--error);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.68rem;font-weight:800}.error-message-text{color:var(--error);word-break:break-word;margin:0;font-size:.83rem;line-height:1.5}.error-fix-hint{color:var(--text-dark);background:#f0fff8;border:1px solid #b2f0d8;border-radius:10px;padding:12px 14px;font-size:.82rem;line-height:1.5}.error-fix-hint p{margin:0}.error-fix-hint code{color:var(--success);background:#e6faf5;border-radius:4px;padding:2px 6px;font-size:.78rem}.upload-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.upload-summary-grid div{border:1px solid var(--border);background:#f8faff;border-radius:10px;padding:12px}.upload-summary-grid span{color:var(--text-light);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.upload-summary-grid strong{color:var(--text-dark);margin-top:4px;font-size:1.4rem;display:block}.upload-issues-list{flex-direction:column;gap:10px;max-height:320px;display:flex;overflow:auto}.upload-issue-item{background:#fff;border:1px solid #ffd7d7;border-radius:8px;padding:10px}.upload-issue-item.updated{background:#f7fffc;border-color:#b2f0d8}.upload-issue-item.skipped{background:#f8faff;border-color:#d8ddff}.upload-issue-item strong{color:var(--error);font-size:.8rem}.upload-issue-item.updated strong{color:var(--success)}.upload-issue-item.skipped strong{color:var(--primary)}.upload-detail-type{width:fit-content;color:var(--primary);text-transform:uppercase;background:#eef2ff;border-radius:999px;margin-bottom:6px;padding:2px 8px;font-size:.68rem;font-weight:900;display:inline-block}.upload-issue-item.updated .upload-detail-type{color:var(--success);background:#e6faf5}.upload-issue-item.failed .upload-detail-type{color:var(--error);background:#ffe9e9}.changed-fields-list{flex-direction:column;gap:5px;margin-top:8px;display:flex}.changed-fields-list div{border:1px solid var(--border);background:#fff;border-radius:6px;grid-template-columns:120px 1fr 24px 1fr;align-items:center;gap:8px;padding:6px 8px;font-size:.72rem;display:grid}.changed-fields-list b{color:var(--text-dark)}.changed-fields-list span{color:var(--text-light);word-break:break-word}.changed-fields-list em{color:var(--text-light);text-align:center;font-style:normal}.upload-issue-item pre{white-space:pre-wrap;color:var(--text-light);margin:8px 0 0;font-size:.72rem}.btn-outline{border:1px solid var(--border);cursor:pointer;color:var(--text-dark);background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}@media (width<=900px){.log-stats-row{grid-template-columns:repeat(2,1fr)}}.settings-container{flex-direction:column;gap:20px;display:flex}.settings-header p{color:var(--text-light);margin:0;font-size:.9rem}.settings-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.settings-section{flex-direction:column;gap:16px;display:flex}.settings-section-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.settings-section-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;display:flex}.settings-section-icon.primary{background:#e9edff}.settings-section-icon.warning{background:#fff8e1}.settings-section-icon.telegram{background:#e3f4ff}.settings-section-icon.whatsapp{background:#e6fdf0}.settings-section-icon.success{background:#e6faf5}.settings-section-header h3{margin:0 0 3px;font-size:.95rem}.settings-section-header p{color:var(--text-light);margin:0;font-size:.78rem}.user-badge{background:#f4f7fe;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.user-badge-avatar{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.9rem;font-weight:800;display:flex}.user-badge strong{font-size:.88rem;display:block}.role-pill{color:var(--primary);text-transform:capitalize;background:#e9edff;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.settings-form{flex-direction:column;gap:14px;display:flex}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.form-group input{border:1px solid var(--border);background:var(--bg-main);color:var(--text-dark);border-radius:10px;outline:none;padding:10px 14px;font-family:inherit;font-size:.85rem;transition:border-color .2s}.form-group input:focus{border-color:var(--primary)}.pw-input-wrap{position:relative}.pw-input-wrap input{width:100%;padding-right:44px}.pw-toggle{cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.settings-msg{border-radius:10px;padding:10px 14px;font-size:.82rem;font-weight:600}.settings-msg.success{color:var(--success);background:#e6faf5}.settings-msg.error{color:var(--error);background:#ffe9e9}.integration-item{background:var(--bg-main);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.integration-label{color:var(--text-light);font-size:.78rem;font-weight:700}.integration-value{color:var(--text-dark);font-size:.85rem;font-weight:600}.integration-value.masked{letter-spacing:2px;color:var(--text-light)}.status-dot-inline{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot-inline.online{background:var(--success)}.integration-note{color:var(--text-light);background:#f4f7fe;border-radius:10px;gap:10px;padding:12px 14px;font-size:.78rem;line-height:1.5;display:flex}.integration-note p{margin:0}.integration-note code{color:var(--primary);background:#e9edff;border-radius:4px;padding:1px 5px;font-size:.75rem}.btn-outline-full{text-align:center;color:#08c;border:1px solid #08c;border-radius:10px;padding:10px;font-size:.83rem;font-weight:700;text-decoration:none;transition:all .2s;display:block}.btn-outline-full:hover{color:#fff;background:#08c}.toggle-group{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle-group:last-child{border-bottom:none}.toggle-info{flex-direction:column;gap:2px;display:flex}.toggle-info strong{font-size:.85rem}.toggle-info span{color:var(--text-light);font-size:.72rem}.toggle-switch{cursor:pointer;background:#e2e8f0;border:none;border-radius:12px;flex-shrink:0;width:42px;height:24px;transition:background .2s;position:relative}.toggle-switch.active{background:var(--primary)}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000026}.toggle-switch.active:after{left:21px}body.compact .card{padding:14px!important}body.compact .data-table td{padding:8px 12px!important}@media (width<=900px){.settings-grid{grid-template-columns:1fr}}.payslip-settings-page{box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:10px 0 30px}.payslip-settings-page .page-header{margin-bottom:24px}.payslip-settings-page .page-title-badge{letter-spacing:.08em;text-transform:uppercase;color:#6366f1;background:#eef2ff;border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.payslip-settings-page .page-title{color:#1e293b;letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:800}.payslip-settings-page .page-subtitle{color:#64748b;max-width:760px;margin:0;font-size:14px;line-height:1.5}.payslip-settings-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;padding:24px 28px;box-shadow:0 4px 18px #0f172a0a}.payslip-settings-card .payslip-config-panel{box-shadow:none;background:0 0;border:none;padding:0}.loading-card{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;font-weight:500;display:flex}.loading-card .spinner{border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.backup-container{flex-direction:column;gap:20px;display:flex}.backup-header p{color:var(--text-light);margin:0;font-size:.9rem}.backup-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.backup-card{flex-direction:column;justify-content:space-between;gap:20px;min-height:280px;display:flex}.backup-card-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.backup-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex}.backup-card-icon.export-icon{background:#e9edff}.backup-card-icon.import-icon{background:#fff5f5}.backup-card-header h3{color:var(--text-dark);margin:0 0 4px;font-size:1rem}.backup-card-header p{color:var(--text-light);margin:0;font-size:.8rem}.backup-card-body{flex-direction:column;justify-content:space-between;gap:20px;height:100%;display:flex}.backup-info-text{color:var(--text-light);margin:0;font-size:.85rem;line-height:1.5}.backup-info-text strong{color:var(--text-dark)}.backup-info-text.warning-text{color:#b45309;background:#fffbeb;border:1px solid #fef3c7;border-radius:8px;padding:10px 12px}.backup-info-text.warning-text strong{color:#92400e}.btn-full-width{width:100%;padding:12px;font-size:.85rem}.btn-icon{margin-right:6px;font-size:1rem}.backup-form{flex-direction:column;gap:12px;width:100%;display:flex}.file-upload-wrapper{width:100%}.file-upload-label{border:2px dashed var(--border);border-radius:var(--radius-btn);cursor:pointer;text-align:center;background:#fafafb;flex-direction:column;justify-content:center;align-items:center;padding:24px;transition:all .2s ease-in-out;display:flex}.file-upload-label:hover{border-color:var(--primary);background:#f1f3f9}.upload-icon-arrow{margin-bottom:8px;font-size:1.8rem;transition:transform .2s}.file-upload-label:hover .upload-icon-arrow{transform:translateY(-2px)}.upload-label-text{color:var(--text-dark);font-size:.85rem;font-weight:700}.file-size{color:var(--text-light);margin-top:4px;font-size:.75rem}.import-submit-btn{background:#eef2ff;color:var(--primary)!important;border:1px solid #c7d2fe!important}.import-submit-btn:hover:not(:disabled){background:var(--primary)!important;color:#fff!important}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}.import-submit-btn .spinner{border-top-color:var(--primary)}.import-submit-btn:hover .spinner{border-top-color:#fff}.backup-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.backup-modal{border:1px solid var(--border);flex-direction:column;gap:16px;width:100%;max-width:480px;animation:.18s cubic-bezier(.34,1.56,.64,1) scaleUp;display:flex;padding:24px!important;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a!important}.backup-modal-header{align-items:center;gap:12px;display:flex}.modal-warning-icon{color:var(--error);background:#ffebeb;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.5rem;display:flex}.backup-modal-header h3{color:var(--text-dark);font-size:1.1rem}.backup-modal-body p{color:var(--text-dark);margin:0 0 12px;font-size:.85rem;line-height:1.5}.modal-danger-alert{background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;padding:10px 12px;font-weight:500;color:var(--error)!important}.backup-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.btn-primary.btn-danger{background:var(--error)}.btn-primary.btn-danger:hover{background:#dc2626}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=820px){.backup-grid{grid-template-columns:1fr}}.sidebar{border-right:1px solid var(--border);z-index:100;background:#fff;flex-direction:column;width:260px;min-height:100vh;padding:30px 16px;display:flex;position:fixed;top:0;left:0}.sidebar-brand{align-items:center;gap:12px;margin-bottom:40px;padding-left:10px;display:flex}.brand-logo{background:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand-text h2{font-size:1.25rem;line-height:1.2}.brand-text p{color:var(--text-light);letter-spacing:1px;margin:0;font-size:.6rem;font-weight:800}.sidebar-nav{flex-direction:column;gap:10px;display:flex}.nav-item{color:var(--text-light);border-radius:12px;align-items:center;gap:14px;padding:12px 16px;font-weight:800;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background:var(--bg-main);color:var(--text-dark)}.nav-item.active{color:var(--primary);border-right:4px solid var(--primary);background:#fff;border-radius:12px 0 0 12px;margin-right:-17px;box-shadow:0 4px 15px #0000000d}.nav-icon{text-align:center;width:20px;font-size:1.1rem}.nav-text{font-size:.9rem}.header-nav{z-index:90;background:#fff;border-bottom:1px solid #eef2f6;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 30px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #00000008}.header-left{flex-direction:column;justify-content:center;gap:2px;display:flex}.header-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.18rem;font-weight:800;line-height:1.2}.header-right{align-items:center;gap:12px;display:flex}.user-menu{position:relative}.header-user-btn{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:30px;align-items:center;gap:10px;padding:5px 12px 5px 6px;font-family:inherit;transition:all .18s;display:flex}.header-user-btn:hover,.header-user-btn.active{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.header-avatar{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#4318ff 0%,#6366f1 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:800;display:flex;box-shadow:0 2px 4px #4318ff33}.header-user-details{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.header-user-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.82rem;font-weight:700;overflow:hidden}.header-user-role{color:#64748b;text-transform:capitalize;font-size:.68rem;font-weight:600}.header-chevron{color:#94a3b8;margin-left:2px;transition:transform .2s}.header-chevron.open{color:#4318ff;transform:rotate(180deg)}.user-dropdown{z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:230px;animation:.16s ease-out dropIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 25px -5px #0f172a1a,0 8px 10px -6px #0f172a0d}.dropdown-user-info{background:#f8fafc;align-items:center;gap:12px;padding:14px 16px;display:flex}.dropdown-avatar{color:#fff;background:linear-gradient(135deg,#4318ff 0%,#6366f1 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.82rem;font-weight:800;display:flex}.dropdown-user-text{min-width:0}.dropdown-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:.85rem;font-weight:700;overflow:hidden}.dropdown-role{color:#4318ff;text-transform:capitalize;background:#eef2ff;border-radius:4px;margin:0 0 3px;padding:1px 6px;font-size:.68rem;font-weight:700;display:inline-block}.dropdown-email{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.72rem;overflow:hidden}.dropdown-divider{background:#e2e8f0;height:1px;margin:0}.dropdown-item{cursor:pointer;text-align:left;color:#334155;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.dropdown-item:hover{color:#0f172a;background:#f8fafc}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{color:#dc2626;background:#fef2f2}.app-layout{width:100%;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;min-width:0;margin-left:260px;display:flex}.page-content{flex-direction:column;flex:1;padding:24px 30px 30px;display:flex}@media (width<=1400px){.main-content{margin-left:240px}}@media (width<=1200px){.metrics-row{grid-template-columns:repeat(2,1fr)!important}}@media (width<=992px){.sidebar{width:70px;padding:20px 10px}.brand-text,.nav-text{display:none}.main-content{margin-left:70px}.nav-item{justify-content:center;padding:12px}.page-content{padding:0 20px 20px}}@media (width<=768px){.app-layout{flex-direction:column}.sidebar{width:100%;height:auto;min-height:auto;padding:10px;position:static}.sidebar-nav{flex-direction:row;justify-content:space-around}.main-content{margin-left:0}.header-nav{flex-wrap:wrap;gap:10px;padding:10px 15px}.header-right{justify-content:space-between;width:100%}.metrics-row{grid-template-columns:1fr!important}}
