/* Verbindliche Farben und Typografie, Casino Schleswig-Holstein Styleguide, Seiten 6-7. */
@font-face{font-family:'Jost Local';src:url('/assets/fonts/Jost-Variable.ttf') format('truetype');font-style:normal;font-weight:300 800;font-display:swap}
:root{--navy:#02163c;--sea-dark:#008fa2;--sea-light:#97cbd3;--bordeaux:#7f161c;--paper:#f5f4ef;--ink:#02163c;--blue:var(--sea-dark);--teal:var(--sea-dark);--cyan:var(--sea-light);--line:var(--sea-light);font-family:'Jost Local',system-ui,sans-serif}
body,input,select,button,textarea{font-family:'Jost Local',system-ui,sans-serif!important}
body:not(.floor-mode),.player-mode{background:var(--navy)!important}.player-mode main{background:radial-gradient(circle at 78% -18%,#008fa244 0,var(--navy) 52%)!important}.player-mode .topbar,#pwa-nav{background:var(--navy)!important}.player-mode .section-heading{border-color:var(--sea-light)!important}.player-mode input,.player-mode select{background:var(--navy)!important;border-color:var(--sea-light)!important;color:var(--paper)!important}
.daily-table-card{background:var(--navy)!important;border-color:var(--sea-light)!important}.daily-table-card header{background:var(--sea-dark)!important}.daily-table-card .table-summary,.daily-metrics{border-color:var(--sea-light)!important}.daily-metrics div+div{border-color:var(--sea-light)!important}.daily-metrics span{color:var(--sea-light)!important}.waitlist-button{border-color:var(--sea-light)!important;color:var(--paper)!important}.reserve-button,.reservation-save-bar button{background:#83dcae!important;color:var(--navy)!important}.reserve-button:disabled,.reservation-save-bar button:disabled{background:var(--navy)!important;color:var(--sea-light)!important}.reserved-label{border-color:var(--bordeaux)!important;color:var(--bordeaux)!important;background:transparent!important}
.player-mode #pwa-nav{border-color:var(--sea-light)!important}.player-mode #pwa-nav button{color:var(--sea-light)!important}.player-mode #pwa-nav button.active{background:transparent!important;color:var(--paper)!important;box-shadow:none!important}.player-mode #pwa-nav button.active:before{background:var(--sea-light)!important;box-shadow:none!important}.player-mode #pwa-nav button.active svg{filter:none!important}
.reservation-tabs{background:var(--navy)!important;border-color:var(--sea-light)!important}.reservation-tabs button{color:var(--sea-light)!important}.reservation-tabs button:hover{background:var(--sea-dark)!important;color:var(--paper)!important}.reservation-tabs button.active{border-color:var(--sea-light)!important;background:var(--sea-dark)!important;color:var(--paper)!important;box-shadow:none!important}.reservation-day,.my-reservation-day,.waitlist-day,.waitlist-detail{background:var(--navy)!important;border-color:var(--sea-light)!important}.reservation-day>header,.reservation-option,.my-reservation-day>header,.my-reservation-day>div,.waitlist-day>header,.waitlist-game-button,.waitlist-detail>header,.waitlist-detail li{border-color:var(--sea-light)!important}.reservation-option.selected,.waitlist-game-button:hover{background:var(--sea-dark)!important}.reservation-check{border-color:var(--sea-light)!important}.reservation-option.selected .reservation-check{background:var(--sea-dark)!important;border-color:var(--sea-light)!important;color:var(--paper)!important}.reservation-option-copy small,.my-reservation-day small,.waitlist-day>header small,.waitlist-game-button small,.waitlist-detail p,.empty-waitlist{color:var(--sea-light)!important}.reservation-rank{color:var(--paper)!important}.reservation-rank select{background:var(--navy)!important;border-color:var(--sea-light)!important}.waitlist-position{background:var(--sea-dark)!important;color:var(--paper)!important}.waitlist-game li.own-waitlist-entry,.waitlist-detail li.own-waitlist-entry{background:var(--sea-dark)!important;color:var(--paper)!important}.waitlist-game li.own-waitlist-entry .waitlist-position,.waitlist-detail li.own-waitlist-entry .waitlist-position{background:var(--paper)!important;color:var(--sea-dark)!important}.waitlist-game li em,.waitlist-detail li em{background:var(--paper)!important;color:var(--sea-dark)!important}
.profile-card .profile-actions button{background:var(--bordeaux)!important;color:var(--paper)!important}.notification-button{background:var(--paper)!important;border-color:var(--paper)!important;color:var(--navy)!important}.notification-empty p{color:var(--sea-light)!important}

/* Eine abgewählte Variante bleibt auch ohne Maus-/Touch-Hover neutral. */
.reservation-option:not(.selected):hover{background:transparent!important}

/* Gleiche Statusfarbe wie „Reserviert“ in „Meine Reservierungen“. */
.reserved-label{border-color:#83dcae!important;color:#83dcae!important}

/* Weiße Auswahlpfeile für die Präferenz auf tiefblauem Hintergrund. */
.reservation-rank select{appearance:none!important;padding-right:30px!important;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4-4 4 4M4 10l4 4 4-4' fill='none' stroke='%23f5f4ef' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 8px center/14px!important}

/* Beschriftung steht direkt über der Auswahlbox. */
.reservation-rank{display:grid!important;gap:3px!important;justify-items:center;text-align:center}.reservation-rank select{justify-self:center}@media(max-width:600px){.reservation-rank{justify-self:end}}

/* Auch mobil bleibt die Präferenz rechts neben der Spielinformation. */
@media(max-width:600px){.reservation-option{grid-template-columns:24px minmax(0,1fr) auto!important}.reservation-rank{grid-column:auto!important;grid-row:auto!important;align-self:center}}
.floor-mode{background:var(--paper)!important;color:var(--ink)!important}.floor-mode main,.floor-mode #desk{background:var(--paper)!important}.floor-nav{background:var(--navy)!important}.floor-nav button:hover,.floor-nav button.active{background:var(--sea-dark)!important}.floor-header button{background:var(--bordeaux)!important;color:var(--paper)!important}.subtle-button,.floor-mode #admin:not([hidden]) button,.desk-right button{background:var(--sea-dark)!important;color:var(--paper)!important}.floor-game header{background:var(--sea-dark)!important}.floor-mode #admin:not([hidden]) .delete-day-plan{background:var(--bordeaux)!important;color:var(--paper)!important}

.my-reservation-day .cancel-day{background:var(--bordeaux)!important;border-color:var(--bordeaux)!important;color:var(--paper)!important}

/* Tagesüberschriften für eigene Reservierungen und Wartelisten. */
.my-reservation-day>header,.waitlist-day>header{background:var(--sea-dark)!important}

.reservation-option.reserved-existing{cursor:default;background:transparent!important}.planner-reserved-note{color:#83dcae!important;font-style:normal;font-weight:800}
.game-visibility-preference{display:grid;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--sea-light);color:var(--paper)!important}.game-visibility-preference>span{font-size:14px;font-weight:800}.game-visibility-preference select{width:100%;max-width:310px}.game-visibility-preference small{color:var(--sea-light)!important}
.profile-name-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.profile-name-row strong{margin:0!important}.nickname-form{display:grid;gap:10px;margin-top:16px;padding:16px 0 0;border-top:1px solid var(--sea-light)}.nickname-form label{color:var(--paper)!important}.nickname-form small{color:var(--sea-light)!important;line-height:1.4}.nickname-form>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}.nickname-form>div button{width:100%;min-height:46px}.nickname-form [type=submit]{background:#83dcae!important;color:var(--navy)!important}.nickname-form .text-action{width:100%}
.live-dot.disconnected{background:var(--bordeaux)!important;color:var(--paper)!important}
.profile-card .profile-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-card .profile-actions .delete-account-button{background:transparent!important;color:var(--bordeaux)!important;border:1px solid var(--bordeaux)!important}.delete-account-form{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--sea-light);color:var(--paper)}.delete-account-form p{margin:0;color:var(--sea-light);line-height:1.4}.delete-account-form label{color:var(--paper)!important}.delete-account-form label b{color:var(--paper)}.delete-account-form>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.delete-account-form>div button{width:100%;min-height:46px}.delete-account-form .text-action{width:100%}.delete-account-form .delete-account-confirm{background:var(--bordeaux)!important;color:var(--paper)!important}.delete-account-form .delete-account-confirm:disabled{opacity:.45}
.passkey-login,.profile-card .profile-actions .passkey-enable{background:transparent!important;color:var(--paper)!important;border:1px solid var(--sea-light)!important}.passkey-login{width:100%;margin-top:10px}.profile-card .profile-actions .passkey-enable{color:var(--sea-light)!important}
.live-dot{background:var(--sea-dark)!important;color:var(--paper)!important}
.player-greeting{display:grid;gap:3px;margin:22px 0 14px}.player-greeting span{color:var(--sea-light);font-size:12px;font-weight:800;letter-spacing:.14em}.player-greeting strong{color:var(--paper);font-size:34px;font-weight:500;line-height:1.08}@media(max-width:600px){.player-greeting{margin:18px 0 12px}.player-greeting strong{font-size:31px}}
.offline-mode .topbar{display:flex!important}.offline-view{display:grid;gap:13px;max-width:520px;margin:70px auto 0;padding:28px 24px;border:1px solid var(--sea-light);border-radius:18px;background:linear-gradient(145deg,#073159,var(--navy));box-shadow:0 14px 32px #0004;color:var(--paper)}.offline-view>span{color:var(--sea-light);font-size:12px;font-weight:800;letter-spacing:.14em}.offline-view h1{margin:0;font-size:30px}.offline-view p{margin:0;color:var(--sea-light);font-size:17px;line-height:1.45}.offline-view #offline-retry{width:100%;min-height:52px;margin-top:7px;background:var(--sea-dark)!important;color:var(--paper)!important}.offline-view small{margin-top:8px;padding-top:14px;border-top:1px solid var(--sea-light);color:var(--paper);line-height:1.4}@media(max-width:600px){.offline-view{margin-top:48px;padding:24px 20px}.offline-view h1{font-size:27px}}
@media(max-width:600px){.notification-button{border:1px solid var(--paper)!important;padding:0!important;place-content:center;line-height:0}.notification-button svg{display:block;margin:auto}}
.notification-button svg{fill:currentColor!important;stroke:currentColor!important}
.topbar-actions{display:flex;align-items:center;gap:10px}.checkin-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 13px!important;border:1px solid var(--sea-light)!important;border-radius:20px!important;background:transparent!important;color:var(--paper)!important;font-size:13px!important;font-weight:800!important}.checkin-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.checkin-button:hover{background:var(--sea-dark)!important}.checkin-button.is-checked-in{border-color:var(--sea-dark)!important;background:var(--sea-dark)!important}.checkin-button.is-checked-in:hover{background:var(--sea-dark)!important}@media(max-width:600px){.topbar-actions{gap:9px}.checkin-button{min-height:38px;padding:7px 12px!important;font-size:12px!important}}
.profile-card .profile-actions .delete-account-button{margin-left:auto;background:transparent!important;color:var(--sea-dark)!important;border-color:var(--sea-dark)!important}
.push-required-gate button{background:var(--sea-dark)!important;color:var(--paper)!important}
.player-device-gate{z-index:1200!important}.player-device-gate .device-install-steps{display:grid;gap:10px;margin:20px 0 0;padding-left:22px;color:var(--paper);line-height:1.4}.player-device-gate .device-install-steps b{color:var(--sea-light)}.player-device-gate #player-device-logout{background:var(--bordeaux)!important;color:var(--paper)!important}.player-device-gate #android-install-help{display:block;text-align:left}
.notification-inbox .notification-delete{display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border:0!important;border-radius:50%!important;background:var(--sea-dark)!important;color:var(--bordeaux)!important;font-family:Arial,sans-serif!important;font-size:24px!important;font-weight:600!important;line-height:1!important;cursor:pointer}.notification-inbox .notification-delete:hover{background:var(--paper)!important}.notification-inbox .notification-delete:disabled{opacity:.5}
.seat-offer-banner{display:grid;gap:13px;max-width:720px;margin:0 0 20px;padding:25px;border:1px solid var(--sea-light);border-radius:18px;background:linear-gradient(145deg,#073159,var(--navy));box-shadow:0 14px 32px #0004;color:var(--paper)}.seat-offer-banner>span{color:#83dcae;font-size:12px;font-weight:800;letter-spacing:.14em}.seat-offer-banner h2{margin:0;font-size:28px}.seat-offer-banner p{margin:0;color:var(--sea-light);font-size:17px;line-height:1.45}.seat-offer-banner p strong{color:var(--paper)}.seat-offer-banner>div{display:flex;gap:10px;margin-top:4px}.seat-offer-banner button{flex:1;min-height:52px}.seat-offer-accept{background:var(--sea-dark)!important;color:var(--paper)!important}.seat-offer-decline{background:transparent!important;border:1px solid var(--bordeaux)!important;color:var(--paper)!important}.seat-offer-state{display:block;margin-top:4px;color:var(--sea-dark);font-weight:800;font-size:12px}@media(max-width:600px){.seat-offer-banner{margin:0 0 16px;padding:21px 18px}.seat-offer-banner h2{font-size:25px}.seat-offer-banner>div{display:grid;grid-template-columns:1fr}.seat-offer-banner button{width:100%}}
.seat-offer-gate{z-index:1100!important}.seat-offer-gate strong{color:var(--paper)}.seat-offer-gate .seat-offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 12px}.seat-offer-gate .seat-offer-actions button{width:100%;min-height:52px;margin:0}.seat-offer-gate .seat-offer-accept{background:var(--sea-dark)!important;color:var(--paper)!important}.seat-offer-gate .seat-offer-decline{background:var(--bordeaux)!important;border:1px solid var(--bordeaux)!important;color:var(--paper)!important}@media(max-width:600px){.seat-offer-gate .seat-offer-actions{grid-template-columns:1fr}}
.checkin-view{display:grid;gap:14px;max-width:620px;margin:8px auto 0;color:var(--paper)}.checkin-view>p{margin:0;color:var(--sea-light);font-size:17px;line-height:1.45}.checkin-view>small{color:var(--sea-light);line-height:1.45}.checkin-camera{position:relative;display:grid;place-items:center;min-height:340px;overflow:hidden;margin-top:8px;border:1px solid var(--sea-light);border-radius:18px;background:#000}.checkin-camera video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.checkin-camera-frame{position:relative;z-index:1;width:min(68vw,280px);aspect-ratio:1;border:3px solid var(--paper);border-radius:22px;box-shadow:0 0 0 999px #001b384d}.checkin-camera-frame:before,.checkin-camera-frame:after{content:'';position:absolute;width:42px;height:42px;border-color:var(--sea-light);border-style:solid}.checkin-camera-frame:before{left:-3px;top:-3px;border-width:6px 0 0 6px;border-radius:18px 0 0}.checkin-camera-frame:after{right:-3px;bottom:-3px;border-width:0 6px 6px 0;border-radius:0 0 18px}.checkin-camera>span{position:absolute;z-index:2;bottom:18px;left:18px;right:18px;color:var(--paper);font-size:13px;font-weight:700;text-align:center;text-shadow:0 1px 4px #000}@media(max-width:600px){.checkin-view{margin-top:4px}.checkin-camera{min-height:390px}.checkin-camera-frame{width:min(70vw,290px)}}
.checkin-camera{width:min(70vw,300px);min-height:0;aspect-ratio:1;margin:8px auto 0;border:0;border-radius:22px}.checkin-camera-frame{width:100%;height:100%;box-shadow:none}.checkin-camera>span{bottom:12px;left:10px;right:10px}@media(max-width:600px){.checkin-camera{width:min(76vw,300px);min-height:0}.checkin-camera-frame{width:100%}}
.field-error{color:var(--sea-dark)!important;font-size:12px!important;font-weight:700!important;line-height:1.35}.field-error:before{content:'ⓘ';display:inline-block;margin-right:6px;font-size:14px;vertical-align:-1px}.auth-form input.input-error{border-color:var(--bordeaux)!important;box-shadow:0 0 0 2px #7f161c44!important}
.auth-form .login-submit,.auth-form #register>button{display:block;width:100%;min-height:52px;background:var(--sea-dark)!important;color:var(--paper)!important}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--sea-light);font-size:13px;font-weight:700;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:var(--sea-light);opacity:.65}.auth-divider span{display:grid;place-items:center;min-width:42px;height:28px;border:1px solid var(--sea-light);border-radius:15px}.passkey-login{display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:52px;margin:0!important;background:transparent!important;border-color:var(--sea-light)!important;color:var(--paper)!important}.passkey-login[hidden]{display:none!important}.passkey-login svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.passkey-login span{font-size:16px}
@media(min-width:761px){body:not(.floor-mode):not(.player-mode) main{max-width:none!important;margin:0!important;min-height:100vh;background:radial-gradient(circle at 100% 0,#008fa244 0,var(--navy) 56%)!important}body:not(.floor-mode):not(.player-mode) .topbar{justify-content:center!important}body:not(.floor-mode):not(.player-mode) .topbar .brand{justify-content:center}}
@media(max-width:760px){body:not(.floor-mode):not(.player-mode) .topbar{justify-content:center!important}body:not(.floor-mode):not(.player-mode) .topbar .brand{justify-content:center}}
body.player-desktop-blocked main{display:none!important}.player-device-gate{background:var(--navy)!important}
.session-expired-gate{z-index:1300!important;background:var(--navy)!important}.session-expired-gate button{background:var(--sea-dark)!important;color:var(--paper)!important}
.reservation-check{display:grid!important;place-items:center!important;padding:1px 0 0!important;line-height:1!important;text-indent:0!important}
.reservation-option{position:relative!important;grid-template-columns:26px minmax(0,1fr)!important}.reservation-option.has-rank{padding-right:88px!important}.reservation-rank{position:absolute!important;right:12px;top:50%;transform:translateY(-50%);margin:0!important}@media(max-width:600px){.reservation-option{grid-template-columns:24px minmax(0,1fr)!important}.reservation-option.has-rank{padding-right:84px!important}.reservation-rank{right:10px!important}}
.passkey-login .material-symbols-icon{font-size:24px;line-height:1}
.auth-form #register>button{display:flex!important;align-items:center;justify-content:center;gap:10px}.auth-form #register>button .material-symbols-icon{font-size:24px;line-height:1}
.profile-card .game-start-reminder-preference,.profile-card .game-visibility-preference,.profile-card .profile-actions,.profile-card .delete-account-form{margin-top:18px!important;padding-top:18px!important}
.profile-card .game-start-reminder-preference{display:grid;gap:8px;border-top:1px solid var(--sea-light);color:var(--paper)!important}.profile-card .game-start-reminder-preference>span{font-size:14px;font-weight:800}.profile-card .game-start-reminder-preference select{width:100%;max-width:310px}.profile-card .game-start-reminder-preference small{color:var(--sea-light)!important}
.profile-card .game-start-reminder-preference select,.profile-card .game-visibility-preference select{appearance:none;-webkit-appearance:none;color-scheme:dark;background-color:var(--navy)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:18px 18px!important;padding-right:38px!important;color:var(--paper)!important}.notification-inbox .notification-delete .material-symbols-icon{display:block;font-size:20px;line-height:1;font-weight:400;color:currentColor}
