/* Formular-, Konto- und Mitarbeiteransichten */
[hidden]{display:none!important}
.flow-page,.portal-page{min-height:100vh;display:flex;flex-direction:column;background:#fafaf8}
.flow-header{position:sticky;top:0;z-index:20;background:rgba(250,250,248,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e6e6e1}
.flow-header__inner{width:min(100%,1100px);margin:auto;padding:10px clamp(16px,3vw,32px);display:flex;align-items:center;gap:14px}
.flow-header__inner img{width:52px;height:52px;object-fit:contain}
.flow-back{width:44px;height:44px;border-radius:50%;border:1px solid #d6d7d2;display:grid;place-items:center;flex-shrink:0;font-size:18px}
.flow-back:hover,.flow-account:hover{border-color:#16191d;color:#16191d}
.flow-header__title{display:flex;flex-direction:column;min-width:0}
.flow-header__title strong{font:600 19px 'Bricolage Grotesque',sans-serif}
.flow-header__title span{font-size:14px;color:#6a7078;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flow-header__step{margin-left:auto;color:#6a7078;font-size:14px;white-space:nowrap}
.flow-account{margin-left:auto;border:1px solid #d6d7d2;border-radius:999px;padding:9px 14px;white-space:nowrap;font-size:14px;font-weight:500}
.flow-header__step+.flow-account{margin-left:0}
.flow-main{flex:1;width:min(100%,1100px);margin:auto;padding:clamp(28px,5vw,56px) clamp(16px,3vw,32px) 120px}
.flow-main h1,.portal-main h1{margin:0;font:600 clamp(32px,4.4vw,52px)/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.03em}
.flow-lead{font-size:17px;line-height:1.55;color:#4d535b;max-width:680px;margin:8px 0 24px}
.flow-section{display:flex;flex-direction:column;gap:24px}
.flow-card,.portal-card{background:#fff;border:1px solid #e6e6e1;border-radius:22px;padding:clamp(18px,3vw,28px)}
.flow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
.flow-grid--small{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.flow-field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4d535b}
.flow-field input,.flow-field select,.flow-field textarea,.portal-card input,.portal-card select{width:100%;min-height:48px;padding:0 12px;border:1px solid #d0d1cb;border-radius:12px;background:#fff;color:#16191d;font-size:17px}
.flow-field textarea{padding:12px}
.flow-button{min-height:50px;padding:0 22px;border:0;border-radius:999px;background:#a5141c;color:#fff;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.flow-button:hover{background:#83101a;color:#fff}
.flow-button--outline{border:1.5px solid #d6d7d2;background:#fff;color:#16191d}
.flow-button--outline:hover{border-color:#16191d;background:#16191d;color:#fff}
.flow-button--plain{border:1.5px dashed #9ea29b;background:transparent;color:#16191d}
.flow-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.flow-progress{height:3px;background:#e6e6e1}
.flow-progress span{display:block;height:100%;background:#79b42a;transition:width .3s}
.flow-footer{position:sticky;bottom:0;z-index:20;background:rgba(250,250,248,.96);backdrop-filter:blur(10px);border-top:1px solid #e6e6e1}
.flow-footer__inner{width:min(100%,1100px);margin:auto;padding:12px clamp(16px,3vw,32px) calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:10px}
.flow-hint,.flow-validation{color:#a5141c;font-size:14px}
.flow-summary{display:grid;grid-template-columns:minmax(110px,180px) 1fr;gap:12px;padding:16px 0;border-bottom:1px solid #efefeb}
.flow-summary dt{color:#6a7078}.flow-summary dd{margin:0}
.flow-success{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:640px}
.flow-success__icon{width:64px;height:64px;border-radius:50%;background:#eaf3dd;color:#4f7d17;display:grid;place-items:center;font-size:32px}
.quick-checkin .flow-main{margin:0 auto}
.quick-checkin [data-step]>div:first-child{max-width:680px}
.quick-checkin [data-step]>.flow-grid.quick-period{max-width:640px;grid-template-columns:repeat(2,minmax(0,1fr))}
.quick-period__full{grid-column:1/-1}
.quick-checkin .flow-section h1+.flow-lead{margin:8px 0 0}
.quick-saved{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f3f4f0;padding:14px 16px;border-radius:16px}
.quick-saved>span{color:#4d535b;font-size:15px;display:inline-flex;align-items:center;gap:6px}
.quick-saved .flow-button{min-height:40px;padding:0 14px;font-weight:500}
.quick-person{display:flex;flex-direction:column;gap:16px;margin-bottom:12px}
.quick-person__heading{justify-content:space-between}
.quick-person__heading h2{font:600 22px 'Bricolage Grotesque',sans-serif;margin:0}
.quick-person__heading .flow-button{min-height:40px;padding:0 14px;color:#4d535b;font-weight:500}
.quick-person__fields{gap:12px}
.quick-person__group{display:flex;flex-direction:column;gap:8px}
.quick-person__group>span{font-size:14px;color:#4d535b}
.quick-choices{display:grid;gap:8px}
.quick-choices--sports{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.quick-choices--parts{display:flex;flex-wrap:wrap}
.quick-choices--details{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.quick-choice{position:relative;cursor:pointer;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:14px;border:1.5px solid #e0e1dc;background:#f6f6f3;color:#16191d;min-height:52px;font-size:15px;font-weight:500}
.quick-choice:has(input:checked){border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
.quick-choice:focus-within{outline:2px solid #a5141c;outline-offset:2px}
.quick-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.quick-choice i{font-size:20px;color:#6a7078}
.quick-choice:has(input:checked) i{color:#79b42a}
.quick-choice--part{min-height:44px;border-radius:999px;background:#fff;border-color:#d6d7d2;padding:0 16px}
.quick-choice--part:has(input:checked){background:var(--selection-bg);color:var(--selection-ink);border-color:var(--selection-border)}
.quick-choice--part:has(input:checked) i{color:var(--selection-icon)}
.quick-choice--detail{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:12px 14px;text-align:left;background:#fff}
.quick-choice--detail strong{font-weight:600}
.quick-choice--detail small{font-size:13px;color:#6a7078;line-height:1.35}
.quick-choice--skill:has(input:checked){border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
.quick-helmet-note{font-size:13px;line-height:1.5;color:#6a7078;margin:0}
.quick-checkin [data-participants]+.flow-button--plain{align-self:flex-start}
.quick-contact,.quick-review{max-width:760px}
.quick-contact__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.quick-contact__wide{grid-column:1/-1}
.quick-contact__edit{align-self:flex-start;margin-top:-14px;font-size:14px;color:#a5141c;font-weight:600}
.quick-insurance{display:flex;flex-direction:column;gap:10px;border:0;margin:0;padding:0;min-width:0}
.quick-insurance legend{font-size:15px;color:#4d535b;padding:0;margin-bottom:10px}
.quick-insurance__option{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1.5px solid #e0e1dc;background:#fff;cursor:pointer;text-align:left}
.quick-insurance__option:has(input:checked){border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
.quick-insurance__option input{appearance:none;width:20px;height:20px;border-radius:50%;border:2px solid #9ea29b;margin:0;flex-shrink:0;display:grid;place-items:center;cursor:pointer}
.quick-insurance__option input:checked{border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
.quick-insurance__option input:checked::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--selection-icon)}
.quick-insurance__option input:focus-visible{outline:2px solid #a5141c;outline-offset:3px}
.quick-terms{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:15px;line-height:1.5}
.quick-card-confirmation{grid-column:1/-1}
.quick-terms input{appearance:none;width:22px;height:22px;border:2px solid #9ea29b;border-radius:6px;margin:1px 0 0;flex-shrink:0;cursor:pointer}
.quick-terms input:checked{background:var(--selection-bg);border-color:var(--selection-border);color:var(--selection-ink)}
.quick-terms input:checked::before{content:"✓";display:block;color:var(--selection-ink);text-align:center;line-height:18px}
.quick-terms input:focus-visible{outline:2px solid #a5141c;outline-offset:3px}
.quick-review__card{border-radius:22px;background:#fff;border:1px solid #e6e6e1;padding:8px 24px}
.quick-review__row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:16px 0;border-bottom:1px solid #efefeb}
.quick-review__row:last-child{border-bottom:0}
.quick-review__row>span:first-child{font-size:15px;color:#6a7078}
.quick-review__row>span:nth-child(2){font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.quick-review__row button{border:0;background:none;color:#a5141c;cursor:pointer;font-size:14px;font-weight:600}
.quick-review__note{font-size:15px;color:#4d535b;line-height:1.5;margin:0}
.kids-club .flow-main{margin:0 auto}
.kids-club [data-step]>div:first-child{max-width:680px}
.kids-club .flow-section h1+.flow-lead{margin:8px 0 0}
.kids-club [data-participants]+.flow-button--plain{align-self:flex-start}
.kids-person{display:flex;flex-direction:column;gap:18px;margin-bottom:12px}
.kids-person__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kids-person__heading h2{font:600 22px 'Bricolage Grotesque',sans-serif;margin:0}
.kids-person__heading .flow-button{min-height:40px;padding:0 14px;color:#4d535b;font-weight:500}
.kids-person__fields{gap:12px}
.kids-person__group{display:flex;flex-direction:column;gap:8px}
.kids-person__group>span{font-size:14px;color:#4d535b}
.kids-person__equipment{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.kids-person__equipment-group{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:#f6f6f3}
.kids-person__equipment-group>strong{font-weight:600}
.kids-person__equipment-group .quick-choice--part{min-height:42px;padding:0 14px}
.kids-contact,.kids-review{max-width:760px}
.kids-contact__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.kids-contact__insurance{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1.5px solid #e0e1dc;border-radius:16px;background:#fff;cursor:pointer}
.kids-contact__insurance:has(input:checked){border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
.kids-contact__insurance input{appearance:none;width:22px;height:22px;border:2px solid #9ea29b;border-radius:6px;flex-shrink:0;margin:0;cursor:pointer}
.kids-contact__insurance input:checked{background:var(--selection-bg);border-color:var(--selection-border);color:var(--selection-ink)}
.kids-contact__insurance input:checked::before{content:"✓";display:block;color:var(--selection-ink);text-align:center;line-height:18px}
.kids-contact__insurance input:focus-visible{outline:2px solid #a5141c;outline-offset:3px}
.kids-contact__insurance>span{display:flex;flex-direction:column;gap:2px}
.kids-contact__insurance small{font-size:14px;color:#6a7078}
.kids-review .quick-review__row{grid-template-columns:minmax(110px,170px) minmax(0,1fr) auto}
.kids-confirmation{gap:18px;padding-top:24px}
.kids-confirmation .flow-lead{font-size:18px;margin:0}
.kids-confirmation__reference{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border:1px solid #e6e6e1;border-radius:16px;background:#fff}
.kids-confirmation__reference>span{font-size:14px;color:#6a7078}
.kids-confirmation__reference strong{font:600 24px 'Bricolage Grotesque',sans-serif;letter-spacing:.02em}
.portal-header{width:min(100%,1200px);margin:auto;padding:10px clamp(16px,3vw,32px);display:flex;align-items:center;gap:14px}
.portal-main{flex:1;width:min(100%,1200px);margin:0 auto;padding:clamp(24px,4vw,48px) clamp(16px,3vw,32px) 80px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px 48px;align-items:start;align-content:start}
.portal-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:4px}
.portal-nav a{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:12px;white-space:nowrap}.portal-nav a:hover{background:#efefeb;color:#16191d}
.portal-nav a[aria-current="page"]{background:var(--selection-bg);color:var(--selection-ink);border-color:var(--selection-border)}
.portal-content{display:flex;flex-direction:column;gap:24px;min-width:0}
.portal-list{display:flex;flex-direction:column;gap:10px}
.portal-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px;background:#fff;border:1px solid #e6e6e1;border-radius:18px}
.portal-row__meta{color:#6a7078;font-size:14px}
.portal-flow-header .flow-header__inner{max-width:1200px}
.portal-logout{margin-left:auto}
.portal-logout .flow-account{display:inline-flex;align-items:center;gap:8px;height:44px;background:#fff;color:#16191d;cursor:pointer}
.portal-logout .flow-account:hover{border-color:#16191d}
.portal-page .portal-main h1{font-size:clamp(32px,4.4vw,48px)}
.portal-page .portal-nav{padding-bottom:4px}
.portal-page .portal-nav a{color:#16191d;font-weight:500}
.portal-page .portal-nav a i{font-size:19px}
.portal-page .portal-nav a[aria-current="page"]{font-weight:600;background:var(--selection-bg);border-color:var(--selection-border);color:var(--selection-ink)}
.portal-page .portal-content{gap:28px}
.portal-panel{display:flex;flex-direction:column;gap:24px;min-width:0}
.portal-panel--profile{max-width:760px;gap:22px}
.portal-panel h2{font:600 24px 'Bricolage Grotesque',sans-serif;margin:0}
.portal-description{margin:6px 0 0;color:#4d535b;line-height:1.5}
.portal-notice{padding:18px 20px;border-radius:18px;background:#fff7db;border:1px solid #f2df9b;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.portal-notice a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:#16191d;color:#fff;font-weight:600}
.portal-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.portal-shortcut{padding:22px;border-radius:20px;background:#fff;border:1px solid #e6e6e1;display:flex;flex-direction:column;gap:10px;color:#16191d}
.portal-shortcut:hover{border-color:#16191d;color:#16191d}
.portal-shortcut img,.portal-booking img{width:52px;height:52px;object-fit:contain}
.portal-shortcut strong{font:600 21px 'Bricolage Grotesque',sans-serif}
.portal-shortcut span{font-size:15px;color:#6a7078}
.portal-current{display:flex;flex-direction:column;gap:10px}
.portal-booking{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border-radius:18px;background:#fff;border:1px solid #e6e6e1}
.portal-booking>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.portal-booking strong{font-weight:600;font-size:17px}
.portal-booking span:not(.portal-status){font-size:14px;color:#6a7078}
.portal-booking small{font-size:13px;color:#9a9f98}
.portal-status{font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;white-space:nowrap}
.portal-person-card,.portal-person-form,.portal-billing-card,.portal-empty{background:#fff;border:1px solid #e6e6e1;border-radius:20px;padding:clamp(16px,2.5vw,24px)}
.portal-person-card{display:flex;flex-direction:column;gap:14px}
.portal-person-card__header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.portal-person-card__header>strong{font:600 21px 'Bricolage Grotesque',sans-serif}
.portal-icon-button{width:40px;height:40px;border-radius:999px;border:1px solid #d6d7d2;background:#fff;color:#4d535b;cursor:pointer;display:grid;place-items:center}
.portal-person-card__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.portal-person-card__details span{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#4d535b}
.portal-person-card__details strong{font-size:16px;color:#16191d;font-weight:500}
.portal-edit-button{align-self:flex-start;border:1.5px solid #d6d7d2;border-radius:999px;background:#fff;padding:10px 16px;cursor:pointer;color:#16191d;font-weight:600}
.portal-add-person{align-self:flex-start;min-height:48px;padding:0 18px;border-radius:999px;border:1.5px dashed #9ea29b;background:transparent;color:#16191d;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.portal-person-form,.portal-profile-form{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.portal-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;width:100%}
.portal-person-form .portal-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}
.portal-skill{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#4d535b}
.portal-skill label{cursor:pointer;padding:8px 14px;border:1.5px solid #d6d7d2;border-radius:999px;color:#16191d;font-size:14px}
.portal-skill label:has(input:checked){border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
.portal-skill input{accent-color:var(--selection-icon)}
.portal-empty{margin:0;color:#4d535b}
.portal-billing{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.portal-billing-card{padding:20px;display:flex;flex-direction:column;gap:12px}
.portal-billing-card h2{font-size:20px}
.portal-billing-card p{margin:0;color:#4d535b;line-height:1.55}
.portal-billing-card a{color:#a5141c;font-weight:600}
.portal-payment{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid #16191d;border-radius:14px}
.portal-payment>span:last-child{display:flex;flex-direction:column;gap:2px}
.portal-payment small{font-size:13px;color:#6a7078}
.portal-payment__dot{width:20px;height:20px;border:5px solid #16191d;border-radius:50%;flex-shrink:0}
.portal-hint{font-size:13px;color:#6a7078;margin:-8px 0 0}
.portal-profile-form input[readonly]{background:#efefeb}
.internal-page{min-height:100vh;background:#f3f4f0;display:grid;grid-template-columns:250px minmax(0,1fr)}
.internal-nav{background:#16191d;color:#d9dad5;display:flex;flex-direction:column;gap:4px;padding:24px 12px;min-height:100vh}
.internal-nav a{padding:11px 12px;border-radius:10px;color:#d9dad5}.internal-nav a:hover{background:#343941;color:#fff}
.internal-nav a[aria-current="page"]{background:var(--selection-bg);color:var(--selection-ink);border-color:var(--selection-border)}
.internal-content{padding:clamp(18px,3vw,36px);min-width:0;display:flex;flex-direction:column;gap:22px}
.internal-content h1{margin:0;font:600 clamp(26px,3vw,36px)/1.05 'Bricolage Grotesque',sans-serif}
.internal-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:16px;align-items:start}
.internal-panel{background:#fff;border:1px solid #e6e6e1;border-radius:18px;padding:20px}
.internal-panel h2{font-size:24px}
.internal-table{width:100%;border-collapse:collapse;text-align:left}
.internal-table td,.internal-table th{padding:12px;border-bottom:1px solid #efefeb}
.internal-hours-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.internal-hours-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #efefeb}.internal-hours-row>strong{font-size:14px}.internal-hours-row form{margin:0}.internal-hours-row form:first-of-type{display:flex;align-items:center;gap:4px;min-width:0}.internal-hours-row input,.internal-special-form input{height:40px;width:100%;min-width:0;padding:0 10px;border:1px solid #d0d1cb;border-radius:10px;background:#fff}.internal-hours-row input:placeholder-shown{opacity:.65}.internal-hours-save{height:38px;width:38px;border:1px solid #d6d7d2;border-radius:10px;background:#fff;cursor:pointer}.internal-hours-row .internal-chip{min-height:34px;padding:0 10px;font-size:13px}.internal-hint{font-size:13px;color:#6a7078;line-height:1.5}.internal-special-days{display:flex;flex-direction:column;gap:12px}.internal-special-days h2{margin:0;font:600 18px 'Bricolage Grotesque',sans-serif}.internal-special-days p{margin:0;color:#6a7078}.internal-special-day{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#f6f6f3;font-size:14px}.internal-special-day>span:first-child{display:flex;flex-direction:column;gap:2px}.internal-special-day small{color:#6a7078}.internal-special-day button{border:0;background:none;cursor:pointer;color:#4d535b}.internal-special-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid #efefeb;padding-top:12px}.internal-special-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#4d535b}.internal-special-form label:nth-child(3){grid-column:1/-1}.internal-special-form button{justify-self:start}.internal-hours-preview{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:#16191d;color:#edede8;border-radius:10px;font-size:14px}.internal-hours-preview span{display:inline-flex;align-items:center;gap:6px;font-weight:600}.internal-hours-preview small{color:#c9cbc5}.internal-hours-dot{width:8px;height:8px;border-radius:50%;background:#e0452b}.internal-hours-dot.is-open{background:#79b42a}
.booking-pdf-link{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:#a5141c;font-size:14px;font-weight:600;text-decoration:none}.booking-pdf-link:hover{text-decoration:underline}
.booking-unavailable-dialog{width:min(92vw,460px);border:1px solid #e6e6e1;border-radius:18px;padding:24px;background:#fff;color:#16191d;box-shadow:0 18px 55px #16191d33}.booking-unavailable-dialog::backdrop{background:#16191db3}.booking-unavailable-dialog__head{display:flex;align-items:start;justify-content:space-between;gap:12px}.booking-unavailable-dialog h2{margin:0;font:600 24px 'Bricolage Grotesque',sans-serif}.booking-unavailable-dialog p{color:#4d535b;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.booking-unavailable-dialog__head button{border:0;background:none;font-size:20px;cursor:pointer}.booking-unavailable-dialog .flow-button{cursor:pointer}
.internal-nav{position:sticky;top:0;height:100vh;overflow-y:auto;gap:4px}
.internal-nav__brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;color:#fff;font:600 17px 'Bricolage Grotesque',sans-serif}
.internal-nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;font-size:14px;font-weight:500;white-space:nowrap}
.internal-nav a i{font-size:18px}.internal-nav a:hover{background:#343941;color:#fff}
.internal-nav a.is-active{background:var(--selection-bg);color:var(--selection-ink);border-color:var(--selection-border)}
.internal-nav__heading{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a8d88;padding:16px 10px 6px}
.internal-nav__footer{margin-top:auto;padding:14px 10px 4px;border-top:1px solid #2c3036;display:flex;align-items:center;gap:10px;min-width:0}
.internal-nav__avatar{width:34px;height:34px;flex:none;border-radius:50%;background:#2ba3db;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;text-transform:uppercase}
.internal-nav__identity{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.internal-nav__identity strong{color:#fff}.internal-nav__identity small{color:#8a8d88}
.internal-nav__footer form{margin-left:auto}.internal-nav__footer button{width:34px;height:34px;border:1px solid #3a3f46;border-radius:50%;color:#d9dad5;background:transparent;cursor:pointer}
.internal-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.internal-header>div{display:flex;flex-direction:column;gap:4px}.internal-header span{font-size:14px;color:#6a7078}.internal-header h1{letter-spacing:-.02em}
.internal-search{height:44px;display:flex;align-items:center;gap:8px;min-width:min(100%,300px);border:1px solid #e0e1dc;background:#fff;border-radius:999px;padding:0 14px;color:#6a7078}.internal-search input{border:0;outline:none;flex:1;min-width:0;background:transparent;font-size:15px}.internal-search button{border:0;background:none;cursor:pointer;color:#4d535b}
.internal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.internal-kpis>div{padding:16px 18px;border:1px solid #e6e6e1;border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:4px}.internal-kpis span{font-size:13px;color:#6a7078}.internal-kpis strong{font:600 30px 'Bricolage Grotesque',sans-serif}
.internal-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.internal-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid #d6d7d2;background:#fff;color:#16191d;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.internal-chip:hover{background:#f6f6f3;color:#16191d}.internal-chip.is-active{background:var(--selection-bg);border-color:var(--selection-border);color:var(--selection-ink)}.internal-filter-divider{width:1px;height:24px;background:#d6d7d2;margin:0 6px}
.internal-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px, .95fr);gap:16px;align-items:start}.internal-entries{background:#fff;border:1px solid #e6e6e1;border-radius:18px;overflow:hidden}.internal-empty{padding:28px;text-align:center;color:#6a7078}
.internal-entry{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #efefeb;color:#16191d;text-decoration:none;min-width:0}.internal-entry:last-child{border-bottom:0}.internal-entry:hover{background:#f7f7f4;color:#16191d}
.internal-entry.is-selected{background:var(--selection-bg);color:var(--selection-ink);border-color:var(--selection-border)}.internal-entry time{font:600 16px 'Bricolage Grotesque',sans-serif;color:#4d535b}.internal-entry__text{display:flex;flex-direction:column;gap:2px;min-width:0}.internal-entry__text small{font-size:13px;color:#6a7078;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.internal-status{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;white-space:nowrap}
.internal-detail{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}.internal-detail h2{margin:0;font:600 22px 'Bricolage Grotesque',sans-serif}.internal-detail p{margin:0;font-size:14px;color:#4d535b}.internal-detail__head{display:flex;justify-content:space-between;align-items:start;gap:10px}.internal-detail__head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.internal-detail__head small{font-size:13px;color:#6a7078;overflow-wrap:anywhere}
.internal-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:4px}.internal-steps span{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#9a9f98}.internal-steps i{height:4px;border-radius:4px;background:#e0e1dc}.internal-steps .is-done{font-weight:600;color:#16191d}.internal-steps .is-done i{background:#16191d}
.internal-person{display:flex;flex-direction:column;gap:8px;background:#f6f6f3;border-radius:14px;padding:14px;font-size:14px}.internal-person>div:first-child{display:flex;justify-content:space-between;gap:8px}.internal-person span,.internal-person>small{color:#4d535b}.internal-person__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:6px}.internal-person__stats span{display:flex;flex-direction:column;background:#fff;border-radius:10px;padding:8px;font-weight:600;color:#16191d}.internal-person__stats small{font-size:11px;font-weight:400;color:#6a7078}
.internal-customers{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.internal-customer{display:flex;flex-direction:column;gap:8px}.internal-customer span{font-size:14px;color:#4d535b}.internal-customer small{font-size:13px;color:#6a7078}
.internal-team{border-radius:18px;background:#fff;border:1px solid #e6e6e1;overflow:hidden}.internal-team__row{display:grid;grid-template-columns:40px minmax(0,1fr) auto minmax(200px,auto);align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #efefeb}.internal-team__row:last-child{border-bottom:0}.internal-team__row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.internal-team__row small{color:#6a7078;overflow-wrap:anywhere}.internal-role{padding:6px 10px;border-radius:999px;background:#f6f6f3;font-size:13px}.internal-team__pin{display:flex;gap:8px;align-items:center}.internal-team__pin input,.internal-setting-row input,.internal-setting-row select{height:40px;padding:0 10px;border:1px solid #d0d1cb;border-radius:10px;background:#fff;min-width:0}.internal-team__pin input{width:125px}.internal-add-member{max-width:950px}.internal-add-member form{display:flex;flex-direction:column;gap:16px}.internal-add-member .flow-button{align-self:flex-start}
.internal-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;align-items:start}.internal-setting-list{padding:8px 18px}.internal-setting-list h2{margin:12px 0}.internal-setting-list p,.internal-form-card p{font-size:14px;color:#6a7078}.internal-setting-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(120px,1.4fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #efefeb}.internal-setting-row:last-child{border-bottom:0}.internal-setting-row label{font-weight:600;font-size:14px;display:flex;flex-direction:column}.internal-setting-row label small{font-weight:400;color:#6a7078}.internal-hours-preview{background:#16191d;color:#fff;border-radius:10px;padding:14px;display:flex;align-items:center;gap:8px}.internal-form-card{display:flex;flex-direction:column;gap:12px}.internal-form-card h2,.internal-form-card p{margin:0}.internal-form-card .flow-button{align-self:flex-start}
.internal-hours-preview{flex-wrap:wrap;gap:14px;padding:10px 14px;font-size:14px}.internal-hours-preview small{color:#c9cbc5}
@media(max-width:1150px){.internal-workspace{grid-template-columns:1fr}.internal-detail{position:static}.internal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.internal-team__row{grid-template-columns:40px minmax(0,1fr) auto}.internal-team__pin{grid-column:2/-1}}
@media(max-width:760px){.internal-nav{position:static;height:auto;min-height:0;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;align-items:center;padding:10px}.internal-nav__brand{padding:4px 8px;flex:none}.internal-nav__brand strong,.internal-nav__heading,.internal-nav__identity{display:none}.internal-nav__footer{margin:0 0 0 auto;padding:0;border:0;flex:none}.internal-nav__footer .internal-nav__avatar{display:none}.internal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.internal-header{align-items:stretch}.internal-search{width:100%}}
@media(max-width:520px){.internal-kpis{grid-template-columns:1fr 1fr}.internal-entry{grid-template-columns:40px minmax(0,1fr);gap:8px}.internal-entry .internal-status{grid-column:2;justify-self:start}.internal-team__row{grid-template-columns:34px minmax(0,1fr)}.internal-team__row .internal-role,.internal-team__pin{grid-column:2;justify-self:start}.internal-setting-row{grid-template-columns:1fr auto}.internal-setting-row label{grid-column:1/-1}.internal-setting-row input,.internal-setting-row select{width:100%}}
.staff-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:#16191d}
.staff-login__card{width:min(100%,420px);padding:clamp(24px,4vw,36px);border-radius:24px;background:#fafaf8;display:flex;flex-direction:column;gap:18px}
.staff-login__card strong{font:600 20px 'Bricolage Grotesque',sans-serif}
.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pin-grid button{height:54px;border-radius:14px;border:1px solid #e0e1dc;background:#fff;cursor:pointer;font:600 22px 'Bricolage Grotesque',sans-serif}
.pin-grid button:hover{background:#e6e6e1}
@media(max-width:760px){.portal-main{grid-template-columns:1fr}.portal-nav{position:static;flex-direction:row;overflow-x:auto}.internal-page{grid-template-columns:1fr}.internal-nav{min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px}.internal-content{padding:20px 16px}}
@media(max-width:600px){.flow-header__step{display:none}.flow-account{font-size:0;padding:9px}.flow-account i{font-size:20px}.flow-main{padding-bottom:48px}.flow-summary{grid-template-columns:1fr;gap:2px}}
@media(max-width:600px){.portal-logout .flow-account{font-size:0;padding:9px}.portal-logout .flow-account span{display:none}.portal-booking{grid-template-columns:44px minmax(0,1fr);gap:10px}.portal-booking img{width:44px;height:44px}.portal-booking .portal-status{grid-column:2;justify-self:start}}
@media(max-width:480px){.quick-checkin [data-step]>.flow-grid.quick-period{grid-template-columns:1fr}}
@media(max-width:480px){.quick-review__row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.quick-review__row>span:first-child{grid-column:1}.quick-review__row>span:nth-child(2){grid-column:1;grid-row:2}.quick-review__row button{grid-column:2;grid-row:1/3}}
@media(max-width:480px){.kids-review .quick-review__row{grid-template-columns:minmax(0,1fr) auto}}

.staff-login__hint{margin:0;font-size:14px;line-height:1.55;color:#6a7078}
.staff-login__notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #dedfd8;border-radius:14px;background:#f0f1eb;color:#16191d}
.staff-login__notice>i{font-size:24px;flex:none;color:#a5141c}
.staff-login__notice strong{font:600 16px Figtree,sans-serif}
.staff-login__notice p{margin:6px 0 0;font-size:14px;line-height:1.5;color:#4d535b}

/* Participant choices share the admission-history selection palette. */
.quick-checkin .quick-person{--participant-selected:#79b42a}
.quick-checkin .quick-person .quick-choice:has(input:checked),
.quick-checkin .quick-person .quick-insurance__option:has(input:checked){background:var(--selection-bg);border-color:var(--selection-border);color:var(--selection-ink)}
.quick-checkin .quick-person .quick-choice:has(input:checked) i,
.quick-checkin .quick-person .quick-choice:has(input:checked) small{color:#16191d}
.quick-checkin .quick-person .quick-insurance__option input:checked{border-color:var(--selection-border);background:var(--selection-bg);color:var(--selection-ink)}
.quick-checkin .quick-person .quick-choice:focus-within,
.quick-checkin .quick-person .quick-insurance__option:focus-within{outline:2px solid #16191d;outline-offset:3px}
/* Review cards follow the supplied reference without changing participant controls. */
.quick-checkin .quick-review{gap:26px}
.quick-checkin .quick-review h1{font-weight:700;font-size:clamp(32px,6vw,48px)}
.quick-checkin .quick-review__summary{display:grid;gap:24px;max-width:none!important}
.quick-checkin .quick-review__pickup,.quick-checkin .quick-review__renter{display:grid;align-items:center;gap:16px;border:1px solid #e4e4df;border-radius:18px;background:#fff;padding:17px 22px;min-width:0}
.quick-checkin .quick-review__pickup{grid-template-columns:18px minmax(0,1fr) auto}
.quick-checkin .quick-review__pickup>i{font-size:20px;color:#51647b}
.quick-checkin .quick-review__pickup-text{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.quick-checkin .quick-review__pickup-text>span{font-size:13px;color:#51647b}
.quick-checkin .quick-review__pickup-text>strong{font-size:17px;line-height:1.3;font-weight:700}
.quick-checkin .quick-review button{border:0;background:none;color:#d00018;font-size:14px;font-weight:600;cursor:pointer;padding:8px 6px;flex-shrink:0}
.quick-checkin .quick-review__people{display:grid;gap:14px;min-width:0}
.quick-checkin .quick-review__people>h2{font:700 22px/1.3 'Bricolage Grotesque',sans-serif;margin:0}
.quick-checkin .quick-review__person{border:1px solid #e4e4df;background:#fff;border-radius:18px;min-width:0;overflow:hidden}
.quick-checkin .quick-review__person header{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid #efefeb}
.quick-checkin .quick-review__initial{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#16191d;color:white;display:grid;place-items:center;font-weight:700;font-size:17px}
.quick-checkin .quick-review__identity{flex:1;min-width:0;overflow-wrap:anywhere}
.quick-checkin .quick-review__person h3{font:700 17px/1.3 'Figtree',sans-serif;margin:0}
.quick-checkin .quick-review__identity p{font-size:14px;line-height:1.35;color:#51647b;margin:0}
.quick-checkin .quick-review__identity .quick-review__extra{font-size:12px;margin-top:3px}
.quick-checkin .quick-review__person dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px;margin:0;padding:15px 22px}
.quick-checkin .quick-review__person dt{font-size:13px;color:#51647b;line-height:1.3}
.quick-checkin .quick-review__person dd{margin:0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.quick-checkin .quick-review__person .quick-review__wide{grid-column:1/-1}
.quick-checkin .quick-review__renter{grid-template-columns:minmax(110px,176px) minmax(0,1fr) auto;font-size:15px;line-height:1.4}
.quick-checkin .quick-review__renter>span:first-child{color:#51647b}
.quick-checkin .quick-review__renter>span:nth-child(2){overflow-wrap:anywhere}
.quick-checkin .quick-review__notes{list-style:none;background:#f0f0ec;border-radius:18px;padding:18px 22px;margin:0;display:grid;gap:11px;color:#314963;font-size:15px;line-height:1.45}
.quick-checkin .quick-review__notes li{display:flex;align-items:flex-start;gap:12px;min-width:0}
.quick-checkin .quick-review__notes i{font-size:18px;flex-shrink:0;line-height:1.2;margin-top:2px}
.quick-checkin .quick-review :focus-visible{outline:2px solid #16191d;outline-offset:3px}
@media(max-width:600px){.quick-checkin .quick-review__person dl{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-checkin .quick-review__pickup,.quick-checkin .quick-review__renter{padding:16px}.quick-checkin .quick-review__person header{padding:14px}.quick-checkin .quick-review__person dl{padding:14px}.quick-checkin .quick-review__renter{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.quick-checkin .quick-review__renter>span:nth-child(2){grid-column:1;grid-row:2}.quick-checkin .quick-review__renter button{grid-column:2;grid-row:1/3}.quick-checkin .quick-review__notes{padding:18px 16px}}

.quick-insurance__option > span { display:grid; gap:4px; }
.quick-insurance__option small { font-size:13px; color:#4D535B; line-height:1.4; }

.insurance-terms-link{margin-top:6px;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.insurance-application{margin:20px 0}
.insurance-application a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
