.rtb2-app{box-sizing:border-box;width:100%;max-width:none;color:var(--rtb2-text,#20262c);background:var(--rtb2-background,#f5f7f9);font-family:var(--rtb2-body-font,inherit);font-size:var(--rtb2-base-size,16px);line-height:1.55}
.rtb2-app *,.rtb2-app *::before,.rtb2-app *::after{box-sizing:border-box}
.rtb2-app h1,.rtb2-app h2,.rtb2-app h3,.rtb2-app h4{font-family:var(--rtb2-heading-font,inherit);color:var(--rtb2-text);line-height:1.18;margin-top:0}
.rtb2-muted{color:var(--rtb2-muted)}.rtb2-error-text{color:var(--rtb2-danger)}.rtb2-eyebrow{margin:0 0 6px;color:var(--rtb2-primary);font-size:.78em;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.rtb2-card{background:var(--rtb2-surface);border:1px solid var(--rtb2-border);border-radius:var(--rtb2-radius);box-shadow:var(--rtb2-shadow);padding:calc(var(--rtb2-gap)*1.35);margin-bottom:var(--rtb2-gap)}
.rtb2-card-header,.rtb2-portal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--rtb2-gap);margin-bottom:var(--rtb2-gap)}
.rtb2-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 16px;border:1px solid transparent;border-radius:var(--rtb2-radius);font:inherit;font-weight:650;text-decoration:none!important;cursor:pointer;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}
.rtb2-button:hover{filter:brightness(.92);transform:translateY(-1px)}.rtb2-button:focus-visible{outline:3px solid color-mix(in srgb,var(--rtb2-accent) 40%,transparent);outline-offset:2px}.rtb2-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.rtb2-button-primary{background:var(--rtb2-primary)!important;color:var(--rtb2-primary-text)!important;border-color:var(--rtb2-primary)!important}.rtb2-button-primary:hover,.rtb2-button-primary:focus{color:var(--rtb2-primary-text)!important}
.rtb2-button-secondary{background:var(--rtb2-surface)!important;color:var(--rtb2-text)!important;border-color:var(--rtb2-border)!important}.rtb2-button-secondary:hover,.rtb2-button-secondary:focus{color:var(--rtb2-text)!important;border-color:var(--rtb2-primary)!important}
.rtb2-button-danger{background:var(--rtb2-danger)!important;color:var(--rtb2-danger-text)!important;border-color:var(--rtb2-danger)!important}.rtb2-button-danger:hover,.rtb2-button-danger:focus{color:var(--rtb2-danger-text)!important}
.rtb2-link-button{appearance:none;background:none;border:0;padding:0;color:var(--rtb2-primary);text-decoration:underline;cursor:pointer;font:inherit}
.rtb2-form{display:grid;gap:var(--rtb2-gap)}.rtb2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--rtb2-gap)}.rtb2-form label,.rtb2-admin-form label{display:grid;gap:5px;font-weight:600}.rtb2-form fieldset{margin:0;padding:var(--rtb2-gap);border:1px solid var(--rtb2-border);border-radius:var(--rtb2-radius)}
.rtb2-form input,.rtb2-form select,.rtb2-form textarea,.rtb2-calendar-toolbar input,.rtb2-calendar-toolbar select,.rtb2-staff-header select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--rtb2-border);border-radius:var(--rtb2-radius);background:var(--rtb2-surface);color:var(--rtb2-text);font:inherit}
.rtb2-form input:focus,.rtb2-form select:focus,.rtb2-form textarea:focus,.rtb2-calendar-toolbar input:focus,.rtb2-calendar-toolbar select:focus{outline:2px solid var(--rtb2-accent);outline-offset:1px;border-color:var(--rtb2-accent)}
.rtb2-form-message{min-height:1.5em;font-weight:600}.rtb2-inline-form{display:inline-flex;align-items:center;gap:8px;margin-right:8px}.rtb2-payment-methods{display:flex;flex-wrap:wrap;gap:12px}.rtb2-payment-methods label{display:flex;align-items:center;gap:7px;font-weight:500}.rtb2-payment-methods input{width:auto;min-height:0}
.rtb2-notice{padding:12px 15px;border:1px solid var(--rtb2-border);border-left-width:5px;border-radius:var(--rtb2-radius);background:var(--rtb2-surface);margin:0 0 var(--rtb2-gap)}.rtb2-notice-warning{border-left-color:var(--rtb2-warning)}.rtb2-notice-error{border-left-color:var(--rtb2-danger)}.rtb2-notice-success{border-left-color:var(--rtb2-success)}
.rtb2-status{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:.82em;font-weight:700;color:#fff}.rtb2-status-pending{background:var(--rtb2-pending);color:#111}.rtb2-status-confirmed{background:var(--rtb2-confirmed)}.rtb2-status-completed{background:var(--rtb2-completed)}.rtb2-status-cancelled,.rtb2-status-no_show{background:var(--rtb2-cancelled)}
.rtb2-calendar{width:100%;padding:var(--rtb2-gap);background:var(--rtb2-surface);border:1px solid var(--rtb2-border);border-radius:var(--rtb2-radius);box-shadow:var(--rtb2-shadow)}
.rtb2-calendar-toolbar{display:grid;grid-template-columns:auto auto minmax(150px,220px) auto minmax(180px,1fr);gap:8px;align-items:center;margin-bottom:var(--rtb2-gap)}.rtb2-calendar-toolbar .rtb2-button{min-width:42px;padding-inline:12px}
.rtb2-calendar-stage{width:100%;overflow:auto;border:1px solid var(--rtb2-border);border-radius:var(--rtb2-radius);background:var(--rtb2-surface)}
.rtb2-calendar-grid{display:grid;grid-template-columns:minmax(68px,88px) repeat(var(--rtb2-day-count),minmax(160px,1fr));min-width:calc(78px + var(--rtb2-day-count)*160px)}
.rtb2-calendar-corner,.rtb2-calendar-day-head,.rtb2-calendar-time,.rtb2-calendar-slot{min-height:48px;border-right:1px solid var(--rtb2-border);border-bottom:1px solid var(--rtb2-border);padding:7px 8px}
.rtb2-calendar-corner,.rtb2-calendar-day-head{position:sticky;top:0;z-index:3;background:var(--rtb2-primary);color:var(--rtb2-primary-text);font-weight:750;text-align:center}.rtb2-calendar-corner{left:0;z-index:4}.rtb2-calendar-time{position:sticky;left:0;z-index:2;background:var(--rtb2-surface);color:var(--rtb2-muted);font-size:.85em;font-weight:700;text-align:center}
.rtb2-calendar-slot{appearance:none;width:100%;margin:0;background:var(--rtb2-surface);color:var(--rtb2-text);font:inherit;text-align:left;cursor:default}.rtb2-calendar-slot>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtb2-calendar-slot.is-actionable{cursor:pointer}.rtb2-calendar-slot.is-actionable:hover{box-shadow:inset 0 0 0 2px var(--rtb2-accent)}
.rtb2-calendar-slot.is-free{background:color-mix(in srgb,var(--rtb2-success) 9%,var(--rtb2-surface));color:var(--rtb2-text)}.rtb2-calendar-slot.is-free::before{content:'●';color:var(--rtb2-success);margin-right:5px}.rtb2-calendar-slot.is-pending{background:color-mix(in srgb,var(--rtb2-pending) 28%,var(--rtb2-surface));color:var(--rtb2-text)}.rtb2-calendar-slot.is-confirmed{background:color-mix(in srgb,var(--rtb2-confirmed) 18%,var(--rtb2-surface));color:var(--rtb2-text)}.rtb2-calendar-slot.is-completed{background:color-mix(in srgb,var(--rtb2-completed) 18%,var(--rtb2-surface));color:var(--rtb2-text)}.rtb2-calendar-slot.is-blocked{background:color-mix(in srgb,var(--rtb2-danger) 16%,var(--rtb2-surface));color:var(--rtb2-text)}.rtb2-calendar-slot.is-event{background:var(--slot-bg,var(--rtb2-warning));color:var(--slot-text,var(--rtb2-warning-text))}.rtb2-calendar-slot.is-closed{background:color-mix(in srgb,var(--rtb2-muted) 9%,var(--rtb2-surface));color:var(--rtb2-muted);background-image:repeating-linear-gradient(135deg,transparent 0 8px,color-mix(in srgb,var(--rtb2-border) 40%,transparent) 8px 10px)}
.rtb2-calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:.85em}.rtb2-calendar-legend span::before{content:'';display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}.rtb2-calendar-legend .is-free::before{background:var(--rtb2-success)}.rtb2-calendar-legend .is-pending::before{background:var(--rtb2-pending)}.rtb2-calendar-legend .is-confirmed::before{background:var(--rtb2-confirmed)}.rtb2-calendar-legend .is-completed::before{background:var(--rtb2-completed)}.rtb2-calendar-legend .is-blocked::before{background:var(--rtb2-danger)}.rtb2-calendar-legend .is-closed::before{background:var(--rtb2-muted)}
.rtb2-loading{padding:32px;text-align:center;color:var(--rtb2-muted)}
.rtb2-modal[hidden]{display:none!important}.rtb2-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}.rtb2-modal-backdrop{position:absolute;inset:0;background:rgba(10,15,25,.62);backdrop-filter:blur(3px)}.rtb2-modal-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:clamp(20px,4vw,36px);background:var(--rtb2-surface);color:var(--rtb2-text);border-radius:var(--rtb2-radius);box-shadow:0 24px 80px rgba(0,0,0,.35)}.rtb2-modal-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--rtb2-text);font-size:28px;cursor:pointer}.rtb2-modal-open{overflow:hidden}
.rtb2-tabs,.rtb2-portal-nav{display:flex;gap:4px;padding:4px;background:color-mix(in srgb,var(--rtb2-border) 40%,var(--rtb2-surface));border-radius:var(--rtb2-radius);margin-bottom:var(--rtb2-gap)}.rtb2-tabs button,.rtb2-portal-nav button{flex:1;appearance:none;border:0;border-radius:calc(var(--rtb2-radius)*.75);padding:10px;background:transparent;color:var(--rtb2-text);font:inherit;font-weight:650;cursor:pointer}.rtb2-tabs button.is-active,.rtb2-portal-nav button.is-active{background:var(--rtb2-primary);color:var(--rtb2-primary-text)}
.rtb2-extra-option{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--rtb2-border);font-weight:500!important}.rtb2-extra-option input{display:inline-block;width:68px;min-height:36px}.rtb2-price{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:14px;background:color-mix(in srgb,var(--rtb2-primary) 8%,var(--rtb2-surface));border:1px solid color-mix(in srgb,var(--rtb2-primary) 30%,var(--rtb2-border));border-radius:var(--rtb2-radius)}.rtb2-price strong{font-size:1.3em}.rtb2-price small{width:100%;color:var(--rtb2-muted)}
.rtb2-table-wrap{overflow:auto}.rtb2-table{width:100%;border-collapse:collapse;background:var(--rtb2-surface);color:var(--rtb2-text)}.rtb2-table th,.rtb2-table td{padding:10px 12px;border-bottom:1px solid var(--rtb2-border);text-align:left;white-space:nowrap}.rtb2-table th{background:color-mix(in srgb,var(--rtb2-primary) 9%,var(--rtb2-surface));font-weight:750}.rtb2-table tbody tr:hover{background:color-mix(in srgb,var(--rtb2-accent) 6%,var(--rtb2-surface))}
.rtb2-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:var(--rtb2-gap) 0}.rtb2-detail-list>div{padding:10px;border:1px solid var(--rtb2-border);border-radius:var(--rtb2-radius)}.rtb2-detail-list span{display:block;color:var(--rtb2-muted);font-size:.82em}.rtb2-danger-zone{margin-top:20px;padding-top:20px;border-top:1px solid var(--rtb2-border)}
@media(max-width:760px){.rtb2-form-grid,.rtb2-detail-list{grid-template-columns:1fr}.rtb2-calendar-toolbar{grid-template-columns:auto 1fr auto}.rtb2-calendar-toolbar [data-calendar-today]{display:none}.rtb2-calendar-toolbar select{grid-column:1/-1}.rtb2-modal{padding:8px}.rtb2-modal-dialog{max-height:calc(100vh - 16px);padding:22px 16px}.rtb2-card-header,.rtb2-portal-header{align-items:flex-start;flex-direction:column}}

.rtb2-calendar-slot.is-partially_booked{background:color-mix(in srgb,var(--rtb2-success) 18%,var(--rtb2-surface));color:var(--rtb2-text);border-color:color-mix(in srgb,var(--rtb2-success) 50%,var(--rtb2-border))}
.rtb2-calendar-legend .is-partially_booked::before{background:var(--rtb2-success)}

/* Shared calendar component – 2.0.1 */
.rtb2-calendar{container-type:inline-size;isolation:isolate}
.rtb2-calendar-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:var(--rtb2-gap)}
.rtb2-calendar-toolbar-group{display:flex;align-items:center;gap:6px}
.rtb2-calendar-toolbar-nav{flex:0 0 auto}
.rtb2-calendar-control{display:grid;gap:4px;min-width:150px;margin:0!important;color:var(--rtb2-muted);font-size:.78em;font-weight:700}
.rtb2-calendar-control>span{line-height:1}
.rtb2-calendar-control input,.rtb2-calendar-control select{min-height:42px;font-size:1rem;font-weight:500}
.rtb2-calendar-resource-control{flex:1 1 230px}
.rtb2-calendar-columns-control{flex:0 0 135px}
.rtb2-calendar-icon-button{font-size:1.4em;line-height:1;min-width:44px}
.rtb2-calendar-resource-info{display:flex;align-items:center;gap:14px;margin:0 0 var(--rtb2-gap);padding:12px 14px;border:1px solid var(--rtb2-border);border-radius:var(--rtb2-radius);background:color-mix(in srgb,var(--rtb2-primary) 5%,var(--rtb2-surface))}
.rtb2-calendar-resource-image{display:grid;place-items:center;flex:0 0 68px;width:68px;height:54px;overflow:hidden;border-radius:calc(var(--rtb2-radius)*.75);background:var(--rtb2-surface);border:1px solid var(--rtb2-border)}
.rtb2-calendar-resource-image img{width:100%;height:100%;object-fit:cover}
.rtb2-resource-info-placeholder{font-size:1.7em;color:var(--rtb2-muted)}
.rtb2-calendar-resource-copy{display:grid;gap:2px;min-width:0}
.rtb2-calendar-resource-copy>strong{font-size:1.08em;color:var(--rtb2-text)}
.rtb2-calendar-resource-copy>span{color:var(--rtb2-muted);font-size:.88em}
.rtb2-calendar-resource-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:4px;color:var(--rtb2-muted);font-size:.8em}
.rtb2-calendar-resource-meta span{display:inline-flex;align-items:center;gap:5px}
.rtb2-calendar-resource-meta span::before{content:'•';color:var(--rtb2-primary)}
.rtb2-calendar-stage{min-height:240px}
.rtb2-calendar-grid{grid-template-columns:minmax(62px,82px) repeat(var(--rtb2-day-count),minmax(148px,1fr));min-width:calc(72px + var(--rtb2-day-count)*148px)}
.rtb2-calendar-corner,.rtb2-calendar-day-head{min-height:58px;display:grid;align-content:center}
.rtb2-calendar-day-head span{display:block;font-size:.72em;font-weight:650;opacity:.86;text-transform:uppercase;letter-spacing:.04em}
.rtb2-calendar-day-head strong{display:block;font-size:1em}
.rtb2-calendar-time{display:grid;place-items:start center;padding-top:10px;font-variant-numeric:tabular-nums}
.rtb2-calendar-slot{position:relative;display:grid;align-content:center;gap:2px;min-height:52px;border-radius:0;border-top:0;border-left:0}
.rtb2-calendar-slot .rtb2-slot-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.2}
.rtb2-calendar-slot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;opacity:.76;font-size:.72em;line-height:1.2}
.rtb2-calendar-slot.is-continuation .rtb2-slot-label{font-weight:550;opacity:.86}
.rtb2-calendar-slot.is-actionable:focus-visible{outline:3px solid var(--rtb2-accent);outline-offset:-3px;z-index:1}
.rtb2-calendar-slot.is-unavailable{background:color-mix(in srgb,var(--rtb2-muted) 6%,var(--rtb2-surface));color:var(--rtb2-muted)}
.rtb2-calendar-slot.is-event{background:var(--slot-bg,var(--rtb2-warning));color:var(--slot-text,var(--rtb2-warning-text))}
.rtb2-calendar-legend .is-event::before{background:var(--rtb2-warning)}
.rtb2-calendar-legend .is-unavailable::before{background:color-mix(in srgb,var(--rtb2-muted) 55%,transparent)}
.rtb2-calendar-skeleton{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;padding:18px;min-height:240px}
.rtb2-calendar-skeleton i{display:block;border-radius:var(--rtb2-radius);background:linear-gradient(90deg,color-mix(in srgb,var(--rtb2-border) 50%,transparent),color-mix(in srgb,var(--rtb2-surface) 90%,white),color-mix(in srgb,var(--rtb2-border) 50%,transparent));background-size:220% 100%;animation:rtb2-skeleton 1.2s linear infinite}
@keyframes rtb2-skeleton{to{background-position:-220% 0}}
@container (max-width:680px){.rtb2-calendar-toolbar{align-items:stretch}.rtb2-calendar-toolbar-nav{width:100%;justify-content:space-between}.rtb2-calendar-toolbar-nav [data-calendar-today]{display:inline-flex}.rtb2-calendar-control{flex:1 1 140px}.rtb2-calendar-resource-info{align-items:flex-start}.rtb2-calendar-resource-image{flex-basis:54px;width:54px;height:48px}.rtb2-calendar-resource-meta{display:grid;gap:2px}.rtb2-calendar-grid{grid-template-columns:58px repeat(var(--rtb2-day-count),minmax(132px,1fr));min-width:calc(58px + var(--rtb2-day-count)*132px)}}

/* Kalenderkopf und Kontobereich – 2.0.4 */
.rtb2-calendar-toolbar {
	font-size: max(var(--rtb2-base-size), 16px);
}

.rtb2-calendar-control {
	gap: 6px;
	font-size: 14px;
	line-height: 1.3;
}

.rtb2-calendar-control > span {
	font-size: 14px;
	font-weight: 750;
	line-height: 1.3;
}

.rtb2-calendar-control input,
.rtb2-calendar-control select,
.rtb2-calendar-toolbar .rtb2-button {
	min-height: 44px;
	font-size: 16px;
}

.rtb2-account-form[hidden],
.rtb2-account-form[aria-hidden="true"],
.rtb2-modal [hidden] {
	display: none !important;
}

.rtb2-account-tabs {
	margin-bottom: 18px;
}

.rtb2-account-form {
	padding-top: 4px;
}

.rtb2-account-form > h3 {
	margin: 0 0 4px;
	font-size: 1.15em;
}
