/* AAA HOUSE Material Control v2.5.1
   Password Visibility Icon State Hotfix */

.password-toggle-button {
  color: #102f1a;
  background: transparent;
}
.password-toggle-button .password-eye {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
/* Visual state follows what is currently visible:
   masked password = slashed eye, visible password = open eye. */
.password-toggle-button .password-eye-show { display: none; }
.password-toggle-button .password-eye-hide { display: block; }
.password-toggle-button[aria-pressed="true"] .password-eye-show { display: block; }
.password-toggle-button[aria-pressed="true"] .password-eye-hide { display: none; }
.secure-password-input.is-masked {
  -webkit-text-security: none !important;
  text-security: none !important;
  letter-spacing: .12em;
}

.v25-material-picker-portal {
  position: fixed;
  z-index: 100000;
  display: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #9fbea8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(10, 44, 22, .22);
  padding: 6px;
  -webkit-overflow-scrolling: touch;
}
.v25-material-picker-portal.is-open { display: block; }
.v25-material-option {
  width: 100%;
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(74px, auto) 1fr;
  gap: 4px 10px;
  align-items: center;
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid #e4ece6;
  border-radius: 9px;
  background: #fff;
  color: #17251c;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.v25-material-option:last-child { border-bottom: 0; }
.v25-material-option:hover,
.v25-material-option.is-active { background: #effbe8; }
.v25-material-option strong { color: #115e2d; font-size: 13px; }
.v25-material-option span { font-size: 14px; font-weight: 800; overflow-wrap: anywhere; }
.v25-material-option small { grid-column: 2; color: #647168; font-size: 11px; }
.v25-material-picker-empty { padding: 16px 12px; text-align: center; color: #647168; font-size: 13px; }

@media screen and (max-width: 820px) {
  html, body { touch-action: pan-x pan-y pinch-zoom; }

  .table-wrap,
  .project-package-table-wrap { overflow-x: visible !important; max-width: 100%; }

  /* Undo the v2.4 card conversion, including stale cached markup. */
  .table-wrap:has(> table.v24-mobile-card-table),
  .table-wrap:has(> table.v25-mobile-compact-table) {
    overflow: visible !important;
    border: 1px solid var(--line, #dce4df) !important;
    border-radius: 10px !important;
    background: #fff !important;
  }
  table.v24-mobile-card-table,
  table.v25-mobile-compact-table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    background: #fff !important;
    font-size: 8px;
    line-height: 1.18;
  }
  table.v24-mobile-card-table > thead,
  table.v25-mobile-compact-table > thead { display: table-header-group !important; }
  table.v24-mobile-card-table > tbody,
  table.v25-mobile-compact-table > tbody { display: table-row-group !important; }
  table.v24-mobile-card-table > tbody > tr,
  table.v25-mobile-compact-table > tbody > tr,
  table.v24-mobile-card-table > tbody > tr.total-row,
  table.v25-mobile-compact-table > tbody > tr.total-row {
    display: table-row !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  table.v24-mobile-card-table th,
  table.v24-mobile-card-table td,
  table.v25-mobile-compact-table th,
  table.v25-mobile-compact-table td,
  table.v24-mobile-card-table > tbody > tr:not(.total-row) > td,
  table.v25-mobile-compact-table > tbody > tr:not(.total-row) > td,
  table.v24-mobile-card-table > tbody > tr.total-row > td,
  table.v25-mobile-compact-table > tbody > tr.total-row > td {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 4px 2px !important;
    border: 1px solid #dfe6e1 !important;
    vertical-align: middle !important;
    text-align: left;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip;
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
  }
  table.v24-mobile-card-table td::before,
  table.v25-mobile-compact-table td::before { content: none !important; display: none !important; }
  table.v25-mobile-compact-table th {
    position: static !important;
    padding: 4px 1.5px !important;
    background: #edf4ef !important;
    color: #31463a;
    font-size: inherit !important;
    font-weight: 900;
    text-align: center !important;
  }
  table.v25-mobile-compact-table td.number,
  table.v25-mobile-compact-table th.number { text-align: right !important; }
  table.v25-mobile-compact-table .status-badge {
    display: inline-block;
    max-width: 100%;
    padding: 2px 3px;
    border-radius: 5px;
    font-size: inherit;
    white-space: normal;
  }
  table.v25-mobile-compact-table .row-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }
  table.v25-mobile-compact-table .row-actions .button,
  table.v25-mobile-compact-table td > .button {
    width: 100%;
    min-height: 25px !important;
    padding: 2px 2px !important;
    border-radius: 5px !important;
    font-size: 7px !important;
    line-height: 1.05;
  }
  table.v25-mobile-compact-table strong,
  table.v25-mobile-compact-table small { font-size: inherit; }

  table.v25-mobile-compact-table[data-v25-columns="1"],
  table.v25-mobile-compact-table[data-v25-columns="2"],
  table.v25-mobile-compact-table[data-v25-columns="3"],
  table.v25-mobile-compact-table[data-v25-columns="4"] { font-size: 10px; }
  table.v25-mobile-compact-table[data-v25-columns="5"],
  table.v25-mobile-compact-table[data-v25-columns="6"] { font-size: 8.5px; }
  table.v25-mobile-compact-table[data-v25-columns="7"],
  table.v25-mobile-compact-table[data-v25-columns="8"] { font-size: 7.5px; }
  table.v25-mobile-compact-table[data-v25-columns="9"],
  table.v25-mobile-compact-table[data-v25-columns="10"] { font-size: 6.8px; }
  table.v25-mobile-compact-table[data-v25-columns="11"],
  table.v25-mobile-compact-table[data-v25-columns="12"],
  table.v25-mobile-compact-table[data-v25-columns="13"] { font-size: 6.2px; }

  /* Known high-density registers: keep all columns inside the phone viewport. */
  .v24-material-register th:nth-child(1) { width: 4%; }
  .v24-material-register th:nth-child(2) { width: 8%; }
  .v24-material-register th:nth-child(3) { width: 10%; }
  .v24-material-register th:nth-child(4) { width: 15%; }
  .v24-material-register th:nth-child(5) { width: 7%; }
  .v24-material-register th:nth-child(6) { width: 6%; }
  .v24-material-register th:nth-child(7) { width: 9%; }
  .v24-material-register th:nth-child(8) { width: 9%; }
  .v24-material-register th:nth-child(9) { width: 7%; }
  .v24-material-register th:nth-child(10) { width: 7%; }
  .v24-material-register th:nth-child(11) { width: 10%; }
  .v24-material-register th:nth-child(12) { width: 8%; }

  .v24-input-table,
  .project-package-table,
  .approval-table table,
  .category-stock-table table,
  .cost-table-wrap table,
  .project-report-document table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }
  .v24-input-table { font-size: 7.3px !important; }
  .v24-input-table th,
  .v24-input-table td { padding: 3px 2px !important; }
  .v24-input-table input,
  .v24-input-table select,
  .project-package-table input,
  .project-package-table select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 34px !important;
    padding: 4px 3px !important;
    border-radius: 5px !important;
    font-size: 16px !important;
  }
  .v24-input-table td:nth-child(2) input,
  .v24-input-table td:nth-child(3) input { min-width: 0 !important; }
  .v24-input-table th:first-child { width: 5%; }
  .v24-input-table th:last-child { width: 9%; }
  .v24-input-table .button { min-height: 30px !important; padding: 2px !important; font-size: 8px !important; }

  .project-package-table { font-size: 6.8px !important; }
  .project-package-table td { padding: 3px 1px !important; }
  .package-cell,
  .package-code,
  .package-name,
  .package-number { min-width: 0 !important; }

  .project-report-document .table-wrap,
  .v24-approved-bills .table-wrap,
  .approval-table,
  .category-stock-table,
  .cost-table-wrap { overflow: visible !important; }

  /* Readable screen previews; generated PDFs retain their own A4 table rules. */
  #modalBody .table-wrap,
  #modalBody .approval-table { max-width: 100%; }
  #modalBody table.v25-mobile-compact-table { font-size: 7.5px; }

  .material-toolbar { align-items: stretch; }
  .material-toolbar .search-box,
  .material-toolbar .compact-field { width: 100%; min-width: 0; }
  .material-toolbar input,
  .material-toolbar select { width: 100%; }

  .v25-material-picker-portal {
    border-radius: 12px;
    padding: 5px;
  }
}

@media screen and (max-width: 390px) {
  table.v25-mobile-compact-table[data-v25-columns="9"],
  table.v25-mobile-compact-table[data-v25-columns="10"] { font-size: 6.2px; }
  table.v25-mobile-compact-table[data-v25-columns="11"],
  table.v25-mobile-compact-table[data-v25-columns="12"],
  table.v25-mobile-compact-table[data-v25-columns="13"] { font-size: 5.7px; }
  table.v25-mobile-compact-table th,
  table.v25-mobile-compact-table td { padding-left: 1px !important; padding-right: 1px !important; }
}

/* v2.5.2 — mobile readability overrides */
@media screen and (max-width: 768px) {
  .project-list-table { font-size: 8.5px !important; table-layout: fixed !important; }
  .project-list-table th:nth-child(4), .project-list-table td:nth-child(4),
  .project-list-table th:nth-child(5), .project-list-table td:nth-child(5),
  .project-list-table th:nth-child(9), .project-list-table td:nth-child(9) { display:none !important; }
  .project-list-table th:nth-child(1){width:5%}.project-list-table th:nth-child(2){width:11%}.project-list-table th:nth-child(3){width:24%}.project-list-table th:nth-child(6){width:13%}.project-list-table th:nth-child(7){width:8%}.project-list-table th:nth-child(8){width:16%}.project-list-table th:nth-child(10){width:23%}
  .project-list-table .row-actions { display:grid !important; grid-template-columns:1fr 1fr !important; gap:3px !important; }
  .project-list-table .row-actions .button { min-height:27px !important; font-size:8px !important; padding:3px 1px !important; white-space:normal !important; }
  .project-list-table td { word-break:normal !important; overflow-wrap:anywhere !important; }
  .v24-input-table { font-size:8.2px !important; }
  .v24-input-table th,.v24-input-table td { padding:4px 2px !important; }
  .v24-input-table input,.v24-input-table select { font-size:16px !important; min-height:38px !important; }
}
