.session-indicator { display: flex; align-items: center; gap: 10px; max-width: 100%; padding: 9px 12px; border: 1px solid #b89244; border-radius: 14px; background: #fff8e6; color: #253b31; text-align: left; }
.session-indicator [data-session-name] { display: block; font-size: 1rem; font-weight: 700; overflow-wrap: anywhere; }
.session-indicator [data-session-label] { display: block; margin-top: 2px; font-size: .875rem; line-height: 1.35; }
.session-indicator .session-dot { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: #7b837e; border: 1px solid #5e665f; }
.session-indicator[data-session-state="signed-in"] .session-dot { background: #d9a527; border-color: #805a10; box-shadow: 0 0 0 4px #e5bd5b35; animation: session-gold-pulse 1.8s ease-in-out 2; }
.session-indicator [data-session-check] { flex-shrink: 0; min-width: 44px; min-height: 44px; border: 1px solid #b5a379; border-radius: 9px; background: #fffdf7; color: #253b31; cursor: pointer; font: inherit; }
.session-indicator [data-session-check]:disabled { cursor: wait; }
.session-indicator [data-session-check]:focus-visible { outline: 3px solid #22664b; outline-offset: 2px; }
.topbar-actions { flex-wrap: wrap; justify-content: flex-end; }
.topbar-actions .session-indicator { flex-basis: 100%; }
.customer-account .session-indicator span { max-width: none; }
@keyframes session-gold-pulse { 50% { box-shadow: 0 0 0 7px #e5bd5b65, 0 0 14px #d9a52766; } }
@media (max-width: 620px) { .topbar-actions { justify-content: flex-start; } .session-indicator { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .session-indicator[data-session-state="signed-in"] .session-dot { animation: none; } }
@media (forced-colors: active) {
  .session-indicator, .session-indicator [data-session-check] { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .session-indicator .session-dot, .session-indicator[data-session-state="signed-in"] .session-dot { background: CanvasText; border-color: CanvasText; box-shadow: none; animation: none; }
}
