:root{font-family:system-ui,sans-serif;color:#102e40;background:#eef5f7;color-scheme:light}
*{box-sizing:border-box}body{margin:0}
header{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,5vw,4rem);color:#fff;background:#082535}
header span{display:block;color:#d1e3e9;font-size:.92rem;margin-top:.2rem}
main{max-width:56rem;margin:auto;padding:clamp(1rem,4vw,2.6rem)}
section{background:#fff;border:1px solid #d7e6ea;border-radius:1rem;padding:clamp(1rem,4vw,2rem)}
h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin:.25rem 0}h2{margin-top:0}
p{line-height:1.5}.eyebrow{font-weight:750;font-size:.83rem;letter-spacing:.13em;color:#075989;margin:0}
.fields,.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:.7rem 1rem}
label{display:grid;gap:.25rem;font-weight:600;font-size:1rem}input,select,button{font:inherit}
input:not([type="checkbox"]),select{padding:.6rem .7rem;width:100%;min-height:2.8rem;border:1px solid #7995a1;border-radius:.5rem;background:#fff;color:#102e40}
.check{display:flex;align-items:flex-start;gap:.55rem;margin:1rem 0}.check input{margin:.2rem 0 0;accent-color:#075989;width:1.15rem;height:1.15rem;flex:none}
button{min-height:2.7rem;padding:.55rem .9rem;border:1px solid #7995a1;border-radius:.55rem;background:#f2f8fa;color:#102e40;cursor:pointer;font-weight:750}
button:disabled{cursor:default;opacity:.55}.primary{background:#a91d28;color:#fff;border-color:#a91d28;min-width:min(12rem,100%)}
#inventory{background:#eaf5f7;border-radius:.5rem;padding:.55rem .7rem;color:#123f53}
#book-status,#staff-status{color:#8a1d25;font-weight:600}
.test-banner{padding:.45rem 1rem;background:#ffe7a5;color:#563a00;text-align:center;font-weight:750}
.receipt-link{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem;margin:1rem 0 1.4rem}
.receipt-link h2{margin:0}.receipt-link>div:last-child{flex:1 1 12rem}.receipt-link a{color:#075989;font-weight:750}
#qr{width:12rem}#qr svg{width:100%;height:auto}
dialog{width:min(48rem,calc(100% - 1rem));max-height:90dvh;overflow:auto;border:1px solid #7995a1;border-radius:1rem;padding:1rem 1.25rem;color:#102e40}
dialog::backdrop{background:#082535b8}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
dialog form>button,fieldset{margin-top:.8rem}fieldset{border:1px solid #ccdce1;border-radius:.55rem}legend{font-weight:750}
fieldset .check{margin:.3rem 0}.option-row{padding:.4rem 0;border-bottom:1px solid #d7e6ea}.option-row:last-child{border-bottom:0}
[hidden]{display:none!important}

.staff-tabs,.slide-actions,.slide-row-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.staff-tabs{margin:0 0 1rem}.staff-tabs [aria-pressed="true"]{background:#075989;color:#fff;border-color:#075989}
#staff-slides-list{padding:0;list-style:none;display:grid;gap:.55rem}
.slide-row{position:relative;display:grid;grid-template-columns:2.35rem 5rem minmax(7rem,1fr) 6rem auto;gap:.6rem;align-items:center;padding:.6rem;border:1px solid #d7e6ea;border-radius:.55rem}
.slide-row img{width:5rem;aspect-ratio:16/9;object-fit:contain;background:#082535;border-radius:.2rem}
.slide-row strong{overflow-wrap:anywhere}.slide-row label,.slide-hint{font-size:.82rem}.slide-row button{min-width:2.7rem;padding:.4rem .55rem}
#slide-upload{border-top:1px solid #d7e6ea;margin-top:1.1rem;padding-top:.8rem}
#slide-preview{margin-top:1rem;background:#082535;padding:.6rem;border-radius:.55rem}#slide-preview img{display:block;width:100%;max-height:50dvh;object-fit:contain}#slide-preview button{margin-top:.4rem}
#idle-slideshow{position:fixed;inset:0;z-index:2;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.8rem;align-items:center;justify-items:center;padding:1rem;border:0;border-radius:0;background:#082535}
#idle-slide{width:100%;height:100%;object-fit:contain}#start-booking{width:min(30rem,100%);font-size:clamp(1rem,3vw,1.65rem);min-height:3rem}
@media(max-width:620px){.slide-row{grid-template-columns:2.35rem 4rem minmax(0,1fr) 5rem}.slide-row img{width:4rem}.slide-row-actions{grid-column:2/-1}}
.reload-slides{margin-top:.7rem}

.slide-grip{display:grid;place-items:center;min-height:2.75rem;cursor:grab;touch-action:none;user-select:none;border-radius:.35rem}
.slide-grip[title]:hover,.slide-dragging .slide-grip{background:#eaf5f7}
.slide-grip::before{content:"";width:14px;height:21px;background:radial-gradient(circle,#527080 1.5px,transparent 2px) 0 0/7px 7px}
.slide-grip:not([title]){opacity:.35;cursor:default}
.slide-dragging{opacity:.55}.slide-dragging .slide-grip{cursor:grabbing}
.slide-drop-before::after,.slide-drop-after::after{content:"";position:absolute;inset-inline:0;height:3px;border-radius:2px;background:#075989;pointer-events:none}
.slide-drop-before::after{top:-6px}.slide-drop-after::after{bottom:-6px}
.kiosk-header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}
#idle-guide{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:1;background:#f2f8fa;color:#102e40}
#hireGuide #guides{padding:0;border:0;border-radius:0;background:transparent}
#staff-events-fields fieldset{margin-bottom:.8rem}
.activity-options{padding:.5rem 0 .75rem}
.activity-options .fields{margin-top:.75rem}
.activity-options .fields label{font-size:.85rem}
.add-departure{display:flex;gap:.6rem;align-items:center;margin-top:.6rem}
.add-departure input{max-width:10rem}
#timing-details{padding:.65rem .8rem;background:#eef6f9;border-radius:.5rem}
#timing-details:empty{display:none}
