.dashboard-grid {
    display:grid;
    grid-template-columns:minmax(700px,1.05fr) minmax(620px,1fr);
    gap:16px;
    align-items:start;
    width:100%;
}
.main-roster-panel { grid-column:1; }
.advisor-panel { grid-column:2; }
.characters-panel,
.professions-panel,
.profession-panel { grid-column:1; }
.overview-panel,
.activity-panel,
.quick-panel,
.quick-actions-panel { grid-column:2; }
.distribution-row { display:grid; grid-template-columns:1.1fr .9fr; gap:14px; }
.stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }
@media (min-width:1800px) {
    .dashboard-grid { grid-template-columns:minmax(760px,1.08fr) minmax(680px,1fr); }
}
@media (max-width:1600px) {
    .dashboard-grid { grid-template-columns:minmax(660px,1.08fr) minmax(540px,.98fr); }
}
@media (max-width:1400px) {
    .main-roster-grid { grid-template-columns:repeat(3,1fr); }
    .dashboard-grid { grid-template-columns:1fr; }
    .main-roster-panel,
    .advisor-panel,
    .characters-panel,
    .overview-panel,
    .professions-panel,
    .profession-panel,
    .activity-panel,
    .quick-panel,
    .quick-actions-panel { grid-column:auto; }
}
@media (max-width:900px) {
    .main-roster-grid { grid-template-columns:repeat(2,1fr); }
    .distribution-row,
    .stat-row { grid-template-columns:1fr; }
}
@media (max-width:640px) { .main-roster-grid { grid-template-columns:1fr; } }
