/* THRS Ultra Premium P10 — integrated final visual consistency release.
 HR Operations, internal Recruitment and shared UI components. CSS ONLY.
 This is one independent authorized P10 visual release; earlier P4/P5/P9 phase IDs are not reused.
 No auth, workflow, form submission or data changes. Layout Locked. */
.thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll) {
  --p4-ink: #162f50;
  --p4-muted: #4f6681;
  --p4-outline: #bccddd;
  --p4-soft: #f6f9fd;
  --p4-focus: #936d16;
  --p4-shade: 0 3px 11px rgba(12,34,66,.06), 0 16px 30px rgba(12,34,66,.045);
  --p4-shade-hover: 0 5px 16px rgba(12,34,66,.08), 0 20px 38px rgba(12,34,66,.07);
}
[data-theme="dark"] .thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll),
.dark .thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll) {
  --p4-ink: #edf5ff;
  --p4-muted: #bdcee0;
  --p4-outline: #486582;
  --p4-soft: #142b47;
  --p4-focus: #edc976;
  --p4-shade: 0 6px 19px rgba(0,0,0,.22);
  --p4-shade-hover: 0 10px 26px rgba(0,0,0,.3);
}
.thrs-shell .thrs-page-employees :is(.thrs-employee-table-card,.thrs-filter-command-bar,.emp-stat-card),
.thrs-shell .thrs-page-attendance :is(.thrs-attendance-chart-panel,.thrs-attendance-filters-panel,.thrs-attendance-monthly-panel,.thrs-attendance-records-panel),
.thrs-shell .thrs-page-payroll .thrs-payroll-flow-strip {
  border-color: var(--p4-outline);
  box-shadow: var(--p4-shade);
}
.thrs-shell .thrs-page-employees :is(.thrs-employee-table-card,.emp-stat-card):hover,
.thrs-shell .thrs-page-attendance :is(.thrs-attendance-chart-panel,.thrs-attendance-records-panel):hover {
  box-shadow: var(--p4-shade-hover);
}
.thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll)
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.form-select,.form-input,.form-textarea) {
  color: var(--p4-ink);
  border-color: var(--p4-outline);
  caret-color: var(--p4-focus);
}
.thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll)
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea)::placeholder {
  color: var(--p4-muted);
  opacity: 1;
}
.thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll)
:is(input,select,textarea,button,a,[role="button"],[role="tab"]):focus-visible {
  outline: 2px solid var(--p4-focus);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(193,157,72,.16);
}
.thrs-shell .thrs-page-employees :is(.thrs-employee-name,.thrs-employee-department,.thrs-employee-position) {
  color: var(--p4-ink);
}
.thrs-shell .thrs-page-employees :is(.thrs-employee-meta,.thrs-employee-email,.thrs-employee-hire-date) {
  color: var(--p4-muted);
}
.thrs-shell .thrs-page-employees .thrs-employee-table tr:hover {
  background-color: rgba(181,146,62,.085);
}
.thrs-shell .thrs-page-employees :is(.thrs-clear-filter-btn,.thrs-employee-more-btn):hover {
  border-color: var(--p4-focus);
}
.thrs-shell .thrs-page-employees .thrs-employee-action-menu {
  border-color: var(--p4-outline);
  box-shadow: var(--p4-shade-hover);
}
.thrs-shell .thrs-page-attendance .thrs-attendance-view-tabs [aria-selected="true"] {
  outline: 1px solid var(--p4-focus);
  outline-offset: -1px;
}
.thrs-shell .thrs-page-payroll .thrs-payroll-flow-strip {
  border-color: var(--p4-outline);
}
.thrs-shell .thrs-page-leaves :is(.form-label,.page-title),
.thrs-shell .thrs-page-payroll :is(.form-label,.page-title) {
  color: var(--p4-ink);
}
@media (prefers-reduced-motion: reduce) {
  .thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll)
  :is(.emp-stat-card,.thrs-employee-table-card,.thrs-attendance-chart-panel,button,a,input,select,textarea) {
    animation: none !important;
    transition: none !important;
  }
}
@media (forced-colors: active) {
  .thrs-shell :is(.thrs-page-employees,.thrs-page-attendance,.thrs-page-leaves,.thrs-page-payroll)
  :is(button,a,input,select,textarea):focus-visible { outline: 2px solid Highlight; }
}
.thrs-shell .thrs-page-recruitment {
  --p5-ink: #142e50;
  --p5-muted: #516783;
  --p5-border: #bacbdf;
  --p5-glow: rgba(177,134,42,.2);
  --p5-focus: #977117;
  --p5-elevation: 0 2px 9px rgba(13,38,72,.055), 0 12px 27px rgba(13,38,72,.06);
}
[data-theme="dark"] .thrs-shell .thrs-page-recruitment,
.dark .thrs-shell .thrs-page-recruitment {
  --p5-ink: #edf5ff;
  --p5-muted: #bbcede;
  --p5-border: #4a6481;
  --p5-glow: rgba(225,188,108,.22);
  --p5-focus: #e7c475;
  --p5-elevation: 0 7px 21px rgba(0,0,0,.25);
}
.thrs-shell .thrs-page-recruitment :is(
  .thrs-rec-v7-pipeline-panel,
  .thrs-recruitment-filter-card,
  .thrs-rec-v5-table-card
) {
  border-color: var(--p5-border);
  box-shadow: var(--p5-elevation);
}
.thrs-shell .thrs-page-recruitment :is(
 .thrs-rec-v7-kpi-label,
 .thrs-rec-v7-kpi-hint,
 .thrs-rec-candidate-contact
) { color: var(--p5-muted); }
.thrs-shell .thrs-page-recruitment :is(
 .thrs-rec-v6-filter-field input,
 .thrs-rec-v6-filter-field select,
 .thrs-rec-addjob-field input,
 .thrs-rec-addjob-field select,
 .thrs-recruitment-status-editor select
) {
  border-color: var(--p5-border);
  color: var(--p5-ink);
}
.thrs-shell .thrs-page-recruitment :is(input,select,textarea)::placeholder {
  color: var(--p5-muted);
  opacity: 1;
}
.thrs-shell .thrs-page-recruitment :is(
 button,a,input,select,textarea,[role="tab"],[role="button"]
):focus-visible {
  outline: 2px solid var(--p5-focus);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px var(--p5-glow);
}
.thrs-shell .thrs-page-recruitment :is(
  .thrs-rec-row-action,
  .thrs-rec-v6-filter-btn,
  .thrs-rec-v8-drawer-close,
  .thrs-rec-addjob-close
):hover:not(:disabled) {
  border-color: var(--p5-focus);
}
.thrs-shell .thrs-page-recruitment :is(
 .thrs-rec-v8-drawer,
 .thrs-rec-addjob-modal
) { border-color: var(--p5-border); }
.thrs-shell .thrs-page-recruitment :is(
 .thrs-rec-v7-stage-icon,
 .thrs-rec-v7-kpi-icon
) svg { stroke-linejoin: round; stroke-linecap: round; }
@media (prefers-reduced-motion: reduce) {
 .thrs-shell .thrs-page-recruitment :is(
  .thrs-rec-v7-stage-flow,.thrs-rec-v7-kpi-icon,button,a,input,select
 ) {
  transition: none !important;
  animation: none !important;
 }
}
@media (forced-colors: active) {
 .thrs-shell .thrs-page-recruitment :is(button,a,input,select):focus-visible {
  outline: 2px solid Highlight;
 }
}
.thrs-shell .thrs-main-shell {
  --p9-focus:#99721d;
  --p9-soft:#eef3fa;
  --p9-ink:#173553;
  --p9-muted:#4c6683;
  --p9-line:#c5d1e0;
  --p9-elevation:0 5px 19px rgba(13,37,69,.10),0 15px 38px rgba(13,37,69,.07);
}
[data-theme="dark"] .thrs-shell .thrs-main-shell,
.dark .thrs-shell .thrs-main-shell {
  --p9-focus:#e6c26c;
  --p9-soft:#172d49;
  --p9-ink:#eef6ff;
  --p9-muted:#b8cce1;
  --p9-line:#4d6885;
  --p9-elevation:0 12px 36px rgba(0,0,0,.28);
}
.thrs-shell .thrs-main-shell :is(
  button,a,input,select,textarea,[role="button"],[role="tab"]
):focus-visible {
  outline:2px solid var(--p9-focus);
  outline-offset:2px;
}
.thrs-shell .thrs-main-shell :is(.thrs-btn,.action-btn,.pagination-btn,.touch-target):disabled {
  filter:saturate(.65);
  cursor:not-allowed;
}
.thrs-shell .thrs-main-shell :is(.thrs-btn,.action-btn,.pagination-btn) {
  transition:box-shadow .18s ease,border-color .18s ease,filter .18s ease;
}
.thrs-shell .thrs-main-shell :is(.thrs-btn,.action-btn,.pagination-btn):hover:not(:disabled) {
  filter:brightness(1.035);
}
.thrs-shell .thrs-main-shell :is(
  .dropdown-menu,.popover-content,.menu-panel
) {
  border-color:var(--p9-line);
  box-shadow:var(--p9-elevation);
}
.thrs-shell .thrs-main-shell :is(.empty-state,.loading-state,.table-empty,.no-data) {
  color:var(--p9-muted);
}
.thrs-shell .thrs-main-shell :is(
  .thrs-btn-spinner,.spinner
) {
  border-top-color:var(--p9-focus);
}
.thrs-shell .thrs-main-shell :is(
  .thrs-card,.card
):focus-within {
  border-color:var(--p9-line);
}
body > .thrs-modal-overlay .thrs-modal-card {
  border-color:var(--border-color);
  box-shadow:0 16px 44px rgba(5,18,38,.24),0 25px 76px rgba(5,18,38,.16);
}
body > .thrs-modal-overlay .thrs-modal-card :is(button,a,input,select,textarea):focus-visible {
  outline:2px solid var(--accent-gold,#c8a84e);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce) {
 .thrs-shell .thrs-main-shell :is(
   .thrs-btn,.thrs-btn-spinner,.spinner,.action-btn,.pagination-btn,
   .dropdown-menu,.popover-content,.menu-panel
 ) {
   animation:none!important;
   transition:none!important;
 }
 body > .thrs-modal-overlay,
 body > .thrs-modal-overlay .thrs-modal-card {
   animation:none!important;
   transition:none!important;
 }
}
@media (forced-colors:active) {
 .thrs-shell .thrs-main-shell :is(button,a,input,select,textarea):focus-visible,
 body > .thrs-modal-overlay :is(button,a,input,select,textarea):focus-visible {
   outline:2px solid Highlight!important;
 }
}
.thrs-shell .thrs-main-shell {
  --p9-v2-paper:#fff;
  --p9-v2-ink:#143251;
  --p9-v2-muted:#526b85;
  --p9-v2-stroke:#cbd7e6;
  --p9-v2-gold:#a27a27;
  --p9-v2-halo:0 0 0 3px rgba(200,168,78,.18);
  --p9-v2-surface-shadow:0 1px 3px rgba(12,34,61,.045), 0 12px 32px rgba(12,34,61,.065);
  --p9-v2-surface-hover:0 3px 8px rgba(12,34,61,.055), 0 19px 41px rgba(12,34,61,.105);
}
[data-theme="dark"] .thrs-shell .thrs-main-shell {
  --p9-v2-paper:#142c49;
  --p9-v2-ink:#eef5ff;
  --p9-v2-muted:#b8cbe0;
  --p9-v2-stroke:#466281;
  --p9-v2-gold:#e1bc66;
  --p9-v2-halo:0 0 0 3px rgba(225,188,102,.24);
  --p9-v2-surface-shadow:0 4px 12px rgba(0,0,0,.19),0 16px 38px rgba(0,0,0,.20);
  --p9-v2-surface-hover:0 5px 14px rgba(0,0,0,.25),0 22px 48px rgba(0,0,0,.27);
}
.thrs-shell .thrs-main-shell :is(.thrs-card,.dashboard-card,.stat-card,.kpi-card,.filter-card,.thrs-panel,.content-card) {
  box-shadow:var(--p9-v2-surface-shadow);
  transition:box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
.thrs-shell .thrs-main-shell :is(.thrs-card,.dashboard-card,.stat-card,.kpi-card,.filter-card,.thrs-panel,.content-card):hover {
  box-shadow:var(--p9-v2-surface-hover);
}
.thrs-shell .thrs-main-shell :is(.thrs-card,.dashboard-card,.stat-card,.kpi-card,.filter-card,.thrs-panel,.content-card):focus-within {
  border-color:var(--p9-v2-stroke);
}
.thrs-shell .thrs-main-shell :is(.form-input,.form-select,.form-textarea,.thrs-search-input):not(:disabled):not([readonly]) {
  background-color:var(--p9-v2-paper)!important;
  color:var(--p9-v2-ink)!important;
  caret-color:var(--p9-v2-gold);
}
.thrs-shell .thrs-main-shell :is(.form-input,.form-select,.form-textarea,.thrs-search-input)::placeholder {
  color:var(--p9-v2-muted)!important;
  opacity:1;
}
.thrs-shell .thrs-main-shell :is(.form-label,.field-label,.thrs-field-label) {
  color:var(--p9-v2-ink);
}
.thrs-shell .thrs-main-shell :is(.form-hint,.field-hint,.helper-text,.table-empty,.no-data) {
  color:var(--p9-v2-muted);
}
.thrs-shell .thrs-main-shell :is(.form-input,.form-select,.form-textarea,.thrs-search-input):focus-visible {
  outline:2px solid var(--p9-v2-gold)!important;
  outline-offset:2px;
  box-shadow:var(--p9-v2-halo);
}
.thrs-shell .thrs-main-shell :is(input,textarea,select)[aria-invalid="true"] {
  border-color:#bc4a4a!important;
  box-shadow:0 0 0 2px rgba(188,74,74,.14);
}
.thrs-shell .thrs-main-shell :is(.form-hint,.helper-text,.field-hint,.table-empty,.no-data) {
  color:var(--p9-v2-muted);
}
.thrs-shell .thrs-main-shell :is(.thrs-table,.data-table,table) thead th {
  border-bottom-color:var(--p9-v2-stroke);
}
.thrs-shell .thrs-main-shell :is(.thrs-table,.data-table,table) tbody tr:hover {
  background-color:rgba(200,168,78,.055);
}
[data-theme="dark"] .thrs-shell .thrs-main-shell :is(.thrs-table,.data-table,table) tbody tr:hover {
  background-color:rgba(225,188,102,.09);
}
.thrs-shell .thrs-main-shell :is([role="tab"],.thrs-tab,.tab-button)[aria-selected="true"] {
  box-shadow:inset 0 -2px 0 var(--p9-v2-gold);
}
.thrs-shell .thrs-main-shell :is(.dropdown-menu,.popover-content,.menu-panel,.modal-content) {
  border-color:var(--p9-v2-stroke);
  box-shadow:var(--p9-v2-surface-hover);
}
.thrs-shell .thrs-main-shell :is(.dropdown-menu,.popover-content,.menu-panel)
:is(button,a,[role="menuitem"]):focus-visible {
  outline:2px solid var(--p9-v2-gold);
  outline-offset:2px;
}
.thrs-shell .thrs-main-shell :is(.empty-state,.loading-state,.error-state,.state-panel) {
  border-color:var(--p9-v2-stroke);
}
.thrs-shell .thrs-main-shell :is(.thrs-badge,.status-badge,.badge):focus-visible {
  outline:2px solid var(--p9-v2-gold);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce) {
  .thrs-shell .thrs-main-shell :is(.thrs-card,.dashboard-card,.stat-card,.kpi-card,.filter-card,.thrs-panel,.content-card) {
    animation:none!important;
    transition:none!important;
  }
}
@media (forced-colors:active) {
  .thrs-shell .thrs-main-shell :is([role="tab"],.form-input,.form-select,.form-textarea):focus-visible {
    outline:2px solid Highlight!important;
  }
}
