/* Venus Pages responsive foundation v6.1.0
 * Layout-only layer: preserves the original glass/dark visual identity.
 * Mobile-first; no global light-theme palette overrides.
 */
:root {
  --venus-touch: 44px;
  --venus-gap: 12px;
  --venus-radius: 14px;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, svg, video, canvas { max-width: 100%; height: auto; }
input, select, textarea, button { font: inherit; max-width: 100%; }
button, .btn, [role="button"], input[type="button"], input[type="submit"], input[type="reset"] { min-height: var(--venus-touch); touch-action: manipulation; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { min-height: var(--venus-touch); }
textarea { min-height: 110px; resize: vertical; }

/* Main plugin surfaces */
.venus-dashboard-page .container,
.venus-admin-dashboard .container,
.venus-manage-units .container,
.venus-manage-users .container,
.venus-manage-bills .container,
.venus-settings-page .container,
.venus-reports-page .container,
.venus-accounting-page .container,
.venus-archive-page .container,
.venus-payment-page .container,
.venus-bill-module,
.venus-module-container,
.venus-page-container {
  width: min(100%, 100%);
  max-width: none;
  padding-inline: 12px;
  box-sizing: border-box;
}

/* Mobile: stacks and touch ergonomics */
@media (max-width: 767px) {
  .venus-dashboard-page,
  .venus-admin-dashboard,
  .venus-manage-units,
  .venus-manage-users,
  .venus-manage-bills,
  .venus-settings-page,
  .venus-reports-page,
  .venus-accounting-page,
  .venus-archive-page,
  .venus-payment-page,
  .venus-bill-module { padding-block: 12px !important; }

  .dashboard-header,
  .admin-dashboard-header,
  .module-header,
  .page-header,
  .toolbar,
  .filters-row,
  .form-row,
  .step-actions,
  .header-right,
  .header-left {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .form-group,
  .form-field,
  .filter-group,
  .toolbar-left,
  .toolbar-right,
  .step-actions > *,
  .btn { width: 100%; }

  .stats-grid,
  .dashboard-stats,
  .quick-actions-grid,
  .cards-grid,
  .form-grid,
  .settings-grid,
  .reports-grid,
  .summary-grid,
  .preview-summary {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .stat-card, .glass-card, .dashboard-card, .settings-card, .module-card,
  .step-container, .table-container, .content-card { border-radius: 13px !important; }

  /* Keep real tables usable; never squeeze financial columns beyond readability. */
  .table-container,
  .table-responsive,
  .admin-table-wrapper,
  .bills-table-wrapper,
  .payments-table-wrapper { overflow-x: auto !important; -webkit-overflow-scrolling: touch; max-width: 100%; }
  table { min-width: 720px; }

  /* Div based billing tables */
  .venus-bill-module .table-container { overflow-x: auto !important; }
  .venus-bill-module .table-header,
  .venus-bill-module .table-row { min-width: 760px; }

  .modal-content, .venus-modal-content { width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important; max-height: 90vh; overflow:auto; margin: 10px !important; }
  .toast-notification { right: 10px !important; left: 10px !important; bottom: 12px !important; width: auto !important; }

  h1 { font-size: clamp(20px, 6vw, 26px) !important; }
  h2 { font-size: clamp(18px, 5.2vw, 23px) !important; }
  h3 { font-size: clamp(16px, 4.8vw, 20px) !important; }
  body, input, select, textarea, button { font-size: 14px; }
}

/* Tablet */
@media (min-width: 768px) {
  .venus-dashboard-page .container,
  .venus-admin-dashboard .container,
  .venus-manage-units .container,
  .venus-manage-users .container,
  .venus-manage-bills .container,
  .venus-settings-page .container,
  .venus-reports-page .container,
  .venus-accounting-page .container,
  .venus-archive-page .container,
  .venus-payment-page .container,
  .venus-bill-module { padding-inline: 20px; }

  .stats-grid, .dashboard-stats, .quick-actions-grid, .cards-grid, .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Laptop/Desktop: use available width instead of a narrow centered column. */
@media (min-width: 1024px) {
  .venus-dashboard-page .container,
  .venus-admin-dashboard .container,
  .venus-manage-units .container,
  .venus-manage-users .container,
  .venus-manage-bills .container,
  .venus-settings-page .container,
  .venus-reports-page .container,
  .venus-accounting-page .container,
  .venus-archive-page .container,
  .venus-payment-page .container,
  .venus-bill-module,
  .venus-module-container,
  .venus-page-container {
    width: calc(100% - 40px);
    max-width: 1760px;
    margin-inline: auto;
    padding-inline: 20px;
  }
  .stats-grid, .dashboard-stats, .quick-actions-grid, .cards-grid, .summary-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
}

@media (min-width: 1440px) {
  .venus-dashboard-page .container,
  .venus-admin-dashboard .container,
  .venus-manage-units .container,
  .venus-manage-users .container,
  .venus-manage-bills .container,
  .venus-settings-page .container,
  .venus-reports-page .container,
  .venus-accounting-page .container,
  .venus-archive-page .container,
  .venus-payment-page .container,
  .venus-bill-module { width: calc(100% - 64px); max-width: 1880px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
