
:root {
  --thr117-navy:#292574;
  --thr117-navy-2:#201c66;
  --thr117-green:#1fb451;
  --thr117-yellow:#f7c92c;
  --thr117-red:#f13e38;
  --thr117-bg:#f5f7fb;
  --thr117-card:#ffffff;
  --thr117-text:#252352;
  --thr117-muted:#77788d;
  --thr117-line:#e5e7f0;
  --thr117-soft:#f0f1fb;
  --thr117-shadow:0 18px 55px rgba(41,37,116,.14);
}
#thr-v117-mount { position:relative; z-index:999990; }
#thr117-app {
  position:fixed; inset:0; z-index:999994; overflow:auto;
  background:var(--thr117-bg); color:var(--thr117-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
#thr117-app * { box-sizing:border-box; }
.thr117-shell { min-height:100vh; max-width:1500px; margin:0 auto; padding:16px; }
.thr117-top {
  position:sticky; top:0; z-index:20; display:flex; gap:16px; align-items:center; justify-content:space-between;
  padding:14px 16px; background:rgba(255,255,255,.94); backdrop-filter:blur(15px);
  border:1px solid var(--thr117-line); border-radius:26px; box-shadow:0 8px 35px rgba(38,37,83,.08);
}
.thr117-brand { display:flex; align-items:center; min-width:0; gap:12px; }
.thr117-brand-logo { width:148px; height:48px; object-fit:contain; object-position:left center; flex:none; filter:drop-shadow(0 5px 12px rgba(36,34,93,.06)); }
.thr117-brand-copy .thr117-trust-word { margin-left:0!important; padding-left:10px; border-left:1px solid #d8daea; letter-spacing:.08em; }
.thr117-brand-copy strong { display:block; font-size:18px; letter-spacing:.015em; white-space:nowrap; color:#06172f; font-weight:850; }
.thr117-brand-copy > span { color:var(--thr117-muted); font-size:12px; }
.thr117-brand-copy .thr117-trust-word { color:var(--thr117-navy); margin-left:8px; padding-left:10px; border-left:1px solid #d8daea; letter-spacing:.08em; font-size:.82em; }
.thr117-top-actions { display:flex; align-items:center; gap:8px; flex:none; }
.thr117-pill, .thr117-btn {
  border:1px solid var(--thr117-line); background:white; color:var(--thr117-text);
  border-radius:999px; min-height:42px; padding:0 15px; font-weight:700; cursor:pointer;
}
.thr117-btn.primary { background:var(--thr117-navy); color:white; border-color:var(--thr117-navy); }
.thr117-btn.green { background:var(--thr117-green); color:white; border-color:var(--thr117-green); }
.thr117-btn.danger { color:#a72727; }
.thr117-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#efeffd; color:var(--thr117-navy); font-weight:800; }
.thr117-nav {
  display:flex; gap:8px; overflow:auto; scrollbar-width:none; margin:14px 0 18px; padding:3px;
}
.thr117-nav::-webkit-scrollbar { display:none; }
.thr117-nav button {
  flex:none; border:1px solid var(--thr117-line); background:white; color:var(--thr117-text);
  padding:11px 16px; border-radius:999px; font-weight:750; cursor:pointer;
}
.thr117-nav button.active { background:var(--thr117-navy); color:white; border-color:var(--thr117-navy); }
.thr117-main { display:block; }
.thr117-page-head { display:flex; align-items:end; justify-content:space-between; gap:18px; padding:14px 2px 18px; }
.thr117-eyebrow { color:#2385a0; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.thr117-page-head h1 { margin:4px 0 4px; font-size:clamp(34px,5vw,58px); line-height:1; letter-spacing:-.05em; color:var(--thr117-navy); }
.thr117-page-head p { margin:0; color:var(--thr117-muted); max-width:780px; }
.thr117-grid { display:grid; gap:14px; }
.thr117-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
.thr117-card {
  background:var(--thr117-card); border:1px solid var(--thr117-line); border-radius:24px;
  padding:18px; box-shadow:0 8px 28px rgba(38,37,83,.045);
}
.thr117-kpi label { display:block; color:var(--thr117-muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.thr117-kpi strong { display:block; margin-top:8px; color:var(--thr117-navy); font-size:30px; letter-spacing:-.04em; }
.thr117-kpi small { color:var(--thr117-muted); }
.thr117-section { margin-top:14px; }
.thr117-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.thr117-section-title h2 { margin:0; font-size:19px; color:var(--thr117-navy); }
.thr117-table-wrap { overflow:auto; border:1px solid var(--thr117-line); border-radius:18px; }
.thr117-table { width:100%; border-collapse:collapse; min-width:760px; background:white; }
.thr117-table th { padding:11px 13px; text-align:left; color:var(--thr117-muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; background:#fafaff; border-bottom:1px solid var(--thr117-line); }
.thr117-table td { padding:12px 13px; border-bottom:1px solid #eff0f5; font-size:13px; vertical-align:middle; }
.thr117-table tr:last-child td { border-bottom:0; }
.thr117-name { font-weight:800; color:var(--thr117-text); }
.thr117-sub { color:var(--thr117-muted); font-size:12px; margin-top:2px; }
.thr117-tag { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border-radius:999px; background:#f1f2f8; color:#55566a; font-size:11px; font-weight:800; }
.thr117-tag.ok { background:#e7f7ed; color:#18733a; }
.thr117-tag.warn { background:#fff5d8; color:#88670e; }
.thr117-tag.bad { background:#fdeaea; color:#9d3232; }
.thr117-toolbar { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.thr117-input, .thr117-select {
  border:1px solid var(--thr117-line); background:white; color:var(--thr117-text);
  border-radius:14px; padding:10px 12px; min-height:42px; outline:none;
}
.thr117-input:focus, .thr117-select:focus { border-color:#aaa9d4; box-shadow:0 0 0 3px rgba(41,37,116,.08); }
.thr117-input.search { min-width:280px; }
.thr117-two { grid-template-columns:1.35fr .65fr; }
.thr117-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.thr117-list { display:grid; gap:9px; }
.thr117-list-item { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:12px 0; border-bottom:1px solid #eff0f5; }
.thr117-list-item:last-child { border-bottom:0; }
.thr117-empty { padding:36px 16px; text-align:center; color:var(--thr117-muted); }
.thr117-loading { position:fixed; inset:0; z-index:1000000; display:grid; place-items:center; background:rgba(245,247,251,.88); backdrop-filter:blur(8px); }
.thr117-spinner { width:42px;height:42px;border-radius:50%;border:4px solid #dddff0;border-top-color:var(--thr117-navy);animation:thrspin .8s linear infinite; }
@keyframes thrspin { to{transform:rotate(360deg)} }
.thr117-toast { position:fixed; right:18px; bottom:76px; z-index:1000001; max-width:360px; padding:13px 15px; border-radius:16px; background:#202052; color:white; box-shadow:var(--thr117-shadow); font-weight:650; }
.thr117-modal { position:fixed; inset:0; z-index:1000002; display:grid; place-items:center; padding:18px; background:rgba(27,25,66,.38); backdrop-filter:blur(8px); }
.thr117-modal-card { width:min(520px,100%); background:white; border-radius:26px; padding:22px; box-shadow:var(--thr117-shadow); }
.thr117-modal-card h3 { margin:0 0 7px; color:var(--thr117-navy); font-size:24px; }
.thr117-modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
.thr117-statline { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid #eff0f5; }
.thr117-statline:last-child { border-bottom:0; }
.thr117-progress { height:9px; background:#ededf5; border-radius:999px; overflow:hidden; }
.thr117-progress > i { display:block; height:100%; border-radius:999px; background:var(--thr117-green); }
.thr117-callout { border:1px solid #e6e1c9; background:#fffdf2; border-radius:20px; padding:15px; }
.thr117-error { background:#fff0f0; border:1px solid #f5caca; color:#902e2e; border-radius:18px; padding:14px; }
.thr117-mobile-cards { display:none; }

@media (max-width: 980px) {
  .thr117-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .thr117-two, .thr117-three { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
  .thr117-shell { padding:8px; padding-bottom:84px; }
  .thr117-top { border-radius:20px; padding:12px; }
  .thr117-brand-copy strong { font-size:15px; }
  .thr117-brand-copy span { display:none; }
  .thr117-pill { display:none; }
  .thr117-page-head { align-items:flex-start; flex-direction:column; padding:8px 5px 15px; }
  .thr117-page-head h1 { font-size:38px; }
  .thr117-kpis { grid-template-columns:1fr 1fr; gap:9px; }
  .thr117-card { padding:14px; border-radius:20px; }
  .thr117-kpi strong { font-size:24px; }
  .thr117-nav {
    position:fixed; left:8px; right:8px; bottom:7px; z-index:30; margin:0;
    padding:7px; background:rgba(255,255,255,.96); border:1px solid var(--thr117-line); border-radius:22px;
    box-shadow:0 10px 35px rgba(38,37,83,.18);
  }
  .thr117-nav button { flex:1; padding:10px 8px; min-width:76px; font-size:11px; }
  .thr117-nav button span { display:none; }
  .thr117-input.search { min-width:0; width:100%; }
  .thr117-toolbar { width:100%; }
  .thr117-toolbar > * { flex:1; }
  .thr117-table-wrap { display:none; }
  .thr117-mobile-cards { display:grid; gap:9px; }
  .thr117-mobile-row { background:white; border:1px solid var(--thr117-line); border-radius:17px; padding:13px; }
  .thr117-mobile-row .row-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
  .thr117-mobile-row .row-meta { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; color:var(--thr117-muted); font-size:12px; }
}

.thr117-modal-wide { width:min(860px,100%); max-height:min(88vh,900px); overflow:auto; }
.thr117-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.thr117-form-grid label, .thr117-field-label { display:grid; gap:7px; font-size:12px; font-weight:800; color:var(--thr117-text); }
.thr117-field-label { margin-top:14px; }
.thr117-form-grid .thr117-input, .thr117-form-grid .thr117-select, .thr117-field-label .thr117-input, .thr117-field-label .thr117-select { width:100%; }
.thr117-btn:disabled { opacity:.45; cursor:not-allowed; }
@media (max-width:680px){ .thr117-form-grid { grid-template-columns:1fr; } .thr117-modal-wide { max-height:92vh; } }

.thr117-form-section { margin-top:18px; padding:16px; border:1px solid var(--thr117-line); border-radius:20px; background:#fcfcff; }
.thr117-form-section:first-of-type { margin-top:16px; }
.thr117-check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.thr117-check { display:flex; gap:10px; align-items:flex-start; padding:11px 12px; border:1px solid var(--thr117-line); border-radius:15px; background:white; cursor:pointer; }
.thr117-check input { margin-top:3px; }
.thr117-check span { display:grid; gap:2px; font-size:12px; color:var(--thr117-text); }
.thr117-check small { color:var(--thr117-muted); line-height:1.35; }
.thr117-component-list { display:grid; gap:12px; }
@media (max-width:680px){ .thr117-check-grid { grid-template-columns:1fr; } }

/* TRUST v123 roadmap modules */
.thr117-report-card { text-align:left; cursor:pointer; font:inherit; width:100%; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.thr117-report-card:hover { transform:translateY(-2px); border-color:#c8c7e7; box-shadow:0 12px 34px rgba(38,37,83,.08); }
.thr117-report-card.selected { border-color:#8f8bc8; box-shadow:0 0 0 3px rgba(41,37,116,.07); }
.thr117-chip-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.thr117-card.inner { box-shadow:none; background:#fcfcff; }
.thr117-textarea { border:1px solid var(--thr117-line); background:white; color:var(--thr117-text); border-radius:14px; padding:10px 12px; width:100%; outline:none; resize:vertical; font:inherit; }
.thr117-textarea:focus { border-color:#aaa9d4; box-shadow:0 0 0 3px rgba(41,37,116,.08); }
.thr117-textarea.code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12px; }
.thr117-field-span { grid-column:1/-1; }
.thr117-btn.danger { border-color:#efc5c5; background:#fff4f4; color:#a32e2e; }
.thr117-btn.danger:hover { background:#ffeaea; }
@media (max-width:680px){
  .thr117-field-span { grid-column:auto; }
  .thr117-chip-row .thr117-btn { width:100%; }
  .thr117-nav { overflow-x:auto; justify-content:flex-start; }
  .thr117-nav button { flex:0 0 64px; min-width:64px; }
}


/* TRUST v123.2 full-theme brand restoration + manager attendance editor */
#thr117-app {
  background:
    radial-gradient(circle at 8% -8%, rgba(247,201,44,.12), transparent 25rem),
    radial-gradient(circle at 98% 2%, rgba(31,180,81,.08), transparent 28rem),
    linear-gradient(180deg,#f8f9fd 0%,#f3f6fb 48%,#eef3f8 100%);
}
.thr117-shell { max-width:1420px; padding:18px 20px 30px; }
.thr117-top {
  border-radius:24px;
  border-color:#e2e5ef;
  box-shadow:0 10px 32px rgba(24,30,79,.07);
}
.thr117-nav { gap:9px; margin-top:16px; }
.thr117-nav button {
  min-height:44px;
  background:rgba(255,255,255,.9);
  box-shadow:0 2px 7px rgba(35,34,87,.025);
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.thr117-nav button:hover { transform:translateY(-1px); border-color:#cbcce0; box-shadow:0 8px 18px rgba(35,34,87,.06); }
.thr117-nav button.active { background:linear-gradient(135deg,var(--thr117-navy),#37318b); box-shadow:0 8px 18px rgba(41,37,116,.18); }
.thr117-page-head { padding-top:18px; }
.thr117-page-head h1 { color:#282473; }
.thr117-card { border-color:#e3e6ef; box-shadow:0 10px 26px rgba(32,37,77,.035); }
.thr117-kpi { position:relative; overflow:hidden; }
.thr117-kpi:after { content:""; position:absolute; width:72px; height:72px; right:-30px; top:-30px; border-radius:50%; background:rgba(41,37,116,.035); }
.thr117-btn.compact { min-height:34px; padding:0 11px; font-size:12px; }
.thr117-btn.primary { box-shadow:0 7px 16px rgba(41,37,116,.13); }
.attendance-editor .thr117-form-section { background:linear-gradient(180deg,#fcfcff,#f8f9fd); }
.attendance-editor #ae-punch-summary { padding:10px 12px; background:white; border:1px solid var(--thr117-line); border-radius:13px; min-height:38px; }
.attendance-editor textarea { min-height:78px; }
@media(max-width:680px){
  .thr117-shell { padding:8px 8px 88px; }
  .thr117-brand-logo { width:38px; height:38px; }
  .thr117-brand-copy .thr117-trust-word { margin-left:5px; padding-left:7px; }
  .attendance-editor .thr117-modal-actions { position:sticky; bottom:-22px; background:white; padding-top:10px; }
}

.thr117-modal, .thr117-toast, .thr117-loading {
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.thr117-modal button, .thr117-modal input, .thr117-modal select, .thr117-modal textarea { font:inherit; }

/* v126 native full-theme auth shell */
.thr117-auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 12% 10%,rgba(50,207,104,.10),transparent 28%),radial-gradient(circle at 88% 12%,rgba(41,37,116,.10),transparent 34%),#f5f7fb;color:var(--thr117-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.thr117-auth-card{width:min(470px,100%);background:#fff;border:1px solid var(--thr117-line);border-radius:30px;padding:30px;box-shadow:0 24px 70px rgba(41,37,116,.13)}
.thr117-auth-brand{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--thr117-line)}
.thr117-auth-brand img{width:190px;max-width:55%;height:auto;display:block}.thr117-auth-brand div{display:grid;gap:3px}.thr117-auth-brand b{font-size:20px;color:var(--thr117-navy);letter-spacing:.08em}.thr117-auth-brand span{font-size:12px;color:var(--thr117-muted)}
.thr117-auth-card h1{font-size:36px;line-height:1.03;letter-spacing:-.045em;color:var(--thr117-navy);margin:7px 0 9px}.thr117-auth-card>p{margin:0 0 18px;color:var(--thr117-muted)}
.thr117-auth-form{display:grid;gap:14px}.thr117-auth-form label{display:grid;gap:7px;font-size:12px;font-weight:800;color:var(--thr117-text)}.thr117-auth-form .thr117-btn{margin-top:3px;width:100%;justify-content:center}
.thr117-auth-note{margin-top:18px;background:#f7f8fc;border:1px solid var(--thr117-line);border-radius:16px;padding:12px 14px;color:var(--thr117-muted);font-size:12px;line-height:1.5}
.thr117-link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:680px){.thr117-brand-logo{width:112px;height:38px}.thr117-brand-copy{display:none}.thr117-top-actions .thr117-link-btn,.thr117-top-actions [data-action="signout"]{display:none}.thr117-auth-card{padding:22px;border-radius:24px}.thr117-auth-brand img{width:170px}.thr117-auth-card h1{font-size:31px}}

/* v126 grouped hover navigation — restored Teras HR interaction pattern */
.thr117-nav{display:flex;gap:8px;overflow:visible;margin:14px 0 18px;padding:3px;align-items:center;position:relative;z-index:25}
.thr117-nav-direct,.thr117-nav-main{appearance:none;border:1px solid var(--thr117-line);background:#fff;color:var(--thr117-text);padding:11px 16px;border-radius:999px;font-weight:800;cursor:pointer;min-height:43px;white-space:nowrap}
.thr117-nav-direct.active,.thr117-nav-group.active>.thr117-nav-main{background:var(--thr117-navy);color:#fff;border-color:var(--thr117-navy)}
.thr117-nav-group{position:relative;flex:none}.thr117-nav-caret{font-size:11px;margin-left:5px;opacity:.7}
.thr117-nav-drop{position:absolute;top:calc(100% + 9px);left:0;width:310px;padding:8px;background:#fff;border:1px solid var(--thr117-line);border-radius:22px;box-shadow:0 24px 60px rgba(28,31,70,.16);opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:.14s ease;z-index:80}
.thr117-nav-drop:before{content:"";position:absolute;left:0;right:0;top:-10px;height:11px}.thr117-nav-drop.right{left:auto;right:0}
.thr117-nav-group:hover>.thr117-nav-drop,.thr117-nav-group:focus-within>.thr117-nav-drop{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.thr117-nav-drop-title{padding:8px 10px 6px;color:#8a8da3;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.thr117-nav-drop button{width:100%;border:0;background:transparent;color:var(--thr117-text);border-radius:15px;padding:11px 12px;text-align:left;display:grid;gap:3px;cursor:pointer;min-height:0}
.thr117-nav-drop button:hover,.thr117-nav-drop button.active{background:#f2f2fb;color:var(--thr117-navy)}.thr117-nav-drop button b{font-size:13px}.thr117-nav-drop button span{font-size:11px;color:var(--thr117-muted);font-weight:600;line-height:1.35}
@media(max-width:760px){.thr117-nav{position:fixed;left:8px;right:8px;bottom:7px;z-index:30;margin:0;padding:7px;background:rgba(255,255,255,.97);border:1px solid var(--thr117-line);border-radius:22px;box-shadow:0 10px 35px rgba(38,37,83,.18);overflow-x:auto}.thr117-nav-direct,.thr117-nav-main{padding:9px 12px;min-height:38px;font-size:11px}.thr117-nav-drop{position:fixed;left:10px!important;right:10px!important;bottom:62px;top:auto;width:auto;max-height:55vh;overflow:auto}.thr117-nav-group:hover>.thr117-nav-drop{opacity:0;visibility:hidden;pointer-events:none}.thr117-nav-group:focus-within>.thr117-nav-drop{opacity:1;visibility:visible;pointer-events:auto}}


/* v126.2 — keep brand row and grouped navigation as one non-overlapping sticky header */
.thr117-header-stack{
  position:sticky;
  top:0;
  z-index:100;
  padding-top:2px;
  background:linear-gradient(180deg,rgba(245,247,251,.98) 0%,rgba(245,247,251,.92) 82%,rgba(245,247,251,0) 100%);
  backdrop-filter:blur(10px);
}
.thr117-header-stack .thr117-top{
  position:relative;
  top:auto;
  z-index:2;
}
.thr117-header-stack .thr117-nav{
  position:relative;
  z-index:3;
  margin:10px 0 16px;
}
@media(max-width:760px){
  .thr117-header-stack{position:sticky;top:0;padding-top:0;background:transparent;backdrop-filter:none}
  .thr117-header-stack .thr117-top{position:relative;z-index:20}
  .thr117-header-stack .thr117-nav{position:fixed;left:8px;right:8px;bottom:7px;top:auto;z-index:30;margin:0}
}


/* TRUST v127 — multi-client switcher + audit Master Data */
.thr127-company-switch{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;border:1px solid #e6e8f0;background:#fff;border-radius:14px;min-width:260px}
.thr127-company-switch>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#777b8c}.thr127-company-switch .thr117-select{border:0!important;padding:7px 26px 7px 6px!important;min-width:190px;background-color:transparent!important;font-weight:800;color:#292574}
.thr127-company-static{display:flex;flex-direction:column;padding:7px 12px;border:1px solid #e6e8f0;background:#fff;border-radius:14px}.thr127-company-static span{font-size:10px;font-weight:900;color:#797d8c}.thr127-company-static b{font-size:12px;color:#292574;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thr117-warning-banner{display:flex;gap:12px;align-items:center;margin:0 0 16px;padding:13px 16px;border:1px solid #f4cf73;background:#fff8df;border-radius:14px;color:#775200}.thr117-warning-banner span{font-size:12px}
.thr127-master-scroll{max-height:68vh}.thr127-master-table{min-width:1850px}.thr127-master-table th{position:sticky;top:0;z-index:2;background:#f7f8fb}.thr127-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;letter-spacing:.01em}
.thr127-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.thr127-client-card{padding:20px}.thr127-client-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.thr127-client-head h2{margin:4px 0 5px;color:#191c2b}.thr127-client-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.thr127-client-stats>div{background:#f7f8fb;border:1px solid #eceef4;border-radius:12px;padding:11px}.thr127-client-stats span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#7a7e8c;font-weight:800}.thr127-client-stats b{display:block;margin-top:4px;font-size:13px;color:#292574;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thr127-client-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
@media(max-width:1100px){.thr127-company-switch{min-width:210px}.thr127-company-switch .thr117-select{min-width:150px}.thr127-client-grid{grid-template-columns:1fr}}
@media(max-width:760px){.thr127-company-switch{width:100%;min-width:0}.thr127-company-switch .thr117-select{width:100%;min-width:0}.thr127-client-stats{grid-template-columns:1fr 1fr}.thr127-master-table{min-width:1500px}}


/* v127.1 — nav collision + horizontal-scroll cleanup */
html,body{max-width:100%;overflow-x:hidden}
#thr117-app{overflow-x:hidden;overflow-y:auto}
.thr117-shell,.thr117-header-stack,.thr117-top,.thr117-brand,.thr117-top-actions,.thr117-nav{min-width:0;max-width:100%}
@media (min-width:761px){
  .thr117-header-stack{display:grid;grid-template-rows:auto auto;gap:10px}
  .thr117-header-stack .thr117-top{position:relative!important;top:auto!important;margin:0;align-items:center;flex-wrap:wrap}
  .thr117-top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:100%;margin-left:auto}
  .thr117-header-stack .thr117-nav{
    position:relative!important;inset:auto!important;
    display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;
    gap:9px;overflow:visible!important;overscroll-behavior-x:none;
    margin:0 0 16px;padding:3px;white-space:normal;
  }
  .thr117-nav-direct,.thr117-nav-main{flex:0 0 auto;max-width:100%}
  .thr117-nav-group{flex:0 0 auto;min-width:0}
}
.thr117-nav{scrollbar-width:none;-ms-overflow-style:none}
.thr117-nav::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
@media (max-width:1180px) and (min-width:761px){
  .thr117-brand-logo{width:132px}
  .thr127-company-switch{min-width:220px}
  .thr127-company-switch .thr117-select{min-width:145px}
  .thr117-top-actions .thr117-btn{min-height:38px;padding:0 12px}
}
@media (max-width:760px){
  .thr117-nav{scrollbar-width:none!important;-ms-overflow-style:none!important}
  .thr117-nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
}


/* v127.2 — pilot UAT UX hardening */
.thr117-page-head{min-width:0;flex-wrap:wrap}
.thr117-page-head>div:first-child{min-width:260px;flex:1 1 440px}
.thr117-page-head>.thr117-toolbar{flex:1 1 560px;justify-content:flex-end;min-width:0;max-width:100%}
.thr117-page-head>.thr117-toolbar>*{min-width:0}
.thr127-master-search{flex:2 1 290px;min-width:220px!important}
.thr127-master-filter{flex:1 1 150px;max-width:210px}

.thr117-modal{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.thr117-modal-card{max-width:calc(100vw - 36px);min-width:0;overflow-x:hidden}
.thr117-modal-wide{width:min(920px,calc(100vw - 36px));max-width:920px;max-height:min(90vh,920px);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.thr117-form-grid{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.thr117-form-grid label,.thr117-field-label{min-width:0}
.thr117-form-grid .thr117-input,.thr117-form-grid .thr117-select,.thr117-field-label .thr117-input,.thr117-field-label .thr117-select{min-width:0;max-width:100%;width:100%}
.thr117-modal-actions{flex-wrap:wrap;position:sticky;bottom:-22px;background:linear-gradient(to bottom,rgba(255,255,255,.78),#fff 24%);padding-top:14px;padding-bottom:2px;z-index:3}
.thr127-client-modal-card{overscroll-behavior:contain}

.thr127-master-scroll{max-height:64vh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}
.thr127-master-table{min-width:1680px;table-layout:auto}
.thr127-master-table th,.thr127-master-table td{padding:9px 10px}
.thr127-master-table td{font-size:12px;line-height:1.35}
.thr127-master-table th:nth-child(1),.thr127-master-table td:nth-child(1){position:sticky;left:0;min-width:92px;max-width:92px;background:#fff;z-index:3}
.thr127-master-table th:nth-child(2),.thr127-master-table td:nth-child(2){position:sticky;left:92px;min-width:220px;background:#fff;z-index:3;box-shadow:8px 0 12px -12px rgba(32,28,102,.45)}
.thr127-master-table thead th:nth-child(1),.thr127-master-table thead th:nth-child(2){background:#f7f8fb;z-index:5}
.thr127-table-empty{display:grid;gap:5px;place-items:center;min-height:160px;text-align:center;color:var(--thr117-muted)}
.thr127-table-empty b,.thr127-empty-card b{color:var(--thr117-text)}
.thr127-table-empty span,.thr127-empty-card span{font-size:12px}
.thr127-empty-card{display:grid;gap:5px}

@media(max-width:980px){
  .thr117-page-head>.thr117-toolbar{justify-content:flex-start;flex-basis:100%}
  .thr127-master-filter{max-width:none}
}
@media(max-width:680px){
  .thr117-modal{padding:10px;place-items:start center}
  .thr117-modal-card,.thr117-modal-wide{max-width:calc(100vw - 20px);width:calc(100vw - 20px);border-radius:20px;padding:17px;max-height:calc(100vh - 20px)}
  .thr117-form-grid{grid-template-columns:1fr}
  .thr117-modal-actions>*{flex:1 1 120px}
  .thr117-page-head>div:first-child{min-width:0;flex-basis:100%}
  .thr117-page-head>.thr117-toolbar{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .thr117-page-head>.thr117-toolbar .thr127-master-search{grid-column:1/-1;min-width:0!important;width:100%}
  .thr117-page-head>.thr117-toolbar .thr127-master-filter{width:100%;max-width:none}
}
.thr117-modal,.thr117-modal *{box-sizing:border-box}


/* v129.5 Universal Eligibility */
.thr130-eligibility{margin:18px 0;padding:18px;border:1px solid #dfe7f1;border-radius:18px;background:#f9fbfd;display:grid;gap:14px}
.thr130-elig-rules{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.thr130-elig-rules.is-hidden{display:none}
.thr130-elig-group{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:13px;display:grid;gap:7px;align-content:start}
.thr130-elig-group.full{grid-column:1/-1}
.thr130-elig-group>b{font-size:13px;color:#102d51}
.thr130-elig-group>small{font-size:11px;color:#718198;line-height:1.4}
.thr130-choice-grid{display:flex;flex-wrap:wrap;gap:7px}
.thr130-choice{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #dbe4ef;border-radius:999px;background:#fff;font-size:11px;color:#233a58;cursor:pointer}
.thr130-choice:hover{border-color:#aebfd3;background:#f7fafc}
.thr130-choice input{width:14px;height:14px;margin:0;accent-color:#173a68}
.thr130-choice:has(input:checked){border-color:#8ab8a5;background:#eef9f4;color:#176c50;font-weight:750}
.thr130-employee-list{max-height:210px;overflow:auto;padding:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border-radius:10px}
.thr130-employee-list .thr130-choice{border-radius:10px;justify-content:flex-start}
.thr130-help{margin:0!important}
.thr130-actions{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:760px){.thr130-elig-rules{grid-template-columns:1fr}.thr130-elig-group.full{grid-column:auto}.thr130-employee-list{grid-template-columns:1fr}}
