/* KeDOS R6.24 public transaction shell: deliberately independent of internal kedos.css */
:root{--kl-green:#173f31;--kl-green-2:#245844;--kl-ink:#1d2924;--kl-ivory:#f7f3ea;--kl-sand:#eee5d6;--kl-copper:#b86432;--kl-gold:#b9914b;--kl-white:#fff;--kl-line:#d9e2dc;--kl-muted:#66736d}
.public-experience-body{margin:0;background:#f8f6f1;color:var(--kl-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.public-experience-main{min-height:60vh}.public-experience-body *{box-sizing:border-box}.public-experience-body .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.72rem 1rem;border-radius:12px;border:1px solid var(--kl-line);background:#fff;color:var(--kl-green);font-weight:800;text-decoration:none;cursor:pointer}.public-experience-body .btn.primary{background:var(--kl-green);border-color:var(--kl-green);color:#fff}.public-experience-body .btn.ghost{background:transparent}.public-experience-body .btn.disabled{opacity:.55;pointer-events:none}.public-experience-body input,.public-experience-body select,.public-experience-body textarea{width:100%;padding:.78rem .85rem;border:1px solid #cad7d0;border-radius:12px;background:#fff;color:var(--kl-ink);font:inherit}.public-experience-body label{display:grid;gap:.4rem;font-weight:700}.public-experience-body textarea{min-height:96px;resize:vertical}.public-experience-body .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-experience-body .span-2{grid-column:1/-1}.flash{max-width:1200px;margin:1rem auto;padding:1rem 1.1rem;border-radius:14px}.flash.success{background:#e6f4ea;color:#173f31}.flash.danger{background:#fff0ed;color:#8b3025}.public-context-bar{padding:.6rem 1rem;text-align:center;background:#eef4f0;color:#355246}.transaction-progress{display:grid;grid-template-columns:repeat(var(--steps),minmax(0,1fr));gap:8px;margin:18px 0}.transaction-progress span{display:grid;gap:4px;padding:10px;border-radius:12px;background:#edf2ef;color:#65716b}.transaction-progress span.current{background:#173f31;color:#fff}.transaction-progress span.done{background:#dbece2;color:#173f31}.transaction-progress b{font-size:.8rem}.transaction-progress small{font-size:.72rem}.human-check-v24{grid-column:1/-1;border:1px solid #cfdcd5;background:#f4f8f5;border-radius:14px;padding:12px 14px;display:grid;gap:10px}.human-check-v24 label{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;font-weight:700}.human-check-v24 input[type=checkbox]{width:20px;height:20px;margin-top:1px}.human-check-v24 small{color:#67756f}.public-shell-card{background:#fff;border:1px solid var(--kl-line);border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(23,63,49,.07)}
@media(max-width:760px){.public-experience-body .form-grid{grid-template-columns:1fr}.public-experience-body .span-2{grid-column:auto}.transaction-progress{overflow-x:auto;grid-auto-flow:column;grid-auto-columns:minmax(105px,1fr);grid-template-columns:none}.public-shell-card{padding:18px;border-radius:18px}}

.public-experience-body .card,.public-experience-body .callout{padding:16px;border:1px solid var(--kl-line);border-radius:16px;background:#f8faf8}.public-experience-body .muted{color:var(--kl-muted)}.public-experience-body .check-label{display:flex;align-items:flex-start;gap:10px}.public-experience-body .check-label input[type=checkbox]{width:20px;height:20px;flex:0 0 auto}.public-experience-body .inline-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Public workflow components formerly supplied by internal kedos.css */
.transaction-hero,.transaction-hero-v22,.public-events-hero{max-width:1200px;margin:26px auto 0;padding:28px;border-radius:24px;background:linear-gradient(135deg,#173f31,#285d48);color:#fff}.transaction-hero h1,.transaction-hero-v22 h1,.public-events-hero h1{margin:.15em 0;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1}.transaction-hero p,.transaction-hero-v22 p,.public-events-hero p{color:rgba(255,255,255,.78);max-width:760px}.transaction-stage-v22,.registration-layout-v22,.join-grid-v22,.stay-availability-grid{width:min(1180px,calc(100% - 32px));margin:24px auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:22px;align-items:start}.registration-story-v22,.registration-form-card-v22,.stay-payment-card,.stay-identity-form,.stay-identity-customer,.identity-result-card,.connected-stay-option,.booking-summary-row,.customer-fixed-resort,.privacy-callout,.policy-context-check,.stay-empty{background:#fff;border:1px solid var(--kl-line);border-radius:20px;padding:20px;box-shadow:0 12px 30px rgba(23,63,49,.06)}.registration-intro-v22 h1,.registration-story-v22 h1{font-size:clamp(2rem,4vw,3.5rem);margin:.15em 0}.registration-benefits-v22{display:grid;gap:9px;margin:20px 0}.registration-benefits-v22>*{padding:10px 12px;border-radius:12px;background:#edf4ef;color:#173f31}.registration-login-link-v22{display:inline-flex;margin-top:10px;font-weight:800;color:#173f31}.status-strip{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:#edf4ef;color:#173f31;font-size:.76rem;font-weight:850}.pill.success{background:#e3f2e8}.pill.warning{background:#fff2d5;color:#6b4c13}.pill.danger{background:#fde7e2;color:#8b3025}.phone-entry{display:grid;grid-template-columns:auto 1fr;border:1px solid #cad7d0;border-radius:12px;overflow:hidden}.phone-entry span{padding:.78rem;background:#edf4ef;color:#173f31;font-weight:850}.phone-entry input{border:0!important;border-radius:0!important}.robot-check{grid-column:1/-1}.stay-search-form,.stay-payment-form{display:grid;gap:14px}.stay-confirmed{padding:16px;border-radius:14px;background:#e4f3e9;color:#173f31}.stay-terms-check{display:flex;gap:10px;align-items:flex-start}.stay-terms-check input{width:20px!important;height:20px!important;flex:0 0 auto}.booking-summary-row{display:flex;justify-content:space-between;gap:14px;box-shadow:none;border-radius:12px;padding:12px 14px}.stay-section{width:min(1180px,calc(100% - 32px));margin:24px auto}.stay-availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:780px){.transaction-stage-v22,.registration-layout-v22,.join-grid-v22,.stay-availability-grid{grid-template-columns:1fr;width:min(100% - 22px,1180px)}.transaction-hero,.transaction-hero-v22,.public-events-hero{margin:14px 11px 0;padding:22px}.booking-summary-row{align-items:flex-start;flex-direction:column}}
