/* EasyLeasey phased feature UI polish
   Purpose: normalize the new phase pages without disturbing legacy dashboard/desktop layouts. */

/* The header partial already opens .app-main > .container. Keep phased shells full-width inside it. */
.app-container > .tenant-comms-page,
.app-container > .operations-center-page,
.app-container > .vendor-ops-shell,
.app-container > .owner-reports-wrap,
.app-container > .leasing-crm-head,
.app-container > .leasing-crm-summary,
.app-container > .leasing-kanban {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

/* Fix Communications Hub feeling squeezed by avoiding inherited/nested layout behavior. */
.tenant-comms-page {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 18px 0 36px;
  box-sizing: border-box;
}
.tenant-comms-page .comms-hero {
  align-items: center;
  padding: 22px;
  border-radius: 24px;
}
.tenant-comms-page .comms-hero h1,
.operations-center-page .ops-hero h1,
.vendor-ops-shell .vendor-hero h1,
.owner-reports-wrap .owner-hero .h1,
.leasing-crm-head .h1 {
  font-size: clamp(24px, 2.2vw, 34px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}
.tenant-comms-page .comms-hero p,
.operations-center-page .ops-hero .muted,
.vendor-ops-shell .vendor-hero p,
.leasing-crm-head .p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.tenant-comms-page .comms-metrics strong,
.vendor-ops-shell .vendor-kpi strong,
.owner-reports-wrap .owner-metric strong,
.leasing-crm-summary .leasing-crm-kpi strong,
.operations-center-page .ops-kpi strong {
  font-size: clamp(22px, 2vw, 28px) !important;
}
.tenant-comms-page .comms-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .75fr);
  align-items: start;
}
.tenant-comms-page .comms-grid-secondary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tenant-comms-page .comms-panel {
  border-radius: 22px;
}
.tenant-comms-page .panel-heading h2,
.tenant-comms-page .comms-panel h2,
.operations-center-page .ops-panel h2,
.vendor-ops-shell .vendor-card h2,
.owner-reports-wrap .owner-preview-head h2,
.owner-reports-wrap .owner-control-card .h2 {
  font-size: clamp(18px, 1.6vw, 22px) !important;
  line-height: 1.15 !important;
}
.tenant-comms-page .stacked-form textarea {
  min-height: 120px;
}
.tenant-comms-page .timeline-panel {
  margin-bottom: 0;
}

/* Keep mobile comfortable and stop controls from cramming. */
@media (max-width: 1080px) {
  .tenant-comms-page .comms-grid,
  .tenant-comms-page .comms-grid-secondary {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .tenant-comms-page {
    padding: 12px 0 88px;
  }
  .tenant-comms-page .comms-hero {
    align-items: flex-start;
    padding: 18px;
  }
  .tenant-comms-page .comms-hero-actions,
  .tenant-comms-page .comms-submit-row {
    width: 100%;
  }
  .tenant-comms-page .comms-hero-actions .btn,
  .tenant-comms-page .comms-submit-row .btn {
    width: 100%;
  }
  .tenant-comms-page .comms-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tenant-comms-page .form-row.two,
  .tenant-comms-page .form-row.three {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 520px) {
  .tenant-comms-page .comms-metrics {
    grid-template-columns: 1fr;
  }
}
