/* Navigation polish: icons clarify actions; labels and the existing role gates stay authoritative. */
.experience-shell > header > .experience-identity { align-items: center; gap: 16px; }
.experience-shell .experience-wordmark { flex: 0 0 auto; }
.experience-shell .experience-school { gap: 12px; }
.experience-shell .experience-account { gap: 8px; }
.experience-account-label { display: none; }
.experience-shell #experience-menu-toggle { align-items: center; justify-content: center; width: 48px; height: 48px; min-width: 48px; min-height: 48px; padding: 10px; border: 1px solid var(--experience-line); border-radius: 10px; background: var(--bg-surface, #fff); color: var(--text-dark, #172d3a); }
.experience-shell #experience-menu-toggle:hover { background: var(--bg-surface, #fff); }
.experience-menu-icon { display: block; width: 24px; height: 24px; pointer-events: none; }
.experience-shell .experience-rail { flex-direction: column; box-sizing: border-box; }
.experience-shell .experience-rail-header,
.experience-shell .experience-rail-label,
.experience-shell .app-primary-nav,
.experience-shell .experience-rail-footer { flex: 0 0 auto; }
.experience-shell .app-primary-nav { position: relative; width: 100%; align-items: stretch; }
.experience-rail-header { display: none; }
.experience-shell .app-primary-nav { gap: 5px; }
.experience-shell .app-primary-nav > #dashboard-btn,
.experience-shell .nav-menu-summary,
.experience-shell .nav-menu-item { display: flex; align-items: center; gap: 11px; }
.experience-shell .app-primary-nav > #dashboard-btn,
.experience-shell .nav-menu-summary { justify-content: flex-start; }
.experience-shell .nav-menu-item .experience-nav-label,
.experience-shell .app-primary-nav > #dashboard-btn .experience-nav-label { flex: 1; min-width: 0; text-align: left; }
.experience-shell .nav-menu-summary .experience-nav-label { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.3; white-space: normal; overflow-wrap: normal; word-break: normal; }
.experience-shell .experience-nav-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; opacity: .82; pointer-events: none; }
.experience-shell .nav-menu-summary::after { display: none; }
.experience-shell .nav-menu-summary { list-style: none; padding: 8px 10px; }
.experience-shell .nav-menu-summary::-webkit-details-marker { display: none; }
.experience-shell .nav-menu-summary > .experience-nav-chevron { display: block; width: 18px; height: 18px; flex: 0 0 18px; margin-left: auto; opacity: .78; rotate: 0deg; transition: rotate .18s ease, opacity .18s ease; }
.experience-shell .nav-menu-group[open] > .nav-menu-summary > .experience-nav-chevron { rotate: 180deg; }
.experience-shell .nav-menu-items { padding-left: 14px; }
.experience-shell .nav-menu-item { position: relative; }
.experience-shell .nav-menu-item > [id$="-unread-pill"] { top: 50%; right: 10px; transform: translateY(-50%); }
.experience-shell .app-primary-nav :is(#dashboard-btn, #settings-link, .nav-menu-item, .nav-menu-summary).is-current { position: relative; background: color-mix(in srgb, var(--heading-accent, #76682b) 13%, var(--bg-surface, #fff)); color: var(--heading-accent, #76682b); font-weight: 700; box-shadow: none; }
.experience-shell .experience-rail-footer #settings-link.is-current { background: color-mix(in srgb, var(--heading-accent, #76682b) 13%, var(--bg-surface, #fff)); color: var(--heading-accent, #76682b); font-weight: 700; box-shadow: none; }
.experience-shell .app-primary-nav :is(#dashboard-btn, #settings-link, .nav-menu-item, .nav-menu-summary).is-current .experience-nav-icon { opacity: 1; }
.experience-shell .nav-menu-summary:hover,
.experience-shell .nav-menu-item:hover,
.experience-shell .experience-rail-footer #settings-link:hover { background: transparent; }
.experience-shell :is(.nav-menu-summary, .nav-menu-item):focus-visible { outline: 3px solid var(--v1-focus, #76682b); outline-offset: 2px; }
.experience-shell .experience-rail-footer { display: grid; gap: 8px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--experience-line); }
.experience-shell .experience-rail-footer #settings-link { min-height: 44px; padding: 10px 12px; border-radius: 8px; color: var(--text-dark, #172d3a); text-decoration: none; }
.experience-shell .experience-rail-footer #settings-link:hover { background: transparent; }
.experience-shell .experience-rail-footer #profile-menu-container { position: relative; }
.experience-shell .experience-action-icon { width: 1.15em; height: 1.15em; margin-inline-end: .45em; vertical-align: -.2em; flex: 0 0 auto; pointer-events: none; }
.experience-search-field { padding-left: 2.55rem !important; text-align: left !important; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%20fill%3D%22%2352636d%22%3E%3Cpath%20d%3D%22M229.66%2C218.34l-50.07-50.06a88.11%2C88.11%2C0%2C1%2C0-11.31%2C11.31l50.06%2C50.07a8%2C8%2C0%2C0%2C0%2C11.32-11.32ZM40%2C112a72%2C72%2C0%2C1%2C1%2C72%2C72A72.08%2C72.08%2C0%2C0%2C1%2C40%2C112Z%22%2F%3E%3C%2Fsvg%3E") !important; background-repeat: no-repeat !important; background-position: 12px center !important; background-size: 20px !important; }
.experience-shell .experience-home-quick-links .experience-home-quick-link-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
#app-container.experience-shell #school-home-shortcuts .experience-home-quick-link-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.experience-shell .experience-home-quick-link { gap: .625rem; min-height: 48px; padding: .625rem .75rem; white-space: normal; overflow-wrap: normal; word-break: normal; }
.experience-shell .experience-home-quick-link-icon { display: block; flex: 0 0 20px; width: 20px; height: 20px; pointer-events: none; }
.experience-shell .experience-home-quick-link-label { flex: 1 1 auto; min-width: 0; overflow-wrap: normal; word-break: normal; white-space: normal; }

@media (min-width: 1024px) {
    .experience-shell .experience-rail { display: flex; }
}

@media (max-width: 1023px) {
    .experience-shell > header { padding: 8px 16px; }
    .experience-shell > header > .experience-identity { min-height: 48px; }
    .experience-shell .experience-wordmark { font-size: 21px; padding: 0; border: 0; }
    .experience-shell .experience-school,
    .experience-shell .experience-account { display: none; }
    .experience-shell #experience-menu-toggle { display: inline-flex; }
    .experience-shell .experience-rail { display: none; max-height: calc(100dvh - 64px); overflow-y: auto; overscroll-behavior: contain; padding: 16px; }
    .experience-shell[data-menu-open="true"] .experience-rail { display: flex; }
    .experience-shell .experience-rail-header { display: block; padding: 4px 4px 16px; margin-bottom: 10px; border-bottom: 1px solid var(--experience-line); }
    .experience-shell .experience-rail-header .experience-school { display: flex; flex-wrap: wrap; gap: 6px 10px; }
    .experience-shell .experience-rail-header #nav-school-logo { display: block; width: 32px; max-width: 32px; max-height: 32px; }
    .experience-shell .experience-rail-header #nav-school-name { width: auto; max-width: min(100%, 24rem); font-size: 14px; font-weight: 700; }
    .experience-shell .experience-rail-label { margin: 2px 10px 8px; }
    .experience-shell .experience-rail-footer { margin-top: 12px; padding-top: 12px; }
    .experience-shell .experience-rail-footer .experience-account { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
    .experience-shell #profile-menu-container { width: 100%; }
    .experience-shell #profile-menu-btn { width: 100%; justify-content: flex-start; padding: 8px 10px; border-radius: 8px; }
    .experience-shell .experience-account-label { display: inline; }
    .experience-shell #profile-dropdown { position: static !important; width: 100%; margin-top: 4px; padding: 4px 0; border: 1px solid var(--experience-line); border-radius: 8px; box-shadow: none; }
    .experience-shell #role-view-toggle-btn { width: 100%; min-height: 44px; justify-content: flex-start; text-align: left; }
    .experience-shell .nav-menu-item > [id$="-unread-pill"] { right: 8px; }
}

@media (hover: hover) and (pointer: fine) {
    .experience-shell #experience-menu-toggle:hover { background: var(--accent-light, #f2f0e6); }
    .experience-shell .nav-menu-summary:hover,
    .experience-shell .nav-menu-item:hover,
    .experience-shell .app-primary-nav > #dashboard-btn:hover,
    .experience-shell .experience-rail-footer #settings-link:hover { background: var(--accent-light, #f2f0e6); color: var(--text-dark, #172d3a); }
    .experience-shell .nav-menu-summary.is-current:hover,
    .experience-shell .nav-menu-item.is-current:hover,
    .experience-shell .app-primary-nav > #dashboard-btn.is-current:hover { background: color-mix(in srgb, var(--heading-accent, #76682b) 19%, var(--bg-surface, #fff)); color: var(--heading-accent, #76682b); }
    .experience-shell .experience-rail-footer #settings-link.is-current:hover { background: color-mix(in srgb, var(--heading-accent, #76682b) 19%, var(--bg-surface, #fff)); color: var(--heading-accent, #76682b); }
}

@media (prefers-reduced-motion: reduce) {
    .experience-shell .nav-menu-summary > .experience-nav-chevron { transition: none; }
}

@media (max-width: 359px) {
    .experience-shell > header { padding-inline: 12px; }
    .experience-shell .experience-rail { padding: 12px; }
}
