/* One design system: this block is copied verbatim from ../landing/system.html and is
   never edited here. check.mjs compares the two and fails when they differ. */
/* tokens */
:root {
  /* colour */
  --mm-canvas: #FBF6EF;      /* Linen: page background */
  --mm-surface: #FFFFFF;     /* Paper: cards, fields, table rows */
  --mm-sand: #F3EADD;        /* Sand: quiet panels, footer, table head */
  --mm-sand-deep: #E8DCCB;   /* Deep Sand: photo placeholders, skeletons, avatars */
  --mm-ink: #1E2B2B;         /* Pine Ink: headings and body text */
  --mm-ink-2: #52605D;       /* Soft Ink: secondary text, helpers, captions */
  --mm-line: #E5DACB;        /* Hairline: dividers and card outlines, decorative */
  --mm-edge: #7F786B;        /* Edge: the boundary of every control */
  --mm-accent: #006E66;      /* Boyne Teal: the one accent */
  --mm-accent-deep: #00544F; /* Boyne Teal, pressed and hover */
  --mm-accent-tint: #DBF0EB; /* Teal Mist: selected and current backgrounds */
  --mm-on-accent: #FFFFFF;
  --mm-deep: #0C2B28;        /* Boyne Night: deep bands and the hero foot */
  --mm-deep-2: #143C38;      /* Boyne Night, raised: panels on a deep band */
  --mm-on-deep-2: #B9D3CE;   /* Soft text and marks on a deep band */
  /* status, product screens only (booking and CRM), never on the landing */
  --mm-ok: #2C6A45;    --mm-ok-tint: #E2F1E6;     /* confirmed, paid, done */
  --mm-wait: #7A5510;  --mm-wait-tint: #FAEDCF;   /* pending, awaiting */
  --mm-stop: #9B3A2C;  --mm-stop-tint: #FBE5DF;   /* cancelled, error, no-show */
  --mm-idle-tint: #EFE9DF;                        /* draft, past, inactive */
  /* type */
  --mm-display: 'Literata', 'Iowan Old Style', 'Palatino Linotype', serif;
  --mm-sans: 'Onest', 'Helvetica Neue', Arial, sans-serif;
  --mm-t-small: 0.875rem;   /* 14 */
  --mm-t-ui: 1rem;          /* 16 */
  --mm-t-lead: 1.125rem;    /* 18 */
  --mm-t-h4: 1.375rem;      /* 22 */
  --mm-t-h3: 1.75rem;       /* 28 */
  /* shape */
  --mm-r-field: 12px;
  --mm-r-card: 20px;
  --mm-r-photo: 28px;
  --mm-r-pill: 999px;
  --mm-shadow: 0 1px 2px rgba(74, 56, 30, 0.06), 0 10px 28px rgba(74, 56, 30, 0.07);
  /* space, a 4 px grid */
  --mm-s-1: 4px; --mm-s-2: 8px; --mm-s-3: 12px; --mm-s-4: 16px; --mm-s-5: 24px; --mm-s-6: 32px; --mm-s-7: 48px; --mm-s-8: 64px;
  /* motion */
  --mm-m-ui: 0.15s;       /* hover, press, focus */
  --mm-m-glide: 0.24s;    /* selection moves, the sticky bar */
  --mm-m-surface: 0.32s;  /* a panel opening */
  --mm-m-reveal: 0.4s;    /* media and cards arriving, once */
  --mm-ease: cubic-bezier(0.25, 1, 0.5, 1);
}
/* /tokens */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mm-canvas);color:var(--mm-ink);font:var(--mm-t-ui)/1.6 var(--mm-sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p,dl,dd{margin:0}
[hidden]{display:none!important}
.cr-shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:100dvh}
.cr-side{display:none}
.cr-main{min-width:0;padding:16px 16px 104px;max-width:920px;width:100%;margin:0 auto}
.cr-main[data-cr-screen="calendar"]{max-width:1180px}
.cr-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}
.cr-head h1{font-size:clamp(1.6rem,6vw,2.1rem);line-height:1.15;letter-spacing:-.02em;font-weight:600}
.cr-lead{color:var(--mm-ink-2);margin-top:4px}
.cr-sec{margin-top:26px}
.cr-sec>h2{font-size:17px;font-weight:600;margin-bottom:8px;display:flex;gap:8px;align-items:baseline}
.cr-count{font-weight:400;color:var(--mm-ink-2);font-size:15px}
.cr-list{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:var(--mm-r-card);overflow:hidden}
.cr-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px;min-height:64px;border-top:1px solid var(--mm-line);align-items:center}
.cr-row:first-child{border-top:0}
.cr-rmain{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:44px;text-align:left;background:none;border:0;padding:0;cursor:pointer;border-radius:var(--mm-r-field)}
.cr-when{font-variant-numeric:tabular-nums;font-weight:600;min-width:52px}
.cr-when small{display:block;font-weight:400;color:var(--mm-ink-2);font-size:13px}
.cr-who{min-width:0}
.cr-who b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-who span{display:block;color:var(--mm-ink-2);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-amt{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.cr-ract{display:flex;flex-wrap:wrap;gap:8px}
.cr-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--mm-r-pill);border:1px solid var(--mm-ink-2);font-size:13px;font-weight:600;white-space:nowrap;background:var(--mm-surface)}
.cr-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mm-ink-2)}
.cr-pill[data-cr-status="confirmed"]::before,.cr-pill[data-cr-status="completed"]::before{background:var(--mm-accent)}
.cr-pill[data-cr-status="requested"]{background:var(--mm-sand)}
.cr-pill[data-cr-status="cancelled"],.cr-pill[data-cr-status="no_show"]{border-style:dashed}
.cr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:44px;padding:0 20px;border-radius:var(--mm-r-pill);border:1.5px solid var(--mm-accent);background:var(--mm-accent);color:var(--mm-on-accent);font-weight:600;cursor:pointer;text-decoration:none;transition:transform var(--mm-m-ui) var(--mm-ease)}
.cr-btn:active{transform:scale(.97)}
.cr-btn.cr-quiet{background:var(--mm-surface);color:var(--mm-ink);border-color:var(--mm-line)}
.cr-btn.cr-sm{min-height:44px;padding:0 16px;font-size:15px}
.cr-btn.cr-wide{width:100%}
.cr-seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);background:var(--mm-accent-tint);border-radius:var(--mm-r-pill);padding:3px;gap:2px}
.cr-seg button{min-height:44px;min-width:64px;padding:0 16px;border:0;border-radius:var(--mm-r-pill);background:transparent;cursor:pointer;transition:background-color var(--mm-m-ui) var(--mm-ease),border-color var(--mm-m-ui) var(--mm-ease),box-shadow var(--mm-m-ui) var(--mm-ease),color var(--mm-m-ui) var(--mm-ease),transform var(--mm-m-ui) var(--mm-ease)}
.cr-seg button[aria-pressed="true"]{background:var(--mm-surface);font-weight:600;box-shadow:0 0 0 1px var(--mm-line)}
.cr-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px}
.cr-chip{flex:none;min-height:44px;padding:0 16px;border:1px solid var(--mm-edge);border-radius:var(--mm-r-pill);background:var(--mm-surface);cursor:pointer;white-space:nowrap;transition:background-color var(--mm-m-ui) var(--mm-ease),border-color var(--mm-m-ui) var(--mm-ease),box-shadow var(--mm-m-ui) var(--mm-ease),color var(--mm-m-ui) var(--mm-ease),transform var(--mm-m-ui) var(--mm-ease)}
.cr-chip:active,.cr-seg button:active{transform:scale(.97)}
.cr-chip[aria-pressed="true"]{border-color:var(--mm-accent);background:var(--mm-accent-tint);font-weight:600}
.cr-input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--mm-edge);border-radius:var(--mm-r-field);background:var(--mm-surface)}
textarea.cr-input{padding:12px 14px;min-height:112px}
.cr-field{display:grid;gap:6px;margin-top:14px}
.cr-field>label,.cr-field>span{font-weight:600;font-size:15px}
.cr-hint{color:var(--mm-ink-2);font-size:15px;font-weight:400}
.cr-btn:focus-visible,.cr-rmain:focus-visible,.cr-chip:focus-visible,.cr-input:focus-visible,.cr-seg button:focus-visible,.cr-nav button:focus-visible,.cr-tab button:focus-visible,.cr-ev:focus-visible,.cr-free:focus-visible{outline:2px solid var(--mm-accent);outline-offset:3px}
.cr-empty{background:var(--mm-surface);border:1px dashed var(--mm-edge);border-radius:var(--mm-r-card);padding:32px 20px;display:grid;justify-items:center;text-align:center;gap:10px}
.cr-empty svg{width:56px;height:56px;stroke:var(--mm-ink-2);fill:none;stroke-width:1.5}
.cr-empty h2{font-size:19px;font-weight:600}
.cr-empty p{color:var(--mm-ink-2);max-width:40ch}
.cr-card{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:var(--mm-r-card);padding:18px 16px}
.cr-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cr-fact dt{color:var(--mm-ink-2);font-size:15px}
.cr-fact dd{font-size:24px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.cr-kv{display:grid}
.cr-kv div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--mm-line)}
.cr-kv div:first-child{border-top:0}
.cr-kv dt{color:var(--mm-ink-2)}
.cr-kv dd{font-weight:600}
.cr-note{padding:12px 14px;border-radius:var(--mm-r-field);background:var(--mm-sand);margin-top:12px}
/* calendar */
.cr-cal{background:var(--mm-surface);border:1px solid var(--mm-line);border-radius:var(--mm-r-card);padding:8px 10px 10px;overflow:hidden}
.cr-calhead{display:grid;gap:4px;margin-left:52px;font-size:14px;text-align:center;padding:6px 0}
.cr-calhead b{display:block;font-size:17px}
.cr-calhead [data-cr-today]{font-weight:600;background:var(--mm-accent-tint);border-radius:var(--mm-r-field)}
.cr-grid{display:grid;grid-template-columns:52px repeat(var(--cr-cols),minmax(0,1fr));grid-template-rows:repeat(36,var(--cr-q));column-gap:4px}
.cr-hour{grid-column:1;font-size:13px;color:var(--mm-ink-2);font-variant-numeric:tabular-nums;border-top:1px solid var(--mm-line);padding-top:2px}
.cr-free{border:0;border-top:1px solid var(--mm-line);background:transparent;cursor:pointer;color:var(--mm-ink-2);font-size:18px;text-align:right;padding:0 10px;min-width:0}
.cr-free:hover{background:var(--mm-accent-tint)}
.cr-free>span{opacity:0;transition:opacity 120ms var(--mm-ease)}
.cr-free:hover>span,.cr-free:focus-visible>span{opacity:1}
@media (hover:none){.cr-free:hover:not(:focus-visible)>span{opacity:0}}
.cr-slot{border-top:1px solid var(--mm-line)}
.cr-now{z-index:2;align-self:start;height:2px;background:var(--mm-accent);pointer-events:none}
.cr-ev{z-index:1;margin:1px 0;border:1.5px solid var(--mm-accent);border-left-width:5px;border-radius:var(--mm-r-field);background:var(--mm-accent-tint);text-align:left;padding:2px 8px;cursor:pointer;overflow:hidden;min-width:0;display:grid;align-content:start}
.cr-ev b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-ev span{font-size:13px;color:var(--mm-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-ev[data-cr-short]{align-content:center;padding-top:0;padding-bottom:0}
.cr-ev[data-cr-short] span{display:none}
.cr-ev[data-cr-status="requested"]{background:var(--mm-sand);border-style:dashed;border-left-style:solid}
.cr-ev[data-cr-status="completed"]{background:var(--mm-surface)}
.cr-calbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:12px}
.cr-calnav{display:flex;gap:6px;align-items:center}
.cr-calnav strong{min-width:150px;text-align:center}
.cr-calnav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cr-calview{animation:cr-swap 160ms var(--mm-ease)}
.cr-calview[data-cr-dir="fwd"]{animation-name:cr-swap-fwd}
.cr-calview[data-cr-dir="back"]{animation-name:cr-swap-back}
@keyframes cr-swap{from{opacity:0}}
@keyframes cr-swap-fwd{from{opacity:0;transform:translateX(16px)}}
@keyframes cr-swap-back{from{opacity:0;transform:translateX(-16px)}}
.cr-weekgrid{display:none}
/* reports */
.cr-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;align-items:end;height:200px;margin-top:16px;border-bottom:1px solid var(--mm-edge)}
.cr-bar{display:grid;align-content:end;justify-items:center;height:100%;min-width:0}
.cr-bar i{display:block;width:100%;max-width:44px;background:var(--mm-accent);border-radius:6px 6px 0 0;min-height:0}
.cr-bar em{font-style:normal;font-size:12px;color:var(--mm-ink);font-variant-numeric:tabular-nums;margin-bottom:2px}
.cr-barlabels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;font-size:12px;color:var(--mm-ink-2);text-align:center;margin-top:4px}
.cr-hbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-top:1px solid var(--mm-line)}
.cr-hbar:first-child{border-top:0}
.cr-hbar i{grid-column:1/-1;display:block;height:10px;border-radius:5px;background:var(--mm-accent);min-width:4px}
.cr-hbar span{grid-column:1/-1;color:var(--mm-ink-2);font-size:15px}
/* hours */
.cr-hours{display:grid}
.cr-hrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;min-height:64px;padding:8px 0;border-top:1px solid var(--mm-line)}
.cr-hrow:first-child{border-top:0}
.cr-hrow .cr-times{display:flex;gap:8px;align-items:center}
.cr-hrow input[type=time]{min-height:44px;min-width:104px;padding:0 10px;border:1px solid var(--mm-edge);border-radius:var(--mm-r-field);background:var(--mm-surface)}
/* sheet */
.cr-sheet{border:0;padding:0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:var(--mm-r-card) var(--mm-r-card) 0 0;background:var(--mm-surface);color:var(--mm-ink)}
.cr-sheet::backdrop{background:color-mix(in srgb,var(--mm-ink) 45%,transparent)}
.cr-sbody{padding:18px 16px 28px}
.cr-shead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.cr-shead h2{font-size:21px;font-weight:600;letter-spacing:-.01em}
.cr-x{min-height:44px;min-width:44px;border:0;background:var(--mm-accent-tint);border-radius:50%;cursor:pointer;font-size:16px}
.cr-acts{display:grid;gap:8px;margin-top:18px}
.cr-row[data-cr-row="enquiry"] .cr-ract{display:grid;grid-template-columns:1fr 1fr}
/* navigation */
.cr-tab{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--mm-surface);border-top:1px solid var(--mm-line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.cr-tab button{min-height:56px;border:0;background:transparent;border-radius:var(--mm-r-field);cursor:pointer;display:grid;justify-items:center;align-content:center;gap:2px;font-size:13px;color:var(--mm-ink-2)}
.cr-tab button svg,.cr-nav button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cr-tab button[aria-current="page"]{color:var(--mm-ink);font-weight:600;background:var(--mm-accent-tint)}
.cr-login{min-height:100dvh;display:grid;place-items:center;padding:16px}
.cr-login form{width:100%;max-width:400px}
.cr-login h1{font-size:28px;letter-spacing:-.02em;font-weight:600}
.cr-mock{max-width:920px;margin:0 auto;padding:0 16px 120px;font-size:14px;color:var(--mm-ink-2)}
.cr-mock summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.cr-mock div{display:flex;flex-wrap:wrap;gap:8px}
.cr-mock button{min-height:44px;padding:0 14px;border:1px dashed var(--mm-ink-2);border-radius:var(--mm-r-field);background:transparent;cursor:pointer}
.cr-mock button[aria-pressed="true"]{border-style:solid;background:var(--mm-accent-tint);color:var(--mm-ink)}
/* components on the system: one hue per meaning with its word, teal for action, sand for quiet panels */
.cr-head h1,.cr-login h1,.cr-fact dd,[data-cr-fig="revtotal"]{font-family:var(--mm-display);font-weight:500;letter-spacing:-.015em;font-variant-numeric:tabular-nums lining-nums}
.cr-fact dd{font-size:2rem;line-height:1.1}
.cr-pill{border:0;background-color:var(--mm-idle-tint);color:var(--mm-ink-2);min-height:28px;padding:0 var(--mm-s-3)}
.cr-pill::before{background-color:currentColor}
.cr-pill[data-cr-status="confirmed"]{background-color:var(--mm-ok-tint);color:var(--mm-ok)}
.cr-pill[data-cr-status="confirmed"]::before,.cr-pill[data-cr-status="completed"]::before{background-color:currentColor}
.cr-pill[data-cr-status="requested"]{background-color:var(--mm-wait-tint);color:var(--mm-wait)}
.cr-pill[data-cr-status="cancelled"],.cr-pill[data-cr-status="no_show"]{background-color:var(--mm-stop-tint);color:var(--mm-stop)}
.cr-pill[data-cr-status="now"]{background-color:var(--mm-accent-tint);color:var(--mm-accent)}
.cr-btn{transition:background-color var(--mm-m-ui) var(--mm-ease),border-color var(--mm-m-ui) var(--mm-ease),box-shadow var(--mm-m-ui) var(--mm-ease),color var(--mm-m-ui) var(--mm-ease),transform var(--mm-m-ui) var(--mm-ease)}
.cr-btn:not(.cr-quiet):hover{background-color:var(--mm-accent-deep);border-color:var(--mm-accent-deep)}
.cr-btn.cr-quiet{color:var(--mm-accent);border-color:var(--mm-accent)}
.cr-btn.cr-quiet:hover{background-color:var(--mm-accent-tint)}
.cr-btn.cr-danger{color:var(--mm-stop);border-color:var(--mm-stop);margin-top:var(--mm-s-2)}
.cr-btn.cr-danger:hover,.cr-btn.cr-danger[data-cr-armed]{background-color:var(--mm-stop-tint)}
.cr-rmain:hover{background-color:var(--mm-canvas)}
.cr-seg{background-color:var(--mm-sand)}
.cr-seg button[aria-pressed="true"]{color:var(--mm-accent);box-shadow:0 0 0 1px var(--mm-edge)}
.cr-chip[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--mm-accent);color:var(--mm-accent)}
.cr-tab button[aria-current="page"],.cr-nav button[aria-current="page"]{color:var(--mm-accent);font-weight:600}
.cr-ev{border:0;box-shadow:inset 3px 0 0 var(--mm-accent);border-radius:8px;padding-left:11px;background-color:var(--mm-accent-tint);transition:transform var(--mm-m-ui) var(--mm-ease)}
.cr-ev:active{transform:scale(.98)}
.cr-ev[data-cr-status="requested"]{background-color:var(--mm-wait-tint);box-shadow:inset 3px 0 0 var(--mm-wait)}
.cr-ev[data-cr-status="completed"],.cr-ev[data-cr-status="no_show"]{background-color:var(--mm-idle-tint);box-shadow:inset 3px 0 0 var(--mm-ink-2)}
.cr-free:hover{background-color:var(--mm-canvas)}
.cr-bars{border-bottom-color:var(--mm-edge)}
.cr-track{grid-column:1/-1;display:block;border-radius:5px;background-color:var(--mm-sand)}
.cr-note{background-color:var(--mm-sand)}
.cr-note[data-cr-intake][data-cr-flag]{background-color:var(--mm-wait-tint)}
.cr-x{background-color:var(--mm-sand)}
.cr-sheet{box-shadow:var(--mm-shadow)}
.cr-sheet[open]{animation:cr-rise var(--mm-m-surface) var(--mm-ease)}
.cr-sheet[open]::backdrop{animation:cr-fade var(--mm-m-surface) var(--mm-ease)}
.cr-sheet[data-cr-closing]{animation:cr-sink 200ms var(--mm-ease) forwards}
.cr-sheet[data-cr-closing]::backdrop{animation:cr-fade-out 200ms var(--mm-ease) forwards}
@keyframes cr-rise{from{opacity:0;transform:translateY(16px)}}
@keyframes cr-sink{to{opacity:0;transform:translateY(16px)}}
@keyframes cr-fade{from{opacity:0}}
@keyframes cr-fade-out{to{opacity:0}}
@keyframes cr-slide{from{opacity:0;transform:translateX(24px)}}
@keyframes cr-slide-out{to{opacity:0;transform:translateX(16px)}}
@media (min-width:900px){
  .cr-sheet[open]{animation-name:cr-slide}
  .cr-sheet[data-cr-closing]{animation-name:cr-slide-out}
}
@media (prefers-reduced-motion:reduce){
  .cr-sheet[open]{animation-name:cr-fade}
  .cr-sheet[data-cr-closing]{animation-name:cr-fade-out}
  .cr-calview{animation-name:cr-swap}
}
@media (min-width:900px){
  .cr-shell{grid-template-columns:232px minmax(0,1fr)}
  .cr-side{display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100dvh;padding:24px 14px;border-right:1px solid var(--mm-line);background:var(--mm-surface)}
  .cr-brand{font-weight:600;letter-spacing:-.01em;padding:0 12px 18px}
  .cr-nav{display:grid;gap:2px}
  .cr-nav button{display:flex;align-items:center;gap:12px;min-height:46px;width:100%;padding:0 12px;border:0;background:transparent;border-radius:var(--mm-r-field);cursor:pointer;text-align:left;font-size:16px;color:var(--mm-ink-2)}
  .cr-nav button[aria-current="page"]{background:var(--mm-accent-tint);color:var(--mm-ink);font-weight:600}
  .cr-nav hr{border:0;border-top:1px solid var(--mm-line);margin:10px 12px;width:auto}
  .cr-tab{display:none}
  .cr-main{padding:36px 40px 64px}
  .cr-row{grid-template-columns:minmax(0,1fr) auto}
  .cr-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cr-daygrid[data-cr-view="week"]{display:none}
  .cr-weekgrid{display:block}
  .cr-agenda{display:none}
  .cr-sheet{margin:0 0 0 auto;height:100dvh;max-height:100dvh;max-width:460px;border-radius:var(--mm-r-card) 0 0 var(--mm-r-card)}
  .cr-sbody{padding:28px 28px 32px}
  .cr-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
  .cr-mock{padding:0 40px 40px 272px;max-width:none}
  .cr-acts.cr-inline{grid-auto-flow:column;justify-content:start}
}
@media (prefers-reduced-motion:reduce){.cr-btn,.cr-chip,.cr-seg button,.cr-ev{transition:none}.cr-btn:active,.cr-chip:active,.cr-seg button:active,.cr-ev:active{transform:none}}
/* What the approved page does not draw (its handoff leaves loading and API errors to the build).
   Layout and states only, on the tokens of crm.css; no colour is named here. */
.cr-err{color:var(--mm-stop)}
.cr-err:empty{display:none}
.cr-state{color:var(--mm-ink-2);font-size:15px;min-height:24px;margin-top:var(--mm-s-2)}
.cr-skel{display:grid;gap:var(--mm-s-3);margin-top:var(--mm-s-4)}
.cr-skel i{display:block;height:64px;border-radius:var(--mm-r-card);background:var(--mm-sand-deep);opacity:.55}
.cr-times-text{color:var(--mm-ink-2);font-size:15px}
.cr-enqbody{display:grid;gap:var(--mm-s-2);min-width:0}
.cr-enqmain{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--mm-s-3);align-items:center;min-height:44px}
.cr-enqmsg{overflow-wrap:anywhere;white-space:pre-wrap}
/* A booking typed under another name than the client on its phone: the flag is the pill of a request
   to check, the note the amber note of the health flag. Tokens of crm.css only. */
.cr-pill[data-cr-status="wait"]{background-color:var(--mm-wait-tint);color:var(--mm-wait)}
.cr-note[data-cr-namediffers]{background-color:var(--mm-wait-tint)}
.cr-flagline{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--mm-s-2);align-items:center;min-width:0;overflow-wrap:anywhere}
/* Working hours on a phone: the name of the day takes its own line, so a long one ("Wednesday") is never
   squeezed into a column the time fields leave over. */
@media (max-width: 560px) {
  .cr-hrow{grid-template-columns:minmax(0,1fr)}
  .cr-hrow .cr-pill{justify-self:start}
}
/* The consultation form: a question is long, so its answer goes under it, full width. */
.cr-kv.cr-formkv div{grid-template-columns:minmax(0,1fr);gap:4px}
.cr-kv.cr-formkv dd{overflow-wrap:anywhere;white-space:pre-wrap}
.cr-flagline[data-cr-form]{grid-column:1/-1}
/* Under a booking row: the client still needs the consultation form. Drawn as the amber "wait" pill, but its own
   class, so a row keeps exactly one status pill. Tokens of crm.css only. */
.cr-formmark{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--mm-r-pill);border:1px solid var(--mm-wait);font-size:13px;font-weight:600;background-color:var(--mm-wait-tint);color:var(--mm-wait)}
/* Prepayment (docs/payments.md): a booking waiting for its payment wears the colour of one that waits. */
.cr-pill[data-cr-status="pending_payment"]{background-color:var(--mm-wait-tint);color:var(--mm-wait)}
/* Gift certificates: the check card, number and code side by side from 560 px, the search above the list.
   Tokens of crm.css only. */
.cr-giftcheck{display:grid;gap:var(--mm-s-3);margin-top:var(--mm-s-4)}
.cr-giftcheck h2{font-size:17px;font-weight:600}
.cr-giftpair{display:grid;gap:var(--mm-s-3)}
@media (min-width: 560px) { .cr-giftpair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
.cr-giftsearch{margin:var(--mm-s-5) 0 var(--mm-s-3)}
.cr-giftcode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.cr-giftlinks{display:grid;gap:var(--mm-s-2)}
