/* Kiosk remains photo-based. Admin values are scoped in admin.css. */
.kiosk *{box-sizing:border-box}
body.kiosk{margin:0;min-height:100vh;font-family:Arial,sans-serif;background-color:#bed5df;background-image:linear-gradient(#ffffff10,#ffffff10),url('/static/background.jpg');background-size:cover;background-position:center;color:#172019}
.kiosk :is(button,a,input,select,textarea):focus-visible{outline:3px solid #173c29;outline-offset:3px}
.kiosk button{touch-action:manipulation}
.kiosk .topbar{min-height:64px;padding:12px 20px;font-size:clamp(24px,3.5vw,48px);gap:18px;line-height:1.15}
.kiosk .main{display:grid;grid-template-columns:minmax(0,1fr) 180px;width:calc(100% - 48px);max-width:1280px;margin:6px auto 0;gap:16px;padding-bottom:18px}
.kiosk .main-buttons,.kiosk .side-buttons{gap:12px;display:grid;grid-template-rows:repeat(4,1fr)}
.kiosk .bigbutton{width:100%;min-width:0;max-width:none;height:clamp(90px,calc((100dvh - 146px)/4),170px);font-size:clamp(38px,5vw,68px);border-radius:18px;box-shadow:0 4px 14px #173c2915}
.kiosk .admin,.kiosk .pin{width:100%;min-width:0;height:100%;min-height:64px;font-size:25px;border-radius:14px;padding:10px;background:#287aaa}
.kiosk .sub-topbar{grid-template-columns:120px minmax(0,1fr) 120px;min-height:64px;padding:10px 16px;gap:10px}
.kiosk .topbar-center{font-size:clamp(23px,3vw,36px);gap:14px;flex-wrap:wrap;line-height:1.2}
.kiosk .topbar-spacer{width:auto}.kiosk .back-arrow{width:110px;height:48px;font-size:18px;border-radius:12px;background:#287aaa}
.kiosk .input-page{width:calc(100% - 24px);margin:4px auto 0;padding:0 0 14px}
.kiosk .input-title{font-size:clamp(22px,2.8vw,32px);line-height:1.2;margin:4px 0 12px;max-width:90vw}
.kiosk .display-box{width:min(420px,90vw);min-width:0;min-height:56px;height:64px;font-size:36px;margin-bottom:12px;border-radius:14px;border:1px solid #ffffff80;background:#fffffff0}
.kiosk .keypad{width:min(480px,94vw);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kiosk .key{min-height:60px;height:70px;font-size:30px;border-radius:14px;background:#fffffff0;box-shadow:0 2px 7px #173c2910}
.kiosk .key-action{background:#287aaa;color:white;font-size:25px}
.kiosk .bottom-actions{margin-top:12px}.kiosk .back-button{height:48px;min-height:48px;width:150px;min-width:0;font-size:19px;border-radius:12px}
.kiosk .workplace-buttons{width:min(94vw,1000px);gap:14px}.kiosk .workplace-button{min-height:90px;height:110px;font-size:28px;padding:12px;border-radius:15px}
.kiosk .error-box{font-size:20px;padding:12px;margin-bottom:10px}
.kiosk .edit-box,.kiosk .hours-box{width:calc(100% - 28px);margin:16px auto;padding:20px;background:#fffffff2;color:#172019;border-radius:16px}
.kiosk .edit-box{max-width:700px}.kiosk .edit-box h1,.kiosk .hours-box h1{font-size:28px;margin:4px 0 14px}
.kiosk .edit-input{max-width:100%;min-height:54px;font-size:24px;padding:12px;border:1px solid #cbd3cb;border-radius:12px;box-sizing:border-box}
.kiosk .edit-grid{gap:10px}.kiosk .edit-grid button,.kiosk .edit-button{min-height:58px;font-size:24px;border-radius:12px;border:1px solid #cbd3cb;padding:8px}
.kiosk .edit-button{background:#287aaa;color:white}.kiosk .hours-box{max-width:1050px}.kiosk .hours-table a{display:inline-block;min-height:44px;padding:10px 0;color:#215b3a;font-weight:700}
@media(min-width:761px) and (max-height:650px){.kiosk .edit-box{margin:6px auto;padding:14px 20px}.kiosk .edit-box h1{font-size:24px;margin:0 0 8px}.kiosk .edit-input{margin:6px 0;min-height:50px;padding:8px}.kiosk .edit-grid{margin-top:8px;gap:8px}.kiosk .edit-grid button,.kiosk .edit-button{min-height:54px;font-size:22px}.kiosk .edit-button{margin-top:8px}}
@media(max-width:760px){.kiosk .hours-table{display:block}.kiosk .hours-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.kiosk .hours-table tbody{display:grid;gap:12px}.kiosk .hours-table tr{display:block;border:1px solid #dfe4de;border-radius:12px;padding:8px 12px}.kiosk .hours-table td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:8px 0;overflow-wrap:anywhere;font-size:16px}.kiosk .hours-table td::before{content:attr(data-label);font-weight:600;color:#667067;font-size:13px;align-self:center}.kiosk .hours-table td:last-child{border:0}}
@media(min-width:761px) and (max-height:650px){
 .kiosk .topbar{min-height:54px;padding:8px 16px;font-size:32px}.kiosk .main{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr) 160px;gap:12px}.kiosk .bigbutton{height:calc((100dvh - 116px)/4);min-height:70px;font-size:46px}.kiosk .main-buttons,.kiosk .side-buttons{gap:10px}.kiosk .admin,.kiosk .pin{font-size:22px}
 .kiosk .sub-topbar{min-height:56px;padding:6px 12px}.kiosk .topbar-center{font-size:27px}.kiosk .input-title{font-size:25px;margin:2px 0 10px}.kiosk .display-box{height:56px;min-height:56px;margin-bottom:10px}.kiosk .key{height:62px;min-height:62px;font-size:28px}.kiosk .key-action{font-size:23px}.kiosk .keypad{gap:9px}.kiosk .bottom-actions{margin-top:10px}
}
@media(max-width:760px){
 .kiosk .topbar{font-size:22px;gap:10px;flex-wrap:wrap}.kiosk .main{width:calc(100% - 24px);grid-template-columns:1fr;gap:12px}.kiosk .main-buttons{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.kiosk .bigbutton{height:110px;font-size:34px}.kiosk .side-buttons{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.kiosk .admin,.kiosk .pin{height:64px;font-size:20px}
 .kiosk .sub-topbar{grid-template-columns:80px minmax(0,1fr);padding:10px 12px;gap:8px}.kiosk .topbar-spacer{display:none}.kiosk .back-arrow{width:80px;font-size:16px}.kiosk .topbar-center{font-size:20px;gap:4px 8px}.kiosk .input-title{font-size:22px}.kiosk .key{height:64px;font-size:27px}.kiosk .key-action{font-size:21px}.kiosk .workplace-buttons{grid-template-columns:1fr}.kiosk .workplace-button{height:auto;min-height:76px;font-size:23px}
 .kiosk .form-box{width:100%;padding:20px}.kiosk .form-title{font-size:28px}.kiosk .form-group label{font-size:20px}.kiosk .form-group input,.kiosk .form-group select{font-size:20px;width:100%}.kiosk .form-actions{gap:10px}.kiosk .admin-action-button{min-width:0;min-height:50px;height:auto;font-size:20px;padding:12px}
}
@media(prefers-reduced-motion:reduce){.kiosk *{animation:none!important;transition:none!important}}
