﻿/* Qualing GMP Enterprise visual system.
   Final presentation layer for the web app and A4 printable documents. */

:root{
  --gmp-bg:#f5f7fa;
  --gmp-surface:#ffffff;
  --gmp-surface-soft:#f8fafc;
  --gmp-panel:#fbfdff;
  --gmp-line:#d7e0ea;
  --gmp-line-strong:#9aa9ba;
  --gmp-ink:#172033;
  --gmp-muted:#5f6b7a;
  --gmp-blue:#0b2b57;
  --gmp-blue-2:#123b73;
  --gmp-blue-soft:#eaf2ff;
  --gmp-green:#177245;
  --gmp-yellow:#9a6900;
  --gmp-red:#b3261e;
  --gmp-radius:8px;
  --gmp-shadow:0 10px 28px rgba(15,34,58,.07);
  --gmp-doc-blue:#071f49;
  --gmp-doc-line:#8ca0b3;
  --gmp-doc-soft:#edf3f7;
  --gmp-doc-ink:#111827;
  --enterprise-bg:var(--gmp-bg);
  --enterprise-line:var(--gmp-line);
  --enterprise-ink:var(--gmp-ink);
  --enterprise-blue:var(--gmp-blue);
  --enterprise-blue-strong:var(--gmp-blue-2);
  --enterprise-radius:var(--gmp-radius);
  --ui-brand:var(--gmp-blue);
  --ui-brand-dark:var(--gmp-blue-2);
  --brand:var(--gmp-blue);
  --brand-dark:var(--gmp-blue-2);
}

/* Login corporativo y menú Más acciones */
.auth-screen{
  display:grid!important;
  place-items:center!important;
  padding:32px 18px!important;
  background:
    linear-gradient(135deg,rgba(245,247,250,.96),rgba(229,236,247,.92)),
    radial-gradient(circle at 12% 10%,rgba(22,63,115,.13),transparent 34rem),
    radial-gradient(circle at 90% 92%,rgba(33,135,57,.10),transparent 30rem)!important;
}

.auth-management-card{
  display:grid!important;
  grid-template-columns:minmax(300px,.92fr) minmax(360px,1fr)!important;
  width:min(980px,calc(100vw - 36px))!important;
  max-width:980px!important;
  min-height:560px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d7e0ea!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 24px 70px rgba(15,34,58,.16)!important;
}

.auth-system-panel{
  display:grid!important;
  align-content:space-between!important;
  gap:28px!important;
  padding:38px 34px!important;
  color:#fff!important;
  background:
    linear-gradient(180deg,rgba(11,34,68,.96),rgba(18,48,83,.95)),
    linear-gradient(135deg,#0b2244,#163f73)!important;
}

.auth-system-panel img{
  width:170px!important;
  max-width:170px!important;
  max-height:64px!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1) grayscale(1) opacity(.92)!important;
}

.auth-system-panel .auth-kicker{
  color:#b8d2f2!important;
}

.auth-system-panel h2{
  margin:10px 0 12px!important;
  color:#fff!important;
  font-size:1.8rem!important;
  line-height:1.18!important;
  font-weight:650!important;
  letter-spacing:0!important;
}

.auth-system-panel p{
  margin:0!important;
  color:#d7e3f4!important;
  font-size:.98rem!important;
  line-height:1.55!important;
}

.auth-system-status{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
}

.auth-system-status div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:11px 12px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.07)!important;
}

.auth-system-status dt,
.auth-system-status dd{
  margin:0!important;
  font-size:.82rem!important;
  font-weight:650!important;
}

.auth-system-status dt{
  color:#b8c8db!important;
}

.auth-system-status dd{
  color:#fff!important;
}

.auth-login-panel{
  display:grid!important;
  align-content:center!important;
  gap:24px!important;
  padding:44px 46px!important;
  background:#fff!important;
}

.auth-login-panel .auth-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #e3e9f1!important;
}

.auth-login-panel .auth-brand p,
.auth-login-panel .auth-brand span{
  margin:0!important;
  color:#163f73!important;
  font-size:.72rem!important;
  font-weight:750!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

.auth-heading h1{
  margin:6px 0 8px!important;
  color:#172033!important;
  font-size:2rem!important;
  line-height:1.12!important;
}

.auth-heading p{
  margin:0!important;
  color:#667085!important;
  font-size:.96rem!important;
}

.login-form{
  gap:17px!important;
}

.login-form label{
  display:grid!important;
  gap:7px!important;
  color:#233247!important;
  font-size:.84rem!important;
  font-weight:650!important;
}

.login-form input{
  min-height:44px!important;
  border:1px solid #bac8da!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:.94rem!important;
  box-shadow:0 1px 0 rgba(15,34,58,.03)!important;
}

.login-form input:focus{
  border-color:#235a9f!important;
  box-shadow:0 0 0 3px rgba(35,90,159,.14)!important;
  outline:none!important;
}

.password-toggle{
  top:5px!important;
  right:5px!important;
  min-width:70px!important;
  min-height:34px!important;
  border:1px solid #d7e0ea!important;
  border-radius:7px!important;
  background:#f8fafc!important;
  color:#163f73!important;
  font-size:.82rem!important;
  font-weight:700!important;
}

.login-submit{
  width:100%!important;
  min-height:46px!important;
  margin-top:4px!important;
  border:1px solid #163f73!important;
  border-radius:8px!important;
  background:#163f73!important;
  color:#fff!important;
  font-size:.95rem!important;
  font-weight:750!important;
}

.login-submit::before,
.password-toggle::before{
  content:none!important;
}

.login-error{
  margin:-2px 0 0!important;
  color:#c9362b!important;
  font-size:.86rem!important;
}

.auth-footnote{
  margin:0!important;
  padding-top:16px!important;
  border-top:1px solid #e3e9f1!important;
  color:#667085!important;
  font-size:.78rem!important;
  line-height:1.45!important;
}

.ui-more-actions{
  position:relative!important;
  overflow:visible!important;
}

.ui-more-trigger[aria-expanded="true"]{
  border-color:#9fb7d4!important;
  background:#eef4fb!important;
  color:#163f73!important;
}

.ui-more-menu{
  top:calc(100% + 8px)!important;
  bottom:auto!important;
  right:0!important;
  z-index:9999!important;
  min-width:230px!important;
}

.ui-more-actions.open-up .ui-more-menu{
  top:auto!important;
  bottom:calc(100% + 8px)!important;
}

.ui-more-menu button{
  color:#163f73!important;
  background:#fff!important;
  border:1px solid transparent!important;
}

.ui-more-menu button:hover{
  border-color:#d7e0ea!important;
  background:#f4f8ff!important;
}

@media(max-width:820px){
  .auth-management-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  .auth-system-panel{
    padding:26px 24px!important;
  }

  .auth-system-panel h2{
    font-size:1.35rem!important;
  }

  .auth-system-status{
    grid-template-columns:1fr!important;
  }

  .auth-login-panel{
    padding:28px 24px!important;
  }
}

html,
body{
  background:var(--gmp-bg)!important;
  color:var(--gmp-ink)!important;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
}

body{
  background:
    linear-gradient(180deg,#f9fbfd 0%,#f5f7fa 50%,#eef3f8 100%)!important;
}

a{color:var(--gmp-blue-2)}

.menu-header,
.app-header,
body>header{
  min-height:72px!important;
  border-bottom:1px solid var(--gmp-line)!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--gmp-ink)!important;
  box-shadow:0 1px 0 rgba(15,34,58,.03),0 10px 26px rgba(15,34,58,.06)!important;
}

.menu-header img,
.app-header img,
body>header img,
.menu-brand img{
  width:112px!important;
  max-width:112px!important;
  max-height:44px!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
}

.menu-header h1,
.app-header h1,
body>header h1,
.auth-heading h1,
.menu-intro h1,
.panel h2,
.section-title h2{
  color:var(--gmp-ink)!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

.app-header small,
.app-header p,
.menu-header small,
.eyebrow,
.auth-kicker,
.section-title p{
  color:var(--gmp-blue-2)!important;
  font-weight:600!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

.workspace,
.app-shell,
.menu-shell,
main{
  max-width:1440px!important;
}

.workspace,
.app-shell,
.menu-shell{
  padding-top:24px!important;
}

.panel,
.record-tools,
.history-panel,
.manager-panel,
.database-manager,
.results-manager,
.module-placeholder,
.chat-room-head,
.teams-chat-sidebar,
.teams-chat-room,
.ui-card{
  border:1px solid var(--gmp-line)!important;
  border-radius:var(--gmp-radius)!important;
  background:var(--gmp-surface)!important;
  box-shadow:0 1px 0 rgba(15,34,58,.03)!important;
}

.panel,
.record-tools{
  padding:22px!important;
}

button,
a.button,
.button,
.file-button,
.login-submit,
.session-button,
.menu-account-btn,
.back-menu-btn{
  min-height:42px!important;
  border:1px solid transparent!important;
  border-radius:6px!important;
  padding:9px 16px!important;
  background:var(--gmp-blue)!important;
  color:#fff!important;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:.92rem!important;
  font-weight:600!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}

button:hover,
a.button:hover,
.button:hover,
.file-button:hover{
  background:var(--gmp-blue-2)!important;
}

button.secondary,
button.ghost,
a.secondary,
.secondary,
.ghost,
.session-button,
.menu-account-btn,
.back-menu-btn{
  border-color:var(--gmp-line-strong)!important;
  background:#fff!important;
  color:var(--gmp-blue)!important;
}

button.secondary:hover,
button.ghost:hover,
a.secondary:hover,
.secondary:hover,
.ghost:hover{
  border-color:var(--gmp-blue-2)!important;
  background:var(--gmp-blue-soft)!important;
  color:var(--gmp-blue)!important;
}

button.danger,
.danger,
button.remove,
.remove{
  border-color:#e0aaa4!important;
  background:#fff!important;
  color:var(--gmp-red)!important;
}

button.danger:hover,
.danger:hover,
button.remove:hover,
.remove:hover{
  background:var(--gmp-red)!important;
  color:#fff!important;
}

button[data-ui-level="document"],
a[data-ui-level="document"],
.button[data-ui-level="document"],
button[data-ui-level="gmp"],
a[data-ui-level="gmp"],
.button[data-ui-level="gmp"]{
  border-color:#b9c7d8!important;
  background:#eef4fb!important;
  color:var(--gmp-blue)!important;
}

button[data-ui-level="document"]:hover,
a[data-ui-level="document"]:hover,
.button[data-ui-level="document"]:hover,
button[data-ui-level="gmp"]:hover,
a[data-ui-level="gmp"]:hover,
.button[data-ui-level="gmp"]:hover{
  border-color:var(--gmp-blue-2)!important;
  background:#dfeafb!important;
}

input,
select,
textarea{
  min-height:42px!important;
  border:1px solid #b8c6d5!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--gmp-ink)!important;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-weight:400!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--gmp-blue-2)!important;
  box-shadow:0 0 0 3px rgba(18,59,115,.14)!important;
  outline:0!important;
}

label{
  color:#26364d!important;
  font-weight:600!important;
}

.table-wrap table,
.results-table-wrap table,
.record-results table,
.panel table:not(.doc-table){
  border:1px solid var(--gmp-line)!important;
  border-collapse:collapse!important;
  background:#fff!important;
  color:var(--gmp-ink)!important;
}

.table-wrap th,
.results-table-wrap th,
.record-results th,
.panel table:not(.doc-table) th{
  border-bottom:1px solid var(--gmp-line)!important;
  background:#f1f5f9!important;
  color:#25344a!important;
  font-weight:600!important;
}

.results-table-wrap{
  max-width:100%!important;
  overflow-x:auto!important;
  border-radius:8px!important;
}

.results-table{
  table-layout:fixed!important;
  width:100%!important;
  min-width:1260px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}

.results-table th,
.results-table td{
  min-width:0!important;
  padding:10px 9px!important;
  border-color:var(--gmp-line)!important;
  vertical-align:top!important;
}

.results-table th:nth-child(1),
.results-table td:nth-child(1){width:150px!important}
.results-table th:nth-child(2),
.results-table td:nth-child(2){width:120px!important}
.results-table th:nth-child(3),
.results-table td:nth-child(3){width:164px!important}
.results-table th:nth-child(4),
.results-table td:nth-child(4){width:170px!important}
.results-table th:nth-child(5),
.results-table td:nth-child(5){width:170px!important}
.results-table th:nth-child(6),
.results-table td:nth-child(6){width:138px!important}
.results-table th:nth-child(7),
.results-table td:nth-child(7){width:190px!important}
.results-table th:nth-child(8),
.results-table td:nth-child(8){width:130px!important}

.results-table tbody tr{
  height:156px!important;
}

.results-table td:first-child strong,
.results-table td:first-child small,
.results-table td:nth-child(2),
.result-empty-doc{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.results-table td:first-child strong,
.results-table td:first-child small,
.results-table td:nth-child(2){
  display:block!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.25!important;
}

.result-doc-list,
.result-doc-card,
.result-room-menu{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:6px!important;
}

.result-doc-card{
  align-content:start!important;
}

.result-doc-list .result-edit,
.result-doc-list .result-download-signed,
.result-doc-list .result-print-signed,
.result-room-toggle,
.result-room-options button{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:center!important;
  justify-items:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  padding:6px 8px!important;
  overflow:hidden!important;
  border-radius:6px!important;
  font-size:.76rem!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.result-doc-list button span,
.result-room-options button span,
.result-room-toggle span,
.result-doc-list button small,
.result-room-options button small,
.result-room-toggle small{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.result-doc-list button small,
.result-room-options button small,
.result-room-toggle small{
  margin-top:2px!important;
  color:currentColor!important;
  font-size:.66rem!important;
  font-weight:600!important;
  opacity:.86!important;
}

.result-room-toggle{
  padding-right:20px!important;
}

.result-room-toggle::after{
  content:"▾"!important;
  position:absolute!important;
  right:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}

.result-room-options{
  display:grid!important;
  gap:6px!important;
  width:100%!important;
  max-height:230px!important;
  overflow:auto!important;
  padding:7px!important;
  border:1px solid var(--gmp-line)!important;
  border-radius:8px!important;
  background:#f8fafc!important;
}

.result-room-options[hidden]{
  display:none!important;
}

.result-semaphore{
  width:100%!important;
  min-width:0!important;
  min-height:126px!important;
  padding:8px!important;
  align-content:start!important;
}

.result-semaphore strong{
  min-height:26px!important;
  padding:4px 8px!important;
  font-size:.7rem!important;
  white-space:nowrap!important;
}

.result-semaphore small{
  font-size:.66rem!important;
  line-height:1.2!important;
}

.results-table textarea{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  max-height:96px!important;
  resize:vertical!important;
}

.results-actions{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  gap:7px!important;
  align-content:start!important;
}

.results-actions button{
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  padding:7px 8px!important;
  font-size:.76rem!important;
  line-height:1.1!important;
}

.status-complete,
.status-completed,
.status-firmado,
.status-firmado-terminado,
.semaphore-green,
.complete{
  border-color:#b7d9c6!important;
  background:#eaf8f0!important;
  color:var(--gmp-green)!important;
}

.status-process,
.status-draft,
.status-en-proceso,
.semaphore-yellow,
.warning{
  border-color:#f2d48a!important;
  background:#fff7df!important;
  color:var(--gmp-yellow)!important;
}

.status-pending,
.status-pendiente,
.semaphore-red,
.pending{
  border-color:#e6b4af!important;
  background:#fff0ee!important;
  color:var(--gmp-red)!important;
}

.status-info,
.informativo,
.info,
.semaphore-blue{
  border-color:#b6cdee!important;
  background:#edf5ff!important;
  color:var(--gmp-blue-2)!important;
}

#toast,
.ui-system-message{
  border:1px solid #bdcbe0!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--gmp-ink)!important;
  box-shadow:var(--gmp-shadow)!important;
}

/* A4 regulated document system */
.document,
.report,
.preview-wrap{
  background:transparent!important;
}

.doc-page,
.report-page,
.print-page,
.document .doc-page{
  position:relative!important;
  box-sizing:border-box!important;
  width:210mm!important;
  height:auto!important;
  min-height:297mm!important;
  margin:18px auto!important;
  padding:15mm 14mm 18mm!important;
  overflow:visible!important;
  background:#fff!important;
  color:var(--gmp-doc-ink)!important;
  box-shadow:0 16px 42px rgba(15,34,58,.14)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:10pt!important;
  line-height:1.36!important;
  letter-spacing:0!important;
  page-break-after:always;
  break-after:page;
  page-break-inside:auto!important;
  break-inside:auto!important;
}

.doc-page:last-child,
.report-page:last-child,
.print-page:last-child{
  page-break-after:auto!important;
  break-after:auto!important;
}

.doc-page *,
.report-page *,
.print-page *{
  color:inherit;
  font-family:Verdana,Arial,sans-serif!important;
  letter-spacing:0!important;
  box-sizing:border-box!important;
}

.doc-page > *,
.report-page > *,
.print-page > *{
  max-width:100%!important;
}

.doc-page p,
.doc-page li,
.report-page p,
.report-page li,
.print-page p,
.print-page li{
  margin-top:0!important;
  margin-bottom:2.2mm!important;
  color:var(--gmp-doc-ink)!important;
  font-size:9.5pt!important;
  line-height:1.42!important;
  orphans:3;
  widows:3;
}

.doc-page ul,
.doc-page ol,
.report-page ul,
.report-page ol,
.print-page ul,
.print-page ol{
  margin:1.5mm 0 3mm 6mm!important;
  padding:0!important;
}

.doc-page h1,
.report-page h1,
.print-page h1{
  margin:0 0 7mm!important;
  padding:0 0 2.5mm!important;
  border-bottom:1px solid var(--gmp-doc-line)!important;
  color:var(--gmp-doc-blue)!important;
  font-size:15pt!important;
  font-weight:700!important;
  line-height:1.18!important;
  text-transform:uppercase!important;
}

.doc-page h2,
.report-page h2,
.print-page h2,
.doc-page .test-title,
.report-page .test-title,
.print-page .test-title{
  display:block!important;
  margin:5mm 0 2.5mm!important;
  padding:2.5mm 3mm!important;
  border:1px solid var(--gmp-doc-line)!important;
  background:var(--gmp-doc-soft)!important;
  color:var(--gmp-doc-blue)!important;
  font-size:11pt!important;
  font-weight:700!important;
  line-height:1.22!important;
  text-transform:uppercase!important;
  page-break-after:avoid!important;
  break-after:avoid!important;
}

.doc-page h3,
.report-page h3,
.print-page h3{
  margin:4mm 0 1.5mm!important;
  color:var(--gmp-doc-blue)!important;
  font-size:9.6pt!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
}

.doc-page:has(> .classic-doc-header + h1 + .test-title) > h1:first-of-type,
.doc-page:has(> .formal-header + h1 + .test-title) > h1:first-of-type{
  display:none!important;
}

.doc-page .chapter-title{
  display:block!important;
  margin:0 0 7mm!important;
  padding:0 0 3mm!important;
  border:0!important;
  border-bottom:1px solid var(--gmp-doc-line)!important;
  background:transparent!important;
  color:var(--gmp-doc-blue)!important;
  font-size:15pt!important;
  font-weight:700!important;
}

.doc-header,
.formal-header,
.classic-doc-header,
.report-header{
  display:grid!important;
  grid-template-columns:44mm minmax(0,1fr) 44mm!important;
  gap:5mm!important;
  align-items:start!important;
  min-height:24mm!important;
  margin:0 0 8mm!important;
  padding:0 0 3mm!important;
  border:0!important;
  border-bottom:1px solid var(--gmp-doc-blue)!important;
  background:#fff!important;
  box-shadow:none!important;
}

.doc-header>div,
.formal-header>div,
.classic-doc-header>div,
.report-header>div{
  display:grid!important;
  align-content:start!important;
  justify-items:center!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  text-align:center!important;
}

.classic-doc-header .brand-cell,
.formal-header .brand-cell,
.report-header>img{
  justify-self:start!important;
}

.classic-doc-header .brand-cell,
.formal-header .brand-cell{
  justify-items:start!important;
  text-align:left!important;
}

.classic-doc-header .title-cell,
.formal-header .title-cell{
  justify-items:center!important;
  align-self:center!important;
  text-align:center!important;
}

.classic-doc-header .client-cell,
.formal-header .client-cell{
  justify-items:end!important;
  text-align:right!important;
}

.classic-doc-header .brand-cell img,
.formal-header .brand-cell img,
.doc-header img,
.report-header img{
  display:block!important;
  width:36mm!important;
  max-width:36mm!important;
  height:15mm!important;
  max-height:15mm!important;
  object-fit:contain!important;
  object-position:left top!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  opacity:.95!important;
}

.classic-doc-header .client-logo-doc,
.formal-header .client-logo-doc{
  display:block!important;
  width:36mm!important;
  max-width:36mm!important;
  height:15mm!important;
  max-height:15mm!important;
  object-fit:contain!important;
  object-position:right top!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0 0 1mm auto!important;
}

.classic-doc-header .client-logo-empty,
.formal-header .client-logo-empty{
  width:36mm!important;
  height:15mm!important;
  border:0!important;
  background:transparent!important;
}

.classic-doc-header .title-cell strong,
.formal-header .title-cell strong,
.report-header h2{
  color:var(--gmp-doc-blue)!important;
  font-size:10.2pt!important;
  font-weight:700!important;
  line-height:1.18!important;
  text-transform:uppercase!important;
}

.classic-doc-header .title-cell small,
.formal-header .title-cell small,
.classic-doc-header .brand-cell small,
.formal-header .brand-cell small,
.classic-doc-header .client-cell small,
.formal-header .client-cell small,
.report-header p,
.report-number span{
  margin-top:1mm!important;
  color:#233650!important;
  font-size:6.8pt!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}

.classic-doc-header .client-cell strong,
.formal-header .client-cell strong,
.report-number strong{
  color:var(--gmp-doc-blue)!important;
  font-size:9.4pt!important;
  font-weight:700!important;
  line-height:1.2!important;
}

.doc-cover-page,
.classic-doc-cover,
.cover.doc-page{
  display:block!important;
  padding:18mm 18mm 14mm!important;
  border-left:3mm solid var(--gmp-doc-blue)!important;
  background:#fff!important;
}

.classic-doc-cover .cover-logo-strip,
.classic-doc-cover .cover-logo-strip.cover-logo-fixed,
.doc-cover-page .cover-logo-strip{
  position:relative!important;
  display:grid!important;
  grid-template-columns:44mm 1fr 44mm!important;
  align-items:start!important;
  width:100%!important;
  height:24mm!important;
  min-height:24mm!important;
  margin:0!important;
}

.classic-doc-cover .cover-logo-strip>img,
.classic-doc-cover .cover-logo-strip .cover-logo-qualing,
.doc-cover-page .cover-logo-strip>img{
  position:static!important;
  grid-column:1!important;
  justify-self:start!important;
  display:block!important;
  width:44mm!important;
  max-width:44mm!important;
  height:20mm!important;
  max-height:20mm!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:left top!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}

.classic-doc-cover .cover-logo-strip>div,
.classic-doc-cover .cover-logo-fixed .cover-client-logo-box,
.doc-cover-page .cover-logo-strip>div{
  position:static!important;
  grid-column:3!important;
  justify-self:end!important;
  display:block!important;
  width:44mm!important;
  max-width:44mm!important;
  height:20mm!important;
  max-height:20mm!important;
  min-width:0!important;
  min-height:0!important;
  text-align:right!important;
}

.classic-doc-cover .cover-logo-strip .client-logo-doc,
.classic-doc-cover .cover-logo-fixed .cover-client-logo-box .client-logo-doc,
.doc-cover-page .cover-logo-strip .client-logo-doc{
  display:block!important;
  width:44mm!important;
  max-width:44mm!important;
  height:20mm!important;
  max-height:20mm!important;
  object-fit:contain!important;
  object-position:right top!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0 0 0 auto!important;
}

.classic-doc-cover .cover-logo-strip .client-logo-empty,
.classic-doc-cover .cover-logo-fixed .cover-client-logo-box .client-logo-empty{
  width:44mm!important;
  height:20mm!important;
  border:0!important;
  background:transparent!important;
}

.classic-doc-cover .cover-title-box,
.doc-cover-page .cover-title-box{
  display:block!important;
  width:126mm!important;
  min-height:auto!important;
  margin:70mm auto 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
}

.classic-doc-cover .cover-kicker,
.doc-cover-page .cover-kicker{
  margin:0 0 8mm!important;
  color:var(--gmp-doc-blue)!important;
  font-size:9.2pt!important;
  font-weight:700!important;
  letter-spacing:.10em!important;
  line-height:1.2!important;
  text-align:center!important;
  text-transform:uppercase!important;
}

.classic-doc-cover .cover-title-box h1,
.doc-cover-page .cover-title-box h1{
  margin:0 0 5mm!important;
  padding:0!important;
  border:0!important;
  color:var(--gmp-doc-blue)!important;
  font-size:20pt!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-align:center!important;
  text-transform:uppercase!important;
}

.classic-doc-cover .cover-title-box h2,
.doc-cover-page .cover-title-box h2{
  display:block!important;
  margin:0 0 7mm!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#0f172a!important;
  font-size:12.5pt!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-align:center!important;
  text-transform:none!important;
}

.classic-doc-cover .cover-ref-text,
.doc-cover-page .cover-ref-text{
  margin:0 0 7mm!important;
  color:#0f172a!important;
  font-size:9.2pt!important;
  font-weight:600!important;
  text-align:center!important;
}

.classic-doc-cover .cover-code-text,
.doc-cover-page .cover-code-text,
.cover-code{
  display:inline-block!important;
  min-width:48mm!important;
  margin:0 auto!important;
  padding:4mm 8mm!important;
  border:1px solid var(--gmp-doc-line)!important;
  background:#fff!important;
  color:var(--gmp-doc-blue)!important;
  font-size:12pt!important;
  font-weight:700!important;
  text-align:center!important;
}

.doc-table,
.doc-page table,
.report-page table,
.print-page table{
  width:100%!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  margin:3mm 0 5mm!important;
  color:var(--gmp-doc-ink)!important;
  font-size:8.6pt!important;
  line-height:1.25!important;
  box-shadow:none!important;
  page-break-inside:auto!important;
  break-inside:auto!important;
}

.doc-table th,
.doc-table td,
.doc-page table th,
.doc-page table td,
.report-page table th,
.report-page table td,
.print-page table th,
.print-page table td{
  border:1px solid #a8b6c6!important;
  padding:4px 6px!important;
  color:var(--gmp-doc-ink)!important;
  font-size:8.6pt!important;
  line-height:1.25!important;
  vertical-align:top!important;
}

.doc-table th,
.doc-page table th,
.report-page table th,
.print-page table th{
  background:#e9f0f5!important;
  color:var(--gmp-doc-blue)!important;
  font-weight:700!important;
}

.doc-page .summary-table,
.report-page .summary-table,
.print-page .summary-table{
  font-size:7.4pt!important;
  line-height:1.12!important;
  margin-top:2mm!important;
}

.doc-page .summary-table th,
.doc-page .summary-table td,
.report-page .summary-table th,
.report-page .summary-table td,
.print-page .summary-table th,
.print-page .summary-table td{
  padding:2px 4px!important;
  font-size:7.4pt!important;
  line-height:1.12!important;
}

.doc-page .summary-table td:nth-child(4),
.report-page .summary-table td:nth-child(4),
.print-page .summary-table td:nth-child(4){
  text-align:center!important;
  white-space:nowrap!important;
}

.doc-page tr,
.report-page tr,
.print-page tr,
.doc-page figure,
.report-page figure,
.print-page figure,
.criterion,
.signature-table{
  page-break-inside:avoid!important;
  break-inside:avoid!important;
}

.signature-table td,
.signature-table th{
  height:16mm!important;
}

.index-row{
  display:grid!important;
  grid-template-columns:13mm minmax(0, 1fr) 13mm!important;
  gap:3mm!important;
  align-items:end!important;
  padding:1.7mm 0!important;
  border:0!important;
  color:var(--gmp-doc-ink)!important;
  font-size:9pt!important;
  font-weight:700!important;
  text-transform:uppercase!important;
}

.doc-page:has(.index-row),
.report-page:has(.index-row),
.print-page:has(.index-row){
  padding-top:13mm!important;
  padding-bottom:16mm!important;
}

.doc-page:has(.index-row) .doc-header,
.doc-page:has(.index-row) .formal-header,
.doc-page:has(.index-row) .classic-doc-header,
.report-page:has(.index-row) .report-header{
  min-height:21mm!important;
  margin-bottom:5mm!important;
  padding-bottom:2mm!important;
}

.doc-page:has(.index-row) h1,
.report-page:has(.index-row) h1,
.print-page:has(.index-row) h1{
  margin-bottom:4mm!important;
  padding-bottom:2mm!important;
  font-size:13pt!important;
}

.doc-page:has(.index-row) .index-row,
.report-page:has(.index-row) .index-row,
.print-page:has(.index-row) .index-row{
  grid-template-columns:13mm minmax(0, 1fr) 12mm!important;
  gap:3mm!important;
  padding:.75mm 0!important;
  font-size:7.6pt!important;
  line-height:1.12!important;
}

.doc-page:has(.index-row) .index-row span::after,
.report-page:has(.index-row) .index-row span::after,
.print-page:has(.index-row) .index-row span::after{
  transform:translateY(-.5px)!important;
}

.index-row span{
  display:flex!important;
  align-items:end!important;
  gap:2mm!important;
  min-width:0!important;
}

.index-row strong,
.index-row em{
  white-space:nowrap!important;
}

.index-row span b{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  font-weight:700!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.index-row span::after{
  content:""!important;
  flex:1 1 18mm!important;
  min-width:14mm!important;
  border-bottom:1px dotted #64748b!important;
  transform:translateY(-1px)!important;
}

.index-row em{
  color:var(--gmp-doc-blue)!important;
  font-style:normal!important;
  text-align:right!important;
}

.criterion{
  border:1px solid #b6c4d5!important;
  border-left:4px solid var(--gmp-doc-blue)!important;
  background:#f5f8fb!important;
  padding:3mm!important;
}

.doc-footer,
.doc-page .doc-footer,
.report-page .doc-footer{
  position:absolute!important;
  left:14mm!important;
  right:14mm!important;
  bottom:7mm!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:8mm!important;
  padding-top:2mm!important;
  border-top:0!important;
  color:#fff!important;
  font-size:6.2pt!important;
  font-weight:700!important;
}

.doc-footer::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-3mm!important;
  height:3.2mm!important;
  background:var(--gmp-doc-blue)!important;
  z-index:-1!important;
}

.doc-footer span{
  color:#fff!important;
}

.doc-footer .page-no::after{
  content:counter(page)!important;
}

.photo-preview figure,
.photo-item,
.evidence figure,
.attached-image,
.certificate-image-page,
.pdf-page-image,
.certificate-embed,
.equipment-image-frame,
.ticket-image{
  border:1px solid #b7c4d3!important;
  border-radius:0!important;
  background:#fff!important;
  padding:4mm!important;
  margin:4mm auto!important;
  max-width:100%!important;
  text-align:center!important;
  box-shadow:none!important;
  page-break-inside:avoid!important;
  break-inside:avoid!important;
}

.photo-preview img,
.photo-item img,
.evidence img,
.attached-image img,
.certificate-image-page img,
.pdf-page-image img,
.certificate-embed img,
.equipment-image-frame img,
.ticket-image{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:230mm!important;
  margin:0 auto!important;
  object-fit:contain!important;
  border:0!important;
  background:#fff!important;
}

.photo-preview figcaption,
.attached-image figcaption,
.certificate-image-page figcaption,
.pdf-page-image figcaption,
.equipment-image-figure figcaption{
  margin-top:2mm!important;
  color:#1f2f46!important;
  font-size:7.8pt!important;
  font-weight:700!important;
  text-align:center!important;
}

.equipment-image-sheet{
  display:grid!important;
  align-content:start!important;
  gap:8mm!important;
  min-height:230mm!important;
}

.equipment-image-title{
  border:1px solid var(--gmp-doc-line)!important;
  background:var(--gmp-doc-soft)!important;
  color:var(--gmp-doc-blue)!important;
  font-size:10pt!important;
  font-weight:700!important;
  text-align:center!important;
  text-transform:uppercase!important;
}

/* Ajuste final de protocolos/informes: indice limpio y titulos sin recuadro */
.doc-page h2,
.report-page h2,
.print-page h2,
.doc-page .test-title,
.report-page .test-title,
.print-page .test-title,
.doc-page .chapter-title,
.report-page .chapter-title,
.print-page .chapter-title{
  display:block!important;
  margin:6mm 0 3mm!important;
  padding:0 0 2.4mm!important;
  border:0!important;
  border-bottom:1px solid var(--gmp-doc-line)!important;
  background:transparent!important;
  color:var(--gmp-doc-blue)!important;
  font-size:12pt!important;
  font-weight:700!important;
  line-height:1.22!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
  page-break-after:avoid!important;
  break-after:avoid!important;
}

.doc-page .chapter-title,
.report-page .chapter-title,
.print-page .chapter-title{
  font-size:15pt!important;
}

.index-row,
.doc-page:has(.index-row) .index-row,
.report-page:has(.index-row) .index-row,
.print-page:has(.index-row) .index-row{
  display:grid!important;
  grid-template-columns:10mm max-content minmax(10mm, 1fr) 9mm!important;
  gap:2mm!important;
  align-items:baseline!important;
  min-height:4.1mm!important;
  padding:.75mm 0!important;
  border:0!important;
  color:var(--gmp-doc-ink)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:7.8pt!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
}

.index-row strong,
.index-row .index-title,
.index-row em{
  display:block!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

.index-row strong{
  text-align:right!important;
}

.index-row .index-title{
  font-weight:700!important;
}

.index-row .index-dots{
  display:block!important;
  min-width:8mm!important;
  height:1px!important;
  border-bottom:1px dotted #64748b!important;
  transform:translateY(-1.5px)!important;
}

.index-row span::after{
  display:none!important;
  content:none!important;
}

.index-row em{
  color:var(--gmp-doc-blue)!important;
  font-style:normal!important;
  text-align:right!important;
}

@media(max-width:900px){
  .workspace,
  .app-shell,
  .menu-shell{
    padding:18px 14px 64px!important;
  }

  .doc-page,
  .report-page,
  .print-page{
    width:100%!important;
    min-height:auto!important;
    padding:22px!important;
  }
}

@media print{
  @page{size:A4;margin:0}

  html,
  body{
    width:210mm!important;
    background:#fff!important;
    color:#000!important;
  }

  .menu-header,
  .app-header,
  body>header,
  form,
  .tabs,
  .tabbar,
  .preview-toolbar,
  .record-tools,
  #toast,
  .ui-system-message{
    display:none!important;
  }

  .workspace,
  .app-shell,
  .preview-wrap,
  .document,
  .report{
    width:210mm!important;
    max-width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .doc-page,
  .report-page,
  .print-page{
    width:210mm!important;
    height:auto!important;
    min-height:297mm!important;
    margin:0!important;
    padding:15mm 14mm 18mm!important;
    box-shadow:none!important;
    overflow:visible!important;
    page-break-inside:auto!important;
    break-inside:auto!important;
  }

  .doc-cover-page,
  .classic-doc-cover,
  .cover.doc-page{
    padding:18mm 18mm 14mm!important;
  }
}

/* Overrides finales: login y menú contextual */
.auth-screen[hidden],
[hidden].auth-screen{
  display:none!important;
}

.auth-management-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  width:min(430px,calc(100vw - 32px))!important;
  max-width:430px!important;
  min-height:auto!important;
  padding:0!important;
}

.auth-system-panel{
  display:none!important;
}

.auth-login-panel{
  padding:32px 32px 34px!important;
}

.auth-login-panel .auth-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}

.auth-login-panel .auth-brand img{
  display:block!important;
  width:142px!important;
  max-width:142px!important;
  max-height:54px!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  filter:none!important;
}

.auth-login-panel .auth-brand div{
  display:grid!important;
  justify-items:end!important;
  gap:3px!important;
}

.password-toggle{
  border:1px solid #d7e0ea!important;
  background:#f8fafc!important;
  color:#163f73!important;
}

.login-submit{
  border-color:#163f73!important;
  background:#163f73!important;
  color:#fff!important;
}

.login-submit::before,
.password-toggle::before{
  content:none!important;
}

.ui-more-menu{
  top:calc(100% + 8px)!important;
  bottom:auto!important;
  z-index:9999!important;
}

.ui-more-actions.open-up .ui-more-menu{
  top:auto!important;
  bottom:calc(100% + 8px)!important;
}

@media(max-width:820px){
  .auth-management-card{
    grid-template-columns:1fr!important;
  }
}

/* Enterprise app shell v7: visual language based on the supplied reference. */
:root{
  --qe-bg:#f4f7fb;
  --qe-surface:#ffffff;
  --qe-surface-soft:#f8fafc;
  --qe-sidebar:#071426;
  --qe-sidebar-2:#0c1f36;
  --qe-sidebar-active:#18386e;
  --qe-blue:#2563eb;
  --qe-blue-dark:#123b73;
  --qe-ink:#111827;
  --qe-muted:#667085;
  --qe-muted-2:#8a94a6;
  --qe-line:#d9e2ee;
  --qe-line-soft:#edf2f7;
  --qe-success:#20b486;
  --qe-warning:#f2b400;
  --qe-danger:#d14335;
  --qe-radius:14px;
  --qe-radius-sm:10px;
  --qe-shadow:0 18px 44px rgba(15,23,42,.08);
  --qe-shadow-sm:0 8px 22px rgba(15,23,42,.06);
  --gmp-bg:var(--qe-bg);
  --gmp-surface:var(--qe-surface);
  --gmp-line:var(--qe-line);
  --gmp-ink:var(--qe-ink);
  --gmp-muted:var(--qe-muted);
  --gmp-blue:var(--qe-blue-dark);
  --gmp-blue-2:var(--qe-blue);
  --enterprise-bg:var(--qe-bg);
  --enterprise-surface:var(--qe-surface);
  --enterprise-line:var(--qe-line);
  --enterprise-ink:var(--qe-ink);
  --enterprise-muted:var(--qe-muted);
  --enterprise-blue:var(--qe-blue-dark);
  --enterprise-blue-strong:var(--qe-blue);
  --enterprise-radius:var(--qe-radius-sm);
  --ui-brand:var(--qe-blue);
  --ui-brand-dark:var(--qe-blue-dark);
}

html,
body{
  background:var(--qe-bg)!important;
  color:var(--qe-ink)!important;
  font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif!important;
}

body{
  background:
    radial-gradient(circle at 18% -10%,rgba(37,99,235,.08),transparent 32rem),
    linear-gradient(180deg,#f8fbff 0%,var(--qe-bg) 54%,#eef3f9 100%)!important;
}

body.auth-open{
  background:#eef4fb!important;
}

body:not(.auth-open) .main-menu:not([hidden]){
  min-height:100vh!important;
  padding-left:196px!important;
  background:var(--qe-bg)!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-header{
  position:fixed!important;
  inset:0 auto 0 0!important;
  z-index:80!important;
  width:196px!important;
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:22px!important;
  padding:26px 14px 18px!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  border-radius:0!important;
  background:
    linear-gradient(180deg,rgba(13,33,57,.98),rgba(5,16,30,.99)),
    var(--qe-sidebar)!important;
  color:#fff!important;
  box-shadow:10px 0 30px rgba(7,20,38,.18)!important;
  backdrop-filter:none!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:52px!important;
  padding:0 8px 18px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-brand img{
  width:116px!important;
  max-width:116px!important;
  max-height:42px!important;
  filter:brightness(0) invert(1) grayscale(1) opacity(.92)!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-brand span{
  color:#9db0ca!important;
  font-size:.68rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-brand strong{
  color:#fff!important;
  font-size:.88rem!important;
  font-weight:650!important;
}

.app-sidebar-nav{
  display:grid!important;
  gap:6px!important;
  align-content:start!important;
  min-height:0!important;
}

.app-sidebar-link{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  width:100%!important;
  padding:8px 10px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#d6e0ef!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-size:.9rem!important;
  font-weight:600!important;
  text-align:left!important;
}

.app-sidebar-link span{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:8px!important;
  color:#b8c7de!important;
  font-size:.68rem!important;
  font-weight:800!important;
}

.app-sidebar-link:hover,
.app-sidebar-link:focus-visible,
.app-sidebar-link.active{
  border-color:rgba(255,255,255,.10)!important;
  background:linear-gradient(90deg,var(--qe-sidebar-active),rgba(37,99,235,.16))!important;
  color:#fff!important;
}

.app-sidebar-link:hover span,
.app-sidebar-link.active span{
  border-color:rgba(113,160,255,.42)!important;
  background:rgba(37,99,235,.24)!important;
  color:#fff!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-account{
  margin-top:auto!important;
  display:grid!important;
  gap:8px!important;
  align-items:end!important;
  justify-content:stretch!important;
  padding:14px 8px 0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-account div{
  justify-items:start!important;
  padding:0 2px 6px!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-account strong{
  color:#fff!important;
  font-size:.92rem!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-account span{
  color:#9db0ca!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-account-btn{
  width:100%!important;
  justify-content:flex-start!important;
  min-height:38px!important;
  border-color:rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.05)!important;
  color:#e8eef8!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-account-btn:hover{
  border-color:rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-shell{
  width:min(100%,1440px)!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:28px 32px 72px!important;
}

.menu-intro,
.manager-heading,
.section-title,
.chat-head{
  border:0!important;
  border-bottom:1px solid var(--qe-line)!important;
  padding:0 0 18px!important;
  margin-bottom:22px!important;
  background:transparent!important;
  box-shadow:none!important;
}

.menu-intro h1,
.manager-heading h1,
.section-title h2,
.chat-head h2,
.module-placeholder h1{
  color:var(--qe-ink)!important;
  font-size:clamp(1.45rem,1.6vw,2rem)!important;
  font-weight:650!important;
  letter-spacing:0!important;
}

.auth-kicker,
.eyebrow,
.manager-heading .auth-kicker,
.section-title p,
.chat-head .auth-kicker{
  color:#475569!important;
  font-size:.78rem!important;
  font-weight:650!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
}

.ui-home-dashboard,
.stats-grid,
.metrics-grid,
.summary-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:14px!important;
}

.ui-home-card,
.stat-card,
.metric-card,
.summary-card,
.home-activity,
.chat-panel,
.panel,
.card,
.manager-heading,
.database-manager,
.results-manager,
.user-manager,
.context-manager,
.instrument-manager,
.module-placeholder,
.record-tools,
.history-card,
.database-panel,
.result-doc-card,
.teams-chat-sidebar,
.teams-chat-room{
  border:1px solid var(--qe-line)!important;
  border-radius:var(--qe-radius)!important;
  background:var(--qe-surface)!important;
  box-shadow:var(--qe-shadow-sm)!important;
}

.ui-home-card,
.stat-card,
.metric-card,
.summary-card{
  padding:18px!important;
  min-height:112px!important;
}

.ui-home-card strong,
.stat-card strong,
.metric-card strong,
.summary-card strong{
  color:var(--qe-ink)!important;
  font-size:1.55rem!important;
  font-weight:650!important;
}

.ui-home-card small,
.ui-home-card span,
.stat-card small,
.stat-card span,
.metric-card small,
.metric-card span,
.summary-card small,
.summary-card span{
  color:var(--qe-muted)!important;
}

.module-grid,
.protocol-grid,
.reports-grid,
.database-options{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:10px!important;
}

.module-card,
.database-option{
  grid-template-columns:40px minmax(0,1fr) 22px!important;
  min-height:74px!important;
  padding:14px 16px!important;
  border:1px solid var(--qe-line)!important;
  border-radius:var(--qe-radius-sm)!important;
  background:#fff!important;
  color:var(--qe-ink)!important;
  box-shadow:none!important;
}

.module-card::before,
.database-option::before{
  width:0!important;
  content:none!important;
}

.module-card:hover,
.database-option:hover{
  border-color:#bdd0eb!important;
  background:#f8fbff!important;
  box-shadow:var(--qe-shadow-sm)!important;
}

.module-icon{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  border:0!important;
  background:#eef4ff!important;
  color:var(--qe-blue)!important;
  font-size:.72rem!important;
  font-weight:800!important;
}

button,
a.button,
.button,
.file-button,
.session-button,
.menu-account-btn,
.back-menu-btn,
.chat-tool-btn,
.chat-attach-btn,
.tabs button,
.tab,
.qe-btn{
  min-height:40px!important;
  border:1px solid var(--qe-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--qe-blue-dark)!important;
  box-shadow:none!important;
  font-family:Inter,"Segoe UI",system-ui,Arial,sans-serif!important;
  font-size:.88rem!important;
  font-weight:600!important;
}

button:hover,
a.button:hover,
.button:hover,
.file-button:hover,
.session-button:hover,
.menu-account-btn:hover,
.back-menu-btn:hover,
.chat-tool-btn:hover,
.chat-attach-btn:hover,
.tabs button:hover,
.tab:hover,
.qe-btn:hover{
  border-color:#bfd0e8!important;
  background:#f5f8ff!important;
  color:var(--qe-blue)!important;
  transform:none!important;
}

button[type="submit"],
.primary,
.login-submit,
#saveOnlineBtn,
#saveRecord,
#signAndClose,
#signatureActionBtn,
#parseRooms,
#generateRecords{
  border-color:var(--qe-blue)!important;
  background:var(--qe-blue)!important;
  color:#fff!important;
}

button[type="submit"]:hover,
.primary:hover,
.login-submit:hover,
#saveOnlineBtn:hover,
#saveRecord:hover,
#signAndClose:hover,
#signatureActionBtn:hover,
#parseRooms:hover,
#generateRecords:hover{
  border-color:#1d4ed8!important;
  background:#1d4ed8!important;
  color:#fff!important;
}

.danger,
button.danger,
.remove,
button.remove,
[data-ui-action="delete"]{
  border-color:#f4b7b0!important;
  background:#fff7f6!important;
  color:var(--qe-danger)!important;
}

input,
select,
textarea{
  min-height:42px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--qe-ink)!important;
  box-shadow:none!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:#7aa7f7!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14)!important;
  outline:none!important;
}

label,
.form-label{
  color:#344054!important;
  font-size:.88rem!important;
  font-weight:600!important;
}

.table-wrap,
.results-table-wrap,
.data-table-wrap{
  border:1px solid var(--qe-line)!important;
  border-radius:var(--qe-radius)!important;
  background:#fff!important;
  overflow:auto!important;
  box-shadow:var(--qe-shadow-sm)!important;
}

table,
.data-table,
.records-table,
.results-table{
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
}

table th,
.data-table th,
.records-table th,
.results-table th{
  position:sticky!important;
  top:0!important;
  z-index:1!important;
  border:0!important;
  border-bottom:1px solid var(--qe-line)!important;
  background:#f8fafc!important;
  color:#475467!important;
  font-size:.76rem!important;
  font-weight:650!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}

table td,
.data-table td,
.records-table td,
.results-table td{
  border:0!important;
  border-bottom:1px solid var(--qe-line-soft)!important;
  background:#fff!important;
  color:#1f2937!important;
}

tbody tr:hover td{
  background:#f8fbff!important;
}

.results-table{
  min-width:1320px!important;
}

.results-table tbody tr{
  height:142px!important;
}

.results-actions{
  gap:8px!important;
}

.results-actions button,
.result-doc-list .result-edit,
.result-doc-list .result-download-signed,
.result-doc-list .result-print-signed,
.result-room-toggle,
.result-room-options button{
  min-height:36px!important;
  border-radius:10px!important;
  font-size:.76rem!important;
  white-space:normal!important;
}

.status-complete,
.status-completed,
.status-firmado,
.status-firmado-terminado,
.semaphore-green,
.complete,
.completed,
.done{
  border-color:rgba(32,180,134,.32)!important;
  background:#eafaf5!important;
  color:#08795d!important;
}

.status-process,
.status-draft,
.status-en-proceso,
.semaphore-yellow,
.warning,
.process,
.processing{
  border-color:rgba(242,180,0,.36)!important;
  background:#fff7df!important;
  color:#8a6200!important;
}

.status-pending,
.status-pendiente,
.semaphore-red,
.pending,
.incomplete{
  border-color:rgba(209,67,53,.30)!important;
  background:#fff1ef!important;
  color:#b42318!important;
}

.status-info,
.informativo,
.info,
.semaphore-blue{
  border-color:rgba(37,99,235,.24)!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}

.teams-chat{
  padding:0!important;
  overflow:hidden!important;
}

.teams-chat .chat-head{
  margin:0!important;
  padding:22px 24px!important;
  border-bottom:1px solid var(--qe-line)!important;
}

.teams-chat-layout{
  grid-template-columns:minmax(280px,340px) minmax(0,1fr)!important;
  min-height:640px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

.teams-chat-sidebar{
  border:0!important;
  border-right:1px solid var(--qe-line)!important;
  border-radius:0!important;
  background:#fbfcff!important;
  box-shadow:none!important;
}

.chat-search{
  padding:18px!important;
  border-bottom:1px solid var(--qe-line)!important;
}

.chat-search input{
  border-radius:10px!important;
  background:#fff!important;
}

.chat-conversations{
  gap:7px!important;
  padding:12px!important;
}

.chat-conversation{
  min-height:72px!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  background:transparent!important;
  color:var(--qe-ink)!important;
}

.chat-conversation.active,
.chat-conversation:hover{
  border-color:#e4ebf4!important;
  background:#f3f7ff!important;
  box-shadow:none!important;
}

.chat-avatar{
  width:42px!important;
  height:42px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#4f7cf7,#1f55d6)!important;
  color:#fff!important;
  font-weight:750!important;
}

.chat-room-head{
  min-height:86px!important;
  border:0!important;
  border-bottom:1px solid var(--qe-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.chat-room-head strong{
  color:var(--qe-ink)!important;
  font-size:1.25rem!important;
  font-weight:650!important;
}

.chat-room-head small,
.chat-connection{
  color:var(--qe-muted)!important;
  font-weight:500!important;
}

.chat-messages{
  max-height:600px!important;
  padding:24px 28px!important;
  background:
    linear-gradient(180deg,#fff 0%,#fff 60%,#fbfdff 100%)!important;
}

.chat-date-separator,
.chat-unread-separator{
  color:var(--qe-muted)!important;
  font-weight:600!important;
  text-transform:none!important;
}

.chat-unread-separator span{
  border:1px solid rgba(37,99,235,.36)!important;
  border-radius:999px!important;
  padding:3px 12px!important;
  color:var(--qe-blue)!important;
  background:#fff!important;
}

.chat-message{
  max-width:82%!important;
}

.chat-bubble{
  max-width:min(680px,76%)!important;
  padding:12px 14px 10px!important;
  border:1px solid #dce4ef!important;
  border-radius:16px 16px 16px 6px!important;
  background:#f8fafc!important;
  color:#1f2937!important;
  box-shadow:0 6px 18px rgba(15,23,42,.05)!important;
}

.chat-message.is-mine .chat-bubble{
  border-color:#1d5fe8!important;
  border-radius:16px 16px 6px 16px!important;
  background:linear-gradient(180deg,#3578f6,#2563eb)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(37,99,235,.22)!important;
}

.chat-message.is-mine .chat-author strong,
.chat-message.is-mine .chat-author small,
.chat-message.is-mine .chat-message-meta,
.chat-message.is-mine .chat-text{
  color:#fff!important;
}

.chat-message-meta{
  color:#8b95a6!important;
  font-weight:500!important;
}

.chat-message-actions{
  border-radius:12px!important;
  box-shadow:var(--qe-shadow-sm)!important;
}

.chat-form{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  padding:16px 18px!important;
  border-top:1px solid var(--qe-line)!important;
  background:#fff!important;
}

.chat-attachment-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:1px!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.chat-composer{
  border-radius:14px!important;
  background:#fff!important;
}

.chat-composer textarea{
  min-height:44px!important;
  padding:11px 12px!important;
}

#toast,
.ui-system-message{
  border:1px solid var(--qe-line)!important;
  border-radius:12px!important;
  background:#101828!important;
  color:#fff!important;
  box-shadow:var(--qe-shadow)!important;
}

.auth-card,
.auth-management-card{
  border-radius:16px!important;
  box-shadow:var(--qe-shadow)!important;
}

.auth-login-panel .auth-brand{
  border-bottom:1px solid var(--qe-line)!important;
}

.auth-heading h1{
  color:var(--qe-ink)!important;
  font-size:2rem!important;
}

.login-submit{
  min-height:46px!important;
  border-radius:10px!important;
}

@media(max-width:1024px){
  body:not(.auth-open) .main-menu:not([hidden]){
    padding-left:86px!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .menu-header{
    width:86px!important;
    padding:18px 10px!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .menu-brand div,
  body:not(.auth-open) .main-menu:not([hidden]) .menu-account div,
  body:not(.auth-open) .main-menu:not([hidden]) .menu-account-btn,
  .app-sidebar-link strong{
    display:none!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .menu-brand{
    justify-content:center!important;
    padding:0 0 14px!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .menu-brand img{
    width:46px!important;
    max-width:46px!important;
  }

  .app-sidebar-link{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    padding:8px!important;
  }
}

@media(max-width:760px){
  body:not(.auth-open) .main-menu:not([hidden]){
    padding-left:0!important;
    padding-bottom:74px!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .menu-header{
    inset:auto 0 0 0!important;
    width:100%!important;
    min-height:64px!important;
    height:64px!important;
    padding:8px 10px!important;
    flex-direction:row!important;
    border-right:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    overflow-x:auto!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .menu-brand,
  body:not(.auth-open) .main-menu:not([hidden]) .menu-account{
    display:none!important;
  }

  .app-sidebar-nav{
    display:flex!important;
    min-width:max-content!important;
  }

  .app-sidebar-link{
    width:auto!important;
    min-width:58px!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .menu-shell{
    padding:20px 14px 90px!important;
  }

  .teams-chat-layout{
    grid-template-columns:1fr!important;
  }

  .teams-chat-sidebar{
    border-right:0!important;
    border-bottom:1px solid var(--qe-line)!important;
  }

  .chat-conversations{
    display:flex!important;
    overflow:auto!important;
  }

  .chat-conversation{
    min-width:260px!important;
  }

  .chat-form{
    grid-template-columns:1fr!important;
  }
}

/* Sidebar final corrections: keep navigation dark even for button elements. */
body:not(.auth-open) .main-menu:not([hidden]) .menu-header .menu-brand img{
  width:128px!important;
  max-width:128px!important;
  max-height:48px!important;
  padding:6px!important;
  border-radius:10px!important;
  background:#fff!important;
  filter:none!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-header .menu-brand div{
  display:none!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link,
body:not(.auth-open) .main-menu:not([hidden]) button.app-sidebar-link,
body:not(.auth-open) .main-menu:not([hidden]) a.app-sidebar-link{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:start!important;
  gap:10px!important;
  min-height:44px!important;
  width:100%!important;
  padding:8px 10px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#d6e0ef!important;
  box-shadow:none!important;
  text-decoration:none!important;
  text-align:left!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link:hover,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link:focus-visible,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link.active{
  border-color:rgba(255,255,255,.10)!important;
  background:linear-gradient(90deg,var(--qe-sidebar-active),rgba(37,99,235,.16))!important;
  color:#fff!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link span{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#b8c7de!important;
  font-size:.68rem!important;
  font-weight:800!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link .nav-icon{
  font-size:0!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link .nav-icon::before{
  content:""!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  background:currentColor!important;
  -webkit-mask:var(--nav-mask) center / 18px 18px no-repeat!important;
  mask:var(--nav-mask) center / 18px 18px no-repeat!important;
}

.nav-icon[data-nav-icon="home"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 11.5l1.4 1.5L5 11.6V21h5v-6h4v6h5v-9.4l1.6 1.4 1.4-1.5L12 3Zm0 2.6 5 4.3V19h-1v-6H8v6H7V9.9l5-4.3Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="projects"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5a2 2 0 0 1 2-2h4.2l2 2H19a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm2 0v14h14V7h-8.6l-2-2H5Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="protocols"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v15H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm8 2H6v16h12V8h-4V4Zm-5 8h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="records"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18H5V3Zm2 2v14h10V5H7Zm2 2h6v2H9V7Zm0 4h6v2H9v-2Zm0 4h4v2H9v-2Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="reports"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16v18H4V3Zm2 2v14h12V5H6Zm2 10h2v2H8v-2Zm3-5h2v7h-2v-7Zm3 3h2v4h-2v-4Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="equipment"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 4h8v3h3v13H5V7h3V4Zm2 3h4V6h-4v1ZM7 9v9h10V9H7Zm2 2h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="messaging"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v11H8.8L4 19.2V4Zm2 2v8.8l2-1.8h10V6H6Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="documents"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h8l5 5v15H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm7 2H7v16h11V8h-4V4Zm-4 8h5v2h-5v-2Zm0 4h5v2h-5v-2Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="planning"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2Zm11 8H6v10h12V10ZM6 8h12V6H6v2Zm2 4h3v3H8v-3Zm5 0h3v3h-3v-3Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="settings"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.4-2.4 1a7.6 7.6 0 0 0-2.6-1.5L14 2.5h-4l-.4 2.6A7.6 7.6 0 0 0 7 6.6l-2.4-1-2 3.4 2 1.5c-.1.5-.1 1-.1 1.5s0 1 .1 1.5l-2 1.5 2 3.4 2.4-1c.8.7 1.6 1.2 2.6 1.5l.4 2.6h4l.4-2.6c1-.3 1.9-.8 2.6-1.5l2.4 1 2-3.4-2-1.5ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E");}

.placeholder-actions{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:18px 0 10px!important;
}

.placeholder-action-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:48px!important;
  padding:11px 14px!important;
  border:1px solid var(--qe-line)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--qe-blue-dark)!important;
  font-weight:650!important;
}

.placeholder-action-btn:hover{
  border-color:#bdd0eb!important;
  background:#f5f8ff!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link:hover span,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link.active span{
  border-color:rgba(113,160,255,.42)!important;
  background:rgba(37,99,235,.24)!important;
  color:#fff!important;
}

@media(max-width:1024px){
  body:not(.auth-open) .main-menu:not([hidden]) .menu-header .menu-brand img{
    width:48px!important;
    max-width:48px!important;
    padding:4px!important;
  }

  body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link,
  body:not(.auth-open) .main-menu:not([hidden]) button.app-sidebar-link,
  body:not(.auth-open) .main-menu:not([hidden]) a.app-sidebar-link{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    padding:8px!important;
  }
}

/* Full messaging workspace: closer to the supplied Teams-style reference. */
body:not(.auth-open) .main-menu.messaging-mode:not([hidden]){
  height:100vh!important;
  overflow:hidden!important;
}

body:not(.auth-open) .main-menu.messaging-mode:not([hidden]) .menu-shell{
  width:calc(100vw - 196px)!important;
  max-width:none!important;
  height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

.main-menu.messaging-mode .menu-intro,
.main-menu.messaging-mode .ui-home-dashboard,
.main-menu.messaging-mode .home-activity,
.main-menu.messaging-mode .module-grid{
  display:none!important;
}

.main-menu.messaging-mode .teams-chat{
  display:block!important;
  height:100vh!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

.main-menu.messaging-mode .teams-chat > .chat-head{
  display:none!important;
}

.main-menu.messaging-mode .teams-chat-layout{
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  height:100vh!important;
  min-height:100vh!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}

.main-menu.messaging-mode .teams-chat-sidebar{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  height:100vh!important;
  min-height:0!important;
  border:0!important;
  border-right:1px solid #e5eaf2!important;
  border-radius:0!important;
  background:#fbfcff!important;
  box-shadow:none!important;
}

.conversation-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:24px 24px 14px!important;
}

.conversation-head div{
  display:grid!important;
  gap:6px!important;
}

.conversation-head span{
  color:#667085!important;
  font-size:.86rem!important;
  font-weight:600!important;
}

.conversation-head strong{
  color:#111827!important;
  font-size:1.35rem!important;
  line-height:1.1!important;
  font-weight:700!important;
}

.conversation-new{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:1px solid #dce4ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#1f2937!important;
  font-size:1.45rem!important;
  font-weight:400!important;
}

.main-menu.messaging-mode .chat-search{
  padding:0 24px 16px!important;
  border:0!important;
  background:transparent!important;
  color:transparent!important;
  font-size:0!important;
}

.main-menu.messaging-mode .chat-search input{
  height:44px!important;
  min-height:44px!important;
  padding-left:42px!important;
  border:1px solid #dce4ef!important;
  border-radius:9px!important;
  background:
    linear-gradient(transparent,transparent),
    #fff!important;
  color:#111827!important;
  font-size:.92rem!important;
}

.main-menu.messaging-mode .chat-search::before{
  content:"";
  position:absolute;
}

.main-menu.messaging-mode .chat-conversations{
  display:grid!important;
  align-content:start!important;
  gap:8px!important;
  min-height:0!important;
  padding:4px 14px 12px!important;
  overflow:auto!important;
  background:transparent!important;
}

.main-menu.messaging-mode .chat-conversation{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  min-height:78px!important;
  padding:12px 12px!important;
  border:1px solid transparent!important;
  border-radius:15px!important;
  background:transparent!important;
  box-shadow:none!important;
}

.main-menu.messaging-mode .chat-conversation.active,
.main-menu.messaging-mode .chat-conversation:hover{
  border-color:#edf2f8!important;
  background:linear-gradient(90deg,#f1f6ff,#fbfdff)!important;
}

.main-menu.messaging-mode .chat-conversation-main strong{
  color:#111827!important;
  font-size:.95rem!important;
  font-weight:700!important;
}

.main-menu.messaging-mode .chat-conversation-main small,
.main-menu.messaging-mode .chat-conversation-meta small{
  color:#667085!important;
  font-size:.82rem!important;
}

.main-menu.messaging-mode .chat-conversation-meta b{
  min-width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:.76rem!important;
}

.conversation-all{
  margin:14px 24px 24px!important;
  width:auto!important;
  min-height:42px!important;
  border:1px solid #dce4ef!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#475467!important;
  font-size:.92rem!important;
  font-weight:650!important;
}

.main-menu.messaging-mode .teams-chat-room{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
  height:100vh!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

.main-menu.messaging-mode .chat-room-head{
  min-height:88px!important;
  padding:22px 32px!important;
  border:0!important;
  border-bottom:1px solid #e5eaf2!important;
  background:#fff!important;
}

.main-menu.messaging-mode .chat-room-head strong{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#111827!important;
  font-size:1.45rem!important;
  line-height:1.1!important;
  font-weight:750!important;
}

.main-menu.messaging-mode .chat-room-head strong::after{
  content:"☆";
  color:#667085;
  font-size:1.2rem;
  font-weight:400;
}

.main-menu.messaging-mode .chat-room-head small{
  display:inline-block!important;
  margin-top:8px!important;
  color:#667085!important;
  font-size:.92rem!important;
}

.main-menu.messaging-mode .chat-connection{
  margin-left:10px!important;
  color:#20b486!important;
  font-size:.92rem!important;
}

.main-menu.messaging-mode .chat-room-tools{
  gap:16px!important;
}

.main-menu.messaging-mode .chat-tool-btn,
.main-menu.messaging-mode #chatRoomBadge{
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#667085!important;
  font-size:0!important;
  box-shadow:none!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:18px 18px!important;
}

.main-menu.messaging-mode .chat-room-tools .chat-tool-btn:nth-child(1){
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important;
}

.main-menu.messaging-mode .chat-room-tools .chat-tool-btn:nth-child(2){
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E")!important;
}

.main-menu.messaging-mode .chat-room-tools .chat-tool-btn:nth-child(3){
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-8.49 8.49a6 6 0 0 1-8.49-8.49l8.49-8.49a4 4 0 0 1 5.66 5.66l-8.49 8.49a2 2 0 0 1-2.83-2.83l8.49-8.49'/%3E%3C/svg%3E")!important;
}

.main-menu.messaging-mode #chatRoomBadge::before{content:"...";}

.main-menu.messaging-mode .chat-tool-btn::before,
.main-menu.messaging-mode #chatRoomBadge::before{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  color:#667085!important;
  font-size:1rem!important;
  font-weight:800!important;
}

.main-menu.messaging-mode .chat-messages{
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  padding:28px 36px 18px!important;
  overflow:auto!important;
  background:#fff!important;
}

.main-menu.messaging-mode .chat-date-separator,
.main-menu.messaging-mode .chat-unread-separator{
  margin:2px 0 24px!important;
  color:#667085!important;
  font-size:.76rem!important;
  font-weight:700!important;
}

.main-menu.messaging-mode .chat-unread-separator{
  margin:22px 0!important;
}

.main-menu.messaging-mode .chat-unread-separator::before,
.main-menu.messaging-mode .chat-unread-separator::after{
  background:#2563eb!important;
}

.main-menu.messaging-mode .chat-unread-separator span{
  border-color:#88adff!important;
  color:#2563eb!important;
}

.main-menu.messaging-mode .chat-message{
  max-width:100%!important;
  margin-bottom:18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.main-menu.messaging-mode .chat-avatar,
.main-menu.messaging-mode .chat-avatar-spacer{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
}

.main-menu.messaging-mode .chat-bubble{
  max-width:min(560px,58vw)!important;
  padding:12px 14px 10px!important;
  border:1px solid #dfe5ee!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  box-shadow:0 3px 10px rgba(15,23,42,.04)!important;
}

.main-menu.messaging-mode .chat-message.is-mine .chat-bubble{
  max-width:min(420px,45vw)!important;
  border:0!important;
  border-radius:12px!important;
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(37,99,235,.24)!important;
}

.main-menu.messaging-mode .chat-author strong{
  font-size:.9rem!important;
  font-weight:750!important;
}

.main-menu.messaging-mode .chat-message-meta{
  margin-top:7px!important;
  color:#8a94a6!important;
  font-size:.76rem!important;
}

.main-menu.messaging-mode .chat-typing{
  min-height:22px!important;
  padding:0 36px 4px!important;
  background:#fff!important;
}

.main-menu.messaging-mode .chat-form{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 36px 24px!important;
  padding:12px!important;
  border:1px solid #dce4ef!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}

.main-menu.messaging-mode #chatRecipientSelect{
  display:none!important;
}

.main-menu.messaging-mode .chat-attach-btn{
  grid-column:1!important;
  grid-row:1!important;
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:#f3f6fa!important;
  color:#667085!important;
  font-size:0!important;
}

.main-menu.messaging-mode .chat-attach-btn::before{
  content:""!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:auto!important;
  background:#667085!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m21.4 11.1-8.5 8.5a6 6 0 0 1-8.5-8.5l8.5-8.5a4 4 0 0 1 5.7 5.7l-8.5 8.5a2 2 0 0 1-2.8-2.8l8.5-8.5 1.4 1.4-8.5 8.5 1.4 1.4 8.5-8.5a2 2 0 1 0-2.8-2.8l-8.5 8.5a4 4 0 1 0 5.7 5.7l8.5-8.5 1.4 1.4Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m21.4 11.1-8.5 8.5a6 6 0 0 1-8.5-8.5l8.5-8.5a4 4 0 0 1 5.7 5.7l-8.5 8.5a2 2 0 0 1-2.8-2.8l8.5-8.5 1.4 1.4-8.5 8.5 1.4 1.4 8.5-8.5a2 2 0 1 0-2.8-2.8l-8.5 8.5a4 4 0 1 0 5.7 5.7l8.5-8.5 1.4 1.4Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat!important;
}

.main-menu.messaging-mode .chat-composer{
  grid-column:2!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}

.main-menu.messaging-mode .chat-composer textarea{
  min-height:38px!important;
  padding:8px 10px!important;
  border:0!important;
  box-shadow:none!important;
}

.main-menu.messaging-mode .chat-form button[type="submit"]{
  grid-column:3!important;
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:10px!important;
  border-color:#2563eb!important;
  background:#2563eb!important;
  color:#fff!important;
  font-size:0!important;
}

.main-menu.messaging-mode .chat-form button[type="submit"]::before{
  content:""!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:auto!important;
  background:#fff!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 21 23 12 2 3v7l13 2-13 2v7Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 21 23 12 2 3v7l13 2-13 2v7Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat!important;
}

@media(max-width:1024px){
  body:not(.auth-open) .main-menu.messaging-mode:not([hidden]) .menu-shell{
    width:calc(100vw - 86px)!important;
  }

  .main-menu.messaging-mode .teams-chat-layout{
    grid-template-columns:300px minmax(0,1fr)!important;
  }
}

@media(max-width:760px){
  body:not(.auth-open) .main-menu.messaging-mode:not([hidden]){
    height:auto!important;
    min-height:100vh!important;
    overflow:auto!important;
  }

  body:not(.auth-open) .main-menu.messaging-mode:not([hidden]) .menu-shell{
    width:100%!important;
    height:auto!important;
    min-height:calc(100vh - 64px)!important;
  }

  .main-menu.messaging-mode .teams-chat,
  .main-menu.messaging-mode .teams-chat-layout,
  .main-menu.messaging-mode .teams-chat-room,
  .main-menu.messaging-mode .teams-chat-sidebar{
    height:auto!important;
    min-height:0!important;
  }

  .main-menu.messaging-mode .teams-chat-layout{
    grid-template-columns:1fr!important;
  }

  .main-menu.messaging-mode .chat-conversations{
    display:flex!important;
    overflow-x:auto!important;
  }

  .main-menu.messaging-mode .chat-conversation{
    min-width:260px!important;
  }

  .main-menu.messaging-mode .chat-messages{
    max-height:55vh!important;
  }

  .main-menu.messaging-mode .chat-form{
    margin:0 14px 86px!important;
  }
}

/* Final icon pass: sidebar icons must behave like Lucide-style glyphs, never text badges. */
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link .nav-icon{
  font-size:0!important;
  line-height:0!important;
  width:22px!important;
  height:22px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#c9d6e8!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link .nav-icon::before{
  content:""!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  background:currentColor!important;
  -webkit-mask:var(--nav-mask) center / 18px 18px no-repeat!important;
  mask:var(--nav-mask) center / 18px 18px no-repeat!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link:hover .nav-icon,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link.active .nav-icon{
  border:0!important;
  background:transparent!important;
  color:#fff!important;
}



/* Unified module sidebar and simplified home dashboard. */
body:not(.auth-open) .main-menu:not(.messaging-mode) #menuHome > .module-grid{
  display:none!important;
}

body:not(.auth-open) .main-menu:not(.messaging-mode) .teams-chat{
  display:none!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-header{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  overflow-x:hidden!important;
  gap:4px!important;
  padding-right:2px!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link *{
  box-sizing:border-box!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link{
  max-width:100%!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .menu-account{
  position:relative!important;
  flex:0 0 auto!important;
  margin-top:10px!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link .sidebar-module-icon{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border:1px solid rgba(173,199,238,.88)!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#f7fbff 0%,#dceaff 100%)!important;
  color:#174ea6!important;
  font-size:.68rem!important;
  font-weight:850!important;
  letter-spacing:.035em!important;
  line-height:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 5px 14px rgba(15,23,42,.14)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.65)!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link:hover .sidebar-module-icon,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link.active .sidebar-module-icon{
  border-color:#c8dcff!important;
  background:linear-gradient(180deg,#ffffff 0%,#edf5ff 100%)!important;
  color:#0b3f91!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,1),0 8px 18px rgba(37,99,235,.22)!important;
}

body.has-qualing-global-sidebar{
  padding-left:196px!important;
  background:#f4f7fb!important;
}

.qualing-global-sidebar{
  position:fixed!important;
  inset:0 auto 0 0!important;
  z-index:9998!important;
  width:196px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  padding:18px 12px!important;
  background:linear-gradient(180deg,#071525 0%,#0b1a2c 100%)!important;
  color:#e7eef9!important;
  box-shadow:10px 0 28px rgba(15,23,42,.14)!important;
}

.qualing-sidebar-brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:50px!important;
  padding:6px 4px!important;
  color:#fff!important;
  text-decoration:none!important;
}

.qualing-sidebar-brand img{
  width:48px!important;
  height:32px!important;
  object-fit:contain!important;
  padding:4px!important;
  border-radius:8px!important;
  background:#fff!important;
}

.qualing-sidebar-brand span,
.qualing-sidebar-foot span:last-child{
  display:grid!important;
  min-width:0!important;
}

.qualing-sidebar-brand strong,
.qualing-sidebar-foot strong{
  color:#fff!important;
  font-size:.86rem!important;
  font-weight:800!important;
  line-height:1.15!important;
}

.qualing-sidebar-brand small,
.qualing-sidebar-foot small{
  color:#9fb0c8!important;
  font-size:.62rem!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

.qualing-sidebar-nav{
  display:grid!important;
  gap:4px!important;
  overflow:auto!important;
  padding-right:2px!important;
}

.qualing-sidebar-link{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:42px!important;
  padding:6px 8px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  color:#d6e0ef!important;
  text-decoration:none!important;
  background:transparent!important;
}

.qualing-sidebar-link:hover,
.qualing-sidebar-link:focus-visible,
.qualing-sidebar-link.active{
  border-color:rgba(255,255,255,.10)!important;
  background:linear-gradient(90deg,rgba(37,99,235,.28),rgba(37,99,235,.14))!important;
  color:#fff!important;
  outline:none!important;
}

.qualing-sidebar-link strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.82rem!important;
  font-weight:750!important;
}

.qualing-sidebar-code{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border:1px solid rgba(173,199,238,.88)!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#f7fbff 0%,#dceaff 100%)!important;
  color:#174ea6!important;
  font-size:.68rem!important;
  font-weight:850!important;
  letter-spacing:.035em!important;
  line-height:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 5px 14px rgba(15,23,42,.14)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.65)!important;
}

.qualing-sidebar-link:hover .qualing-sidebar-code,
.qualing-sidebar-link:focus-visible .qualing-sidebar-code,
.qualing-sidebar-link.active .qualing-sidebar-code{
  border-color:#c8dcff!important;
  background:linear-gradient(180deg,#ffffff 0%,#edf5ff 100%)!important;
  color:#0b3f91!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,1),0 8px 18px rgba(37,99,235,.22)!important;
}

.qualing-sidebar-foot{
  margin-top:auto!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 8px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.05)!important;
}

@media(max-width:1024px){
  body.has-qualing-global-sidebar{
    padding-left:72px!important;
  }

  .qualing-global-sidebar{
    width:72px!important;
    padding:14px 10px!important;
    align-items:center!important;
  }

  .qualing-sidebar-brand span,
  .qualing-sidebar-link strong,
  .qualing-sidebar-foot span:last-child{
    display:none!important;
  }

  .qualing-sidebar-brand img{
    width:44px!important;
  }

  .qualing-sidebar-link,
  .qualing-sidebar-foot{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    width:44px!important;
    padding:6px!important;
  }
}

@media(max-width:720px){
  body.has-qualing-global-sidebar{
    padding-left:0!important;
    padding-bottom:70px!important;
  }

  .qualing-global-sidebar{
    inset:auto 0 0 0!important;
    width:auto!important;
    height:68px!important;
    padding:8px 10px!important;
    flex-direction:row!important;
    overflow-x:auto!important;
  }

  .qualing-sidebar-brand,
  .qualing-sidebar-foot{
    display:none!important;
  }

  .qualing-sidebar-nav{
    display:flex!important;
    gap:8px!important;
    width:100%!important;
  }
}

/* Sidebar line-icon navigation, matching the supplied reference format. */
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link .nav-icon,
.qualing-sidebar-icon{
  display:grid!important;
  place-items:center!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#d8e3f2!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:0!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link .nav-icon::before,
.qualing-sidebar-icon::before{
  content:""!important;
  display:block!important;
  width:20px!important;
  height:20px!important;
  background:currentColor!important;
  -webkit-mask:var(--nav-mask) center / 20px 20px no-repeat!important;
  mask:var(--nav-mask) center / 20px 20px no-repeat!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link:hover .nav-icon,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link:focus-visible .nav-icon,
body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link.active .nav-icon,
.qualing-sidebar-link:hover .qualing-sidebar-icon,
.qualing-sidebar-link:focus-visible .qualing-sidebar-icon,
.qualing-sidebar-link.active .qualing-sidebar-icon{
  color:#5aa2ff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link,
body:not(.auth-open) .main-menu:not([hidden]) button.app-sidebar-link,
body:not(.auth-open) .main-menu:not([hidden]) a.app-sidebar-link,
.qualing-sidebar-link{
  grid-template-columns:28px minmax(0,1fr)!important;
  min-height:44px!important;
}

body:not(.auth-open) .main-menu:not([hidden]) .app-sidebar-link.active,
.qualing-sidebar-link.active{
  background:linear-gradient(90deg,rgba(37,99,235,.28),rgba(37,99,235,.12))!important;
  border-color:rgba(83,143,255,.22)!important;
}

.nav-icon[data-nav-icon="users"],
.qualing-sidebar-icon[data-nav-icon="users"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm7.5 3a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM2 21v-3.5C2 14.5 4.5 13 9 13s7 1.5 7 4.5V21h-2v-3.5c0-1.4-1.2-2.5-5-2.5s-5 1.1-5 2.5V19h8v2H2Zm15 0v-2h3v-2c0-1.3-.8-2.1-3.1-2.4l.2-2c3.2.4 4.9 1.9 4.9 4.4v4h-5Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="database"],
.qualing-sidebar-icon[data-nav-icon="database"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4V4Zm2 2v3h5V6H6Zm7 0v3h5V6h-5Zm5 5h-5v3h5v-3Zm0 5h-5v2h5v-2ZM11 18v-2H6v2h5Zm-5-4h5v-3H6v3Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="results"],
.qualing-sidebar-icon[data-nav-icon="results"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h10v2H4V5Zm12-1h4v4h-4V4ZM4 11h4v2H4v-2Zm6-1h10v4H10v-4ZM4 17h10v2H4v-2Zm12-1h4v4h-4v-4Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="validation"],
.qualing-sidebar-icon[data-nav-icon="validation"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 20 5v6c0 5-3.3 9.5-8 11-4.7-1.5-8-6-8-11V5l8-3Zm0 2.1L6 6.3V11c0 3.8 2.4 7.3 6 8.8 3.6-1.5 6-5 6-8.8V6.3l-6-2.2Zm4.3 5.8-5.1 5.1-2.7-2.7 1.4-1.4 1.3 1.3 3.7-3.7 1.4 1.4Z'/%3E%3C/svg%3E");}
.nav-icon[data-nav-icon="help"],
.qualing-sidebar-icon[data-nav-icon="help"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-1 13h2v2h-2v-2Zm1-12c2.2 0 4 1.4 4 3.5 0 1.5-.8 2.4-2.2 3.3-.8.5-1 .9-1 1.7v.5H11v-.7c0-1.4.5-2.2 1.7-3 1-.6 1.3-1 1.3-1.8C14 7.6 13.2 7 12 7s-2 .7-2 1.8H8c0-2.2 1.7-3.8 4-3.8Z'/%3E%3C/svg%3E");}
.qualing-sidebar-icon[data-nav-icon="home"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 11.5l1.4 1.5L5 11.6V21h5v-6h4v6h5v-9.4l1.6 1.4 1.4-1.5L12 3Zm0 2.6 5 4.3V19h-1v-6H8v6H7V9.9l5-4.3Z'/%3E%3C/svg%3E");}
.qualing-sidebar-icon[data-nav-icon="protocols"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v15H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm8 2H6v16h12V8h-4V4Zm-5 8h6v2H9v-2Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E");}
.qualing-sidebar-icon[data-nav-icon="records"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18H5V3Zm2 2v14h10V5H7Zm2 2h6v2H9V7Zm0 4h6v2H9v-2Zm0 4h4v2H9v-2Z'/%3E%3C/svg%3E");}
.qualing-sidebar-icon[data-nav-icon="reports"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16v18H4V3Zm2 2v14h12V5H6Zm2 10h2v2H8v-2Zm3-5h2v7h-2v-7Zm3 3h2v4h-2v-4Z'/%3E%3C/svg%3E");}
.qualing-sidebar-icon[data-nav-icon="messaging"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v11H8.8L4 19.2V4Zm2 2v8.8l2-1.8h10V6H6Z'/%3E%3C/svg%3E");}
.qualing-sidebar-icon[data-nav-icon="settings"]{--nav-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.4-2.4 1a7.6 7.6 0 0 0-2.6-1.5L14 2.5h-4l-.4 2.6A7.6 7.6 0 0 0 7 6.6l-2.4-1-2 3.4 2 1.5c-.1.5-.1 1-.1 1.5s0 1 .1 1.5l-2 1.5 2 3.4 2.4-1c.8.7 1.6 1.2 2.6 1.5l.4 2.6h4l.4-2.6c1-.3 1.9-.8 2.6-1.5l2.4 1 2-3.4-2-1.5ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E");}
