/* Shared document page layout. Centers inside .platform-content (after the 40px brand rail). */
@media (max-width: 767px) {
  :root {
    --platform-page-gutter: 20px;
  }
}

@media (max-width: 479px) {
  :root {
    --platform-page-gutter: 16px;
  }
}

.platform-page {
  --platform-page-max: var(--platform-page-max-standard, 1040px);
  box-sizing: border-box;
  width: 100%;
  max-width: min(100%, calc(var(--platform-page-max) + 2 * var(--platform-page-gutter, 32px)));
  margin-inline: auto;
  padding-inline: var(--platform-page-gutter, 32px);
  padding-top: 0;
  padding-bottom: var(--platform-page-pad-bottom, 64px);
  min-width: 0;
}

.platform-page--narrow {
  --platform-page-max: var(--platform-page-max-narrow, 720px);
}

.platform-page--standard {
  --platform-page-max: var(--platform-page-max-standard, 1040px);
}

.platform-page--wide {
  --platform-page-max: var(--platform-page-max-wide, 1080px);
}

.platform-page .module-bar,
.platform-page .page {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.platform-page .module-bar,
.platform-page.dash .dash-intro,
.platform-content .app-header {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: 0;
  padding-top: var(--platform-header-title-top, 8px);
  padding-bottom: 0;
  padding-left: var(--platform-header-title-x);
  padding-right: var(--platform-page-gutter, 32px);
  min-height: calc(var(--platform-header-title-top, 8px) + var(--platform-header-min-height, 40px));
}

.platform-page .module-bar .platform-module-name,
.platform-page.dash .dash-intro .platform-module-name,
.platform-content .app-header .platform-module-name {
  margin: 0;
  height: var(--platform-header-min-height, 40px);
  line-height: var(--platform-header-min-height, 40px);
  display: flex;
  align-items: center;
}

.platform-page.dash .dash-intro {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.platform-page .page {
  padding-top: var(--platform-page-gap, 18px);
  padding-bottom: 0;
}

.platform-page .intro {
  margin-bottom: var(--platform-page-gap, 18px);
}

.platform-page.dash {
  padding-top: 0;
  padding-bottom: 6rem;
}

@media (max-width: 640px) {
  .platform-page.dash {
    padding-bottom: 4rem;
  }
}

@media print {
  .platform-page {
    max-width: none;
    margin: 0;
    padding: 0;
  }
}


/* Go / Private approved Neutral UI — presentation only, 2026-10-22.
   Shared UI Kit v1 token values; keep original module routes, scripts and layouts. */
:root:root {
  --ui-radius: 0.625rem;
  --ui-radius-sm: calc(var(--ui-radius) * 0.6);
  --ui-radius-md: calc(var(--ui-radius) * 0.8);
  --ui-radius-lg: var(--ui-radius);
  --ui-radius-xl: calc(var(--ui-radius) * 1.4);
  --ui-radius-4xl: calc(var(--ui-radius) * 2.6);
  --ui-background: oklch(1 0 0);
  --ui-foreground: oklch(0.145 0 0);
  --ui-card: oklch(1 0 0);
  --ui-card-foreground: oklch(0.145 0 0);
  --ui-popover: oklch(1 0 0);
  --ui-popover-foreground: oklch(0.145 0 0);
  --ui-primary: oklch(0.205 0 0);
  --ui-primary-foreground: oklch(0.985 0 0);
  --ui-secondary: oklch(0.97 0 0);
  --ui-secondary-foreground: oklch(0.205 0 0);
  --ui-muted: oklch(0.97 0 0);
  --ui-muted-foreground: oklch(0.556 0 0);
  --ui-destructive: oklch(0.577 0.245 27.325);
  --ui-border: oklch(0.922 0 0);
  --ui-input: oklch(0.922 0 0);
  --ui-ring: oklch(0.708 0 0);
  --ui-card-spacing: 1rem;
  --platform-bg:var(--ui-muted);
  --platform-surface:var(--ui-card);
  --platform-surface-secondary:var(--ui-secondary);
  --platform-ink:var(--ui-foreground);
  --platform-muted:var(--ui-muted-foreground);
  --platform-faint:var(--ui-muted-foreground);
  --platform-line:var(--ui-border);
  --platform-hover:var(--ui-secondary);
  --platform-active-fill:var(--ui-secondary);
  --platform-field-secondary-bg:var(--ui-card);
  --platform-field-secondary-border:var(--ui-input);
  --platform-field-secondary-focus:var(--ui-ring);
  --platform-radius:var(--ui-radius-xl);
  --platform-radius-md:var(--ui-radius-lg);
  --platform-radius-sm:var(--ui-radius-lg);
  --platform-font:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang HK","PingFang TC","Microsoft JhengHei",sans-serif;
  --bg:var(--ui-muted);--bg-subtle:var(--ui-muted);--surface:var(--ui-card);
  --surface-2:var(--ui-secondary);--surface-secondary:var(--ui-secondary);
  --ink:var(--ui-foreground);--text:var(--ui-foreground);
  --muted:var(--ui-muted-foreground);--text-secondary:var(--ui-muted-foreground);--text-muted:var(--ui-muted-foreground);
  --line:var(--ui-border);--border:var(--ui-border);--border-strong:var(--ui-input);
  --field-secondary-bg:var(--ui-card);--field-secondary-border:var(--ui-input);--field-secondary-focus:var(--ui-ring);
  --input-bg:var(--ui-card);--hover:var(--ui-secondary);
  --active-bg:var(--ui-primary);--active-fg:var(--ui-primary-foreground);
  --accent:var(--ui-primary);--font:var(--platform-font);
  --radius-sm:var(--ui-radius-lg);--radius-md:var(--ui-radius-lg);--radius-lg:var(--ui-radius-xl);--radius-xl:var(--ui-radius-xl);--radius:var(--ui-radius-xl);
}
body:has([data-platform-shell]){background:var(--ui-muted);color:var(--ui-foreground);font-family:var(--platform-font);-webkit-font-smoothing:antialiased}
body .platform-sidebar{background:var(--ui-card);border-right:1px solid var(--ui-border)}
body .platform-nav-item{border-radius:var(--ui-radius-lg);font-size:14px;font-weight:500}
body .platform-nav-item.is-active{background:var(--ui-primary);color:var(--ui-primary-foreground)}
body a.platform-nav-item:hover{background:var(--ui-secondary);color:var(--ui-foreground)}
body a.platform-nav-item.is-active:hover{background:var(--ui-primary);color:var(--ui-primary-foreground)}
body .platform-content :is(.apt-card,.dash-memo-card,.memo-card,.chart-card,.result-block,.result-unit,.form-card,.settings-card){border:0;border-radius:var(--ui-radius-xl);background:var(--ui-card);box-shadow:none}
body .platform-content :is(.btn,.btn-primary){border-radius:var(--ui-radius-lg);font-family:var(--platform-font);font-weight:500;box-shadow:none}
body .platform-content :is(.btn-primary,.btn:not(.btn-ghost):not(.btn-outline):not(.btn-danger)){background:var(--ui-primary);color:var(--ui-primary-foreground);border-color:var(--ui-primary)}
body .platform-content :is(.btn-primary,.btn:not(.btn-ghost):not(.btn-outline):not(.btn-danger)):hover{background:color-mix(in oklch,var(--ui-primary) 85%,white);border-color:transparent}
body .platform-content :is(.btn-ghost,.btn-outline){background:var(--ui-card);color:var(--ui-foreground);border-color:var(--ui-border)}
body .platform-content :is(.btn-ghost,.btn-outline):hover{background:var(--ui-secondary)}
body .platform-content :is(input[type=text],input[type=search],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=password],select,textarea){background-color:var(--ui-card);border-color:var(--ui-input);border-radius:var(--ui-radius-lg);font-family:var(--platform-font);color:var(--ui-foreground)}
body .platform-content :is(input,select,textarea):focus-visible{outline:2px solid var(--ui-ring);outline-offset:2px;border-color:var(--ui-ring)}
body .platform-content :is(button,a):focus-visible{outline:2px solid var(--ui-ring);outline-offset:3px}
body .platform-content :is(button,input,select,textarea):disabled{opacity:.5;cursor:not-allowed}
body .platform-content dialog{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xl);background:var(--ui-popover);color:var(--ui-foreground)}
body .platform-content dialog::backdrop{background:oklch(0 0 0 / 10%)}
body .platform-content :is(.chip,.dash-date-chip,.filter-text){border-radius:var(--ui-radius-lg)}
body .platform-content :is(.chip[aria-pressed=true],.dash-date-chip.is-active,.filter-text.is-active){background:var(--ui-primary);color:var(--ui-primary-foreground);border-color:var(--ui-primary)}
body .platform-content :is(.module-bar,.app-header),body .platform-page.dash .dash-intro{background:var(--ui-card);border-bottom:1px solid var(--ui-border);min-height:66px;padding-top:0;padding-bottom:0;align-items:center}
body .platform-page.dash .dash-intro{flex-direction:row}
body .platform-content :is(.platform-module-name,.app-header .brand-text,.app-header .brand-title){font-family:var(--platform-font);font-size:24px;font-weight:500;line-height:1.25;letter-spacing:-.025em}
/* Preserve editor toolbars/canvas layout and semantic warning/status colours. */
body .platform-content :is(.space-left,.space-right){background:var(--ui-card);border-color:var(--ui-border)}
body .platform-content :is(.memo-folder-row,.memo-view-btn,.memo-card-btn,.floating-toolbar){border-radius:var(--ui-radius-lg)}
@media(max-width:767px){
 body .platform-content :is(.platform-module-name,.app-header .brand-text,.app-header .brand-title){font-size:20px}
 body .platform-content :is(.module-bar,.app-header){height:auto;min-height:66px}
}
@media print{
 body:has([data-platform-shell]){background:white}
 body .platform-content :is(.module-bar,.app-header),body .platform-page.dash .dash-intro{border:0;background:white}
}

body .platform-content .memo-lib-bar{background:var(--ui-card);border-bottom:1px solid var(--ui-border)}
/* Existing favourite/urgency borders remain meaningful, not decorative. */
body .platform-content .apt-card{border:2px solid transparent}
body .platform-content .apt-card.is-fav{border-color:color-mix(in srgb,var(--fav-accent) 52%,var(--border))}
body .platform-content .apt-card.is-fav:hover{border-color:color-mix(in srgb,var(--fav-accent) 62%,var(--border))}
body .platform-content .apt-card.is-urgent:not(.is-fav){border-color:var(--attn-urgent)}
body .platform-content .apt-card.is-near:not(.is-fav){border-color:rgba(59,130,246,.45)}


/* 2026-10-22 correction: full input outlines, not rounded legacy underlines. */
body .platform-content :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=button]):not([type=submit]),select,textarea){box-sizing:border-box;min-width:0;max-width:100%;min-height:36px;border:1px solid var(--ui-input);border-radius:var(--ui-radius-lg);background:var(--ui-card);color:var(--ui-foreground);box-shadow:none;padding:7px 10px;font:inherit;line-height:1.4}
body .platform-content :is(input,select,textarea):focus-visible{outline:2px solid var(--ui-ring);outline-offset:2px}
body .platform-content input:is([type=date],[type=datetime-local],[type=time],[type=month],[type=week]){appearance:auto;-webkit-appearance:auto}
/* A single full-width Memo header, without changing its controls or handlers. */
body.memo-page .platform-content .memo-lib-bar{position:relative;z-index:20;box-sizing:border-box;min-height:66px;height:auto;margin-top:calc(-1 * var(--platform-brand-inset-y,8px));margin-bottom:16px;padding:0;background:transparent;border:0;display:flex;flex-direction:row;align-items:center;gap:16px;isolation:isolate}
body.memo-page .platform-content .memo-lib-bar::before{content:"";position:absolute;top:0;bottom:0;left:-100vw;right:-100vw;z-index:-1;background:var(--ui-card);border-bottom:1px solid var(--ui-border);pointer-events:none}
body.memo-page .platform-content .memo-lib-title{flex:0 1 auto;min-width:0}
body.memo-page .platform-content .memo-lib-title .platform-module-name{font-size:24px;line-height:1.25;margin:0}
body.memo-page .platform-content .memo-lib-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex:1 1 auto}
body.memo-page .platform-content .memo-lib-tools :is(.memo-icon-btn,.btn-fab){box-sizing:border-box;flex:0 0 32px;width:32px;height:32px;min-width:32px;min-height:32px;padding:0}
body.memo-page .platform-content .memo-quick{border:1px solid var(--ui-input);border-radius:var(--ui-radius-xl);background:var(--ui-card)}
body.memo-page .platform-content .memo-quick textarea{border:0;background:transparent;box-shadow:none;outline:none}
body.memo-page .platform-content .memo-quick:focus-within{outline:2px solid var(--ui-ring);outline-offset:2px}
@media(max-width:640px){
 body.memo-page .platform-content .memo-lib-bar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 0;min-height:66px}
 body.memo-page .platform-content .memo-lib-title .platform-module-name{font-size:20px}
 body.memo-page .platform-content .memo-lib-tools{justify-content:flex-start;flex-wrap:wrap;overflow:visible;padding:0}
 body.memo-page .platform-content .memo-search-wrap{max-width:100%}
}

@media(max-width:640px){body.memo-page .platform-content .memo-subnav-rail{padding-top:85px}}

/* Shared chrome geometry: the content viewport excludes the scrollbar. */
body .platform-content{container-type:inline-size}
body .platform-brand-host{top:13px;left:8px;width:40px;height:40px;overflow:visible}
body .platform-brand-host .platform-brand-toggle{box-sizing:border-box;width:40px;height:40px;min-width:40px;min-height:40px;padding:6px;overflow:visible;flex:none}
body .platform-brand-host .platform-brand-mark{box-sizing:content-box;width:28px;height:28px;min-width:28px;max-width:28px;max-height:28px;flex:none;object-fit:contain;overflow:visible;border:0;border-radius:0}
html.platform-nav-open body .platform-brand-host{display:none}
body .platform-sidebar .platform-logo-mark{display:none}
body .platform-sidebar{overflow-x:hidden;overflow-y:auto}
body .platform-sidebar-top{flex-shrink:0}
body .platform-sidebar .platform-logo-full{object-fit:contain;object-position:left center;flex-shrink:0}
body .platform-content :is(.app-header,.platform-page .module-bar),body .platform-page.dash .dash-intro{box-sizing:border-box;width:100cqw;max-width:none;margin-left:calc(50% - 50cqw);margin-right:0;min-height:66px;padding:0 24px 0 60px;align-items:center;overflow:visible}
body .platform-content :is(.app-header,.module-bar) .platform-module-name,body .platform-page.dash .dash-intro .platform-module-name{margin:0;padding:0;height:40px;min-height:40px;display:flex;align-items:center;font-size:24px;line-height:1.25;font-weight:500}
/* Memo keeps its original rail and handlers; the header must clear its icons. */
body.memo-page .platform-content .memo-lib-bar{padding-left:4px;min-height:66px}
body.memo-page .platform-content .memo-subnav-rail{padding-top:66px;overflow:visible}
body.memo-page .platform-content .memo-lib-title .platform-module-name{font-size:24px;height:40px;display:flex;align-items:center}
body.memo-page .platform-content #memoQuickWrap{padding:0;border:1px solid var(--ui-input);border-radius:var(--ui-radius-xl);background:var(--ui-card);box-shadow:none}
body.memo-page .platform-content #memoQuick{display:block;box-sizing:border-box;width:100%;margin:0;border:0;border-radius:inherit;box-shadow:none;background:transparent;padding:10px 12px;outline:0;resize:none}
body.memo-page .platform-content #memoQuickStatus:not([hidden]){margin:0;padding:0 12px 8px}
body.memo-page .platform-content .memo-editor-bar{isolation:isolate;box-sizing:border-box;min-height:66px;margin-top:-8px;padding:0 0 0 12px;background:transparent;display:flex;align-items:center}
body.memo-page .platform-content .memo-editor-bar::before{content:"";position:absolute;top:0;bottom:0;left:-100vw;right:-100vw;background:var(--ui-card);border-bottom:1px solid var(--ui-border);z-index:-1;pointer-events:none}
body.memo-page .platform-content .memo-editor-rail{padding-top:66px;overflow:visible}
@media(max-width:640px){
 body .platform-content :is(.app-header,.module-bar) .platform-module-name,body .platform-page.dash .dash-intro .platform-module-name,body.memo-page .platform-content .memo-lib-title .platform-module-name{font-size:20px}
 body.memo-page .platform-content .memo-lib-bar{padding:10px 0 10px 4px}
 body.memo-page .platform-content .memo-subnav-rail{padding-top:96px}
}
/* Attendance's page has asymmetric gutters, so cancel its own inset exactly. */
body .platform-content .att-page.platform-page .module-bar{width:100cqw;margin-left:calc(-1 * var(--att-ui-inset));padding:0 24px 0 60px;background:var(--ui-card);border-bottom:1px solid var(--ui-border)}
body .platform-content .att-page.platform-page .module-bar::before{display:none}
@media print{body .platform-content{container-type:normal}body .platform-content :is(.app-header,.platform-page .module-bar),body .platform-content .att-page.platform-page .module-bar{width:100%;margin:0;padding:0}}

/* Reserve detail form: one outline per compound control, no legacy underline. */
body .platform-content .detail-sheet .time-picker{box-sizing:border-box;height:36px;min-height:36px;border:1px solid var(--ui-input);border-radius:var(--ui-radius-lg);background:var(--ui-card);padding:0 6px;gap:4px;overflow:visible}
body .platform-content .detail-sheet :is(#f-time-start-h,#f-time-start-m){box-sizing:border-box;flex:0 0 auto;width:4rem;min-width:4rem;max-width:none;height:34px;min-height:34px;margin:0;padding:4px;border:0;border-radius:0;background:transparent;box-shadow:none;appearance:auto;-webkit-appearance:auto;outline:0}
body .platform-content .detail-sheet .time-picker-colon{padding:0}
body .platform-content .detail-sheet .time-picker:focus-within{outline:2px solid var(--ui-ring);outline-offset:2px}
body .platform-content .detail-sheet .underline-control{border:0;overflow:visible;min-height:36px;background:transparent}
body .platform-content .detail-sheet #f-price{box-sizing:border-box;border:1px solid var(--ui-input);border-radius:var(--ui-radius-lg);min-height:36px;padding:7px 10px;background:var(--ui-card);box-shadow:none}
body .platform-content .detail-sheet #f-price:focus-visible{outline:2px solid var(--ui-ring);outline-offset:2px;border-color:var(--ui-ring)}
body:has(#detail-overlay:not([hidden])) .platform-brand-host{visibility:hidden}

/* Compact quick capture; keep autosizing and existing submit/save handlers. */
body.memo-page .platform-content #memoQuickWrap{box-sizing:border-box;width:min(640px,calc(100% - 8px));max-width:640px;margin:24px 0 28px 8px;border-radius:var(--ui-radius-lg)}
body.memo-page .platform-content #memoQuick{min-height:36px;padding:8px 12px;font-size:14px;line-height:20px}
@media(max-width:640px){body.memo-page .platform-content #memoQuickWrap{width:calc(100% - 4px);margin-left:4px;margin-top:24px}}

/* Complete shared admin surfaces without changing form behaviour. */
body .platform-content .platform-page .account-form>.account-block,
body .platform-content .platform-page .account-section,
body .platform-content .att-page .page>.account-block{box-sizing:border-box;margin:0 0 24px;padding:24px;border:0;border-radius:var(--ui-radius-xl);background:var(--ui-card);box-shadow:none}
body .platform-content .platform-page .account-toolbar{box-sizing:border-box;gap:16px;margin:0 0 24px;padding:20px;border:0;border-radius:var(--ui-radius-xl);background:var(--ui-card)}
body .platform-content .platform-page .account-toolbar .account-filters{gap:12px;margin:0;padding:0;border:0}
body .platform-content .platform-page .account-search{align-items:center;max-width:100%}
body .platform-content .platform-page .account-search .btn-ghost{margin-bottom:0}
body .platform-content .platform-page .account-table-wrap{box-sizing:border-box;width:100%;border:0;border-radius:var(--ui-radius-xl);background:var(--ui-card)}
body .platform-content .platform-page .account-table{width:100%;border-spacing:0;background:var(--ui-card)}
body .platform-content .platform-page .account-table thead th{padding-top:12px;padding-bottom:12px;background:var(--ui-muted);color:var(--ui-muted-foreground);font-size:12px;font-weight:500}
body .platform-content .att-page .att-table.att-table--meta{width:100%;max-width:none}
body .platform-content .att-page .att-subnav-actions a.btn-ghost{background:var(--ui-card);color:var(--ui-foreground);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg)}
body .platform-content .att-page .att-subnav-actions a.btn-ghost:hover{background:var(--ui-secondary);border-color:var(--ui-border)}
body .platform-content .platform-page .account-form .field>label{font-size:13px;line-height:1.4;font-weight:500;letter-spacing:0;margin-bottom:8px}
body .platform-content .platform-page .account-grid{column-gap:24px}
body .platform-content .platform-page .ymd-row{gap:12px;align-items:flex-end}
body .platform-content .platform-page .ymd-year{width:6rem;flex:0 0 6rem}
body .platform-content .platform-page :is(.ymd-month,.ymd-day){width:4.5rem;flex:0 0 4.5rem}
body .platform-content .platform-page .ymd-field{max-width:100%}
body .platform-content .platform-page .account-block h2{margin:0 0 20px;font-size:16px;font-weight:500;line-height:1.4}
@media(max-width:640px){
 body .platform-content .platform-page .account-form>.account-block,body .platform-content .platform-page .account-section,body .platform-content .att-page .page>.account-block{padding:16px;margin-bottom:20px}
 body .platform-content .platform-page .account-toolbar{padding:16px}
 body .platform-content .platform-page .ymd-year{width:5.5rem;flex-basis:5.5rem}
 body .platform-content .platform-page :is(.ymd-month,.ymd-day){width:4rem;flex-basis:4rem}
 body .platform-content .platform-page .ymd-row{gap:8px}
}

/* Visual spacing only: retain the stored document and editor behaviour. */
body.memo-page .platform-content .memo-editor-surface{padding-top:28px}
body.memo-page .platform-content #memoTitle{margin-bottom:28px}
body.memo-page .platform-content #memoEditorRoot .ProseMirror{line-height:1.85}
body.memo-page .platform-content #memoEditorRoot .ProseMirror p{margin-top:0;margin-bottom:20px}
body.memo-page .platform-content #memoEditorRoot .ProseMirror :is(h1,h2,h3,h4){margin-top:28px;margin-bottom:16px}
body.memo-page .platform-content #memoEditorRoot .ProseMirror li{margin-top:6px;margin-bottom:6px}
@media(max-width:640px){body.memo-page .platform-content .memo-editor-surface{padding-top:24px}body.memo-page .platform-content #memoTitle{margin-bottom:24px}}

/* Reserve cards: white by default, inverted favorites, countdown-only attention. */
body .platform-content #appointments-list .apt-card {
  --reserve-card-bg: var(--ui-card,#fff);
  --reserve-card-icon: #666;
  --reserve-card-line: rgba(23,23,23,.10);
  --reserve-card-hover: rgba(23,23,23,.07);
  background: var(--reserve-card-bg);
  border: 0;
  border-radius: var(--ui-radius-xl,14px);
  box-shadow: none;
}
body .platform-content #appointments-list .apt-card.is-fav {
  --reserve-card-bg: var(--ui-foreground,#171717);
  --reserve-card-icon: #fff;
  --reserve-card-line: rgba(255,255,255,.20);
  --reserve-card-hover: rgba(255,255,255,.12);
  --text: #fff;
  --text-secondary: #e5e5e5;
  --text-muted: #d4d4d4;
  --border: rgba(255,255,255,.20);
  --border-strong: rgba(255,255,255,.24);
}
body .platform-content #appointments-list .apt-card:hover {
  background: var(--reserve-card-bg);
  border: 0;
  box-shadow: none;
}
body .platform-content #appointments-list .apt-card .biz-cat {
  background: transparent;
  color: var(--text);
  padding: 2px 0;
}
body .platform-content #appointments-list .apt-card .biz-row {
  border-top: 0;
}
body .platform-content #appointments-list .apt-card .card-footer {
  border-color: var(--reserve-card-line);
}
body .platform-content #appointments-list .apt-card .card-actions {
  gap: 6px;
}
body .platform-content #appointments-list .apt-card .card-footer .icon-btn {
  background: transparent;
  color: var(--reserve-card-icon);
  border: 0;
  box-shadow: none;
  border-radius: var(--ui-radius-lg,10px);
}
body .platform-content #appointments-list .apt-card .card-footer .icon-btn:is(.is-active,.is-fav-on) {
  background: transparent;
  color: var(--text);
}
body .platform-content #appointments-list .apt-card .card-footer .icon-btn.is-active svg {
  stroke-width: 2.25;
}
body .platform-content #appointments-list .apt-card .card-footer .icon-btn:hover {
  background: var(--reserve-card-hover);
  color: var(--text);
  opacity: 1;
}
body .platform-content #appointments-list .apt-card:is(.is-urgent,.is-near) .apt-countdown {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 6px;
  background: #fce8ec;
  color: #9f1239;
  line-height: 1.4;
  white-space: nowrap;
}
/* Menus retain a light surface even on an inverted card. */
body .platform-content #appointments-list .apt-card.is-fav .more-menu {
  --text: #171717;
  --text-secondary: #404040;
  --text-muted: #737373;
  --surface: #fff;
  --border: #e5e5e5;
  --border-strong: #d4d4d4;
  --hover: #f5f5f5;
  color: var(--text);
}
