/* Focused guest-account refinements. */
.shell--guest .content-actions{display:none}
.shell--guest .mobile-topbar{display:none!important}

/* Service roles use a neutral workspace label instead of the Nobel mark. */
.shell--hostess .logo,.shell--partner .logo,.shell--superadmin .logo{min-height:30px}
.shell--hostess .logo>span,.shell--hostess .logo>strong,.shell--partner .logo>span,.shell--partner .logo>strong,.shell--superadmin .logo>span,.shell--superadmin .logo>strong{display:none}
.shell--hostess .logo:after,.shell--partner .logo:after,.shell--superadmin .logo:after{color:var(--nobel-paper);font:700 22px/30px Georgia,serif;letter-spacing:-.04em}
.shell--hostess .logo:after{content:'Хостес'}
.shell--partner .logo:after{content:'Партнёр'}
.shell--superadmin .logo:after{content:'Управление'}
@media (max-width: 800px){.shell--hostess .mobile-topbar .logo:after,.shell--partner .mobile-topbar .logo:after,.shell--superadmin .mobile-topbar .logo:after{color:var(--nobel-ink)}}

@media (max-width: 800px) {
  .archive-button { left: auto; right: 20px; min-height: 44px; }
  .shell--guest .mobile-welcome { margin-top: 0; }
}

@media (min-width: 801px) {
  .shell--guest .archive-button { left: auto; right: 24px; min-height: 44px; }
  .shell--guest .mobile-welcome { margin-top: 0; }
}

@media (max-width: 800px) {
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"] {
    min-width: 44px;
    min-height: 68px;
  }

  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:hover,
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:focus-visible,
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"].active,
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:active {
    color: #151a18;
  }

  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:hover small,
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:focus-visible small,
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"].active small,
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:active small {
    color: #151a18;
  }

  .shell--guest .mobile-nav-button[aria-label="Карта гостя"] .icon--qr {
    color: #0a6f66;
    opacity: 1 !important;
    filter: none !important;
    stroke-width: 2.1;
    transform-origin: center;
    transition: transform 200ms ease, color 200ms ease, filter 200ms ease;
  }

  .shell--guest .mobile-nav-button[aria-label="Карта гостя"].active .icon--qr {
    color: #0a6f66;
    opacity: 1 !important;
    filter: drop-shadow(0 0 4px #78e6db88) !important;
    animation: guest-qr-pulse 220ms ease-out;
  }

  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:active .icon--qr {
    color: #0a6f66;
    opacity: 1 !important;
    filter: drop-shadow(0 0 5px #78e6db99) !important;
    transform: scale(1.1);
  }

  .shell--guest .mobile-nav-button[aria-label="Карта гостя"]:focus-visible {
    outline: 3px solid #8af0e4;
    outline-offset: 3px;
  }
}

@keyframes guest-qr-pulse {
  0% { transform: scale(.92); }
  65% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

.guest-camera-trigger { margin-top: 20px; min-height: 52px; }
.guest-camera-trigger .icon--qr { width: 24px; height: 24px; }
.guest-gallery-trigger { margin-top: 10px; min-height: 48px; }
.guest-qr-status { margin-top: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.guest-qr-status[hidden] { display: none; }
.guest-camera-alternative { margin: 12px 0 18px; text-align: center; }
.guest-camera-dialog {
  width: min(440px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow: auto;
  margin: auto;
  padding: clamp(18px, 5vw, 28px);
  border: 1px solid var(--brass);
  border-radius: 12px;
  background: var(--paper-light);
  color: var(--ink);
  box-shadow: var(--shadow);
  font: inherit;
}
.guest-camera-dialog::backdrop { background: #101816cc; }
.guest-camera-dialog h2 { margin-bottom: 12px; }
.guest-camera-dialog .hint, .guest-camera-status { color: var(--ink); }
.guest-camera-video {
  display: block;
  width: 100%;
  max-height: 42vh;
  aspect-ratio: 1;
  object-fit: cover;
  margin-top: 18px;
  border-radius: 8px;
  background: var(--coal);
}
.guest-camera-video[hidden] { display: none; }
.guest-camera-status { margin: 16px 0; line-height: 1.6; overflow-wrap: anywhere; }
.guest-camera-dialog button { min-height: 44px; color: var(--ink); }
.guest-camera-dialog button:focus-visible { outline: 3px solid #0a6f66; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .shell--guest .mobile-nav-button[aria-label="Карта гостя"] .icon--qr {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}
