.abb-wizard,.abb-portal{font-family:var(--ab-font-body,inherit);font-size:var(--ab-font-size,16px)}
.abb-wizard h2,.abb-portal h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1;margin:.1em 0 .3em;font-weight:800}.abb-kicker{text-transform:uppercase;font-size:.8rem;letter-spacing:.12em;font-weight:800;color:var(--ab-text-muted,#666)}
.abb-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin:1.3rem 0}.abb-steps button{border:1px solid var(--ab-border,#ddd);background:var(--ab-card,#fff);color:var(--ab-text,#111);border-radius:999px;padding:.75rem 1rem;font-weight:800}.abb-steps button.is-active{background:var(--ab-primary,#c04);color:var(--ab-primary-contrast,#fff);border-color:var(--ab-primary,#c04)}.abb-steps button.is-done{background:var(--ab-success,#2ecc71);color:#fff;border-color:var(--ab-success,#2ecc71)}
.abb-step{display:none}.abb-step.is-active{display:block}.abb-calendar{background:var(--ab-card,#fff);border:1px solid var(--ab-border,#ddd);border-radius:var(--ab-radius,18px);padding:1rem}.abb-cal-head{display:flex;align-items:center;justify-content:space-between}.abb-cal-head button{border:1px solid var(--ab-border,#ddd);background:var(--ab-surface,#f6f6f6);border-radius:14px;padding:.6rem .9rem;font-weight:900}.abb-week,.abb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem}.abb-week{margin:1rem 0 .5rem;text-align:center;color:var(--ab-text-muted,#666);font-weight:700}.abb-day{min-height:68px;border:0;border-radius:16px;padding:.5rem;text-align:left;color:#fff;font-weight:700}.abb-day b{display:block;font-size:1.2rem}.abb-day.free{background:var(--ab-status-free,#2ecc71)}.abb-day.prov{background:var(--ab-status-prov,#f2c94c);color:#111}.abb-day.res{background:var(--ab-status-res,#e74c3c);opacity:.8}.abb-day.closed{background:var(--ab-status-closed,#777)}.abb-day.is-selected{outline:4px solid var(--ab-primary,#c04)}.abb-legend{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.abb-legend span{border-radius:999px;padding:.45rem .8rem;color:#fff;font-weight:800}.abb-legend .free{background:var(--ab-status-free,#2ecc71)}.abb-legend .prov{background:var(--ab-status-prov,#f2c94c);color:#111}.abb-legend .res{background:var(--ab-status-res,#e74c3c)}.abb-legend .closed{background:var(--ab-status-closed,#777)}
.abb-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem}.abb-card-grid.small{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.abb-select-card{border:1px solid var(--ab-border,#ddd);background:var(--ab-card,#fff);color:var(--ab-text,#111);border-radius:var(--ab-radius,18px);padding:1rem;text-align:left;display:grid;gap:.45rem}.abb-select-card:hover,.abb-select-card.is-selected{border-color:var(--ab-primary,#c04);box-shadow:0 0 0 3px color-mix(in srgb,var(--ab-primary,#c04) 20%,transparent)}.abb-select-card b{font-size:1.05rem}.abb-select-card strong{font-size:1.25rem}.abb-select-card span,.abb-drink span{color:var(--ab-text-muted,#666)}
.abb-counter{display:flex;align-items:center;gap:.4rem}.abb-counter button{border:1px solid var(--ab-border,#ddd);background:var(--ab-surface,#f6f6f6);border-radius:12px;width:38px;height:38px;font-weight:900}.abb-counter input{width:90px;text-align:center}.abb-fields{display:grid;gap:.9rem;max-width:620px}.abb-fields input,.abb-fields textarea,.abb-counter input{border:1px solid var(--ab-border,#ddd);background:var(--ab-input,#fff);color:var(--ab-text,#111);border-radius:12px;padding:.8rem;width:100%}.abb-account-card{border:1px solid var(--ab-border,#ddd);background:var(--ab-surface,#f6f6f6);border-radius:18px;padding:1rem;margin-bottom:1rem;display:grid;gap:.4rem}.abb-drinks{display:grid;gap:.7rem}.abb-drink{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid var(--ab-border,#ddd);background:var(--ab-card,#fff);border-radius:16px;padding:.9rem}.abb-drink div:first-child{display:grid;gap:.2rem}.abb-summary-box{border:1px solid var(--ab-border,#ddd);border-radius:18px;padding:1rem}.abb-summary-box div{display:flex;justify-content:space-between;border-bottom:1px solid var(--ab-border,#ddd);padding:.65rem 0}.abb-summary-box div:last-child{border-bottom:0;font-size:1.1rem;font-weight:900}.abb-nav{display:flex;justify-content:space-between;margin-top:1.2rem}.abb-result{margin-top:1rem;font-weight:800}.abb-booking-card{display:grid;gap:.35rem;border:1px solid var(--ab-border,#ddd);border-radius:18px;padding:1rem;margin:1rem 0}.abb-booking-card details{border-top:1px solid var(--ab-border,#ddd);padding-top:.7rem;margin-top:.5rem}.abb-contract-view{white-space:pre-wrap;background:var(--ab-surface,#f6f6f6);padding:1rem;border-radius:12px}
@media(max-width:720px){.abb-wizard{padding:1rem}.abb-wizard h2{font-size:2rem}.abb-steps{grid-template-columns:repeat(3,1fr);gap:.4rem}.abb-steps button{padding:.6rem .4rem;font-size:.85rem}.abb-week,.abb-days{gap:.3rem}.abb-day{min-height:52px;border-radius:12px;padding:.38rem}.abb-day b{font-size:1rem}.abb-card-grid{grid-template-columns:1fr}.abb-drink{align-items:flex-start;flex-direction:column}.abb-nav{position:sticky;bottom:0;background:var(--ab-background,#fff);padding:.75rem 0}}
.abb-info-box{padding:12px 14px;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:var(--ab-surface);color:var(--ab-text);margin:10px 0 14px;font-size:.95rem;line-height:1.45}
.abb-info-box strong{display:inline-block;margin-bottom:4px}
.abb-portal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.abb-booking-switch select{border:1px solid var(--ab-border,#ddd);background:var(--ab-input,#fff);color:var(--ab-text,#111);border-radius:12px;padding:.65rem;min-width:260px}.abb-success-box{border:1px solid var(--ab-success,#2ecc71);background:color-mix(in srgb,var(--ab-success,#2ecc71) 12%,var(--ab-card,#fff));border-radius:var(--ab-radius,18px);padding:1rem;margin:1rem 0}.abb-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.abb-tabs button{border:1px solid var(--ab-border,#ddd);background:var(--ab-card,#fff);color:var(--ab-text,#111);border-radius:999px;padding:.65rem 1rem;font-weight:800}.abb-tabs button.is-active{background:var(--ab-primary,#c04);border-color:var(--ab-primary,#c04);color:var(--ab-primary-contrast,#fff)}.abb-tab-panel{display:none}.abb-tab-panel.is-active{display:block}.abb-booking-summary{display:grid;gap:.35rem;margin-bottom:.75rem}.abb-profile-form{max-width:760px}.abb-booking-card.abb-booking-single{gap:.75rem}.abb-contract-view{max-height:520px;overflow:auto;line-height:1.5}
@media(max-width:720px){.abb-portal-head{display:block}.abb-booking-switch select{width:100%;min-width:0}.abb-tabs{display:grid;grid-template-columns:1fr 1fr}.abb-tabs button{padding:.6rem .5rem;font-size:.85rem}}
.abb-checkline{display:flex!important;align-items:center;gap:.65rem;flex-direction:row!important}
.abb-checkline input{width:auto!important;min-width:auto!important}
.abb-contract-view{white-space:pre-wrap;line-height:1.45;max-height:520px;overflow:auto}
.abb-booking-switch select{min-width:260px}
.abb-profile-userrow{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:1rem;align-items:end}.abb-profile-userrow .abb-checkline{align-self:center;margin:0}.abb-company-fields{display:grid;gap:.9rem}.abb-checkline{display:flex!important;align-items:center;gap:.55rem}.abb-checkline input[type=checkbox]{width:auto!important;min-width:auto!important}.abb-invoice-actions{margin-top:1rem}@media(max-width:700px){.abb-profile-userrow{grid-template-columns:1fr}.abb-company-fields{grid-template-columns:1fr}}
/* v0.8.0 compact/profile + token-only controls */
.abb-counter button,.abb-drink button,[data-drink-count],.abb-drink [data-drink-count]{color:var(--ab-text)!important;background:var(--ab-input)!important;border-color:var(--ab-border)!important}
.abb-drink{gap:.75rem}.abb-drink .abb-drink-meta{display:grid;gap:.15rem}.abb-drink-price{font-weight:800;color:var(--ab-text)!important;margin:.15rem 0}.abb-drink .abb-counter input{max-width:92px}.abb-profile-form{gap:.55rem;max-width:860px}.abb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.abb-form-row.three{grid-template-columns:2fr .8fr 1fr}.abb-company-fields{gap:.55rem}.abb-profile-form label{margin:0}.abb-profile-form input{padding:.65rem .75rem}.abb-company-fields.is-hidden{display:none!important}.abb-depot-choice{margin:.75rem 0;padding:1rem;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:var(--ab-surface)}
@media(max-width:700px){.abb-form-row,.abb-form-row.three{grid-template-columns:1fr}}

/* v0.8.1 wizard/calendar/drinks refinements - all colors from Theme tokens */
.abb-steps{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))!important}
.abb-calendar-rolling .abb-cal-head button,.abb-cal-nav{color:var(--ab-text)!important;background:var(--ab-input)!important;border-color:var(--ab-border)!important;opacity:1!important}
.abb-calendar-rolling .abb-cal-head b{font-size:.95rem;color:var(--ab-text)!important;text-align:center}
.abb-day{position:relative;cursor:pointer}
.abb-day em{position:absolute;right:.55rem;bottom:.4rem;font-style:normal;font-size:.68rem;font-weight:800;opacity:.72;color:currentColor}
.abb-day.past{background:var(--ab-status-closed,#777)!important;color:var(--ab-text-muted,#aaa)!important;opacity:.42;cursor:not-allowed}
.abb-day:disabled{cursor:not-allowed}
.abb-drinks-compact{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.55rem;margin-top:.85rem;max-height:520px;overflow:auto;padding-right:.2rem}
.abb-drinks-compact .abb-drink{display:grid;grid-template-columns:1fr auto;align-items:center;padding:.7rem .75rem;min-height:0}
.abb-drinks-compact .abb-drink-meta{gap:.08rem}
.abb-drinks-compact .abb-drink-meta b{font-size:.94rem;line-height:1.15}
.abb-drinks-compact .abb-drink-meta span{font-size:.78rem;line-height:1.2}
.abb-drinks-compact .abb-drink-price{font-size:.82rem;color:var(--ab-text)!important;font-weight:900}
.abb-drinks-compact .abb-counter{gap:.25rem}
.abb-drinks-compact .abb-counter button{width:30px;height:30px;border-radius:10px;color:var(--ab-text)!important;background:var(--ab-input)!important;border-color:var(--ab-border)!important}
.abb-drinks-compact .abb-counter input{width:62px;padding:.45rem .35rem;border-radius:10px;color:var(--ab-text)!important;background:var(--ab-input)!important;border-color:var(--ab-border)!important}
.abb-account-card .abb-username{margin-top:.5rem;max-width:360px}
.abb-account-card .abb-username input{margin-top:.3rem}
.abb-depot-choice strong,.abb-depot-choice b{color:var(--ab-text)!important}
@media(max-width:720px){.abb-drinks-compact{grid-template-columns:1fr;max-height:460px}.abb-drinks-compact .abb-drink{grid-template-columns:1fr}.abb-drinks-compact .abb-counter{justify-content:flex-end}.abb-steps{grid-template-columns:repeat(2,1fr)!important}.abb-cal-head b{font-size:.84rem}.abb-day em{display:none}}

/* v0.8.2 design-token fixes */
.abb-cal-nav{color:var(--ab-text)!important;background:var(--ab-card)!important;border:1px solid var(--ab-border)!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.abb-day.past{background:var(--ab-muted,#888)!important;color:var(--ab-bg,#111)!important;opacity:.45;cursor:not-allowed}
.abb-drink-price{display:block;margin-top:.15rem;font-weight:800;color:var(--ab-text)!important}
.abb-counter button{color:var(--ab-text)!important;background:var(--ab-card)!important;border-color:var(--ab-border)!important}

/* v0.8.3 final token/mobile fixes */
.abb-wizard,.abb-portal,.abb-booking-card,.abb-step,.abb-form{background:var(--ab-card)!important;color:var(--ab-text)!important}
.abb-nav{background:var(--ab-card)!important;border-top:1px solid var(--ab-border);z-index:20}
.abb-cal-nav,.abb-calendar a.abb-cal-nav{color:var(--ab-text)!important;background:var(--ab-input)!important;border-color:var(--ab-border)!important;min-width:40px;min-height:40px;font-size:1.5rem;font-weight:900}
.abb-day b{font-size:1rem}.abb-day span{font-size:.78rem}.abb-day{min-height:58px}
.abb-account-card .abb-checkline{justify-content:flex-start}.abb-account-card .abb-username{display:block!important;max-width:320px;margin-top:.4rem}.abb-account-card .abb-username input{width:100%}
.abb-drinks-compact .abb-drink{grid-template-columns:1fr auto!important}.abb-drinks-compact .abb-drink small{color:var(--ab-text)!important}.abb-counter button,[data-drink-count]{color:var(--ab-text)!important;background:var(--ab-input)!important;border:1px solid var(--ab-border)!important}
.abb-team-list{display:grid;gap:.75rem}
@media(max-width:720px){.abb-day b{font-size:.9rem}.abb-day{min-height:54px}.abb-nav{left:0;right:0;margin:0 -1rem;padding:.75rem 1rem}.abb-drinks-compact{max-height:none}.abb-drinks-compact .abb-drink{grid-template-columns:1fr!important}.abb-account-card{scroll-margin-top:90px}}

/* v0.8.4 team portal */
.abb-team-portal .abb-team-drink-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem}.abb-team-portal .abb-team-drink-list>div{border:1px solid var(--ab-border);background:var(--ab-card);border-radius:var(--ab-radius);padding:.75rem;display:grid;gap:.15rem}.abb-resp-table select,.abb-resp-table input{width:100%}

/* v0.8.5 final v1.0 polish */
.abb-wizard{padding:clamp(18px,3vw,30px)!important;max-width:980px;margin-inline:auto;overflow:hidden}.abb-wizard h2{font-size:clamp(2rem,5vw,3.4rem);margin:.15em 0 .35em}.abb-wizard>.ab-muted{display:none}.abb-steps{margin:.8rem 0 1.15rem!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}.abb-steps button{min-height:46px;line-height:1.1;white-space:normal;padding:.55rem .65rem!important;font-size:.92rem}.abb-calendar-month .abb-cal-head{display:grid;grid-template-columns:44px 1fr 44px;gap:.65rem;align-items:center;margin-bottom:1rem}.abb-month-picker{display:grid;gap:.4rem;text-align:center}.abb-month-picker select{max-width:260px;margin:0 auto;padding:.5rem .7rem;border-radius:999px;background:var(--ab-input);color:var(--ab-text);border:1px solid var(--ab-border);font-weight:800}.abb-cal-nav{width:44px;height:44px;padding:0!important}.abb-day-placeholder{min-height:var(--ab-booking-day-min-height,72px)}.abb-drinks-notice{font-size:1rem;padding:1.1rem}.abb-form-row.street{grid-template-columns:2fr .7fr}.abb-form-row.zipcity{grid-template-columns:.8fr 1.4fr}.abb-account-card{scroll-margin-top:80px}.abb-account-card .abb-username{display:none}.abb-account-card input[name=username]{max-width:320px}.abb-nav{margin-top:1rem}
@media(max-width:720px){.abb-wizard{padding:16px 14px!important;border-radius:18px!important}.abb-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.45rem!important}.abb-steps button{font-size:.82rem;min-height:42px}.abb-calendar-month .abb-cal-head{grid-template-columns:38px 1fr 38px}.abb-cal-nav{width:38px;height:38px}.abb-month-picker b{font-size:1rem}.abb-month-picker select{font-size:.85rem;max-width:190px}.abb-week span{font-size:.78rem}.abb-days{gap:.35rem!important}.abb-day{min-height:52px!important;border-radius:12px!important;padding:.35rem!important}.abb-day b{font-size:.95rem!important}.abb-day span{font-size:.72rem!important}.abb-legend{gap:.4rem}.abb-legend span{font-size:.78rem;padding:.45rem .55rem}.abb-form-row,.abb-form-row.street,.abb-form-row.zipcity{grid-template-columns:1fr 1fr!important;gap:.55rem}.abb-form-row:first-child,.abb-form-row:nth-child(2){grid-template-columns:1fr!important}.abb-nav{position:sticky;bottom:0;margin-left:-14px;margin-right:-14px;padding:.75rem 14px;background:var(--ab-card)!important}.abb-nav .ab-btn{min-width:112px}.abb-day-placeholder{min-height:52px}}
@media(max-width:390px){.abb-form-row,.abb-form-row.street,.abb-form-row.zipcity{grid-template-columns:1fr!important}.abb-steps{grid-template-columns:1fr 1fr!important}.abb-day b{font-size:.86rem!important}}


/* v0.8.6 calendar/drinks polish */
.abb-month-picker{display:flex!important;justify-content:center;align-items:center}
.abb-month-picker b{display:none!important}
.abb-drinks-reminder{margin-top:1rem!important;font-weight:800}
.abb-drinks-reminder input{width:auto!important;min-width:0!important}
.abb-calendar-month .abb-cal-head{grid-template-columns:44px minmax(180px,1fr) 44px!important}
@media(max-width:720px){.abb-calendar-month .abb-cal-head{grid-template-columns:38px minmax(140px,1fr) 38px!important}.abb-month-picker select{max-width:220px!important}}


/* v0.8.8 calendar range/legend polish - token based */
.abb-month-picker select{text-align:center;text-align-last:center}
.abb-cal-nav.is-disabled{opacity:.35!important;pointer-events:none;cursor:not-allowed}
.abb-legend{align-items:center}
.abb-legend span{white-space:nowrap}
@media(max-width:720px){
  .abb-legend{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem!important}
  .abb-legend span{text-align:center;font-size:.75rem!important;padding:.45rem .4rem!important;line-height:1.1}
}

/* v1.0.0-rc5 mobile calendar fix + mail/payment polish support */
.abb-calendar,.abb-calendar-month{max-width:100%;overflow:hidden;box-sizing:border-box}
.abb-calendar-month .abb-days,.abb-calendar-month .abb-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;box-sizing:border-box}
.abb-calendar-month .abb-days{gap:clamp(.25rem,.8vw,.55rem)!important}
.abb-calendar-month .abb-day,.abb-calendar-month .abb-day-placeholder{min-width:0;box-sizing:border-box;width:100%}
@media(max-width:720px){
  .abb-calendar-month{padding:.85rem!important;border-radius:18px!important}
  .abb-calendar-month .abb-days{gap:.28rem!important}
  .abb-calendar-month .abb-day,.abb-calendar-month .abb-day-placeholder{min-height:48px!important;border-radius:11px!important;padding:.28rem!important}
  .abb-calendar-month .abb-day b{font-size:.82rem!important;line-height:1!important}
  .abb-calendar-month .abb-day span{font-size:.64rem!important;line-height:1!important}
  .abb-calendar-month .abb-week span{font-size:.72rem!important;text-align:center}
  .abb-calendar-month .abb-cal-head{gap:.4rem!important;grid-template-columns:34px minmax(0,1fr) 34px!important}
  .abb-calendar-month .abb-cal-nav{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;font-size:1.1rem!important}
  .abb-month-picker select{max-width:100%!important;font-size:.82rem!important;padding:.42rem .55rem!important}
}
@media(max-width:380px){
  .abb-calendar-month{padding:.65rem!important}
  .abb-calendar-month .abb-days{gap:.22rem!important}
  .abb-calendar-month .abb-day,.abb-calendar-month .abb-day-placeholder{min-height:42px!important;border-radius:9px!important;padding:.22rem!important}
  .abb-calendar-month .abb-day b{font-size:.74rem!important}
  .abb-calendar-month .abb-day span{font-size:.58rem!important}
}

/* v1.0.0-rc6-fix1 team portal mobile-first */
.abb-team-portal{max-width:1080px;margin-inline:auto;padding:clamp(16px,3vw,28px)!important}
.abb-team-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.abb-team-top h2{margin:.05rem 0 .25rem;font-size:clamp(1.8rem,5vw,3rem)}
.abb-team-next{min-width:190px;border:1px solid var(--ab-border);background:var(--ab-input);border-radius:var(--ab-radius);padding:.9rem 1rem;text-align:right;box-shadow:var(--ab-shadow)}
.abb-team-next span{display:block;color:var(--ab-text-muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.abb-team-next strong{display:block;font-size:1.35rem;color:var(--ab-primary);line-height:1.15;margin:.2rem 0}
.abb-team-next em{font-style:normal;color:var(--ab-text);font-weight:700}
.abb-team-section{margin:1.2rem 0 1.8rem}.abb-team-section h3{margin:0 0 .75rem;font-size:1.25rem}
.abb-team-bookings{display:grid;gap:.65rem}
.abb-team-booking{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:var(--ab-card);padding:.85rem;box-shadow:var(--ab-shadow)}
.abb-team-booking.is-mine{border-color:var(--ab-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ab-primary) 20%,transparent),var(--ab-shadow)}
.abb-team-booking strong{display:block;font-size:1.05rem}.abb-team-booking span{display:block;color:var(--ab-text-muted);font-size:.9rem;margin-top:.15rem}.abb-team-booking em{display:inline-block;margin-top:.35rem;font-style:normal;color:var(--ab-primary);font-weight:800;font-size:.85rem}
.abb-team-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.abb-team-panel{border:1px solid var(--ab-border);background:var(--ab-card);border-radius:var(--ab-radius);padding:1rem;box-shadow:var(--ab-shadow)}
.abb-team-panel h3{margin-top:0}.abb-team-panel dl{display:grid;grid-template-columns:110px 1fr;gap:.5rem .8rem;margin:0}.abb-team-panel dt{color:var(--ab-text-muted);font-weight:700}.abb-team-panel dd{margin:0;font-weight:700}.abb-team-money{margin-top:1rem;color:var(--ab-primary);font-weight:800}
@media(max-width:720px){.abb-team-top{display:block}.abb-team-next{text-align:left;margin-top:1rem}.abb-team-booking{grid-template-columns:1fr}.abb-team-booking .ab-btn{width:100%;text-align:center}.abb-team-detail-grid{grid-template-columns:1fr}.abb-team-panel dl{grid-template-columns:1fr}.abb-team-panel dt{margin-top:.35rem}.abb-team-portal{border-radius:18px!important}}

/* v1.0.0-rc6-fix2 Portal Navigation Center / App Navigation */
.abb-portal-tabs button{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none!important}
.abb-portal-tabs .abb-nav-icon{font-size:1.05em;line-height:1}
.abb-portal-mobile-nav{display:none}
@media(max-width:720px){
  body:has(.abb-portal), body:has(.abb-team-portal){padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .abb-portal-tabs{position:fixed!important;left:0;right:0;bottom:0;z-index:9999;display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;gap:0!important;padding:.42rem .5rem calc(.42rem + env(safe-area-inset-bottom,0px))!important;background:color-mix(in srgb,var(--ab-card) 94%,transparent)!important;border-top:1px solid var(--ab-border)!important;box-shadow:0 -10px 28px rgba(0,0,0,.14)!important;backdrop-filter:blur(14px);border-radius:18px 18px 0 0!important;margin:0!important;overflow-x:auto;scrollbar-width:none}
  .abb-portal-tabs::-webkit-scrollbar{display:none}
  .abb-portal-tabs button{min-width:68px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.12rem!important;padding:.42rem .3rem!important;border:0!important;background:transparent!important;color:var(--ab-text-muted)!important;font-size:.68rem!important;font-weight:800!important;border-radius:14px!important;line-height:1.05!important;text-decoration:none!important;white-space:nowrap}
  .abb-portal-tabs button .abb-nav-icon{font-size:1.2rem!important;line-height:1!important}
  .abb-portal-tabs button.is-active{color:var(--ab-primary)!important;background:color-mix(in srgb,var(--ab-primary) 10%,transparent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary) 22%,transparent),0 0 18px color-mix(in srgb,var(--ab-primary) 18%,transparent)!important}
  .abb-tab-panel{padding-bottom:1rem!important;scroll-margin-top:80px}
  .abb-portal-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:.42rem .5rem calc(.42rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--ab-card) 94%,transparent);border-top:1px solid var(--ab-border);box-shadow:0 -10px 28px rgba(0,0,0,.14);backdrop-filter:blur(14px);border-radius:18px 18px 0 0;overflow-x:auto;scrollbar-width:none}
  .abb-portal-mobile-nav::-webkit-scrollbar{display:none}
  .abb-portal-mobile-nav a{min-width:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;padding:.45rem .3rem;border-radius:14px;color:var(--ab-text-muted)!important;text-decoration:none!important;font-size:.68rem;font-weight:800;line-height:1.05;white-space:nowrap}
  .abb-portal-mobile-nav a:focus,.abb-portal-mobile-nav a:hover{color:var(--ab-primary)!important;background:color-mix(in srgb,var(--ab-primary) 10%,transparent)!important;text-decoration:none!important}
  .abb-portal-mobile-nav .abb-nav-icon{font-size:1.2rem;line-height:1}
  .abb-team-portal{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important}
}


/* v1.0.0-rc6-fix3 Global Navigation Center */
.abb-site-mobile-nav{display:none}
@media(max-width:720px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .abb-site-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:.42rem .5rem calc(.42rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--ab-card) 94%,transparent);border-top:1px solid var(--ab-border);box-shadow:0 -10px 28px rgba(0,0,0,.14);backdrop-filter:blur(14px);border-radius:18px 18px 0 0;overflow-x:auto;scrollbar-width:none}
  .abb-site-mobile-nav::-webkit-scrollbar{display:none}
  .abb-site-mobile-nav a{min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;padding:.45rem .3rem;border-radius:14px;color:var(--ab-text-muted)!important;text-decoration:none!important;font-size:.68rem;font-weight:800;line-height:1.05;white-space:nowrap}
  .abb-site-mobile-nav a:hover,.abb-site-mobile-nav a:focus,.abb-site-mobile-nav a.is-active{color:var(--ab-primary)!important;background:color-mix(in srgb,var(--ab-primary) 10%,transparent)!important;text-decoration:none!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary) 18%,transparent)}
  .abb-site-mobile-nav .abb-nav-icon{font-size:1.2rem;line-height:1}
}


/* rc6-fix5 payment cards + mobile reservation tightening */
.abb-payment-options,.abb-deposit-options{margin-top:1rem}
.abb-payment-card{display:flex!important;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;min-height:112px}
.abb-payment-card .abb-pay-icon{font-size:1.8rem;line-height:1;margin-bottom:.15rem}
.abb-payment-card b{font-size:1.02rem}
.abb-payment-card span:not(.abb-pay-icon){font-size:.9rem;color:var(--ab-text-muted,#777);line-height:1.25}
.abb-payment-card.is-selected{box-shadow:0 0 0 1px var(--ab-primary,#c04),0 0 22px color-mix(in srgb,var(--ab-primary,#c04) 28%,transparent)}
.abb-online-payment-box{margin-top:1rem}.abb-online-payment-box .abp-card{max-width:100%;box-sizing:border-box}
@media(max-width:720px){
  .abb-wizard{margin-top:.35rem!important;padding:12px!important}
  .abb-wizard .abb-kicker{font-size:.72rem!important;margin-bottom:.25rem!important}
  .abb-wizard h2{font-size:clamp(2.3rem,11vw,3.3rem)!important;line-height:.98!important;margin:.05rem 0 .75rem!important}
  .abb-steps{margin:.5rem 0 .8rem!important;gap:.38rem!important}
  .abb-steps button{min-height:38px!important;padding:.48rem .35rem!important;font-size:.78rem!important;border-radius:999px!important}
  .abb-step h3{font-size:1.35rem!important;margin:.55rem 0 .75rem!important}
  .abb-calendar-month{padding:.6rem!important;margin-top:.25rem!important}
  .abb-calendar-month .abb-cal-head{margin-bottom:.55rem!important}
  .abb-week{margin:.55rem 0 .35rem!important}
  .abb-legend{display:grid!important;grid-template-columns:1fr 1fr!important;margin:.65rem 0!important}
  .abb-legend span{text-align:center!important}
  .abb-payment-options,.abb-deposit-options{grid-template-columns:1fr!important;gap:.55rem!important}
  .abb-payment-card{min-height:auto!important;padding:.8rem!important;display:grid!important;grid-template-columns:34px 1fr;column-gap:.65rem;align-items:center!important}
  .abb-payment-card .abb-pay-icon{grid-row:1 / span 2;font-size:1.55rem;margin:0}.abb-payment-card b{font-size:1rem}.abb-payment-card span:not(.abb-pay-icon){font-size:.82rem}
}
@media(max-width:390px){.abb-wizard h2{font-size:2.15rem!important}.abb-calendar-month .abb-day,.abb-calendar-month .abb-day-placeholder{min-height:43px!important}.abb-calendar-month .abb-day b{font-size:.76rem!important}.abb-calendar-month .abb-day span{font-size:.58rem!important}}

/* rc6-fix6 shorter reservation wizard + portal payment choice */
.abb-wizard .abb-main-title{white-space:nowrap;font-size:clamp(2.2rem,6vw,4rem);line-height:.98;margin:0 0 1rem!important}
.abb-payment-choice-form input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.abb-bank-paid-form{margin-top:1rem;border:1px solid var(--ab-border);background:var(--ab-card);border-radius:var(--ab-radius);padding:1rem}
.abb-bank-paid-form textarea{width:100%}
.abb-portal-payment-choice{margin-top:1rem}
.abb-portal-payment-choice h4{margin:1rem 0 .5rem}
@media(max-width:720px){
  body:has(.abb-wizard) .entry-title,
  body:has(.abb-wizard) .page-title,
  body:has(.abb-wizard) h1.wp-block-post-title,
  body:has(.abb-wizard) .wp-block-post-title,
  body:has(.abb-wizard) header.entry-header{display:none!important}
  .abb-wizard .abb-main-title{font-size:clamp(2.0rem,9.2vw,2.65rem)!important;white-space:nowrap!important;margin:.05rem 0 .65rem!important}
  .abb-step h3{display:none!important}
  .abb-wizard{padding-top:1rem!important}
}
@media(max-width:390px){.abb-wizard .abb-main-title{font-size:1.95rem!important}}


/* RC6 Fix7 */
.abb-glow-reminder{box-shadow:0 0 0 1px var(--ab-primary,#d6003f),0 0 18px rgba(214,0,63,.55)!important;border-color:var(--ab-primary,#d6003f)!important;animation:abbGlowPulse 1.8s ease-in-out infinite;}
@keyframes abbGlowPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
.abb-inline-form{margin:0 0 14px;}
.abb-payment-wizard-grid .abb-select-card,.abb-deposit-wizard-grid .abb-select-card{align-items:flex-start;text-align:left;}
.abb-pay-icon{font-size:1.55rem;display:block;margin-bottom:.25rem;}
body .abb-wizard .abb-main-title{display:none!important;}
.abb-wizard{margin-top:0!important;}
@media(max-width:760px){.abb-wizard.ab-card{padding:18px 14px!important}.abb-steps{gap:8px}.abb-steps button{font-size:14px;padding:10px 12px}.abb-calendar{margin-top:4px}.abb-card-grid.small{grid-template-columns:1fr!important}.abb-info-box{padding:16px!important}.abb-payment-wizard-grid,.abb-deposit-wizard-grid{gap:10px!important}}

/* RC6 Fix10: MyBar Portal V2 */
.abb-mybar{max-width:1060px;margin:0 auto;position:relative;padding-bottom:1rem!important}
.abb-mybar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.abb-mybar-head h2{margin:.15rem 0 0;font-size:clamp(2rem,5vw,4.2rem);line-height:.95}
.abb-mybar-switch select{min-width:260px;border-radius:999px;padding:.75rem 1rem;background:var(--ab-card);color:var(--ab-text);border:1px solid var(--ab-border);font-weight:800}
.abb-mybar-hero{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;border:1px solid var(--ab-border);background:linear-gradient(135deg,color-mix(in srgb,var(--ab-card) 92%,transparent),color-mix(in srgb,var(--ab-primary) 8%,transparent));border-radius:calc(var(--ab-radius,24px) + 6px);padding:1.2rem;box-shadow:0 18px 45px rgba(0,0,0,.12);margin-bottom:1rem}
.abb-mybar-hero span,.abb-mybar-money small,.abb-mybar-mini span{display:block;color:var(--ab-text-muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.abb-mybar-hero h3{font-size:clamp(2rem,5vw,4rem);margin:.1rem 0 .25rem;line-height:.95}.abb-mybar-hero p{margin:0;color:var(--ab-text-muted);font-weight:800}.abb-mybar-money{text-align:right}.abb-mybar-money strong{font-size:clamp(1.7rem,4vw,3rem);color:var(--ab-primary)}
.abb-mybar-countdown{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--ab-border);border-radius:999px;background:color-mix(in srgb,var(--ab-primary) 9%,var(--ab-card));font-weight:900}.abb-mybar-countdown span{color:var(--ab-primary)}
.abb-mybar-todos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.abb-mybar-todo{border:1px solid var(--ab-border);background:var(--ab-card);color:var(--ab-text);border-radius:var(--ab-radius,24px);padding:1rem;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:.3rem .65rem;align-items:center;cursor:pointer}.abb-mybar-todo span{font-size:1.6rem;grid-row:1 / span 2}.abb-mybar-todo b{font-size:1rem}.abb-mybar-todo em{font-style:normal;color:var(--ab-text-muted);font-size:.85rem}.abb-mybar-todo.hot{border-color:color-mix(in srgb,var(--ab-primary) 55%,var(--ab-border));box-shadow:0 0 24px color-mix(in srgb,var(--ab-primary) 18%,transparent)}.abb-mybar-todo.done{opacity:.82}.abb-mybar-todo.glow{border-color:var(--ab-primary);box-shadow:0 0 0 1px var(--ab-primary),0 0 24px color-mix(in srgb,var(--ab-primary) 40%,transparent)}
.abb-mybar-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:1rem 0}.abb-mybar-mini>div{border:1px solid var(--ab-border);background:var(--ab-card);border-radius:18px;padding:.9rem}.abb-mybar-mini b{font-size:1.05rem}.abb-mybar-docs{display:flex;gap:.6rem;flex-wrap:wrap}.abb-mybar-contact{border:1px solid var(--ab-border);background:var(--ab-card);border-radius:var(--ab-radius);padding:1rem;margin-bottom:1rem}.abb-mybar-logout{margin-bottom:5rem}.abb-mybar .abb-tab-panel{display:none}.abb-mybar .abb-tab-panel.is-active{display:block}.abb-mybar-nav{display:flex;gap:.5rem;margin:1rem 0;border:1px solid var(--ab-border);background:color-mix(in srgb,var(--ab-card) 90%,transparent);border-radius:999px;padding:.45rem;position:sticky;bottom:.75rem;z-index:20;box-shadow:0 15px 40px rgba(0,0,0,.14);backdrop-filter:blur(14px)}.abb-mybar-nav button{flex:1;border:0;background:transparent;color:var(--ab-text-muted);border-radius:999px;padding:.65rem .45rem;font-weight:900;display:flex;align-items:center;justify-content:center;gap:.35rem;cursor:pointer}.abb-mybar-nav button span{font-size:1.12rem}.abb-mybar-nav button.is-active{color:#fff;background:var(--ab-primary);box-shadow:0 0 20px color-mix(in srgb,var(--ab-primary) 35%,transparent)}.abb-mybar .abb-payment-choice-form .abb-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:720px){.abb-mybar{margin:.5rem!important;padding:1rem!important;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}.abb-mybar-head{display:block}.abb-mybar-head h2{font-size:2.25rem}.abb-mybar-switch select{width:100%;min-width:0;margin-top:.75rem}.abb-mybar-hero{grid-template-columns:1fr;padding:1rem;border-radius:22px}.abb-mybar-money{text-align:left}.abb-mybar-todos,.abb-mybar-mini{grid-template-columns:1fr}.abb-mybar-nav{position:fixed;left:0;right:0;bottom:0;margin:0;border-radius:18px 18px 0 0;padding:.42rem .5rem calc(.42rem + env(safe-area-inset-bottom,0px));z-index:10000;overflow-x:auto}.abb-mybar-nav button{min-width:76px;flex:1;flex-direction:column;gap:.1rem;font-size:.68rem;line-height:1.05;padding:.5rem .3rem}.abb-mybar-nav button span{font-size:1.25rem}.abb-mybar .abb-payment-choice-form .abb-card-grid{grid-template-columns:1fr}.abb-mybar-docs .ab-btn{width:100%;justify-content:center}.abb-mybar .abb-drink{grid-template-columns:1fr!important}.abb-mybar .abb-counter{justify-content:flex-start}.abb-mybar-logout{margin-bottom:0}}

/* MyBar V2 compact polish */
body:has(.abb-mybar) .entry-title,
body:has(.abb-mybar) h1.entry-title,
body:has(.abb-mybar) .page-title{display:none!important}
.abb-mybar{max-width:960px!important;padding:1rem!important}
.abb-mybar-head{align-items:center!important;margin-bottom:.7rem!important}
.abb-mybar-head h2{font-size:1.05rem!important;line-height:1.1!important;margin:0!important;color:var(--ab-text-muted);font-weight:900;letter-spacing:.02em}
.abb-mybar-switch select{min-width:250px!important;padding:.45rem .75rem!important;font-size:.88rem!important}
.abb-mybar-hero{padding:.8rem!important;border-radius:18px!important;margin-bottom:.7rem!important;box-shadow:0 10px 30px rgba(0,0,0,.10)!important}
.abb-mybar-hero span,.abb-mybar-money small,.abb-mybar-mini span{font-size:.62rem!important;letter-spacing:.05em!important}
.abb-mybar-hero h3{font-size:clamp(1.65rem,3vw,2.4rem)!important;margin:.05rem 0 .2rem!important}
.abb-mybar-hero p{font-size:.9rem!important;line-height:1.25!important}
.abb-mybar-money strong{font-size:clamp(1.5rem,3vw,2.35rem)!important}
.abb-mybar-money.is-paid small,.abb-mybar-money.is-paid strong{color:#23c46b!important}
.abb-mybar-todos{gap:.55rem!important;margin:.7rem 0!important}.abb-mybar-todo{padding:.75rem!important;border-radius:16px!important;gap:.18rem .5rem!important}.abb-mybar-todo span{font-size:1.25rem!important}.abb-mybar-todo b{font-size:.9rem!important}.abb-mybar-todo em{font-size:.75rem!important}
.abb-mybar-mini{gap:.55rem!important;margin:.7rem 0!important}.abb-mybar-mini>div{border-radius:14px!important;padding:.65rem!important}.abb-mybar-mini b{font-size:.92rem!important}
.abb-mybar .abb-tab-panel h3{font-size:1.05rem!important;margin:.7rem 0!important}.abb-mybar .abb-tab-panel{padding-bottom:.6rem!important}.abb-mybar-docs{gap:.45rem!important}.abb-mybar-docs .ab-btn{padding:.55rem .8rem!important;font-size:.85rem!important}
.abb-mybar-contact{padding:.75rem!important;border-radius:16px!important;margin-bottom:.6rem!important}
.abb-mybar-nav{margin:.8rem 0 0!important;padding:.35rem!important;border-radius:999px!important;bottom:.5rem!important}
.abb-mybar-nav button,.abb-mybar-nav a{flex:1;border:0;background:transparent;color:var(--ab-text-muted);border-radius:999px;padding:.5rem .35rem;font-weight:900;display:flex;align-items:center;justify-content:center;gap:.3rem;cursor:pointer;text-decoration:none!important;font-size:.82rem;line-height:1}
.abb-mybar-nav button span,.abb-mybar-nav a span{font-size:1rem!important}.abb-mybar-nav button.is-active,.abb-mybar-nav a.is-active{color:#fff;background:var(--ab-primary);box-shadow:0 0 18px color-mix(in srgb,var(--ab-primary) 32%,transparent)}
@media(max-width:720px){.abb-mybar{margin:.4rem!important;padding:.75rem!important;padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}.abb-mybar-head{display:flex!important;gap:.5rem!important}.abb-mybar-head h2{font-size:.95rem!important;white-space:nowrap}.abb-mybar-switch{flex:1}.abb-mybar-switch select{width:100%!important;min-width:0!important;margin-top:0!important;font-size:.78rem!important;padding:.42rem .65rem!important}.abb-mybar-hero{grid-template-columns:1fr auto!important;padding:.7rem!important}.abb-mybar-hero h3{font-size:1.75rem!important}.abb-mybar-money{text-align:right!important}.abb-mybar-money strong{font-size:1.45rem!important}.abb-mybar-todos,.abb-mybar-mini{grid-template-columns:1fr!important}.abb-mybar-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;border-radius:18px 18px 0 0!important;padding:.38rem .45rem calc(.38rem + env(safe-area-inset-bottom,0px))!important;overflow-x:auto!important}.abb-mybar-nav button,.abb-mybar-nav a{min-width:66px!important;flex:1!important;flex-direction:column!important;gap:.08rem!important;font-size:.62rem!important;padding:.45rem .25rem!important}.abb-mybar-nav button span,.abb-mybar-nav a span{font-size:1.15rem!important}}

/* RC7: MyBar mobile-first refinements */
.abb-mybar-head h2::after{content:"";}
.abb-mybar-todo.open,.abb-contract-missing{border-color:#d6a900!important;box-shadow:0 0 0 1px rgba(214,169,0,.55),0 0 22px rgba(214,169,0,.24)!important}
.abb-mybar-todo.done,.abb-contract-ok{border-color:#23c46b!important;box-shadow:0 0 0 1px rgba(35,196,107,.45),0 0 22px rgba(35,196,107,.20)!important}
.abb-status-pill b{display:inline-flex;align-items:center;gap:.35rem}.abb-status-pill b::after{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}
.abb-status-request,.abb-status-pending{color:#f2c94c!important;border-color:rgba(242,201,76,.45)!important;box-shadow:0 0 18px rgba(242,201,76,.14)}
.abb-status-confirmed,.abb-status-paid{color:#23c46b!important;border-color:rgba(35,196,107,.45)!important;box-shadow:0 0 18px rgba(35,196,107,.14)}
.abb-status-cancel_requested,.abb-status-cancelled{color:#ff4f6d!important;border-color:rgba(255,79,109,.5)!important;box-shadow:0 0 18px rgba(255,79,109,.16)}
.abb-mybar .abb-payment-choice-form .abb-card-grid{gap:.45rem!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.abb-mybar .abb-payment-choice-form .abb-select-card{min-height:0!important;padding:.55rem .65rem!important;border-radius:14px!important}.abb-mybar .abb-payment-choice-form .abb-select-card b{font-size:.9rem!important}.abb-mybar .abb-payment-choice-form .abb-select-card span:not(.abb-pay-icon){display:none!important}.abb-mybar .abb-payment-choice-form .abb-pay-icon{font-size:1.1rem!important}.abb-mybar .abb-payment-choice-form h4{margin:.7rem 0 .35rem!important;font-size:.95rem!important}.abb-mybar .abb-payment-choice-form .ab-btn-primary{padding:.65rem 1rem!important;width:auto!important;min-width:220px!important}
.abb-doc-layout{display:grid;gap:.8rem}.abb-upload-card{border:1px solid var(--ab-border);background:var(--ab-card);border-radius:18px;padding:.85rem}.abb-upload-card p{margin:.25rem 0 .65rem}.abb-compact-upload{display:grid!important;grid-template-columns:1fr auto!important;gap:.55rem!important;align-items:center!important}.abb-compact-upload input[type=file]{border:1px solid var(--ab-border);border-radius:12px;padding:.45rem;background:color-mix(in srgb,var(--ab-card) 92%,#fff)}.abb-compact-upload .ab-btn{padding:.55rem .85rem!important}.abb-mybar-docs .ab-btn{min-width:0!important}
.abb-cancel-box{border:1px solid rgba(255,79,109,.35);background:linear-gradient(135deg,rgba(255,79,109,.10),color-mix(in srgb,var(--ab-card) 96%,transparent));border-radius:18px;padding:1rem}.abb-cancel-fee{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;border:1px solid rgba(255,79,109,.35);border-radius:16px;padding:.75rem;margin:.7rem 0}.abb-cancel-fee span,.abb-cancel-fee small{color:var(--ab-text-muted);font-weight:800}.abb-cancel-fee b{color:var(--ab-primary);font-size:1.25rem}.abb-cancel-form select{width:100%;border-radius:14px;border:1px solid var(--ab-border);background:var(--ab-card);color:var(--ab-text);padding:.7rem;font-weight:800}
.abb-mybar-nav [data-portal-tab="cancel"]{color:#ff4f6d!important}.abb-mybar-nav [data-portal-tab="cancel"].is-active{color:#fff!important;background:linear-gradient(135deg,var(--ab-primary),#ff4f6d)!important}
@media(max-width:720px){.abb-mybar .abb-payment-choice-form .abb-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.abb-mybar .abb-payment-choice-form .abb-select-card{padding:.5rem .35rem!important;text-align:center}.abb-mybar .abb-payment-choice-form .abb-select-card b{font-size:.78rem!important}.abb-mybar .abb-payment-choice-form .abb-pay-icon{font-size:1.05rem!important}.abb-mybar .abb-payment-choice-form .ab-btn-primary{width:100%!important;min-width:0!important}.abb-compact-upload{grid-template-columns:1fr!important}.abb-mybar-head:has(+ .abb-tab-panel[data-portal-panel="profile"].is-active) .abb-mybar-switch{display:none!important}}

/* RC8 MyBar mobile-first refinements */
body:has(.abb-mybar) .entry-header,
body:has(.abb-mybar) .entry-title,
body:has(.abb-mybar) h1,
body:has(.abb-mybar) .wp-block-post-title,
body:has(.abb-mybar) .page-title,
body:has(.abb-mybar) .post-title,
body:has(.abb-mybar) .et_pb_title_container{display:none!important}
.abb-mybar-todo.contract-missing,.abb-contract-missing{border-color:#ff0050!important;box-shadow:0 0 0 1px rgba(255,0,80,.85),0 0 34px rgba(255,0,80,.52)!important}
.abb-mybar-todo.contract-ok,.abb-contract-ok{border-color:#23c46b!important;box-shadow:0 0 0 1px rgba(35,196,107,.75),0 0 32px rgba(35,196,107,.42)!important}
.abb-mybar-mini-status{grid-template-columns:minmax(0,1fr)!important;max-width:430px!important}
.abb-payment-summary-line{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;border:1px solid var(--ab-border);background:var(--ab-card);border-radius:18px;padding:.75rem .9rem;margin:.7rem 0 1rem;font-weight:900}.abb-payment-summary-line b{color:var(--ab-primary)}.abb-payment-summary-line strong{margin-left:auto;color:var(--ab-primary)}.abb-payment-summary-line.is-paid strong{color:#23c46b!important}.abb-payment-summary-line span{color:var(--ab-text-muted)}
.abb-mybar .abb-payment-card b{display:inline-flex!important;align-items:baseline!important;gap:.35rem!important}.abb-mybar .abb-payment-card small{font-size:.68rem!important;color:var(--ab-text-muted)!important;font-weight:900!important;white-space:nowrap!important}
.abb-mybar .abb-form-row.two-one{grid-template-columns:minmax(0,2fr) minmax(90px,.6fr)!important}.abb-mybar .abb-profile-form .abb-form-row:has(input[name="zip"]){grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr)!important}
.abb-upload-card.abb-contract-missing strong{color:var(--ab-primary)!important}.abb-upload-card.abb-contract-missing{border-width:2px!important}.abb-success-box.abb-contract-ok{border:2px solid #23c46b!important;background:color-mix(in srgb,#23c46b 10%,var(--ab-card))!important}
@media(max-width:720px){.abb-payment-summary-line{display:grid!important;grid-template-columns:1fr auto!important;gap:.25rem .5rem!important}.abb-payment-summary-line strong{grid-column:1 / -1;margin-left:0!important}.abb-mybar .abb-form-row.two-one,.abb-mybar .abb-profile-form .abb-form-row:has(input[name="zip"]){grid-template-columns:1fr 1fr!important}}

/* RC9 MyBar mobile polish: compact 4 status tiles */
.abb-mybar-head{display:flex!important;align-items:center!important;gap:.75rem!important}
.abb-mybar-head h2{font-size:1.08rem!important;color:var(--ab-text)!important}
.abb-mybar-todos{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.55rem!important;margin:.75rem 0 1rem!important}
.abb-mybar-todo{min-height:78px!important;padding:.58rem .7rem!important;border-radius:14px!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-areas:"icon title" "icon text"!important;align-items:center!important;align-content:center!important;column-gap:.55rem!important;row-gap:.05rem!important;text-align:left!important;background:var(--ab-card)!important}
.abb-mybar-todo span{grid-area:icon!important;font-size:1.15rem!important;line-height:1!important}
.abb-mybar-todo b{grid-area:title!important;font-size:.82rem!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.abb-mybar-todo em{grid-area:text!important;font-size:.68rem!important;line-height:1.15!important;font-style:normal!important;color:var(--ab-text-muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.abb-mybar-todo.hot{border-color:color-mix(in srgb,var(--ab-primary) 70%,transparent)!important;box-shadow:0 0 18px color-mix(in srgb,var(--ab-primary) 18%,transparent)!important}
.abb-mybar-todo.glow{border-color:color-mix(in srgb,var(--ab-primary) 70%,transparent)!important;box-shadow:0 0 20px color-mix(in srgb,var(--ab-primary) 22%,transparent)!important}
.abb-mybar-todo.status-tile{cursor:default!important}
.abb-mybar-todo.status-request,.abb-mybar-todo.status-pending{border-color:rgba(242,201,76,.55)!important;box-shadow:0 0 20px rgba(242,201,76,.14)!important}.abb-mybar-todo.status-request b,.abb-mybar-todo.status-pending b,.abb-mybar-todo.status-request em,.abb-mybar-todo.status-pending em{color:#f2c94c!important}
.abb-mybar-todo.status-confirmed,.abb-mybar-todo.status-paid{border-color:rgba(35,196,107,.55)!important;box-shadow:0 0 20px rgba(35,196,107,.14)!important}.abb-mybar-todo.status-confirmed b,.abb-mybar-todo.status-paid b,.abb-mybar-todo.status-confirmed em,.abb-mybar-todo.status-paid em{color:#23c46b!important}
.abb-mybar-todo.status-cancel_requested,.abb-mybar-todo.status-cancelled{border-color:rgba(255,79,109,.65)!important;box-shadow:0 0 20px rgba(255,79,109,.16)!important}.abb-mybar-todo.status-cancel_requested b,.abb-mybar-todo.status-cancelled b,.abb-mybar-todo.status-cancel_requested em,.abb-mybar-todo.status-cancelled em{color:#ff4f6d!important}
.abb-mybar-docs .ab-btn{background:transparent!important;color:var(--ab-text)!important;border:1px solid var(--ab-border)!important;box-shadow:none!important}.abb-mybar-docs .ab-btn.abb-doc-contract-tab.contract-missing{border-color:#ff0050!important;box-shadow:0 0 0 1px rgba(255,0,80,.82),0 0 26px rgba(255,0,80,.44)!important}.abb-mybar-docs .ab-btn.abb-doc-contract-tab.contract-ok{border-color:#23c46b!important;box-shadow:0 0 0 1px rgba(35,196,107,.76),0 0 26px rgba(35,196,107,.38)!important}
@media(max-width:900px){.abb-mybar-todos{grid-template-columns:repeat(2,minmax(0,1fr))!important}.abb-mybar-todo{min-height:70px!important}}
@media(max-width:520px){.abb-mybar-todos{grid-template-columns:1fr!important}.abb-mybar-todo{min-height:62px!important;padding:.52rem .6rem!important}.abb-mybar-todo b{font-size:.78rem!important}.abb-mybar-todo em{font-size:.64rem!important}}

/* RC10 MyBar payment flow + toast UX */
.abb-result{position:fixed!important;top:18px!important;right:18px!important;z-index:99999!important;max-width:min(420px,calc(100vw - 32px))!important;border-radius:16px!important;padding:.85rem 1rem!important;background:color-mix(in srgb,#23c46b 18%,var(--ab-card))!important;border:1px solid rgba(35,196,107,.55)!important;box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 24px rgba(35,196,107,.16)!important;color:var(--ab-text)!important;font-weight:900!important;transition:opacity .2s ease,transform .2s ease!important}.abb-result.abb-error{background:color-mix(in srgb,#ff0050 18%,var(--ab-card))!important;border-color:rgba(255,0,80,.62)!important;box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 24px rgba(255,0,80,.20)!important}.abb-toast-hide{opacity:0!important;transform:translateY(-8px)!important}
.abb-mybar-money em{display:block!important;margin-top:.25rem!important;font-style:normal!important;font-size:.76rem!important;color:#f2c94c!important;font-weight:900!important}.abb-mybar-money.is-paid em{color:#f2c94c!important}.abb-payment-summary-line small{flex-basis:100%!important;color:#f2c94c!important;font-weight:900!important;margin-left:calc(0px)!important}.abb-bank-actions{display:flex!important;gap:.55rem!important;align-items:center!important;flex-wrap:wrap!important;margin-top:.6rem!important}.abb-bank-actions .ab-btn{min-width:0!important}.abb-mybar .abb-payment-choice-form .abb-payment-card small{font-size:.66rem!important}.abb-mybar .abb-payment-choice-form .abb-card-grid.small{max-width:760px!important}.abb-mybar-docs .ab-btn:not(.abb-doc-contract-tab){background:transparent!important;color:var(--ab-text)!important;border:1px solid var(--ab-border)!important;box-shadow:none!important}
@media(max-width:720px){.abb-result{top:12px!important;right:12px!important;left:12px!important;max-width:none!important}.abb-bank-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.abb-bank-actions .ab-btn{text-align:center!important}.abb-payment-summary-line small{grid-column:1 / -1!important}}


/* RC11: payment UI polish and lock states */
.abb-pdf-invoice-glow{border-color:var(--ab-primary,#d60045)!important;color:var(--ab-primary,#d60045)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary,#d60045) 55%,transparent),0 0 22px color-mix(in srgb,var(--ab-primary,#d60045) 35%,transparent)!important;font-weight:900!important}
.abb-mybar .abb-payment-card.is-paid{border-color:#23c46b!important;box-shadow:0 0 0 1px color-mix(in srgb,#23c46b 70%,transparent),0 0 24px color-mix(in srgb,#23c46b 35%,transparent)!important;background:color-mix(in srgb,#23c46b 7%,var(--ab-card,#151515))!important}
.abb-mybar .abb-payment-card.is-paid b,.abb-mybar .abb-payment-card.is-paid small{color:#23c46b!important}
.abb-mybar .abb-payment-card.is-disabled{opacity:.42!important;filter:grayscale(1)!important;box-shadow:none!important;cursor:not-allowed!important}
.abb-mybar .abb-payment-card.is-disabled input{pointer-events:none!important}
.abb-online-payment-box .abp-card.abp-payment-box{border-color:var(--ab-primary,#d60045)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary,#d60045) 55%,transparent),0 0 26px color-mix(in srgb,var(--ab-primary,#d60045) 32%,transparent)!important;background:var(--ab-card,#151515)!important;padding:1rem 1.15rem!important}
.abb-online-payment-box .abp-payment-line{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:1rem!important;width:100%!important}
.abb-online-payment-box .abp-payment-title{display:flex!important;gap:.8rem!important;align-items:center!important;min-width:0!important}
.abb-online-payment-box .abp-payment-title strong{color:var(--ab-primary,#d60045)!important;font-weight:900!important;white-space:nowrap!important}
.abb-online-payment-box .abp-payment-title span{font-weight:900!important;white-space:nowrap!important}
.abb-online-payment-box .abp-payment-form{justify-self:start!important;margin:0!important}
.abb-online-payment-box .abp-button{box-shadow:0 0 24px color-mix(in srgb,var(--ab-primary,#d60045) 35%,transparent)!important;white-space:nowrap!important}
.abb-online-payment-box .abp-payment-amount{justify-self:end!important;color:var(--ab-primary,#d60045)!important;font-size:1.35rem!important;font-weight:1000!important;white-space:nowrap!important}
.abb-online-payment-box .abp-ok{color:#23c46b!important;font-weight:900!important;margin:0!important}
@media(max-width:720px){.abb-online-payment-box .abp-payment-line{grid-template-columns:1fr!important;gap:.7rem!important}.abb-online-payment-box .abp-payment-form,.abb-online-payment-box .abp-payment-amount{justify-self:stretch!important}.abb-online-payment-box .abp-button{width:100%!important}.abb-online-payment-box .abp-payment-title{justify-content:space-between!important}}

/* RC12: MyBar autosave, neutral glow buttons, profile compactness, cancellation polish */
.abb-mybar-nav button.is-active,.abb-mybar-nav a.is-active,
.abb-mybar-nav [data-portal-tab="cancel"].is-active{
  color:var(--ab-primary,#d60045)!important;
  background:transparent!important;
  border:1px solid color-mix(in srgb,var(--ab-primary,#d60045) 70%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary,#d60045) 38%,transparent),0 0 20px color-mix(in srgb,var(--ab-primary,#d60045) 32%,transparent)!important;
}
.abb-outline-glow,.abb-mybar .ab-btn-primary,.abb-online-payment-box .abp-button{
  background:var(--ab-card,#fff)!important;
  color:var(--ab-primary,#d60045)!important;
  border:1px solid color-mix(in srgb,var(--ab-primary,#d60045) 70%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary,#d60045) 25%,transparent),0 0 22px color-mix(in srgb,var(--ab-primary,#d60045) 30%,transparent)!important;
  border-radius:999px!important;
}
.abb-payment-choice-form.abb-payment-autosave{gap:.65rem!important}.abb-payment-choice-form.abb-payment-autosave .ab-btn-primary{display:none!important}
.abb-online-payment-box .abp-payment-line{grid-template-columns:1fr auto 1fr!important}.abb-online-payment-box .abp-payment-title{justify-self:start!important}.abb-online-payment-box .abp-payment-form{justify-self:center!important}.abb-online-payment-box .abp-payment-amount{justify-self:end!important}
.abb-profile-form{max-width:820px!important}.abb-mybar .abb-profile-form .abb-form-row{grid-template-columns:minmax(0,.9fr) minmax(0,.9fr)!important;max-width:760px!important}.abb-mybar .abb-form-row.two-one{grid-template-columns:minmax(0,1fr) minmax(74px,.22fr)!important;max-width:760px!important}.abb-mybar .abb-profile-form .abb-form-row:has(input[name="zip"]){grid-template-columns:minmax(95px,.28fr) minmax(0,.72fr)!important;max-width:760px!important}.abb-readonly-input{background:color-mix(in srgb,var(--ab-text-muted,#888) 10%,var(--ab-input,#fff))!important;color:var(--ab-text-muted,#777)!important;cursor:not-allowed!important}
.abb-cancel-box{background:var(--ab-card,#fff)!important;border:1px solid color-mix(in srgb,var(--ab-primary,#d60045) 35%,var(--ab-border,#ddd))!important;box-shadow:0 0 22px color-mix(in srgb,var(--ab-primary,#d60045) 12%,transparent)!important}.abb-cancel-box h4{font-size:1.35rem!important;margin:.1rem 0 .3rem!important}.abb-cancel-form .ab-btn-primary{background:transparent!important}.abb-cancel-payment-box{margin:.8rem 0!important}
@media(max-width:720px){.abb-online-payment-box .abp-payment-line{grid-template-columns:1fr!important}.abb-mybar .abb-profile-form .abb-form-row,.abb-mybar .abb-form-row.two-one,.abb-mybar .abb-profile-form .abb-form-row:has(input[name="zip"]){grid-template-columns:1fr 1fr!important;max-width:none!important}}


/* RC13: version fix, glow-only actions, payment line polish */
.abb-mybar .ab-btn-primary,
.abb-mybar-nav button.is-active,
.abb-mybar-nav a.is-active,
.abb-mybar-nav [data-portal-tab].is-active,
.abb-online-payment-box .abp-button{
  background:transparent!important;
  color:var(--ab-primary,#d60045)!important;
  border:1px solid color-mix(in srgb,var(--ab-primary,#d60045) 74%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary,#d60045) 35%,transparent),0 0 22px color-mix(in srgb,var(--ab-primary,#d60045) 28%,transparent)!important;
}
.abb-mybar-nav button.is-active,
.abb-mybar-nav a.is-active,
.abb-mybar-nav [data-portal-tab].is-active{font-weight:900!important}
.abb-online-payment-box .abp-card{background:transparent!important;border-color:color-mix(in srgb,var(--ab-primary,#d60045) 55%,var(--ab-border))!important;box-shadow:0 0 24px color-mix(in srgb,var(--ab-primary,#d60045) 18%,transparent)!important}
.abb-online-payment-box .abp-payment-line{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:1rem!important}
.abb-online-payment-box .abp-payment-form{justify-self:center!important}
.abb-online-payment-box .abp-payment-amount{justify-self:end!important;font-size:1.25rem!important;font-weight:950!important;color:var(--ab-primary,#d60045)!important}
.abb-online-payment-box .abp-payment-title{justify-self:start!important;display:flex!important;align-items:center!important;gap:.8rem!important;flex-wrap:wrap!important}
.abb-online-payment-box .abp-button{min-width:170px!important;border-radius:999px!important}
.abb-bank-actions .abb-pdf-invoice-glow{border-color:color-mix(in srgb,var(--ab-primary,#d60045) 70%,transparent)!important;box-shadow:0 0 20px color-mix(in srgb,var(--ab-primary,#d60045) 25%,transparent)!important;color:var(--ab-primary,#d60045)!important}
.abb-mybar .abb-profile-form{max-width:760px!important}.abb-mybar .abb-profile-form input{max-width:100%!important}.abb-readonly-input{background:color-mix(in srgb,#9aa0a6 14%,var(--ab-input,#fff))!important;color:color-mix(in srgb,var(--ab-text) 65%,#777)!important}
.abb-cancel-box .ab-btn,.abb-cancel-box .ab-btn-primary{background:transparent!important;color:var(--ab-primary,#d60045)!important;border:1px solid color-mix(in srgb,var(--ab-primary,#d60045) 70%,transparent)!important;box-shadow:0 0 20px color-mix(in srgb,var(--ab-primary,#d60045) 22%,transparent)!important}
@media(max-width:720px){.abb-online-payment-box .abp-payment-line{grid-template-columns:1fr!important;text-align:left!important}.abb-online-payment-box .abp-payment-form,.abb-online-payment-box .abp-payment-amount{justify-self:stretch!important}.abb-online-payment-box .abp-button{width:100%!important}.abb-online-payment-box .abp-payment-amount{text-align:right!important}}


/* RC14 Mobile Payment Polish */
.abb-mybar .abb-payment-choice-form .abb-payment-card b{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:.35rem!important;
  min-width:0!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card b small{
  order:1!important;
  color:var(--ab-primary,#d60046)!important;
  font-size:.74rem!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card b span{
  order:2!important;
  color:var(--ab-text,#fff)!important;
  font-size:.92rem!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.abb-mybar .abb-payment-choice-form h4{
  font-size:1.15rem!important;
  margin:1.1rem 0 .55rem!important;
}
@media(max-width:720px){
  .abb-mybar .abb-payment-choice-form .abb-card-grid.small{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.45rem!important;
    max-width:100%!important;
  }
  .abb-mybar .abb-payment-choice-form .abb-payment-card{
    min-width:0!important;
    min-height:72px!important;
    padding:.48rem .25rem!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
    gap:.18rem!important;
    overflow:hidden!important;
  }
  .abb-mybar .abb-payment-choice-form .abb-payment-card .abb-pay-icon{
    font-size:1.05rem!important;
    line-height:1!important;
    margin:0!important;
  }
  .abb-mybar .abb-payment-choice-form .abb-payment-card b{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:.14rem!important;
    width:100%!important;
  }
  .abb-mybar .abb-payment-choice-form .abb-payment-card b small{
    order:1!important;
    font-size:.69rem!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .abb-mybar .abb-payment-choice-form .abb-payment-card b span{
    order:2!important;
    font-size:.78rem!important;
    max-width:100%!important;
  }
  .abb-mybar .abb-payment-choice-form h4{
    font-size:1.05rem!important;
    margin:1.25rem 0 .5rem!important;
  }
  .abb-payment-summary-line{
    grid-template-columns:1fr!important;
  }
  .abb-payment-summary-line b,
  .abb-payment-summary-line span,
  .abb-payment-summary-line strong,
  .abb-payment-summary-line small{
    grid-column:1!important;
  }
  .abb-mybar-switch select{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* RC15: Global bottom navigation on mobile, tablet and desktop */
.abb-site-mobile-nav{
  position:fixed!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  right:auto!important;
  bottom:18px!important;
  z-index:9999!important;
  display:flex!important;
  gap:.45rem!important;
  width:min(92vw,980px)!important;
  padding:.45rem!important;
  background:color-mix(in srgb,var(--ab-card,#171717) 92%,transparent)!important;
  border:1px solid var(--ab-border,rgba(255,255,255,.14))!important;
  border-radius:999px!important;
  box-shadow:0 16px 42px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(14px)!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.abb-site-mobile-nav::-webkit-scrollbar{display:none!important}
.abb-site-mobile-nav a,
.abb-site-mobile-nav button{
  flex:1 0 auto!important;
  min-width:88px!important;
  border:0!important;
  background:transparent!important;
  color:var(--ab-text-muted,#bbb)!important;
  border-radius:999px!important;
  padding:.55rem .7rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.35rem!important;
  font-weight:900!important;
  font-size:.84rem!important;
  line-height:1!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.abb-site-mobile-nav a:hover,
.abb-site-mobile-nav button:hover,
.abb-site-mobile-nav .is-active{
  color:var(--ab-primary,#e40046)!important;
  background:color-mix(in srgb,var(--ab-primary,#e40046) 10%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary,#e40046) 30%,transparent),0 0 18px color-mix(in srgb,var(--ab-primary,#e40046) 20%,transparent)!important;
}
body:has(.abb-site-mobile-nav){padding-bottom:88px!important}
@media(max-width:1024px) and (min-width:721px){.abb-hide-tablet{display:none!important}}
@media(min-width:1025px){.abb-hide-desktop{display:none!important}}
@media(max-width:720px){
  .abb-hide-mobile{display:none!important}
  .abb-site-mobile-nav{left:0!important;right:0!important;transform:none!important;bottom:0!important;width:auto!important;border-radius:18px 18px 0 0!important;padding:.38rem .45rem calc(.38rem + env(safe-area-inset-bottom,0px))!important}
  .abb-site-mobile-nav a,.abb-site-mobile-nav button{min-width:66px!important;flex-direction:column!important;gap:.08rem!important;font-size:.62rem!important;padding:.45rem .25rem!important}
}

/* RC15: Payment method cards show label only; amount stays in summary/payment action */
.abb-mybar .abb-payment-choice-form .abb-payment-card b{
  justify-items:start!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card b span{
  font-size:.95rem!important;
}
@media(max-width:720px){
  .abb-mybar .abb-payment-choice-form .abb-payment-card b{justify-items:center!important}
}

/* RC15 team workspace + responsive global bottom navigation */
.abb-site-mobile-nav,
.abb-team-mobile-nav{
  display:grid!important;
  position:sticky!important;
  bottom:18px!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:1080px!important;
  margin:clamp(18px,3vw,34px) auto 0!important;
  grid-auto-flow:column!important;
  grid-auto-columns:1fr!important;
  gap:.35rem!important;
  padding:.45rem!important;
  border:1px solid var(--ab-border)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--ab-card) 94%,transparent)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(14px)!important;
  z-index:50!important;
  box-sizing:border-box!important;
}
.abb-site-mobile-nav a,.abb-site-mobile-nav button,
.abb-team-mobile-nav a,.abb-team-mobile-nav button{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.35rem!important;
  padding:.65rem .75rem!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--ab-text-muted)!important;
  text-decoration:none!important;
  font-size:.82rem!important;
  font-weight:900!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.abb-site-mobile-nav a:hover,.abb-site-mobile-nav a:focus,.abb-site-mobile-nav a.is-active,.abb-site-mobile-nav button:hover,.abb-site-mobile-nav button:focus,.abb-site-mobile-nav button.is-active,
.abb-team-mobile-nav a:hover,.abb-team-mobile-nav a:focus,.abb-team-mobile-nav a.is-active,.abb-team-mobile-nav button:hover,.abb-team-mobile-nav button:focus,.abb-team-mobile-nav button.is-active{
  color:var(--ab-primary)!important;
  background:color-mix(in srgb,var(--ab-primary) 12%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary) 24%,transparent),0 0 18px color-mix(in srgb,var(--ab-primary) 20%,transparent)!important;
}
.abb-site-mobile-nav .abb-nav-icon,.abb-team-mobile-nav .abb-nav-icon{font-size:1rem!important;line-height:1!important}
.abb-hide-desktop{display:none!important}
@media(min-width:721px) and (max-width:1024px){.abb-hide-tablet{display:none!important}.abb-site-mobile-nav,.abb-team-mobile-nav{max-width:calc(100% - 32px)!important}}
@media(max-width:720px){
  .abb-hide-mobile{display:none!important}
  .abb-site-mobile-nav,.abb-team-mobile-nav{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:none!important;margin:0!important;border-radius:18px 18px 0 0!important;padding:.42rem .5rem calc(.42rem + env(safe-area-inset-bottom,0px))!important;z-index:9999!important;overflow-x:auto!important;scrollbar-width:none!important
  }
  .abb-site-mobile-nav a,.abb-site-mobile-nav button,.abb-team-mobile-nav a,.abb-team-mobile-nav button{min-width:70px!important;flex-direction:column!important;gap:.12rem!important;padding:.45rem .3rem!important;font-size:.68rem!important}
  .abb-site-mobile-nav .abb-nav-icon,.abb-team-mobile-nav .abb-nav-icon{font-size:1.2rem!important}
}

.abb-team-portal{max-width:1080px!important;margin-inline:auto!important;padding-bottom:1.2rem!important}
.abb-team-top{align-items:center!important;margin-bottom:1.1rem!important}
.abb-team-top h2{font-size:clamp(2rem,4vw,3.2rem)!important;line-height:.95!important;margin:0!important}
.abb-team-next{display:block!important;text-decoration:none!important;color:inherit!important;transition:transform .15s ease, box-shadow .15s ease;text-align:center!important}
.abb-team-next:not(.is-empty):hover{transform:translateY(-1px);box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary) 28%,transparent),0 0 28px color-mix(in srgb,var(--ab-primary) 22%,transparent),var(--ab-shadow)!important}
.abb-team-next:not(.is-empty){cursor:pointer!important}
.abb-team-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}
.abb-team-workspace-tabs{display:flex!important;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem!important;border:1px solid var(--ab-border);background:var(--ab-card);border-radius:999px;padding:.4rem}
.abb-team-workspace-tabs button{border:0;background:transparent;color:var(--ab-text-muted);border-radius:999px;padding:.65rem 1rem;font-weight:900;cursor:pointer}
.abb-team-workspace-tabs button.is-active{color:var(--ab-primary);background:color-mix(in srgb,var(--ab-primary) 12%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary) 24%,transparent),0 0 18px color-mix(in srgb,var(--ab-primary) 18%,transparent)}
.abb-team-workspace .abb-tab-panel{display:none}.abb-team-workspace .abb-tab-panel.is-active{display:block}
.abb-team-people-form{gap:.8rem!important}.abb-team-person-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) minmax(220px,1.2fr);gap:.7rem;align-items:start;border:1px solid var(--ab-border);background:var(--ab-card);border-radius:18px;padding:.8rem}.abb-team-person-row label{margin:0!important}
.abb-team-drinks-summary,.abb-team-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:.8rem 0}.abb-team-drinks-summary>div,.abb-team-doc{border:1px solid var(--ab-border);background:var(--ab-card);border-radius:18px;padding:.9rem}.abb-team-drinks-summary strong,.abb-team-doc strong{display:block}.abb-team-drinks-summary span,.abb-team-doc span{color:var(--ab-text-muted);font-weight:800}.abb-doc-ok{box-shadow:0 0 0 1px rgba(37,199,126,.35),0 0 18px rgba(37,199,126,.22)}.abb-doc-missing{box-shadow:0 0 0 1px rgba(214,0,63,.35),0 0 18px rgba(214,0,63,.22)}
@media(max-width:720px){.abb-team-top{display:flex!important;align-items:flex-start!important}.abb-team-top h2{font-size:2rem!important}.abb-team-next{min-width:130px!important;padding:.7rem!important}.abb-team-next strong{font-size:1rem!important}.abb-team-person-row{grid-template-columns:1fr}.abb-team-workspace-tabs{border-radius:18px}.abb-team-workspace-tabs button{flex:1;padding:.6rem .5rem}}
/* RC15 device visibility correction */
.abb-site-mobile-nav .abb-hide-desktop,.abb-team-mobile-nav .abb-hide-desktop{display:flex!important}
@media(min-width:1025px){.abb-site-mobile-nav .abb-hide-desktop,.abb-team-mobile-nav .abb-hide-desktop{display:none!important}}
@media(min-width:721px) and (max-width:1024px){.abb-site-mobile-nav .abb-hide-tablet,.abb-team-mobile-nav .abb-hide-tablet{display:none!important}}
@media(max-width:720px){.abb-site-mobile-nav .abb-hide-mobile,.abb-team-mobile-nav .abb-hide-mobile{display:none!important}}

/* RC16 team workspace cleanup */
.abb-team-portal.abb-team-workspace-clean{
  max-width:1080px!important;
  margin-inline:auto!important;
  padding:0 0 1.2rem!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.abb-team-portal.abb-team-workspace-clean .abb-team-top{
  margin:0 0 1.1rem!important;
  padding:0!important;
}
.abb-team-portal.abb-team-workspace-clean .abb-team-top h2{
  font-size:clamp(2rem,3.4vw,3rem)!important;
}
body:has(.abb-team-workspace-clean) .entry-title,
body:has(.abb-team-workspace-clean) .page-title,
body:has(.abb-team-workspace-clean) h1.entry-title,
body:has(.abb-team-workspace-clean) .wp-block-post-title{
  display:none!important;
}
.abb-team-portal.abb-team-workspace-clean .abb-team-next strong{
  text-transform:none!important;
}
@media(max-width:720px){
  .abb-team-portal.abb-team-workspace-clean{padding-inline:0!important}
  .abb-team-portal.abb-team-workspace-clean .abb-team-top h2{font-size:1.75rem!important}
}


/* RC17 booking flow polish: desktop/tablet bottom navigation aligned with content */
@media(min-width:721px){
  .abb-site-mobile-nav,
  .abb-team-mobile-nav{
    width:min(1080px, calc(100vw - 32px))!important;
    max-width:min(1080px, calc(100vw - 32px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  body:has(.abb-wizard) .abb-site-mobile-nav{
    width:min(980px, calc(100vw - 32px))!important;
    max-width:min(980px, calc(100vw - 32px))!important;
  }
}
.abb-payment-wizard-grid .abb-select-card,
.abb-deposit-wizard-grid .abb-select-card{
  align-items:center!important;
  text-align:center!important;
}
.abb-payment-wizard-grid .abb-select-card b,
.abb-deposit-wizard-grid .abb-select-card b{
  font-size:1.05rem!important;
}
.abb-next:disabled{opacity:.65!important;cursor:wait!important}

/* RC18: portal payment labels + drinks layout polish */
.abb-mybar .abb-payment-choice-form .abb-payment-card,
.abb-portal-payment-choice .abb-payment-card{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  min-height:58px!important;
  padding:.65rem .9rem!important;
  text-align:center!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card .abb-pay-icon,
.abb-portal-payment-choice .abb-payment-card .abb-pay-icon{
  display:inline-flex!important;
  font-size:1.2rem!important;
  line-height:1!important;
  margin:0!important;
  flex:0 0 auto!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card b,
.abb-portal-payment-choice .abb-payment-card b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  font-size:.98rem!important;
  line-height:1!important;
  color:var(--ab-text,#fff)!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card b span,
.abb-portal-payment-choice .abb-payment-card b span{
  display:inline!important;
  order:unset!important;
  color:var(--ab-text,#fff)!important;
  font-size:inherit!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card > span:not(.abb-pay-icon),
.abb-portal-payment-choice .abb-payment-card > span:not(.abb-pay-icon){
  display:none!important;
}
.abb-mybar .abb-payment-choice-form .abb-card-grid.small,
.abb-portal-payment-choice .abb-card-grid.small{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.55rem!important;
}
.abb-mybar .abb-payment-choice-form h4{margin:.9rem 0 .45rem!important;}

.abb-mybar .abb-drinks-intro{
  margin-bottom:.75rem!important;
  padding:.95rem 1.05rem!important;
  border-radius:18px!important;
  line-height:1.45!important;
}
.abb-mybar .abb-drinks-actions{
  display:flex!important;
  gap:.65rem!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin:.65rem 0 .9rem!important;
}
.abb-mybar .abb-drinks-actions .ab-btn{margin:0!important;}
.abb-mybar .abb-drinks-choice-row{
  display:grid!important;
  grid-template-columns:1fr 1fr auto!important;
  gap:.65rem!important;
  align-items:stretch!important;
  margin:.75rem 0 1rem!important;
}
.abb-mybar .abb-drinks-choice-row .abb-select-card{
  min-height:58px!important;
  padding:.75rem 1rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:18px!important;
}
.abb-mybar .abb-drinks-save-top{
  min-height:58px!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  border-radius:18px!important;
}
.abb-mybar .abb-drinks-compact{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.8rem!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
.abb-mybar .abb-drinks-compact .abb-drink{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:.85rem!important;
  align-items:center!important;
  padding:.95rem!important;
  border-radius:18px!important;
}
.abb-mybar .abb-drinks-compact .abb-drink b{font-size:1rem!important;line-height:1.15!important;}
.abb-mybar .abb-drinks-compact .abb-drink span{display:block!important;margin-top:.25rem!important;font-size:.9rem!important;}
.abb-mybar .abb-drinks-compact .abb-drink small{display:block!important;margin-top:.35rem!important;line-height:1.25!important;}
.abb-mybar .abb-counter{display:flex!important;align-items:center!important;gap:.35rem!important;}
.abb-mybar .abb-counter input{width:62px!important;text-align:center!important;}
@media(max-width:720px){
  .abb-mybar .abb-payment-choice-form .abb-card-grid.small,
  .abb-portal-payment-choice .abb-card-grid.small{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4rem!important;}
  .abb-mybar .abb-payment-choice-form .abb-payment-card,
  .abb-portal-payment-choice .abb-payment-card{min-height:48px!important;padding:.55rem .35rem!important;gap:.28rem!important;}
  .abb-mybar .abb-payment-choice-form .abb-payment-card .abb-pay-icon,
  .abb-portal-payment-choice .abb-payment-card .abb-pay-icon{font-size:1rem!important;}
  .abb-mybar .abb-payment-choice-form .abb-payment-card b,
  .abb-portal-payment-choice .abb-payment-card b{font-size:.78rem!important;}
  .abb-mybar .abb-drinks-actions{display:grid!important;grid-template-columns:1fr!important;gap:.5rem!important;}
  .abb-mybar .abb-drinks-actions .ab-btn{width:100%!important;justify-content:center!important;}
  .abb-mybar .abb-drinks-choice-row{grid-template-columns:1fr!important;gap:.5rem!important;}
  .abb-mybar .abb-drinks-save-top{width:100%!important;}
  .abb-mybar .abb-drinks-compact{grid-template-columns:1fr!important;gap:.6rem!important;}
  .abb-mybar .abb-drinks-compact .abb-drink{grid-template-columns:1fr!important;gap:.65rem!important;}
  .abb-mybar .abb-counter{justify-content:flex-start!important;}
}


/* RC19: unified payment cards in wizard and portal - icon + label only */
.abb-payment-wizard-grid .abb-select-card,
.abb-deposit-wizard-grid .abb-select-card,
.abb-mybar .abb-payment-choice-form .abb-payment-card,
.abb-portal-payment-choice .abb-payment-card{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  min-height:58px!important;
  padding:.72rem .9rem!important;
  text-align:center!important;
}
.abb-payment-wizard-grid .abb-select-card .abb-pay-icon,
.abb-deposit-wizard-grid .abb-select-card .abb-pay-icon,
.abb-mybar .abb-payment-choice-form .abb-payment-card .abb-pay-icon,
.abb-portal-payment-choice .abb-payment-card .abb-pay-icon{
  display:inline-flex!important;
  flex:0 0 auto!important;
  font-size:1.25rem!important;
  line-height:1!important;
  margin:0!important;
}
.abb-payment-wizard-grid .abb-select-card b,
.abb-deposit-wizard-grid .abb-select-card b,
.abb-mybar .abb-payment-choice-form .abb-payment-card b,
.abb-portal-payment-choice .abb-payment-card b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  font-size:1.02rem!important;
  line-height:1!important;
  color:var(--ab-text,#fff)!important;
  white-space:nowrap!important;
}
.abb-payment-wizard-grid .abb-select-card > span:not(.abb-pay-icon),
.abb-deposit-wizard-grid .abb-select-card > span:not(.abb-pay-icon),
.abb-mybar .abb-payment-choice-form .abb-payment-card > span:not(.abb-pay-icon),
.abb-portal-payment-choice .abb-payment-card > span:not(.abb-pay-icon){
  display:none!important;
}
.abb-mybar .abb-payment-choice-form .abb-payment-card b span,
.abb-portal-payment-choice .abb-payment-card b span,
.abb-mybar .abb-payment-choice-form .abb-select-card.abb-payment-card b span,
.abb-portal-payment-choice .abb-select-card.abb-payment-card b span{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  color:var(--ab-text,#fff)!important;
  font-size:inherit!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:720px){
  .abb-payment-wizard-grid,
  .abb-deposit-wizard-grid,
  .abb-mybar .abb-payment-choice-form .abb-card-grid.small,
  .abb-portal-payment-choice .abb-card-grid.small{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.45rem!important;
  }
  .abb-payment-wizard-grid .abb-select-card,
  .abb-deposit-wizard-grid .abb-select-card,
  .abb-mybar .abb-payment-choice-form .abb-payment-card,
  .abb-portal-payment-choice .abb-payment-card{
    min-height:50px!important;
    padding:.6rem .4rem!important;
    gap:.35rem!important;
  }
  .abb-payment-wizard-grid .abb-select-card b,
  .abb-deposit-wizard-grid .abb-select-card b,
  .abb-mybar .abb-payment-choice-form .abb-payment-card b,
  .abb-portal-payment-choice .abb-payment-card b{
    font-size:.82rem!important;
  }
  .abb-payment-wizard-grid .abb-select-card .abb-pay-icon,
  .abb-deposit-wizard-grid .abb-select-card .abb-pay-icon,
  .abb-mybar .abb-payment-choice-form .abb-payment-card .abb-pay-icon,
  .abb-portal-payment-choice .abb-payment-card .abb-pay-icon{
    font-size:1rem!important;
  }
}


/* RC20 rebuild: all collected UX corrections */
body:has(.abb-team-portal) .entry-title,
body:has(.abb-team-portal) .page-title,
body:has(.abb-team-portal) h1.entry-title,
body:has(.abb-team-portal) h1.page-title,
body:has(.abb-team-portal) .wp-block-post-title,
body:has(.abb-team-portal) main > h1:first-child,
body:has(.abb-team-portal) article > h1:first-child,
body:has(.abb-team-portal) .entry-content > h1:first-child{
  display:none!important;
}
.abb-team-portal.abb-team-workspace-clean{
  border:0!important;background:transparent!important;box-shadow:none!important;padding-top:0!important;margin-top:0!important;
}
.abb-team-portal .abb-team-top{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:1rem!important;}
.abb-team-portal .abb-team-top h2{font-size:clamp(2rem,3.4vw,3.1rem)!important;line-height:1!important;margin:0!important;}
.abb-team-costs{margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--ab-border);display:grid;gap:.55rem;}
.abb-team-costs h4{margin:0 0 .2rem!important;color:var(--ab-primary);font-size:1rem!important;}
.abb-team-cost-row{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:.35rem .85rem;align-items:start;}
.abb-team-cost-row span{font-weight:900;color:var(--ab-text)!important;}
.abb-team-cost-row b{text-align:right;font-weight:900;}
.abb-team-cost-row small{grid-column:1 / -1;color:var(--ab-text-muted);font-weight:800;}

/* Payment wizard: Miete and Depot aligned, compact icon + label cards */
.abb-payment-method-section{margin:0 0 1rem!important;}
.abb-payment-method-section h3{display:block!important;margin:0 0 .55rem!important;color:var(--ab-primary)!important;font-size:1rem!important;line-height:1.1!important;}
.abb-payment-wizard-grid,.abb-deposit-wizard-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.75rem!important;margin:0!important;}
.abb-payment-wizard-grid .abb-select-card,.abb-deposit-wizard-grid .abb-select-card{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.55rem!important;min-height:58px!important;padding:.75rem 1rem!important;text-align:center!important;}
.abb-payment-wizard-grid .abb-select-card .abb-pay-icon,.abb-deposit-wizard-grid .abb-select-card .abb-pay-icon{display:inline-flex!important;margin:0!important;font-size:1.25rem!important;line-height:1!important;}
.abb-payment-wizard-grid .abb-select-card b,.abb-deposit-wizard-grid .abb-select-card b{display:inline-flex!important;font-size:1rem!important;line-height:1!important;white-space:nowrap!important;}

/* Sticky bottom navigation on every page and same width as content */
body:has(.abb-site-mobile-nav),body:has(.abb-team-mobile-nav),body:has(.abb-mybar-nav),body:has(.abb-portal-tabs){padding-bottom:112px!important;}
.abb-site-mobile-nav,.abb-team-mobile-nav,.abb-mybar-nav,.abb-portal-tabs{
  position:fixed!important;left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;width:min(1080px,calc(100vw - 48px))!important;max-width:min(1080px,calc(100vw - 48px))!important;margin:0!important;z-index:9999!important;display:grid!important;grid-auto-flow:column!important;grid-auto-columns:1fr!important;gap:.35rem!important;padding:.45rem!important;border:1px solid var(--ab-border)!important;border-radius:999px!important;background:color-mix(in srgb,var(--ab-card) 94%,transparent)!important;box-shadow:0 16px 42px rgba(0,0,0,.25)!important;backdrop-filter:blur(14px)!important;overflow-x:auto!important;scrollbar-width:none!important;box-sizing:border-box!important;
}
body:has(.abb-wizard) .abb-site-mobile-nav{width:min(980px,calc(100vw - 48px))!important;max-width:min(980px,calc(100vw - 48px))!important;}
.abb-site-mobile-nav::-webkit-scrollbar,.abb-team-mobile-nav::-webkit-scrollbar,.abb-mybar-nav::-webkit-scrollbar,.abb-portal-tabs::-webkit-scrollbar{display:none!important;}
.abb-site-mobile-nav a,.abb-site-mobile-nav button,.abb-team-mobile-nav a,.abb-team-mobile-nav button,.abb-mybar-nav a,.abb-mybar-nav button,.abb-portal-tabs button{
  min-width:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.35rem!important;padding:.65rem .75rem!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--ab-text-muted)!important;text-decoration:none!important;font-size:.82rem!important;font-weight:900!important;line-height:1.05!important;white-space:nowrap!important;cursor:pointer!important;
}
.abb-site-mobile-nav a:hover,.abb-site-mobile-nav a:focus,.abb-site-mobile-nav a.is-active,.abb-site-mobile-nav button:hover,.abb-site-mobile-nav button:focus,.abb-site-mobile-nav button.is-active,
.abb-team-mobile-nav a:hover,.abb-team-mobile-nav a:focus,.abb-team-mobile-nav a.is-active,.abb-team-mobile-nav button:hover,.abb-team-mobile-nav button:focus,.abb-team-mobile-nav button.is-active,
.abb-mybar-nav a:hover,.abb-mybar-nav a:focus,.abb-mybar-nav a.is-active,.abb-mybar-nav button:hover,.abb-mybar-nav button:focus,.abb-mybar-nav button.is-active,
.abb-portal-tabs button:hover,.abb-portal-tabs button:focus,.abb-portal-tabs button.is-active{
  color:var(--ab-primary)!important;background:color-mix(in srgb,var(--ab-primary) 12%,transparent)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary) 24%,transparent),0 0 18px color-mix(in srgb,var(--ab-primary) 20%,transparent)!important;
}
.abb-site-mobile-nav .abb-nav-icon,.abb-team-mobile-nav .abb-nav-icon,.abb-portal-tabs .abb-nav-icon,.abb-mybar-nav span:first-child{font-size:1rem!important;line-height:1!important;}
@media(max-width:720px){
  body:has(.abb-site-mobile-nav),body:has(.abb-team-mobile-nav),body:has(.abb-mybar-nav),body:has(.abb-portal-tabs){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;}
  .abb-site-mobile-nav,.abb-team-mobile-nav,.abb-mybar-nav,.abb-portal-tabs{left:0!important;right:0!important;bottom:0!important;transform:none!important;width:auto!important;max-width:none!important;border-radius:18px 18px 0 0!important;padding:.42rem .5rem calc(.42rem + env(safe-area-inset-bottom,0px))!important;}
  .abb-site-mobile-nav a,.abb-site-mobile-nav button,.abb-team-mobile-nav a,.abb-team-mobile-nav button,.abb-mybar-nav a,.abb-mybar-nav button,.abb-portal-tabs button{min-width:66px!important;flex-direction:column!important;gap:.1rem!important;padding:.45rem .25rem!important;font-size:.68rem!important;}
  .abb-payment-wizard-grid,.abb-deposit-wizard-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.45rem!important;}
  .abb-payment-wizard-grid .abb-select-card,.abb-deposit-wizard-grid .abb-select-card{min-height:50px!important;padding:.55rem .35rem!important;gap:.28rem!important;}
  .abb-payment-wizard-grid .abb-select-card .abb-pay-icon,.abb-deposit-wizard-grid .abb-select-card .abb-pay-icon{font-size:1rem!important;}
  .abb-payment-wizard-grid .abb-select-card b,.abb-deposit-wizard-grid .abb-select-card b{font-size:.78rem!important;}
  .abb-team-portal .abb-team-top h2{font-size:1.75rem!important;}
}

/* RC21 calendar + PDF/workflow polish */
.abb-calendar-month .abb-day{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:.35rem!important;
}
.abb-calendar-month .abb-day b{
  margin:0!important;
  display:block!important;
  font-size:1.15rem!important;
  line-height:1!important;
}
.abb-calendar-month .abb-day span{display:none!important}
.abb-calendar-month .abb-day.past{
  background:#b8b3ae!important;
  color:transparent!important;
  opacity:1!important;
  cursor:not-allowed!important;
}
.abb-calendar-month .abb-day.res{
  background:color-mix(in srgb,var(--ab-status-res,#e74c3c) 42%,#ffffff 58%)!important;
  color:color-mix(in srgb,var(--ab-status-res,#e74c3c) 48%,#ffffff 52%)!important;
  opacity:.45!important;
  filter:saturate(.55)!important;
  cursor:not-allowed!important;
}
.abb-calendar-month .abb-day.closed{
  opacity:.42!important;
  filter:saturate(.35)!important;
}
.abb-calendar-month .abb-day.prov{cursor:pointer!important}
.abb-payment-wizard-grid .abb-select-card,
.abb-deposit-wizard-grid .abb-select-card,
.abb-mybar .abb-payment-choice-form .abb-select-card.abb-payment-card,
.abb-portal-payment-choice .abb-select-card.abb-payment-card{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
  gap:.65rem!important;
  text-align:center!important;
  min-height:58px!important;
}
.abb-payment-wizard-grid .abb-select-card .abb-pay-icon,
.abb-deposit-wizard-grid .abb-select-card .abb-pay-icon,
.abb-mybar .abb-payment-choice-form .abb-select-card.abb-payment-card .abb-pay-icon,
.abb-portal-payment-choice .abb-select-card.abb-payment-card .abb-pay-icon{
  margin:0!important;
  display:inline-flex!important;
  line-height:1!important;
}
.abb-payment-wizard-grid .abb-select-card > span:not(.abb-pay-icon),
.abb-deposit-wizard-grid .abb-select-card > span:not(.abb-pay-icon),
.abb-mybar .abb-payment-choice-form .abb-select-card.abb-payment-card > span:not(.abb-pay-icon),
.abb-portal-payment-choice .abb-select-card.abb-payment-card > span:not(.abb-pay-icon){display:none!important}


/* RC22 calendar polish */
.abb-calendar-month .abb-day-hidden-past{visibility:hidden!important;pointer-events:none!important;}
.abb-calendar-month .abb-day.res{
  background:color-mix(in srgb,var(--ab-status-res,#e74c3c) 62%,#ffffff 38%)!important;
  color:color-mix(in srgb,var(--ab-status-res,#e74c3c) 74%,#111111 26%)!important;
  opacity:.62!important;
  filter:saturate(.78)!important;
}
.abb-calendar-month .abb-day.res b{opacity:.9!important;}

/* RC23 custom login */
.abb-login{max-width:560px;margin:48px auto;padding:32px;border-radius:28px}
.abb-login h2{margin-top:0;font-size:clamp(32px,5vw,56px)}
.abb-login-form{display:grid;gap:16px}
.abb-login-form label{font-weight:800}
.abb-login-form input[type=email],.abb-login-form input[type=password]{width:100%;margin-top:7px}
.abb-login .abb-checkbox{display:flex;gap:10px;align-items:center;font-weight:700}
.abb-login-links{margin:10px 0 0}
.abb-login-links a{font-weight:800;text-decoration:none}

/* RC24 automatic account + inline login popup */
.abb-auto-account-card{display:grid;gap:10px}
.abb-login-inline-link{justify-self:start;border:0;background:transparent;color:var(--ab-accent,#d50045);font-weight:900;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.abb-login-modal[hidden]{display:none!important}
.abb-login-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}
.abb-login-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px)}
.abb-login-modal-card{position:relative;width:min(520px,94vw);padding:28px;border-radius:28px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.abb-login-modal-card h3{margin:0 0 8px;font-size:clamp(28px,5vw,42px)}
.abb-login-modal-card form{display:grid;gap:14px;margin-top:16px}
.abb-login-modal-card label{font-weight:800}
.abb-login-modal-card input[type=email],.abb-login-modal-card input[type=password]{width:100%;margin-top:7px}
.abb-login-modal-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:999px;border:1px solid var(--ab-border,rgba(255,255,255,.16));background:var(--ab-surface,#1b1b1b);color:inherit;font-size:26px;line-height:1;cursor:pointer}
.abb-inline-login-result{font-weight:800;color:var(--ab-accent,#d50045)}
.abb-inline-login-result.is-success{color:#22c55e}


/* RC25 login + booking flow polish */
.abb-wizard .abb-steps{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.abb-step[data-step="check"] ol{border:0!important;margin-bottom:0!important;padding-bottom:0!important;}
.abb-step[data-step="check"] + .abb-nav{border-top:0!important;}
.abb-login-form .ab-muted,.abb-login .ab-muted:first-of-type{display:none!important;}
.abb-login .abb-checkbox.abb-remember,.abb-login-modal-card .abb-checkbox.abb-remember{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:.55rem!important;margin:.2rem 0 .4rem!important;font-weight:800!important;}
.abb-login .abb-checkbox.abb-remember input,.abb-login-modal-card .abb-checkbox.abb-remember input{margin:0!important;flex:0 0 auto!important;}
.abb-login .abb-checkbox.abb-remember span,.abb-login-modal-card .abb-checkbox.abb-remember span{display:inline!important;line-height:1.2!important;}
.abb-password-wrap{display:flex!important;align-items:center!important;gap:.5rem!important;margin-top:7px!important;}
.abb-password-wrap input{margin-top:0!important;flex:1 1 auto!important;}
.abb-password-toggle{flex:0 0 auto!important;border:1px solid var(--ab-border,rgba(255,255,255,.16))!important;border-radius:999px!important;background:var(--ab-surface,#1b1b1b)!important;color:var(--ab-text,#fff)!important;font-weight:900!important;padding:.65rem .85rem!important;cursor:pointer!important;}
.abb-login-hint{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ab-border,rgba(255,255,255,.12));color:var(--ab-text-muted,#aaa);font-weight:700;}
.abb-login-modal-card .abb-inline-login-form{display:grid!important;gap:14px!important;margin-top:16px!important;}


/* RC26 rebuild: final login polish */
body:has(.abb-login) .entry-title,
body:has(.abb-login) .page-title,
body:has(.abb-login) h1.entry-title,
body:has(.abb-login) h1.page-title,
body:has(.abb-login) .wp-block-post-title{display:none!important;}
.abb-login{margin-top:24px!important;}
.abb-login .abb-remember,
.abb-login-modal-card .abb-remember{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.55rem!important;
  width:auto!important;
  max-width:max-content!important;
  margin:.15rem 0 .35rem!important;
  line-height:1.2!important;
}
.abb-login .abb-remember input[type="checkbox"],
.abb-login-modal-card .abb-remember input[type="checkbox"]{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 auto!important;
}
.abb-login .abb-remember span,
.abb-login-modal-card .abb-remember span{
  display:inline-block!important;
  white-space:nowrap!important;
  margin:0!important;
}
.abb-password-wrap{position:relative!important;display:block!important;margin-top:7px!important;}
.abb-password-wrap input{width:100%!important;margin-top:0!important;padding-right:3.4rem!important;}
.abb-password-toggle{
  position:absolute!important;
  right:.55rem!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:2.25rem!important;
  height:2.25rem!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--ab-text,#fff)!important;
  font-size:1.15rem!important;
  line-height:1!important;
  cursor:pointer!important;
}
.abb-password-toggle:hover{background:var(--ab-surface,#1b1b1b)!important;}


/* RC27: compact persons selector */
.abb-persons-line{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;margin-top:1rem!important;}
.abb-persons-line>span{font-weight:900!important;font-size:1.1rem!important;}
.abb-counter-compact{display:inline-grid!important;grid-template-columns:auto 84px auto!important;align-items:center!important;gap:.55rem!important;width:auto!important;}
.abb-counter-compact input{max-width:84px!important;text-align:center!important;}
@media(max-width:720px){.abb-persons-line{align-items:flex-start!important}.abb-counter-compact{grid-template-columns:auto 72px auto!important}.abb-counter-compact input{max-width:72px!important}}

/* RC28: final wizard progress + desktop persons/nav polish */
.abb-wizard{max-width:min(1280px,calc(100vw - 48px))!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;}
.abb-wizard .abb-steps{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.55rem!important;}
.abb-wizard .abb-steps button{font-size:.88rem!important;min-height:40px!important;padding:.48rem .6rem!important;}
.abb-wizard .abb-steps button:not(.is-active):not(.is-done),
.abb-wizard .abb-steps button.is-open{
  background:color-mix(in srgb,var(--ab-card,#fff) 82%,var(--ab-text,#111) 6%)!important;
  color:var(--ab-text,#111)!important;
  border-color:color-mix(in srgb,var(--ab-border,#ddd) 82%,transparent)!important;
  box-shadow:none!important;
}
.abb-wizard .abb-steps button.is-active{background:var(--ab-primary,#d60045)!important;color:var(--ab-primary-contrast,#fff)!important;border-color:var(--ab-primary,#d60045)!important;}
.abb-wizard .abb-steps button.is-done{background:var(--ab-success,#2ecc71)!important;color:#fff!important;border-color:var(--ab-success,#2ecc71)!important;}
.abb-wizard:not(.abb-ready) .abb-steps button:not(.is-active){background:color-mix(in srgb,var(--ab-card,#fff) 82%,var(--ab-text,#111) 6%)!important;color:var(--ab-text,#111)!important;}
.abb-birth-newsletter-row{grid-template-columns:minmax(180px,.65fr) minmax(220px,.8fr)!important;align-items:end!important;}
.abb-newsletter-inline{align-self:end!important;margin:0 0 .2rem!important;display:flex!important;align-items:center!important;gap:.55rem!important;font-weight:900!important;}
.abb-newsletter-inline input{width:auto!important;min-width:0!important;margin:0!important;}
.abb-nav{display:flex!important;align-items:center!important;gap:1rem!important;}
.abb-nav .abb-next{margin-left:auto!important;}
.abb-nav-with-persons{justify-content:space-between!important;}
.abb-nav-with-persons .abb-persons-line{margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.75rem!important;flex:0 1 auto!important;}
.abb-nav-with-persons .abb-counter-compact{grid-template-columns:auto 78px auto!important;}
.abb-nav-with-persons .abb-counter-compact input{max-width:78px!important;}
.abb-nav-with-persons .abb-next{margin-left:0!important;}
.abb-persons-placeholder{display:none!important;}
body:has(.abb-wizard) .abb-site-mobile-nav,
body:has(.abb-wizard) .ab-bottom-nav,
body:has(.abb-wizard) .abb-bottom-nav{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(1180px,calc(100vw - 48px))!important;
  max-width:calc(100vw - 48px)!important;
}
body:has(.abb-wizard) .abb-result:empty{display:none!important;}
@media(max-width:900px){
  .abb-wizard{max-width:calc(100vw - 20px)!important;}
  .abb-wizard .abb-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .abb-wizard .abb-steps button{font-size:.82rem!important;min-height:38px!important;}
  .abb-birth-newsletter-row{grid-template-columns:1fr!important;}
  .abb-persons-line{margin-top:1rem!important;}
  body:has(.abb-wizard) .abb-site-mobile-nav,
  body:has(.abb-wizard) .ab-bottom-nav,
  body:has(.abb-wizard) .abb-bottom-nav{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;}
}


/* RC29 mobile calendar + submit summary polish */
.abb-summary-box div span{min-width:0;}
.abb-summary-box div b{word-break:normal;overflow-wrap:normal;}
@media(max-width:720px){
  .abb-calendar-month .abb-day b{font-size:.68rem!important;line-height:1!important;letter-spacing:-.02em!important;white-space:nowrap!important;}
  .abb-calendar-month .abb-day{min-height:46px!important;padding:.18rem!important;display:flex!important;align-items:center!important;justify-content:center!important;}
}
@media(max-width:390px){
  .abb-calendar-month .abb-day b{font-size:.62rem!important;}
  .abb-calendar-month .abb-day{min-height:40px!important;border-radius:8px!important;}
}


/* RC30: portal/wizard final polish */
.abb-mybar-head-clean{justify-content:flex-end!important;margin-bottom:.35rem!important;}
.abb-mybar-head-clean:empty{display:none!important;}
.abb-readonly{opacity:.78!important;background:color-mix(in srgb,var(--ab-input,#222) 80%,var(--ab-text,#fff) 4%)!important;}
/* Bottom nav: horizontal app-style scroll, no clipped items */
.abb-site-mobile-nav,.abb-team-mobile-nav,.abb-mybar-nav,.abb-portal-tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  justify-content:flex-start!important;
  grid-auto-flow:unset!important;
  grid-auto-columns:unset!important;
}
.abb-site-mobile-nav a,.abb-site-mobile-nav button,.abb-team-mobile-nav a,.abb-team-mobile-nav button,.abb-mybar-nav a,.abb-mybar-nav button,.abb-portal-tabs button{
  flex:0 0 auto!important;
  min-width:88px!important;
  scroll-snap-align:center!important;
  font-size:.78rem!important;
  padding:.55rem .65rem!important;
}
.abb-site-mobile-nav .abb-nav-icon,.abb-team-mobile-nav .abb-nav-icon,.abb-portal-tabs .abb-nav-icon,.abb-mybar-nav span:first-child{font-size:.92rem!important;}
@media(max-width:720px){
  .abb-site-mobile-nav a,.abb-site-mobile-nav button,.abb-team-mobile-nav a,.abb-team-mobile-nav button,.abb-mybar-nav a,.abb-mybar-nav button,.abb-portal-tabs button{min-width:74px!important;font-size:.64rem!important;padding:.42rem .24rem!important;}
  .abb-site-mobile-nav .abb-nav-icon,.abb-team-mobile-nav .abb-nav-icon,.abb-portal-tabs .abb-nav-icon,.abb-mybar-nav span:first-child{font-size:1rem!important;}
}
/* Calendar date size fix */
.abb-calendar-month .abb-day b{font-size:clamp(.72rem,1.4vw,.95rem)!important;letter-spacing:-.02em!important;white-space:nowrap!important;line-height:1!important;}
@media(max-width:720px){.abb-calendar-month .abb-day b{font-size:.58rem!important;}}
@media(max-width:390px){.abb-calendar-month .abb-day b{font-size:.52rem!important;}}

/* RC31: Center short bottom navigation, keep scroll when there are many items */
.abb-site-mobile-nav,
.abb-team-mobile-nav,
.abb-mybar-nav,
.abb-portal-tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  justify-content:safe center!important;
  align-items:center!important;
  gap:.35rem!important;
}
.abb-site-mobile-nav::-webkit-scrollbar,
.abb-team-mobile-nav::-webkit-scrollbar,
.abb-mybar-nav::-webkit-scrollbar,
.abb-portal-tabs::-webkit-scrollbar{display:none!important;}
.abb-site-mobile-nav a,
.abb-site-mobile-nav button,
.abb-team-mobile-nav a,
.abb-team-mobile-nav button,
.abb-mybar-nav a,
.abb-mybar-nav button,
.abb-portal-tabs button{
  flex:0 0 auto!important;
}
@media(max-width:720px){
  .abb-site-mobile-nav,
  .abb-team-mobile-nav,
  .abb-mybar-nav,
  .abb-portal-tabs{
    justify-content:safe center!important;
  }
}


/* RC39: fixed centered bottom navigation, no horizontal scroll; mobile tap/zoom polish */
.abb-site-mobile-nav,.abb-team-mobile-nav,.abb-mybar-nav,.abb-portal-tabs{
  overflow-x:hidden!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(0,1fr)!important;
  justify-content:center!important;
  align-items:center!important;
  width:min(1080px,calc(100vw - 48px))!important;
  max-width:min(1080px,calc(100vw - 48px))!important;
  box-sizing:border-box!important;
}
.abb-site-mobile-nav a,.abb-site-mobile-nav button,.abb-team-mobile-nav a,.abb-team-mobile-nav button,.abb-mybar-nav a,.abb-mybar-nav button,.abb-portal-tabs button{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.abb-counter button,.abb-drink button,[data-count],[data-drink-count]{
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.abb-counter input,input[type="number"]{font-size:16px!important;}
@media(max-width:720px){
  .abb-site-mobile-nav,.abb-team-mobile-nav,.abb-mybar-nav,.abb-portal-tabs{
    left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;max-width:100%!important;border-radius:18px 18px 0 0!important;
  }
  .abb-site-mobile-nav a,.abb-site-mobile-nav button,.abb-team-mobile-nav a,.abb-team-mobile-nav button,.abb-mybar-nav a,.abb-mybar-nav button,.abb-portal-tabs button{font-size:.6rem!important;padding:.42rem .18rem!important;}
}


/* RC41: Getränke V2 Listenansicht und Mobile-Zoom-Fix */
.abb-drinks-list-wrap{display:block!important;width:100%!important;margin-top:.8rem!important;}
.abb-drinks-list-v2{display:grid!important;gap:.75rem!important;width:100%!important;}
.abb-drink-category{border:1px solid var(--ab-border,#ddd)!important;border-radius:18px!important;background:var(--ab-card,#fff)!important;overflow:hidden!important;}
.abb-drink-category summary{cursor:pointer!important;font-weight:900!important;padding:.85rem 1rem!important;color:var(--ab-primary,#d60045)!important;list-style:none!important;}
.abb-drink-category summary::-webkit-details-marker{display:none!important;}
.abb-drink-category summary:after{content:'▾';float:right;opacity:.7;}
.abb-drink-category:not([open]) summary:after{content:'▸';}
.abb-drink-category-list{display:grid!important;gap:0!important;}
.abb-drink-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:.75rem!important;padding:.75rem 1rem!important;border-top:1px solid var(--ab-border,#ddd)!important;background:transparent!important;border-radius:0!important;}
.abb-drink-info{display:grid!important;grid-template-columns:minmax(170px,1.2fr) minmax(120px,1fr) auto!important;gap:.75rem!important;align-items:center!important;}
.abb-drink-info b,.abb-drink-info strong{font-weight:900!important;}
.abb-drink-info span{color:var(--ab-text-muted,#777)!important;font-weight:800!important;}
.abb-drink-info strong{white-space:nowrap!important;color:var(--ab-text,#111)!important;}
.abb-profile-userrow{grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) auto!important;align-items:end!important;}
.abb-glow-reminder{box-shadow:0 0 0 1px color-mix(in srgb,var(--ab-primary,#d60045) 65%,transparent),0 0 24px color-mix(in srgb,var(--ab-primary,#d60045) 36%,transparent)!important;border-color:color-mix(in srgb,var(--ab-primary,#d60045) 75%,transparent)!important;}
@media(max-width:720px){
  .abb-wizard input,.abb-wizard select,.abb-wizard textarea,.abb-mybar input,.abb-mybar select,.abb-mybar textarea{font-size:16px!important;}
  .abb-counter button,.abb-drink button,[data-count],[data-drink-count]{touch-action:manipulation!important;}
  .abb-drink-row{grid-template-columns:1fr!important;align-items:start!important;}
  .abb-drink-info{grid-template-columns:1fr!important;gap:.2rem!important;}
  .abb-profile-userrow{grid-template-columns:1fr!important;}
}

/* RC43 drinks UX polish */
.abb-mybar .abb-drinks-list-wrap{display:block;width:100%;}
.abb-mybar .abb-drink-category{border:1px solid var(--ab-border);border-radius:18px;overflow:hidden;background:var(--ab-card);}
.abb-mybar .abb-drink-category+ .abb-drink-category{margin-top:.75rem;}
.abb-mybar .abb-drink-category summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.85rem 1rem;font-weight:900;color:var(--ab-accent);cursor:pointer;list-style:none;}
.abb-mybar .abb-drink-category summary::-webkit-details-marker{display:none;}
.abb-mybar .abb-drink-cat-count{font-size:.78rem;color:var(--ab-success,#25c77e);font-weight:900;white-space:nowrap;}
.abb-mybar .abb-drink-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:.75rem!important;padding:.8rem 1rem!important;border-top:1px solid var(--ab-border);border-radius:0!important;background:transparent!important;}
.abb-mybar .abb-drink-row.is-selected{box-shadow:inset 3px 0 0 var(--ab-success,#25c77e),0 0 16px rgba(37,199,126,.18)!important;background:rgba(37,199,126,.035)!important;}
.abb-mybar .abb-drink-info{display:grid!important;grid-template-columns:minmax(120px,1.4fr) minmax(48px,.45fr) minmax(70px,.5fr)!important;gap:.65rem!important;align-items:center!important;}
.abb-mybar .abb-drink-info b,.abb-mybar .abb-drink-info strong{font-weight:950!important;font-size:1rem!important;line-height:1.15!important;margin:0!important;}
.abb-mybar .abb-drink-info span{color:var(--ab-muted,#777)!important;font-weight:850!important;font-size:.95rem!important;margin:0!important;}
.abb-mybar .abb-counter{display:flex!important;align-items:center!important;gap:.35rem!important;}
.abb-mybar .abb-counter button{width:40px!important;height:40px!important;min-width:40px!important;border-radius:14px!important;font-weight:900!important;}
.abb-mybar .abb-counter input{width:58px!important;height:44px!important;text-align:center!important;border-radius:14px!important;font-weight:900!important;padding:.2rem!important;}
.abb-mybar .abb-drinks-save-top{white-space:nowrap!important;}
.abb-mybar .abb-drinks-filled-pdf{white-space:nowrap!important;}
@media(max-width:720px){
  .abb-mybar .abb-drink-row{grid-template-columns:1fr!important;gap:.6rem!important;padding:.85rem!important;}
  .abb-mybar .abb-drink-info{grid-template-columns:1fr auto auto!important;gap:.5rem!important;}
  .abb-mybar .abb-drink-info b{font-size:.98rem!important;}
  .abb-mybar .abb-drink-info span,.abb-mybar .abb-drink-info strong{font-size:.92rem!important;}
  .abb-mybar .abb-counter{justify-content:flex-start!important;}
}

/* RC44 drinks recommendation / dirty-save polish */
.abb-drinks-recommendation{margin:.75rem 0 1rem!important;}
.abb-drinks-empty-hint{border:1px solid var(--ab-border,#ddd)!important;border-radius:18px!important;padding:1rem!important;background:var(--ab-card,#fff)!important;display:grid!important;gap:.35rem!important;}
.abb-drinks-empty-hint strong{font-weight:950!important;color:var(--ab-accent,#d60045)!important;}
.abb-drinks-empty-hint small{font-weight:800!important;color:var(--ab-muted,#777)!important;}
.abb-drinks-form .abb-drinks-save-top{transition:opacity .18s ease!important;}


/* RC45: Getränke Bestellung Workflow */
.abb-drinks-form[data-drinks-mode="no"] .abb-drinks-list-wrap{display:none!important;}
.abb-mybar .abb-drinks-actions{align-items:center!important;}
.abb-mybar .abb-drinks-order-send{font-weight:950!important;box-shadow:0 0 22px rgba(214,0,69,.22)!important;}
.abb-mybar .abb-drink-category summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;}
.abb-mybar .abb-drink-cat-count{justify-self:start!important;margin-left:.5rem!important;}
@media(max-width:720px){
  .abb-mybar .abb-drink-category summary{grid-template-columns:1fr auto!important;}
  .abb-mybar .abb-drink-cat-count{grid-column:1 / -1!important;margin-left:0!important;margin-top:.2rem!important;}
}


/* RC46: Getränke Final Polish */
.abb-drinks-form[data-drinks-mode="no"] .abb-drinks,
.abb-drinks-form[data-drinks-mode="no"] .abb-drinks-list-wrap{display:none!important;}
.abb-drinks-form[data-drinks-mode="no"] .abb-drinks-save-top{display:none!important;}
.abb-mybar .abb-drinks-choice-row .abb-select-card b{text-transform:none!important;}
.abb-mybar .abb-drink-category summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important;}
.abb-mybar .abb-drink-cat-count{margin-left:auto!important;justify-self:auto!important;text-align:right!important;}
.abb-mybar .abb-drink-category summary:after{margin-left:.5rem!important;flex:0 0 auto!important;}
@media(max-width:720px){
  .abb-mybar .abb-drink-category summary{display:flex!important;}
  .abb-mybar .abb-drink-cat-count{grid-column:auto!important;margin-top:0!important;font-size:.78rem!important;}
}

/* RC48 scoped: booking success and account deletion cards */
.abb-booking-success-card{margin:22px 0;padding:26px;border-radius:24px;text-align:center;box-shadow:0 18px 46px rgba(0,0,0,.10)}
.abb-booking-success-card h2{margin-top:0}
.abb-delete-account-box{margin-top:24px;padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:18px}
.abb-delete-account-box summary{cursor:pointer;font-weight:700}


/* RC49: booking email exists hint */
.abb-email-exists-hint{margin-top:8px;padding:12px 14px;border:1px solid rgba(210,0,63,.28);border-radius:14px;background:rgba(210,0,63,.06);color:var(--ab-text,#161616);font-size:.95rem;line-height:1.4}
.abb-email-exists-hint .abb-email-login-btn{margin-top:10px}
.abb-field-error{border-color:#d0003f!important;box-shadow:0 0 0 3px rgba(210,0,63,.12)!important}
.abb-result .abb-open-login{margin-top:10px}

/* RC54: compact booking status controls */
.abb-admin-bookings .abb-status-form,
.abb-bookings-table .abb-status-form{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;max-width:250px!important;}
.abb-admin-bookings .abb-status-form select,
.abb-bookings-table .abb-status-form select{width:132px!important;min-width:132px!important;max-width:132px!important;height:38px!important;padding:4px 28px 4px 10px!important;font-size:14px!important;}
.abb-admin-bookings .abb-status-form .button,
.abb-bookings-table .abb-status-form .button{height:38px!important;line-height:36px!important;padding:0 12px!important;}


/* RC55: force compact booking status controls in wp-admin/team table */
.abb-status-form{display:inline-flex!important;align-items:center!important;gap:6px!important;flex-wrap:nowrap!important;max-width:240px!important;white-space:nowrap!important;}
.abb-status-form select{width:120px!important;min-width:120px!important;max-width:120px!important;height:34px!important;padding:2px 24px 2px 8px!important;font-size:13px!important;line-height:1.2!important;}
.abb-status-form .button,.abb-status-form button{height:34px!important;min-height:34px!important;line-height:32px!important;padding:0 10px!important;font-size:13px!important;}

/* RC57: Getränke-Bestellstatus */
.abb-drinks-order-send.abb-drinks-ordered{background:#12823b!important;border-color:#12823b!important;color:#fff!important;box-shadow:0 0 0 1px rgba(18,130,59,.45),0 0 22px rgba(18,130,59,.35)!important;}
.abb-drinks-order-send:disabled{opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important;}
.abb-info-icon{display:inline-flex;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;border-radius:999px!important;border:1px solid var(--ab-border,#ddd)!important;font-weight:900!important;margin-left:.35rem!important;cursor:help!important;}

/* RC63: Portal Extras + Rechnung Download */
.abb-payment-invoice-download{margin:16px 0 18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.abb-extras-form .abb-card-grid{margin-bottom:18px}

/* RC70: Info Icon zuverlässig ausblenden trotz alter display-Regel */
.abb-info-icon[style*="display: none"]{display:none!important;}


/* RC78 contact base – all colors and radii inherit central design tokens */
.abb-contact-block,.abb-contact-form{padding:var(--ab-space-lg,1.25rem);border:1px solid var(--ab-border);background:var(--ab-card);border-radius:var(--ab-radius)}
.abb-contact-details{display:grid;gap:.35rem;margin:.75rem 0}.abb-contact-details p{margin:0}.abb-contact-button-wrap{margin:1rem 0 0}.abb-contact-form{display:grid;gap:1rem;margin-top:1rem}.abb-contact-form label{display:grid;gap:.4rem}.abb-contact-form input,.abb-contact-form textarea{width:100%}.abb-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.abb-alert{padding:.85rem 1rem;border-radius:var(--ab-radius);margin:1rem 0;border:1px solid var(--ab-border)}.abb-alert-success{background:color-mix(in srgb,var(--ab-success,#178a45) 12%,var(--ab-card));}.abb-alert-error{background:color-mix(in srgb,var(--ab-danger,#b42318) 10%,var(--ab-card));}

/* RC79 Startseiten-Kontakt: Darstellung wird im Backend gewählt; Gestaltung nur über zentrale Tokens */
.abb-home-contact .abb-contact-block{padding:0!important;border:0!important;background:transparent!important;border-radius:0!important}
.abb-home-contact .abb-contact-form{margin-top:1.1rem;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important}
.abb-contact-inline-mobile{display:none;margin:1rem 0 0}
.abb-contact-form-compact{gap:.75rem!important}
.abb-contact-form-compact .abb-form-row{gap:.75rem!important}
.abb-contact-form-compact label{font-size:.95rem}
.abb-contact-form-compact input,.abb-contact-form-compact textarea{min-height:46px}
@media(max-width:760px){
  .abb-contact-inline-desktop{display:none!important}
  .abb-contact-inline-mobile{display:block!important}
}


/* RC81: Contact form must never exceed its card/viewport on mobile */
.abb-contact-block,.abb-contact-form,.abb-home-contact,.abb-contact-form *{box-sizing:border-box}
.abb-contact-form{width:100%;max-width:100%;min-width:0;overflow:hidden}
.abb-contact-form label,.abb-contact-form .abb-form-row,.abb-contact-form input,.abb-contact-form textarea,.abb-contact-form select,.abb-contact-form button{max-width:100%;min-width:0}
.abb-contact-form input,.abb-contact-form textarea,.abb-contact-form select{display:block;width:100%!important}
@media(max-width:760px){
  .abb-home-contact,.abb-home-contact .abb-contact-block,.abb-home-contact .abb-contact-form{width:100%!important;max-width:100%!important;min-width:0!important}
  .abb-contact-form{padding:0!important;gap:.8rem!important}
  .abb-contact-form .abb-form-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .abb-contact-form input,.abb-contact-form textarea,.abb-contact-form select{font-size:16px!important}
  .abb-contact-form button{width:100%;white-space:normal}
}

/* RC83: injected home contact body inherits the existing card and stays fluid */
.abb-home-contact-injected,.abb-home-contact-injected .abb-home-contact,.abb-home-contact-injected .abb-contact-block{width:100%;max-width:100%;min-width:0;box-sizing:border-box}

/* RC85: Teamportal primary actions and frontend drinks editor */
.abb-team-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 24px}
.abb-team-primary-actions .ab-btn{width:100%;min-height:58px;justify-content:center;text-align:center}
.abb-team-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.abb-team-drinks-admin{max-width:100%;overflow-x:auto}
.abb-team-drinks-admin .wrap{margin:0;max-width:100%}
.abb-team-drinks-admin .abb-drinks-admin-table{min-width:980px}
.abb-team-drinks-admin input,.abb-team-drinks-admin select,.abb-team-drinks-admin button{box-sizing:border-box}
@media (max-width:700px){
  .abb-team-primary-actions{grid-template-columns:1fr}
  .abb-team-primary-actions .ab-btn{min-height:52px}
}
