@media (max-width: 767px) {
  .mobile-sidebar-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 10px;
    background: #e2e8f0;
    color: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.35);
  }

  /* モバイルではすべてのロール（admin, owner含む）でトグル可能に */
  .sidebar {
    position: sticky;
    top: 0;
    max-height: none;
    overflow: hidden;
  }

  .sidebar .sidebar-content {
    display: none;
  }

  .sidebar.mobile-open {
    max-height: 72vh;
    max-height: 72dvh;
    overflow-y: auto;
  }

  .sidebar.mobile-open .sidebar-content {
    display: block;
  }

  .employee-history-accordion {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 14px;
    padding: 10px 12px;
    background: #f8fafc;
  }

  .employee-history-accordion > summary {
    list-style: none;
    cursor: pointer;
    font-weight: 800;
    color: #0f172a;
  }

  .employee-history-accordion > summary::-webkit-details-marker {
    display: none;
  }

  .employee-history-body {
    margin-top: 10px;
  }

  .recent-attendance-table {
    display: table;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .recent-attendance-table thead {
    display: table-header-group;
  }

  .recent-attendance-table tbody {
    display: table-row-group;
  }

  .recent-attendance-table tr {
    display: table-row;
  }

  .recent-attendance-table th,
  .recent-attendance-table td {
    display: table-cell;
    padding: 10px 8px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.25);
    white-space: normal;
    vertical-align: top;
  }

  .recent-attendance-table td::before {
    display: none;
  }

  .recent-attendance-table th:nth-child(n + 4),
  .recent-attendance-table td:nth-child(n + 4) {
    display: none;
  }
}

