*{box-sizing:border-box}body{margin:0;background:#f5f6f2;color:#17382e;font:16px system-ui}header,main,footer{max-width:1120px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;font-size:22px}button,a.action{cursor:pointer;border:0;border-radius:12px;background:#17382e;color:white;padding:12px 18px;font:inherit;text-decoration:none;display:inline-block}button.secondary{background:#e6ece7;color:#17382e}button:disabled{opacity:.4;cursor:default}.notice{background:#fff0d5;padding:12px 24px;color:#6d501b;text-align:center;font-size:14px}.hero{background:#17382e;color:#fff;border-radius:26px;padding:38px;display:grid;grid-template-columns:1.6fr 1fr;gap:30px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#a8cdbd}h1{font-size:clamp(34px,6vw,58px);line-height:1.06;margin:16px 0}h2{font-size:25px;margin:0 0 12px}p{line-height:1.6}.phone{margin:auto;width:125px;height:212px;border:7px solid #a8cdbd;border-radius:25px;background:linear-gradient(135deg,#31534b,#95caaa);box-shadow:24px 20px 0 #ffffff0c;display:grid;place-items:center;font-size:48px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.card{border:1px solid #dce3da;background:white;border-radius:18px;padding:22px}.metric{font-size:34px;font-weight:800;display:block}.muted{color:#63776d;font-size:14px}.progress{height:12px;background:#e3e9e2;border-radius:8px;margin:20px 0 12px;overflow:hidden}.progress div{height:100%;background:#2e9165;transition:width .3s}.section{margin-top:28px}.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}input,select{border:1px solid #ced9ce;border-radius:10px;padding:12px;background:white;font:inherit;max-width:100%;color:#17382e}label{display:grid;gap:6px;font-size:14px}.numbers{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin:20px 0}.number{background:#f3f6f1;border:1px solid #e0e7dc;color:#63776d;padding:12px 0}.number.paid{background:#17382e;color:white}.number.reserved{background:#ffedc4;color:#745d27}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}table{border-collapse:collapse;width:100%;margin-top:18px}td,th{text-align:left;padding:14px 8px;border-bottom:1px solid #edf0e8}th{font-size:12px;color:#63776d}textarea{width:100%;min-height:145px;resize:vertical;border:1px solid #dce3da;border-radius:12px;padding:14px;font:14px system-ui;color:#17382e}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hidden{display:none}.badge{display:inline-block;background:#dff2e5;color:#215d3b;padding:6px 10px;border-radius:30px;font-size:13px}.empty{padding:28px;text-align:center;color:#63776d}footer{font-size:13px;color:#63776d}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#17382e;color:white;padding:14px 22px;border-radius:14px;max-width:90%;z-index:5}@media(max-width:650px){header,main,footer{padding:16px}.hero{padding:26px;grid-template-columns:1fr}.phone{display:none}.stats{grid-template-columns:1fr 1fr}.columns,.form{grid-template-columns:1fr}.numbers{grid-template-columns:repeat(5,1fr)}td,th{font-size:13px}}

/* Mobile layout shared by customer and organizer views. */
html{width:100%;-webkit-text-size-adjust:100%}body{overflow-wrap:anywhere}header{gap:16px;flex-wrap:wrap}header>div:last-child:not(.brand){display:flex;flex-wrap:wrap;gap:8px}main,.card,.form,.columns,.hero,.tools,label{min-width:0}button,a.action,input,select{min-height:44px}button,a.action{white-space:normal;text-align:center;touch-action:manipulation}input:not([type=checkbox]),select,textarea{width:100%;min-width:0;font-size:16px}input[type=checkbox]{min-height:24px;width:24px;height:24px;flex-shrink:0;margin:0}canvas,video{max-width:100%}#organizerEntry{width:calc(100% - 32px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #438e67;outline-offset:3px}
@media(max-width:650px){header{align-items:flex-start}.brand{font-size:21px}header>div:last-child:not(.brand){width:100%}header>div:last-child:not(.brand)>*{flex:1 1 130px}header>a.action{width:100%}.card{padding:18px}.hero{padding:24px}.stats{gap:10px}.metric{font-size:30px}.tools{align-items:stretch}.tools>h2,.tools>input{width:100%}.tools>button,.tools>a.action{flex:1 1 140px}.tools>strong{margin-bottom:4px}.form{gap:16px}.form>button{width:100%}.form>.notice{padding:14px}.notice{padding:12px 16px}h2{font-size:23px}.section{margin-top:20px}th,td{padding:12px 6px}th:first-child,td:first-child{width:52px}td:nth-child(2){overflow-wrap:anywhere}#organizerEntry{margin:18px auto!important}#organizerEntry h1{font-size:28px!important}#enterOrganizer{width:100%}#videoCanvas{max-width:220px!important}#videoReady a{width:100%}#message{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:440px;font-size:14px}footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}
@media(max-width:360px){header,main,footer{padding:12px}.card{padding:14px}.hero{padding:20px}.numbers{gap:6px}.number{font-size:14px}.stats .card{padding:12px}.metric{font-size:28px}.legend{gap:10px}td,th{font-size:12px}.tools>button,.tools>a.action{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.login-wrap{max-width:640px}.login-wrap h1{font-size:32px}.full{grid-column:1/-1}.table-scroll{overflow:auto}.actions{display:flex;gap:8px;flex-wrap:wrap}.stack{display:grid;gap:16px}.callout{margin:18px 0;padding:18px;border-radius:12px;background:#fff0d5}.result{margin-top:22px}.login-wrap .form{grid-template-columns:1fr}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.success{background:#e3f4e9}.header-links{display:flex;gap:8px;flex-wrap:wrap}.public-footer{margin-top:28px}.long-text{white-space:pre-wrap}.offer-card{margin:14px 0;border:1px solid #dce3da;border-radius:12px;padding:16px}.refresh-info{font-size:13px;color:#63776d}.number.selected{outline:3px solid #448b68;outline-offset:1px}#videoCanvas{width:100%;max-width:260px;display:block;margin:18px auto;border-radius:18px}#videoPlayer{width:100%;max-height:400px;border-radius:12px}@media(max-width:650px){.actions button{flex:1 1 140px}.header-links{width:100%}.header-links>*{flex:1}.login-wrap{padding:16px}.card>.card{padding:14px}.long-text{overflow-wrap:anywhere}}
