/* Kassen-Sperre Overlay */
#kassenSperreOverlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.95);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-family: inherit;
}
#kassenSperreOverlay .sperre-firmenname { font-size: 1.2rem; opacity: 0.7; margin-bottom: 0.5rem; }
#kassenSperreOverlay .sperre-uhr { font-size: 3.5rem; font-weight: 300; letter-spacing: 0.1em; margin-bottom: 1.5rem; }
#kassenSperreOverlay .sperre-avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255,255,255,0.3); margin-bottom: 0.5rem; }
#kassenSperreOverlay .sperre-avatar-placeholder { width: 80px; height: 80px; border-radius: 50%; background: rgba(255,255,255,0.15); display: flex; align-items: center; justify-content: center; font-size: 2rem; margin-bottom: 0.5rem; }
#kassenSperreOverlay .sperre-name { font-size: 1.1rem; margin-bottom: 1.5rem; }
#kassenSperreOverlay .sperre-pin-display { font-size: 2rem; letter-spacing: 0.5em; height: 3rem; margin-bottom: 1rem; min-width: 150px; text-align: center; }
#kassenSperreOverlay .sperre-numpad { display: grid; grid-template-columns: repeat(3, 70px); gap: 8px; margin-bottom: 1.5rem; }
#kassenSperreOverlay .sperre-numpad button { width: 70px; height: 60px; font-size: 1.4rem; border: 1px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.1); color: #fff; border-radius: 8px; cursor: pointer; transition: background 0.15s; }
#kassenSperreOverlay .sperre-numpad button:hover, #kassenSperreOverlay .sperre-numpad button:active { background: rgba(255,255,255,0.25); }
#kassenSperreOverlay .sperre-numpad button.btn-ok { background: rgba(25,135,84,0.6); border-color: rgba(25,135,84,0.8); }
#kassenSperreOverlay .sperre-numpad button.btn-ok:hover { background: rgba(25,135,84,0.8); }
#kassenSperreOverlay .sperre-numpad button.btn-clear { background: rgba(220,53,69,0.4); border-color: rgba(220,53,69,0.6); }
#kassenSperreOverlay .sperre-error { color: #f88; font-size: 0.9rem; min-height: 1.4rem; margin-bottom: 0.5rem; }
#kassenSperreOverlay .sperre-switch-link { color: rgba(255,255,255,0.6); cursor: pointer; font-size: 0.9rem; text-decoration: underline; }
#kassenSperreOverlay .sperre-switch-link:hover { color: #fff; }
#kassenSperreOverlay .sperre-lockout { color: #ffc107; font-size: 0.9rem; }

/* Team-Switcher Popup */
#teamSwitcherPopup { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.5); }
#teamSwitcherPopup .ts-card { background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); border-radius: 12px; padding: 1.5rem; min-width: 340px; max-width: 400px; max-height: 80vh; overflow-y: auto; box-shadow: 0 10px 40px rgba(0,0,0,0.3); }
#teamSwitcherPopup .ts-member { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.75rem; border-radius: 8px; cursor: pointer; transition: background 0.15s; }
#teamSwitcherPopup .ts-member:hover { background: var(--bs-tertiary-bg, #f0f0f0); }
#teamSwitcherPopup .ts-member.active { background: var(--bs-primary-bg-subtle, #cfe2ff); }
#teamSwitcherPopup .ts-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
#teamSwitcherPopup .ts-avatar-placeholder { width: 40px; height: 40px; border-radius: 50%; background: var(--bs-secondary-bg, #e9ecef); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; color: var(--bs-body-color, #212529); }
#teamSwitcherPopup .ts-pin-view .ts-numpad { display: grid; grid-template-columns: repeat(3, 60px); gap: 6px; justify-content: center; margin: 1rem 0; }
#teamSwitcherPopup .ts-pin-view .ts-numpad button { width: 60px; height: 50px; font-size: 1.2rem; border: 1px solid var(--bs-border-color, #dee2e6); background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); border-radius: 8px; cursor: pointer; transition: background 0.15s; }
#teamSwitcherPopup .ts-pin-view .ts-numpad button:hover { background: var(--bs-tertiary-bg, #f0f0f0); }
#teamSwitcherPopup .ts-pin-view .ts-numpad button.btn-ok { background: var(--bs-success-bg-subtle, #d1e7dd); border-color: var(--bs-success-border-subtle, #a3cfbb); color: var(--bs-body-color, #212529); }
#teamSwitcherPopup .ts-pin-view .ts-numpad button.btn-clear { background: var(--bs-danger-bg-subtle, #f8d7da); border-color: var(--bs-danger-border-subtle, #f1aeb5); color: var(--bs-body-color, #212529); }
