/* Product shell; shared page/header styles come from Administration.UI. */
.routepacking-shell { background: var(--mud-palette-background-grey); }
.routepacking-shell .portal-appbar { border-bottom: 1px solid var(--mud-palette-lines-default); }
.routepacking-shell .portal-brand { font-weight: 650; font-size: 1.125rem; }
.routepacking-navigation { border-right: 1px solid var(--mud-palette-lines-default); }
.routepacking-navigation .mud-navmenu { padding: 0.75rem; }
.routepacking-navigation .mud-nav-link { border-radius: 0.5rem; margin-bottom: 0.25rem; }
.routepacking-navigation .mud-nav-link.active { background: var(--mud-palette-primary-hover); color: var(--mud-palette-primary); font-weight: 600; }
.routepacking-content { padding-top: 1.25rem; padding-bottom: 1.25rem; }
@media (max-width: 599.98px) {
    .routepacking-content { padding: 0.75rem; }
    .routepacking-shell .portal-footer { padding: 0.75rem; }
}

/* Tours: desktop master/detail; mobile list first, detail after selection. */
.tour-browser { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(0, 2fr); gap: 1rem; align-items: start; }
.tour-browser-list, .tour-browser-detail { min-width: 0; }
.tour-browser-row { cursor: pointer; }
.tour-browser-row-selected { border-color: var(--mud-palette-primary); background: var(--mud-palette-primary-hover); }
.tour-browser-row-heading, .tour-browser-detail-heading { display: flex; align-items: center; gap: 0.5rem; }
.tour-browser-row-heading > h6, .tour-browser-detail-heading > h5 { flex: 1; min-width: 0; }
.tour-browser-back { display: none; }
@media (max-width: 959.98px) {
    .tour-browser { display: block; }
    .tour-browser-detail { display: none; }
    .tour-browser-detail-open > .tour-browser-list { display: none; }
    .tour-browser-detail-open > .tour-browser-detail { display: block; }
    .tour-browser-back { display: inline-flex; }
    .tour-browser-save-detail-only { display: none; }
}

/* Home: compact shortcuts, two columns on desktop and one on phones. */
.home-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.home-shortcut { justify-content: flex-start; padding: 1.25rem; text-align: left; height: 100%; }
.home-shortcut-content { display: flex; flex-direction: column; gap: 0.4rem; }
.home-shortcut-title { font-size: 1.1rem; font-weight: 600; }
.home-shortcut-description { font-size: 0.875rem; font-weight: 400; color: var(--mud-palette-text-secondary); }
@media (max-width: 599.98px) {
    .home-shortcuts { grid-template-columns: minmax(0, 1fr); }
}
