.sidebar-nav{gap:5px;padding-right:2px}.nav-group{border-radius:11px}.nav-group-toggle{width:100%;border:0;background:transparent;color:#839da8;display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:10px;font-size:.69rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.nav-group-toggle>span{display:flex;align-items:center;gap:10px}.nav-group-toggle>span>i{width:20px;text-align:center;font-size:.93rem}.nav-group-toggle:hover,.nav-group.open>.nav-group-toggle{background:rgba(255,255,255,.055);color:#d8e5e9}.nav-group-arrow{font-size:.72rem;transition:transform .2s}.nav-group.open .nav-group-arrow{transform:rotate(180deg)}.nav-group-items{max-height:0;overflow:hidden;opacity:0;transition:max-height .28s ease,opacity .18s ease}.nav-group.open .nav-group-items{max-height:980px;opacity:1}.nav-group-items>.nav-link{margin:2px 0 2px 8px;padding:8px 10px 8px 13px;font-size:.78rem}.nav-group-items>.nav-link i{font-size:.93rem}.sidebar.collapsed .nav-group-toggle{justify-content:center}.sidebar.collapsed .nav-group-toggle>span{gap:0}.sidebar.collapsed .nav-group-toggle>span:not(i){font-size:0}.sidebar.collapsed .nav-group-toggle>span>i{font-size:1rem}.sidebar.collapsed .nav-group-arrow,.sidebar.collapsed .nav-group-items{display:none}
.profile-photo-shell{position:relative;width:116px;height:116px;margin:0 auto 16px}.profile-photo,.profile-avatar{width:116px;height:116px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-size:1.8rem;font-weight:800;border:5px solid #fff;box-shadow:0 12px 32px rgba(8,47,52,.18)}.profile-photo-edit{position:absolute;right:2px;bottom:4px;width:38px;height:38px;border-radius:50%;border:3px solid #fff;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.2)}.photo-crop-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px}.photo-crop-stage{position:relative;max-width:430px;aspect-ratio:1;margin:auto;border-radius:20px;overflow:hidden;background:#081b25;touch-action:none}.photo-crop-stage canvas{width:100%;height:100%;display:block}.photo-mask{position:absolute;inset:10%;border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.48),0 0 0 3px rgba(255,255,255,.9);pointer-events:none}.photo-crop-tools{display:flex;flex-direction:column;gap:12px}.photo-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-upload-progress{height:9px;background:#e7eef0;border-radius:999px;overflow:hidden}.photo-upload-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .15s}.profile-photo-note{font-size:.78rem;color:var(--muted)}@media(max-width:767px){.photo-crop-layout{grid-template-columns:1fr}.photo-crop-tools{max-width:430px;margin:auto;width:100%}.photo-source-actions{grid-template-columns:1fr}.profile-photo-shell,.profile-photo,.profile-avatar{width:104px;height:104px}}

.user-mini>span.has-photo,.top-user>span.has-photo{background-size:cover;background-position:center;color:transparent}.top-user>span.has-photo{border-radius:50%}
.user-photo-editor-card{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#f8fbfb,#eef7f7)}.user-photo-editor-card .profile-photo-shell{margin:0;flex:0 0 auto}.entity-photo{object-fit:cover;border-radius:14px}.file-meta small{line-height:1.45}@media(max-width:575px){.user-photo-editor-card{flex-direction:column;text-align:center}}

.nav-subtitle{padding:12px 13px 5px 15px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(220,242,244,.62);display:flex;gap:7px;align-items:center}.nav-subtitle span{display:inline-grid;place-items:center;min-width:31px;height:20px;padding:0 6px;border-radius:7px;background:rgba(24,160,168,.18);color:#8fe3e7;font-size:.64rem}.sidebar.collapsed .nav-subtitle{display:none}@media(max-width:991px){.nav-subtitle{padding-left:17px}}

/* V44 · Menú oficial M01-M16 */
.module-menu{gap:4px}.module-menu .nav-group{border:1px solid transparent}.module-menu .nav-group.open{border-color:rgba(127,220,224,.09);background:rgba(255,255,255,.018)}.module-menu .nav-group-toggle{padding:8px 9px;text-transform:none;letter-spacing:0}.module-menu .nav-group-toggle>span{min-width:0;flex:1}.module-menu .nav-group-toggle em{font-style:normal;font-size:.72rem;font-weight:700;line-height:1.1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-module-code{display:inline-grid;place-items:center;flex:0 0 34px;height:22px;border-radius:7px;background:rgba(24,160,168,.17);color:#8fe3e7;font-size:.62rem;font-weight:900;letter-spacing:.04em}.module-menu .nav-group.open .nav-module-code{background:rgba(24,160,168,.28);color:#c9fbfd}.module-menu .nav-group-items>.nav-link{margin-left:9px;padding:7px 10px 7px 15px}.nav-planned{margin:6px 10px 8px 18px;padding:8px 10px;border:1px dashed rgba(143,227,231,.16);border-radius:9px;color:rgba(220,242,244,.55);display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:7px;font-size:.7rem}.nav-planned i{color:#74bec2}.nav-planned small{font-size:.57rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(220,242,244,.42)}.sidebar.collapsed .nav-module-code,.sidebar.collapsed .nav-group-toggle em,.sidebar.collapsed .nav-planned{display:none}.sidebar.collapsed .module-menu .nav-group-toggle>span>i{font-size:1rem}.sidebar.collapsed .module-menu .nav-group-toggle>span{justify-content:center}@media(max-width:1180px) and (min-width:901px){.module-menu .nav-group-toggle em{font-size:.69rem}.nav-module-code{flex-basis:31px}}

/* V56.2 - nombres de módulos sin prefijos M01/M02 */
.nav-module-code{display:none!important}
.module-menu .nav-group-toggle>span{gap:10px}
.module-menu .nav-group-toggle em{font-size:.76rem;white-space:nowrap;overflow:visible;text-overflow:clip}
.module-menu .nav-group-toggle>span>i{flex:0 0 21px}
