/* Portal EMS — clear only (v1) */
:root,
html[data-theme="light"],
body[data-theme="light"]{
  color-scheme: light !important;
}

:root,
html,
body,
body[data-theme],
html[data-theme]{
  --bg: #f5f7fb !important;
  --bg-elev: rgba(255,255,255,.88) !important;
  --card: #ffffff !important;
  --card-border: rgba(15,23,42,.09) !important;
  --text: #0f172a !important;
  --muted: rgba(15,23,42,.60) !important;
  --link: #00509e !important;
  --topbar: rgba(255,255,255,.92) !important;
  --topbar-border: rgba(15,23,42,.08) !important;
  --topbar-text: #0f172a !important;
  --topbar-muted: rgba(15,23,42,.56) !important;
  --hero-a: #0c5ca8 !important;
  --hero-b: #003366 !important;
  --hero-text: rgba(255,255,255,.96) !important;
  --hero-muted: rgba(255,255,255,.82) !important;
}

body{
  background: linear-gradient(180deg, #f7f9fc 0%, #eef4fb 100%) !important;
}

.topbar{
  backdrop-filter: saturate(1.15) blur(10px);
  box-shadow: 0 10px 28px rgba(15,23,42,.06);
}

.topbar__right{
  gap: 10px !important;
}

.search input,
.company select,
.profileMenu,
.notifPanel,
.cmdk__panel,
.modulesDrop,
.moreDrop__panel{
  box-shadow: 0 18px 40px rgba(15,23,42,.08) !important;
}

.main{
  max-width: 1280px;
}

.card, .panel, .table-wrap, .widget, .tableWrap, .statusCard, .statCard, .procCard, .metricCard, .miniPanel, .box, .formCard{
  box-shadow: 0 14px 32px rgba(15,23,42,.05) !important;
}

.auth{
  background: linear-gradient(180deg, #f4f7fb 0%, #edf3fb 100%) !important;
}
body.auth{
  --bg-photo-opacity: .18 !important;
}
.authCard{
  color: #0f172a !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,251,255,.98)) !important;
  box-shadow: 0 26px 70px rgba(15,23,42,.10) !important;
}
.authCover{
  border-color: rgba(15,23,42,.08) !important;
  background:
    linear-gradient(165deg, rgba(255,255,255,.24), rgba(255,255,255,.08)),
    url("../img/bg_login_ems.png") center/cover !important;
  box-shadow: 0 16px 32px rgba(15,23,42,.08) !important;
}
.authBrand__sub,
.authCard .muted,
.authFooter{
  color: rgba(15,23,42,.62) !important;
}
.authFooter .link{
  color: #00509e !important;
}
.authCard input, .authCard textarea, .authCard select{
  background: rgba(15,23,42,.03) !important;
  border-color: rgba(15,23,42,.10) !important;
  color: #0f172a !important;
}
.authCard input::placeholder{
  color: rgba(15,23,42,.42) !important;
}
.authCard .hint{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,80,158,.05);
  border: 1px solid rgba(0,80,158,.10);
  color: rgba(15,23,42,.70);
}

.public-shell{
  min-height: 100vh;
  background: linear-gradient(180deg, #f7f9fc 0%, #eef4fb 100%) !important;
}

.sidebar{
  box-shadow: 0 20px 46px rgba(0,21,51,.22) !important;
}
.sidebar .navGroup__title{
  letter-spacing: .01em;
}

.homeHero, .hero, .pageHero{
  box-shadow: 0 18px 42px rgba(0,51,102,.16) !important;
}

.table th, .table td{
  vertical-align: middle;
}


/* Portal EMS — V6 visual consistency */
:root, html, body{
  --radius-xl: 22px;
  --radius-lg: 18px;
  --radius-md: 14px;
  --surface-soft: #f8fbff;
  --surface-accent: #eef6ff;
  --line-soft: rgba(15,23,42,.08);
  --line-strong: rgba(15,23,42,.12);
  --shadow-soft: 0 14px 36px rgba(15,23,42,.06);
  --shadow-hover: 0 20px 40px rgba(15,23,42,.08);
  --status-open-bg: rgba(37,99,235,.08);
  --status-open-bd: rgba(37,99,235,.18);
  --status-open-tx: #1e40af;
  --status-wait-bg: rgba(245,158,11,.10);
  --status-wait-bd: rgba(245,158,11,.20);
  --status-wait-tx: #92400e;
  --status-ok-bg: rgba(22,163,74,.10);
  --status-ok-bd: rgba(22,163,74,.18);
  --status-ok-tx: #166534;
  --status-low-bg: rgba(148,163,184,.12);
  --status-low-bd: rgba(148,163,184,.18);
  --status-low-tx: #334155;
}

body{
  font-size: 15px;
  line-height: 1.45;
}

.main{
  max-width: 1360px;
  padding-inline: 26px;
}

.card, .panel, .table-wrap, .widget, .tableWrap, .statusCard, .statCard, .procCard, .metricCard, .miniPanel, .box, .formCard{
  border-radius: var(--radius-xl) !important;
  border-color: var(--line-soft) !important;
  box-shadow: var(--shadow-soft) !important;
}

.card__head, .pageHead{
  margin-bottom: 18px !important;
}

.card__head h2,
.pageHead h1{
  letter-spacing: -.02em;
}

.pageHead h1{
  font-size: clamp(1.7rem, 2vw, 2.1rem) !important;
}

.pageHead p, .card__head p, .miniStat__meta, .tableSub, .softList__text, .featureCard__text, .featureLine__text{
  color: rgba(15,23,42,.60) !important;
}

.btn{
  min-height: 42px;
  border-radius: 13px !important;
  padding: 10px 14px !important;
  font-weight: 750 !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset;
}
.btn--sm{
  min-height: 36px;
  padding: 8px 12px !important;
}
.btn--ghost{
  background: rgba(255,255,255,.84) !important;
}
.btn--ghost:hover{
  background: #fff !important;
}

.hero, .homeHero, .pageHero{
  border-radius: 26px !important;
}
.hero__eyebrow{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.heroQuickActions .btn{
  min-width: 148px;
  justify-content: center;
}

.topbar{
  min-height: 72px;
}
.search input{
  height: 42px;
  border-radius: 13px !important;
}
.company select, .profileBtn, .iconbtn{
  min-height: 42px;
  border-radius: 13px !important;
}
.iconbtn .icon{
  font-size: 15px;
}

.sidebar{
  border-radius: 22px !important;
  padding: 16px 12px !important;
}
.sidebarCompany{
  margin: 2px 4px 16px;
  padding: 14px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}
.sidebarCompany__label{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .8;
}
.sidebarCompany__name{
  font-weight: 800;
  margin-top: 4px;
}
.sidebarCompany__meta{
  font-size: 12px;
  line-height: 1.45;
  margin-top: 6px;
  opacity: .82;
}
.sidebar .navGroup{
  margin-bottom: 10px;
}
.sidebar .navGroup__title{
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.sidebar .nav a{
  min-height: 50px;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  gap: 12px !important;
}
.sidebar .nav a .ico{
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255,255,255,.90);
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.10);
}
.sidebar .nav a.active .ico{
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.22);
}
.sidebar .nav a .label{
  font-size: 14px;
  font-weight: 760;
}
.sidebar .nav a .sub{
  font-size: 12px;
  line-height: 1.35;
  opacity: .78;
}

.kpiCard, .miniStat{
  position: relative;
  overflow: hidden;
}
.kpiCard::before, .miniStat::before{
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(0,80,158,.95), rgba(0,165,207,.72));
  opacity: .85;
}
.kpiCard--warn::before, .miniStat--warn::before{
  background: linear-gradient(90deg, rgba(245,158,11,.95), rgba(251,191,36,.7));
}
.miniStat--soft::before{
  background: linear-gradient(90deg, rgba(0,80,158,.65), rgba(56,189,248,.45));
}
.kpiCard__label, .miniStat__label{
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
}
.kpiCard__value, .miniStat__value{
  letter-spacing: -.03em;
}

.priorityItem, .procRow, .featureCard, .hrCard, .chatMsg, .softList__item{
  border-radius: 18px !important;
}
.priorityItem, .procRow{
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(249,251,255,.92)) !important;
  border-color: var(--line-soft) !important;
}
.priorityItem__icon, .featureLine__icon, .featureCard__icon, .file__icon, .dropzone__icon, .emptyState__icon{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--surface-accent);
  border: 1px solid rgba(0,80,158,.10);
  color: #0b4d90;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}
.file__icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
}
.emptyState__icon{
  width: 54px;
  height: 54px;
  font-size: 18px;
}
.featureCard__icon{
  font-size: 18px;
  margin-bottom: 14px;
}
.featureLine__icon{
  flex: 0 0 42px;
}

.tableWrap{
  border-radius: 18px !important;
  border-color: var(--line-soft) !important;
  background: #fff !important;
}
.table{
  background: #fff !important;
  min-width: 760px;
}
.table thead th{
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fbff !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  color: rgba(15,23,42,.56) !important;
  font-weight: 800 !important;
}
.table tbody tr:nth-child(even) td{
  background: rgba(248,251,255,.62);
}
.table tr:hover td{
  background: rgba(232,243,255,.86) !important;
}
.table td{
  border-bottom-color: rgba(15,23,42,.06) !important;
}
.rowActions{
  gap: 6px !important;
}
.rowActions .btn{
  min-width: 84px;
  justify-content: center;
}
.tableTitle{
  font-weight: 760 !important;
}

.pill, .tag, .badge{
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  padding: 6px 10px !important;
}
.pill{
  background: rgba(15,23,42,.04) !important;
  border-color: rgba(15,23,42,.08) !important;
  color: #334155 !important;
}
.pill--ok{
  background: var(--status-ok-bg) !important;
  border-color: var(--status-ok-bd) !important;
  color: var(--status-ok-tx) !important;
}
.pill--warn{
  background: var(--status-wait-bg) !important;
  border-color: var(--status-wait-bd) !important;
  color: var(--status-wait-tx) !important;
}
.tag--soft{
  background: rgba(15,23,42,.04) !important;
  border-color: rgba(15,23,42,.08) !important;
  color: #334155 !important;
}
.tag--priority-high{
  background: rgba(239,68,68,.09) !important;
  border-color: rgba(239,68,68,.18) !important;
  color: #991b1b !important;
}
.tag--priority-normal{
  background: var(--status-open-bg) !important;
  border-color: var(--status-open-bd) !important;
  color: var(--status-open-tx) !important;
}
.tag--priority-low{
  background: var(--status-low-bg) !important;
  border-color: var(--status-low-bd) !important;
  color: var(--status-low-tx) !important;
}

.tabs{
  gap: 8px !important;
}
.tab{
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(15,23,42,.08) !important;
  padding: 11px 15px !important;
}
.tab--active{
  background: var(--surface-accent) !important;
  border-color: rgba(0,80,158,.18) !important;
  box-shadow: none !important;
}

input, textarea, select{
  background: #fff !important;
  border-color: rgba(15,23,42,.10) !important;
  min-height: 44px;
}
textarea{
  min-height: 118px;
}
input:focus, textarea:focus, select:focus{
  border-color: rgba(0,80,158,.34) !important;
  box-shadow: 0 0 0 4px rgba(0,80,158,.09) !important;
}
.dropzone{
  border-style: solid !important;
  border-color: rgba(0,80,158,.14) !important;
  background: linear-gradient(180deg, #f8fbff, #f2f8ff) !important;
  border-radius: 18px !important;
  padding: 18px !important;
}
.dropzone__title{
  font-weight: 760;
}

.infoNote{
  border-style: solid !important;
  border-color: rgba(0,80,158,.12) !important;
  background: linear-gradient(180deg, #f8fbff, #f2f8ff) !important;
}
.chatMsg{
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
}
.kv__row{
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(15,23,42,.06) !important;
}
.kv__row:last-child{
  border-bottom: 0 !important;
}
.kv__k{
  font-weight: 700;
  color: rgba(15,23,42,.58);
}
.kv__v{
  color: #0f172a;
}

@media (max-width: 920px){
  .main{ padding-inline: 18px; }
  .portalSplit{ grid-template-columns: 1fr; }
  .featureGrid--4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 640px){
  .main{ padding-inline: 14px; }
  .kpiCard, .miniStat{ padding: 14px 15px !important; }
  .featureGrid--4{ grid-template-columns: 1fr; }
  .table{ min-width: 680px; }
  .sidebar .nav a .sub{ display: none; }
}


/* ===== V7 — palette refinement + visible logout ===== */
:root,
html,
body,
body[data-theme],
html[data-theme]{
  --bg: #f4f8fc !important;
  --bg-elev: rgba(255,255,255,.92) !important;
  --card: #ffffff !important;
  --card-border: rgba(15,23,42,.08) !important;
  --text: #0f172a !important;
  --muted: rgba(15,23,42,.62) !important;
  --link: #0a5aa8 !important;
  --topbar: rgba(255,255,255,.95) !important;
  --topbar-border: rgba(15,23,42,.07) !important;
  --topbar-text: #10213b !important;
  --topbar-muted: rgba(16,33,59,.58) !important;
  --hero-a: #0b5aa5 !important;
  --hero-b: #0b396f !important;
  --hero-text: rgba(255,255,255,.97) !important;
  --hero-muted: rgba(255,255,255,.84) !important;
}

body{
  background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 56%, #eaf2fb 100%) !important;
}

.topbar{
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid rgba(15,23,42,.07) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.05) !important;
}
.topbar__right{
  gap: 10px !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}
.topbar .search input,
.topbar .company select,
.topbar .profileBtn,
.topbar .iconbtn{
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.04) !important;
}
.topbar .search input::placeholder{
  color: rgba(16,33,59,.42) !important;
}
.profileMenuWrap{
  flex: 0 0 auto;
}
.profileBtn{
  gap: 10px !important;
  padding-inline: 12px !important;
}
.profileBtn__name{
  max-width: 132px !important;
}
.profileBtn__caret{
  font-size: 11px;
  opacity: .58;
  margin-left: 2px;
}
.profileMenu{
  top: calc(100% + 10px) !important;
  right: 0 !important;
  z-index: 140 !important;
  width: 300px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(15,23,42,.09) !important;
  box-shadow: 0 24px 50px rgba(15,23,42,.12) !important;
}
.profileMenu__head{
  background: linear-gradient(180deg, rgba(239,246,255,.96), rgba(255,255,255,.96)) !important;
}
.profileMenu__title{ color: #0f172a !important; }
.profileMenu__sub{ color: rgba(15,23,42,.62) !important; }
.profileMenu__link{ color: #10213b !important; }
.profileMenu__logout{
  color: #b42318 !important;
  font-weight: 800 !important;
}

.sidebar{
  background: linear-gradient(180deg, #0b4279 0%, #083662 100%) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 24px 48px rgba(0,27,61,.20) !important;
}
.sidebarCompany{
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.07)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.sidebar .navGroup__title{
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.76) !important;
}
.sidebar .nav a{
  background: rgba(255,255,255,.03) !important;
}
.sidebar .nav a:hover{
  background: rgba(255,255,255,.08) !important;
}
.sidebar .nav a.active{
  background: linear-gradient(180deg, rgba(0,165,207,.16), rgba(0,80,158,.22)) !important;
  border-color: rgba(111,208,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 8px 18px rgba(0,0,0,.10) !important;
}
.sidebar .nav a.active .ico{
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.14) !important;
}

.hero,
.homeHero,
.pageHero{
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: 0 18px 42px rgba(0,51,102,.14) !important;
}
.hero__bg,
.hero__bg--blur{
  background:
    linear-gradient(135deg, rgba(7,53,99,.93), rgba(10,91,168,.88)) !important,
    radial-gradient(820px 420px at 15% 10%, rgba(117,231,255,.24), transparent 56%) !important,
    radial-gradient(720px 360px at 86% 74%, rgba(255,255,255,.10), transparent 52%) !important,
    url('../img/bg_portal_blur.jpg') center/cover !important;
}
.hero__wm{
  opacity: .08 !important;
}
.heroQuickActions .btn--primary{
  background: linear-gradient(180deg, #1b95f5, #0b79dd) !important;
  border-color: rgba(255,255,255,.24) !important;
}
.heroQuickActions .btn--ghost{
  background: rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.96) !important;
  border-color: rgba(255,255,255,.16) !important;
}
.heroQuickActions .btn--ghost:hover{
  background: rgba(255,255,255,.18) !important;
}

.kpiCard{
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}
.kpiCard--warn{
  background: linear-gradient(180deg, #fffaf2 0%, #ffffff 100%) !important;
}
.kpiCard::before, .miniStat::before{
  background: linear-gradient(90deg, rgba(11,121,221,.95), rgba(0,165,207,.72)) !important;
}
.kpiCard--warn::before, .miniStat--warn::before{
  background: linear-gradient(90deg, rgba(245,158,11,.95), rgba(250,204,21,.72)) !important;
}

.table thead th{
  background: linear-gradient(180deg, #f8fbff, #f3f8ff) !important;
}
.table tbody tr:nth-child(even) td{
  background: rgba(247,250,255,.82) !important;
}
.table tr:hover td{
  background: rgba(236,245,255,.94) !important;
}
.pill--ok{
  background: rgba(22,163,74,.10) !important;
  border-color: rgba(22,163,74,.18) !important;
  color: #166534 !important;
}
.pill--warn{
  background: rgba(245,158,11,.12) !important;
  border-color: rgba(245,158,11,.22) !important;
  color: #9a5b00 !important;
}
.tag--priority-high{
  background: rgba(239,68,68,.10) !important;
  border-color: rgba(239,68,68,.18) !important;
  color: #991b1b !important;
}
.tag--priority-normal{
  background: rgba(11,121,221,.10) !important;
  border-color: rgba(11,121,221,.18) !important;
  color: #0f4d92 !important;
}

.callout--ok,
.infoNote,
.dropzone{
  box-shadow: 0 10px 22px rgba(15,23,42,.04) !important;
}

.sidebarFooter{
  margin-top: auto;
  padding: 14px 4px 2px;
  display: grid;
  gap: 10px;
}
.sidebarFooter__profile{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  text-decoration: none;
  color: rgba(255,255,255,.94);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
}
.sidebarFooter__profile:hover{
  background: rgba(255,255,255,.10);
}
.sidebarFooter__avatar{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #082d57;
  background: linear-gradient(180deg, #d7f0ff, #bfe8ff);
}
.sidebarFooter__meta{
  display: grid;
  min-width: 0;
}
.sidebarFooter__name{
  font-weight: 800;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebarFooter__sub{
  font-size: 11px;
  opacity: .76;
}
.sidebarFooter__logoutForm{ margin: 0; }
.sidebarFooter__logout{
  width: 100%;
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.sidebarFooter__logout:hover{
  background: rgba(255,255,255,.11);
}

@media (max-width: 1100px){
  .profileBtn__name{
    max-width: 92px !important;
  }
}
@media (max-width: 900px){
  .sidebarFooter{
    padding-bottom: 10px;
  }
}


/* ===== V8 — microdetalles premium + comodidad ===== */
:root,html,body,body[data-theme],html[data-theme]{
  --bg: #f6f9fd !important;
  --surface-accent: #eef6ff !important;
  --surface-soft: #f8fbff !important;
  --link: #0a5fad !important;
}

body{
  background: linear-gradient(180deg, #f9fbff 0%, #f1f6fc 58%, #ecf3fb 100%) !important;
}

body::after{
  background:
    radial-gradient(1040px 620px at 0% 0%, rgba(0,165,207,.07), transparent 54%),
    radial-gradient(920px 520px at 100% 10%, rgba(0,80,158,.08), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.28) 48%, rgba(226,236,248,.48) 100%) !important;
}

.shell{
  gap: 12px !important;
  padding-right: 12px !important;
}

.main{
  max-width: 1400px !important;
  padding-top: 82px !important;
}

.topbar{
  min-height: 70px !important;
  padding-inline: 22px !important;
}
.topbar__left{
  gap: 12px !important;
}
.topbar__right{
  gap: 8px !important;
}
.brand{
  gap: 12px !important;
}
.brand__logo{
  width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(0,80,158,.08), rgba(0,80,158,.02)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
}
.brand__name{
  font-size: 1.02rem;
  letter-spacing: -.01em;
}
.topbar .search input{
  width: min(680px, 42vw) !important;
  padding-inline: 16px !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.topbar .search input:focus{
  transform: translateY(-1px);
}
.topbar .company select{
  min-width: 220px !important;
  max-width: 260px !important;
  padding-inline: 14px !important;
}
.topbar .iconbtn,
.topbar .profileBtn,
.topbar .company select,
.topbar .search input{
  border-radius: 14px !important;
}
.iconbtn{
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.iconbtn:hover,
.profileBtn:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(15,23,42,.06) !important;
}
.profileBtn{
  min-width: 92px;
}
.profileBtn .avatar{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.profileBtn__name{
  max-width: 96px !important;
  letter-spacing: -.01em;
}
.profileMenu{
  border-radius: 18px !important;
  overflow: hidden !important;
}
.profileMenu__link{
  min-height: 42px;
  font-weight: 650;
}
.profileMenu__link:hover{
  transform: translateX(1px);
}

.sidebar{
  display: grid !important;
  grid-template-rows: auto auto minmax(0,1fr) auto !important;
  margin: 12px 0 12px 12px !important;
  padding: 14px 12px 12px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #0b447c 0%, #08355f 58%, #072b4d 100%) !important;
}
.sidebar__head{
  margin-bottom: 8px !important;
}
.sidebar__title{
  gap: 10px !important;
  font-size: 1.02rem;
  letter-spacing: -.01em;
}
.sidebar__brandMark{
  width: 18px;
  height: 18px;
  display: block;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.18));
}
.sidebarCompany{
  border-radius: 18px !important;
  padding: 15px 14px !important;
}
.sidebar .nav{
  min-height: 0;
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.24) transparent;
}
.sidebar .nav::-webkit-scrollbar{ width: 6px; }
.sidebar .nav::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.18);
  border-radius: 999px;
}
.sidebar .navGroup{
  margin-bottom: 12px !important;
}
.sidebar .navGroup__title{
  position: relative;
  padding-left: 14px !important;
}
.sidebar .navGroup__title::before{
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  width: 3px;
  height: 14px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: rgba(137,223,255,.7);
}
.sidebar .nav a{
  position: relative;
  min-height: 52px !important;
  transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.sidebar .nav a::before{
  content: '';
  position: absolute;
  left: -2px;
  top: 50%;
  width: 3px;
  height: 0;
  transform: translateY(-50%);
  border-radius: 999px;
  background: #8fe3ff;
  transition: height .18s ease;
}
.sidebar .nav a:hover{
  transform: translateX(2px);
}
.sidebar .nav a:hover::before,
.sidebar .nav a.active::before{
  height: 24px;
}
.sidebar .nav a .ico{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 8px 18px rgba(0,0,0,.10);
}
.sidebar .nav a .label{
  letter-spacing: -.01em;
}
.sidebar .nav a .sub{
  opacity: .72 !important;
}
.sidebarFooter{
  position: sticky;
  bottom: 0;
  margin: 10px -2px -2px !important;
  padding: 12px 2px 2px !important;
  background: linear-gradient(180deg, rgba(7,43,77,.02), rgba(7,43,77,.36) 26%, rgba(7,43,77,.86) 100%);
  border-top: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(6px);
}
.sidebarFooter__profile,
.sidebarFooter__logout{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .14s ease, background .14s ease, box-shadow .14s ease;
}
.sidebarFooter__profile:hover,
.sidebarFooter__logout:hover{
  transform: translateY(-1px);
}

.hero,
.homeHero,
.pageHero{
  border-radius: 28px !important;
  overflow: hidden;
}
.hero__bg,
.hero__bg--blur{
  background:
    linear-gradient(135deg, rgba(8,51,97,.96), rgba(11,90,165,.90)) !important,
    radial-gradient(760px 380px at 16% 14%, rgba(143,227,255,.22), transparent 56%) !important,
    radial-gradient(720px 340px at 86% 72%, rgba(255,255,255,.10), transparent 52%) !important,
    url('../img/bg_portal_blur.jpg') center/cover !important;
}
.dashboardHero__content h1{
  max-width: 900px;
  letter-spacing: -.035em !important;
  line-height: .96 !important;
}
.dashboardHero__content h1 span{
  opacity: .95;
}
.hero__eyebrow{
  padding: 8px 12px !important;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  display: inline-flex;
  width: fit-content;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
}
.heroQuickActions{
  gap: 10px !important;
}
.heroQuickActions .btn{
  min-width: 156px !important;
  min-height: 44px !important;
  box-shadow: 0 14px 26px rgba(0,0,0,.12);
}
.heroQuickActions .btn--primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(4,72,131,.26) !important;
}

.card, .kpiCard, .priorityItem, .procRow, .tableWrap, .dropzone, .infoNote, .chatMsg{
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.kpiGrid{
  gap: 16px !important;
}
.kpiCard{
  border: 1px solid rgba(15,23,42,.07) !important;
  box-shadow: 0 18px 32px rgba(15,23,42,.045) !important;
}
.kpiCard:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 36px rgba(15,23,42,.06) !important;
}
.kpiCard__label{
  color: rgba(15,23,42,.54) !important;
}
.kpiCard__value{
  line-height: .95 !important;
}
.priorityItem:hover,
.procRow:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(15,23,42,.05) !important;
}
.procRow.is-active{
  border-color: rgba(10,95,173,.20) !important;
  box-shadow: 0 16px 32px rgba(10,95,173,.08) !important;
}
.procRow__title,
.priorityItem__title{
  letter-spacing: -.01em;
}
.timeline__step{
  border-radius: 16px !important;
}
.timeline__step.is-active{
  box-shadow: 0 12px 22px rgba(10,95,173,.08);
}

.tableWrap{
  border-radius: 20px !important;
  overflow: hidden;
}
.table thead th{
  letter-spacing: .04em;
}
.table tbody tr{
  transition: background .14s ease;
}
.rowActions .btn{
  min-width: 92px !important;
}

.btn{
  letter-spacing: -.01em;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.btn:hover{
  transform: translateY(-1px);
}
.btn--primary{
  box-shadow: 0 14px 26px rgba(10,95,173,.18) !important;
}
.btn--ghost{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.94)) !important;
}
.btn--ghost:hover{
  box-shadow: 0 12px 22px rgba(15,23,42,.06) !important;
}

.dropzone,
.infoNote,
.callout--ok{
  border-radius: 20px !important;
}

@media (max-width: 1280px){
  .topbar .search input{ width: min(520px, 34vw) !important; }
  .topbar .company select{ min-width: 190px !important; max-width: 220px !important; }
  .profileBtn__name{ max-width: 72px !important; }
}
@media (max-width: 1024px){
  .main{ max-width: 100% !important; }
  .topbar{ padding-inline: 16px !important; }
}
@media (max-width: 900px){
  .shell{ padding-right: 0 !important; }
  .main{ padding-top: 80px !important; }
}
@media (max-width: 640px){
  .dashboardHero__content h1{ line-height: 1.02 !important; }
  .heroQuickActions .btn{ min-width: 100% !important; }
}

/* ===== V9 — pulido por pantallas: dashboard, documentos y solicitudes ===== */
.heroInlineStats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.heroInlineStats__item{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  backdrop-filter:blur(6px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.heroInlineStats__label{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}
.heroInlineStats__item strong{
  display:block;
  color:#fff;
  font-size:1.5rem;
  line-height:1;
  letter-spacing:-.03em;
}
.heroInlineStats__meta{
  display:block;
  color:rgba(255,255,255,.82);
  margin-top:6px;
  font-size:13px;
}
.dashboardShell--v9{ gap:18px !important; }
.priorityList--v9{ gap:12px !important; }
.priorityItem--v9{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:16px 18px !important;
}
.priorityItem__order{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(10,95,173,.10);
  color:#0a5fad;
  font-weight:800;
  font-size:12px;
}
.processLegend{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 16px;
}
.processLegend__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border-radius:999px;
  background:#f8fbff;
  border:1px solid rgba(15,23,42,.07);
  color:rgba(15,23,42,.70);
  font-size:12px;
  font-weight:700;
}
.processLegend__item i{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#22c55e;
  display:block;
}
.processLegend__item--warn i{ background:#f59e0b; }
.processLegend__item--soft i{ background:#0a5fad; }
.procHeaderCard{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:18px 18px 16px;
  border-radius:20px;
  border:1px solid rgba(15,23,42,.07);
  background:linear-gradient(180deg, #fbfdff 0%, #f3f8ff 100%);
  margin-bottom:16px;
}
.procHeaderCard__eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(15,23,42,.56);
  margin-bottom:6px;
}
.procHeaderCard__title{
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.procHeaderCard__stats{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.missing--v9{
  padding:18px !important;
  border-radius:20px !important;
}
.missing__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.missing__intro{ margin-top:4px; }
.missingChecklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.missingChecklist__item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(15,23,42,.07);
  font-weight:700;
  color:#0f172a;
}
.auditList--v9 li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.auditList--v9 li:last-child{ border-bottom:0; }
.table--dashboardCompact{ min-width:100% !important; }

.folderBanner{
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap:18px;
  padding:20px 22px;
  margin:0 0 16px;
  border-radius:22px;
  border:1px solid rgba(15,23,42,.07);
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow:0 14px 32px rgba(15,23,42,.05);
}
.folderBanner__eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(15,23,42,.56);
  margin-bottom:6px;
}
.folderBanner h2{
  margin:0;
  font-size:1.5rem;
  letter-spacing:-.03em;
}
.folderBanner p{ max-width:720px; margin:10px 0 0; }
.folderBanner__meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(140px,1fr));
  gap:12px;
  min-width:min(360px,100%);
}
.folderBanner__item{
  padding:14px 16px;
  border-radius:18px;
  background:#f8fbff;
  border:1px solid rgba(15,23,42,.07);
}
.folderBanner__item span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(15,23,42,.54);
  margin-bottom:8px;
}
.folderBanner__item strong{
  display:block;
  font-size:.98rem;
  line-height:1.35;
}
.sectionRibbon{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
}
.sectionRibbon span{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.07);
  background:#f8fbff;
  color:rgba(15,23,42,.72);
  font-size:12px;
  font-weight:700;
}
.tableWrap--documents{ box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
.table--documentsV9 td:first-child{ min-width:300px; }
.file--v9{ display:flex; gap:12px; align-items:flex-start; }
.file__metaRow{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:6px 0 4px;
}
.rowActions--tight{
  gap:6px !important;
  flex-wrap:wrap;
}
.uploadPanelV9 .card__head{ align-items:flex-start; }
.checkSteps{ display:grid; gap:12px; }
.checkSteps__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.07);
  background:#fbfdff;
}
.checkSteps__item span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(10,95,173,.10);
  color:#0a5fad;
  font-weight:800;
  font-size:12px;
}
.checkSteps__item b{ display:block; margin-bottom:4px; }
.checkSteps__item small{ display:block; color:rgba(15,23,42,.60); line-height:1.45; }
.infoNote--v9{ box-shadow:0 12px 28px rgba(10,95,173,.06) !important; }

.requestWorkbench{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 18px;
}
.requestWorkbench__item{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.07);
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow:0 12px 26px rgba(15,23,42,.04);
}
.requestWorkbench__item strong{
  display:block;
  font-size:.98rem;
  margin-bottom:6px;
  letter-spacing:-.01em;
}
.requestWorkbench__item p{ margin:0; }
.featureCard--v9{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  border:1px solid rgba(15,23,42,.07) !important;
}
.tableWrap--ticketsV9 .table td:first-child a{ font-weight:800; }
.composeHint{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
}
.composeHint span{
  padding:8px 12px;
  border-radius:999px;
  background:#f8fbff;
  border:1px solid rgba(15,23,42,.07);
  color:rgba(15,23,42,.72);
  font-size:12px;
  font-weight:700;
}
.formGrid{
  display:grid;
  gap:14px;
}
.formGrid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.formNote{
  padding:13px 14px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.07);
  background:#f8fbff;
  color:rgba(15,23,42,.78);
  line-height:1.5;
}
.formNote--soft{ align-self:stretch; display:flex; align-items:center; }
.ticketJourney{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}
.ticketJourney__step{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.07);
  background:#fff;
  color:rgba(15,23,42,.62);
  font-weight:700;
}
.ticketJourney__step.is-active{
  background:linear-gradient(180deg, #f3f8ff 0%, #ffffff 100%);
  border-color:rgba(10,95,173,.18);
  color:#0f172a;
  box-shadow:0 14px 30px rgba(10,95,173,.07);
}
.ticketJourney__step.is-done{
  background:#f8fbff;
  color:#0f172a;
}
.ticketJourney__dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:rgba(148,163,184,.55);
  box-shadow:0 0 0 4px rgba(148,163,184,.12);
}
.ticketJourney__step.is-active .ticketJourney__dot,
.ticketJourney__step.is-done .ticketJourney__dot{
  background:#0a5fad;
  box-shadow:0 0 0 4px rgba(10,95,173,.12);
}
.chat--v9{ display:grid; gap:12px; }
.chatMsg--v9{ padding:16px 17px !important; }
.formReplyV9{ margin-top:4px; }

@media (max-width: 1180px){
  .heroInlineStats,
  .requestWorkbench,
  .ticketJourney,
  .missingChecklist{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .folderBanner{ flex-direction:column; }
  .folderBanner__meta{ min-width:0; }
}
@media (max-width: 760px){
  .priorityItem--v9{ grid-template-columns:auto auto minmax(0,1fr); }
  .priorityItem--v9 .btn{ grid-column:1 / -1; }
  .heroInlineStats,
  .requestWorkbench,
  .ticketJourney,
  .missingChecklist,
  .formGrid--2{ grid-template-columns:1fr; }
  .procHeaderCard{ flex-direction:column; }
  .folderBanner__meta{ grid-template-columns:1fr; }
}


/* ===== V10 — tablas, formularios e iconografía premium ===== */
:root, html, body{
  --field-radius: 16px;
  --field-pad-x: 14px;
  --field-pad-y: 11px;
  --table-head-bg: linear-gradient(180deg, #fbfdff 0%, #f4f8fd 100%);
  --table-row-hover: #eef6ff;
  --table-zebra: rgba(246,250,255,.78);
  --ink-soft: rgba(15,23,42,.72);
}

.iconSvg{
  width: 18px;
  height: 18px;
  display: block;
}
.profileBtn__caretSvg{
  width: 14px;
  height: 14px;
  display: block;
  color: rgba(16,33,59,.56);
}
.menuMiniIcon{
  display: inline-grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  margin-right: 10px;
  padding: 0 7px;
  border-radius: 9px;
  background: rgba(10,90,168,.08);
  border: 1px solid rgba(10,90,168,.12);
  color: #0b4d90;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  vertical-align: middle;
}
.menuMiniIcon--danger{
  background: rgba(180,35,24,.08);
  border-color: rgba(180,35,24,.12);
  color: #b42318;
}

.uiIcon{
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 10px;
  border-radius: 14px;
  background: linear-gradient(180deg, #f6fbff 0%, #edf5ff 100%);
  border: 1px solid rgba(10,90,168,.14);
  color: #0b4d90;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.uiIcon--sm{
  min-width: 40px;
  height: 40px;
  border-radius: 12px;
  font-size: 9px;
}
.uiIcon--lg{
  min-width: 58px;
  height: 58px;
  border-radius: 18px;
  font-size: 11px;
}

.profileMenu__link,
.profileMenu__logout{
  display: flex !important;
  align-items: center;
  gap: 0;
}
.profileMenu__logout{
  background: transparent;
  border: 0;
  width: 100%;
  text-align: left;
}

.sidebarFooter__avatar--premium{
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
.sidebarFooter__logout{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.form label{
  display: grid;
  gap: 8px;
}
.form label > span:first-child,
.formGrid label > span:first-child{
  font-size: 12px;
  font-weight: 780;
  color: rgba(15,23,42,.76);
  letter-spacing: .01em;
}
input, textarea, select{
  min-height: 46px;
  padding: var(--field-pad-y) var(--field-pad-x) !important;
  border-radius: var(--field-radius) !important;
  color: #0f172a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
textarea{
  min-height: 132px;
  resize: vertical;
}
input::placeholder, textarea::placeholder{
  color: rgba(15,23,42,.38) !important;
}
select{
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(15,23,42,.45) 50%), linear-gradient(135deg, rgba(15,23,42,.45) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 38px !important;
}
.formGrid{
  gap: 16px !important;
}
.formActions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.formNote, .composeHint, .sectionRibbon{
  border: 1px solid rgba(15,23,42,.07);
  background: linear-gradient(180deg, #fbfdff 0%, #f6fafe 100%);
  border-radius: 16px;
}
.composeHint{
  gap: 10px !important;
}
.composeHint span,
.sectionRibbon span{
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(15,23,42,.06);
  font-weight: 700;
  color: var(--ink-soft);
}
.formNote{
  padding: 14px 15px !important;
  color: var(--ink-soft) !important;
}
.formNote--soft{
  min-height: 100%;
  display: flex;
  align-items: center;
}

.dropzone{
  display: grid;
  gap: 14px;
  align-items: center;
}
.dropzone input[type=file]{
  padding: 10px !important;
  background: rgba(255,255,255,.8) !important;
}
.dropzone__title{
  font-size: 15px;
}
.dropzone__sub{
  color: rgba(15,23,42,.56);
}

.tableWrap{
  border-radius: 20px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  overflow: auto;
}
.table{
  border-collapse: separate;
  border-spacing: 0;
}
.table thead th{
  background: var(--table-head-bg) !important;
  padding: 14px 16px !important;
  font-size: 12px !important;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.table td{
  padding: 16px !important;
  vertical-align: top !important;
}
.table tbody tr:nth-child(even) td{
  background: var(--table-zebra) !important;
}
.table tr:hover td{
  background: var(--table-row-hover) !important;
}
.table__actions{
  white-space: nowrap;
}
.table .muted{
  color: rgba(15,23,42,.54) !important;
}
.rowActions{
  display: flex;
  gap: 8px !important;
  flex-wrap: wrap;
}
.rowActions .btn{
  min-width: 0;
  padding-inline: 12px !important;
}
.file__metaRow{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}
.file__sub{
  margin-top: 7px;
  line-height: 1.45;
}
.tagRow{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.featureCard__icon, .featureLine__icon, .emptyState__icon, .dropzone__icon, .file__icon{
  background: linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%) !important;
  border-color: rgba(10,90,168,.12) !important;
  color: #0b4d90 !important;
}
.featureCard__icon{
  margin-bottom: 12px !important;
}
.featureLine{
  align-items: flex-start !important;
}
.featureLine__title, .featureCard__title, .softList__title, .checkSteps__item b{
  letter-spacing: -.01em;
}

.att{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fbfdff 0%, #f3f8ff 100%);
  border: 1px solid rgba(10,90,168,.12);
  color: #0f172a;
  text-decoration: none;
}
.att__icon{
  display: inline-grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border-radius: 11px;
  background: rgba(10,90,168,.08);
  color: #0b4d90;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}

.ticketJourney{
  gap: 12px !important;
}
.ticketJourney__step{
  border-radius: 18px !important;
  border: 1px solid rgba(15,23,42,.07) !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  min-height: 78px;
}
.ticketJourney__dot{
  box-shadow: 0 0 0 5px rgba(10,90,168,.08);
}
.ticketJourney__label{
  font-weight: 760;
}

@media (max-width: 980px){
  .table td, .table thead th{
    padding: 14px !important;
  }
  .rowActions{
    flex-direction: column;
    align-items: stretch;
  }
  .rowActions .btn{
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 640px){
  .formActions{
    flex-direction: column;
  }
  .formActions .btn{
    width: 100%;
    justify-content: center;
  }
  .menuMiniIcon{
    margin-right: 8px;
  }
}

/* ===== FINAL — estabilidad operativa + pulido definitivo ===== */
:root,
html,
body{
  --portal-accent: #0b67b2;
  --portal-accent-2: #0aa6cf;
  --portal-navy: #083863;
  --portal-navy-2: #0b4a82;
  --surface-1: #f8fbff;
  --surface-2: #eef4fb;
  --line-1: rgba(15,23,42,.08);
  --line-2: rgba(15,23,42,.12);
}

body{
  background: linear-gradient(180deg, #f9fbfe 0%, #f1f6fc 54%, #eef4fb 100%) !important;
}

.topbar{
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--line-1) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.045) !important;
}
.topbar__left,
.topbar__right{
  min-width: 0;
  align-items: center;
}
.topbar__right{
  justify-content: flex-end;
}
.topbar .search{
  min-width: 0;
  flex: 1 1 auto;
}
.topbar .search input{
  width: clamp(240px, 36vw, 640px) !important;
  max-width: 100%;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}
.topbar .company select{
  width: clamp(180px, 18vw, 260px) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.company-select{
  min-width: 0;
}
.iconbtn--logout{
  color: #8d2d22 !important;
  border-color: rgba(180,35,24,.12) !important;
  background: linear-gradient(180deg, #fff, #fff8f7) !important;
}
.iconbtn--logout:hover{
  border-color: rgba(180,35,24,.18) !important;
  background: linear-gradient(180deg, #fff, #fff2ef) !important;
}
.profileBtn{
  min-width: auto !important;
  max-width: 150px;
}
.profileBtn__name{
  max-width: 82px !important;
}
.profileMenuWrap{
  flex: 0 0 auto;
}
.profileMenu{
  right: 0 !important;
  width: min(320px, calc(100vw - 24px)) !important;
}
.profileMenu__head{
  padding-bottom: 14px !important;
}
.profileMenu__sub + .profileMenu__sub{
  margin-top: 2px;
}
.profileMenu__body form{
  margin: 0;
}

.brand__name{
  letter-spacing: -.015em;
}

.sidebar{
  background: linear-gradient(180deg, var(--portal-navy-2) 0%, var(--portal-navy) 56%, #072c4e 100%) !important;
  box-shadow: 0 24px 44px rgba(0,35,76,.18) !important;
}
.sidebar .nav a{
  border-color: rgba(255,255,255,.06) !important;
}
.sidebar .nav a.active{
  background: linear-gradient(180deg, rgba(10,166,207,.18), rgba(11,103,178,.24)) !important;
  border-color: rgba(139,227,255,.24) !important;
}
.sidebarFooter{
  padding-top: 14px !important;
}
.sidebarFooter__logout,
.sidebarFooter__profile{
  min-height: 46px;
}

.hero__bg,
.hero__bg--blur{
  background:
    linear-gradient(135deg, rgba(8,56,99,.96), rgba(11,103,178,.88)) !important,
    radial-gradient(760px 380px at 18% 14%, rgba(143,227,255,.18), transparent 56%) !important,
    radial-gradient(720px 340px at 84% 72%, rgba(255,255,255,.08), transparent 52%) !important,
    url('../img/bg_portal_blur.jpg') center/cover !important;
}
.hero__eyebrow{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.14) !important;
}
.heroQuickActions .btn--ghost{
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.heroQuickActions .btn--ghost:hover{
  background: rgba(255,255,255,.20) !important;
}
.heroInlineStats__item{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.kpiCard,
.card,
.table-wrap,
.tableWrap,
.formCard,
.widget,
.panel{
  box-shadow: 0 12px 28px rgba(15,23,42,.05) !important;
}
.table thead th{
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%) !important;
}
.table tr:hover td{
  background: #f3f8fe !important;
}
.btn{
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.btn:hover{
  transform: translateY(-1px);
}

@media (max-width: 1360px){
  .profileBtn__name{ display:none !important; }
}
@media (max-width: 1160px){
  .topbar .search input{ width: clamp(180px, 28vw, 440px) !important; }
  .topbar .company select{ width: clamp(150px, 18vw, 220px) !important; }
}
@media (max-width: 960px){
  .topbarLogoutForm{ display:none !important; }
}
@media (max-width: 760px){
  .topbar .search{ display:none !important; }
  .topbar .company{ display:none !important; }
  .profileMenu{ width: min(320px, calc(100vw - 16px)) !important; }
}


.auth__wrap{
  max-width: 500px;
}
.authCard--clean{
  padding: 28px;
}
.authCover{
  height: 84px;
  margin-bottom: 16px;
}
.authBrand{
  margin-bottom: 12px;
}
.authBrand__mascot{
  width: 42px;
  height: 42px;
}
.authIntro{
  margin-bottom: 6px;
}
.authCard h1{
  margin: 0 0 8px;
}
.authCard .form{
  gap: 16px;
}
.passwordInput{
  position: relative;
}
.passwordInput input{
  width: 100%;
  padding-right: 94px;
}
.passwordToggle{
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #00509e;
  font-weight: 800;
  font-size: 12px;
  cursor: pointer;
}
.passwordToggle:hover{
  opacity: .85;
}
.authAssist{
  margin-top: -2px;
  display: flex;
  justify-content: center;
  font-size: 13px;
}
.authAssist .link{
  color: #00509e;
  font-weight: 700;
}
.authFooter{
  flex-wrap: wrap;
  row-gap: 6px;
}
.publicTopbar .topbar__right{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 640px){
  .authCard--clean{
    padding: 22px;
  }
  .authCover{
    height: 72px;
  }
  .authFooter{
    justify-content: center;
  }
}
