/* ================= HR & Payroll — shell ================= */
:root{--navy:#14365f;--navy2:#1b4677;--blue:#2f6fe4;--line:#e5e9f0;--muted:#6b7686;--ink:#1d2a3a;--bg:#f4f6fa}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,"Hind Siliguri",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}
a{color:var(--blue)}
input,select,textarea,button{font:inherit}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=month],input[type=time],input[type=date],input[type=search],select,textarea{border:1px solid #d5dbe5;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);min-height:38px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,228,.18)}

.hr-shell{display:flex;min-height:100vh}
.hr-side{position:sticky;top:0;height:100vh;width:236px;flex:0 0 236px;background:var(--navy);color:#dbe6f5;display:flex;flex-direction:column;padding:18px 14px;overflow-y:auto}
.hr-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 22px;color:#fff;font-weight:800;font-size:18px;letter-spacing:.02em}
.hr-logo{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#3b82f6;color:#fff;font-weight:800}
.hr-brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-nav{display:flex;flex-direction:column;gap:2px;flex:1}
.hr-nav-head{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8fa7c7;padding:16px 12px 6px}
.hr-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#e3ecf8;text-decoration:none;font-weight:600;font-size:15px}
.hr-nav-item svg{width:19px;height:19px;flex:0 0 19px}
.hr-nav-item:hover{background:var(--navy2);color:#fff}
.hr-nav-item.is-active{background:#fff;color:var(--navy)}
.hr-soon{margin-left:auto;font-style:normal;font-size:10px;font-weight:700;background:#2f6fe4;color:#fff;border-radius:6px;padding:1px 6px}
.hr-nav-item.is-active .hr-soon{background:#e7efff;color:var(--blue)}
.hr-nav-bottom{margin-top:12px}

.hr-main{flex:1;min-width:0;display:flex;flex-direction:column}
.hr-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px}
.hr-title{font-size:19px;font-weight:700;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-top-right{display:flex;align-items:center;gap:12px}
.hr-burger{display:none;border:0;background:none;font-size:22px;cursor:pointer;color:var(--navy)}
.hr-lang{display:inline-flex;border:1px solid #2271b1;border-radius:8px;overflow:hidden}
.hr-lang a{padding:6px 14px;text-decoration:none;color:#2271b1;background:#fff;font-weight:600;font-size:13px}
.hr-lang a+a{border-left:1px solid #2271b1}
.hr-lang a.is-active{background:#2271b1;color:#fff}
.hr-user{display:flex;align-items:center;gap:8px;font-weight:600}
.hr-av{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#334155;font-weight:700;font-size:13px}
.hr-av.sm{width:28px;height:28px;font-size:12px}
.hr-content{padding:22px 24px 40px}

.hr-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #c9d2df;background:#fff;color:#2b3a4e;border-radius:8px;padding:8px 14px;font-weight:600;text-decoration:none;cursor:pointer;min-height:38px;line-height:1.2}
.hr-btn:hover{border-color:var(--blue);color:var(--blue)}
.hr-btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}
.hr-btn-primary:hover{background:#245bc4;color:#fff}
.hr-btn-primary:disabled{background:#a9c1ee;border-color:#a9c1ee;cursor:not-allowed}
.hr-btn-ghost{border-color:transparent}
.hr-btn-sm{padding:4px 10px;min-height:30px;font-size:13px}
.hr-btn-danger{color:#c0153d}
.hr-btn-danger:hover{border-color:#c0153d;color:#c0153d}
.hr-btn-block{width:100%;justify-content:center}
.hr-inline{display:inline}
.hr-nowrap{white-space:nowrap}
.hr-muted{color:var(--muted);font-size:13px;max-width:1000px}
.hr-note{background:#eaf7ee;color:#1b6e3b;border-radius:8px;padding:8px 10px}
.hr-alert{border-radius:10px;padding:10px 14px;margin:0 0 14px;font-weight:600}
.hr-alert.ok{background:#e6f6ec;color:#1b6e3b}
.hr-alert.bad{background:#fde8ed;color:#c0153d}
.hr-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.hr-card h3,.hr-h3{margin:0 0 12px;font-size:15px}
.hr-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.hr-card-head h3{margin:0}
.hr-link{font-weight:600;text-decoration:none;font-size:13px}
.hr-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.hr-spacer{flex:1}
.hr-formrow{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:8px}
.hr-formrow label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}
.hr-formrow input[type=text]{min-width:240px}
.hr-sm{width:90px}
.hr-check,.hr-radio{display:flex;align-items:center;gap:6px;font-weight:500;margin:4px 0}
.hr-formrow .hr-check{flex-direction:row;padding-bottom:9px}
.hr-tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}
.hr-table{width:100%;border-collapse:collapse}
.hr-table th,.hr-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.hr-table thead th{background:#f7f9fc;font-size:13px;color:#3b4656}
.hr-table tfoot th{background:#f7f9fc}
.hr-table.hr-num td:not(:first-child),.hr-table.hr-num th:not(:first-child){text-align:right}
.hr-table tr.is-inactive td{color:#94a3b8}
.hr-badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600}
.hr-badge.on{background:#e6f6ec;color:#1b6e3b}.hr-badge.off{background:#eef1f6;color:#50575e}
.hr-neg{color:#d81b45!important}
.hr-soon-card{text-align:center;padding:40px}
.hr-hello{font-size:22px;margin:0 0 16px}.hr-hello span{font-size:13px;font-weight:400;color:var(--muted);margin-left:6px}
.hr-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.hr-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.hr-kpi span{font-size:12px;color:var(--muted)}.hr-kpi b{font-size:22px}
.hr-kpi.ok b{color:#1b6e3b}.hr-kpi.bad b{color:#c0153d}.hr-kpi.wait b{color:#8a6400}
.hr-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hr-today{margin-bottom:12px}
.hr-tag{display:inline-block;font-size:12px;font-weight:700;border-radius:6px;padding:2px 8px;margin-bottom:6px}
.hr-tag.ok{background:#e6f6ec;color:#1b6e3b}.hr-tag.bad{background:#fde8ed;color:#c0153d}.hr-tag.wait{background:#fff4d6;color:#8a6400}
.hr-names{display:flex;flex-wrap:wrap;gap:6px}
.hr-names span{background:#f3f5f9;border-radius:14px;padding:2px 10px;font-size:12px}
.hr-names em{color:var(--muted);font-size:12px}
.hr-li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.hr-li b{margin-left:auto;color:#2563eb}
.hr-settings .hr-set-row{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.hr-set-label{font-weight:700}
.hr-day{display:inline-flex;align-items:center;gap:4px;margin:0 14px 6px 0}

/* guest (login) */
.hr-guest{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#14365f,#2f6fe4)}
.hr-guest-box{position:relative;background:#fff;border-radius:16px;padding:28px;width:min(400px,92vw);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.hr-guest-lang{position:absolute;top:14px;right:14px}
.hr-guest-lang a{padding:3px 10px;font-size:12px}
.hr-guest-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;margin:10px 0 18px}
.hr-form{display:flex;flex-direction:column;gap:12px}
.hr-form h2{margin:0;font-size:18px}
.hr-form label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}
.hr-form .hr-check{flex-direction:row}

/* attendance save button + unsaved note */
.afs-dirty{color:#d81b45;font-weight:600}
.afs-grid th.afs-corner{min-width:200px}

@media (max-width:900px){
  .hr-side{position:fixed;left:0;top:0;z-index:50;transform:translateX(-100%);transition:transform .2s}
  .hr-shell.menu-open .hr-side{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.35)}
  .hr-burger{display:block}
  .hr-user{display:none}
  .hr-grid2{grid-template-columns:1fr}
  .hr-settings .hr-set-row{grid-template-columns:1fr}
  .hr-content{padding:16px}
}
@media print{.hr-side,.hr-top,.hr-noprint{display:none!important}.hr-content{padding:0}}

/* ---------- Employee colours ---------- */
.afs-c0{--c:#1e88e5;--t:#e7f1fd;--d:#0d47a1}
.afs-c1{--c:#26a256;--t:#e6f6ec;--d:#1b6e3b}
.afs-c2{--c:#7b3fe4;--t:#f0e9fd;--d:#4a1fa0}
.afs-c3{--c:#f57c00;--t:#fff1e2;--d:#b35900}
.afs-c4{--c:#dc1f4a;--t:#fde8ed;--d:#a3102f}
.afs-c5{--c:#13a89e;--t:#e2f6f4;--d:#0b6f68}
.afs-c6{--c:#3f51d0;--t:#eaecfb;--d:#26328f}
.afs-c7{--c:#e3237d;--t:#fde7f1;--d:#a1124f}
.afs-c8{--c:#e0a100;--t:#fdf4dc;--d:#9a6d00}

/* ---------- Grid ---------- */
.afs-scroll{overflow:auto;max-height:78vh;background:#f6f8fc;border:1px solid #dfe3eb;border-radius:12px}
.afs-grid{border-collapse:separate;border-spacing:0;font-size:13px;color:#1d2a3a}
.afs-grid th,.afs-grid td{padding:4px 6px;text-align:center;white-space:nowrap;background:#fff;border-bottom:1px solid #eef1f6}

/* header row 1: names */
.afs-grid thead th,.afs-grid thead td{position:sticky;z-index:2}
.afs-grid tr.afs-r1 th{top:0;height:40px}
.afs-grid tr.afs-r2 th{top:40px;height:28px}
.afs-grid tr.afs-r3 td{top:68px;height:56px}
.afs-grid th.afs-name{background:var(--c);color:#fff;font-size:14px;font-weight:700;border-radius:10px 10px 0 0;border-left:3px solid #f6f8fc;border-bottom:0;min-width:180px;padding:0 10px}
.afs-grid th.afs-name .dashicons{font-size:18px;width:18px;height:18px;vertical-align:-3px;margin-right:6px}
.afs-grid .afs-sub{background:#fff;border-bottom:1px solid #eef1f6}
.afs-grid th.afs-sub{font-size:12px;font-weight:600;color:#3b4656}
.afs-pill{background:var(--t);border-radius:8px;padding:4px 8px;min-width:76px}
.afs-pill .afs-lbl{display:block;font-size:11px;color:#5b6575;font-weight:400}
.afs-pill .afs-sal,.afs-pill .afs-due{display:block;font-size:18px;font-weight:800;color:var(--d);line-height:1.3}
.afs-pill .afs-due.afs-neg{color:#d81b45}

/* corner: date + month */
.afs-grid th.afs-corner{left:0;top:0;z-index:5;background:#123a6b;color:#fff;border-radius:12px 0 0 0;vertical-align:middle;padding:10px 12px;min-width:140px;text-align:left}
.afs-corner-title{font-size:15px;font-weight:700;margin-bottom:10px}
.afs-corner-title .dashicons{font-size:20px;width:20px;height:20px;margin-right:8px;vertical-align:-4px}
.afs-month-sel{width:100%;-webkit-appearance:none;appearance:none;background:#2a5590!important;color:#fff!important;border:0!important;border-radius:8px!important;font-weight:700;font-size:14px!important;min-height:36px!important;padding:0 28px 0 10px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important}
.afs-month-sel option{color:#1d2a3a;background:#fff}

/* body */
.afs-grid tbody th.afs-date{position:sticky;left:0;z-index:1;text-align:left;padding:4px 14px;min-width:140px;background:#fff}
.afs-dnum{display:inline-block;width:34px;font-size:19px;font-weight:800;color:#123a6b}
.afs-dname{font-size:13px;font-weight:600;color:#3b4656}
.afs-grid tbody tr{height:44px}
.afs-grid tr.afs-wd-sun th.afs-date,.afs-grid tr.afs-wd-sun td{background:#fff2f4}
.afs-grid tr.afs-wd-sun .afs-dnum,.afs-grid tr.afs-wd-sun .afs-dname{color:#d81b45}
.afs-grid tr.afs-wd-sat th.afs-date,.afs-grid tr.afs-wd-sat td{background:#eef5fd}
.afs-grid tr.afs-off th.afs-date,.afs-grid tr.afs-off td{background:#eaf7ee}
.afs-grid tr.afs-off th.afs-date{box-shadow:inset 4px 0 0 #26a256}
.afs-grid tr.afs-today th.afs-date,.afs-grid tr.afs-today td{background:#fff8d6}
.afs-grid tr.afs-today th.afs-date{box-shadow:inset 4px 0 0 #e0a100}
.afs-grid tr.afs-future td,.afs-grid tr.afs-future th.afs-date{opacity:.6}

.afs-grid select.afs-st{min-width:64px;min-height:34px;border:1px solid #d5dbe5;border-radius:8px;font-weight:700;font-size:14px;text-align:center;background-color:#fff;color:#3b4656}
.afs-grid select.afs-st.is-p{background-color:#e6f6ec;border-color:#9fd6b2;color:#1b6e3b}
.afs-grid select.afs-st.is-a{background-color:#fde8ed;border-color:#f4b4c3;color:#d81b45}
.afs-grid input.afs-adv{width:92px;min-height:34px;border:1px solid #d5dbe5;border-radius:8px;padding:0 10px;background:#fff}
.afs-grid select.afs-st:focus,.afs-grid input.afs-adv:focus{border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.25);outline:0}

/* footer */
.afs-grid tfoot th,.afs-grid tfoot td{font-weight:700;font-size:14px;height:34px;border-bottom:1px solid #fff}
.afs-grid tfoot th.afs-date{position:sticky;left:0;z-index:4;text-align:left;padding:0 14px;color:#123a6b;font-size:13px}
.afs-grid tfoot td{border-left:3px solid #f6f8fc}
.afs-grid tr.afs-f1 th,.afs-grid tr.afs-f1 td{background:#e7f5ec}
.afs-grid tr.afs-f2 th,.afs-grid tr.afs-f2 td{background:#f1f9f3}
.afs-grid tr.afs-f3 th,.afs-grid tr.afs-f3 td{background:#e7f5ec}
.afs-grid tr.afs-f4 th,.afs-grid tr.afs-f4 td{height:56px;background:#fde4e8;font-size:19px;font-weight:800;color:#1b6e3b}
.afs-grid tr.afs-f4 th.afs-date{color:#d81b45;font-size:15px;border-radius:0 0 0 12px}
.afs-grid tr.afs-f4 td.afs-neg,.afs-neg{color:#d81b45!important}

.afs-ym{display:flex;gap:6px}
.afs-ym .afs-pick-m{flex:1 1 60%;min-width:0}
.afs-ym .afs-pick-y{flex:0 0 84px;width:84px}
.afs-grid th.afs-corner{min-width:200px}
.afs-thismonth{display:inline-block;margin-top:8px;color:#cfe0f7;font-size:12px;font-weight:600;text-decoration:underline}
.afs-thismonth:hover,.afs-thismonth:focus{color:#fff}

/* footer: শুক্র/অন্যান্য, Custom Payable, Paid / Advance */
.afs-grid tr.afs-f1b th,.afs-grid tr.afs-f1b td{background:#f1f9f3}
.afs-grid tr.afs-f5 th,.afs-grid tr.afs-f5 td,.afs-grid tr.afs-f6 th,.afs-grid tr.afs-f6 td{background:#fff;height:58px}
.afs-grid tfoot th.afs-date small{display:block;font-weight:400;font-size:11px;color:#6b7686;white-space:normal;max-width:190px}
.afs-grid tr.afs-f5 input,.afs-grid tr.afs-f6 input{width:100%;min-width:90px;min-height:36px;border:1px solid #d5dbe5;border-radius:8px;padding:0 10px;font-weight:700;font-size:15px;text-align:center}
.afs-grid tr.afs-f5 input{border-color:#9ec2e6;background:#f5f9ff}
.afs-grid tr.afs-f5 input:not(:placeholder-shown){border-color:#2f6fe4;background:#eaf2ff}
.afs-grid .afs-flbl{display:flex;flex-direction:column;gap:2px;font-size:11px;font-weight:600;color:#5b6575;text-align:left}
.afs-grid tr.afs-f6 td{border-left:3px solid #f6f8fc}
.afs-grid td.afs-pay small{display:block;font-size:11px;font-weight:600;color:#2f6fe4}

/* লক করা ঘর ও Edit বাটন */
.afs-name-in{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;min-height:28px}
.afs-edit{position:absolute;left:0;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.15);color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;cursor:pointer;line-height:1.4}
.afs-edit:hover{background:#fff;color:var(--d,#123a6b)}
.afs-edit.is-on{background:#fff;color:var(--d,#123a6b);cursor:default}
.afs-grid select.afs-st.afs-locked,.afs-grid input.afs-locked{cursor:not-allowed;opacity:.75;box-shadow:none}
.afs-grid select.afs-st.afs-locked{background-image:none;-webkit-appearance:none;appearance:none}
.afs-grid input.afs-adv.afs-locked{background:#f3f5f9}
.afs-grid th.afs-name{min-width:230px}
.afs-grid select.afs-st.afs-fut,.afs-grid input.afs-fut{cursor:not-allowed;background-color:#f3f5f9;-webkit-appearance:none;appearance:none;background-image:none;box-shadow:none}

/* Salary-র নিচের ট্যাব */
.hr-tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);margin:-6px 0 16px}
.hr-tabs a{padding:10px 16px;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-2px}
.hr-tabs a.is-active{color:var(--blue);border-bottom-color:var(--blue)}
.hr-tabs a:hover{color:var(--ink)}

/* দৈনিক হাজিরা */
.hr-dtool{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.hr-dtool input[type=search]{min-width:220px}
.hr-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:38px;border:1px solid #c9d2df;border-radius:8px;text-decoration:none;font-size:22px;color:#4a5568;background:#fff}
.hr-icon-btn:hover{border-color:var(--blue);color:var(--blue)}
.hr-btn.is-disabled{pointer-events:none;opacity:.5}
.hr-dday{margin:6px 0 10px;font-size:16px}
.hr-daily td{vertical-align:middle}
.hr-daily td.c,.hr-daily th.c{text-align:center}
.hr-demp{display:flex;align-items:center;gap:10px;min-width:210px}
.hr-demp b{display:block}
.hr-demp small{color:var(--muted)}
.hr-row-edit{margin-left:auto}
.hr-dst{min-width:130px;font-weight:700;border-radius:8px}
.hr-dst.st-P{background:#e6f6ec;border-color:#9fd6b2;color:#1b6e3b}
.hr-dst.st-A{background:#fde8ed;border-color:#f4b4c3;color:#c0153d}
.hr-dst.st-none{color:#6b7686}
.hr-punch{font-size:18px;white-space:nowrap}
.hr-punch b{font-size:15px;margin-left:2px}
.hr-shiftbox{border-left:4px solid #f2a33a;background:#fff7ec;border-radius:6px;padding:6px 10px;display:flex;flex-direction:column;font-size:13px;white-space:nowrap}
.hr-daily input[type=time]{min-width:110px}
.hr-dnote{display:block;font-size:12px;font-weight:600;color:#e08a00;margin-top:3px;white-space:nowrap}
.hr-ddiff.neg{color:#d81b45;font-weight:700}
.hr-ddiff.pos{color:#1b6e3b;font-weight:700}
.hr-drow.is-locked select,.hr-drow.is-locked input{background-color:#f3f5f9;cursor:not-allowed}
.hr-shiftset{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.hr-shiftset label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}
.hr-shiftset .hr-muted{flex-basis:100%;margin:0}
.hr-dbrk{white-space:nowrap}
.hr-dbrk .hr-dover{color:#d81b45}
.hr-daily input[type=time]{min-width:118px}

/* প্রতিটা কর্মীর ৩ কলাম (হাজিরা, Advance, কাজের সময়) — ছোট ও গোছানো */
.afs-grid .afs-gs{border-left:3px solid #f6f8fc!important}
.afs-grid td.afs-cell{padding:3px 4px}
.afs-grid select.afs-st{min-width:54px;padding:0 4px}
.afs-grid input.afs-adv{width:72px;padding:0 6px}
.afs-grid td.afs-wk{min-width:76px;font-size:12px;font-weight:600;color:#3b4656;white-space:nowrap}
.afs-grid th.afs-sub{font-size:11.5px;padding:3px 4px}
.afs-grid .afs-pill{min-width:0;padding:4px 6px}
.afs-grid .afs-pill .afs-sal,.afs-grid .afs-pill .afs-due{font-size:16px}
.afs-grid .afs-pill .afs-wtot{display:block;font-size:14px;font-weight:800;color:var(--d);line-height:1.5;white-space:nowrap}
.afs-grid th.afs-name{min-width:0}
.afs-grid tr.afs-f3b th,.afs-grid tr.afs-f3b td{background:#eef3fd;color:#123a6b}
.afs-wsub{font-weight:500;color:#6b7686;font-size:12px}
.afs-scroll{display:inline-block;max-width:100%;vertical-align:top}

/* Payable-এর ডানে মিনিট হিসাবে বেতন */
.afs-grid td.afs-mpay{background:#eef3fd!important;color:#123a6b!important;font-size:12px!important;line-height:1.25;white-space:nowrap;border-left:2px dashed #c9d6ee}
.afs-grid td.afs-mpay small{display:block;font-size:10.5px;font-weight:600;color:#5b6b85}
.afs-grid td.afs-mpay b{display:block;font-size:16px;font-weight:800;color:#2f6fe4}

/* কর্মী তালিকা ও ডান পাশের প্যানেল */
.hr-etable td{vertical-align:middle}
.hr-estatus{min-width:120px;font-weight:600;border-radius:8px}
.hr-estatus.on{background:#e6f6ec;border-color:#9fd6b2;color:#1b6e3b}
.hr-estatus.off{background:#f3f5f9;color:#6b7686}
.hr-drawer-bg{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:60}
.hr-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,94vw);background:#fff;z-index:61;box-shadow:-10px 0 30px rgba(0,0,0,.15);overflow-y:auto;animation:hr-slide .18s ease-out}
@keyframes hr-slide{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}
.hr-dform{display:flex;flex-direction:column;gap:12px;padding:20px 22px 90px}
.hr-dform h3{margin:0 0 4px;font-size:16px}
.hr-dform h3 small{font-weight:400;color:var(--muted);font-size:12px}
.hr-dform label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#3b4656}
.hr-dform label.hr-check{flex-direction:row}
.hr-phone{display:flex;align-items:center;border:1px solid #d5dbe5;border-radius:8px;overflow:hidden}
.hr-phone span{padding:0 10px;background:#f7f9fc;border-right:1px solid #d5dbe5;align-self:stretch;display:flex;align-items:center;font-weight:500;white-space:nowrap}
.hr-phone input{border:0!important;box-shadow:none!important;flex:1;min-width:0}
.hr-dsec{margin-top:6px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hr-dactions{position:sticky;bottom:-90px;display:flex;justify-content:flex-end;gap:8px;background:#fff;padding:12px 0;border-top:1px solid var(--line);margin-top:6px}

/* প্রোডাকশন: ওভারটাইম কাজ ও আয় */
.afs-grid th.afs-sub.afs-prod{background:#fff7ec;color:#9a5b00}
.afs-grid td.afs-sub.afs-prod .afs-pill{background:#fff1dc}
.afs-grid .afs-pill .afs-etot{display:block;font-size:15px;font-weight:800;color:#b35900;line-height:1.5;white-space:nowrap}
.afs-grid td.afs-prod{background-color:#fffbf4}
.afs-grid input.afs-otw,.afs-grid input.afs-dw{width:160px;min-height:34px;border:1px solid #f0d3a6;border-radius:8px;padding:0 8px;font-size:12.5px}
.afs-grid input.afs-earn{width:80px;min-height:34px;border:1px solid #f0d3a6;border-radius:8px;padding:0 6px;font-weight:700}
.afs-grid tr.afs-f2b th,.afs-grid tr.afs-f2b td{background:#fff3e0;color:#9a5b00}

/* দৈনিক কাজ / ওভারটাইম কাজের পপআপ */
.afs-tipcell input:disabled{pointer-events:none}
.afs-tipcell input{text-overflow:ellipsis}
.afs-tip{position:fixed;z-index:100;background:#1d2a3a;color:#fff;border-radius:10px;padding:12px 14px;font-size:16px;font-weight:600;line-height:1.45;white-space:pre-wrap;word-break:break-word;box-shadow:0 12px 30px rgba(15,23,42,.35);pointer-events:none;animation:afs-tip-in .12s ease-out}
.afs-tip::before{content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;background:#1d2a3a;transform:translateX(-50%) rotate(45deg)}
@keyframes afs-tip-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.afs-tip.up::before{top:auto;bottom:-6px}

/* অফিস / প্রোডাকশন বাছাই */
.hr-seg{display:inline-flex;gap:6px;margin-left:6px}
.hr-filter em{font-style:normal;font-size:11px;font-weight:700;background:#eef1f6;color:#4a5568;border-radius:10px;padding:1px 7px}
.hr-filter.is-on{background:#123a6b;border-color:#123a6b;color:#fff}
.hr-filter.is-on em{background:rgba(255,255,255,.2);color:#fff}

/* শিটে কর্মী খোঁজা */
.hr-tabs{align-items:center}
.hr-esrch{display:flex;align-items:center;gap:8px;margin-left:18px;margin-bottom:4px}
.hr-esrch input{min-width:260px;min-height:36px}
.hr-tabs a.hr-esrch-x{padding:6px 10px;border:1px solid #c9d2df;border-radius:8px;font-size:13px;color:#4a5568;margin:0;border-bottom:1px solid #c9d2df}
.hr-tabs a.hr-esrch-x:hover{border-color:#d81b45;color:#d81b45}

/* রিপোর্ট */
.hr-rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.hr-rgroup h3{margin:0 0 8px;color:var(--blue);font-size:15px}
.hr-ritem{display:flex;flex-direction:column;gap:2px;padding:12px 14px;margin-bottom:8px;background:#fff;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink)}
.hr-ritem:hover{border-color:var(--blue);box-shadow:0 2px 8px rgba(47,111,228,.12)}
.hr-ritem small{color:var(--muted)}
.hr-rfilter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hr-rfilter select{min-width:240px}
.hr-badge.bad{background:#fde8ed;color:#c0153d}
.hr-warn{color:#e08a00;font-weight:600}
.hr-table tr.hr-roff td{background:#eef8f1}
.hr-table tr.hr-rfut td{opacity:.45}
.hr-kv{width:100%;border-collapse:collapse}
.hr-kv caption{text-align:left;font-weight:800;padding:0 0 8px;color:var(--navy)}
.hr-kv th,.hr-kv td{padding:7px 4px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.hr-kv td{text-align:right}
.hr-kv tr.sum th,.hr-kv tr.sum td{font-weight:800;border-top:2px solid var(--ink)}
.hr-sheet th.hr-sign,.hr-sheet td.hr-sign{min-width:110px}
.hr-print-head{display:none}
.hr-slip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;max-width:820px}
.hr-slip-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid var(--navy);padding-bottom:12px;margin-bottom:16px}
.hr-slip-head div{display:flex;flex-direction:column}
.hr-slip-head .r{text-align:right}
.hr-slip-head b{font-size:18px}
.hr-slip-head span{color:var(--muted)}
.hr-slip-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hr-slip-net{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.hr-slip-net div{flex:1;min-width:150px;background:#f4f7fd;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.hr-slip-net div:first-child{background:#e6f6ec}
.hr-slip-net span{font-size:12px;color:var(--muted)}
.hr-slip-net b{font-size:20px}
.hr-slip-sign{display:flex;justify-content:space-between;margin-top:56px}
.hr-slip-sign span{border-top:1px solid var(--ink);padding-top:6px;min-width:200px;text-align:center;font-size:13px}
@media (max-width:700px){.hr-slip-cols{grid-template-columns:1fr}}
@media print{.hr-print-head{display:block;font-weight:800;font-size:16px;margin-bottom:10px}.hr-tablewrap{border:0;overflow:visible}.hr-table th,.hr-table td{padding:5px 6px;font-size:12px}}

/* প্রোফাইল */
a.hr-user{text-decoration:none;color:var(--ink);padding:4px 10px 4px 4px;border-radius:24px;border:1px solid transparent}
a.hr-user:hover,a.hr-user.is-active{background:#f1f5fd;border-color:#d9e3f5}
.hr-user-t{display:flex;flex-direction:column;line-height:1.15}
.hr-user-t small{font-size:11px;font-weight:500;color:var(--muted)}
.hr-prof{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
@media (max-width:900px){.hr-prof{grid-template-columns:1fr}}
.hr-prof-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-align:center;padding-bottom:18px}
.hr-prof-cover{height:84px;background:linear-gradient(135deg,#14365f,#2f6fe4)}
.hr-prof-av{width:92px;height:92px;margin:-46px auto 8px;border-radius:50%;background:#2f6fe4;color:#fff;font-size:38px;font-weight:800;display:flex;align-items:center;justify-content:center;border:4px solid #fff;box-shadow:0 4px 14px rgba(20,54,95,.25)}
.hr-prof-card h3{margin:4px 0 6px;font-size:18px}
.hr-prof-role{display:inline-block;background:#fff4d6;color:#8a6400;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:700}
.hr-prof-card ul{list-style:none;padding:0 18px;margin:16px 0;text-align:left}
.hr-prof-card li{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;color:#3b4656;word-break:break-word}
.hr-prof-sec{padding:0;overflow:hidden}
.hr-prof-head{display:flex;justify-content:space-between;align-items:center;background:#eef3fd;padding:12px 18px}
.hr-prof-head h3{margin:0}
.hr-dl{display:grid;grid-template-columns:200px 1fr;margin:0;padding:8px 18px 14px}
.hr-dl dt,.hr-dl dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.hr-dl dt{color:var(--muted);font-weight:600}
.hr-dl dd::before{content:":";margin-right:12px;color:var(--muted)}
.hr-pform{display:flex;flex-direction:column;gap:12px;padding:16px 18px;max-width:520px}
.hr-pform label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px}
.hr-dev{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line)}
.hr-dev-ic{font-size:26px}
.hr-dev span:nth-child(2){display:flex;flex-direction:column;flex:1}
.hr-dev small{color:var(--muted)}

/* H = অর্ধেক দিন, P2 = দ্বিগুণ */
.afs-grid select.afs-st.is-h{background-color:#fff4d6;border-color:#f2cf75;color:#8a6400}
.afs-grid select.afs-st.is-p2{background-color:#efe7fd;border-color:#c6b0f3;color:#5b2bbf}
.afs-grid select.afs-st{min-width:60px}
.hr-dst.st-H{background:#fff4d6;border-color:#f2cf75;color:#8a6400}
.hr-dst.st-P2{background:#efe7fd;border-color:#c6b0f3;color:#5b2bbf}
.hr-badge.half{background:#fff4d6;color:#8a6400}
.hr-badge.dbl{background:#efe7fd;color:#5b2bbf}

/* প্রত্যেক কর্মীর মাঝে স্পষ্ট ফাঁক */
.afs-grid th.afs-name,.afs-grid .afs-gs{border-left:12px solid #e7ebf2!important}
.afs-grid tfoot td{border-left:0}
.afs-grid tfoot td.afs-gs{border-left:12px solid #e7ebf2!important}
.afs-grid th.afs-name{border-radius:12px 12px 0 0}
.afs-scroll{background:#e7ebf2}

/* সাপ্তাহিক ছুটির দিনের পাশে "Off day" লেখা */
.afs-offtag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;background:#1f9d55;color:#fff;font-size:11px;font-weight:700;vertical-align:2px;white-space:nowrap}

/* সেটিংস */
.hr-setwrap{max-width:1000px}
.hr-setcard h3{margin:0 0 14px;font-size:16px}
.hr-setgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;margin-bottom:8px}
.hr-setgrid label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px}
.hr-setgrid .wide{grid-column:1/-1}
.hr-set-sub{font-weight:700;margin:12px 0 6px;color:#3b4656}
.hr-logo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hr-logo-prev{width:64px;height:64px;border:1px dashed #c9d2df;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.hr-logo-prev img{max-width:100%;max-height:100%}
.hr-logo-img{width:32px;height:32px;object-fit:contain;border-radius:8px;background:#fff}
.hr-hol{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.hr-hol input[type=text]{flex:1;max-width:360px}
.hr-setsave{position:sticky;bottom:0;background:var(--bg);padding:12px 0}
.hr-slip-logo{height:40px;width:auto;object-fit:contain;margin-bottom:4px;align-self:flex-start}

/* তারিখ: dd/mm/yyyy */
.hr-dmy{position:relative;display:inline-flex}
.hr-dmy input[type=date]{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:0;pointer-events:none;min-height:0}
.hr-dmy-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:150px;min-height:38px;padding:0 12px;border:1px solid #d5dbe5;border-radius:8px;background:#fff;color:var(--ink);font-weight:600;cursor:pointer;font-family:inherit;font-size:14px}
.hr-dmy-btn:hover,.hr-dmy-btn:focus{border-color:var(--blue);outline:0}
.hr-dmy-btn span{font-size:15px}
.hr-dform .hr-dmy,.hr-hol .hr-dmy{display:flex}
.hr-dform .hr-dmy-btn{width:100%}
