html,body{margin:0;padding:0;background:#050505;color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;height:100%;overflow:hidden}*{box-sizing:border-box}.hidden{display:none!important}.screen{height:100vh}.loginScreen{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:24px}.loginCard{width:100%;max-width:460px;background:#141414;border:1px solid #333;border-radius:18px;padding:28px}.brand{font-weight:900;font-size:38px;color:#ffe000;letter-spacing:.5px}.brand.small{font-size:24px}.subbrand{font-weight:800;font-size:22px;margin-top:4px}.muted,.updated{color:#aaa}.loginCard label{display:block;margin:18px 0 7px;font-weight:700}.loginCard input,.topControls select{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #444;background:#0a0a0a;color:#fff;font-size:20px}.primary,.smallBtn{border:0;border-radius:12px;font-weight:900;cursor:pointer}.primary{width:100%;margin-top:20px;padding:16px;background:#ffe000;color:#111;font-size:22px}.error{margin-top:14px;color:#ff8b8b;min-height:20px}.topbar{height:92px;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #292929;background:#0a0a0a}.branchTitle{font-size:18px;color:#ddd;margin-top:2px}.topControls{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:8px}.topControls select{width:auto;min-width:140px;font-size:16px;padding:10px}.pill{padding:9px 12px;border-radius:999px;font-weight:900;font-size:13px}.pill.live{background:#0c4b28}.smallBtn{padding:10px 12px;background:#2d2d2d;color:#fff}.smallBtn.danger{background:#6f2020}.board{height:calc(100vh - 128px);display:-webkit-flex;display:flex;gap:10px;padding:10px}.column{min-width:0;-webkit-flex:1;flex:1;border:1px solid #292929;border-radius:16px;background:#0d0d0d;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;overflow:hidden}.columnHead{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;align-items:center;padding:14px 16px;font-size:21px;font-weight:900;border-bottom:1px solid #2b2b2b}.queuePanel .columnHead{color:#ffd800}.servicePanel .columnHead{color:#fff}.donePanel .columnHead{color:#6df0a3}.columnHead b{background:#222;border-radius:999px;padding:4px 10px;color:#fff}.cards{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px}.ticket{border:1px solid #333;border-radius:14px;padding:13px;margin-bottom:10px;background:#151515}.ticketTop{display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;gap:10px}.ticketNo{font-size:19px;font-weight:900;color:#ffd800}.plate{font-size:28px;font-weight:900;letter-spacing:.5px;margin:3px 0}.vehicle{font-size:17px;color:#ddd;line-height:1.3}.serviceText{font-size:17px;margin-top:10px;line-height:1.35}.times{font-size:14px;color:#9e9e9e;margin-top:9px;line-height:1.4}.status{height:max-content;padding:7px 10px;border-radius:999px;background:#2a2a2a;font-size:12px;font-weight:900;white-space:nowrap}.donePanel .status{background:#14512f}.empty{color:#777;text-align:center;padding:30px 8px;font-size:16px}.mobileTabs{display:none}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#7b2525;color:#fff;padding:12px 16px;border-radius:10px;font-weight:700;z-index:10}footer{height:36px;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;padding:7px 14px;color:#777;font-size:13px;border-top:1px solid #222;background:#080808}
@media (max-width:740px){.topbar{height:112px;-webkit-align-items:flex-start;align-items:flex-start}.topControls{-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-end;justify-content:flex-end}.topControls select{min-width:110px}.updated{display:none}.mobileTabs{height:52px;display:-webkit-flex;display:flex;border-bottom:1px solid #292929}.tab{-webkit-flex:1;flex:1;background:#111;color:#999;border:0;font-weight:900;font-size:16px}.tab.active{color:#ffe000;border-bottom:3px solid #ffe000}.board{height:calc(100vh - 200px);display:block}.panel{display:none;height:100%}.panel.activePanel{display:-webkit-flex;display:flex}.brand.small{font-size:20px}.smallBtn{font-size:11px;padding:8px}.pill{font-size:11px;padding:8px}.plate{font-size:30px}footer{height:36px}}
@media (orientation:landscape) and (min-width:741px){.mobileTabs{display:none}.board{display:-webkit-flex;display:flex}}

.entryOverlay{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:30;overflow:auto;padding:14px;-webkit-overflow-scrolling:touch}.entryCard{background:#171717;border:1px solid #555;border-radius:16px;max-width:820px;margin:0 auto;padding:20px}.entryHead,.entryFoot{display:flex;justify-content:space-between;align-items:center;gap:12px}.entryHead strong{font-size:22px;color:#ffe000}.entryCard label{display:block;margin:14px 0 6px;font-weight:700}.entryCard input,.entryCard select{width:100%;font-size:19px;padding:12px;background:#080808;color:white;border:1px solid #555;border-radius:9px}.entryCard input.invalid,.entryCard select.invalid{border:2px solid #ff7777}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.hint{color:#bbb;font-size:14px;margin-top:9px}.serviceChoices{max-height:235px;overflow:auto;border:1px solid #444;border-radius:10px;padding:8px}.serviceChoice{display:flex;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #333}.serviceChoice input{width:22px;height:22px}.serviceChoice span{flex:1}.entryFoot{margin-top:15px}.entryFoot .primary{width:auto;margin:0;font-size:17px}.entryFoot span{font-size:22px;font-weight:800;color:#ffe000}@media(max-width:600px){.formGrid{grid-template-columns:1fr}.entryCard{padding:12px}.entryFoot{flex-direction:column}.entryFoot .primary{width:100%}}

/* v1.2: true full-page ticket entry, compatible with iOS 9 Safari */
.entryPage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#080808;overflow-y:scroll;-webkit-overflow-scrolling:touch;padding:0 0 28px}
.entryPage .entryCard{max-width:1000px;min-height:100%;margin:0 auto;padding:18px 22px 45px;border:0;border-radius:0;background:#111}
.entryPage .entryHead{position:relative;background:#171717;border-bottom:2px solid #3c3c3c;padding:12px 4px;margin-bottom:12px}
.entryOpen{overflow:hidden}.entryPage .entryFoot{padding:18px 0;border-top:1px solid #444}.entryPage .serviceChoices{max-height:none;overflow:visible}.entryPage .serviceChoice{min-height:49px}.entryPage input,.entryPage select{font-size:18px}
.entryPage .formGrid{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0 -7px}.entryPage .formGrid>div{width:50%;padding:0 7px}
.cards{min-height:0;-webkit-flex:1;flex:1}.ticketTop{min-height:62px}.paymentBadge{display:block;text-align:center;border-radius:12px;min-width:74px;padding:8px 6px;font-size:11px;font-weight:900;letter-spacing:.2px}.paymentBadge .paymentIcon{font-size:22px;display:block;margin-bottom:3px}.paymentBadge.unpaid{background:#702027;color:#ffb4b4}.paymentBadge.partial{background:#66500b;color:#ffe184}.paymentBadge.paid{background:#0d5432;color:#a0ffc6}.paymentBadge.unknown{background:#3d3d3d;color:#dedede}.times .duration{color:#ffd800;font-weight:700}.columnHead{flex-shrink:0;-webkit-flex-shrink:0}.ticket.newTicket{border-color:#f7d74b}.board{min-height:0}footer{white-space:nowrap;overflow:hidden}#refreshCountdown{color:#bfe4ff;font-weight:700}
@media(max-width:740px){.entryPage .formGrid>div{width:100%}.entryPage .entryHead strong{font-size:17px}.entryPage .entryCard{padding:12px}.entryPage .entryFoot{display:block}.entryPage .entryFoot .primary{width:100%;margin-top:12px}footer{font-size:11px}}

/* v1.2.1 - navigation and attendance: legacy iOS 9 Safari compatible */
.mainNav{height:45px;display:-webkit-flex;display:flex;background:#151515;border-bottom:1px solid #383838;padding:3px 10px}
.navButton{-webkit-flex:1;flex:1;border:1px solid #454545;border-radius:7px;background:#222;color:#ddd;font-size:13px;font-weight:800;margin:2px;cursor:pointer}
.navButton.active{background:#ffe000;color:#111;border-color:#ffe000}
#displayPage{height:calc(100vh - 137px)}
#displayPage .board{height:calc(100% - 36px)}
#displayPage footer{height:36px}
.modulePage{height:calc(100vh - 137px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 24px;background:#0b0b0b}
.modulePage h2{margin:0 0 12px;color:#ffe000;font-size:24px}
.modulePage p{line-height:1.5;color:#ccc}
.moduleAction{max-width:400px}
.attendanceNotice{padding:14px;border:1px solid #9a7a24;background:#332b12;color:#ffe39a;border-radius:10px;margin:14px 0}
.attendanceSettings{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;align-items:center;gap:10px;margin:15px 0}
.attendanceSettings input{padding:9px;background:#171717;border:1px solid #666;border-radius:6px;color:#fff;font-size:17px}
.attendanceRows{margin-top:16px}
.attendanceRow{border:1px solid #353535;background:#181818;border-radius:10px;margin:9px 0;padding:14px}
.attendanceRow strong{color:#ffe000}
.attendanceRow .hint{margin-top:5px}
@media(max-width:740px){#displayPage{height:calc(100vh - 157px)}#displayPage .board{height:calc(100% - 88px)}.modulePage{height:calc(100vh - 157px)}.navButton{font-size:10px}.mainNav{padding:3px}.modulePage{padding:12px}.attendanceSettings{display:block}.attendanceSettings label{display:block;margin-top:12px}}
