.date-field-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 3px;
}

.date-clear {
  min-height: 46px;
  padding: 10px 14px;
  color: var(--blue);
  background: #eef4ff;
  border: 1px solid #b9c4d6;
  white-space: nowrap;
}

.date-clear:hover {
  background: #dfeaff;
}

@media (max-width: 1050px) {
  .admin-body {
    overflow-x: hidden;
  }

  .admin-body .admin-shell,
  .admin-body .admin-main,
  .admin-body .admin-sidebar,
  .admin-body .admin-main .card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .admin-body .admin-main canvas {
    max-width: 100% !important;
  }

  .orders-table {
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
  }

  .orders-table table,
  .orders-table tbody,
  .orders-table tr {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .orders-table tr:first-child {
    display: none;
  }

  .orders-table tr {
    display: block;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    margin-bottom: 14px;
    padding: 12px 16px;
    box-shadow: 0 6px 18px #1725540a;
  }

  .orders-table td {
    display: grid;
    grid-template-columns: minmax(76px, 105px) minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    padding: 9px 0;
    overflow-wrap: anywhere;
  }

  .orders-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-weight: 700;
  }

  .orders-table td:last-child {
    border-bottom: 0;
  }

  .orders-table td[data-label="購入者"] small {
    grid-column: 2;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }

  .orders-table .status {
    justify-self: start;
  }

  .order-actions {
    flex-wrap: wrap;
  }

  .buyers-table {
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
  }

  .buyers-table table,
  .buyers-table tbody,
  .buyers-table tr {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .buyers-table tr:first-child {
    display: none;
  }

  .buyers-table tr {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    margin-bottom: 14px;
    padding: 12px 16px;
    box-shadow: 0 6px 18px #1725540a;
  }

  .buyers-table td {
    display: grid;
    grid-template-columns: minmax(76px, 105px) minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 9px 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .buyers-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-weight: 700;
  }

  .buyers-table td:last-child {
    border-bottom: 0;
  }

  .buyers-table .buyer-email {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
  }
}

@media (max-width: 700px) {
  header nav:not(.admin-return) a {
    display: none;
  }

  .admin-body .title-row {
    flex-wrap: wrap;
  }

  .admin-body .cols,
  .admin-body .cols > label {
    min-width: 0;
    max-width: 100%;
  }

  .admin-body .cols > label {
    overflow: hidden;
  }

  .admin-body input[type="date"] {
    display: block;
    width: 100%;
    inline-size: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
  }

  .product-management-table {
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
  }

  .product-management-table table,
  .product-management-table tbody,
  .product-management-table tr {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .product-management-table tr:first-child {
    display: none;
  }

  .product-management-table tr {
    margin-bottom: 14px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 6px 18px #1725540a;
  }

  .product-management-table td {
    display: grid;
    grid-template-columns: minmax(76px, 105px) minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 9px 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .product-management-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-weight: 700;
  }

  .product-management-table td:last-child {
    border-bottom: 0;
  }

  .product-management-table .url-copy-row,
  .product-management-table .product-row-actions {
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
  }
}

.password-help { line-height: 1.7; color: var(--muted); }
.password-input-row { display: flex; gap: 8px; align-items: stretch; }
.password-input-row input { min-width: 0; }
.password-toggle { flex: 0 0 auto; padding: 8px 12px; border: 1px solid #cbd8ee; background: #eef4ff; color: var(--blue); }
.password-requirements { margin: 10px 0 18px; padding: 14px 18px 14px 38px; border-radius: 10px; background: #f7f9fc; color: var(--muted); line-height: 1.8; }
.password-requirements li::marker { content: '○  '; }
.password-requirements li.is-valid { color: #087f5b; font-weight: 700; }
.password-requirements li.is-valid::marker { content: '✓  '; }
.password-match { margin: -4px 0 16px; color: var(--muted); font-size: .92rem; }
.password-match.is-valid { color: #087f5b; font-weight: 700; }
.password-match.is-invalid { color: #a11; font-weight: 700; }

@media (max-width: 480px) {
  .password-toggle { padding-inline: 10px; }
}
