.operator-login { display:none; }
.operator-locked .app-shell, .operator-locked .mobile-bottom-nav, .operator-locked .operator-logout { display:none; }
.operator-locked .operator-login { display:grid; min-height:100dvh; place-items:center; padding:24px; }
.operator-login-card { width:min(100%,380px); display:grid; gap:16px; padding:28px; border:1px solid #e5e7eb; border-radius:16px; background:white; box-shadow:0 8px 28px #1118270a; }
.operator-login-card h1 { margin:0; font-size:24px; }
.operator-login-card p { margin:0; color:#4b5563; }
.operator-login-card label { display:grid; gap:7px; font-size:14px; }
.operator-login-card input { width:100%; box-sizing:border-box; min-height:44px; border:1px solid #d1d5db; border-radius:8px; padding:10px 12px; font:inherit; background:white; color:#111827; }
.operator-login-card input:focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
.operator-login-card [role=alert] { color:#b91c1c; font-size:14px; }
.operator-logout { position:fixed; bottom:16px; left:16px; z-index:90; font-size:12px; }
@media(max-width:768px) { .operator-logout { bottom:84px; left:auto; right:12px; } }

/* Desktop logout participates in sidebar layout; no fixed overlay. */
@media (min-width: 769px) {
  .operator-logout.operator-logout-desktop {
    position: relative;
    inset: auto;
    z-index: auto;
    justify-self: center;
    flex-shrink: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
  }
  .operator-logout.operator-logout-desktop:hover { background: #1f2937; }
  .operator-logout.operator-logout-desktop:disabled { opacity: .5; cursor: wait; }
}

@media (max-width: 768px) {
  .customer-orders-page .page-header > .operator-command-heading { display:flex; align-items:center; gap:12px; width:100%; min-width:0; }
  .operator-command-heading h1 { flex:1; min-width:0; }
  [data-operator-logout-slot] { margin-left:auto; flex-shrink:0; }
  .operator-logout.operator-logout-mobile { position:static; inset:auto; width:44px; height:44px; padding:0; display:flex; align-items:center; justify-content:center; border:0; border-radius:10px; color:#374151; background:transparent; }
  .operator-logout-mobile svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
  .operator-logout-mobile:hover { background:#e5e7eb; }
  .operator-logout-mobile:focus-visible { outline:2px solid #2563eb; }
  .operator-logout-mobile:disabled { opacity:.5; }
}
@media (min-width:769px) { [data-operator-logout-slot] { display:none; } }
@media (max-width:768px) {
  .operator-logout-mobile::after, .operator-logout-mobile::before { display:none; }
}
