/* MedicSort R70 H5 — complete mobile pass for all public/product surfaces.
   Additive mobile-only overrides; desktop layout intentionally untouched. */
@media (max-width: 820px) {
  html { -webkit-text-size-adjust:100%; overflow-x:hidden; }
  body { max-width:100vw; overflow-x:hidden !important; }
  img,video,canvas,svg { max-width:100%; }
  input,textarea,select,button { max-width:100%; }
  input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="tel"],textarea,select { font-size:16px !important; }

  /* Homepage: complete real app preview, never crop the screenshot. */
  .ms-inside-frame { overflow:hidden !important; }
  .ms-inside-frame img {
    display:block !important; width:100% !important; height:auto !important;
    max-height:none !important; object-fit:contain !important; object-position:top center !important;
  }
  .ms-inside-box { overflow:visible !important; }

  /* Articles */
  body .topin { width:100%; }
  body .wrap { max-width:100%; }
  .article { word-break:break-word; }
  .article h1 { overflow-wrap:anywhere; }
  .grid { min-width:0; }
  .card { min-width:0; }

  /* Social network surfaces */
  .lb-lastbro-page { min-width:0 !important; }
  .lb-lastbro-page .container,
  .lb-lastbro-page .container-fluid,
  .lb-lastbro-page main,
  .lb-lastbro-page .lb-main,
  .lb-lastbro-page .lb-page-main,
  .lb-lastbro-page .lb-content,
  .lb-lastbro-page .lb-page-panel { min-width:0 !important; max-width:100% !important; }
  .lb-lastbro-page .row { margin-left:0 !important; margin-right:0 !important; }
  .lb-lastbro-page [class*="col-"] { min-width:0; }
  .lb-lastbro-page .card,.lb-lastbro-page .lb-page-panel { border-radius:16px !important; }
  .lb-lastbro-page .post-actions { gap:4px !important; flex-wrap:wrap !important; }
  .lb-lastbro-page .post-action-label { font-size:11px !important; }
  .lb-lastbro-page .lb-post-author-name { max-width:55vw; overflow:hidden; text-overflow:ellipsis; }
  .lb-people-grid { grid-template-columns:1fr !important; gap:10px !important; }
  .lb-person-card { min-width:0 !important; }
  .lb-person-actions { flex-wrap:wrap !important; }
  .friend-actions { display:flex !important; flex-wrap:wrap !important; gap:7px !important; }
  .row-item { min-width:0 !important; }
  .ms-profile-plan-card,.ms-profile-articles-card { border-radius:16px !important; overflow:hidden; }
  .lb-profile-page .row > * { width:100% !important; max-width:100% !important; flex:0 0 100% !important; }
  .lb-profile-page .form-control,.lb-profile-page .form-select { width:100% !important; }

  /* Chat: true one-screen mobile composer, no horizontal overflow. */
  .lb-chat-page .app { width:100% !important; min-width:0 !important; }
  .lb-chat-page .topbar { min-width:0 !important; padding-inline:8px !important; gap:7px !important; }
  .lb-chat-page .shell { grid-template-columns:1fr !important; min-width:0 !important; }
  .lb-chat-page .sidebar { width:min(88vw,320px) !important; max-width:320px !important; }
  .lb-chat-page .conversation,.lb-chat-page .chat-main,.lb-chat-page .messages { min-width:0 !important; }
  .lb-chat-page .composer,.lb-chat-page .message-composer { min-width:0 !important; padding:7px !important; gap:6px !important; }
  .lb-chat-page .composer input,.lb-chat-page .composer textarea,.lb-chat-page .message-composer input { min-width:0 !important; width:100% !important; }
  .lb-chat-page .send-btn { flex:0 0 44px !important; width:44px !important; height:44px !important; }

  /* Bonus/tariffs */
  body .tariff-plans, body .plans { grid-template-columns:1fr !important; gap:10px !important; }
  body .tariff, body .plan { min-width:0 !important; width:100% !important; }
  body .balance { grid-template-columns:1fr !important; gap:9px !important; }
  body .payment-panel { grid-template-columns:1fr !important; padding:14px !important; }
  body .payment-qr, body #paymentQr { max-width:260px !important; width:100% !important; margin-inline:auto !important; }
  body .table-wrap { width:100% !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  body .table { min-width:640px; }

  /* Medical */
  .ms-medical .medical-header { min-height:60px !important; padding:8px 10px !important; gap:8px !important; }
  .ms-medical .medical-nav { display:none !important; }
  .ms-medical .language-switch { margin-left:auto !important; max-width:52vw !important; overflow-x:auto !important; white-space:nowrap; }
  .ms-medical main { width:100% !important; padding-inline:10px !important; }
  .ms-medical .medical-hero,.ms-medical .assessment-card,.ms-medical .result-hero { border-radius:18px !important; padding:18px 15px !important; }
  .ms-medical .choice-grid,.ms-medical .choice-grid-wide,.ms-medical .binary-grid,.ms-medical .check-grid,.ms-medical .category-grid,.ms-medical .route-grid { grid-template-columns:1fr !important; }
  .ms-medical .progress { position:relative !important; inset:auto !important; width:100% !important; overflow:hidden !important; }
  .ms-medical .stage-actions,.ms-medical .hero-actions { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; }
  .ms-medical .button { width:100% !important; min-height:48px !important; }
  .topic-page { width:calc(100% - 20px) !important; margin:10px auto !important; padding:18px 15px !important; }

  /* Schemas */
  body .schema-grid, body .schemas-grid, body .catalog-grid { grid-template-columns:1fr !important; }
  body .schema-card img { width:100% !important; height:auto !important; object-fit:contain !important; }

  /* Reels */
  .lb-tw-stage { width:100% !important; max-width:100vw !important; padding-inline:0 !important; }
  .lb-tw-media-shell { width:100% !important; max-width:100vw !important; border-radius:0 !important; }

  /* Game: preserve original palette, only mobile sizing. */
  .lb-original-game { overflow-x:hidden !important; }
  .lb-original-game .app { width:min(100% - 12px,520px) !important; margin-inline:auto !important; }
  .lb-original-game .board-wrap { width:100% !important; overflow:hidden !important; }
  .lb-original-game #game { max-width:100% !important; transform-origin:top center; }

  /* Angella */
  .angella-app .welcome { padding-inline:10px !important; }
  .angella-app .welcome h1 { overflow-wrap:anywhere; }
  .angella-app .prompt-grid { grid-template-columns:1fr !important; gap:8px !important; width:100% !important; }
  .angella-app .prompt-chip { width:100% !important; min-height:46px !important; text-align:left !important; padding:11px 13px !important; }
  .angella-app .ms-angella-plan-grid,.angella-app .ms-angella-schema-grid { grid-template-columns:1fr !important; }
  .angella-app .composer button[type="submit"] { background:#0753ad !important; border-color:#0753ad !important; color:#fff !important; box-shadow:0 6px 18px rgba(7,83,173,.28) !important; }
  .angella-app .composer button[type="submit"]:hover,
  .angella-app .composer button[type="submit"]:focus-visible { background:#063f88 !important; border-color:#063f88 !important; }
  .angella-app .composer textarea { color:#f8fbff !important; caret-color:#fff !important; }

  /* Legal/auth/help/service pages */
  .legal-page,.legal-shell,.legal-wrap,.auth-card,.auth-shell,.help-card,.help-shell { max-width:100% !important; }
  .layout { min-width:0 !important; }
  .layout > * { min-width:0 !important; }
}

@media (max-width: 480px) {
  .ms-inside-frame { border-radius:11px !important; }
  .lb-lastbro-page .post-actions { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ms-medical .medical-brand img { width:42px !important; height:42px !important; }
  .angella-app .composer button[type="submit"] { width:46px !important; min-width:46px !important; }
}
