@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,Arial,sans-serif;color:#142018;background:#edf1eb;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}.app-shell{min-height:100vh;padding-bottom:78px}.app-header{height:68px;background:#0d1812;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100vw - 920px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:2px solid #c8f04a;color:#c8f04a;font:800 15px Barlow Condensed;transform:skew(-6deg);flex:none}.brand strong{display:block;font:800 18px Barlow Condensed;text-transform:uppercase}.brand span{display:block;font-size:7px;letter-spacing:2px;color:#b8c3b9}.account{display:flex;align-items:center;gap:12px}.account>span{font-size:11px}.account button{border:1px solid #66736b;background:transparent;color:#fff;min-height:38px;padding:0 12px}.content{width:min(920px,calc(100% - 28px));margin:auto}.page{padding:34px 0}.page-title p,.detail-head p{font-size:9px;font-weight:800;color:#32714f;letter-spacing:1.5px;margin:0}.page-title h1{font:800 42px/1 Barlow Condensed;text-transform:uppercase;margin:7px 0}.page-title>span{font-size:12px;color:#687269}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.summary-grid div{background:#fff;border:1px solid #d5dbd1;padding:16px}.summary-grid span{display:block;font-size:9px;text-transform:uppercase;color:#66736b}.summary-grid strong{display:block;font:800 34px Barlow Condensed;margin-top:5px}.primary-button,.secondary-button,.search-form button,.manual-form button,.staff-login button{display:grid;place-items:center;text-decoration:none;min-height:48px;border:1px solid #174c35;padding:0 18px;font-weight:700}.primary-button,.search-form button,.manual-form button,.staff-login button{background:#c8f04a;color:#102016;border-color:#c8f04a}.secondary-button{background:#fff;color:#174c35}.quick-scan{width:100%;margin-bottom:28px}.operation-section{margin-top:28px}.operation-section h2{font:800 24px Barlow Condensed;text-transform:uppercase;margin:0 0 10px}.card-list{display:grid;gap:10px}.booking-card{width:100%;min-width:0;background:#fff;border:1px solid #d5dbd1;border-left:4px solid #174c35;padding:15px;color:#142018}.booking-card:hover{border-color:#73917e}.booking-card-main{width:100%;min-width:0;border:0;background:transparent;padding:0;text-align:left;display:grid;grid-template-columns:1fr auto;gap:5px 12px;color:inherit}.booking-time{font:700 18px Barlow Condensed}.booking-card-main strong,.booking-card-main>span,.booking-card-main small{min-width:0;overflow-wrap:anywhere}.booking-card-main strong{grid-column:1;font-size:13px}.booking-card-main>span:not(.booking-time):not(.status){grid-column:1;font-size:11px;color:#566159}.booking-card-main small{grid-column:1/-1;color:#718077;font-size:9px}.booking-checkin{width:100%;min-height:42px;margin-top:12px;border:1px solid #174c35;background:#c8f04a;color:#102016;font-weight:700}.booking-checkin:disabled{cursor:not-allowed;background:#eef1eb;color:#66736b;border-color:#cbd2c8}.checkin-notice{margin:18px 0;background:#e2f4dc;border:1px solid #8eb687;color:#235d2b;padding:12px;font-size:11px;font-weight:700}.status{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:99px;padding:5px 8px;background:#e8eee8;color:#335340;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.status-live{background:#dff4d8;color:#24622c}.status-cancelled,.status-missed{background:#f7dfdc;color:#8b3029}.status-pending-payment{background:#fff0ca;color:#765510}.status-completed{background:#e4e8e4;color:#59635c}.empty-card,.empty-state{background:#f7f9f6;border:1px dashed #cbd2c8;padding:22px;text-align:center;color:#687269;font-size:11px}.error-state{display:grid;gap:10px;background:#fff2f0;border:1px solid #e6b8b2;color:#8b3029;padding:16px;margin:14px 0;font-size:11px}.error-state .secondary-button{width:max-content}.search-form{margin:24px 0}.search-form label,.manual-form label,.camera-select{display:block;font-size:9px;font-weight:800;text-transform:uppercase;margin-bottom:7px}.search-form>div{display:grid;grid-template-columns:1fr auto}.search-form input,.manual-form input,.camera-select select{width:100%;min-width:0;min-height:48px;border:1px solid #cbd2c8;padding:0 12px;background:#fff}.search-form button{min-width:100px}.search-results{margin-top:16px}.modal-backdrop{position:fixed;inset:0;background:#07110bd1;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:16px}.booking-detail{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-top:4px solid #c8f04a;padding:22px}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.detail-head h2{font:800 30px Barlow Condensed;margin:5px 0 14px;overflow-wrap:anywhere}.icon-button{width:44px;height:44px;border:1px solid #d5dbd1;background:#fff;font-size:28px}.booking-detail dl{margin:18px 0;border-top:1px solid #e1e5df}.booking-detail dl div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #edf0eb}.booking-detail dt{font-size:9px;text-transform:uppercase;color:#758078}.booking-detail dd{font-size:11px;font-weight:700;margin:0;text-align:right;overflow-wrap:anywhere}.contact-actions,.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detail-confirm{width:100%;margin-top:12px}.scanner-panel{background:#fff;border:1px solid #d5dbd1;padding:18px;margin-top:24px}.camera{height:min(70vw,380px);background:#101b14;position:relative;overflow:hidden;display:grid;place-items:center;color:#89968d}.camera video{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0}.camera.active video{opacity:1}.camera>span{position:absolute;bottom:16px;background:#0a120dc7;color:#fff;padding:7px 10px;font-size:9px}.scan-frame{width:min(48vw,190px);height:min(48vw,190px);border:2px solid #c8f04a;position:relative;z-index:1}.camera-select{margin-top:12px}.camera-select select{display:block;margin-top:7px}.split-actions{margin-top:12px}.manual-form{border-top:1px solid #e0e4de;margin-top:18px;padding-top:18px;display:grid;grid-template-columns:1fr auto;align-items:end}.manual-form label{grid-column:1/-1}.manual-form button{min-width:120px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;background:#0d1812;display:grid;grid-template-columns:repeat(4,1fr);height:66px;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;border-top:3px solid transparent;background:transparent;color:#aeb9b0;font-size:10px;font-weight:700}.bottom-nav button.active{border-top-color:#c8f04a;color:#c8f04a}.staff-login{min-height:100vh;background:#101b14;display:grid;place-items:center;padding:20px}.staff-login form{width:min(400px,100%);background:#fff;border-top:4px solid #c8f04a;padding:30px;display:grid;gap:9px}.staff-login p{font-size:8px;color:#32714f;letter-spacing:1.5px}.staff-login h1{font:800 38px Barlow Condensed;text-transform:uppercase;margin:0 0 14px}.staff-login label{font-size:9px;font-weight:700;text-transform:uppercase;margin-top:8px}.staff-login input{min-width:0;border:1px solid #cbd2c8;padding:12px}.login-error{background:#fff2f0;color:#a33c32;padding:10px;font-size:10px}.session-check{min-height:100vh;display:grid;place-items:center}@media(min-width:700px){.modal-backdrop{align-items:center}.page{padding:46px 0}.card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.scanner-panel{padding:24px}.camera{height:390px}}@media(max-width:520px){.account>span{display:none}.page-title h1{font-size:38px}.summary-grid{gap:6px}.summary-grid div{padding:12px 9px}.summary-grid span{font-size:8px}.summary-grid strong{font-size:29px}.booking-detail{padding:18px}.manual-form{grid-template-columns:1fr}.manual-form button,.search-form button{margin-top:8px}.search-form>div{grid-template-columns:1fr}.split-actions{grid-template-columns:1fr}}@media(max-width:350px){.content{width:calc(100% - 20px)}.brand strong{font-size:16px}.brand span{letter-spacing:1.3px}.account button{padding:0 8px}.scanner-panel,.booking-card{padding:12px}.staff-login form{padding:22px}}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:28px}.bottom-nav{grid-template-columns:repeat(5,1fr)}.manual-booking-form{display:grid;gap:16px;margin-top:24px}.manual-booking-form>section{background:#fff;border:1px solid #d5dbd1;padding:18px}.manual-booking-form h2{font:800 23px Barlow Condensed;text-transform:uppercase;margin:0 0 16px}.manual-booking-form label{display:block;font-size:9px;font-weight:800;text-transform:uppercase;margin:13px 0 7px}.manual-booking-form select,.manual-booking-form input{width:100%;min-width:0;min-height:48px;border:1px solid #cbd2c8;background:#fff;padding:0 12px}.readonly-date{min-height:48px;display:flex;align-items:center;background:#f3f6f1;border:1px solid #d5dbd1;padding:0 12px;font-size:11px}.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.slot{min-width:0;min-height:86px;background:#fff;border:1px solid #bfc9c0;padding:11px;text-align:left;display:grid;gap:4px;color:#142018}.slot.selected{border:2px solid #174c35;background:#f1f8da}.slot strong,.slot span,.slot b{overflow-wrap:anywhere}.slot strong{font:700 15px Barlow Condensed}.slot span{font-size:9px;color:#657168}.slot b{font-size:13px}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-methods label{min-height:48px;margin:0;border:1px solid #cbd2c8;display:flex;align-items:center;gap:8px;padding:0 12px}.payment-methods input{width:auto;min-height:0}.authoritative-total{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:16px;border-top:1px solid #e0e4de;padding-top:16px}.authoritative-total span{font-size:10px;color:#647068}.authoritative-total strong{font:800 28px Barlow Condensed}.submit-booking{width:100%}.manual-success{max-width:620px;margin:auto}.success-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#174c35;color:#c8f04a;font-size:28px;margin-bottom:15px}.manual-success dl{background:#fff;border:1px solid #d5dbd1;padding:5px 18px}.manual-success dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf0eb}.manual-success dl div:last-child{border:0}.manual-success dt{font-size:9px;text-transform:uppercase;color:#758078}.manual-success dd{font-size:11px;font-weight:700;margin:0;text-align:right}.success-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.success-qr{background:#fff;border:1px solid #d5dbd1;padding:18px;margin-top:16px;display:grid;place-items:center;gap:10px}.success-qr span{font-size:10px;color:#647068}@media(max-width:520px){.home-actions,.success-actions,.slot-grid{grid-template-columns:1fr}.bottom-nav button{font-size:9px;padding:0 2px}}
