:root{--phoenix-primary:#3874ff;--phoenix-primary-rgb:56,116,255;--phoenix-primary-text-emphasis:#003cc7;--phoenix-primary-bg-subtle:#e5edff;--phoenix-primary-border-subtle:#85a9ff;--phoenix-primary-light:#85a9ff;--phoenix-primary-lighter:#adc5ff;--phoenix-primary-dark:#004dff;--phoenix-primary-darker:#003cc7;--phoenix-secondary:#31374a;--phoenix-secondary-rgb:49,55,74;--phoenix-secondary-text-emphasis:#525b75;--phoenix-secondary-bg-subtle:#eff2f6;--phoenix-secondary-border-subtle:#cbd0dd;--phoenix-success:#25b003;--phoenix-success-rgb:37,176,3;--phoenix-success-text-emphasis:#1c6c09;--phoenix-success-bg-subtle:#d9fbd0;--phoenix-success-border-subtle:#90d67f;--phoenix-info:#0097eb;--phoenix-info-rgb:0,151,235;--phoenix-info-text-emphasis:#005585;--phoenix-info-bg-subtle:#c7ebff;--phoenix-info-border-subtle:#60c6ff;--phoenix-warning:#e5780b;--phoenix-warning-rgb:229,120,11;--phoenix-warning-text-emphasis:#bc3803;--phoenix-warning-bg-subtle:#ffefca;--phoenix-warning-border-subtle:#ffcc85;--phoenix-danger:#fa3b1d;--phoenix-danger-rgb:250,59,29;--phoenix-danger-text-emphasis:#b81800;--phoenix-danger-bg-subtle:#ffe0db;--phoenix-danger-border-subtle:#f48270;--phoenix-pink:#d63384;--phoenix-pink-rgb:214,51,132;--phoenix-pink-text-emphasis:#a61e65;--phoenix-pink-bg-subtle:#fde2f3;--phoenix-pink-border-subtle:#f5a3cd;--phoenix-purple:#6f42c1;--phoenix-purple-rgb:111,66,193;--phoenix-purple-text-emphasis:#4e2d8f;--phoenix-purple-bg-subtle:#efe7fb;--phoenix-purple-border-subtle:#c7b3f3;--phoenix-violet:#6610f2;--phoenix-violet-rgb:102,16,242;--phoenix-violet-text-emphasis:#4b0bb5;--phoenix-violet-bg-subtle:#e9ddff;--phoenix-violet-border-subtle:#b89cff;--phoenix-magenta:#c2185b;--phoenix-magenta-rgb:194,24,91;--phoenix-magenta-text-emphasis:#8e1243;--phoenix-magenta-bg-subtle:#fbd6e6;--phoenix-magenta-border-subtle:#f08bb2;--phoenix-indigo:#3f51b5;--phoenix-indigo-rgb:63,81,181;--phoenix-indigo-text-emphasis:#2c3a8c;--phoenix-indigo-bg-subtle:#e1e6fb;--phoenix-indigo-border-subtle:#9fa8da;--phoenix-teal-dark:#0f766e;--phoenix-teal-dark-rgb:15,118,110;--phoenix-teal-dark-text-emphasis:#0a4f4a;--phoenix-teal-dark-bg-subtle:#d1f4f1;--phoenix-teal-dark-border-subtle:#7dd3cc;--phoenix-border-radius:0.5rem;--phoenix-border-radius-pill:50rem}.text-primary-subtle{color:var(--phoenix-primary-bg-subtle)!important}.text-primary-light{color:var(--phoenix-primary-light)!important}.text-primary-lighter{color:var(--phoenix-primary-lighter)!important}.text-primary-dark{color:var(--phoenix-primary-dark)!important}.text-primary-darker{color:var(--phoenix-primary-darker)!important}.text-primary-emphasis{color:var(--phoenix-primary-text-emphasis)!important}.text-secondary-subtle{color:var(--phoenix-secondary-bg-subtle)!important}.text-secondary-emphasis{color:var(--phoenix-secondary-text-emphasis)!important}.text-success-subtle{color:var(--phoenix-success-bg-subtle)!important}.text-success-emphasis{color:var(--phoenix-success-text-emphasis)!important}.text-info-subtle{color:var(--phoenix-info-bg-subtle)!important}.text-info-emphasis{color:var(--phoenix-info-text-emphasis)!important}.text-warning-subtle{color:var(--phoenix-warning-bg-subtle)!important}.text-warning-emphasis{color:var(--phoenix-warning-text-emphasis)!important}.text-danger-subtle{color:var(--phoenix-danger-bg-subtle)!important}.text-danger-emphasis{color:var(--phoenix-danger-text-emphasis)!important}.text-pink{color:var(--phoenix-pink)!important}.text-pink-emphasis{color:var(--phoenix-pink-text-emphasis)!important}.text-purple{color:var(--phoenix-purple)!important}.text-purple-emphasis{color:var(--phoenix-purple-text-emphasis)!important}.text-violet{color:var(--phoenix-violet)!important}.text-violet-emphasis{color:var(--phoenix-violet-text-emphasis)!important}.text-magenta{color:var(--phoenix-magenta)!important}.text-magenta-emphasis{color:var(--phoenix-magenta-text-emphasis)!important}.text-indigo{color:var(--phoenix-indigo)!important}.text-indigo-emphasis{color:var(--phoenix-indigo-text-emphasis)!important}.text-teal-dark{color:var(--phoenix-teal-dark)!important}.text-teal-dark-emphasis{color:var(--phoenix-teal-dark-text-emphasis)!important}.bg-primary-subtle{background-color:var(--phoenix-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--phoenix-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--phoenix-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--phoenix-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--phoenix-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--phoenix-danger-bg-subtle)!important}.bg-pink-subtle{background-color:var(--phoenix-pink-bg-subtle)!important}.bg-purple-subtle{background-color:var(--phoenix-purple-bg-subtle)!important}.bg-violet-subtle{background-color:var(--phoenix-violet-bg-subtle)!important}.bg-magenta-subtle{background-color:var(--phoenix-magenta-bg-subtle)!important}.bg-indigo-subtle{background-color:var(--phoenix-indigo-bg-subtle)!important}.bg-teal-dark-subtle{background-color:var(--phoenix-teal-dark-bg-subtle)!important}.bg-pink{background-color:var(--phoenix-pink)!important}.bg-purple{background-color:var(--phoenix-purple)!important}.bg-violet{background-color:var(--phoenix-violet)!important}.bg-magenta{background-color:var(--phoenix-magenta)!important}.bg-indigo{background-color:var(--phoenix-indigo)!important}.bg-teal-dark{background-color:var(--phoenix-teal-dark)!important}.btn-subtle-primary{background-color:var(--phoenix-primary-bg-subtle);border-color:transparent;color:var(--phoenix-primary-text-emphasis)}.btn-subtle-primary:focus,.btn-subtle-primary:hover{background-color:var(--phoenix-primary);border-color:var(--phoenix-primary);color:#fff}.btn-subtle-secondary{background-color:var(--phoenix-secondary-bg-subtle);border-color:transparent;color:var(--phoenix-secondary-text-emphasis)}.btn-subtle-secondary:focus,.btn-subtle-secondary:hover{background-color:var(--phoenix-secondary);border-color:var(--phoenix-secondary);color:#fff}.btn-subtle-success{background-color:var(--phoenix-success-bg-subtle);border-color:transparent;color:var(--phoenix-success-text-emphasis)}.btn-subtle-success:focus,.btn-subtle-success:hover{background-color:var(--phoenix-success);border-color:var(--phoenix-success);color:#fff}.btn-subtle-info{background-color:var(--phoenix-info-bg-subtle);border-color:transparent;color:var(--phoenix-info-text-emphasis)}.btn-subtle-info:focus,.btn-subtle-info:hover{background-color:var(--phoenix-info);border-color:var(--phoenix-info);color:#fff}.btn-subtle-warning{background-color:var(--phoenix-warning-bg-subtle);border-color:transparent;color:var(--phoenix-warning-text-emphasis)}.btn-subtle-warning:focus,.btn-subtle-warning:hover{background-color:var(--phoenix-warning);border-color:var(--phoenix-warning);color:#fff}.btn-subtle-danger{background-color:var(--phoenix-danger-bg-subtle);border-color:transparent;color:var(--phoenix-danger-text-emphasis)}.btn-subtle-danger:focus,.btn-subtle-danger:hover{background-color:var(--phoenix-danger);border-color:var(--phoenix-danger);color:#fff}.btn-subtle-pink{background-color:var(--phoenix-pink-bg-subtle);border-color:transparent;color:var(--phoenix-pink-text-emphasis)}.btn-subtle-pink:focus,.btn-subtle-pink:hover{background-color:var(--phoenix-pink);border-color:var(--phoenix-pink);color:#fff}.btn-subtle-purple{background-color:var(--phoenix-purple-bg-subtle);border-color:transparent;color:var(--phoenix-purple-text-emphasis)}.btn-subtle-purple:focus,.btn-subtle-purple:hover{background-color:var(--phoenix-purple);border-color:var(--phoenix-purple);color:#fff}.btn-subtle-violet{background-color:var(--phoenix-violet-bg-subtle);border-color:transparent;color:var(--phoenix-violet-text-emphasis)}.btn-subtle-violet:focus,.btn-subtle-violet:hover{background-color:var(--phoenix-violet);border-color:var(--phoenix-violet);color:#fff}.btn-subtle-magenta{background-color:var(--phoenix-magenta-bg-subtle);border-color:transparent;color:var(--phoenix-magenta-text-emphasis)}.btn-subtle-magenta:focus,.btn-subtle-magenta:hover{background-color:var(--phoenix-magenta);border-color:var(--phoenix-magenta);color:#fff}.btn-subtle-indigo{background-color:var(--phoenix-indigo-bg-subtle);border-color:transparent;color:var(--phoenix-indigo-text-emphasis)}.btn-subtle-indigo:focus,.btn-subtle-indigo:hover{background-color:var(--phoenix-indigo);border-color:var(--phoenix-indigo);color:#fff}.btn-subtle-teal-dark{background-color:var(--phoenix-teal-dark-bg-subtle);border-color:transparent;color:var(--phoenix-teal-dark-text-emphasis)}.btn-subtle-teal-dark:focus,.btn-subtle-teal-dark:hover{background-color:var(--phoenix-teal-dark);border-color:var(--phoenix-teal-dark);color:#fff}.badge-phoenix{align-items:center;border:1px solid transparent;border-radius:var(--phoenix-border-radius-pill);display:inline-flex;font-size:.75rem;font-weight:600;gap:.3em;padding:.35em .75em}.badge-phoenix-primary{background-color:var(--phoenix-primary-bg-subtle);border-color:var(--phoenix-primary-border-subtle);color:var(--phoenix-primary-text-emphasis)}.badge-phoenix-secondary{background-color:var(--phoenix-secondary-bg-subtle);border-color:var(--phoenix-secondary-border-subtle);color:var(--phoenix-secondary-text-emphasis)}.badge-phoenix-success{background-color:var(--phoenix-success-bg-subtle);border-color:var(--phoenix-success-border-subtle);color:var(--phoenix-success-text-emphasis)}.badge-phoenix-info{background-color:var(--phoenix-info-bg-subtle);border-color:var(--phoenix-info-border-subtle);color:var(--phoenix-info-text-emphasis)}.badge-phoenix-warning{background-color:var(--phoenix-warning-bg-subtle);border-color:var(--phoenix-warning-border-subtle);color:var(--phoenix-warning-text-emphasis)}.badge-phoenix-danger{background-color:var(--phoenix-danger-bg-subtle);border-color:var(--phoenix-danger-border-subtle);color:var(--phoenix-danger-text-emphasis)}.badge-phoenix-pink{background-color:var(--phoenix-pink-bg-subtle);border-color:var(--phoenix-pink-border-subtle);color:var(--phoenix-pink-text-emphasis)}.badge-phoenix-purple{background-color:var(--phoenix-purple-bg-subtle);border-color:var(--phoenix-purple-border-subtle);color:var(--phoenix-purple-text-emphasis)}.badge-phoenix-violet{background-color:var(--phoenix-violet-bg-subtle);border-color:var(--phoenix-violet-border-subtle);color:var(--phoenix-violet-text-emphasis)}.badge-phoenix-magenta{background-color:var(--phoenix-magenta-bg-subtle);border-color:var(--phoenix-magenta-border-subtle);color:var(--phoenix-magenta-text-emphasis)}.badge-phoenix-indigo{background-color:var(--phoenix-indigo-bg-subtle);border-color:var(--phoenix-indigo-border-subtle);color:var(--phoenix-indigo-text-emphasis)}.badge-phoenix-teal-dark{background-color:var(--phoenix-teal-dark-bg-subtle);border-color:var(--phoenix-teal-dark-border-subtle);color:var(--phoenix-teal-dark-text-emphasis)}.alert-subtle-primary{background-color:var(--phoenix-primary-bg-subtle);border-color:var(--phoenix-primary-border-subtle);color:var(--phoenix-primary-text-emphasis)}.alert-subtle-secondary{background-color:var(--phoenix-secondary-bg-subtle);border-color:var(--phoenix-secondary-border-subtle);color:var(--phoenix-secondary-text-emphasis)}.alert-subtle-success{background-color:var(--phoenix-success-bg-subtle);border-color:var(--phoenix-success-border-subtle);color:var(--phoenix-success-text-emphasis)}.alert-subtle-info{background-color:var(--phoenix-info-bg-subtle);border-color:var(--phoenix-info-border-subtle);color:var(--phoenix-info-text-emphasis)}.alert-subtle-warning{background-color:var(--phoenix-warning-bg-subtle);border-color:var(--phoenix-warning-border-subtle);color:var(--phoenix-warning-text-emphasis)}.alert-subtle-danger{background-color:var(--phoenix-danger-bg-subtle);border-color:var(--phoenix-danger-border-subtle);color:var(--phoenix-danger-text-emphasis)}.alert-subtle-pink{background-color:var(--phoenix-pink-bg-subtle);border-color:var(--phoenix-pink-border-subtle);color:var(--phoenix-pink-text-emphasis)}.alert-subtle-purple{background-color:var(--phoenix-purple-bg-subtle);border-color:var(--phoenix-purple-border-subtle);color:var(--phoenix-purple-text-emphasis)}.alert-subtle-violet{background-color:var(--phoenix-violet-bg-subtle);border-color:var(--phoenix-violet-border-subtle);color:var(--phoenix-violet-text-emphasis)}.alert-subtle-magenta{background-color:var(--phoenix-magenta-bg-subtle);border-color:var(--phoenix-magenta-border-subtle);color:var(--phoenix-magenta-text-emphasis)}.alert-subtle-indigo{background-color:var(--phoenix-indigo-bg-subtle);border-color:var(--phoenix-indigo-border-subtle);color:var(--phoenix-indigo-text-emphasis)}.alert-subtle-teal-dark{background-color:var(--phoenix-teal-dark-bg-subtle);border-color:var(--phoenix-teal-dark-border-subtle);color:var(--phoenix-teal-dark-text-emphasis)}.border-primary-subtle{border-color:var(--phoenix-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--phoenix-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--phoenix-success-border-subtle)!important}.border-info-subtle{border-color:var(--phoenix-info-border-subtle)!important}.border-warning-subtle{border-color:var(--phoenix-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--phoenix-danger-border-subtle)!important}.border-pink-subtle{border-color:var(--phoenix-pink-border-subtle)!important}.border-purple-subtle{border-color:var(--phoenix-purple-border-subtle)!important}.border-violet-subtle{border-color:var(--phoenix-violet-border-subtle)!important}.border-magenta-subtle{border-color:var(--phoenix-magenta-border-subtle)!important}.border-indigo-subtle{border-color:var(--phoenix-indigo-border-subtle)!important}.border-teal-dark-subtle{border-color:var(--phoenix-teal-dark-border-subtle)!important}.border-pink{border-color:var(--phoenix-pink)!important}.border-purple{border-color:var(--phoenix-purple)!important}.border-violet{border-color:var(--phoenix-violet)!important}.border-magenta{border-color:var(--phoenix-magenta)!important}.border-indigo{border-color:var(--phoenix-indigo)!important}.border-teal-dark{border-color:var(--phoenix-teal-dark)!important}.icon-circle{height:48px;width:48px}.icon-circle,.icon-circle-sm{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;justify-content:center}.icon-circle-sm{height:36px;width:36px}.icon-circle-lg{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.icon-circle-primary{background-color:var(--phoenix-primary-bg-subtle);color:var(--phoenix-primary)}.icon-circle-secondary{background-color:var(--phoenix-secondary-bg-subtle);color:var(--phoenix-secondary)}.icon-circle-success{background-color:var(--phoenix-success-bg-subtle);color:var(--phoenix-success)}.icon-circle-info{background-color:var(--phoenix-info-bg-subtle);color:var(--phoenix-info)}.icon-circle-warning{background-color:var(--phoenix-warning-bg-subtle);color:var(--phoenix-warning)}.icon-circle-danger{background-color:var(--phoenix-danger-bg-subtle);color:var(--phoenix-danger)}.icon-circle-pink{background-color:var(--phoenix-pink-bg-subtle);color:var(--phoenix-pink)}.icon-circle-purple{background-color:var(--phoenix-purple-bg-subtle);color:var(--phoenix-purple)}.icon-circle-violet{background-color:var(--phoenix-violet-bg-subtle);color:var(--phoenix-violet)}.icon-circle-magenta{background-color:var(--phoenix-magenta-bg-subtle);color:var(--phoenix-magenta)}.icon-circle-indigo{background-color:var(--phoenix-indigo-bg-subtle);color:var(--phoenix-indigo)}.icon-circle-teal-dark{background-color:var(--phoenix-teal-dark-bg-subtle);color:var(--phoenix-teal-dark)}.card-accent{border-radius:0 0 var(--phoenix-border-radius) var(--phoenix-border-radius);height:3px}.card-accent-primary{background-color:var(--phoenix-primary)}.card-accent-secondary{background-color:var(--phoenix-secondary)}.card-accent-success{background-color:var(--phoenix-success)}.card-accent-info{background-color:var(--phoenix-info)}.card-accent-warning{background-color:var(--phoenix-warning)}.card-accent-danger{background-color:var(--phoenix-danger)}.card-accent-pink{background-color:var(--phoenix-pink)}.card-accent-purple{background-color:var(--phoenix-purple)}.card-accent-violet{background-color:var(--phoenix-violet)}.card-accent-magenta{background-color:var(--phoenix-magenta)}.card-accent-indigo{background-color:var(--phoenix-indigo)}.card-accent-teal-dark{background-color:var(--phoenix-teal-dark)}.chart-echart{height:260px;width:100%}@media (max-width:575.98px){.chart-echart{height:230px}}.auditoria-empty,.documentos-empty,.empty-state,.permisos-empty,.politicas-empty,.sesiones-empty,.tenants-empty,.usuarios-empty{border:2px dashed var(--phoenix-border-color);border-radius:.75rem;padding:2.5rem 1.5rem;text-align:center}.auditoria-empty,.documentos-empty .empty-icon,.empty-icon,.empty-state .empty-icon,.permisos-empty .empty-icon,.politicas-empty .empty-icon,.sesiones-empty .empty-icon,.tenants-empty,.usuarios-empty .empty-icon{align-items:center;background:var(--phoenix-body-bg);border:1px solid var(--phoenix-border-color);border-radius:50%;display:flex;height:72px;justify-content:center;margin:0 auto 1.25rem;width:72px}.auditoria-empty,.documentos-empty .empty-icon i,.empty-icon i,.empty-state .empty-icon i,.permisos-empty .empty-icon i,.politicas-empty .empty-icon i,.sesiones-empty .empty-icon i,.tenants-empty,.usuarios-empty .empty-icon i{color:var(--phoenix-body-secondary-color);font-size:2rem}.auditoria-empty,.documentos-empty .empty-text,.empty-state .empty-text,.empty-text,.permisos-empty .empty-text,.politicas-empty .empty-text,.sesiones-empty .empty-text,.tenants-empty,.usuarios-empty .empty-text{color:var(--phoenix-body-secondary-color);font-size:1.05rem;font-weight:700;margin-bottom:.5rem}.auditoria-empty,.documentos-empty .empty-subtext,.empty-state .empty-subtext,.empty-subtext,.permisos-empty .empty-subtext,.politicas-empty .empty-subtext,.sesiones-empty .empty-subtext,.tenants-empty,.usuarios-empty .empty-subtext{color:var(--phoenix-body-tertiary-color);font-size:.875rem}.ghsoft-shortcuts-menu{max-width:calc(100vw - 1rem);width:22rem}.dropdown-menu.ghsoft-shortcuts-context{min-width:16rem;position:fixed!important;transform-origin:top left;z-index:1090!important}.navbar-top #ghsoftNotificationMenu,.navbar-top #ghsoftShortcutMenu{margin-top:.5rem;top:100%;z-index:var(--phoenix-dropdown-zindex,1000)}@keyframes ghsoft-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ghsoft-notification-menu.show,.ghsoft-shortcuts-context.show,.ghsoft-shortcuts-menu.show{animation:ghsoft-menu-in .18s ease-out}@keyframes ghsoft-badge-pop{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}#ghsoftNotificationCount.pop,#ghsoftShortcutCount.pop{animation:ghsoft-badge-pop .3s ease}.ghsoft-shortcut-row{border-radius:.5rem;transition:background-color .15s ease,transform .15s ease}.ghsoft-shortcut-row:hover{background-color:var(--phoenix-tertiary-bg);transform:translateX(2px)}.ghsoft-shortcut-row .fs-9{font-size:.8125rem}.ghsoft-remove-shortcut{transition:color .15s ease,transform .15s ease}.ghsoft-remove-shortcut:hover{color:var(--phoenix-danger)!important;transform:scale(1.2)}#ghsoftShortcutToggle .badge{font-size:.58rem;min-width:1rem}#ghsoftNotificationToggle .bi,#ghsoftShortcutToggle .bi{transition:transform .2s ease}#ghsoftNotificationsNav:has(.dropdown-menu.show) #ghsoftNotificationToggle .bi,#ghsoftShortcutsNav:has(.dropdown-menu.show) #ghsoftShortcutToggle .bi{transform:rotate(45deg) scale(1.1)}.ghsoft-shortcuts-context .dropdown-item .bi{transition:transform .15s ease}.ghsoft-shortcuts-context .dropdown-item:hover .bi{transform:scale(1.2)}.ghsoft-shortcuts-context .dropdown-item{transition:background-color .15s ease}.navbar-vertical .nav-link{cursor:context-menu}.ghsoft-notification-menu{max-width:calc(100vw - 1rem);width:24rem}.ghsoft-notification-row{border-radius:.5rem}.ghsoft-notification-row:hover{background-color:var(--phoenix-tertiary-bg)}.ghsoft-notification-row .fs-9{font-size:.8125rem}.ghsoft-notification-menu .icon-circle-sm{font-size:.8rem;height:2rem;width:2rem}
/* Perfil de usuario y estado de presencia en la barra superior */
.ghsoft-profile-nav__trigger { align-items: center; border: 0; border-radius: .65rem; color: var(--phoenix-body-color); display: inline-flex; flex-wrap: nowrap; gap: .55rem; justify-content: flex-start; padding: .25rem .45rem; background: transparent; white-space: nowrap; }
.ghsoft-profile-nav__trigger > * { flex: 0 0 auto; }
.ghsoft-profile-nav__trigger .ghsoft-profile-nav__identity { flex: 0 1 auto; min-width: 0; }
.ghsoft-profile-nav__trigger:hover, .ghsoft-profile-nav__trigger:focus-visible { background: var(--phoenix-emphasis-bg); color: var(--phoenix-body-color); }
.ghsoft-profile-nav__avatar, .ghsoft-profile-menu__avatar { display: inline-flex; position: relative; flex: 0 0 auto; }
.ghsoft-profile-nav__avatar .user-avatar, .ghsoft-profile-menu__avatar .user-avatar { overflow: hidden; }
.ghsoft-profile-nav__avatar-image { border-radius: 50%; height: 40px; object-fit: cover; width: 40px; }
.ghsoft-profile-menu__avatar-image { border: 3px solid var(--phoenix-body-bg); border-radius: 50%; height: 76px; object-fit: cover; width: 76px; }
.ghsoft-profile-presence-dot { border: 2px solid var(--phoenix-body-bg); border-radius: 50%; bottom: -1px; height: 12px; position: absolute; right: -1px; width: 12px; }
.ghsoft-profile-presence-dot--large { border-width: 3px; height: 20px; width: 20px; }
.ghsoft-profile-presence-dot--available { background: var(--phoenix-success); }
.ghsoft-profile-presence-dot--away { background: var(--phoenix-warning); }
.ghsoft-profile-presence-dot--busy { background: var(--phoenix-danger); }
.ghsoft-profile-presence-dot--dnd { background: #8b1538; }
.ghsoft-profile-presence-dot--invisible { background: var(--phoenix-secondary); }
.ghsoft-profile-nav__identity { align-items: flex-start; flex-direction: column; line-height: 1.1; max-width: 10rem; text-align: left; }
.ghsoft-profile-nav__name { font-size: .85rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.ghsoft-profile-nav__role { color: var(--phoenix-secondary-color); font-size: .65rem; font-weight: 600; margin-top: .16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.ghsoft-profile-nav__status { align-items: center; color: var(--phoenix-secondary-color); display: flex; font-size: .65rem; gap: .3rem; margin-top: .2rem; }
.ghsoft-profile-nav__status-dot, .ghsoft-profile-status-option__dot { border-radius: 50%; display: inline-block; flex: 0 0 auto; height: .5rem; width: .5rem; }
.ghsoft-profile-status-option__dot--dnd { background: #8b1538; }
.ghsoft-profile-nav__chevron { color: var(--phoenix-secondary-color); font-size: .7rem; }
.ghsoft-profile-menu { background: transparent !important; border: 0 !important; min-width: 22.5rem; overflow: visible; padding: 0; }
.ghsoft-profile-menu__content { background: var(--phoenix-body-bg); border: 1px solid var(--phoenix-border-color); border-radius: .75rem; box-sizing: border-box; display: flex; flex-direction: column; min-width: 22.5rem; overflow: hidden; width: 100%; }
.ghsoft-profile-menu__banner { background: var(--phoenix-success-bg-subtle); height: 3.5rem; transition: background-color 150ms ease; }
.ghsoft-profile-menu__banner--available { background: var(--phoenix-success-bg-subtle); }
.ghsoft-profile-menu__banner--away { background: var(--phoenix-warning-bg-subtle); }
.ghsoft-profile-menu__banner--busy { background: var(--phoenix-danger-bg-subtle); }
.ghsoft-profile-menu__banner--dnd { background: var(--phoenix-magenta-bg-subtle); }
.ghsoft-profile-menu__banner--invisible { background: var(--phoenix-secondary-bg-subtle); }
.ghsoft-profile-menu__header { border-bottom: 1px solid var(--phoenix-border-color); margin-top: -1.35rem; padding: 0 1.25rem 1rem; position: relative; text-align: center; }
@media (prefers-reduced-motion: reduce) { .ghsoft-profile-menu__banner { transition: none; } }
.ghsoft-profile-menu__presence { border-bottom: 1px solid var(--phoenix-border-color); padding: 1rem 1.25rem; }
.ghsoft-profile-status-dropdown .dropdown-menu { min-width: 100%; }
.ghsoft-profile-status-indicator { border: 2px solid var(--phoenix-body-bg); border-radius: 50%; box-shadow: 0 0 0 1px var(--phoenix-border-color); display: inline-block; flex: 0 0 auto; height: .7rem; width: .7rem; }
.ghsoft-profile-status-indicator--dnd { background: #8b1538; }
.ghsoft-profile-status-option { border-radius: .4rem; color: var(--phoenix-body-color); font-size: .75rem; font-weight: 600; margin: 0 .25rem; padding: .45rem .55rem; width: calc(100% - .5rem); }
.ghsoft-profile-status-option:hover, .ghsoft-profile-status-option:focus-visible, .ghsoft-profile-status-option.is-active { background: var(--phoenix-primary-bg-subtle); color: var(--phoenix-primary); }
.ghsoft-profile-status-option__check { color: var(--phoenix-primary); font-size: 1rem; }
.ghsoft-profile-avatar-menu { position: fixed !important; z-index: 1080; }
.ghsoft-profile-avatar-status-option { border-radius: .4rem; color: var(--phoenix-body-color); font-size: .75rem; font-weight: 600; margin: 0 .25rem; padding: .45rem .55rem; width: calc(100% - .5rem); }
.ghsoft-profile-avatar-status-option:hover, .ghsoft-profile-avatar-status-option:focus-visible, .ghsoft-profile-avatar-status-option.is-active { background: var(--phoenix-primary-bg-subtle); color: var(--phoenix-primary); }
@media (prefers-reduced-motion: no-preference) { .ghsoft-profile-status-dropdown .dropdown-menu, .ghsoft-profile-avatar-menu { display: block; opacity: 0; pointer-events: none; transform: translateY(-.35rem) scale(.985); transform-origin: top right; transition: opacity 150ms ease, transform 150ms ease, visibility 0s linear 150ms; visibility: hidden; will-change: opacity, transform; } .ghsoft-profile-status-dropdown .dropdown-menu.show, .ghsoft-profile-avatar-menu.show { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); transition-delay: 0s; visibility: visible; } }
@media (prefers-reduced-motion: reduce) { .ghsoft-profile-status-dropdown .dropdown-menu, .ghsoft-profile-avatar-menu { transition: none; } }
@media (max-width: 575.98px) { .ghsoft-profile-menu { min-width: min(22.5rem, calc(100vw - 1.5rem)); } }

@keyframes ghsoft-profile-busy-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(250, 59, 29, .42); } 55% { box-shadow: 0 0 0 6px rgba(250, 59, 29, 0); } }
@media (prefers-reduced-motion: no-preference) { .ghsoft-profile-presence-dot.is-pulsing { animation: ghsoft-profile-busy-pulse 1.8s ease-out infinite; } }
@media (prefers-reduced-motion: reduce) { .ghsoft-profile-presence-dot.is-pulsing { animation: none; } }

/* Modal de información del perfil en modo solo lectura. */
.ghsoft-profile-modal__banner { background: var(--phoenix-primary-bg-subtle); height: 5rem; }
.ghsoft-profile-modal__identity { margin-top: -2.8rem; position: relative; }
.ghsoft-profile-modal__avatar { display: inline-flex; height: 92px; position: relative; width: 92px; }
.ghsoft-profile-modal__avatar-image, .ghsoft-profile-modal__avatar-fallback { align-items: center; background: var(--phoenix-primary); border: 4px solid var(--phoenix-body-bg); border-radius: 50%; color: #fff; display: inline-flex; font-size: 1.5rem; font-weight: 700; height: 92px; justify-content: center; object-fit: cover; width: 92px; }
.ghsoft-profile-modal__field { align-items: center; background: var(--phoenix-tertiary-bg); border: 1px solid var(--phoenix-border-color); border-radius: .6rem; display: flex; gap: .75rem; min-height: 4.2rem; padding: .7rem .8rem; }
.ghsoft-profile-modal__field-icon { align-items: center; border-radius: 50%; display: inline-flex; flex: 0 0 auto; height: 2rem; justify-content: center; width: 2rem; }
.ghsoft-profile-modal__field-label, .ghsoft-profile-modal__field-value { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ghsoft-profile-modal__field-label { color: var(--phoenix-secondary-color); font-size: .68rem; font-weight: 700; margin-bottom: .16rem; text-transform: uppercase; }
.ghsoft-profile-modal__field-value { color: var(--phoenix-body-color); font-size: .8rem; font-weight: 600; max-width: 15rem; }

/* Experiencia ampliada de Mi perfil, adaptada al sistema Phoenix/GhSoft. */
.ghsoft-profile-experience-modal .modal-dialog { max-width: 1120px; }
.ghsoft-profile-experience-modal .modal-content { background: var(--phoenix-body-bg); border-radius: .8rem; overflow: hidden; }
.ghsoft-profile-experience__hero { background: var(--phoenix-primary-bg-subtle); border-bottom: 1px solid var(--phoenix-border-color); min-height: 9.5rem; padding: 1.25rem 2rem 1.5rem; position: relative; }
.ghsoft-profile-experience__hero-actions { display: flex; gap: .5rem; justify-content: flex-end; }
.ghsoft-profile-experience__identity { align-items: end; display: flex; gap: 1.1rem; margin-top: 1.15rem; }
.ghsoft-profile-experience__avatar { display: inline-flex; flex: 0 0 auto; height: 92px; position: relative; width: 92px; }
.ghsoft-profile-experience__avatar-image, .ghsoft-profile-experience__avatar-fallback { align-items: center; background: var(--phoenix-primary); border: 4px solid var(--phoenix-body-bg); border-radius: 50%; color: #fff; display: inline-flex; font-size: 1.5rem; font-weight: 700; height: 92px; justify-content: center; object-fit: cover; width: 92px; }
.ghsoft-profile-experience__identity-copy h2 { color: var(--phoenix-emphasis-color); font-size: 1.4rem; line-height: 1.15; margin: 0 0 .4rem; }
.ghsoft-profile-experience__body { display: grid; grid-template-columns: 17.5rem minmax(0, 1fr); min-height: 31rem; }
.ghsoft-profile-experience__sidebar { background: var(--phoenix-tertiary-bg); border-right: 1px solid var(--phoenix-border-color); padding: 1.25rem; }
.ghsoft-profile-experience__section + .ghsoft-profile-experience__section { border-top: 1px solid var(--phoenix-border-color); margin-top: 1.15rem; padding-top: 1.15rem; }
.ghsoft-profile-experience__section h3, .ghsoft-profile-experience__widget h4 { align-items: center; display: flex; font-size: .82rem; font-weight: 700; gap: .5rem; margin: 0 0 .75rem; }
.ghsoft-profile-experience__summary-card, .ghsoft-profile-experience__info-card { background: var(--phoenix-body-bg); border: 1px solid var(--phoenix-border-color); border-radius: .6rem; font-size: .76rem; padding: .75rem; }
.ghsoft-profile-experience__summary-card > div + div { border-top: 1px solid var(--phoenix-border-color); margin-top: .55rem; padding-top: .55rem; }
.ghsoft-profile-experience__info-row { align-items: flex-start; display: flex; gap: .55rem; line-height: 1.35; }
.ghsoft-profile-experience__info-row + .ghsoft-profile-experience__info-row { margin-top: .65rem; }
.ghsoft-profile-experience__info-row i { flex: 0 0 auto; margin-top: .08rem; }
.ghsoft-profile-experience__main { min-width: 0; padding: 1.25rem 1.5rem 1.5rem; }
.ghsoft-profile-experience__tabs { border-bottom: 1px solid var(--phoenix-border-color); flex-wrap: nowrap; gap: .3rem; overflow-x: auto; padding-bottom: .55rem; }
.ghsoft-profile-experience__tabs .nav-link { color: var(--phoenix-secondary-color); font-size: .8rem; font-weight: 600; white-space: nowrap; }
.ghsoft-profile-experience__tabs .nav-link.active { background: var(--phoenix-primary-bg-subtle); color: var(--phoenix-primary); }
.ghsoft-profile-experience__widget { background: var(--phoenix-tertiary-bg); border: 1px solid var(--phoenix-border-color); border-radius: .7rem; padding: 1.05rem; }
.ghsoft-profile-experience__widget--highlight { background: var(--phoenix-primary-bg-subtle); border-color: var(--phoenix-primary-border-subtle); color: var(--phoenix-primary); }
.ghsoft-profile-experience__widget--highlight h4 { color: var(--phoenix-primary); }
.ghsoft-profile-experience__metrics { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); text-align: center; }
.ghsoft-profile-experience__metrics strong, .ghsoft-profile-experience__metrics span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ghsoft-profile-experience__metrics strong { color: var(--phoenix-emphasis-color); font-size: .87rem; }
.ghsoft-profile-experience__metrics span { color: var(--phoenix-secondary-color); font-size: .68rem; margin-top: .2rem; }
.ghsoft-profile-experience__empty { align-items: center; color: var(--phoenix-secondary-color); display: flex; flex-direction: column; gap: .4rem; justify-content: center; min-height: 12rem; text-align: center; }
.ghsoft-profile-experience__empty i { color: var(--phoenix-primary); font-size: 2rem; }
.ghsoft-profile-experience__timeline { display: grid; gap: .9rem; }
.ghsoft-profile-experience__timeline-item { align-items: flex-start; display: flex; gap: .75rem; }
.ghsoft-profile-experience__timeline-item > i { background: var(--phoenix-body-bg); border: 1px solid var(--phoenix-border-color); border-radius: 50%; flex: 0 0 auto; padding: .42rem; }
.ghsoft-profile-experience__timeline-item strong, .ghsoft-profile-experience__timeline-item span { display: block; }
.ghsoft-profile-experience__timeline-item span { color: var(--phoenix-secondary-color); font-size: .78rem; margin-top: .12rem; }
.ghsoft-profile-experience__team-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ghsoft-profile-experience__team-card { align-items: center; background: var(--phoenix-tertiary-bg); border: 1px solid var(--phoenix-border-color); border-radius: .6rem; display: flex; gap: .7rem; padding: .75rem; }
.ghsoft-profile-experience__team-icon { align-items: center; border-radius: 50%; display: inline-flex; flex: 0 0 auto; height: 2rem; justify-content: center; width: 2rem; }
.ghsoft-profile-experience__team-card strong, .ghsoft-profile-experience__team-card span { display: block; }
.ghsoft-profile-experience__team-card span { color: var(--phoenix-secondary-color); font-size: .76rem; margin-top: .1rem; }
@media (max-width: 767.98px) { .ghsoft-profile-experience-modal .modal-dialog { margin: .5rem; } .ghsoft-profile-experience__hero { padding: 1rem 1.25rem 1.25rem; } .ghsoft-profile-experience__identity { align-items: center; flex-direction: column; margin-top: .65rem; text-align: center; } .ghsoft-profile-experience__body { display: block; } .ghsoft-profile-experience__sidebar { border-bottom: 1px solid var(--phoenix-border-color); border-right: 0; } .ghsoft-profile-experience__main { padding: 1.25rem; } .ghsoft-profile-experience__team-grid { grid-template-columns: 1fr; } }

/* Habilidades y disponibilidad dentro del modal de perfil. */
.ghsoft-profile-experience__section-help { color: var(--phoenix-secondary-color); font-size: .72rem; line-height: 1.35; margin: -.35rem 0 .65rem; }
.ghsoft-profile-experience__skills { display: flex; flex-wrap: wrap; gap: .4rem; }
.ghsoft-profile-experience__skill { align-items: center; background: var(--phoenix-warning-bg-subtle); border: 1px solid var(--phoenix-warning-border-subtle); border-radius: 999px; color: var(--phoenix-warning); display: inline-flex; font-size: .7rem; font-weight: 700; gap: .32rem; line-height: 1.15; max-width: 100%; overflow: hidden; padding: .38rem .55rem; text-overflow: ellipsis; white-space: nowrap; }
.ghsoft-profile-experience__skill i { flex: 0 0 auto; }

/* Buscador de módulos fijo dentro de la navegación lateral. */
.navbar-vertical-content .ghsoft-module-search-sticky { background: var(--phoenix-body-bg); isolation: isolate; position: sticky; top: 0; z-index: 12; }
.navbar-vertical-content .ghsoft-module-search-sticky::after { background: var(--phoenix-body-bg); bottom: -.5rem; content: ''; height: .5rem; left: 0; position: absolute; right: 0; z-index: -1; }
.navbar-vertical-content .ghsoft-module-search-sticky .input-group { margin-bottom: .25rem; }
@media (max-width: 991.98px) { .navbar-vertical-content .ghsoft-module-search-sticky { position: relative; top: auto; } }


/* Perfil de usuario: acabado Phoenix/GhSoft y estados sin expediente. */
.ghsoft-profile-experience-modal .modal-content { border-radius: 1rem; }
.ghsoft-profile-experience__hero { background: radial-gradient(circle at 86% 18%, rgba(var(--phoenix-info-rgb), .15), transparent 28%), linear-gradient(135deg, var(--phoenix-primary-bg-subtle) 0%, var(--phoenix-body-bg) 58%, var(--phoenix-info-bg-subtle) 100%); min-height: 10.25rem; overflow: hidden; }
.ghsoft-profile-experience__hero::after { background: linear-gradient(120deg, transparent 0 47%, rgba(var(--phoenix-primary-rgb), .08) 47% 48%, transparent 48% 100%); content: ''; inset: 0; pointer-events: none; position: absolute; }
.ghsoft-profile-experience__hero-actions, .ghsoft-profile-experience__identity { position: relative; z-index: 1; }
.ghsoft-profile-experience__eyebrow { align-items: center; color: var(--phoenix-primary); display: flex; font-size: .7rem; font-weight: 700; gap: .35rem; letter-spacing: .06em; margin: 0 0 .28rem; text-transform: uppercase; }
.ghsoft-profile-experience__identity-copy h2 { font-size: 1.55rem; letter-spacing: -.02em; }
.ghsoft-profile-experience__profile-notice { align-items: flex-start; background: var(--phoenix-warning-bg-subtle); border: 1px solid var(--phoenix-warning-border-subtle); border-radius: .65rem; color: var(--phoenix-warning); display: flex; font-size: .75rem; gap: .55rem; line-height: 1.35; margin-bottom: 1.15rem; padding: .75rem; }
.ghsoft-profile-experience__profile-notice i { flex: 0 0 auto; margin-top: .08rem; }
.ghsoft-profile-experience__profile-notice strong, .ghsoft-profile-experience__profile-notice span { display: block; }
.ghsoft-profile-experience__profile-notice span { color: var(--phoenix-secondary-color); margin-top: .15rem; }
.ghsoft-profile-experience__summary-card > div { align-items: center; display: flex; justify-content: space-between; }
.ghsoft-profile-experience__info-row { border-radius: .45rem; padding: .18rem; transition: background-color .2s ease; }
.ghsoft-profile-experience__info-row:hover { background: var(--phoenix-tertiary-bg); }
.ghsoft-profile-experience__widget { box-shadow: 0 .125rem .25rem rgba(var(--phoenix-emphasis-color-rgb), .025); }
.ghsoft-profile-experience__tabs .nav-link { border-radius: .5rem; padding: .45rem .7rem; transition: background-color .2s ease, color .2s ease; }
.ghsoft-profile-experience__team-card { min-height: 5.1rem; }
@media (prefers-reduced-motion: reduce) { .ghsoft-profile-experience__info-row, .ghsoft-profile-experience__tabs .nav-link { transition: none; } }
@media (max-width: 575.98px) { .ghsoft-profile-experience__hero { min-height: auto; } .ghsoft-profile-experience__profile-notice { text-align: left; } .ghsoft-profile-experience__metrics { grid-template-columns: 1fr; text-align: left; } .ghsoft-profile-experience__metrics strong, .ghsoft-profile-experience__metrics span { white-space: normal; } }
