/* ALPHA41 - Menú institucional, identidad corporativa y Motor Normativo base.
   Capa visual liviana, sin dependencias externas. */
.pi-menu-institucional {
    scrollbar-width: thin;
    scrollbar-color: rgba(34, 211, 238, .35) rgba(15, 23, 42, .22);
}

.pi-menu-group {
    border: 1px solid rgba(148, 163, 184, .10);
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(15, 23, 42, .42), rgba(2, 6, 23, .48));
    overflow: hidden;
}

.pi-menu-group[open] {
    border-color: rgba(34, 211, 238, .18);
    box-shadow: inset 0 0 0 1px rgba(34, 211, 238, .035);
}

.pi-menu-group summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem .78rem;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: rgba(203, 213, 225, .72);
    border-bottom: 1px solid transparent;
}

.pi-menu-group summary::-webkit-details-marker {
    display: none;
}

.pi-menu-group[open] summary {
    color: rgba(165, 243, 252, .95);
    border-bottom-color: rgba(148, 163, 184, .08);
}

.pi-menu-group summary::after {
    content: "⌄";
    margin-left: auto;
    color: rgba(148, 163, 184, .75);
    transition: transform .2s ease;
}

.pi-menu-group[open] summary::after {
    transform: rotate(180deg);
}

.pi-menu-group-items {
    display: grid;
    gap: .25rem;
    padding: .45rem;
}

.pi-brand-card {
    min-height: 4.5rem;
}

.pi-brand-logo-wrap img:not(.hidden) + i {
    display: none;
}

.pi-alpha41-card,
.pi-alpha41-panel,
.pi-alpha41-mini-card {
    border: 1px solid rgba(148, 163, 184, .14);
    background:
        linear-gradient(135deg, rgba(15, 23, 42, .78), rgba(2, 6, 23, .88)),
        radial-gradient(circle at 18% 0%, rgba(34, 211, 238, .08), transparent 18rem);
    border-radius: 1.5rem;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .34);
    backdrop-filter: blur(14px);
}

.pi-alpha41-mini-card {
    padding: 1rem;
    min-height: 8rem;
}

.pi-alpha41-mini-card h3 {
    color: #f8fafc;
    font-weight: 700;
    margin-bottom: .45rem;
}

.pi-alpha41-mini-card p {
    color: #94a3b8;
    font-size: .86rem;
    line-height: 1.45;
}

.pi-alpha41-input {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(2, 6, 23, .72);
    color: #e2e8f0;
    border-radius: .95rem;
    padding: .72rem .85rem;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.pi-alpha41-input:focus {
    border-color: rgba(34, 211, 238, .48);
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .08);
    background: rgba(2, 6, 23, .9);
}

.pi-alpha41-input::placeholder {
    color: rgba(148, 163, 184, .62);
}

.pi-alpha41-btn-primary,
.pi-alpha41-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border-radius: .95rem;
    padding: .7rem 1rem;
    font-weight: 700;
    font-size: .88rem;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.pi-alpha41-btn-primary {
    color: white;
    background: linear-gradient(90deg, #2563eb, #06b6d4, #8b5cf6);
    box-shadow: 0 14px 36px rgba(37, 99, 235, .22);
}

.pi-alpha41-btn-secondary {
    border: 1px solid rgba(34, 211, 238, .26);
    color: #bae6fd;
    background: rgba(14, 165, 233, .08);
}

.pi-alpha41-btn-primary:hover,
.pi-alpha41-btn-secondary:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 42px rgba(2, 6, 23, .30), 0 0 24px rgba(34, 211, 238, .12);
}

#mo-list .mo-row,
#mo-vigente-card .mo-row {
    border: 1px solid rgba(148, 163, 184, .12);
    background: rgba(15, 23, 42, .58);
    border-radius: 1rem;
    padding: 1rem;
}

.pi-alpha41-badge {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(34, 211, 238, .22);
    background: rgba(14, 165, 233, .08);
    color: #bae6fd;
    border-radius: 999px;
    padding: .25rem .65rem;
    font-size: .72rem;
    font-weight: 700;
}

.pi-alpha41-section-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(251, 191, 36, .22);
    background: rgba(251, 191, 36, .08);
    color: #fde68a;
    padding: .25rem .65rem;
    font-size: .72rem;
    margin: .15rem;
}

@media (max-width: 1024px) {
    .pi-menu-group summary {
        letter-spacing: .08em;
    }
}
