/* Sistema visual unificado: temas, superficies, separación y microinteracciones. */
:root,
html[data-theme="light"]{
  color-scheme:light;
  --paper:#f2f6f9;
  --paper-soft:#e7eef3;
  --surface:#ffffff;
  --surface-raised:#ffffff;
  --surface-soft:#f7fafc;
  --surface-accent:#e4f2f8;
  --ink:#173247;
  --muted:#607485;
  --line:#d3e0e7;
  --line-strong:#adc4d0;
  --primary:#2b8fbd;
  --primary-hover:#176b94;
  --focus:#55a9cf;
  --shadow-sm:0 5px 16px rgba(28,64,86,.08);
  --shadow-md:0 14px 34px rgba(28,64,86,.13);
  --header-glass:rgba(242,246,249,.94);
}

html[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0a1221;
  --paper-soft:#0e192b;
  --surface:#131f33;
  --surface-raised:#16243a;
  --surface-soft:#17253b;
  --surface-accent:#1a3158;
  --ink:#edf3ff;
  --muted:#a9b8cf;
  --line:#2a3a53;
  --line-strong:#40526d;
  --primary:#6598ff;
  --primary-hover:#82adff;
  --focus:#76a7ff;
  --shadow-sm:0 7px 18px rgba(0,0,0,.22);
  --shadow-md:0 18px 38px rgba(0,0,0,.32);
  --header-glass:rgba(10,18,33,.9);
}

@media(prefers-color-scheme:dark){
  html[data-theme="system"]{
    color-scheme:dark;
    --paper:#0a1221;--paper-soft:#0e192b;--surface:#131f33;--surface-raised:#16243a;
    --surface-soft:#17253b;--surface-accent:#1a3158;--ink:#edf3ff;--muted:#a9b8cf;
    --line:#2a3a53;--line-strong:#40526d;--primary:#6598ff;--primary-hover:#82adff;
    --focus:#76a7ff;--shadow-sm:0 7px 18px rgba(0,0,0,.22);
    --shadow-md:0 18px 38px rgba(0,0,0,.32);--header-glass:rgba(10,18,33,.9);
  }
}

html{background:var(--paper);scroll-behavior:smooth}
body{background:linear-gradient(145deg,var(--paper),var(--paper-soft));color:var(--ink);transition:background .25s ease,color .25s ease}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.58;filter:saturate(.65)}
summary{cursor:pointer}
.company-sunat-action{display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.company-sunat-action small{color:var(--muted);line-height:1.4}
.employee-onboarding-row{display:flex;flex-direction:column;gap:12px}
.onboarding-progress{height:9px;overflow:hidden;border-radius:999px;background:var(--paper-soft);border:1px solid var(--line)}
.onboarding-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#36b37e);transition:width .25s ease}
.onboarding-checks{display:flex;flex-wrap:wrap;gap:8px}
.onboarding-checks span{padding:5px 9px;border-radius:999px;font-size:.78rem;border:1px solid var(--line);background:var(--surface-soft)}
.onboarding-checks .done{color:#08754f;border-color:color-mix(in srgb,#36b37e 45%,var(--line));background:color-mix(in srgb,#36b37e 12%,var(--surface))}
.onboarding-checks .pending{color:var(--muted)}
.success-message{color:#08754f;font-weight:700;line-height:1.45}
main{background:transparent}
main>header{position:sticky;top:0;z-index:3;margin:-12px -8px 26px;padding:12px 8px 14px;background:var(--header-glass);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);backdrop-filter:blur(14px)}

/* El contenedor controla la separación: ya no depende de márgenes manuales. */
#content{display:flex;flex-direction:column;gap:22px;min-width:0;padding-bottom:40px}
#content>*{margin-top:0;margin-bottom:0}
#content>.grid,#content>.metrics{margin-top:0;margin-bottom:0}
.grid,.metrics,.hr-metrics,.hr-process-grid,.permission-grid{gap:18px}
.module-hero{box-shadow:0 12px 30px rgba(27,61,131,.2);overflow:hidden;position:relative}
.module-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-75px;top:-110px;background:rgba(255,255,255,.1);pointer-events:none}
.module-hero h2{letter-spacing:-.02em}

.card,.hr-welcome,.hr-metrics article,.hr-process-grid article,.employee-profile,.profile-onboarding,.profile-medical,.profile-assets,.ssoma-training,.request-item,.project-location,.inline-contract-form,.edit-contract-form{
  background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}
.card:hover,.hr-process-grid article:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}
.card h2,.card h3,.hr-metrics strong,.hr-process-grid b{color:var(--ink)}
.card p,.help,.lead,.user small,.organization-record p,.personal-record p,.profile-heading p,.profile-contracts p,.profile-onboarding p,.profile-medical p,.profile-assets p{color:var(--muted)}
.panel-title{gap:16px;min-height:30px;flex-wrap:wrap;align-items:flex-start}
.panel-title>*{min-width:0}
.panel-title>div:first-child,.panel-title>h3:first-child{flex:1 1 220px}
.panel-title>span{flex:0 1 auto;max-width:100%;overflow-wrap:anywhere;text-align:right}
.panel-title+*{margin-top:0}
.compact-list{border-color:var(--line);margin:16px 0 0}
.compact-list p,.organization-record,.personal-record,.asset-row,.onboarding-item{border-color:var(--line)}
.metrics h2 small{font-size:.42em;color:var(--muted);font-weight:800}
.human-secondary-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.rotation-panel{overflow:hidden}
.rotation-panel .panel-title p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.rotation-legend{display:flex;gap:14px;flex-wrap:wrap;padding-top:3px}
.rotation-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800}
.rotation-legend i{display:block;width:11px;height:11px;border-radius:3px}
.rotation-chart{display:grid;grid-template-columns:repeat(12,minmax(52px,1fr));align-items:end;gap:8px;min-height:260px;margin-top:18px;padding:18px 8px 8px;border-top:1px solid var(--line);overflow-x:auto}
.rotation-column{display:grid;grid-template-rows:20px 150px 20px 18px;align-items:end;min-width:52px;text-align:center}
.rotation-column>b{align-self:start;color:var(--primary);font-size:11px}
.rotation-bars{display:flex;height:145px;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid var(--line-strong)}
.rotation-bars i{display:block;width:13px;min-height:0;border-radius:5px 5px 0 0}
.hire-bar{background:#2f80ed}
.exit-bar{background:#d14343}
.rotation-column>span{padding-top:5px;color:var(--ink);font-size:11px;font-weight:800;text-transform:capitalize}
.rotation-column>small{color:var(--muted);font-size:10px}
.termination-field.hidden{display:none}
.employee-exit-list{display:grid;gap:14px}.employee-exit-card{padding:0;overflow:hidden}.employee-exit-card>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;cursor:pointer;list-style:none}.employee-exit-card>summary span:first-child{display:grid;gap:4px}.employee-exit-card>summary small{color:var(--muted)}.employee-exit-card>form{padding:0 20px 20px}.exit-review-strip{display:flex;gap:10px;flex-wrap:wrap;padding:12px 20px;background:color-mix(in srgb,var(--primary) 7%,transparent);border-block:1px solid var(--line)}.exit-review-strip span{padding:6px 10px;border-radius:999px;background:var(--surface)}.exit-start-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.exit-form-grid,.exit-rating-grid,.exit-amount-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.exit-total{display:flex;flex-direction:column;justify-content:center;padding:12px 14px;border:1px solid var(--primary);border-radius:14px;background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.exit-total strong{font-size:1.35rem;color:var(--primary)}.exit-checklist,.exit-interview{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px}.exit-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.exit-checklist label{display:flex;align-items:flex-start;gap:8px}.exit-flow ol{padding-left:22px;line-height:1.8}
.exit-calculation-status{padding:.75rem 1rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:.75rem;background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--text);line-height:1.45}.employee-exit-history .project-row{align-items:center;gap:1rem}.employee-exit-history .project-row>div{min-width:0;flex:1}.contract-addendum-form{width:100%;margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}
.employee-exit-launcher{display:flex;align-items:center;justify-content:space-between;gap:18px}.employee-exit-launcher>div:first-child{max-width:720px}.employee-exit-card-actions{padding:14px 20px}.employee-exit-card>[data-exit-record-slot]>form{padding:4px 20px 20px;border-top:1px solid var(--line)}.employee-exit-action-host[hidden]{display:none!important}.employee-exit-action-host.exit-start-grid{display:grid}.employee-exit-action-host>.card{margin:0}
.exit-form-grid label small{display:block;margin-top:.45rem;color:var(--muted);font-weight:500;line-height:1.35}.exit-form-grid input.is-automatic{background:color-mix(in srgb,var(--primary) 8%,var(--surface));border-color:color-mix(in srgb,var(--primary) 45%,var(--line));color:var(--text);cursor:not-allowed}
.workforce-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem}.workforce-toolbar h3,.workforce-toolbar p{margin:.2rem 0}.workforce-toolbar label{min-width:130px;margin:0}.workforce-layout{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.workforce-tree,.workforce-list{display:grid;gap:.8rem}.workforce-level{display:grid;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:.9rem}.workforce-level h4{display:flex;align-items:center;gap:.65rem;margin:0;color:var(--ink)}.workforce-level h4 span{padding:.25rem .55rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.75rem}.workforce-node{display:grid;gap:.25rem;padding:.9rem 1rem;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:.75rem;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.workforce-node.child{margin-left:1.5rem}.workforce-node small,.workforce-node span{color:var(--muted)}.workforce-legend{display:grid;gap:.75rem;margin-top:1rem}.workforce-legend span{display:flex;align-items:center;gap:.6rem}.workforce-legend i{width:.75rem;height:.75rem;border-radius:50%;background:var(--muted)}.workforce-legend .covered{background:var(--green)}.workforce-legend .vacant{background:var(--yellow)}.workforce-legend .over{background:var(--red)}.workforce-position{display:grid;gap:.8rem}.workforce-position-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.workforce-position-heading p{margin:.3rem 0 0;white-space:pre-line;max-height:3.2rem;overflow:hidden}.workforce-form-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:.8rem}.workforce-coverage{display:flex;flex-wrap:wrap;gap:.75rem}.workforce-coverage span{padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}@media(max-width:1100px){.workforce-form-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:900px){.workforce-layout,.workforce-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.workforce-toolbar,.workforce-position-heading{align-items:stretch;flex-direction:column}.workforce-form-grid{grid-template-columns:1fr}.workforce-node.child{margin-left:.75rem}}
.performance-overview{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.performance-distribution{display:grid;gap:.7rem}.performance-distribution>div{display:grid;grid-template-columns:24px 1fr 30px;align-items:center;gap:.65rem}.performance-distribution i{height:.7rem;border-radius:999px;background:var(--surface-soft);overflow:hidden}.performance-distribution i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#5d8ff0)}.performance-cycle label{margin-top:.5rem}.performance-list{display:grid;gap:.8rem}.performance-review{padding:0;overflow:hidden}.performance-review>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem 1.15rem;cursor:pointer}.performance-review>summary span:first-child{display:grid;gap:.25rem}.performance-review>summary small{color:var(--muted)}.performance-review>form{padding:0 1.15rem 1.15rem}.performance-result{display:grid;text-align:center}.performance-result strong{font-size:1.35rem;color:var(--primary)}.performance-score-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.8rem}.performance-development-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:.8rem}.performance-final-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:900px){.performance-overview,.performance-development-grid{grid-template-columns:1fr}.performance-score-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.performance-review>summary{grid-template-columns:1fr}.performance-score-grid,.performance-final-grid{grid-template-columns:1fr}}
@media(max-width:760px){.exit-start-grid{grid-template-columns:1fr}.employee-exit-launcher{align-items:stretch;flex-direction:column}.employee-exit-card>summary{align-items:flex-start;flex-direction:column}.employee-exit-card>form{padding-inline:14px}.exit-review-strip{padding-inline:14px}}
.position-distribution .panel-title p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.position-chart{display:grid;gap:14px;margin-top:20px}
.position-row{display:grid;gap:7px}
.position-row-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px}
.position-row-heading b{color:var(--ink);overflow-wrap:anywhere}
.position-row-heading span{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:800}
.position-track{height:12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}
.position-track i{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#36b37e)}
.kpi-chart-panel .panel-title p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.kpi-visual-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(360px,1.3fr);gap:22px;margin-top:20px}
.kpi-donut-card{display:flex;align-items:center;justify-content:center;gap:16px;min-height:220px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.kpi-donut{--kpi-value:0;display:grid;place-items:center;flex:0 0 126px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--kpi-value)*1%),color-mix(in srgb,var(--primary) 10%,var(--surface)) 0);position:relative}
.kpi-donut:after{content:"";position:absolute;inset:17px;border-radius:50%;background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--line)}
.kpi-donut strong{position:relative;z-index:1;color:var(--ink);font-size:1.65rem}
.kpi-donut-card p{margin:7px 0 0}
.kpi-financial-chart,.kpi-status-chart,.kpi-compliance-chart{display:grid;align-content:center;gap:17px}
.kpi-financial-chart{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.kpi-financial-row,.kpi-status-chart article,.kpi-compliance-chart article{display:grid;gap:8px}
.kpi-financial-row>div:first-child,.kpi-status-chart article>div:first-child,.kpi-compliance-chart article>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.kpi-financial-row span,.kpi-status-chart span,.kpi-compliance-chart span{color:var(--muted);font-size:.79rem;font-weight:800;text-align:right}
.kpi-track{height:13px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--primary) 7%,var(--surface))}
.kpi-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#2f80ed)}
.kpi-track.receivable i,.kpi-track.policy i{background:linear-gradient(90deg,#188a63,#36b37e)}
.kpi-track.payable i,.kpi-track.pending i{background:linear-gradient(90deg,#c94646,#e06a56)}
.kpi-track.purchase i,.kpi-track.induction i{background:linear-gradient(90deg,#8b5cf6,#bb75e7)}
.kpi-status-chart,.kpi-compliance-chart{margin-top:20px}
@media(max-width:820px){.kpi-visual-grid{grid-template-columns:1fr}.kpi-donut-card{min-height:180px}}
@media(max-width:520px){.kpi-donut-card{align-items:flex-start;flex-direction:column}.kpi-donut{flex-basis:130px}.kpi-financial-row>div:first-child,.kpi-status-chart article>div:first-child,.kpi-compliance-chart article>div:first-child{align-items:flex-start;flex-direction:column;gap:3px}.kpi-financial-row span,.kpi-status-chart span,.kpi-compliance-chart span{text-align:left}}
.medical-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.medical-files legend{padding:0 8px;color:var(--ink);font-weight:800}
.medical-files label{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised)}
.medical-files input{width:100%;margin-top:9px}
.medical-files small{display:block;margin-top:6px;color:var(--muted)}
.medical-document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.medical-document-actions button,.medical-document-actions label{width:auto;margin:0;padding:8px 11px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);color:var(--primary);font-size:12px;font-weight:800;cursor:pointer}
.medical-document-actions label:hover{border-color:var(--primary);background:var(--surface-accent)}
.medical-document-actions input{display:none}
.payroll-exception{margin-top:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.payroll-exception summary{padding:13px 15px;color:var(--primary);font-weight:800}
.payroll-exception form{padding:0 15px 16px;border-top:1px solid var(--line)}
.payroll-exception form>p{color:var(--muted);line-height:1.5}
.payslip-concepts{margin:10px 0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.payslip-concepts summary{cursor:pointer;color:var(--primary);font-weight:800}
.payslip-concepts p{display:flex;justify-content:space-between;gap:12px;margin:8px 0 0;font-size:12px}
.payslip-concepts p b{white-space:nowrap}

input,select,textarea{
  background:var(--surface-soft);color:var(--ink);border-color:var(--line-strong);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
textarea{display:block;width:100%;min-width:0;min-height:96px;margin-top:7px;padding:12px;border:1px solid var(--line-strong);border-radius:8px;resize:vertical;font:inherit;font-size:14px;line-height:1.5}
.card,.employee-profile,.profile-personnel,.personnel-body,.profile-grid>label{min-width:0}
.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.personnel-body>label{display:block;width:100%;margin-top:18px}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--line))}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 24%,transparent);background:var(--surface-raised)}
button{transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}
button:hover{transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 24%,transparent)}
button:active{transform:translateY(0) scale(.98)}
.notification-panel,.notification-button,.calendar-day,.contract-preview{background:var(--surface-raised);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-md)}
.notification-panel p,.ssoma-controls,.ssoma-quiz fieldset{border-color:var(--line)}
.calendar-day:hover,.calendar-day.selected{background:var(--surface-accent);border-color:var(--primary)}
.calendar-day.overdue{background:color-mix(in srgb,#c93e50 12%,var(--surface));border-color:color-mix(in srgb,#c93e50 45%,var(--line))}
.tag{background:color-mix(in srgb,#07865c 14%,var(--surface));color:color-mix(in srgb,#20b980 75%,var(--ink));border:1px solid color-mix(in srgb,#07865c 25%,var(--line))}
.profile-contracts,.medical-entry,.asset-entry,.asset-return-entry,.contract-preview{background:var(--surface-soft)}
.inline-contract-form,.edit-contract-form,.project-open:hover{background:var(--surface-accent)}
.project-open{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-open>div:first-child{min-width:0;flex:1}.project-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.project-list-actions .secondary-action{margin:0;white-space:nowrap}@media(max-width:720px){.project-open{align-items:flex-start;flex-direction:column}.project-list-actions{width:100%;justify-content:flex-start}}
.project-portfolio-view{display:grid;gap:18px}.project-portfolio-view>.card{min-width:0}.project-portfolio-view .project-row:first-child{margin-top:0}#project-create-view .project-location{grid-column:1/-1;margin:4px 0 0}#project-create-view #project-form>button{margin-top:18px}
.organization-dialog{background:var(--surface-raised);color:var(--ink);border:1px solid var(--line)}
.organization-dialog .secondary-action{background:var(--surface-accent);color:var(--ink)}

/* El acceso mantiene alto contraste en cualquier tema. */
.login-view .login-card{background:var(--surface-raised);color:var(--ink);border:1px solid var(--line-strong);box-shadow:0 30px 75px rgba(2,11,27,.55)}
.login-view .login-card h1,.login-view .login-card label{color:var(--ink)}
.login-view .login-card .lead{color:var(--primary)}
.login-view .login-card .help{color:var(--muted)}
.login-view .login-card input{background:var(--surface-soft);color:var(--ink);border-color:var(--line-strong)}
.login-view .login-card input:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}
.login-logo{background:#fff;border-radius:12px;padding:8px}

/* Navegación más legible y viva sin movimientos excesivos. */
.sidebar-group{border-color:rgba(151,170,205,.16)}
.sidebar-group summary,.sidebar-subitem{transition:background .16s ease,color .16s ease,padding-left .16s ease}
.sidebar-group summary:hover{background:rgba(255,255,255,.06);border-radius:8px}
.sidebar-subitem:hover{padding-left:14px}
.sidebar-subitem.active{background:#2b65dc;color:#fff}
.top-actions{flex-wrap:wrap;justify-content:flex-end}

@media(max-width:850px){
  main>header{margin:-8px -2px 22px;padding:10px 2px 12px}
  #content{gap:18px}
  .nav-item:before,.sidebar-group summary:before{content:attr(data-area-icon)!important;display:grid!important;place-items:center;width:38px;height:38px;border-radius:11px;font-size:18px!important;font-weight:900;line-height:1;background:rgba(255,255,255,.055);color:#dce6f8}
  .nav-item.active:before,.sidebar-group[open] summary:before{background:#2b65dc;color:#fff;box-shadow:0 7px 18px rgba(43,101,220,.35)}
  .nav-item{display:grid;place-items:center;padding:5px!important;min-height:48px}
  .sidebar-group summary{min-height:48px;padding:5px!important}
  aside{z-index:12;transition:width .2s ease,box-shadow .2s ease}
  aside:has(.sidebar-group[open]){width:min(255px,calc(100vw - 36px));box-shadow:16px 0 34px rgba(3,12,29,.38)}
  aside:has(.sidebar-group[open]) .company{font-size:10px}
  aside:has(.sidebar-group[open]) .nav-item{display:flex;justify-content:flex-start;gap:10px;font-size:13px}
  aside:has(.sidebar-group[open]) .sidebar-group summary{justify-content:flex-start;gap:10px;font-size:12px}
  aside:has(.sidebar-group[open]) .sidebar-group summary:after{display:block;margin-left:auto}
  aside:has(.sidebar-group[open]) .sidebar-group[open]>div{display:block;padding:0 5px 8px 48px}
  aside:has(.sidebar-group[open]) .sidebar-subitem{font-size:11px}
}
@media(max-width:560px){
  main>header{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px}
  main>header>div:first-child{min-width:0}
  main>header h1{font-size:21px;line-height:1.15}
  .top-actions{width:100%;gap:7px;justify-content:flex-start}
  .profile-button{margin-left:auto;max-width:125px;overflow:hidden}
  .profile-button b,.profile-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-icon{width:34px;height:34px}
  .notification-button{width:38px;height:38px;padding:0;display:grid;place-items:center}
  #content{gap:16px}
  .card,.module-hero{padding:17px}
  .panel-title{align-items:flex-start;flex-direction:column;gap:7px}
  .row-actions{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(max-width:900px){.human-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.human-secondary-metrics{grid-template-columns:1fr}.rotation-chart{padding-left:0;padding-right:0}}
@media(max-width:620px){.medical-files{grid-template-columns:1fr}}

.appearance-page{padding:24px}.theme-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:16px;margin-top:18px}.theme-choice{min-height:170px;padding:20px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:var(--surface-soft);color:var(--ink);border:2px solid var(--line);box-shadow:none}.theme-choice:hover{border-color:var(--primary);background:var(--surface-accent)}.theme-choice.active{border-color:var(--primary);background:var(--surface-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.theme-choice-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--surface-raised);border:1px solid var(--line);color:var(--primary);font-size:23px}.theme-choice b{font-size:15px}.theme-choice small{min-height:42px;color:var(--muted);font-weight:500;line-height:1.45}.theme-choice i{margin-top:auto;color:var(--primary);font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.appearance-preview .card button{width:auto;margin-top:16px}.appearance-preview .card h3{margin:12px 0 8px}@media(max-width:720px){.theme-choice-grid{grid-template-columns:1fr}.theme-choice{min-height:130px}}
.login-secondary{width:100%;margin-top:10px!important;background:transparent!important;color:var(--primary)!important;border:1px solid var(--line-strong)!important;box-shadow:none!important}.login-secondary:hover{background:var(--surface-accent)!important}.login-flow h2{margin:8px 0}.login-flow form{margin-top:18px}.login-success{min-height:18px;color:var(--green);font-size:12px;line-height:1.45}.login-flow .eyebrow{margin-top:18px}
.employee-create-card{align-self:start}.employee-create-card .panel-title p{margin:4px 0 0;color:var(--muted)}.employee-stepper{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 20px}.employee-stepper i{height:6px;border-radius:999px;background:var(--line);transition:background .2s ease,transform .2s ease}.employee-stepper i.active{background:var(--primary);transform:scaleY(1.15)}.employee-create-wizard fieldset{min-width:0;margin:0;padding:0;border:0}.employee-create-wizard fieldset[hidden]{display:none}.employee-create-wizard legend{width:100%;margin-bottom:14px;color:var(--ink);font-size:14px;font-weight:800}.employee-create-wizard label small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.wizard-actions button{width:auto;min-width:120px}.secondary-action{background:var(--surface-soft)!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important;box-shadow:none!important}
.navigation-back{font-size:22px!important;font-weight:800}.navigation-back:disabled{cursor:not-allowed;opacity:.35;filter:grayscale(1);transform:none!important;box-shadow:none!important}
.document-preview-link{display:inline-flex;margin-top:8px;color:var(--primary);font-size:12px;font-weight:800;text-decoration:none}.document-preview-link:hover{text-decoration:underline}.document-review-actions{margin-top:10px}
.personnel-documents{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin-top:18px}.personnel-document{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.personnel-document>b{line-height:1.4}.personnel-document>span{display:inline-flex;align-self:flex-start;padding:4px 8px;border:1px solid color-mix(in srgb,#d28a00 35%,var(--line));border-radius:999px;background:color-mix(in srgb,#d28a00 12%,var(--surface));color:color-mix(in srgb,#d28a00 78%,var(--ink));font-size:10px;font-weight:800;line-height:1.2}.personnel-document>input{width:100%}.personnel-document>small{display:block;color:var(--muted);line-height:1.4}.worker-document .tag{display:inline-flex;margin:0 6px;vertical-align:middle;white-space:nowrap}@media(max-width:720px){.personnel-documents{grid-template-columns:1fr}}
.profile-onboarding .panel-title>div{flex:1 1 240px}.profile-onboarding .onboarding-progress{display:inline-flex!important;flex:0 1 auto;align-items:center;justify-content:center;min-width:70px;max-width:100%;height:auto!important;overflow:visible!important;padding:7px 10px;border-radius:999px;background:var(--surface-accent)!important;color:var(--primary)!important;border:1px solid var(--line-strong)!important;font-size:13px!important;font-weight:900!important;line-height:1.25;white-space:normal;text-align:center;overflow-wrap:anywhere}.ssoma-material-button{width:auto;margin-top:14px;background:var(--surface-raised)!important;color:var(--primary)!important;border:1px solid var(--line-strong)!important}.ssoma-course-progress{height:8px;background:var(--surface-soft);border-bottom:1px solid var(--line);overflow:hidden}.ssoma-course-progress i{display:block;height:100%;background:linear-gradient(90deg,#1b63c6,#20a477);transition:width .25s ease}.ssoma-topic-visual{display:grid;grid-template-columns:minmax(150px,.65fr) 1fr;align-items:center;gap:24px;margin-bottom:24px;padding:22px;border-radius:14px;background:linear-gradient(135deg,#0e3269,#2167b6);color:#fff}.ssoma-topic-visual>span{font-size:18px;font-weight:900;letter-spacing:.06em;text-align:center}.ssoma-topic-visual>div{display:flex;align-items:flex-end;justify-content:center;gap:10px;height:76px}.ssoma-topic-visual i{display:block;width:28px;border-radius:8px 8px 3px 3px;background:#fff}.ssoma-topic-visual i:nth-child(1){height:40%;opacity:.55}.ssoma-topic-visual i:nth-child(2){height:72%;opacity:.78}.ssoma-topic-visual i:nth-child(3){height:100%}.ssoma-slide>p{font-size:16px!important;line-height:1.7!important}.ssoma-result p{font-size:15px!important}.ssoma-result p:first-of-type strong,.ssoma-score{font-size:22px;font-weight:900;color:var(--primary)}@media(max-width:720px){.profile-grid{grid-template-columns:1fr}}@media(max-width:620px){.ssoma-topic-visual{grid-template-columns:1fr}.ssoma-topic-visual>div{height:58px}.ssoma-head>span{font-size:11px}}
.personal-structured{display:flex;width:100%;min-width:0;flex-direction:column;gap:22px;margin:24px 0}.personal-card-section{width:100%;min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.personal-card-section>.panel-title{margin-bottom:16px}.personal-card-section>.panel-title h3{margin:0 0 5px}.personal-card-section>.panel-title p{margin:0;line-height:1.5}.personal-card-section>.panel-title button{width:auto;flex:0 0 auto;margin:0;padding:10px 14px}.personal-card-list{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:18px}.personal-data-card{display:block;width:100%;min-width:0;margin:0;padding:22px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-raised)}.personal-data-card legend{padding:0 9px;color:var(--primary);font-size:14px;font-weight:900}.personal-card-grid{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));column-gap:18px;row-gap:2px}.personal-card-grid label{min-width:0}.personal-card-grid input,.personal-card-grid select{display:block;width:100%;min-width:0}.personal-remove{width:auto!important;margin-top:18px!important;padding:9px 13px!important}.personal-empty{padding:16px;border:1px dashed var(--line-strong);border-radius:10px;text-align:center}.personal-limit{display:block;margin-top:12px;color:var(--muted);font-weight:800;text-align:right}@media(max-width:620px){.personal-card-grid{grid-template-columns:1fr}.personal-card-section{padding:15px}.personal-data-card{padding:17px}}
.inline-contract-form{scroll-margin-top:112px}.inline-contract-form.contract-form-arrived{animation:contract-arrival 1.2s ease-out}@keyframes contract-arrival{0%{box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 42%,transparent),var(--shadow-md);transform:translateY(8px)}100%{box-shadow:var(--shadow-sm);transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.inline-contract-form.contract-form-arrived{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 32%,transparent)}}
.hr-certificate-actions{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.hr-certificate-actions button{width:auto;margin:0}.hr-certificate-actions .tag{white-space:normal;text-align:center}@media(max-width:620px){.hr-certificate-actions{width:100%;justify-content:flex-start}}
.institutional-library{margin-top:22px}.institutional-library>.panel-title{margin-bottom:14px}.institutional-library>.panel-title h2{margin:4px 0}.institutional-document{display:flex;min-height:190px;flex-direction:column;justify-content:space-between}.institutional-document h3{margin:12px 0 6px}.institutional-document p{line-height:1.5}.institutional-document small{color:var(--muted);font-weight:800}.institutional-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:color-mix(in srgb,#c83f3f 13%,var(--surface));color:#c83f3f;border:1px solid color-mix(in srgb,#c83f3f 30%,var(--line));font-size:12px;font-weight:900}.institutional-document .row-actions a,.institutional-inline-actions a{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);color:var(--primary);font-size:12px;font-weight:800;text-decoration:none}.institutional-document .row-actions a:hover,.institutional-inline-actions a:hover{border-color:var(--primary);background:var(--surface-accent)}.institutional-inline-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.institutional-induction{margin-top:18px}.institutional-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.institutional-values article{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.institutional-values h3{margin:0 0 7px;color:var(--primary)}.institutional-values p{margin:0;line-height:1.55}.institutional-policy{margin-top:16px;padding:15px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-raised)}.institutional-policy summary{color:var(--primary);font-weight:900}.institutional-policy ul{display:grid;gap:7px;margin:12px 0;padding-left:22px}.institutional-policy small{color:var(--muted);font-weight:800}@media(max-width:720px){.institutional-values{grid-template-columns:1fr}}
.organization-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-sm)}.organization-tabs button{flex:0 0 auto;border:1px solid transparent;background:transparent;color:var(--muted);font-weight:800;padding:10px 14px;border-radius:10px}.organization-tabs button:hover{color:var(--primary);background:var(--surface-soft)}.organization-tabs button.active{color:#fff;background:var(--primary);box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 28%,transparent)}
.location-map-panel{grid-column:1/-1;margin:10px 0 16px;padding:14px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-soft)}.location-map-toolbar,.location-map-readout{display:flex;align-items:center;justify-content:space-between;gap:14px}.location-map-toolbar div{display:grid;gap:3px}.location-map-toolbar small,.location-map-readout{color:var(--muted)}.location-map-canvas{height:340px;margin:13px 0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface-raised);position:relative;z-index:0}.location-map-canvas>p{padding:18px}.location-map-readout{font-size:.86rem;font-weight:800;flex-wrap:wrap}.organization-dialog .location-map-canvas{height:280px}.policy-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.policy-ack-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);display:grid;gap:10px}.policy-ack-card h3,.policy-ack-card p{margin:0}.policy-ack-card small{color:var(--muted)}.policy-ack-card.is-accepted{border-color:#2a9d62;background:color-mix(in srgb,var(--surface-soft) 88%,#2a9d62 12%)}.policy-progress{padding:12px 14px;border-radius:10px;background:var(--surface-raised);font-weight:900}@media(max-width:720px){.location-map-toolbar{align-items:stretch;flex-direction:column}.location-map-canvas{height:280px}.policy-catalog{grid-template-columns:1fr}}
.risst-delivery{display:grid;gap:16px}.signed-receipt-summary{padding:14px;border:1px solid #2a9d62;border-radius:12px;background:color-mix(in srgb,var(--surface-soft) 88%,#2a9d62 12%)}.signed-receipt-summary p{margin:6px 0}.signed-receipt-summary small{overflow-wrap:anywhere}.signature-pad-wrap{margin-top:8px;border:2px dashed var(--line-strong);border-radius:12px;background:#fff;overflow:hidden}.signature-pad-wrap canvas{display:block;width:100%;height:180px;touch-action:none;cursor:crosshair}.document-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-library-grid>article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);display:grid;gap:10px}.document-library-grid p{margin:4px 0;color:var(--muted)}@media(max-width:720px){.document-library-grid{grid-template-columns:1fr}.signature-pad-wrap canvas{height:150px}}
.policy-acceptance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:14px;padding:15px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-accent)}.policy-acceptance label{display:flex;align-items:flex-start;gap:9px;margin:0;font-weight:800;line-height:1.45}.policy-acceptance label input{width:auto;margin:2px 0 0}.policy-acceptance button{width:auto;margin:0}.policy-acceptance p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;font-weight:700}@media(max-width:620px){.policy-acceptance{grid-template-columns:1fr}.policy-acceptance button{width:100%}}
.policy-sign-dialog{width:min(760px,calc(100vw - 28px));max-height:92vh;overflow:auto;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text)}.policy-sign-dialog::backdrop{background:#020817c9}.policy-sign-dialog form{display:grid;gap:15px}.policy-sign-dialog .panel-title{align-items:flex-start}.policy-sign-dialog .dialog-icon-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border-radius:50%;font-size:1.25rem}.policy-sign-dialog .row-actions{justify-content:flex-end}.policy-sign-dialog .row-actions button{width:auto}.policy-sign-notice{display:grid;gap:4px;padding:13px 15px;border-left:3px solid var(--primary);border-radius:10px;background:var(--surface-accent)}.policy-sign-notice span{color:var(--muted);font-size:.82rem}.policy-sign-confirm{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.policy-sign-confirm input{width:auto;margin-top:3px}@media(max-width:620px){.policy-sign-dialog{padding:16px}.policy-sign-dialog .row-actions{display:grid;grid-template-columns:1fr}.policy-sign-dialog .row-actions button{width:100%}}
.ssoma-dashboard-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,.35fr);gap:12px;margin:16px 0}.ssoma-overview-list{display:grid;gap:10px}.ssoma-overview-row{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(180px,.8fr) minmax(180px,.8fr) minmax(150px,.5fr);align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.ssoma-overview-row p{margin:5px 0 0;color:var(--muted)}.ssoma-overview-row small{display:block;margin-top:6px;color:var(--muted)}.ssoma-overview-row button{width:auto;margin:0}.success-tag{color:#08754f!important;border-color:color-mix(in srgb,#36b37e 40%,var(--line))!important}.warning-tag{color:#9a6700!important;border-color:color-mix(in srgb,#d28a00 40%,var(--line))!important}@media(max-width:900px){.ssoma-overview-row{grid-template-columns:1fr 1fr}}@media(max-width:620px){.ssoma-dashboard-filters,.ssoma-overview-row{grid-template-columns:1fr}.ssoma-overview-row button{width:100%}}
.human-kpi-action{display:flex;min-height:180px;flex-direction:column;align-items:flex-start}.human-kpi-action p{flex:1;line-height:1.5}.human-kpi-action button{width:auto}.employee-legajo-search{display:block;margin:4px 0 16px}.employee-legajo-search input{width:100%}
@keyframes human-cycle-spin{to{transform:rotate(360deg)}}.human-cycle-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.human-cycle-brand{display:inline-flex;flex:0 0 auto;padding:8px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.08em}.human-cycle-loading{display:flex;min-height:180px;align-items:center;justify-content:center;gap:12px}.human-cycle-loading i{width:24px;height:24px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:human-cycle-spin .8s linear infinite}.human-cycle-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.human-cycle-metrics article{display:grid;min-height:120px;align-content:center;gap:5px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-sm)}.human-cycle-metrics span{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.human-cycle-metrics b{font-size:clamp(1.6rem,3vw,2.4rem);color:var(--primary);line-height:1}.human-cycle-metrics small{color:var(--muted)}
.human-action-strip,.human-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.human-action-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;min-height:118px;margin:0;padding:16px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm)}.human-action-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:var(--shadow-md)}.human-action-card i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--surface-accent);color:var(--primary);font-size:1.25rem;font-style:normal}.human-action-card span{display:grid;align-content:start;gap:5px}.human-action-card b{font-size:1rem}.human-action-card small{color:var(--muted);font-weight:650;line-height:1.45}.human-action-card em{grid-column:2;color:var(--primary);font-size:.76rem;font-style:normal;font-weight:850}
.human-directory-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(150px,.55fr) minmax(190px,.75fr);gap:12px;margin:16px 0}.human-directory-filters label{margin:0}.human-directory-list{display:grid;gap:9px}.human-directory-list>article{display:grid;grid-template-columns:48px minmax(220px,1.3fr) minmax(190px,.8fr) minmax(210px,.9fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.human-directory-list>article:hover{border-color:var(--line-strong);background:var(--surface-accent)}.human-directory-list>article>div:nth-child(2),.human-directory-list>article>div:nth-child(3){display:grid;gap:4px;min-width:0}.human-directory-list small{color:var(--muted)}.human-directory-list button{width:auto;margin:0;white-space:nowrap}.human-avatar{display:grid!important;width:44px;height:44px;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--primary);font-weight:900}.human-record-flags{display:flex;gap:6px;flex-wrap:wrap}.human-record-flags span,.human-onboarding-heading>span,.human-checks span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;font-size:.69rem;font-weight:900}.human-record-flags .ready,.human-onboarding-heading .ready,.human-checks .ready{border-color:color-mix(in srgb,#238b5d 42%,var(--line));color:#238b5d}.human-record-flags .pending,.human-onboarding-heading .pending,.human-checks .pending{border-color:color-mix(in srgb,#bd7418 42%,var(--line));color:#a45f08}
.human-onboarding-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px}.human-onboarding-steps span{display:flex;align-items:center;gap:7px;padding:10px;border-radius:10px;background:var(--surface-soft);font-size:.76rem;font-weight:850}.human-onboarding-steps b,.human-development-flow article>b,.human-exit-flow span>b{display:grid;flex:0 0 auto;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--primary);color:#fff}.human-onboarding-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.human-onboarding-list>article{display:grid;gap:11px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.human-onboarding-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.human-onboarding-heading>div{display:grid;gap:4px}.human-progress{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.human-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#35a774)}.human-checks{display:flex;gap:6px;flex-wrap:wrap}.human-onboarding-list button{justify-self:start;width:auto;margin:0}
.human-development-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.human-development-flow article{display:flex;align-items:center;gap:10px;min-width:0}.human-development-flow article>span{display:grid;gap:4px}.human-development-flow small{color:var(--muted);line-height:1.35}.human-development-flow>i,.human-exit-flow>i{color:var(--muted);font-style:normal}.human-exit-flow{display:flex;align-items:center;justify-content:space-between;gap:10px}.human-exit-flow span{display:flex;align-items:center;gap:9px;font-weight:850}
@media(max-width:1100px){.human-cycle-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.human-directory-list>article{grid-template-columns:48px minmax(200px,1fr) minmax(180px,.8fr) auto}.human-record-flags{grid-column:2/4}.human-development-flow{grid-template-columns:1fr}.human-development-flow>i{display:none}.human-exit-flow{display:grid;grid-template-columns:1fr 1fr}.human-exit-flow>i{display:none}}
@media(max-width:760px){.human-cycle-hero{align-items:flex-start;flex-direction:column}.human-cycle-brand{white-space:normal}.human-action-strip,.human-service-grid,.human-onboarding-list{grid-template-columns:1fr}.human-directory-filters{grid-template-columns:1fr}.human-directory-list>article{grid-template-columns:44px minmax(0,1fr)}.human-directory-list>article>div:nth-child(3),.human-record-flags,.human-directory-list button{grid-column:2}.human-directory-list button{justify-self:start}.human-onboarding-steps{display:flex;overflow-x:auto}.human-onboarding-steps span{min-width:130px}.human-exit-flow{grid-template-columns:1fr}}
@media(max-width:520px){.human-cycle-metrics{grid-template-columns:1fr}.human-cycle-metrics article{min-height:100px}}
.attendance-admin-filters{align-items:flex-end}.attendance-admin-filters label{min-width:190px}.attendance-admin-day{display:grid;gap:12px;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.attendance-admin-day>.panel-title p{margin:4px 0 0;text-transform:capitalize}.attendance-admin-mark{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.attendance-admin-mark>div:first-child{display:grid;gap:4px}.attendance-admin-mark.rejected{opacity:.7}.attendance-correction-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border-top:1px solid var(--line)}.attendance-correction-form .row-actions,.attendance-correction-form .error{grid-column:1/-1}@media(max-width:760px){.attendance-admin-mark,.attendance-correction-form{grid-template-columns:1fr}.attendance-admin-mark .row-actions{justify-content:flex-start}.attendance-correction-form .row-actions,.attendance-correction-form .error{grid-column:auto}}
.attendance-admin-filters{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(240px,1.2fr) auto auto;gap:12px;align-items:end}.attendance-admin-filters label{min-width:0;margin:0}.attendance-admin-filters>button{width:auto;height:44px;margin:0;align-self:end;white-space:nowrap}.attendance-update-status{grid-column:1/-1;display:flex;min-height:38px;align-items:center;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:.84rem;font-weight:750}.attendance-update-status.loading{color:var(--primary)}.attendance-update-status.success{border-color:color-mix(in srgb,#238b5d 35%,var(--line));color:#238b5d}.attendance-update-status.error{border-color:color-mix(in srgb,#c43d3d 35%,var(--line));color:#c43d3d}@media(max-width:900px){.attendance-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-admin-filters>button{width:100%}}@media(max-width:600px){.attendance-admin-filters{grid-template-columns:1fr}}
.attendance-admin-filters{grid-template-columns:minmax(170px,.7fr) minmax(260px,1.3fr) auto}.attendance-summary-wrap{margin-top:18px}.attendance-summary-table-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px}.attendance-summary-table{width:100%;min-width:760px;border-collapse:collapse;background:var(--surface-raised)}.attendance-summary-table th,.attendance-summary-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.attendance-summary-table th{background:var(--surface-soft);color:var(--muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.attendance-summary-table tbody tr:last-child td{border-bottom:0}.attendance-summary-table tbody tr:hover{background:var(--surface-soft)}.attendance-summary-table td:first-child{min-width:220px}.attendance-summary-table td small{display:block;margin-top:3px;color:var(--muted)}.attendance-time-cell{font-weight:900;font-variant-numeric:tabular-nums}.attendance-time-cell.entry{color:#238b5d}.attendance-time-cell.exit{color:var(--primary)}.attendance-summary-empty{padding:28px;border:1px dashed var(--line-strong);border-radius:12px;text-align:center}.attendance-summary-empty p{margin:6px 0 0;color:var(--muted)}@media(max-width:900px){.attendance-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-admin-filters>button{grid-column:1/-1}}@media(max-width:600px){.attendance-admin-filters{grid-template-columns:1fr}.attendance-admin-filters>button{grid-column:auto}}
.attendance-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.attendance-detail-actions span{color:var(--muted);font-weight:800}.attendance-detail-actions button{width:auto;margin:0;white-space:nowrap}@media(max-width:620px){.attendance-detail-actions{width:100%;justify-content:flex-start}.attendance-detail-actions button{flex:1}}
.employee-status-panel{margin-top:22px}.employee-status-search{display:block;margin:14px 0}.employee-status-search input{width:100%}.employee-status-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.employee-status-table{width:100%;min-width:1220px;border-collapse:collapse;background:var(--surface-raised)}.employee-status-table th,.employee-status-table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.employee-status-table th{background:var(--surface-soft);color:var(--muted);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.employee-status-table tr:last-child td{border-bottom:0}.employee-status-table tbody tr:hover{background:var(--surface-soft)}.employee-status-table td:first-child{min-width:230px}.employee-status-table td small{display:block;margin-top:5px;color:var(--muted);line-height:1.4}.employee-status-table button{width:auto;margin:0;white-space:nowrap}.employee-deadline{display:inline-flex;padding:5px 8px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:900}.employee-deadline.valid{border-color:color-mix(in srgb,#238b5d 38%,var(--line));color:#238b5d}.employee-deadline.warning{border-color:color-mix(in srgb,#bd7418 42%,var(--line));color:#a45f08}.employee-deadline.expired{border-color:color-mix(in srgb,#c43d3d 42%,var(--line));color:#c43d3d}.employee-deadline.missing{border-style:dashed;color:var(--muted)}.employee-deadline.neutral{color:var(--primary)}.employee-sctr-dialog{width:min(560px,calc(100vw - 30px));padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-lg)}.employee-sctr-dialog::backdrop{background:rgba(3,12,30,.62)}.employee-sctr-dialog form{padding:20px}.employee-sctr-dialog .panel-title button{font-size:1.25rem}
.employee-access-overview{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:16px 0}.employee-access-overview span{display:flex;align-items:baseline;gap:7px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--muted)}.employee-access-overview b{font-size:1.2rem;color:var(--text)}button.user-access-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0!important;padding:13px 14px!important;border:1px solid transparent!important;border-bottom-color:var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--text)!important;text-align:left;box-shadow:none!important}button.user-access-row:hover,button.user-access-row:focus-visible{border-color:color-mix(in srgb,var(--primary) 42%,var(--line))!important;background:var(--surface-soft)!important;transform:none}.user-access-row>span:first-child,.user-access-record>div{min-width:0}.user-access-row b,.user-access-row p,.user-access-row small{color:inherit}.user-access-row p{margin:4px 0 0;color:var(--muted)}.user-access-row small,.user-access-record small{display:block;margin-top:5px;color:var(--muted);line-height:1.4}.user-access-row>.employee-deadline,.user-access-record>.employee-deadline{flex:0 0 auto;align-self:center}.employee-status-table{min-width:1420px}@media(max-width:780px){.employee-access-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
.operational-shift-grid{grid-template-columns:minmax(330px,.8fr) minmax(480px,1.2fr);align-items:start}.operational-shift-grid .panel-title label{min-width:180px;margin:0}.operational-shift-list{display:grid;gap:10px;margin-top:14px}.operational-shift-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.operational-shift-list p{margin:5px 0 0;color:var(--muted)}.operational-shift-list>article>span{display:grid;gap:4px;text-align:right}.operational-shift-list small{color:var(--muted)}@media(max-width:900px){.operational-shift-grid{grid-template-columns:1fr}}@media(max-width:560px){.operational-shift-list>article{grid-template-columns:1fr}.operational-shift-list>article>span{text-align:left}}
.assignment-contract-info{display:flex;gap:.35rem;flex-direction:column;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);margin:.45rem 0 1rem}.assignment-contract-info span{color:var(--muted);font-size:.9rem}.assignment-emergency{border:1px solid var(--line);border-radius:12px;padding:.75rem 1rem;margin:1rem 0;background:var(--surface-soft)}.assignment-emergency summary{cursor:pointer;font-weight:800;color:var(--text)}.assignment-emergency [data-emergency-fields]{padding-top:.85rem}.assignment-emergency .check-row{display:flex;align-items:center;gap:.6rem;margin:.9rem 0}.assignment-emergency .check-row input{width:auto}.form-feedback:not(:empty){margin-top:.8rem;padding:.75rem 1rem;border-radius:10px;background:color-mix(in srgb,#238b5d 14%,transparent);color:#238b5d;font-weight:800}
.assignment-contract-info.is-eligible{border-color:color-mix(in srgb,#238b5d 55%,var(--line));background:color-mix(in srgb,#238b5d 10%,var(--surface-soft))}.assignment-contract-info.is-eligible>b{color:#238b5d}.assignment-contract-info.is-blocked{border-color:color-mix(in srgb,#c43d3d 55%,var(--line));background:color-mix(in srgb,#c43d3d 10%,var(--surface-soft))}.assignment-contract-info.is-blocked>b{color:#c43d3d}.assignment-requirements{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}.assignment-requirements em{padding:.3rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:.76rem;font-style:normal;font-weight:800}
.sctr-tabs{display:flex;gap:.5rem;overflow-x:auto;margin:1rem 0;padding:.55rem;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.sctr-tabs button{width:auto;min-width:max-content;margin:0;background:transparent;color:var(--muted);box-shadow:none}.sctr-tabs button.active{background:var(--primary);color:#fff}.sctr-table-scroll,.sctr-preview-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.sctr-table{width:100%;min-width:900px;border-collapse:collapse;background:var(--surface-raised)}.sctr-table th,.sctr-table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.sctr-table th{background:var(--surface-soft);color:var(--muted);font-size:.75rem;text-transform:uppercase}.sctr-table td small{display:block;margin-top:.3rem;color:var(--muted)}.sctr-table button{width:auto;margin:0}.file-action{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;padding:10px 14px;border-radius:9px;background:var(--surface-soft);color:var(--primary);font-weight:800;cursor:pointer}.file-action input{display:none}.sctr-preview-scroll{margin:1rem 0}.sctr-preview-scroll .sctr-table{min-width:680px}.sctr-tabs+[data-sctr-panel] .metrics{margin-top:1rem}@media(max-width:620px){.sctr-tabs{padding:.4rem}.sctr-table button{width:100%}}
.sctr-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.sctr-document-actions button{width:auto;margin:0}.sctr-document-actions .file-action{font-size:.82rem}@media(max-width:620px){.sctr-document-actions{width:100%;justify-content:flex-start}.sctr-document-actions button,.sctr-document-actions .file-action{width:100%}}
.historical-library-metrics h2{font-size:clamp(1.25rem,2vw,1.85rem);line-height:1.15}.historical-library-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,.65fr));gap:1rem;align-items:end;margin:1.1rem 0}.historical-library-filters label{margin:0}.historical-active-filters{display:flex;gap:.5rem;flex-wrap:wrap;min-height:2rem;margin-bottom:.8rem;align-items:center}.historical-active-filters span{padding:.35rem .65rem;border-radius:999px;background:var(--surface-soft,#eaf2ff);color:var(--primary,#123b78);font-size:.78rem;font-weight:700}.historical-document-results{display:grid;gap:.7rem}.historical-document-row{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--border,#d6e0ed);border-radius:14px;background:var(--surface,#fff)}.historical-document-type{display:grid;gap:.35rem}.historical-document-type span{font-size:.78rem;font-weight:800;color:var(--primary,#123b78);text-transform:uppercase;letter-spacing:.04em}.historical-document-type small,.historical-document-main small{color:var(--muted,#657187)}.historical-document-main{min-width:0}.historical-document-main p{margin:.25rem 0}.historical-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.historical-document-actions button{width:auto;margin:0}.validity-vigente{background:#dff5e8!important;color:#17653a!important}.validity-por-vencer{background:#fff1cc!important;color:#865b00!important}.validity-vencido{background:#fee2e2!important;color:#a11d1d!important}.validity-historico{background:#e8eaf0!important;color:#4c5562!important}.validity-sin-vencimiento{background:#eaf2ff!important;color:#123b78!important}.empty-state{text-align:center;padding:2.5rem;border:1px dashed var(--border,#d6e0ed);border-radius:14px}.empty-state p{margin:.4rem 0 0}@media(max-width:1050px){.historical-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.historical-document-row{grid-template-columns:110px minmax(0,1fr)}.historical-document-actions{grid-column:1/-1;justify-content:flex-end}}@media(max-width:620px){.historical-library-filters{grid-template-columns:1fr}.historical-document-row{grid-template-columns:1fr}.historical-document-actions{justify-content:stretch}.historical-document-actions button{flex:1}}
.historical-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .6rem;
  flex-wrap: wrap;
}

.historical-header-actions button {
  width: auto;
  margin: 0;
}

.sgi-create,
.sgi-document-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-soft);
}

.sgi-create > summary,
.sgi-document-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  color: var(--ink);
  font-weight: 800;
}

.sgi-create > form,
.sgi-document-card[open] > :not(summary) {
  margin: 0 16px 16px;
}

.sgi-document-list {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.sgi-document-card summary span {
  display: grid;
  gap: 5px;
}

.sgi-document-card summary small {
  color: var(--muted);
  font-weight: 600;
}

.sgi-document-card .organization-record {
  align-items: flex-start;
}

@media (max-width: 620px) {
  .historical-header-actions {
    width: 100%;
    justify-content: stretch;
  }

  .historical-header-actions button {
    flex: 1;
  }
}
.master-document-table{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.master-document-table table{width:100%;min-width:1050px;border-collapse:collapse;background:var(--surface)}
.master-document-table th,.master-document-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.master-document-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-soft)}
.master-document-table td{font-size:.9rem;color:var(--text)}
.master-document-table td small{display:block;margin-top:5px;color:var(--muted)}
.master-document-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}
.area-library-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(170px,1fr));gap:16px;align-items:end;margin-top:18px}
.area-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:18px}
.area-document-card{display:flex;flex-direction:column;min-width:0}
.area-document-card .row-actions{margin-top:auto;padding-top:14px}
.document-version-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.document-version-meta span{border:1px solid var(--line,#d7dfeb);border-radius:999px;padding:6px 10px;font-size:.82rem}
@media(max-width:760px){.area-library-filters{grid-template-columns:1fr}.area-document-grid{grid-template-columns:1fr}}
.sgi-scope-targets{margin:18px 0;padding:18px;border:1px solid var(--line,#d7dfeb);border-radius:16px}
.sgi-scope-targets select[multiple]{min-height:150px;padding:8px}
[data-sgi-scope-note]{display:flex!important;flex-direction:column;align-items:flex-start;gap:7px;line-height:1.45;padding:14px 16px}
[data-sgi-scope-note] b,[data-sgi-scope-note] small{display:block;width:100%}
[data-sgi-scope-note] small{opacity:.82}
.sgi-responsibility-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,2fr) auto;gap:12px;align-items:end;margin:14px 0;padding:14px;border:1px solid var(--line,#d7dfeb);border-radius:14px}
.sgi-responsibility-form .error{grid-column:1/-1;margin:0}
@media(max-width:760px){.sgi-responsibility-form{grid-template-columns:1fr}}

/* Auditorías SGI: navegación maestra-detalle, formularios en diálogo y seguimiento visual. */
.sgi-audit-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.sgi-audit-hero>div{max-width:900px}.sgi-audit-hero>button{width:auto;white-space:nowrap}.sgi-audit-toolbar{display:flex;align-items:end;gap:10px;margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.sgi-audit-toolbar label{min-width:120px;margin:0}.sgi-audit-toolbar button{width:44px;height:44px;padding:0}.sgi-audit-toolbar>span{margin-left:auto;align-self:center;color:var(--muted);font-size:.78rem;font-weight:800}.sgi-audit-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sgi-audit-kpis article{display:grid;gap:6px}.sgi-audit-kpis span,.sgi-audit-kpis small{color:var(--muted)}.sgi-audit-kpis strong{font-size:1.7rem}.sgi-audit-kpis .danger strong{color:#d84555}.sgi-audit-workspace{display:grid;grid-template-columns:minmax(290px,.75fr) minmax(540px,1.7fr);gap:16px;margin-top:16px;align-items:start}.sgi-audit-master{position:sticky;top:14px;max-height:calc(100vh - 30px);overflow:auto}.sgi-program-list,.sgi-audit-detail,.sgi-action-list,.sgi-finding-list{display:grid;gap:12px}.sgi-program-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface-soft)}.sgi-program-card.active{border-color:var(--primary)}.sgi-program-card>button,.sgi-audit-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;text-align:left;border:0;border-radius:0;background:transparent;color:var(--text);box-shadow:none}.sgi-program-card>button span,.sgi-audit-row span{display:grid;gap:4px;min-width:0}.sgi-program-card>button small,.sgi-audit-row small{color:var(--muted);white-space:normal}.sgi-program-card>div{border-top:1px solid var(--line)}.sgi-audit-row{padding:11px 14px;border-top:1px solid var(--line)}.sgi-audit-row:first-child{border-top:0}.sgi-audit-row.active{background:color-mix(in srgb,var(--primary) 13%,var(--surface))}.sgi-master-empty{display:block;padding:13px;color:var(--muted)}.sgi-program-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sgi-program-summary>div:first-child{min-width:0}.sgi-program-summary h3{margin:4px 0}.sgi-program-summary p{margin:8px 0}.sgi-program-summary .row-actions{justify-content:flex-end}.sgi-audit-sheet,.sgi-findings{margin-top:14px}.sgi-audit-stepper{display:grid;grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;align-items:center;margin:22px 0}.sgi-audit-stepper>i{height:2px;background:var(--line)}.sgi-audit-stepper>span{display:grid;justify-items:center;gap:5px;color:var(--muted);font-weight:800}.sgi-audit-stepper>span>b{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--line);border-radius:50%}.sgi-audit-stepper>span.active{color:var(--text)}.sgi-audit-stepper>span.active>b{border-color:var(--primary);background:var(--primary);color:#fff}.sgi-audit-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sgi-audit-facts>div,.sgi-audit-conclusion{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.sgi-audit-facts small{color:var(--muted);font-weight:800;text-transform:uppercase}.sgi-audit-facts p,.sgi-audit-conclusion p{margin:7px 0 0;white-space:pre-wrap}.sgi-audit-conclusion{margin-top:12px}.sgi-audit-actions{margin-top:16px;justify-content:flex-end}.sgi-finding-card{border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);overflow:hidden}.sgi-finding-card>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;cursor:pointer}.sgi-finding-card>summary>span{display:grid;gap:5px;min-width:0}.sgi-finding-card>summary small{color:var(--muted)}.sgi-finding-card[open]>:not(summary){margin:0 15px 15px}.sgi-finding-info{padding:12px;border:1px solid var(--line);border-radius:12px}.sgi-finding-info p{margin:6px 0}.sgi-corrective-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised)}.sgi-corrective-action>div:first-child{min-width:0}.sgi-corrective-action p{margin:7px 0}.sgi-corrective-action small{display:block;margin-top:5px;color:var(--muted)}.sgi-corrective-action>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.sgi-corrective-action button{width:auto;white-space:nowrap}.sgi-dialog{width:min(900px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-lg)}.sgi-dialog.compact{width:min(620px,calc(100vw - 30px))}.sgi-dialog::backdrop{background:rgba(3,12,30,.7);backdrop-filter:blur(3px)}.sgi-dialog .dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.sgi-dialog .dialog-heading h3{margin:4px 0}.sgi-dialog .dialog-heading>button{width:42px;height:42px;padding:0;font-size:1.4rem}.sgi-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.sgi-form-grid label{margin:0}.sgi-form-grid .wide{grid-column:1/-1}.sgi-dialog textarea{min-height:90px}.sgi-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.sgi-dialog .dialog-actions button{width:auto}.sgi-audit-loading{display:flex;align-items:center;gap:12px;padding:24px;color:var(--muted)}.sgi-audit-loading i{width:20px;height:20px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.tag.danger-tag{border-color:color-mix(in srgb,#d84555 45%,var(--line));background:color-mix(in srgb,#d84555 12%,var(--surface));color:#d84555}
@media(max-width:1050px){.sgi-audit-workspace{grid-template-columns:1fr}.sgi-audit-master{position:static;max-height:none}.sgi-program-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sgi-audit-hero,.sgi-program-summary{align-items:stretch;flex-direction:column}.sgi-audit-hero>button{align-self:flex-start}.sgi-audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sgi-program-list,.sgi-audit-facts,.sgi-form-grid{grid-template-columns:1fr}.sgi-form-grid .wide{grid-column:auto}.sgi-audit-stepper{grid-template-columns:1fr}.sgi-audit-stepper i{display:none}.sgi-audit-stepper span:not(.active){display:none}.sgi-corrective-action{grid-template-columns:1fr}.sgi-corrective-action>div:last-child{align-items:flex-start}.sgi-audit-toolbar>span{display:none}}
.governance-note{margin-bottom:16px;padding:13px 15px;border-left:4px solid var(--primary,#2f71e8);border-radius:10px;background:color-mix(in srgb,var(--primary,#2f71e8) 9%,transparent)}
.governance-note p{margin:5px 0 0;line-height:1.45}

/* Estándar transversal de experiencia de usuario.
   Mantiene columnas respirables, acciones compactas y respuesta visual uniforme. */
:root{
  --ui-row-gap:14px;
  --ui-column-gap:20px;
  --ui-section-gap:24px;
  --ui-control-height:40px;
  --ui-action-height:36px;
}

#content{
  gap:var(--ui-section-gap);
  /* Las vistas se completan con varias respuestas asíncronas. Sin esta regla,
     Chrome intenta mantener visible una tarjeta intermedia y desplaza el
     módulo recién abierto varios cientos de píxeles hacia abajo. */
  overflow-anchor:none;
}

#content > :where(section,article,div){
  min-width:0;
}

.card{
  padding:clamp(17px,2vw,22px);
}

.module-content{
  min-width:0;
}

:where(.grid,.metrics,.hr-metrics,.hr-process-grid,.profile-grid,.personal-card-grid,
.item-grid,.permission-grid,.medical-files,.performance-score-grid,
.performance-development-grid,.performance-final-grid,.exit-form-grid,
.exit-rating-grid,.exit-amount-grid,.historical-library-filters,
.area-library-filters,.ssoma-dashboard-filters,.attendance-admin-filters){
  min-width:0;
  column-gap:var(--ui-column-gap);
  row-gap:var(--ui-row-gap);
}

:where(.grid,.metrics,.hr-metrics,.hr-process-grid,.profile-grid,.personal-card-grid,
.item-grid,.permission-grid,.medical-files,.performance-score-grid,
.performance-development-grid,.performance-final-grid,.exit-form-grid,
.exit-rating-grid,.exit-amount-grid,.historical-library-filters,
.area-library-filters,.ssoma-dashboard-filters,.attendance-admin-filters) > *{
  min-width:0;
}

:where(label,fieldset,form,form > div){
  min-width:0;
}

label{
  line-height:1.35;
}

:where(input,select,textarea){
  min-width:0;
  min-height:var(--ui-control-height);
  padding:10px 12px;
}

input[type="checkbox"],
input[type="radio"]{
  min-height:0;
}

/* Los botones son compactos por defecto; las acciones importantes conservan texto completo. */
:where(button,.row-actions a,.historical-document-actions a,.institutional-inline-actions a){
  min-height:var(--ui-action-height);
  padding:8px 12px;
  border-radius:9px;
  font-size:12px;
  line-height:1.25;
}

form button:not(.top-icon):not(.notification-button):not(.bb-toast-close){
  width:auto;
  max-width:100%;
  margin-top:12px;
}

.login-card form button{
  width:100%;
  min-height:44px;
  margin-top:23px;
}

.row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.row-actions :where(button,a){
  display:inline-flex;
  width:auto;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:0;
  text-align:center;
  text-decoration:none;
}

.panel-title{
  column-gap:var(--ui-column-gap);
  row-gap:10px;
  margin-bottom:16px;
}

.panel-title :where(button,a){
  flex:0 0 auto;
  width:auto;
  max-width:100%;
  margin:0;
}

/* Tablas consultables: encabezado estable, filas identificables y desplazamiento seguro. */
:where(.master-document-table,.attendance-summary-table-scroll,.bb-table-scroll){
  scrollbar-width:thin;
  scrollbar-color:var(--line-strong) transparent;
}

:where(.master-document-table,.attendance-summary-table-scroll,.bb-table-scroll) table{
  font-variant-numeric:tabular-nums;
}

:where(.master-document-table,.attendance-summary-table-scroll,.bb-table-scroll) :where(th,td){
  padding:12px 16px;
}

:where(.master-document-table,.attendance-summary-table-scroll,.bb-table-scroll) tbody tr{
  transition:background .16s ease,box-shadow .16s ease;
}

:where(.master-document-table,.attendance-summary-table-scroll,.bb-table-scroll) tbody tr:hover{
  background:color-mix(in srgb,var(--primary) 7%,var(--surface));
  box-shadow:inset 3px 0 var(--primary);
}

/* Elementos desplegables y pestañas comunican claramente su estado. */
details > summary{
  border-radius:10px;
  transition:background .16s ease,color .16s ease;
}

details > summary:hover{
  background:color-mix(in srgb,var(--primary) 7%,transparent);
}

details[open] > summary{
  color:var(--primary);
}

:where(.hr-tabs,.module-view-switcher){
  gap:8px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}

:where(.hr-tabs,.module-view-switcher) button{
  min-height:34px;
  padding:7px 11px;
  border-radius:8px;
}

/* Microinteracciones añadidas por ui-dynamics.js. */
.bb-enter{
  animation:bb-content-enter .22s ease-out both;
}

.bb-action-press{
  transform:scale(.97)!important;
}

.bb-table-scroll{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:12px;
}

.bb-table-scroll > table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
  background:var(--surface);
}

.bb-table-scroll > table :where(th,td){
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}

.bb-table-scroll > table th{
  background:var(--surface-soft);
  color:var(--muted);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

@keyframes bb-content-enter{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:none}
}

@media(max-width:1100px){
  .profile-grid,
  .permission-grid,
  .performance-score-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .historical-library-filters{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  :root{
    --ui-row-gap:12px;
    --ui-column-gap:14px;
    --ui-section-gap:18px;
  }

  .card{
    padding:16px;
  }

  :where(.profile-grid,.personal-card-grid,.item-grid,.permission-grid,.medical-files,
  .performance-score-grid,.performance-development-grid,.performance-final-grid,
  .exit-form-grid,.exit-rating-grid,.exit-amount-grid,.historical-library-filters,
  .area-library-filters,.ssoma-dashboard-filters,.attendance-admin-filters){
    grid-template-columns:minmax(0,1fr);
  }

  .panel-title{
    align-items:stretch;
  }

  .panel-title :where(button,a){
    align-self:flex-start;
  }

  .row-actions :where(button,a){
    flex:1 1 145px;
  }
}

@media(prefers-reduced-motion:reduce){
  .bb-enter{animation:none}
}

.training-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}.training-toolbar h3,.training-toolbar p{margin:4px 0}.training-toolbar>div{flex:1 1 280px}.training-toolbar label{width:130px;margin:0}.training-toolbar>button{width:auto;margin:0}.training-action-form{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.training-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 20px}.training-form-grid label{margin-top:10px}.training-form-dates{grid-template-columns:repeat(3,minmax(0,1fr))}.training-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.35fr);gap:20px;margin:20px 0}.training-action-list{display:grid;gap:14px}.training-action-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);gap:20px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:14px;background:var(--surface-soft)}.training-action-card.overdue{border-left-color:var(--red)}.training-action-main h4{margin:8px 0}.training-action-main p{margin:6px 0}.training-action-main small{color:var(--muted)}.training-progress{height:9px;margin:14px 0 6px;overflow:hidden;border-radius:999px;background:var(--line)}.training-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#36b37e)}.training-action-card>form{margin:0;padding-left:20px;border-left:1px solid var(--line)}.training-action-card>form label{margin:0 0 10px}.training-action-card>form button{margin:4px 0;width:auto}.training-action-card>form a{display:inline-flex;margin:8px 0;color:var(--primary);font-weight:800;font-size:12px}@media(max-width:1000px){.training-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-action-card{grid-template-columns:1fr}.training-action-card>form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}}@media(max-width:680px){.training-form-grid,.training-form-dates,.training-filters,.training-action-card>form{grid-template-columns:1fr}.training-toolbar{align-items:stretch}.training-toolbar label{width:100%}}
.training-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.training-process article{position:relative;display:flex;min-width:0;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.training-process article:not(:last-child):after{content:"›";position:absolute;right:-12px;top:50%;z-index:1;display:grid;width:22px;height:22px;place-items:center;transform:translateY(-50%);border-radius:50%;background:var(--primary);color:white;font-weight:900}.training-process article>span{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:50%;background:var(--surface-accent);color:var(--primary);font-weight:900}.training-process b{display:block;margin:2px 0 5px}.training-process p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.training-metrics button{text-align:left;color:var(--ink);background:var(--surface)}.training-metrics button h2{min-height:34px;font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.15}.training-metrics button.active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.training-wizard-steps{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;margin-bottom:22px}.training-wizard-steps>i{height:2px;background:var(--line)}.training-wizard-steps>button{display:flex;align-items:center;gap:9px;margin:0;padding:9px;background:transparent;color:var(--muted);text-align:left;box-shadow:none}.training-wizard-steps>button>b{display:grid;flex:0 0 30px;height:30px;place-items:center;border:2px solid var(--line);border-radius:50%;background:var(--surface)}.training-wizard-steps>button.active{color:var(--ink)}.training-wizard-steps>button.active>b{border-color:var(--primary);background:var(--primary);color:white}.training-action-form fieldset{min-width:0;margin:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.training-action-form fieldset legend{padding:0 8px;color:var(--ink);font-size:14px;font-weight:900}.training-form-two{grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr)}.training-wizard-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}.training-wizard-actions>span{margin-right:auto;color:var(--muted);font-weight:800}.training-wizard-actions button{width:auto;margin:0}@media(max-width:1050px){.training-process{grid-template-columns:repeat(2,minmax(0,1fr))}.training-process article:nth-child(2):after{display:none}}@media(max-width:680px){.training-process{grid-template-columns:1fr}.training-process article:after{display:none!important}.training-wizard-steps{grid-template-columns:1fr}.training-wizard-steps>i,.training-wizard-steps>button:not(.active){display:none}.training-form-two{grid-template-columns:1fr}.training-wizard-actions{position:sticky;bottom:0;z-index:2;flex-wrap:wrap;padding:12px;background:var(--surface)}.training-wizard-actions>span{width:100%;margin:0;text-align:center}.training-wizard-actions button{flex:1 1 120px}}
.training-course-grid,.training-event-list{display:grid;gap:14px;margin-top:20px}.training-course-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.24fr);gap:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.training-course-card h4,.training-event-card h4{margin:8px 0}.training-course-card p,.training-course-card small,.training-event-card p,.training-participant-list small{display:block;color:var(--muted)}.training-course-card>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-left:18px;border-left:1px solid var(--line)}.training-course-card .tag{align-self:flex-end;margin:3px 0}.training-employee-picker{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.training-employee-picker>.panel-title{align-items:start}.training-employee-picker>.panel-title span{color:var(--primary);font-weight:900}.training-employee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:290px;margin-top:12px;overflow:auto}.training-employee-grid>label{display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);cursor:pointer}.training-employee-grid input{flex:0 0 auto;width:18px;margin:0}.training-employee-grid span{min-width:0}.training-employee-grid b,.training-employee-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-employee-grid small{margin-top:4px;color:var(--muted)}.training-event-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.training-event-card>.panel-title{align-items:start}.training-event-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.training-event-summary span{padding:11px;border-radius:10px;background:var(--surface);color:var(--muted);font-size:12px}.training-event-summary b{display:block;color:var(--ink);font-size:16px}.training-event-card details{border-top:1px solid var(--line);padding-top:12px}.training-event-card summary{color:var(--primary);font-weight:900;cursor:pointer}.training-participant-list{display:grid;gap:9px;margin-top:12px}.training-participant-list form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.35fr) auto;align-items:end;gap:12px;margin:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.training-participant-list label{margin:0}.training-participant-list button{width:auto;margin:0}.training-participant-list .error{grid-column:1/-1;margin:0}@media(max-width:950px){.training-employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-event-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.training-course-card,.training-participant-list form,.training-employee-grid,.training-event-summary{grid-template-columns:1fr}.training-course-card>div:last-child{align-items:flex-start;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}.training-course-card .tag{align-self:flex-start}}
.training-budget-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.training-budget-metrics article{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.training-budget-metrics p,.training-budget-metrics small{display:block;margin:0;color:var(--muted)}.training-budget-metrics b{display:block;margin:8px 0;color:var(--ink);font-size:20px}.training-budget-metrics .budget-negative{color:var(--red)}.training-budget-bars{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.training-budget-bars article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.training-budget-bars article>div:first-child{display:flex;justify-content:space-between;gap:12px}.training-budget-bars span{color:var(--muted);font-size:12px}.training-budget-bars .training-progress{margin-bottom:0}.training-budget-bars .actual i{background:linear-gradient(90deg,#07865c,#36b37e)}.training-budget-form{display:grid;grid-template-columns:minmax(210px,.3fr) minmax(300px,1fr) auto;align-items:end;gap:16px;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.training-budget-form label,.training-budget-form button{margin:0}.training-budget-form .error{grid-column:1/-1;margin:0}.training-cost-title{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.training-cost-list{display:grid;gap:10px}.training-cost-list form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.22fr) minmax(220px,.4fr) auto;align-items:end;gap:12px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.training-cost-list small{display:block;margin-top:5px;color:var(--muted)}.training-cost-list label,.training-cost-list button{margin:0}.training-cost-list .error{grid-column:1/-1;margin:0}@media(max-width:1000px){.training-budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.training-budget-form,.training-cost-list form{grid-template-columns:1fr 1fr}.training-budget-form button,.training-cost-list button{width:max-content}}@media(max-width:680px){.training-budget-metrics,.training-budget-bars,.training-budget-form,.training-cost-list form{grid-template-columns:1fr}}
.training-budget-form{grid-template-columns:minmax(180px,.3fr) minmax(180px,.28fr) minmax(280px,1fr) auto}.training-budget-trace{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.training-budget-trace>span{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:12px}.training-budget-trace b{display:block;margin-bottom:5px;color:var(--ink)}.training-budget-authority,.training-budget-decision{margin:14px 0;padding:16px;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:12px;background:var(--surface-soft)}.training-budget-authority p,.training-budget-decision p{margin:5px 0;color:var(--muted)}.training-budget-decision{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(280px,1fr) auto;align-items:end;gap:16px}.training-budget-decision label,.training-budget-decision .row-actions{margin:0}.training-budget-decision .error{grid-column:1/-1;margin:0}@media(max-width:1100px){.training-budget-trace,.training-budget-form,.training-budget-decision{grid-template-columns:1fr 1fr}}@media(max-width:680px){.training-budget-trace,.training-budget-form,.training-budget-decision{grid-template-columns:1fr}}
.training-budget-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.training-budget-toolbar-actions button{width:auto;margin:0}.training-budget-history{margin:20px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);overflow:hidden}.training-budget-history>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;list-style:none}.training-budget-history>summary::-webkit-details-marker{display:none}.training-budget-history>summary span{display:block}.training-budget-history>summary b,.training-budget-history>summary small{display:block}.training-budget-history>summary small{margin-top:3px;color:var(--muted);font-weight:500}.training-budget-history>summary em{color:var(--primary);font-size:12px;font-style:normal;font-weight:800}.training-budget-history-list{display:grid;gap:9px;padding:0 14px 14px}.training-budget-history-list>article{display:grid;grid-template-columns:minmax(230px,1fr) repeat(3,minmax(120px,.35fr));align-items:center;gap:16px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.training-budget-history-list>article.current{border-left:4px solid var(--primary)}.training-budget-history-list span,.training-budget-history-list small{display:block;color:var(--muted);font-size:11px}.training-budget-history-list b{display:block;margin:3px 0;color:var(--ink)}@media(max-width:850px){.training-budget-history-list>article{grid-template-columns:1fr 1fr}.training-budget-history-list>article>div:first-child{grid-column:1/-1}}@media(max-width:560px){.training-budget-toolbar-actions{align-items:stretch;flex-direction:column}.training-budget-toolbar-actions button{width:100%}.training-budget-history-list>article{grid-template-columns:1fr}.training-budget-history-list>article>div:first-child{grid-column:auto}}
.attendance-period-control{margin:16px 0 20px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:14px;background:var(--surface-soft)}.attendance-period-control.closed{border-left-color:#667085}.attendance-closure-heading,.attendance-closure-result{display:flex;align-items:center;justify-content:space-between;gap:16px}.attendance-closure-heading h4,.attendance-closure-heading p{margin:4px 0}.attendance-closure-heading p{color:var(--muted)}.attendance-closure-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:14px 0}.attendance-closure-checks article{padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.attendance-closure-checks b,.attendance-closure-checks span{display:block}.attendance-closure-checks b{font-size:20px}.attendance-closure-checks span{margin-top:3px;color:var(--muted);font-size:12px}.attendance-closure-checks .attention{border-color:rgba(220,53,69,.45)}.attendance-closure-checks .attention b{color:var(--red)}.attendance-closure-checks .ready b{color:#07865c}.attendance-closure-result{padding-top:12px;border-top:1px solid var(--line)}.attendance-closure-result>span{font-weight:700}.attendance-closure-result small{color:var(--muted)}.attendance-closure-result button{width:auto;margin:0}.attendance-period-locked [data-edit-attendance],.attendance-period-locked [data-review-attendance-admin]{opacity:.45;cursor:not-allowed}@media(max-width:700px){.attendance-closure-heading,.attendance-closure-result{align-items:stretch;flex-direction:column}.attendance-closure-checks{grid-template-columns:1fr}.attendance-closure-result button{width:100%}}
.training-budget-form{grid-template-columns:minmax(190px,.32fr) minmax(190px,.3fr) minmax(300px,1fr) auto}.training-budget-fixed-area{display:flex;min-height:74px;flex-direction:column;justify-content:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.training-budget-fixed-area .eyebrow{margin:0 0 4px}.training-budget-fixed-area b{color:var(--ink)}.training-budget-fixed-area small{margin-top:4px;color:var(--muted)}@media(max-width:1100px){.training-budget-form{grid-template-columns:1fr 1fr}.training-budget-form>label:nth-of-type(2){grid-column:1/-1}.training-budget-form>button{justify-self:start}}@media(max-width:680px){.training-budget-form,.training-budget-form>label:nth-of-type(2){grid-template-columns:1fr;grid-column:auto}.training-budget-form>button{width:100%}}
.training-add-budget-course{width:auto;margin:6px 0 0}.training-budget-proposal{margin:18px 0 0}.training-budget-proposal-head{display:grid;grid-template-columns:minmax(190px,.32fr) minmax(320px,1fr) minmax(190px,.3fr);align-items:stretch;gap:16px;margin-bottom:20px}.training-budget-proposal-head>label{margin:0}.training-budget-proposal-head textarea{min-height:74px}.training-proposal-total{display:flex;flex-direction:column;justify-content:center;padding:12px 16px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--line));border-radius:12px;background:var(--surface-accent)}.training-proposal-total small,.training-proposal-total span{color:var(--muted)}.training-proposal-total b{margin:5px 0;color:var(--primary);font-size:23px}.training-budget-course-list{display:grid;gap:10px}.training-budget-course-list>article{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(120px,.24fr)) minmax(130px,.22fr);align-items:end;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);opacity:.72}.training-budget-course-list>article.selected{border-color:color-mix(in srgb,var(--primary) 50%,var(--line));background:var(--surface-accent);opacity:1}.training-budget-course-list label{margin:0}.training-budget-course-check{display:flex;align-items:center;gap:10px;align-self:center;cursor:pointer}.training-budget-course-check input{flex:0 0 auto;width:18px;margin:0}.training-budget-course-check span,.training-budget-course-check b,.training-budget-course-check small{display:block;min-width:0}.training-budget-course-check small{margin-top:4px;color:var(--muted)}.training-budget-subtotal{align-self:center;text-align:right}.training-budget-subtotal small{display:block;color:var(--muted)}.training-budget-subtotal b{display:block;margin-top:5px;font-size:16px}.training-budget-submit{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:16px}.training-budget-submit span{margin-right:auto;color:var(--muted);font-size:12px}.training-budget-submit button{width:auto;margin:0}@media(max-width:1150px){.training-budget-course-list>article{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(120px,.3fr));}.training-budget-course-check{grid-row:span 2}.training-budget-subtotal{text-align:left}}@media(max-width:800px){.training-budget-proposal-head{grid-template-columns:1fr 1fr}.training-budget-proposal-head>label{grid-column:1/-1;grid-row:2}.training-budget-course-list>article{grid-template-columns:1fr 1fr}.training-budget-course-check{grid-column:1/-1;grid-row:auto}.training-budget-submit{align-items:stretch;flex-direction:column}.training-budget-submit button{width:100%}}@media(max-width:560px){.training-budget-proposal-head,.training-budget-course-list>article{grid-template-columns:1fr}.training-budget-proposal-head>label{grid-column:auto;grid-row:auto}}

/* Panel común de cada área: indicadores reales, lectura visual y alertas accionables. */
.area-dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.area-dashboard-hero>div:first-child{min-width:0;max-width:780px}
.area-dashboard-sync{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.area-dashboard-sync small{color:rgba(255,255,255,.82);font-weight:700}
.area-dashboard-loading{display:flex;min-height:150px;align-items:center;justify-content:center;gap:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--muted);font-weight:800}
.area-dashboard-loading i{width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:area-dashboard-spin .75s linear infinite}
.dashboard-purpose-strip{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:22px;align-items:center;margin:0 0 18px;padding:17px 20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(115deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface))}.dashboard-purpose-strip>div:first-child{display:grid;gap:3px}.dashboard-purpose-strip>div:first-child strong{font-size:1.08rem}.dashboard-purpose-strip>div:first-child small{color:var(--muted)}.dashboard-purpose-strip>div:last-child{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.dashboard-purpose-strip>div:last-child>span{display:grid;gap:2px;min-width:128px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-sm)}.dashboard-purpose-strip>div:last-child b{font-size:.72rem;letter-spacing:.07em}.dashboard-purpose-strip>div:last-child small{color:var(--muted);font-size:.7rem}.dashboard-purpose-strip [data-dashboard-dimension="estrategia"]{border-top:3px solid #2f6fed}.dashboard-purpose-strip [data-dashboard-dimension="operación"]{border-top:3px solid #14a77c}.dashboard-purpose-strip [data-dashboard-dimension="finanzas"]{border-top:3px solid #e79b18}.dashboard-purpose-strip [data-dashboard-dimension="personas"]{border-top:3px solid #8b5cf6}.dashboard-purpose-strip [data-dashboard-dimension="cumplimiento"]{border-top:3px solid #d84c59}
.area-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.area-dashboard-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.area-dashboard-group{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:18px;padding:18px}.area-dashboard-group>div:first-child h3,.area-dashboard-group>div:first-child p{margin:4px 0}.area-dashboard-group>div:first-child p{color:var(--muted);font-size:13px}.area-dashboard-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.area-dashboard-group-metric{display:flex;align-items:flex-start;flex-direction:column;min-width:0;padding:12px;border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:11px;background:var(--surface-soft);color:var(--ink);text-align:left}.area-dashboard-group-metric.warning{border-left-color:#e39a18}.area-dashboard-group-metric.danger{border-left-color:var(--red)}.area-dashboard-group-metric.positive{border-left-color:#07865c}.area-dashboard-group-metric span,.area-dashboard-group-metric small{color:var(--muted);font-size:11px}.area-dashboard-group-metric strong{margin:5px 0;font-size:18px}.area-dashboard-group-metric:hover{border-color:var(--primary);transform:translateY(-1px)}
.area-kpi-card{position:relative;display:flex;min-width:0;min-height:232px;flex-direction:column;align-items:flex-start;margin:0;padding:17px 19px 18px;overflow:hidden;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:16px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:var(--shadow-sm)}
.area-kpi-card:after{content:"";position:absolute;right:-34px;top:-38px;width:105px;height:105px;border-radius:50%;background:color-mix(in srgb,var(--primary) 9%,transparent)}
.area-kpi-card>span{position:relative;z-index:1;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
.area-kpi-card>strong{position:relative;z-index:1;display:block;max-width:100%;margin:12px 0 8px;color:var(--ink);font-size:clamp(1.28rem,1.75vw,1.9rem);line-height:1.08;white-space:nowrap;font-variant-numeric:tabular-nums}
.area-kpi-card>small{position:relative;z-index:1;display:block;color:var(--muted);font-size:12px;line-height:1.45}
.area-kpi-card>i{position:relative;z-index:1;margin-top:auto;padding-top:12px;color:var(--primary);font-size:11px;font-style:normal;font-weight:900}
.area-kpi-card>.area-kpi-head{position:relative;z-index:1;display:grid;width:100%;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;color:var(--muted);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}.area-kpi-head>b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:color-mix(in srgb,var(--primary) 13%,var(--surface));color:var(--primary);font-size:.72rem}.area-kpi-head>em{padding:5px 7px;border-radius:999px;background:var(--surface-soft);color:var(--ink);font-style:normal;font-weight:900}.area-kpi-head>small{overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.62rem;font-weight:800}.area-kpi-card>.area-kpi-label{position:relative;z-index:1;margin-top:15px;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.area-kpi-card>.area-kpi-question{position:relative;z-index:1;display:block;margin-top:3px;color:var(--ink);font-size:.78rem;font-weight:750;line-height:1.35}.area-kpi-card>.area-kpi-detail{position:relative;z-index:1;display:block;margin-top:7px;color:var(--muted);font-size:.7rem;line-height:1.35}.area-kpi-trend{position:relative;z-index:1;display:inline-flex;margin:-2px 0 6px;padding:4px 7px;border-radius:999px;background:var(--surface-soft);font-size:.66rem;font-weight:850}.area-kpi-trend.positive{background:color-mix(in srgb,#159767 13%,var(--surface));color:#11845c}.area-kpi-trend.warning,.area-kpi-trend.danger{background:color-mix(in srgb,#d54b58 12%,var(--surface));color:#c33f4c}.executive-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.executive-kpi-grid .area-kpi-card:first-child{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 12%,var(--surface)),var(--surface))}
.area-kpi-card.positive{border-left-color:#1a9b69}.area-kpi-card.warning{border-left-color:#e69a17}.area-kpi-card.danger{border-left-color:#d64a55}.area-kpi-card.info{border-left-color:#3c7fe8}
.area-kpi-card[data-erp-go]:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:var(--shadow-md)}
.area-dashboard-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:stretch}
.area-dashboard-chart,.area-dashboard-alerts,.area-dashboard-error{padding:21px}
.area-dashboard-chart-priority{margin:18px 0}.area-dashboard-chart-priority>.panel-title{align-items:flex-start}.area-dashboard-alerts-only{grid-template-columns:1fr}
.area-chart-list{display:grid;gap:16px;margin-top:18px}
.area-chart-row{display:grid;gap:7px}
.area-chart-row>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.area-chart-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.area-chart-row span{flex:0 0 auto;color:var(--ink);font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}
.area-chart-track{height:10px;overflow:hidden;border-radius:999px;background:var(--paper-soft)}
.area-chart-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#63a2ff);transition:width .45s ease}
.dynamic-donut-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:28px;align-items:center;margin-top:18px;padding:8px 2px}
.dynamic-donut-wrap{display:grid;place-items:center;min-width:0}
.dynamic-donut{position:relative;display:grid;place-items:center;width:min(230px,100%);aspect-ratio:1;border-radius:50%;box-shadow:0 14px 32px color-mix(in srgb,var(--primary) 15%,transparent);animation:dashboard-chart-in .45s ease both}
.dynamic-donut::after{content:"";position:absolute;inset:25%;border-radius:50%;background:var(--surface);box-shadow:0 0 0 1px var(--border)}
.dynamic-donut-center{position:relative;z-index:1;display:grid;place-items:center;max-width:50%;text-align:center}
.dynamic-donut-center strong{font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.05;overflow-wrap:anywhere}
.dynamic-donut-center span{margin-top:5px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.dynamic-donut-legend{display:grid;gap:8px;min-width:0}
.dynamic-donut-legend-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--primary) 6%)}
.dynamic-donut-legend-row>i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}
.dynamic-donut-legend-row>span{display:grid;gap:2px;min-width:0}.dynamic-donut-legend-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dynamic-donut-legend-row small{color:var(--muted)}
.dynamic-donut-legend-row>strong{font-size:.96rem;white-space:nowrap}
.chart-zero-state{opacity:.9}.chart-zero-state .dynamic-donut{box-shadow:none}.chart-zero-state .area-empty-state{align-self:center;margin:0;padding:18px;text-align:left}.area-chart-list.chart-zero-state .area-chart-row>p{margin:8px 0 0;color:var(--muted);font-size:.82rem}
.executive-methodology{margin:0 0 18px;padding:0;overflow:hidden}.executive-methodology summary{padding:14px 18px;cursor:pointer;color:var(--primary);font-weight:850}.executive-methodology ul{display:grid;gap:7px;margin:0;padding:0 38px 18px;color:var(--muted);font-size:.82rem;line-height:1.45}.executive-area-review{margin:18px 0}.executive-area-review>.panel-title{margin-bottom:12px;padding:0 2px}.executive-area-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.executive-area-group{padding:0;overflow:hidden}.executive-area-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.executive-area-group>summary::-webkit-details-marker{display:none}.executive-area-group>summary>span{display:grid;gap:3px}.executive-area-group>summary small{color:var(--muted);font-size:.72rem}.executive-area-group>summary em{padding:5px 8px;border-radius:999px;background:var(--surface-soft);color:var(--primary);font-size:.7rem;font-style:normal;font-weight:850}.executive-area-group[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.executive-area-group>.area-dashboard-group-items{padding:14px}
@keyframes dashboard-chart-in{from{opacity:.2;transform:scale(.88) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.area-alert-count{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:900}
.area-alert-list{display:grid;gap:10px;margin-top:16px}
.area-alert{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;margin:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--ink);text-align:left;box-shadow:none}
.area-alert>i{display:block;width:9px;height:9px;border-radius:50%;background:var(--primary)}
.area-alert>span{display:grid;gap:4px;min-width:0}.area-alert b{font-size:12px}.area-alert small{color:var(--muted);font-size:11px;line-height:1.4}
.area-alert>em{color:var(--primary);font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}
.area-alert.warning>i{background:#e69a17}.area-alert.danger>i{background:#d64a55}.area-alert.info>i{background:#3c7fe8}
.area-alert[data-erp-go]:hover{border-color:var(--primary);background:var(--surface-accent)}
.area-empty-state{padding:20px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-soft);text-align:center}
.area-empty-state b{color:var(--ink)}.area-empty-state p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.area-empty-state.success{border-color:color-mix(in srgb,#1a9b69 40%,var(--line));background:color-mix(in srgb,#1a9b69 7%,var(--surface))}
.area-dashboard-error{text-align:center}.area-dashboard-error small{color:var(--muted)}
@keyframes area-dashboard-spin{to{transform:rotate(360deg)}}
@media(max-width:1200px){.area-dashboard-groups{grid-template-columns:1fr}.executive-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.area-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.area-dashboard-main{grid-template-columns:1fr}.dashboard-purpose-strip{grid-template-columns:1fr}.dashboard-purpose-strip>div:last-child{justify-content:flex-start}.executive-area-review-grid{grid-template-columns:1fr}}@media(max-width:760px){.area-dashboard-group{grid-template-columns:1fr}.area-dashboard-group-items{grid-template-columns:1fr 1fr}.dynamic-donut-layout{grid-template-columns:1fr;gap:20px}.dynamic-donut{width:min(210px,72vw)}}
@media(max-width:720px){.area-dashboard-hero{align-items:flex-start;flex-direction:column}.area-dashboard-sync{justify-content:flex-start}.area-dashboard-kpis,.executive-kpi-grid{grid-template-columns:1fr}.area-kpi-card{min-height:218px}.dashboard-purpose-strip>div:last-child{display:grid;grid-template-columns:1fr 1fr;width:100%}.dashboard-purpose-strip>div:last-child>span{min-width:0}.area-alert{grid-template-columns:10px minmax(0,1fr)}.area-alert>em{grid-column:2}.area-chart-row>div:first-child{align-items:flex-start;flex-direction:column;gap:4px}}@media(max-width:520px){.area-dashboard-group-items,.dashboard-purpose-strip>div:last-child{grid-template-columns:1fr}.area-kpi-head{grid-template-columns:auto 1fr}.area-kpi-head>small{grid-column:1/-1;text-align:left}}

/* Propuesta anual: encabezado alineado y costo visible por cantidad de personas. */
.training-budget-proposal-head{grid-template-columns:minmax(220px,.32fr) minmax(380px,1fr) minmax(220px,.32fr);align-items:stretch;gap:18px}
.training-proposal-head-card{min-width:0;min-height:144px;margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.training-budget-fixed-area.training-proposal-head-card{min-height:144px;padding:16px 18px;justify-content:center}
.training-proposal-justification{display:flex;flex-direction:column;gap:10px}
.training-proposal-justification>span{color:var(--ink);font-size:13px;font-weight:900}
.training-proposal-justification textarea{flex:1;min-height:84px;margin:0;resize:vertical}
.training-proposal-total.training-proposal-head-card{justify-content:center;border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:var(--surface-accent)}
.training-budget-course-heading{align-items:end;padding-top:2px}
.training-budget-course-heading h4,.training-budget-course-heading p{margin:4px 0}
.training-budget-course-list>article{grid-template-columns:minmax(280px,1fr) minmax(130px,.22fr) minmax(175px,.3fr) minmax(170px,.3fr) minmax(155px,.25fr);align-items:end;gap:14px;padding:15px}
.training-budget-course-list label>small{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.3}
.training-budget-people{padding:10px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--primary) 7%,var(--surface))}
.training-budget-people input{font-weight:900}
.training-budget-subtotal{display:flex;min-height:70px;flex-direction:column;justify-content:center;padding:9px 12px;border-left:1px solid var(--line);text-align:right}
.training-budget-subtotal b{font-size:17px;font-variant-numeric:tabular-nums}
.training-budget-subtotal span{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:800}
.training-course-card>div:last-child strong{display:block;color:var(--primary);font-size:12px;text-align:right}
@media(max-width:1180px){
  .training-budget-proposal-head{grid-template-columns:minmax(200px,.4fr) minmax(360px,1fr)}
  .training-proposal-total{grid-column:1/-1;min-height:100px}
  .training-budget-course-list>article{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(150px,.35fr))}
  .training-budget-course-check{grid-row:auto}
  .training-budget-subtotal{border-left:0;text-align:left}
}
@media(max-width:800px){
  .training-budget-proposal-head{grid-template-columns:1fr}
  .training-proposal-total,.training-proposal-justification{grid-column:auto;grid-row:auto}
  .training-proposal-head-card,.training-budget-fixed-area.training-proposal-head-card{min-height:auto}
  .training-budget-course-list>article{grid-template-columns:1fr 1fr}
  .training-budget-course-check{grid-column:1/-1}
  .training-budget-subtotal{grid-column:1/-1;padding-left:0;border-top:1px solid var(--line)}
}
@media(max-width:560px){.training-budget-course-list>article{grid-template-columns:1fr}.training-budget-course-check,.training-budget-subtotal{grid-column:auto}}

/* Maestro-detalle por colaborador: asistencia y beneficios sociales */
.employee-master-list{display:grid;gap:12px;margin-top:18px}
.employee-master-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}
.employee-master-card[open]{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 10%,transparent)}
.employee-master-card>summary{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(105px,.42fr)) auto;gap:16px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}
.employee-master-card>summary::-webkit-details-marker{display:none}
.employee-master-card>summary:hover{background:var(--surface-soft)}
.employee-master-card>summary:before{content:'›';color:var(--primary);font-size:24px;font-weight:900;transition:transform .18s}
.employee-master-card[open]>summary:before{transform:rotate(90deg)}
.employee-master-card>summary{grid-template-columns:24px minmax(240px,1.4fr) repeat(3,minmax(100px,.42fr)) auto}
.employee-master-card>summary>span:not(.tag){display:grid;gap:4px}
.employee-master-card>summary>span:not(.employee-master-identity) b{font-size:16px;font-variant-numeric:tabular-nums}
.employee-master-card>summary small{color:var(--muted)}
.employee-master-identity b{font-size:16px}
.employee-master-detail{display:grid;gap:12px;padding:0 18px 18px;border-top:1px solid var(--line);background:var(--surface-soft)}
.employee-master-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0 2px}
.employee-master-actions p{margin:0;color:var(--muted)}
.employee-master-actions button{flex:none}
.social-benefit-concepts{display:grid;gap:10px}
.social-benefit-concept{display:grid;grid-template-columns:minmax(145px,.8fr) repeat(3,minmax(135px,.7fr)) minmax(220px,1.15fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised)}
.social-benefit-concept>div{display:grid;gap:4px}
.social-benefit-concept span,.social-benefit-concept small{color:var(--muted);font-size:12px}
.social-benefit-concept details summary{cursor:pointer;color:var(--primary);font-weight:800}
.social-benefit-concept details p{margin:8px 0}
.attendance-admin-day .panel-title{align-items:center}
@media(max-width:1000px){
  .employee-master-card>summary{grid-template-columns:24px minmax(220px,1fr) repeat(2,minmax(90px,.4fr)) auto}
  .employee-master-card:not(.social-benefit-person)>summary>span:nth-of-type(4){display:none}
  .social-benefit-concept{grid-template-columns:repeat(2,minmax(0,1fr))}
  .social-benefit-concept .row-actions{grid-column:1/-1}
}
@media(max-width:680px){
  .employee-master-card>summary{grid-template-columns:22px 1fr auto;gap:10px}
  .employee-master-card>summary>span:not(.employee-master-identity):not(.tag){display:none}
  .employee-master-actions{align-items:stretch;flex-direction:column}
  .employee-master-actions button{width:100%}
  .social-benefit-concept{grid-template-columns:1fr}
  .social-benefit-concept .row-actions{grid-column:auto}
}
.request-edit-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);overflow:hidden}
.request-edit-panel>summary{padding:12px 14px;cursor:pointer;font-weight:750;color:var(--accent)}
.request-edit-panel>form{display:grid;gap:14px;padding:14px;border-top:1px solid var(--line)}
.request-edit-panel [data-edit-items]{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.request-edit-panel .request-item{min-width:0;margin:0;padding:14px}
.request-edit-panel .request-item input,.request-edit-panel .request-item select,.request-edit-panel .request-item textarea{width:100%;min-width:0}
@media(max-width:640px){.request-edit-panel [data-edit-items]{grid-template-columns:1fr}}
.sidebar-group>div{padding-left:0}.sidebar-section-label{display:flex;align-items:center;gap:7px;margin:12px 0 4px;padding:9px 10px 0;border-top:1px solid rgba(151,170,205,.14);color:#91a4c7;font-size:.61rem;font-weight:900;line-height:1.25;letter-spacing:.105em;text-transform:uppercase;pointer-events:none}.sidebar-section-label:before{content:'';width:3px;height:3px;border-radius:50%;background:#5f91f5;box-shadow:0 0 0 3px rgba(95,145,245,.11)}.sidebar-section-label:first-child{margin-top:2px;padding-top:5px;border-top:0}.sidebar-subitem{padding-left:10px}.sidebar-group summary{padding-left:10px}
@media(max-width:850px){aside:has(.sidebar-group[open]) .sidebar-group[open]>div{padding-left:48px}}

/* Jerarquía de acciones compartida: contraste consistente en todos los módulos. */
button.secondary,a.button-link.secondary{background:var(--surface-soft)!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important;box-shadow:none!important}
button.secondary:hover,a.button-link.secondary:hover{background:var(--surface-accent)!important;border-color:var(--primary)!important;color:var(--primary-hover)!important}
.module-hero>button{background:#fff!important;color:#174ba9!important;border:2px solid rgba(255,255,255,.95)!important;box-shadow:0 10px 24px rgba(3,15,45,.25)!important}
.module-hero>button:hover{background:#eef5ff!important;color:#103b8e!important;transform:translateY(-2px);box-shadow:0 14px 30px rgba(3,15,45,.32)!important}
.module-hero>button:focus-visible,button.secondary:focus-visible,a.button-link.secondary:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px}

/* Objetivos, metas e indicadores SGI. */
.sgi-objective-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.sgi-objective-workspace{display:grid;grid-template-columns:minmax(280px,34%) minmax(0,1fr);gap:18px;align-items:start}.sgi-objective-list{padding:18px;display:grid;gap:18px;position:sticky;top:18px}.sgi-objective-list section{display:grid;gap:8px}.sgi-objective-list h4{margin:0;color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.sgi-objective-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;text-align:left;background:var(--surface-soft)!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:none!important}.sgi-objective-row.active{border-color:var(--primary)!important;background:var(--surface-accent)!important}.sgi-objective-row span:first-child{display:grid;gap:4px;min-width:0}.sgi-objective-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.sgi-objective-sheet,.sgi-measurement-history{padding:20px;margin-bottom:18px}.sgi-indicator-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.sgi-indicator-band>div{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);display:grid;gap:7px}.sgi-indicator-band small,.sgi-objective-meta{color:var(--muted)}.sgi-indicator-band b{font-size:1.05rem}.sgi-objective-meta{display:flex;flex-wrap:wrap;gap:8px 24px}.sgi-measurement-history article{display:grid;grid-template-columns:110px 140px minmax(0,1fr) 180px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.sgi-measurement-history article:last-child{border-bottom:0}.sgi-measurement-history article p{margin:0}.sgi-measurement-history article small{text-align:right;color:var(--muted)}
@media(max-width:1000px){.sgi-objective-workspace{grid-template-columns:1fr}.sgi-objective-list{position:static}.sgi-indicator-band{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.sgi-objective-hero{align-items:stretch;flex-direction:column}.sgi-indicator-band{grid-template-columns:1fr}.sgi-measurement-history article{grid-template-columns:1fr;gap:5px}.sgi-measurement-history article small{text-align:left}}
.sgi-risk-score{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:18px 0}.sgi-risk-score>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.sgi-risk-score small{grid-column:1/-1;color:var(--muted)}.sgi-risk-score strong{font-size:1.35rem}.risk-critico,.risk-alto{background:rgba(239,68,68,.14)!important;color:#ef6060!important}.risk-medio{background:rgba(245,158,11,.14)!important;color:#d58b00!important}.risk-bajo{background:rgba(16,185,129,.14)!important;color:#08a677!important}@media(max-width:680px){.sgi-risk-score{grid-template-columns:1fr}.sgi-risk-score>span{transform:rotate(90deg);justify-self:center}}
.bb-session-idle-shade{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(3,12,30,.76);backdrop-filter:blur(5px)}
.bb-session-idle-dialog{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;width:min(560px,100%);padding:24px;border:1px solid color-mix(in srgb,var(--primary) 52%,var(--line));border-radius:20px;background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-lg)}
.bb-session-idle-dialog h2{margin:4px 0 8px}.bb-session-idle-dialog p{margin:0;color:var(--muted);line-height:1.55}.bb-session-idle-dialog strong{color:var(--text)}
.bb-session-idle-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--primary);font-size:2rem;font-weight:900}
.bb-session-idle-dialog button{grid-column:2;justify-self:start;width:auto;margin-top:2px;padding:10px 17px}
@media(max-width:520px){.bb-session-idle-dialog{grid-template-columns:1fr;text-align:center}.bb-session-idle-icon{justify-self:center}.bb-session-idle-dialog button{grid-column:1;justify-self:stretch}}
