/* Mobile controls and dense data views. Desktop layouts remain unchanged. */
.topbar .brand { flex: 0 0 auto; white-space: nowrap; }
.briefing-page { grid-template-columns: minmax(0, 1fr); }
.briefing-page > *,
.briefing-page .briefing-grid > *,
.briefing-page .table-wrap { min-width: 0; max-width: 100%; }

@media (max-width: 1200px) {
  .topbar.has-platform-switcher .brand { display: none; }
  .briefing-page .briefing-head { flex-wrap: wrap; }
  .briefing-page .briefing-head > div:first-child { min-width: 0; }
  .briefing-page .briefing-actions { flex-wrap: wrap; }
  .briefing-page .briefing-exceptions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .briefing-page .briefing-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 800px) {
  .topbar .brand { display: none; }
  .briefing-page .block-head { display: block; }
  .briefing-page .block-head > a { display: inline-flex; margin-top: .5rem; white-space: normal; }
  .grouped-menu-tabs {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .grouped-menu-tabs a { flex: 0 0 auto; }

  .master-data-page .list-toolbar,
  .master-data-page .list-toolbar.transporter-toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: visible;
  }
  .master-data-page .compact-search,
  .master-data-page .transporter-toolbar .compact-search {
    width: 100%;
    min-width: 0;
    flex: none;
    flex-wrap: wrap;
  }
  .master-data-page .compact-search input { min-width: 0; flex: 1 1 100%; }
  .master-data-page .compact-search select { flex: 1 1 130px; min-width: 0; }
  .master-data-page .compact-search button { flex: 1 1 80px; }
  .master-data-page .toolbar-actions,
  .master-data-page .transporter-toolbar .toolbar-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin: 0;
    white-space: normal;
  }
  .master-data-page .toolbar-actions > *,
  .master-data-page .toolbar-actions form,
  .master-data-page .toolbar-actions .excel-upload,
  .master-data-page .toolbar-actions .excel-upload label { width: 100%; min-width: 0; }
  .master-data-page .toolbar-actions > .button,
  .master-data-page .toolbar-actions > button { white-space: normal; text-align: center; }

  .mydesk-work-tabs {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .mydesk-work-tabs a { flex: 0 0 auto; min-width: 105px; padding: 0 .4rem; }

  .monthly-cash .month-bar { flex-wrap: wrap; }
  .monthly-cash .month-bar form { position: static; flex: 1 0 100%; display: flex; justify-content: center; }
  .monthly-cash .cash-tabs { overflow-x: auto; }
  .monthly-cash .cash-tabs a { flex: 0 0 auto; }

  .worker-search .search-actions { flex-wrap: wrap; }
  .worker-page .header-actions { flex-wrap: wrap; }
  .finance-management .table-wrap,
  .finance-group-wrap,
  .master-data-page .table-scroll,
  .master-data-page .company-table-wrap,
  .calendar-wrap,
  .transaction-table-wrap,
  .desk-table-wrap,
  .plan-grid,
  .facility-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 650px) {
  .topbar .brand { display: none; }
  .topbar .platform-wordmark { margin-right: auto; }
  .topbar .platform-module-switcher { min-width: 0; margin: 0 .35rem; }
  .topbar .platform-module-switcher select { min-width: 0; max-width: 6.5rem; }
  .topbar .platform-module-switcher button { padding: .4rem; }
  .topbar .top-actions { margin-left: 0; }
  .topbar .top-actions button { padding: .45rem .55rem; }

  .briefing-page .briefing-actions { flex-wrap: wrap; align-items: stretch; }
  .briefing-page .briefing-actions a,
  .briefing-page .briefing-actions .disabled-action { white-space: normal; text-align: center; }
  .briefing-page .briefing-actions > span:last-child { flex: 1 0 100%; }
  .briefing-page .briefing-exceptions { grid-template-columns: minmax(0, 1fr); }
  .briefing-page .briefing-exceptions b,
  .briefing-page .money-strip strong,
  .briefing-page .aging-grid b { overflow-wrap: anywhere; }
  .briefing-page .price-list li { flex-wrap: wrap; }
  .briefing-page .price-list li > div { flex: 1 0 100%; min-width: 0; }
  .briefing-page #projects .table-wrap { overflow: visible; }
  .briefing-page #projects table { display: block; min-width: 0; }
  .briefing-page #projects thead { display: none; }
  .briefing-page #projects tbody { display: grid; gap: .7rem; }
  .briefing-page #projects tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #d8e5de; border-radius: 8px; padding: .5rem; }
  .briefing-page #projects tbody td {
    display: block;
    width: auto;
    height: auto !important;
    min-width: 0;
    padding: .4rem;
    text-align: left !important;
    overflow-wrap: anywhere;
  }
  .briefing-page #projects tbody td::before { display: block; color: #64766d; font-size: .72rem; font-weight: 700; }
  .briefing-page #projects tbody td:first-child { grid-column: 1 / -1; font-size: 1rem; }
  .briefing-page #projects tbody td:nth-child(9) { grid-column: 1 / -1; }
  .briefing-page #projects tbody td:nth-child(2)::before { content: '상태'; }
  .briefing-page #projects tbody td:nth-child(3)::before { content: '계약금액'; }
  .briefing-page #projects tbody td:nth-child(4)::before { content: '예상원가'; }
  .briefing-page #projects tbody td:nth-child(5)::before { content: '실제원가'; }
  .briefing-page #projects tbody td:nth-child(6)::before { content: '차이'; }
  .briefing-page #projects tbody td:nth-child(7)::before { content: '마진'; }
  .briefing-page #projects tbody td:nth-child(8)::before { content: '종료·정산'; }
  .briefing-page #projects tbody td:nth-child(9)::before { content: '문서'; }
  .briefing-page #projects tbody td[colspan] { grid-column: 1 / -1; text-align: center; }

  .project-cashflow .cashflow-search input { flex: 1 0 100%; min-width: 0; max-width: none; }
  .project-cashflow .table-wrap { overflow: visible; }
  .project-cashflow table { display: block; min-width: 0; white-space: normal; }
  .project-cashflow thead { display: none; }
  .project-cashflow tbody { display: grid; gap: .7rem; }
  .project-cashflow tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #d8e5de; border-radius: 8px; padding: .5rem; }
  .project-cashflow tbody td { display: block; height: auto !important; min-width: 0; padding: .35rem; text-align: left !important; overflow-wrap: anywhere; }
  .project-cashflow tbody td::before { display: block; color: #64766d; font-size: .72rem; font-weight: 700; }
  .project-cashflow tbody td:first-child,
  .project-cashflow tbody td:nth-child(9) { grid-column: 1 / -1; }
  .project-cashflow tbody td:nth-child(2)::before { content: '현재 계약 (VAT 제외)'; }
  .project-cashflow tbody td:nth-child(3)::before { content: '확정 기성 (VAT 제외)'; }
  .project-cashflow tbody td:nth-child(4)::before { content: '매출 청구'; }
  .project-cashflow tbody td:nth-child(5)::before { content: '입금'; }
  .project-cashflow tbody td:nth-child(6)::before { content: '미수'; }
  .project-cashflow tbody td:nth-child(7)::before { content: '미지급'; }
  .project-cashflow tbody td:nth-child(8)::before { content: '순현금'; }
  .project-cashflow tbody td:nth-child(9)::before { content: '상세'; }
  .project-cashflow tbody td[colspan] { grid-column: 1 / -1; text-align: center; }
  .project-cashflow .cashflow-detail { min-width: 0; max-width: none; }
}

@media (max-width: 400px) {
  .master-data-page .toolbar-actions { grid-template-columns: 1fr; }
  .topbar .platform-wordmark { font-size: .8rem; }
  .briefing-page .briefing-guide summary { align-items: flex-start; flex-direction: column; gap: .25rem; }
}

@media (max-width: 360px) {
  .topbar.has-platform-switcher .platform-wordmark { display: none; }
}
