@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
/* My Dog Desk shared interface system — semantic tokens and page-level refinements */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:root {
  --md-background: #f3f6f4;
  --md-surface: #fff;
  --md-surface-raised: #fbfcfb;
  --md-ink: #172b2a;
  --md-muted: #60716e;
  --md-subtle: #82908d;
  --md-border: #dce5e1;
  --md-border-strong: #c7d4ce;
  --md-primary: #176b5c;
  --md-primary-hover: #105247;
  --md-primary-soft: #e6f2ee;
  --md-accent: #c99b47;
  --md-success: #28734f;
  --md-success-soft: #e8f3ec;
  --md-warning: #966316;
  --md-warning-soft: #fff4db;
  --md-danger: #a33e36;
  --md-danger-soft: #fff0ed;
  --md-info: #315f83;
  --md-info-soft: #edf4f9;
  --md-radius-sm: 8px;
  --md-radius: 12px;
  --md-radius-lg: 18px;
  --md-shadow: 0 10px 28px rgba(25, 55, 47, .08);
  --md-shadow-soft: 0 2px 10px rgba(25, 55, 47, .05);
  --md-font: "DM Sans", "Segoe UI", sans-serif;
  --md-display: "Manrope", "DM Sans", sans-serif;
  --md-copy-weight: 500;
  --md-label-weight: 700;
}
* { -webkit-tap-highlight-color: transparent; }
html { scroll-padding-top: 84px; }
body { font-family: var(--md-font); font-weight: 500; }
body.readable-light, body.readable-dark, #app { font-weight: 500; }
body.readable-light .eyebrow, body.readable-dark .eyebrow { font-weight: 700 !important; }
a, button, input, select, textarea { touch-action: manipulation; }
:focus-visible { outline: 3px solid #78a99a !important; outline-offset: 2px; }
button, input, select, textarea { font-family: inherit; }
::selection { color: #123d34; background: #d7ece4; }

/* shared operational controls */
.button, .btn, .button.primary, .submit-btn, .price-btn, .arrival-button, .setting-btn, .ops-btn, .save-btn, .add-btn, .login-btn {
  min-height: 44px;
  border-radius: var(--md-radius-sm);
  font-weight: 700;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.button.primary, .submit-btn, .setting-btn, .ops-btn:not(.secondary):not(.danger), .save-btn {
  background: var(--md-primary);
  border-color: var(--md-primary);
  color: #fff;
}
.button.primary:hover, .submit-btn:hover, .setting-btn:hover, .ops-btn:not(.secondary):not(.danger):hover, .save-btn:hover {
  background: var(--md-primary-hover);
  color: #fff;
}
input, select, textarea { accent-color: var(--md-primary); }
input:focus, select:focus, textarea:focus { border-color: #6c9d8c !important; box-shadow: 0 0 0 3px rgba(91, 150, 127, .17) !important; }

/* Marketing: editorial product-led presentation */
.dogdesk-arrival { background: var(--md-background); color: var(--md-ink); }
.dogdesk-arrival .site-powered-bar { color: var(--md-subtle); background: #eaf0ed; }
.dogdesk-arrival .site-powered-bar strong,
.dogdesk-arrival .site-powered-footer strong { color: #365c50 !important; }
.dogdesk-arrival .arrival-nav {
  position: sticky; top: 0; z-index: 100; padding: 13px clamp(18px, 5vw, 72px);
  background: rgba(255,255,255,.94); border-bottom: 1px solid var(--md-border);
  backdrop-filter: blur(12px);
}
.arrival-logo, .nav-logo, .footer-logo { color: var(--md-ink) !important; font-family: var(--md-display) !important; font-weight: 800 !important; letter-spacing: -.055em !important; }
.arrival-logo span, .nav-logo span, .footer-logo span { color: var(--md-primary) !important; }
.dogdesk-arrival .arrival-links { gap: clamp(15px, 2vw, 30px); }
.dogdesk-arrival .arrival-links a { color: var(--md-muted); font-weight: 600; }
.dogdesk-arrival .arrival-links a:hover { color: var(--md-primary); }
.dogdesk-arrival .arrival-links .arrival-nav-cta { color: white; background: var(--md-primary); border-radius: 8px; padding: 11px 18px; }
.dogdesk-arrival .arrival-nav-cta:hover { background: var(--md-primary-hover); }
.dogdesk-arrival .arrival-mobile-cta { background: var(--md-primary); color: white; border-radius: 8px; min-height: 42px; padding: 10px 14px; }
.arrival-menu-toggle { display: none; border: 1px solid var(--md-border); color: var(--md-ink); background: white; min-height: 42px; padding: 0 14px; border-radius: 8px; font-weight: 700; }
.arrival-login-link { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 12px; border:0; background:transparent; color:var(--md-ink); font:700 14px var(--md-font); cursor:pointer; }
.arrival-login-link:hover { color:var(--md-primary); }
.floor-login-dialog { width:min(460px,calc(100% - 32px)); padding:0; border:1px solid var(--md-border); border-radius:14px; color:var(--md-ink); background:var(--md-surface); box-shadow:0 24px 80px rgba(16,43,36,.24); }
.floor-login-dialog::backdrop { background:rgba(16,35,31,.54); backdrop-filter:blur(2px); }
.floor-login-dialog form { padding:26px; }
.floor-login-dialog h2 { margin:0 42px 7px 0; color:var(--md-ink); font:750 24px/1.15 var(--md-display); letter-spacing:-.04em; }
.floor-login-dialog p { color:var(--md-muted); font-size:14px; line-height:1.55; margin:0 0 20px; }
.floor-login-dialog label { display:block; color:var(--md-ink); font-size:13px; font-weight:700; margin-bottom:7px; }
.floor-login-dialog input { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--md-border-strong); border-radius:8px; background:white; color:var(--md-ink); font:inherit; }
.floor-login-dialog .dialog-actions { display:flex; gap:9px; justify-content:flex-end; margin-top:20px; }
.floor-login-dialog .dialog-actions button { min-height:44px; padding:0 15px; border:1px solid var(--md-border-strong); border-radius:8px; background:white; color:var(--md-ink); font-weight:700; }
.floor-login-dialog .dialog-actions button[type=submit] { background:var(--md-primary); border-color:var(--md-primary); color:white; }
.floor-login-dialog .dialog-error { min-height:1.3em; margin-top:9px; color:var(--md-danger); font-size:12px; }
.arrival-hero {
  padding: clamp(66px, 9vw, 118px) clamp(18px, 6vw, 88px) 58px !important;
  background: linear-gradient(180deg, #eef4f1 0%, var(--md-background) 100%) !important;
}
.arrival-eyebrow { color: var(--md-primary) !important; letter-spacing: .12em; }
.arrival-hero h1 { font-family: var(--md-display) !important; font-size: clamp(2.8rem, 4.3vw, 3.9rem) !important; letter-spacing: -.065em; line-height: 1.02 !important; max-width: 100%; }
.arrival-hero h1 em { color: var(--md-primary) !important; font-style: normal; }
.arrival-intro > p { color: var(--md-muted) !important; max-width: 650px; font-size: clamp(1rem, 1.6vw, 1.22rem) !important; }
.arrival-sun, .arrival-photo-wrap, .arrival-sticker, .arrival-corner-star, .arrival-checkin, .arrival-caption { display: none !important; }
.arrival-scene { max-width: 1100px; margin: 48px auto 0; }
.product-window {
  text-align: left; overflow: hidden; background: var(--md-surface); border: 1px solid #cfdbd5;
  border-radius: 14px; box-shadow: 0 26px 70px rgba(26, 58, 49, .14);
}
.product-window-top { display: flex; align-items: center; justify-content: space-between; gap:10px; padding: 13px 17px; border-bottom: 1px solid var(--md-border); color: var(--md-muted); font-size: 12px; }
.product-window-title { color: var(--md-ink); font-weight: 800; letter-spacing: -.02em; }
.product-window-title span { color: var(--md-primary); }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 8px; height: 8px; border-radius: 50%; background: #c8d4ce; }
.product-board { padding: 18px; background: #f6f8f6; }
.product-board-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.product-board-head h3 { margin: 2px 0 0; font: 750 22px var(--md-display); letter-spacing: -.04em; color: var(--md-ink); }
.product-board-head p { color: var(--md-muted); font-size: 12px; margin: 0; }
.sample-label { color: #5d7068; text-transform: uppercase; letter-spacing: .08em; font: 700 12px/1.35 var(--md-font); }
.product-metrics { display: flex; gap: 0; border: 1px solid var(--md-border); border-radius: 9px; background: white; margin-bottom: 15px; overflow: hidden; }
.product-metric { flex: 1; min-width:0; padding: 10px 14px; border-right: 1px solid var(--md-border); }
.product-metric:last-child { border-right: 0; }
.product-metric b { display: block; color: var(--md-ink); font: 800 24px/1.1 var(--md-display); font-variant-numeric:tabular-nums; }
.product-metric span { color: #50635b; font-size: 12px; line-height:1.35; }
.product-lanes { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; }
.product-lane { min-width:0; padding: 11px; min-height: 132px; background: white; border: 1px solid var(--md-border); border-radius: 8px; }
.product-lane-head { display: flex; justify-content: space-between; gap: 6px; font-size: 12px; line-height:1.3; font-weight: 750; color: #4d6259; text-transform: uppercase; letter-spacing: .035em; padding-bottom: 8px; border-bottom: 1px solid #edf1ee; }
.sample-dog { display: flex; align-items: center; gap: 8px; padding: 9px 0 0; color: var(--md-ink); font-size: 13px; line-height:1.25; font-weight: 700; }
.sample-dog > span:last-child { min-width:0; overflow-wrap:anywhere; }
.sample-avatar { width: 28px; height: 28px; display: grid; place-items: center; flex: none; border-radius: 7px; background: var(--md-primary-soft); color: var(--md-primary); font-size: 11px; font-weight:800; }
.sample-dog small { display: block; font-size: 12px; line-height:1.3; color: #586b63; font-weight: 500; }
.sample-capacity { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 11px; margin:-4px 0 11px; border:1px solid #edd9aa; border-radius:7px; background:var(--md-warning-soft); color:#765014; font-size:12px; line-height:1.35; }
.sample-capacity strong { color:var(--md-ink); margin-right:6px; font-size:11px; letter-spacing:.05em; }
.sample-capacity b { font-size:12px; }
.arrival-actions { margin-top: 30px; }
.arrival-button.arrival-primary { background: var(--md-primary); color: white; border-radius: 8px; }
.arrival-button.arrival-primary:hover { background: var(--md-primary-hover); }
.arrival-button.arrival-secondary { border-radius: 8px; color: var(--md-ink); border-color: var(--md-border-strong); }
.arrival-actions p, .arrival-footer { color: var(--md-muted) !important; }
.arrival-footer { background: white; border-top: 1px solid var(--md-border); }
.features, .demo-section, .pricing, .product-proof, .how, .cta-section { padding: clamp(64px, 8vw, 112px) max(20px, calc((100% - 1160px)/2)) !important; }
.section-eyebrow { color: var(--md-primary) !important; }
.section-title, .feat-card h3, .proof-card h3, .step h3 { font-family: var(--md-display) !important; letter-spacing: -.045em; }
.section-title { font-size: clamp(2rem,4vw,3.35rem) !important; }
.section-sub { color: var(--md-muted) !important; }
.feat-card, .proof-card, .price-card { border: 1px solid var(--md-border) !important; border-radius: 12px !important; box-shadow: none; }
.feat-card:hover, .proof-card:hover { border-color: #a7c5b8 !important; box-shadow: var(--md-shadow-soft) !important; }
.feat-icon, .proof-icon { color: var(--md-primary); font-family: var(--md-display); font-size: 1.1rem !important; font-weight: 800; }
.how { background: #193c36 !important; }
.how .section-title { color: white !important; }
.step-num { color: #89b5a3 !important; }
.demo-section { max-width: none; background: #edf2ef; }
.demo-screen { background: white; border: 1px solid var(--md-border); border-radius: 14px; box-shadow: var(--md-shadow); }
.demo-screen-bar span { background: #d1dbd5 !important; }
.demo-workflow { color: var(--md-ink); border-color: var(--md-border) !important; }
.demo-workflow b { color: var(--md-ink); }
.demo-workflow p { color: var(--md-muted); }
.demo-open-link { color: var(--md-primary) !important; }
.pricing { background: #edf2ef !important; }
.price-card.featured { background: #193c36 !important; border-color: #193c36 !important; transform: none !important; }
.price-amount, .price-card.featured .price-amount { font-family: var(--md-display) !important; letter-spacing: -.06em; }
.price-btn, .price-card.featured .price-btn { border-radius: 8px; background: var(--md-primary); color: white; }
.price-card.featured .price-btn { background: #b7d8ca; color: #16372f; }
.pricing-note { color: var(--md-muted); }
.pricing-note a { color: var(--md-primary); }
.cta-section { background: #193c36 !important; }
.btn-cta { background: #b7d8ca; color: #173b32; border-radius: 8px; }
.btn-cta:hover { background: white; }
.cta-section .arrival-button.arrival-secondary { color: white; border-color: rgba(255,255,255,.45); }
footer { background: white; border-color: var(--md-border) !important; }
.faq-section { max-width: 900px; margin: 0 auto; padding: 76px 20px; }
.faq-section details { border-top: 1px solid var(--md-border); padding: 18px 0; }
.faq-section details:last-child { border-bottom: 1px solid var(--md-border); }
.faq-section summary { cursor: pointer; font-weight: 700; color: var(--md-ink); min-height: 32px; }
.faq-section details p { color: var(--md-muted); line-height: 1.7; max-width: 720px; margin: 10px 0 0; }
.workflow-section { max-width: 1180px; margin: 0 auto; padding: 82px 20px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: center; }
.workflow-intro .section-sub { margin-bottom: 0; }
.workflow-panel, .ops-sample, .sample-recommendation, .incident-sample, .migration-flow { background: white; border: 1px solid var(--md-border); border-radius: 12px; box-shadow: var(--md-shadow-soft); }
.workflow-panel { padding: 20px; }
.workflow-panel-head, .ops-sample-head { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--md-border); padding-bottom:12px; color:#53675f; font:700 12px/1.35 var(--md-font); letter-spacing:.055em; }
.workflow-tag { color: var(--md-primary); letter-spacing:.02em; }
.workflow-dog { display:flex; align-items:center; gap:12px; padding:20px 0 16px; }
.workflow-initials { width:44px; height:44px; display:grid; place-items:center; border-radius:10px; color:var(--md-primary); background:var(--md-primary-soft); font-weight:800; }
.workflow-dog strong, .workflow-dog small { display:block; }
.workflow-dog strong { color:var(--md-ink); font:750 18px var(--md-display); }
.workflow-dog small { color:#53675f; margin-top:4px; font-size:13px; line-height:1.4; }
.workflow-status { margin-left:auto; padding:6px 9px; border-radius:5px; color:var(--md-success); background:var(--md-success-soft); font:700 12px/1.2 var(--md-font); letter-spacing:.04em; }
.workflow-checks { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.workflow-checks span { min-width:0; padding:12px; border:1px solid var(--md-border); border-radius:7px; color:#53675f; font-size:13px; line-height:1.4; }
.workflow-checks b { display:block; color:var(--md-ink); font-size:12px; margin-bottom:4px; }
.workflow-actions { display:flex; gap:7px; flex-wrap:wrap; border-top:1px solid var(--md-border); padding-top:14px; margin-top:15px; }
.workflow-actions span { padding:8px 11px; border:1px solid var(--md-border); border-radius:6px; color:var(--md-primary); font-size:12px; font-weight:700; }
.workflow-split { max-width:1180px; margin:0 auto; padding:28px 20px 90px; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.workflow-split article > p:not(.section-eyebrow):not(.fine-note) { max-width:480px; color:var(--md-muted); line-height:1.7; }
.sample-recommendation { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; margin-top:24px; }
.sample-recommendation strong, .sample-recommendation small { display:block; color:var(--md-ink); margin-top:5px; }
.sample-recommendation small { color:#53675f; font-size:13px; }
.recommendation-note { background:var(--md-warning-soft); color:#765014; border-radius:6px; padding:8px 10px; text-align:center; font-size:12px; line-height:1.3; font-weight:700; }
.fine-note { color:#5d7068; font-size:12px; margin-top:10px; }
.incident-sample { display:grid; gap:7px; padding:17px; margin-top:24px; }
.incident-sample strong { color:var(--md-ink); font-size:14px; }
.incident-sample span { color:#53675f; font-size:13px; line-height:1.45; }
.incident-sample .incident-label { color:var(--md-danger); font-weight:800; font-size:12px; letter-spacing:.06em; }
.operations-story, .migration-section { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:86px max(20px, calc((100% - 1160px)/2)); }
.operations-story { background:#edf2ef; }
.operations-story .section-sub { margin-bottom:18px; }
.text-link { color:var(--md-primary); font-weight:750; text-underline-offset:4px; }
.ops-sample { padding:20px; }
.ops-sample-head { font-size:12px; }
.ops-sample-head span:last-child { color:var(--md-warning); }
.ops-sample-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:18px 0; }
.ops-sample-grid div { min-width:0; display:grid; gap:6px; padding:12px; border:1px solid var(--md-border); border-radius:8px; }
.ops-sample-grid small { color:var(--md-primary); font-size:12px; font-weight:800; letter-spacing:.05em; }
.ops-sample-grid strong { color:var(--md-ink); font:750 17px/1.3 var(--md-display); }
.ops-sample-grid span, .ops-sample > p { color:#53675f; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.ops-sample > p { border-top:1px solid var(--md-border); padding-top:12px; margin:0; }
.migration-section { max-width:none; background:white; }
.migration-copy .section-sub { margin-bottom:24px; }
.migration-flow { padding:18px; box-shadow:none; }
.migration-flow > div { display:grid; gap:4px; padding:12px 14px; background:#f5f8f6; border:1px solid var(--md-border); border-radius:8px; }
.migration-flow > div span { color:var(--md-primary); font:800 12px/1.35 var(--md-font); letter-spacing:.06em; }
.migration-flow > div small { color:#53675f; font-size:13px; line-height:1.45; }
.migration-flow > i { display:block; text-align:center; color:var(--md-subtle); font-style:normal; padding:6px; }
.capabilities { max-width:1180px; margin:0 auto; padding:88px 20px; }
.capability-list { border-top:1px solid var(--md-border); margin-top:30px; }
.capability-list > div { display:grid; grid-template-columns:54px 1fr 1.4fr; align-items:center; gap:18px; padding:19px 6px; border-bottom:1px solid var(--md-border); }
.capability-list > div > span { color:var(--md-primary); font:700 11px var(--md-font); }
.capability-list strong { color:var(--md-ink); font:750 16px var(--md-display); }
.capability-list small { color:var(--md-muted); font-size:12px; }

/* A pause for the people on the floor, followed by a full-size product view */
.team-in-motion { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:clamp(32px,8vw,110px); padding:88px max(22px,calc((100% - 1120px)/2)); background:#173e39; color:#f4f4e9; }
.team-motion-heading .section-eyebrow { color:#cfaa61; }
.team-motion-heading h2 { max-width:620px; margin:16px 0 0; color:#f4f4e9; font:800 clamp(38px,5.3vw,68px)/1.02 var(--md-display); letter-spacing:-.065em; }
.team-motion-copy > p { max-width:440px; margin:0; color:#d3ded5 !important; font-size:clamp(15px,1.4vw,18px); line-height:1.75; }
.motion-words { display:flex; align-items:center; gap:12px; margin-top:32px; color:#f4f4e9; font:700 10px var(--md-font); letter-spacing:.12em; text-transform:uppercase; }
.motion-words i { width:34px; height:1px; background:#b88d44; }
.floor-showcase { max-width:1280px; margin:0 auto; padding:96px clamp(20px,4vw,54px) 90px; }
.floor-showcase-intro { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:28px; }
.floor-showcase-intro h2 { margin:10px 0 0; color:var(--md-ink); font:800 clamp(38px,5vw,62px)/1.02 var(--md-display); letter-spacing:-.065em; }
.floor-showcase-intro > p { max-width:390px; margin:0 0 3px; color:var(--md-muted); font-size:15px; line-height:1.7; }
.floor-showcase-window { overflow:hidden; border:1px solid #d5e1d9; border-radius:18px; background:#fff; box-shadow:0 24px 70px rgba(24,57,45,.13); }
.floor-window-chrome { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:58px; padding:10px 22px; background:#183e38; color:#f5f5ea; }
.floor-window-brand { display:flex; align-items:center; gap:10px; color:#f5f5ea; font:700 14px/1.25 var(--md-display); }
.floor-window-brand em { color:#d9b66d; font-style:normal; }
.floor-window-mark { display:grid; width:32px; height:32px; place-items:center; border-radius:8px; background:#d9ed89; color:#173e39; font:800 12px var(--md-font); }
.floor-window-live { display:flex; align-items:center; gap:7px; color:#e0ebe5; font:700 12px/1.3 var(--md-font); letter-spacing:.07em; }
.floor-window-live i { width:7px; height:7px; border-radius:50%; background:#a9c983; }
.floor-window-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:24px 25px 16px; }
.floor-window-heading > div:first-child { display:grid; gap:4px; }
.floor-window-heading span { color:#53675f; font:700 12px/1.35 var(--md-font); letter-spacing:.07em; }
.floor-window-heading strong { color:#203a34; font:750 19px var(--md-display); letter-spacing:-.04em; }
.floor-window-stamp { padding:7px 10px; border:1px solid #dce5e1; border-radius:7px; color:#53675f; font-size:12px; line-height:1.3; }
.floor-sample-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:0 25px 20px; }
.floor-sample-metrics > div { display:grid; gap:7px; padding:13px 15px; border:1px solid #e1e9e3; border-radius:10px; background:#fbfcfa; }
.floor-sample-metrics small { color:#53675f; font-size:13px; }
.floor-sample-metrics strong { color:#1b5345; font:800 27px/1.1 var(--md-display); letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.floor-showcase-content { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(230px,.75fr); gap:13px; padding:0 25px 25px; }
.floor-status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.floor-status-lane { min-width:0; padding:13px; border:1px solid #e0e8e2; border-radius:11px; background:#fff; }
.floor-status-lane > div { display:grid; grid-template-columns:9px 1fr auto; align-items:center; gap:7px; padding-bottom:10px; border-bottom:1px solid #edf0eb; }
.floor-status-lane > div strong { color:#263f37; font-size:13px; }
.floor-status-lane > div small { color:#596d64; font-size:12px; }
.floor-lane-dot { width:7px; height:7px; border-radius:50%; background:#b99756; }
.floor-lane-dot.playing { background:#67a17c; }
.floor-lane-dot.resting { background:#7c9fa3; }
.floor-lane-dot.pickup { background:#c17a60; }
.floor-status-lane section { display:flex; justify-content:space-between; gap:8px; padding-top:9px; }
.floor-status-lane section b { color:#344941; font-size:13px; }
.floor-status-lane section small { max-width:62%; color:#53675f; font-size:12px; line-height:1.4; text-align:right; overflow-wrap:anywhere; }
.floor-sample-attention { display:flex; flex-direction:column; gap:12px; padding:15px; border:1px solid #e0e8e2; border-radius:11px; background:#f6f8f4; }
.floor-attention-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:11px; border-bottom:1px solid #e2e9e3; }
.floor-attention-head strong { color:#2a4038; font-size:13px; }
.floor-attention-head span { color:#765014; font:700 12px var(--md-font); letter-spacing:.05em; text-transform:uppercase; }
.floor-sample-attention > div:not(.floor-attention-head):not(.floor-care-actions) { display:flex; align-items:flex-start; gap:9px; }
.floor-sample-attention p { display:grid; gap:4px; margin:0; }
.floor-sample-attention p b { color:#394c43; font-size:13px; }
.floor-sample-attention p small { color:#53675f; font-size:12px; line-height:1.45; }
.attention-dot { width:7px; height:7px; flex:none; margin-top:3px; border-radius:50%; background:#c48a37; }
.attention-dot.task { background:#659677; }
.floor-care-actions { display:flex; flex-wrap:wrap; gap:5px; margin-top:auto; padding-top:7px; border-top:1px solid #e2e9e3; }
.floor-care-actions span { padding:6px 8px; border:1px solid #dbe4dc; border-radius:5px; color:#315b49; font-size:12px; font-weight:700; }
.floor-showcase-caption { margin:12px 2px 0; color:#586b63; font-size:13px; line-height:1.45; }

/* Floor: tablet-first, high-contrast work surface */
.floor-shell { color: var(--md-ink) !important; background: var(--md-background) !important; }
.topbar, .panel, .dog-card, .group-card, .dialog, .login-card { background: var(--md-surface) !important; border-color: var(--md-border) !important; box-shadow: var(--md-shadow-soft); }
.side-nav { background: #edf2ef !important; border-color: var(--md-border) !important; }
.brand, .page-head h1, .section-title h2, .dog-name, .panel h2, .panel h3, .dialog h2, .login-card h1 { font-family: var(--md-display) !important; }
.brand-mark { border-radius: 9px !important; }
.nav-link.active { background: white !important; color: var(--md-primary) !important; }
.nav-link.active .nav-glyph { background: var(--md-primary) !important; }
.metric, .fact { background: white !important; border-color: var(--md-border) !important; }
.notice.info { background: var(--md-info-soft) !important; color: var(--md-info) !important; border-color: #d7e5ef !important; }
.notice.success { background: var(--md-success-soft) !important; color: var(--md-success) !important; }
.notice.alert { background: var(--md-danger-soft) !important; color: var(--md-danger) !important; }
.notice:not(.info):not(.success):not(.alert) { background: var(--md-warning-soft); color: var(--md-warning); }
.button.urgent { background: var(--md-danger-soft) !important; border-color: #efc9c3 !important; color: var(--md-danger) !important; }
.dog-actions .button { min-height: 40px !important; }
.field input, .field select, .field textarea { border-color: var(--md-border-strong) !important; }
.dogs-toolbar .field { max-width: 420px; }
.toast { border-radius: 10px !important; }

/* Admin: preserve existing modules and behaviors while replacing the dim shell */
body.readable-admin { background: var(--md-background) !important; color: var(--md-ink) !important; }
.readable-admin #loginGate { background: #eef3f0 !important; }
.readable-admin .login-box { background: white !important; color: var(--md-ink); border: 1px solid var(--md-border); border-radius: 14px; box-shadow: var(--md-shadow); }
.readable-admin .login-sub, .readable-admin .login-label, .readable-admin .login-hint, .readable-admin .login-biz-name { color: var(--md-muted) !important; }
.readable-admin .login-input { background: #fff !important; color: var(--md-ink) !important; border-color: var(--md-border-strong) !important; }
.readable-admin .sidebar { background: #fff !important; border-color: var(--md-border) !important; box-shadow: 2px 0 12px rgba(30,57,49,.035); }
.readable-admin .sidebar-brand { border-color: var(--md-border) !important; }
.readable-admin .sidebar-brand .brand-name, .readable-admin .sidebar-brand .brand-name span { color: var(--md-primary) !important; }
.readable-admin .sidebar-brand .brand-tag, .readable-admin .nav-section, .readable-admin .sidebar-footer { color: var(--md-subtle) !important; }
.readable-admin .nav-item, .readable-admin .nav-group-header { color: #53645f !important; }
.readable-admin .nav-item:hover, .readable-admin .nav-group-header:hover { background: var(--md-primary-soft) !important; color: var(--md-primary) !important; }
.readable-admin .nav-item.active { color: var(--md-primary) !important; background: var(--md-primary-soft) !important; border-left-color: var(--md-primary) !important; }
.readable-admin .main { background: var(--md-background) !important; }
.readable-admin .topbar { background: rgba(255,255,255,.96) !important; border-color: var(--md-border) !important; }
.readable-admin .topbar-title, .readable-admin .section-hed h2, .readable-admin .card h3 { color: var(--md-ink) !important; font-family: var(--md-display) !important; }
.readable-admin .live-clock { color: var(--md-primary) !important; }
.readable-admin .logout-btn { background: var(--md-danger-soft) !important; border-color: #efc9c3 !important; color: var(--md-danger) !important; }
.readable-admin .panel { color: var(--md-ink); }
.readable-admin .stat-card, .readable-admin .card, .readable-admin .qlink, .readable-admin .ops-stat, .readable-admin .ops-kennel, .readable-admin .ops-day, .readable-admin .ops-staff-row, .readable-admin .room-board-name, .readable-admin .room-board-cell, .readable-admin .room-unassigned-item, .readable-admin .ann-item, .readable-admin .rc-card {
  color: var(--md-ink) !important; background: white !important; border-color: var(--md-border) !important; box-shadow: none;
}
.readable-admin .sc-label, .readable-admin .sc-sub, .readable-admin .section-hed p, .readable-admin .ops-muted, .readable-admin .ops-kennel-meta,
.readable-admin .setting-label span, .readable-admin .ann-meta, .readable-admin .ann-text, .readable-admin .ops-booking small { color: var(--md-muted) !important; }
.readable-admin .stat-card .sc-val, .readable-admin .ops-stat strong { color: var(--md-primary) !important; font-family: var(--md-display) !important; }
.readable-admin .ops-toolbar input, .readable-admin .ops-form input, .readable-admin .ops-form select, .readable-admin .ops-form textarea,
.readable-admin .ann-input, .readable-admin .ann-type, .readable-admin .setting-input, .readable-admin .notes-area, .readable-admin .ops-assign select,
.readable-admin .room-booking-chip select, .readable-admin .room-unassigned-item select, .readable-admin .rc-input, .readable-admin .bill-input {
  background: #fff !important; color: var(--md-ink) !important; border-color: var(--md-border-strong) !important;
}
.readable-admin .ops-form select option, .readable-admin .ann-type option, .readable-admin .ops-assign select option { background: white; color: var(--md-ink); }
.readable-admin .ops-btn, .readable-admin .setting-btn, .readable-admin .add-btn, .readable-admin .save-btn, .readable-admin .quick-ci-btn { background: var(--md-primary); color: white; }
.readable-admin .ops-btn.secondary { background: #f1f5f3; color: var(--md-ink); border-color: var(--md-border-strong); }
.readable-admin .ops-btn.danger { background: var(--md-danger-soft); color: var(--md-danger); border-color: #efc9c3; }
.readable-admin .ref-table th, .readable-admin .cap-table th, .readable-admin .room-board-head > div { color: var(--md-muted) !important; }
.readable-admin .ref-table td, .readable-admin .cap-table td { color: var(--md-ink) !important; border-color: var(--md-border) !important; }
.readable-admin .cap-table td, .readable-admin .ops-count, .readable-admin .ops-day-title { color: var(--md-primary) !important; }
.readable-admin .ops-shift, .readable-admin .room-booking-chip { background: var(--md-primary-soft) !important; color: var(--md-ink) !important; border-color: #a9cbbc !important; }
.readable-admin .ops-shift small, .readable-admin .room-booking-chip small { color: var(--md-muted) !important; }
.readable-admin .ann-item { border-left-color: var(--md-primary) !important; }
.readable-admin .pill-teal, .readable-admin .pill-green { background: var(--md-success-soft); color: var(--md-success); }
.readable-admin .pill-amber { background: var(--md-warning-soft); color: var(--md-warning); }
.readable-admin .pill-coral { background: var(--md-danger-soft); color: var(--md-danger); }
.readable-admin .s-tab { filter: saturate(.42); }

/* Supporting workflows / document pages */
.readable-light, .readable-dark { --read-bg: var(--md-background); --read-surface: var(--md-surface); --read-text: var(--md-ink); --read-muted: var(--md-muted); --read-border: var(--md-border); }
.readable-light { background: var(--md-background) !important; color: var(--md-ink) !important; }
.readable-dark { background: var(--md-background) !important; color: var(--md-ink) !important; }
.readable-light nav, .readable-dark > header, .readable-light .progress-bar { background: white !important; border-color: var(--md-border) !important; }
.readable-light .nav-logo, .readable-dark .brand, .readable-dark .brand-name, .readable-dark .logo { color: var(--md-ink) !important; }
.readable-light .page-left { background: #193c36 !important; }
.readable-light .page-right, .readable-light .main, .readable-light .panel, .readable-light .success-panel,
.readable-dark .card, .readable-dark .login-card, .readable-dark .returning-card, .readable-dark .form-card,
.readable-dark .ob-success, .readable-dark .ob-conf-box, .readable-dark .ob-cta-card, .readable-dark .bill-box,
.readable-dark .rc-form-box, .readable-dark .qci-box { background: var(--md-surface) !important; color: var(--md-ink) !important; border-color: var(--md-border) !important; box-shadow: var(--md-shadow-soft); }
.readable-light h1, .readable-light h2, .readable-light h3, .readable-dark h1, .readable-dark h2, .readable-dark h3,
.readable-light .panel-title, .readable-dark .card h2, .readable-dark .card h3 { color: var(--md-ink) !important; font-family: var(--md-display) !important; }
.readable-light .page-left h2 { color: white !important; }
.readable-light p, .readable-dark p, .readable-dark .sub, .readable-dark .hint, .readable-dark .muted,
.readable-light .hint, .readable-light .sub { color: var(--md-muted) !important; }
.readable-light .page-left p, .readable-light .page-left .perk p { color: rgba(255,255,255,.76) !important; }
.readable-light .field input, .readable-light .field select, .readable-light input, .readable-light select, .readable-light textarea,
.readable-dark input, .readable-dark select, .readable-dark textarea, .readable-dark .field input, .readable-dark .field select,
.readable-dark .field textarea, .readable-dark .rc-input, .readable-dark .qci-search {
  color: var(--md-ink) !important; background: #fff !important; border-color: var(--md-border-strong) !important;
}
.readable-dark input::placeholder, .readable-light input::placeholder { color: #82908d; }
.readable-dark button:not(.tab-btn):not(.s-tab):not(.rc-act-chip):not(.rc-star), .readable-light button { font-family: inherit; }
.readable-dark .button, .readable-dark .btn, .readable-dark .cta-btn, .readable-dark .btn-next, .readable-light .submit-btn,
.readable-light .btn-next, .readable-light .alink-primary, .readable-dark .btn-primary, .readable-dark .omw-btn {
  background: var(--md-primary) !important; color: white !important; border-color: var(--md-primary) !important;
}
.readable-dark .button:hover, .readable-dark .btn:hover, .readable-light .submit-btn:hover { background: var(--md-primary-hover) !important; }
.readable-dark a, .readable-light a { text-underline-offset: 3px; }
.readable-dark .notice, .readable-light .notice { background: var(--md-info-soft); color: var(--md-info); border-color: #d5e3ed; }
.readable-dark .notice strong, .readable-light .notice strong { color: inherit; }
.readable-dark .status-badge, .readable-dark .badge { color: var(--md-primary); }
.readable-dark .top, .readable-dark .booking-footer { border-color: var(--md-border); }
.readable-dark .biz-banner { background: #193c36 !important; }
.readable-dark .biz-banner span { color: white; }
.readable-dark .site-header { padding-top: 32px; }
.readable-dark .biz-name { color: var(--md-ink) !important; }
.readable-dark .biz-tagline { color: var(--md-primary) !important; }
.readable-dark .tab-btn { background: white; border-color: var(--md-border); color: var(--md-muted); }
.readable-dark .tab-btn.active { background: var(--md-primary) !important; color: white !important; border-color: var(--md-primary); }
.readable-dark .step-nav, .readable-dark .step-panel, .readable-dark .review-row, .readable-dark .visit-row, .readable-dark .row,
.readable-dark .dog, .readable-dark .report, .readable-dark .doc, .readable-dark .booking-result-card, .readable-dark .status-card {
  border-color: var(--md-border) !important; background: white !important; color: var(--md-ink) !important;
}
.readable-dark .eyebrow { color: var(--md-primary) !important; }
.readable-dark .error { color: var(--md-danger); }
.readable-dark .toast { background: #193c36; color: white; box-shadow: var(--md-shadow); }
.readable-dark .stars, .readable-dark .rc-star { color: var(--md-accent); }
.readable-dark .rc-form-title, .readable-dark .qci-title { color: var(--md-primary) !important; }
.readable-dark .rc-field-label, .readable-dark .field label { color: var(--md-muted) !important; }
.readable-dark .card-list > *, .readable-dark .visit-row, .readable-dark .row { border-bottom-color: var(--md-border) !important; }
.readable-dark .shell { max-width: 1180px; }
.readable-dark main:not(.shell) { width: min(100% - 36px, 840px); margin: 44px auto; }
.readable-dark.readable-demo main, .readable-dark.readable-tour main { max-width: 1100px; }
.readable-dark.readable-demo .grid, .readable-dark.readable-tour .steps { gap: 16px; }
.readable-dark.readable-demo .card, .readable-dark.readable-tour .step { border-radius: var(--md-radius); }
.readable-dark.readable-demo .brand, .readable-dark.readable-tour .brand { font-family: var(--md-display); font-weight: 800; }
.readable-dark.readable-manual .sidebar { background: #fff !important; color: var(--md-ink) !important; border-color: var(--md-border) !important; }
.readable-dark.readable-manual .sidebar a, .readable-dark.readable-manual .sidebar .toc-link { color: var(--md-muted) !important; }
.readable-dark.readable-manual .content, .readable-dark.readable-manual .section, .readable-dark.readable-manual .cover,
.readable-dark.readable-manual .card, .readable-dark.readable-manual .step-block { background: white !important; color: var(--md-ink) !important; border-color: var(--md-border) !important; }
.readable-dark.readable-manual .cover { background: #193c36 !important; color: white !important; }
.readable-dark.readable-manual .cover::before { content: "" !important; }
.readable-dark.readable-manual .cover h1, .readable-dark.readable-manual .cover p, .readable-dark.readable-manual .cover .val { color: white !important; }
.readable-dark.readable-manual .section-desc, .readable-dark.readable-manual .step-body, .readable-dark.readable-manual .step-detail { color: var(--md-muted) !important; }
.readable-dark.readable-portal .shell { padding: 24px 0 60px; }
.readable-dark.readable-portal .top { background: white; padding: 16px; border: 1px solid var(--md-border); border-radius: 12px; }
.readable-dark.readable-portal .brand-mark { background: var(--md-primary) !important; }
.readable-dark.readable-payment main { max-width: 620px; background: white; border: 1px solid var(--md-border); border-radius: 16px; padding: clamp(22px,5vw,40px); box-shadow: var(--md-shadow); }
.readable-dark.readable-payment .amount { color: var(--md-primary); }
.readable-dark.readable-payment .bill-receipt, .readable-dark.readable-payment .details { background: #f4f7f5; border-color: var(--md-border); }
.readable-dark.readable-book .site-header, .readable-dark.readable-book .tab-row, .readable-dark.readable-book .step-panel { max-width: 850px; }
.readable-dark.readable-book .form-card { padding: clamp(18px,4vw,30px); border-radius: 14px; }

.legal-page, body:has(> header + main) { background: var(--md-background); }
body:has(> header + main) > header, body:has(> header + main) > footer { background: white; border-color: var(--md-border); }
body:has(> header + main) > header .logo { color: var(--md-ink); font-family: var(--md-display); font-weight: 800; }
body:has(> header + main) > main { background: white; border: 1px solid var(--md-border); border-radius: 14px; box-shadow: var(--md-shadow-soft); }
body:has(> header + main) h1, body:has(> header + main) h2 { font-family: var(--md-display); letter-spacing: -.04em; color: var(--md-ink); }
body:has(> header + main) .eyebrow { color: var(--md-primary); }

@media (max-width: 760px) {
  .dogdesk-arrival .arrival-nav { display:flex; flex-wrap:wrap; justify-content:space-between; padding:10px 16px; }
  .arrival-menu-toggle { display:inline-flex; align-items:center; }
  .dogdesk-arrival .arrival-links { display:none; order:3; width:100%; flex-direction:column; align-items:stretch; gap:0; margin:4px 0 0; padding:7px 0 2px; border-top:1px solid var(--md-border); }
  .dogdesk-arrival .arrival-links.is-open { display:flex; }
  .dogdesk-arrival .arrival-links li { width:100%; }
  .dogdesk-arrival .arrival-links a { display:flex; padding:12px 8px; }
  .dogdesk-arrival .arrival-mobile-cta { display:inline-flex; align-items:center; }
  .workflow-section, .workflow-split, .operations-story, .migration-section { grid-template-columns:1fr; gap:28px; padding:55px 20px; }
  .workflow-split { padding-top:15px; }
  .team-in-motion { grid-template-columns:1fr; gap:24px; padding:58px 22px; }
  .team-motion-heading h2 { font-size:clamp(40px,10vw,58px); }
  .floor-showcase { padding:60px 16px; }
  .floor-showcase-intro { display:grid; gap:18px; }
  .floor-showcase-intro > p { max-width:540px; }
  .floor-window-chrome, .floor-window-heading { padding-right:15px; padding-left:15px; }
  .floor-window-chrome { flex-wrap:wrap; }
  .floor-window-live { font-size:12px; letter-spacing:.05em; }
  .floor-sample-metrics { padding-right:15px; padding-left:15px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .floor-showcase-content { grid-template-columns:1fr; padding-right:15px; padding-left:15px; }
  .floor-shell .side-nav { min-height:0; }
  .ops-sample-grid { grid-template-columns:1fr; }
  .capability-list > div { grid-template-columns:35px 1fr; gap:8px; }
  .capability-list small { grid-column:2; }
  .arrival-hero { padding: 62px 18px 42px !important; }
  .arrival-hero h1 { font-size: clamp(2.5rem, 13vw, 4rem) !important; }
  .product-board { padding: 12px; }
  .product-lanes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-lane { min-height: 105px; }
  .product-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-metric { padding: 9px 10px; border-bottom:1px solid var(--md-border); }
  .product-metric:nth-child(2) { border-right:0; }
  .product-metric:nth-child(n+3) { border-bottom:0; }
  .product-metric b { font-size: 22px; }
  .product-metric span { font-size: 12px; }
  .product-window-top { padding: 10px 12px; }
  .features-grid, .proof-grid { grid-template-columns: 1fr !important; }
  .demo-section { grid-template-columns: 1fr !important; }
  .faq-section { padding: 54px 20px; }
  .readable-light .page { grid-template-columns: 1fr !important; }
  .readable-light .page-left { padding: 30px 22px !important; }
  .readable-light .page-left h2 { font-size: 1.65rem !important; }
  .readable-light .page-right { padding: 34px 20px !important; }
  .readable-light .form-row { grid-template-columns: 1fr !important; }
  .readable-light nav { padding: 12px 18px !important; }
  .readable-dark .shell { padding: 15px !important; }
  .readable-dark .grid { grid-template-columns: 1fr !important; }
  .readable-dark .bill-line { grid-template-columns: 1fr 1fr; }
  .readable-dark .main { margin-left: 0 !important; }
  .readable-dark.readable-manual .sidebar { display: none; }
  .readable-dark.readable-manual .content { margin-left: 0 !important; width: 100% !important; }
  .readable-dark.readable-manual .cover { padding: 32px 22px !important; }
  .readable-dark.readable-payment main { margin: 20px auto !important; }
  .readable-dark.readable-book .site-header { padding-left: 16px; padding-right: 16px; }
  .readable-dark .form-row, .readable-dark .field-group, .readable-dark .review-grid { grid-template-columns: 1fr !important; }
  .readable-dark input, .readable-dark select, .readable-dark textarea, .readable-light input, .readable-light select { font-size: 16px !important; }
  .readable-dark .btn, .readable-dark button, .readable-light button { min-height: 44px; }
}
@media (max-width:480px) {
  .floor-status-grid { grid-template-columns:1fr; }
  .floor-window-chrome { min-height:52px; }
  .floor-window-live { font-size:12px; letter-spacing:.05em; }
  .floor-window-heading { align-items:flex-start; }
  .floor-window-stamp { font-size:12px; }
  .floor-sample-metrics { gap:7px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .floor-sample-metrics > div { padding:10px; }
  .floor-sample-metrics small { font-size:13px; }
  .floor-sample-metrics strong { font-size:24px; }
}
@media (min-width: 980px) {
  .dogdesk-arrival .arrival-hero {
    display:grid; grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);
    column-gap:clamp(28px,4vw,64px); align-items:center;
    min-height:min(660px,calc(100dvh - 100px));
    padding:clamp(38px,5vh,58px) clamp(34px,5vw,76px) 44px !important;
    text-align:left;
  }
  .arrival-intro { grid-column:1; grid-row:1; align-self:end; }
  .arrival-intro > p { margin-left:0; }
  .arrival-scene { grid-column:2; grid-row:1 / span 2; width:100%; max-width:none; margin:0; }
  .arrival-actions { grid-column:1; grid-row:2; align-self:start; margin:25px 0 0; }
  .arrival-buttons { justify-content:flex-start; }
  .arrival-actions p { text-align:left; }
  .arrival-hero h1 { font-size:clamp(46px,4.1vw,60px) !important; }
}
@media (min-width:761px) {
  .dogdesk-arrival .arrival-menu-toggle, .dogdesk-arrival .arrival-mobile-cta { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Floor shell: live-search, real alert access, and identity-first controls */
.floor-shell .topbar { min-height:74px; height:auto; gap:20px; padding:10px clamp(16px,3vw,38px); }
.floor-shell .brand { flex:none; white-space:nowrap; }
.floor-header-tools { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-left:auto; min-width:0; }
.floor-search-form { position:relative; display:flex; align-items:center; gap:5px; width:clamp(215px,26vw,330px); min-width:0; padding:4px; background:#f1f5ef; border:1px solid var(--line); border-radius:13px; }
.floor-search-form input { width:100%; min-width:0; height:38px; padding:0 10px; border:0; outline:0; background:transparent; color:var(--ink); font-size:13px; }
.floor-search-form input:focus-visible { outline:2px solid var(--pine); outline-offset:1px; border-radius:8px; }
.floor-search-form button { flex:none; min-height:36px; padding:0 11px; border:0; border-radius:9px; background:var(--pine); color:#fff; font-size:12px; font-weight:700; }
.floor-search-form button:hover { background:var(--pine-dark); }
.floor-search-results { position:absolute; top:calc(100% + 7px); left:0; right:0; z-index:40; overflow:hidden; padding:5px; border:1px solid var(--line); border-radius:13px; background:var(--surface); box-shadow:0 18px 38px rgba(29,61,48,.16); }
.floor-search-results[hidden] { display:none; }
.floor-search-results [role="option"] { display:flex; width:100%; min-height:48px; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--ink); text-align:left; cursor:pointer; }
.floor-search-results [aria-disabled="true"] { cursor:default; }
.floor-search-results [data-action]:hover, .floor-search-results [aria-selected="true"] { background:#edf4ea; }
.floor-search-results strong { font-size:13px; }
.floor-search-results [data-action] span { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.floor-search-empty { padding:12px; color:var(--muted); font-size:12px; line-height:1.45; }
.floor-notifications { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:46px; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--pine-dark); font-size:12px; font-weight:700; white-space:nowrap; }
.floor-notifications:hover { border-color:#99b8a4; background:#f5faf4; }
.notification-mark { display:grid; width:21px; height:21px; place-items:center; border-radius:7px; background:#f5ead1; color:#76541f; font:700 12px 'IBM Plex Mono',monospace; }
.floor-user-menu { position:relative; flex:none; }
.floor-user-trigger { display:flex; align-items:center; gap:8px; min-height:46px; max-width:170px; padding:4px 10px 4px 5px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); cursor:pointer; list-style:none; }
.floor-user-trigger::-webkit-details-marker { display:none; }
.floor-user-trigger::marker { content:""; }
.floor-user-trigger:after { content:""; width:7px; height:7px; margin:0 2px 3px 3px; border-right:1.5px solid var(--muted); border-bottom:1.5px solid var(--muted); transform:rotate(45deg); }
.floor-user-trigger:hover, .floor-user-menu[open] .floor-user-trigger { border-color:#99b8a4; }
.floor-user-mark { display:grid; width:34px; height:34px; flex:none; place-items:center; border-radius:10px; background:#e5eee2; color:var(--pine-dark); font:700 12px 'IBM Plex Mono',monospace; }
.floor-user-summary { overflow:hidden; max-width:90px; font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.floor-user-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:40; display:flex; width:min(280px,calc(100vw - 30px)); flex-direction:column; gap:7px; padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:0 18px 38px rgba(29,61,48,.16); color:var(--ink); }
.floor-user-panel strong { font:700 16px Manrope,sans-serif; overflow-wrap:anywhere; }
.floor-user-panel > span { color:var(--muted); font-size:12px; }
.floor-user-panel .floor-user-business { padding-top:8px; border-top:1px solid var(--line); color:var(--pine-dark); font-weight:700; }
.floor-user-panel .button { margin-top:5px; align-self:stretch; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.floor-shell .side-nav { display:flex; min-height:100%; flex-direction:column; overflow-y:auto; }
.admin-nav-caption { margin-top:16px; }
.floor-shell .side-nav .admin-shortcut, .floor-shell .side-nav .help-shortcut { text-decoration:none; }
.floor-shell .side-nav .side-note { margin-top:20px; }
.floor-shell .sidebar-identity { position:sticky; bottom:0; z-index:1; flex:none; background:#edf2ef; }
.sidebar-identity { display:flex; flex-direction:column; gap:4px; margin:auto 8px 0; padding:16px 13px 4px; border-top:1px solid #d8e3d8; }
.sidebar-identity .eyebrow { font-size:9px; }
.sidebar-identity strong { overflow-wrap:anywhere; color:var(--pine-dark); font:700 13px Manrope,sans-serif; }
.sidebar-identity span, .sidebar-identity small { color:#62776c; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.sidebar-identity small { margin-top:3px; }
.readable-dark .sidebar-identity { border-color:rgba(255,255,255,.09); }
.readable-dark .sidebar-identity strong { color:var(--seafoam); }
.readable-dark .sidebar-identity span, .readable-dark .sidebar-identity small { color:rgba(255,255,255,.52); }
.readable-dark .sidebar-identity .eyebrow { color:rgba(255,255,255,.32); }
.sidebar-footer .sidebar-identity { margin:0 0 14px; padding:0 0 12px; }
.sidebar-footer .sidebar-identity strong { color:var(--seafoam); }
.sidebar-footer .sidebar-identity span, .sidebar-footer .sidebar-identity small { color:rgba(255,255,255,.54); }
.sidebar-footer .sidebar-identity .eyebrow { color:rgba(255,255,255,.32); }
@media (max-width:1050px) {
  .floor-user-summary { display:none; }
  .floor-user-trigger { padding-right:8px; }
}
@media (max-width:720px) {
  .floor-shell .topbar { flex-wrap:wrap; align-items:center; gap:8px 10px; padding:8px 14px 10px; }
  .floor-shell .brand { gap:8px; font-size:17px; }
  .floor-shell .brand-mark { width:33px; height:33px; }
  .floor-header-tools { order:2; flex:1 0 100%; width:100%; gap:7px; }
  .floor-search-form { flex:1; width:auto; }
  .floor-search-form input { font-size:16px; }
  .floor-search-form button { width:44px; min-height:44px; overflow:hidden; padding:0; color:transparent; font-size:0; }
  .floor-search-form button:after { content:"↵"; color:#fff; font-size:16px; }
  .floor-notifications { min-width:44px; padding:0 9px; }
  .floor-notifications > span:last-child { display:none; }
  .floor-user-trigger { min-width:44px; justify-content:center; }
  .floor-shell .side-nav { min-height:0; height:68px; flex-direction:row; overflow-x:auto; overflow-y:hidden; }
  .floor-shell .side-nav .sidebar-identity { display:none; }
  .sidebar-footer .sidebar-identity { display:none; }
}

/* Legacy dark-theme metadata must remain readable on the shared light surfaces. */
.readable-admin .main [style*="color:rgba(255,255,255"]:not(button):not(a):not(input):not(select):not(textarea) {
  color:var(--md-muted) !important;
}
.readable-admin .main [style*="color:var(--white)"]:not(button):not(a):not(input):not(select):not(textarea),
.readable-admin .main [style*="color:#fff;"]:not(button):not(a):not(input):not(select):not(textarea),
.readable-admin .dash-shortcut, .readable-admin #capNavLabel {
  color:var(--md-ink) !important;
}
.readable-admin .main [style*="color:var(--seafoam)"]:not(button) { color:var(--md-primary) !important; }
.readable-admin .cap-nav-btn { min-width:44px; min-height:44px; color:var(--md-primary) !important; background:var(--md-primary-soft); }
.readable-admin .s-tab { background:var(--md-surface-raised) !important; color:var(--md-muted) !important; border-color:var(--md-border) !important; opacity:1; }
.readable-admin .s-tab:hover { background:var(--md-primary-soft) !important; }
.readable-admin .s-tab.active { background:var(--md-primary) !important; color:white !important; }
.readable-admin .s-tab-cnt { color:inherit; }
.readable-admin button[style*="color:rgba(255,255,255"] { color:var(--md-muted) !important; border-color:var(--md-border-strong) !important; }
.readable-book .btn-primary, .readable-book .submit-btn, .readable-book .btn-next,
.readable-book .tab-btn.active, .readable-book button[onclick="lookupBookings()"],
.readable-portal .btn-primary, .readable-portal .btn-save,
.readable-portal .btn:not(.secondary):not(.danger),
.readable-book button[type="submit"], .readable-portal button[type="submit"] {
  color:var(--md-primary-ink, #fff) !important;
}
.readable-book .biz-banner { background:var(--md-primary) !important; }
.readable-book .biz-banner span { color:var(--md-primary-ink, #fff) !important; }
.readable-book .biz-tagline, .readable-book .tagline { color:var(--md-muted) !important; }

/* Homepage dark-green surfaces: keep their foregrounds paired for clear contrast. */
body.readable-home .team-in-motion .team-motion-heading h2,
body.readable-home .how .section-title,
body.readable-home .price-card.featured .price-amount,
body.readable-home .cta-section .section-title {
  color:#f4f4e9 !important;
}
body.readable-home .team-in-motion .team-motion-heading .section-eyebrow,
body.readable-home .how .section-eyebrow,
body.readable-home .how .step-num,
body.readable-home .price-card.featured .price-plan {
  color:#d9ed89 !important;
}
body.readable-home .team-in-motion .team-motion-copy > p,
body.readable-home .team-in-motion .motion-words,
body.readable-home .how .section-sub,
body.readable-home .how .step h3,
body.readable-home .how .step p,
body.readable-home .price-card.featured > p,
body.readable-home .price-card.featured .price-period,
body.readable-home .price-card.featured .price-features li,
body.readable-home .cta-section > p {
  color:#e2ebe6 !important;
}
body.readable-home .price-card.featured .price-features li::before {
  color:#d9ed89 !important;
}

/* Dark chrome and dark-green demo links retain light lettering. */
body.readable-home .floor-window-chrome,
body.readable-home .floor-window-brand {
  color:#f4f4e9 !important;
}
body.readable-home .floor-window-brand em {
  color:#d9ed89 !important;
}
body.readable-home .floor-window-live {
  color:#e2ebe6 !important;
}
body.readable-home .floor-window-mark {
  color:#173e39 !important;
}
body.readable-home .demo-screen .demo-open-link {
  background:#193c36 !important;
  color:#f4f4e9 !important;
}
body.readable-home .demo-screen .demo-open-link:hover {
  background:#105247 !important;
  color:#fff !important;
}

/* Green primary controls use white-on-green; pale-green controls use deep ink. */
body.readable-home .dogdesk-arrival .arrival-links .arrival-nav-cta,
body.readable-home .dogdesk-arrival .arrival-mobile-cta,
body.readable-home .dogdesk-arrival .arrival-button.arrival-primary,
body.readable-home .demo-section .btn.btn-primary {
  background:#176b5c !important;
  border-color:#176b5c !important;
  color:#fff !important;
}
body.readable-home .dogdesk-arrival .arrival-links .arrival-nav-cta:hover,
body.readable-home .dogdesk-arrival .arrival-mobile-cta:hover,
body.readable-home .dogdesk-arrival .arrival-button.arrival-primary:hover,
body.readable-home .demo-section .btn.btn-primary:hover {
  background:#105247 !important;
  border-color:#105247 !important;
  color:#fff !important;
}
body.readable-home .price-card.featured .price-btn,
body.readable-home .cta-section .btn-cta {
  background:#d9ed89 !important;
  border-color:#d9ed89 !important;
  color:#173e39 !important;
}
body.readable-home .price-card.featured .price-btn:hover,
body.readable-home .cta-section .btn-cta:hover {
  background:#edf5bf !important;
  border-color:#edf5bf !important;
  color:#173e39 !important;
  opacity:1 !important;
}
body.readable-home .cta-section .arrival-button.arrival-secondary {
  background:#f4f4e9 !important;
  border-color:#f4f4e9 !important;
  color:#173e39 !important;
}
body.readable-home .cta-section .arrival-button.arrival-secondary:hover {
  background:#d9ed89 !important;
  border-color:#d9ed89 !important;
  color:#173e39 !important;
}

/* Pale green status chips and initials stay dark-on-light, including hover. */
body.readable-home .workflow-status {
  background:#e8f3ec !important;
  color:#174f38 !important;
}
body.readable-home .sample-avatar {
  background:#e6f2ee !important;
  color:#105247 !important;
}

/* Manual-only contrast corrections. Screen scoped to preserve its print rules. */
@media screen {
  body.readable-dark.readable-manual .content,
  body.readable-dark.readable-manual .section,
  body.readable-dark.readable-manual .step-block,
  body.readable-dark.readable-manual .card,
  body.readable-dark.readable-manual .toc {
    color:#203a34 !important;
  }
  body.readable-dark.readable-manual .content p,
  body.readable-dark.readable-manual .content li,
  body.readable-dark.readable-manual .content .section-desc,
  body.readable-dark.readable-manual .content .step-body,
  body.readable-dark.readable-manual .content .step-detail,
  body.readable-dark.readable-manual .content .card p {
    color:#3f554d !important;
  }
  body.readable-dark.readable-manual .content h2,
  body.readable-dark.readable-manual .content h3,
  body.readable-dark.readable-manual .content h4,
  body.readable-dark.readable-manual .section-header h2,
  body.readable-dark.readable-manual .step-title {
    color:#172b2a !important;
  }
  body.readable-dark.readable-manual .content strong,
  body.readable-dark.readable-manual .content b,
  body.readable-dark.readable-manual .content em {
    color:#203a34 !important;
  }
  body.readable-dark.readable-manual .content a,
  body.readable-dark.readable-manual .section-jump a {
    color:#14594f !important;
    text-decoration-color:#6d9a86;
    text-underline-offset:3px;
  }
  body.readable-dark.readable-manual .content a:hover,
  body.readable-dark.readable-manual .section-jump a:hover,
  body.readable-dark.readable-manual .content a:focus-visible {
    color:#0b4038 !important;
  }
  body.readable-dark.readable-manual .content code,
  body.readable-dark.readable-manual .content kbd,
  body.readable-dark.readable-manual .content pre {
    color:#173b32 !important;
    background:#edf3ef !important;
    border-color:#c7d4ce !important;
  }
  body.readable-dark.readable-manual .content ol > li::marker,
  body.readable-dark.readable-manual .content ul > li::marker {
    color:#176b5c;
    font-weight:700;
  }

  body.readable-dark.readable-manual .sidebar {
    background:#f7f9f7 !important;
    color:#203a34 !important;
    border-color:#c7d4ce !important;
  }
  body.readable-dark.readable-manual .sidebar-logo,
  body.readable-dark.readable-manual .sidebar a {
    border-color:#dce5e1 !important;
  }
  body.readable-dark.readable-manual .sidebar-logo .sub,
  body.readable-dark.readable-manual .sidebar-section {
    color:#53675f !important;
  }
  body.readable-dark.readable-manual .sidebar-logo .wordmark span {
    color:#176b5c !important;
  }
  body.readable-dark.readable-manual .sidebar a,
  body.readable-dark.readable-manual .sidebar .toc-link {
    color:#344c43 !important;
  }
  body.readable-dark.readable-manual .sidebar .snum,
  body.readable-dark.readable-manual .toc-num,
  body.readable-dark.readable-manual .section-num {
    color:#176b5c !important;
    opacity:1 !important;
  }
  body.readable-dark.readable-manual .sidebar a:hover {
    color:#0b4038 !important;
    background:#e6f2ee !important;
  }
  body.readable-dark.readable-manual .sidebar a.active {
    color:#105247 !important;
    background:#e6f2ee !important;
    border-left-color:#176b5c !important;
  }

  body.readable-dark.readable-manual .toc {
    background:#fff !important;
    border-color:#c7d4ce !important;
  }
  body.readable-dark.readable-manual .toc h2 {
    color:#344c43 !important;
  }
  body.readable-dark.readable-manual .toc-item {
    border-bottom-color:#dce5e1 !important;
  }
  body.readable-dark.readable-manual .toc-link {
    color:#14594f !important;
  }
  body.readable-dark.readable-manual .toc-link:hover,
  body.readable-dark.readable-manual .toc-link:focus-visible {
    color:#0b4038 !important;
  }
  body.readable-dark.readable-manual .section-header {
    border-bottom-color:#c7d4ce !important;
  }

  body.readable-dark.readable-manual .content .step-num {
    background:#4ecdc4 !important;
    color:#0a1624 !important;
  }
  body.readable-dark.readable-manual .content .warning {
    background:#fff0ed !important;
    border-left-color:#a33e36 !important;
    color:#7c2924 !important;
  }
  body.readable-dark.readable-manual .content .warning strong {
    color:#70231f !important;
  }
  body.readable-dark.readable-manual .content .tip {
    background:#e6f2ee !important;
    border-left-color:#176b5c !important;
    color:#174f45 !important;
  }
  body.readable-dark.readable-manual .content .info {
    background:#fff4db !important;
    border-left-color:#966316 !important;
    color:#674710 !important;
  }
  body.readable-dark.readable-manual .content .system-rules {
    background:#edf4f9 !important;
    border-color:#b9d0df !important;
    border-left-color:#315f83 !important;
    color:#263f52 !important;
  }
  body.readable-dark.readable-manual .content .system-rules h4,
  body.readable-dark.readable-manual .content .system-rules li,
  body.readable-dark.readable-manual .content .system-rules strong {
    color:#263f52 !important;
  }

  body.readable-dark.readable-manual .content .ref-table th {
    background:#e8efeb !important;
    color:#344c43 !important;
    border-color:#c7d4ce !important;
  }
  body.readable-dark.readable-manual .content .ref-table td {
    color:#263f37 !important;
    border-color:#dce5e1 !important;
  }
  body.readable-dark.readable-manual .content .ref-table tr:hover td {
    background:#f2f6f3 !important;
  }
  body.readable-dark.readable-manual .content .ui-label {
    background:#edf3ef !important;
    border-color:#bdcec4 !important;
    color:#173b32 !important;
  }
  body.readable-dark.readable-manual .content .key {
    background:#eaf1f7 !important;
    border-color:#b7cbd9 !important;
    color:#315f83 !important;
  }
  body.readable-dark.readable-manual .content .chip-teal {
    background:#e2f3ef !important;
    color:#14594f !important;
  }
  body.readable-dark.readable-manual .content .chip-gold,
  body.readable-dark.readable-manual .content .chip-amber {
    background:#fff4db !important;
    color:#765014 !important;
  }
  body.readable-dark.readable-manual .content .chip-blue {
    background:#edf4f9 !important;
    color:#315f83 !important;
  }
  body.readable-dark.readable-manual .content .chip-green {
    background:#e8f3ec !important;
    color:#246244 !important;
  }
  body.readable-dark.readable-manual .content .chip-coral {
    background:#fff0ed !important;
    color:#8e302a !important;
  }
  body.readable-dark.readable-manual .content .chip-indigo {
    background:#eef0ff !important;
    color:#404593 !important;
  }
  body.readable-dark.readable-manual .content .cheat-sheet {
    background:#edf5ef !important;
    border-color:#c7d4ce !important;
  }
  body.readable-dark.readable-manual .content .cheat-sheet h3 {
    color:#14594f !important;
  }

  /* The cover remains a dark-green panel, with bright copy and legible badges. */
  body.readable-dark.readable-manual .content .cover {
    background:#193c36 !important;
    color:#f4f4e9 !important;
  }
  body.readable-dark.readable-manual .content .cover h1,
  body.readable-dark.readable-manual .content .cover-sub,
  body.readable-dark.readable-manual .content .cover-meta-item .val,
  body.readable-dark.readable-manual .content .cover-powered,
  body.readable-dark.readable-manual .content .cover-powered strong {
    color:#f4f4e9 !important;
  }
  body.readable-dark.readable-manual .content .cover h1 span,
  body.readable-dark.readable-manual .content .cover-eyebrow {
    color:#9be9df !important;
  }
  body.readable-dark.readable-manual .content .cover-meta-item .label {
    color:#c8d9d2 !important;
  }
  body.readable-dark.readable-manual .content .cover .badge-teal {
    background:#124843 !important;
    border-color:#4ecdc4 !important;
    color:#b8f4ed !important;
  }
  body.readable-dark.readable-manual .content .cover .badge-gold {
    background:#503216 !important;
    border-color:#f4a261 !important;
    color:#ffe0bc !important;
  }
  body.readable-dark.readable-manual .content .cover .badge-green {
    background:#194326 !important;
    border-color:#6bcb77 !important;
    color:#c4f0c9 !important;
  }
  body.readable-dark.readable-manual .content > div[style*="border-top:1px solid rgba(255,255,255"] {
    color:#344c43 !important;
    border-top-color:#c7d4ce !important;
  }
  body.readable-dark.readable-manual .content > div[style*="border-top:1px solid rgba(255,255,255"] span {
    color:#176b5c !important;
  }
  body.readable-dark.readable-manual .content > div[style*="border-top:1px solid rgba(255,255,255"] [style*="color:var(--dim)"] {
    color:#53675f !important;
  }
  body.readable-dark.readable-manual .content .footer-powered {
    color:#344c43 !important;
  }
  body.readable-dark.readable-manual .content .footer-powered strong {
    color:#176b5c !important;
  }
  body.readable-dark.readable-manual .print-btn {
    background:#176b5c !important;
    border-color:#105247 !important;
    color:#fff !important;
  }
  body.readable-dark.readable-manual .print-btn:hover {
    background:#105247 !important;
    color:#fff !important;
  }
}

/* Readable weight roles for the editorial home and shared product preview. */
body.readable-home :is(.arrival-intro > p, .section-sub, .feat-card p, .proof-card p,
  .step p, .demo-workflow p, .workflow-split article > p, .incident-sample span,
  .ops-sample-grid span, .ops-sample > p, .migration-flow > div small,
  .capability-list small, .floor-showcase-intro > p, .floor-showcase-caption) {
  font-weight: var(--md-copy-weight);
}
body.readable-home :is(.arrival-links a, .section-eyebrow, .feat-card h3, .proof-card h3,
  .step h3, .workflow-panel-head, .ops-sample-head, .capability-list strong,
  .floor-window-heading > div:first-child > span, .floor-status-lane > div strong,
  .floor-attention-head strong) {
  font-weight: var(--md-label-weight);
}

/* Floor does not load readability.css; keep its weight roles in this shared sheet. */
#app :is(.page-head p, .employee-greeting p, .employee-stamp, .summary-card small,
  .attention-item p, .employee-task-meta, .pickup-row small, .employee-care-line,
  .employee-dog-chip small, .employee-handoff-ident, .handoff-confirm > p,
  .employee-group-warning, .employee-form-note, .muted, input, select, textarea) {
  font-weight: 500;
}
#app :is(.summary-label, .eyebrow, .field label, .employee-details summary, .handoff-confirm dt,
  .nav-link, .button, .employee-mode-switch, .floor-mode-switch, th) {
  font-weight: 700;
}
#app .employee-mode :is(.employee-stamp, .summary-card small, .attention-item p,
  .employee-task-meta, .pickup-row small, .employee-care-line, .employee-dog-chip small) {
  color: #425f54;
}
