/* NEXORA Employees — self-contained UI (nexora-ui base + employees sketch), scoped under .nxe. Ported 1:1 from the approved sketch. Zero emojis. */
.nxe{
 --bg:#FAFBFC;--surface:#fff;--raised:#F4F6F8;--text:#0E1316;--muted:#5A6B74;--border:#E5E7EB;
 --brand:var(--primary,#009391);--accent:var(--secondary,#00D1C9);--on-brand:#fff;--ok:#1f9d63;--warn:#d9931f;--bad:#dd4b52;--info:#2563eb;
 --radius:14px;--gap:16px;--ease:cubic-bezier(.22,1,.36,1);--focus:var(--primary-dark,#006E6C);
 --shadow:0 1px 2px rgba(14,19,22,.04),0 10px 28px rgba(14,19,22,.06);
 font-family:"Heebo","Inter",system-ui,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;
}
/* screen wrapper fills its view container (not the viewport) and carries the sketch background */
.nxe#nxeEmp{background:var(--bg);min-height:100%}
/* wizard wrapper only passes tokens/font to the fixed <dialog> — it must have no box of its own */
.nxe.nxe-portal{display:contents}
.nxe[data-theme="dark"]{--bg:#0E1316;--surface:#161D22;--raised:#1F2933;--text:#EAF2F3;--muted:#ADBDC4;--border:#35424A;--brand:#2AD8D0;--accent:#2AD8D0;--on-brand:#0E1316;--focus:#2AD8D0;--shadow:0 1px 2px rgba(0,0,0,.3),0 12px 32px rgba(0,0,0,.4);color-scheme:dark}
.nxe :where(button,a,input,select,textarea){font-family:inherit}
.nxe :where(button,a,input,select):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.nxe button{cursor:pointer;border:none;background:none;color:inherit}
.nxe .money{font-variant-numeric:tabular-nums;font-family:"Inter","Heebo",sans-serif}
.nxe svg{display:block}
.nxe a{color:inherit}

/* ===== page header / toolbar ===== */
.nxe .wrap{padding:0 clamp(12px,2vw,22px) 30px}
.nxe .bar1{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px clamp(12px,2vw,22px) 0}
.nxe .bar1 h1{margin:0;font-size:1.5rem;font-weight:800;display:flex;align-items:center;gap:10px}
.nxe .bar1 h1 .ic{display:grid;place-items:center;color:var(--brand)}.nxe .bar1 h1 .ic svg{width:24px;height:24px}
.nxe .bar1 .sub{font-size:.84rem;color:var(--muted);font-weight:500;margin-top:2px}
.nxe .acts{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.nxe .bar2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px clamp(12px,2vw,22px)}

/* buttons */
.nxe .btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:12px;font-weight:700;font-size:.86rem;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .18s var(--ease),border-color .18s}
.nxe .btn:hover{transform:translateY(-1px)}.nxe .btn svg{width:16px;height:16px}
.nxe .btn.pri{background:linear-gradient(135deg,var(--accent),var(--brand));color:var(--on-brand);border-color:transparent;box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 32%,transparent)}
.nxe .btn.sm{padding:8px 12px;font-size:.8rem}.nxe .btn.ghost{background:transparent;box-shadow:none}
.nxe .btn.danger{color:var(--bad)}.nxe .btn.danger:hover{background:var(--bad);color:#fff;border-color:transparent}

/* segmented control */
.nxe .segm{display:inline-flex;background:var(--raised);border:1px solid var(--border);border-radius:11px;padding:3px}
.nxe .segm button{padding:8px 13px;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:.15s}
.nxe .segm button svg{width:15px;height:15px}
.nxe .segm button:hover:not(.on){color:var(--text)}
.nxe .segm button.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow)}

/* role selector (4 views) */
.nxe .rolesel{margin-inline-start:auto;display:inline-flex;background:var(--raised);border:1px solid var(--border);border-radius:11px;padding:3px}
.nxe .rolesel button{padding:7px 12px;border-radius:8px;font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}
.nxe .rolesel button.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow)}

/* search + filters */
.nxe .search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:9px 13px;color:var(--muted);font-size:.84rem;flex:1;min-width:170px;max-width:360px}
.nxe .search svg{width:15px;height:15px;flex:none}.nxe .search input{border:none;background:none;outline:none;color:var(--text);width:100%;font-size:.86rem}
.nxe .fil{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:.8rem;font-weight:600;color:var(--muted)}
.nxe .fil svg{width:13px;height:13px}.nxe .fil b{color:var(--text)}
.nxe .fil select{border:none;background:none;outline:none;color:var(--text);font:inherit;font-weight:700;font-size:.8rem}

/* ===== KPI stat cards ===== */
.nxe .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;padding:4px clamp(12px,2vw,22px)}
.nxe .kpi{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px;overflow:hidden;transition:transform .18s var(--ease),box-shadow .18s}
.nxe .kpi:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(14,19,22,.09)}
.nxe .kpi .kl{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted);font-weight:600}
.nxe .kpi .kl .ki{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--brand)) 13%,transparent);color:var(--c,var(--brand))}
.nxe .kpi .kl .ki svg{width:16px;height:16px}
.nxe .kpi .kv{font-size:1.85rem;font-weight:800;margin-top:10px;letter-spacing:-.02em}
.nxe .kpi .kt{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:700;margin-top:6px;padding:2px 8px;border-radius:20px}
.nxe .kpi .kt.up{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.nxe .kpi .kt.down{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}
.nxe .kpi .kt svg{width:12px;height:12px}
.nxe .kpi .wm{position:absolute;inset-inline-end:-12px;bottom:-16px;opacity:.05;color:var(--c,var(--brand));pointer-events:none}
.nxe .kpi .wm svg{width:92px;height:92px}
.nxe .kpi>*{position:relative;z-index:1}.nxe .kpi .wm{z-index:0}

/* ===== cards / panels ===== */
.nxe .card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.nxe .card .ch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;border-bottom:1px solid var(--border)}
.nxe .card .ch h3{margin:0;font-size:1rem;font-weight:800;display:flex;align-items:center;gap:9px}
.nxe .card .ch h3 svg{width:18px;height:18px;color:var(--brand)}
.nxe .card .cb{padding:16px 18px}
.nxe .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 clamp(12px,2vw,22px)}
.nxe .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 clamp(12px,2vw,22px)}
@media(max-width:900px){.nxe .grid2,.nxe .grid3{grid-template-columns:1fr}}

/* ===== data table ===== */
.nxe .tbl{width:100%;border-collapse:collapse;font-size:.86rem}
.nxe .tbl thead th{text-align:start;padding:12px 16px;font-size:.76rem;font-weight:700;color:var(--muted);background:var(--raised);border-bottom:1px solid var(--border);white-space:nowrap}
.nxe .tbl tbody td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
.nxe .tbl tbody tr{transition:background .14s}.nxe .tbl tbody tr:hover{background:color-mix(in srgb,var(--brand) 4%,transparent);cursor:pointer}
.nxe .tbl tbody tr:last-child td{border-bottom:none}
.nxe .tblwrap{overflow-x:auto}

/* pills / badges / avatars */
.nxe .pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;padding:3px 11px;border-radius:30px;background:color-mix(in srgb,var(--c,var(--muted)) 13%,transparent);color:color-mix(in srgb,var(--c,var(--muted)) 80%,var(--text));white-space:nowrap}
.nxe .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--c,var(--muted))}
.nxe .av{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--brand));color:#fff;display:grid;place-items:center;font-size:.76rem;font-weight:800;flex:none}
.nxe .av.sm{width:26px;height:26px;font-size:.66rem;border-radius:8px}
.nxe .who{display:inline-flex;align-items:center;gap:8px}

/* progress / meter */
.nxe .meter{height:8px;border-radius:30px;background:var(--raised);overflow:hidden}
.nxe .meter i{display:block;height:100%;border-radius:30px;background:linear-gradient(90deg,var(--accent),var(--brand))}

/* empty / loading states */
.nxe .empty{text-align:center;color:var(--muted);padding:44px 20px}
.nxe .empty svg{width:42px;height:42px;color:var(--brand);margin:0 auto 10px;opacity:.8}
.nxe .empty b{display:block;font-size:.95rem;color:var(--text);margin-bottom:4px}
.nxe .empty span{font-size:.84rem}

/* toggle switch */
.nxe .sw2{position:relative;display:inline-block;width:42px;height:24px;flex:none}
.nxe .sw2 input{position:absolute;opacity:0;width:0;height:0}
.nxe .sw2 i{position:absolute;inset:0;background:var(--border);border-radius:30px;transition:.2s;cursor:pointer}
.nxe .sw2 i::before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;inset-inline-start:3px;transition:.2s}
.nxe .sw2 input:checked + i{background:var(--brand)}.nxe .sw2 input:checked + i::before{inset-inline-start:21px}

/* form fields */
.nxe .field{display:grid;gap:6px}
.nxe .field label{font-size:.78rem;font-weight:600;color:var(--muted)}
.nxe .field input,.nxe .field select,.nxe .field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.88rem}
.nxe .field input:focus,.nxe .field select:focus,.nxe .field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}

/* detail drawer (reused pattern) */
.nxe dialog.drawer{inline-size:min(560px,calc(100vw - 24px));max-block-size:calc(100dvh - 24px);padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(14,19,22,.3);overflow:hidden}
.nxe dialog.drawer::backdrop{background:rgba(14,19,22,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.nxe .drawer .dh{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;color:#fff;background:linear-gradient(120deg,var(--c,var(--brand)),color-mix(in srgb,var(--c,var(--brand)) 66%,#000))}
.nxe .drawer .dh .pic{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex:none}.nxe .drawer .dh .pic svg{width:22px;height:22px}
.nxe .drawer .dh h2{margin:0;font-size:1.16rem}.nxe .drawer .dh .cx{margin-inline-start:auto;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;flex:none}
.nxe .drawer .db{padding:16px 22px;max-block-size:calc(100dvh - 220px);overflow:auto}

/* role visibility helper — NOTE: do NOT hide by default (JS toggles per active role).
   hiding-by-default permanently hid controls on screens without toggle-JS. */

/* toast */
.nxe .toast{position:fixed;inset-block-end:24px;inset-inline-start:50%;transform:translateX(50%) translateY(20px);background:var(--text);color:var(--surface);padding:13px 22px;border-radius:14px;font-weight:700;font-size:.9rem;box-shadow:0 14px 44px rgba(0,0,0,.3);opacity:0;transition:.3s var(--ease);z-index:70}
.nxe .toast.show{opacity:1;transform:translateX(50%) translateY(0)}

/* ===== employees sketch styles ===== */
.nxe .emp-pres{position:relative;flex:none}
.nxe .emp-av{position:relative;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--brand));color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:800;flex:none}
.nxe .emp-av.lg{width:64px;height:64px;border-radius:18px;font-size:1.3rem}
.nxe .emp-av.xl{width:84px;height:84px;border-radius:24px;font-size:1.7rem}
.nxe .emp-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.nxe .emp-av .emp-dot{position:absolute;inset-block-end:-3px;inset-inline-end:-3px;width:13px;height:13px;border-radius:50%;background:var(--c,var(--muted));border:2.5px solid var(--surface)}
.nxe .emp-nm{display:grid;line-height:1.25;min-width:0}
.nxe .emp-nm b{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nxe .emp-nm small{font-size:.74rem;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nxe .emp-who{display:flex;align-items:center;gap:11px;min-width:0}
.nxe .emp-orgc{display:grid;line-height:1.3}.nxe .emp-orgc b{font-size:.84rem;font-weight:600}.nxe .emp-orgc small{font-size:.74rem;color:var(--muted)}
.nxe .emp-perf{display:grid;gap:5px;min-width:130px}.nxe .emp-perf .t{display:flex;justify-content:space-between;font-size:.78rem;font-weight:700}.nxe .emp-perf .t span{color:var(--muted);font-weight:500}
.nxe .emp-perf .meter{height:6px}
.nxe .emp-acts{display:flex;gap:2px;justify-content:flex-end}
.nxe .emp-ib{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--muted);transition:.15s;position:relative}
.nxe .emp-ib svg{width:16px;height:16px}
.nxe .emp-ib:hover{background:color-mix(in srgb,var(--brand) 11%,transparent);color:var(--brand)}
.nxe .emp-ib.warn:hover{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}
.nxe .emp-ib.bad:hover{background:color-mix(in srgb,var(--bad) 13%,transparent);color:var(--bad)}
.nxe .emp-ib[data-tip]:hover::after{content:attr(data-tip);position:absolute;inset-block-end:calc(100% + 6px);inset-inline-start:50%;transform:translateX(50%);background:var(--text);color:var(--surface);font-size:.7rem;font-weight:700;padding:4px 9px;border-radius:7px;white-space:nowrap;z-index:9;pointer-events:none}
.nxe .emp-tabs2{display:inline-flex}
.nxe .emp-bar2 .fil{padding:7px 12px}
.nxe .emp-count{font-size:.78rem;color:var(--muted);font-weight:600;margin-inline-start:2px}
.nxe .emp-rolechip{--c:var(--muted)}
.nxe .emp-viewonly{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--info);background:color-mix(in srgb,var(--info) 11%,transparent);padding:6px 12px;border-radius:30px}
.nxe .emp-viewonly svg{width:14px;height:14px}
.nxe .emp-tbl tbody tr.nope{cursor:default}
.nxe .emp-tbl tbody tr.arch td{opacity:.62}.nxe .emp-tbl tbody tr.arch td:last-child{opacity:1}

/* cards view */
.nxe .emp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:14px;padding:0 clamp(12px,2vw,22px)}
.nxe .emp-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:18px;display:grid;gap:13px;transition:transform .18s var(--ease),box-shadow .18s;position:relative;cursor:pointer}
.nxe .emp-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(14,19,22,.09)}
.nxe .emp-card.nope{cursor:default}
.nxe .emp-card .top{display:flex;gap:13px;align-items:center}
.nxe .emp-card .meta{display:flex;flex-wrap:wrap;gap:6px}
.nxe .emp-card .ft{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:11px;margin-top:2px}

/* hierarchy */
.nxe .emp-tree{display:grid;gap:16px;padding:0 clamp(12px,2vw,22px)}
.nxe .emp-br{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.nxe .emp-brh{display:flex;align-items:center;gap:14px;padding:15px 20px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 11%,var(--surface)),var(--surface));border-bottom:1px solid var(--border)}
.nxe .emp-brh .ico{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--brand));color:#fff;display:grid;place-items:center}
.nxe .emp-brh .ico svg{width:21px;height:21px}
.nxe .emp-brh h3{margin:0;font-size:1.02rem;font-weight:800}.nxe .emp-brh small{color:var(--muted);font-size:.78rem;font-weight:500}
.nxe .emp-brh .st{margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}
.nxe .emp-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;padding:16px 18px}
.nxe .emp-tm{border:1px solid var(--border);border-radius:14px;background:var(--bg);overflow:hidden}
.nxe .emp-tmh{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface)}
.nxe .emp-tmh b{font-size:.88rem;display:flex;align-items:center;gap:7px}.nxe .emp-tmh b svg{width:15px;height:15px;color:var(--brand)}
.nxe .emp-tmh span{font-size:.74rem;color:var(--muted);font-weight:600}
.nxe .emp-mem{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .14s}
.nxe .emp-mem:last-child{border-bottom:none}.nxe .emp-mem:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}
.nxe .emp-mem.nope{cursor:default}.nxe .emp-mem.nope:hover{background:none}
.nxe .emp-mem .emp-av{width:30px;height:30px;border-radius:9px;font-size:.68rem}
.nxe .emp-mem .emp-av .emp-dot{width:10px;height:10px;border-width:2px}
.nxe .emp-mem .r{margin-inline-start:auto;font-size:.74rem;font-weight:700;color:var(--muted)}
.nxe .emp-mem.lead{background:color-mix(in srgb,var(--brand) 6%,transparent)}

/* ===================== DIALOG ===================== */
.nxe dialog.emp-dlg{padding:0;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 34px 100px rgba(14,19,22,.36);overflow:hidden;inline-size:min(1120px,calc(100vw - 24px));block-size:min(800px,calc(100dvh - 24px));max-inline-size:none;max-block-size:none;margin:auto;font-family:"Heebo","Inter",system-ui,sans-serif}
.nxe dialog.emp-dlg[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:fixed}
.nxe dialog.emp-dlg::backdrop{background:rgba(14,19,22,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.nxe .emp-dh{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--border);position:relative;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 9%,var(--surface)),var(--surface) 62%)}
.nxe .emp-dh::before{content:"";position:absolute;inset-inline:0;inset-block-start:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--brand))}
.nxe .emp-dh h2{margin:0;font-size:1.28rem;font-weight:800;letter-spacing:-.01em}
.nxe .emp-dh .sub{font-size:.82rem;color:var(--muted);font-weight:500;margin-top:3px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nxe .emp-dh .cx{margin-inline-start:auto;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--muted);background:var(--raised);border:1px solid var(--border);transition:.15s}
.nxe .emp-dh .cx:hover{color:var(--bad);border-color:var(--bad)}.nxe .emp-dh .cx svg{width:18px;height:18px}
.nxe .emp-main{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:0}
.nxe .emp-rail{background:var(--bg);border-inline-end:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:4px;overflow:auto}
.nxe .emp-rail button{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;font-weight:600;font-size:.86rem;color:var(--muted);text-align:start;position:relative;transition:.15s}
.nxe .emp-rail button .n{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--raised);border:1px solid var(--border);flex:none;transition:.15s}
.nxe .emp-rail button .n svg{width:15px;height:15px}
.nxe .emp-rail button:hover:not(.on){color:var(--text);background:color-mix(in srgb,var(--brand) 5%,transparent)}
.nxe .emp-rail button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:800}
.nxe .emp-rail button.on .n{background:linear-gradient(135deg,var(--accent),var(--brand));color:#fff;border-color:transparent}
.nxe .emp-rail button .flag{margin-inline-start:auto;width:8px;height:8px;border-radius:50%;background:var(--bad);display:none}
.nxe .emp-rail button.bad .flag{display:block}
.nxe .emp-rail button .cnt{margin-inline-start:auto;font-size:.68rem;font-weight:800;color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);padding:2px 8px;border-radius:20px;font-family:"Inter",sans-serif}
.nxe .emp-rail .sp{flex:1}
.nxe .emp-rail .hint{font-size:.74rem;color:var(--muted);line-height:1.5;padding:12px;border:1px dashed var(--border);border-radius:12px}
.nxe .emp-pane{overflow:auto;padding:24px 30px 30px;min-width:0;}
.nxe .emp-tp{display:none;animation:empIn .28s var(--ease)}.nxe .emp-tp.on{display:block}
@keyframes empIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.nxe .emp-th{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.nxe .emp-th .ti{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);flex:none}
.nxe .emp-th .ti svg{width:21px;height:21px}
.nxe .emp-th h3{margin:0;font-size:1.1rem;font-weight:800}.nxe .emp-th p{margin:2px 0 0;font-size:.82rem;color:var(--muted)}
.nxe .emp-sec{border:1px solid var(--border);border-radius:16px;padding:18px 20px;margin-bottom:16px;background:var(--surface)}
.nxe .emp-sec>h4{margin:0 0 14px;font-size:.84rem;font-weight:800;color:var(--muted);letter-spacing:.02em;display:flex;align-items:center;gap:8px}
.nxe .emp-sec>h4 svg{width:15px;height:15px;color:var(--brand)}
.nxe .emp-g2{align-items:start;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.nxe .emp-g3{align-items:start;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px}
.nxe .emp-g2 .full,.nxe .emp-g3 .full{grid-column:1/-1}
.nxe .emp-dlg .field label{display:flex;align-items:center;gap:6px}
.nxe .emp-dlg .field label.req::after{content:"*";color:var(--bad);font-weight:800}
.nxe .emp-dlg .field .help{font-size:.72rem;color:var(--muted);line-height:1.45}
.nxe .emp-dlg .field.bad input,.nxe .emp-dlg .field.bad select{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 13%,transparent)}
.nxe .emp-dlg .field .err{display:none;font-size:.72rem;color:var(--bad);font-weight:700}.nxe .emp-dlg .field.bad .err{display:block}
.nxe .emp-dlg .field input:disabled,.nxe .emp-dlg .field select:disabled,.nxe .emp-dlg .field textarea:disabled{background:var(--raised);color:var(--text);opacity:.85;cursor:default}
.nxe .emp-dlg .field textarea{resize:vertical;min-height:88px;line-height:1.6}
.nxe .emp-ltr{direction:ltr;text-align:start;font-family:"Inter","Heebo",sans-serif}
.nxe .emp-pw{position:relative}.nxe .emp-pw input{padding-inline-end:42px}
.nxe .emp-pw .eye{position:absolute;inset-inline-end:6px;inset-block-start:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.nxe .emp-pw .eye:hover{color:var(--brand);background:var(--raised)}.nxe .emp-pw .eye svg{width:17px;height:17px}
.nxe .emp-str{display:flex;gap:4px;margin-top:2px}.nxe .emp-str i{flex:1;height:4px;border-radius:4px;background:var(--border);transition:.25s}
.nxe .emp-str[data-s="1"] i:nth-child(-n+1){background:var(--bad)}.nxe .emp-str[data-s="2"] i:nth-child(-n+2){background:var(--warn)}
.nxe .emp-str[data-s="3"] i:nth-child(-n+3){background:#7bbf3f}.nxe .emp-str[data-s="4"] i{background:var(--ok)}
.nxe .emp-strl{font-size:.72rem;font-weight:700;color:var(--muted)}
.nxe .emp-photo{display:flex;align-items:center;gap:20px}
.nxe .emp-photo .pic{position:relative;cursor:pointer;flex:none}
.nxe .emp-photo .pic .cam{position:absolute;inset-block-end:-6px;inset-inline-end:-6px;width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;color:var(--brand);box-shadow:var(--shadow)}
.nxe .emp-photo .pic .cam svg{width:15px;height:15px}
.nxe .emp-photo .tx b{display:block;font-size:.92rem;margin-bottom:3px}.nxe .emp-photo .tx span{font-size:.78rem;color:var(--muted);line-height:1.5;display:block;margin-bottom:10px}
.nxe .emp-photo .tx .row{display:flex;gap:8px}

/* choice chips / radio cards */
.nxe .emp-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px}
.nxe .emp-opt{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--border);border-radius:13px;background:var(--surface);cursor:pointer;transition:.16s;font-size:.85rem;font-weight:700;text-align:start}
.nxe .emp-opt svg{width:18px;height:18px;color:var(--muted);flex:none;transition:.16s}
.nxe .emp-opt small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:1px}
.nxe .emp-opt:hover:not(.on){border-color:color-mix(in srgb,var(--brand) 45%,var(--border))}
.nxe .emp-opt.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}
.nxe .emp-opt.on svg{color:var(--brand)}
.nxe .emp-opt.dis{opacity:.5;pointer-events:none}
.nxe .emp-note{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:12px;font-size:.8rem;line-height:1.55;background:color-mix(in srgb,var(--info) 8%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--info) 22%,transparent)}
.nxe .emp-note svg{width:17px;height:17px;color:var(--info);flex:none;margin-top:2px}
.nxe .emp-note.warn{background:color-mix(in srgb,var(--warn) 9%,transparent);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.nxe .emp-note.warn svg{color:var(--warn)}
.nxe .emp-note.ok{background:color-mix(in srgb,var(--ok) 8%,transparent);border-color:color-mix(in srgb,var(--ok) 28%,transparent)}.nxe .emp-note.ok svg{color:var(--ok)}
.nxe .emp-note button{margin-inline-start:auto;flex:none;font-weight:800;font-size:.78rem;color:var(--brand);white-space:nowrap}
.nxe .emp-note b{font-weight:800}
.nxe .emp-step{display:flex;align-items:center;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--surface);width:max-content}
.nxe .emp-step button{width:38px;height:40px;display:grid;place-items:center;color:var(--brand);font-size:1.1rem;font-weight:800;background:var(--raised)}
.nxe .emp-step button:hover{background:color-mix(in srgb,var(--brand) 12%,var(--raised))}
.nxe .emp-step input{width:62px;text-align:center;border:none!important;box-shadow:none!important;border-radius:0!important;font-weight:800;font-family:"Inter",sans-serif;padding:8px 0!important}
.nxe .emp-week{display:flex;gap:5px;margin-top:8px}
.nxe .emp-week i{width:30px;height:30px;border-radius:9px;background:var(--raised);border:1px solid var(--border);display:grid;place-items:center;font-style:normal;font-size:.72rem;font-weight:700;color:var(--muted);transition:.2s}
.nxe .emp-week i.on{background:linear-gradient(135deg,var(--accent),var(--brand));color:#fff;border-color:transparent}
.nxe .emp-money{position:relative}.nxe .emp-money input{padding-inline-start:34px;font-family:"Inter",sans-serif;font-weight:700}
.nxe .emp-money .cur{position:absolute;inset-inline-start:12px;inset-block-start:50%;transform:translateY(-50%);color:var(--muted);font-weight:700;font-size:.9rem;pointer-events:none}
.nxe .emp-calc{display:flex;gap:14px;flex-wrap:wrap}
.nxe .emp-calc .c{flex:1;min-width:150px;padding:13px 16px;border-radius:13px;background:var(--raised);border:1px solid var(--border)}
.nxe .emp-calc .c span{font-size:.74rem;color:var(--muted);font-weight:600;display:block}.nxe .emp-calc .c b{font-size:1.2rem;font-family:"Inter",sans-serif;font-weight:800}
.nxe .emp-tier{display:grid;grid-template-columns:1fr 1fr 1fr 36px;gap:10px;align-items:end;margin-bottom:10px}
.nxe .emp-tier .tn{font-size:.7rem;color:var(--muted);font-weight:700}
.nxe .emp-tier .emp-ib{height:40px;width:36px}
.nxe .emp-gm{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--bg)}
.nxe .emp-gm .gi{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:var(--raised);color:var(--muted);flex:none;border:1px solid var(--border)}
.nxe .emp-gm .gi svg{width:25px;height:25px}
.nxe .emp-gm.ok .gi{background:color-mix(in srgb,var(--ok) 13%,transparent);color:var(--ok);border-color:transparent}
.nxe .emp-gm b{display:block;font-size:.95rem}.nxe .emp-gm span{font-size:.8rem;color:var(--muted)}
.nxe .emp-gm .btn{margin-inline-start:auto}
.nxe .emp-sig{border:1px dashed var(--border);border-radius:13px;padding:14px 16px;background:var(--bg);font-size:.85rem;line-height:1.7;white-space:pre-wrap;min-height:70px}
.nxe .emp-sig-h{font-size:.72rem;font-weight:700;color:var(--muted);margin:0 0 6px;display:flex;justify-content:space-between}
.nxe .emp-tokens{display:flex;gap:6px;flex-wrap:wrap}.nxe .emp-tokens button{font-family:"Inter",monospace;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:7px;background:var(--raised);border:1px solid var(--border);color:var(--brand)}
.nxe .emp-voip-st{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;padding:5px 12px;border-radius:30px;background:var(--raised);color:var(--muted)}
.nxe .emp-voip-st i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.nxe .emp-voip-st.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.nxe .emp-voip-st.ok i{background:var(--ok)}
.nxe .emp-voip-st.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.nxe .emp-voip-st.bad i{background:var(--bad)}

/* footer */
.nxe .emp-df{display:flex;align-items:center;gap:10px;padding:14px 24px;border-top:1px solid var(--border);background:var(--surface)}
.nxe .emp-df .sp{flex:1}
.nxe .emp-df .pg{font-size:.78rem;color:var(--muted);font-weight:600;margin-inline-end:6px}
.nxe .btn.warnb{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.nxe .btn.warnb:hover{background:var(--warn);color:#fff;border-color:transparent}

/* ===================== PERMISSIONS ===================== */
.nxe .emp-pres-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px;flex-wrap:wrap}
.nxe .emp-pres-h h4{margin:0;font-size:.95rem;font-weight:800;display:flex;align-items:center;gap:8px}.nxe .emp-pres-h h4 svg{width:17px;height:17px;color:var(--brand)}
.nxe .emp-pres-h span{font-size:.78rem;color:var(--muted)}
.nxe .emp-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:14px}
.nxe .emp-ps{position:relative;text-align:start;border:1.5px solid var(--border);border-radius:15px;padding:14px;background:var(--surface);transition:.18s var(--ease);display:grid;gap:7px}
.nxe .emp-ps .pi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--brand)) 13%,transparent);color:var(--c,var(--brand))}
.nxe .emp-ps .pi svg{width:18px;height:18px}
.nxe .emp-ps b{font-size:.9rem}.nxe .emp-ps small{font-size:.72rem;color:var(--muted);line-height:1.45;font-weight:500}
.nxe .emp-ps .pc{font-size:.7rem;font-weight:800;font-family:"Inter",sans-serif;color:var(--c,var(--brand))}
.nxe .emp-ps:hover{transform:translateY(-2px);border-color:var(--c,var(--brand));box-shadow:var(--shadow)}
.nxe .emp-ps.on{border-color:var(--c,var(--brand));background:color-mix(in srgb,var(--c,var(--brand)) 7%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--c,var(--brand)) 13%,transparent)}
.nxe .emp-ps.on::after{content:"";position:absolute;inset-block-start:11px;inset-inline-end:11px;width:18px;height:18px;border-radius:50%;background:var(--c,var(--brand)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/11px no-repeat}
.nxe .emp-sum{display:flex;align-items:center;gap:16px;padding:13px 16px;border-radius:14px;background:var(--raised);border:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}
.nxe .emp-sum .big{font-family:"Inter",sans-serif;font-weight:800;font-size:1.35rem;line-height:1}.nxe .emp-sum .big small{font-size:.8rem;color:var(--muted);font-weight:600}
.nxe .emp-sum .meter{flex:1;min-width:120px}
.nxe .emp-sum .st{font-size:.8rem;font-weight:700}.nxe .emp-sum .st em{font-style:normal;color:var(--brand)}
.nxe .emp-pstick{position:sticky;top:-24px;z-index:6;background:var(--surface);margin:0 -30px 14px;padding:12px 30px 12px;border-bottom:1px solid var(--border);display:grid;gap:10px}
.nxe .emp-ptool{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nxe .emp-ptool .search{max-width:300px;padding:7px 12px}
.nxe .emp-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.nxe .emp-chips button{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:30px;font-size:.78rem;font-weight:700;color:var(--muted);background:var(--raised);border:1px solid var(--border);white-space:nowrap;transition:.15s}
.nxe .emp-chips button svg{width:14px;height:14px}
.nxe .emp-chips button b{font-family:"Inter",sans-serif;font-size:.68rem;font-weight:800;color:var(--text);opacity:.8}
.nxe .emp-chips button:hover{color:var(--text);border-color:var(--brand)}
.nxe .emp-chips button.on{background:var(--brand);color:var(--on-brand);border-color:transparent}.nxe .emp-chips button.on b{color:inherit}
.nxe .emp-pg{border:1px solid var(--border);border-radius:17px;margin-bottom:16px;background:var(--surface);overflow:hidden;scroll-margin-top:118px}
.nxe .emp-pgh{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--bg);border-bottom:1px solid var(--border)}
.nxe .emp-pgh .gi{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);flex:none}
.nxe .emp-pgh .gi svg{width:19px;height:19px}
.nxe .emp-pgh h4{margin:0;font-size:.98rem;font-weight:800}.nxe .emp-pgh p{margin:2px 0 0;font-size:.78rem;color:var(--muted);line-height:1.45}
.nxe .emp-pgh .gx{margin-inline-start:auto;display:flex;align-items:center;gap:10px;flex:none}
.nxe .emp-pgh .gc{font-family:"Inter",sans-serif;font-weight:800;font-size:.76rem;padding:3px 11px;border-radius:30px;background:var(--raised);color:var(--muted)}
.nxe .emp-pgh .gc.full{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.nxe .emp-pgh .gc.some{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}
.nxe .emp-pgh .lnk{font-size:.74rem;font-weight:700;color:var(--brand);padding:4px 8px;border-radius:7px}.nxe .emp-pgh .lnk:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}
.nxe .emp-pgh .lnk.m{color:var(--muted)}
.nxe .emp-pgb{padding:6px 8px 8px}
.nxe .emp-prow{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:12px;cursor:pointer;transition:background .14s;border:1px solid transparent}
.nxe .emp-prow:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}
.nxe .emp-prow.on{background:color-mix(in srgb,var(--brand) 4%,transparent)}
.nxe .emp-ptx{flex:1;min-width:0}.nxe .emp-ptx b{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;flex-wrap:wrap}
.nxe .emp-ptx span{display:block;font-size:.78rem;color:var(--muted);line-height:1.5;margin-top:2px}
.nxe .emp-ptag{font-size:.66rem;font-weight:800;padding:2px 8px;border-radius:30px;background:color-mix(in srgb,var(--warn) 15%,transparent);color:color-mix(in srgb,var(--warn) 80%,var(--text))}
.nxe .emp-ptag.d{background:color-mix(in srgb,var(--bad) 13%,transparent);color:var(--bad)}
.nxe .emp-key{font-family:"Inter",monospace;font-size:.66rem;color:var(--muted);opacity:.7;direction:ltr;flex:none;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nxe .emp-prow.hide,.nxe .emp-pg.hide,.nxe .emp-scope.hide{display:none}
.nxe .emp-scope{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:13px 14px;margin:3px 0 5px;border-radius:14px;background:color-mix(in srgb,var(--brand) 4%,var(--bg));border:1px solid var(--border)}
.nxe .emp-scope .tt b{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:800}.nxe .emp-scope .tt b svg{width:15px;height:15px;color:var(--brand)}
.nxe .emp-scope .tt span{display:block;font-size:.78rem;color:var(--muted);margin-top:2px;line-height:1.5}
.nxe .emp-scope .segm{flex-wrap:wrap}.nxe .emp-scope .segm button{padding:7px 12px;font-size:.78rem}
.nxe .emp-scope .sm{grid-column:1/-1;font-size:.78rem;font-weight:700;color:var(--brand);display:flex;gap:7px;align-items:center;padding-top:7px;border-top:1px dashed var(--border)}
.nxe .emp-scope .sm svg{width:14px;height:14px;flex:none}
.nxe .emp-scope .sm.none{color:var(--muted)}
.nxe .emp-gwarn{margin:4px 8px 6px}
.nxe .emp-pg.menu-off .emp-pgb .emp-prow,.nxe .emp-pg.menu-off .emp-pgb .emp-scope{opacity:.5}
.nxe .emp-pempty{display:none;text-align:center;padding:40px 10px;color:var(--muted)}.nxe .emp-pempty.show{display:block}
.nxe .emp-pempty svg{width:38px;height:38px;margin:0 auto 8px;color:var(--brand);opacity:.7}
/* confirm */
.nxe .emp-cf{position:fixed;inset:0;background:rgba(14,19,22,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:90;animation:empIn .2s}
.nxe .emp-cfb{width:min(440px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.35);display:grid;gap:14px}
.nxe .emp-cfb .ci{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--brand)) 13%,transparent);color:var(--c,var(--brand))}.nxe .emp-cfb .ci svg{width:23px;height:23px}
.nxe .emp-cfb h3{margin:0;font-size:1.1rem}.nxe .emp-cfb p{margin:0;font-size:.86rem;color:var(--muted);line-height:1.6}
.nxe .emp-cfb .row{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:4px}
.nxe .emp-tmp{font-family:"Inter",monospace;direction:ltr;text-align:center;font-size:1.15rem;font-weight:800;letter-spacing:.08em;padding:12px;border-radius:12px;background:var(--raised);border:1px dashed var(--brand);color:var(--brand)}

@media(max-width:1000px){.nxe .emp-presets{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
 .nxe dialog.emp-dlg{inline-size:calc(100vw - 12px);block-size:calc(100dvh - 12px);border-radius:16px}
 .nxe .emp-main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.nxe dialog.emp-dlg[open]{inline-size:calc(100vw - 12px);max-inline-size:calc(100vw - 12px)}.nxe .emp-rail{min-width:0}
 .nxe .emp-rail{flex-direction:row;overflow-x:auto;border-inline-end:none;border-bottom:1px solid var(--border);padding:8px}
 .nxe .emp-rail button{white-space:nowrap}.nxe .emp-rail .sp,.nxe .emp-rail .hint{display:none}
 .nxe .emp-pane{padding:18px 16px 24px}.nxe .emp-pstick{margin:0 -16px 14px;padding:10px 16px;top:-18px}
 .nxe .emp-g2,.nxe .emp-g3{grid-template-columns:1fr}.nxe .emp-presets{grid-template-columns:1fr 1fr}
 .nxe .emp-scope{grid-template-columns:1fr}.nxe .emp-key{display:none}
 .nxe .emp-df{flex-wrap:wrap;padding:12px 14px}.nxe .emp-photo{flex-direction:column;align-items:flex-start}
}
