.mobile-quick-actions { display: none; }

@media (max-width: 767px) {
  body:has(.mobile-quick-actions) .site-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .mobile-quick-actions {
    display: block;
    position: fixed;
    z-index: 95;
    right: max(18px, env(safe-area-inset-right, 0px));
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    color: #281441;
    font-family: inherit;
  }
  .mobile-quick-actions > summary {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, #e843a0, #7031ed);
    color: #fff;
    box-shadow: 0 6px 24px #5325c84d;
    cursor: pointer;
    list-style: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-quick-actions > summary::-webkit-details-marker { display: none; }
  .mobile-quick-actions > summary span { font-size: 36px; font-weight: 400; line-height: 1; transition: transform .18s ease; }
  .mobile-quick-actions[open] > summary span { transform: rotate(45deg); }
  .mobile-quick-actions > summary:focus-visible,
  .mobile-quick-actions nav a:focus-visible { outline: 3px solid #9d73ff; outline-offset: 4px; }
  .mobile-quick-actions nav {
    position: absolute;
    right: 0;
    bottom: 72px;
    width: min(328px, calc(100vw - 36px));
    max-height: calc(100dvh - 126px - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #e3d8f2;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 48px #28144133;
  }
  .mobile-quick-actions nav p { margin: 4px 8px 10px; font-size: 12px; font-weight: 700; color: #80738e; }
  .mobile-quick-actions nav a { display: grid; grid-template-columns: 42px minmax(0, 1fr) 16px; align-items: center; gap: 11px; padding: 12px 8px; border-radius: 13px; color: #281441; text-decoration: none; }
  .mobile-quick-actions nav a:hover { background: #f7f3ff; }
  .mobile-quick-actions nav a + a { margin-top: 4px; }
  .mobile-quick-actions strong { display: block; font-size: 15px; line-height: 1.4; font-weight: 800; }
  .mobile-quick-actions small { display: block; margin-top: 3px; font-size: 11px; line-height: 1.5; color: #81738e; }
  .quick-action-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; font-size: 25px; }
  .quick-action-new { color: #7531d4; background: #f0e7ff; }
  .quick-action-search { color: #bb3480; background: #ffebf5; }
  .quick-action-job { color: #08765f; background: #e7f5ee; font-size: 21px; }
  .quick-action-arrow { color: #a391b4; }
  body:has(.mobile-quick-actions) .page-qr-share { right: auto; left: 18px; bottom: calc(23px + env(safe-area-inset-bottom, 0px)); }
  body:has(.mobile-quick-actions) .page-qr-panel { right: auto; left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-quick-actions > summary span { transition: none; }
}
