.login-page {
  /* Login keeps its original dark identity, independent of the workspace theme. */
  --surface-subtle: #0d1117;
  --text: #f0f4f8;
  --text-faint: #8b949e;
  --border-strong: #30363d;
  color-scheme: dark;
  align-items: flex-start;
  background: #0b0e13;
  color: #e6edf3;
  display: flex;
  justify-content: center;
  min-height: 100dvh;
  padding: 56px 24px 80px;
}
.login-panel { width: min(100%, 360px); }
.login-brand { align-items: center; background: transparent; border: 0; display: flex; height: 64px; justify-content: center; margin: 0 auto 14px; width: 64px; }.login-brand img { background: transparent; border: 0; border-radius: 0; display: block; height: 64px; object-fit: contain; width: 64px; }
.login-panel h1 { color: #fff; font-size: 24px; font-weight: 600; line-height: 1.25; margin: 0 0 24px; text-align: center; }
.login-mode { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 12px; }
.login-mode button { background: transparent; border: 0; border-bottom: 1px solid #30363d; color: #8b949e; min-height: 36px; }
.login-mode button.is-active { border-bottom: 2px solid #58a6ff; color: #fff; font-weight: 600; }
.login-mode button:disabled { cursor: not-allowed; }
.login-description { color: #8b949e; font-size: 13.5px; line-height: 1.4; margin: 0 0 22px; text-align: center; }
.login-form { display: grid; gap: 16px; }
.login-form label { color: #fff; display: grid; font-size: 14px; font-weight: 600; gap: 8px; }
.login-form input { background: #0d1117; border: 1px solid #30363d; border-radius: 8px; color: #f0f4f8; font: inherit; font-size: 16px; min-height: 56px; outline: none; padding: 0 18px; width: 100%; }
.login-form input:focus { border-color: #58a6ff; box-shadow: 0 0 0 2px #1f6feb; }.login-form input:-webkit-autofill,.login-form input:-webkit-autofill:hover,.login-form input:-webkit-autofill:focus { -webkit-text-fill-color: #f0f4f8; box-shadow: 0 0 0 1000px #0d1117 inset; caret-color: #f0f4f8; transition: background-color 9999s ease-out 0s; }
.login-password { position: relative; }
.login-password-label { align-items: center; display: flex; justify-content: space-between; width: 100%; }.login-password-label button { background: transparent; border: 0; color: #58a6ff; cursor: pointer; font: inherit; font-weight: 400; padding: 0; }.login-password-label button:hover { color: #85c0ff; text-decoration: underline; }
.login-password input { padding-right: 52px; }
.login-password button { align-items: center; background: transparent; border: 0; color: #8b949e; display: flex; height: 36px; justify-content: center; padding: 0; position: absolute; right: 10px; top: 10px; width: 36px; }
.login-submit { background: #22803a; border: 1px solid rgb(240 246 252 / 10%); border-radius: 6px; color: #fff; font-size: 15px; font-weight: 600; margin-top: 2px; min-height: 48px; }
.login-submit:hover:not(:disabled) { background: #2a9a47; }
.login-submit:disabled { cursor: wait; opacity: .8; }
.login-error { background: #3a1717; border: 1px solid #8f2d2d; border-radius: 6px; color: #ffb4ad; font-size: 14px; margin: 0; padding: 10px 12px; }
.login-footnote { color: #8b949e; font-size: 14px; margin: 20px 0 0; text-align: center; }
.login-mfa-secret { background: #151e27; border: 1px solid #303c49; border-radius: 6px; color: #c9d5df; display: grid; font-size: 13px; gap: 8px; padding: 12px; }.login-mfa-secret code { color: #6eb6ff; font-size: 15px; letter-spacing: 0; overflow-wrap: anywhere; }
.login-footnote a { color: #58a6ff; }
.header-logout { align-items: center; background: transparent; border: 0; color: var(--text-muted); display: inline-flex; height: 32px; justify-content: center; padding: 0; width: 28px; }
.header-logout:hover { color: var(--danger); }
.header-account { position: relative; }.header-account-trigger { align-items: center; background: transparent; border: 0; border-radius: 7px; color: var(--text-muted); cursor: pointer; display: inline-flex; gap: 7px; padding: 2px; place-items: center; }.header-account-trigger:hover { background: var(--surface-subtle); color: var(--text); }.header-account-trigger svg { transition: transform .16s ease; }.header-account-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }.header-account-trigger:focus-visible { box-shadow: 0 0 0 3px #bce6df; outline: 0; }.header-account-menu { background: var(--surface); border: 1px solid var(--border); border-radius: 15px; box-shadow: 0 18px 38px rgb(12 27 35 / 20%); min-width: 300px; overflow: hidden; padding: 0; position: absolute; right: 0; top: calc(100% + 11px); z-index: 70; }.header-account-identity { align-items: center; border-bottom: 1px solid var(--border); display: flex; gap: 12px; padding: 17px 16px; }.header-account-identity > span:last-child { display: grid; gap: 4px; }.header-account-menu strong { color: var(--text); font-size: 16px; }.header-account-menu small { color: var(--text-muted); font-size: 13px; }.header-account-menu > a,.header-account-appearance summary,.header-account-logout { align-items: center; background: transparent; border: 0; color: var(--text); cursor: pointer; display: flex; font: inherit; font-size: 15px; font-weight: 650; gap: 11px; min-height: 48px; padding: 0 16px; text-align: left; text-decoration: none; width: 100%; }.header-account-menu > a:hover,.header-account-appearance summary:hover { background: var(--surface-subtle); color: var(--primary-hover); }.header-account-appearance { border-top: 1px solid var(--border); }.header-account-appearance summary { list-style: none; }.header-account-appearance summary::-webkit-details-marker { display: none; }.header-account-appearance summary em { color: var(--text-faint); font-size: 12px; font-style: normal; font-weight: 500; margin-left: auto; }.header-account-appearance summary > svg:last-child { color: var(--text-faint); transition: transform .16s ease; }.header-account-appearance[open] summary > svg:last-child { transform: rotate(90deg); }.header-account-appearance > div { background: var(--surface-subtle); border-top: 1px solid var(--border); display: grid; gap: 5px; grid-template-columns: repeat(3, 1fr); padding: 10px 16px 13px; }.header-account-appearance button { background: transparent; border: 1px solid var(--border); border-radius: 6px; color: var(--text-muted); cursor: pointer; font: inherit; font-size: 12px; min-height: 31px; padding: 0 7px; }.header-account-appearance button:hover,.header-account-appearance button.is-active { background: var(--surface); border-color: var(--primary); color: var(--primary-hover); font-weight: 750; }.header-account-logout { border-top: 1px solid var(--border); color: #c64c45; margin-top: 0; }.header-account-logout:hover { background: #fff3f1; color: #af352e; }
.company-setup { align-items: center; background: #f4f7f7; display: flex; justify-content: center; min-height: 100dvh; padding: 24px; }
.company-setup-card { background: #fff; border: 1px solid #d9e2e5; border-radius: 10px; box-shadow: 0 18px 44px rgb(24 51 60 / 10%); display: grid; grid-template-columns: 250px minmax(0, 620px); min-height: 540px; overflow: hidden; width: min(100%, 920px); }
.company-setup-loading,.company-setup-error { align-items: center; color: #51616b; display: flex; gap: 10px; grid-column: 1 / -1; justify-content: center; min-height: 540px; }
.company-setup-progress { background: #063f42; color: #e9f6f4; padding: 30px 24px; }
.company-setup-logo { align-items: center; color: #fff; display: flex; font-size: 15px; font-weight: 750; gap: 9px; margin-bottom: 54px; }
.company-setup-logo svg { background: #087d78; border-radius: 7px; padding: 3px; }
.company-setup-progress > p { color: #9fd7d1; font-size: 11px; font-weight: 800; letter-spacing: .08em; margin: 0 0 14px; }
.company-setup-progress ol { display: grid; gap: 16px; list-style: none; margin: 0; padding: 0; }
.company-setup-progress li { align-items: center; color: #a6c4c2; display: flex; font-size: 13px; gap: 10px; }
.company-setup-progress li b { align-items: center; border: 1px solid #568181; border-radius: 50%; display: flex; font-size: 12px; height: 24px; justify-content: center; width: 24px; }
.company-setup-progress li span { display: grid; gap: 2px; }.company-setup-progress li small { font-size: 11px; }.company-setup-progress li.is-active { color: #fff; }.company-setup-progress li.is-active b { background: #12a594; border-color: #12a594; }
.company-setup-form { display: flex; flex-direction: column; min-width: 0; padding: 44px 46px 30px; }.setup-step { flex: 1; }.setup-step h1 { color: #102a33; font-size: 26px; line-height: 1.18; margin: 0 0 10px; }.setup-step > p:not(.eyebrow) { color: #61717a; line-height: 1.5; margin: 0 0 26px; }.setup-fields { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }.setup-fields label,.setup-group-name { color: #344952; display: grid; font-size: 13px; font-weight: 700; gap: 7px; }.setup-fields input,.setup-group-name input { border: 1px solid #cdd9de; border-radius: 6px; color: #142d36; font: inherit; font-size: 14px; min-height: 40px; padding: 0 10px; }.setup-choice { align-items: flex-start; background: #f4f8f8; border: 1px solid #d7e4e5; border-radius: 7px; display: flex; gap: 10px; padding: 16px; }.setup-choice input { margin-top: 4px; }.setup-choice span { display: grid; gap: 4px; }.setup-choice small { color: #61717a; line-height: 1.4; }.setup-group-name { margin-top: 16px; }.setup-module-grid { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }.setup-module-grid label { cursor: pointer; }.setup-module-grid input { position: absolute; opacity: 0; }.setup-module-grid span { align-items: center; border: 1px solid #d7e2e5; border-radius: 7px; color: #33515a; display: flex; gap: 10px; min-height: 62px; padding: 12px; }.setup-module-grid input:checked + span { background: #ecf8f6; border-color: #0d8c80; color: #006b65; }.setup-ready { align-items: flex-start; background: #edf8f5; border: 1px solid #badfd7; border-radius: 8px; display: flex; gap: 12px; padding: 18px; }.setup-ready > span { color: #087d78; }.setup-ready div { display: grid; gap: 5px; }.setup-ready small { color: #55706f; line-height: 1.4; }.setup-error { background: #fff0ef; border: 1px solid #efc3bf; border-radius: 6px; color: #aa3028; font-size: 13px; margin: 12px 0 0; padding: 9px 10px; }.company-setup-form footer { align-items: center; display: grid; grid-template-columns: auto 1fr auto; margin-top: 24px; }.company-setup-form footer .ui-button { align-items: center; display: inline-flex; gap: 5px; }

.operation-sidebar,
.ui-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow);
  min-width: 0;
}
.operation-sidebar {
  align-self: start;
  position: sticky;
  top: 116px;
  --surface: #ffffff;
  --surface-subtle: #f3f4f6;
  --surface-accent: #e5e7eb;
  --text: #1f2937;
  --text-muted: #585e69;
  --text-faint: #666c74;
  --border: #e1e4e8;
  --border-strong: #c8cdd4;
  --primary: #4b5563;
  --primary-hover: #374151;
}
.operation-sidebar { padding: 14px; }
.operation-sidebar-panel { display: grid; gap: 18px; }
.workspace-modules {
  align-content: start;
  display: grid;
  gap: 12px;
  grid-column: 1;
  min-width: 0;
}
.workspace-modules-head { align-items: baseline; display: flex; justify-content: space-between; }
.workspace-home-body .eyebrow {
  font-size: var(--type-ui);
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.workspace-modules-groups { display: grid; gap: 16px; }
.workspace-modules-group { display: grid; gap: 4px; }
.workspace-modules-group:not(:has(> .workspace-modules-list > :not([hidden]):not([data-module-hidden]))) { display: none; }
.workspace-modules-group-label,
.operation-sections-title {
  color: var(--text-muted);
  font-size: var(--type-ui);
  font-weight: 650;
  margin: 0 0 6px;
}
.workspace-modules-list,
.operation-sections { display: grid; gap: 4px; }
.workspace-modules-list a,
.workspace-modules-list p {
  align-items: center;
  border-radius: var(--radius-ui);
  color: var(--text);
  display: flex;
  font-size: var(--type-ui);
  gap: 12px;
  margin: 0;
  min-height: 34px;
  padding: 8px 8px 8px 0;
}
.workspace-modules-list a:hover,
.operation-section:hover { background: var(--surface-subtle); }
.workspace-modules-list p.is-blocked { color: var(--text-faint); }
.workspace-modules-icon svg { color: var(--text-muted); display: block; height: 18px; width: 18px; }
.workspace-modules-list p.is-blocked .workspace-modules-icon svg { color: var(--text-faint); }
.operation-section {
  align-items: center;
  border-radius: var(--radius-ui);
  color: var(--text-muted);
  display: flex;
  gap: 10px;
  min-height: 38px;
  padding: 8px 9px;
}
.operation-section.is-active { background: var(--surface-accent); color: var(--primary-hover); font-weight: 750; }
.operation-sidebar--payroll {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 8px 0;
  --surface-subtle: #f3f7f6;
  --surface-accent: #e1f4ed;
  --text-muted: #58696c;
  --primary-hover: #006b63;
}
.operation-sidebar--payroll .operation-sidebar-panel { gap: 26px; }
.operation-sidebar--payroll .operation-sections { gap: 3px; }
.operation-sidebar--payroll .operation-sections-title {
  color: #647275;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  margin: 0 0 5px;
  padding: 0 13px;
  text-transform: uppercase;
}
.operation-sidebar--payroll .operation-section {
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  gap: 12px;
  min-height: 44px;
  padding: 10px 13px;
}
.operation-sidebar--payroll .operation-section svg { flex-shrink: 0; height: 19px; width: 19px; }
.operation-sidebar--payroll .operation-section[href="#/remuneraciones/Mes%20de%20proceso"] svg { color: var(--text-muted); }
.operation-sidebar--payroll .operation-section span { min-width: 0; overflow-wrap: anywhere; }
.operation-sidebar--payroll .operation-section:focus-visible { outline: 2px solid var(--primary-hover); outline-offset: 2px; }
.org-switch-trigger,
.operation-header-settings,
.ui-button {
  align-items: center;
  background: white;
  border: 1px solid #d1d9e0;
  border-radius: var(--radius-ui);
  color: var(--text);
  display: inline-flex;
  font-size: 14px;
  font-weight: 650;
  gap: 8px;
  min-height: 34px;
  padding: 7px 11px;
  white-space: nowrap;
}
.header-search {
  align-items: center;
  border: 1px solid #d1d9e0;
  border-radius: var(--radius-ui);
  color: var(--text-faint);
  display: flex;
  font-size: var(--type-ui);
  gap: 8px;
  min-height: 36px;
  min-width: 220px;
  padding: 0 10px;
}
.operation-header .org-switch-trigger,
.operation-header .operation-header-settings,
.operation-header .ui-button.secondary {
  background: transparent;
  border-color: var(--border);
}
.header-tasks { position: relative; }
.header-tasks-trigger { align-items: center; background: transparent; border: 1px solid var(--border); border-radius: var(--radius-ui); color: #344b53; cursor: pointer; display: inline-flex; height: 38px; justify-content: center; padding: 0; position: relative; width: 42px; }
.header-tasks-trigger:hover, .header-tasks-trigger[aria-expanded="true"] { background: var(--surface-accent); border-color: #b9c9cf; color: var(--primary-hover); }
.header-tasks-trigger:focus-visible { box-shadow: 0 0 0 3px #bce6df; outline: 0; }
.header-tasks-badge { align-items: center; background: #bc332c; border: 2px solid #f7f9fa; border-radius: 999px; color: white; display: flex; font-size: 10px; font-weight: 800; height: 19px; justify-content: center; min-width: 19px; padding: 0 4px; position: absolute; right: -7px; top: -7px; }
.header-tasks-badge[hidden] { display:none; }
.header-tasks-menu { background: #fff; border: 1px solid #d3dfe3; border-radius: 16px; box-shadow: 0 18px 40px rgb(23 52 58 / 18%); color: #183139; overflow: auto; max-height:calc(100dvh - 84px); padding-top: 2px; position: absolute; right: 0; top: calc(100% + 12px); width: min(480px, calc(100vw - 28px)); z-index: 60; }
@media(max-width:640px) { .header-tasks-menu { position:fixed; top:112px; left:14px; right:14px; width:auto; max-height:calc(100dvh - 128px); } }
.header-tasks-head { align-items: center; display: flex; justify-content: space-between; padding: 23px 26px 16px; }
.header-tasks-summary>.ui-skeleton-stack { flex:1; }
.header-task-row[aria-hidden]>.ui-skeleton-check { align-self:center; }
.header-tasks-head small { color: #60757c; font-size: 11px; font-weight: 800; letter-spacing: .07em; }
.header-tasks-head h2 { color: #193139; font-size: 27px; line-height: 1.1; margin: 5px 0 0; }
.header-tasks-head button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: #577077; cursor: pointer; display: flex; height: 32px; justify-content: center; width: 32px; }.header-tasks-head button:hover { background: #eef4f4; color: #087d78; }
.header-tasks-summary { align-items: center; background: #f3f6f7; border: 1px solid #dbe4e7; border-radius: 10px; display: flex; gap: 10px; margin: 0 26px 18px; padding: 15px 16px; }.header-tasks-summary strong { color: #14303a; font-size: 25px; line-height: 1; }.header-tasks-summary span { color: #536a72; font-size: 13px; line-height: 1.3; }
.header-tasks-section { padding: 7px 26px 0; }.header-tasks-section h3 { align-items: center; color: var(--text-muted); display: flex; font-size: 18px; justify-content: space-between; margin: 3px 0 11px; }.header-tasks-section h3 b { align-items: center; background: var(--surface-subtle); border-radius: 999px; color: var(--text-muted); display: flex; font-size: 12px; height: 24px; justify-content: center; min-width: 24px; }
.header-task-row { align-items: flex-start; border-bottom: 1px solid #dce5e7; color: inherit; display: grid; gap: 11px; grid-template-columns: 44px minmax(0,1fr) 16px; padding: 13px 0 16px; text-decoration: none; }.header-task-row:hover strong { color: #087d78; }.header-task-row > svg { align-self: center; color: #66797f; }.header-task-row > span:nth-child(2) { display: grid; gap: 4px; }.header-task-row strong { color: #263e45; font-size: 14px; line-height: 1.25; }.header-task-row small { color: #607078; font-size: 13px; line-height: 1.35; }.header-task-icon { align-items: center; background: #f2f6f7; border: 1px solid #d5e0e3; border-radius: 9px; color: #38656c; display: flex; height: 42px; justify-content: center; width: 42px; }.header-task-icon.is-contract { background: #fff2f1; border-color: #efc6c2; color: #b43731; }
.header-tasks-empty { color: var(--text-muted); font-size: 13px; margin: 0; padding: 7px 0 17px; }.header-tasks-empty.is-standalone, .header-tasks-loading { color: var(--text-muted); font-size: 14px; padding: 28px; text-align: center; }.header-tasks-menu footer { color: var(--text-muted); display: flex; font-size: 12px; justify-content: space-between; margin-top: 8px; padding: 15px 26px; }.header-tasks-menu footer span { color: var(--text-faint); }
.org-switcher { position: relative; }
.org-switcher summary { cursor: pointer; list-style: none; }
.org-switcher summary::-webkit-details-marker { display: none; }
.org-switcher summary svg { transition: transform .16s ease; }
.org-switcher[open] summary svg { transform: rotate(180deg); }
.org-switch-menu { background: white; border: 1px solid var(--border); border-radius: var(--radius-ui); box-shadow: 0 14px 28px rgba(16, 34, 47, .16); min-width: 270px; padding: 8px; position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; }
.org-switch-menu > p, .org-switch-section > span { color: var(--text-faint); display: block; font-size: 10px; font-weight: 800; letter-spacing: .06em; margin: 7px 8px; }
.org-switch-section + .org-switch-section { border-top: 1px solid var(--border); margin-top: 6px; padding-top: 5px; }
.org-switch-menu button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: var(--text); cursor: pointer; display: grid; gap: 0 9px; grid-template-columns: 17px 1fr; padding: 8px; text-align: left; width: 100%; }
.org-switch-menu button:hover, .org-switch-menu button.is-active { background: var(--surface-accent); color: var(--primary-hover); }
.org-switch-menu button svg { grid-row: span 2; }
.org-switch-menu button strong { font-size: 13px; font-weight: 750; }
.org-switch-menu button small { color: var(--text-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.org-switch-menu > a { border-top: 1px solid var(--border); color: var(--primary-hover); display: block; font-size: 13px; font-weight: 700; margin-top: 6px; padding: 10px 8px 5px; }
.org-switch-empty { color: var(--text-muted); display: block; padding: 8px; }
.ui-button.primary { background: var(--primary-solid); border-color: var(--primary-solid); color: white; }
.ui-button.primary:hover:not(:disabled):not(.sst-fuf-actions .primary):not(.agent-comparison-controls .ui-button) { background: var(--primary-solid-hover); border-color: var(--primary-solid-hover); }
.ui-button.primary:active:not(:disabled):not(.sst-fuf-actions .primary):not(.agent-comparison-controls .ui-button) { background: var(--primary-solid-active); border-color: var(--primary-solid-active); }
.ui-button.primary:focus-visible { outline: 2px solid var(--primary-solid); outline-offset: 3px; }
.ui-button.secondary { background: transparent; }
.avatar {
  background: var(--primary);
  border-radius: 50%;
  color: white;
  display: grid;
  font-size: 13px;
  font-weight: 800;
  height: 34px;
  place-items: center;
  width: 34px;
}
.workspace-home-greeting h1 { color: #000; font-size: var(--type-page); line-height: 1.22; margin: 0; }
.workspace-section-head { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; }
.workspace-section-head small { color: var(--text-muted); font-size: var(--type-meta); }
.workspace-home-main section { display: grid; gap: 8px; min-width: 0; }
.workspace-shortcut-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.workspace-shortcut {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--radius-panel);
  display: grid;
  gap: 9px;
  min-height: 112px;
  padding: 16px;
}
.workspace-shortcut-head { align-items: center; display: flex; gap: 10px; }
.workspace-shortcut-badge { border: 1px solid var(--border); border-radius: var(--radius-ui); color: var(--text); display: grid; height: 34px; place-items: center; width: 34px; }
.workspace-shortcut-head > svg:last-child { color: var(--text-muted); margin-left: auto; }
.workspace-shortcut small,
.ui-card p { color: var(--text-muted); font-size: 14px; line-height: 1.45; }
.workspace-activity-card { display: grid; gap: 12px; min-width: 0; }
.workspace-activity-scroll { max-width: 100%; min-width: 0; overflow-x: auto; padding-bottom: 10px; scrollbar-color: #82958d transparent; }
.workspace-activity-grid { display: grid; gap: 8px; padding: 2px 32px 8px 0; width: max-content; }
.workspace-activity-months { color: var(--text-muted); display: grid; font-size: var(--type-meta); gap: 3px; grid-template-columns: repeat(var(--weeks),12px); }
.workspace-activity-months span { overflow: visible; white-space: nowrap; }
.workspace-activity-cells { display: flex; gap: 3px; }
.workspace-activity-week { display: grid; flex: 0 0 12px; gap: 3px; grid-template-rows: repeat(7,12px); }
.workspace-activity-day { background: var(--activity-0); border-radius: 3px; height: 12px; width: 12px; }
.workspace-activity-day[data-level="1"] { background: var(--activity-1); }
.workspace-activity-day[data-level="2"] { background: var(--activity-2); }
.workspace-activity-day[data-level="3"] { background: var(--activity-3); }
.workspace-activity-day[data-level="4"] { background: var(--activity-4); }
.data-empty { background: var(--surface-subtle); border: 1px dashed var(--border-strong); border-radius: var(--radius-panel); padding: 16px; }
.workspace-home-aside { grid-column: 5; min-width: 0; }
.workspace-profile { background: linear-gradient(160deg,#0f2f2c,#087a70 58%,#0b3e55); border-radius: 8px; box-shadow: var(--shadow); color: white; display: grid; gap: 14px; overflow: hidden; padding: 16px; }
.workspace-profile-head { align-items: center; display: flex; gap: 12px; }
.workspace-profile h3 { font-size: var(--type-block); margin: 0; }
.workspace-profile p { margin: 0; }
.workspace-profile-head p { color: rgb(255 255 255 / 72%); font-size: var(--type-meta); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-avatar { background: rgb(255 255 255 / 18%); border: 1px solid rgb(255 255 255 / 35%); border-radius: 18px; color: white; display: grid; flex: none; font-size: 24px; font-weight: 800; height: 70px; place-items: center; width: 70px; }
.profile-role { background: rgb(255 255 255 / 14%); border: 1px solid rgb(255 255 255 / 20%); border-radius: 999px; color: rgb(255 255 255 / 86%); display: inline-flex; font-size: var(--type-meta); font-weight: 700; justify-self: start; padding: 5px 9px; }
.profile-contact { background: rgb(255 255 255 / 12%); border: 1px solid rgb(255 255 255 / 16%); border-radius: 8px; display: grid; }
.profile-contact div { align-items: center; display: flex; gap: 9px; min-width: 0; padding: 10px; }
.profile-contact div + div { border-top: 1px solid rgb(255 255 255 / 14%); }
.profile-contact span { font-size: var(--type-meta); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-block { display: grid; gap: 8px; }
.workspace-profile .eyebrow { color: rgb(255 255 255 / 72%); font-size: var(--type-meta); }
.profile-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.profile-chips span,
.profile-theme button { background: rgb(255 255 255 / 13%); border: 1px solid rgb(255 255 255 / 18%); border-radius: 999px; color: white; font-size: var(--type-meta); padding: 5px 8px; }
.profile-theme { display: flex; flex-wrap: wrap; gap: 7px; }
.ui-card { padding: 16px; }
.ui-card h3 { font-size: 18px; margin: 0 0 8px; }
.metric-card { display: grid; gap: 8px; min-height: 108px; }
.metric-card b { font-size: 28px; line-height: 1; }
.metric-card span { color: var(--text-muted); font-size: 13px; }
.metric-card small { color: var(--primary-hover); font-size: 12px; font-weight: 750; }
.table-wrap { overflow: auto; padding: 0; }
table { border-collapse: collapse; min-width: 720px; width: 100%; }
th, td { border-bottom: 1px solid var(--border); font-size: 14px; padding: 12px 14px; text-align: left; vertical-align: top; }
th { background: var(--surface-subtle); color: var(--text-faint); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
tr:last-child td { border-bottom: 0; }
.badge { background: var(--surface-subtle); border: 1px solid var(--border); border-radius: 999px; color: var(--text-muted); display: inline-flex; font-size: 12px; font-weight: 800; padding: 4px 8px; white-space: nowrap; }
.badge.ok { background: #e7f7f0; border-color: #bfe7d8; color: #05645d; }
.badge.warn { background: #fff7e8; border-color: #f2d69b; color: #8a5a12; }
.badge.bad { background: #fff0ee; border-color: #ffc9c1; color: #b42318; }
.timeline { display: grid; gap: 12px; }
.timeline-item { border-left: 3px solid var(--border-strong); padding-left: 12px; }
.timeline-item.ok { border-color: var(--primary); }
.timeline-item.warn { border-color: #d89336; }
.timeline-item strong { display: block; font-size: 14px; }
.timeline-item span { color: var(--text-muted); display: block; font-size: 13px; margin-top: 2px; }
.notice {
  background: #fff7e8;
  border: 1px solid #f2d69b;
  border-radius: var(--radius-panel);
  color: #6f4a10;
  font-size: 13px;
  padding: 12px 14px;
}
.operation-launcher-backdrop {
  background: rgb(0 0 0 / 32%);
  inset: 0;
  position: fixed;
  z-index: 60;
}
.operation-launcher {
  animation: operation-launcher-in 180ms cubic-bezier(.2,.8,.2,1);
  background: var(--chrome);
  border: 1px solid var(--border);
  border-radius: var(--radius-panel);
  box-shadow: 12px 0 36px rgb(0 0 0 / 28%);
  color: var(--text);
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 8px);
  margin: 4px;
  overflow: hidden;
  width: min(calc(100% - 8px),324px);
}
.operation-launcher-head {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  min-height: 48px;
  padding: 9px 12px;
}
.operation-launcher-head strong { font-size: var(--type-ui); }
.operation-launcher-head button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-ui);
  color: var(--text-muted);
  display: flex;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}
.operation-launcher-head button:hover { background: var(--surface-subtle); color: var(--text); }
.operation-launcher-domain {
  display: grid;
  gap: 2px;
  min-height: 0;
  overflow-y: auto;
  padding: 4px 8px 16px;
}
.operation-launcher-domain a {
  align-items: center;
  border-radius: var(--radius-ui);
  color: var(--text);
  display: flex;
  font-size: var(--type-ui);
  gap: 10px;
  min-height: 36px;
  padding: 7px 10px;
  position: relative;
}
.operation-launcher-domain a:hover,
.operation-launcher-domain a.is-active { background: var(--surface-subtle); }
.operation-launcher-domain a.is-active::before {
  background: #0969da;
  border-radius: 999px;
  bottom: 6px;
  content: "";
  left: -8px;
  position: absolute;
  top: 6px;
  width: 3px;
}
.operation-launcher-domain a svg { color: var(--text-muted); height: 16px; width: 16px; }
.operation-launcher-domain a span { min-width: 0; }
.operation-launcher-domain a strong,
.operation-launcher-domain a small { display: block; }
.operation-launcher-domain a strong { font-weight: 400; line-height: 1.25; }
.operation-launcher-domain a small { display: none; }
.operation-launcher--context .operation-launcher-domain { gap: 4px; }
.operation-launcher--context .operation-launcher-domain a { min-height: 38px; }
.operation-launcher-divider { background: var(--border); display: block; height: 1px; margin: 8px 2px; }
.operation-launcher-group-label { color: var(--text-faint); font-size: var(--type-meta); font-weight: 400; padding: 1px 10px 5px; }
@keyframes operation-launcher-in {
  from { opacity: 0; transform: translateX(-14px); }
  to { opacity: 1; transform: translateX(0); }
}
.people-workspace { display: grid; gap: 18px; }
.people-page-title { align-items: center; display: flex; justify-content: space-between; min-height: 38px; }
.people-page-title h1 { font-size: 22px; line-height: 1.2; margin: 0; }
.people-period { color: var(--text-muted); font-size: var(--type-meta); }
.people-period strong { color: var(--text); font-weight: 700; }
.people-directory-shell { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-panel); box-shadow: 0 1px 3px rgb(15 23 42 / 5%); padding: 18px; }
.people-directory-topline { align-items: center; display: grid; gap: 12px; grid-template-columns: 1fr auto 1fr; }
.people-directory-topline .people-tabs { grid-column: 2; }
.people-directory-topline .people-directory-actions { grid-column: 3; justify-self: end; }
.people-tabs { display: flex; gap: 18px; }
.people-tabs button { background: transparent; border: 0; color: var(--text-muted); font-size: var(--type-ui); font-weight: 650; min-height: 34px; padding: 0 0 7px; position: relative; }
.people-tabs button::after { background: transparent; bottom: 0; content: ""; height: 2px; left: 0; position: absolute; right: 0; }
.people-tabs button.is-active { color: var(--text); }
.people-tabs button.is-active::after { background: var(--primary); }
.people-directory-actions { align-items: center; display: flex; gap: 8px; }
.icon-button { align-items: center; background: transparent; border: 1px solid var(--border-strong); border-radius: var(--radius-ui); color: var(--text-muted); display: inline-flex; height: 34px; justify-content: center; padding: 0; width: 34px; }
.icon-button:hover { background: var(--surface-subtle); color: var(--text); }
.people-directory-controls { border-top: 1px solid var(--border); display: grid; gap: 12px; margin-top: 14px; padding: 14px 0 18px; }
.people-directory-primary { align-items: center; display: flex; gap: 10px; }
.people-filter-toggle { align-items: center; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-ui); color: var(--text); display: inline-flex; font-size: var(--type-ui); font-weight: 650; gap: 7px; min-height: 36px; padding: 0 11px; }
.status-filter { background: var(--surface-subtle); border: 1px solid var(--border); border-radius: var(--radius-ui); display: inline-flex; padding: 3px; }
.status-filter button { background: transparent; border: 0; border-radius: 4px; color: var(--text-muted); font-size: var(--type-meta); font-weight: 650; min-height: 28px; padding: 0 10px; }
.status-filter button.is-active { background: var(--surface); box-shadow: 0 1px 3px rgb(15 23 42 / 12%); color: var(--text); }
.people-directory-results { border: 1px solid var(--border); border-radius: var(--radius-panel); overflow: hidden; }
.people-directory-results-header { align-items: center; background: color-mix(in srgb,var(--surface) 94%,var(--surface-subtle)); border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; min-height: 62px; padding: 10px 16px; }
.people-directory-results-header p { color: var(--text-muted); font-size: var(--type-meta); margin: 0; }
.people-directory-search-tools { display: grid; gap: 8px; min-width: 0; }
.people-directory-search { align-items: center; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-ui); color: var(--text-faint); display: flex; gap: 9px; min-height: 38px; padding: 0 11px; width: min(100%,360px); }
.people-directory-search:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgb(8 122 112 / 13%); }
.people-directory-search input { background: transparent; border: 0; color: var(--text); font: inherit; font-size: var(--type-ui); min-width: 0; outline: 0; width: 100%; }
.people-directory-search input::placeholder { color: var(--text-faint); }
.people-directory-filter-row { align-items: center; display: flex; gap: 8px; }.people-filter-toggle { align-items: center; background: var(--surface); border: 0; border-radius: 4px; color: var(--text-muted); cursor: pointer; display: inline-flex; height: 30px; justify-content: center; padding: 0; width: 30px; }.people-filter-toggle:hover { background: var(--surface-subtle); color: var(--primary-hover); }
.people-directory-desktop { overflow-x: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0 !important; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.people-directory-native tbody td[colspan] { text-align: left; padding: 24px !important; }
.people-directory-native tbody td[colspan] > span { display: block; max-width: min(540px,calc(100vw - 100px)); white-space: normal; }
.people-directory-native { border-collapse: collapse; font-size: var(--type-meta); min-width: 980px; table-layout: fixed; width: 100%; }
.people-directory-native .col-check { width: 44px; }.people-directory-native .col-person { width: 21%; }.people-directory-native .col-company { width: 15%; }.people-directory-native .col-role { width: 16%; }.people-directory-native .col-unit { width: 17%; }.people-directory-native .col-date { width: 10%; }.people-directory-native .col-status { width: 7%; }.people-directory-native .col-contract { width: 9%; }
.people-directory-native th { background: color-mix(in srgb,var(--surface-subtle) 55%,var(--surface)); border-bottom: 1px solid var(--border); color: var(--text-faint); font-size: 11px; font-weight: 750; letter-spacing: .05em; padding: 10px 14px; text-align: left; text-transform: uppercase; }
.people-directory-native td { border-bottom: 1px solid var(--border); height: 64px; padding: 9px 14px; vertical-align: middle; }
.people-directory-native tbody tr:hover { background: var(--surface-subtle); }.people-directory-native tbody tr:last-child td { border-bottom: 0; }
.people-directory-native th:first-child,.people-directory-native td:first-child { padding-inline: 12px; text-align: center; }.people-directory-native th:last-child,.people-directory-native td:last-child { text-align: center; }
.people-directory-native td > strong,.people-directory-native td > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.people-directory-native td > strong { font-size: var(--type-meta); font-weight: 700; }.people-directory-native td > small,.people-worker-cell small { color: var(--text-faint); display: block; font-size: 11px; margin-top: 3px; }
.people-worker-cell { align-items: center; display: flex; gap: 10px; min-width: 0; }.people-worker-cell > span:last-child { min-width: 0; }.people-worker-avatar { align-items: center; background: var(--surface-subtle); border: 1px solid var(--border); border-radius: 50%; color: var(--text-muted); display: flex; flex: 0 0 32px; font-size: 11px; font-weight: 400; height: 32px; justify-content: center; width: 32px; box-sizing: border-box; }
.people-name-button { background: transparent; border: 0; color: var(--text); display: block; font: inherit; font-size: var(--type-meta); font-weight: 500; overflow: hidden; padding: 0; text-align: left; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }.people-directory-native tbody tr:hover .people-name-button,.people-name-button:hover,.people-name-button:focus-visible { color: #0969da; text-decoration: none; }.people-company-name { font-size: var(--type-meta); }.people-start-date { color: var(--text-muted); white-space: nowrap; }
html[data-theme="dark"] .people-directory-native tbody tr:hover .people-name-button,html[data-theme="dark"] .people-name-button:hover,html[data-theme="dark"] .people-name-button:focus-visible { color: #79b8ff; }
.people-directory-results .status-badge { background: var(--surface-subtle); border: 1px solid var(--border); border-radius: 999px; color: var(--text-muted); font-size: 11px; font-style: normal; font-weight: 650; padding: 4px 7px; white-space: nowrap; }
.people-directory-results .status-badge.is-inactive { background: #f5f1ed; border-color: #decfc1; color: #766354; }.status-filter b { font-size: 10px; margin-left: 3px; }
.people-contract-button { align-items: center; background: transparent; border: 0; color: var(--primary-hover); display: inline-flex; font-size: var(--type-meta); font-weight: 700; gap: 2px; padding: 5px; }.people-contract-button:hover { text-decoration: underline; }
.people-contract-menu { display: inline-block; position: relative; text-align: left; }
.people-contract-menu summary { align-items: center; background: transparent; border: 0; border-radius: 0; color: var(--text-muted); cursor: pointer; display: inline-flex; height: 36px; justify-content: center; list-style: none; width: 36px; }
.people-contract-menu summary > svg { transform: rotate(90deg); }
.people-contract-menu summary::-webkit-details-marker { display: none; }
.people-contract-menu summary:hover,.people-contract-menu[open] summary { background: transparent; color: var(--primary-hover); }
.people-contract-menu summary:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.people-contract-options { background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-panel); box-shadow: 0 10px 22px rgb(15 23 42 / 16%); display: grid; min-width: 310px; padding: 6px; position: absolute; right: 0; top: calc(100% + 8px); z-index: 45; }
.people-contract-options button,.people-contract-options a { align-items: flex-start; background: transparent; border: 0; border-radius: var(--radius-ui); color: var(--text); display: flex; font: inherit; gap: 12px; min-height: 62px; padding: 10px; text-align: left; text-decoration: none; width: 100%; }
.people-contract-options button:hover,.people-contract-options a:hover { background: var(--surface-subtle); }.people-contract-options button > span:first-child,.people-contract-options a > span:first-child { color: var(--primary-hover); padding-top: 2px; }.people-contract-options strong,.people-contract-options small { display: block; }.people-contract-options strong { font-size: var(--type-ui); font-weight: 700; }.people-contract-options small { color: var(--text-muted); font-size: var(--type-meta); margin-top: 3px; }.people-contract-options .is-danger,.people-contract-options .is-danger > span:first-child,.people-contract-options .is-danger small { color: #bf2f27; }
.people-directory-pagination { align-items: center; border-top: 1px solid var(--border); display: flex; justify-content: space-between; min-height: 58px; padding: 10px 16px; }.people-directory-pagination p { color: var(--text-faint); font-size: var(--type-meta); margin: 0; }.people-directory-pagination p strong { color: var(--text-muted); }.people-directory-pagination > div { align-items: center; display: flex; gap: 7px; }.people-directory-pagination > div span { background: var(--surface-accent); border-radius: 4px; color: var(--primary-hover); font-size: var(--type-meta); font-weight: 750; padding: 7px 10px; }
.people-pagination-controls { gap: 9px !important; }.people-pagination-controls select { appearance: auto; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-ui); color: var(--text); font: inherit; font-size: var(--type-meta); font-weight: 650; height: 36px; min-width: 126px; padding: 0 28px 0 10px; }.people-pagination-controls button { align-items: center; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-ui); color: var(--primary-hover); cursor: pointer; display: inline-flex; height: 36px; justify-content: center; padding: 0; width: 36px; }.people-pagination-controls button:hover:not(:disabled) { background: var(--surface-accent); }.people-pagination-controls button:disabled { color: var(--border-strong); cursor: default; }.people-pagination-controls > span { background: transparent !important; color: var(--text-muted) !important; min-width: 48px; padding: 7px 2px !important; text-align: center; }
/* Tabla de empresas del Centro de control. */
.control-dashboard { display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); }
.control-company-directory { background: #fff; border: 1px solid #d3e0e5; border-radius: 10px; overflow: hidden; }.control-company-directory > header { align-items: center; border-bottom: 1px solid #dce6e9; display: flex; justify-content: space-between; padding: 18px 20px; }.control-company-directory .eyebrow { color: var(--primary-hover); font-size: 11px; font-weight: 800; letter-spacing: .06em; margin: 0 0 6px; }.control-company-directory h2 { color: #183640; font-size: 19px; margin: 0; }.control-company-directory header p:not(.eyebrow) { color: #687d85; font-size: 13px; margin: 5px 0 0; }.control-company-table-scroll { overflow-x: auto; }.control-company-directory table { border-collapse: collapse; min-width: 980px; width: 100%; }.control-company-directory th { background: #f4f7f8; color: #536c76; font-size: 11px; font-weight: 800; letter-spacing: .04em; padding: 13px 17px; text-align: left; text-transform: uppercase; }.control-company-directory td { border-top: 1px solid #dfe8eb; color: #415d67; font-size: 13px; padding: 15px 17px; vertical-align: middle; }.control-company-directory tbody tr { transition: background .15s; }.control-company-directory tbody tr:hover,.control-company-directory tbody tr.is-active { background: #f2f8f7; }.control-company-directory td:first-child > button { align-items: center; background: transparent; border: 0; color: inherit; display: flex; font: inherit; gap: 12px; padding: 0; text-align: left; }.control-company-badge { align-items: center; background: #e2f3ef; border: 1px solid #9acfc6; border-radius: 10px; color: #087a70; display: inline-flex; font-size: 11px; font-weight: 800; height: 40px; justify-content: center; width: 40px; }.control-company-directory strong,.control-company-directory small { display: block; }.control-company-directory td:first-child strong { color: #183640; font-size: 14px; }.control-company-directory td:first-child small { color: #66808a; font-size: 12px; margin-top: 3px; }.control-module-meter { min-width: 190px; }.control-module-meter span { color: #45606a; font-size: 12px; }.control-module-meter span b { color: #17343a; font-size: 18px; margin-right: 3px; }.control-module-meter i { background: #dfe9e8; border-radius: 999px; display: block; height: 6px; margin-top: 7px; overflow: hidden; width: 100%; }.control-module-meter em { background: var(--primary); border-radius: inherit; display: block; height: 100%; }.control-config-tags { display: flex; flex-wrap: wrap; gap: 6px; max-width: 290px; }.control-config-tags span { background: #f5f8fa; border: 1px solid #d3dfe4; border-radius: 7px; color: #526b75; font-size: 12px; padding: 5px 8px; white-space: nowrap; }.control-access-count { color: #17343a; font-size: 16px; text-align: center; }.control-table-status { align-items: center; background: #e5f4ef; border-radius: 999px; color: #087a70; display: inline-flex; font-size: 12px; font-weight: 700; gap: 6px; padding: 6px 10px; }.control-table-status i { background: #087a70; border-radius: 50%; height: 7px; width: 7px; }.control-row-menu { background: #fff; border: 1px solid #ccdbe0; border-radius: var(--radius-ui); color: #49636c; height: 38px; padding: 0; width: 40px; }.control-row-menu:hover { background: #f3f7f8; }
.header-account-menu [data-open-holding-config] { color: #23444d; }.header-account-menu [data-open-holding-config]:hover { background: #eef7f5; color: #087a70; }
.holding-modal { align-items: center; display: grid; inset: 0; justify-items: center; padding: 24px; position: fixed; z-index: 80; }.holding-modal-backdrop { background: #102d3690; inset: 0; position: absolute; }.holding-modal-card { background: #fff; border-radius: 10px; box-shadow: 0 20px 65px #0c252c4d; display: grid; grid-template-rows: auto minmax(0,1fr) auto; max-height: calc(100dvh - 48px); max-width: 1000px; overflow: hidden; position: relative; width: 100%; }.holding-modal-card > header { align-items: start; border-bottom: 1px solid #dce5e8; display: flex; justify-content: space-between; padding: 20px 24px; }.holding-modal-card h2,.holding-modal-card h3 { color: #17343a; margin: 0; }.holding-modal-card h2 { font-size: 22px; }.holding-modal-card header p:not(.eyebrow),.holding-modal-section header p,.holding-modal-team > p:not(.eyebrow) { color: #60747b; font-size: 13px; line-height: 1.45; margin: 5px 0 0; }.holding-modal-scroll { overflow: auto; }.holding-modal-intro { align-items: start; background: #f6fbfa; border-bottom: 1px solid #dce8e6; display: flex; justify-content: space-between; padding: 18px 24px; }.holding-modal-intro h3 { font-size: 18px; }.holding-modal-intro p { color: #60747b; font-size: 13px; line-height: 1.45; margin: 5px 0 0; max-width: 620px; }.holding-modal-intro > span { background: #e1f2ee; border-radius: 999px; color: #08756d; font-size: 12px; font-weight: 750; padding: 6px 9px; white-space: nowrap; }.holding-modal-companies { border-bottom: 1px solid #e0e8ea; padding: 16px 24px; }.holding-modal-companies > header { align-items: baseline; display: flex; gap: 5px; }.holding-modal-companies > header strong { color: #087a70; font-size: 22px; }.holding-modal-companies > header span { color: #5e747b; font-size: 13px; }.holding-modal-companies > div { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }.holding-modal-companies article { align-items: center; border: 1px solid #d7e3e6; border-radius: 7px; display: flex; gap: 8px; min-width: 205px; padding: 9px; }.holding-modal-companies article b,.holding-modal-team article > b { align-items: center; background: #e7f4f1; border-radius: 6px; color: #087a70; display: inline-flex; font-size: 11px; height: 30px; justify-content: center; width: 30px; }.holding-modal-companies article span,.holding-modal-team article > span { display: grid; gap: 2px; }.holding-modal-companies article strong,.holding-modal-team article strong { color: #23434b; font-size: 12px; }.holding-modal-companies article small,.holding-modal-team article small { color: #71838a; font-size: 11px; }.holding-modal-companies article em,.holding-modal-team article em { color: #08756d; font-size: 10px; font-style: normal; font-weight: 750; margin-left: auto; }.holding-modal-section { border-bottom: 1px solid #e0e8ea; padding: 18px 24px; }.holding-modal-section > header { align-items: start; display: flex; gap: 10px; }.holding-modal-section > header > span { align-items: center; background: #087a70; border-radius: 50%; color: #fff; display: inline-flex; font-size: 12px; font-weight: 750; height: 24px; justify-content: center; width: 24px; }.holding-modal-section h3,.holding-modal-team h3 { font-size: 16px; }.holding-modal-facts { display: grid; gap: 10px; grid-template-columns: repeat(3,1fr); margin: 14px 0 0; }.holding-modal-facts div { background: #f7fafb; border: 1px solid #e0e8ea; border-radius: 7px; padding: 10px; }.holding-modal-facts dt { color: #6b7f86; font-size: 11px; }.holding-modal-facts dd { color: #23434b; font-size: 12px; font-weight: 700; margin: 4px 0 0; }.holding-modal-policies { border: 1px solid #dce5e8; border-radius: 7px; margin-top: 14px; overflow: hidden; }.holding-modal-policies > div { display: grid; gap: 12px; grid-template-columns: 1.25fr repeat(3,1fr); padding: 10px 12px; }.holding-modal-policies > div:first-child { background: #f3f7f8; color: #5c747c; font-size: 10px; font-weight: 800; text-transform: uppercase; }.holding-modal-policies > div + div { border-top: 1px solid #e3ebed; color: #557078; font-size: 12px; }.holding-modal-policies strong { color: #23434b; }.holding-modal-team { padding: 18px 24px 22px; }.holding-modal-team .eyebrow { color: #087a70; font-size: 10px; font-weight: 800; letter-spacing: .07em; margin: 0 0 6px; }.holding-modal-team > p:not(.eyebrow) { margin-top: 5px; }.holding-modal-team article { align-items: center; border-top: 1px solid #e2eaec; display: flex; gap: 9px; margin-top: 14px; padding-top: 12px; }.holding-modal-card > footer { align-items: center; background: #f8fafb; border-top: 1px solid #dce5e8; display: flex; justify-content: space-between; padding: 13px 24px; }.holding-modal-card > footer > span { color: #60747b; font-size: 12px; }
@media (max-width: 680px) { .holding-modal { padding: 10px; }.holding-modal-card { max-height: calc(100dvh - 20px); }.holding-modal-card > header,.holding-modal-intro,.holding-modal-companies,.holding-modal-section,.holding-modal-team,.holding-modal-card > footer { padding-left: 16px; padding-right: 16px; }.holding-modal-intro > span { display: none; }.holding-modal-companies article { min-width: 100%; }.holding-modal-facts { grid-template-columns: 1fr; }.holding-modal-policies { overflow-x: auto; }.holding-modal-policies > div { min-width: 600px; }.holding-modal-card > footer { align-items: stretch; flex-direction: column; gap: 10px; }.holding-modal-card > footer .ui-button { justify-content: center; } }
.holding-modal-form { display: grid; grid-template-rows: minmax(0,1fr) auto; min-height: 0; }.holding-modal-fields { display: grid; gap: 12px; grid-template-columns: repeat(3,1fr); margin-top: 14px; }.holding-modal-fields label,.holding-modal-policies label { color: #567078; display: grid; font-size: 11px; font-weight: 750; gap: 5px; }.holding-modal-fields select,.holding-modal-policies select { background: #fff; border: 1px solid #cbd9de; border-radius: 6px; color: #203f48; font: inherit; font-size: 12px; font-weight: 700; height: 36px; min-width: 0; padding: 0 9px; width: 100%; }.holding-modal-policies > div + div { align-items: end; }.holding-modal-policies label > span { display: block; }.holding-modal-form > footer { align-items: center; background: #f8fafb; border-top: 1px solid #dce5e8; display: flex; justify-content: space-between; padding: 13px 24px; }.holding-modal-form > footer > span { color: #60747b; font-size: 12px; }
@media (max-width: 680px) { .holding-modal-form > footer { align-items: stretch; flex-direction: column; gap: 10px; padding-left: 16px; padding-right: 16px; }.holding-modal-form > footer .ui-button { justify-content: center; }.holding-modal-fields { grid-template-columns: 1fr; } }
.people-directory-native .col-access { width: 150px; }
.people-holding-access { width: min(480px, calc(100vw - 32px)); padding: 24px; border: 1px solid #cbd8de; border-radius: 8px; color: inherit; }
.people-holding-access::backdrop { background: #0005; }
.people-holding-access form { display: grid; gap: 16px; }
.people-holding-access h2, .people-holding-access p { margin: 0; }
.people-holding-access label { display: grid; gap: 8px; }
.people-holding-access input:not([type="checkbox"]), .people-holding-access select { width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid #cbd8de; border-radius: 4px; }
.people-holding-access .people-holding-confirm { display: flex; align-items: flex-start; }
.people-holding-access footer { display: flex; justify-content: flex-end; gap: 8px; }
.people-holding-access { padding:28px; color:#0e1a2b; box-shadow:0 24px 72px #0003; }
.people-holding-access::backdrop { background:#26303ab3; }
.people-holding-access [hidden] { display:none!important; }
.people-holding-access h2 { font-size:22px; line-height:30px; }
.holding-access-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.holding-access-title button { background:#f3f5f8; border:0; width:34px; height:34px; flex-shrink:0; }
.holding-access-person { display:flex; align-items:center; gap:12px; padding:12px; background:#f3f5f8; border-radius:8px; }
.holding-access-person>[data-avatar] { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:50%; background:#0e1a2b; color:#fff; font-weight:700; }
.holding-access-person>div { min-width:0; }
.holding-access-person small,.holding-access-scope small { display:block; color:#5b6b7f; font-size:12px; margin-top:4px; overflow-wrap:anywhere; }
.holding-access-method>span,.people-holding-access label { font-size:13px; font-weight:600; }
.holding-access-method>div { display:grid; grid-template-columns:1fr 1fr; gap:3px; padding:3px; margin-top:6px; background:#eef1f5; border-radius:8px; }
.holding-access-method button { border:0; background:transparent; border-radius:6px; padding:9px; cursor:pointer; }
.holding-access-method [aria-pressed=true] { background:#fff; box-shadow:0 1px 3px #0002; font-weight:700; }
.people-holding-access input[readonly] { background:#f8fafc; font-weight:600; }
.holding-password-heading { display:flex; justify-content:space-between; gap:8px; }
.holding-password-input { position:relative; }
.holding-password-input input { padding-right:48px!important; }
.holding-password-input button { position:absolute; right:6px; top:5px; height:30px; width:32px; border:0; border-radius:4px; background:#eef1f5; display:grid; place-items:center; cursor:pointer; }
.holding-password-bars { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.holding-password-bars i { height:4px; background:#e2e7ee; border-radius:2px; }
.holding-password-bars .is-filled { background:#0e7a55; }
.holding-access-scope { padding:12px; border:1px solid #e2e7ee; border-radius:8px; }
.holding-access-scope input { accent-color:#0e7a55; flex-shrink:0; }
.people-holding-access [data-status] { font-size:12px; color:#5b6b7f; }
.people-holding-access footer { margin-top:8px; }
.people-holding-access.is-saved { border-top:4px solid #0e7a55; }
.people-holding-access { position:relative; animation:holding-modal-enter .3s ease both; }
.people-holding-access form { transition:opacity .35s,transform .45s,filter .35s; }
.people-holding-access form>footer>[type=submit] { width:160px; height:44px; transition:width .45s,border-radius .45s; }
.people-holding-access[data-phase=loading] form>footer>[type=submit],.people-holding-access[data-phase=check] form>footer>[type=submit] { width:44px; min-width:44px; padding:0; border-radius:50%; }
.people-holding-access[data-phase=loading] form>:not(footer),.people-holding-access[data-phase=check] form>:not(footer) { opacity:.5; pointer-events:none; }
.holding-access-spinner { width:22px;height:22px;border:3px solid #ffffff50;border-top-color:white;border-radius:50%;box-sizing:border-box;animation:holding-spin .85s linear infinite; }
.people-holding-access[data-phase=success] { min-height:560px; }
.people-holding-access[data-phase=success]>form { position:absolute;inset:28px;opacity:0;filter:blur(6px);transform:translateY(-10px);pointer-events:none;visibility:hidden; }
.people-holding-access .holding-access-emblem { position:absolute; z-index:2; display:grid;place-items:center; background:#0e7a55;color:white;border:0;padding:0;box-shadow:0 14px 34px #0e7a5540; }
.holding-access-emblem svg { width:32px;height:32px; }
.holding-access-emblem:before,.holding-access-emblem:after { content:'';position:absolute;inset:0;border:2px solid #0e7a55;border-radius:50%;animation:holding-ripple 1.4s .6s ease-out 2;pointer-events:none; }
.holding-access-emblem:after { animation-delay:1s; }
.holding-access-success { padding-top:104px;display:flex;flex-direction:column;gap:16px;min-height:504px; }
.holding-access-success h2,.holding-access-success>p { text-align:center; }
.holding-access-success>p { color:#5b6b7f;font-size:13px;line-height:1.5; }
.holding-access-success dl { margin:0;padding:4px 16px;background:#f8fafc;border:1px solid #e2e7ee;border-radius:8px; }
.holding-access-success dl>div { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;border-bottom:1px solid #e8ecf1;animation:holding-row-enter .45s .35s both; }
.holding-access-success dl>div:nth-child(2) { animation-delay:.45s; }
.holding-access-success dl>div:nth-child(3) { animation-delay:.55s; }
.holding-access-success dl>div:last-child { border-bottom:0;animation-delay:.65s; }
.holding-access-success dt { color:#5b6b7f;font-size:12px; }
.holding-access-success dd { margin:0;text-align:right;font-size:12px;font-weight:600;overflow-wrap:anywhere; }
.holding-access-success [data-success-companies] { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:10px 0; }
.holding-access-success [data-success-companies] span { background:#e3f3ec;color:#0b5a3f;padding:5px 8px;border-radius:12px;animation:holding-chip-enter .4s both;animation-delay:calc(.8s + var(--chip-index)*.08s); }
.holding-access-success footer { margin-top:auto;display:flex;gap:10px; }
.holding-access-success footer button { flex:1;white-space:normal; }
.holding-access-toast { position:fixed;z-index:10000;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);box-sizing:border-box;background:#0e1a2b;color:white;padding:14px 18px;border-radius:8px;font-size:13px;animation:holding-row-enter .3s both; }
@keyframes holding-modal-enter { from {opacity:0;transform:scale(.96)} to {opacity:1;transform:scale(1)} }
@keyframes holding-spin { to {transform:rotate(360deg)} }
@keyframes holding-ripple { from {opacity:.5;transform:scale(1)} to {opacity:0;transform:scale(2.1)} }
@keyframes holding-row-enter { from {opacity:0;translate:0 14px} to {opacity:1;translate:0 0} }
@keyframes holding-chip-enter { from {opacity:0;scale:.8} to {opacity:1;scale:1} }
@media(prefers-reduced-motion:reduce) { .people-holding-access,.people-holding-access *,.holding-access-toast { animation:none!important;transition:none!important; } }
.holding-permission-matrix { width:min(1100px,calc(100vw - 32px));max-height:85vh;border:1px solid #cbd8de;border-radius:8px;padding:20px; }
.holding-permission-matrix::backdrop { background:#26303ab3; }
.holding-permission-matrix>header { display:flex;justify-content:space-between;align-items:center;gap:12px; }
.holding-permission-matrix details { border-top:1px solid #d8e1e6;padding:14px 0; }
.holding-permission-matrix fieldset { border:0;padding:12px 0;display:grid;gap:12px; }
.permission-matrix-scroll { overflow:auto; }
.holding-permission-matrix table { width:100%;border-collapse:collapse; }
.holding-permission-matrix th,.holding-permission-matrix td { padding:8px;text-align:left;border-bottom:1px solid #d8e1e6;font-size:12px; }
.holding-permission-matrix select { min-width:100px;padding:6px; }
.rail-navigation-tooltip { position:fixed;z-index:1200;padding:9px 13px;border:1px solid #374151;border-radius:6px;background:#202833;color:#fff;font-size:13px;font-weight:500;line-height:20px;box-shadow:0 6px 18px rgb(0 0 0 / 16%);pointer-events:none;max-width:240px; }
.rail-navigation-tooltip[hidden] { display:none; }
.rail-navigation-tooltip::before { content:'';position:absolute;left:-5px;top:calc(50% - 4px);width:8px;height:8px;background:#202833;transform:rotate(45deg);border-left:1px solid #374151;border-bottom:1px solid #374151; }
.people-action-rail nav { background:transparent; }
.header-resources-settings { margin-left:auto; }
.header-resources-settings>summary { cursor:pointer;list-style:none; }
.header-resources-settings>summary::-webkit-details-marker { display:none; }

.header-resources-panel { position:absolute;right:var(--page-gutter);top:100%;z-index:40;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:min(760px,calc(100vw - 32px));box-sizing:border-box;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 28px rgb(0 0 0 / 10%);max-height:calc(100dvh - 150px);overflow:auto; }
.header-resources-panel:not(:has(nav[aria-label=Empresa])) { grid-template-columns:1fr 2fr; }
.header-resources-panel h3 { margin:0 0 12px;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase; }
.header-resources-panel>div nav+nav { margin-top:24px; }
.header-resources-panel a { display:flex;align-items:center;gap:7px;min-height:36px;padding:5px 6px;text-decoration:none;color:var(--text-muted);font-size:14px;line-height:20px;border-radius:4px; }
.header-resources-panel a:hover,.header-resources-panel a:focus-visible { background:var(--surface-subtle);color:var(--text); }
.header-resources-panel a svg { flex-shrink:0; }
@media(max-width:650px) { .header-resources-panel,.header-resources-panel:not(:has(nav[aria-label=Empresa])) { grid-template-columns:1fr;gap:18px; }.header-resources-panel>nav { margin-top:0; } }
.holding-permission-matrix { width:min(1280px,calc(100vw - 32px)); height:min(780px,90dvh); max-height:90dvh; padding:0; background:var(--surface); color:var(--text); overflow:hidden; }
.holding-permission-matrix>header { padding:20px 24px; border-bottom:1px solid var(--border); }
.holding-permission-matrix>header small { font-size:11px; color:var(--text-muted); }
.holding-permission-matrix h2 { margin:4px 0 0; font-size:22px; }
.permission-close { display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted);cursor:pointer; }
.holding-permission-matrix>[role=status] { margin:0;padding:12px 24px;font-size:13px;background:var(--surface-subtle);color:var(--text-muted); }
.holding-permission-matrix>[role=status]:empty { display:none; }
.permission-layout { display:grid;grid-template-columns:260px minmax(0,1fr);height:calc(100% - 134px); }
.permission-users { grid-column:1;grid-row:1;padding:18px 12px;border-right:1px solid var(--border);overflow:auto;background:var(--surface-subtle); }
.permission-users>strong { display:flex;justify-content:space-between;font-size:13px;margin:0 8px 16px; }
.permission-users>input { width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);margin-bottom:14px; }
.permission-users nav { display:grid;gap:4px; }
.permission-users nav button { display:grid;gap:5px;text-align:left;padding:12px;border:0;border-left:3px solid transparent;border-radius:4px;background:transparent;color:var(--text);cursor:pointer; }
.permission-users nav button[hidden] { display:none; }
.permission-users nav button[aria-pressed=true] { border-left-color:var(--primary);background:var(--surface); }
.permission-users nav strong { font-size:13px;font-weight:500;overflow-wrap:anywhere; }
.permission-users nav small { color:var(--text-muted);font-size:12px; }
.permission-layout>details { display:none;grid-column:2;grid-row:1;min-width:0;overflow:auto;border:0;padding:20px 24px; }
.permission-layout>details[open] { display:block; }
.permission-layout>details>summary { list-style:none;pointer-events:none;font-size:16px;font-weight:500;padding-bottom:18px;border-bottom:1px solid var(--border); }
.permission-layout>details>summary::-webkit-details-marker { display:none; }
.holding-permission-matrix fieldset>label { display:flex;align-items:center;gap:12px;font-size:13px; }
.holding-permission-matrix select { border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);min-height:36px; }
.holding-permission-matrix input[type=checkbox] { accent-color:var(--primary);width:16px;height:16px; }
.permission-matrix-scroll { margin-top:12px;max-height:430px;border:1px solid var(--border);border-radius:6px; }
.holding-permission-matrix thead th { position:sticky;top:0;background:var(--surface-subtle);z-index:2;min-width:120px;font-weight:500; }
.holding-permission-matrix tbody th { min-width:190px;position:sticky;left:0;background:var(--surface);z-index:1;font-weight:500; }
.holding-permission-matrix tbody th>select { display:block;margin-top:8px;max-width:190px;font-size:12px; }
.permission-protected { padding:12px;background:var(--surface-subtle);border-left:3px solid var(--border);font-size:13px; }
@media(max-width:700px) { .holding-permission-matrix { width:calc(100vw - 16px); }.permission-layout { grid-template-columns:1fr;grid-template-rows:150px minmax(0,1fr); }.permission-users { border-right:0;border-bottom:1px solid var(--border);padding:10px; }.permission-users nav { display:flex;overflow:auto; }.permission-users nav button { min-width:180px; }.permission-users>strong { margin-bottom:8px; }.permission-users>input { margin-bottom:6px;padding:6px; }.permission-layout>details { grid-column:1;grid-row:2;padding:16px; } }
.header-account-settings>div { display:grid!important;grid-template-columns:1fr!important;gap:4px; }
.header-account-settings>div button,.header-account-settings>div a { width:100%;box-sizing:border-box;text-align:left;font-size:12px;padding:10px;border-radius:4px; }
.control-center-tabs { display:flex;gap:20px;border-bottom:1px solid #d8e1e6;margin-bottom:20px; }
.control-center-tabs button { border:0;border-bottom:2px solid transparent;background:transparent;color:inherit;padding:12px 0;cursor:pointer; }
.control-center-tabs [aria-pressed=true] { border-bottom-color:#00857d;font-weight:600; }
.control-modules-scroll { overflow:auto;margin:12px 0 24px; }
.control-modules-scroll table { width:100%;border-collapse:collapse; }
.control-modules-scroll th,.control-modules-scroll td { padding:10px 12px;border-bottom:1px solid #d8e1e6;text-align:left;font-size:12px;white-space:nowrap; }
.control-modules-scroll thead { background:#f4f7f8; }
.control-modules-scroll small { display:block;font-weight:400;margin-top:4px; }
.module-visibility { color:#718088; }
.module-visibility.is-enabled { color:#17634e;font-weight:600; }
.control-modules-user-heading { display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px; }
.control-modules-user-heading label { display:flex;align-items:center;gap:8px; }
.control-dashboard [hidden] { display:none!important; }
.module-toggles { min-width:0; }
.module-toggles [data-module-toggles] { max-width:100%; overflow-x:auto; }
.module-toggles table { width:100%;max-width:760px;border-collapse:collapse; }
.module-toggles th,.module-toggles td { padding:14px;text-align:left;border-bottom:1px solid #d8e1e6; }
.module-toggles input[role=switch] { appearance:none;width:36px;height:22px;background:#c8cfca;border-radius:12px;position:relative;cursor:pointer; }
.module-toggles input[role=switch]:before { content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;background:white;border-radius:50%; }
.module-toggles input[role=switch]:checked { background:#00857d; }
.module-toggles input[role=switch]:checked:before { left:17px; }
.module-toggles input[role=switch]:focus-visible { outline:2px solid #00857d;outline-offset:3px; }
[data-module-hidden],a[hidden] { display:none!important; }
.header-account-menu { background:var(--surface-subtle); border-radius:8px; min-width:0; width:240px; max-width:calc(100vw - 24px); box-shadow:0 12px 28px rgb(12 27 35 / 10%); top:calc(100% + 8px); }
.header-account-identity { padding:12px; gap:0; }
.header-account-identity > span:last-child { min-width:0; gap:7px; }
.header-account-menu strong { color:var(--text-muted); font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.header-account-menu small { font-size:12px; overflow-wrap:anywhere; }
.header-account-appearance { border-top:0; }
.header-account-appearance summary,.header-account-logout { min-height:40px; padding:0 12px; gap:10px; font-size:14px; font-weight:600; }
.header-account-appearance summary > svg { flex-shrink:0; width:16px; height:16px; }
.header-account-settings summary > svg:last-child { margin-left:auto; }
.header-account-appearance summary em { display:none; }
.header-account-appearance summary > svg:last-child { opacity:0; }
.header-account-appearance summary:hover > svg:last-child,.header-account-appearance[open] summary > svg:last-child,.header-account-appearance summary:focus-visible > svg:last-child { opacity:1; }
.header-account-appearance > div { padding:8px 12px; }
.header-account-logout { margin-top:4px; min-height:42px; color:var(--text-muted); }
.header-account-logout:hover { background:var(--surface); color:var(--text); }
.header-account-logout svg { width:16px; height:16px; }

.header-resources-settings>.header-company-settings:hover,.header-resources-settings[open]>.header-company-settings { background:var(--surface-subtle); color:var(--text-muted); }
.settings-external-arrow { font-size:13px; font-weight:400; }
