.app-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); min-height: 100vh; width: 100%; }
.app-layout > .sidebar { position: sticky; top: 0; width: 240px; height: 100vh; z-index: 30; }
.content { width: 100%; max-width: 1540px; min-width: 0; padding: clamp(22px, 2.4vw, 42px); margin: 0 auto; }

@media (min-width: 1600px) {
  .content { padding-right: clamp(44px, 3.6vw, 70px); padding-left: clamp(44px, 3.6vw, 70px); }
  .form-panel { width: min(1180px, 92%); }
}

@media (max-width: 1199px) {
  .app-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .app-layout > .sidebar { width: 220px; }
  .content { padding: 24px; }
  .filter-bar { grid-template-columns: 2fr 1fr 1fr; }
  .detail-grid { grid-template-columns: minmax(0, 1fr) 250px; }
  .reminder-columns { grid-template-columns: 1fr; }
  .records-table { min-width: 1100px; }
}

@media (max-width: 899px) {
  .identity-grid { grid-template-columns: 1fr 1fr; }
  .identity-card:last-child { grid-column: 1 / -1; }
  .dashboard-grid, .reminder-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-grid, .settings-grid { grid-template-columns: 1fr; }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .dashboard-list a { grid-template-columns: 1fr 1fr; }
  .reminder-card-info { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .page-grid { background-size: 52px 52px; }
  .app-layout { display: block; }
  .app-layout > .sidebar { position: fixed; inset: 0 auto 0 0; width: min(290px, 84vw); height: 100vh; transform: translateX(-105%); transition: transform .25s var(--ease); box-shadow: 12px 0 40px rgba(0, 0, 0, .45); }
  .sidebar-open .app-layout > .sidebar { transform: translateX(0); }
  .sidebar-toggle { display: grid; place-items: center; position: fixed; right: 14px; top: 14px; width: 44px; height: 44px; color: #fff; border: 1px solid var(--line-strong); border-radius: 12px; background: rgba(13, 19, 32, .92); box-shadow: var(--shadow); backdrop-filter: blur(18px); z-index: 40; }
  .sidebar-overlay { display: none; position: fixed; inset: 0; border: 0; background: rgba(3, 6, 13, .75); backdrop-filter: blur(5px); z-index: 25; }
  .sidebar-open .sidebar-overlay { display: block; }
  .content { padding: 74px 14px 24px; }
  .topbar { display: none; }
  .welcome-hero { align-items: flex-start; padding: 22px; }
  .welcome-icon { width: 52px; height: 52px; flex-basis: 52px; border-radius: 16px; }
  .welcome-icon svg { width: 26px; height: 26px; }
  .welcome-hero .online-pill { position: absolute; right: 16px; bottom: 14px; }
  .identity-grid { grid-template-columns: 1fr; margin-bottom: 32px; }
  .identity-card:last-child { grid-column: auto; }
  .page-header { align-items: flex-start; flex-wrap: wrap; }
  .filter-bar { grid-template-columns: 1fr; }
  .form-panel { width: 100%; }
  .reminder-card-info { grid-template-columns: 1fr; }
  .records-table { min-width: 1050px; }
  .management-table { min-width: 850px; }
  .registry-table { min-width: 780px; }
  .flash-stack { top: 12px; right: 14px; }
  .login-page .flash-stack { top: 12px; }
}

@media (max-width: 560px) {
  .auth-content { align-items: start; padding: 28px 14px; }
  .login-card { padding: 27px 20px; border-radius: 20px; }
  .login-heading { margin-bottom: 20px; }
  .login-options { align-items: flex-start; }
  .secure-note { display: none; }
  .welcome-hero { display: grid; grid-template-columns: 52px 1fr; padding-bottom: 52px; }
  .welcome-hero p { font-size: 12px; }
  .welcome-hero .online-pill { margin: 0; }
  .dashboard-grid, .reminder-summary, .stat-grid { grid-template-columns: 1fr; }
  .stat { min-height: 120px; }
  .dashboard-list a { grid-template-columns: 1fr; }
  .settings-grid { gap: 14px; }
  .reminder-summary { gap: 12px; }
  .reminder-card-top { display: grid; }
  .button-row .btn { width: 100%; }
  .duration-row { grid-template-columns: 1fr; }
  .registry-filter { grid-template-columns: 1fr; }
  .bulk-toolbar { align-items: stretch; flex-wrap: wrap; }.bulk-toolbar > span { width: 100%; }.batch-edit-row { grid-template-columns: 1fr; }
  .public-open-grid { grid-template-columns: 1fr; }.public-open-card, .public-history-card { padding: 24px; }.public-history-card { min-height: auto; }.public-history-state { min-height: 180px; }
  .preview, .summary, .mini-stats { display: grid; gap: 8px; }
  .detail-title { align-items: flex-start; }
}
