:root{color-scheme:light;--bg:#E5E4E2;--panel:#ffffff;--panel-soft:#f0efed;--line:#d3d2d0;--text:#111111;--muted:#6f6860;--accent:#111111;--accent-soft:#e7e2db;--success:#2f7a57;--warning:#9a6a12;--danger:#a04333;--shadow:0 16px 42px rgba(17,17,17,0.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(circle at top left,rgba(255,255,255,.85),transparent 28%),linear-gradient(180deg,#f5f4f2 0,var(--bg) 32%,#dddcda 100%);color:var(--text);font-family:Avenir Next,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.pageShell{max-width:1320px;margin:0 auto;padding:32px 24px 48px}.pageTopbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--muted)}.pageTitle{margin:0;font-size:clamp(32px,5vw,48px);line-height:1;font-weight:700}.topbarMeta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:14px}.directoryNav{justify-content:flex-end}.directoryNavActive{font-weight:800;text-decoration:underline;text-underline-offset:.18em}.filterBar{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(180px,.8fr) auto;grid-gap:14px;gap:14px;align-items:end;margin-bottom:18px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(211,205,197,.82);box-shadow:var(--shadow)}.filterField{display:flex;flex-direction:column;gap:8px}.filterField span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.filterButton,.filterInput,.filterSelect{min-height:46px;border-radius:14px;border:1px solid rgba(17,17,17,.12);background:white;padding:0 14px}.filterInput:focus,.filterSelect:focus{outline:2px solid rgba(17,17,17,.14);outline-offset:1px}.filterActions{display:flex;align-items:center;gap:14px}.filterButton{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#2d2d2d,#111111);color:white;font-weight:700;box-shadow:0 14px 28px rgba(17,17,17,.16)}.leadActionBlock{display:flex;flex-direction:column;gap:8px;margin-top:6px}.leadActionRow{display:flex;flex-wrap:wrap;gap:10px}.leadActionButton{padding:9px 12px;min-height:38px;font-size:13px;box-shadow:none}.leadActionError{margin:0;color:var(--danger);font-size:13px;font-weight:600}.summaryStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:24px}.summaryCard{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,242,237,.95));border:1px solid rgba(211,205,197,.9);border-radius:22px;box-shadow:var(--shadow);padding:18px 22px}.summaryCard span{display:block;margin-bottom:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.summaryCard strong{font-size:26px;line-height:1}.calendarShell,.detailPanel,.detailShell,.listPanel{background:rgba(255,255,255,.86);border:1px solid rgba(211,205,197,.82);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.calendarShell{padding:24px}.calendarHeader{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.calendarNav,.textLink{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:14px;border:1px solid rgba(17,17,17,.12);background:linear-gradient(180deg,#2d2d2d,#111111);color:white;font-weight:700;box-shadow:0 14px 28px rgba(17,17,17,.16)}.textLink{min-height:unset;padding:0;border:0;background:transparent;color:var(--accent);box-shadow:none}.calendarTitleWrap{text-align:center}.calendarTitle{margin:0;font-size:clamp(28px,4vw,42px)}.calendarSubtitle,.detailSubtitle{margin:6px 0 0;color:var(--muted)}.weekHeader{margin-bottom:12px;padding:0 4px;color:#3a342e;font-size:16px;font-weight:500;text-align:center}.calendarGrid,.weekHeader{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:12px;gap:12px}.calendarCard{min-height:150px;border-radius:20px;padding:12px;background:linear-gradient(180deg,#ffffff,#f7f3ee);border:1px solid rgba(211,205,197,.82);box-shadow:0 10px 24px rgba(17,17,17,.07);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.calendarCard,.calendarCardPrimaryLink{display:flex;flex-direction:column;gap:10px}.calendarCardPrimaryLink{min-height:92px;color:inherit}.calendarCard:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(17,17,17,.12);border-color:rgba(17,17,17,.18)}.calendarCardMuted{opacity:.48}.calendarCardToday{background:linear-gradient(180deg,#f0ece6,#fbfaf8);border-color:rgba(17,17,17,.32)}.calendarCardTop{display:flex;justify-content:space-between;align-items:center}.calendarDayNumber{font-size:28px;font-weight:300}.calendarBookingCount{min-width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#111111;color:white;font-size:14px;font-weight:700}.calendarMetrics{display:flex;flex-direction:column;gap:2px}.calendarMetrics strong{color:var(--success);font-size:22px}.bookingMetaBlock span,.bookingSummaryBlock span,.bookingTimeBlock span,.calendarEmpty,.calendarMetrics span,.calendarPreview span:last-child,.detailItem span{color:var(--muted)}.calendarEmpty{margin-top:auto}.calendarPreview{display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(211,205,197,.7);padding-top:8px;font-size:11px}.calendarPreview span:first-child{font-weight:700;color:var(--text)}.profileGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;margin-bottom:18px}.profileStack{display:flex;flex-direction:column;gap:14px}.commCard,.profileCard{border:1px solid rgba(211,205,197,.68);border-radius:18px;background:rgba(247,243,238,.78);padding:16px 18px}.profileCard{display:flex;flex-direction:column;gap:6px}.commSummary,.commSummaryMeta,.profileCardTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.profileMetaLink,.profileNameLink,.profilePrimaryLink{color:var(--accent);text-decoration:underline;text-underline-offset:.16em}.profilePrimaryLink{font-weight:700;font-size:18px;text-decoration:none}.profileMetaLink:hover,.profileNameLink:hover,.profilePrimaryLink:hover{opacity:.72}.profileNameLink{font-weight:600}.profileMetaLink{font-size:13px;white-space:nowrap}.profileEmpty,.profileNotes{margin:0;color:var(--muted);line-height:1.6}.commCard{padding:0;overflow:hidden}.commSummary{list-style:none;cursor:pointer;padding:16px 18px}.commSummary::-webkit-details-marker{display:none}.commSummaryMain{display:flex;min-width:0;flex-direction:column;gap:6px}.commSummaryMain strong{font-size:16px}.commSummaryMain span{color:var(--muted);line-height:1.5}.commSummaryMeta{align-items:center;flex-shrink:0}.commBody{border-top:1px solid rgba(211,205,197,.68);padding:16px 18px 18px;display:grid;grid-gap:16px;gap:16px}.commBodyLinkRow{margin:0}.commBodyFrame{border-radius:14px;background:white;border:1px solid rgba(211,205,197,.68);padding:14px 16px;overflow:auto}.commEvents p{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--muted);font-weight:700}.commEvents ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.commEvents li{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.detailShell,.listPanel{padding:14px}.directoryList{display:flex;flex-direction:column}.directoryRow{display:flex;justify-content:space-between;gap:24px;padding:18px 20px;border-radius:20px;border:1px solid transparent}.directoryRow+.directoryRow{border-top:1px solid rgba(211,205,197,.65)}.directoryRow:hover{background:rgba(17,17,17,.03);border-color:rgba(17,17,17,.08)}.directoryMain{display:flex;min-width:0;flex:1 1;flex-direction:column;gap:8px}.directoryMeta,.directoryTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.directoryMeta{color:var(--muted)}.directoryAside{min-width:190px;display:flex;flex-direction:column;gap:6px;text-align:right}.directoryAside span{color:var(--muted)}.directoryAside strong{font-size:16px}.bookingRow{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:20px;border:1px solid transparent}.bookingRow+.bookingRow{border-top:1px solid rgba(211,205,197,.65)}.bookingRow:hover{background:rgba(17,17,17,.03);border-color:rgba(17,17,17,.08)}.bookingRowMain{display:flex;gap:18px;min-width:0}.bookingMetaBlock,.bookingTimeBlock{display:flex;flex-direction:column;gap:4px}.bookingTimeBlock{min-width:88px}.bookingMetaBlock strong,.bookingTimeBlock strong{font-size:18px}.bookingSummaryBlock{display:flex;flex-direction:column;gap:4px}.bookingSummaryTop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bookingSummaryTop strong{font-size:20px}.bookingMetaBlock{align-items:flex-end;text-align:right}.emptyState{padding:42px 24px;text-align:center;color:var(--muted);background:rgba(255,255,255,.86);border-radius:24px;border:1px solid rgba(211,205,197,.82);box-shadow:var(--shadow)}.statusBadge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.statusCompleted,.statusConfirmed{background:rgba(30,158,82,.12);color:var(--success)}.statusPending{background:rgba(154,106,18,.14);color:#a36c00}.statusCancelled{background:rgba(204,75,55,.12);color:var(--danger)}.statusInfo{background:rgba(17,17,17,.08);color:var(--accent)}.detailShell{display:grid;grid-gap:18px;gap:18px}.detailHeader{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.detailTitle{margin:6px 0 0;font-size:clamp(28px,4vw,40px)}.detailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.detailPanel{padding:20px 22px}.detailPanel h2,.detailSubheading{margin:0 0 16px;font-size:16px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.detailSubheading{margin-top:24px}.detailItem{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(211,205,197,.58)}.detailItem:last-child{border-bottom:0}.detailItem strong{text-align:right}.detailItemEdit{align-items:center}.detailInput{background:transparent;border:none;border-bottom:1px dashed rgba(211,205,197,.45);border-radius:0;padding:2px 4px;font-size:14px;font-family:inherit;color:inherit;text-align:right;width:100%;max-width:220px;transition:border-color .15s}.detailInput:focus{outline:none;border-bottom-color:var(--accent);border-bottom-style:solid}.detailInput[type=datetime-local]{max-width:220px;font-size:13px}.detailTitleInput{background:transparent;border:none;border-bottom:2px solid transparent;padding:2px 0;margin:6px 0 0;font-size:clamp(24px,4vw,38px);font-weight:700;font-family:inherit;color:inherit;width:100%;max-width:520px;line-height:1.2;transition:border-color .15s}.detailTitleInput:focus{outline:none;border-bottom-color:var(--accent)}.statusSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:var(--surface);color:var(--text)}.statusSelect[data-status=pending]{background:#fef3c7;color:#92400e}.statusSelect[data-status=confirmed]{background:#d1fae5;color:#065f46}.statusSelect[data-status=reminder_sent]{background:#dbeafe;color:#1e40af}.statusSelect[data-status=completed]{background:#e0e7ff;color:#3730a3}.statusSelect[data-status=cancelled]{background:#fee2e2;color:#991b1b}.statusSelect[data-status=no_show]{background:#f3f4f6;color:#374151}.detailHeaderLeft{flex:1 1;min-width:0}.detailHeaderRight{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.detailActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.detailTextarea{width:100%;background:transparent;border:1px dashed rgba(211,205,197,.45);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;color:inherit;resize:vertical;line-height:1.6;transition:border-color .15s;box-sizing:border-box}.detailTextarea:focus{outline:none;border-color:var(--accent);border-style:solid}.detailText,.payloadBox{margin:0;white-space:pre-wrap;line-height:1.6}.payloadBox{overflow:auto;padding:16px;border-radius:18px;background:#0f1724;color:#d9e2ef;font-size:13px}.editorActions,.editorHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.editorSaved{font-size:13px;color:#22c55e;font-weight:600}.editorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.editorField{display:flex;flex-direction:column;gap:8px}.editorField span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.editorField input,.editorField select,.editorField textarea{width:100%;border:1px solid rgba(211,205,197,.9);border-radius:14px;background:#fffdfa;padding:12px 14px;color:var(--text)}.editorFieldFull{grid-column:1/-1}.buttonGhost,.buttonPrimary{border-radius:14px;padding:11px 16px;font-weight:700;cursor:pointer}.buttonPrimary{border:1px solid #111111;background:#111111;color:white}.buttonGhost{border:1px solid rgba(17,17,17,.15);background:transparent;color:var(--danger)}.buttonNeutral{color:var(--accent)}.buttonPickup{border-radius:14px;padding:11px 16px;font-weight:700;cursor:pointer;border:1px solid #1a7a3f;background:#1a7a3f;color:white}.buttonGhost:disabled,.buttonPickup:disabled,.buttonPrimary:disabled{opacity:.55;cursor:default}.editorError{margin:14px 0 0;color:var(--danger);font-weight:600}@media (max-width:1100px){.calendarGrid,.weekHeader{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:860px){.calendarGrid,.detailGrid,.editorGrid,.profileGrid,.summaryStrip,.weekHeader{grid-template-columns:repeat(2,minmax(0,1fr))}.bookingRow,.bookingRowMain,.calendarHeader,.detailHeader,.directoryRow,.pageTopbar{flex-direction:column}.filterBar{grid-template-columns:1fr}.filterActions{justify-content:space-between}.detailHeaderRight{align-items:flex-start}.detailActions{justify-content:flex-start}.detailTitleInput{max-width:100%}.bookingMetaBlock{align-items:flex-start;text-align:left}.directoryAside{min-width:0;text-align:left}.commEvents li,.commSummary,.commSummaryMeta,.profileCardTop{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.pageShell{padding:20px 14px 36px}.calendarShell,.detailPanel,.detailShell,.listPanel{border-radius:22px}.calendarGrid,.detailGrid,.editorGrid,.profileGrid,.summaryStrip,.weekHeader{grid-template-columns:minmax(0,1fr)}.calendarCard{min-height:150px}.detailItemEdit{flex-direction:column;align-items:flex-start;gap:6px}.detailInput{text-align:left;max-width:100%}}.globalNav{display:flex;align-items:center;gap:20px;padding:0 24px;height:56px;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:100}.globalNavBrand{font-weight:800;font-size:15px;letter-spacing:-.02em;color:var(--text);text-decoration:none;margin-right:8px}.globalNavLinks{display:flex;gap:4px;flex:1 1}.globalNavLink{padding:6px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;transition:background .15s,color .15s}.globalNavLink:hover{background:var(--panel-soft);color:var(--text)}.globalNavCta{padding:8px 14px;font-size:13px;white-space:nowrap}.globalNavRight{display:flex;align-items:center;gap:12px;margin-left:auto}.globalNavUser{white-space:nowrap}.globalNavLogout,.globalNavUser{font-size:13px;color:var(--muted)}.globalNavLogout{background:none;border:1px solid var(--line);border-radius:10px;padding:5px 12px;cursor:pointer;transition:background .15s,color .15s}.globalNavLogout:hover{background:var(--panel-soft);color:var(--text)}.loginShell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.loginCard{background:var(--panel);border-radius:24px;box-shadow:var(--shadow);padding:40px 40px 36px;width:100%;max-width:400px}.loginBrand{margin-bottom:28px}.loginEyebrow{margin:0 0 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.loginTitle{margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--text)}.loginForm{gap:16px}.loginField,.loginForm{display:flex;flex-direction:column}.loginField{gap:6px}.loginField label{font-size:13px;font-weight:600;color:var(--muted)}.loginInput{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:15px;background:var(--panel);color:var(--text);outline:none;transition:border-color .15s}.loginInput:focus{border-color:var(--accent)}.loginError{margin:0;font-size:13px;color:var(--danger);background:rgba(160,67,51,.08);border-radius:10px;padding:10px 14px}.loginSubmit{width:100%;padding:13px;font-size:15px;margin-top:4px}.modalOverlay{position:fixed;inset:0;background:rgba(17,17,17,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.modalPanel{background:var(--panel);border-radius:24px;box-shadow:0 24px 64px rgba(17,17,17,.18);width:100%;max-width:640px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;flex-shrink:0}.modalHeader h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.03em}.modalClose{background:none;border:none;font-size:18px;color:var(--muted);cursor:pointer;padding:4px 8px;line-height:1;border-radius:8px;transition:background .15s}.modalClose:hover{background:var(--panel-soft)}.modalBody{overflow-y:auto;padding:0 24px 24px;display:flex;flex-direction:column;gap:0;flex:1 1}.modalSection{padding:18px 0;border-bottom:1px solid var(--line)}.modalSection:last-of-type{border-bottom:none}.modalSection h3{margin:0 0 12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.modalOptional{font-weight:400;text-transform:none;letter-spacing:0;font-size:12px}.modalRequired{color:var(--danger)}.modalField{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:0}.modalField label{font-size:12px;font-weight:600;color:var(--muted)}.modalRow2{grid-template-columns:1fr 1fr;grid-gap:12px}.modalRow2,.modalRow3{display:grid;gap:12px;margin-bottom:12px}.modalRow3{grid-template-columns:1fr 1fr 80px 100px 100px;grid-gap:12px}.contactSearch{position:relative;display:flex;flex-direction:column;gap:6px}.contactDropdown{list-style:none;margin:0;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(17,17,17,.1)}.contactDropdownItem{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .12s}.contactDropdownItem:hover{background:var(--panel-soft)}.contactDropdownItem strong{font-size:14px}.contactDropdownItem span{font-size:12px;color:var(--muted)}.contactSearchHint{font-size:13px;color:var(--muted);padding:4px 0}.contactSelected{display:flex;align-items:center;justify-content:space-between;background:var(--panel-soft);border-radius:14px;padding:12px 14px}.contactSelected div{display:flex;flex-direction:column;gap:3px}.contactSelected span{font-size:13px;color:var(--muted)}.newContactFields{display:flex;flex-direction:column;gap:12px}.inlineLink{background:none;border:none;padding:0;color:var(--accent);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline}.modalCheckboxRow{display:flex;flex-direction:column;gap:10px}.modalCheckbox{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.modalCheckbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.modalFooter{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid var(--line);margin-top:8px}.modalError{margin:8px 0 0}@media (max-width:600px){.modalOverlay{padding:12px;align-items:flex-end}.modalPanel{max-height:calc(100vh - 24px);border-radius:24px 24px 0 0}.modalRow2,.modalRow3{grid-template-columns:1fr}.globalNavLinks{display:none}}