/* CommonHand V90.18 — Mobile Experience */
.ch-mobile-nav,.ch-mobile-sheet-backdrop{display:none}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body.ch-mobile-customer-active,body.ch-mobile-business-active{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  body.ch-mobile-sheet-open{overflow:hidden}

  /* Signed-in headers stay useful on a phone instead of hiding navigation entirely. */
  .client-v3-header,.business-v13-header{height:62px!important;min-height:62px!important}
  .client-v3-inner,.business-v13-inner{width:100%!important;padding:0 10px!important;gap:8px!important}
  .client-v3-brand,.business-v13-brand{font-size:16px!important;gap:7px!important;white-space:nowrap}
  .client-v3-brand .mark,.business-v13-brand .mark{width:32px!important;height:32px!important;border-radius:10px!important}
  .client-v3-nav,.business-v13-nav{display:none!important}
  .client-v3-user,.business-v13-account{margin-left:auto!important;gap:6px!important;min-width:0}
  .client-v3-name,.business-v13-account-name{display:none!important}
  #clientV3AccountBtn,#launchBusinessLogout{display:none!important}
  .client-v3-avatar,.business-v13-avatar{width:36px!important;height:36px!important;flex:0 0 36px}

  /* Notification control becomes a compact header bell on mobile. */
  #v77cNotifyBtn.show{display:inline-flex!important}
  #v77cNotifyBtn{position:relative!important;inset:auto!important;margin:0!important;padding:0!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:12px!important;justify-content:center!important;box-shadow:none!important;background:#f2efff!important;color:#5d46d3!important;overflow:visible!important;font-size:0!important}
  #v77cNotifyBtn::before{content:'🔔';font-size:17px;line-height:1}
  #v77cNotifyBtn .v78-notify-label{display:none!important}
  #v77cNotifyCount{position:absolute!important;right:-4px!important;top:-5px!important;min-width:18px!important;width:auto!important;height:18px!important;padding:0 4px!important;background:#7457ff!important;color:#fff!important;border:2px solid #fff!important;font-size:9px!important;line-height:14px!important}

  /* Thumb-friendly bottom navigation. */
  .ch-mobile-nav.enabled{display:grid!important}
  .ch-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:170000;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(64px + env(safe-area-inset-bottom,0px));padding:5px 7px env(safe-area-inset-bottom,0px);background:rgba(255,255,255,.96);border-top:1px solid #e7e5ed;box-shadow:0 -8px 28px rgba(23,35,61,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .ch-mobile-nav button{appearance:none;border:0;background:transparent;color:#778095;border-radius:12px;display:flex;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:5px 3px 4px;font:inherit;font-size:9px;font-weight:850;line-height:1.1;cursor:pointer}
  .ch-mobile-nav button.active{color:#6549df;background:#f5f2ff}
  .chm-icon{width:22px;height:22px;display:grid;place-items:center}
  .chm-icon svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

  /* Bottom-sheet More menu. */
  .ch-mobile-sheet-backdrop.show{display:flex!important}
  .ch-mobile-sheet-backdrop{position:fixed;inset:0;z-index:190000;background:rgba(20,24,36,.44);align-items:flex-end;justify-content:center;padding:0}
  .ch-mobile-sheet{width:100%;max-height:min(76vh,620px);overflow:auto;background:#fff;border-radius:24px 24px 0 0;padding:8px 14px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 -24px 70px rgba(14,18,28,.24);animation:chmSheetIn .18s ease-out}
  @keyframes chmSheetIn{from{transform:translateY(18px);opacity:.55}to{transform:none;opacity:1}}
  .ch-mobile-sheet-handle{width:42px;height:5px;border-radius:999px;background:#d9dce3;margin:2px auto 10px}
  .ch-mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 12px;border-bottom:1px solid #eef0f4}
  .ch-mobile-sheet-head>div{display:grid;gap:2px}.ch-mobile-sheet-head strong{font-size:18px;color:#17233d}.ch-mobile-sheet-head span{font-size:11px;color:#7c8494}
  #chMobileSheetClose{border:0;background:#f1f2f6;color:#555e70;width:36px;height:36px;border-radius:999px;font:inherit;font-size:23px;line-height:1;cursor:pointer}
  .ch-mobile-sheet-grid{display:grid;gap:7px;padding-top:10px}
  .ch-mobile-sheet-grid>button{border:1px solid #e7e8ee;background:#fff;border-radius:15px;padding:12px;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;text-align:left;color:#27334a;font:inherit;cursor:pointer}
  .ch-mobile-sheet-grid>button:active{background:#f7f5ff;border-color:#d9d0ff}
  .chm-sheet-icon{width:40px;height:40px;border-radius:12px;background:#f3f0ff;color:#654add;display:grid;place-items:center}
  .chm-sheet-icon svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .ch-mobile-sheet-grid strong,.ch-mobile-sheet-grid small{display:block}.ch-mobile-sheet-grid strong{font-size:13px}.ch-mobile-sheet-grid small{font-size:10px;color:#7a8497;margin-top:3px;line-height:1.35}

  /* General mobile spacing and touch improvements. */
  .client-v3-shell,.business-v13-shell{width:calc(100% - 20px)!important;padding-top:22px!important;padding-bottom:28px!important}
  .client-v3-welcome,.business-v13-welcome{margin-bottom:15px!important}
  .client-v3-welcome h1,.business-v13-welcome h1{font-size:29px!important;line-height:1.08!important}
  .client-v3-start-card{border-radius:20px!important;padding:20px!important}
  .client-v3-start-card h2{font-size:25px!important}
  .client-v3-empty,.client-v3-card,.business-v13-card,.business-v13-op-card,.business-v13-job-card{border-radius:16px!important}
  .business-v13-page-head h1,.business-v13-op-detail-head h1{font-size:27px!important}
  .business-v13-page-head,.business-v13-op-detail-head,.business-v13-op-detail-top{gap:10px!important}
  .business-v13-card{padding:15px!important}
  .business-v13-message-page{gap:10px!important}
  .business-v13-thread-list button{grid-template-columns:35px minmax(0,1fr) auto!important;padding:11px!important}
  .business-v13-thread-list em{max-width:58vw!important}
  .business-v13-filterbar{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:5px!important;scrollbar-width:none}
  .business-v13-filterbar::-webkit-scrollbar{display:none}
  .business-v13-filterbar button{white-space:nowrap!important;min-height:39px}
  .v68-hub-shell,.v68-project-shell,.v20-client-shell{width:calc(100% - 20px)!important}
  button,.btn,a[role="button"]{touch-action:manipulation}
  .btn{min-height:42px}
  .v77c-back,.v51-modal-backdrop{padding:10px!important}
  .v77c-modal,.v51-modal{max-height:88vh!important;border-radius:18px!important}
  .v77c-table-wrap{margin-left:-4px;margin-right:-4px}
  #v78LiveToast{top:70px!important;right:10px!important;width:calc(100vw - 20px)!important}
}

@media(max-width:420px){
  .client-v3-brand,.business-v13-brand{font-size:15px!important}
  .client-v3-user,.business-v13-account{gap:4px!important}
  .ch-mobile-nav{padding-left:4px;padding-right:4px}
  .ch-mobile-nav button{font-size:8.5px}
  .client-v3-shell,.business-v13-shell{width:calc(100% - 16px)!important}
}