.app-layout { min-height: 100vh; display: grid; grid-template-columns: 280px minmax(0, 1fr); background: linear-gradient(180deg, #f4f7fb 0%, #e9f0f8 100%); }
.app-main-shell { min-width: 0; }
.app-topbar { padding: 18px 28px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.app-main { padding: 20px 28px 120px; }
.app-topbar__actions { display: flex; align-items: center; gap: 12px; }
.app-topbar__bell { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; border-radius: 999px; background: #f4f9ff; color: #0d4d8b; text-decoration: none; border: 1px solid #b8d6f2; }
.app-topbar__bell-icon { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.app-topbar__bell-badge { position: absolute; top: -4px; right: -4px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #d63c3c; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }

.center-container, .survey-page, .survey-shell, .app-shell { max-width: 1120px; margin: 0 auto; }
.center-container { margin-top: 120px; text-align: center; }
.survey-page, .survey-shell { padding: 0; }

.survey-grid, .dashboard-metrics, .survey-meta { display: flex; flex-wrap: wrap; gap: 12px; }
.survey-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.survey-player-header { display: grid; gap: 12px; }
.survey-player-meta { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0 18px; color: #3c5775; }

@media (max-width: 900px) {
  .app-layout { grid-template-columns: 1fr; }
  .app-main { padding-bottom: calc(132px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 720px) {
  .app-main { padding: 16px 16px calc(148px + env(safe-area-inset-bottom, 0px)); }
  .app-topbar { padding: 16px 16px 0; flex-direction: column; align-items: flex-start; }
  .survey-player-meta, .dashboard-metrics, .survey-meta, .app-page__header, .app-list__meta { flex-direction: column; align-items: flex-start; }
}
