:root{--nbm-primary:#2563eb;--nbm-ink:#0f172a;--nbm-muted:#64748b;--nbm-line:#e2e8f0;--nbm-bg:#f8fafc;--nbm-card:#fff;--nbm-green:#16a34a;--nbm-red:#dc2626;--nbm-amber:#d97706;--nbm-purple:#7c3aed}*{box-sizing:border-box}.nbm-ph-shell{display:grid;grid-template-columns:280px 1fr;min-height:760px;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid var(--nbm-line);border-radius:28px;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--nbm-ink);box-shadow:0 22px 60px rgba(15,23,42,.12)}.nbm-ph-sidebar{background:linear-gradient(180deg,#0f172a,#111827);color:#fff;padding:22px;display:flex;flex-direction:column;gap:20px}.nbm-ph-brand{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}.nbm-ph-brand-mark{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--nbm-primary),#60a5fa);display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:-1px;box-shadow:0 14px 32px rgba(37,99,235,.35)}.nbm-ph-brand strong{display:block;font-size:15px;line-height:1.1}.nbm-ph-brand span{display:block;font-size:11px;color:#cbd5e1;margin-top:4px}.nbm-ph-nav{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:4px}.nbm-ph-nav-item{border:0;background:transparent;color:#cbd5e1;border-radius:16px;padding:12px 13px;text-align:left;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;transition:.18s}.nbm-ph-nav-item span{width:24px;text-align:center}.nbm-ph-nav-item b{font-weight:800}.nbm-ph-nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nbm-ph-nav-item.active{background:#fff;color:#0f172a;box-shadow:0 12px 26px rgba(0,0,0,.2)}.nbm-ph-main{padding:24px;overflow:auto}.nbm-ph-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.nbm-ph-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--nbm-primary);font-weight:900}.nbm-ph-topbar h1{font-size:30px;line-height:1;margin:6px 0 0;letter-spacing:-1.2px}.nbm-ph-user-pill{background:#fff;border:1px solid var(--nbm-line);border-radius:18px;padding:10px 14px;min-width:230px;box-shadow:0 10px 25px rgba(15,23,42,.06)}.nbm-ph-user-pill span{display:block;font-weight:900;font-size:13px}.nbm-ph-user-pill small{color:var(--nbm-muted);font-size:11px}.nbm-ph-view{display:none}.nbm-ph-view.active{display:block}.nbm-ph-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--nbm-primary),#1e40af);color:#fff;border-radius:28px;padding:26px;margin-bottom:18px;box-shadow:0 18px 42px rgba(37,99,235,.26)}.nbm-ph-hero.compact{padding:22px}.nbm-ph-hero h2{font-size:26px;margin:0 0 6px;letter-spacing:-.9px}.nbm-ph-hero p{margin:0;color:#dbeafe;font-weight:600}.nbm-ph-primary,.nbm-ph-secondary,.nbm-ph-danger,.nbm-ph-success,.nbm-ph-ghost{border:0;border-radius:14px;padding:11px 15px;font-weight:900;cursor:pointer;transition:.16s;font-size:12px;white-space:nowrap}.nbm-ph-primary{background:#fff;color:#1e40af}.nbm-ph-secondary{background:#e0e7ff;color:#1e40af}.nbm-ph-danger{background:#fee2e2;color:#991b1b}.nbm-ph-success{background:#dcfce7;color:#166534}.nbm-ph-ghost{background:#f1f5f9;color:#334155}.nbm-ph-primary:hover,.nbm-ph-secondary:hover,.nbm-ph-danger:hover,.nbm-ph-success:hover,.nbm-ph-ghost:hover{transform:translateY(-1px);filter:brightness(.98)}.nbm-ph-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.nbm-ph-kpi-card{background:#fff;border:1px solid var(--nbm-line);border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.06);position:relative;overflow:hidden}.nbm-ph-kpi-card:after{content:"";position:absolute;right:-20px;top:-20px;width:80px;height:80px;border-radius:50%;background:rgba(37,99,235,.08)}.nbm-ph-kpi-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:14px;background:#eff6ff;margin-bottom:12px}.nbm-ph-kpi-card strong{display:block;font-size:25px;letter-spacing:-1px}.nbm-ph-kpi-card p{margin:4px 0 0;color:var(--nbm-muted);font-size:12px;font-weight:800}.nbm-ph-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.nbm-ph-card,.nbm-ph-table-wrap,.nbm-ph-module-toolbar{background:#fff;border:1px solid var(--nbm-line);border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.nbm-ph-card h3{margin:0 0 12px;font-size:17px}.nbm-ph-steps{margin:0;padding-left:18px}.nbm-ph-steps li{margin:10px 0}.nbm-ph-steps b{display:block}.nbm-ph-steps span{color:var(--nbm-muted);font-size:12px}.nbm-ph-module-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.nbm-ph-module-toolbar:empty{display:none}.nbm-ph-module-toolbar label{font-size:12px;font-weight:800;color:var(--nbm-muted);display:flex;align-items:center;gap:6px}.nbm-ph-module-toolbar input,.nbm-ph-select,.nbm-ph-search{border:1px solid #cbd5e1;border-radius:12px;padding:9px 11px;background:#fff}.nbm-ph-table-wrap{overflow:auto;min-height:180px}.nbm-ph-empty,.nbm-ph-loading{padding:38px;text-align:center;color:var(--nbm-muted);font-weight:800}.nbm-ph-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.nbm-ph-search{min-width:290px}.nbm-ph-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.nbm-ph-table th{background:#f8fafc;color:#475569;text-align:left;text-transform:uppercase;letter-spacing:.08em;font-size:10px;border-bottom:1px solid var(--nbm-line);padding:12px}.nbm-ph-table td{border-bottom:1px solid #eef2f7;padding:12px;vertical-align:middle;color:#1e293b}.nbm-ph-table tr:hover td{background:#f8fafc}.nbm-ph-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;background:#eef2ff;color:#3730a3}.nbm-ph-badge.ok{background:#dcfce7;color:#166534}.nbm-ph-badge.warn{background:#fef3c7;color:#92400e}.nbm-ph-badge.danger{background:#fee2e2;color:#991b1b}.nbm-ph-money{font-weight:900;color:#0f172a}.nbm-ph-actions{display:flex;gap:6px;flex-wrap:wrap}.nbm-ph-actions button{padding:7px 9px;border-radius:10px;border:0;font-weight:900;font-size:11px;cursor:pointer}.nbm-ph-detail-drawer{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.nbm-ph-detail-box{width:min(980px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.32)}.nbm-ph-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;border-bottom:1px solid var(--nbm-line);position:sticky;top:0;background:#fff;z-index:1}.nbm-ph-detail-head h3{margin:0;font-size:22px}.nbm-ph-detail-head p{margin:5px 0 0;color:var(--nbm-muted);font-weight:700}.nbm-ph-detail-body{padding:22px 24px}.nbm-ph-payroll-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.nbm-ph-payroll-box{border:1px solid var(--nbm-line);border-radius:22px;padding:16px;background:#f8fafc}.nbm-ph-payroll-box h4{margin:0 0 8px;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.nbm-ph-payroll-box strong{font-size:24px;letter-spacing:-1px}.nbm-ph-section-title{margin:22px 0 10px;font-weight:950;font-size:16px}.nbm-ph-lines{border:1px solid var(--nbm-line);border-radius:18px;overflow:hidden}.nbm-ph-line{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px;padding:11px 14px;border-bottom:1px solid #eef2f7;align-items:center}.nbm-ph-line:last-child{border-bottom:0}.nbm-ph-line small{color:var(--nbm-muted);font-weight:800}.nbm-ph-line b{text-align:right}.nbm-ph-audit-ok{color:var(--nbm-green);font-weight:950}.nbm-ph-audit-bad{color:var(--nbm-red);font-weight:950}.nbm-ph-toast{position:fixed;right:24px;bottom:24px;background:#0f172a;color:#fff;padding:12px 16px;border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.3);font-weight:800;z-index:999999;max-width:420px}.nbm-ph-alert{padding:14px 16px;border-radius:16px;font-weight:800}.nbm-ph-alert-danger{background:#fee2e2;color:#991b1b}.nbm-ph-settings-card{background:#fff;border:1px solid #e5e7eb;padding:18px;border-radius:18px}.nbm-ph-help{background:#fff;border:1px solid #e5e7eb;padding:18px;border-radius:18px;margin-top:16px}.nbm-ph-admin-wrap .nbm-ph-shell{min-height:calc(100vh - 70px)}@media(max-width:1100px){.nbm-ph-shell{grid-template-columns:1fr}.nbm-ph-sidebar{position:relative}.nbm-ph-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-kpi-grid,.nbm-ph-split,.nbm-ph-payroll-grid{grid-template-columns:1fr}.nbm-ph-topbar{flex-direction:column}.nbm-ph-user-pill{width:100%}}@media(max-width:640px){.nbm-ph-main,.nbm-ph-sidebar{padding:14px}.nbm-ph-hero{border-radius:20px;flex-direction:column;align-items:flex-start}.nbm-ph-nav{grid-template-columns:1fr}.nbm-ph-table{min-width:760px}.nbm-ph-line{grid-template-columns:1fr}.nbm-ph-line b{text-align:left}.nbm-ph-search{min-width:0;width:100%}.nbm-ph-tools{flex-direction:column;align-items:stretch}}

/* v6.4 Interactive ERP additions */
.nbm-ph-module-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.nbm-ph-muted{color:#64748b;font-size:12px;font-weight:700;align-self:center}
.nbm-ph-loading{padding:22px;text-align:center;color:#64748b;font-weight:800;background:#fff;border:1px solid #e2e8f0;border-radius:18px}
.nbm-ph-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nbm-ph-edit-form label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#334155;font-size:12px}
.nbm-ph-edit-form input,.nbm-ph-edit-form select,.nbm-ph-edit-form textarea{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff;color:#0f172a;font-size:13px;min-height:42px}
.nbm-ph-edit-form textarea{min-height:86px;resize:vertical}
.nbm-ph-form-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.nbm-ph-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:190px}
.nbm-ph-actions button{white-space:nowrap}
.nbm-ph-table td,.nbm-ph-table th{vertical-align:top}
@media(max-width:760px){.nbm-ph-edit-form{grid-template-columns:1fr}.nbm-ph-module-actions{display:grid}.nbm-ph-actions{min-width:0}}

/* PeopleHub ERP v7 foundation */
.nbm-ph-eyebrow::after{content:' · v7 desktop';font-weight:700;color:var(--nbm-primary)}
.nbm-ph-actions button{margin:2px 4px 2px 0}
.nbm-ph-badge.warn{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.nbm-ph-badge.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.nbm-ph-badge.danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}

/* Sprint 2 enhancements */
.nbm-ph-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.nbm-ph-actions button{white-space:nowrap}.nbm-ph-lines a{color:var(--nbm-primary);font-weight:700;text-decoration:none}.nbm-ph-lines a:hover{text-decoration:underline}.nbm-ph-payroll-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}.nbm-ph-table td{vertical-align:top}.nbm-ph-detail-body{max-height:calc(100vh - 160px);overflow:auto}.nbm-ph-empty{border:1px dashed #dbe4f0;background:#f8fafc;border-radius:16px;padding:24px;color:#64748b}

/* Sprint 3: Approval Center Enterprise */
.nbm-ph-filter-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.nbm-ph-filter-tabs button{border:1px solid #dbeafe;background:#fff;color:#1e3a8a;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.nbm-ph-filter-tabs button.active{background:linear-gradient(135deg,var(--nbm-primary),#1e40af);color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(37,99,235,.22)}
.nbm-ph-approval-hint{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:18px;padding:12px 14px;margin:10px 0 14px}
.nbm-ph-approval-hint b{font-size:13px;text-transform:uppercase;letter-spacing:.05em}.nbm-ph-approval-hint span{color:#475569;font-size:13px}.nbm-ph-actions{min-width:210px}.nbm-ph-actions button{margin:2px}
@media(max-width:900px){.nbm-ph-approval-hint{display:block}.nbm-ph-filter-tabs{position:sticky;top:0;background:#f8fafc;padding:8px 0;z-index:5}}

/* Sprint 4 Payroll Enterprise */
.nbm-ph-payroll-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#0f3aa8,#2563eb);color:#fff;border-radius:24px;padding:22px 26px;margin:0 0 18px;box-shadow:0 18px 45px rgba(37,99,235,.20)}
.nbm-ph-payroll-hero span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;opacity:.8}.nbm-ph-payroll-hero h3{font-size:28px;margin:4px 0 2px;color:#fff}.nbm-ph-payroll-hero p{margin:0;color:#dbeafe;font-weight:700}
.nbm-ph-payroll-grid.enterprise{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.nbm-ph-payroll-box small{display:block;margin-top:8px;color:#64748b;font-weight:800;font-size:11px}.nbm-ph-payroll-box.green{background:#ecfdf5;border-color:#bbf7d0}.nbm-ph-payroll-box.red{background:#fff1f2;border-color:#fecdd3}
.nbm-ph-payroll-workflow{margin:0 0 18px}.nbm-ph-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}.nbm-ph-step{border:1px solid #dbeafe;background:#f8fafc;border-radius:18px;padding:14px}.nbm-ph-step b{display:block;color:#0f172a}.nbm-ph-step small{display:block;color:#64748b;margin-top:4px;font-weight:800;font-size:10px}.nbm-ph-step.done{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 4px 0 0 #2563eb}.nbm-ph-payroll-signers{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.nbm-ph-payroll-signers span{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;color:#334155}.nbm-ph-timeline-mini{margin-top:14px;border-top:1px solid #e2e8f0;padding-top:12px;display:grid;gap:8px}.nbm-ph-timeline-mini div{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px}.nbm-ph-timeline-mini span{color:#64748b;font-size:12px}
@media(max-width:900px){.nbm-ph-payroll-grid.enterprise,.nbm-ph-stepper{grid-template-columns:1fr}.nbm-ph-payroll-hero{flex-direction:column;align-items:flex-start}}

/* PeopleHub ERP v8.0.0 Core Login */
.nbm-ph-login-wrap{min-height:720px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 30%),linear-gradient(135deg,#f8fafc,#eef2ff);padding:48px 18px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.nbm-ph-login-card{width:min(460px,100%);background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.9);box-shadow:0 24px 80px rgba(15,23,42,.14);border-radius:28px;padding:34px;backdrop-filter:blur(16px)}
.nbm-ph-login-brand{display:flex;gap:14px;align-items:center;margin-bottom:28px}.nbm-ph-login-brand strong{display:block;color:#0f172a;font-size:18px}.nbm-ph-login-brand span{display:block;color:#64748b;font-size:12px;margin-top:2px}.nbm-ph-login-card h1{font-size:30px;line-height:1.1;margin:0 0 10px;color:#0f172a;letter-spacing:-.8px}.nbm-ph-login-card p{color:#64748b;margin:0 0 24px;line-height:1.55}.nbm-ph-login-card form{display:grid;gap:10px}.nbm-ph-login-card label{font-weight:800;color:#334155;font-size:13px;margin-top:8px}.nbm-ph-login-card input{height:48px;border:1px solid #dbe4ef;border-radius:14px;padding:0 15px;font-size:14px;background:#fff;outline:none}.nbm-ph-login-card input:focus{border-color:var(--nbm-primary);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.nbm-ph-login-card button{height:50px;margin-top:12px}.nbm-ph-login-message{min-height:22px;color:#ef4444;font-size:13px;font-weight:700}.nbm-ph-login-message.ok{color:#16a34a}.nbm-ph-login-card small{display:block;margin-top:22px;color:#94a3b8}.nbm-ph-logout{border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:999px;padding:7px 12px;font-weight:800;cursor:pointer;margin-left:10px}.nbm-ph-logout:hover{background:#f8fafc;color:#0f172a}

/* PeopleHub ERP v8.0.1 Topbar, profile dropdown, universal search */
.nbm-ph-top-actions{display:flex;align-items:center;gap:10px;position:relative}.nbm-ph-icon-btn{height:44px;min-width:44px;border:1px solid var(--nbm-line);background:#fff;border-radius:16px;box-shadow:0 10px 25px rgba(15,23,42,.06);font-weight:900;cursor:pointer;color:#0f172a;position:relative}.nbm-ph-icon-btn em{position:absolute;right:-4px;top:-4px;display:inline-flex;min-width:18px;height:18px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;align-items:center;justify-content:center;font-style:normal;border:2px solid #fff}.nbm-ph-user-menu{position:relative}.nbm-ph-user-pill{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--nbm-line);border-radius:18px;padding:9px 12px;min-width:260px;box-shadow:0 10px 25px rgba(15,23,42,.06);cursor:pointer;text-align:left}.nbm-ph-user-pill:hover{box-shadow:0 16px 34px rgba(15,23,42,.11);transform:translateY(-1px)}.nbm-ph-avatar{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--nbm-primary),#60a5fa);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;box-shadow:0 10px 22px rgba(37,99,235,.24);flex:none}.nbm-ph-avatar.big{width:48px;height:48px;border-radius:18px}.nbm-ph-user-copy{display:block;min-width:0;flex:1}.nbm-ph-user-copy b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nbm-ph-user-copy small{display:block;color:var(--nbm-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nbm-ph-user-pill i{font-style:normal;color:#64748b;font-weight:900}.nbm-ph-profile-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:310px;background:#fff;border:1px solid var(--nbm-line);border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.20);z-index:9999;padding:12px}.nbm-ph-profile-dropdown.open{display:block}.nbm-ph-profile-head{display:flex;gap:12px;padding:10px 8px 14px;border-bottom:1px solid #eef2f7;margin-bottom:8px}.nbm-ph-profile-head strong{display:block;font-size:14px}.nbm-ph-profile-head small{display:block;color:#64748b;font-size:11px;margin-top:2px}.nbm-ph-profile-link{width:100%;display:block;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:14px;color:#0f172a;text-decoration:none;font-weight:850;cursor:pointer;font-size:13px}.nbm-ph-profile-link:hover{background:#f8fafc}.nbm-ph-profile-link.danger{color:#b91c1c}.nbm-ph-profile-dropdown hr{border:0;border-top:1px solid #eef2f7;margin:8px 0}.nbm-ph-command{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;z-index:100000;align-items:flex-start;justify-content:center;padding-top:9vh}.nbm-ph-command.open{display:flex}.nbm-ph-command-box{width:min(760px,92vw);background:#fff;border-radius:26px;box-shadow:0 35px 90px rgba(0,0,0,.35);overflow:hidden}.nbm-ph-command-box input{width:100%;height:62px;border:0;border-bottom:1px solid #e2e8f0;padding:0 22px;font-size:18px;outline:0}.nbm-ph-command-results{padding:12px;max-height:54vh;overflow:auto}.nbm-ph-command-item{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:#fff;border-radius:16px;padding:13px 14px;cursor:pointer;text-align:left}.nbm-ph-command-item:hover{background:#f8fafc}.nbm-ph-command-item b{display:block}.nbm-ph-command-item small{color:#64748b}.nbm-ph-command-item span{font-size:12px;font-weight:900;color:#2563eb;background:#eff6ff;padding:5px 9px;border-radius:999px}.nbm-ph-notif-pop{display:none;position:absolute;right:300px;top:58px;width:330px;background:#fff;border:1px solid var(--nbm-line);border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.18);z-index:9998;padding:14px}.nbm-ph-notif-pop.open{display:block}.nbm-ph-notif-pop h4{margin:0 0 10px}.nbm-ph-notif-row{display:flex;gap:10px;padding:10px;border-radius:14px}.nbm-ph-notif-row:hover{background:#f8fafc}.nbm-ph-notif-row b{display:block;font-size:13px}.nbm-ph-notif-row small{display:block;color:#64748b}.nbm-ph-logout{display:inline-flex;align-items:center;justify-content:center;border:0;background:#fee2e2;color:#991b1b;border-radius:14px;padding:10px 12px;font-weight:900;cursor:pointer;margin:0}.nbm-ph-logout:hover{background:#fecaca;color:#7f1d1d}@media(max-width:900px){.nbm-ph-top-actions{width:100%;justify-content:space-between}.nbm-ph-user-pill{min-width:0;flex:1}.nbm-ph-profile-dropdown{right:0;width:min(320px,86vw)}.nbm-ph-notif-pop{right:0;top:115px}}
.nbm-ph-alert-info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;margin-bottom:14px}.nbm-ph-module-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.nbm-ph-edit-form label{display:block;margin:0 0 12px}.nbm-ph-edit-form label span{display:block;font-size:12px;font-weight:900;color:#475569;margin-bottom:6px}.nbm-ph-edit-form input,.nbm-ph-edit-form textarea,.nbm-ph-edit-form select{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff}.nbm-ph-edit-form textarea{min-height:92px}.nbm-ph-form-actions{display:flex;gap:10px;margin-top:16px;justify-content:flex-end}

/* v8.1.1 filter/export/add refinement */
.nbm-ph-filterbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:14px 0;padding:14px;border:1px solid #dbe7ff;background:#f8fbff;border-radius:18px}
.nbm-ph-filter{display:flex;flex-direction:column;gap:6px;min-width:180px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}
.nbm-ph-filter select{height:42px;border-radius:13px;border:1px solid #cbd5e1;padding:0 12px;background:#fff;color:#0f172a;font-weight:700;text-transform:none;letter-spacing:0}
.nbm-ph-module-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}

/* v8.2.0 Employee Center enterprise detail */
.nbm-ph-employee-table th:nth-child(1){min-width:240px}.nbm-ph-employee-table th:nth-child(2){min-width:180px}.nbm-ph-employee-table th:nth-child(3),.nbm-ph-employee-table th:nth-child(4),.nbm-ph-employee-table th:nth-child(5){min-width:140px}
.nbm-ph-emp-mini{display:flex;align-items:center;gap:12px}.nbm-ph-emp-mini b{display:block;color:#0f172a}.nbm-ph-emp-mini small{display:block;color:#64748b;font-size:11px;margin-top:3px}.nbm-ph-avatar-sm{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#60a5fa);color:white;display:inline-flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 10px 22px rgba(37,99,235,.18)}
.nbm-ph-employee-detail-head{align-items:flex-start}.nbm-ph-emp-profile{display:flex;align-items:center;gap:18px}.nbm-ph-avatar-lg{width:76px;height:76px;border-radius:26px;background:linear-gradient(135deg,#1d4ed8,#60a5fa);color:white;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;box-shadow:0 18px 40px rgba(37,99,235,.22)}.nbm-ph-emp-profile h3{margin:0 0 6px;font-size:24px}.nbm-ph-emp-profile p{margin:0 0 10px;color:#64748b;font-weight:700}.nbm-ph-emp-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.nbm-ph-emp-info-box{border:1px solid #dbe7f7;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:18px;padding:16px}.nbm-ph-emp-info-box small{display:block;color:#64748b;font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.nbm-ph-emp-info-box b{display:block;margin-top:8px;color:#0f172a;font-size:15px}.nbm-ph-employee-section{border:1px solid #dbe7f7;background:#fff;border-radius:22px;margin:14px 0;overflow:hidden}.nbm-ph-employee-section h4{margin:0;padding:16px 20px;background:#f8fbff;border-bottom:1px solid #e7eef8;color:#0f172a;font-size:15px}.nbm-ph-employee-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.nbm-ph-employee-kv div{padding:14px 20px;border-bottom:1px solid #edf2f7}.nbm-ph-employee-kv div:nth-child(odd){border-right:1px solid #edf2f7}.nbm-ph-employee-kv span{display:block;color:#64748b;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.nbm-ph-employee-kv b{display:block;margin-top:6px;color:#0f172a;font-size:14px;line-height:1.45;word-break:break-word}.nbm-ph-form-actions.sticky{position:sticky;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-top:1px solid #e5edf7;padding-top:14px;margin-top:18px}
@media(max-width:900px){.nbm-ph-emp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-employee-kv{grid-template-columns:1fr}.nbm-ph-employee-kv div:nth-child(odd){border-right:0}}

/* v8.2.0 Employee detail action fix */
.nbm-ph-employee-table .nbm-ph-secondary.small{min-width:78px}.nbm-ph-detail-box .nbm-ph-form-actions.sticky button{min-width:130px}


/* v8.2.1 Employee Workspace Talenta-style */
.nbm-ph-employee-workspace{display:grid;gap:16px}.nbm-ph-ew-hero{display:flex;justify-content:space-between;gap:22px;align-items:stretch;border:1px solid #dbe7f7;background:linear-gradient(135deg,#ffffff,#f4f8ff);border-radius:24px;padding:22px;box-shadow:0 18px 50px rgba(15,23,42,.07)}.nbm-ph-eyebrow{display:inline-flex;color:#2952E3;background:#eef4ff;border:1px solid #d8e5ff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.nbm-ph-ew-hero h2{margin:12px 0 8px;color:#0f172a;font-size:28px;letter-spacing:-.8px}.nbm-ph-ew-hero p{max-width:760px;margin:0;color:#64748b;line-height:1.55;font-weight:650}.nbm-ph-ew-stats{display:grid;grid-template-columns:repeat(4,92px);gap:10px;align-items:stretch}.nbm-ph-ew-stats div{border:1px solid #e2eaf5;background:#fff;border-radius:18px;padding:14px;box-shadow:0 12px 28px rgba(15,23,42,.05)}.nbm-ph-ew-stats small{display:block;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.nbm-ph-ew-stats b{display:block;color:#0f172a;font-size:22px;margin-top:6px;font-variant-numeric:tabular-nums}.nbm-ph-ew-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e2eaf5;border-radius:20px;padding:12px;box-shadow:0 12px 34px rgba(15,23,42,.06)}.nbm-ph-ew-search{flex:1;min-width:260px}.nbm-ph-ew-search input{width:100%;height:44px;border:1px solid #dbe4ef;border-radius:15px;padding:0 14px;outline:0;background:#f8fafc;font-weight:700}.nbm-ph-ew-search input:focus{border-color:#2952E3;box-shadow:0 0 0 4px rgba(41,82,227,.11);background:#fff}.nbm-ph-ew-filterbar{margin:0}.nbm-ph-ew-source{margin-left:auto;align-self:center}.nbm-ph-table-wrap{overflow:auto;border:1px solid #e2eaf5;border-radius:22px;background:#fff;box-shadow:0 16px 42px rgba(15,23,42,.06)}.nbm-ph-table-wrap .nbm-ph-table{border:0;box-shadow:none;margin:0}.nbm-ph-soft-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;padding:5px 10px;font-weight:850;font-size:12px}.nbm-ph-tabs{display:flex;gap:8px;overflow:auto;border-bottom:1px solid #e5edf7;margin:8px 0 16px;padding-bottom:10px}.nbm-ph-tabs button{border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:999px;padding:9px 13px;font-weight:900;cursor:pointer;white-space:nowrap}.nbm-ph-tabs button.active{background:#2952E3;border-color:#2952E3;color:#fff;box-shadow:0 12px 26px rgba(41,82,227,.22)}.nbm-ph-tabpane{display:none}.nbm-ph-tabpane.active{display:block}.nbm-ph-employee-drawer-body{padding-top:14px}.nbm-ph-detail-box{max-width:min(980px,96vw)}
@media(max-width:1100px){.nbm-ph-ew-hero{display:block}.nbm-ph-ew-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.nbm-ph-ew-source{margin-left:0}.nbm-ph-detail-box{max-width:96vw}}@media(max-width:700px){.nbm-ph-ew-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-ew-toolbar>*{width:100%}.nbm-ph-ew-search{min-width:0}.nbm-ph-emp-profile{align-items:flex-start}.nbm-ph-avatar-lg{width:58px;height:58px;border-radius:20px}}

/* v8.2.2 Employee Workspace polish: no duplicate toolbar, cleaner command surface */
.nbm-ph-shell{font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#F7F9FC}
.nbm-ph-module-result.employee-result{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;overflow:visible;min-height:180px}
.nbm-ph-employee-workspace{display:grid;gap:14px}
.nbm-ph-ew-command{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2eaf5;border-radius:22px;padding:14px;box-shadow:0 14px 36px rgba(15,23,42,.06);position:sticky;top:0;z-index:5}
.nbm-ph-ew-command .nbm-ph-ew-search{flex:1;min-width:320px;order:0}.nbm-ph-ew-command .nbm-ph-primary,.nbm-ph-ew-command .nbm-ph-secondary{height:42px;border-radius:14px}.nbm-ph-ew-command .nbm-ph-search{height:42px}
.nbm-ph-ew-stats.compact{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.nbm-ph-ew-stats.compact div{border:1px solid #e2eaf5;background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 12px 28px rgba(15,23,42,.045)}
.nbm-ph-ew-filterbar{margin:0;padding:14px 16px;background:#f8fbff;border-color:#dbe7ff;box-shadow:none}.nbm-ph-ew-filterbar .nbm-ph-filter{min-width:210px}.nbm-ph-ew-source{margin-left:auto;background:#eef2ff;color:#3730a3;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:950}
.nbm-ph-employee-workspace .nbm-ph-table-wrap{padding:0;overflow:hidden}.nbm-ph-employee-table td,.nbm-ph-employee-table th{padding:13px 14px}.nbm-ph-employee-table tbody tr{transition:background .14s, transform .14s}.nbm-ph-employee-table tbody tr:hover td{background:#f8fbff}.nbm-ph-employee-table .nbm-ph-secondary.small{height:36px;padding:0 14px;border-radius:13px;min-width:86px}
.nbm-ph-avatar-sm{font-variant-numeric:tabular-nums}.nbm-ph-soft-pill{background:#f8fafc;color:#334155}.nbm-ph-emp-mini b{font-weight:950}.nbm-ph-emp-mini small{font-weight:650}
.nbm-ph-detail-drawer{align-items:stretch;justify-content:flex-end;padding:0;background:rgba(15,23,42,.42);backdrop-filter:blur(3px)}.nbm-ph-detail-box{width:min(760px,96vw);max-height:none;height:100vh;border-radius:28px 0 0 28px;box-shadow:-28px 0 70px rgba(15,23,42,.24)}.nbm-ph-detail-head{padding:24px 28px}.nbm-ph-detail-body{padding:22px 28px 28px}.nbm-ph-tabs{position:sticky;top:92px;background:#fff;z-index:2;padding-top:2px}.nbm-ph-emp-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-employee-kv{grid-template-columns:1fr}.nbm-ph-employee-kv div:nth-child(odd){border-right:0}
@media(max-width:900px){.nbm-ph-ew-command{position:relative;flex-direction:column;align-items:stretch}.nbm-ph-ew-command .nbm-ph-ew-search{min-width:0}.nbm-ph-ew-stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-ew-source{margin-left:0}.nbm-ph-detail-box{width:100vw;border-radius:0}.nbm-ph-tabs{top:86px}}

/* v8.2.4 Employee detail drawer: premium readable row layout */
.nbm-ph-admin-wrap{margin:18px 18px 0 0!important;max-width:none!important}
.nbm-ph-admin-wrap .nbm-ph-shell{width:calc(100vw - 198px);max-width:none;min-height:calc(100vh - 74px);border-radius:26px}
.nbm-ph-shell{grid-template-columns:282px minmax(0,1fr);font-feature-settings:"tnum" 1,"kern" 1;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.nbm-ph-main{padding:26px 28px}.nbm-ph-topbar{align-items:center}.nbm-ph-topbar h1{font-size:29px;letter-spacing:-1.1px}.nbm-ph-hero.compact{border-radius:26px;padding:26px 28px;margin-bottom:18px;background:linear-gradient(135deg,#2F66F5 0%,#2440B8 100%)}
.nbm-ph-hero.compact h2{font-size:24px;letter-spacing:-.7px}.nbm-ph-hero.compact p{font-size:14px;color:#dbeafe}.nbm-ph-primary{background:#2952E3;color:#fff;box-shadow:0 12px 28px rgba(41,82,227,.22)}.nbm-ph-hero .nbm-ph-primary{background:#fff;color:#1e40af;box-shadow:none}.nbm-ph-secondary{background:#e8eeff;color:#173ea9}.nbm-ph-danger{background:#ffe3ea;color:#dc2626}.nbm-ph-ew-command{position:relative;top:auto;border-radius:22px;padding:14px;background:#fff}.nbm-ph-ew-command .nbm-ph-primary{background:#2952E3;color:#fff}.nbm-ph-ew-command .nbm-ph-search{height:42px;background:#fbfdff;border-color:#d7e1ee}.nbm-ph-ew-command .nbm-ph-search:focus{background:#fff;border-color:#2952E3;box-shadow:0 0 0 4px rgba(41,82,227,.1)}
.nbm-ph-ew-stats.compact{gap:12px}.nbm-ph-ew-stats.compact div{min-height:90px;padding:17px 18px;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff)}.nbm-ph-ew-stats.compact small{color:#62718a;letter-spacing:.11em}.nbm-ph-ew-stats.compact b{font-size:24px;letter-spacing:-.8px}.nbm-ph-ew-filterbar{border-radius:20px;padding:16px;background:#f8fbff}.nbm-ph-ew-filterbar .nbm-ph-filter span{color:#62718a}.nbm-ph-ew-filterbar select{height:42px;border-radius:13px}.nbm-ph-ew-source{align-self:flex-end;margin-left:auto}.nbm-ph-employee-workspace .nbm-ph-table-wrap{border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.055)}.nbm-ph-employee-table{font-size:12px}.nbm-ph-employee-table th{height:44px;background:#fbfdff;color:#34445c;font-size:10px;letter-spacing:.12em}.nbm-ph-employee-table td{height:58px}.nbm-ph-emp-mini b{font-size:12.5px;letter-spacing:-.2px}.nbm-ph-emp-mini small{font-size:11px;color:#64748b}.nbm-ph-avatar-sm{width:38px;height:38px;border-radius:13px}.nbm-ph-soft-pill{font-size:11px;font-weight:900;background:#f8fafc;border-color:#e2e8f0;color:#18243a}.nbm-ph-employee-table .nbm-ph-secondary.small{background:#e8eeff;color:#173ea9;font-weight:950}
.nbm-ph-detail-drawer{align-items:stretch;justify-content:flex-end;padding:0;background:rgba(15,23,42,.40);backdrop-filter:blur(4px)}
.nbm-ph-detail-box{width:min(680px,48vw);min-width:620px;height:100vh;max-height:100vh;border-radius:0;background:#fff;box-shadow:-18px 0 60px rgba(15,23,42,.20);overflow:hidden;display:flex;flex-direction:column;font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.nbm-ph-detail-head.v823{position:relative;top:auto;z-index:3;padding:26px 28px 22px;background:#fff;border-bottom:1px solid #e5edf7;align-items:center}.nbm-ph-emp-profile{gap:16px;min-width:0}.nbm-ph-avatar-lg{width:58px;height:58px;border-radius:18px;font-size:20px;box-shadow:0 16px 32px rgba(41,82,227,.25)}.nbm-ph-emp-profile h3{font-size:22px;line-height:1.15;letter-spacing:-.7px;margin:0 0 5px;color:#0b1220}.nbm-ph-emp-profile p{font-size:12px;line-height:1.3;margin:0 0 6px;color:#56657a;font-weight:800}.nbm-ph-emp-profile small{display:block;color:#64748b;font-size:11px;font-weight:750}.nbm-ph-emp-profile small b{color:#0f172a}.nbm-ph-drawer-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.nbm-ph-close-x{width:36px;height:36px;border:0;border-radius:13px;background:#f4f7fb;color:#1e293b;font-size:21px;line-height:1;cursor:pointer;font-weight:400}.nbm-ph-close-x:hover{background:#e8eef7;color:#0f172a}.nbm-ph-employee-drawer-body{padding:0;overflow:auto;flex:1;background:#fff}.nbm-ph-tabs.icon-tabs{position:sticky;top:0;z-index:2;margin:0;padding:13px 20px 0;background:#fff;border-bottom:1px solid #e5edf7;display:grid;grid-template-columns:repeat(8,minmax(58px,1fr));gap:0;overflow:visible}.nbm-ph-tabs.icon-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#61718a;padding:8px 5px 12px;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;font-weight:850;min-width:0}.nbm-ph-tabs.icon-tabs button i{font-style:normal;font-size:15px;line-height:1}.nbm-ph-tabs.icon-tabs button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nbm-ph-tabs.icon-tabs button.active{background:transparent;color:#2952E3;border-color:#2952E3;box-shadow:none}.nbm-ph-tabpanes{padding:24px 30px 116px}.nbm-ph-tabpane{animation:nbmFadeIn .14s ease-out}@keyframes nbmFadeIn{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}
.nbm-ph-employee-section-card{margin:0 0 24px}.nbm-ph-employee-section-card h4{margin:0 0 12px;color:#0f172a;font-size:14px;letter-spacing:-.25px;font-weight:950}.nbm-ph-employee-kv.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nbm-ph-employee-kv.cards div{border:1px solid #e3ebf6;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:12px;padding:13px 12px;min-height:72px}.nbm-ph-employee-kv.cards div:nth-child(odd){border-right:1px solid #e3ebf6}.nbm-ph-employee-kv.cards span{display:block;color:#697990;font-size:10px;line-height:1.2;font-weight:850;text-transform:none;letter-spacing:0;margin-bottom:8px}.nbm-ph-employee-kv.cards b{display:block;color:#111827;font-size:11.5px;line-height:1.35;font-weight:900;word-break:break-word}.nbm-ph-form-actions.sticky.employee-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:16px 26px 18px;background:rgba(255,255,255,.96);border-top:1px solid #e5edf7;backdrop-filter:blur(10px);box-shadow:0 -14px 34px rgba(15,23,42,.06)}.nbm-ph-form-actions.sticky.employee-actions button{height:44px;border-radius:13px;font-weight:950}.nbm-ph-form-actions.sticky.employee-actions .nbm-ph-primary{background:#e8eeff;color:#173ea9;box-shadow:none}.nbm-ph-form-actions.sticky.employee-actions .nbm-ph-danger{background:#ffe4eb;color:#ef233c}
@media(max-width:1280px){.nbm-ph-admin-wrap .nbm-ph-shell{width:calc(100vw - 180px)}.nbm-ph-detail-box{width:min(620px,56vw);min-width:500px}.nbm-ph-employee-kv.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-tabs.icon-tabs{grid-template-columns:repeat(4,minmax(62px,1fr));row-gap:0}}
@media(max-width:900px){.nbm-ph-admin-wrap{margin:10px!important}.nbm-ph-admin-wrap .nbm-ph-shell{width:auto}.nbm-ph-shell{grid-template-columns:1fr}.nbm-ph-main{padding:16px}.nbm-ph-detail-box{width:100vw;min-width:0}.nbm-ph-employee-kv.cards{grid-template-columns:1fr}.nbm-ph-tabs.icon-tabs{grid-template-columns:repeat(4,minmax(0,1fr));padding-left:12px;padding-right:12px}.nbm-ph-tabpanes{padding:18px 16px 112px}.nbm-ph-form-actions.sticky.employee-actions{padding-left:16px;padding-right:16px}}


/* v8.2.4 Employee drawer readable key-value rows */
.nbm-ph-employee-kv.rows{display:block;border:1px solid #e5edf7;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 14px 36px rgba(15,23,42,.045)}
.nbm-ph-employee-kv.rows div{display:grid;grid-template-columns:190px 1fr;align-items:start;gap:18px;min-height:54px;padding:15px 18px;border-bottom:1px solid #edf2f8;background:linear-gradient(180deg,#fff,#fcfdff)}
.nbm-ph-employee-kv.rows div:last-child{border-bottom:0}
.nbm-ph-employee-kv.rows div:hover{background:#f8fbff}
.nbm-ph-employee-kv.rows span{display:block;color:#64748b;font-size:11px;line-height:1.35;font-weight:900;letter-spacing:.02em;text-transform:uppercase;margin:0;padding-top:1px}
.nbm-ph-employee-kv.rows b{display:block;color:#0f172a;font-size:13px;line-height:1.45;font-weight:850;letter-spacing:-.15px;word-break:break-word;font-variant-numeric:tabular-nums}
.nbm-ph-employee-section-card{margin:0 0 26px}.nbm-ph-employee-section-card h4{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#0b1220;font-size:15px;letter-spacing:-.35px;font-weight:950}.nbm-ph-employee-section-card h4:before{content:"";width:4px;height:18px;border-radius:999px;background:#2952E3;box-shadow:0 8px 18px rgba(41,82,227,.22)}
.nbm-ph-detail-head.v823{padding:28px 30px 24px}.nbm-ph-emp-profile h3{font-size:23px}.nbm-ph-tabs.icon-tabs{padding-left:26px;padding-right:26px}.nbm-ph-form-actions.sticky.employee-actions{padding-left:30px;padding-right:30px}
@media(max-width:1280px){.nbm-ph-detail-box{width:min(680px,62vw);min-width:560px}.nbm-ph-employee-kv.rows div{grid-template-columns:170px 1fr}}
@media(max-width:900px){.nbm-ph-detail-box{width:100vw;min-width:0}.nbm-ph-employee-kv.rows div{grid-template-columns:1fr;gap:5px;min-height:0;padding:13px 14px}.nbm-ph-employee-kv.rows span{font-size:10px}.nbm-ph-employee-kv.rows b{font-size:12.5px}.nbm-ph-tabpanes{padding:18px 16px 112px}.nbm-ph-form-actions.sticky.employee-actions{padding-left:16px;padding-right:16px}}


/* v8.2.5 Employee drawer: readable enterprise description list + Indonesian date polish */
.nbm-ph-detail-box{width:min(820px,68vw);font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.nbm-ph-detail-head.v823{min-height:118px;padding:28px 34px 24px;background:linear-gradient(180deg,#fff,#fbfdff)}
.nbm-ph-avatar-lg{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#2952E3,#4f83ff);font-size:21px;box-shadow:0 18px 38px rgba(41,82,227,.26)}
.nbm-ph-emp-profile h3{font-size:25px;letter-spacing:-.85px;color:#08111f}.nbm-ph-emp-profile p{font-size:13px;color:#475569}.nbm-ph-emp-profile small{font-size:11.5px;color:#64748b}.nbm-ph-emp-profile small b{font-variant-numeric:tabular-nums;color:#0b1220}.nbm-ph-drawer-actions .nbm-ph-badge.ok,.nbm-ph-mini-status.ok{background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}.nbm-ph-tabs.icon-tabs{padding:13px 30px 0;grid-template-columns:repeat(8,minmax(62px,1fr));box-shadow:0 1px 0 rgba(226,232,240,.65)}.nbm-ph-tabs.icon-tabs button{font-size:11px;color:#64748b;gap:6px}.nbm-ph-tabs.icon-tabs button i{font-size:16px}.nbm-ph-tabs.icon-tabs button.active{color:#2952E3;border-bottom-width:3px}.nbm-ph-tabpanes{padding:26px 34px 116px}.nbm-ph-employee-section-card{margin-bottom:30px}.nbm-ph-employee-section-card h4{font-size:17px;margin-bottom:15px;letter-spacing:-.45px}.nbm-ph-employee-section-card h4:before{height:20px;width:4px;background:#2952E3}.nbm-ph-employee-kv.rows.premium-lines{border:1px solid #e3ebf6;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 16px 46px rgba(15,23,42,.045)}.nbm-ph-employee-kv.rows.premium-lines div{grid-template-columns:220px minmax(0,1fr);gap:24px;min-height:58px;padding:17px 20px;background:#fff;border-bottom:1px solid #edf2f8}.nbm-ph-employee-kv.rows.premium-lines div:hover{background:#f8fbff}.nbm-ph-employee-kv.rows.premium-lines span{text-transform:none;letter-spacing:0;color:#64748b;font-size:12px;font-weight:800}.nbm-ph-employee-kv.rows.premium-lines b{font-size:14px;line-height:1.5;font-weight:900;color:#0f172a;word-break:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.nbm-ph-mini-status{display:inline-flex;align-items:center;min-height:26px;padding:4px 11px;border-radius:999px;font-style:normal;font-size:12px;font-weight:950}.nbm-ph-employee-timeline{border:1px solid #e3ebf6;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.05)}.nbm-ph-timeline-row{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:18px 22px;border-bottom:1px solid #edf2f8;align-items:start}.nbm-ph-timeline-row:last-child{border-bottom:0}.nbm-ph-timeline-row:hover{background:#f8fbff}.nbm-ph-timeline-dot{color:#2952E3;font-size:16px;line-height:20px}.nbm-ph-timeline-row small{display:block;color:#64748b;font-size:12px;font-weight:850;margin-bottom:5px}.nbm-ph-timeline-row b{display:block;color:#0f172a;font-size:15px;font-weight:950;font-variant-numeric:tabular-nums}.nbm-ph-form-actions.sticky.employee-actions{grid-template-columns:1fr 1fr;padding:16px 34px 18px}.nbm-ph-form-actions.sticky.employee-actions button{height:44px;border-radius:16px;font-size:13px}.nbm-ph-form-actions.sticky.employee-actions .nbm-ph-primary{background:linear-gradient(180deg,#eef3ff,#e5ebff);color:#1744bd}.nbm-ph-form-actions.sticky.employee-actions .nbm-ph-danger{background:linear-gradient(180deg,#ffe9ef,#ffdde7);color:#ef233c}
@media(max-width:1280px){.nbm-ph-detail-box{width:min(760px,68vw);min-width:590px}.nbm-ph-employee-kv.rows.premium-lines div{grid-template-columns:190px 1fr}}
@media(max-width:900px){.nbm-ph-detail-box{width:100vw;min-width:0}.nbm-ph-detail-head.v823{padding:22px 18px}.nbm-ph-tabpanes{padding:20px 18px 112px}.nbm-ph-tabs.icon-tabs{grid-template-columns:repeat(4,minmax(0,1fr));padding-left:14px;padding-right:14px}.nbm-ph-employee-kv.rows.premium-lines div{grid-template-columns:1fr;gap:5px;min-height:0;padding:14px 16px}.nbm-ph-form-actions.sticky.employee-actions{padding-left:18px;padding-right:18px}}


/* v8.2.8 Attendance Workspace enterprise redesign */
.nbm-ph-att-command{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px;background:#fff;border:1px solid #e3ebf6;border-radius:20px;box-shadow:0 14px 38px rgba(15,23,42,.045)}
.nbm-ph-att-command .nbm-ph-ew-search{flex:1}.nbm-ph-att-command .nbm-ph-search{width:100%;height:44px;border:1px solid #dbe7f4;border-radius:14px;padding:0 16px;background:#fbfdff;color:#0f172a;font-weight:700;outline:0}.nbm-ph-att-command .nbm-ph-search:focus{border-color:#2952E3;box-shadow:0 0 0 4px rgba(41,82,227,.10)}
.nbm-ph-att-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 16px}.nbm-ph-att-kpi{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #e3ebf6;border-radius:18px;padding:15px 16px;box-shadow:0 12px 34px rgba(15,23,42,.04)}.nbm-ph-att-kpi small{display:block;color:#64748b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.nbm-ph-att-kpi b{display:block;color:#0b1220;font-size:24px;line-height:1.1;margin:8px 0 3px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.nbm-ph-att-kpi span{display:block;color:#94a3b8;font-size:11px;font-weight:800}.nbm-ph-att-table th:nth-child(1){min-width:240px}.nbm-ph-att-table th:nth-child(2){min-width:130px}.nbm-ph-att-table th:nth-child(3){min-width:130px}.nbm-ph-att-table th:nth-child(4){min-width:125px}.nbm-ph-att-table td{vertical-align:middle}.nbm-ph-att-detail-body{padding-top:24px}.nbm-ph-att-lines div{grid-template-columns:230px minmax(0,1fr)}.nbm-ph-att-photo{display:inline-flex;align-items:center;min-height:28px;padding:5px 11px;border-radius:999px;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-size:12px;font-weight:950}.nbm-ph-att-photo:hover{background:#dbeafe}.nbm-ph-att-detail-head .nbm-ph-badge{font-size:12px;padding:6px 12px}@media(max-width:1280px){.nbm-ph-att-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.nbm-ph-att-lines div{grid-template-columns:190px 1fr}}@media(max-width:900px){.nbm-ph-att-command{flex-direction:column;align-items:stretch}.nbm-ph-att-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-att-lines div{grid-template-columns:1fr}.nbm-ph-att-table{min-width:920px}}

/* v8.3.1 Attendance Enterprise UI + performance foundation */
:root{
  --ph-bg:#F7F9FC;--ph-card:#FFFFFF;--ph-line:#E2EAF5;--ph-text:#0F172A;--ph-muted:#64748B;--ph-blue:#2952E3;--ph-green:#16A34A;--ph-amber:#F97316;--ph-red:#EF233C;--ph-purple:#7C3AED;
  --ph-shadow:0 16px 44px rgba(15,23,42,.06);--ph-shadow-soft:0 10px 28px rgba(15,23,42,.045)
}
[data-theme="dark"]{
  --ph-bg:#0B1220;--ph-card:#111827;--ph-line:#243047;--ph-text:#E5E7EB;--ph-muted:#94A3B8;--ph-blue:#5B7CFA;--ph-green:#22C55E;--ph-amber:#FB923C;--ph-red:#FB7185;--ph-purple:#A78BFA;
  --ph-shadow:0 16px 44px rgba(0,0,0,.28);--ph-shadow-soft:0 10px 28px rgba(0,0,0,.22)
}
.nbm-ph-att-workspace.enterprise-v831{display:grid;gap:14px}.nbm-ph-att-command.v831{display:flex;align-items:center;gap:12px;background:var(--ph-card);border:1px solid var(--ph-line);border-radius:22px;padding:14px;box-shadow:var(--ph-shadow-soft)}.nbm-ph-att-command.v831 .nbm-ph-ew-search{flex:1;min-width:280px}.nbm-ph-att-command.v831 .nbm-ph-search{width:100%;height:44px;background:#FBFDFF;border-color:#D7E1EE;border-radius:15px}.nbm-ph-att-kpis.compact-v831{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.nbm-ph-att-kpi.v831{height:82px;border:1px solid var(--ph-line);border-radius:20px;background:linear-gradient(180deg,#fff,#FBFDFF);box-shadow:var(--ph-shadow-soft);padding:14px 14px;display:flex;gap:12px;align-items:center;position:relative;overflow:hidden}.nbm-ph-att-kpi.v831:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ph-blue)}.nbm-ph-att-kpi.v831.green:after{background:var(--ph-green)}.nbm-ph-att-kpi.v831.amber:after{background:var(--ph-amber)}.nbm-ph-att-kpi.v831.red:after{background:var(--ph-red)}.nbm-ph-att-kpi.v831.purple:after{background:var(--ph-purple)}.nbm-ph-att-kpi.v831 .kpi-ico{width:38px;height:38px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;background:#EEF4FF;color:var(--ph-blue);font-weight:950;font-size:18px;flex:none}.nbm-ph-att-kpi.v831.green .kpi-ico{background:#ECFDF5;color:var(--ph-green)}.nbm-ph-att-kpi.v831.amber .kpi-ico{background:#FFF7ED;color:var(--ph-amber)}.nbm-ph-att-kpi.v831.red .kpi-ico{background:#FFF1F2;color:var(--ph-red)}.nbm-ph-att-kpi.v831.purple .kpi-ico{background:#F5F3FF;color:var(--ph-purple)}.nbm-ph-att-kpi.v831 small{display:block;color:#64748B;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;line-height:1}.nbm-ph-att-kpi.v831 b{display:block;font-size:23px;letter-spacing:-.8px;margin:5px 0 1px;font-variant-numeric:tabular-nums;color:#061024}.nbm-ph-att-kpi.v831 em{display:block;font-style:normal;color:#8190A6;font-size:11px;font-weight:800}.nbm-ph-filterbar.att-v831{border-radius:22px;background:#F8FBFF;box-shadow:none}.nbm-ph-att-virtual-wrap{height:min(64vh,640px);overflow:auto;padding:0!important;border-radius:22px!important}.nbm-ph-att-table.v831{min-width:980px}.nbm-ph-att-table.v831 th{position:sticky;top:0;z-index:3;height:48px;background:#FBFDFF;color:#43536B;font-size:10px}.nbm-ph-att-table.v831 td{height:64px;vertical-align:middle}.nbm-ph-subline{display:block;margin-top:3px;color:#64748B;font-size:11px;font-weight:700}.nbm-ph-virtual-status{text-align:right;color:#64748B;font-size:11px;font-weight:800;margin-top:6px;padding-right:6px}.nbm-ph-detail-box{animation:phDrawerIn .18s ease-out}@keyframes phDrawerIn{from{transform:translateX(24px);opacity:.82}to{transform:none;opacity:1}}.nbm-ph-att-detail-v831 .nbm-ph-tabpanes,.nbm-ph-att-detail-body{padding-bottom:118px}.nbm-ph-att-detail-head.compact{padding:24px 28px}.nbm-ph-att-summary-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ph-line);border-radius:18px;background:linear-gradient(180deg,#fff,#FBFDFF);overflow:hidden;margin-bottom:22px;box-shadow:var(--ph-shadow-soft)}.nbm-ph-att-summary-card>div{padding:16px 18px;border-right:1px solid #E7EEF8}.nbm-ph-att-summary-card>div:last-child{border-right:0}.nbm-ph-att-summary-card small{display:block;color:#64748B;font-size:11px;font-weight:900;margin-bottom:7px}.nbm-ph-att-summary-card b{display:block;color:#0F172A;font-size:17px;font-weight:950}.nbm-ph-att-location-section{margin-bottom:24px}.nbm-ph-locphoto-row{display:grid;grid-template-columns:190px 1fr;gap:16px;border:1px solid var(--ph-line);border-radius:18px;background:#fff;overflow:hidden;margin-bottom:14px;box-shadow:var(--ph-shadow-soft)}.nbm-ph-locphoto-row>div{padding:14px}.nbm-ph-locphoto-row>div+div{border-left:1px solid #E7EEF8}.nbm-ph-locphoto-row h5{margin:0 0 10px;color:#0F172A;font-size:13px;font-weight:950}.nbm-ph-photo-card{width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.nbm-ph-photo-card span{display:block;color:#64748B;font-size:11px;font-weight:900;margin-bottom:8px}.nbm-ph-photo-card img{width:100%;height:160px;object-fit:cover;border-radius:14px;border:1px solid #E2EAF5;background:#F1F5F9;box-shadow:0 10px 24px rgba(15,23,42,.06)}.nbm-ph-photo-card.empty{cursor:default}.nbm-ph-photo-card.empty div{height:160px;border:1px dashed #CBD5E1;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#94A3B8;font-weight:900;background:#F8FAFC}.nbm-ph-map-card iframe{width:100%;height:120px;border:1px solid #E2EAF5;border-radius:14px;background:#F1F5F9}.nbm-ph-map-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.nbm-ph-map-actions a{display:inline-flex;text-decoration:none;background:#EEF4FF;color:#173EA9;border-radius:999px;padding:6px 10px;font-weight:900;font-size:11px}.nbm-ph-map-empty{height:120px;border:1px dashed #CBD5E1;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#94A3B8;font-weight:900;background:#F8FAFC}.nbm-ph-meter{margin:9px 0 0;color:#64748B;font-size:12px;font-weight:800}.nbm-ph-meter b{color:#2952E3}.nbm-ph-form-actions.sticky.employee-actions.att-actions{grid-template-columns:1fr 1fr 1fr}.nbm-ph-lightbox{position:fixed;inset:0;background:rgba(2,6,23,.86);z-index:100001;display:flex;align-items:center;justify-content:center;padding:24px}.nbm-ph-lightbox button{position:absolute;right:24px;top:20px;width:42px;height:42px;border:0;border-radius:14px;background:#fff;color:#0F172A;font-size:26px;cursor:pointer}.nbm-ph-lightbox figure{margin:0;max-width:min(980px,92vw);max-height:90vh;text-align:center}.nbm-ph-lightbox img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.45)}.nbm-ph-lightbox figcaption{color:#fff;margin-top:10px;font-weight:900}.nbm-ph-employee-kv.rows.nbm-ph-att-lines div{grid-template-columns:220px 1fr}.nbm-ph-employee-kv.rows.nbm-ph-att-lines b{font-size:14px}.nbm-ph-employee-kv.rows.nbm-ph-att-lines .nbm-ph-badge{vertical-align:middle}@media(max-width:1280px){.nbm-ph-att-kpis.compact-v831{grid-template-columns:repeat(3,minmax(0,1fr))}.nbm-ph-att-summary-card{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-locphoto-row{grid-template-columns:1fr}.nbm-ph-locphoto-row>div+div{border-left:0;border-top:1px solid #E7EEF8}.nbm-ph-form-actions.sticky.employee-actions.att-actions{grid-template-columns:1fr}}@media(max-width:760px){.nbm-ph-att-command.v831{display:grid}.nbm-ph-att-kpis.compact-v831{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-att-kpi.v831{height:76px}.nbm-ph-att-summary-card{grid-template-columns:1fr}.nbm-ph-att-summary-card>div{border-right:0;border-bottom:1px solid #E7EEF8}.nbm-ph-att-summary-card>div:last-child{border-bottom:0}.nbm-ph-locphoto-row{gap:0}.nbm-ph-photo-card img,.nbm-ph-photo-card.empty div{height:210px}}
@media print{body *{visibility:hidden!important}.nbm-ph-detail-drawer,.nbm-ph-detail-drawer *{visibility:visible!important}.nbm-ph-detail-drawer{position:absolute!important;inset:0!important;background:#fff!important;padding:0!important;display:block!important}.nbm-ph-detail-box{width:210mm!important;height:auto!important;max-height:none!important;min-width:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.nbm-ph-close-x,.nbm-ph-form-actions,.nbm-ph-lightbox,.nbm-ph-map-actions{display:none!important}.nbm-ph-detail-head{position:relative!important}.nbm-ph-employee-drawer-body{overflow:visible!important}.nbm-ph-map-card iframe{height:85mm!important}.nbm-ph-photo-card img{height:70mm!important}.nbm-ph-locphoto-row{break-inside:avoid;page-break-inside:avoid}.nbm-ph-att-summary-card,.nbm-ph-employee-section-card{break-inside:avoid;page-break-inside:avoid}}


/* v8.3.2 Employee Add/Edit Enterprise Form */
.nbm-ph-employee-form-drawer{padding:0;background:#F8FBFF;overflow:auto;flex:1}
.nbm-ph-form-head{min-height:auto;background:linear-gradient(180deg,#fff,#FBFDFF);align-items:center}.nbm-ph-form-head h3{font-size:25px;letter-spacing:-.7px}.nbm-ph-form-head p{font-size:13px;color:#64748B;font-weight:800}
.nbm-ph-enterprise-form.employee-form{display:block;padding:24px 30px 112px}.nbm-ph-form-intro{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#EEF4FF,#F8FBFF);border:1px solid #BFDBFE;border-radius:18px;padding:16px 18px;margin:0 0 18px;color:#173EA9;box-shadow:0 12px 30px rgba(41,82,227,.07)}.nbm-ph-form-intro b{font-size:15px;font-weight:950;min-width:130px}.nbm-ph-form-intro span{font-size:12px;line-height:1.5;font-weight:800;color:#475569}
.nbm-ph-form-section{background:#fff;border:1px solid #E2EAF5;border-radius:22px;padding:18px;margin:0 0 16px;box-shadow:0 14px 36px rgba(15,23,42,.045)}.nbm-ph-form-section h4{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:15px;font-weight:950;color:#0F172A;letter-spacing:-.3px}.nbm-ph-form-section h4:before{content:"";width:4px;height:18px;border-radius:999px;background:#2952E3;box-shadow:0 8px 18px rgba(41,82,227,.22)}
.nbm-ph-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.nbm-ph-edit-field{display:flex!important;flex-direction:column;gap:7px;margin:0!important}.nbm-ph-edit-field.wide{grid-column:1/-1}.nbm-ph-edit-field span{font-size:12px!important;color:#475569!important;font-weight:900!important;margin:0!important}.nbm-ph-edit-field span em{color:#EF233C;font-style:normal}.nbm-ph-edit-field input,.nbm-ph-edit-field select,.nbm-ph-edit-field textarea{width:100%;min-height:44px;border:1px solid #D7E1EE!important;border-radius:14px!important;background:#FBFDFF!important;color:#0F172A!important;font-size:13px!important;font-weight:750!important;padding:10px 13px!important;outline:none;box-shadow:none!important}.nbm-ph-edit-field input:focus,.nbm-ph-edit-field select:focus,.nbm-ph-edit-field textarea:focus{background:#fff!important;border-color:#2952E3!important;box-shadow:0 0 0 4px rgba(41,82,227,.10)!important}.nbm-ph-edit-field textarea{min-height:88px;resize:vertical}.nbm-ph-field-help{font-size:11px;color:#94A3B8;font-weight:750;line-height:1.35}.nbm-ph-custom-input{background:#fff!important;border-style:dashed!important}.nbm-ph-enterprise-form .nbm-ph-form-actions.sticky.employee-actions{position:sticky;bottom:0;left:0;right:0;margin:18px -30px -112px;padding:16px 30px 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid #E2EAF5;display:grid;grid-template-columns:1fr 1fr;gap:12px}.nbm-ph-enterprise-form .nbm-ph-form-actions button{height:46px;border-radius:16px;font-size:13px}.nbm-ph-enterprise-form .nbm-ph-form-actions .nbm-ph-primary{background:#2952E3;color:#fff;box-shadow:0 14px 30px rgba(41,82,227,.22)}.nbm-ph-enterprise-form .nbm-ph-form-actions .nbm-ph-secondary{background:#EEF4FF;color:#173EA9}
@media(max-width:900px){.nbm-ph-enterprise-form.employee-form{padding:18px 16px 106px}.nbm-ph-form-grid{grid-template-columns:1fr}.nbm-ph-form-intro{display:block}.nbm-ph-form-intro b{display:block;margin-bottom:6px}.nbm-ph-enterprise-form .nbm-ph-form-actions.sticky.employee-actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}}


/* v8.3.3 Attendance pagination controls */
.nbm-ph-att-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;flex-wrap:wrap}
.nbm-ph-virtual-status{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px;font-weight:850}
.nbm-ph-virtual-status b{color:#334155;font-weight:950}.nbm-ph-virtual-status span{color:#64748b}
.nbm-ph-att-pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nbm-ph-att-pagination button{height:34px;min-width:34px;border:1px solid #dbe7f7;background:#fff;color:#1e3a8a;border-radius:11px;font-weight:950;cursor:pointer;box-shadow:0 6px 16px rgba(15,23,42,.04)}.nbm-ph-att-pagination button:hover:not(:disabled){background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.nbm-ph-att-pagination button.active{background:#2952E3;color:#fff;border-color:#2952E3;box-shadow:0 10px 24px rgba(41,82,227,.20)}.nbm-ph-att-pagination button:disabled{opacity:.45;cursor:not-allowed}.nbm-ph-att-pagination .dots{padding:0 4px;color:#94a3b8;font-weight:950}.nbm-ph-page-size{display:flex;align-items:center;gap:8px;margin-right:8px;color:#64748b;font-size:12px;font-weight:850}.nbm-ph-page-size select{height:34px;border:1px solid #dbe7f7;border-radius:11px;background:#fff;padding:0 8px;color:#0f172a;font-weight:900}.nbm-ph-att-virtual-wrap{max-height:520px;overflow:auto}.nbm-ph-att-table.v831 tbody tr{height:64px}
@media(max-width:760px){.nbm-ph-att-footer{align-items:stretch}.nbm-ph-att-pagination{width:100%;justify-content:flex-start}.nbm-ph-page-size{width:100%;margin-right:0}}


/* v8.3.4 Enterprise pagination visibility + compact table consistency */
.nbm-ph-att-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:14px 0 0!important;padding:12px 4px 0!important;border-top:1px solid #eef2f7!important;min-height:48px!important}
.nbm-ph-att-pagination{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:wrap!important;min-height:38px!important}
.nbm-ph-att-pagination:empty{display:none!important}
.nbm-ph-att-pagination button{height:34px!important;min-width:34px!important;padding:0 10px!important;border:1px solid #dbe7f7!important;background:#fff!important;color:#173ea9!important;border-radius:11px!important;font-size:12px!important;font-weight:950!important;cursor:pointer!important;box-shadow:0 6px 16px rgba(15,23,42,.04)!important}
.nbm-ph-att-pagination button.active{background:#2952E3!important;color:#fff!important;border-color:#2952E3!important;box-shadow:0 10px 24px rgba(41,82,227,.20)!important}
.nbm-ph-att-pagination button:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important}
.nbm-ph-att-pagination .dots{display:inline-flex;align-items:center;height:34px;padding:0 4px;color:#94a3b8;font-weight:950}
.nbm-ph-page-size{display:flex!important;align-items:center!important;gap:8px!important;margin:0 8px 0 0!important;color:#64748b!important;font-size:12px!important;font-weight:850!important;white-space:nowrap!important}
.nbm-ph-page-size select{height:34px!important;border:1px solid #dbe7f7!important;border-radius:11px!important;background:#fff!important;padding:0 8px!important;color:#0f172a!important;font-weight:900!important}
.nbm-ph-virtual-status{margin:0!important;padding:0!important;text-align:left!important;white-space:nowrap!important}
.nbm-ph-att-table.v831 th{height:42px!important;padding:10px 12px!important}
.nbm-ph-att-table.v831 td{height:58px!important;padding:10px 12px!important}
.nbm-ph-att-table.v831 tbody tr:hover td{background:#f8fbff!important}
.nbm-ph-att-virtual-wrap{height:min(60vh,560px)!important;min-height:360px!important}
@media(max-width:900px){.nbm-ph-att-footer{align-items:flex-start!important;flex-direction:column!important}.nbm-ph-att-pagination{justify-content:flex-start!important}.nbm-ph-virtual-status{white-space:normal!important}}

/* v8.3.5 Approval Shift Add/Import Web Auto-Approve */
.nbm-ph-enterprise-form.shift-request-form{gap:0;display:block}.nbm-ph-enterprise-form.shift-request-form .nbm-ph-form-section{margin-bottom:18px}.nbm-ph-form-intro.shift-autoapprove{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#eef2ff);box-shadow:0 16px 36px rgba(37,99,235,.08)}.nbm-ph-form-intro.shift-autoapprove b:before{content:'✓';display:inline-flex;width:24px;height:24px;border-radius:999px;align-items:center;justify-content:center;margin-right:8px;background:#dcfce7;color:#047857;font-weight:950}.nbm-ph-shift-import input[type=file]{display:block;width:100%;border:1px dashed #93c5fd;border-radius:18px;background:#f8fbff;padding:22px;margin-bottom:16px;font-weight:850;color:#1e40af}.nbm-ph-module-actions .nbm-ph-primary[data-module="approval_shift"]{background:#2952E3;color:#fff;box-shadow:0 12px 28px rgba(41,82,227,.18)}


/* v8.3.6 RBAC database-driven notices */
.nbm-ph-rbac-note{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:16px;padding:12px 14px;font-size:12px;font-weight:900;line-height:1.45}
.nbm-ph-rbac-note:before{content:'🔒';font-size:15px}

/* v8.4.0 Enterprise Foundation bridge */
.nbm-ph-kpi-grid{gap:10px}.nbm-ph-kpi-card{min-height:72px;padding:13px 15px;border-radius:18px}.nbm-ph-kpi-icon{width:34px;height:34px;margin-bottom:7px}.nbm-ph-kpi-card strong{font-size:23px}.nbm-ph-kpi-card p{font-size:11px}.nbm-ph-table th{position:sticky;top:0;z-index:2}.nbm-ph-module-toolbar,.nbm-ph-card,.nbm-ph-table-wrap{border-color:var(--ph-border,#e2eaf5)}

/* v8.4.1 Approval Shift compact enterprise list */
.nbm-ph-approval-shift-wrap{border-radius:22px;overflow:auto;background:#fff;border:1px solid var(--nbm-line);box-shadow:0 14px 36px rgba(15,23,42,.055);padding:0}
.nbm-ph-approval-shift-table{min-width:1180px;font-size:11.5px}
.nbm-ph-approval-shift-table th{position:sticky;top:0;z-index:2;background:#fbfdff;color:#334155;font-size:9.5px;letter-spacing:.1em;padding:10px 11px;white-space:nowrap}
.nbm-ph-approval-shift-table td{padding:10px 11px;vertical-align:middle;max-width:210px;line-height:1.35}
.nbm-ph-approval-shift-table td[data-key="alasan"]{max-width:260px;color:#475569}
.nbm-ph-approval-shift-table td[data-key="approved_by"]{max-width:220px;color:#334155;font-weight:750}
.nbm-ph-approval-shift-table td[data-key="nama"]{font-weight:950;color:#0f172a;min-width:150px}
.nbm-ph-approval-shift-table .nbm-ph-email-cell{font-size:10.5px;color:#64748b;word-break:break-all;font-weight:750}
.nbm-ph-approval-shift-table .nbm-ph-actions{min-width:160px;gap:5px;justify-content:flex-start}
.nbm-ph-approval-shift-table .nbm-ph-actions button{padding:7px 9px;font-size:10px;border-radius:10px}
.nbm-ph-approval-shift-table .nbm-ph-sticky-action{position:sticky;right:0;background:linear-gradient(90deg,rgba(255,255,255,.88),#fff 22%);z-index:1;box-shadow:-12px 0 18px rgba(15,23,42,.04)}
.nbm-ph-approval-shift-table tr:hover .nbm-ph-sticky-action{background:linear-gradient(90deg,rgba(248,251,255,.88),#f8fbff 22%)}


/* v8.4.2 Enterprise Layout Engine: independent sidebar/content scrolling */
:root{
  --ph-layout-offset-top:70px;
  --ph-scrollbar-track:rgba(226,232,240,.55);
  --ph-scrollbar-thumb:rgba(100,116,139,.42);
  --ph-scrollbar-thumb-hover:rgba(71,85,105,.62);
}
.nbm-ph-admin-wrap{
  height:calc(100vh - var(--ph-layout-offset-top));
  overflow:hidden!important;
}
.nbm-ph-admin-wrap .nbm-ph-shell{
  height:100%;
  min-height:0!important;
  overflow:hidden!important;
}
.nbm-ph-shell{
  min-height:0!important;
  overflow:hidden!important;
}
.nbm-ph-sidebar{
  height:100%;
  min-height:0;
  overflow:hidden;
  position:relative;
}
.nbm-ph-brand{
  flex:0 0 auto;
}
.nbm-ph-nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding-right:6px;
}
.nbm-ph-main{
  height:100%;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  position:relative;
}
.nbm-ph-topbar{
  position:sticky;
  top:0;
  z-index:30;
  margin:-26px -28px 18px;
  padding:24px 28px 16px;
  background:linear-gradient(180deg,rgba(247,249,252,.98),rgba(247,249,252,.90));
  backdrop-filter:blur(16px);
  border-bottom:1px solid transparent;
  transition:box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.nbm-ph-main.is-scrolled .nbm-ph-topbar{
  border-bottom-color:rgba(226,232,240,.92);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.nbm-ph-ew-command,
.nbm-ph-module-toolbar,
.ph-enterprise-toolbar,
.nbm-ph-filterbar{
  position:sticky!important;
  top:78px!important;
  z-index:22;
  backdrop-filter:blur(12px);
}
.nbm-ph-table-wrap,
.ph-table-scroll{
  max-height:calc(100vh - 330px);
  overflow:auto!important;
  overscroll-behavior:contain;
}
.nbm-ph-table th,
.ph-table th{
  position:sticky!important;
  top:0!important;
  z-index:5;
  box-shadow:0 1px 0 rgba(226,232,240,.9);
}
.nbm-ph-detail-drawer,
.ph-drawer{
  overflow:hidden!important;
}
.nbm-ph-detail-box,
.ph-drawer-panel{
  max-height:100vh!important;
  overflow:hidden!important;
}
.nbm-ph-detail-body,
.nbm-ph-employee-drawer-body,
.ph-drawer-body{
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.nbm-ph-main::-webkit-scrollbar,
.nbm-ph-nav::-webkit-scrollbar,
.nbm-ph-table-wrap::-webkit-scrollbar,
.ph-table-scroll::-webkit-scrollbar,
.nbm-ph-detail-body::-webkit-scrollbar,
.nbm-ph-employee-drawer-body::-webkit-scrollbar,
.ph-drawer-body::-webkit-scrollbar{width:8px;height:8px}
.nbm-ph-main::-webkit-scrollbar-track,
.nbm-ph-nav::-webkit-scrollbar-track,
.nbm-ph-table-wrap::-webkit-scrollbar-track,
.ph-table-scroll::-webkit-scrollbar-track,
.nbm-ph-detail-body::-webkit-scrollbar-track,
.nbm-ph-employee-drawer-body::-webkit-scrollbar-track,
.ph-drawer-body::-webkit-scrollbar-track{background:var(--ph-scrollbar-track);border-radius:999px}
.nbm-ph-main::-webkit-scrollbar-thumb,
.nbm-ph-nav::-webkit-scrollbar-thumb,
.nbm-ph-table-wrap::-webkit-scrollbar-thumb,
.ph-table-scroll::-webkit-scrollbar-thumb,
.nbm-ph-detail-body::-webkit-scrollbar-thumb,
.nbm-ph-employee-drawer-body::-webkit-scrollbar-thumb,
.ph-drawer-body::-webkit-scrollbar-thumb{background:var(--ph-scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.nbm-ph-main::-webkit-scrollbar-thumb:hover,
.nbm-ph-nav::-webkit-scrollbar-thumb:hover,
.nbm-ph-table-wrap::-webkit-scrollbar-thumb:hover,
.ph-table-scroll::-webkit-scrollbar-thumb:hover,
.nbm-ph-detail-body::-webkit-scrollbar-thumb:hover,
.nbm-ph-employee-drawer-body::-webkit-scrollbar-thumb:hover,
.ph-drawer-body::-webkit-scrollbar-thumb:hover{background:var(--ph-scrollbar-thumb-hover);background-clip:padding-box}
.nbm-ph-main,.nbm-ph-nav,.nbm-ph-table-wrap,.ph-table-scroll,.nbm-ph-detail-body,.nbm-ph-employee-drawer-body,.ph-drawer-body{scrollbar-width:thin;scrollbar-color:var(--ph-scrollbar-thumb) var(--ph-scrollbar-track)}
@media(max-width:1100px){
  .nbm-ph-admin-wrap{height:auto;overflow:visible!important}.nbm-ph-admin-wrap .nbm-ph-shell,.nbm-ph-shell{height:auto;min-height:calc(100vh - 70px)!important;overflow:visible!important}.nbm-ph-sidebar{height:auto;overflow:visible}.nbm-ph-main{height:auto;overflow:visible!important}.nbm-ph-topbar{position:relative;top:auto;margin:0 0 18px;padding:0;background:transparent;box-shadow:none!important;border-bottom:0}.nbm-ph-ew-command,.nbm-ph-module-toolbar,.ph-enterprise-toolbar,.nbm-ph-filterbar{position:relative!important;top:auto!important}.nbm-ph-table-wrap,.ph-table-scroll{max-height:none}
}
@media(max-width:782px){:root{--ph-layout-offset-top:46px}}


/* v8.4.4 Enterprise Filter Layout Fix
   Prevent Approval Shift filters/source badge from overlapping table details while content scrolls independently. */
.nbm-ph-tools-approval-shift{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
  padding:0 2px;
  position:relative;
  z-index:18;
}
.nbm-ph-tools-approval-shift .nbm-ph-search{
  width:min(420px,100%);
  min-width:280px;
}
.nbm-ph-source-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  margin:-4px 0 14px;
  min-height:24px;
  position:relative;
  z-index:12;
}
.nbm-ph-source-row .nbm-ph-badge{
  max-width:100%;
  white-space:normal;
  text-align:right;
  line-height:1.35;
}
.nbm-ph-filterbar{
  position:relative!important;
  top:auto!important;
  z-index:16;
  margin:12px 0 14px;
  align-items:flex-end;
  isolation:isolate;
}
.nbm-ph-filterbar .nbm-ph-filter,
.nbm-ph-filterbar label{
  margin:0;
}
.nbm-ph-filterbar select,
.nbm-ph-filterbar input{
  position:relative;
  z-index:1;
}
.nbm-ph-approval-shift-wrap{
  clear:both;
  margin-top:0!important;
  max-height:calc(100vh - 390px);
  position:relative;
  z-index:1;
}
.nbm-ph-approval-shift-wrap .nbm-ph-table th,
.nbm-ph-approval-shift-table th{
  top:0!important;
  z-index:7!important;
}
.nbm-ph-module-actions{
  position:relative;
  z-index:19;
}
.nbm-ph-module-actions + .nbm-ph-tools-approval-shift{
  margin-top:2px;
}
@media(max-width:780px){
  .nbm-ph-tools-approval-shift{display:grid;gap:10px}.nbm-ph-tools-approval-shift .nbm-ph-search{width:100%;min-width:0}.nbm-ph-source-row{justify-content:flex-start;text-align:left}.nbm-ph-approval-shift-wrap{max-height:none}
}


/* v8.4.5 Shift Planner Enterprise */
.nbm-ph-shift-planner-drawer .nbm-ph-form-section{border:1px solid var(--nbm-border,#dbe7f7);border-radius:18px;padding:18px;margin:0 0 16px;background:linear-gradient(180deg,#fff,#f8fbff)}
.nbm-ph-shift-planner-drawer .nbm-ph-form-section h4{margin:0 0 14px;font-size:15px;font-weight:900;color:#0f172a;letter-spacing:.01em}
.nbm-ph-shift-planner-drawer .nbm-ph-alert{margin:14px 0}
.nbm-ph-shift-planner-drawer .nbm-ph-import-preview{margin:12px 0 84px}
.nbm-ph-shift-planner-drawer select,.nbm-ph-shift-planner-drawer input[type=date]{min-height:44px;border-radius:14px;border:1px solid #c9d8ee;background:#fff;padding:0 14px;font-weight:700;color:#0f172a}
.nbm-ph-shift-planner-drawer .nbm-ph-field-help{display:block;margin-top:7px;color:#64748b;font-size:11px;line-height:1.4}


/* v8.4.7 Approval Enterprise */
.nbm-ph-row-updated{animation:nbmRowApproved 1.2s ease both;}
@keyframes nbmRowApproved{0%{background:#eff6ff;}55%{background:#ecfdf5;}100%{background:transparent;}}
.nbm-ph-approval-summary{margin-bottom:16px;}
.nbm-ph-payroll-box.amber{border-color:#fed7aa;background:#fff7ed;}
.nbm-ph-payroll-box.green{border-color:#bbf7d0;background:#f0fdf4;}
.nbm-ph-payroll-box.red{border-color:#fecdd3;background:#fff1f2;}
.nbm-ph-approval-timeline{border:1px solid var(--nbm-border,#dbe7f6);border-radius:18px;padding:18px;margin-bottom:18px;background:linear-gradient(180deg,#fff,#f8fbff);}
.nbm-ph-timeline-item{position:relative;padding:10px 12px 10px 28px;border-left:2px solid #dbe7f6;margin-left:8px;}
.nbm-ph-timeline-item:before{content:"";position:absolute;left:-7px;top:18px;width:12px;height:12px;border-radius:999px;background:#93a4bd;border:3px solid #fff;box-shadow:0 0 0 1px #dbe7f6;}
.nbm-ph-timeline-item b{display:block;font-size:13px;color:#0f172a;}
.nbm-ph-timeline-item span{display:block;font-size:12px;color:#64748b;margin-top:2px;}
.nbm-ph-timeline-item.done:before{background:#3b82f6;}
.nbm-ph-timeline-item.approved:before{background:#22c55e;}
.nbm-ph-timeline-item.rejected:before{background:#ef4444;}
.nbm-ph-timeline-item.pending:before{background:#f59e0b;}

/* v8.4.9 Approval Lembur Enterprise table */
.nbm-ph-approval-lembur-wrap{overflow:auto;border-radius:18px;border:1px solid var(--nbm-border,#dbe7f7);background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.06)}
.nbm-ph-approval-lembur-table{min-width:1900px}
.nbm-ph-approval-lembur-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#475569;background:#f8fbff;white-space:nowrap}
.nbm-ph-approval-lembur-table td{vertical-align:middle;white-space:nowrap}
.nbm-ph-approval-lembur-table td[data-key="alasan"]{min-width:220px;max-width:320px;white-space:normal;line-height:1.45}
.nbm-ph-reason-cell{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#334155}
.nbm-ph-duration-cell{font-variant-numeric:tabular-nums;color:#0f172a}
.nbm-ph-overtime-type{background:#eef2ff;color:#1d4ed8;border-color:#c7d2fe}
.nbm-ph-photo-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.nbm-ph-email-cell{display:inline-block;max-width:180px;white-space:normal;word-break:break-all;line-height:1.35;color:#334155}


/* =========================================================
   v8.5.0 Enterprise Responsive UI Update
   Low-resolution monitor optimization: compact header, compact
   toolbar/filter/table density, less vertical duplication.
   ========================================================= */
:root{
  --ph-compact-radius:16px;
  --ph-compact-gap:10px;
  --ph-topbar-h:58px;
  --ph-toolbar-h:44px;
}
html,body{scroll-behavior:smooth;}
.nbm-ph-admin-wrap{margin:8px 10px 0 0!important;}
.nbm-ph-admin-wrap .nbm-ph-shell,
.nbm-ph-shell{
  grid-template-columns:248px minmax(0,1fr)!important;
  height:calc(100vh - 42px)!important;
  min-height:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.nbm-ph-sidebar{
  height:100%!important;
  padding:14px 12px!important;
  gap:12px!important;
  overflow:hidden!important;
}
.nbm-ph-brand{padding-bottom:12px!important;gap:10px!important;}
.nbm-ph-brand-mark{width:38px!important;height:38px!important;border-radius:13px!important;font-size:12px!important;}
.nbm-ph-brand strong{font-size:13px!important;line-height:1.15!important;}
.nbm-ph-brand span{font-size:10px!important;margin-top:2px!important;}
.nbm-ph-nav{height:calc(100vh - 130px)!important;overflow:auto!important;gap:4px!important;padding-right:2px!important;}
.nbm-ph-nav-item{min-height:38px!important;padding:9px 10px!important;border-radius:12px!important;font-size:12px!important;}
.nbm-ph-nav-item span{width:21px!important;}
.nbm-ph-main{
  height:100%!important;
  overflow:auto!important;
  padding:12px 14px 16px!important;
  background:linear-gradient(180deg,#f8fbff,#f3f6fb)!important;
}
.nbm-ph-topbar{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  min-height:var(--ph-topbar-h)!important;
  margin:0 0 10px!important;
  padding:7px 0 8px!important;
  align-items:center!important;
  background:rgba(248,251,255,.94)!important;
  border-bottom:1px solid rgba(219,231,247,.72)!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.045)!important;
}
.nbm-ph-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:4px 9px!important;
  border:1px solid #dbe7ff!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  font-size:9px!important;
  letter-spacing:.10em!important;
  line-height:1!important;
}
.nbm-ph-topbar h1{
  font-size:22px!important;
  line-height:1.08!important;
  margin:5px 0 0!important;
  letter-spacing:-.75px!important;
}
.nbm-ph-top-actions{display:flex!important;align-items:center!important;gap:8px!important;}
.nbm-ph-icon-btn{width:36px!important;height:36px!important;border-radius:13px!important;}
.nbm-ph-user-pill{
  min-width:0!important;
  width:auto!important;
  max-width:280px!important;
  height:42px!important;
  padding:6px 10px!important;
  border-radius:16px!important;
  gap:9px!important;
}
.nbm-ph-user-pill .nbm-ph-avatar,
.nbm-ph-avatar{width:32px!important;height:32px!important;border-radius:12px!important;font-size:12px!important;}
.nbm-ph-user-copy b{font-size:12px!important;line-height:1.05!important;}
.nbm-ph-user-copy small{font-size:10px!important;max-width:190px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;}
.nbm-ph-profile-dropdown{top:44px!important;}

/* Replace large blue hero with a compact subheader. Keep title in topbar only. */
.nbm-ph-hero,
.nbm-ph-hero.compact{
  min-height:48px!important;
  border-radius:var(--ph-compact-radius)!important;
  padding:10px 14px!important;
  margin:0 0 10px!important;
  box-shadow:0 10px 26px rgba(41,82,227,.14)!important;
  display:flex!important;
  align-items:center!important;
}
.nbm-ph-hero h2,
.nbm-ph-hero.compact h2{display:none!important;}
.nbm-ph-hero p,
.nbm-ph-hero.compact p{font-size:12px!important;line-height:1.25!important;font-weight:800!important;color:#eaf1ff!important;}
.nbm-ph-hero .nbm-ph-primary,
.nbm-ph-hero.compact .nbm-ph-primary{height:34px!important;padding:8px 12px!important;border-radius:12px!important;font-size:11px!important;}

/* One compact action/toolbar row. */
.nbm-ph-module-toolbar,
.nbm-ph-module-actions,
.ph-enterprise-toolbar,
.nbm-ph-ew-command{
  border-radius:var(--ph-compact-radius)!important;
  padding:8px 10px!important;
  margin:0 0 8px!important;
  gap:7px!important;
  min-height:44px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}
.nbm-ph-module-toolbar button,
.nbm-ph-module-actions button,
.ph-enterprise-toolbar button,
.nbm-ph-primary,.nbm-ph-secondary,.nbm-ph-danger,.nbm-ph-success,.nbm-ph-ghost{
  min-height:34px!important;
  padding:8px 11px!important;
  border-radius:12px!important;
  font-size:11px!important;
  line-height:1!important;
}
.nbm-ph-search,
.nbm-ph-select,
.nbm-ph-module-toolbar input,
.nbm-ph-module-toolbar select,
.nbm-ph-filterbar input,
.nbm-ph-filterbar select{
  height:34px!important;
  min-height:34px!important;
  padding:7px 10px!important;
  border-radius:12px!important;
  font-size:12px!important;
}
.nbm-ph-tools,.nbm-ph-tools-approval-shift{margin:0 0 8px!important;gap:8px!important;}
.nbm-ph-source-row{margin:-2px 0 8px!important;min-height:18px!important;}
.nbm-ph-source-row .nbm-ph-badge{font-size:9px!important;padding:4px 8px!important;}

/* Compact KPI / statistic cards. */
.nbm-ph-kpi-grid,.nbm-ph-payroll-grid,.nbm-ph-ew-stats.compact{
  gap:8px!important;
  margin-bottom:8px!important;
}
.nbm-ph-kpi-card,
.nbm-ph-payroll-box,
.nbm-ph-ew-stats.compact div{
  min-height:56px!important;
  padding:10px 12px!important;
  border-radius:var(--ph-compact-radius)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}
.nbm-ph-kpi-icon{width:28px!important;height:28px!important;border-radius:10px!important;margin-bottom:6px!important;}
.nbm-ph-kpi-card strong,.nbm-ph-payroll-box strong,.nbm-ph-ew-stats.compact b{font-size:19px!important;line-height:1.1!important;}
.nbm-ph-kpi-card p,.nbm-ph-payroll-box h4,.nbm-ph-ew-stats.compact small{font-size:10px!important;margin-top:2px!important;}

/* Compact filter bars. */
.nbm-ph-filterbar,
.nbm-ph-ew-filterbar{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  gap:8px!important;
  padding:9px 10px!important;
  margin:0 0 8px!important;
  border-radius:var(--ph-compact-radius)!important;
  background:#f8fbff!important;
}
.nbm-ph-filterbar .nbm-ph-filter,
.nbm-ph-filterbar label,
.nbm-ph-ew-filterbar .nbm-ph-filter{
  min-width:170px!important;
  flex:0 1 210px!important;
  gap:4px!important;
}
.nbm-ph-filterbar span,
.nbm-ph-ew-filterbar span,
.nbm-ph-module-toolbar label{font-size:9.5px!important;letter-spacing:.07em!important;}

/* Tables: maximize visible rows on 1366x768 / low-res screens. */
.nbm-ph-table-wrap,
.ph-table-scroll,
.nbm-ph-approval-shift-wrap,
.nbm-ph-approval-lembur-wrap{
  border-radius:var(--ph-compact-radius)!important;
  padding:0!important;
  max-height:calc(100vh - 220px)!important;
  min-height:280px!important;
  box-shadow:0 10px 28px rgba(15,23,42,.045)!important;
}
.nbm-ph-table{font-size:11px!important;}
.nbm-ph-table th,
.nbm-ph-approval-lembur-table th{
  position:sticky!important;
  top:0!important;
  z-index:9!important;
  padding:8px 10px!important;
  height:34px!important;
  font-size:9px!important;
  line-height:1.15!important;
  background:#f8fbff!important;
}
.nbm-ph-table td,
.nbm-ph-approval-lembur-table td{
  padding:8px 10px!important;
  height:42px!important;
  line-height:1.35!important;
}
.nbm-ph-badge{padding:4px 8px!important;font-size:9px!important;line-height:1!important;}
.nbm-ph-actions{gap:5px!important;align-items:center!important;}
.nbm-ph-actions button{padding:6px 9px!important;border-radius:10px!important;font-size:10px!important;min-height:30px!important;}
.nbm-ph-email-cell{max-width:150px!important;font-size:10.5px!important;}
.nbm-ph-reason-cell{-webkit-line-clamp:1!important;max-width:240px!important;}

/* Drawers and modals: fit low-height screens. */
.nbm-ph-detail-box{max-height:96vh!important;height:min(96vh,100vh)!important;border-radius:18px 0 0 18px!important;}
.nbm-ph-detail-head,
.nbm-ph-detail-head.v823{padding:14px 18px!important;min-height:58px!important;}
.nbm-ph-detail-head h3,.nbm-ph-emp-profile h3{font-size:18px!important;line-height:1.15!important;}
.nbm-ph-detail-head p,.nbm-ph-emp-profile p{font-size:11px!important;margin-top:2px!important;}
.nbm-ph-detail-body,.nbm-ph-employee-drawer-body{padding:14px 18px!important;}
.nbm-ph-tabs.icon-tabs{padding:8px 14px 0!important;}
.nbm-ph-tabs.icon-tabs button{padding:6px 4px 9px!important;font-size:9px!important;}
.nbm-ph-tabpanes{padding:14px 18px 82px!important;}
.nbm-ph-form-actions.sticky.employee-actions{padding:10px 18px!important;}

/* Density improvements for low-height laptops. */
@media(max-height:820px){
  .nbm-ph-admin-wrap .nbm-ph-shell,.nbm-ph-shell{height:calc(100vh - 34px)!important;border-radius:14px!important;}
  .nbm-ph-main{padding:8px 10px 12px!important;}
  .nbm-ph-topbar{min-height:50px!important;margin-bottom:7px!important;padding:5px 0!important;}
  .nbm-ph-eyebrow{font-size:8.5px!important;padding:3px 8px!important;min-height:18px!important;}
  .nbm-ph-topbar h1{font-size:20px!important;margin-top:3px!important;}
  .nbm-ph-hero,.nbm-ph-hero.compact{min-height:40px!important;padding:8px 12px!important;margin-bottom:7px!important;}
  .nbm-ph-hero p,.nbm-ph-hero.compact p{font-size:11px!important;}
  .nbm-ph-module-toolbar,.nbm-ph-module-actions,.ph-enterprise-toolbar,.nbm-ph-ew-command{min-height:38px!important;padding:6px 8px!important;margin-bottom:6px!important;}
  .nbm-ph-filterbar,.nbm-ph-ew-filterbar{padding:7px 8px!important;margin-bottom:6px!important;}
  .nbm-ph-table-wrap,.ph-table-scroll,.nbm-ph-approval-shift-wrap,.nbm-ph-approval-lembur-wrap{max-height:calc(100vh - 185px)!important;}
  .nbm-ph-table td,.nbm-ph-approval-lembur-table td{height:38px!important;padding:6px 9px!important;}
}

@media(max-width:1400px){
  .nbm-ph-admin-wrap .nbm-ph-shell{width:calc(100vw - 26px)!important;}
  .nbm-ph-shell{grid-template-columns:232px minmax(0,1fr)!important;}
  .nbm-ph-user-copy small{max-width:150px!important;}
}
@media(max-width:1100px){
  .nbm-ph-admin-wrap .nbm-ph-shell,.nbm-ph-shell{grid-template-columns:1fr!important;height:auto!important;overflow:visible!important;}
  .nbm-ph-sidebar{height:auto!important;}
  .nbm-ph-nav{height:auto!important;}
  .nbm-ph-main{height:auto!important;overflow:visible!important;}
  .nbm-ph-hero h2,.nbm-ph-hero.compact h2{display:block!important;font-size:18px!important;}
}


/* =========================================================
   PeopleHub ERP v8.5.1 - Enterprise Typography Density
   Normalized readable font scale for low-resolution monitors.
   ========================================================= */
.nbm-ph-shell{font-size:13px!important;line-height:1.38!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.nbm-ph-main{font-size:13px!important;}
.nbm-ph-topbar h1{font-size:21px!important;line-height:1.12!important;letter-spacing:-.55px!important;margin:3px 0 0!important;font-weight:900!important;}
.nbm-ph-eyebrow{font-size:9px!important;line-height:1!important;letter-spacing:.12em!important;font-weight:900!important;}
.nbm-ph-hero h2,.nbm-ph-hero.compact h2{font-size:18px!important;line-height:1.18!important;letter-spacing:-.45px!important;margin:0 0 4px!important;font-weight:900!important;}
.nbm-ph-hero p,.nbm-ph-hero.compact p{font-size:12px!important;line-height:1.35!important;font-weight:700!important;}
.nbm-ph-card h3,.nbm-ph-section-title{font-size:15px!important;line-height:1.25!important;letter-spacing:-.15px!important;}
.nbm-ph-detail-head h3,.nbm-ph-emp-profile h3{font-size:18px!important;line-height:1.18!important;letter-spacing:-.35px!important;}
.nbm-ph-detail-head p,.nbm-ph-emp-profile p{font-size:11px!important;line-height:1.35!important;}
.nbm-ph-brand strong{font-size:12.5px!important;line-height:1.15!important;}
.nbm-ph-brand span{font-size:9.5px!important;line-height:1.25!important;}
.nbm-ph-user-copy b,.nbm-ph-user-pill span{font-size:11.5px!important;line-height:1.1!important;}
.nbm-ph-user-copy small,.nbm-ph-user-pill small{font-size:9.5px!important;line-height:1.2!important;}
.nbm-ph-nav-item{font-size:11.5px!important;line-height:1.15!important;}
.nbm-ph-primary,.nbm-ph-secondary,.nbm-ph-danger,.nbm-ph-success,.nbm-ph-ghost{font-size:11px!important;line-height:1!important;font-weight:850!important;}
.nbm-ph-module-toolbar label{font-size:9.5px!important;line-height:1!important;letter-spacing:.08em!important;}
.nbm-ph-module-toolbar input,.nbm-ph-select,.nbm-ph-search,.nbm-ph-edit-form input,.nbm-ph-edit-form select,.nbm-ph-edit-form textarea{font-size:12px!important;line-height:1.25!important;}
.nbm-ph-table{font-size:11px!important;line-height:1.35!important;}
.nbm-ph-table th,.nbm-ph-approval-shift-table th,.nbm-ph-approval-lembur-table th{font-size:9px!important;line-height:1.15!important;letter-spacing:.075em!important;font-weight:900!important;}
.nbm-ph-table td{font-size:11px!important;line-height:1.35!important;font-weight:650!important;}
.nbm-ph-email-cell{font-size:10px!important;line-height:1.25!important;font-weight:650!important;}
.nbm-ph-badge{font-size:9px!important;line-height:1!important;font-weight:900!important;}
.nbm-ph-actions button{font-size:10px!important;line-height:1!important;font-weight:900!important;}
.nbm-ph-kpi-card strong,.nbm-ph-payroll-box strong,.nbm-ph-ew-stats.compact b{font-size:18px!important;line-height:1.05!important;letter-spacing:-.45px!important;}
.nbm-ph-kpi-card p,.nbm-ph-payroll-box h4,.nbm-ph-ew-stats.compact small{font-size:9.5px!important;line-height:1.15!important;letter-spacing:.06em!important;}
.nbm-ph-muted,.nbm-ph-virtual-status,.nbm-ph-page-size{font-size:11px!important;line-height:1.3!important;}
.nbm-ph-line small,.nbm-ph-timeline-item span,.nbm-ph-field-help{font-size:10.5px!important;line-height:1.35!important;}
.nbm-ph-line b,.nbm-ph-timeline-item b{font-size:12px!important;line-height:1.25!important;}
.nbm-ph-tabs.icon-tabs button{font-size:9px!important;line-height:1.1!important;font-weight:850!important;}
.nbm-ph-empty,.nbm-ph-loading{font-size:12px!important;line-height:1.4!important;}
.nbm-ph-toast{font-size:12px!important;line-height:1.35!important;}
.ph-enterprise-title{font-size:21px!important;line-height:1.12!important;letter-spacing:-.55px!important;}
.ph-enterprise-subtitle{font-size:12px!important;line-height:1.35!important;}
@media(max-width:1366px){
  .nbm-ph-shell{font-size:12.5px!important;}
  .nbm-ph-topbar h1{font-size:20px!important;}
  .nbm-ph-hero h2,.nbm-ph-hero.compact h2{font-size:17px!important;}
  .nbm-ph-table td{font-size:10.5px!important;}
  .nbm-ph-table th{font-size:8.8px!important;}
}


/* =========================================================
   PeopleHub ERP v8.5.9 Enterprise Soft Theme Final
   Premium density, low-res friendly, resizable columns.
   ========================================================= */
:root{
  --ph-soft-bg:#F6F8FC;
  --ph-soft-surface:#FFFFFF;
  --ph-soft-surface-2:#FAFCFF;
  --ph-soft-line:#DDE7F3;
  --ph-soft-line-2:#EEF3F8;
  --ph-soft-ink:#111827;
  --ph-soft-muted:#667085;
  --ph-soft-primary:#2F5BEA;
  --ph-soft-primary-2:#2447C6;
  --ph-soft-primary-soft:#EAF0FF;
  --ph-soft-shadow:0 10px 28px rgba(15,23,42,.055);
  --ph-soft-shadow-hover:0 16px 34px rgba(15,23,42,.08);
  --ph-soft-radius:16px;
  --ph-soft-radius-lg:20px;
}
html,body{background:var(--ph-soft-bg)!important;color:var(--ph-soft-ink)!important;}
.nbm-ph-shell{
  background:linear-gradient(180deg,#F8FAFF 0%,#F3F6FB 100%)!important;
  border-color:var(--ph-soft-line)!important;
  border-radius:22px!important;
  box-shadow:0 18px 46px rgba(15,23,42,.08)!important;
}
.nbm-ph-main{padding:16px 18px!important;background:var(--ph-soft-bg)!important;}
.nbm-ph-sidebar{padding:16px 14px!important;background:linear-gradient(180deg,#111827 0%,#0B1220 100%)!important;}
.nbm-ph-brand{padding-bottom:13px!important;gap:10px!important;}
.nbm-ph-brand-mark{width:42px!important;height:42px!important;border-radius:14px!important;}
.nbm-ph-brand strong{font-size:13px!important;letter-spacing:-.2px!important;}
.nbm-ph-brand span{font-size:10px!important;line-height:1.25!important;}
.nbm-ph-nav{gap:4px!important;}
.nbm-ph-nav-item{padding:9px 10px!important;border-radius:13px!important;font-size:12px!important;}
.nbm-ph-nav-item span{width:20px!important;}
.nbm-ph-nav-item.active{box-shadow:0 10px 22px rgba(0,0,0,.18)!important;}
.nbm-ph-topbar{margin-bottom:10px!important;align-items:center!important;}
.nbm-ph-eyebrow{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:4px 10px!important;border:1px solid #D9E5FF!important;border-radius:999px!important;background:#F2F6FF!important;font-size:9.5px!important;letter-spacing:.12em!important;color:#2554D9!important;}
.nbm-ph-topbar h1{font-size:23px!important;line-height:1.1!important;margin:7px 0 0!important;letter-spacing:-.65px!important;font-weight:900!important;}
.nbm-ph-top-actions{gap:8px!important;align-items:center!important;}
.nbm-ph-icon-btn,.nbm-ph-kbd{width:36px!important;height:36px!important;border-radius:13px!important;box-shadow:var(--ph-soft-shadow)!important;}
.nbm-ph-user-pill{min-width:210px!important;padding:8px 10px!important;border-radius:15px!important;box-shadow:var(--ph-soft-shadow)!important;}
.nbm-ph-user-pill span{font-size:12px!important;}
.nbm-ph-user-pill small{font-size:10px!important;}
.nbm-ph-hero{
  min-height:76px!important;
  padding:16px 18px!important;
  margin-bottom:12px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#3162E8 0%,#2548BD 100%)!important;
  box-shadow:0 16px 36px rgba(47,91,234,.18)!important;
}
.nbm-ph-hero h2{font-size:20px!important;line-height:1.12!important;margin:0 0 5px!important;letter-spacing:-.5px!important;}
.nbm-ph-hero p{font-size:12px!important;line-height:1.35!important;font-weight:650!important;}
.nbm-ph-card,.nbm-ph-table-wrap,.nbm-ph-module-toolbar,.ph-card,.ph-table-shell,.ph-enterprise-toolbar{
  background:var(--ph-soft-surface)!important;
  border-color:var(--ph-soft-line)!important;
  border-radius:var(--ph-soft-radius-lg)!important;
  box-shadow:var(--ph-soft-shadow)!important;
}
.nbm-ph-card,.nbm-ph-table-wrap,.nbm-ph-module-toolbar{padding:12px!important;}
.nbm-ph-module-toolbar{gap:8px!important;margin-bottom:10px!important;}
.nbm-ph-module-toolbar label{font-size:10px!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#5B6B82!important;}
.nbm-ph-tools{gap:8px!important;margin-bottom:8px!important;}
.nbm-ph-search,.nbm-ph-select,.nbm-ph-module-toolbar input,.nbm-ph-module-toolbar select,.ph-input,.ph-select{
  min-height:36px!important;
  height:36px!important;
  border-radius:12px!important;
  border-color:#CBD8E7!important;
  background:#FFFFFF!important;
  font-size:12px!important;
  font-weight:650!important;
  color:#162033!important;
  padding:7px 10px!important;
}
.nbm-ph-search{min-width:260px!important;}
.nbm-ph-primary,.nbm-ph-secondary,.nbm-ph-danger,.nbm-ph-success,.nbm-ph-ghost,.ph-btn{
  min-height:36px!important;
  height:36px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  font-size:11px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.nbm-ph-secondary,.ph-btn-secondary{background:#EAF0FF!important;color:#2447C6!important;}
.nbm-ph-primary,.ph-btn-primary{background:#2F5BEA!important;color:#fff!important;}
.nbm-ph-danger,.ph-btn-danger{background:#FFE4EA!important;color:#BE123C!important;}
.nbm-ph-success{background:#E4FBEF!important;color:#047857!important;}
.nbm-ph-kpi-grid,.ph-stat-grid{gap:8px!important;margin-bottom:10px!important;}
.nbm-ph-kpi-card,.ph-stat{
  min-height:58px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  box-shadow:var(--ph-soft-shadow)!important;
  border-color:var(--ph-soft-line)!important;
}
.nbm-ph-kpi-card strong,.ph-stat b{font-size:20px!important;letter-spacing:-.5px!important;}
.nbm-ph-kpi-card p,.ph-stat small,.ph-stat span{font-size:10px!important;line-height:1.25!important;}
.nbm-ph-kpi-icon,.ph-stat-icon{width:30px!important;height:30px!important;border-radius:12px!important;margin-bottom:8px!important;}
.nbm-ph-table-wrap,.ph-table-shell{padding:0!important;overflow:hidden!important;}
.nbm-ph-table-wrap{max-height:calc(100vh - 230px)!important;overflow:auto!important;}
.ph-table-scroll{max-height:calc(100vh - 230px)!important;}
.nbm-ph-table,.ph-table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:11.5px!important;
  table-layout:fixed;
}
.nbm-ph-table th,.ph-table th{
  position:sticky!important;
  top:0!important;
  z-index:4!important;
  background:#F6F9FD!important;
  color:#344054!important;
  border-bottom:1px solid #CDD9E8!important;
  border-right:1px solid #E8EEF6!important;
  padding:8px 10px!important;
  font-size:9.5px!important;
  line-height:1.18!important;
  letter-spacing:.055em!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nbm-ph-table td,.ph-table td{
  padding:8px 10px!important;
  border-bottom:1px solid #EAF0F7!important;
  border-right:1px solid #F0F4F9!important;
  color:#1F2937!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  vertical-align:middle!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nbm-ph-table tr:hover td,.ph-table tr:hover td{background:#F8FBFF!important;}
.nbm-ph-table tr:nth-child(even) td,.ph-table tr:nth-child(even) td{background:#FCFDFF;}
.nbm-ph-table tr:nth-child(even):hover td,.ph-table tr:nth-child(even):hover td{background:#F8FBFF!important;}
.nbm-ph-badge,.ph-badge{
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:9.5px!important;
  font-weight:900!important;
  line-height:1.1!important;
  border:1px solid rgba(15,23,42,.06)!important;
}
.nbm-ph-actions{gap:5px!important;align-items:center!important;}
.nbm-ph-actions button{min-height:30px!important;padding:0 9px!important;border-radius:10px!important;font-size:10.5px!important;}
.nbm-ph-detail-drawer{background:rgba(15,23,42,.36)!important;backdrop-filter:blur(5px)!important;}
.nbm-ph-detail-box,.ph-drawer-panel{border-radius:22px!important;box-shadow:0 28px 76px rgba(15,23,42,.22)!important;}
.nbm-ph-detail-head,.ph-drawer-head{padding:16px 18px!important;}
.nbm-ph-detail-head h3,.ph-drawer-head h3{font-size:19px!important;letter-spacing:-.45px!important;}
.nbm-ph-detail-head p,.ph-drawer-head p{font-size:12px!important;}
.nbm-ph-detail-body,.ph-drawer-body{padding:16px 18px!important;}
.ph-description-row{grid-template-columns:170px 1fr!important;padding:10px 12px!important;}
.ph-description-row dt{font-size:10px!important;}
.ph-description-row dd{font-size:12px!important;}
.nbm-ph-alert{padding:10px 12px!important;border-radius:14px!important;font-size:12px!important;}
.nbm-ph-empty,.nbm-ph-loading,.ph-empty{padding:24px!important;font-size:12px!important;}
.nbm-ph-toast,.ph-toast{border-radius:14px!important;padding:10px 12px!important;font-size:12px!important;box-shadow:0 14px 34px rgba(15,23,42,.22)!important;}
.nbm-ph-admin-wrap *::-webkit-scrollbar{width:8px;height:8px;}
.nbm-ph-admin-wrap *::-webkit-scrollbar-track{background:rgba(226,232,240,.55);border-radius:999px;}
.nbm-ph-admin-wrap *::-webkit-scrollbar-thumb{background:rgba(100,116,139,.38);border-radius:999px;border:2px solid transparent;background-clip:content-box;}
.nbm-ph-admin-wrap *::-webkit-scrollbar-thumb:hover{background:rgba(71,85,105,.58);border:2px solid transparent;background-clip:content-box;}
/* Column resize */
.nbm-ph-table th,.ph-table th{position:sticky!important;}
.ph-col-resize-handle{
  position:absolute;
  top:0;
  right:-3px;
  width:7px;
  height:100%;
  cursor:col-resize;
  user-select:none;
  z-index:10;
}
.ph-col-resize-handle:after{
  content:"";
  position:absolute;
  top:22%;
  bottom:22%;
  left:3px;
  width:1px;
  background:#C8D4E4;
  opacity:.55;
}
.nbm-ph-table th:hover .ph-col-resize-handle:after,.ph-table th:hover .ph-col-resize-handle:after{opacity:1;background:#2F5BEA;}
body.ph-is-resizing-col{cursor:col-resize!important;user-select:none!important;}
body.ph-is-resizing-col *{cursor:col-resize!important;}
@media(max-width:1366px){
  .nbm-ph-shell{grid-template-columns:245px 1fr!important;border-radius:18px!important;}
  .nbm-ph-main{padding:12px!important;}
  .nbm-ph-sidebar{padding:12px!important;}
  .nbm-ph-hero{padding:13px 15px!important;min-height:66px!important;border-radius:17px!important;}
  .nbm-ph-topbar h1{font-size:21px!important;}
  .nbm-ph-table-wrap,.ph-table-scroll{max-height:calc(100vh - 205px)!important;}
  .nbm-ph-table th,.ph-table th{padding:7px 8px!important;font-size:9px!important;}
  .nbm-ph-table td,.ph-table td{padding:7px 8px!important;font-size:11px!important;}
}
@media(max-width:980px){
  .nbm-ph-shell{grid-template-columns:1fr!important;}
  .nbm-ph-user-pill{min-width:0!important;width:100%!important;}
  .nbm-ph-search{min-width:0!important;width:100%!important;}
  .ph-description-row{grid-template-columns:1fr!important;}
}


/* =========================================================
   PeopleHub ERP v8.5.9 - Soft density + max-text columns
   Goal: calmer contrast, lighter typography, readable auto width.
   ========================================================= */
:root{
  --ph-text-soft:#334155;
  --ph-text-muted:#667085;
  --ph-text-subtle:#7c8aa0;
  --ph-line-soft:#e7edf5;
  --ph-head-soft:#f8fafc;
}
.nbm-ph-admin-wrap,
.nbm-ph-shell{
  color:var(--ph-text-soft)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.nbm-ph-admin-wrap b,
.nbm-ph-admin-wrap strong{
  font-weight:650!important;
}
.nbm-ph-topbar h1,
.nbm-ph-hero h2,
.nbm-ph-detail-head h3,
.ph-drawer-head h3{
  font-weight:720!important;
  color:#172033!important;
  letter-spacing:-.45px!important;
}
.nbm-ph-hero h2{color:#f8fbff!important;}
.nbm-ph-eyebrow,
.nbm-ph-section-title,
.nbm-ph-form-section h4{
  font-weight:680!important;
  letter-spacing:.075em!important;
  color:#46618a!important;
}
.nbm-ph-primary,
.nbm-ph-secondary,
.nbm-ph-danger,
.nbm-ph-success,
.nbm-ph-ghost,
.nbm-ph-actions button,
.nbm-ph-att-pagination button{
  font-weight:640!important;
  letter-spacing:.005em!important;
}
.nbm-ph-table-wrap,
.ph-table-shell,
.ph-table-scroll{
  overflow:auto!important;
}
.nbm-ph-table,
.ph-table{
  table-layout:auto!important;
  width:max-content!important;
  min-width:100%!important;
  font-size:11.5px!important;
}
.nbm-ph-table th,
.ph-table th{
  color:var(--ph-text-muted)!important;
  background:var(--ph-head-soft)!important;
  font-weight:650!important;
  letter-spacing:.045em!important;
  border-bottom:1px solid #d9e3f0!important;
  border-right:1px solid var(--ph-line-soft)!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.22!important;
}
.nbm-ph-table td,
.ph-table td{
  color:var(--ph-text-soft)!important;
  font-weight:500!important;
  border-bottom:1px solid #edf2f8!important;
  border-right:1px solid #f2f6fb!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.28!important;
}
.nbm-ph-table td small,
.ph-table td small,
.nbm-ph-muted,
.ph-muted{
  color:var(--ph-text-subtle)!important;
  font-weight:500!important;
}
.nbm-ph-table td b,
.ph-table td b,
.nbm-ph-table td strong,
.ph-table td strong{
  color:#1f2a3d!important;
  font-weight:620!important;
}
.nbm-ph-badge,
.ph-badge{
  font-weight:650!important;
  letter-spacing:.015em!important;
  color:#334155!important;
  background:#f1f5f9!important;
  border-color:#e2e8f0!important;
}
.nbm-ph-badge.ok,.ph-badge.ok{background:#ecfdf3!important;color:#087443!important;border-color:#bbf7d0!important;}
.nbm-ph-badge.warn,.ph-badge.warn{background:#fff7ed!important;color:#a15c07!important;border-color:#fed7aa!important;}
.nbm-ph-badge.danger,.ph-badge.danger{background:#fff1f2!important;color:#be123c!important;border-color:#fecdd3!important;}
.nbm-ph-kpi-card strong,.ph-stat b{font-weight:680!important;color:#18243a!important;}
.nbm-ph-kpi-card p,.ph-stat small,.ph-stat span{font-weight:560!important;color:#718096!important;}
.nbm-ph-module-toolbar label,
.nbm-ph-filter label,
.nbm-ph-edit-field span{
  font-weight:620!important;
  color:#667085!important;
}
.nbm-ph-module-toolbar input,
.nbm-ph-module-toolbar select,
.nbm-ph-select,
.nbm-ph-search,
.nbm-ph-edit-field input,
.nbm-ph-edit-field select,
.nbm-ph-edit-field textarea{
  color:#334155!important;
  font-weight:500!important;
  border-color:#dbe4ef!important;
}
.nbm-ph-user-pill span,
.nbm-ph-nav-item b{font-weight:640!important;}
.nbm-ph-nav-item{font-weight:520!important;color:#d6dee9!important;}
.nbm-ph-nav-item.active{color:#172033!important;}
.ph-col-resize-handle:after{background:#d5dfec!important;opacity:.70!important;}
.nbm-ph-table th:hover .ph-col-resize-handle:after,.ph-table th:hover .ph-col-resize-handle:after{background:#94a3b8!important;}
@media(max-width:1366px){
  .nbm-ph-table,.ph-table{font-size:11px!important;}
  .nbm-ph-table th,.ph-table th{font-size:9.25px!important;font-weight:650!important;}
  .nbm-ph-table td,.ph-table td{font-size:11px!important;font-weight:500!important;}
}


/* v8.5.12 Approval Absensi UX cleanup: single toolbar + sticky action column */
.nbm-ph-view[data-view="approval_absensi"] > .nbm-ph-module-toolbar,
.nbm-ph-module-toolbar[data-module-toolbar="approval_absensi"]{display:none!important;}
.nbm-ph-approval-absensi-wrap{border-radius:18px;overflow:auto;background:#fff;border:1px solid var(--nbm-line);box-shadow:0 12px 28px rgba(15,23,42,.045);padding:0!important;}
.nbm-ph-approval-absensi-table{min-width:1320px;font-size:11.5px;}
.nbm-ph-approval-absensi-table th{position:sticky!important;top:0!important;z-index:4!important;background:#fbfdff!important;white-space:nowrap!important;}
.nbm-ph-approval-absensi-table th:last-child,
.nbm-ph-approval-absensi-table .nbm-ph-sticky-action-head{position:sticky!important;right:0!important;z-index:7!important;background:#fbfdff!important;box-shadow:-10px 0 18px rgba(15,23,42,.055)!important;}
.nbm-ph-approval-absensi-table .nbm-ph-sticky-action{position:sticky!important;right:0!important;z-index:5!important;background:linear-gradient(90deg,rgba(255,255,255,.88),#fff 22%)!important;box-shadow:-10px 0 18px rgba(15,23,42,.045)!important;min-width:168px!important;white-space:nowrap!important;}
.nbm-ph-approval-absensi-table tr:hover .nbm-ph-sticky-action{background:linear-gradient(90deg,rgba(248,251,255,.88),#f8fbff 22%)!important;}
.nbm-ph-approval-absensi-table .nbm-ph-actions{display:flex!important;gap:6px!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;}
.nbm-ph-approval-absensi-table .nbm-ph-actions button{padding:7px 9px!important;font-size:10.5px!important;border-radius:10px!important;}
.nbm-ph-view[data-view="approval_absensi"] .nbm-ph-module-actions{margin-bottom:10px!important;}

/* v8.5.14 Approval compact unified columns */
.nbm-ph-view[data-view="approval_center"] > .nbm-ph-module-toolbar,
.nbm-ph-view[data-view="approval_izin"] > .nbm-ph-module-toolbar,
.nbm-ph-view[data-view="pengajuan_all"] > .nbm-ph-module-toolbar,
.nbm-ph-module-toolbar[data-module-toolbar="approval_center"],
.nbm-ph-module-toolbar[data-module-toolbar="approval_izin"],
.nbm-ph-module-toolbar[data-module-toolbar="pengajuan_all"]{display:none!important;}
.nbm-ph-approval-unified-wrap{border-radius:18px;overflow:auto;background:#fff;border:1px solid var(--nbm-line);box-shadow:0 12px 28px rgba(15,23,42,.04);padding:0!important;}
.nbm-ph-approval-unified-table{min-width:1680px;font-size:11.2px;table-layout:auto;}
.nbm-ph-approval-unified-table th{position:sticky!important;top:0!important;z-index:4!important;background:#fbfdff!important;white-space:nowrap!important;color:#526176!important;font-weight:650!important;letter-spacing:.055em!important;}
.nbm-ph-approval-unified-table td{white-space:nowrap!important;color:#334155!important;font-weight:500!important;vertical-align:middle!important;}
.nbm-ph-approval-unified-table td[data-key="nama"]{min-width:150px;font-weight:600!important;color:#1f2937!important;}
.nbm-ph-approval-unified-table td[data-key="email"]{min-width:190px;}
.nbm-ph-approval-unified-table td[data-key="jenis"]{min-width:150px;}
.nbm-ph-approval-unified-table td[data-key="status"]{min-width:190px;}
.nbm-ph-approval-unified-table td[data-key="current_step"]{min-width:118px;}
.nbm-ph-approval-unified-table td[data-key="alasan"]{min-width:220px;max-width:360px;white-space:normal!important;line-height:1.35!important;color:#475569!important;}
.nbm-ph-approval-unified-table td[data-key="cutoff"]{min-width:190px;}
.nbm-ph-approval-unified-table td[data-key="posisi"],
.nbm-ph-approval-unified-table td[data-key="departemen"]{min-width:130px;}
.nbm-ph-approval-unified-table th:last-child,
.nbm-ph-approval-unified-table .nbm-ph-sticky-action-head{position:sticky!important;right:0!important;z-index:7!important;background:#fbfdff!important;box-shadow:-10px 0 18px rgba(15,23,42,.045)!important;}
.nbm-ph-approval-unified-table .nbm-ph-sticky-action{position:sticky!important;right:0!important;z-index:5!important;background:linear-gradient(90deg,rgba(255,255,255,.9),#fff 24%)!important;box-shadow:-10px 0 18px rgba(15,23,42,.04)!important;min-width:160px!important;white-space:nowrap!important;}
.nbm-ph-approval-unified-table tr:hover .nbm-ph-sticky-action{background:linear-gradient(90deg,rgba(248,251,255,.9),#f8fbff 24%)!important;}
.nbm-ph-approval-unified-table .nbm-ph-actions{display:flex!important;gap:6px!important;flex-wrap:nowrap!important;align-items:center!important;}
.nbm-ph-approval-unified-table .nbm-ph-actions button{padding:7px 9px!important;font-size:10.5px!important;border-radius:10px!important;font-weight:600!important;}

/* v8.5.14 Sticky horizontal scrollbar + unified sticky actions */
.nbm-ph-table-wrap.nbm-ph-has-sticky-x{margin-bottom:12px!important;}
.nbm-ph-x-scroll-sticky{
  position:sticky;
  bottom:0;
  z-index:25;
  height:16px;
  overflow-x:auto;
  overflow-y:hidden;
  margin:-8px 0 12px;
  border:1px solid #dbe5f2;
  border-radius:999px;
  background:rgba(248,251,255,.96);
  box-shadow:0 -8px 24px rgba(15,23,42,.06);
  backdrop-filter:blur(8px);
}
.nbm-ph-x-scroll-inner{height:1px;min-height:1px;}
.nbm-ph-x-scroll-sticky::-webkit-scrollbar{height:10px;}
.nbm-ph-x-scroll-sticky::-webkit-scrollbar-track{background:#eef4fb;border-radius:999px;}
.nbm-ph-x-scroll-sticky::-webkit-scrollbar-thumb{background:#b6c5d8;border-radius:999px;border:2px solid #eef4fb;}
.nbm-ph-x-scroll-sticky::-webkit-scrollbar-thumb:hover{background:#93a5bb;}
.nbm-ph-table .nbm-ph-sticky-action-head,
.nbm-ph-shift-table .nbm-ph-sticky-action-head,
.nbm-ph-device-table .nbm-ph-sticky-action-head,
.nbm-ph-approval-lembur-table .nbm-ph-sticky-action-head{
  position:sticky!important;
  right:0!important;
  z-index:8!important;
  background:#fbfdff!important;
  box-shadow:-10px 0 18px rgba(15,23,42,.045)!important;
}
.nbm-ph-table .nbm-ph-sticky-action,
.nbm-ph-shift-table .nbm-ph-sticky-action,
.nbm-ph-device-table .nbm-ph-sticky-action,
.nbm-ph-approval-lembur-table .nbm-ph-sticky-action{
  position:sticky!important;
  right:0!important;
  z-index:5!important;
  min-width:156px!important;
  white-space:nowrap!important;
  background:linear-gradient(90deg,rgba(255,255,255,.9),#fff 24%)!important;
  box-shadow:-10px 0 18px rgba(15,23,42,.04)!important;
}
.nbm-ph-table tr:hover .nbm-ph-sticky-action,
.nbm-ph-shift-table tr:hover .nbm-ph-sticky-action,
.nbm-ph-device-table tr:hover .nbm-ph-sticky-action,
.nbm-ph-approval-lembur-table tr:hover .nbm-ph-sticky-action{
  background:linear-gradient(90deg,rgba(248,251,255,.9),#f8fbff 24%)!important;
}
.nbm-ph-shift-table th,.nbm-ph-shift-table td,
.nbm-ph-device-table th,.nbm-ph-device-table td{white-space:nowrap;}
.nbm-ph-shift-table td[data-key="nama_shift"]{min-width:160px;}
.nbm-ph-device-table td[data-key="device_last_message"]{min-width:220px;white-space:normal;}


/* v8.5.15 Approval Lembur sticky scroll + unified status clarity */
.nbm-ph-approval-lembur-wrap{
  overflow:auto!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid var(--nbm-line,#e5edf6)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.04)!important;
}
.nbm-ph-approval-lembur-table{min-width:1820px!important;table-layout:auto!important;}
.nbm-ph-approval-lembur-table th{white-space:nowrap!important;color:#526176!important;font-weight:620!important;letter-spacing:.04em!important;}
.nbm-ph-approval-lembur-table td{white-space:nowrap!important;color:#3f4f63!important;font-weight:480!important;}
.nbm-ph-approval-lembur-table td[data-key="status"]{min-width:230px!important;}
.nbm-ph-approval-lembur-table td[data-key="alasan"]{min-width:240px!important;max-width:420px!important;white-space:normal!important;line-height:1.38!important;}
.nbm-ph-approval-lembur-table td[data-key="email"]{min-width:210px!important;}
.nbm-ph-approval-lembur-table td[data-key="nama"]{min-width:160px!important;}
.nbm-ph-approval-lembur-table .nbm-ph-badge{font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;white-space:normal!important;line-height:1.25!important;max-width:260px!important;}
.nbm-ph-approval-lembur-table .nbm-ph-sticky-action{min-width:170px!important;}
.nbm-ph-approval-lembur-wrap + .nbm-ph-x-scroll-sticky{display:block;position:sticky!important;bottom:0!important;z-index:35!important;margin-top:8px!important;}
.nbm-ph-approval-shift-table td[data-key="status"],
.nbm-ph-approval-absensi-table td[data-key="status"],
.nbm-ph-approval-unified-table td[data-key="status"]{min-width:220px!important;}
.nbm-ph-approval-shift-table .nbm-ph-badge,
.nbm-ph-approval-absensi-table .nbm-ph-badge,
.nbm-ph-approval-unified-table .nbm-ph-badge{font-weight:600!important;text-transform:none!important;letter-spacing:.01em!important;white-space:normal!important;line-height:1.25!important;}
.nbm-ph-table-wrap + .nbm-ph-x-scroll-sticky{position:sticky!important;bottom:0!important;z-index:35!important;}

/* v8.5.18 Approval status clarity */
.nbm-ph-approval-status{display:inline-flex;flex-direction:column;gap:3px;max-width:280px;padding:6px 10px;border-radius:13px;border:1px solid #dbe5f2;background:#f8fafc;color:#334155;line-height:1.18;white-space:normal;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.nbm-ph-approval-status b{font-size:11px;font-weight:700;letter-spacing:.01em;color:#263449;text-transform:none}
.nbm-ph-approval-status small{font-size:10px;font-weight:500;color:#64748b;text-transform:none;letter-spacing:0;max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nbm-ph-approval-status.warn{background:#fffaf0;border-color:#fde3bd}.nbm-ph-approval-status.warn b{color:#9a5c0a}.nbm-ph-approval-status.ready{background:#eef6ff;border-color:#bfdbfe}.nbm-ph-approval-status.ready b{color:#1d4ed8}.nbm-ph-approval-status.ok{background:#eefdf5;border-color:#bbf7d0}.nbm-ph-approval-status.ok b{color:#047857}.nbm-ph-approval-status.danger{background:#fff1f2;border-color:#fecdd3}.nbm-ph-approval-status.danger b{color:#be123c}
.nbm-ph-approval-lembur-table td[data-key="status"],.nbm-ph-approval-unified-table td[data-key="status"],.nbm-ph-approval-shift-table td[data-key="status"],.nbm-ph-approval-absensi-table td[data-key="status"]{min-width:230px;max-width:310px}

/* v8.5.20 Editing Shift Matrix */
.nbm-ph-editing-shift-workspace{display:flex;flex-direction:column;gap:10px;min-width:0}
.nbm-ph-editing-shift-command{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:rgba(255,255,255,.82)}
.nbm-ph-inline-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:650;color:#64748b;letter-spacing:.02em;text-transform:uppercase}
.nbm-ph-inline-field select,.nbm-ph-inline-field input{height:36px;border:1px solid rgba(148,163,184,.36);border-radius:12px;background:#fff;color:#334155;font-size:13px;font-weight:500;padding:0 10px;min-width:142px;outline:none}
.nbm-ph-editing-shift-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(37,99,235,.16);border-radius:16px;background:linear-gradient(180deg,#f8fbff,#ffffff);color:#475569;font-size:12px}
.nbm-ph-editing-shift-note b{color:#1e293b;font-size:13px;font-weight:700}.nbm-ph-editing-shift-note span{flex:1;min-width:260px}.nbm-ph-editing-shift-note em{font-style:normal;color:#2563eb;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:5px 10px;font-weight:650}
.nbm-ph-editing-shift-filterbar{position:sticky;top:0;z-index:6;background:rgba(248,250,252,.96);backdrop-filter:blur(8px)}
.nbm-ph-editing-shift-wrap{max-height:calc(100vh - 255px);border-radius:18px;box-shadow:0 18px 50px rgba(15,23,42,.06)}
.nbm-ph-editing-shift-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.nbm-ph-editing-shift-table th,.nbm-ph-editing-shift-table td{white-space:nowrap;vertical-align:middle}
.nbm-ph-editing-shift-table .nbm-ph-sticky-left{position:sticky;left:0;z-index:7;background:#fff;box-shadow:8px 0 16px rgba(15,23,42,.045);min-width:260px;max-width:320px}
.nbm-ph-editing-shift-table thead .nbm-ph-sticky-left{z-index:9;background:#f8fafc}
.nbm-ph-shift-date-head{text-align:center;min-width:104px}.nbm-ph-shift-date-head b{display:block;font-size:13px;font-weight:700;color:#334155}.nbm-ph-shift-date-head span{display:block;font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;margin-top:1px}
.nbm-ph-shift-cell{min-width:104px;max-width:180px;padding:8px 10px!important;text-align:left;transition:background .16s ease,border-color .16s ease}
.nbm-ph-shift-cell span{display:block;overflow:hidden;text-overflow:ellipsis;max-width:160px;font-size:12px;font-weight:600;color:#334155;line-height:1.25}.nbm-ph-shift-cell small{display:block;margin-top:2px;font-size:10px;font-weight:550;color:#94a3b8}
.nbm-ph-shift-cell.default{background:#fbfdff}.nbm-ph-shift-cell.override{background:#ecfdf5;border-left:1px solid #bbf7d0;border-right:1px solid #bbf7d0}.nbm-ph-shift-cell.override span{color:#047857}.nbm-ph-shift-cell.override small{color:#059669}
.nbm-ph-shift-cell:hover{background:#eff6ff!important}.nbm-ph-editing-shift-table .nbm-ph-emp-mini b{font-weight:700;color:#1e293b}.nbm-ph-editing-shift-table .nbm-ph-emp-mini small{font-weight:500;color:#64748b}


/* v8.5.21 Editing Shift Matrix Editable */
.nbm-ph-shift-edit-cell{display:flex;flex-direction:column;gap:4px;min-width:140px;max-width:210px}
.nbm-ph-shift-edit-cell select{width:100%;border:1px solid #D8E4F5;border-radius:12px;background:#fff;color:#24364F;font-size:12px;font-weight:600;padding:7px 28px 7px 10px;outline:none;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .15s ease, box-shadow .15s ease, background .15s ease}
.nbm-ph-shift-edit-cell select:hover{border-color:#AFC5EA;background:#FBFDFF}
.nbm-ph-shift-edit-cell select:focus{border-color:#3B82F6;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.nbm-ph-shift-edit-cell small{font-size:10px;font-weight:600;letter-spacing:.01em;color:#7890AE}
.nbm-ph-shift-edit-cell small.is-override{color:#047857}
.nbm-ph-shift-cell.saving{opacity:.65;position:relative}
.nbm-ph-shift-cell.saving:after{content:'Saving...';position:absolute;right:8px;bottom:6px;font-size:10px;color:#2563EB;background:#EFF6FF;border:1px solid #BFDBFE;border-radius:999px;padding:2px 7px}
.nbm-ph-editing-shift-table td.nbm-ph-shift-cell{vertical-align:top;min-width:154px}

/* v8.5.22 Editing Shift Draft Save */
.nbm-ph-success{border:0;background:linear-gradient(135deg,#16A34A,#22C55E);color:#fff;border-radius:14px;padding:10px 16px;font-weight:700;box-shadow:0 8px 20px rgba(34,197,94,.18);cursor:pointer}
.nbm-ph-success:hover{filter:brightness(.98);box-shadow:0 10px 24px rgba(34,197,94,.22)}
.nbm-ph-success:disabled{opacity:.6;cursor:not-allowed}
.nbm-ph-draft-counter{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#FFF7ED;border:1px solid #FED7AA;color:#9A3412;font-size:12px;font-weight:650;white-space:nowrap}
.nbm-ph-shift-cell.unsaved{background:#FFFBEB!important;box-shadow:inset 0 0 0 2px rgba(245,158,11,.22)}
.nbm-ph-unsaved-dot{display:inline-flex!important;align-items:center;justify-content:center;margin-left:4px;color:#F59E0B;font-size:12px;line-height:1}
.nbm-ph-editing-shift-command{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid #E5EEF9}

/* v8.5.25 Editing Shift Compact Date Columns */
.nbm-ph-editing-shift-table .nbm-ph-shift-date-head{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  padding:6px 5px!important;
  line-height:1.05;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-date-head b{
  font-size:12px;
  font-weight:650;
  color:#334155;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-date-head span{
  font-size:9px;
  font-weight:600;
  color:#64748b;
  margin-top:2px;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-date-head em{
  display:block;
  margin-top:2px;
  font-style:normal;
  font-size:8px;
  font-weight:550;
  color:#94a3b8;
  letter-spacing:.02em;
}
.nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  padding:6px!important;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  gap:3px;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:32px;
  padding:5px 22px 5px 7px;
  border-radius:10px;
  font-size:11px;
  font-weight:550;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell small{
  max-width:84px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  font-weight:500;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-cell span{
  max-width:84px;
  font-size:11px;
  font-weight:550;
}
.nbm-ph-editing-shift-table th:nth-child(2),
.nbm-ph-editing-shift-table td:nth-child(2){
  width:112px;
  min-width:112px;
  max-width:112px;
}
.nbm-ph-editing-shift-table th:nth-child(3),
.nbm-ph-editing-shift-table td:nth-child(3){
  width:108px;
  min-width:108px;
  max-width:108px;
}
@media (max-width:1366px){
  .nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
  .nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
  }
  .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
  .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
  }
}


/* v8.5.26 Editing Shift fixed compact grid + stable sticky employee columns */
.nbm-ph-editing-shift-wrap{
  overflow:auto!important;
  position:relative!important;
  contain:layout paint;
}
.nbm-ph-editing-shift-table{
  width:max-content!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.nbm-ph-editing-shift-table th,
.nbm-ph-editing-shift-table td{
  box-sizing:border-box!important;
}
.nbm-ph-editing-shift-table .nbm-ph-sticky-name{
  position:sticky!important;
  left:0!important;
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
  z-index:11!important;
  background:#fff!important;
  overflow:hidden!important;
}
.nbm-ph-editing-shift-table .nbm-ph-sticky-position{
  position:sticky!important;
  left:300px!important;
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  z-index:10!important;
  background:#fff!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nbm-ph-editing-shift-table .nbm-ph-sticky-default{
  position:sticky!important;
  left:428px!important;
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  z-index:9!important;
  background:#fff!important;
  box-shadow:10px 0 16px rgba(15,23,42,.055)!important;
  overflow:hidden!important;
}
.nbm-ph-editing-shift-table thead .nbm-ph-sticky-name,
.nbm-ph-editing-shift-table thead .nbm-ph-sticky-position,
.nbm-ph-editing-shift-table thead .nbm-ph-sticky-default{
  z-index:30!important;
  background:#f8fafc!important;
}
.nbm-ph-editing-shift-table tbody tr:nth-child(even) .nbm-ph-sticky-name,
.nbm-ph-editing-shift-table tbody tr:nth-child(even) .nbm-ph-sticky-position,
.nbm-ph-editing-shift-table tbody tr:nth-child(even) .nbm-ph-sticky-default{
  background:#fbfdff!important;
}
.nbm-ph-editing-shift-table tbody tr:hover .nbm-ph-sticky-name,
.nbm-ph-editing-shift-table tbody tr:hover .nbm-ph-sticky-position,
.nbm-ph-editing-shift-table tbody tr:hover .nbm-ph-sticky-default{
  background:#f5f9ff!important;
}
.nbm-ph-editing-shift-table .nbm-ph-emp-mini{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  width:100%!important;
}
.nbm-ph-editing-shift-table .nbm-ph-emp-mini>div{
  min-width:0!important;
  overflow:hidden!important;
}
.nbm-ph-editing-shift-table .nbm-ph-emp-mini b,
.nbm-ph-editing-shift-table .nbm-ph-emp-mini small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  max-width:220px!important;
}
.nbm-ph-editing-shift-table .nbm-ph-avatar-sm{
  flex:0 0 42px!important;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
.nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
}
@media(max-width:1366px){
  .nbm-ph-editing-shift-table .nbm-ph-sticky-name{width:260px!important;min-width:260px!important;max-width:260px!important}
  .nbm-ph-editing-shift-table .nbm-ph-sticky-position{left:260px!important;width:112px!important;min-width:112px!important;max-width:112px!important}
  .nbm-ph-editing-shift-table .nbm-ph-sticky-default{left:372px!important;width:108px!important;min-width:108px!important;max-width:108px!important}
  .nbm-ph-editing-shift-table .nbm-ph-emp-mini b,.nbm-ph-editing-shift-table .nbm-ph-emp-mini small{max-width:180px!important}
  .nbm-ph-editing-shift-table .nbm-ph-shift-date-head,.nbm-ph-editing-shift-table td.nbm-ph-shift-cell{width:88px!important;min-width:88px!important;max-width:88px!important}
  .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{width:76px!important;min-width:76px!important;max-width:76px!important}
}


/* v8.5.27 Editing Shift intrinsic fixed-width matrix — no viewport auto expansion */
[data-view="editing_shift"] .nbm-ph-module-result{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.nbm-ph-editing-shift-workspace{
  width:100%;
  max-width:100%;
  min-width:0;
}
.nbm-ph-editing-shift-wrap{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:auto!important;
  contain:none!important;
}
.nbm-ph-editing-shift-table{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  table-layout:fixed!important;
  display:table!important;
}
.nbm-ph-editing-shift-table col.nbm-ph-col-name{
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
}
.nbm-ph-editing-shift-table col.nbm-ph-col-position{
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
}
.nbm-ph-editing-shift-table col.nbm-ph-col-default{
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
}
.nbm-ph-editing-shift-table col.nbm-ph-col-date{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
.nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  overflow:visible!important;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  font-size:11px!important;
  text-overflow:clip!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
.nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell small{
  width:112px!important;
  max-width:112px!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.nbm-ph-editing-shift-table .nbm-ph-sticky-name{
  white-space:normal!important;
}
.nbm-ph-editing-shift-table .nbm-ph-emp-mini b,
.nbm-ph-editing-shift-table .nbm-ph-emp-mini small{
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
@media(max-width:1366px){
  .nbm-ph-editing-shift-table col.nbm-ph-col-name{width:270px!important;min-width:270px!important;max-width:270px!important}
  .nbm-ph-editing-shift-table col.nbm-ph-col-position{width:112px!important;min-width:112px!important;max-width:112px!important}
  .nbm-ph-editing-shift-table col.nbm-ph-col-default{width:108px!important;min-width:108px!important;max-width:108px!important}
  .nbm-ph-editing-shift-table col.nbm-ph-col-date{width:118px!important;min-width:118px!important;max-width:118px!important}
  .nbm-ph-editing-shift-table .nbm-ph-sticky-name{width:270px!important;min-width:270px!important;max-width:270px!important}
  .nbm-ph-editing-shift-table .nbm-ph-sticky-position{left:270px!important;width:112px!important;min-width:112px!important;max-width:112px!important}
  .nbm-ph-editing-shift-table .nbm-ph-sticky-default{left:382px!important;width:108px!important;min-width:108px!important;max-width:108px!important}
  .nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
  .nbm-ph-editing-shift-table td.nbm-ph-shift-cell{width:118px!important;min-width:118px!important;max-width:118px!important}
  .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
  .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{width:106px!important;min-width:106px!important;max-width:106px!important}
}


/* v8.5.28 Editing Shift unified enterprise toolbar and zero blank top space */
[data-view="editing_shift"] > .nbm-ph-module-result.nbm-ph-table-wrap{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-workspace{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
  position:sticky;
  top:0;
  z-index:30;
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) minmax(520px,2fr) auto;
  grid-template-areas:"search controls actions";
  align-items:end;
  gap:10px 12px;
  width:100%;
  margin:0;
  padding:10px 12px;
  border:1px solid #dbe5f2;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  backdrop-filter:blur(10px);
}
[data-view="editing_shift"] .nbm-ph-editing-shift-search{grid-area:search;min-width:0}
[data-view="editing_shift"] .nbm-ph-editing-shift-search .nbm-ph-search{width:100%!important;min-width:0!important;height:38px!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls{grid-area:controls;display:flex;align-items:end;gap:9px;min-width:0;flex-wrap:nowrap}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-filter{min-width:150px;flex:1 1 160px}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-filter select{width:100%;min-width:0;height:38px}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field{flex:0 0 145px}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field select,
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field input{width:100%;min-width:0;height:38px}
[data-view="editing_shift"] .nbm-ph-editing-shift-summary{align-self:center;white-space:nowrap;color:#64748b;font-size:11px;font-weight:600;padding-top:14px}
[data-view="editing_shift"] .nbm-ph-editing-shift-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
[data-view="editing_shift"] .nbm-ph-editing-shift-actions button{height:38px;padding:0 13px}
[data-view="editing_shift"] .nbm-ph-editing-shift-actions .nbm-ph-draft-counter{height:38px;min-height:38px;padding:0 12px}
[data-view="editing_shift"] .nbm-ph-editing-shift-wrap{margin:0!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-note,
[data-view="editing_shift"] .nbm-ph-editing-shift-filterbar,
[data-view="editing_shift"] .nbm-ph-editing-shift-command{display:none!important}
@media(max-width:1500px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
    grid-template-columns:minmax(260px,1fr) minmax(600px,2fr);
    grid-template-areas:"search controls" "actions actions";
    align-items:end;
  }
  [data-view="editing_shift"] .nbm-ph-editing-shift-actions{justify-content:flex-end}
}
@media(max-width:1050px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{display:flex;flex-direction:column;align-items:stretch}
  [data-view="editing_shift"] .nbm-ph-editing-shift-controls,[data-view="editing_shift"] .nbm-ph-editing-shift-actions{flex-wrap:wrap;justify-content:flex-start}
  [data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-filter,[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field{flex:1 1 180px}
}


/* v8.5.29 Payroll Master: operational columns only + frozen identity/action */
[data-view="payroll_master"] .nbm-ph-payroll-master-wrap{
  position:relative!important;
  overflow:auto!important;
  padding:0!important;
}
[data-view="payroll_master"] .nbm-ph-payroll-master-table{
  width:max-content!important;
  min-width:100%!important;
  table-layout:auto!important;
}
[data-view="payroll_master"] .nbm-ph-payroll-master-table th,
[data-view="payroll_master"] .nbm-ph-payroll-master-table td{
  white-space:nowrap!important;
}
[data-view="payroll_master"] .nbm-ph-payroll-name-head{
  position:sticky!important;
  left:0!important;
  z-index:9!important;
  min-width:220px!important;
  background:#F8FAFC!important;
  box-shadow:10px 0 18px rgba(15,23,42,.045)!important;
}
[data-view="payroll_master"] .nbm-ph-payroll-name-cell{
  position:sticky!important;
  left:0!important;
  z-index:6!important;
  min-width:220px!important;
  background:#fff!important;
  box-shadow:10px 0 18px rgba(15,23,42,.035)!important;
}
[data-view="payroll_master"] .nbm-ph-payroll-master-table tr:nth-child(even) .nbm-ph-payroll-name-cell{background:#FCFDFF!important;}
[data-view="payroll_master"] .nbm-ph-payroll-master-table tr:hover .nbm-ph-payroll-name-cell{background:#F8FBFF!important;}
[data-view="payroll_master"] .nbm-ph-payroll-name-link{
  border:0!important;
  background:transparent!important;
  color:#172033!important;
  font:inherit!important;
  font-weight:650!important;
  padding:0!important;
  cursor:pointer!important;
  text-align:left!important;
}
[data-view="payroll_master"] .nbm-ph-payroll-name-link:hover{color:#2952E3!important;text-decoration:underline;}
[data-view="payroll_master"] .nbm-ph-sticky-action-head{
  position:sticky!important;
  right:0!important;
  z-index:10!important;
  min-width:92px!important;
  background:#F8FAFC!important;
  box-shadow:-10px 0 18px rgba(15,23,42,.05)!important;
}
[data-view="payroll_master"] .nbm-ph-sticky-action{
  position:sticky!important;
  right:0!important;
  z-index:7!important;
  min-width:92px!important;
  background:#fff!important;
  box-shadow:-10px 0 18px rgba(15,23,42,.04)!important;
}
[data-view="payroll_master"] .nbm-ph-payroll-master-table tr:nth-child(even) .nbm-ph-sticky-action{background:#FCFDFF!important;}
[data-view="payroll_master"] .nbm-ph-payroll-master-table tr:hover .nbm-ph-sticky-action{background:#F8FBFF!important;}


/* v8.5.31 Editing Shift: protect date filter from action overlap */
[data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
  grid-template-columns:minmax(220px,1.05fr) minmax(760px,2.4fr);
  grid-template-areas:"search controls" "actions actions";
}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 160px 170px auto auto;
  align-items:end;
  gap:9px;
  overflow:visible!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-filter,
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field{
  min-width:0!important;
  width:auto!important;
  flex:none!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field input[type="date"]{
  min-width:170px!important;
  width:170px!important;
  padding-right:36px!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-reset-filter{
  height:38px!important;
  white-space:nowrap;
  align-self:end;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-summary{
  padding-top:0!important;
  align-self:center!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-actions{
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
}
@media(max-width:1500px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
    grid-template-columns:1fr;
    grid-template-areas:"search" "controls" "actions";
  }
}
@media(max-width:1180px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-controls{
    grid-template-columns:repeat(2,minmax(180px,1fr));
  }
  [data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field input[type="date"]{
    width:100%!important;
    min-width:0!important;
  }
}


/* =========================================================
   PeopleHub ERP v8.5.32 - Employee Full Workspace
   Sticky name left, full columns, sticky action right
   ========================================================= */
.nbm-ph-module-result.employee-result{min-width:0!important;overflow:visible!important}
.nbm-ph-employee-workspace{min-width:0!important}
.nbm-ph-employee-full-wrap{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;max-height:calc(100vh - 300px)!important;min-height:420px!important;padding:0!important;overflow:auto!important;overscroll-behavior:contain;isolation:isolate;border:1px solid var(--ph-border,#e2eaf5)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 6px 18px rgba(15,23,42,.045)!important}
.nbm-ph-employee-full-table{width:max-content!important;min-width:3450px!important;table-layout:auto!important;border-collapse:separate!important;border-spacing:0!important;margin:0!important}
.nbm-ph-employee-full-table th,.nbm-ph-employee-full-table td{white-space:nowrap!important;vertical-align:middle!important}
.nbm-ph-employee-full-table th{position:sticky!important;top:0!important;z-index:6!important;height:34px!important;padding:7px 10px!important;background:#f8fbff!important;border-bottom:1px solid #dce6f2!important;color:#52627a!important;font-size:8.5px!important;font-weight:950!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.nbm-ph-employee-full-table td{height:46px!important;padding:7px 10px!important;border-bottom:1px solid #edf2f7!important;color:#162033!important;font-size:10.5px!important;line-height:1.3!important;background:#fff}
.nbm-ph-employee-full-table .nbm-ph-employee-sticky-name-head{position:sticky!important;top:0!important;left:0!important;z-index:14!important;min-width:245px!important;width:245px!important;max-width:245px!important;background:#f8fbff!important;box-shadow:12px 0 18px rgba(15,23,42,.055),0 1px 0 #dce6f2!important}
.nbm-ph-employee-full-table .nbm-ph-employee-sticky-name{position:sticky!important;left:0!important;z-index:9!important;min-width:245px!important;width:245px!important;max-width:245px!important;background:#fff!important;box-shadow:12px 0 18px rgba(15,23,42,.045)!important}
.nbm-ph-employee-full-table tbody tr:hover td,.nbm-ph-employee-full-table tbody tr:hover .nbm-ph-employee-sticky-name,.nbm-ph-employee-full-table tbody tr:hover .nbm-ph-sticky-action{background:#f8fbff!important}
.nbm-ph-employee-full-table .nbm-ph-sticky-action-head{position:sticky!important;top:0!important;right:0!important;z-index:15!important;min-width:92px!important;width:92px!important;max-width:92px!important;background:#f8fbff!important;box-shadow:-12px 0 18px rgba(15,23,42,.055),0 1px 0 #dce6f2!important}
.nbm-ph-employee-full-table .nbm-ph-sticky-action{position:sticky!important;right:0!important;z-index:10!important;min-width:92px!important;width:92px!important;max-width:92px!important;background:#fff!important;box-shadow:-12px 0 18px rgba(15,23,42,.045)!important}
.nbm-ph-employee-full-table .nbm-ph-sticky-action .nbm-ph-actions{display:flex!important;justify-content:center!important;min-width:0!important;width:100%!important}
.nbm-ph-employee-full-table td[data-key="id_karyawan"],.nbm-ph-employee-full-table th:nth-child(2),.nbm-ph-employee-full-table td[data-key="nik"],.nbm-ph-employee-full-table th:nth-child(3){min-width:150px!important}
.nbm-ph-employee-full-table td[data-key="handphone"]{min-width:130px!important}.nbm-ph-employee-full-table td[data-key="cabang"]{min-width:110px!important}
.nbm-ph-employee-full-table td[data-key="organisasi"],.nbm-ph-employee-full-table td[data-key="department"]{min-width:180px!important;max-width:220px!important;overflow:hidden;text-overflow:ellipsis}
.nbm-ph-employee-full-table td[data-key="posisi"],.nbm-ph-employee-full-table td[data-key="posisi_2"]{min-width:150px!important}
.nbm-ph-employee-full-table td[data-key="level_pekerjaan"],.nbm-ph-employee-full-table td[data-key="status_kepegawaian"],.nbm-ph-employee-full-table td[data-key="default_shift"],.nbm-ph-employee-full-table td[data-key="titik_absensi"]{min-width:145px!important}
.nbm-ph-employee-full-table td[data-key="role"],.nbm-ph-employee-full-table td[data-key="role_hris"]{min-width:125px!important}
.nbm-ph-employee-full-table td[data-key="approval_1_email"],.nbm-ph-employee-full-table td[data-key="approval_2_email"]{min-width:225px!important;max-width:250px!important}
.nbm-ph-employee-full-table td[data-key="manager"],.nbm-ph-employee-full-table td[data-key="jalur_persetujuan"],.nbm-ph-employee-full-table td[data-key="updated_at"]{min-width:155px!important}
.nbm-ph-employee-full-table .nbm-ph-emp-mini{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}.nbm-ph-employee-full-table .nbm-ph-emp-mini>div{min-width:0!important}
.nbm-ph-employee-full-table .nbm-ph-emp-mini b,.nbm-ph-employee-full-table .nbm-ph-emp-mini small{display:block!important;max-width:185px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.nbm-ph-employee-full-table .nbm-ph-emp-mini b{font-size:10.5px!important;font-weight:950!important}.nbm-ph-employee-full-table .nbm-ph-emp-mini small{margin-top:1px!important;color:#64748b!important;font-size:8.5px!important}
.nbm-ph-employee-approver-cell{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}.nbm-ph-employee-approver-cell b,.nbm-ph-employee-approver-cell small{display:block!important;max-width:205px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.nbm-ph-employee-approver-cell b{color:#0f172a!important;font-size:10.5px!important;font-weight:950!important}.nbm-ph-employee-approver-cell small{color:#64748b!important;font-size:8.5px!important}
.nbm-ph-employee-full-wrap::-webkit-scrollbar{width:10px!important;height:13px!important}.nbm-ph-employee-full-wrap::-webkit-scrollbar-track{background:#edf2f7!important;border-radius:999px!important}.nbm-ph-employee-full-wrap::-webkit-scrollbar-thumb{background:#9cacbf!important;border:2px solid #edf2f7!important;border-radius:999px!important;background-clip:padding-box!important}.nbm-ph-employee-full-wrap::-webkit-scrollbar-thumb:hover{background:#74889f!important;background-clip:padding-box!important}.nbm-ph-employee-full-wrap{scrollbar-width:thin!important;scrollbar-color:#9cacbf #edf2f7!important}
.nbm-ph-edit-field select[data-approver-select]{background-color:#fff!important;border-color:#bfd0e6!important}.nbm-ph-edit-field select[data-approver-select]:focus{border-color:#2952e3!important;box-shadow:0 0 0 4px rgba(41,82,227,.10)!important}.nbm-ph-edit-field input[readonly]{cursor:not-allowed!important;background:#f3f6fa!important;color:#52627a!important;border-style:dashed!important}
@media(max-width:1100px){.nbm-ph-employee-full-wrap{max-height:none!important;min-height:0!important}}
@media(max-width:760px){.nbm-ph-employee-full-table{min-width:3200px!important}.nbm-ph-employee-full-table .nbm-ph-employee-sticky-name-head,.nbm-ph-employee-full-table .nbm-ph-employee-sticky-name{min-width:205px!important;width:205px!important;max-width:205px!important}.nbm-ph-employee-full-table .nbm-ph-emp-mini b,.nbm-ph-employee-full-table .nbm-ph-emp-mini small{max-width:148px!important}}


/* =========================================================
   PeopleHub ERP v8.5.33 Employee Inline Editing
   Draft + Save All, compatible with Editing Shift pattern
   ========================================================= */
.nbm-ph-employee-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;margin:0 0 8px;border:1px solid #dbe7f7;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 5px 16px rgba(15,23,42,.04)}
.nbm-ph-employee-inline-actions>div:first-child{display:flex;align-items:baseline;gap:8px;min-width:0}.nbm-ph-employee-inline-actions b{font-size:11px;color:#0f172a}.nbm-ph-employee-inline-actions span{font-size:9.5px;color:#64748b;font-weight:750}.nbm-ph-employee-inline-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.nbm-ph-employee-inline-buttons button{height:32px!important;min-height:32px!important}.nbm-ph-employee-inline-select{width:100%;min-width:118px;height:30px;border:1px solid #d7e1ee;border-radius:9px;background:#fff;color:#0f172a;padding:0 24px 0 7px;font-size:9.5px;font-weight:800;outline:0}.nbm-ph-employee-inline-select.approver{min-width:210px}.nbm-ph-employee-inline-select.status{min-width:105px}.nbm-ph-employee-inline-select:focus{border-color:#2952e3;box-shadow:0 0 0 3px rgba(41,82,227,.10)}.nbm-ph-employee-full-table td.unsaved{background:#fffaf0!important;box-shadow:inset 0 -2px 0 #f59e0b}.nbm-ph-employee-full-table tr:hover td.unsaved{background:#fff7e6!important}.nbm-ph-employee-inline-buttons .is-disabled{opacity:.45;cursor:not-allowed}.nbm-ph-employee-full-table td[data-key="cabang"]{min-width:135px!important}.nbm-ph-employee-full-table td[data-key="organisasi"],.nbm-ph-employee-full-table td[data-key="department"]{min-width:190px!important;max-width:none!important}.nbm-ph-employee-full-table td[data-key="posisi"],.nbm-ph-employee-full-table td[data-key="posisi_2"]{min-width:165px!important}.nbm-ph-employee-full-table td[data-key="approval_1_email"],.nbm-ph-employee-full-table td[data-key="approval_2_email"]{min-width:230px!important;max-width:none!important}
@media(max-width:900px){.nbm-ph-employee-inline-actions{align-items:flex-start;flex-direction:column}.nbm-ph-employee-inline-buttons{justify-content:flex-start}}

/* =========================================================
   PeopleHub ERP v8.5.34 — Asana-like Employee Inline Select
   Soft contrast, medium typography, scoped to Employee only
   ========================================================= */
[data-view="employee"] .nbm-ph-employee-inline-select{
  width:100%!important;
  min-width:118px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0 30px 0 10px!important;
  border:1px solid #DCE4EE!important;
  border-radius:8px!important;
  background-color:#FFFFFF!important;
  color:#475569!important;
  font-family:var(--ph-font)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  box-shadow:none!important;
  outline:0!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' fill='none' stroke='%2394A3B8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 9px center!important;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease!important;
}
[data-view="employee"] .nbm-ph-employee-inline-select:hover{
  border-color:#CBD5E1!important;
  background-color:#FCFDFE!important;
  color:#334155!important;
}
[data-view="employee"] .nbm-ph-employee-inline-select:focus{
  border-color:#A7B8F5!important;
  background-color:#FFFFFF!important;
  color:#334155!important;
  box-shadow:0 0 0 3px rgba(41,82,227,.07)!important;
}
[data-view="employee"] .nbm-ph-employee-inline-select:disabled{
  background-color:#F8FAFC!important;
  color:#94A3B8!important;
  border-color:#E2E8F0!important;
  cursor:not-allowed!important;
  opacity:1!important;
}
[data-view="employee"] .nbm-ph-employee-inline-select option{
  color:#475569!important;
  background:#FFFFFF!important;
  font-family:var(--ph-font)!important;
  font-size:11px!important;
  font-weight:500!important;
}
[data-view="employee"] .nbm-ph-employee-inline-select.approver{
  min-width:210px!important;
}
[data-view="employee"] .nbm-ph-employee-inline-select.status{
  min-width:105px!important;
}
[data-view="employee"] .nbm-ph-employee-full-table td:has(.nbm-ph-employee-inline-select){
  padding:6px 10px!important;
}
[data-view="employee"] .nbm-ph-employee-full-table td.unsaved{
  background:#FFFDF7!important;
  box-shadow:inset 0 -2px 0 #F4B740!important;
}
[data-view="employee"] .nbm-ph-employee-full-table tr:hover td.unsaved{
  background:#FFF9EB!important;
}
[data-view="employee"] .nbm-ph-employee-inline-actions{
  border-color:#E2E8F0!important;
  background:#FFFFFF!important;
  box-shadow:0 3px 12px rgba(15,23,42,.035)!important;
}
[data-view="employee"] .nbm-ph-employee-inline-actions b{
  color:#334155!important;
  font-weight:650!important;
}
[data-view="employee"] .nbm-ph-employee-inline-actions span{
  color:#7C8A9D!important;
  font-weight:500!important;
}

/* =========================================================
   PeopleHub ERP v8.5.37
   Employee Identity Comfortable Readability
   FINAL — keep this block at the absolute end of this file
   ========================================================= */

/* Employee table row density */
[data-view="employee"] .nbm-ph-employee-full-table tbody tr{
  height:68px!important;
}

[data-view="employee"] .nbm-ph-employee-full-table td{
  height:68px!important;
  min-height:68px!important;
  padding:10px 12px!important;
  vertical-align:middle!important;
  font-size:12px!important;
}

/* Sticky employee identity width */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-employee-sticky-name,
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-employee-sticky-name-head{
  width:310px!important;
  min-width:310px!important;
  max-width:310px!important;
}

/* Identity layout */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  width:100%!important;
  min-width:0!important;
}

[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini > div{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  overflow:hidden!important;
}

/* Avatar */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini .nbm-ph-avatar-sm{
  flex:0 0 48px!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #d7e2ef!important;
  border-radius:15px!important;
  background:#edf3fa!important;
  color:#4c6888!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;
  box-shadow:none!important;
}

/* Employee name */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini > div > b{
  display:block!important;
  max-width:225px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#2f3d51!important;
  font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:-.1px!important;
}

/* Employee email */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini > div > small{
  display:block!important;
  max-width:225px!important;
  margin:4px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#7a899d!important;
  font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.25!important;
  letter-spacing:0!important;
}

/* Header remains compact but readable */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-employee-sticky-name-head{
  background:#f8fafc!important;
  color:#65758b!important;
  font-size:9.5px!important;
  font-weight:650!important;
  letter-spacing:.05em!important;
  box-shadow:8px 0 16px rgba(15,23,42,.03),0 1px 0 #e3eaf3!important;
}

/* Sticky identity cell */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-employee-sticky-name{
  background:#fff!important;
  box-shadow:8px 0 16px rgba(15,23,42,.025)!important;
}

[data-view="employee"] .nbm-ph-employee-full-table tbody tr:nth-child(even) .nbm-ph-employee-sticky-name{
  background:#fcfdff!important;
}

[data-view="employee"] .nbm-ph-employee-full-table tbody tr:hover td,
[data-view="employee"] .nbm-ph-employee-full-table tbody tr:hover .nbm-ph-employee-sticky-name{
  background:#f8fbff!important;
}

/* Sticky action follows row height */
[data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-sticky-action{
  height:68px!important;
  min-height:68px!important;
}

/* Inline dropdown */
[data-view="employee"] .nbm-ph-employee-full-table select.nbm-ph-employee-inline-select{
  height:38px!important;
  min-height:38px!important;
  padding:0 34px 0 12px!important;
  border:1px solid #d9e3ee!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:#4d5d72!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  box-shadow:none!important;
}

[data-view="employee"] .nbm-ph-employee-full-table select.nbm-ph-employee-inline-select:hover{
  border-color:#c9d5e3!important;
  background:#fcfdff!important;
}

[data-view="employee"] .nbm-ph-employee-full-table select.nbm-ph-employee-inline-select:focus{
  border-color:#91a9d3!important;
  box-shadow:0 0 0 3px rgba(79,111,149,.08)!important;
  outline:none!important;
}

/* Other table text */
[data-view="employee"] .nbm-ph-employee-full-table td:not(.nbm-ph-employee-sticky-name){
  color:#46566b!important;
  font-size:12px!important;
  font-weight:500!important;
}

/* Responsive */
@media(max-width:760px){
  [data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-employee-sticky-name,
  [data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-employee-sticky-name-head{
    width:260px!important;
    min-width:260px!important;
    max-width:260px!important;
  }

  [data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini .nbm-ph-avatar-sm{
    flex-basis:44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }

  [data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini > div > b{
    max-width:175px!important;
    font-size:13px!important;
  }

  [data-view="employee"] .nbm-ph-employee-full-table .nbm-ph-emp-mini > div > small{
    max-width:175px!important;
    font-size:10.5px!important;
  }
}

/* =========================================================
   PeopleHub ERP v8.5.39
   Editing Shift Toolbar — Proper Sizing & Alignment
   FINAL OVERRIDE — keep at absolute end of peoplehub.css
   ========================================================= */

[data-view="editing_shift"] .nbm-ph-editing-shift-workspace{
  display:grid!important;
  gap:12px!important;
  min-width:0!important;
}

/* Main toolbar container */
[data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1.4fr) minmax(760px,2.6fr)!important;
  grid-template-areas:
    "search controls"
    "actions actions"!important;
  align-items:end!important;
  gap:12px 14px!important;
  width:100%!important;
  min-width:0!important;
  padding:14px!important;
  border:1px solid #dce6f2!important;
  border-radius:18px!important;
  background:#ffffff!important;
  box-shadow:0 7px 20px rgba(15,23,42,.045)!important;
}

/* Search */
[data-view="editing_shift"] .nbm-ph-editing-shift-search{
  grid-area:search!important;
  min-width:0!important;
}

[data-view="editing_shift"] .nbm-ph-editing-shift-search .nbm-ph-search{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 14px!important;
  border:1px solid #d7e2ef!important;
  border-radius:13px!important;
  background:#ffffff!important;
  color:#405066!important;
  font-size:12px!important;
  font-weight:450!important;
  box-shadow:none!important;
}

[data-view="editing_shift"] .nbm-ph-editing-shift-search .nbm-ph-search::placeholder{
  color:#8492a6!important;
  font-weight:400!important;
}

/* Filter controls row */
[data-view="editing_shift"] .nbm-ph-editing-shift-controls{
  grid-area:controls!important;
  display:grid!important;
  grid-template-columns:
    minmax(180px,.9fr)
    minmax(190px,1fr)
    minmax(290px,1.45fr)
    132px
    minmax(190px,auto)!important;
  align-items:end!important;
  gap:10px!important;
  min-width:0!important;
}

/* Labels */
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-filter,
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
}

[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-filter > span,
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field > span{
  display:block!important;
  margin:0!important;
  color:#66768b!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}

/* All selectors */
[data-view="editing_shift"] .nbm-ph-editing-shift-controls select{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 38px 0 13px!important;
  border:1px solid #d5e0ed!important;
  border-radius:12px!important;
  background-color:#ffffff!important;
  color:#34455b!important;
  font-family:var(--ph-font)!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}

/* Cutoff selector needs more room */
[data-view="editing_shift"] .nbm-ph-editing-shift-cutoff-field{
  min-width:290px!important;
}

[data-view="editing_shift"] [data-editing-shift-cutoff]{
  width:100%!important;
  min-width:290px!important;
  max-width:none!important;
  font-variant-numeric:tabular-nums!important;
  letter-spacing:0!important;
}

/* Native option appearance */
[data-view="editing_shift"] [data-editing-shift-cutoff] option,
[data-view="editing_shift"] .nbm-ph-editing-shift-controls select option{
  color:#334155!important;
  font-family:var(--ph-font)!important;
  font-size:12px!important;
  font-weight:450!important;
}

/* Hover/focus */
[data-view="editing_shift"] .nbm-ph-editing-shift-controls select:hover,
[data-view="editing_shift"] .nbm-ph-editing-shift-search .nbm-ph-search:hover{
  border-color:#c4d2e3!important;
  background-color:#fcfdff!important;
}

[data-view="editing_shift"] .nbm-ph-editing-shift-controls select:focus,
[data-view="editing_shift"] .nbm-ph-editing-shift-search .nbm-ph-search:focus{
  outline:none!important;
  border-color:#88a4d4!important;
  box-shadow:0 0 0 3px rgba(63,96,158,.09)!important;
}

/* Reset filter button */
[data-view="editing_shift"] .nbm-ph-editing-shift-reset-filter{
  width:132px!important;
  min-width:132px!important;
  height:42px!important;
  min-height:42px!important;
  align-self:end!important;
  padding:0 14px!important;
  border-radius:12px!important;
  font-size:11px!important;
  font-weight:600!important;
  white-space:nowrap!important;
}

/* Summary */
[data-view="editing_shift"] .nbm-ph-editing-shift-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:190px!important;
  min-height:42px!important;
  padding:0 4px!important;
  color:#6e7f94!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.35!important;
  text-align:right!important;
  white-space:normal!important;
}

/* Action row */
[data-view="editing_shift"] .nbm-ph-editing-shift-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  min-width:0!important;
  padding-top:11px!important;
  border-top:1px solid #edf2f7!important;
}

/* Uniform action buttons */
[data-view="editing_shift"] .nbm-ph-editing-shift-actions .nbm-ph-secondary,
[data-view="editing_shift"] .nbm-ph-editing-shift-actions .nbm-ph-success{
  width:auto!important;
  min-width:108px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 14px!important;
  border-radius:11px!important;
  font-size:10.5px!important;
  font-weight:600!important;
  white-space:nowrap!important;
}

[data-view="editing_shift"] .nbm-ph-editing-shift-actions [data-editing-shift-save-all]{
  min-width:120px!important;
}

[data-view="editing_shift"] .nbm-ph-editing-shift-actions [data-editing-shift-reset-draft]{
  min-width:122px!important;
}

/* Draft counter */
[data-view="editing_shift"] .nbm-ph-editing-shift-actions .nbm-ph-draft-counter{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:205px!important;
  min-height:38px!important;
  padding:0 15px!important;
  border:1px solid #f1c996!important;
  border-radius:999px!important;
  background:#fff8ef!important;
  color:#a34a16!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}

/* Matrix separation */
[data-view="editing_shift"] .nbm-ph-editing-shift-wrap{
  margin-top:0!important;
  border-radius:16px!important;
}

/* Matrix dropdowns */
[data-view="editing_shift"] .nbm-ph-shift-edit-cell select{
  height:36px!important;
  min-height:36px!important;
  padding:0 32px 0 11px!important;
  border:1px solid #d6e1ed!important;
  border-radius:10px!important;
  background-color:#ffffff!important;
  color:#33465d!important;
  font-family:var(--ph-font)!important;
  font-size:11px!important;
  font-weight:500!important;
  box-shadow:0 1px 3px rgba(15,23,42,.035)!important;
}

[data-view="editing_shift"] .nbm-ph-shift-edit-cell select:focus{
  outline:none!important;
  border-color:#8fa8d3!important;
  box-shadow:0 0 0 3px rgba(63,96,158,.08)!important;
}

[data-view="editing_shift"] .nbm-ph-shift-edit-cell small{
  margin-top:5px!important;
  color:#8795a8!important;
  font-size:9px!important;
  font-weight:450!important;
}

/* Medium desktop */
@media(max-width:1350px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "search"
      "controls"
      "actions"!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-controls{
    grid-template-columns:
      minmax(170px,1fr)
      minmax(180px,1fr)
      minmax(280px,1.5fr)
      128px
      minmax(180px,.9fr)!important;
  }
}

/* Tablet */
@media(max-width:980px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
    padding:12px!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-controls{
    grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-cutoff-field{
    grid-column:1 / -1!important;
    min-width:0!important;
  }

  [data-view="editing_shift"] [data-editing-shift-cutoff]{
    min-width:0!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-summary{
    justify-content:flex-start!important;
    text-align:left!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-actions{
    justify-content:flex-start!important;
  }
}

/* Mobile */
@media(max-width:620px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-controls{
    grid-template-columns:1fr!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-cutoff-field{
    grid-column:auto!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-reset-filter{
    width:100%!important;
    min-width:0!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-summary{
    min-width:0!important;
    min-height:auto!important;
    padding:3px 0!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-actions .nbm-ph-secondary,
  [data-view="editing_shift"] .nbm-ph-editing-shift-actions .nbm-ph-success{
    width:100%!important;
    min-width:0!important;
  }

  [data-view="editing_shift"] .nbm-ph-editing-shift-actions .nbm-ph-draft-counter{
    grid-column:1 / -1!important;
    min-width:0!important;
    width:100%!important;
  }
}

/* =========================================================
   PeopleHub ERP v8.5.42
   Editing Shift Cut Off Selector — Compact & Correct
   ========================================================= */

[data-view="editing_shift"]
.nbm-ph-editing-shift-cutoff-field{
  min-width:270px!important;
  width:270px!important;
  max-width:270px!important;
}

[data-view="editing_shift"]
[data-editing-shift-cutoff]{
  width:270px!important;
  min-width:270px!important;
  max-width:270px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 34px 0 12px!important;
  border:1px solid #d5e0ed!important;
  border-radius:12px!important;
  background-color:#fff!important;
  color:#3f5066!important;
  font-family:var(--ph-font)!important;
  font-size:11px!important;
  font-weight:550!important;
  line-height:1.2!important;
  font-variant-numeric:tabular-nums!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}

[data-view="editing_shift"]
[data-editing-shift-cutoff] option{
  color:#405066!important;
  background:#fff!important;
  font-family:var(--ph-font)!important;
  font-size:11px!important;
  font-weight:450!important;
}

[data-view="editing_shift"]
[data-editing-shift-cutoff]
option[data-current-cutoff="1"]{
  color:#1747b8!important;
  background:#edf3ff!important;
  font-weight:700!important;
}

[data-view="editing_shift"]
[data-editing-shift-cutoff]:has(
  option[data-current-cutoff="1"]:checked
){
  border-color:#88a6e6!important;
  background-color:#f4f7ff!important;
  color:#234fae!important;
  font-weight:650!important;
  box-shadow:0 0 0 3px rgba(41,82,227,.07)!important;
}

@media(max-width:980px){
  [data-view="editing_shift"]
  .nbm-ph-editing-shift-cutoff-field,
  [data-view="editing_shift"]
  [data-editing-shift-cutoff]{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* =========================================================
   PeopleHub ERP v8.5.43
   Editing Shift Toolbar Width Balance
   Search narrower + Cut Off wider
   ========================================================= */

[data-view="editing_shift"]
.nbm-ph-editing-shift-toolbar{
  grid-template-columns:minmax(360px,.9fr) minmax(980px,2.6fr)!important;
}

/* Search dibuat lebih pendek agar ruang Cut Off lebih lega */
[data-view="editing_shift"]
.nbm-ph-editing-shift-search{
  max-width:500px!important;
}

[data-view="editing_shift"]
.nbm-ph-editing-shift-search .nbm-ph-search{
  width:100%!important;
  max-width:500px!important;
}

/* Kontrol utama: Posisi, Nama, Cut Off, Reset, Summary */
[data-view="editing_shift"]
.nbm-ph-editing-shift-controls{
  grid-template-columns:
    minmax(180px,.8fr)
    minmax(190px,.9fr)
    minmax(360px,1.65fr)
    132px
    minmax(170px,.8fr)!important;
  gap:10px!important;
}

/* Cut Off diperlebar agar label 26-25 terbaca utuh */
[data-view="editing_shift"]
.nbm-ph-editing-shift-cutoff-field{
  width:360px!important;
  min-width:360px!important;
  max-width:360px!important;
}

[data-view="editing_shift"]
[data-editing-shift-cutoff]{
  width:360px!important;
  min-width:360px!important;
  max-width:360px!important;
  padding-right:38px!important;
  text-overflow:ellipsis!important;
}

/* Sedikit lebih kecil agar label panjang tetap muat */
[data-view="editing_shift"]
[data-editing-shift-cutoff],
[data-view="editing_shift"]
[data-editing-shift-cutoff] option{
  font-size:10.5px!important;
}

/* Ringkasan jangan mendorong selector */
[data-view="editing_shift"]
.nbm-ph-editing-shift-summary{
  min-width:170px!important;
  max-width:210px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Desktop menengah */
@media(max-width:1450px){
  [data-view="editing_shift"]
  .nbm-ph-editing-shift-toolbar{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "search"
      "controls"
      "actions"!important;
  }

  [data-view="editing_shift"]
  .nbm-ph-editing-shift-search{
    max-width:440px!important;
  }

  [data-view="editing_shift"]
  .nbm-ph-editing-shift-search .nbm-ph-search{
    max-width:440px!important;
  }

  [data-view="editing_shift"]
  .nbm-ph-editing-shift-controls{
    grid-template-columns:
      minmax(170px,.85fr)
      minmax(180px,.9fr)
      minmax(350px,1.6fr)
      130px
      minmax(160px,.75fr)!important;
  }
}

/* Tablet */
@media(max-width:1050px){
  [data-view="editing_shift"]
  .nbm-ph-editing-shift-controls{
    grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  }

  [data-view="editing_shift"]
  .nbm-ph-editing-shift-cutoff-field{
    grid-column:1 / -1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }

  [data-view="editing_shift"]
  [data-editing-shift-cutoff]{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* Mobile */
@media(max-width:620px){
  [data-view="editing_shift"]
  .nbm-ph-editing-shift-search,
  [data-view="editing_shift"]
  .nbm-ph-editing-shift-search .nbm-ph-search{
    max-width:none!important;
  }
}


/* PeopleHub ERP v8.5.45 — Absensi Sopir */
.nbm-ph-driver-workspace{display:grid;gap:16px}
.nbm-ph-driver-period{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-radius:24px;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;box-shadow:0 18px 46px rgba(15,23,42,.18)}
.nbm-ph-driver-period span:first-child{display:block;color:#bfdbfe;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.nbm-ph-driver-period h3{margin:7px 0 4px;font-size:25px;letter-spacing:-.7px}
.nbm-ph-driver-period p{margin:0;color:#dbeafe;font-weight:700}
.nbm-ph-driver-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nbm-ph-driver-kpi{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--nbm-line);border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.05)}
.nbm-ph-driver-kpi>span{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:15px;background:#eff6ff;font-size:20px}
.nbm-ph-driver-kpi small{display:block;color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.nbm-ph-driver-kpi b{display:block;margin-top:5px;font-size:23px;letter-spacing:-.7px}
.nbm-ph-driver-table th:nth-child(2){min-width:250px}
.nbm-ph-driver-table td{vertical-align:middle}
.nbm-ph-driver-detail-box{width:min(1180px,92vw);max-width:1180px}
.nbm-ph-driver-detail-summary{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.nbm-ph-driver-detail-summary b{font-size:28px}
.nbm-ph-driver-detail-summary span{color:#64748b;font-weight:800}
.nbm-ph-driver-detail-table{min-width:1050px}
.nbm-ph-driver-photo-links{white-space:nowrap}
.nbm-ph-driver-photo-links a{display:inline-flex;margin:2px;padding:6px 9px;border-radius:10px;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-weight:900;font-size:11px}
@media(max-width:900px){
  .nbm-ph-driver-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nbm-ph-driver-period{align-items:flex-start;flex-direction:column}
  .nbm-ph-driver-detail-box{width:100vw;max-width:none}
}


/* PeopleHub ERP v8.5.47 — PDF progress modal */
.nbm-ph-pdf-progress{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.48);backdrop-filter:blur(5px)}
.nbm-ph-pdf-progress-card{width:min(520px,94vw);background:#fff;border:1px solid #dbe4ef;border-radius:26px;padding:30px;box-shadow:0 30px 90px rgba(15,23,42,.28);text-align:center}
.nbm-ph-pdf-progress-icon{width:62px;height:62px;margin:0 auto 16px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:#eef4ff;font-size:30px}
.nbm-ph-pdf-progress-card h3{margin:0 0 8px;font-size:24px;letter-spacing:-.6px}
.nbm-ph-pdf-progress-card p{margin:0;color:#64748b;font-weight:750}
.nbm-ph-pdf-progress-track{height:10px;margin:22px 0 16px;border-radius:999px;background:#e8eef7;overflow:hidden}
.nbm-ph-pdf-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:999px;transition:width .35s ease}
.nbm-ph-pdf-progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}
.nbm-ph-pdf-progress-steps span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:7px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#94a3b8;font-size:10px;line-height:1.25;font-weight:850}
.nbm-ph-pdf-progress-steps span.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.nbm-ph-pdf-progress-steps span.done{border-color:#bbf7d0;background:#ecfdf5;color:#166534}
.nbm-ph-pdf-progress-card small{display:block;color:#94a3b8;font-weight:700}
.nbm-ph-pdf-progress-card.success .nbm-ph-pdf-progress-bar{background:linear-gradient(90deg,#16a34a,#4ade80)}
.nbm-ph-pdf-progress-card.error .nbm-ph-pdf-progress-bar{background:linear-gradient(90deg,#dc2626,#fb7185)}
.nbm-ph-pdf-progress-card.error .nbm-ph-pdf-progress-icon{background:#fff1f2}
.nbm-ph-pdf-progress-card.success .nbm-ph-pdf-progress-icon{background:#ecfdf5}
@media(max-width:640px){
  .nbm-ph-pdf-progress-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nbm-ph-pdf-progress-card{padding:24px 18px}
}


/* PeopleHub ERP v8.5.48 — truthful action toast */
.nbm-ph-toast{display:flex;align-items:flex-start;gap:11px;min-width:310px;max-width:min(520px,calc(100vw - 32px));padding:14px 16px;border:1px solid rgba(255,255,255,.13)}
.nbm-ph-toast-icon{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:999px;background:rgba(255,255,255,.14);font-size:14px;font-weight:950}
.nbm-ph-toast-copy{line-height:1.45;font-size:12px;font-weight:850}
.nbm-ph-toast-success{background:#14532d;color:#fff;border-color:#22c55e}
.nbm-ph-toast-error{background:#7f1d1d;color:#fff;border-color:#ef4444}
.nbm-ph-toast-warning{background:#78350f;color:#fff;border-color:#f59e0b}
.nbm-ph-toast-info{background:#0f172a;color:#fff;border-color:#334155}
@media(max-width:640px){
  .nbm-ph-toast{left:16px;right:16px;bottom:16px;min-width:0;max-width:none}
}


/* ============================================================
   PeopleHub Enterprise Foundation v8.6.0
   Pilot scope: RPC Map only
   Isolation contract: phx-* namespace, no legacy overrides
   ============================================================ */
.phx-workspace[data-phx-workspace="rpc_map"] {
  --phx-bg: #f6f8fb;
  --phx-surface: #ffffff;
  --phx-surface-muted: #f8fafc;
  --phx-border: #e2e8f0;
  --phx-border-strong: #cbd5e1;
  --phx-text: #0f172a;
  --phx-text-muted: #64748b;
  --phx-primary: #1d4ed8;
  --phx-primary-soft: #eff6ff;
  --phx-success: #067647;
  --phx-success-soft: #ecfdf3;
  --phx-radius-sm: 7px;
  --phx-radius-md: 11px;
  --phx-radius-lg: 15px;
  color: var(--phx-text);
  display: grid;
  gap: 16px;
  min-width: 0;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header {
  align-items: center;
  background: transparent;
  border-bottom: 1px solid var(--phx-border);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  min-height: 68px;
  padding: 8px 2px 16px;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header__content { min-width: 0; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header__eyebrow {
  color: var(--phx-primary);
  display: block;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header__title {
  color: var(--phx-text);
  font-size: clamp(21px, 2vw, 25px);
  font-weight: 760;
  letter-spacing: -.025em;
  line-height: 1.2;
  margin: 0;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header__description {
  color: var(--phx-text-muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 5px 0 0;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-data-workspace { display: grid; gap: 14px; min-width: 0; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar {
  align-items: center;
  background: var(--phx-surface);
  border: 1px solid var(--phx-border);
  border-radius: var(--phx-radius-lg);
  box-shadow: 0 1px 2px rgba(15,23,42,.035);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar__primary,
.phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar__actions { align-items: center; display: flex; gap: 8px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar__primary { flex: 1 1 auto; min-width: 0; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-search { flex: 1 1 320px; max-width: 520px; min-width: 220px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-search__input,
.phx-workspace[data-phx-workspace="rpc_map"] .phx-filter {
  background: #fff;
  border: 1px solid var(--phx-border-strong);
  border-radius: var(--phx-radius-sm);
  color: var(--phx-text);
  font: inherit;
  height: 40px;
  outline: none;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-search__input { padding: 0 13px; width: 100%; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-filter { min-width: 150px; padding: 0 34px 0 11px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-search__input:focus,
.phx-workspace[data-phx-workspace="rpc_map"] .phx-filter:focus,
.phx-workspace[data-phx-workspace="rpc_map"] .phx-button:focus-visible {
  border-color: var(--phx-primary);
  box-shadow: 0 0 0 3px rgba(29,78,216,.14);
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--phx-radius-sm);
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  padding: 0 14px;
  white-space: nowrap;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-button--secondary { background: #fff; border-color: var(--phx-border-strong); color: #334155; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-button--secondary:hover { background: var(--phx-surface-muted); border-color: #94a3b8; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-button--ghost { background: transparent; color: var(--phx-text-muted); }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-button--ghost:hover { background: var(--phx-surface-muted); color: var(--phx-text); }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-summary-strip {
  background: var(--phx-surface);
  border: 1px solid var(--phx-border);
  border-radius: var(--phx-radius-md);
  display: flex;
  min-height: 66px;
  overflow: hidden;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-summary-item {
  align-items: center;
  display: flex;
  flex: 1 1 0;
  gap: 12px;
  padding: 12px 18px;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-summary-item + .phx-summary-item { border-left: 1px solid var(--phx-border); }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-summary-item span { color: var(--phx-text-muted); font-size: 12px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-summary-item strong { color: var(--phx-text); font-size: 20px; letter-spacing: -.02em; margin-left: auto; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-source-line { align-items: center; color: var(--phx-text-muted); display: flex; font-size: 12px; gap: 8px; min-width: 0; padding: 0 2px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-source-line__label { font-weight: 700; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-source-line__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table-shell {
  background: var(--phx-surface);
  border: 1px solid var(--phx-border);
  border-radius: var(--phx-radius-lg);
  box-shadow: 0 10px 30px rgba(15,23,42,.045);
  min-width: 0;
  overflow: hidden;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table-scroll { max-height: min(64vh, 720px); overflow: auto; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table { border-collapse: separate; border-spacing: 0; font-size: 13px; min-width: 760px; width: 100%; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table th {
  background: var(--phx-surface-muted);
  border-bottom: 1px solid var(--phx-border);
  color: #475569;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .045em;
  padding: 11px 16px;
  position: sticky;
  text-align: left;
  text-transform: uppercase;
  top: 0;
  z-index: 2;
}
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table td { border-bottom: 1px solid #edf1f6; color: #334155; padding: 12px 16px; vertical-align: middle; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table tbody tr:last-child td { border-bottom: 0; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table tbody tr:hover td { background: #fafcff; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-rpc-name { background: var(--phx-primary-soft); border: 1px solid #dbeafe; border-radius: 6px; color: #1e40af; font-size: 12px; padding: 4px 7px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-module-name { color: #334155; font-weight: 650; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-badge { align-items: center; border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-size: 11px; font-weight: 750; line-height: 1; min-height: 26px; padding: 0 9px; white-space: nowrap; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-badge--success { background: var(--phx-success-soft); border-color: #abefc6; color: var(--phx-success); }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-badge--neutral { background: #f8fafc; border-color: var(--phx-border); color: #475569; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-table-footer { align-items: center; border-top: 1px solid var(--phx-border); color: var(--phx-text-muted); display: flex; font-size: 12px; min-height: 44px; padding: 8px 16px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-empty-state,
.phx-workspace[data-phx-workspace="rpc_map"] .phx-loading-state { background: var(--phx-surface); border: 1px dashed var(--phx-border-strong); border-radius: var(--phx-radius-lg); color: var(--phx-text-muted); padding: 32px 20px; text-align: center; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-empty-state strong { color: var(--phx-text); display: block; font-size: 15px; margin-bottom: 5px; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-empty-state p { margin: 0; }
.phx-workspace[data-phx-workspace="rpc_map"] .phx-sr-only { clip: rect(0,0,0,0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
@media (max-width: 980px) {
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar { align-items: stretch; flex-direction: column; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar__primary { flex-wrap: wrap; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-search { max-width: none; min-width: 100%; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar__actions { justify-content: flex-end; }
}
@media (max-width: 640px) {
  .phx-workspace[data-phx-workspace="rpc_map"] { gap: 12px; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header { align-items: flex-start; flex-direction: column; gap: 12px; padding-bottom: 14px; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header__actions,
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-page-header__actions .phx-button { width: 100%; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar__primary,
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-command-bar__actions { align-items: stretch; flex-direction: column; width: 100%; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-filter,
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-button { width: 100%; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-summary-strip { flex-direction: column; }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-summary-item + .phx-summary-item { border-left: 0; border-top: 1px solid var(--phx-border); }
  .phx-workspace[data-phx-workspace="rpc_map"] .phx-table-scroll { max-height: 62vh; }
}


/* PeopleHub Enterprise Design System — Wave 1 Foundation v8.6.1 */
[data-phx-workspace="holiday"],
[data-phx-workspace="shift"],
[data-phx-workspace="notification"],
[data-phx-workspace="settings"] {
  min-height: 100%;
}

.phx-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding-top: 16px;
}
.phx-settings-card {
  background: var(--phx-surface, #fff);
  border: 1px solid var(--phx-border, #e2e8f0);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.phx-settings-card__head {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.phx-settings-card__head h3 {margin:3px 0 0;font-size:16px;line-height:1.3;color:#0f172a}
.phx-settings-card__eyebrow {font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.phx-description-list {margin:0;display:grid;gap:0}
.phx-description-list div {display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:11px 0;border-top:1px solid #eef2f7}
.phx-description-list div:first-child {border-top:0}
.phx-description-list dt {font-size:12px;color:#64748b}
.phx-description-list dd {margin:0;font-size:13px;font-weight:500;color:#1e293b;overflow-wrap:anywhere}
.phx-source-line__count {margin-left:auto;font-size:12px;color:#64748b}
.phx-action-column {width:92px;text-align:right;white-space:nowrap}
.phx-row-actions {display:flex;justify-content:flex-end;gap:6px}
.phx-date-time {font-variant-numeric:tabular-nums;white-space:nowrap}
.phx-error-text {display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b42318}
.phx-muted {color:#94a3b8}

[data-phx-workspace="holiday"] .phx-table th:first-child,
[data-phx-workspace="holiday"] .phx-table td:first-child {width:150px;white-space:nowrap}
[data-phx-workspace="shift"] .phx-table th:first-child,
[data-phx-workspace="shift"] .phx-table td:first-child {min-width:180px;font-weight:600}
[data-phx-workspace="notification"] .phx-table th:nth-child(1),
[data-phx-workspace="notification"] .phx-table td:nth-child(1) {min-width:170px}
[data-phx-workspace="notification"] .phx-table th:nth-child(3),
[data-phx-workspace="notification"] .phx-table td:nth-child(3) {min-width:210px}
[data-phx-workspace="notification"] .phx-table th:nth-child(5),
[data-phx-workspace="notification"] .phx-table td:nth-child(5) {min-width:220px}

@media (max-width: 900px) {
  .phx-settings-grid {grid-template-columns:1fr}
  .phx-description-list div {grid-template-columns:110px minmax(0,1fr)}
}
@media (max-width: 640px) {
  .phx-settings-card {padding:16px}
  .phx-description-list div {grid-template-columns:1fr;gap:4px}
}

/* ======================================================================
 * PEOPLEHUB ENTERPRISE MODERNIZATION
 * STEP 1 CHUNK 5 — ENTERPRISE DATA WORKSPACE
 * Scope: phx-* only. No legacy/global selector overrides.
 * ====================================================================== */

.phx-data-workspace {
  display: flex;
  flex-direction: column;
  gap: var(--ph-space-3, 12px);
  min-width: 0;
  width: 100%;
}

.phx-data-workspace__header {
  align-items: flex-start;
  display: flex;
  gap: var(--ph-space-4, 16px);
  justify-content: space-between;
  min-width: 0;
}

.phx-data-workspace__title-group {
  min-width: 0;
}

.phx-data-workspace__title {
  color: var(--ph-text, #0f172a);
  font-size: var(--ph-font-size-heading, 20px);
  font-weight: var(--ph-font-weight-semibold, 600);
  line-height: 1.3;
  margin: 0;
}

.phx-data-workspace__description {
  color: var(--ph-text-secondary, #64748b);
  font-size: var(--ph-font-size-body, 14px);
  line-height: 1.5;
  margin: var(--ph-space-1, 4px) 0 0;
}

.phx-command-bar {
  align-items: center;
  background: var(--ph-surface, #fff);
  border: 1px solid var(--ph-border, #e2e8f0);
  border-radius: var(--ph-radius-md, 12px);
  box-shadow: var(--ph-shadow-xs, 0 1px 2px rgba(15,23,42,.05));
  display: flex;
  gap: var(--ph-space-3, 12px);
  justify-content: space-between;
  min-height: var(--ph-height-toolbar, 56px);
  padding: var(--ph-space-2, 8px) var(--ph-space-3, 12px);
}

.phx-command-bar__primary,
.phx-command-bar__actions {
  align-items: center;
  display: flex;
  gap: var(--ph-space-2, 8px);
  min-width: 0;
}

.phx-command-bar__primary {
  flex: 1 1 auto;
}

.phx-command-bar__actions {
  flex: 0 0 auto;
  justify-content: flex-end;
}

.phx-command-bar__search {
  flex: 1 1 320px;
  max-width: 520px;
  min-width: 220px;
}

.phx-filter-bar {
  align-items: center;
  background: var(--ph-surface-subtle, #f8fafc);
  border: 1px solid var(--ph-border, #e2e8f0);
  border-radius: var(--ph-radius-md, 12px);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ph-space-2, 8px);
  min-height: var(--ph-height-filter, 52px);
  padding: var(--ph-space-2, 8px) var(--ph-space-3, 12px);
}

.phx-filter-bar__label {
  color: var(--ph-text-muted, #64748b);
  font-size: var(--ph-font-size-label, 13px);
  font-weight: var(--ph-font-weight-medium, 500);
  white-space: nowrap;
}

.phx-kpi-strip {
  align-items: stretch;
  background: var(--ph-surface, #fff);
  border: 1px solid var(--ph-border, #e2e8f0);
  border-radius: var(--ph-radius-md, 12px);
  display: grid;
  grid-auto-columns: minmax(150px, 1fr);
  grid-auto-flow: column;
  min-height: var(--ph-height-kpi, 72px);
  overflow-x: auto;
}

.phx-kpi-strip__item {
  align-content: center;
  display: grid;
  gap: var(--ph-space-1, 4px);
  min-width: 150px;
  padding: var(--ph-space-3, 12px) var(--ph-space-4, 16px);
  position: relative;
}

.phx-kpi-strip__item + .phx-kpi-strip__item::before {
  background: var(--ph-border, #e2e8f0);
  content: "";
  inset: var(--ph-space-3, 12px) auto var(--ph-space-3, 12px) 0;
  position: absolute;
  width: 1px;
}

.phx-kpi-strip__label {
  color: var(--ph-text-muted, #64748b);
  font-size: var(--ph-font-size-caption, 12px);
  font-weight: var(--ph-font-weight-medium, 500);
  line-height: 1.25;
}

.phx-kpi-strip__value {
  color: var(--ph-text, #0f172a);
  font-size: var(--ph-font-size-heading, 20px);
  font-variant-numeric: tabular-nums;
  font-weight: var(--ph-font-weight-semibold, 600);
  line-height: 1.2;
}

.phx-table-shell {
  background: var(--ph-surface, #fff);
  border: 1px solid var(--ph-border, #e2e8f0);
  border-radius: var(--ph-radius-md, 12px);
  box-shadow: var(--ph-shadow-xs, 0 1px 2px rgba(15,23,42,.05));
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 240px;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.phx-table-shell:focus-within {
  border-color: var(--ph-border-strong, #cbd5e1);
}

.phx-table-scroll {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.phx-table {
  border-collapse: separate;
  border-spacing: 0;
  color: var(--ph-text, #0f172a);
  font-size: var(--ph-font-size-body, 14px);
  min-width: 100%;
  table-layout: auto;
  width: 100%;
}

.phx-table thead th {
  background: var(--ph-surface-muted, #f1f5f9);
  border-bottom: 1px solid var(--ph-border-strong, #cbd5e1);
  color: var(--ph-text-secondary, #475569);
  font-size: var(--ph-font-size-caption, 12px);
  font-weight: var(--ph-font-weight-semibold, 600);
  height: var(--ph-height-table-head, 46px);
  letter-spacing: .02em;
  padding: 0 var(--ph-space-3, 12px);
  position: sticky;
  text-align: left;
  text-transform: none;
  top: 0;
  white-space: nowrap;
  z-index: var(--ph-z-sticky, 20);
}

.phx-table tbody td {
  background: var(--ph-surface, #fff);
  border-bottom: 1px solid var(--ph-border, #e2e8f0);
  font-weight: var(--ph-font-weight-medium, 500);
  height: var(--ph-height-row, 48px);
  padding: var(--ph-space-2, 8px) var(--ph-space-3, 12px);
  vertical-align: middle;
}

.phx-table tbody tr:last-child td {
  border-bottom: 0;
}

.phx-table tbody tr {
  transition: background-color var(--ph-motion-fast, 100ms) ease;
}

.phx-table tbody tr:hover td {
  background: var(--ph-surface-subtle, #f8fafc);
}

.phx-table tbody tr[aria-selected="true"] td,
.phx-table tbody tr.is-selected td {
  background: var(--ph-primary-soft, #eff6ff);
}

.phx-table tbody tr[aria-disabled="true"] td,
.phx-table tbody tr.is-disabled td {
  color: var(--ph-text-subtle, #94a3b8);
  cursor: not-allowed;
  opacity: .72;
}

.phx-table th[data-sticky="left"],
.phx-table td[data-sticky="left"] {
  left: 0;
  position: sticky;
}

.phx-table th[data-sticky="right"],
.phx-table td[data-sticky="right"] {
  position: sticky;
  right: 0;
}

.phx-table th[data-sticky],
.phx-table td[data-sticky] {
  box-shadow: 1px 0 0 var(--ph-border, #e2e8f0);
  z-index: calc(var(--ph-z-sticky, 20) + 1);
}

.phx-table td[data-sticky] {
  background: var(--ph-surface, #fff);
}

.phx-table tbody tr:hover td[data-sticky] {
  background: var(--ph-surface-subtle, #f8fafc);
}

.phx-table__checkbox-column {
  text-align: center;
  width: 44px;
}

.phx-table__action-column {
  text-align: right;
  white-space: nowrap;
  width: 1%;
}

.phx-table__primary-cell {
  color: var(--ph-text, #0f172a);
  font-weight: var(--ph-font-weight-semibold, 600);
}

.phx-table__secondary-text {
  color: var(--ph-text-muted, #64748b);
  display: block;
  font-size: var(--ph-font-size-caption, 12px);
  font-weight: var(--ph-font-weight-regular, 400);
  margin-top: var(--ph-space-1, 4px);
}

.phx-table-footer {
  align-items: center;
  background: var(--ph-surface, #fff);
  border-top: 1px solid var(--ph-border, #e2e8f0);
  display: flex;
  gap: var(--ph-space-3, 12px);
  justify-content: space-between;
  min-height: 48px;
  padding: var(--ph-space-2, 8px) var(--ph-space-3, 12px);
}

.phx-table-footer__meta {
  color: var(--ph-text-muted, #64748b);
  font-size: var(--ph-font-size-caption, 12px);
}

.phx-pagination {
  align-items: center;
  display: flex;
  gap: var(--ph-space-1, 4px);
}

.phx-pagination__button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--ph-radius-sm, 8px);
  color: var(--ph-text-secondary, #475569);
  cursor: pointer;
  display: inline-flex;
  font-size: var(--ph-font-size-label, 13px);
  font-weight: var(--ph-font-weight-medium, 500);
  height: 32px;
  justify-content: center;
  min-width: 32px;
  padding: 0 var(--ph-space-2, 8px);
  transition: background-color var(--ph-motion-fast, 100ms) ease,
              border-color var(--ph-motion-fast, 100ms) ease,
              color var(--ph-motion-fast, 100ms) ease;
}

.phx-pagination__button:hover:not(:disabled) {
  background: var(--ph-surface-muted, #f1f5f9);
  border-color: var(--ph-border, #e2e8f0);
}

.phx-pagination__button[aria-current="page"] {
  background: var(--ph-primary, #1d4ed8);
  border-color: var(--ph-primary, #1d4ed8);
  color: var(--ph-text-inverse, #fff);
}

.phx-pagination__button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.phx-bulk-action-bar {
  align-items: center;
  background: var(--ph-text, #0f172a);
  border-radius: var(--ph-radius-md, 12px);
  bottom: var(--ph-space-4, 16px);
  box-shadow: var(--ph-shadow-lg, 0 20px 40px rgba(15,23,42,.18));
  color: var(--ph-text-inverse, #fff);
  display: flex;
  gap: var(--ph-space-3, 12px);
  justify-content: space-between;
  left: 50%;
  max-width: min(720px, calc(100% - 32px));
  min-height: 48px;
  padding: var(--ph-space-2, 8px) var(--ph-space-3, 12px);
  position: fixed;
  transform: translateX(-50%);
  width: max-content;
  z-index: var(--ph-z-sticky, 20);
}

.phx-bulk-action-bar[hidden] {
  display: none;
}

.phx-density--compact .phx-table tbody td {
  height: 40px;
  padding-bottom: var(--ph-space-1, 4px);
  padding-top: var(--ph-space-1, 4px);
}

.phx-density--comfortable .phx-table tbody td {
  height: 56px;
  padding-bottom: var(--ph-space-3, 12px);
  padding-top: var(--ph-space-3, 12px);
}

.phx-column-resizer {
  cursor: col-resize;
  inset: 0 -3px 0 auto;
  position: absolute;
  touch-action: none;
  width: 6px;
}

.phx-column-resizer:hover,
.phx-column-resizer.is-resizing {
  background: var(--ph-primary, #1d4ed8);
}

.phx-table-empty,
.phx-table-loading,
.phx-table-error {
  align-items: center;
  color: var(--ph-text-muted, #64748b);
  display: flex;
  flex: 1 1 auto;
  justify-content: center;
  min-height: 240px;
  padding: var(--ph-space-6, 24px);
  text-align: center;
}

.phx-table-error {
  color: var(--ph-danger, #b42318);
}

@media (max-width: 1024px) {
  .phx-command-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .phx-command-bar__primary,
  .phx-command-bar__actions {
    flex-wrap: wrap;
    width: 100%;
  }

  .phx-command-bar__actions {
    justify-content: flex-start;
  }

  .phx-command-bar__search {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .phx-data-workspace__header {
    flex-direction: column;
  }

  .phx-command-bar__primary,
  .phx-command-bar__actions,
  .phx-filter-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .phx-command-bar__search,
  .phx-command-bar__primary > *,
  .phx-command-bar__actions > *,
  .phx-filter-bar > * {
    max-width: none;
    width: 100%;
  }

  .phx-kpi-strip {
    grid-auto-columns: minmax(132px, 1fr);
  }

  .phx-table-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .phx-pagination {
    flex-wrap: wrap;
  }

  .phx-bulk-action-bar {
    bottom: var(--ph-space-2, 8px);
    width: calc(100% - 16px);
  }
}

/* ======================================================================
 * PEOPLEHUB ERP v8.7.0 — STEP 1 FOUNDATION LAYOUT FINAL
 * Scope: shell, grid, design tokens, shared components and data workspace.
 * Business logic / AJAX / RPC contracts are intentionally untouched.
 * ====================================================================== */
.nbm-ph-shell {
  --ph-color-primary: var(--nbm-primary, #2563eb);
  --ph-color-primary-hover: #1d4ed8;
  --ph-color-primary-soft: #eff6ff;
  --ph-color-success: #067647;
  --ph-color-success-soft: #ecfdf3;
  --ph-color-warning: #b54708;
  --ph-color-warning-soft: #fffaeb;
  --ph-color-danger: #b42318;
  --ph-color-danger-soft: #fef3f2;
  --ph-color-info: #175cd3;
  --ph-color-bg: #f5f7fb;
  --ph-color-surface: #ffffff;
  --ph-color-surface-subtle: #f8fafc;
  --ph-color-border: #e2e8f0;
  --ph-color-border-strong: #cbd5e1;
  --ph-color-text: #0f172a;
  --ph-color-text-secondary: #334155;
  --ph-color-text-muted: #64748b;
  --ph-space-1: 4px;
  --ph-space-2: 8px;
  --ph-space-3: 12px;
  --ph-space-4: 16px;
  --ph-space-5: 20px;
  --ph-space-6: 24px;
  --ph-space-8: 32px;
  --ph-space-10: 40px;
  --ph-space-12: 48px;
  --ph-space-16: 64px;
  --ph-radius-xs: 4px;
  --ph-radius-sm: 8px;
  --ph-radius-md: 12px;
  --ph-radius-lg: 16px;
  --ph-radius-xl: 20px;
  --ph-radius-pill: 999px;
  --ph-shadow-xs: 0 1px 2px rgba(15,23,42,.05);
  --ph-shadow-sm: 0 3px 10px rgba(15,23,42,.07);
  --ph-shadow-md: 0 12px 30px rgba(15,23,42,.10);
  --ph-motion-fast: 100ms;
  --ph-motion-normal: 150ms;
  --ph-motion-slow: 250ms;
  --ph-header-height: 64px;
  --ph-control-height: 40px;
  --ph-table-row-height: 48px;
  --ph-sidebar-width: 272px;
  background: var(--ph-color-bg) !important;
  border-radius: var(--ph-radius-lg) !important;
  display: grid !important;
  grid-template-columns: var(--ph-sidebar-width) minmax(0,1fr) !important;
  height: calc(100vh - 34px) !important;
  max-width: none !important;
  overflow: hidden !important;
}
.nbm-ph-admin-wrap .nbm-ph-shell { width: calc(100vw - 194px) !important; }
.nbm-ph-sidebar {
  background: linear-gradient(180deg,#0f172a 0%,#111827 100%) !important;
  border-right: 1px solid rgba(255,255,255,.06) !important;
  height: 100% !important;
  overflow: hidden !important;
  padding: var(--ph-space-5) var(--ph-space-3) !important;
}
.nbm-ph-brand { margin: 0 var(--ph-space-1) var(--ph-space-5) !important; min-height: 48px; }
.nbm-ph-brand-mark { border-radius: var(--ph-radius-md) !important; box-shadow: none !important; }
.nbm-ph-nav { display: block !important; height: calc(100% - 72px); overflow-y: auto; padding: 0 var(--ph-space-1) var(--ph-space-6); }
.nbm-ph-nav-group { margin: 0 0 var(--ph-space-5); }
.nbm-ph-nav-group-label { color: #64748b; font-size: 10px; font-weight: 700; letter-spacing: .1em; padding: 0 var(--ph-space-3) var(--ph-space-2); text-transform: uppercase; }
.nbm-ph-nav-item { border-radius: var(--ph-radius-md) !important; gap: var(--ph-space-3) !important; min-height: 42px !important; padding: 0 var(--ph-space-3) !important; transition: background var(--ph-motion-normal), color var(--ph-motion-normal), transform var(--ph-motion-fast) !important; }
.nbm-ph-nav-item > span { align-items: center; display: inline-flex; font-size: 18px !important; justify-content: center; width: 22px; }
.nbm-ph-nav-item > b { font-size: 12.5px !important; font-weight: 600 !important; }
.nbm-ph-nav-item:hover { background: rgba(255,255,255,.07) !important; transform: translateX(1px); }
.nbm-ph-nav-item.active { background: rgba(59,130,246,.20) !important; box-shadow: inset 3px 0 0 #60a5fa !important; color: #fff !important; }
.nbm-ph-main { background: var(--ph-color-bg) !important; height: 100% !important; min-width: 0; overflow-x: hidden !important; overflow-y: auto !important; padding: 0 var(--ph-space-6) var(--ph-space-6) !important; }
.nbm-ph-topbar {
  align-items: center !important;
  backdrop-filter: blur(10px);
  background: rgba(245,247,251,.94) !important;
  border-bottom: 1px solid var(--ph-color-border) !important;
  display: flex !important;
  min-height: var(--ph-header-height) !important;
  margin: 0 calc(var(--ph-space-6) * -1) var(--ph-space-4) !important;
  padding: var(--ph-space-2) var(--ph-space-6) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
}
.nbm-ph-topbar-context { min-width: 0; }
.nbm-ph-breadcrumb { align-items: center; color: var(--ph-color-text-muted); display: flex; font-size: 10px; gap: 6px; line-height: 1; margin-bottom: 4px; text-transform: uppercase; letter-spacing: .06em; }
.nbm-ph-breadcrumb i { font-style: normal; }
.nbm-ph-breadcrumb strong { color: var(--ph-color-text-secondary); font-weight: 700; }
.nbm-ph-topbar h1 { color: var(--ph-color-text) !important; font-size: 20px !important; font-weight: 650 !important; letter-spacing: -.025em !important; line-height: 1.1 !important; margin: 0 !important; }
.nbm-ph-topbar .nbm-ph-eyebrow { display: none !important; }
.nbm-ph-top-actions { margin-left: auto; }
.nbm-ph-icon-btn,.nbm-ph-user-pill { min-height: var(--ph-control-height) !important; }
.nbm-ph-content { margin: 0 auto; max-width: 1600px; min-width: 0; width: 100%; }

/* 12-column enterprise grid */
.phx-grid,.ph-grid { display: grid; gap: var(--ph-space-4); grid-template-columns: repeat(12,minmax(0,1fr)); min-width: 0; }
.phx-col-1,.ph-col-1{grid-column:span 1}.phx-col-2,.ph-col-2{grid-column:span 2}.phx-col-3,.ph-col-3{grid-column:span 3}.phx-col-4,.ph-col-4{grid-column:span 4}.phx-col-5,.ph-col-5{grid-column:span 5}.phx-col-6,.ph-col-6{grid-column:span 6}.phx-col-7,.ph-col-7{grid-column:span 7}.phx-col-8,.ph-col-8{grid-column:span 8}.phx-col-9,.ph-col-9{grid-column:span 9}.phx-col-10,.ph-col-10{grid-column:span 10}.phx-col-11,.ph-col-11{grid-column:span 11}.phx-col-12,.ph-col-12{grid-column:span 12}

/* Foundation component normalization — namespace only */
.phx-button,.phx-input,.phx-select,.phx-search__input { min-height: var(--ph-control-height); }
.phx-button { border-radius: var(--ph-radius-sm); transition: background var(--ph-motion-normal),border-color var(--ph-motion-normal),box-shadow var(--ph-motion-normal); }
.phx-card,.phx-table-shell,.phx-command-bar,.phx-summary-strip { border-color: var(--ph-color-border) !important; border-radius: var(--ph-radius-md) !important; box-shadow: var(--ph-shadow-xs) !important; }
.phx-table th { height: 46px; }
.phx-table td { min-height: var(--ph-table-row-height); }
.phx-table tbody tr { transition: background var(--ph-motion-fast); }
.phx-table-scroll { overscroll-behavior: contain; scrollbar-gutter: stable; }

@media (max-width: 1280px) {
  .nbm-ph-shell { --ph-sidebar-width: 244px; }
  .nbm-ph-admin-wrap .nbm-ph-shell { width: calc(100vw - 180px) !important; }
  .nbm-ph-main { padding-left: var(--ph-space-4) !important; padding-right: var(--ph-space-4) !important; }
  .nbm-ph-topbar { margin-left: calc(var(--ph-space-4) * -1) !important; margin-right: calc(var(--ph-space-4) * -1) !important; padding-left: var(--ph-space-4) !important; padding-right: var(--ph-space-4) !important; }
}
@media (max-width: 900px) {
  .nbm-ph-admin-wrap .nbm-ph-shell,.nbm-ph-shell { grid-template-columns: 1fr !important; height: auto !important; min-height: calc(100vh - 32px) !important; overflow: visible !important; width: auto !important; }
  .nbm-ph-sidebar { height: auto !important; overflow: visible !important; }
  .nbm-ph-nav { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); height: auto; overflow: visible; gap: var(--ph-space-3); }
  .nbm-ph-nav-group { margin: 0; }
  .nbm-ph-main { height: auto !important; overflow: visible !important; }
  .nbm-ph-topbar { position: relative !important; }
  .phx-col-1,.phx-col-2,.phx-col-3,.phx-col-4,.phx-col-5,.phx-col-6,.phx-col-7,.phx-col-8,.phx-col-9,.phx-col-10,.phx-col-11,.phx-col-12,.ph-col-1,.ph-col-2,.ph-col-3,.ph-col-4,.ph-col-5,.ph-col-6,.ph-col-7,.ph-col-8,.ph-col-9,.ph-col-10,.ph-col-11,.ph-col-12 { grid-column: span 6; }
}
@media (max-width: 640px) {
  .nbm-ph-sidebar,.nbm-ph-main { padding-left: var(--ph-space-3) !important; padding-right: var(--ph-space-3) !important; }
  .nbm-ph-nav { grid-template-columns: 1fr !important; }
  .nbm-ph-topbar { align-items: flex-start !important; flex-direction: column !important; margin-left: calc(var(--ph-space-3) * -1) !important; margin-right: calc(var(--ph-space-3) * -1) !important; padding-left: var(--ph-space-3) !important; padding-right: var(--ph-space-3) !important; }
  .nbm-ph-top-actions { margin-left: 0; width: 100%; }
  .phx-grid,.ph-grid { grid-template-columns: 1fr; }
  .phx-col-1,.phx-col-2,.phx-col-3,.phx-col-4,.phx-col-5,.phx-col-6,.phx-col-7,.phx-col-8,.phx-col-9,.phx-col-10,.phx-col-11,.phx-col-12,.ph-col-1,.ph-col-2,.ph-col-3,.ph-col-4,.ph-col-5,.ph-col-6,.ph-col-7,.ph-col-8,.ph-col-9,.ph-col-10,.ph-col-11,.ph-col-12 { grid-column: 1 / -1; }
}

/* ======================================================================
 * PEOPLEHUB ERP v8.7.1 — STEP 1 UAT RECOVERY PATCH
 * Scope: PHX component integration + Payroll Admin viewport recovery.
 * Sidebar, AJAX, RPC and business workflows remain unchanged.
 * ====================================================================== */
.phx-workspace {
  display: grid;
  gap: var(--ph-space-3, 12px);
  min-width: 0;
}
.phx-page-header {
  align-items: center;
  border-bottom: 1px solid var(--ph-color-border, #e2e8f0);
  display: flex;
  gap: var(--ph-space-4, 16px);
  justify-content: space-between;
  min-height: 76px;
  padding: var(--ph-space-2, 8px) 0 var(--ph-space-3, 12px);
}
.phx-page-header__content { min-width: 0; }
.phx-page-header__eyebrow {
  color: var(--ph-color-primary, #2563eb);
  display: block;
  font-size: var(--ph-font-size-caption, 12px);
  font-weight: var(--ph-font-weight-semibold, 600);
  letter-spacing: .08em;
  margin-bottom: var(--ph-space-1, 4px);
  text-transform: uppercase;
}
.phx-page-header__title {
  color: var(--ph-color-text, #0f172a);
  font-size: var(--ph-font-size-title, 24px);
  font-weight: var(--ph-font-weight-semibold, 600);
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 0;
}
.phx-page-header__description {
  color: var(--ph-color-text-muted, #64748b);
  font-size: var(--ph-font-size-body, 14px);
  margin: var(--ph-space-1, 4px) 0 0;
}
.phx-page-header__actions { flex: 0 0 auto; }
.phx-button {
  align-items: center;
  background: var(--ph-color-surface, #fff);
  border: 1px solid var(--ph-color-border-strong, #cbd5e1);
  border-radius: var(--ph-radius-sm, 8px);
  color: var(--ph-color-text-secondary, #334155);
  cursor: pointer;
  display: inline-flex;
  font-size: var(--ph-font-size-label, 13px);
  font-weight: var(--ph-font-weight-semibold, 600);
  justify-content: center;
  min-height: var(--ph-control-height, 40px);
  padding: 0 var(--ph-space-3, 12px);
  text-decoration: none;
  transition: background-color var(--ph-motion-normal, 150ms), border-color var(--ph-motion-normal, 150ms), box-shadow var(--ph-motion-normal, 150ms);
  white-space: nowrap;
}
.phx-button:hover { background: var(--ph-color-surface-muted, #f1f5f9); border-color: #94a3b8; }
.phx-button--primary { background: var(--ph-color-primary, #2563eb); border-color: var(--ph-color-primary, #2563eb); color: #fff; }
.phx-button--primary:hover { background: #1d4ed8; border-color: #1d4ed8; }
.phx-button--ghost { background: transparent; border-color: transparent; }
.phx-button--secondary { background: #fff; }
.phx-search { display: block; flex: 1 1 320px; margin: 0; max-width: 520px; min-width: 220px; }
.phx-search__input,
.phx-filter {
  appearance: none;
  background: #fff;
  border: 1px solid var(--ph-color-border-strong, #cbd5e1);
  border-radius: var(--ph-radius-sm, 8px);
  color: var(--ph-color-text, #0f172a);
  font: inherit;
  min-height: var(--ph-control-height, 40px);
  outline: none;
}
.phx-search__input { padding: 0 var(--ph-space-3, 12px); width: 100%; }
.phx-filter { min-width: 150px; padding: 0 34px 0 var(--ph-space-3, 12px); }
.phx-search__input:focus,
.phx-filter:focus { border-color: var(--ph-color-primary, #2563eb); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.phx-field { margin: 0; }
.phx-sr-only { clip: rect(0,0,0,0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.phx-source-line {
  align-items: center;
  color: var(--ph-color-text-muted, #64748b);
  display: flex;
  font-size: var(--ph-font-size-caption, 12px);
  gap: var(--ph-space-2, 8px);
  min-height: 28px;
  padding: 0 var(--ph-space-1, 4px);
}
.phx-source-line__label { font-weight: var(--ph-font-weight-semibold, 600); }
.phx-source-line__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phx-badge {
  align-items: center;
  background: #f8fafc;
  border: 1px solid var(--ph-color-border, #e2e8f0);
  border-radius: 999px;
  color: #475569;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  min-height: 26px;
  padding: 0 9px;
  white-space: nowrap;
}
.phx-badge--success { background: #ecfdf3; border-color: #abefc6; color: #067647; }
.phx-badge--warning { background: #fffaeb; border-color: #fedf89; color: #b54708; }
.phx-badge--danger { background: #fef3f2; border-color: #fecdca; color: #b42318; }
.phx-badge--info { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.phx-empty-state,
.phx-loading-state {
  background: #fff;
  border: 1px dashed var(--ph-color-border-strong, #cbd5e1);
  border-radius: var(--ph-radius-md, 12px);
  color: var(--ph-color-text-muted, #64748b);
  padding: var(--ph-space-6, 24px);
  text-align: center;
}
[data-phx-workspace="holiday"] .phx-data-workspace,
[data-phx-workspace="shift"] .phx-data-workspace,
[data-phx-workspace="notification"] .phx-data-workspace { gap: var(--ph-space-2, 8px); }
[data-phx-workspace="holiday"] .phx-table-scroll,
[data-phx-workspace="shift"] .phx-table-scroll,
[data-phx-workspace="notification"] .phx-table-scroll { max-height: calc(100vh - 300px); }
[data-phx-workspace="settings"] .phx-page-header__title { font-size: var(--ph-font-size-title, 24px); }

/* Payroll Admin: content-first recovery. */
[data-view="payroll"] > .nbm-ph-hero.compact { display: none; }
[data-view="payroll"] > .nbm-ph-module-toolbar {
  border-radius: var(--ph-radius-md, 12px) !important;
  box-shadow: var(--ph-shadow-xs, 0 1px 2px rgba(15,23,42,.05)) !important;
  margin-bottom: var(--ph-space-2, 8px) !important;
  min-height: 48px !important;
  padding: var(--ph-space-1, 4px) var(--ph-space-2, 8px) !important;
}
[data-view="payroll"] > .nbm-ph-module-toolbar .nbm-ph-secondary,
[data-view="payroll"] > .nbm-ph-module-toolbar .nbm-ph-select {
  min-height: 36px !important;
  padding-bottom: 7px !important;
  padding-top: 7px !important;
}
[data-view="payroll"] .nbm-ph-module-result {
  display: flex;
  flex-direction: column;
  gap: var(--ph-space-2, 8px);
  min-height: 0;
}
.nbm-ph-payroll-context {
  align-items: center;
  background: linear-gradient(135deg, #173f9f, #2563eb);
  border-radius: var(--ph-radius-md, 12px);
  color: #fff;
  display: flex;
  justify-content: space-between;
  min-height: 68px;
  padding: var(--ph-space-3, 12px) var(--ph-space-4, 16px);
}
.nbm-ph-payroll-context__main { display: grid; gap: 2px; }
.nbm-ph-payroll-context__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .09em; opacity: .78; text-transform: uppercase; }
.nbm-ph-payroll-context__main strong { font-size: 20px; line-height: 1.15; }
.nbm-ph-payroll-context__main small { color: #dbeafe; font-size: 11px; font-weight: 600; }
.nbm-ph-payroll-context__meta { align-items: center; display: flex; gap: var(--ph-space-3, 12px); }
.nbm-ph-payroll-context__meta > span { font-size: 12px; }
.nbm-ph-payroll-context__meta b { font-size: 16px; }
.nbm-ph-payroll-kpi-strip {
  background: #fff;
  border: 1px solid var(--ph-color-border, #e2e8f0);
  border-radius: var(--ph-radius-md, 12px);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: 64px;
  overflow: hidden;
}
.nbm-ph-payroll-kpi-strip > div { align-content: center; display: grid; gap: 3px; padding: 9px 13px; position: relative; }
.nbm-ph-payroll-kpi-strip > div + div { border-left: 1px solid var(--ph-color-border, #e2e8f0); }
.nbm-ph-payroll-kpi-strip span { color: #64748b; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.nbm-ph-payroll-kpi-strip strong { color: #0f172a; font-size: 16px; font-variant-numeric: tabular-nums; line-height: 1.15; }
.nbm-ph-payroll-kpi-strip .is-danger strong { color: #b42318; }
.nbm-ph-payroll-kpi-strip .is-success strong { color: #067647; }
.nbm-ph-payroll-workflow-compact {
  align-items: center;
  background: #fff;
  border: 1px solid var(--ph-color-border, #e2e8f0);
  border-radius: var(--ph-radius-md, 12px);
  display: grid;
  gap: 8px 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 8px 12px;
}
.nbm-ph-payroll-workflow-compact .nbm-ph-stepper { display: grid; gap: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; }
.nbm-ph-payroll-workflow-compact .nbm-ph-step {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: flex;
  gap: 7px;
  min-height: 34px;
  padding: 4px 8px;
  position: relative;
}
.nbm-ph-payroll-workflow-compact .nbm-ph-step:not(:last-child)::after { background: #cbd5e1; content: ""; height: 1px; position: absolute; right: -1px; top: 50%; width: 12px; }
.nbm-ph-payroll-workflow-compact .nbm-ph-step > span { align-items: center; background: #e2e8f0; border-radius: 999px; color: #475569; display: inline-flex; font-size: 10px; font-weight: 700; height: 22px; justify-content: center; width: 22px; }
.nbm-ph-payroll-workflow-compact .nbm-ph-step b { font-size: 11px; white-space: nowrap; }
.nbm-ph-payroll-workflow-compact .nbm-ph-step.done > span { background: #dbeafe; color: #1d4ed8; }
.nbm-ph-payroll-workflow-compact .nbm-ph-step.active { background: #eff6ff; border-radius: 8px; }
.nbm-ph-payroll-workflow-compact .nbm-ph-step.active > span { background: #2563eb; color: #fff; }
.nbm-ph-payroll-signers.compact { display: flex; gap: 6px; margin: 0; }
.nbm-ph-payroll-signers.compact span { font-size: 10px; padding: 5px 8px; }
.nbm-ph-payroll-audit-toggle { grid-column: 1 / -1; }
.nbm-ph-payroll-audit-toggle summary { color: #475569; cursor: pointer; font-size: 11px; font-weight: 700; }
[data-view="payroll"] .nbm-ph-module-actions { margin: 0 !important; min-height: 40px; padding: 4px 0 !important; }
[data-view="payroll"] .nbm-ph-tools { margin: 0 !important; min-height: 42px; }
[data-view="payroll"] .nbm-ph-table-wrap { flex: 1 1 auto; min-height: 260px; }

@media (max-width: 1100px) {
  .nbm-ph-payroll-kpi-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nbm-ph-payroll-kpi-strip > div:nth-child(4) { border-left: 0; border-top: 1px solid var(--ph-color-border, #e2e8f0); }
  .nbm-ph-payroll-kpi-strip > div:nth-child(5) { border-top: 1px solid var(--ph-color-border, #e2e8f0); }
  .nbm-ph-payroll-workflow-compact { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .phx-page-header { align-items: flex-start; flex-direction: column; }
  .phx-page-header__actions, .phx-page-header__actions .phx-button { width: 100%; }
  .phx-command-bar__primary, .phx-command-bar__actions { align-items: stretch; flex-direction: column; }
  .phx-search, .phx-filter, .phx-button { max-width: none; width: 100%; }
  .nbm-ph-payroll-context { align-items: flex-start; flex-direction: column; }
  .nbm-ph-payroll-kpi-strip { grid-template-columns: 1fr; }
  .nbm-ph-payroll-kpi-strip > div + div { border-left: 0; border-top: 1px solid var(--ph-color-border, #e2e8f0); }
  .nbm-ph-payroll-workflow-compact .nbm-ph-stepper { grid-template-columns: 1fr; }
  .nbm-ph-payroll-workflow-compact .nbm-ph-step:not(:last-child)::after { display: none; }
}


/* ========================================================================== 
   PeopleHub ERP v8.8.0 — STEP 2 Enterprise Workspace Density
   Scope: presentation only; no business or RPC contract changes.
   ========================================================================== */
[data-view="dashboard"] .nbm-ph-kpi-icon{width:38px;height:38px;font-size:19px;margin-bottom:7px}
.nbm-ph-density-view>.nbm-ph-hero.nbm-ph-density-banner{min-height:56px;padding:8px 12px;margin-bottom:8px;border-radius:14px;display:flex;gap:10px;align-items:center;box-shadow:none}
.nbm-ph-density-view>.nbm-ph-hero.nbm-ph-density-banner>div:first-child{display:none}
.nbm-ph-density-view>.nbm-ph-hero.nbm-ph-density-banner>.nbm-ph-primary{margin-left:auto;min-height:38px}
.nbm-ph-promoted-command{display:flex;align-items:center;gap:8px;flex:1;min-width:0;margin:0;background:transparent;border:0;padding:0;box-shadow:none}
.nbm-ph-density-banner .nbm-ph-search{flex:1;min-width:220px;background:#fff;border-color:rgba(255,255,255,.55)}
.nbm-ph-density-banner .nbm-ph-secondary{background:rgba(255,255,255,.92);color:var(--ph-primary,#1d4ed8)}
.nbm-ph-density-banner .nbm-ph-primary{background:#fff;color:var(--ph-primary,#1d4ed8)}
.nbm-ph-density-view>.nbm-ph-module-toolbar{min-height:44px;padding:6px 10px;margin-bottom:8px;border-radius:12px;gap:7px}
.nbm-ph-density-view>.nbm-ph-module-result{padding-top:0}

[data-view="employee"] .nbm-ph-ew-stats.compact{display:flex;gap:0;height:42px;margin:0;flex:0 0 auto;border:1px solid var(--ph-border,#dbe4f0);border-radius:12px;overflow:hidden;background:#fff}
[data-view="employee"] .nbm-ph-ew-stats.compact>div{min-width:92px;padding:5px 12px;border-right:1px solid var(--ph-border,#dbe4f0);display:flex;align-items:center;gap:7px}
[data-view="employee"] .nbm-ph-ew-stats.compact>div:last-child{border-right:0}
[data-view="employee"] .nbm-ph-ew-stats small{order:2;margin:0;font-size:10px}
[data-view="employee"] .nbm-ph-ew-stats b{font-size:17px}
[data-view="employee"] .nbm-ph-ew-filterbar{display:flex;align-items:end;gap:8px;padding:6px 8px;min-height:50px;margin:7px 0}
[data-view="employee"] .nbm-ph-employee-inline-actions{min-height:46px;margin:7px 0;padding:6px 10px}
[data-view="employee"] .nbm-ph-employee-workspace{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center}
[data-view="employee"] .nbm-ph-ew-stats{grid-column:1}
[data-view="employee"] .nbm-ph-ew-filterbar{grid-column:2}
[data-view="employee"] .nbm-ph-employee-inline-actions,[data-view="employee"] .nbm-ph-table-wrap{grid-column:1/-1}

.nbm-ph-density-view .nbm-ph-payroll-grid.nbm-ph-approval-summary{height:54px;display:flex;gap:0;margin:0 0 7px;border:1px solid var(--ph-border,#dbe4f0);border-radius:12px;overflow:hidden}
.nbm-ph-density-view .nbm-ph-approval-summary .nbm-ph-payroll-box{flex:1;min-width:105px;border:0;border-right:1px solid var(--ph-border,#dbe4f0);border-radius:0;padding:6px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.nbm-ph-density-view .nbm-ph-approval-summary .nbm-ph-payroll-box:last-child{border-right:0}
.nbm-ph-density-view .nbm-ph-approval-summary h4{margin:0;font-size:9px}
.nbm-ph-density-view .nbm-ph-approval-summary strong{font-size:18px}
.nbm-ph-density-view .nbm-ph-module-actions{min-height:42px;padding:5px 8px;margin:0 0 6px;gap:6px}
.nbm-ph-density-view .nbm-ph-filterbar{min-height:48px;padding:5px 8px;margin-bottom:6px}
.nbm-ph-density-view .nbm-ph-tools{min-height:40px;margin-bottom:5px}
.nbm-ph-density-view .nbm-ph-table th{height:38px;padding-top:7px;padding-bottom:7px}
.nbm-ph-density-view .nbm-ph-table td{padding-top:8px;padding-bottom:8px}

[data-view="attendance"] .nbm-ph-att-kpis{height:58px;margin:6px 0;gap:6px}
[data-view="attendance"] .nbm-ph-att-kpi{min-height:58px;padding:6px 10px;border-radius:12px}
[data-view="attendance"] .nbm-ph-att-kpi .kpi-ico{width:32px;height:32px}
[data-view="attendance"] .nbm-ph-att-kpi b{font-size:19px}
[data-view="attendance"] .att-v831{min-height:48px;margin:6px 0}
[data-view="driver_attendance"] .nbm-ph-driver-period{min-height:58px;padding:8px 14px;margin-bottom:7px;border-radius:14px;background:linear-gradient(110deg,#12213f,#1e3a78)}
[data-view="driver_attendance"] .nbm-ph-driver-period h3{font-size:20px;color:#fff;margin:1px 0}
[data-view="driver_attendance"] .nbm-ph-driver-period p,[data-view="driver_attendance"] .nbm-ph-driver-period span{color:#dbeafe}
[data-view="driver_attendance"] .nbm-ph-driver-kpis{height:58px;gap:7px;margin-bottom:7px}
[data-view="driver_attendance"] .nbm-ph-driver-kpi{min-height:58px;padding:7px 11px;border-radius:12px}

[data-view="editing_shift"] .nbm-ph-editing-shift-workspace{padding-top:0}
[data-view="editing_shift"] .nbm-ph-promoted-command{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(620px,3fr);gap:8px}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls{display:flex;gap:7px;align-items:end;min-width:0}
[data-view="editing_shift"] .nbm-ph-editing-shift-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;padding-top:5px;border-top:1px solid rgba(255,255,255,.22)}
[data-view="editing_shift"] .nbm-ph-editing-shift-summary{color:#fff;background:rgba(255,255,255,.14)}

[data-view="payroll"] .nbm-ph-payroll-context__eyebrow{display:none}
[data-view="payroll"] .nbm-ph-payroll-context{min-height:52px;padding:7px 12px;margin-bottom:6px}
[data-view="payroll"] .nbm-ph-payroll-context__main strong{font-size:20px}
[data-view="payroll"] .nbm-ph-payroll-kpi-strip{height:54px;margin-bottom:6px}
[data-view="payroll"] .nbm-ph-payroll-kpi-strip>div{padding:6px 10px}
[data-view="payroll"] .nbm-ph-payroll-kpi-strip strong{font-size:17px}
[data-view="payroll"] .nbm-ph-payroll-workflow-compact{padding:6px 10px;margin-bottom:6px}
[data-view="payroll"] .nbm-ph-stepper{min-height:40px}
[data-view="payroll"] .nbm-ph-step{min-height:40px;padding:5px 8px}
[data-view="payroll"] .nbm-ph-payroll-signers.compact{margin-top:4px}

.nbm-ph-approval-groups{display:flex;flex-direction:column;gap:10px}
.nbm-ph-approval-group{background:#fff;border:1px solid var(--ph-border,#dbe4f0);border-radius:14px;overflow:hidden;box-shadow:var(--ph-shadow-xs,0 1px 2px rgba(15,23,42,.05))}
.nbm-ph-approval-group>header{min-height:48px;padding:7px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ph-surface-subtle,#f8fafc);border-bottom:1px solid var(--ph-border,#dbe4f0)}
.nbm-ph-approval-group>header>div:first-child{display:flex;align-items:center;gap:9px}
.nbm-ph-approval-group-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--ph-primary-soft,#e8f0ff);color:var(--ph-primary,#1d4ed8);font-weight:800}
.nbm-ph-approval-group header strong{font-size:13px}.nbm-ph-approval-group header small{color:var(--ph-text-muted,#64748b)}
.nbm-ph-stage-chips{display:flex;gap:5px;flex-wrap:wrap}.nbm-ph-stage-chip{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700;background:#eef2f7;color:#475569}.nbm-ph-stage-chip.stage-1,.nbm-ph-stage-chip.stage-2,.nbm-ph-stage-chip.stage-3{background:#fff4e5;color:#9a5a00}.nbm-ph-stage-chip.stage-4{background:#e8faef;color:#087443}.nbm-ph-stage-chip.stage-5{background:#feecef;color:#b4233a}
.nbm-ph-approval-group .nbm-ph-table-wrap{border:0;border-radius:0;box-shadow:none;margin:0}
.nbm-ph-approval-group .nbm-ph-table{min-width:980px}

[data-phx-workspace="holiday"] .phx-page-header__eyebrow,[data-phx-workspace="holiday"] .phx-page-header__description,
[data-phx-workspace="shift"] .phx-page-header__eyebrow,[data-phx-workspace="shift"] .phx-page-header__description,
[data-phx-workspace="notification"] .phx-page-header__eyebrow,[data-phx-workspace="notification"] .phx-page-header__description,
[data-phx-workspace="rpc_map"] .phx-page-header__eyebrow,[data-phx-workspace="rpc_map"] .phx-page-header__description,
[data-phx-workspace="settings"] .phx-page-header__eyebrow,[data-phx-workspace="settings"] .phx-page-header__description{display:none}
[data-phx-workspace="holiday"] .phx-page-header,[data-phx-workspace="shift"] .phx-page-header,[data-phx-workspace="notification"] .phx-page-header,[data-phx-workspace="rpc_map"] .phx-page-header,[data-phx-workspace="settings"] .phx-page-header{min-height:52px;padding:7px 0;margin-bottom:8px}
[data-phx-workspace] .phx-page-header__title{font-size:20px;margin:0}
[data-view="device"]>.nbm-ph-module-toolbar+ .nbm-ph-module-result .nbm-ph-module-actions:first-child{display:none}
.nbm-ph-money-input{font-variant-numeric:tabular-nums;text-align:right;font-weight:650}

@media(max-width:1180px){
  [data-view="employee"] .nbm-ph-employee-workspace{display:block}
  [data-view="employee"] .nbm-ph-ew-stats.compact{margin-bottom:6px;overflow:auto}
  .nbm-ph-promoted-command{flex-wrap:wrap}
  [data-view="editing_shift"] .nbm-ph-promoted-command{display:flex}
}


/* ========================================================================== 
   PeopleHub ERP v8.8.1 — STEP 2 Employee Density Recovery
   Structural correction: explicit control strip; no legacy grid distribution.
   ========================================================================== */
[data-view="employee"] .nbm-ph-employee-workspace.nbm-ph-employee-density-v881{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  gap:6px;
  align-content:initial;
}
[data-view="employee"] .nbm-ph-employee-density-v881>.nbm-ph-employee-control-strip{
  display:grid;
  grid-template-columns:auto minmax(390px,1fr) auto;
  align-items:end;
  gap:8px;
  min-height:54px;
  padding:6px 8px;
  margin:0;
  border:1px solid var(--ph-border,#dbe4f0);
  border-radius:12px;
  background:var(--ph-surface,#fff);
}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-stats.compact{
  display:flex;
  align-self:stretch;
  height:40px;
  min-width:0;
  margin:0;
  border:0;
  border-radius:9px;
  background:var(--ph-surface-subtle,#f8fafc);
  overflow:hidden;
}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-stats.compact>div{
  min-width:66px;
  padding:4px 8px;
  border-right:1px solid var(--ph-border,#dbe4f0);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  white-space:nowrap;
}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-stats.compact>div:last-child{border-right:0}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-stats.compact b{font-size:15px;line-height:1}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-stats.compact small{font-size:8px;line-height:1;letter-spacing:.04em}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-filterbar{
  display:grid;
  grid-template-columns:repeat(3,minmax(108px,1fr)) auto;
  align-items:end;
  gap:6px;
  min-width:0;
  min-height:40px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-filterbar .nbm-ph-filter{min-width:0;margin:0}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-filterbar .nbm-ph-filter span{font-size:8px;margin-bottom:2px}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-filterbar select{height:31px;min-height:31px;padding-top:0;padding-bottom:0;font-size:10px}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-filterbar button{height:31px;min-height:31px;padding:0 10px}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-employee-inline-actions{
  display:flex;
  align-items:center;
  align-self:stretch;
  gap:7px;
  min-height:40px;
  padding:4px 6px;
  margin:0;
  border:0;
  border-left:1px solid var(--ph-border,#dbe4f0);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-inline-label b{font-size:9px;white-space:nowrap}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-employee-inline-buttons{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-employee-inline-buttons button{height:30px;min-height:30px;padding:0 9px;font-size:9px}
[data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-draft-counter{min-width:84px;padding:6px 8px;font-size:8px;white-space:nowrap}
[data-view="employee"] .nbm-ph-employee-density-v881>.nbm-ph-employee-source{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
[data-view="employee"] .nbm-ph-employee-density-v881>.nbm-ph-table-wrap{
  flex:1 1 auto;
  min-height:300px;
  margin:0;
}
[data-view="employee"]>.nbm-ph-module-result{min-height:0}

@media(max-width:1420px){
  [data-view="employee"] .nbm-ph-employee-density-v881>.nbm-ph-employee-control-strip{
    grid-template-columns:auto minmax(350px,1fr);
  }
  [data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-employee-inline-actions{
    grid-column:1/-1;
    min-height:36px;
    border-left:0;
    border-top:1px solid var(--ph-border,#dbe4f0);
    justify-content:flex-end;
  }
}
@media(max-width:1050px){
  [data-view="employee"] .nbm-ph-employee-density-v881>.nbm-ph-employee-control-strip{display:flex;flex-wrap:wrap;align-items:flex-end}
  [data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-stats.compact{overflow-x:auto;max-width:100%}
  [data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-ew-filterbar{flex:1 1 100%;grid-template-columns:repeat(3,minmax(130px,1fr)) auto}
  [data-view="employee"] .nbm-ph-employee-density-v881 .nbm-ph-employee-inline-actions{flex:1 1 100%;border-top:1px solid var(--ph-border,#dbe4f0)}
}

/* ========================================================================== 
   PeopleHub ERP v8.8.2 — Employee Workspace Structural Rebuild
   Fully isolated from legacy employee stats/filter/action classes.
   ========================================================================== */
[data-view="employee"] .phx-employee-v882{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  min-height:0;
}
[data-view="employee"] .phx-employee-utility{
  display:grid;
  grid-template-columns:max-content minmax(480px,1fr) max-content;
  align-items:end;
  gap:12px;
  width:100%;
  min-height:56px;
  padding:8px 10px;
  margin:0;
  box-sizing:border-box;
  border:1px solid var(--ph-border,#dbe4f0);
  border-radius:var(--ph-radius-md,12px);
  background:var(--ph-surface,#fff);
  box-shadow:var(--ph-shadow-xs,0 1px 2px rgba(15,23,42,.04));
}
[data-view="employee"] .phx-employee-summary{
  display:flex;
  align-items:stretch;
  height:40px;
  overflow:hidden;
  border:1px solid var(--ph-border,#dbe4f0);
  border-radius:var(--ph-radius-sm,8px);
  background:var(--ph-surface-subtle,#f8fafc);
}
[data-view="employee"] .phx-employee-summary>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:68px;
  padding:0 9px;
  border-right:1px solid var(--ph-border,#dbe4f0);
  white-space:nowrap;
}
[data-view="employee"] .phx-employee-summary>div:last-child{border-right:0}
[data-view="employee"] .phx-employee-summary b{
  order:1;
  margin:0;
  color:var(--ph-text,#0f172a);
  font-size:15px;
  font-weight:700;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
[data-view="employee"] .phx-employee-summary small{
  order:2;
  margin:0;
  color:var(--ph-text-muted,#64748b);
  font-size:9px;
  font-weight:700;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
}
[data-view="employee"] .phx-employee-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(135px,1fr)) auto;
  align-items:end;
  gap:8px;
  min-width:0;
}
[data-view="employee"] .phx-employee-filters .nbm-ph-filter{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  margin:0;
}
[data-view="employee"] .phx-employee-filters .nbm-ph-filter span{
  margin:0;
  color:var(--ph-text-muted,#64748b);
  font-size:9px;
  font-weight:700;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
}
[data-view="employee"] .phx-employee-filters select,
[data-view="employee"] .phx-employee-reset-filter{
  height:34px;
  min-height:34px;
  margin:0;
}
[data-view="employee"] .phx-employee-draft-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:max-content;
  height:40px;
  padding-left:12px;
  border-left:1px solid var(--ph-border,#dbe4f0);
}
[data-view="employee"] .phx-employee-edit-label{
  color:var(--ph-text,#0f172a);
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}
[data-view="employee"] .phx-employee-draft-actions button{
  height:32px;
  min-height:32px;
  padding:0 10px;
  white-space:nowrap;
}
[data-view="employee"] .phx-employee-draft-actions .nbm-ph-draft-counter{
  display:inline-flex;
  align-items:center;
  min-width:118px;
  height:32px;
  padding:0 9px;
  white-space:nowrap;
  font-size:9px;
}
[data-view="employee"] .phx-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
[data-view="employee"] .phx-employee-v882>.nbm-ph-table-wrap{
  flex:1 1 auto;
  min-height:360px;
  margin:0;
}
[data-view="employee"]>.nbm-ph-module-result{min-height:0}

@media(max-width:1500px){
  [data-view="employee"] .phx-employee-utility{
    grid-template-columns:max-content minmax(430px,1fr);
  }
  [data-view="employee"] .phx-employee-draft-actions{
    grid-column:1/-1;
    justify-content:flex-end;
    height:36px;
    padding:6px 0 0;
    border-left:0;
    border-top:1px solid var(--ph-border,#dbe4f0);
  }
}
@media(max-width:1120px){
  [data-view="employee"] .phx-employee-utility{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  [data-view="employee"] .phx-employee-summary{width:max-content;max-width:100%;overflow-x:auto}
  [data-view="employee"] .phx-employee-filters{grid-template-columns:repeat(3,minmax(120px,1fr)) auto}
  [data-view="employee"] .phx-employee-draft-actions{grid-column:auto}
}
@media(max-width:760px){
  [data-view="employee"] .phx-employee-filters{grid-template-columns:1fr 1fr}
  [data-view="employee"] .phx-employee-draft-actions{justify-content:flex-start;flex-wrap:wrap;height:auto}
  [data-view="employee"] .phx-employee-edit-label{flex:1 1 100%}
}


/* ========================================================================== 
   PeopleHub ERP v8.8.3 — Employee Command Redistribution
   Draft actions live in the blue command bar; lower strip is summary + filters only.
   ========================================================================== */
[data-view="employee"] .phx-employee-command{
  display:grid;
  grid-template-columns:minmax(260px,0.72fr) auto auto auto auto minmax(0,1fr);
  align-items:center;
  gap:8px;
}
[data-view="employee"] .phx-employee-command .nbm-ph-ew-search{
  min-width:260px;
  max-width:560px;
  width:100%;
}
[data-view="employee"] .phx-employee-command-draft{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  min-width:0;
  margin-left:auto;
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.22);
}
[data-view="employee"] .phx-employee-command-draft button{
  height:34px;
  min-height:34px;
  padding:0 11px;
  white-space:nowrap;
}
[data-view="employee"] .phx-employee-command-draft .nbm-ph-draft-counter{
  display:inline-flex;
  align-items:center;
  min-width:142px;
  height:34px;
  padding:0 10px;
  border-color:rgba(245,158,11,.55);
  background:#fff7ed;
  color:#9a3412;
  white-space:nowrap;
  font-size:9px;
}
[data-view="employee"] .phx-employee-utility{
  grid-template-columns:max-content minmax(500px,1fr);
  align-items:end;
  min-height:56px;
}
[data-view="employee"] .phx-employee-filters{
  grid-template-columns:repeat(3,minmax(150px,1fr)) auto;
}
[data-view="employee"] .phx-employee-draft-actions,
[data-view="employee"] .phx-employee-edit-label{
  display:none;
}
@media(max-width:1220px){
  [data-view="employee"] .phx-employee-command{
    grid-template-columns:minmax(240px,1fr) auto auto auto auto;
  }
  [data-view="employee"] .phx-employee-command-draft{
    grid-column:1/-1;
    width:100%;
    justify-content:flex-end;
    margin-left:0;
    padding:7px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.20);
  }
}
@media(min-width:1221px){
  [data-view="employee"] .phx-employee-command-draft{
    grid-column:6;
  }
}
@media(max-width:1180px){
  [data-view="employee"] .phx-employee-utility{
    grid-template-columns:1fr;
  }
  [data-view="employee"] .phx-employee-summary{
    width:max-content;
    max-width:100%;
    overflow-x:auto;
  }
}
@media(max-width:760px){
  [data-view="employee"] .phx-employee-command{
    display:flex;
    flex-wrap:wrap;
  }
  [data-view="employee"] .phx-employee-command .nbm-ph-ew-search{
    flex:1 1 100%;
    min-width:0;
    max-width:none;
  }
  [data-view="employee"] .phx-employee-command-draft{
    flex:1 1 100%;
    justify-content:flex-start;
    overflow-x:auto;
  }
}


/* ==========================================================================
   PeopleHub ERP v8.8.4 — Employee Command Visibility Recovery
   The promoted command is inserted before Refresh, never as hidden first child.
   ========================================================================== */
[data-view="employee"] .nbm-ph-density-banner > .phx-employee-command{
  min-width:0;
  flex:1 1 auto;
}
[data-view="employee"] .nbm-ph-density-banner > .phx-employee-command .nbm-ph-ew-search{
  min-width:220px;
  max-width:430px;
}
@media(max-width:1380px){
  [data-view="employee"] .nbm-ph-density-banner > .phx-employee-command .nbm-ph-ew-search{max-width:330px}
  [data-view="employee"] .phx-employee-command-draft .nbm-ph-draft-counter{min-width:124px;padding-inline:8px}
}

/* ==========================================================================\n   PEOPLEHUB ERP v8.10.0 — SPREADSHEET RESET BASELINE\n   Stable table-first UI. No cross-module DOM promotion.\n   ========================================================================== */

/* Global workspace density */
.nbm-ph-main{padding:16px!important;background:#f4f7fb!important}
.nbm-ph-topbar{margin-bottom:12px!important;min-height:52px!important;align-items:center!important}
.nbm-ph-topbar h1{font-size:22px!important;line-height:1.15!important;letter-spacing:-.4px!important}
.nbm-ph-eyebrow{font-size:9px!important;letter-spacing:.11em!important;color:#64748b!important}
.nbm-ph-view.active{min-width:0!important}

/* Remove visual layers that consume working space. Employee keeps its proven command bar. */
.nbm-ph-view:not([data-view="employee"]) > .nbm-ph-hero,
.nbm-ph-view:not([data-view="employee"]) .nbm-ph-density-banner{display:none!important}
.nbm-ph-kpi-grid,
.nbm-ph-payroll-context,
.nbm-ph-payroll-kpi-strip,
.nbm-ph-payroll-workflow-compact,
.nbm-ph-approval-summary,
.nbm-ph-driver-period-card,
.nbm-ph-driver-summary,
.nbm-ph-payroll-grid{display:none!important}

/* Dashboard becomes a simple operational sheet landing page. */
[data-view="dashboard"] .nbm-ph-hero,
[data-view="dashboard"] .nbm-ph-kpi-grid{display:none!important}
[data-view="dashboard"] .nbm-ph-split{grid-template-columns:1fr 1fr!important;gap:12px!important}
[data-view="dashboard"] .nbm-ph-card{border-radius:10px!important;padding:14px!important;box-shadow:none!important}

/* Shared spreadsheet toolbar */
.nbm-ph-module-toolbar,
.nbm-ph-tools,
.nbm-ph-filterbar,
.nbm-ph-extra-filters,
.nbm-ph-payroll-toolbar,
.nbm-ph-payroll-actions,
.nbm-ph-editing-shift-toolbar{
  position:static!important;
  display:flex!important;
  align-items:flex-end!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 8px!important;
  padding:8px!important;
  background:#fff!important;
  border:1px solid #d9e2ef!important;
  border-radius:9px!important;
  box-shadow:none!important;
  overflow:visible!important;
  backdrop-filter:none!important;
  z-index:auto!important;
}
.nbm-ph-module-toolbar:empty,.nbm-ph-tools:empty{display:none!important}
.nbm-ph-module-toolbar label,
.nbm-ph-filter,
.nbm-ph-inline-field{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  min-width:150px!important;
  color:#52637a!important;
  font-size:10px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.nbm-ph-search,
.nbm-ph-select,
.nbm-ph-module-toolbar input,
.nbm-ph-module-toolbar select,
.nbm-ph-tools input,
.nbm-ph-tools select,
.nbm-ph-filterbar input,
.nbm-ph-filterbar select,
.nbm-ph-editing-shift-toolbar input,
.nbm-ph-editing-shift-toolbar select{
  height:36px!important;
  min-height:36px!important;
  padding:0 10px!important;
  border:1px solid #cbd7e6!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:none!important;
  outline:none!important;
}
.nbm-ph-search{flex:1 1 320px!important;min-width:220px!important}
.nbm-ph-search:focus,
.nbm-ph-module-toolbar input:focus,
.nbm-ph-module-toolbar select:focus,
.nbm-ph-editing-shift-toolbar input:focus,
.nbm-ph-editing-shift-toolbar select:focus{border-color:#4f7cff!important;box-shadow:0 0 0 2px rgba(79,124,255,.12)!important}

/* Buttons: colorful but spreadsheet-compact */
.nbm-ph-primary,.nbm-ph-secondary,.nbm-ph-danger,.nbm-ph-success,.nbm-ph-ghost{
  height:36px!important;
  min-height:36px!important;
  padding:0 12px!important;
  border-radius:7px!important;
  box-shadow:none!important;
  transform:none!important;
  font-size:11px!important;
  font-weight:700!important;
}
.nbm-ph-primary{background:#2f61e9!important;color:#fff!important}
.nbm-ph-secondary{background:#eef3ff!important;color:#244fc7!important;border:1px solid #d9e4ff!important}
.nbm-ph-success{background:#e6f8ef!important;color:#087a48!important;border:1px solid #bcebd3!important}
.nbm-ph-danger{background:#fff0f3!important;color:#c21f45!important;border:1px solid #ffd0db!important}
.nbm-ph-ghost{background:#f5f7fa!important;color:#41536b!important;border:1px solid #dde4ed!important}

/* Source/meta row stays subtle, never a panel. */
.nbm-ph-source-row,.nbm-ph-muted,.nbm-ph-tools .nbm-ph-badge{font-size:10px!important;color:#718096!important}
.nbm-ph-source-row{margin:0 0 5px!important;padding:0 4px!important;background:transparent!important;border:0!important}

/* Spreadsheet table foundation */
.nbm-ph-table-wrap,
.nbm-ph-module-result,
.nbm-ph-batch-a-result{
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #d9e2ef!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:auto!important;
}
.nbm-ph-table{border-collapse:separate!important;border-spacing:0!important;width:100%!important;background:#fff!important}
.nbm-ph-table th{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  height:38px!important;
  padding:8px 10px!important;
  background:#edf3f9!important;
  color:#53647a!important;
  border-right:1px solid #dce5ef!important;
  border-bottom:1px solid #cdd9e7!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
  white-space:nowrap!important;
}
.nbm-ph-table td{
  height:44px!important;
  padding:7px 10px!important;
  border-right:1px solid #e4eaf1!important;
  border-bottom:1px solid #e1e8f0!important;
  background:#fff!important;
  color:#172033!important;
  font-size:12px!important;
  vertical-align:middle!important;
}
.nbm-ph-table tbody tr:nth-child(even) td{background:#f9fbfd!important}
.nbm-ph-table tbody tr:hover td{background:#eef5ff!important}
.nbm-ph-table th:last-child,.nbm-ph-table td:last-child{border-right:0!important}
.nbm-ph-badge,.nbm-ph-soft-pill{border-radius:999px!important;padding:3px 8px!important;font-size:10px!important;line-height:1.2!important}

/* Editing Shift: explicit stable spreadsheet toolbar, no banner promotion/overlay. */
[data-view="editing_shift"] > .nbm-ph-hero{display:none!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-workspace{display:flex!important;flex-direction:column!important;gap:8px!important;min-height:0!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{
  display:grid!important;
  grid-template-columns:minmax(240px,1.25fr) minmax(150px,.55fr) minmax(170px,.65fr) minmax(260px,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-search{min-width:0!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls{
  grid-column:2/-1!important;
  display:grid!important;
  grid-template-columns:minmax(150px,.65fr) minmax(170px,.75fr) minmax(270px,1.1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
  min-width:0!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-filter,
[data-view="editing_shift"] .nbm-ph-editing-shift-controls .nbm-ph-inline-field{min-width:0!important;width:auto!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-reset-filter{align-self:end!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-summary{grid-column:1/-1!important;font-size:10px!important;color:#718096!important;padding:0!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-actions{
  grid-column:1/-1!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  padding-top:7px!important;
  border-top:1px solid #e5ebf2!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-wrap{max-height:calc(100vh - 190px)!important;border-radius:9px!important;margin:0!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-note,
[data-view="editing_shift"] .nbm-ph-editing-shift-filterbar,
[data-view="editing_shift"] .nbm-ph-editing-shift-command{display:none!important}

/* Approval pages: no KPI/hero; filters and actions first. */
[data-view^="approval_"] .nbm-ph-payroll-grid,
[data-view="pengajuan_all"] .nbm-ph-payroll-grid{display:none!important}
[data-view^="approval_"] .nbm-ph-module-result,
[data-view="pengajuan_all"] .nbm-ph-module-result{display:flex!important;flex-direction:column!important;gap:7px!important}

/* Payroll: keep workflow actions but remove visual dashboard layers. */
[data-view="payroll"] .nbm-ph-payroll-actions,
[data-view="payroll_master"] .nbm-ph-module-toolbar{order:0!important}
[data-view="payroll"] .nbm-ph-table-wrap,
[data-view="payroll_master"] .nbm-ph-table-wrap{max-height:calc(100vh - 205px)!important}

/* Modals become compact data-entry dialogs. */
.nbm-ph-modal-card{max-height:min(86vh,680px)!important;height:auto!important;border-radius:12px!important;overflow:hidden!important}
.nbm-ph-modal-body{overflow:auto!important;max-height:calc(86vh - 130px)!important;padding:14px!important}
.nbm-ph-modal-footer{position:sticky!important;bottom:0!important;background:#fff!important;padding:10px 14px!important;border-top:1px solid #dce5ef!important}

@media(max-width:1180px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{grid-template-columns:1fr 1fr!important}
  [data-view="editing_shift"] .nbm-ph-editing-shift-search,[data-view="editing_shift"] .nbm-ph-editing-shift-cutoff-field{grid-column:span 1!important}
}
@media(max-width:760px){
  .nbm-ph-main{padding:10px!important}
  .nbm-ph-module-toolbar,.nbm-ph-tools,.nbm-ph-filterbar,.nbm-ph-extra-filters{align-items:stretch!important}
  .nbm-ph-search,.nbm-ph-filter,.nbm-ph-inline-field{flex:1 1 100%!important;min-width:100%!important}
  [data-view="editing_shift"] .nbm-ph-editing-shift-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  [data-view="editing_shift"] .nbm-ph-editing-shift-controls{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  [data-view="editing_shift"] .nbm-ph-editing-shift-actions{justify-content:flex-start!important}
}


/* v8.10.2 — Canonical Editing Shift Spreadsheet Toolbar
   Isolated namespace. Does not inherit legacy Editing Shift toolbar rules. */
[data-view="editing_shift"] > .nbm-ph-hero{display:none!important}
[data-view="editing_shift"] .phx-es-workspace{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  min-height:0;
}
[data-view="editing_shift"] .phx-es-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1.4fr) minmax(160px,.75fr) minmax(180px,.85fr) minmax(300px,1.25fr);
  grid-template-areas:
    "search position employee cutoff"
    "actions actions actions actions"
    "summary summary summary summary";
  gap:8px 10px;
  align-items:end;
  padding:10px 12px;
  border:1px solid #dbe5f1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 16px rgba(15,23,42,.05);
  overflow:visible;
}
[data-view="editing_shift"] .phx-es-search{grid-area:search;min-width:0}
[data-view="editing_shift"] .phx-es-filter-position{grid-area:position;min-width:0}
[data-view="editing_shift"] .phx-es-filter-employee{grid-area:employee;min-width:0}
[data-view="editing_shift"] .phx-es-filter-cutoff{grid-area:cutoff;min-width:0}
[data-view="editing_shift"] .phx-es-search label,
[data-view="editing_shift"] .phx-es-filter,
[data-view="editing_shift"] .phx-es-filter .nbm-ph-filter{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  margin:0;
}
[data-view="editing_shift"] .phx-es-search span,
[data-view="editing_shift"] .phx-es-filter>span,
[data-view="editing_shift"] .phx-es-filter .nbm-ph-filter>span{
  display:block;
  font-size:10px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#64748b;
}
[data-view="editing_shift"] .phx-es-search input,
[data-view="editing_shift"] .phx-es-filter select,
[data-view="editing_shift"] .phx-es-filter .nbm-ph-filter select{
  width:100%;
  min-width:0;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  padding:0 12px;
  border:1px solid #cbd8e8;
  border-radius:9px;
  background:#fff;
  color:#172033;
  font-size:12px;
  box-sizing:border-box;
}
[data-view="editing_shift"] .phx-es-actions{
  grid-area:actions;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  padding-top:8px;
  border-top:1px solid #e6edf6;
}
[data-view="editing_shift"] .phx-es-actions button{
  width:auto;
  min-width:auto;
  height:36px;
  padding:0 13px;
  white-space:nowrap;
}
[data-view="editing_shift"] .phx-es-actions .nbm-ph-draft-counter{
  width:auto;
  min-width:170px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  white-space:nowrap;
}
[data-view="editing_shift"] .phx-es-summary{
  grid-area:summary;
  font-size:10px;
  line-height:1.2;
  color:#718096;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-wrap{
  max-height:calc(100vh - 205px)!important;
  margin:0!important;
  border-radius:10px!important;
}
@media (max-width:1280px){
  [data-view="editing_shift"] .phx-es-toolbar{
    grid-template-columns:1.2fr .8fr .9fr;
    grid-template-areas:
      "search position employee"
      "cutoff cutoff cutoff"
      "actions actions actions"
      "summary summary summary";
  }
}
@media (max-width:900px){
  [data-view="editing_shift"] .phx-es-toolbar{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "search search"
      "position employee"
      "cutoff cutoff"
      "actions actions"
      "summary summary";
  }
  [data-view="editing_shift"] .phx-es-actions{justify-content:flex-start}
}
@media (max-width:640px){
  [data-view="editing_shift"] .phx-es-toolbar{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  [data-view="editing_shift"] .phx-es-actions{justify-content:flex-start}
}

/* v8.10.3 — prevent global .nbm-ph-search flex-basis from becoming vertical height */
[data-view="editing_shift"] .phx-es-search,
[data-view="editing_shift"] .phx-es-search label{
  height:auto!important;
  min-height:0!important;
  align-self:end!important;
}
[data-view="editing_shift"] .phx-es-search .nbm-ph-search{
  flex:0 0 38px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
}


/* v8.10.4 — Editing Shift compact date columns.
   Prevent table auto-distribution from stretching each date across the viewport. */
[data-view="editing_shift"] .nbm-ph-editing-shift-table{
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  table-layout:fixed!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-table col.nbm-ph-col-date,
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
[data-view="editing_shift"] .nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
  width:108px!important;
  min-width:108px!important;
  max-width:108px!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
}
@media (max-width:1366px){
  [data-view="editing_shift"] .nbm-ph-editing-shift-table col.nbm-ph-col-date,
  [data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
  [data-view="editing_shift"] .nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
    width:100px!important;
    min-width:100px!important;
    max-width:100px!important;
  }
  [data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
  [data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
  }
}


/* v8.10.5 — canonical fixed spreadsheet widths for Editing Shift.
   Renderer supplies an exact total table width and inline col widths. */
[data-view="editing_shift"] .nbm-ph-editing-shift-table{
  table-layout:fixed!important;
  width:auto;
  min-width:0;
  max-width:none;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-table col.nbm-ph-col-name{width:270px!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-table col.nbm-ph-col-position{width:112px!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-table col.nbm-ph-col-default{width:108px!important}
[data-view="editing_shift"] .nbm-ph-editing-shift-table col.nbm-ph-col-date,
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
[data-view="editing_shift"] .nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  box-sizing:border-box!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  width:80px!important;
  min-width:80px!important;
  max-width:80px!important;
  box-sizing:border-box!important;
}


/* ==========================================================================
   PeopleHub ERP v8.10.7 — Global Refresh Control
   One stable refresh action in the topbar for every page.
   Legacy/module refresh buttons are hidden to prevent duplicates.
   ========================================================================== */
.nbm-ph-global-refresh{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  height:38px;
  padding:0 12px;
  border:1px solid #d7e1ee;
  border-radius:12px;
  background:#fff;
  color:#244fc7;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
}
.nbm-ph-global-refresh:hover{background:#eef3ff;border-color:#c8d6fb}
.nbm-ph-global-refresh:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(47,97,233,.16)}
.nbm-ph-global-refresh.is-loading{opacity:.68;cursor:wait}

/* Hide historical refresh controls; the topbar control is authoritative. */
.nbm-ph-view button[data-refresh-dashboard],
.nbm-ph-view button[data-load-module],
.phx-page-header__actions button[data-load-module]{display:none!important}

@media(max-width:760px){
  .nbm-ph-global-refresh{width:38px;padding:0}
  .nbm-ph-global-refresh span{display:none}
}


/* ==========================================================================\n   PEOPLEHUB ERP v8.10.8 — PAYROLL ADMIN COMPACT SUMMARY + PRIMARY PAY TABLE\n   ========================================================================== */
[data-view="payroll"] .nbm-ph-payroll-compact-summary{
  display:grid!important;
  grid-template-columns:minmax(260px,1.25fr) repeat(3,minmax(150px,.75fr));
  align-items:stretch;
  gap:0;
  margin:0 0 8px;
  overflow:hidden;
  background:#fff;
  border:1px solid #d9e2ef;
  border-radius:9px;
  box-shadow:none;
}
[data-view="payroll"] .nbm-ph-payroll-compact-meta,
[data-view="payroll"] .nbm-ph-payroll-compact-kpi{
  min-width:0;
  min-height:52px;
  padding:7px 12px;
  display:flex;
  align-items:center;
  gap:8px;
}
[data-view="payroll"] .nbm-ph-payroll-compact-meta{
  flex-wrap:wrap;
  border-right:1px solid #d9e2ef;
}
[data-view="payroll"] .nbm-ph-payroll-compact-meta strong{font-size:14px;color:#172033}
[data-view="payroll"] .nbm-ph-payroll-compact-meta>span{font-size:10px;color:#64748b;white-space:nowrap}
[data-view="payroll"] .nbm-ph-payroll-compact-kpi{
  justify-content:space-between;
  border-right:1px solid #d9e2ef;
}
[data-view="payroll"] .nbm-ph-payroll-compact-kpi:last-child{border-right:0}
[data-view="payroll"] .nbm-ph-payroll-compact-kpi span{
  color:#64748b;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap
}
[data-view="payroll"] .nbm-ph-payroll-compact-kpi strong{
  color:#172033;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap
}
[data-view="payroll"] .nbm-ph-payroll-compact-kpi.is-danger strong,.nbm-ph-money-danger{color:#b42318!important}
[data-view="payroll"] .nbm-ph-payroll-compact-kpi.is-success strong,.nbm-ph-money-success{color:#067647!important}
[data-view="payroll"] .nbm-ph-payroll-admin-table{min-width:1040px}
[data-view="payroll"] .nbm-ph-payroll-admin-table th:nth-child(1){min-width:230px}
[data-view="payroll"] .nbm-ph-payroll-admin-table th:nth-child(2){min-width:220px}
[data-view="payroll"] .nbm-ph-payroll-admin-table th:nth-child(3){min-width:180px}
[data-view="payroll"] .nbm-ph-payroll-admin-table th:nth-child(4){min-width:210px}
[data-view="payroll"] .nbm-ph-payroll-admin-table th:nth-child(n+5):nth-child(-n+7){min-width:130px;text-align:right}
[data-view="payroll"] .nbm-ph-payroll-admin-table td:nth-child(n+5):nth-child(-n+7){text-align:right}
[data-view="payroll"] .nbm-ph-payroll-admin-table th:last-child{min-width:88px}
@media(max-width:1180px){
  [data-view="payroll"] .nbm-ph-payroll-compact-summary{grid-template-columns:1fr repeat(3,minmax(135px,.7fr))}
  [data-view="payroll"] .nbm-ph-payroll-compact-meta>span:nth-of-type(1){display:none}
}
@media(max-width:820px){
  [data-view="payroll"] .nbm-ph-payroll-compact-summary{grid-template-columns:1fr 1fr}
  [data-view="payroll"] .nbm-ph-payroll-compact-meta{grid-column:1/-1;border-right:0;border-bottom:1px solid #d9e2ef}
  [data-view="payroll"] .nbm-ph-payroll-compact-kpi:nth-child(3){border-right:0}
  [data-view="payroll"] .nbm-ph-payroll-compact-kpi:last-child{grid-column:1/-1;border-top:1px solid #d9e2ef}
}


/* ==========================================================================
   PEOPLEHUB ERP v8.10.9 — PAYROLL KPI VISIBILITY CONTRACT
   ========================================================================== */
[data-view="payroll"] [data-module-result="payroll"] > .nbm-ph-payroll-compact-summary{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:52px!important;
}


/* ==========================================================
   PEOPLEHUB ERP v8.11.0 — PAYROLL ADMIN APK PARITY
   Canonical columns: THPN | POT | THP
   ========================================================== */
.nbm-ph-payroll-admin-table th:nth-last-child(4),
.nbm-ph-payroll-admin-table th:nth-last-child(3),
.nbm-ph-payroll-admin-table th:nth-last-child(2),
.nbm-ph-payroll-admin-table td:nth-last-child(4),
.nbm-ph-payroll-admin-table td:nth-last-child(3),
.nbm-ph-payroll-admin-table td:nth-last-child(2){
  text-align:right;
  white-space:nowrap;
}
.nbm-ph-payroll-admin-table th:nth-last-child(4),
.nbm-ph-payroll-admin-table th:nth-last-child(3),
.nbm-ph-payroll-admin-table th:nth-last-child(2){
  letter-spacing:.06em;
}
\n\n/* ==========================================================================\n   PEOPLEHUB ERP v8.11.3 — PAYROLL ADMIN SEARCH POSITION FIX\n   Search sits directly below workflow actions; no empty filter/source rows.\n   ========================================================================== */\n[data-view="payroll"] [data-module-result="payroll"] > .nbm-ph-module-actions{\n  margin-bottom:8px!important;\n}\n[data-view="payroll"] .nbm-ph-payroll-search-row{\n  display:grid!important;\n  grid-template-columns:minmax(320px,1fr) auto;\n  align-items:center!important;\n  gap:12px!important;\n  min-height:42px!important;\n  margin:0 0 8px!important;\n  padding:0!important;\n  background:transparent!important;\n  border:0!important;\n  border-radius:0!important;\n  box-shadow:none!important;\n}\n[data-view="payroll"] .nbm-ph-payroll-search-row .nbm-ph-search{\n  display:block!important;\n  width:100%!important;\n  min-width:0!important;\n  max-width:none!important;\n  height:38px!important;\n  flex:none!important;\n  margin:0!important;\n}\n[data-view="payroll"] .nbm-ph-payroll-row-count{\n  min-width:64px;\n  text-align:right;\n  white-space:nowrap;\n}\n[data-view="payroll"] .nbm-ph-payroll-search-row + .nbm-ph-table-wrap{\n  margin-top:0!important;\n}\n@media(max-width:760px){\n  [data-view="payroll"] .nbm-ph-payroll-search-row{grid-template-columns:1fr}\n  [data-view="payroll"] .nbm-ph-payroll-row-count{text-align:left}\n}\n

/* ========================================================================== 
   PEOPLEHUB ERP v8.11.4 — EDITING SHIFT READABLE DATE COLUMNS
   Fixed canonical width: readable shift names without auto-fit expansion.
   ========================================================================== */
[data-view="editing_shift"] .nbm-ph-editing-shift-table col.nbm-ph-col-date,
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-date-head,
[data-view="editing_shift"] .nbm-ph-editing-shift-table td.nbm-ph-shift-cell{
  width:124px!important;
  min-width:124px!important;
  max-width:124px!important;
  box-sizing:border-box!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell,
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  box-sizing:border-box!important;
}
[data-view="editing_shift"] .nbm-ph-editing-shift-table .nbm-ph-shift-edit-cell select{
  padding-left:10px!important;
  padding-right:28px!important;
  text-overflow:ellipsis;
}


/* ==========================================================
   PEOPLEHUB ERP v8.11.5 — EDITING SHIFT RETURN TO DEFAULT
   ========================================================== */
.nbm-ph-editing-shift-table select[data-editing-shift-cell] option[value="__NBM_RETURN_DEFAULT__"]{
  font-weight:700;
}


/* ==========================================================
   PEOPLEHUB ERP v8.11.8 — PAYROLL DETAIL FULL APK PARITY
   Isolated to detail drawer; no global workspace impact.
   ========================================================== */
.nbm-ph-payroll-detail-apk .nbm-ph-section-title{
  margin-top:16px;
}
.nbm-ph-payroll-detail-apk .nbm-ph-lines{
  border:1px solid #dbe5f0;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.nbm-ph-payroll-detail-apk .nbm-ph-line{
  min-height:42px;
  padding:8px 12px;
}
.nbm-ph-payroll-detail-apk .nbm-ph-line:nth-child(even){
  background:#f8fafc;
}
.nbm-ph-payroll-detail-apk .nbm-ph-line small{
  color:#64748b;
}
.nbm-ph-payroll-detail-apk .nbm-ph-line b{
  white-space:nowrap;
  text-align:right;
}

/* Reimburs Operational UI v8.13.2 */
.nbm-ph-reimburs-form-card{max-width:980px;margin:12px auto;padding:20px}
.nbm-ph-reimburs-form .nbm-ph-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nbm-ph-reimburs-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#334155}
.nbm-ph-reimburs-form input,.nbm-ph-reimburs-form select,.nbm-ph-reimburs-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;background:#fff;color:#0f172a;box-sizing:border-box}
.nbm-ph-form-span-2{grid-column:1/-1}
.nbm-ph-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.nbm-ph-reimburs-inline-result{margin-top:14px;padding:10px 12px;border-radius:10px;background:#f8fafc;color:#334155;min-height:18px}
.nbm-ph-reimburs-toolbar{display:flex;gap:10px;align-items:center;padding:10px 12px}
.nbm-ph-actions-cell{white-space:nowrap;display:flex;gap:6px;align-items:center}
.nbm-ph-danger{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer}
.nbm-ph-danger:hover{background:#ffe4e6}
.nbm-ph-reimburs-hero{margin-bottom:8px}
@media(max-width:760px){.nbm-ph-reimburs-form .nbm-ph-form-grid{grid-template-columns:1fr}.nbm-ph-form-span-2{grid-column:auto}.nbm-ph-form-actions{flex-direction:column}.nbm-ph-form-actions button{width:100%}}


/* Reimburs production polish v8.13.3 */
.nbm-ph-rb-limit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.nbm-ph-rb-limit-grid span{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid #dbe5f1;border-radius:10px;background:#fff;font-size:12px;color:#64748b}
.nbm-ph-rb-limit-grid b{font-size:15px;color:#0f172a}
.nbm-ph-rb-alert.warning{padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.nbm-ph-rb-modal{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:18px}
.nbm-ph-rb-modal-card{width:min(560px,100%);max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(15,23,42,.28);overflow:hidden}
.nbm-ph-rb-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e2e8f0}
.nbm-ph-rb-modal-head h3{margin:0;font-size:18px;color:#0f172a}.nbm-ph-rb-modal-head button{border:0;background:transparent;font-size:26px;line-height:1;color:#64748b;cursor:pointer}
.nbm-ph-rb-modal-body{padding:16px 18px;display:grid;gap:13px;max-height:65vh;overflow:auto}.nbm-ph-rb-modal-desc{margin:0;color:#64748b;line-height:1.5}
.nbm-ph-rb-field{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#334155}.nbm-ph-rb-field input,.nbm-ph-rb-field select,.nbm-ph-rb-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;color:#0f172a}
.nbm-ph-rb-check{display:flex;align-items:center;gap:9px;font-weight:700;color:#334155}.nbm-ph-rb-check input{width:18px;height:18px}
.nbm-ph-rb-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid #e2e8f0;background:#f8fafc}
.nbm-ph-actions-cell{display:flex;gap:6px;flex-wrap:wrap}.nbm-ph-actions-cell button{white-space:nowrap}
@media(max-width:760px){.nbm-ph-rb-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nbm-ph-rb-modal{align-items:flex-end;padding:0}.nbm-ph-rb-modal-card{width:100%;border-radius:16px 16px 0 0;max-height:94vh}}

/* Reimburs operational completion v8.13.4 */
.nbm-ph-required{color:#b91c1c}
.nbm-ph-reimburs-form small{font-weight:500;color:#64748b}
.nbm-ph-rb-upload-state{margin-top:6px;padding:9px 11px;border-radius:9px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;font-weight:600}
.nbm-ph-rb-upload-state.ok{background:#f0fdf4;border-color:#86efac;color:#166534}
.nbm-ph-rb-upload-state.error{background:#fff1f2;border-color:#fda4af;color:#be123c}
.nbm-ph-rb-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nbm-ph-rb-detail-item{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;min-width:0}
.nbm-ph-rb-detail-item span{font-size:12px;color:#64748b}.nbm-ph-rb-detail-item b{font-size:14px;color:#0f172a;overflow-wrap:anywhere}
.nbm-ph-rb-detail-media{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0}
.nbm-ph-muted{color:#64748b}
@media(max-width:760px){.nbm-ph-rb-detail-grid{grid-template-columns:1fr}}


/* =========================================================
   PeopleHub ERP v8.13.9
   Attendance KPI rail + authoritative Department filter
   ========================================================= */
[data-view="attendance"] .nbm-ph-att-kpi-shell{
  position:relative;display:flex;align-items:stretch;min-width:0;margin:2px 0 4px;
  border:1px solid #dbe2ea;border-radius:15px;background:#fff;overflow:hidden;
  box-shadow:0 3px 12px rgba(15,23,42,.035)
}
[data-view="attendance"] .nbm-ph-att-kpi-strip{
  flex:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(126px,1fr);
  overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;min-width:0
}
[data-view="attendance"] .nbm-ph-att-kpi-strip::-webkit-scrollbar{display:none}
[data-view="attendance"] .nbm-ph-att-kpi-cell{
  min-height:72px;padding:13px 16px;border-right:1px solid #e1e6ec;
  scroll-snap-align:start;background:#fff
}
[data-view="attendance"] .nbm-ph-att-kpi-cell:last-child{border-right:0}
[data-view="attendance"] .nbm-ph-att-kpi-cell b{
  display:block;margin:0 0 7px;color:#3d55c7;font-size:24px;line-height:1;
  font-weight:900;letter-spacing:-.7px;font-variant-numeric:tabular-nums
}
[data-view="attendance"] .nbm-ph-att-kpi-cell span{
  display:block;color:#64748b;font-size:12px;line-height:1.2;font-weight:700;white-space:nowrap
}
[data-view="attendance"] .nbm-ph-att-kpi-nav{
  position:relative;z-index:2;flex:0 0 46px;border:0;background:#fff;color:#fff;
  font-size:30px;line-height:1;cursor:pointer
}
[data-view="attendance"] .nbm-ph-att-kpi-nav:before{
  content:"";position:absolute;inset:50% auto auto 50%;width:42px;height:42px;
  transform:translate(-50%,-50%);border-radius:50%;background:#747b83;opacity:.9;z-index:-1
}
[data-view="attendance"] .nbm-ph-att-kpi-nav:hover:before{background:#4b5563}
[data-view="attendance"] .nbm-ph-att-kpi-nav.prev{border-right:1px solid #e1e6ec}
[data-view="attendance"] .nbm-ph-att-kpi-nav.next{border-left:1px solid #e1e6ec}
[data-view="attendance"] .nbm-ph-filterbar.att-v831{align-items:end}
@media(max-width:760px){
  [data-view="attendance"] .nbm-ph-att-kpi-strip{grid-auto-columns:minmax(118px,43vw)}
  [data-view="attendance"] .nbm-ph-att-kpi-nav{flex-basis:40px}
  [data-view="attendance"] .nbm-ph-att-kpi-nav:before{width:36px;height:36px}
}
/* v8.13.12 Reimburs workflow parity */
.nbm-ph-reimburs-hero{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:22px}
[data-module-result="reimburs_audit"] .nbm-ph-table td:nth-child(2){font-weight:800}
[data-module-result^="reimburs_"] .nbm-ph-table tbody tr:has(td .nbm-ph-badge.warn){background:#fffaf0}
[data-module-result^="reimburs_"] .nbm-ph-table tbody tr:has(td .nbm-ph-badge.ok){background:#f5fff8}
[data-module-result^="reimburs_"] .nbm-ph-table tbody tr:has(td .nbm-ph-badge.danger){background:#fff7f7}
.nbm-ph-rb-modal-card{border-radius:24px;max-height:92vh;overflow:auto}
.nbm-ph-rb-field input,.nbm-ph-rb-field select,.nbm-ph-rb-field textarea{border-radius:14px}
