.crm-request-form-wrap,
.crm-dashboard,
.crm-menu-select,
.crm-offer-view {
	--crm-ink: #17201d;
	--crm-muted: #64716c;
	--crm-line: #dce3df;
	--crm-surface: #fff;
	--crm-soft: #f4f7f5;
	--crm-accent: #214f42;
	--crm-accent-hover: #173c32;
	--crm-success: #23764f;
	--crm-danger: #a23b3b;
	--crm-radius: 12px;
	box-sizing: border-box;
	color: var(--crm-ink);
	font-family: inherit;
}

.crm-request-form-wrap *, .crm-request-form-wrap *::before, .crm-request-form-wrap *::after,
.crm-dashboard *, .crm-dashboard *::before, .crm-dashboard *::after,
.crm-menu-select *, .crm-menu-select *::before, .crm-menu-select *::after,
.crm-offer-view *, .crm-offer-view *::before, .crm-offer-view *::after { box-sizing: inherit; }

.crm-request-form-wrap {
	max-width: 64rem;
	margin-inline: auto;
	padding: clamp(1.4rem, 4vw, 3rem);
	border: 1px solid var(--crm-line);
	border-radius: calc(var(--crm-radius) + 8px);
	background: var(--crm-surface);
	box-shadow: 0 1.25rem 3.5rem rgba(23, 32, 29, 0.09);
}

.crm-request-form-wrap__header { max-width: 42rem; margin-bottom: 2rem; }
.crm-request-form-wrap__eyebrow, .crm-dashboard__eyebrow { display: block; margin-bottom: .5rem; color: var(--crm-accent); font-size: .75rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.crm-request-form-wrap__title { margin: 0; color: var(--crm-ink); font-size: clamp(1.8rem, 4vw, 2.75rem); line-height: 1.08; letter-spacing: -.035em; }
.crm-request-form-wrap__header p { margin: .85rem 0 0; color: var(--crm-muted); font-size: 1.05rem; line-height: 1.65; }
.crm-form__required-note { margin: 0 0 1.1rem; color: var(--crm-muted); font-size: .82rem; text-align: right; }
.crm-guest-gate { margin: 0 0 1.5rem; padding: 1.15rem; border: 1px solid var(--crm-line); border-color: color-mix(in srgb, var(--crm-accent) 42%, var(--crm-line)); border-radius: var(--crm-radius); background: var(--crm-soft); }
.crm-guest-gate__copy { display: flex; align-items: flex-start; gap: .8rem; margin-bottom: 1rem; }
.crm-guest-gate__icon { display: inline-grid; flex: 0 0 1.65rem; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: 50%; background: var(--crm-accent); color: #fff; font-size: .9rem; font-weight: 800; }
.crm-guest-gate h3 { margin: 0 0 .25rem; color: var(--crm-ink); font-size: 1.05rem; line-height: 1.3; }
.crm-guest-gate p { margin: 0; color: var(--crm-muted); line-height: 1.55; }
.crm-guest-gate__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.crm-guest-gate__fields .crm-form__field { grid-column: auto; }
.crm-guest-gate__button { margin-top: 1rem; padding: .72rem 1.05rem; border: 0; border-radius: calc(var(--crm-radius) * .75); background: var(--crm-accent); color: #fff; font: inherit; font-weight: 750; cursor: pointer; transition: background .16s ease, transform .16s ease; }
.crm-guest-gate__button:hover, .crm-guest-gate__button:focus-visible { background: var(--crm-accent-hover); transform: translateY(-1px); }
.crm-guest-gate__button:disabled { cursor: wait; opacity: .7; transform: none; }
.crm-guest-gate__feedback { display: none; margin-top: .8rem !important; padding: .7rem .8rem; border-radius: calc(var(--crm-radius) * .75); font-size: .9rem; font-weight: 650; }
.crm-guest-gate__feedback.is-visible { display: block; }
.crm-guest-gate__feedback.is-error { border: 1px solid var(--crm-danger); border-color: color-mix(in srgb, var(--crm-danger) 45%, transparent); background: #fff3f2; color: var(--crm-danger); }
.crm-guest-gate__feedback.is-success { border: 1px solid var(--crm-success); border-color: color-mix(in srgb, var(--crm-success) 40%, transparent); background: #f0f8f3; color: var(--crm-success); }
.crm-form__details { animation: crm-form-details-in .2s ease-out; }
@keyframes crm-form-details-in { from { opacity: 0; transform: translateY(.35rem); } to { opacity: 1; transform: none; } }
.crm-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem 1.3rem; }
.crm-form__field--textarea, .crm-form__field--multiselect, .crm-form__field--checkbox { grid-column: 1 / -1; }
.crm-form__section-heading{grid-column:1/-1;margin:.45rem 0 -.15rem;padding-top:1.15rem;border-top:1px solid var(--crm-line)}.crm-form__section-heading span{display:block;color:var(--crm-accent);font-size:1.05rem;font-weight:800}.crm-form__section-heading p{margin:.3rem 0 0;color:var(--crm-muted);font-size:.84rem;line-height:1.5}.crm-form__field--key-event_time,.crm-form__field--key-event_location{grid-column:1/-1}.crm-time-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.crm-time-range label>span{display:block;margin-bottom:.35rem;color:var(--crm-muted);font-size:.75rem;font-weight:750;text-transform:uppercase}
.crm-form__label { display: block; margin-bottom: .42rem; color: var(--crm-ink); font-size: .9rem; font-weight: 650; }
.crm-form__label span, .crm-form__required-note span { color: var(--crm-danger); }
.crm-form__control {
	display: block; width: 100%; min-height: 3.15rem; padding: .78rem .9rem;
	border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: #fbfcfb; color: var(--crm-ink);
	font: inherit; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.crm-form__control:hover { border-color: #b7c3be; background: #fff; }
.crm-form__control:focus { outline: none; border-color: var(--crm-accent); background: #fff; box-shadow: 0 0 0 3px rgba(33, 79, 66, .13); }
textarea.crm-form__control, select.crm-form__control[multiple] { min-height: 8rem; resize: vertical; }
.crm-form__field--error .crm-form__control { border-color: var(--crm-danger); }
.crm-form__choice-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.crm-form__choice-fieldset .crm-form__label { padding: 0; }
.crm-form__choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.crm-form__choice { display: flex; align-items: center; gap: .65rem; min-height: 3rem; padding: .7rem .8rem; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.crm-form__choice:hover { border-color: var(--crm-accent); background: var(--crm-soft); }
.crm-form__choice:has(input:checked) { border-color: var(--crm-accent); background: var(--crm-soft); box-shadow: inset 0 0 0 1px var(--crm-accent); }
.crm-form__choice:focus-within { outline: 2px solid var(--crm-accent); outline-offset: 2px; }
.crm-form__choice input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin: 0; accent-color: var(--crm-accent); }
.crm-form__choice span { line-height: 1.35; }
.crm-form__field--error .crm-form__choice-fieldset { padding: .65rem; border: 1px solid var(--crm-danger); border-radius: var(--crm-radius); }
.crm-form__help { margin-top: .4rem; color: var(--crm-muted); font-size: .82rem; line-height: 1.45; }
.crm-form__help p { margin: 0; }
.crm-form__error { margin-top: .4rem; color: var(--crm-danger); font-size: .84rem; font-weight: 650; }
.crm-form__checkbox { display: flex; align-items: flex-start; gap: .7rem; padding: 1rem; border-radius: var(--crm-radius); background: var(--crm-soft); line-height: 1.5; }
.crm-form__checkbox input { width: 1.15rem; height: 1.15rem; margin-top: .12rem; accent-color: var(--crm-accent); }
.crm-form__notice, .crm-dashboard__notice { margin: 0 0 1.25rem; padding: .95rem 1.1rem; border: 1px solid; border-radius: var(--crm-radius); }
.crm-form__notice--success, .crm-dashboard__notice--success { border-color: var(--crm-success); background: var(--crm-soft); color: var(--crm-success); }
.crm-form__notice--rejected { border-color: #b77a20; background: #fff8e8; color: #744b0f; }
.crm-form__notice--error, .crm-dashboard__notice--error { border-color: var(--crm-danger); background: var(--crm-soft); color: var(--crm-danger); }
.crm-form__notice p, .crm-dashboard__notice p { margin: 0; }
.crm-form__notice p + p { margin-top: .5rem; }
.crm-form__submit, .crm-dashboard button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 2.85rem; margin-top: 1.35rem; padding: .72rem 1.2rem;
	border: 1px solid var(--crm-accent); border-radius: var(--crm-radius); background: var(--crm-accent); color: #fff;
	font: inherit; font-weight: 700; cursor: pointer; transition: background .16s ease, transform .16s ease;
}
.crm-form__submit:hover, .crm-form__submit:focus-visible, .crm-dashboard button:hover, .crm-dashboard button:focus-visible { background: var(--crm-accent-hover); transform: translateY(-1px); }
.crm-form__honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }

/* Protected workspace. */
.crm-dashboard { width: 100%; max-width: 92rem; margin-inline: auto; }
.crm-dashboard-login{display:grid;min-height:32rem;place-items:center;padding:clamp(1rem,4vw,3rem)}.crm-dashboard-login__card{width:min(100%,30rem);padding:clamp(1.4rem,4vw,2.2rem);border:1px solid var(--crm-line);border-top:5px solid var(--crm-accent);border-radius:calc(var(--crm-radius) + 5px);background:var(--crm-surface);box-shadow:0 1.2rem 3rem rgba(23,32,29,.1)}.crm-dashboard-login__card h2{margin:.4rem 0 0}.crm-dashboard-login__card>p{margin:.7rem 0 1.4rem;color:var(--crm-muted);line-height:1.6}.crm-dashboard-login form p{margin:0 0 1rem}.crm-dashboard-login form label{display:block;margin-bottom:.35rem;color:var(--crm-muted);font-size:.76rem;font-weight:800}.crm-dashboard-login form input[type="text"],.crm-dashboard-login form input[type="password"]{width:100%;min-height:3rem;margin:0;padding:.65rem .75rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-surface);color:var(--crm-ink);font:inherit}.crm-dashboard-login .login-remember label{display:flex;align-items:center;gap:.55rem;color:var(--crm-ink);font-size:.84rem}.crm-dashboard-login .login-submit{margin-bottom:0}.crm-dashboard-login .login-submit input{width:100%;min-height:3rem;margin:0;border:0;border-radius:var(--crm-radius);background:var(--crm-accent);color:#fff;font:inherit;font-weight:800;cursor:pointer}.crm-dashboard-login .login-submit input:hover{background:var(--crm-accent-hover)}.crm-dashboard-login__links{margin-top:1rem;text-align:center}.crm-dashboard-login__links a{color:var(--crm-accent);font-size:.84rem;font-weight:700}
.crm-dashboard__switcher { display: inline-flex; gap: .3rem; margin-bottom: 1.25rem; padding: .25rem; border: 1px solid var(--crm-line); border-radius: calc(var(--crm-radius) + 2px); background: var(--crm-soft); }
.crm-dashboard__switcher a { padding: .55rem .9rem; border-radius: var(--crm-radius); color: var(--crm-muted); font-weight: 700; text-decoration: none; }
.crm-dashboard__switcher a[aria-current="page"] { background: var(--crm-surface); color: var(--crm-accent); box-shadow: 0 .2rem .7rem rgba(23,32,29,.08); }
.crm-blocked-date-form form { display:grid;grid-template-columns:minmax(10rem,.7fr) minmax(16rem,1.5fr) auto;align-items:end;gap:.75rem }.crm-blocked-date-form label>span{display:block;margin-bottom:.35rem;color:var(--crm-muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.crm-blocked-date-form button{margin:0;min-height:2.7rem}.crm-blocked-date-form .crm-muted{margin:.8rem 0 0}.crm-capacity-calendar__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.crm-capacity-calendar__heading h3{margin:0}.crm-capacity-calendar__heading a{display:grid;width:2.4rem;height:2.4rem;place-items:center;border:1px solid var(--crm-line);border-radius:50%;color:var(--crm-accent);font-size:1.2rem;text-decoration:none}.crm-capacity-calendar__weekdays,.crm-capacity-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.crm-capacity-calendar__weekdays span{padding:.35rem;color:var(--crm-muted);font-size:.72rem;font-weight:800;text-align:center;text-transform:uppercase}.crm-capacity-day{display:flex;min-height:7.2rem;flex-direction:column;gap:.3rem;padding:.55rem;border:1px solid var(--crm-line);border-radius:.65rem;background:var(--crm-surface)}.crm-capacity-day>strong{font-size:.9rem}.crm-capacity-day>span{color:var(--crm-danger);font-size:.72rem;font-weight:800;text-transform:uppercase}.crm-capacity-day>small{color:var(--crm-muted);font-size:.7rem;line-height:1.3}.crm-capacity-day form{margin-top:auto}.crm-capacity-day button{width:100%;min-height:0;margin:0;padding:.35rem;border:1px solid var(--crm-line);background:transparent;color:var(--crm-muted);font-size:.7rem}.crm-capacity-day--blocked{border-color:#e6bebe;background:#fff3f3}.crm-capacity-day--blocked button{border-color:#dcaeae;color:#913838}.crm-capacity-day--empty{border-color:transparent;background:transparent}
.crm-event-calendar-header{align-items:center;gap:1.5rem}.crm-event-export{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;padding:.8rem 1.1rem;border-radius:.65rem;background:var(--crm-accent);color:#fff!important;font-weight:800;text-decoration:none}.crm-event-export:hover{background:var(--crm-accent-hover)}.crm-event-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}.crm-event-filter{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border:1px solid var(--crm-line);border-radius:999px;background:var(--crm-surface);color:var(--crm-muted);font-size:.82rem;font-weight:800;text-decoration:none}.crm-event-filter::before{width:.65rem;height:.65rem;border-radius:50%;background:#76847e;content:""}.crm-event-filter--catering::before{background:var(--crm-accent)}.crm-event-filter--consultation::before{background:#3977a8}.crm-event-filter--callback::before{background:#b66b22}.crm-event-filter[aria-current="page"]{border-color:var(--crm-accent);box-shadow:0 0 0 2px rgba(146,195,26,.18);color:var(--crm-ink)}.crm-event-day{min-height:9rem}.crm-event-day--booked{background:#fbfdf9}.crm-calendar-entry{display:block;padding:.38rem .42rem;border-left:4px solid var(--crm-accent);border-radius:.3rem;background:#eef7d8;color:var(--crm-ink)!important;text-decoration:none}.crm-calendar-entry--consultation{border-left-color:#3977a8;background:#eaf3fa}.crm-calendar-entry--callback{border-left-color:#b66b22;background:#fff1e3}.crm-calendar-entry--tentative{border-left-style:dashed;opacity:.82}.crm-calendar-entry>span{display:block;font-size:.58rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.crm-calendar-entry>strong,.crm-calendar-entry>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-calendar-entry>strong{font-size:.72rem}.crm-calendar-entry>small{color:var(--crm-muted);font-size:.64rem}.crm-upcoming-events{margin-top:1rem}.crm-upcoming-events__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.crm-upcoming-events__heading h3{margin:0}.crm-upcoming-events__heading>span{color:var(--crm-muted);font-size:.8rem;font-weight:700}.crm-upcoming-events__list{display:grid;gap:.75rem;margin-top:1rem}.crm-upcoming-event{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem;border:1px solid var(--crm-line);border-left:5px solid var(--crm-accent);border-radius:.65rem}.crm-upcoming-event--consultation{border-left-color:#3977a8}.crm-upcoming-event--callback{border-left-color:#b66b22}.crm-upcoming-event--tentative{border-left-style:dashed;background:var(--crm-soft)}.crm-upcoming-event time{display:grid;text-align:center}.crm-upcoming-event time strong{font-size:1.4rem;line-height:1}.crm-upcoming-event time span{color:var(--crm-muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.crm-event-type-label{color:var(--crm-muted);font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.crm-event-type-label strong{color:#9a651d}.crm-upcoming-event h4{margin:.1rem 0}.crm-upcoming-event p{margin:0;color:var(--crm-muted);font-size:.82rem}.crm-upcoming-event__actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.crm-upcoming-event__actions a{color:var(--crm-accent);font-size:.78rem;font-weight:800;text-decoration:none}
.crm-direct-offer-form{display:grid;gap:1rem}.crm-direct-step{margin:0}.crm-direct-step>header{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.2rem}.crm-direct-step>header>span{display:grid;flex:0 0 2.3rem;width:2.3rem;height:2.3rem;place-items:center;border-radius:50%;background:var(--crm-accent);color:#fff;font-weight:900}.crm-direct-step>header h3{margin:0}.crm-direct-step>header p{margin:.3rem 0 0;color:var(--crm-muted)}.crm-direct-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.crm-direct-grid label>span,.crm-direct-wide>span,.crm-direct-services legend{display:block;margin-bottom:.35rem;color:var(--crm-muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.crm-direct-offer input[type="email"],.crm-direct-offer input[type="tel"],.crm-direct-offer input[type="number"]{width:100%;min-height:2.7rem;margin:0;padding:.62rem .72rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-surface);color:var(--crm-ink);font:inherit}.crm-direct-services{margin:1rem 0;padding:0;border:0}.crm-direct-services>div,.crm-direct-item-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.crm-direct-services label,.crm-direct-item-checks label,.crm-direct-no-menu,.crm-direct-confirm{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem;border:1px solid var(--crm-line);border-radius:.55rem;background:var(--crm-soft);cursor:pointer}.crm-direct-services input,.crm-direct-item-checks input,.crm-direct-no-menu input,.crm-direct-confirm input,.crm-direct-package-choice input{flex:0 0 auto;margin-top:.2rem}.crm-direct-wide{display:block;margin-top:1rem}.crm-direct-catalogues{display:grid;gap:1rem;margin-top:1rem}.crm-direct-catalogues>section>h4{margin:0}.crm-direct-catalogues>section>p{margin:.3rem 0 .8rem;color:var(--crm-muted)}.crm-direct-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.crm-direct-menu-option{overflow:hidden;border:1px solid var(--crm-line);border-radius:.7rem;background:var(--crm-surface)}.crm-direct-menu-option:has(.crm-direct-package-choice input:checked){border-color:var(--crm-accent);box-shadow:0 0 0 2px rgba(146,195,26,.16)}.crm-direct-package-choice{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem;cursor:pointer}.crm-direct-package-choice span,.crm-direct-package-choice strong,.crm-direct-package-choice small{display:block}.crm-direct-package-choice small{margin-top:.2rem;color:var(--crm-muted);font-weight:400}.crm-direct-menu-option details{border-top:1px solid var(--crm-line)}.crm-direct-menu-option summary{padding:.7rem .85rem;color:var(--crm-accent);font-size:.78rem;font-weight:800;cursor:pointer}.crm-direct-menu-option fieldset{margin:.6rem .85rem 1rem;padding:.75rem;border:1px solid var(--crm-line);border-radius:.55rem}.crm-direct-menu-option legend{padding:0 .3rem;font-size:.75rem;font-weight:900}.crm-direct-swap{display:grid;grid-template-columns:minmax(0,1fr) minmax(11rem,1fr);align-items:center;gap:.7rem;margin-bottom:.45rem}.crm-direct-swap:last-child{margin-bottom:0}.crm-direct-swap>span{font-size:.8rem}.crm-direct-finish{border-color:rgba(146,195,26,.55);background:rgba(146,195,26,.05)}.crm-direct-confirm{margin-bottom:1rem;background:var(--crm-surface)}.crm-direct-finish>button{margin:0}
.crm-dashboard__header, .crm-dashboard__detail-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.crm-dashboard h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.1; letter-spacing: -.035em; }
.crm-dashboard__header p, .crm-dashboard__detail-header p { margin: .55rem 0 0; color: var(--crm-muted); }
.crm-form-health{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .8rem;padding:.9rem 1rem;border:1px solid #b8ddc7;border-radius:var(--crm-radius);background:#f1faf5}.crm-form-health--warning{border-color:#efd59e;background:#fff9e9}.crm-form-health__status{display:flex;align-items:center;gap:.75rem}.crm-form-health__status>span{display:grid;flex:0 0 2rem;width:2rem;height:2rem;place-items:center;border-radius:50%;background:#286c47;color:#fff;font-weight:900}.crm-form-health--warning .crm-form-health__status>span{background:#8a5b09}.crm-form-health__status strong,.crm-form-health__status small{display:block}.crm-form-health__status small{margin-top:.15rem;color:var(--crm-muted);font-size:.75rem}.crm-form-health__actions{display:flex;align-items:center;gap:.55rem}.crm-form-health__actions form{margin:0}.crm-form-health__actions a,.crm-form-health__actions button{display:inline-flex;align-items:center;justify-content:center;min-height:2.4rem;margin:0;padding:.5rem .75rem;border:1px solid var(--crm-accent);border-radius:var(--crm-radius);font-size:.78rem;font-weight:800;text-decoration:none}.crm-form-health__actions a{background:var(--crm-surface);color:var(--crm-accent)}.crm-form-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0 0 1.2rem}.crm-form-funnel article{padding:.9rem 1rem;border:1px solid var(--crm-line);border-top:4px solid #61706a;border-radius:var(--crm-radius);background:var(--crm-surface)}.crm-form-funnel article.is-success{border-top-color:#286c47}.crm-form-funnel article.is-rejected{border-top-color:#8b3a3a}.crm-form-funnel span,.crm-form-funnel strong,.crm-form-funnel small{display:block}.crm-form-funnel span{color:var(--crm-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.crm-form-funnel strong{margin:.25rem 0;font-size:1.65rem}.crm-form-funnel small{color:var(--crm-muted);font-size:.72rem}.crm-form-activity-details{margin:0 0 1.2rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-surface)}.crm-form-activity-details>summary{padding:.8rem 1rem;color:var(--crm-accent);font-weight:800;cursor:pointer}.crm-form-activity-details .crm-dashboard__table-wrap{border-width:1px 0 0;border-radius:0;box-shadow:none}.crm-form-activity-details>.crm-muted{margin:.7rem 1rem 1rem}.crm-form-activity-result{display:inline-flex;padding:.28rem .55rem;border-radius:999px;background:#edf1ef;color:#44514c;font-size:.73rem;font-weight:800}.crm-form-activity-result--qualified{background:#e6f5ec;color:#286c47}.crm-form-activity-result--rejected{background:#f9eaea;color:#913838}
.crm-dashboard__filters { display: grid; grid-template-columns: minmax(12rem, 2fr) repeat(3, minmax(9rem, 1fr)) minmax(11rem, auto) auto auto; align-items: end; gap: .75rem; margin-bottom: 1.2rem; padding: 1rem; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); }
.crm-dashboard__filters--offers { grid-template-columns: minmax(16rem, 2fr) minmax(11rem, 1fr) auto auto; }
.crm-dashboard__filters label > span, .crm-card--action label { display: block; margin-bottom: .35rem; color: var(--crm-muted); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.crm-dashboard input[type="search"], .crm-dashboard input[type="text"], .crm-dashboard input[type="date"], .crm-dashboard input[type="time"], .crm-dashboard input[type="datetime-local"], .crm-dashboard input[type="file"], .crm-dashboard select, .crm-dashboard textarea { width: 100%; min-height: 2.7rem; margin: 0; padding: .62rem .72rem; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); color: var(--crm-ink); font: inherit; }
.crm-dashboard__filters button { min-height: 2.7rem; margin: 0; }
.crm-dashboard__filters .crm-dashboard__filter-check,.crm-delete-confirm{display:flex;align-items:center;gap:.55rem;min-height:2.7rem;margin:0;padding:.55rem .7rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-soft);cursor:pointer}.crm-dashboard__filters .crm-dashboard__filter-check>span,.crm-delete-confirm>span{margin:0;color:var(--crm-ink);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:none}.crm-dashboard__filter-check input,.crm-delete-confirm input{flex:0 0 auto;margin:0}
.crm-card--danger{border-color:#e2b9b9;background:#fffafa}.crm-card--danger h3{color:#8b3030}.crm-card--danger .crm-delete-confirm{margin:.8rem 0;background:#fff}.crm-dashboard .crm-button--danger{border-color:#9d3434;background:#9d3434;color:#fff}.crm-dashboard .crm-button--danger:hover{background:#7f2929}
.crm-dashboard__reset { align-self: center; color: var(--crm-muted); font-size: .85rem; }
.crm-dashboard__table-wrap { overflow-x: auto; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); box-shadow: 0 .7rem 2rem rgba(23, 32, 29, .05); }
.crm-dashboard__table { width: 100%; border: 0; border-collapse: collapse; font-size: .92rem; }
.crm-dashboard__table th { padding: .8rem 1rem; border-bottom: 1px solid var(--crm-line); background: var(--crm-soft); color: var(--crm-muted); font-size: .72rem; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.crm-dashboard__table td { padding: 1rem; border-bottom: 1px solid var(--crm-line); vertical-align: middle; }
.crm-dashboard__table tr:last-child td { border-bottom: 0; }
.crm-dashboard__table tbody tr:hover { background: #fafcfb; }
.crm-dashboard__table td strong, .crm-dashboard__table td small { display: block; }
.crm-dashboard__table td small { margin-top: .22rem; color: var(--crm-muted); font-size: .78rem; }
.crm-dashboard__action { text-align: right; white-space: nowrap; }
.crm-dashboard__action a, .crm-dashboard__back, .crm-card__heading a { color: var(--crm-accent); font-weight: 700; text-decoration: none; }
.crm-badge { display: inline-flex; align-items: center; width: max-content; padding: .28rem .55rem; border-radius: 999px; background: #edf1ef; color: #44514c; font-size: .73rem; font-weight: 750; white-space: nowrap; }
.crm-badge[class*="crm-badge--priority-"] { gap: .38rem; padding: .3rem .62rem .3rem .34rem; border: 1px solid var(--crm-priority-border, transparent); box-shadow: 0 .12rem .35rem rgba(23, 32, 29, .08); font-size: .76rem; }
.crm-badge[class*="crm-badge--priority-"]::before { display: inline-grid; width: 1.28rem; height: 1.28rem; flex: 0 0 1.28rem; place-items: center; border-radius: 50%; background: var(--crm-priority-color); color: #fff; font-size: .82rem; font-weight: 900; line-height: 1; }
.crm-badge--priority-low { --crm-priority-color: #376480; --crm-priority-border: #cad9e8; background: #edf5fb; color: #376480; }
.crm-badge--priority-low::before { content: "\2193"; }
.crm-badge--priority-normal { --crm-priority-color: #53665d; --crm-priority-border: #d5ded9; background: #f1f5f3; color: #53665d; }
.crm-badge--priority-normal::before { content: "\2022"; font-size: 1.1rem !important; }
.crm-badge--priority-high { --crm-priority-color: #8a5b09; --crm-priority-border: #efd59e; background: #fff5dc; color: #8a5b09; }
.crm-badge--priority-high::before { content: "\2191"; }
.crm-badge--priority-top { --crm-priority-color: #9a3232; --crm-priority-border: #e6b3b3; background: #fff0f0; color: #9a3232; }
.crm-badge--priority-top::before { content: "\2605"; font-size: .72rem !important; }
.crm-badge[class*="crm-badge--status-"], .crm-badge[class*="crm-badge--offer-"] { gap: .38rem; padding: .3rem .62rem .3rem .34rem; border: 1px solid var(--crm-status-border, #d8dfdc); background: var(--crm-status-bg, #edf1ef); color: var(--crm-status-color, #44514c); box-shadow: 0 .12rem .35rem rgba(23, 32, 29, .07); }
.crm-badge[class*="crm-badge--status-"]::before, .crm-badge[class*="crm-badge--offer-"]::before { display: inline-grid; width: 1.28rem; height: 1.28rem; flex: 0 0 1.28rem; place-items: center; border-radius: 50%; background: var(--crm-status-color, #44514c); color: #fff; font-size: .78rem; font-weight: 900; line-height: 1; }
.crm-badge--status-new { --crm-status-bg: #edf5fb; --crm-status-color: #376480; --crm-status-border: #cad9e8; }.crm-badge--status-new::before { content: "+"; }
.crm-badge--status-not_qualified { --crm-status-bg: #f9ecec; --crm-status-color: #8b3a3a; --crm-status-border: #e8c6c6; }.crm-badge--status-not_qualified::before { content: "\00d7"; font-size: 1rem !important; }
.crm-badge--status-in_progress { --crm-status-bg: #edf3fb; --crm-status-color: #3c6091; --crm-status-border: #cad7e8; }.crm-badge--status-in_progress::before { content: "\21bb"; }
.crm-badge--status-appointment_requested { --crm-status-bg: #f4effa; --crm-status-color: #6f4d8f; --crm-status-border: #dacbea; }.crm-badge--status-appointment_requested::before { content: "?"; }
.crm-badge--status-appointment_confirmed { --crm-status-bg: #eaf6ee; --crm-status-color: #2e7048; --crm-status-border: #c1dfcb; }.crm-badge--status-appointment_confirmed::before { content: "\2713"; }
.crm-badge--status-appointment_declined { --crm-status-bg:#f9eaea;--crm-status-color:#913838;--crm-status-border:#e6bebe }.crm-badge--status-appointment_declined::before{content:"\00d7"}
.crm-badge--status-menu_selection_released { --crm-status-bg: #eaf7f5; --crm-status-color: #276d66; --crm-status-border: #bfe0dc; }.crm-badge--status-menu_selection_released::before { content: "\2192"; }
.crm-badge--status-menu_selection_received { --crm-status-bg: #e7f5ed; --crm-status-color: #286c47; --crm-status-border: #bbddc8; }.crm-badge--status-menu_selection_received::before { content: "\2713"; }
.crm-badge--status-offer_preparation { --crm-status-bg: #f1effb; --crm-status-color: #5a5191; --crm-status-border: #d3cdec; }.crm-badge--status-offer_preparation::before { content: "\270e"; }
.crm-badge--status-offer_created { --crm-status-bg: #edf1fb; --crm-status-color: #405b91; --crm-status-border: #c6d0e7; }.crm-badge--status-offer_created::before { content: "\2261"; }
.crm-badge--status-offer_sent { --crm-status-bg: #fff5dc; --crm-status-color: #8a5b09; --crm-status-border: #efd59e; }.crm-badge--status-offer_sent::before { content: "\2197"; }
.crm-badge--status-offer_discussion_requested { --crm-status-bg:#fff4e6;--crm-status-color:#9a5a16;--crm-status-border:#efcfaa }.crm-badge--status-offer_discussion_requested::before{content:"\260e"}
.crm-badge--status-offer_discussion_scheduled { --crm-status-bg:#eef1fb;--crm-status-color:#4d5790;--crm-status-border:#cdd2eb }.crm-badge--status-offer_discussion_scheduled::before{content:"\23f1"}
.crm-badge--status-offer_discussion_confirmed { --crm-status-bg:#e6f5ec;--crm-status-color:#286c47;--crm-status-border:#b8ddc7 }.crm-badge--status-offer_discussion_confirmed::before{content:"\2713"}
.crm-badge--status-offer_discussion_declined { --crm-status-bg:#f9eaea;--crm-status-color:#913838;--crm-status-border:#e6bebe }.crm-badge--status-offer_discussion_declined::before{content:"\00d7"}
.crm-badge--status-offer_accepted { --crm-status-bg: #e6f5ec; --crm-status-color: #286c47; --crm-status-border: #b8ddc7; }.crm-badge--status-offer_accepted::before { content: "\2713"; }
.crm-badge--status-offer_declined { --crm-status-bg: #f9eaea; --crm-status-color: #913838; --crm-status-border: #e6bebe; }.crm-badge--status-offer_declined::before { content: "\00d7"; font-size: 1rem !important; }
.crm-badge--status-done { --crm-status-bg: #edf2ef; --crm-status-color: #4e6459; --crm-status-border: #d0dbd5; }.crm-badge--status-done::before { content: "\2713"; }
.crm-badge--status-exported { --crm-status-bg: #edf5fb; --crm-status-color: #376480; --crm-status-border: #cad9e8; }.crm-badge--status-exported::before { content: "\2197"; }
.crm-appointment-state { display: block; width: fit-content; margin-top: .42rem; padding: .2rem .5rem; border: 1px solid #d8dfdc; border-radius: 999px; background: #f4f7f5; color: #52605b; font-size: .72rem; font-weight: 700; line-height: 1.25; white-space: nowrap; }
.crm-appointment-state--pending { border-color: #dacbea; background: #f4effa; color: #6f4d8f; }
.crm-appointment-state--accepted { border-color: #b8ddc7; background: #e6f5ec; color: #286c47; }
.crm-appointment-state--declined { border-color: #e6bebe; background: #f9eaea; color: #913838; }
.crm-dashboard__empty { padding: 3.5rem 1.5rem; border: 1px dashed var(--crm-line); border-radius: var(--crm-radius); text-align: center; }
.crm-dashboard__empty h3 { margin: 0 0 .4rem; }.crm-dashboard__empty p { margin: 0; color: var(--crm-muted); }
.crm-dashboard__pagination { display: flex; gap: .4rem; margin-top: 1.2rem; }
.crm-dashboard__pagination a { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid var(--crm-line); border-radius: .5rem; color: var(--crm-ink); text-decoration: none; }
.crm-dashboard__pagination a[aria-current="page"] { border-color: var(--crm-accent); background: var(--crm-accent); color: #fff; }
.crm-dashboard__back { display: inline-flex; gap: .4rem; margin-bottom: 1.25rem; }
.crm-dashboard__detail-nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }.crm-dashboard__detail-nav .crm-dashboard__back{margin-bottom:0}.crm-dashboard__detail-nav>a{color:var(--crm-accent);font-weight:700;text-decoration:none}
.crm-dashboard__badges { display: flex; flex-wrap: wrap; gap: .45rem; }
.crm-dashboard__detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(17rem, .85fr); align-items: start; gap: 1.2rem; }
.crm-dashboard__main, .crm-dashboard__sidebar { display: grid; gap: 1.2rem; }
.crm-card { padding: clamp(1rem, 2vw, 1.4rem); border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); box-shadow: 0 .55rem 1.5rem rgba(23, 32, 29, .04); }
.crm-card--warning { border-color: #d6a44d; background: #fff9ed; }.crm-card--warning h3 { color: #744b0f; }.crm-card--warning ul { margin: 0; padding-left: 1.15rem; color: #744b0f; }
.crm-card h3 { margin: 0 0 1rem; font-size: 1.05rem; }.crm-card__heading { display: flex; justify-content: space-between; gap: 1rem; }.crm-card__heading > div { display: flex; gap: .8rem; font-size: .82rem; }
.crm-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; margin: 0; }.crm-data-grid > div { min-width: 0; }.crm-data-grid__wide { grid-column: 1 / -1; }
.crm-data-grid dt { margin: 0 0 .28rem; color: var(--crm-muted); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }.crm-data-grid dd { margin: 0; overflow-wrap: anywhere; font-weight: 550; }.crm-data-grid dd small { display: block; margin-top: .2rem; color: var(--crm-muted); font-weight: 400; }
.crm-card__message { color: #36413d; line-height: 1.7; }.crm-card--action form { margin: 0; }.crm-card--action button { width: 100%; margin-top: .75rem; }.crm-card--action textarea { resize: vertical; }
.crm-appointment-actions form{display:grid;gap:.75rem}.crm-appointment-actions h4{margin:0;color:var(--crm-ink);font-size:.9rem}.crm-appointment-actions label{margin:0;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none}.crm-appointment-actions label>span{display:block;margin-bottom:.35rem;color:var(--crm-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.crm-appointment-actions details{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--crm-line)}.crm-appointment-actions summary{color:var(--crm-accent);font-weight:700;cursor:pointer}.crm-appointment-actions details form{margin-top:1rem}.crm-consultation-result{padding:.85rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-soft)}.crm-consultation-result dd small{margin-top:.45rem;line-height:1.5}
.crm-appointment-actions--phone{border-color:#efcfaa;background:#fffaf3}.crm-appointment-actions--phone>p{margin:-.35rem 0 1rem;line-height:1.5}
.crm-appointment-overview{--crm-appointment-tone:#526b82;--crm-appointment-bg:#f2f7fb;position:relative;overflow:hidden;border:1px solid var(--crm-line);border-color:color-mix(in srgb,var(--crm-appointment-tone) 35%,var(--crm-line));border-left:5px solid var(--crm-appointment-tone);background:linear-gradient(135deg,var(--crm-appointment-bg),var(--crm-surface) 72%)}
.crm-appointment-overview--requested{--crm-appointment-tone:#936315;--crm-appointment-bg:#fff8e9}.crm-appointment-overview--pending{--crm-appointment-tone:#6f4d8f;--crm-appointment-bg:#f7f2fb}.crm-appointment-overview--confirmed{--crm-appointment-tone:#2e7048;--crm-appointment-bg:#edf8f1}.crm-appointment-overview--declined{--crm-appointment-tone:#913838;--crm-appointment-bg:#fdf0f0}
.crm-appointment-overview__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.crm-appointment-overview__heading>div>span{display:block;margin-bottom:.25rem;color:var(--crm-appointment-tone);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.crm-appointment-overview__heading h3{margin:0;font-size:1.35rem}.crm-appointment-overview__status{display:inline-flex;align-items:center;min-height:1.85rem;padding:.28rem .65rem;border:1px solid var(--crm-line);border-color:color-mix(in srgb,var(--crm-appointment-tone) 32%,transparent);border-radius:999px;background:var(--crm-surface);background:color-mix(in srgb,var(--crm-appointment-tone) 9%,#fff);color:var(--crm-appointment-tone);font-size:.75rem;white-space:nowrap}
.crm-appointment-overview__current{display:grid;gap:.2rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--crm-line);border-color:color-mix(in srgb,var(--crm-appointment-tone) 25%,var(--crm-line));border-radius:var(--crm-radius);background:rgba(255,255,255,.76)}.crm-appointment-overview__current>span{color:var(--crm-appointment-tone);font-size:.72rem;font-weight:800;text-transform:uppercase}.crm-appointment-overview__current>strong{color:var(--crm-ink);font-size:clamp(1.2rem,2.5vw,1.55rem)}.crm-appointment-overview__current p,.crm-appointment-overview__current small{margin:0;color:var(--crm-muted);line-height:1.5}.crm-appointment-overview__intro{margin:0 0 1rem;color:var(--crm-ink);line-height:1.6}
.crm-appointment-overview__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.crm-appointment-overview__details>div{padding:.8rem;border-radius:calc(var(--crm-radius) * .75);background:rgba(255,255,255,.66)}.crm-appointment-overview__details>div>span{display:block;margin-bottom:.3rem;color:var(--crm-muted);font-size:.68rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.crm-appointment-overview__details strong,.crm-appointment-overview__details p{margin:0;color:var(--crm-ink)}.crm-appointment-overview__details ul{margin:.2rem 0 0;padding-left:1.15rem}.crm-appointment-overview__details li+li{margin-top:.25rem}
.crm-appointment-overview__action{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;color:var(--crm-appointment-tone);font-weight:750;text-decoration:none}.crm-appointment-overview__action:hover,.crm-appointment-overview__action:focus-visible{color:var(--crm-accent-hover);text-decoration:underline}
.crm-timeline { display: grid; gap: .8rem; margin-top: 1rem; }.crm-timeline article { padding-left: .8rem; border-left: 2px solid var(--crm-line); }.crm-timeline p { margin: 0; line-height: 1.5; }.crm-timeline small, .crm-muted { color: var(--crm-muted); font-size: .75rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Personal customer menu selection. */
.crm-menu-select { width: 100%; max-width: 72rem; margin-inline: auto; color: var(--crm-ink); font-family: inherit; }
.crm-menu-select__header { margin-bottom: 1.5rem; padding: clamp(1.4rem, 4vw, 2.5rem); border-radius: calc(var(--crm-radius) + 8px); background: var(--crm-accent); color: #fff; box-shadow: 0 1rem 2.5rem rgba(23,32,29,.12); }
.crm-menu-select__header .crm-dashboard__eyebrow { color: rgba(255,255,255,.68); }
.crm-menu-select__header h2 { margin: 0; color: #fff; font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1.05; letter-spacing: -.045em; }
.crm-menu-select__header p { max-width: 44rem; margin: .8rem 0 0; color: rgba(255,255,255,.82); font-size: 1.05rem; line-height: 1.6; }
.crm-menu-packages > h3 { margin: 0 0 1rem; font-size: 1rem; }
.crm-menu-packages__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; }
.crm-menu-package { display: flex; min-height: 10rem; padding: 1.2rem; flex-direction: column; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); color: var(--crm-ink); text-decoration: none; box-shadow: 0 .65rem 1.8rem rgba(23,32,29,.05); transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.crm-menu-package:hover, .crm-menu-package:focus-visible { border-color: var(--crm-accent); transform: translateY(-2px); box-shadow: 0 1rem 2.2rem rgba(23,32,29,.1); }
.crm-menu-package.is-disabled { cursor: default; opacity: .62; }
.crm-menu-package.is-disabled:hover, .crm-menu-package.is-disabled:focus-visible { border-color: var(--crm-line); transform: none; box-shadow: 0 .65rem 1.8rem rgba(23,32,29,.05); }
.crm-menu-package > span, .crm-menu-summary__heading > div > span { color: var(--crm-muted); font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.crm-menu-package strong { margin: .55rem 0 1rem; font-size: 1.15rem; line-height: 1.3; }
.crm-menu-price { display: block; width: max-content; margin: -.35rem 0 .85rem; padding: .28rem .55rem; border-radius: 999px; background: var(--crm-soft); color: var(--crm-accent); font-size: .78rem; font-weight: 800; }
.crm-menu-price small { color: var(--crm-muted); font-size: .68rem; }
.crm-menu-package p { margin: -.45rem 0 1rem; color: var(--crm-muted); font-size: .86rem; line-height: 1.5; }
.crm-menu-package small { margin-top: auto; color: var(--crm-accent); font-weight: 700; }
.crm-menu-configurator, .crm-menu-summary { padding: clamp(1.15rem,3vw,2rem); border: 1px solid var(--crm-line); border-radius: calc(var(--crm-radius) + 4px); background: var(--crm-surface); box-shadow: 0 1rem 2.8rem rgba(23,32,29,.07); }
.crm-menu-configurator__heading, .crm-menu-summary__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.crm-menu-summary__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem 1rem; }
.crm-menu-configurator__heading h3, .crm-menu-summary__heading h3 { margin: .25rem 0 0; font-size: clamp(1.4rem,3vw,2rem); }
.crm-menu-configurator__heading a, .crm-menu-summary__heading a { color: var(--crm-accent); font-size: .88rem; font-weight: 700; }
.crm-menu-configurator__intro { max-width: 48rem; margin: 0 0 1.5rem; color: var(--crm-muted); line-height: 1.6; }
.crm-menu-configurator__description { max-width: 48rem; margin: 0 0 .5rem; font-weight: 650; line-height: 1.6; }
.crm-menu-section { margin: 0 0 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--crm-line); }
.crm-menu-section h4 { margin: 0 0 .8rem; color: var(--crm-accent); font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.crm-menu-section__items { display: grid; gap: .7rem; }
.crm-menu-item { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(16rem,.9fr); align-items: center; gap: 1rem; padding: .9rem 1rem; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-soft); }
.crm-menu-item strong { display: block; line-height: 1.4; }
.crm-menu-item--choice { display: flex; grid-template-columns: none; align-items: flex-start; cursor: pointer; }
.crm-menu-item--choice input { width: 1.2rem; height: 1.2rem; margin: .12rem 0 0; flex: 0 0 auto; accent-color: var(--crm-accent); }
.crm-menu-item--choice > span { display: grid; gap: .2rem; }
.crm-menu-item--choice small { color: var(--crm-muted); line-height: 1.45; }
.crm-menu-item--choice:has(input:checked) { border-color: var(--crm-accent); background: color-mix(in srgb,var(--crm-accent) 8%,var(--crm-surface)); }
.crm-menu-item__included { display: block; margin-bottom: .2rem; color: var(--crm-success); font-size: .67rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.crm-menu-item label > span, .crm-menu-configurator__note > span { display: block; margin-bottom: .35rem; color: var(--crm-muted); font-size: .72rem; font-weight: 700; }
.crm-menu-item select, .crm-menu-configurator textarea { width: 100%; min-height: 2.75rem; padding: .6rem .7rem; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); color: var(--crm-ink); font: inherit; }
.crm-menu-configurator__note { display: block; margin-top: 1.5rem; }
.crm-menu-configurator button { min-height: 3rem; margin-top: 1rem; padding: .75rem 1.2rem; border: 0; border-radius: var(--crm-radius); background: var(--crm-accent); color: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.crm-menu-configurator button:hover, .crm-menu-configurator button:focus-visible { background: var(--crm-accent-hover); }
.crm-menu-summary__section { padding: 1rem 0; border-top: 1px solid var(--crm-line); }
.crm-menu-summary__section h4 { margin: 0 0 .7rem; color: var(--crm-accent); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.crm-menu-summary__section ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem 1.2rem; margin: 0; padding: 0; list-style: none; }
.crm-menu-summary__section li { position: relative; padding-left: 1.1rem; line-height: 1.45; }
.crm-menu-summary__section li::before { position: absolute; top: .55em; left: 0; width: .45rem; height: .45rem; border-radius: 50%; background: var(--crm-accent); content: ''; }
.crm-menu-summary__section li small { display: block; color: var(--crm-muted); }
.crm-menu-summary__note { margin-top: 1rem; padding: 1rem; border-radius: var(--crm-radius); background: var(--crm-soft); }
.crm-menu-summary__note p { margin: .45rem 0 0; line-height: 1.6; }
.crm-menu-summary--dashboard { padding: clamp(1rem,2vw,1.4rem); box-shadow: 0 .55rem 1.5rem rgba(23,32,29,.04); }

/* Offers in the staff dashboard. */
.crm-offers > .crm-card__heading { align-items: center; margin-bottom: 1rem; }
.crm-offers > .crm-card__heading h3 { margin: 0; }
.crm-offer-list { display: grid; gap: .85rem; }
.crm-offer-entry { padding: 1rem; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-soft); }
.crm-offer-entry--current { border: 2px solid var(--crm-accent); background: color-mix(in srgb,var(--crm-accent) 6%,var(--crm-surface)); box-shadow: 0 .5rem 1.4rem rgba(23,32,29,.08); }
.crm-offer-entry__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.crm-offer-entry__badges { display: flex; align-items: flex-end; flex-direction: column; gap: .4rem; }
.crm-badge--offer-current { border-color: var(--crm-accent); background: var(--crm-accent); color: #fff; }
.crm-offer-entry__heading > div:first-child > span:first-child { color: var(--crm-muted); font-size: .68rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.crm-offer-entry__heading h4 { margin: .2rem 0 0; font-size: 1.05rem; }
.crm-offer-entry__facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin: .85rem 0; }
.crm-offer-entry__facts span { display: grid; gap: .18rem; }
.crm-offer-entry__facts small { color: var(--crm-muted); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.crm-offer-entry details { margin-top: .7rem; }.crm-offer-entry details summary { color: var(--crm-accent); font-weight: 700; cursor: pointer; }.crm-offer-entry details ul { margin-bottom: 0; }
.crm-offer-entry__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-top: .85rem; }
.crm-offer-entry__actions form { display: flex; align-items: center; gap: .45rem; margin: 0; }.crm-offer-entry__actions button { width: auto; min-height: 2.45rem; margin: 0; padding: .5rem .75rem; }
.crm-offer-link { display: inline-flex; align-items: center; min-height: 2.45rem; padding: .5rem .75rem; border: 1px solid var(--crm-accent); border-radius: var(--crm-radius); color: var(--crm-accent); font-weight: 700; text-decoration: none; }
.crm-offer-status-form select { width: auto; min-width: 8rem; }.crm-dashboard .crm-offer-secondary { border-color: var(--crm-line); background: var(--crm-surface); color: var(--crm-ink); }.crm-dashboard .crm-offer-secondary:hover { border-color: var(--crm-accent); background: var(--crm-soft); color: var(--crm-accent); }
.crm-push-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr); gap:1rem; }
.crm-push-panel > p:first-child { margin-top:0; }
.crm-push-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.crm-push-actions button { width:auto; margin:0; }
.crm-push-state { padding:.65rem .75rem; border-left:4px solid var(--crm-success,#23764f); border-radius:.25rem; background:var(--crm-soft,#f4f7f5); font-weight:650; }
.crm-push-state.is-error { border-left-color:var(--crm-danger,#a23b3b); color:var(--crm-danger,#a23b3b); }
.crm-push-devices { display:grid; gap:.45rem; margin:.8rem 0; }
.crm-push-devices > div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.7rem; padding:.65rem .75rem; border:1px solid var(--crm-line,#dce3df); border-radius:var(--crm-radius,8px); background:var(--crm-surface,#fff); }
.crm-push-devices span,.crm-push-devices em { color:var(--crm-muted,#64716c); font-style:normal; }
.crm-push-event-summary { display:grid; gap:.45rem; padding:0; list-style:none; }
.crm-push-event-summary li { display:flex; gap:.55rem; color:var(--crm-muted); }.crm-push-event-summary li.is-active { color:var(--crm-ink); font-weight:700; }.crm-push-event-summary li span { color:var(--crm-accent); }
.crm-offer-create-options { display: grid; gap: .75rem; margin-top: 1rem; }
.crm-offer-editor { border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-surface); }.crm-offer-editor > summary { padding: .9rem 1rem; color: var(--crm-accent); font-weight: 750; cursor: pointer; }.crm-offer-editor[open] > summary { border-bottom: 1px solid var(--crm-line); }
.crm-offer-form { display: grid; gap: 1rem; padding: 1rem; }.crm-offer-form label > span { display: block; margin-bottom: .35rem; color: var(--crm-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; }.crm-offer-form label > small { display: block; margin-top: .3rem; color: var(--crm-muted); }
.crm-offer-form__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }.crm-offer-form__grid .crm-offer-wide { grid-column: 1 / -1; }
.crm-offer-items { display: grid; gap: .75rem; }.crm-offer-item { padding: .85rem; border: 1px solid var(--crm-line); border-radius: var(--crm-radius); background: var(--crm-soft); }.crm-offer-item__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }.crm-dashboard .crm-offer-remove { min-height: 0; width: auto; margin: 0; padding: .25rem; border: 0; background: transparent; color: var(--crm-danger); font-size: .75rem; }.crm-dashboard .crm-offer-remove:hover { background: transparent; transform: none; text-decoration: underline; }
.crm-offer-check { display: flex; align-items: flex-start; gap: .5rem; margin-top: .65rem; }.crm-offer-check input { margin-top: .15rem; }.crm-offer-check span { margin: 0 !important; text-transform: none !important; }
.crm-offer-form__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.crm-offer-form__toolbar button { width: auto; margin: 0; }.crm-offer-form__toolbar > div { text-align: right; }
.crm-badge--offer-draft { --crm-status-bg:#edf5fb;--crm-status-color:#376480;--crm-status-border:#cad9e8 }.crm-badge--offer-draft::before{content:"\2261"}.crm-badge--offer-sent { --crm-status-bg:#fff5dc;--crm-status-color:#8a5b09;--crm-status-border:#efd59e }.crm-badge--offer-sent::before{content:"\2197"}.crm-badge--offer-discussion_requested{--crm-status-bg:#fff4e6;--crm-status-color:#9a5a16;--crm-status-border:#efcfaa}.crm-badge--offer-discussion_requested::before{content:"\260e"}.crm-badge--offer-accepted { --crm-status-bg:#e6f5ec;--crm-status-color:#286c47;--crm-status-border:#b8ddc7 }.crm-badge--offer-accepted::before{content:"\2713"}.crm-badge--offer-declined,.crm-badge--offer-expired { --crm-status-bg:#f9eaea;--crm-status-color:#913838;--crm-status-border:#e6bebe }.crm-badge--offer-declined::before{content:"\00d7";font-size:1rem!important}.crm-badge--offer-expired::before{content:"!"}

/* Customer offer page. */
.crm-offer-view { width:100%; max-width:58rem; margin-inline:auto; }
.crm-offer-view__header { margin-bottom:1.2rem; padding:clamp(1.4rem,4vw,2.4rem); border-radius:calc(var(--crm-radius) + 8px); background:var(--crm-accent); color:#fff; }
.crm-offer-view__header > span { color:rgba(255,255,255,.7); font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }.crm-offer-view__header h2 { margin:.4rem 0 0; color:#fff; font-size:clamp(1.8rem,4vw,2.8rem); }.crm-offer-view__header p { margin:.7rem 0 0; color:rgba(255,255,255,.82); line-height:1.6; }
.crm-offer-view__card { padding:clamp(1.1rem,3vw,1.8rem); border:1px solid var(--crm-line); border-radius:calc(var(--crm-radius) + 4px); background:var(--crm-surface); box-shadow:0 1rem 2.8rem rgba(23,32,29,.07); }.crm-offer-view__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }.crm-offer-view__heading > div > span { color:var(--crm-muted); font-size:.7rem; font-weight:750; text-transform:uppercase; }.crm-offer-view__heading h3 { margin:.25rem 0 0; font-size:1.4rem; }
.crm-offer-view__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.3rem 0; }.crm-offer-view__facts dt { margin-bottom:.2rem; color:var(--crm-muted); font-size:.7rem; font-weight:700; text-transform:uppercase; }.crm-offer-view__facts dd { margin:0; }
.crm-offer-view__download { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; padding:.75rem 1.2rem; border-radius:var(--crm-radius); background:var(--crm-accent); color:#fff; font-weight:750; text-decoration:none; }.crm-offer-view__download:hover { background:var(--crm-accent-hover); color:#fff; }
.crm-offer-view__legal-note{margin:1rem 0 0;color:var(--crm-muted);font-size:.72rem;line-height:1.4}
.crm-offer-response { margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--crm-line); }.crm-offer-response > label { display:flex; align-items:flex-start; gap:.6rem; padding:.8rem; border-radius:var(--crm-radius); background:var(--crm-soft); }.crm-offer-response > label input { margin-top:.2rem; }.crm-offer-response > div { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:.9rem; }.crm-offer-response button { min-height:2.8rem; padding:.7rem 1rem; border:1px solid var(--crm-accent); border-radius:var(--crm-radius); background:var(--crm-accent); color:#fff; font:inherit; font-weight:700; cursor:pointer; }.crm-offer-response .crm-offer-response__discussion{border-color:#9a5a16;background:#fff4e6;color:#7c4710}.crm-offer-response .crm-offer-response__decline { border-color:var(--crm-danger); background:transparent; color:var(--crm-danger); }

/* Quiet form review, staff tasks and health controls. */
.crm-form-review{grid-column:1/-1;margin-top:.5rem;padding:1rem 1.1rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-soft)}
.crm-form-review>div:first-child{display:flex;align-items:flex-start;gap:.7rem}.crm-form-review>div:first-child>span{display:grid;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:var(--crm-success);color:#fff;font-weight:900}.crm-form-review h3{margin:0;font-size:1rem}.crm-form-review h3+p{margin:.2rem 0 0;color:var(--crm-muted);font-size:.85rem}.crm-form-review dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.2rem;margin:1rem 0 0}.crm-form-review dl>div{display:grid;gap:.15rem}.crm-form-review dt{color:var(--crm-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.crm-form-review dd{margin:0;font-weight:650;line-height:1.45}.crm-form-review dd.is-empty{color:var(--crm-muted);font-weight:400}
.crm-task-overview{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-soft)}.crm-task-overview.has-tasks{border-color:color-mix(in srgb,var(--crm-accent) 45%,var(--crm-line));background:color-mix(in srgb,var(--crm-accent) 5%,var(--crm-surface))}.crm-task-overview__heading,.crm-task-overview__heading>div{display:flex;align-items:center;gap:.7rem}.crm-task-overview__heading{justify-content:space-between}.crm-task-overview__heading>div>span{display:grid;flex:0 0 2rem;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--crm-success);color:#fff;font-weight:900}.crm-task-overview.has-tasks .crm-task-overview__heading>div>span{background:#a86c12}.crm-task-overview h3{margin:0;font-size:1rem}.crm-task-overview h3+p{margin:.15rem 0 0;color:var(--crm-muted);font-size:.84rem}.crm-task-overview button{width:auto;min-height:2.4rem;margin:0;padding:.45rem .7rem}.crm-task-overview__list{display:grid;gap:.45rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--crm-line)}.crm-task-overview__list[hidden]{display:none}.crm-task-overview__list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem .7rem;border-radius:.55rem;background:var(--crm-surface);color:var(--crm-ink);text-decoration:none}.crm-task-overview__list a:hover{box-shadow:0 .3rem .9rem rgba(23,32,29,.08)}.crm-task-overview__list strong,.crm-task-overview__list small{display:block}.crm-task-overview__list small{margin-top:.12rem;color:var(--crm-muted)}.crm-task-overview__marker{width:.65rem;height:.65rem;border-radius:50%;background:#b1843f}.crm-task-overview__marker--high{background:var(--crm-danger)}
.crm-system-check{margin-bottom:1rem;padding:1rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-surface)}.crm-system-check>div:first-child{display:flex;align-items:flex-start;gap:.7rem}.crm-system-check>div:first-child>span{display:grid;flex:0 0 2rem;width:2rem;height:2rem;place-items:center;border-radius:50%;background:var(--crm-success);color:#fff;font-weight:900}.crm-system-check--warning>div:first-child>span{background:var(--crm-danger)}.crm-system-check h3{margin:0}.crm-system-check h3+p{margin:.2rem 0 0;color:var(--crm-muted)}.crm-system-check ul{margin:.8rem 0;padding-left:1.25rem;color:var(--crm-danger)}.crm-system-check form{margin-top:.8rem}.crm-system-check button{width:auto;margin:0}

@media (max-width: 68rem) {
	.crm-dashboard__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.crm-form-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}
	.crm-dashboard__detail-grid { grid-template-columns: 1fr; }
	.crm-form__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.crm-menu-packages__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.crm-blocked-date-form form { grid-template-columns:1fr 1fr; }.crm-blocked-date-form form button{grid-column:1/-1}
	.crm-event-calendar-header{align-items:flex-start}.crm-upcoming-event{grid-template-columns:3.5rem minmax(0,1fr)}.crm-upcoming-event__actions{grid-column:2;flex-direction:row;align-items:center}
	.crm-direct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-direct-services>div,.crm-direct-item-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-direct-packages{grid-template-columns:1fr}
}

@media (max-width: 42rem) {
	.crm-request-form-wrap { padding: 1.15rem; border-radius: .85rem; }
	.crm-form-review dl{grid-template-columns:1fr}
	.crm-task-overview__heading{align-items:flex-start;flex-direction:column}.crm-task-overview button{width:100%}
	.crm-guest-gate__fields { grid-template-columns: 1fr; }
	.crm-form__grid, .crm-data-grid { grid-template-columns: 1fr; }
	.crm-time-range{grid-template-columns:1fr}
	.crm-form__choices { grid-template-columns: 1fr; }
	.crm-form__field, .crm-data-grid__wide { grid-column: 1; }
	.crm-appointment-overview__heading { align-items:flex-start; flex-direction:column; }
	.crm-appointment-overview__details { grid-template-columns:1fr; }
	.crm-dashboard__filters { grid-template-columns: 1fr; }
	.crm-form-health{align-items:flex-start;flex-direction:column}.crm-form-health__actions{width:100%;flex-direction:column;align-items:stretch}.crm-form-health__actions a,.crm-form-health__actions button{width:100%}.crm-form-funnel{grid-template-columns:1fr}
	.crm-dashboard__header, .crm-dashboard__detail-header { align-items: flex-start; flex-direction: column; }
	.crm-dashboard__detail-nav { align-items: flex-start; flex-direction: column; }
	.crm-dashboard__table thead { display: none; }
	.crm-dashboard__table, .crm-dashboard__table tbody, .crm-dashboard__table tr, .crm-dashboard__table td { display: block; width: 100%; }
	.crm-dashboard__table tr { padding: .7rem 1rem; border-bottom: 1px solid var(--crm-line); }
	.crm-dashboard__table tr:last-child { border-bottom: 0; }
	.crm-dashboard__table td { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .7rem; padding: .38rem 0; border: 0; }
	.crm-dashboard__table td::before { content: attr(data-label); color: var(--crm-muted); font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
	.crm-dashboard__table .crm-dashboard__action { display: block; padding-top: .7rem; text-align: left; }
	.crm-card__heading { flex-direction: column; }
	.crm-menu-packages__grid, .crm-menu-summary__section ul { grid-template-columns: 1fr; }
	.crm-menu-item { grid-template-columns: 1fr; }
	.crm-menu-configurator__heading, .crm-menu-summary__heading { flex-direction: column; }
	.crm-offer-entry__facts, .crm-offer-form__grid, .crm-offer-view__facts { grid-template-columns:1fr; }
	.crm-push-dashboard-grid { grid-template-columns:1fr; }.crm-push-actions { align-items:stretch; flex-direction:column; }.crm-push-actions button { width:100%; }.crm-push-devices > div { grid-template-columns:1fr; gap:.2rem; }
	.crm-offer-form__grid .crm-offer-wide { grid-column:1; }
	.crm-offer-entry__actions, .crm-offer-entry__actions form, .crm-offer-form__toolbar { align-items:stretch; flex-direction:column; }
	.crm-offer-status-form select { width:100%; }.crm-offer-form__toolbar > div { text-align:left; }
	.crm-dashboard__switcher{display:flex;overflow-x:auto}.crm-dashboard__switcher a{white-space:nowrap}.crm-blocked-date-form form{grid-template-columns:1fr}.crm-blocked-date-form form button{grid-column:1}.crm-capacity-calendar{overflow-x:auto}.crm-capacity-calendar__weekdays,.crm-capacity-calendar__grid{min-width:42rem}
	.crm-event-calendar-header{display:block}.crm-event-export{width:100%;margin-top:1rem}.crm-event-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.crm-event-filter{flex:0 0 auto}.crm-event-calendar{overflow-x:auto}.crm-event-calendar .crm-capacity-calendar__weekdays,.crm-event-calendar .crm-capacity-calendar__grid{min-width:56rem}.crm-upcoming-event{grid-template-columns:3rem minmax(0,1fr);gap:.7rem}.crm-upcoming-event__actions{grid-column:1/-1;justify-content:flex-end}
	.crm-direct-grid,.crm-direct-services>div,.crm-direct-item-checks{grid-template-columns:1fr}.crm-direct-step>header{gap:.65rem}.crm-direct-swap{grid-template-columns:1fr;gap:.3rem}
}

.crm-day-conflicts {padding: 12px; margin: 12px 0; border: 1px solid #d9c48b; border-radius: 8px; background: #fffaf0;}
.crm-day-conflicts [hidden] {display:none !important;}
.crm-day-conflicts ul {padding-left:20px;}
.crm-contract-documents {margin:20px 0;padding:16px;border:1px solid #dce3df;border-radius:8px;}

.crm-order-preview {margin:24px 0;padding:24px;border:1px solid #dce3df;border-radius:12px;background:#fff;overflow-wrap:anywhere;color:#243a34;}
.crm-order-preview h1 {font-size:1.8rem;} .crm-order-preview h2 {font-size:1.25rem;border-bottom:1px solid #dce3df;padding-bottom:8px;margin-top:24px;}
.crm-order-preview dt {font-weight:700;} .crm-order-preview dd {margin:0 0 10px;}
.crm-order-preview table {width:100%;table-layout:fixed;border-collapse:collapse;font-size:.85rem;}
.crm-order-preview th,.crm-order-preview td {padding:8px;border-bottom:1px solid #dce3df;vertical-align:top;text-align:left;overflow-wrap:anywhere;}
.crm-order-preview th:first-child,.crm-order-preview td:first-child {width:40%;}
.crm-order-preview .crm-order-totals {text-align:right;}
.crm-order-fields {margin:16px 0;}
@media(max-width:600px){.crm-order-preview{padding:12px;}.crm-order-preview table{font-size:.7rem;}.crm-order-preview td,.crm-order-preview th{padding:5px 3px;}}

/* Compact request workspace; native disclosure controls also work without JavaScript. */
.crm-detail-sections { display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:.85rem;border:1px solid var(--crm-line);border-radius:var(--crm-radius);background:var(--crm-surface); }
.crm-detail-sections a { padding:.5rem .7rem;border-radius:.4rem;color:var(--crm-accent);font-size:.85rem;font-weight:700;text-decoration:none; }
.crm-detail-sections a:hover { background:var(--crm-bg, #f2f5f3); }
.crm-detail-sections a:focus-visible,.crm-fold>summary:focus-visible { outline:2px solid var(--crm-accent);outline-offset:4px; }
.crm-dashboard .crm-fold>summary { cursor:pointer;font-weight:700;font-size:1.05rem;color:var(--crm-ink); }
.crm-fold__body { padding-top:1rem; }
.crm-dashboard [id^="crm-"] { scroll-margin-top:6rem; }
.crm-status-phase { margin-bottom:.75rem; }
.crm-status-phase[hidden] { display:none; }
.crm-dashboard__sidebar { align-content:start; }
@media(max-width:700px) { .crm-detail-sections { gap:.25rem; } .crm-detail-sections a { padding:.55rem;font-size:.8rem; } }

.crm-activity-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}
.crm-activity-filters a{display:inline-block;padding:.45rem .6rem;border:1px solid var(--crm-line);border-radius:.4rem;color:var(--crm-accent);text-decoration:none;font-size:.82rem}
.crm-activity-filters a[aria-current="page"]{background:var(--crm-accent);color:white}
.crm-activity-details summary{cursor:pointer;color:var(--crm-accent);font-weight:700}
.crm-activity-changes{width:100%;border-collapse:collapse;font-size:.8rem;table-layout:fixed}
.crm-activity-changes th,.crm-activity-changes td{padding:.55rem;border-bottom:1px solid var(--crm-line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.crm-activity-changes thead{background:var(--crm-soft)}
.crm-activity-facts dt{font-weight:700;font-size:.8rem;margin-top:.6rem}
.crm-activity-facts dd{margin:0;overflow-wrap:anywhere;font-size:.85rem}
.crm-activity-mail{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.85rem;max-height:24rem;overflow:auto;padding:.8rem;background:var(--crm-soft);border:1px solid var(--crm-line)}
.crm-activity-files{padding-left:1rem;overflow-wrap:anywhere}
.crm-activity-details a:focus-visible,.crm-activity-details summary:focus-visible,.crm-activity-filters a:focus-visible{outline:2px solid var(--crm-accent);outline-offset:3px}

.crm-workspace-next{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem;margin-bottom:1.2rem;background:var(--crm-soft);border:1px solid var(--crm-line);border-left:4px solid var(--crm-accent);border-radius:var(--crm-radius)}
.crm-workspace-next h3{margin:0;font-size:1.15rem}.crm-workspace-next p{margin:.4rem 0 0;color:var(--crm-muted)}
.crm-workspace-next>a{flex-shrink:0;color:var(--crm-accent);font-weight:700}.crm-workspace-next>a:focus-visible{outline:2px solid var(--crm-accent);outline-offset:4px}
@media(max-width:700px){.crm-workspace-next{align-items:flex-start;flex-direction:column}}

.crm-fold__state { display:block;margin-top:.4rem;font-size:.85rem;font-weight:400;line-height:1.5;color:var(--crm-muted);overflow-wrap:anywhere; }

/* Keep folded sidebar controls inside their cards, including themes that reset box sizing. */
.crm-dashboard .crm-dashboard__sidebar,
.crm-dashboard .crm-dashboard__sidebar .crm-card,
.crm-dashboard .crm-dashboard__sidebar .crm-fold__body,
.crm-dashboard .crm-dashboard__sidebar form {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
.crm-dashboard .crm-dashboard__sidebar button,
.crm-dashboard .crm-dashboard__sidebar .crm-offer-link,
.crm-dashboard .crm-dashboard__sidebar input,
.crm-dashboard .crm-dashboard__sidebar select,
.crm-dashboard .crm-dashboard__sidebar textarea {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}
.crm-dashboard .crm-dashboard__sidebar button,
.crm-dashboard .crm-dashboard__sidebar .crm-offer-link {
    width: 100%;
    padding: .72rem 1rem;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
}

.crm-dashboard .crm-fold:not([open]) > summary .crm-fold__state {
    color: #a12626;
    font-weight: 800;
    background: #fff1f1;
    border-left: 3px solid #a12626;
    padding: .35rem .55rem;
    border-radius: .25rem;
}
.crm-address-copy { grid-column: 1 / -1; min-width: 0; }
.crm-request-form-wrap .crm-address-copy button,
.crm-dashboard .crm-address-copy button {
    box-sizing: border-box;
    max-width: 100%;
    margin: .3rem 0;
    padding: .65rem .9rem;
    border: 1px solid var(--crm-accent);
    border-radius: var(--crm-radius);
    background: var(--crm-surface);
    color: var(--crm-accent);
    font: inherit;
    font-weight: 700;
    line-height: 1.4;
    white-space: normal;
    cursor: pointer;
}
.crm-address-copy button[hidden] { display: none; }
.crm-address-copy button:focus-visible { outline: 2px solid var(--crm-accent); outline-offset: 3px; }
.crm-address-copy p { margin: .3rem 0; font-size: .85rem; }
.crm-address-copy p:empty { display: none; }

/* Adapt to the WordPress content column, not just the browser window. */
.crm-dashboard {
    container: crm-workspace / inline-size;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
.crm-dashboard :where(div, section, main, aside, form, fieldset, label, nav) { min-width: 0; }
.crm-dashboard :where(input, select, textarea, button) { box-sizing: border-box; min-width: 0; max-width: 100%; }
.crm-dashboard .crm-dashboard__switcher {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    box-sizing: border-box;
    overflow: visible;
}
.crm-dashboard .crm-dashboard__switcher a { min-width: 0; white-space: normal; }
.crm-dashboard .crm-dashboard__filters {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    box-sizing: border-box;
    max-width: 100%;
}
.crm-dashboard__pagination, .crm-dashboard__detail-nav, .crm-card__heading,
.crm-workspace-next, .crm-dashboard__header { flex-wrap: wrap; }
.crm-dashboard .crm-dashboard__table { table-layout: fixed; }
.crm-dashboard .crm-dashboard__table :where(th, td) { overflow-wrap: anywhere; white-space: normal; }
.crm-dashboard .crm-badge, .crm-dashboard .crm-appointment-state { max-width: 100%; white-space: normal; }
@container crm-workspace (max-width: 64rem) {
    .crm-dashboard__detail-grid { grid-template-columns: minmax(0, 1fr); }
    .crm-dashboard__table thead { display: none; }
    .crm-dashboard__table, .crm-dashboard__table tbody, .crm-dashboard__table tr, .crm-dashboard__table td {
        display: block; width: 100%; box-sizing: border-box;
    }
    .crm-dashboard__table tr { padding: .8rem 1rem; border-bottom: 1px solid var(--crm-line); }
    .crm-dashboard__table tr:last-child { border-bottom: 0; }
    .crm-dashboard__table td { padding: .4rem 0; border: 0; }
    .crm-dashboard__table td::before {
        display: block; content: attr(data-label); margin-bottom: .2rem;
        color: var(--crm-muted); font-size: .7rem; font-weight: 700;
        letter-spacing: .04em; text-transform: uppercase;
    }
    .crm-dashboard__table td:not([data-label])::before { display: none; }
    .crm-dashboard__table .crm-dashboard__action { text-align: left; }
    .crm-direct-grid, .crm-direct-services>div, .crm-direct-item-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .crm-direct-packages { grid-template-columns: minmax(0, 1fr); }
    .crm-blocked-date-form form { grid-template-columns: minmax(0, 1fr); }
    .crm-blocked-date-form form button { grid-column: 1; }
}
@container crm-workspace (max-width: 42rem) {
    .crm-data-grid, .crm-appointment-overview__details, .crm-offer-form__grid,
    .crm-offer-entry__facts, .crm-direct-grid, .crm-direct-services>div,
    .crm-direct-item-checks, .crm-direct-swap, .crm-menu-summary__section ul,
    .crm-push-dashboard-grid { grid-template-columns: minmax(0, 1fr); }
    .crm-dashboard__header, .crm-dashboard__detail-header, .crm-dashboard__detail-nav,
    .crm-task-overview__heading, .crm-appointment-overview__heading,
    .crm-offer-form__toolbar, .crm-workspace-next { align-items: flex-start; flex-direction: column; }
    .crm-data-grid__wide { grid-column: 1; }
    .crm-dashboard__filters { grid-template-columns: minmax(0, 1fr); }
}

.crm-calendar-subscription { padding: 1rem 0; border-bottom: 1px solid var(--crm-line); }
.crm-calendar-subscription label { display: block; margin-bottom: .4rem; }
.crm-calendar-subscription form { margin: .5rem 0 0; }
.crm-dashboard .crm-calendar-subscription button { margin: 0; padding: .5rem .8rem; }

.crm-office-hours-note { font-size: .85rem; line-height: 1.6; color: var(--crm-muted); }
.crm-dashboard .crm-office-hours-error { color: #a12626; font-weight: 700; }
