/* Shared light page canvas for every authenticated Personal and Corporate route. */
html[data-theme="light"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden),
html[data-theme="light"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) > .main{
  min-height:100vh;
  min-height:100dvh;
  background:var(--atsrs-light-page,#f6f8fb)!important;
}

/* V519: one dark workspace surface standard for Personal and Corporate. */
html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden){
  --atsrs-workspace-surface:var(--atsrs-ref-dark-surface,#0b0d0d);
  --atsrs-workspace-surface-soft:var(--atsrs-ref-dark-soft,#111414);
  --atsrs-workspace-line:var(--atsrs-ref-dark-line,#2a2f2d);
  --atsrs-personal-functional-surface:var(--atsrs-workspace-surface);
  --atsrs-personal-functional-border:var(--atsrs-workspace-line);
  background:var(--atsrs-ref-dark-bg,#050606)!important;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) > .main{
  min-height:100vh;
  min-height:100dvh;
  background:var(--atsrs-ref-dark-bg,#050606)!important;
}

/* Functional cards use the same near-black fill as the approved Dashboard tile. */
html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) :where(
  #dashboardPage .stats-grid > .card,
  #dashboardPage .snapshot-card,
  #dashboardPage .dashboard-priority-alerts-panel,
  #dashboardPage .atsrs-notification-panel,
  #dashboardPage .access-requests-panel,
  #dashboardPage .candidate-messages-panel,
  #refsPage .cv-main-panel,
  #refsPage .cv-beta-box,
  #refsPage .atsrs-v156-main-box,
  #profilePage .work-availability-card,
  .project-workspace-card,
  .projects-dialog,
  .linked-personnel-card,
  .talent-card,
  .talent-message,
  .talent-modal-card,
  .corporate-summary-card,
  .corporate-compliance-card,
  .corporate-report-table-wrap,
  .recipient-sharing-section,
  .recipient-link-card,
  .recipient-request-card,
  .recipient-link-dialog,
  .recipient-verification,
  .atsrs-security-dialog,
  .atsrs-session-card,
  .file-preview-dialog,
  .atsrs-date-picker-dialog,
  .profile-photo-crop-dialog,
  .atsrs-verification-dialog
){
  border-color:var(--atsrs-workspace-line)!important;
  border-radius:14px!important;
  background:var(--atsrs-workspace-surface)!important;
  background-image:none!important;
  box-shadow:none!important;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) .atsrs-date-picker-dialog.place-below::after{border-bottom-color:var(--atsrs-workspace-surface,#0b0d0d)!important}
html[data-theme="dark"] body:where(.personal-mode,.company-mode) .atsrs-date-picker-dialog.place-above::after{border-top-color:var(--atsrs-workspace-surface,#0b0d0d)!important}

/* Avoid a duplicate shell around the one real Dashboard sharing card. */
html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) #dashboardPage .dashboard-snapshot-panel{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) :where(
  .corporate-compliance-metrics > div,
  .talent-summary-list > div,
  .personnel-combobox-options,
  .talent-work-type-filter .work-type-options,
  .phone-code-menu,
  .work-type-select-menu,
  .atsrs-security-consent
){
  border-color:var(--atsrs-workspace-line)!important;
  background:var(--atsrs-workspace-surface-soft)!important;
  box-shadow:none!important;
}

/* Inputs and custom select shells share one compact 44px geometry. */
html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .talent-work-type-filter > summary,
  .phone-field,
  .phone-code-picker,
  .work-type-select-toggle
){
  border-color:#343a36!important;
  background-color:#080a09!important;
  color:var(--atsrs-ref-dark-text,#f4f6ef)!important;
  box-shadow:none!important;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) :where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  .talent-work-type-filter > summary,
  .phone-field,
  .work-type-select-toggle
){
  min-height:44px!important;
  border-radius:10px!important;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) > .main :where(button,[role="button"],summary){
  min-width:44px!important;
  min-height:44px!important;
}

html[data-theme="dark"] body.personal-mode #app.app:not(.hidden) #profilePage .phone-code-picker{
  border-radius:9px 0 0 9px!important;
  background:#080a09!important;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) :where(
  .talent-view-switch,
  .personnel-table-status,
  .projects-list-table
){
  border-color:var(--atsrs-workspace-line)!important;
  background:var(--atsrs-workspace-surface)!important;
}

html[data-theme="dark"] body:where(.personal-mode,.company-mode) #app.app:not(.hidden) #dashboardPage .stats-grid > .expiry-summary-card{
  min-height:106px!important;
}

/* Personnel list: full-width desktop grid, readable card rows below desktop. */
.linked-personnel-list{overflow-x:hidden!important}
.linked-personnel-table{
  --linked-personnel-columns:minmax(130px,1.15fr) minmax(90px,.8fr) minmax(105px,.95fr) minmax(90px,.8fr) minmax(80px,.72fr) minmax(80px,.68fr) minmax(95px,.74fr) 270px;
  width:100%;
  min-width:0!important;
}
.linked-personnel-row{gap:6px}
.linked-personnel-row > span{min-width:0;overflow-wrap:anywhere}

/* Corporate reports fit the workspace at desktop without an inner scrollbar. */
.corporate-report-table-wrap{width:100%;overflow-x:hidden}
.corporate-report-table{width:100%;min-width:0!important;table-layout:fixed}
.corporate-report-table th,.corporate-report-table td{
  padding:.72rem .62rem;
  white-space:normal;
  overflow-wrap:anywhere;
}

@media(max-width:1100px){
  body.company-mode #app.app:not(.hidden) #dashboardPage .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .linked-personnel-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .linked-personnel-row.is-head{display:none}
  .linked-personnel-row:not(.is-head){
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-content:start;
    gap:12px 16px;
    min-width:0;
    padding:16px;
    border:1px solid var(--atsrs-personal-functional-border,#d6e0e8);
    border-radius:14px;
    background:var(--atsrs-personal-functional-surface,rgba(255,255,255,.82));
  }
  .linked-personnel-row:not(.is-head) > span{display:grid;align-content:start;gap:4px}
  .linked-personnel-row:not(.is-head) > span::before{
    content:attr(data-label);
    color:#7f95a7;
    font-size:9px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .linked-personnel-row:not(.is-head) .linked-personnel-actions{
    grid-column:1/-1;
    display:flex!important;
    justify-content:flex-start;
    justify-self:stretch;
    flex-wrap:nowrap!important;
  }
}

@media(max-width:760px){
  .linked-personnel-table{grid-template-columns:1fr}
  .corporate-report-table-wrap{overflow:visible;border:0!important;background:transparent!important}
  .corporate-report-table,.corporate-report-table tbody,.corporate-report-table tr,.corporate-report-table td{display:block;width:100%}
  .corporate-report-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
  .corporate-report-table tbody{display:grid;gap:12px}
  .corporate-report-table tr{
    overflow:hidden;
    border:1px solid var(--atsrs-personal-functional-border,#d6e0e8);
    border-radius:14px;
    background:var(--atsrs-personal-functional-surface,rgba(255,255,255,.82));
  }
  .corporate-report-table td{
    display:grid;
    grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);
    gap:12px;
    padding:10px 12px;
    white-space:normal;
  }
  .corporate-report-table td::before{
    content:attr(data-label);
    color:#7f95a7;
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
}

@media(max-width:560px){
  body.company-mode #app.app:not(.hidden) #dashboardPage .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
}

@media(max-width:520px){
  .linked-personnel-row:not(.is-head){grid-template-columns:1fr}
  .linked-personnel-row:not(.is-head) .linked-personnel-actions{grid-column:auto;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px;width:100%}
  .linked-personnel-row:not(.is-head) .linked-personnel-actions::before{grid-column:1/-1}
  .linked-personnel-row:not(.is-head) .linked-personnel-actions button{width:100%!important;min-width:0!important;min-height:44px!important;padding-inline:4px!important;font-size:10px!important;white-space:normal!important}
}
