/**
 * HT ERP Enterprise Theme - Responsive Rules
 * ------------------------------------------------------------------
 * این فایل تنها رفتار واکنش‌گرای Layout اختصاصی را مدیریت می‌کند.
 */

@media (max-width: 1199.98px) {
  .command-search {
    width: min(380px, 32vw);
  }

  .user-chip .user-copy {
    display: none;
  }

  .architecture-canvas {
    padding: 20px;
  }
}

@media (max-width: 991.98px) {
  .app-sidebar {
    transform: translateX(100%);
    box-shadow: -30px 0 70px rgba(0,0,0,.35);
  }

  body.sidebar-mobile-open .app-sidebar {
    transform: translateX(0);
  }

  body.sidebar-mobile-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1038;
    background: rgba(2, 8, 15, .68);
    backdrop-filter: blur(4px);
  }

  .app-topbar {
    inset-inline-start: 0 !important;
    padding-inline: 14px;
  }

  .app-main {
    margin-inline-start: 0 !important;
  }

  .command-search {
    display: none;
  }

  .app-content {
    padding: 18px;
  }

  .page-heading {
    flex-direction: column;
  }

  .page-actions {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  :root {
    --ht-topbar-height: 68px;
  }

  .app-content {
    padding: 14px;
  }

  .topbar-start,
  .topbar-end {
    gap: 6px;
  }

  .icon-button {
    width: 39px;
    height: 39px;
  }

  .user-chip {
    display: none;
  }

  .page-actions .btn {
    flex: 1;
  }

  .quick-action-grid {
    grid-template-columns: 1fr;
  }

  .chart-host,
  .chart-host.chart-host-lg {
    min-height: 300px;
  }

  .app-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 575.98px) {
  .app-sidebar {
    width: min(88vw, 320px);
  }

  .page-title {
    font-size: 1.3rem;
  }

  .kpi-card {
    min-height: 145px;
  }

  .module-hero-content {
    align-items: flex-start;
  }

  .module-hero-icon {
    width: 52px;
    height: 52px;
  }
}

/** Print mode for the Visio-like architecture page. */
@media print {
  .app-sidebar,
  .app-topbar,
  .page-actions,
  .app-footer {
    display: none !important;
  }

  .app-main {
    margin: 0 !important;
    padding: 0 !important;
  }

  .app-content {
    max-width: none !important;
    padding: 0 !important;
  }

  .architecture-canvas {
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
}


/* Enterprise v1.1: denser but safer responsive behavior. */
@media (max-width: 1399.98px) {
  :root { --ht-sidebar-width: 272px; }
  .app-content { padding-inline: 20px; }
  .kpi-value { font-size: 1.35rem; }
}

@media (max-width: 1199.98px) {
  .ops-telemetry { align-items:flex-start; flex-direction:column; }
  .ops-telemetry__metrics { width:100%; justify-content:flex-start; }
  .chart-host.chart-host-lg { min-height:340px; }
}

@media (max-width: 991.98px) {
  .app-sidebar { inset-inline-start:0; inset-inline-end:auto; }
  .page-actions .btn { min-height:42px; }
  .enterprise-card .card-body { padding:16px; }
}

@media (max-width: 767.98px) {
  .ops-telemetry__metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ops-telemetry__metrics > span { justify-content:space-between; min-width:0; }
  .card-title-row { align-items:flex-start; flex-wrap:wrap; }
  .chart-host, .chart-host.chart-host-sm, .chart-host.chart-host-lg { min-height:280px; }
  .activity-item { grid-template-columns:38px minmax(0,1fr); }
  .activity-time { grid-column:2; }
}

@media (max-width: 575.98px) {
  .ops-telemetry__metrics { grid-template-columns:1fr; }
  .page-actions { display:grid; grid-template-columns:1fr 1fr; }
  .page-actions .btn { width:100%; }
  .kpi-card { min-height:138px; }
  .kpi-value { font-size:1.25rem; }
  .kpi-bottom { align-items:center; }
  .mini-sparkline { width:76px; }
}

/* ==================================================================
   Enterprise v1.2 responsive integrity
   ================================================================== */
@media (max-width: 1199.98px) {
  .revenue-distribution-layout {
    grid-template-columns: minmax(220px, 1fr) minmax(160px, .7fr);
  }
}

@media (max-width: 991.98px) {
  .app-sidebar {
    right: 0 !important;
    left: auto !important;
    transform: translateX(100%);
  }

  body.sidebar-mobile-open .app-sidebar {
    transform: translateX(0);
  }

  .app-topbar {
    right: 0 !important;
    left: 0 !important;
  }

  .app-main {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 767.98px) {
  .ops-telemetry__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ops-refresh {
    width: 100%;
  }

  .revenue-distribution-layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .revenue-chart-wrap {
    width: min(100%, 310px);
    margin-inline: auto;
  }

  .revenue-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .revenue-legend {
    grid-template-columns: 1fr;
  }

  .card-title-row .d-flex:has(.form-select) {
    width: 100%;
  }

  .card-title-row .form-select {
    flex: 1;
    min-width: 0;
  }
}
