/* ReBrandMyAI v19 final readiness layer
   Long-content resilience, scalable list controls and final production-safe UI details. */

/* Any dynamic label, identity or account value must be allowed to shrink/wrap. */
.app-shell,.app-main,.app-content,.app-panel,.flow-card,
.app-user-mini>div,.portfolio-account-label,.admin-role-chip,
.notification-row>div,.asset-name>div,.portfolio-card-top>div,
.reviewer-card-top>div,.customer-card,.brand-card,.portfolio-project-card,
.app-panel-head>div,.app-page-head>div,.message-thread-item div,
.checkout-line b,.order-summary-row b,.next-step>div{min-width:0}

.rmai-long-text,.rmai-email,
.app-user-mini b,.app-user-mini span,
.portfolio-account-label b,.portfolio-account-label span,
.admin-role-chip b,.admin-role-chip span,
.checkout-line b,.order-summary-row b,
.notification-row b,.notification-row p,
.asset-name b,.asset-name small,
.admin-project-card h3,.admin-project-card p,
.customer-card h2,.reviewer-card h3,.reviewer-card>small,
.portfolio-project-card h3,.brand-card h3,
.settings-controls b,.settings-controls p{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

.rmai-email{font-family:var(--mono);letter-spacing:-.025em}
.rmai-long-text{line-height:1.35}
.rmai-long-text.rmai-very-long{font-size:.88em}
.app-user-mini .rmai-email{font-size:clamp(.54rem,1.65vw,.64rem);line-height:1.32}
.portfolio-account-label .rmai-long-text,.admin-role-chip .rmai-long-text{font-size:clamp(.66rem,1.7vw,.8rem)}
.checkout-line b.rmai-very-long,.order-summary-row b.rmai-very-long{font-size:.86em}

/* Tables retain their data without forcing the whole viewport wider. */
.portfolio-table-wrap,.table-scroll-region{max-width:100%;overscroll-behavior-x:contain}
.portfolio-table td,.admin-table td{overflow-wrap:anywhere}
.portfolio-table td b,.portfolio-table td span,.admin-table td b,.admin-table td small{max-width:32ch}

/* Reusable client-side pagination. It only appears when a live list exceeds its threshold. */
.rmai-pagination{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:16px;padding-top:14px;border-top:1px solid rgba(122,164,255,.12)
}
.rmai-pagination-status{font:600 .64rem/1.35 var(--mono);letter-spacing:.055em;color:#7188a9}
.rmai-pagination-actions{display:flex;align-items:center;gap:7px}
.rmai-page-btn{
  min-width:42px;min-height:40px;padding:8px 12px;border:1px solid rgba(122,164,255,.18);
  border-radius:11px;background:rgba(7,17,34,.78);color:#d9e7fb;font:700 .66rem/1 var(--mono);
  cursor:pointer
}
.rmai-page-btn:hover:not(:disabled),.rmai-page-btn:focus-visible{border-color:#3f8cff;background:rgba(18,104,255,.12);outline:none}
.rmai-page-btn:disabled{opacity:.32;cursor:not-allowed}
.rmai-page-indicator{min-width:66px;text-align:center;font:700 .63rem/1 var(--mono);color:#82a9d8}

/* Keep summary values readable on narrow screens instead of clipping. */
@media(max-width:680px){
  .app-user-mini{grid-template-columns:36px minmax(0,1fr) auto}
  .portfolio-account-label,.admin-role-chip{overflow:hidden}
  .checkout-line,.order-summary-row{align-items:flex-start}
  .checkout-line b,.order-summary-row b{max-width:62%;text-align:right}
  .notification-row b,.notification-row p{padding-right:2px}
  .rmai-pagination{align-items:flex-start;flex-direction:column}
  .rmai-pagination-actions{width:100%;justify-content:space-between}
  .rmai-page-btn{flex:0 0 auto}
}

@media(max-width:380px){
  .checkout-line,.order-summary-row{display:grid;grid-template-columns:1fr;gap:6px}
  .checkout-line b,.order-summary-row b{max-width:none;text-align:left}
}
