/* Identidad visual de la sede. Conserva formularios, estados y navegación. */
.hq-theme {
    color-scheme: light;
    --bg: #f3f5f8;
    --panel: #fff;
    --panel-soft: #f7f9fc;
    --line: #e0e6ee;
    --gold: #315ed3;
    --gold-light: #244ba9;
    --text: #1c2941;
    --muted: #637189;
    --green: #268066;
    background: var(--bg);
    color: var(--text);
    font-size: 14px;
}
.hq-theme h1 {font-size: 32px; font-weight: 650; letter-spacing: -1.1px}
.hq-theme .eyebrow {font-size: 10px; letter-spacing: 1.6px; font-weight: 650}
.hq-theme .app-shell {grid-template-columns: 220px minmax(0,1fr)}
.hq-theme .sidebar {padding: 32px 16px 18px; background: #142139; border: 0; color: #e8eef8; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #415575 #142139}
.hq-theme .brand {margin: 0 12px 39px}
.hq-theme .brand small {color: #a1b2cd; letter-spacing: 3px}
.hq-theme .brand-dot {color: #8bb5ff}
.hq-theme .nav-caption {color: #93a7c5; font-size: 9px}
.hq-theme .department-caption {margin-top: 23px}
.hq-theme .nav-item {color: #bdcce3; min-height: 46px; border-radius: 9px; gap: 11px}
.hq-theme .nav-item:hover {background: #20324f; color: #fff}
.hq-theme .nav-item.active {background: #2b4063; color: #fff; border-color: #405a83}
.nav-portrait {width: 28px; height: 28px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; border: 1px solid #7f95b3}
.hq-theme .nav-separator {background: #2d3d56; margin: 20px 10px 16px}
.hq-theme .sidebar-bottom {padding-top: 24px}
.hq-theme .local-status {color: #cad8e9; border-color: #2d3d56}
.hq-theme .local-status small, .hq-theme .user-box small, .hq-theme .logout {color: #a1b2cb}
.hq-theme .user-avatar {background: #2b4061; color: #dce8fc; border-color: #607795}
.hq-theme .logout:hover {color: #fff}
.hq-theme .topbar {height: 68px; background: #ffffffd9; border-color: var(--line); padding: 0 32px}
.hq-theme .breadcrumb {color: #65748a; font-size: 12px}
.hq-theme .breadcrumb strong {color: #23334e; font-weight: 600}
.hq-theme .breadcrumb span {color: #bdc7d4}
.hq-theme .topbar-right {color: #64748b; font-size: 11px}
.hq-theme .environment-tag {border-color: #d9e3ed; color: #4e637c; background: #f6f9fc; border-radius: 5px}
.hq-theme .sede-bell {border-color: #dce4ef; border-radius: 8px; background: #fff; color: #425674}
.hq-theme main#main {padding: 28px 32px 26px; max-width: 1540px}
.hq-theme .page-heading {margin-bottom: 24px}
.hq-theme .page-heading p:not(.eyebrow) {font-size: 13px; line-height: 1.6}
.hq-theme .button {border-color: #cbd6e6; background: #fff; border-radius: 8px; color: #314b73; font-weight: 550; font-size: 12px}
.hq-theme .button:hover:not(:disabled) {border-color: #91a9d7; background: #eef3ff}
.hq-theme .button.primary {color: #fff; background: #315ed3; border-color: #315ed3}
.hq-theme .button.primary:hover:not(:disabled) {background: #244fbf; border-color: #244fbf}
.hq-theme .button:focus-visible, .hq-theme a:focus-visible, .hq-theme summary:focus-visible,
.hq-theme button:focus-visible {outline: 3px solid #5983e1; outline-offset: 3px}
.hq-theme input:focus, .hq-theme select:focus, .hq-theme textarea:focus {outline: 2px solid #91b0f0; outline-offset: 2px}
.hq-theme .state-tag {color: #436084; border-color: #d5e1f0; background: #edf3fc; border-radius: 6px; font-size: 11px}
.hq-theme .panel {background: #fff; border-color: #e0e6ee; border-radius: 12px; padding: 23px; box-shadow: 0 3px 14px #17284404}
.hq-theme .panel-heading h2 {font-size: 14px; font-weight: 650}
.hq-theme .footer {color: #6f7d93; font-size: 10px; padding: 0 32px 22px}
.reception-hero {position: relative; min-height: 230px; isolation: isolate; border-radius: 16px; overflow: hidden; background: #26354b; color: #fff}
.reception-image {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; z-index: -2}
.reception-hero::before {content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#122033f2 0%,#142139c2 32%,#14213918 76%)}
.reception-copy {padding: 30px 34px}
.hq-theme .reception-copy .eyebrow {color: #c1d7ff; font-size: 9px}
.reception-copy h2 {font-size: 33px; line-height: 1.15; letter-spacing: -.8px; font-weight: 500; margin-top: 12px}
.reception-copy > p:not(.eyebrow) {color: #e0e6f0; font-size: 12px; line-height: 1.7; margin-top: 11px}
.hero-link {display: inline-flex; align-items: center; gap: 25px; margin-top: 18px; font-size: 11px; font-weight: 600; color: #fff}
.hero-link:hover {text-decoration: underline}
.reception-sign {position: absolute; bottom: 25px; right: 30px; font-size: 19px; letter-spacing: 4px; text-shadow: 0 1px 10px #101e39}
.reception-sign span {display: block; font-size: 7px; letter-spacing: 2px; margin-top: 5px}
.directory-heading {display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 29px 0 16px}
.directory-heading h2 {font-size: 22px; font-weight: 650; margin-top: 5px; letter-spacing: -.5px}
.directory-heading > span {color: #6e7d92; font-size: 10px}
.director-directory {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px}
.department-entry {min-width: 0}
.department-card {display: block; width: 100%; padding: 0; text-align: left; border: 1px solid #dbe3ee; border-radius: 13px; overflow: hidden; background: #fff; color: #1c2941; box-shadow: 0 4px 14px #19345a05; transition: transform .18s,border-color .18s,box-shadow .18s}
.department-card:hover {transform: translateY(-3px); border-color: #99aed8; box-shadow: 0 10px 22px #19345a10}
.department-photo {display: block; height: 195px; overflow: hidden; position: relative; background: #dce3eb}
.department-photo::after {content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,#1529419e)}
.department-photo img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; transition: transform .3s}
.department-card:hover .department-photo img {transform: scale(1.025)}
.department-number {position: absolute; z-index: 1; bottom: 12px; left: 19px; color: #fff; font-size: 10px; letter-spacing: .3px}
.department-card-body {display: block; padding: 18px 20px 0}
.department-name {display: block; font-size: 26px; line-height: 1.1; font-weight: 650; letter-spacing: -.5px}
.department-role {display: block; color: #365983; font-size: 12px; font-weight: 600; margin-top: 6px}
.department-description {display: block; font-size: 11px; color: #6b7890; margin-top: 8px; min-height: 18px}
.department-signal {display: flex; align-items: center; gap: 8px; margin-top: 15px; color: #56677f; font-size: 10px; min-height: 20px}
.department-action {display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #e8edf4; margin-top: 14px; padding: 13px 0; color: #315ed3; font-size: 12px; font-weight: 600}
.department-action > span {font-size: 18px}
.future-departments {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 18px}
.future-department {display: flex; align-items: center; gap: 14px; text-align: left; width: 100%; padding: 14px 19px; border: 1px dashed #cbd5e3; background: #f8fafd; border-radius: 10px; color: #6b7b92}
.future-department strong {display: block; color: #415573; font-size: 12px; font-weight: 600}
.future-department small {display: block; margin-top: 3px; font-size: 10px}
.future-department > span:last-child {margin-left: auto}
.future-department:hover {background: #fff; border-color: #8ba4c8}
.future-symbol {font-size: 25px; color: #899fbe}
.hq-theme .department-key {font-size: 10px; color: #6e7d91; gap: 8px; flex-wrap: wrap; margin: 17px 0}
.hq-theme .department-lamp {width: 8px; height: 8px; border-color: #ffffff9e}
.hq-theme .lamp-green {background: #379677; box-shadow: 0 0 0 3px #37967712}
.hq-theme .lamp-amber {background: #d9972b; box-shadow: 0 0 0 3px #d9972b15}
.hq-theme .lamp-red {background: #dd5a65; box-shadow: 0 0 0 3px #dd5a6515}
.hq-theme .hall-panels {gap: 20px}
.hq-theme .hall-panels .panel {padding: 20px}
.hq-theme .hall-panels .panel > p {font-size: 11px; margin-top: 8px; color: #637189}
.hq-theme .empty-number {color: #315ed3; font-size: 34px; font-weight: 500}
.hq-theme .empty-inline strong {font-weight: 600; color: #31435d}
.hq-theme .quick-link {color: #315ed3; background: none; font-size: 11px}
.hq-theme .connection-notice {color: #52657f}
.hq-theme .back-link {font-size: 11px; color: #607693}
.hq-theme .office-grid {grid-template-columns: minmax(245px,27%) minmax(0,1fr); align-items: start; gap: 24px}
.hq-theme .director-card {border: 1px solid #dbe3ed; border-radius: 14px; background: #fff; min-height: 0; position: sticky; top: 20px; box-shadow: 0 5px 22px #19345a06}
.hq-theme .director-card .office-background, .hq-theme .director-card > .scene-custom-image {display: none}
.hq-theme .director-top {position: absolute; z-index: 2; left: 0; right: 0; top: 0; padding: 14px; color: #fff; background: linear-gradient(#152840aa,transparent)}
.hq-theme .director-top .eyebrow {color: #fff; font-size: 8px; letter-spacing: .7px}
.hq-theme .avatar-state {padding: 4px 7px; border-radius: 20px; background: #142139c9; color: #fff; font-size: 9px}
.hq-theme .avatar-state::before {background: #b4d3fd}
.hq-theme .avatar {height: 310px; margin: 0; background: #e0e6ed; overflow: hidden}
.director-portrait {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%}
.hq-theme .avatar-media {object-fit: cover}
.hq-theme .director-info {padding: 23px 22px 15px; background: #fff; margin-top: 0}
.hq-theme .director-info h2 {font-size: 30px; font-weight: 650; letter-spacing: -.8px; margin: 6px 0}
.hq-theme .director-role {color: #3b5e89; font-size: 12px; font-weight: 600}
.hq-theme .director-description {font-size: 12px; line-height: 1.75; color: #637189; margin: 14px 0 20px}
.hq-theme .voice-button {color: #3b5a89; border-color: #d9e4f3; background: #f2f6fc; border-radius: 7px; font-size: 11px; padding: 10px}
.hq-theme .voice-status {color: #78869b; font-size: 9px; min-height: 26px}
.hq-theme .work-panel {background: #fff; border-color: #e0e6ee; border-radius: 12px}
.hq-theme .work-tabs {gap: 22px; border-color: #e0e6ee}
.hq-theme .work-tabs button {color: #677991; font-size: 12px}
.hq-theme .work-tabs button[aria-selected=true] {color: #315ed3}
.hq-theme .work-tabs a {color: #476287; font-size: 12px; font-weight: 550}
.hq-theme .work-tabs a:hover {color: #244db6; text-decoration: underline}
.hq-theme .chat-toolbar {color: #536780; font-size: 12px; flex-wrap: wrap; padding: 15px 0}
.hq-theme .work-panel .chat-toolbar {padding: 16px 22px}
.hq-theme :is([data-isis],[data-temis]) {min-width: 0}
.hq-theme :is([data-isis],[data-temis]) > [data-status] {font-size: 11px; color: #6a7b92; margin: 0 0 10px}
.hq-theme [data-isis] .work-tabs {margin-bottom: 17px; padding: 8px 0 14px}
.hq-theme :is([data-isis],[data-temis]) h2 {font-size: 18px; font-weight: 650; letter-spacing: -.3px}
.hq-theme :is([data-isis],[data-temis]) h3 {font-size: 15px}
.hq-theme :is([data-isis],[data-temis]) h4 {font-size: 13px}
.hq-theme :is([data-isis],[data-temis]) p {font-size: 12px; line-height: 1.75; overflow-wrap: anywhere}
.hq-theme :is([data-isis],[data-temis]) .panel > p {color: #66758a; margin-top: 10px}
.hq-theme :is([data-isis],[data-temis]) details {border-color: #e0e6ee}
.hq-theme :is([data-isis],[data-temis]) summary {color: #3e5778; font-size: 12px; font-weight: 600; padding: 5px 0}
.hq-theme :is([data-isis],[data-temis]) article {border-color: #e2e8f1; overflow-wrap: anywhere}
.hq-theme :is([data-isis],[data-temis]) :is(input,select,textarea),
.hq-theme :is(.project-form,.chat-history-label) :is(input,select) {background: #fbfcff; border: 1px solid #cbd6e5; color: #233853; border-radius: 7px; font-size: 12px; padding: 10px; max-width: 100%}
.hq-theme label {font-size: 12px; color: #53667f}
.hq-theme .chat-composer {background: #f7f9fd; border: 1px solid #cbd8ec; border-radius: 10px; margin: 10px 0; padding: 12px; align-items: end}
.hq-theme .work-panel .chat-composer {margin: 14px 20px}
.hq-theme .chat-composer textarea {background: transparent; color: #233853; border: none; font-size: 12px; line-height: 1.7; padding: 3px; min-height: 55px}
.hq-theme .chat-composer textarea::placeholder {color: #7e8da3}
.hq-theme .chat-composer button {width: 36px; height: 36px; background: #315ed3; color: #fff; border-radius: 8px}
.hq-theme .atenea-messages, .hq-theme .temis-messages {background: #f7f9fc; border-radius: 8px; padding: 0 16px; margin: 12px 0; font-size: 12px}
.hq-theme .work-panel .atenea-messages {margin: 14px 20px}
.hq-theme .atenea-messages article {border-color: #e0e7f0; padding: 14px 0}
.hq-theme .atenea-messages strong {color: #315ed3}
.hq-theme :is([data-isis],[data-temis]) table {font-size: 12px}
.hq-theme :is([data-isis],[data-temis]) :is(th,td) {border-color: #e0e6ee; padding: 10px 8px}
.hq-theme :is([data-isis],[data-temis]) th {background: #f3f6fb; font-weight: 600; color: #4b6283}
.hq-theme [data-isis] .isis-alert {color: #96630f}
.hq-theme [data-files] {display: grid; gap: 7px; margin-top: 15px}
.hq-theme [data-files] a {padding: 10px 12px; background: #f6f8fc; border: 1px solid #e5eaf2; border-radius: 7px; color: #456590; font-size: 11px; overflow-wrap: anywhere}
.hq-theme [data-files] a:hover {background: #edf3fd; color: #244db6}
.hq-theme .chat-disclaimer, .hq-theme .history, .hq-theme .history p {color: #6b7c94}
.hq-theme .chat-status.has-error {color: #ae3945}
.hq-theme .tab-content p, .hq-theme .connection-list small {color: #62758c}
.hq-theme .info-box, .hq-theme .supervision-notice {background: #edf3fc; border-color: #d2dff2; color: #405c85}
.hq-theme .audit-panel :is(td,th) {border-color: #e2e8f1}
.hq-theme .audit-panel td:nth-child(2), .hq-theme .audit-panel th {color: #65758d}
.hq-theme .notification-live {color: #976713}
.hq-theme .future-office {background: #fff; border-color: #d9e2ed}
.hq-theme .future-art {border-color: #c7d5e7; background: #edf3fb; opacity: .6}
.hq-theme .future-art span {color: #9db1cd}
.hq-theme.access-page {background: linear-gradient(90deg,#142139e0,#14213930),url('../backgrounds/hall.png') center/cover fixed; justify-items: start; padding: 60px max(60px,8vw)}
.hq-theme .access-card {background: #fffffffa; border-color: #fff; padding: 40px; border-radius: 18px; box-shadow: 0 20px 100px #10203838}
.hq-theme .access-card .brand-symbol {background: #eff4ff; color: #315ed3; border-color: #dbe5f8; transform: none; border-radius: 10px}
.hq-theme .access-card > p:not(.eyebrow), .hq-theme .identity small, .hq-theme .access-note {color: #63738b}
.hq-theme .access-card .notice {color: #45628a; background: #edf3fc; font-size: 11px; border-color: #7294d8; border-radius: 4px}
@media (prefers-reduced-motion:reduce) {
    .department-card, .department-photo img {transition: none}
}
