/* Shared mobile acceptance baseline. Desktop composition is retained. */
.cp-mobile-menu { display:none; }
.drawer[role="dialog"] { overscroll-behavior:contain; }
.cp-mobile-routes { display:grid; gap:6px; }
.cp-mobile-routes .nav-item { display:grid!important; grid-template-columns:28px minmax(0,1fr) auto; min-width:0; min-height:48px; text-align:start; padding:10px 12px; font-size:14px; }
.cp-mobile-routes .nav-item span:nth-child(2) { display:block; white-space:normal; }
.cp-mobile-routes .nav-badge { position:static; }
.cp-mobile-language { width:100%; margin-top:16px; }
@media (max-width:720px) {
  html,body { height:100%; min-height:0; overflow:hidden; }
  .shell { width:100%; height:100vh; height:100dvh; min-height:0; overflow:hidden; }
  .shell>.sidebar { display:none; }
  .shell>.main { width:100%; max-width:100%; height:100%!important; min-height:0; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; scroll-padding-top:180px; }
  .main>.topbar { display:grid; grid-template-columns:44px minmax(0,1fr); height:auto; min-width:0; gap:8px; padding:8px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left)); position:sticky; top:0; }
  .cp-mobile-menu { display:inline-grid!important; place-items:center; width:44px!important; height:44px!important; grid-row:1; grid-column:1; }
  .topbar>.context { grid-row:1; grid-column:2; min-width:0; max-width:none; width:100%; min-height:48px; }
  .topbar .context-stack b,.topbar .context-stack>span { white-space:normal; overflow-wrap:anywhere; }
  .topbar>.top-actions { grid-column:1/-1; grid-row:2; display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; min-width:0; }
  .top-actions .icon-button,.top-actions .my-work-button { min-width:44px; width:44px; min-height:44px; height:44px; }
  .top-actions #language { display:none; }
  .top-actions #mobile-workspace:not([hidden]),.top-actions .mobile-profile-button { display:inline-grid!important; place-items:center; }
  .top-actions .shell-clock { min-width:0; flex:1 1 100px; margin:0; }
  .topbar>.search-wrap,.topbar>.global-search-control { grid-column:1/-1; grid-row:3; width:100%; min-width:0; max-width:none; }
  .content,#content { width:100%; min-height:0; height:auto; overflow:visible; padding:16px 12px max(24px,env(safe-area-inset-bottom)); }
  .page-head,.panel-head,.page-actions { min-width:0; flex-wrap:wrap; }
  .page-head h1 { font-size:21px; line-height:1.65; overflow-wrap:anywhere; }
  .page-actions { gap:8px; }
  .page-actions .button { flex:1 1 auto; min-height:44px; white-space:normal; }
  .panel,.grid>* { min-width:0; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,.field-control { min-width:0; max-width:100%; font-size:16px!important; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,.field-control,.button { min-height:44px; }
  textarea { line-height:1.8; }
  input,select,textarea,button,summary { touch-action:manipulation; }
  .table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
  .drawer { inset:0; width:100%; max-width:100%; height:100vh; height:100dvh; padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  .drawer-head { position:sticky; top:-16px; padding-block:12px; background:var(--cp-color-surface-1); z-index:3; }
  .drawer-head .icon-button,.dialog-close { min-width:44px; min-height:44px; }
  .management-dialog { width:100%; max-width:100%; height:100vh; height:100dvh; max-height:100dvh; inset:0; margin:0; border-radius:0; }
  .management-dialog>form { padding:16px 16px max(24px,env(safe-area-inset-bottom)); overflow:auto; height:100%; }
  .management-form,.form-grid { grid-template-columns:minmax(0,1fr); }
  .management-form>.span-2,.form-grid>.span-2 { grid-column:auto; }
  .form-actions { flex-wrap:wrap; gap:8px; }
  .form-actions .button { flex:1 1 120px; }
  .login-page { display:block; height:100%; min-height:0; overflow:auto; }
  .login-brand-panel,.login-form-panel { height:auto; overflow:visible; }
  .login-brand-panel { padding:24px; }
  .login-brand-panel .customer-login-brand { margin:20px 0; }
  .login-form-panel { padding:16px 12px max(24px,env(safe-area-inset-bottom)); }
  .login-card { width:100%; max-width:100%; padding:20px; }
  .toast { max-width:calc(100vw - 24px); inset-inline:12px; width:auto; bottom:max(16px,env(safe-area-inset-bottom)); overflow-wrap:anywhere; }
}
@media (max-width:720px) and (max-height:520px) {
  .main>.topbar { position:relative; }
}
