:root{
  --v5-line: rgba(15,23,42,.10);
  --v5-line-strong: rgba(15,23,42,.14);
  --v5-surface: linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  --v5-surface-soft: linear-gradient(180deg,#fcfdff 0%, #f4f8fd 100%);
  --v5-text: #0f172a;
  --v5-muted: #617189;
  --v5-blue: #0f4d91;
  --v5-cyan: #20a8d8;
  --v5-shadow: 0 14px 34px rgba(15,23,42,.06);
  --v5-shadow-lg: 0 20px 46px rgba(15,23,42,.08);
  --v5-radius: 22px;
  --v5-radius-sm: 16px;
  --v5-ease: cubic-bezier(.2,.8,.2,1);
}

/* 1) Iconografía unificada */
.uiIcon,
.navGroup .ico,
.moduleCard__icon,
.featureCard__icon,
.priorityItem__icon,
.shortcut__icon,
.moreDrop__icon,
.hrWorkspaceCard__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  min-width:46px;
  height:46px;
  padding:0 12px;
  background:linear-gradient(180deg, #edf5ff 0%, #e7f1ff 100%);
  border:1px solid rgba(15,77,145,.14);
  color:var(--v5-blue);
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 8px 20px rgba(15,77,145,.08);
}
.uiIcon--module{min-width:50px;height:50px;font-size:12px;}
.uiIcon--nav{min-width:44px;height:44px;padding:0 10px;font-size:11px;}
.uiIcon--lg{min-width:54px;height:54px;font-size:14px;}
.moduleCard__icon,
.priorityItem__icon,
.moreDrop__icon,
.shortcut__icon{font-size:12px !important;}

.moduleCard__icon,
.priorityItem__icon,
.shortcut__icon,
.featureCard__icon,
.hrWorkspaceCard__icon{margin-bottom:0 !important;}
.moduleCard__icon{color:#fff;border-color:rgba(255,255,255,.22);background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 14px 26px rgba(2,6,23,.18);}
.moduleCard__title{margin-top:12px;}

/* 2) Consistencia, microinteracciones y foco */
a,button,input,select,textarea,.card,.shortcut,.guidedCard,.featureCard,.moduleCard,.checkItem,.navGroup__items a,.supportLinks__item,.list__row,.miniStat,.kpiCard,.summaryMetric,.pendingCard,.statusTile,.softList__item,.table tbody tr{
  transition: border-color .22s var(--v5-ease), box-shadow .22s var(--v5-ease), transform .22s var(--v5-ease), background-color .22s var(--v5-ease), opacity .22s var(--v5-ease);
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(32,168,216,.16) !important;
  border-color: rgba(15,77,145,.32) !important;
}
.btn:hover,.btn:focus-visible{transform:translateY(-1px);}
.card:hover,.miniStat:hover,.kpiCard:hover,.summaryMetric:hover,.guidedCard:hover,.featureCard:hover,.softList__item:hover{box-shadow:var(--v5-shadow-lg) !important;}
.navGroup__items a:hover{transform:translateX(2px);}

.pageHead--contextual .pageHead__micro{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pageHead--contextual h1{max-width:18ch;}

/* 3) Dashboard y soporte más ejecutivos */
.supportMeta{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.supportMeta__item{
  display:grid;
  gap:6px;
  padding:14px 16px;
  border:1px solid var(--v5-line);
  border-radius:18px;
  background:var(--v5-surface-soft);
}
.supportMeta__item strong{font-size:13px;color:var(--v5-text);}
.supportMeta__item span{font-size:13px;line-height:1.55;color:var(--v5-muted);}

.priorityItem{
  align-items:center;
}
.priorityItem__order{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;
  background:#f3f7fb;border:1px solid var(--v5-line);font-weight:900;color:#41526a;
}
.priorityItem__body{min-width:0;}
.priorityItem__title{font-weight:900;color:var(--v5-text);}
.priorityItem__text{line-height:1.55;}

.sectionRibbon,
.tableToolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:12px 16px;
  border:1px solid var(--v5-line);
  border-radius:18px;
  background:var(--v5-surface-soft);
  box-shadow:0 10px 24px rgba(15,23,42,.03);
}
.tableToolbar{margin-bottom:14px;}
.tableToolbar__summary{color:var(--v5-muted);line-height:1.55;}
.tableToolbar__summary strong{color:var(--v5-text);}
.tableToolbar__meta{display:flex;flex-wrap:wrap;gap:8px;}

/* 4) Tablas y listados */
.tableWrap{
  border:1px solid var(--v5-line) !important;
  border-radius:20px !important;
  overflow:auto;
  background:#fff;
}
.table{
  min-width:720px;
  border-collapse:separate;
  border-spacing:0;
}
.table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(248,251,255,.96);
  backdrop-filter: blur(8px);
  color:#42526b;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:11px;
  font-weight:900;
  border-bottom:1px solid var(--v5-line-strong);
}
.table th,
.table td{padding:15px 16px !important; vertical-align:middle;}
.table tbody tr:nth-child(even){background:rgba(248,251,255,.62);}
.table tbody tr:hover{background:#f2f8ff;}
.tableTitle{font-weight:900;color:var(--v5-text);line-height:1.35;}
.tableSub{margin-top:4px;display:block;}
.table__actions{white-space:nowrap;}
.rowActions{display:flex;flex-wrap:wrap;gap:8px;}
.file__name{font-weight:900;line-height:1.35;color:var(--v5-text);}
.file__metaRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px;}
.tagRow{display:flex;gap:6px;flex-wrap:wrap;}
.formInline--search{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.formInline--search input{flex:1 1 280px;}

/* 5) Estados vacíos más agradables */
.emptyState,
.emptyState--panel,
.emptyState--inline{
  align-items:flex-start;
  gap:14px;
  padding:22px !important;
  background:linear-gradient(180deg,#fbfdff 0%, #f4f8fd 100%) !important;
  border:1px dashed rgba(15,77,145,.18) !important;
}
.emptyState__title{font-weight:900;color:var(--v5-text);line-height:1.35;}
.emptyState__text{line-height:1.6;max-width:58ch;}

/* 6) Módulos y consistencia visual */
.moduleGrid{gap:18px !important;}
.moduleCard{
  min-height:220px !important;
  padding:20px !important;
}
.moduleCard__title{font-size:1.1rem !important;letter-spacing:-.02em;}
.moduleCard__desc{line-height:1.55 !important;max-width:38ch;}
.moduleCard__cta{margin-top:16px !important;}
.featureCard,
.guidedCard,
.pendingCard,
.shortcut,
.hrWorkspaceCard,
.softList__item,
.requestWorkbench__item{
  background:var(--v5-surface) !important;
}
.featureCard__icon{margin-bottom:12px;}
.shortcut{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;}
.shortcut__title{font-weight:900;color:var(--v5-text);}
.shortcut__sub{margin-top:4px;color:var(--v5-muted);line-height:1.55;}
.shortcut__go{font-weight:800;color:var(--v5-blue);}
.checkItem{padding:14px 16px !important;}
.checkItem__icon{font-weight:900;}
.requestWorkbench{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;}
.requestWorkbench__item strong{display:block;margin-bottom:8px;color:var(--v5-text);}

/* 7) Topbar y buscador más potentes */
.search{
  position:relative;
}
.search input{
  border-radius:16px !important;
  min-height:52px;
  padding-left:18px !important;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%) !important;
  border:1px solid var(--v5-line) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.searchShortcut{
  border-radius:999px !important;
  font-weight:800 !important;
}
.cmdk__panel{overflow:hidden;}
.cmdkItem{padding:12px 14px !important;}
.cmdkTitle{font-weight:900;color:var(--v5-text);}
.cmdkDesc{line-height:1.5;}
.cmdkMeta{font-weight:800;background:#f6f9fc;}

/* 8) Móvil final */
@media (max-width:1180px){
  .supportMeta{grid-template-columns:1fr;}
  .requestWorkbench{grid-template-columns:1fr;}
}
@media (max-width:1024px){
  .pageHead__actions{width:100%;display:flex;flex-wrap:wrap;gap:10px;}
  .pageHead__actions .btn{flex:1 1 180px;justify-content:center;}
  .tableToolbar{padding:12px 14px;}
  .moduleCard{min-height:190px !important;}
}
@media (max-width:760px){
  .pageHead--contextual h1{max-width:none;}
  .miniStats,.kpiGrid,.summaryGrid,.statusTiles,.featureGrid,.guidedGrid,.pendingBoard,.homeContextGrid,.homeBottomGrid{grid-template-columns:1fr !important;}
  .shortcut{grid-template-columns:1fr;align-items:flex-start;}
  .shortcut__go{padding-left:60px;}
  .table{min-width:620px;}
  .search input{min-height:48px;}
  .searchShortcut{display:none !important;}
  .pageHead__micro{width:100%;}
  .pageHead__micro .tag{max-width:100%;}
  .topbar__right{gap:8px;}
}

/* 9) Ayuda y soporte más útil */
.supportLinks{display:grid;gap:10px;}
.supportLinks__item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;border-radius:16px;background:var(--v5-surface-soft);
  border:1px solid var(--v5-line);text-decoration:none;color:var(--v5-text);
}
.supportLinks__item:hover{transform:translateX(2px);box-shadow:var(--v5-shadow);}
.supportCard .card__head{margin-bottom:12px;}

/* formularios */
.form label span{display:block;margin-bottom:8px;font-weight:800;color:#42526b;}
.form input,.form textarea,.form select,
.authForm input,.authForm textarea,.authForm select{
  min-height:48px;
  border-radius:16px !important;
  border:1px solid var(--v5-line) !important;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%) !important;
}
textarea{min-height:110px;}

/* sidebar polish */
.sidebarCompany,
.sidebarFooter__profile,
.sidebarFooter__logout{
  box-shadow:0 10px 24px rgba(2,6,23,.10);
}
.navGroup__title{letter-spacing:.03em;}

/* HR workspace tighter consistency */
.hrWorkspaceCard__title{font-size:20px !important;}
.hrWorkspaceCard__desc{line-height:1.55 !important;}

/* profile */
.panel{border:1px solid var(--v5-line);border-radius:18px;background:var(--v5-surface-soft);}
