/**
 * BREM mobile UI — 360~430px + PWA standalone.
 * PC (>430px) unchanged.
 */

@media (max-width: 430px) {
  html,
  body {
    overflow-x: clip;
    max-width: 100%;
  }


  /* ── Table → card list ── */
  .brem-mobile-cards {
    overflow: visible !important;
    max-width: 100%;
    padding: 8px 10px 10px !important;
  }

  .brem-mobile-cards table {
    min-width: 0 !important;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
  }

  .brem-mobile-cards thead,
  .brem-mobile-cards tfoot {
    display: none;
  }

  .brem-mobile-cards tbody tr {
    display: block;
    padding: 10px 12px;
    border: 1px solid var(--line, #e5e7eb);
    border-radius: 12px;
    background: var(--card, #fff);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  }

  .admin-app .brem-mobile-cards tbody tr {
    background: #141414;
    border-color: #333;
    padding: 10px 12px 9px;
  }

  .admin-app .brem-mobile-cards tbody td {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 5px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    word-break: normal;
    overflow-wrap: anywhere;
    white-space: normal !important;
    font-size: 0.84rem;
  }

  .admin-app .brem-mobile-cards tbody td:last-child {
    border-bottom: 0;
    padding-bottom: 0 !important;
  }

  .admin-app .brem-mobile-cards tbody td::before {
    margin-bottom: 1px;
    font-size: 0.66rem;
    line-height: 1.25;
  }

  .admin-app .brem-mobile-cards tbody td:first-child {
    border-bottom: 1px solid rgba(255, 212, 0, 0.22);
    padding-bottom: 6px !important;
    margin-bottom: 2px;
    font-size: 0.92rem;
    font-weight: 800;
  }

  .admin-app .brem-mobile-cards tbody td:first-child::before {
    display: none;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:first-child,
  .admin-app .mission-assignment-table-wrap.brem-mobile-cards tbody td:first-child {
    font-size: 0.96rem;
  }

  .admin-app .brem-mobile-cards .mission-platform-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .admin-app .brem-mobile-cards .mission-platform-badge {
    margin-right: 0;
  }

  .admin-app .brem-mobile-cards .inline-select,
  .admin-app .brem-mobile-cards select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .admin-app .brem-mobile-cards .mission-driver-line {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    white-space: normal;
  }

  .admin-app .brem-mobile-cards code,
  .admin-app .brem-mobile-cards .mission-driver-phone {
    word-break: keep-all;
    white-space: normal;
  }

  .driver-app .brem-mobile-cards tbody td {
    display: grid;
    grid-template-columns: minmax(68px, 34%) 1fr;
    align-items: start;
    gap: 2px 8px;
    padding: 4px 0 !important;
    border: 0 !important;
    white-space: normal !important;
    word-break: break-word;
    font-size: 0.84rem;
  }

  .brem-mobile-cards tbody td:empty {
    display: none;
  }

  .driver-app .brem-mobile-cards tbody td:has(button),
  .driver-app .brem-mobile-cards tbody td:has(.btn),
  .driver-app .brem-mobile-cards tbody td:has(input),
  .driver-app .brem-mobile-cards tbody td:has(select) {
    grid-template-columns: 1fr;
  }

  .driver-app .brem-mobile-cards tbody td:has(button)::before,
  .driver-app .brem-mobile-cards tbody td:has(.btn)::before,
  .driver-app .brem-mobile-cards tbody td:has(input)::before,
  .driver-app .brem-mobile-cards tbody td:has(select)::before {
    margin-bottom: 2px;
  }

  .admin-app .brem-mobile-cards tbody td:has(button),
  .admin-app .brem-mobile-cards tbody td:has(.btn),
  .admin-app .brem-mobile-cards tbody td:has(input),
  .admin-app .brem-mobile-cards tbody td:has(select) {
    grid-template-columns: 1fr;
  }

  .brem-mobile-cards tbody td::before {
    content: attr(data-label);
    color: var(--muted, #707782);
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
  }

  .brem-mobile-cards .promotion-sticky-col,
  .brem-mobile-cards [class*="sticky"] {
    position: static !important;
    left: auto !important;
    box-shadow: none !important;
  }

  .brem-mobile-cards tbody td .btn,
  .brem-mobile-cards tbody td button {
    min-height: 40px;
  }

  .admin-app .table-wrap:not(.brem-mobile-cards) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .admin-app .promotion-table-wrap {
    overflow: visible;
  }

  .admin-app .promotion-table,
  .admin-app .weekly-settlement-preview-table,
  .admin-app .weekly-settlement-saved-table,
  .admin-app .weekly-settlement-detail-table,
  .admin-app .revenue-scroll-table,
  .admin-app .lease-table {
    min-width: 0 !important;
  }

  /* ── Driver profile compact ── */
  .driver-app .profile-card-main {
    padding: 10px 12px 10px !important;
  }

  .driver-app .profile-card-main .eyebrow {
    margin-bottom: 2px;
    font-size: 0.65rem;
  }

  .driver-app .profile-card-main h2 {
    margin-bottom: 6px !important;
    font-size: 1.02rem !important;
    line-height: 1.2;
  }

  .driver-app .profile-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
  }

  .driver-app .profile-list > div {
    padding: 5px 8px !important;
    border-bottom: 0 !important;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.03);
    min-width: 0;
  }

  .driver-app .profile-list > div:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }

  .driver-app .profile-list dt {
    margin-bottom: 1px;
    font-size: 0.66rem !important;
    line-height: 1.25;
  }

  .driver-app .profile-list dd {
    font-size: 0.8rem !important;
    line-height: 1.3;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .driver-app .profile-list .platform-badge {
    min-height: 24px;
    padding: 0 8px;
    font-size: 0.72rem;
  }

  .driver-app .profile-edit-toggle {
    min-height: 40px;
    padding: 8px 12px;
    font-size: 0.82rem;
  }

  .driver-app .profile-list > div:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  /* ── Driver daily calls — date cards in 2-col grid ── */
  .driver-app .daily-calls-wrap.brem-mobile-cards {
    padding: 6px 8px 8px !important;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards table {
    border-spacing: 0;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "date date"
      "coupang baemin"
      "total total";
    gap: 4px 6px;
    padding: 8px 8px 7px;
    margin: 0;
    min-width: 0;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody tr:has(.empty-text) {
    grid-column: 1 / -1;
    display: block;
    text-align: center;
    padding: 14px 10px;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody tr:has(.empty-text) td {
    display: block;
    padding: 0 !important;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody tr:has(.empty-text) td::before {
    display: none;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td {
    display: block;
    padding: 0 !important;
    min-width: 0;
    font-size: 0.78rem;
    line-height: 1.25;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td::before {
    display: block;
    margin-bottom: 1px;
    font-size: 0.64rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--muted, #707782);
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:first-child {
    grid-area: date;
    font-weight: 800;
    font-size: 0.76rem;
    padding-bottom: 4px !important;
    margin-bottom: 2px;
    border-bottom: 1px solid var(--line, #e5e7eb);
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:first-child::before {
    display: none;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:nth-child(2) {
    grid-area: coupang;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:nth-child(3) {
    grid-area: baemin;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:nth-child(2),
  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:nth-child(3) {
    text-align: center;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:nth-child(4) {
    grid-area: total;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2px 4px;
    margin-top: 2px;
    padding-top: 4px !important;
    border-top: 1px dashed var(--line, #e5e7eb);
    font-weight: 700;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td:nth-child(4)::before {
    display: inline;
    margin-right: 4px;
    margin-bottom: 0;
  }

  .driver-app .daily-calls-wrap.brem-mobile-cards tbody td strong {
    font-weight: 800;
    font-size: 0.82rem;
  }

  /* ── Admin dashboard stat cards (2-col, no overlap) ── */
  .admin-app #dashboard > .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .admin-app #dashboard > .stats-grid .stat-card,
  .admin-app #dashboard > .stats-grid .dashboard-stat-link {
    min-width: 0;
    padding: 10px 10px 9px !important;
    overflow: hidden;
    text-align: left;
  }

  .admin-app #dashboard > .stats-grid .stat-card span,
  .admin-app #dashboard > .stats-grid .dashboard-stat-link span {
    font-size: 0.7rem !important;
    line-height: 1.35;
    word-break: keep-all;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .admin-app #dashboard > .stats-grid .stat-card strong,
  .admin-app #dashboard > .stats-grid .dashboard-stat-link strong {
    margin-top: 3px !important;
    font-size: 1.12rem !important;
    line-height: 1.15;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .admin-app #dashboard > .stats-grid .dashboard-stat-link {
    grid-column: 1 / -1;
  }

  .driver-app .summary-grid--metrics,
  .driver-app .summary-grid--rates {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-template-rows: none !important;
  }

  .driver-app .rate-card-stack {
    min-width: 0;
  }

  .driver-app .content-grid {
    gap: 10px;
  }

  .driver-app .rule-text,
  .driver-app .mission-summary-label {
    font-size: 0.78rem;
    line-height: 1.38;
    margin: 0;
  }

  .driver-app .mission-platform-block strong {
    font-size: 0.92rem;
    line-height: 1.3;
  }

  .driver-app .progress-box,
  .driver-app .long-event-progress {
    padding: 10px 12px;
  }

  .driver-app .week-nav span {
    min-width: 0;
    flex: 1;
    font-size: 0.72rem;
  }

  .driver-app .week-nav button {
    min-width: 40px;
    min-height: 40px;
    padding: 0 8px;
  }

  /* Calendar compact */
  .driver-app .month-cell {
    min-height: 40px;
    font-size: 0.82rem;
    border-radius: 10px;
  }

  .driver-app .calendar-day {
    height: 30px !important;
    min-height: 30px;
    font-size: 0.76rem;
  }

  .driver-app .calendar-weekdays,
  .driver-app .calendar-days {
    gap: 4px;
  }

  .driver-app .calendar-header {
    margin-bottom: 6px;
  }

  .driver-app .range-calendar {
    padding: 12px !important;
    border-radius: 14px;
  }

  .driver-app .month-grid {
    gap: 6px;
  }

  /* ── Admin ERP (all stat grids + dashboard overrides above) ── */
  .admin-app .stats-grid,
  .admin-app .revenue-summary-grid,
  .admin-app .revenue-final-stats,
  .admin-app .lease-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  .admin-app .stat-card {
    min-width: 0;
    padding: 10px 10px 9px;
    overflow: hidden;
  }

  .admin-app .stat-card span {
    font-size: 0.72rem;
    line-height: 1.35;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .admin-app .stat-card strong {
    margin-top: 4px;
    font-size: 1.15rem;
    line-height: 1.15;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .admin-app .topbar {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px 12px 11px;
  }

  .admin-app .topbar__head {
    gap: 10px;
  }

  .admin-app .topbar__right {
    flex-direction: column;
    align-items: stretch;
    margin-left: 0;
    width: 100%;
    gap: 8px;
  }

  .admin-app .topbar__meta {
    display: grid;
    gap: 6px;
    width: 100%;
  }

  .admin-app .db-status,
  .admin-app .rider-app-publish-status {
    width: 100%;
    max-width: none;
    white-space: normal;
    text-align: left;
    line-height: 1.4;
    font-size: 0.72rem;
  }

  .admin-app .rider-app-publish-status {
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
  }

  .admin-app .topbar-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }

  .admin-app .topbar-actions .rider-app-publish-btn,
  .admin-app .topbar-actions .crawl-operator-topbar,
  .admin-app .topbar-actions .crawl-morning-start-btn {
    grid-column: 1 / -1;
  }

  .admin-app .topbar-actions .crawl-runtime-tags {
    justify-content: flex-start;
  }

  .admin-app .topbar-actions .top-link,
  .admin-app .topbar-actions .primary-btn,
  .admin-app .topbar-actions .rider-app-publish-btn,
  .admin-app .topbar-actions .crawl-morning-start-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    min-height: 42px;
    font-size: 0.78rem;
  }

  .admin-app .menu-btn {
    min-height: 40px;
    min-width: 40px;
    padding: 8px 11px;
    font-size: 0.82rem;
  }

  .admin-app .topbar h1 {
    font-size: 1.12rem;
  }

  .admin-app .topbar p {
    font-size: 0.68rem;
  }

  .admin-app .driver-search-bar {
    grid-template-columns: 1fr !important;
  }

  .admin-app .card-header {
    flex-wrap: wrap;
  }

  .admin-app .bulk-actions,
  .admin-app .promotion-toolbar,
  .admin-app .lease-list-toolbar,
  .admin-app .mission-assignment-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-app .bulk-actions .primary-btn,
  .admin-app .bulk-actions .small-btn,
  .admin-app .bulk-file-field {
    width: 100%;
    min-width: 0;
  }

  .admin-app .admin-section-tabs,
  .admin-app .revenue-period-tabs,
  .admin-app .revenue-sub-tabs {
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .admin-app .promotion-platform-tabs {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    overflow-x: visible;
  }

  .admin-app .promotion-tab,
  .admin-app .revenue-period-btn,
  .admin-app .revenue-sub-btn {
    flex: none;
    width: 100%;
    min-width: 0;
    min-height: 40px;
    text-align: center;
  }

  .admin-app .dashboard-driver-card-header {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .admin-app .dashboard-driver-search {
    width: 100%;
  }

  .admin-app .dashboard-driver-search input {
    width: 100%;
    min-width: 0;
  }

  .admin-app .dashboard-period-row,
  .admin-app .dashboard-week-trigger {
    width: 100%;
    max-width: 100%;
  }

  .admin-app .brem-mobile-cards table,
  .admin-app .brem-mobile-cards tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .admin-app .brem-mobile-cards colgroup {
    display: none !important;
  }

  .admin-app .brem-mobile-cards tbody tr {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .admin-app .dashboard-driver-scroll {
    overflow: visible;
    max-height: none;
    border: 0;
    background: transparent;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards {
    padding: 0 4px 8px !important;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
    width: 100% !important;
    padding: 12px 12px 10px;
    margin-bottom: 8px;
    border: 1px solid #333;
    border-radius: 14px;
    background: #141414;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
    border-bottom: 0 !important;
    overflow: visible;
    word-break: keep-all;
    white-space: normal !important;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(1) {
    grid-column: 1 / -1;
    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.25;
    padding-bottom: 4px !important;
    border-bottom: 1px solid rgba(255, 212, 0, 0.22);
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(1)::before {
    display: none;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(2) {
    grid-column: 1 / -1;
    font-size: 0.8rem;
    color: #94a3b8;
    letter-spacing: 0.01em;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(2)::before {
    display: none;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(3) {
    grid-column: 1 / -1;
    margin-bottom: 2px;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(3)::before {
    display: none;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards .platform-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(n+4):nth-child(-n+9) {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 8px 6px 7px !important;
    text-align: center;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(n+4):nth-child(-n+9)::before {
    display: block;
    margin-bottom: 4px;
    font-size: 0.64rem;
    line-height: 1.2;
    text-align: center;
    color: #94a3b8;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(n+4):nth-child(-n+9) strong {
    font-size: 0.95rem;
  }

  .admin-app .dashboard-driver-table-wrap.brem-mobile-cards tbody td:nth-child(10) {
    grid-column: 1 / -1;
    font-size: 0.74rem;
    line-height: 1.35;
    padding-top: 4px !important;
    border-top: 1px dashed rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
  }

  /* ── Admin schedule nav ── */
  .admin-app .admin-schedule-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
  }

  .admin-app .admin-schedule-nav__month,
  .admin-app .admin-schedule-nav__actions {
    display: grid;
    width: 100%;
  }

  .admin-app .admin-schedule-nav__month {
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 8px;
  }

  .admin-app .admin-schedule-nav__month strong {
    min-width: 0;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.25;
  }

  .admin-app .admin-schedule-nav__actions {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .admin-app .admin-schedule-nav__actions .small-btn {
    width: 100%;
    min-height: 40px;
    font-size: 0.78rem;
    padding: 8px 10px;
  }

  .admin-app .admin-schedule-nav__actions #adminScheduleMultiClear {
    grid-column: 1 / -1;
  }

  .admin-app .admin-schedule-header .form-help {
    font-size: 0.76rem;
    line-height: 1.4;
    margin-top: 4px;
  }

  /* ── Targets (목표 콜수) ── */
  .admin-app #targets .targets-input-row {
    grid-template-columns: 1fr !important;
    gap: 10px;
    padding: 0 10px 12px;
  }

  .admin-app .target-input-panel {
    padding: 12px;
    gap: 10px;
  }

  .admin-app .target-input-panel__title {
    font-size: 0.92rem;
  }

  .admin-app .targets-status-scroll,
  .admin-app .targets-weekly-status-scroll {
    overflow: visible;
    max-height: none;
    border: 0;
    background: transparent;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards {
    padding: 0 4px 8px !important;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100% !important;
    padding: 12px;
    margin-bottom: 8px;
    border: 1px solid #333;
    border-radius: 14px;
    background: #141414;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    word-break: keep-all;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(1) {
    grid-column: 1 / -1;
    font-size: 0.98rem;
    font-weight: 800;
    padding-bottom: 4px !important;
    border-bottom: 1px solid rgba(255, 212, 0, 0.22);
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(1)::before {
    display: none;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(2) {
    grid-column: 1 / -1;
    font-size: 0.76rem;
    color: #94a3b8;
    margin-bottom: 2px;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(2)::before {
    display: none;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(3),
  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(4),
  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(5) {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    padding: 8px 6px !important;
    text-align: center;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(3)::before,
  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(4)::before,
  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(5)::before {
    display: block;
    margin-bottom: 4px;
    font-size: 0.64rem;
    text-align: center;
    color: #94a3b8;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(4) .inline-target-input {
    width: 100%;
    min-width: 0;
    text-align: center;
    min-height: 36px;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(6) {
    grid-column: 1 / -1;
    display: flex;
    gap: 8px;
    padding-top: 4px !important;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(6)::before {
    display: none;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards tbody td:nth-child(6) .small-btn {
    flex: 1;
    min-height: 40px;
  }

  .admin-app .targets-status-scroll.brem-mobile-cards .progress {
    justify-content: center;
  }

  /* ── Admin schedule compact calendar ── */
  .admin-app .admin-schedule-header {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .admin-app .admin-schedule-layout {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0 10px 12px;
  }

  .admin-app .admin-schedule-calendar {
    padding: 10px 8px;
  }

  .admin-app .admin-schedule-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
    margin-bottom: 6px;
    font-size: 0.68rem;
    text-align: center;
  }

  .admin-app .admin-schedule-days {
    gap: 4px;
  }

  .admin-app .admin-schedule-day {
    min-height: 44px;
    padding: 4px 2px;
    gap: 2px;
    border-radius: 8px;
    text-align: center;
    align-content: start;
    justify-items: center;
  }

  .admin-app .admin-schedule-day-num {
    font-size: 0.78rem;
  }

  .admin-app .admin-schedule-day-events,
  .admin-app .admin-schedule-chip {
    display: none;
  }

  .admin-app .admin-schedule-day.has-events .admin-schedule-day-num::after {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin: 2px auto 0;
    border-radius: 50%;
    background: var(--yellow);
  }

  .admin-app .admin-schedule-panel {
    min-width: 0;
  }

  /* ── Long event / event settings ── */
  .admin-app #missions .grid.two {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .admin-app .event-settings-header {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .admin-app .event-settings-search-field {
    width: 100%;
    max-width: none;
  }

  .admin-app .event-settings-search-field input[type="search"] {
    width: 100%;
    min-width: 0;
  }

  .admin-app .event-settings-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .admin-app .event-settings-scroll {
    max-height: none;
    overflow: visible;
  }

  .admin-app .event-settings-sort-header {
    display: none;
  }

  .admin-app .event-settings-list .event-driver-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #111;
  }

  .admin-app .event-settings-list .event-driver-row > strong {
    font-size: 0.9rem;
    line-height: 1.35;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .admin-app .event-settings-list .event-driver-row label,
  .admin-app .event-settings-list .event-driver-row .event-start-date-field {
    width: 100%;
    min-width: 0;
  }

  .admin-app .event-settings-list .event-driver-row select,
  .admin-app .event-settings-list .event-driver-row .date-range-button {
    width: 100%;
    min-width: 0;
  }

  .admin-app .event-driver-row-actions {
    padding-bottom: 0;
  }

  .admin-app .event-driver-row-actions .small-btn {
    width: 100%;
    min-height: 40px;
  }

  /* ── Mission management ── */
  .admin-app .mission-catalog-header {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .admin-app .mission-catalog-actions {
    width: 100%;
    justify-content: stretch;
  }

  .admin-app .mission-catalog-actions .small-btn {
    flex: 1;
    min-height: 40px;
  }

  .admin-app .mission-catalog-item-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .admin-app .mission-assignment-toolbar label {
    width: 100%;
    min-width: 0;
  }

  .admin-app .mission-assignment-toolbar select,
  .admin-app .mission-assignment-toolbar input[type="search"] {
    width: 100%;
    min-width: 0;
  }

  .admin-app .mission-assignment-table-wrap {
    max-height: none;
    overflow: visible;
  }

  .admin-app .mission-assignment-table-wrap.brem-mobile-cards tbody td:nth-child(5),
  .admin-app .mission-assignment-table-wrap.brem-mobile-cards tbody td:nth-child(6) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .admin-app .mission-assignment-table-wrap.brem-mobile-cards tbody td:nth-child(7) {
    padding-top: 4px !important;
  }

  .admin-app .mission-assignment-table-wrap.brem-mobile-cards tbody td:nth-child(7) .small-btn {
    width: 100%;
    min-height: 40px;
  }

  .admin-app .dashboard-scroll-note {
    text-align: left;
  }

  .drivers-page .drivers-header__db {
    display: block;
  }

  .drivers-page .drivers-header__db .db-status {
    width: 100%;
    min-height: 0;
    padding: 7px 10px;
    white-space: normal;
    line-height: 1.35;
    font-size: 0.68rem;
    border-radius: 10px;
  }

  .drivers-page .drivers-header__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 6px;
    align-items: stretch;
  }

  .drivers-page .drivers-header__count {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    font-size: 0.72rem;
    white-space: nowrap;
  }

  .drivers-page .drivers-header__count strong {
    margin-left: 4px;
    font-size: 0.88rem;
  }

  .drivers-page .drivers-header__quick {
    min-height: 40px;
    padding: 0 10px;
    font-size: 0.74rem;
  }

  .drivers-page .drivers-header__menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 52px;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(255, 212, 0, 0.35);
    border-radius: 10px;
    color: var(--yellow);
    background: rgba(255, 212, 0, 0.12);
    font-size: 0.78rem;
    font-weight: 800;
  }

  .drivers-page .drivers-header__status {
    display: none;
  }

  .drivers-page .drivers-mobile-nav {
    display: none !important;
  }

  .drivers-page .index-content {
    max-height: none;
    overflow: visible;
  }

  .drivers-page .index-layout {
    min-height: 0;
  }

  .drivers-page .layout.layout--page {
    flex: none;
    min-height: auto;
  }

  .drivers-page .list-panel.list-panel--scrollable {
    flex: none;
    min-height: auto;
    overflow: visible;
  }

  .drivers-page .driver-list-scroll {
    flex: none;
    min-height: auto;
    max-height: none !important;
    overflow: visible;
    padding: 0 8px 12px;
  }

  .drivers-page .list-scroll-note {
    display: block !important;
    padding: 8px 12px 10px;
    text-align: left;
    font-size: 0.72rem;
  }

  .drivers-page .list-header__tools {
    display: grid;
    grid-template-columns: 1fr 96px;
    gap: 8px;
  }

  .drivers-page .filters--compact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .drivers-page .filters--compact #mergeAutoBtn,
  .drivers-page .filters--compact #exportExcelBtn,
  .drivers-page .filters--compact #deleteAllDriversBtn,
  .drivers-page .filters--compact #bulkDeleteBtn {
    display: none;
  }

  .register-page .register-top--desktop {
    display: none;
  }

  .register-page .register-form-subtitle,
  .register-page .register-note--desktop,
  .register-page .form-note--login .form-note-sub,
  .register-page .register-section-title,
  .register-page .panel-header--register > div:first-child,
  .register-page .form-mode-tab[data-mode="bulk"] {
    display: none;
  }

  .register-page .form-mode-tabs {
    width: 100%;
  }

  .register-page .form-mode-tab[data-mode="single"] {
    width: 100%;
    pointer-events: none;
  }

  .register-page .form-grid--register-compact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 10px;
  }

  .register-page .form-grid--register-compact .field--status {
    grid-column: 1 / -1;
  }

  .register-page .form-section--core {
    margin-bottom: 8px;
  }

  .register-page .form-section--core .field-label,
  .register-page .register-memo-field .field-label,
  .register-page .form-section--platform .field-label {
    font-size: 0.72rem;
    margin-bottom: 4px;
  }

  .register-page .form-section--core input,
  .register-page .form-section--core select,
  .register-page .form-section--platform input,
  .register-page .register-memo-field textarea,
  .register-page .form-section--optional input,
  .register-page .form-section--optional select {
    min-height: 38px;
    padding: 8px 10px;
    font-size: 16px;
  }

  .register-page .register-inline-btn {
    min-width: 44px;
    min-height: 38px;
    padding: 0 8px;
    font-size: 0.72rem;
  }

  .register-page .form-note--login {
    margin: 6px 0 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f8fafc;
    font-size: 0.72rem;
    line-height: 1.35;
  }

  .register-page .form-section--platform {
    margin-bottom: 8px;
    padding-top: 4px;
  }

  .register-page .platform-panel--compact {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 6px;
  }

  .register-page .platform-panel--compact .platform-panel-label {
    display: none;
  }

  .register-page .platform-panel--compact .platform-checks {
    width: auto;
    flex-shrink: 0;
  }

  .register-page .platform-panel--compact .platform-check {
    min-height: 36px;
    padding: 0 12px;
    font-size: 0.78rem;
  }

  .register-page .register-memo-field {
    display: block;
    margin-bottom: 8px;
  }

  .register-page .register-optional-grid {
    margin-top: 8px;
  }

  .register-page .form-section--optional > summary {
    padding: 10px 0;
    font-size: 0.82rem;
  }

  .register-page .panel-header--register h2 {
    font-size: 1rem;
    margin: 0;
  }

  .register-page .panel-header--register {
    padding: 10px 12px;
    gap: 6px;
  }

  .register-page .form-section--optional {
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 0 12px 12px;
    margin-bottom: 10px;
    background: #fafbfc;
  }

  .register-page .form-section--optional > summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 0;
    font-size: 0.92rem;
    font-weight: 800;
  }

  .register-page .form-section--optional > summary::-webkit-details-marker {
    display: none;
  }

  .register-page .form-section--optional > summary::after {
    content: '▼';
    float: right;
    font-size: 0.68rem;
    color: #64748b;
  }

  .register-page .form-section--optional[open] > summary::after {
    content: '▲';
  }

  .register-page .form-section-title {
    font-size: 0.92rem;
    margin-bottom: 8px;
  }

  .register-page .form-section {
    margin-bottom: 10px;
  }

  .register-page .form-note {
    font-size: 0.78rem;
    margin-top: 6px;
  }

  .register-page .form-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    margin: 0 -12px -12px;
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(6px);
  }

  .register-page .driver-form--register {
    padding: 0 12px 12px;
  }

  /* ── Drivers program (drivers.html / rider-manage) ── */
  .drivers-page .index-layout {
    grid-template-columns: 1fr;
  }

  .drivers-page .index-sidebar {
    width: min(300px, 88vw);
    padding: 18px 16px;
    border-radius: 0 18px 18px 0;
    box-shadow: 8px 0 32px rgba(0, 0, 0, 0.18);
  }

  .drivers-page .index-sidebar-head strong {
    font-size: 1.05rem;
    margin-bottom: 4px;
  }

  .drivers-page .index-program-link {
    min-height: 48px;
    padding: 0 14px;
    font-size: 0.92rem;
    border-radius: 10px;
  }

  .drivers-page .index-sidebar-foot .index-nav-link {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.88rem;
  }

  .drivers-page .index-menu-btn {
    display: none !important;
  }

  .drivers-page .site-header.drivers-header {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 8px;
    padding: 10px 12px 10px;
    border-radius: 14px;
  }

  .drivers-page .drivers-header__row {
    gap: 10px;
  }

  .drivers-page .site-header__logo {
    width: 44px;
  }

  .drivers-page .drivers-header__title .eyebrow {
    margin-bottom: 2px;
    font-size: 0.62rem;
    letter-spacing: 0.1em;
  }

  .drivers-page .drivers-header__title h1 {
    font-size: 1.02rem;
  }

  .drivers-page .list-panel {
    border-radius: 14px;
  }

  .drivers-page .list-header--compact {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 12px;
  }

  .drivers-page .list-header__tools .search-field,
  .drivers-page .list-header__tools .filter-field {
    min-width: 0;
  }

  .drivers-page .list-header__tools input,
  .drivers-page .list-header__tools select {
    width: 100%;
    min-height: 40px;
    font-size: 16px;
  }

  .drivers-page .filters--compact .btn {
    width: 100%;
    min-height: 38px;
    padding: 8px 6px;
    font-size: 0.72rem;
  }

  .drivers-page .filters--compact .danger-outline {
    grid-column: span 1;
  }

  .drivers-page #listSelectionBar:not([hidden]) {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    padding: 6px 12px;
  }

  .drivers-page #listSelectionBar[hidden] {
    display: none !important;
  }

  .drivers-page #listSelectionBar #selectedCountLabel {
    grid-column: 1 / -1;
    font-size: 0.72rem;
    text-align: center;
  }

  .drivers-page #listSelectionBar .btn {
    width: 100%;
    min-height: 34px;
    font-size: 0.72rem;
  }

  .drivers-page .driver-card--compact {
    padding: 8px 10px;
    margin-bottom: 6px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
  }

  .drivers-page .driver-card--compact.driver-card--selected {
    border-color: #fbbf24;
    background: #fffbeb;
  }

  .drivers-page .driver-card-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
  }

  .drivers-page .driver-card-select {
    position: static;
    display: flex;
    align-items: center;
    padding-top: 2px;
    margin: 0;
  }

  .drivers-page .driver-card-main {
    min-width: 0;
  }

  .drivers-page .driver-card-name-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 2px;
  }

  .drivers-page .driver-card-name-row h3 {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .drivers-page .driver-card-name-row .badge {
    flex-shrink: 0;
    font-size: 0.62rem;
    padding: 2px 6px;
  }

  .drivers-page .driver-card-phone {
    margin: 0;
    color: #64748b;
    font-size: 0.78rem;
    line-height: 1.3;
  }

  .drivers-page .driver-card-meta {
    margin: 4px 0 0;
    line-height: 1.2;
  }

  .drivers-page .driver-card-meta .platform-tag {
    font-size: 0.62rem;
    padding: 2px 6px;
  }

  .drivers-page .driver-card-edit {
    flex-shrink: 0;
    min-height: 32px;
    padding: 0 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--black);
    background: var(--yellow);
    font-size: 0.72rem;
    font-weight: 800;
  }

  .drivers-page .driver-card-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid #f1f5f9;
  }

  .drivers-page .driver-card-actions .btn.tiny {
    min-height: 28px;
    padding: 4px 10px;
    font-size: 0.68rem;
    width: auto;
  }

  .drivers-page .driver-card--compact .driver-card-header,
  .drivers-page .driver-card--compact dl,
  .drivers-page .driver-card--compact .actions {
    display: none;
  }

  .register-page .register-top {
    margin-bottom: 8px;
  }

  .register-page .site-header--compact {
    display: none;
  }

  .register-page .register-toolbar {
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
  }

  .register-page .register-toolbar-link {
    width: 100%;
    text-align: center;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .register-page .form-panel--register {
    border-radius: 14px;
  }

  .register-page .panel-header--register {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 12px;
  }

  .register-page .form-mode-tabs {
    width: 100%;
  }

  /* ── Drivers list (legacy selectors) ── */
  .drivers-page:not(.drivers-duplicates-page) .table-wrap.list-table-scroll {
    display: none !important;
  }

  .drivers-page .mobile-list {
    display: block !important;
  }

  /* ── Home / portal staff picker ── */
  .brem-home {
    padding-top: 48px;
    padding-bottom: 16px;
  }

  .brem-logo-wrap {
    max-height: min(36vh, 260px) !important;
  }

  .brem-portal-grid {
    gap: 12px;
    margin-top: 0;
  }

  .brem-btn-portal {
    min-height: 118px;
    padding: 16px 12px 14px;
    gap: 12px;
  }


  /* ── Portal index (home) ── */
  .site--home .topbar {
    padding: 8px 12px max(8px, env(safe-area-inset-top));
  }

  .site--home .nav {
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand cta"
      "menu menu";
    justify-items: stretch;
    align-items: center;
    gap: 6px 8px;
    padding: 6px 0 8px;
    width: min(1120px, calc(100% - 16px));
  }

  .site--home .brand {
    grid-area: brand;
    justify-self: start;
    order: unset;
  }

  .site--home .brand__logo {
    height: 38px;
  }

  .site--home .nav-cta {
    grid-area: cta;
    justify-self: end;
    order: unset;
    font-size: 0.72rem;
    padding: 7px 8px 7px 10px;
    gap: 5px;
    max-width: none;
    margin: 0;
  }

  .site--home .nav-cta__text--long {
    display: none;
  }

  .site--home .nav-cta__text--short {
    display: inline;
  }

  .site--home .nav-cta--arrow span:first-child {
    max-width: none;
  }

  .site--home .nav-cta__icon {
    width: 24px;
    height: 24px;
  }

  .site--home .nav-cta__icon svg {
    width: 15px;
    height: 15px;
  }

  .site--home .menu {
    grid-area: menu;
    order: unset;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px 6px;
  }

  .site--home .menu a {
    font-size: 0.74rem;
    padding: 7px 2px;
    text-align: center;
  }

  .site--home .hero--home {
    padding: 124px 14px 22px !important;
  }

  .site--home .hero-logo--home {
    width: min(90vw, 320px) !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  .site--home .hero-logo--home img {
    margin-bottom: 0 !important;
  }

  .site--home .hero-headline--partner {
    margin-top: 0 !important;
    font-size: clamp(1rem, 4.4vw, 1.2rem) !important;
  }

  .site--home .hero-copy h1,
  .site--home .portal-hero__title {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }
}

@media (max-width: 430px) and (display-mode: standalone) {
  body {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
}
