@media (min-width: 841px) and (max-width: 1040px) {
  .home-week-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-overview { grid-template-columns: minmax(0, 1fr); }
  .finance-report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-launches__list { overflow-x: auto; }
  .finance-transaction { min-width: 980px; }
  .custom-lists { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .goal-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .goals-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .overview-panel__welcome {
    min-height: 270px;
  }

  .overview-panel__shortcuts {
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }
}

@media (max-width: 840px) {
  .app-shell { min-height: 100dvh; }
  .page :is(.toolbar, .pending-page__header, .routine-page__header-actions, .topbar__actions) > * { min-width: 0; max-width: 100%; }
  .page :is(.primary-button, .secondary-button):not(.icon-button) { white-space: normal; overflow-wrap: anywhere; }
  .trash-item { grid-template-columns: 22px 38px minmax(0, 1fr); }
  .trash-item button { grid-column: 1 / -1; }
  .lists-toolbar.finance-toolbar { grid-template-columns: minmax(0, 1fr); }
  .finance-toolbar__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-hero__aside { width: min(38vw, 300px); }
  .overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-dashboard { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
  .overview-card { grid-column: 1 !important; grid-row: auto !important; min-height: 260px; }
  .overview-card--wide { grid-column: auto; }
  .overview-editbar { align-items: stretch; flex-wrap: wrap; }
  .overview-editbar > div { flex-basis: 100%; }
  .home-week-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-tabs { overflow-x: auto; overscroll-behavior-inline: contain; }
  .home-tabs button { min-width: 112px; flex: 0 0 auto; }
  .finance-page > .home-tabs { overflow: visible; flex-wrap: wrap; }
  .finance-page > .home-tabs button { min-width: 0; min-height: 66px; flex: 0 0 50%; gap: .4rem; padding: .5rem; }
  .finance-page > .home-tabs button span { min-width: 0; overflow-wrap: anywhere; line-height: 1.2; text-align: center; }
  .finance-page > .home-tabs button .icon { flex: 0 0 auto; }
  .home-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-stats article:last-child { grid-column: 1 / -1; }
  .home-toolbar { align-items: stretch; flex-wrap: wrap; }
  .home-period { width: 100%; }
  .home-toolbar .home-filter { flex: 1; width: auto; }
  .home-overview { grid-template-columns: minmax(0, 1fr); }
  .home-rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-launches__list { overflow-x: auto; }
  .finance-transaction { min-width: 980px; }
  .custom-lists { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .goal-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .goals-grid { grid-template-columns: minmax(0, 1fr); }
  body.is-drawer-open {
    overflow: hidden;
  }

  .app-shell,
  .app-shell[data-sidebar="collapsed"] {
    --current-sidebar-width: 0px;
  }

  .sidebar {
    inset: 0 auto 0 0;
    width: min(88vw, 320px);
    height: 100dvh;
    padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
    border-right: 0;
    box-shadow: var(--shadow-overlay);
    overscroll-behavior: none;
    transform: translateX(-105%);
  }

  .app-shell[data-drawer="open"] .sidebar {
    transform: translateX(0);
  }

  .app-shell[data-sidebar="collapsed"] .sidebar__header {
    flex-direction: row;
  }

  .app-shell[data-sidebar="collapsed"] .brand__copy,
  .app-shell[data-sidebar="collapsed"] .nav-item__label,
  .app-shell[data-sidebar="collapsed"] .sidebar__section-title,
  .app-shell[data-sidebar="collapsed"] .sidebar__footer {
    width: auto;
    margin-inline: revert;
    opacity: 1;
  }

  .app-shell[data-sidebar="collapsed"] .nav-item {
    gap: 0.8rem;
    justify-content: flex-start;
    padding-inline: 0.78rem;
  }

  .app-shell[data-sidebar="collapsed"] .brand {
    gap: 0.7rem;
  }

  .sidebar__collapse {
    position: absolute;
    top: 1.9rem;
    right: -15px;
    left: auto;
    display: inline-grid;
  }

  .icon-button.topbar__menu {
    display: inline-grid;
  }

  .drawer-backdrop {
    position: fixed;
    z-index: 25;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    background: var(--color-overlay);
    opacity: 0;
    pointer-events: none;
  }

  .app-shell[data-drawer="open"] .drawer-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .app-main {
    margin-left: 0;
  }

  .topbar {
    display: grid;
    min-height: 0;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    grid-template-rows: 48px auto;
    gap: .65rem .75rem;
    padding: max(.65rem, env(safe-area-inset-top)) 1rem .75rem;
  }

  .topbar__start { display: contents; }
  .topbar__menu { grid-column: 1; grid-row: 1; width: 44px; height: 44px; align-self: center; border-radius: 14px; }
  .mobile-brand { display: flex; min-width: 0; grid-column: 2; grid-row: 1; align-items: center; }
  .mobile-brand img { display: block; width: min(100%, 148px); height: 36px; object-fit: contain; object-position: left center; }
  .topbar__actions { grid-column: 3; grid-row: 1; align-self: center; }
  .global-search { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .global-search__results { max-height: min(50dvh, 380px); overflow-y: auto; }

  .notification-center { top: calc(116px + env(safe-area-inset-top)); right: 1rem; left: 1rem; width: auto; max-height: calc(100dvh - 136px - env(safe-area-inset-top)); overflow-y: auto; }

  .content { padding: 1.75rem 1rem max(3rem, env(safe-area-inset-bottom)); }

  dialog { max-width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }

  .overview-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .overview-panel__welcome {
    min-height: 270px;
  }

  .overview-panel__shortcuts {
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .profile-menu {
    inset: 64px 0.75rem auto auto;
  }

  @media (prefers-reduced-motion: no-preference) {
    .sidebar,
    .drawer-backdrop {
      transition: transform 200ms ease, opacity 180ms ease;
    }
  }
}

@media (max-width: 560px) {
  .page--overview .overview-hero { gap: .75rem; }
  .overview-hero__aside { width: 100%; grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .overview-customize { justify-self: end; }
  .overview-hero__aside aside { display: grid; padding: .9rem 1rem; border-radius: var(--radius-large); }
  .overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-metrics article { min-height: 94px; padding: .85rem; }
  .overview-attention { align-items: flex-start; flex-wrap: wrap; }
  .overview-attention a { width: 100%; justify-content: center; }
  .overview-card { height: max(220px, calc(var(--overview-rows, 6) * 44px)); min-height: 0; padding: 1rem; }
  .overview-card[draggable="true"] { padding-top: 3.4rem; }
  .overview-card__header { align-items: center; }
  .overview-card__header h2 { min-width: 0; }
  .overview-card__header a { text-align: right; }
  .overview-card__body { overflow: hidden auto; }
  .overview-card--attention .overview-card__body,
  .overview-card--health .overview-card__body,
  .overview-card--lists .overview-card__body,
  .overview-card--recommendations .overview-card__body { max-height: 310px; overflow-y: auto; }
  .overview-list li { align-items: flex-start; }
  .overview-list li > em { display: none; }
  .overview-dismiss-reminder small { display: none; }
  .overview-finance-summary { grid-template-columns: minmax(0, 1fr); gap: .55rem; }
  .overview-finance-summary p { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; }
  .overview-finance { grid-template-columns: minmax(0, 1fr); }
  .home-week-board { grid-template-columns: minmax(0, 1fr); }
  .home-header { align-items: stretch; flex-direction: column; gap: 1rem; }
  .home-new { justify-content: center; }
  .home-tabs button { min-width: 102px; }
  .home-stats { grid-template-columns: minmax(0, 1fr); }
  .home-stats article:last-child { grid-column: auto; }
  .home-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); }
  .home-period, .home-toolbar .home-filter { width: 100%; min-width: 0; }
  .home-period strong { min-width: 0; }
  .home-toolbar > button { margin-left: 0; justify-self: start; }
  .home-calendar { overflow-x: auto; }
  .home-calendar > header, .home-calendar > div { min-width: 760px; }
  .home-overview aside > div, .home-rooms { grid-template-columns: minmax(0, 1fr); }
  .home-rooms-intro { align-items: flex-start; flex-direction: column; }
  .home-form-grid { grid-template-columns: minmax(0, 1fr); padding-inline: 1rem; }
  .home-field--full { grid-column: auto; }
  .home-dialog form > header, .home-dialog form > footer { padding-inline: 1rem; }
  .home-dialog form > footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-dialog form > footer > span { display: none; }
  .home-dialog form > footer button { min-width: 0; }
  .finance-summary-grid { grid-template-columns: minmax(0, 1fr); }
  .finance-export-actions { margin-bottom: -1rem; }
  .lists-toolbar.finance-toolbar { grid-template-columns: minmax(0, 1fr); }
  .finance-toolbar__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-status-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; }
  .finance-status-filters button { flex: 0 0 auto; }
  .finance-entity-section > header { align-items: stretch; flex-direction: column; }
  .finance-entity-section > header .primary-button { width: 100%; }
  .finance-report-grid { grid-template-columns: minmax(0, 1fr); }
  .finance-report-card > summary { grid-template-columns: minmax(100px, 1fr) 24px; }
  .finance-report-card > summary dl { grid-row: 2; grid-column: 1 / -1; }
  .finance-report-card > summary > b { grid-row: 1; grid-column: 2; }
  .finance-month-donuts, .finance-flow-card > div { grid-template-columns: minmax(0, 1fr); }
  .finance-recurring-fields, .finance-installment-fields, .finance-reimbursement-fields { grid-template-columns: minmax(0, 1fr); }
  .finance-summary { min-height: 112px; }
  .finance-balance-breakdown > div { position: static; width: auto; margin-top: .65rem; padding: .65rem 0 0; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; box-shadow: none; }
  .finance-launches__header { align-items: stretch; flex-direction: column; }
  .finance-filter { align-self: flex-start; }
  .finance-dialog { width: calc(100vw - 1rem); }
  .finance-form__grid { grid-template-columns: minmax(0, 1fr); }
  .finance-form__grid .form-field--full { grid-column: auto; }
  .finance-investment-icons > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .birthdays-header { align-items: stretch; flex-direction: column; gap: 1rem; }
  .birthday-list-card { padding: 1.2rem .9rem .3rem; border-radius: 18px; }
  .birthday-person { min-height: 104px; grid-template-columns: 46px minmax(0, 1fr) 14px; gap: .7rem; padding-block: .65rem; }
  .birthday-avatar { width: 46px; height: 46px; font-size: .82rem; }
  .birthday-person__date { grid-column: 2; min-width: 0; margin-top: -.25rem; }
  .birthday-person__date > .icon { display: none; }
  .birthday-person__date span { display: flex; flex-wrap: wrap; gap: .3rem .6rem; }
  .birthday-person__arrow { grid-row: 1 / 3; grid-column: 3; }
  .birthday-person__copy small em, .birthday-person__copy small b { display: none; }
  .birthdays-tools { max-width: none; }
  .birthday-form-grid { grid-template-columns: minmax(0, 1fr); padding-inline: 1rem; }
  .birthday-field--full { grid-column: auto; }
  .birthday-form-dialog form > header { padding-inline: 1rem; }
  .birthday-form-dialog form > footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: 1rem; }
  .birthday-form-dialog form > footer button { min-width: 0; }
  .birthday-detail-dialog > div { padding-inline: 1.1rem; }
  .birthday-detail__avatar { width: 104px; height: 104px; font-size: 1.7rem; }

  .lists-toolbar { grid-template-columns: minmax(0, 1fr); }
  .custom-lists { grid-template-columns: minmax(0, 1fr); }
  .goals-header { align-items: stretch; flex-direction: column; gap: 1.2rem; }
  .goals-new { justify-content: center; }
  .goal-stats { grid-template-columns: minmax(0, 1fr); }
  .vision-board { min-height: 360px; }
  .vision-board__hint { bottom: 4.8rem; width: calc(100% - 2rem); text-align: center; white-space: normal; }
  .vision-item { width: 120px; height: 110px; }
  .goal-form-grid { grid-template-columns: minmax(0, 1fr); padding-inline: 1rem; }
  .goal-form-grid .form-field--full { grid-column: auto; }
  .goal-dialog form > header, .goal-dialog form > footer { padding-inline: 1rem; }
  .topbar__context span,
  .profile-summary {
    display: none;
  }

  .profile-trigger {
    min-width: 48px;
    min-height: 48px;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.25rem;
  }

  .profile-avatar {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .profile-trigger__chevron {
    display: none;
  }

  .topbar { grid-template-columns: 44px minmax(0, 1fr) auto; gap: .55rem; padding-inline: .75rem; }
  .mobile-brand img { width: min(100%, 122px); height: 32px; }
  .topbar__actions { gap: .35rem; }
  .topbar-action { width: 44px; min-width: 44px; height: 44px; padding: .25rem; }
  .notification-center { right: .75rem; left: .75rem; }
  .theme-toggle { display: inline-flex; min-height: 44px; padding: .2rem; border-radius: 14px; }
  .theme-toggle span { width: 30px; height: 36px; border-radius: 10px; }
  .global-search { border-radius: 17px; padding-inline: .75rem; }
  .global-search input { min-height: 48px; font-size: .8rem; }

  .content { padding: 1.5rem .875rem max(2.5rem, env(safe-area-inset-bottom)); }
  dialog { width: calc(100vw - 1rem); margin: .5rem auto; border-radius: 20px; }

  .page {
    gap: 2.25rem;
  }

  .page h1 {
    max-width: none;
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  .overview-hero {
    align-items: flex-start;
  }

  .overview-hero__icon {
    width: 68px;
    height: 68px;
  }

  .overview-panel__welcome,
  .overview-panel__shortcuts,
  .empty-state {
    padding: 1.5rem;
  }

  .overview-panel__welcome {
    min-height: 245px;
  }

  .empty-state {
    min-height: 390px;
  }

  .routine-page__header {
    align-items: stretch;
    flex-direction: column;
    gap: 1.25rem;
  }

  .pending-page__header { align-items: stretch; flex-direction: column; gap: 1.1rem; }
  .pending-new { width: 100%; }
  .pending-search kbd { display: none; }
  .pending-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pending-filters button { justify-content: center; padding-inline: .5rem; }
  .pending-filters button:first-child { grid-column: 1 / -1; }
  .pending-list__head { display: none; }
  .pending-item__summary { grid-template-columns: 32px minmax(0, 1fr) 32px; grid-template-areas: "check title expand" ". category expand" ". date priority"; gap: .55rem .65rem; padding: 1rem; }
  .pending-check { grid-area: check; }
  .pending-item__title { grid-area: title; }
  .pending-item__summary > div:nth-of-type(1) { grid-area: category; }
  .pending-date { grid-area: date; }
  .pending-item__summary > div:nth-of-type(2) { grid-area: priority; justify-self: end; }
  .pending-expand { grid-area: expand; }
  .pending-details { grid-template-columns: 1fr; margin-inline: .75rem; padding: 1rem; }
  .pending-details__notes { padding: 0 0 1.25rem; border: 0; }
  .pending-details__cost { padding: 1.25rem 0 0; border-top: 1px solid var(--color-border); }
  .pending-form-grid { grid-template-columns: minmax(0, 1fr); }
  .pending-form-grid .form-field--full { grid-column: auto; }
  .pending-form-field--full { grid-column: auto; }
  .pending-dialog form > header { padding-inline: 1.2rem; }
  .pending-form-grid { padding-inline: 1.2rem; }
  .pending-dialog form > footer { padding-inline: 1.2rem; }
  .pending-category-picker__menu { position: static; width: 100%; margin-top: .45rem; }
  .custom-list-card__toggle { min-height: 108px; grid-template-columns: 52px minmax(0, 1fr) 28px; grid-template-areas: "avatar title chevron" "avatar meta chevron"; gap: .35rem .75rem; }
  .goal-list-card__header { grid-template-columns: 52px minmax(0, 1fr); grid-template-areas: "avatar title" "avatar meta"; }
  .custom-list-card__avatar { width: 52px; height: 52px; font-size: 1.55rem; }
  .list-icon-picker .activity-icon-options { grid-template-columns: repeat(6, 42px); }
  .list-dialog .pending-checklist-row { grid-template-columns: 24px minmax(0, 1fr) 88px 38px; }
  .list-dialog .pending-checklist-row > button[data-action="focus-checklist-item"] { display: none; }
  .custom-list-card__toggle > strong { grid-area: title; }
  .custom-list-card__toggle > .pending-category { grid-area: category; width: fit-content; }
  .custom-list-card__chevron { grid-area: chevron; }
  .custom-list-card__details { margin-inline: .65rem; padding-inline: .85rem; }

  .routine-page__header-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .primary-button--new {
    width: 100%;
  }

  .recommendation-list { overflow-x: auto; }
  .recommendation-list__head,
  .recommendation-row { min-width: 1050px; }
  .recommendation-row__actions { opacity: 1; }

  .routine-toolbar,
  .routine-filters {
    align-items: stretch;
    flex-direction: column;
  }

  .routine-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .routine-search {
    min-width: 0;
  }

  .routine-tabs {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
  }

  .routine-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }

  .routine-filter {
    width: 100%;
    min-width: 0;
  }

  .routine-card__header {
    align-items: flex-start;
    padding: 1.15rem 1rem;
  }

  .daily-groups { padding: .6rem; }
  .daily-period { padding-inline: .45rem; }
  .daily-activity {
    width: 100%;
    min-width: 0;
    grid-template-columns: 36px 32px minmax(0, 1fr) auto;
    gap: .25rem;
    padding-inline: 0;
    overflow: hidden;
  }
  .daily-activity__category { width: 32px; height: 32px; }
  .daily-activity__content { text-align: left; }
  .activity-controls { gap: .15rem; }
  .activity-controls label { display: none; }
  .activity-controls button { width: 36px; height: 36px; }

  .agenda-scroll {
    scroll-snap-type: x proximity;
  }

  .week-agenda {
    min-width: 980px;
  }

  .agenda-day-column {
    scroll-snap-align: start;
  }

  .routine-selection-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.3rem 0.7rem;
  }

  .routine-selection-bar > span {
    grid-column: 1;
  }

  .bulk-delete-button {
    grid-row: 1 / 3;
    grid-column: 2;
    margin-left: 0;
  }

  .bulk-delete-button span {
    display: none;
  }

  .routine-table-wrap {
    overflow: visible;
  }

  .routine-table,
  .routine-table tbody {
    display: block;
    width: 100%;
  }

  .routine-table thead {
    display: none;
  }

  .activity-row {
    display: grid;
    min-height: 82px;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    grid-template-areas:
      "select name category"
      "select time actions";
    align-items: center;
    gap: 0 0.55rem;
    padding: 0.9rem 1rem;
  }

  .daily-groups {
    padding: 0.55rem;
  }

  .daily-period {
    padding-inline: 0.45rem;
  }

  .daily-activity {
    grid-template-columns: 42px 36px minmax(0, 1fr) auto;
  }

  .daily-activity .activity-controls label,
  .daily-activity .activity-controls button {
    width: 30px;
    height: 30px;
  }

  .activity-cell {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
  }

  .activity-cell--select {
    grid-area: select;
    text-align: left;
  }

  .activity-cell--name {
    grid-area: name;
  }

  .activity-cell--time {
    grid-area: time;
    align-self: start;
    margin-top: 0.18rem;
    font-size: 0.8rem;
  }

  .activity-cell--category {
    grid-area: category;
  }

  .activity-cell--actions {
    display: flex;
    grid-area: actions;
    justify-content: flex-end;
  }

  .activity-action {
    width: 36px;
    height: 36px;
  }

  .category-tag {
    max-width: 104px;
  }

  .routine-table__empty {
    display: block;
  }

  .routine-table__empty td {
    display: block;
    width: 100%;
  }

  .activity-dialog {
    width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
    border-radius: 16px;
  }

  .activity-form__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .activity-icon-options {
    grid-template-columns: repeat(4, minmax(42px, 1fr));
  }

  .form-field--full {
    grid-column: auto;
  }

  .category-picker__menu {
    position: static;
    margin-top: 0.4rem;
  }

  .activity-dialog__footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 380px) {
  .overview-hero__icon {
    display: none;
  }

  .topbar__context strong {
    max-width: 120px;
  }
}

.drawer-backdrop[hidden] {
  display: none;
}

@media (max-width: 680px) {
  .topbar { gap: .4rem .55rem; padding-bottom: .55rem; }
  .global-search input { font-size: 1rem; }
  .content { padding-top: 1.1rem; }
  .page { gap: 1.5rem; }
  .page h1 { font-size: clamp(1.9rem, 8.5vw, 2.35rem); }

  .finance-launches__list, .recommendation-list, .agenda-scroll, .home-calendar { overflow-x: visible; }
  .finance-transaction {
    min-width: 0;
    min-height: 112px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    grid-template-areas:
      "check main menu"
      "icon value value"
      "meta meta date";
    gap: .45rem .65rem;
    padding: .85rem;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
  }
  .finance-transaction + .finance-transaction { margin-top: .65rem; border-top: 1px solid var(--color-border); }
  .finance-transaction > .activity-check { grid-area: check; width: 44px; height: 44px; }
  .finance-transaction__icon { grid-area: icon; width: 44px; height: 44px; }
  .finance-transaction__main { grid-area: main; }
  .finance-transaction__main strong { font-size: .95rem; white-space: normal; }
  .finance-transaction__value { grid-area: value; align-self: center; justify-self: start; }
  .finance-transaction__meta { grid-area: meta; }
  .finance-transaction__meta > span { white-space: normal; }
  .finance-transaction > time { grid-area: date; justify-self: end; }
  .finance-transaction__menu { grid-area: menu; }
  .finance-transaction__more { width: 44px; height: 44px; }

  .recommendation-list__head { display: none; }
  .recommendation-row {
    min-width: 0;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "title actions"
      "category check"
      "person check"
      "note note"
      "stars stars";
    gap: .6rem .8rem;
    padding: 1rem;
  }
  .recommendation-row__title { grid-area: title; }
  .recommendation-row__title strong { white-space: normal; }
  .recommendation-row > .recommendation-category { grid-area: category; }
  .recommendation-row > span:nth-of-type(1) { grid-area: person; }
  .recommendation-row > .recommendation-check { grid-area: check; width: 44px; height: 44px; }
  .recommendation-note { grid-area: note; white-space: normal; }
  .recommendation-row > .recommendation-stars { grid-area: stars; }
  .recommendation-stars button { min-width: 40px; min-height: 40px; }
  .recommendation-row__actions { grid-area: actions; opacity: 1; }
  .recommendation-row__actions button { width: 44px; height: 44px; }

  .week-agenda { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: .75rem; padding: .75rem; background: transparent; }
  .agenda-day-group { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); }
  .agenda-day-group > :is(.agenda-day, .agenda-all-day, .agenda-day-column) { grid-row: auto; grid-column: auto; border-right: 0; }
  .agenda-day { min-height: 54px; grid-template-columns: minmax(0, 1fr) auto; place-content: center stretch; align-items: center; padding: .75rem 1rem; text-align: left; }
  .agenda-day strong { font-size: .78rem; }
  .agenda-day time { font-size: .9rem; font-weight: 800; }
  .agenda-all-day:empty, .agenda-day-column:empty { display: none; }
  .agenda-all-day, .agenda-day-column { min-height: 0; padding: .55rem; }

  .home-calendar > header, .home-calendar > div { min-width: 0; grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .home-calendar > header span { padding: .5rem .1rem; font-size: .62rem; }
  .home-month-day { min-height: 68px; padding: .3rem; }
  .home-month-demand { width: 8px; height: 8px; margin: .2rem auto 0; overflow: hidden; border-radius: 50%; background: var(--demand-color); }
  .home-month-demand > * { visibility: hidden; }

  dialog:is(.activity-dialog, .pending-dialog, .home-dialog, .birthday-dialog, .work-dialog, .study-dialog, .reading-dialog) {
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border: 0;
    border-radius: 0;
  }
  dialog > form { min-height: 100%; }
  dialog > form > header { position: sticky; z-index: 3; top: 0; background: var(--color-surface); }
  dialog > form > footer { position: sticky; z-index: 3; bottom: 0; padding-bottom: max(1rem, env(safe-area-inset-bottom)); background: var(--color-surface); }
  dialog > form > footer :is(button, .primary-button, .secondary-button) { min-height: 48px; }

  .activity-action, .daily-activity .activity-controls label, .daily-activity .activity-controls button { width: 44px; height: 44px; }
  .daily-activity { grid-template-columns: 44px 32px minmax(0, 1fr) auto; grid-template-areas: "check icon content actions"; }
  .daily-activity > .activity-check { grid-area: check; }
  .daily-activity > .daily-activity__category { grid-area: icon; }
  .daily-activity > .daily-activity__content { grid-area: content; }
  .daily-activity > .activity-controls { grid-area: actions; }
}
