/* AAA HOUSE Material Control v2.6.1 — Mobile Smart Focus & Action Menu */
.v26-focus-backdrop,
.v26-action-backdrop { display:none; }

.v26-no-break-button { white-space:nowrap !important; word-break:keep-all !important; overflow-wrap:normal !important; }

@media (max-width:760px), (pointer:coarse) {
  body.v26-smart-focus-open,
  body.v26-action-open { overflow:hidden !important; }

  .v26-focus-backdrop {
    position:fixed; inset:0; z-index:99980; display:none;
    background:rgba(8,27,17,.64); backdrop-filter:blur(3px);
  }
  .v26-focus-backdrop.is-open { display:block; }
  .v26-focus-caption {
    position:fixed; z-index:99982; left:14px; right:14px; top:14px;
    min-height:42px; padding:8px 10px 8px 14px; border-radius:14px;
    background:#fff; color:#14231a; display:flex; align-items:center; justify-content:space-between; gap:10px;
    box-shadow:0 12px 36px rgba(0,0,0,.22); font-size:15px; font-weight:800;
  }
  .v26-focus-caption button {
    border:0; border-radius:10px; padding:9px 14px; background:#74ef00; color:#102112;
    font:inherit; font-size:14px; cursor:pointer;
  }
  input.v26-smart-focus-field {
    position:fixed !important; z-index:99983 !important;
    top:var(--v26-focus-top) !important; left:var(--v26-focus-left) !important;
    width:var(--v26-focus-width) !important; max-width:none !important; min-width:0 !important;
    height:62px !important; min-height:62px !important; padding:10px 16px !important;
    border:3px solid #61bb13 !important; border-radius:16px !important;
    background:#fff !important; color:#111 !important; font-size:23px !important; line-height:1.2 !important;
    box-shadow:0 16px 42px rgba(0,0,0,.3) !important; opacity:1 !important;
    text-align:left !important; -webkit-text-fill-color:#111 !important;
  }
  input.v26-smart-focus-field::placeholder { color:#929a94 !important; opacity:1; }

  .project-package-table input,
  .v24-input-table input { cursor:text; }

  .v26-action-backdrop {
    position:fixed; inset:0; z-index:99990; display:none; align-items:flex-end;
    background:rgba(5,22,13,.58); backdrop-filter:blur(3px); padding:12px;
  }
  .v26-action-backdrop.is-open { display:flex; }
  .v26-action-sheet {
    width:100%; max-height:min(78vh,620px); overflow:auto; border-radius:22px 22px 16px 16px;
    padding:14px; background:#fff; box-shadow:0 -18px 44px rgba(0,0,0,.28);
  }
  .v26-action-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:2px 2px 12px; }
  .v26-action-head strong { font-size:20px; }
  .v26-action-head button { width:42px; height:42px; border:0; border-radius:50%; background:#edf2ef; font-size:28px; line-height:1; }
  .v26-action-body .row-actions { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; }
  .v26-action-body .row-actions .button {
    display:flex !important; width:100% !important; min-height:52px !important; align-items:center; justify-content:center;
    padding:12px 16px !important; font-size:17px !important; white-space:nowrap !important; word-break:keep-all !important;
  }
  .v26-action-cancel { width:100%; min-height:50px; margin-top:10px; border:0; border-radius:14px; background:#edf2ef; font-size:17px; font-weight:800; }
  .project-list-table .v26-actions-collapsed { display:none !important; }
  .v26-project-actions-trigger {
    display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:0;
    width:100% !important; min-width:42px !important; min-height:48px !important;
    padding:4px 2px !important; font-size:9px !important; white-space:nowrap !important;
  }
  .v26-project-actions-trigger span:first-child { font-size:22px; line-height:.8; }

  /* Preserve readable Thai words and buttons in compact material tables. */
  .materials-table-panel th,
  .materials-table-panel td,
  .project-list-table th,
  .project-list-table td { word-break:keep-all !important; overflow-wrap:normal !important; }
  .materials-table-panel .row-actions .button {
    min-width:36px !important; padding:5px 3px !important; font-size:9px !important;
    white-space:nowrap !important; word-break:keep-all !important; overflow-wrap:normal !important;
  }

  /* Give entry fields usable proportions while keeping the table compact. */
  .project-package-table,
  .v24-input-table { table-layout:fixed !important; }
  .project-package-table input,
  .v24-input-table input,
  .v24-input-table select { min-width:0 !important; width:100% !important; }
  .project-package-table td:focus-within,
  .v24-input-table td:focus-within { background:#f5ffe9 !important; outline:2px solid rgba(98,187,19,.35); outline-offset:-2px; }

  /* Project list: one compact and readable action button. */
  .project-list-table th:nth-child(10),
  .project-list-table td:nth-child(10) { width:12% !important; min-width:48px !important; }
  .project-list-table th:nth-child(3),
  .project-list-table td:nth-child(3) { width:27% !important; }
  .project-list-table th:nth-child(8),
  .project-list-table td:nth-child(8) { width:15% !important; }
}


/* v2.6.1 — Thai label integrity and visible mobile action labels. */
@media (max-width:760px), (pointer:coarse) {
  /* Let Safari use Thai-aware line breaking; never split button words character-by-character. */
  table.v25-mobile-compact-table th,
  table.v25-mobile-compact-table td,
  table.v24-mobile-card-table th,
  table.v24-mobile-card-table td,
  .materials-table-panel th,
  .materials-table-panel td,
  .project-list-table th,
  .project-list-table td {
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-break: loose !important;
    hyphens: none !important;
  }

  .row-actions .button,
  .materials-table-panel .row-actions .button,
  .project-list-table .row-actions .button,
  .v26-project-actions-trigger {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-indent: 0 !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
  }

  /* Material table: enough room for complete “แก้ไข” and “ลบ” labels. */
  .materials-table-panel .row-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    min-width: 48px !important;
  }
  .materials-table-panel .row-actions .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 46px !important;
    min-height: 34px !important;
    padding: 5px 4px !important;
  }

  /* Project table: show one clearly labelled launcher instead of empty colour blocks. */
  .project-list-table th:last-child,
  .project-list-table td:last-child {
    width: 16% !important;
    min-width: 64px !important;
  }
  .project-list-table .v26-project-actions-trigger {
    display: inline-flex !important;
    flex-direction: row !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 58px !important;
    min-height: 40px !important;
    padding: 6px 5px !important;
    font-size: 9.5px !important;
  }
  .project-list-table .v26-project-actions-trigger span:first-child {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  /* Fallback when JavaScript enhancement is delayed: original labels remain visible. */
  .project-list-table .row-actions:not(.v26-actions-collapsed) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
  .project-list-table .row-actions:not(.v26-actions-collapsed) .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 58px !important;
    min-height: 31px !important;
    padding: 4px 3px !important;
    color: inherit;
  }

  /* Action sheet always exposes the original complete labels. */
  .v26-action-body .row-actions .button {
    color: inherit !important;
    text-indent: 0 !important;
    font-size: 17px !important;
    min-height: 52px !important;
  }
}
