.tab-dashboard-header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 18px; margin-bottom:14px; }
.tab-dashboard-header h1 { font-size:1.5rem; letter-spacing:0; }
.tab-dashboard .panel,.tab-dashboard .recipe { padding:16px; }
.tab-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0 0 14px; padding:12px 16px; }
.tab-toolbar p { font-size:.85rem; color:var(--muted); }
.tab-toolbar .inventory-controls { width:100%; margin:0; padding:0; border:0; }
.tab-toolbar .inventory-filters { width:auto; flex:1; }
.tab-toolbar .inventory-filters label { flex:1; }
.tab-dashboard .recipe h3 { font-size:1.1rem; }
.tab-dashboard .recipe p { font-size:.875rem; line-height:1.5; }
.tab-dashboard .recipe button { white-space:normal; }
.tab-dashboard .operation-actions { display:flex; flex-wrap:wrap; gap:8px; }
.tab-dashboard .operation-actions > * { flex:0 0 auto; }
.tab-dashboard .operation-card details { margin:8px 0; }
.tab-dashboard .operation-card summary { padding:8px; }
.tab-dashboard .inventory-item { min-height:90px; display:flex; flex-direction:column; justify-content:space-between; gap:6px; padding:14px; }
.tab-dashboard .inventory-item b { font-size:1.35rem; }
.patrol-dashboard-body { display:grid; grid-template-columns:minmax(230px,.75fr) minmax(0,2.25fr); gap:14px; align-items:start; }
.patrol-dashboard-body #patrol-status { margin:0; }
.combat-dashboard-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; align-items:start; }
.tab-dashboard #combat-ui { gap:14px; }
.tab-dashboard #combat-log { max-height:380px; overflow:auto; }
.tab-dashboard .combat-jumps { margin:0; }
.tab-dashboard .combat-jumps a { padding:8px 12px; text-decoration:none; }
@media(min-width:1200px){
 .desktop-tab-view .alpha-label { padding:3px 18px; font-size:.7rem; }
 .desktop-tab-view > .mobile-install { position:absolute; right:24px; top:0; z-index:25; max-width:430px; }
 .desktop-tab-view > .mobile-install[open] { background:var(--page); }
 .shell.tab-dashboard-layout { max-width:none; padding:8px 18px 18px; gap:18px; grid-template-columns:245px minmax(0,1fr); }
 .tab-dashboard-layout .relay-menu { grid-row:1 / span 2; top:8px; max-height:calc(100vh - 34px); padding:12px; }
 .tab-dashboard-layout .menu-brand { padding-bottom:8px; }
 .tab-dashboard-layout .menu-brand small { letter-spacing:.12em; }
 .tab-dashboard-layout .survivor-mini { margin:4px 0; }
 .tab-dashboard-layout .compact-nav { gap:3px; margin:4px 0 6px; }
 .tab-dashboard-layout .compact-nav .nav-heading { padding:7px 8px 4px; margin:2px 0; }
 .tab-dashboard-layout .compact-nav button { min-height:40px; padding:8px 12px; }
 .tab-dashboard-layout .resource-search { margin:6px 0; padding:7px; }
 .tab-dashboard-layout .resource-search input { padding:7px; }
 .tab-dashboard-layout .topbar { flex-wrap:nowrap; min-height:0; height:55px; margin-bottom:10px; }
 .tab-dashboard-layout .topbar > div:first-child { display:grid; grid-template-columns:auto auto; gap:2px 16px; align-items:center; }
 .tab-dashboard-layout #calendar-year,.tab-dashboard-layout #calendar-time { margin:0; font-size:.75rem; }
 .tab-dashboard-layout #calendar-progress { grid-column:1 / -1; height:3px; }
 .tab-dashboard-layout #page-label,.tab-dashboard-layout #training-hint,.tab-dashboard-layout #boost-chance { display:none; }
 .tab-dashboard-layout .training-sticky-wrap { margin-bottom:14px; }
 .tab-dashboard-layout .training-banner { padding:10px 14px 0; gap:8px; }
 .tab-dashboard-layout #training-title { font-size:1rem; }
 .tab-dashboard-layout .training-description .eyebrow { font-size:.7rem; }
 .tab-dashboard-layout .training-controls { flex-direction:row; align-items:center; gap:12px; }
 .tab-dashboard-layout .training-controls button { font-size:.8rem; padding:7px 10px; }
 .tab-dashboard-layout #training-meter { margin:0 -14px; flex-basis:calc(100% + 28px); }
 .tab-dashboard-layout .activity-log { position:static; grid-column:2; max-height:180px; }
 .tab-dashboard .support-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:start; }
 .tab-dashboard .inventory-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
 .tab-dashboard .relay-overview { grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:14px; }
 .tab-dashboard .relay-scene img { max-height:350px; object-fit:cover; }
 .tab-dashboard .warden-card { position:relative; min-height:300px; padding-right:165px; }
 .tab-dashboard .warden-portrait { position:absolute; top:60px; right:12px; width:140px; height:170px; object-fit:contain; }
 .tab-dashboard .overview-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
 .patrol-dashboard-body .support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tab-dashboard #squad-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tab-dashboard #squad-cards .recipe { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 10px; }
 .tab-dashboard #squad-cards .recipe > :is(h3,p,progress) { grid-column:1 / -1; margin:0; }
 .tab-dashboard #squad-cards .recipe > label { margin:0; font-size:.8rem; }
 .tab-dashboard #squad-cards .recipe select { padding:7px; font-size:.8rem; }
 .tab-dashboard #squad-cards .recipe > button { grid-column:1 / -1; }
 .tab-dashboard #combat-message:empty { display:none; }
 .tab-dashboard #combat-squad > p { margin:6px 0; font-size:.85rem; }
}
@media(max-width:1199px){.patrol-dashboard-body,.combat-dashboard-body{grid-template-columns:1fr;}}

/* Keep the desktop composition readable on 21:9 and 32:9 displays. */
body .shell,
body .shell.skills-dashboard-layout,
body .shell.tab-dashboard-layout {
 width:100%; max-width:2560px; margin-inline:auto;
}
@media(min-width:2560px){
 body.desktop-skill-view > .mobile-install,
 body.desktop-tab-view > .mobile-install { right:calc((100% - 2560px) / 2 + 24px); }
}
