/* A quiet, readable working surface; scoped away from the public website. */
body.admin-body { background:#f3f4f6; color:#19212c; font:400 15px/1.55 Inter,Arial,sans-serif; --font-display:Inter,Arial,sans-serif; --font-body:Inter,Arial,sans-serif; --red:#bd2430; --red-light:#a51d29; color-scheme:light; }
body.admin-body::before,body.admin-body::after { display:none; }
.admin-body * { box-sizing:border-box; }
.admin-body [hidden] { display:none!important; }
.admin-body .admin-shell { max-width:1680px; padding:24px 32px 64px; }
.admin-body .admin-brand { margin:0 0 22px; padding:10px 16px; background:#17202b; border-radius:8px; gap:18px; }
.admin-body .admin-brand img { width:142px; height:38px; }
.admin-body .admin-brand span { color:#e0e5ec; font-size:12px; text-transform:none; letter-spacing:.03em; }
.admin-body :is(h1,h2,h3,h4) { font-family:inherit; font-weight:650; color:#16202b; letter-spacing:-.025em; text-transform:none; line-height:1.25; text-shadow:none; }
.admin-body .admin-shell h1 { font-size:32px!important; margin:4px 0 6px; }
.admin-body h2 { font-size:28px; }.admin-body h3 { font-size:18px; }.admin-body h4 { font-size:14px; }
.admin-body p { color:#5b6676; line-height:1.6; font-size:14px; }
.admin-body .eyebrow { color:#a32430; font:650 11px/1.5 Inter,Arial,sans-serif; letter-spacing:.12em; margin:0 0 5px; text-transform:uppercase; }
.admin-body .admin-topbar { display:flex; justify-content:space-between; align-items:center; padding:0 0 24px; margin-bottom:0; border-bottom:1px solid #dce1e7; background:none; }
.admin-body #workspace-date { margin:0; font-size:13px; }
.admin-body .admin-heading-actions { gap:8px; }
.admin-body .button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 16px; border-radius:6px; font:600 13px/1.4 Inter,Arial,sans-serif; text-transform:none; letter-spacing:0; clip-path:none; transform:none; box-shadow:none; white-space:normal; }
.admin-body .button::before,.admin-body .button::after { display:none; }
.admin-body .button-primary { color:#fff; background:#b92531; border:1px solid #b92531; }.admin-body .button-primary:hover { background:#99202a; }
.admin-body .button-ghost { background:#fff; color:#293442; border:1px solid #cdd4dd; }.admin-body .button-ghost:hover { background:#f0f2f5; }
.admin-body button:disabled { opacity:.55; cursor:not-allowed; }
.admin-body :is(button,input,select,textarea,a,summary):focus-visible { outline:3px solid #2469a5; outline-offset:3px; }
.admin-body .admin-workspace { display:grid; grid-template-columns:174px minmax(0,1fr); gap:32px; padding-top:28px; }
.admin-body .admin-sidebar { position:sticky; top:20px; align-self:start; display:grid; gap:5px; padding:0; border:0; background:none; }
.admin-body .admin-sidebar a { color:#536073; font:550 14px/1.4 Inter,Arial,sans-serif; text-transform:none; letter-spacing:0; padding:13px 12px; border:0; border-radius:6px; display:flex; gap:12px; }
.admin-body .admin-sidebar a span { color:#87919f; font-size:10px; align-self:center; }
.admin-body .admin-sidebar a.is-active { background:#18222f; color:#fff; box-shadow:none; }.admin-body .admin-sidebar a.is-active span { color:#d9949b; }
.admin-body .admin-sidebar a:hover { background:#e6e9ee; color:#18222f; }
.admin-body .admin-page-stage,.admin-body .admin-page { min-width:0; }
.admin-body .admin-page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0; border:0; background:none; margin:0 0 24px; }
.admin-body .admin-page-heading h2 { margin:4px 0 7px; }.admin-body .admin-page-heading p { margin:0; max-width:780px; }
.admin-body .workspace-timezone { font-size:12px; color:#657184; white-space:nowrap; }
.admin-body .admin-card { background:#fff; border:1px solid #dce1e7; border-radius:9px; padding:22px; box-shadow:0 2px 3px #17202b03; clip-path:none; min-width:0; }
.admin-body .admin-card>h3 { margin:0 0 12px; }
.admin-body .admin-page .admin-card h3 { font:650 18px/1.35 Inter,Arial,sans-serif; letter-spacing:-.02em; text-transform:none; }
.admin-body .admin-page-heading p:not(.eyebrow) { color:#5b6676; font-size:14px; line-height:1.6; }
.admin-body .admin-card label { color:#455166; }
.admin-body .admin-card input { background:#fff; color:#1b2634; border-color:#c9d1dc; margin-top:0; }
.admin-body .payment-security-note,.admin-body .member-terms { color:#607087!important; font-size:12px!important; }
.admin-body .email-status-pill { color:#42536a!important; font-size:11px!important; }
.admin-body .package-active-toggle { background:#f5f7fa; border-color:#dce1e7; font-size:13px!important; }
.admin-body .admin-card p,.admin-body .admin-card label { font-size:14px; }
.admin-body .admin-card small,.admin-body .admin-card span { font-size:12px; color:#5c6878; }
.admin-body .admin-card b { color:#26313e; }
.admin-body .admin-card form { max-width:none; }
.admin-body label { display:grid; gap:7px; font:550 12px/1.4 Inter,Arial,sans-serif; color:#455166; letter-spacing:0; text-transform:none; }
.admin-body :is(input,select,textarea) { width:100%; min-width:0; border:1px solid #c9d1dc; border-radius:5px; background:#fff; color:#1b2634; padding:10px 11px; min-height:42px; font:400 14px/1.4 Inter,Arial,sans-serif; box-shadow:none; }
.admin-body :is(input,textarea)::placeholder { color:#7f8996; }
.admin-body input[type=checkbox] { width:18px; min-height:18px; accent-color:#b92531; }
.admin-body :is(input,select,textarea):disabled { background:#f0f2f5; color:#657080; }
.admin-body .card-title-row { align-items:center; margin-bottom:18px; padding-bottom:0; gap:12px; }.admin-body .card-title-row h3 { margin:0; }.admin-body .card-title-row>span { font-size:12px; max-width:none; }
.admin-body .bookings-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
.admin-body .admin-bookings-card { padding:22px 0 0; grid-column:auto; overflow:hidden; }.admin-body .admin-bookings-card>.card-title-row { padding:0 22px; }
.admin-body #booking-list { display:block; gap:0; max-height:none; padding:0; }
.diary-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.diary-metrics article { background:#fff; border:1px solid #dce1e7; border-radius:8px; padding:18px; display:grid; gap:8px; }
.diary-metrics span { font-size:12px; color:#5f6b7c; }.diary-metrics strong { font-size:28px; font-weight:650; line-height:1.2; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }.diary-metrics small { color:#7a8594; font-size:10px; }
.diary-filters { display:grid; grid-template-columns:minmax(180px,2fr) repeat(4,minmax(110px,1fr)) auto; align-items:end; gap:12px; margin:0 0 24px; }
.diary-presets { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.diary-presets button { border:1px solid #cdd4de; color:#485568; background:#fff; border-radius:5px; padding:7px 11px; font:500 12px/1.4 Inter,Arial,sans-serif; min-height:34px; }
.diary-presets button:hover { background:#e5eaf0; }.diary-presets span { margin-left:auto; font-size:12px; color:#697587; }
.diary-day>header { display:flex; align-items:center; justify-content:space-between; padding:12px 22px; background:#f6f7f9; border-block:1px solid #e3e7ed; gap:14px; }.diary-day h4 { margin:0; }.diary-day>header>span { font-size:11px; color:#697587; }
.diary-row { display:grid; grid-template-columns:70px minmax(140px,1.1fr) minmax(160px,1.6fr) 110px 112px; gap:18px; align-items:center; padding:22px; border-bottom:1px solid #e9ecf0; }.diary-row:last-child { border-bottom:0; }.diary-row:hover { background:#fbfcfd; }.diary-row.is-cancelled { background:#fafafa; }
.diary-row>div { min-width:0; }.diary-row b,.diary-row span,.diary-row small { display:block; overflow-wrap:anywhere; }
.admin-body .diary-time b { font-size:19px; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:-.025em; }.admin-body .diary-time span { font-size:11px; margin-top:3px; }
.admin-body .diary-person>b { font-size:14px; }.admin-body .diary-person>span { font-size:12px; margin-top:4px; }.admin-body .diary-person small { font-size:10px; color:#7c8796; margin-top:5px; }
.admin-body .diary-service>b { font-size:12px; font-weight:550; line-height:1.5; }.admin-body .diary-service>span { font-size:11px; margin-top:5px; }
.diary-status { display:grid; justify-items:start; gap:6px; }.admin-body .status-pill { display:inline-block; padding:4px 8px; border-radius:4px; font-size:10px; font-weight:650; white-space:nowrap; background:#edf0f4; color:#586474; }
.admin-body .status-confirmed { background:#e8eff9; color:#285587; }.admin-body :is(.status-paid,.status-completed) { background:#e5f3eb; color:#25613c; }.admin-body :is(.status-pending,.status-payment_due) { background:#fff2d9; color:#825409; }.admin-body :is(.status-failed,.status-cancelled) { background:#fbe9e9; color:#94333a; }
.diary-price { text-align:right; }.admin-body .diary-price>b { font-size:16px; font-variant-numeric:tabular-nums; }.diary-price button { display:inline-block; border:0; background:none; color:#ac2330; font:600 12px/1.5 Inter,Arial,sans-serif; padding:9px 0; }
.diary-empty { padding:48px 24px; text-align:center; }.diary-empty b { display:block; margin-bottom:6px; }.diary-empty p { margin:0; }
.admin-body .block-card { display:block; }.admin-body #block-form { display:grid; grid-template-columns:1fr 1.4fr 1.4fr auto; align-items:end; gap:14px; }.admin-body #block-form .inline-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.admin-body #block-list { margin-top:18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.admin-body .admin-item { background:#f7f8fa; border-color:#dce1e7; color:#364255; }.admin-body .admin-item strong { font-size:13px; }.admin-body .delete-block { color:#a72935; font-size:12px; }
.admin-body .admin-summary { gap:14px; }.admin-body .admin-summary article { background:#fff; border:1px solid #dce1e7; border-radius:8px; padding:20px; }.admin-body .admin-summary b { font:650 30px/1.2 Inter,Arial,sans-serif; color:#192432; }.admin-body .admin-summary span { font-size:12px; color:#657184; margin-top:10px; text-transform:none; }
.admin-body .admin-action-tile { background:#fff; border:1px solid #dce1e7; border-radius:8px; }.admin-body .admin-action-tile b { color:#253346; font-size:19px; }.admin-body .admin-action-tile span { color:#7d8796; font-size:12px; }.admin-body .admin-action-tile i { color:#b92531; }
.admin-body :is(.member-record,.coupon-record,.package-admin-record,.gift-card-admin-item,.payment-provider,.email-campaign,.terms-manager-status,.email-status,.loyalty-rule,.site-editor-preview,.email-form,.media-item) { background:#f8f9fb; border-color:#dce1e7; border-radius:6px; color:#465469; filter:none; }
.admin-body :is(.member-record,.coupon-record,.package-admin-record,.gift-card-admin-item,.payment-provider,.email-campaign,.terms-manager-status,.email-status,.loyalty-rule,.site-editor-preview) :is(b,strong) { color:#263448; }
.admin-body :is(.member-record,.coupon-record,.package-admin-record,.gift-card-admin-item,.payment-provider,.email-campaign,.terms-manager-status) :is(b,span,small) { font-size:13px; line-height:1.5; }.admin-body .member-record-metrics strong { font-size:27px; }.admin-body .loyalty-rule { font-size:14px; line-height:1.6; border-left:3px solid #36805a; padding:18px; }.admin-body .compact-form { border-color:#dce1e7; }.admin-body .member-record-stats { border-color:#dce1e7; }.admin-body .coupon-code { font:650 19px/1.3 Inter,Arial,sans-serif; }.admin-body .package-admin-actions button,.admin-body .gift-card-admin-item button,.admin-body .text-admin-button { background:#fff; border:1px solid #cbd3de; color:#384960; border-radius:4px; font-size:12px; padding:8px 12px; }.admin-body .admin-login-card { max-width:480px; margin:9vh auto; padding:36px; }.admin-body .admin-login-card form { display:grid; gap:18px; }
.admin-body #booking-editor { padding:0; margin:0 0 0 auto; width:min(700px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; color:#1c2735; background:#fff; border:0; border-left:1px solid #d4dae2; border-radius:0; overflow:auto; box-shadow:-15px 0 60px #101b2b22; }
.admin-body #booking-editor::backdrop { background:#13203288; backdrop-filter:none; }
.editor-heading { display:flex; justify-content:space-between; align-items:center; padding:24px 28px; border-bottom:1px solid #e0e5ec; background:#fff; }.admin-body .editor-heading h2 { font-size:23px; margin:4px 0 0; }.editor-heading button { background:#f0f2f5; color:#435064; border:0; border-radius:50%; width:36px; height:36px; }
.editor-body { padding:24px 28px; }.editor-visit-summary { display:flex; gap:20px; justify-content:space-between; padding-bottom:18px; }.editor-visit-summary b { display:block; font-size:15px; }.editor-visit-summary span { display:block; margin-top:5px; color:#667285; font-size:12px; }.editor-visit-summary strong { font-size:24px; white-space:nowrap; }
.editor-reward { padding:14px 16px; background:#edf6f0; border:1px solid #cbe3d3; border-radius:6px; color:#2d6244; font-size:13px; line-height:1.6; margin-bottom:25px; }
.admin-body #booking-edit-form fieldset { min-width:0; border:0; border-top:1px solid #e0e5ec; padding:18px 0 24px; margin:0; }.admin-body #booking-edit-form legend { padding:0 12px 0 0; font:650 15px/1.4 Inter,Arial,sans-serif; color:#253347; letter-spacing:0; text-transform:none; }.editor-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.editor-fields .form-wide { grid-column:1/-1; }
.admin-body .field-help { font-size:12px; color:#6d7787; margin:12px 0 0; }.admin-body #edit-package-config { margin-top:14px; }
.editor-footer { display:flex; justify-content:flex-end; gap:10px; position:sticky; bottom:0; padding:18px 28px; border-top:1px solid #dce1e7; background:#fff; z-index:2; }.editor-history { font-size:12px; color:#5b697d; }.editor-history summary { cursor:pointer; font-weight:600; padding:10px 0; }.editor-history article { padding:10px 0; border-bottom:1px solid #e8ebf0; }.editor-history span { display:block; margin-top:4px; }.admin-body .editor-error { color:#9c2531; background:#fdebed; padding:14px; border-radius:5px; font-size:13px; }
.admin-body .toast { font:500 14px/1.5 Inter,Arial,sans-serif; background:#172432; color:#fff; border:0; border-radius:7px; box-shadow:0 8px 30px #0002; max-width:calc(100vw - 32px); }.admin-body .toast.error { background:#972334; }
@media(max-width:1250px) { .admin-body .admin-shell { padding-inline:22px; }.admin-body .admin-workspace { grid-template-columns:145px minmax(0,1fr); gap:22px; }.diary-filters { grid-template-columns:repeat(4,minmax(0,1fr)); }.diary-search { grid-column:span 2; }.diary-row { grid-template-columns:62px minmax(120px,1fr) minmax(140px,1.2fr) 96px; gap:12px; }.diary-price { grid-column:4; grid-row:auto; }.diary-status { grid-column:4; }.diary-row .diary-price { padding-top:0; }.admin-body #block-form { grid-template-columns:1fr 1fr; } }
@media(max-width:1000px) { .admin-body .admin-workspace { grid-template-columns:1fr; padding-top:16px; gap:22px; }.admin-body .admin-sidebar { position:static; display:flex; overflow:auto; gap:4px; padding-bottom:5px; }.admin-body .admin-sidebar a { flex:none; font-size:13px; padding:10px 14px; }.admin-body .admin-sidebar a span { display:none; }.admin-body .admin-topbar { align-items:flex-start; gap:18px; }.admin-body .admin-heading-actions { width:auto; justify-content:flex-end; }.admin-body .admin-heading-actions .button { font-size:12px; min-height:38px; padding:8px 11px; } }
@media(max-width:650px) { .admin-body .admin-shell { padding:16px 14px 40px; }.admin-body .admin-brand { margin-bottom:18px; }.admin-body .admin-topbar { display:block; }.admin-body .admin-heading-actions { display:flex; margin-top:15px; justify-content:flex-start; }.admin-body .admin-heading-actions .button { width:auto; }.admin-body .admin-shell h1 { font-size:27px!important; }.admin-body .admin-page-heading { align-items:flex-start; }.workspace-timezone { display:none; }.diary-metrics { grid-template-columns:1fr 1fr; gap:9px; margin-bottom:18px; }.diary-metrics article { padding:14px; }.diary-metrics strong { font-size:25px; }.diary-metrics span { font-size:11px; }.diary-filters { grid-template-columns:1fr 1fr; gap:12px; }.diary-filters>.button { grid-column:1/-1; }.diary-presets span { width:100%; margin:5px 0 0; }.diary-row { grid-template-columns:58px minmax(0,1fr); padding:20px 16px; gap:10px 14px; }.diary-person { grid-column:2; }.diary-service { grid-column:2; }.diary-status { grid-column:2; display:flex; flex-wrap:wrap; gap:6px; }.diary-row .diary-price { grid-column:2; display:flex; align-items:center; justify-content:space-between; }.admin-body .diary-day>header { padding:12px 16px; display:block; }.diary-day>header>span { display:block; margin-top:3px; }.admin-body .admin-card { padding:18px; }.admin-body .admin-bookings-card { padding:20px 0 0; }.admin-body #block-form { grid-template-columns:1fr; }.admin-body #block-list { grid-template-columns:1fr; }.editor-heading { padding:20px; }.editor-body { padding:20px; }.editor-fields { grid-template-columns:1fr; }.editor-fields .form-wide { grid-column:auto; }.editor-footer { padding:16px 20px; }.editor-visit-summary { gap:12px; }.editor-visit-summary strong { font-size:21px; }.admin-body .admin-summary { grid-template-columns:1fr 1fr; }.admin-body .member-record { grid-template-columns:1fr auto; } }
.admin-body [hidden] { display:none!important; }
.admin-body .operations-dialog { padding:0;margin:0 0 0 auto;width:min(780px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;background:#fff;color:#233044;border:0;border-radius:0;overflow:auto; }
.operations-dialog::backdrop { background:#13203288; }
.admin-body .operations-dialog h3 { font:650 18px/1.4 Inter,Arial,sans-serif;margin:28px 0 14px;letter-spacing:0;text-transform:none; }
.admin-body .operations-dialog p { color:#657084;font-size:13px;line-height:1.6; }
.admin-body .operations-dialog input,.admin-body .operations-dialog select,.admin-body .operations-dialog textarea { background:#fff;color:#243044;border:1px solid #cbd3dd;min-width:0;width:100%;font:400 14px/1.5 Inter,Arial,sans-serif;padding:11px 12px;border-radius:5px; }
.admin-body .operations-dialog label { color:#435064;font:600 12px/1.5 Inter,Arial,sans-serif;display:grid;gap:6px; }
.admin-body .operations-dialog .button { font-size:13px; }
.admin-body .vehicle-line { border:1px solid #dce2e9!important;padding:18px!important;margin:18px 0!important;border-radius:7px;min-width:0; }
.admin-body .vehicle-line legend { font:650 13px/1.4 Inter,Arial,sans-serif;color:#435064;padding:0 8px; }
.line-footer,.diary-toolbar,.diary-toolbar>div { display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap; }.line-footer { margin-top:14px;font-size:13px;font-weight:650; }
.admin-body .line-footer button,.admin-body .profile-visit button,.admin-body .diary-toolbar button,.admin-body #new-add-line,.admin-body #edit-add-line,.admin-body #retry-booking-emails,.admin-body [data-customer-profile] { background:#f2f5f8;border:1px solid #d6dee8;color:#324964;border-radius:5px;padding:9px 12px;font:600 12px/1.5 Inter,Arial,sans-serif;cursor:pointer; }
.admin-body .diary-toolbar { margin:12px 0; }.admin-body .diary-toolbar [aria-pressed=true] { background:#253b57;color:#fff;border-color:#253b57; }
.admin-body .weekly-calendar { display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));overflow:auto;padding:0 12px 20px;gap:10px; }.weekly-calendar>section { border-top:2px solid #d1dce9;min-width:0; }.weekly-calendar h4 { font:650 13px/1.5 Inter,Arial,sans-serif;padding:12px 4px;margin:0; }
.admin-body .week-booking,.week-block { display:grid;gap:6px;text-align:left;padding:12px;background:#eef4fc;border:1px solid #c9d9ee;border-left:3px solid #587aa8;border-radius:5px;width:100%;margin:8px 0;color:#253b57;font:400 12px/1.5 Inter,Arial,sans-serif;overflow-wrap:anywhere; }.week-booking strong { font-size:13px; }.week-booking.is-done { background:#edf6f0;border-color:#bdd8c7;color:#326046; }.week-block { background:#f1f2f4;border-color:#d7dce2;color:#6b7581; }.admin-body .week-gap { font-size:11px;color:#7d8794;margin:14px 4px; }
.attention-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }.attention-grid h4 { font:650 14px/1.4 Inter,Arial,sans-serif;display:flex;justify-content:space-between; }.attention-grid h4 span { color:#a24e21;background:#fff0df;padding:2px 8px;border-radius:5px; }.attention-grid button { display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e1e6ed;background:none;color:#33465d;padding:11px 0; }.attention-grid small { display:block;margin-top:4px;color:#69768a; }
.profile-stats { display:grid;grid-template-columns:repeat(3,1fr);padding:20px 0;gap:10px; }.profile-stats b { font-size:24px; }.profile-stats small { display:block;font-size:12px;color:#69768a;font-weight:400;margin-top:6px; }.profile-visit { display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e1e6ed;font-size:13px; }.profile-visit>div { flex:1; }.profile-visit span { display:block;font-size:12px;color:#6b7789;margin-top:5px; }.admin-body .check-label { display:flex;align-items:center;gap:10px;font-size:13px;margin:20px 0; }.admin-body .check-label input { width:18px;height:18px;accent-color:#d93c45; }.admin-body .booking-total { font-size:20px;font-weight:650;color:#273a51; }#staff-identity { font-size:12px;color:#718095; }#owner-setup { margin-bottom:24px; }#staff-invite-result { margin-top:20px;padding:18px;background:#f0f6fc; }#booking-messages article { padding:10px 0;border-bottom:1px solid #e1e6ed; }#booking-messages small { display:block; }
@media(max-width:650px){.attention-grid{grid-template-columns:1fr;gap:10px}.profile-visit{flex-wrap:wrap}.profile-visit>div{flex-basis:100%}.profile-stats b{font-size:21px}.diary-toolbar{align-items:flex-start}.admin-body .operations-dialog .editor-fields{grid-template-columns:1fr}.admin-body #new-booking-button{font-size:12px;padding:10px}.admin-body .weekly-calendar{grid-template-columns:repeat(7,220px)}}
