/* ContabSmart Fix74 R4 — Mobile UI only. Desktop layout remains untouched. */
@media (max-width: 820px) {
  html[data-contabsmart-client-mode="mobile-readonly"] {
    --mobile-gap: 10px;
    --mobile-radius: 16px;
  }

  html[data-contabsmart-client-mode="mobile-readonly"],
  html[data-contabsmart-client-mode="mobile-readonly"] body {
    max-width: 100%;
    overflow-x: hidden !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] body {
    background: #f4f7fa;
  }

  /* Header compact: elimină blocul foarte înalt care rămânea lipit la scroll. */
  html[data-contabsmart-client-mode="mobile-readonly"] .main {
    width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 70 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding: calc(9px + env(safe-area-inset-top)) 12px 10px !important;
    background: rgba(248, 250, 252, .96) !important;
    backdrop-filter: blur(18px) saturate(1.3);
    -webkit-backdrop-filter: blur(18px) saturate(1.3);
    border-bottom: 1px solid #dce5ed !important;
    box-shadow: 0 5px 20px rgba(20, 45, 70, .07) !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .topbar-title-wrap {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .mobile-menu-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 13px !important;
    margin: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .topbar-title-wrap .eyebrow {
    display: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] #page-title {
    margin: 0 !important;
    font-size: 23px !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] #page-subtitle {
    display: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .top-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] #mobile-readonly-badge {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 5px 10px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .company-switcher {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .company-switcher > span {
    display: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .company-switcher select {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 34px 0 12px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    text-overflow: ellipsis;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .top-action-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .top-action-btn span {
    display: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .top-action-btn svg {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
  }

  /* Conținut cu densitate de aplicație mobilă. */
  html[data-contabsmart-client-mode="mobile-readonly"] .content-frame {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] #view {
    min-width: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .card {
    border-radius: var(--mobile-radius) !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-status-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-status-row > .muted {
    display: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-status-row .badge {
    margin-left: 0 !important;
  }

  /* KPI-uri: 2 pe rând, cu înălțime mult redusă. */
  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-kpis,
  html[data-contabsmart-client-mode="mobile-readonly"] .grid.cards.dashboard-kpis {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-kpis .stat {
    min-width: 0 !important;
    min-height: 126px !important;
    padding: 14px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-kpis .stat:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    min-height: 104px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .stat-head {
    gap: 6px !important;
    align-items: flex-start !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .stat .label {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .stat .value {
    margin-top: 12px !important;
    font-size: clamp(20px, 6vw, 27px) !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .stat .hint {
    margin-top: 8px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .stat-icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-panel {
    padding: 14px !important;
    overflow: hidden !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-panel-head {
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-panel-head h2 {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-panel-head .btn {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  /* Pe dashboard 3 elemente sunt suficiente; lista completă rămâne la „Vezi toate”. */
  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-table tbody tr:nth-child(n+4) {
    display: none !important;
  }

  /* Tabelele clasice devin carduri mobile, fără scroll orizontal. */
  html[data-contabsmart-client-mode="mobile-readonly"] .table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table thead {
    display: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    width: 100% !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody tr {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 13px !important;
    border: 1px solid #dce5ed !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(25, 52, 77, .045) !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody td {
    display: grid !important;
    grid-template-columns: minmax(88px, 34%) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 7px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eef2f6 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody td:last-child {
    border-bottom: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody td::before {
    content: attr(data-mobile-label);
    min-width: 0;
    padding-top: 1px;
    color: #708094;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .065em;
    text-transform: uppercase;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody td[data-mobile-label=""] {
    display: block !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody td[data-mobile-label=""]::before {
    display: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .mobile-cell-value {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] td.mobile-long-cell {
    cursor: pointer;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] td.mobile-long-cell .mobile-cell-value {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] td.mobile-long-cell::after {
    content: "Mai mult";
    grid-column: 2;
    margin-top: -4px;
    color: #0a6ebd;
    font-size: 11px;
    font-weight: 800;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] td.mobile-long-cell.mobile-expanded .mobile-cell-value {
    display: block !important;
    -webkit-line-clamp: unset !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] td.mobile-long-cell.mobile-expanded::after {
    content: "Mai puțin";
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table td.actions .mobile-cell-value,
  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table td.dashboard-actions .mobile-cell-value {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table .btn {
    min-height: 38px !important;
    padding: 8px 11px !important;
    font-size: 12px !important;
  }

  /* Bare de filtre, paginare și formulare: stivuire naturală. */
  html[data-contabsmart-client-mode="mobile-readonly"] .table-pager,
  html[data-contabsmart-client-mode="mobile-readonly"] .toolbar,
  html[data-contabsmart-client-mode="mobile-readonly"] .filter-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .form-grid.two,
  html[data-contabsmart-client-mode="mobile-readonly"] .form-grid.three,
  html[data-contabsmart-client-mode="mobile-readonly"] .grid.two,
  html[data-contabsmart-client-mode="mobile-readonly"] .grid.three {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] input,
  html[data-contabsmart-client-mode="mobile-readonly"] select,
  html[data-contabsmart-client-mode="mobile-readonly"] textarea,
  html[data-contabsmart-client-mode="mobile-readonly"] button {
    max-width: 100%;
  }



  /* Fix74 R5: drawer-ul trebuie să acopere complet headerul sticky. */
  html[data-contabsmart-client-mode="mobile-readonly"] body.nav-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] body.nav-open .sidebar-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482998 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] body.nav-open .sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    z-index: 2147482999 !important;
    padding-top: env(safe-area-inset-top) !important;
    box-shadow: 18px 0 48px rgba(4, 20, 38, .28) !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] body.nav-open .topbar {
    z-index: 70 !important;
  }

  /* Drawer mobil. */
  html[data-contabsmart-client-mode="mobile-readonly"] .sidebar {
    width: min(86vw, 330px) !important;
    max-width: 330px !important;
    padding-bottom: calc(14px + env(safe-area-inset-bottom)) !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .nav-link {
    min-height: 46px !important;
    border-radius: 11px !important;
  }

  /* Modalele devin bottom-sheet, mai ușor de folosit cu degetul. */
  html[data-contabsmart-client-mode="mobile-readonly"] .modal {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .modal-card,
  html[data-contabsmart-client-mode="mobile-readonly"] .wide-modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 90dvh !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }

  html[data-contabsmart-client-mode="mobile-readonly"] .modal-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 2;
    background: #fff;
  }

  /* Butonul de instalare nu acoperă conținutul și respectă safe area. */
  html[data-contabsmart-client-mode="mobile-readonly"] #pwa-install-btn {
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

@media (max-width: 390px) {
  html[data-contabsmart-client-mode="mobile-readonly"] .dashboard-kpis .stat {
    min-height: 116px !important;
    padding: 12px !important;
  }
  html[data-contabsmart-client-mode="mobile-readonly"] .stat .value {
    font-size: 20px !important;
  }
  html[data-contabsmart-client-mode="mobile-readonly"] table.mobile-card-table tbody td {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }
}
