/* Identidad y equipo de DUOVIA; esta hoja no se carga en las otras sedes. */
.duovia-brand-logo {display: block; width: 100%; height: auto; object-fit: contain}
.hq-theme .brand {margin: 0 6px 28px}
.hq-theme .brand .duovia-brand-logo {width: 175px}
.hq-theme .brand small {margin-top: 4px; text-align: center; font-size: 9px; letter-spacing: 2px}
.duovia-access-brand {background: #142139; padding: 10px 24px; border-radius: 10px; margin-bottom: 20px}
.duovia-access-brand img {max-width: 290px; margin: auto}
.sede-intro-brand .duovia-brand-logo {width: 210px}
.duovia-footer-brand {width: 110px; background: #142139; padding: 0 8px; border-radius: 4px}
.hq-theme .duovia-reception {padding: 0; display: grid; grid-template-columns: 240px minmax(0,1fr); overflow: hidden; margin-bottom: 24px}
.duovia-reception-scene {display: block; width: 100%; height: 174px; object-fit: cover; background: #15243a}
.duovia-reception-copy {padding: 26px; align-self: center}
.duovia-reception-copy h2 {font-size: 28px; margin: 10px 0}
.duovia-reception-copy p {line-height: 1.7; color: #637189; margin-bottom: 15px}
.duovia-reception-copy .duovia-profile {margin-bottom: 16px}
.duovia-profile {display: flex; align-items: center; gap: 14px}
.duovia-reception-portrait {width: 64px; height: 64px; object-fit: cover; object-position: 50% 25%; border-radius: 50%}
.duovia-profile .eyebrow {margin: 0; color: #607590}
.hq-theme .duovia-profile h2 {margin: 5px 0; font-size: 27px}
.hq-theme .office-grid {display: block}
.hq-theme .duovia-director-card {display: grid; grid-template-columns: 230px minmax(0,1fr); position: relative; top: auto; margin-bottom: 24px; overflow: hidden; align-items: center}
.duovia-office-image {position: relative; background: #15243a}
.duovia-office-image > img {display: block; width: 100%; height: 168px; object-fit: cover}
.hq-theme .duovia-director-card .director-info {padding: 16px 24px; min-width: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 20px}
.hq-theme .duovia-director-card .avatar {width: 64px; height: 64px; flex: 0 0 64px; border-radius: 50%; margin: 0}
.hq-theme .duovia-director-card .director-description {margin: 12px 0; line-height: 1.6}
.hq-theme .duovia-director-card .director-role {grid-column: 1; margin: 4px 0 0 78px}
.hq-theme .duovia-director-card .voice-status {margin-top: 8px; min-height: 0}
.duovia-pending p {margin: 12px 0; line-height: 1.7; color: #637189}
.duovia-pending .button {margin: 10px 10px 0 0}
.department-pending {display: block; margin-top: 14px; color: #936617; font-size: 11px}
.hq-theme .department-photo img {object-position: 50% 28%}
.hq-theme .department-number {background: #142139a8; border-radius: 4px; padding: 4px 7px}
.hq-theme .secretaria {margin-bottom: 24px}

.hq-theme .reception-access {display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-bottom: 24px}
.hq-theme .reception-access .panel-heading {margin: 0}
.hq-theme .reception-access .connection-notice {margin: 0}
.hq-theme .reception-access > form, .hq-theme .reception-access > .quick-link {margin-left: auto}
.hq-theme .reception-access .quick-link {margin-top: 0; padding: 0; border: 0; width: auto; gap: 12px}

.hq-theme .footer {justify-content: center; text-align: center}
.hq-theme .account-profile {display: flex; align-items: center; gap: 9px; color: #23334e; border-radius: 8px; padding: 5px 7px; font-size: 12px}
.hq-theme .account-profile:hover, .hq-theme .account-profile[aria-current="page"] {background: #eef3ff}
.account-profile small {display: block; margin-top: 3px; font-size: 10px; color: #637189}
.account-avatar {display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #e8eefb; color: #315ed3; font-weight: 650}
.hq-theme .account-logout button {background: #fff; color: #344762; border: 1px solid #dce4ef; border-radius: 8px; padding: 9px 12px; font-size: 12px}
.hq-theme .account-logout button:hover {color: #244ba9}
.account-details {max-width: 680px}
.account-details dl {margin: 22px 0 0}
.account-details dl > div {display: grid; grid-template-columns: 140px 1fr; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line)}
.account-details dt {color: #637189}
.account-details dd {margin: 0}

/* Perfil: separa la confirmación, los datos personales y la acción de seguridad. */
.hq-theme .profile-page {max-width: 900px; display: grid; gap: 20px}
.hq-theme .profile-page .page-heading {margin: 0 0 4px}
.hq-theme .profile-page .page-heading p {margin-top: 8px; color: #637189}
.profile-success {display: flex; align-items: flex-start; gap: 13px; padding: 17px 20px; border: 1px solid #bfdfcf; border-radius: 12px; background: #eff9f3; color: #245b40}
.profile-success > svg {width: 24px; height: 24px; flex-shrink: 0; margin-top: 1px; color: #29855a}
.profile-success strong {display: block; font-size: 14px; font-weight: 650; line-height: 1.5}
.profile-success p {margin: 3px 0 0; color: #46705b; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere}
.hq-theme .profile-page > .panel {margin: 0; padding: 26px 28px}
.hq-theme .profile-page .account-details {max-width: none}
.profile-identity {display: flex; align-items: center; gap: 16px}
.profile-avatar {display: grid; place-items: center; width: 58px; height: 58px; flex-shrink: 0; border: 1px solid #d9e4f7; border-radius: 16px; background: #edf2fc; color: #315ed3; font-size: 25px; font-weight: 650}
.profile-label {margin: 0 0 5px; color: #637189; font-size: 11px; font-weight: 600; letter-spacing: .7px; text-transform: uppercase}
.hq-theme .profile-identity h2 {margin: 0; color: #23334e; font-size: 23px; font-weight: 650; line-height: 1.3}
.profile-page .account-details dl {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 32px; margin-top: 24px; padding-top: 22px; border-top: 1px solid #e6ebf2}
.profile-page .account-details dl > div {display: block; min-width: 0; padding: 0; border: 0}
.profile-page .account-details dt {margin-bottom: 6px; font-size: 12px; line-height: 1.5}
.profile-page .account-details dd {font-size: 14px; font-weight: 550; line-height: 1.5; color: #23334e; overflow-wrap: anywhere}
.profile-security {display: flex; align-items: center; gap: 16px}
.profile-symbol {display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px; background: #f0f4fa; color: #4b6489}
.profile-symbol svg {width: 23px; height: 23px}
.profile-security-copy {flex: 1; min-width: 0}
.hq-theme .profile-security h2, .hq-theme .profile-section-heading h2 {margin: 0; font-size: 16px; font-weight: 650; line-height: 1.5; color: #23334e}
.profile-security p, .profile-section-heading p {margin: 5px 0 0; font-size: 13px; line-height: 1.6; color: #637189}
.hq-theme .profile-security .button {display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; padding: 12px 16px; white-space: nowrap}
.profile-security .button svg {width: 16px; height: 16px}
.profile-section-heading {display: flex; align-items: center; gap: 16px; margin-bottom: 6px}
.profile-page .mail-account-setting {padding: 18px 0; gap: 20px}
.profile-page .mail-account-setting h4 {font-size: 14px; font-weight: 600}
.profile-page .mail-account-setting p {font-size: 13px; line-height: 1.6}

.hq-theme .sede-music {width: 36px; height: 36px; border: 1px solid #dce4ef; border-radius: 8px; background: #fff; color: #637189; font-size: 22px; line-height: 1}
.hq-theme .sede-music[aria-pressed="true"] {color: #315ed3; background: #eef3ff; border-color: #91a9d7}
.hq-theme .sede-music:disabled {opacity: .5; cursor: default}

/* Navegación y acciones: identidad limpia, contenido primero. */
.hq-theme .sidebar {background: #15243a; border-right: 1px solid #24364f}
.hq-theme .sidebar .brand {display: flex; align-items: center; justify-content: center; min-height: 82px; padding: 0; margin: 0 0 22px; border-bottom: 1px solid #ffffff1a}
.hq-theme .sidebar .brand .duovia-brand-logo {width: 175px; height: 80px; object-fit: contain}
.hq-theme .sidebar .nav-caption {color: #a4b7ce; letter-spacing: 1.3px}
.hq-theme .sidebar .nav-item {border-radius: 8px}
.hq-theme .sidebar .nav-item:hover {background: #223650}
.hq-theme .sidebar .nav-item.active {background: #2a4263; border-color: #516b90}
.hq-theme .page-heading {margin-bottom: 18px}
.hq-theme .page-heading h1 {font-size: 28px}
.hq-theme .back-link {display: inline-flex; align-items: center; padding: 7px 11px; margin-bottom: 12px; border: 1px solid #dce4ef; border-radius: 8px; background: #fff; color: #425b7b; font-size: 12px}
.hq-theme .back-link:hover {background: #edf3ff; border-color: #9fb6da}
.hq-theme .duovia-director-card .voice-button {grid-column: 2; grid-row: 1 / 3; width: auto; margin: 0; padding: 10px 13px}
.hq-theme .duovia-director-card .voice-status {grid-column: 1 / -1; font-size: 12px}
.hq-theme .voice-status:empty {display: none}
.hq-theme .duovia-director-card .director-top {top: auto; bottom: 10px; left: 12px; right: 12px; justify-content: flex-end}
.hq-theme .reception-resume {display: flex; margin: 0}
.hq-theme .duovia-reception-copy {padding: 18px 24px}
.hq-theme .duovia-reception-copy .duovia-profile {margin-bottom: 4px}
.hq-theme .duovia-reception-copy p {margin: 4px 0 12px}
.hq-theme .director-directory {grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px}
.hq-theme .department-card {display: grid; grid-template-columns: 112px minmax(0,1fr); height: 100%; text-align: left}
.hq-theme .department-photo {height: 100%; min-height: 170px}
.hq-theme .department-card-body {padding: 16px 18px}
.hq-theme .department-name {font-size: 22px}
.hq-theme .department-action {display: flex; justify-content: space-between; margin-top: 14px; padding: 9px 12px; border: 1px solid #dce4ef; border-radius: 7px; background: #f6f8fc; color: #315ed3}
.hq-theme .interface-help {margin: 10px 0; color: #637189; font-size: 12px}
.hq-theme details > summary {cursor: pointer}
.hq-theme .button:focus-visible, .hq-theme .back-link:focus-visible, .hq-theme .nav-item:focus-visible, .hq-theme .account-logout button:focus-visible {outline: 3px solid #89a9e8; outline-offset: 3px}

.hq-theme .sidebar {padding-top: 12px}
.hq-theme .sidebar .nav-item {min-height: 40px; padding-top: 9px; padding-bottom: 9px}
.hq-theme .sidebar .nav-caption {margin-top: 20px}
.hq-theme .sidebar .department-caption {margin-top: 24px}
.hq-theme .sidebar .nav-separator {margin: 18px 0}
.hq-theme #entrada-gestion {margin-bottom: 20px}
.hq-theme #entrada-gestion > details {margin-top: 12px}
.hq-theme [data-incoming-list] article {padding: 18px 0; border-top: 1px solid #dce4ef; margin-top: 18px}
.hq-theme [data-incoming-list] article p {margin: 9px 0; line-height: 1.6}
.hq-theme .text-link, .hq-theme [data-secretaria-proposal] a {display: inline-flex; align-items: center; padding: 8px 12px; margin: 4px 0; border: 1px solid #dce4ef; border-radius: 8px; background: #fff; color: #315ed3; font-size: 12px; text-decoration: none}
.hq-theme .text-link:hover, .hq-theme [data-secretaria-proposal] a:hover {background: #edf3ff; border-color: #9fb6da}
.hq-theme [data-secretaria-proposal] a {margin-left: 10px}
.identity-form {max-width: 640px; display: grid; gap: 12px; padding: 14px 0}
.identity-form label {display: block}
.identity-form input:not([type=checkbox]), .identity-form select {display: block; width: 100%; padding: 9px; margin-top: 6px; border: 1px solid #c7d7e1; border-radius: 6px; font: inherit}
.identity-form fieldset {border: 1px solid #dce4ef; border-radius: 8px; padding: 12px}
.identity-form [hidden] {display: none}
[data-identity-catalog] details {padding: 10px 0}
[data-identity-catalog] .button {margin: 6px 8px 6px 0}

/* Despachos: una identidad, cabecera compacta y conversación legible. */
.hq-theme.view-office .office-return {margin-bottom: 14px}
.hq-theme.view-office .office-return .back-link {margin: 0; background: #fff; border-color: #dce4ed; border-radius: 20px; padding: 7px 13px; color: #687b92}
.hq-theme.view-office .office-return .back-link:hover {color: #244ba9; background: #edf3ff}
.hq-theme.view-office .duovia-director-card {grid-template-columns: 220px minmax(0,1fr); margin-bottom: 22px; border-radius: 18px; border-color: #dce4ed; background: linear-gradient(110deg,#fff 50%,#f8f9fc); box-shadow: 0 8px 28px #24395507}
.hq-theme.view-office .duovia-office-image > img {height: 156px; object-position: center 48%}
.hq-theme.view-office .duovia-office-image::after {content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,transparent 80%,#fff3)}
.hq-theme.view-office .duovia-director-card .director-info {padding: 24px 30px; background: transparent; gap: 12px 24px}
.hq-theme.view-office .duovia-profile {gap: 20px}
.hq-theme.view-office .duovia-director-card .avatar {width: 74px; height: 74px; flex-basis: 74px; box-shadow: 0 0 0 4px #fff,0 0 0 5px #e7e1d3}
.hq-theme.view-office .director-identity h1 {margin: 0; font-size: 30px; font-weight: 650; line-height: 1.15; letter-spacing: -.9px; color: #1d2e48}
.hq-theme.view-office .director-identity .gold {color: #bb9653}
.hq-theme.view-office .duovia-director-card .director-role {margin: 8px 0 0; font-size: 13px; font-weight: 400; color: #65758b; line-height: 1.5}
.hq-theme.view-office .duovia-director-card .voice-button {grid-row: 1; border-radius: 20px; background: #fff; border-color: #dce4ed; padding: 10px 15px; color: #566c87; white-space: nowrap}
.hq-theme.view-office .voice-button:hover {background: #edf3ff; border-color: #adbed8}
.hq-theme.view-office .duovia-director-card .director-top {padding: 0; background: none}
.hq-theme.view-office .avatar-state {padding: 6px 10px; background: #15243add; font-size: 10px; box-shadow: 0 2px 10px #0001}
.hq-theme.view-office .panel {border-radius: 18px; border-color: #e0e6ee; padding: 24px 28px; box-shadow: 0 6px 24px #24395504}
.hq-theme.view-office .panel > h2 {font-size: 18px; font-weight: 600; letter-spacing: -.4px}
.hq-theme.view-office .chat-toolbar {gap: 16px; padding: 14px 0 18px}
.hq-theme.view-office .chat-toolbar select {margin-top: 6px}
.hq-theme.view-office :is(select,input:not([type=checkbox]),textarea) {font-family: var(--font); border: 1px solid #d5dfea; border-radius: 9px; background: #fbfcfe; color: #243750; padding: 10px 12px}
.hq-theme.view-office :is(.atenea-messages,.crm-messages,.temis-messages) {padding: 0 18px; background: #fafbfd; border: 1px solid #edf0f5; border-radius: 12px; font-size: 14px; line-height: 1.75; scrollbar-width: thin; scrollbar-color: #c6d1df transparent}
.hq-theme.view-office :is(.atenea-messages,.crm-messages,.temis-messages) article {padding: 18px 0; border-bottom: 1px solid #e7edf4}
.hq-theme.view-office :is(.atenea-messages,.crm-messages,.temis-messages) article:last-child {border-bottom: 0}
.hq-theme.view-office :is(.atenea-messages,.crm-messages,.temis-messages) article > strong {display: block; font-size: 11px; font-weight: 650; letter-spacing: .6px; color: #526c90; margin-bottom: 8px}
.hq-theme.view-office :is(.atenea-messages,.crm-messages,.temis-messages) article > :is(pre,p) {font-family: var(--font); font-size: 14px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; color: #33465f; margin: 0}
.hq-theme.view-office .chat-composer {border-color: #d5dfea; border-radius: 14px; background: #fff; padding: 14px; box-shadow: 0 3px 12px #24395504}
.hq-theme.view-office .chat-composer:focus-within {border-color: #91acd4; box-shadow: 0 0 0 3px #315ed30a}
.hq-theme.view-office .chat-composer textarea {background: transparent; border: 0; padding: 3px; font-size: 14px; line-height: 1.6}
.hq-theme.view-office .chat-composer button {width: 40px; height: 40px; border-radius: 11px}
.hq-theme.view-office .button {border-radius: 9px; padding: 10px 14px}
.hq-theme.view-office :is([data-status],[data-crm-status],.chat-status):empty {display: none}
