/* ===== client_dashboard - MOBILE SHELL (D-MOB1-CLIENT, signed D_MOB1_CLIENT_MOCKUP_v0_2) + PWA install (D-PWA1-CLIENT,
   signed D_PWA1_CLIENT_INSTALL_MOCKUP_v0_4) - v2.2.9. Loaded from the customers-area head hook with
   media="(max-width:699px)". Law (MEMORY 82): below 700px nothing scrolls sideways. Measured 06-09 at 412: table.cd-tbl
   820px on every list page; the LIVE pill ran to 494px; cd-tkt-panel overshot by 3px; the hero block stood 470px tall
   before content. Each is answered here. */
@media (max-width:699px){
  html,body{overflow-x:hidden}
  body{padding-bottom:72px}
  .cd-portal{padding-left:8px;padding-right:8px;max-width:100vw}
  /* hero: one compact card - logo, name, refresh; note, sub and pills fold */
  .cd-portal .cd-hero{padding:12px 12px 10px;border-radius:14px}
  .cd-portal .cd-hero-top{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
  .cd-portal .cd-hero-logo{max-height:34px;width:auto;flex:0 0 auto}
  .cd-portal .cd-hero-title,.cd-portal .cd-hero h1{font-size:17px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cd-portal .cd-hero-sub,.cd-portal .cd-hero-note,.cd-portal .cd-hero-kicker{display:none}
  .cd-portal .cd-hero-actions{width:auto;margin-left:auto;display:flex;gap:6px}
  .cd-portal .cd-hero-actions .cd-btn,.cd-portal .cd-hero-actions a,.cd-portal .cd-hero-actions button{min-width:44px;min-height:44px;padding:0 12px}
  .cd-portal .cd-pill-live{max-width:100%;white-space:normal;display:none}
  /* 2.3.4: the rail's phone rules (drawer, topbar, bar, sheet) live in cd_portal.css's own media block - this sheet is
     emitted in the HEAD before the view's sheet, so anything it says about the rail would lose at equal specificity. */
  /* cards, stages, tiles: one column */
  .cd-portal .cd-grid,.cd-portal .cd-stages,.cd-portal .cd-tiles,.cd-portal .cd-cards{display:flex;flex-direction:column;gap:10px}
  .cd-portal .cd-grid > *,.cd-portal .cd-stages > *,.cd-portal .cd-tiles > *,.cd-portal .cd-cards > *{width:100%;max-width:100%;min-width:0;flex:0 0 auto}
  .cd-portal .cd-filter,.cd-portal .cd-filter-row{flex-wrap:wrap;gap:8px}
  .cd-portal .cd-filter input,.cd-portal .cd-filter select{width:100%}
  /* lists: rows become cards; labels come from the header (cd_mobile.js) */
  .cd-portal .cd-tbl-wrap{overflow:visible;max-width:100%}
  .cd-portal table.cd-tbl,.cd-portal table.cd-tbl tbody,.cd-portal table.cd-tbl tr,.cd-portal table.cd-tbl td{display:block;width:100%;max-width:100%;box-sizing:border-box;min-width:0}
  .cd-portal table.cd-tbl thead{display:none}
  .cd-portal table.cd-tbl tbody tr{background:#fff;border:1px solid #e7eaf0;border-radius:14px;margin:0 0 10px;padding:6px 12px;box-shadow:0 1px 2px rgba(16,24,40,.05)}
  .cd-portal table.cd-tbl tbody td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border:0;border-bottom:1px solid #f1f3f7;white-space:normal;text-align:left}
  .cd-portal table.cd-tbl tbody td:last-child{border-bottom:0}
  .cd-portal table.cd-tbl tbody td[data-label]::before{content:attr(data-label);flex:0 0 40%;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#98a2b3}
  .cd-portal table.cd-tbl tbody td.cd-m-empty{display:none}
  .cd-portal table.cd-tbl tbody td .cd-btn,.cd-portal table.cd-tbl tbody td a.cd-key{min-height:40px}
  /* ticket page: one column, panel inside the viewport */
  .cd-portal .cd-tkt-grid,.cd-portal .cd-tkt-layout{display:flex;flex-direction:column;gap:12px}
  .cd-portal .cd-tkt-panel,.cd-portal .cd-tkt-main,.cd-portal .cd-tkt-side{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
  .cd-portal .cd-tkt-panel{margin:0}
  /* PWA install card and iOS sheet */
  .cd-pwa-card{position:fixed;left:12px;right:12px;bottom:76px;background:#fff;border:1px solid #e7eaf0;border-radius:18px;box-shadow:0 18px 40px -14px rgba(16,24,40,.35);padding:14px;z-index:1150;display:flex;gap:12px;align-items:center;font-family:inherit}
  .cd-pwa-card[hidden]{display:none}
  .cd-pwa-ico{width:48px;height:48px;border-radius:13px;flex:0 0 auto;background-size:cover;background-position:center}
  .cd-pwa-card b{display:block;font-size:14px}.cd-pwa-card small{display:block;color:#5b6577;font-size:12px;line-height:1.35}
  .cd-pwa-acts{display:flex;gap:8px;margin-top:8px}
  .cd-pwa-acts button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #e2e6ee;background:linear-gradient(180deg,#fff,#f2f4f8);font-weight:700;font-family:inherit}
  .cd-pwa-acts button.b{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;border-color:#1e40af}
  .cd-pwa-step{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;margin:0 0 12px}
  .cd-pwa-step .n{width:40px;height:40px;border-radius:12px;background:#eef3ff;color:#1d4ed8;display:grid;place-items:center;font-weight:800}
  .cd-pwa-step b{display:block;font-size:14px}.cd-pwa-step small{color:#5b6577;font-size:12px}
  /* sign-in screen (Perfex customers theme): the install card sits under the form */
  .cd-pwa-login{position:static;margin:14px auto 0;max-width:420px}
}
