/* Calm, task-first surfaces. This layer applies to existing guarded workflows. */
:root {
  --canvas:#f6f7f4; --surface:#f0f3ee; --surface-raised:#fff;
  --surface-sunken:#f4f6f2; --surface-hover:#f1f5ef;
  --ink:#202f27; --ink-soft:#47574c; --ink-muted:#617066; --ink-faint:#6b786e;
  --line:#dce3d9; --line-soft:#e9ede6; --line-strong:#bac9bb;
  --accent:#315f45; --accent-strong:#244b35; --accent-soft:#e3eee3; --accent-tint:#f0f6ef; --accent-line:#b4cbb5; --accent-ink:#fff; --focus:#315f45;
  --shell:#fdfefb; --shell-raised:#eff4ed; --shell-hover:#e6eee2; --shell-sunken:#f3f6ef;
  --shell-ink:#243b2c; --shell-ink-soft:#4c6151; --shell-ink-faint:#627367; --shell-line:#dce5d8; --shell-line-soft:#e7ece2; --shell-hex:#fdfefb;
  --font-sans:"Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --t-base:1rem; --t-sm:.875rem; --t-xs:.8125rem;
  --r-md:12px; --r-lg:16px; --r-xl:20px; --sidebar-w:238px;
  --shadow-shell:none; --shadow-sm:0 2px 6px rgb(32 60 37 / 3%);
}
body { font-family:var(--font-sans); }
h1,h2,h3 { text-wrap:balance; }
h1 { font-weight:650; }
button,input,select,textarea { font:inherit; }
button,select,summary,a { -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:wait; }
button:disabled:not([aria-busy]) { cursor:default; }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
[hidden] { display:none !important; }
.sidebar { border-right:1px solid var(--line); }
.sidebar-brand { padding:22px 20px; min-height:96px; border:0; }
.brand-copy .n { font-family:var(--font-sans); font-weight:700; font-size:18px; letter-spacing:.015em; text-transform:none; }
.brand-copy .s { font-size:9px; letter-spacing:.07em; color:var(--ink-soft); }
.sidebar-app { border:0; padding:14px 22px 18px; }
.sidebar-app-dot { display:none; }
.sidebar-app-name { text-transform:none; font-size:13px; letter-spacing:0; }
.sidebar-nav { padding:6px 12px; }
.navitem { border-radius:10px; margin-bottom:6px; padding:14px 12px; }
.navitem[aria-current="page"] { background:#e8efe2; box-shadow:none; color:var(--accent-strong); }
.navitem[aria-current="page"]::before { display:none; }
.navitem-label { font-size:15px; }
.navitem-sub { display:none; }
.sidebar-foot { border-top:1px solid var(--line-soft); margin:20px; padding:18px 0; }
.sysstatus { font-size:12px; }
.topbar { background:var(--surface-raised); border-bottom:1px solid var(--line-soft); box-shadow:none; padding-inline:32px; }
.topbar-where { font-size:14px; color:var(--ink-soft); }
.usermenu-trigger { color:var(--ink); }
.avatar.ondark { background:#e6eddf; color:var(--accent-strong); border:1px solid var(--line); }
.workspace-switch { display:flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--canvas); }
.workspace-switch button { min-height:44px; padding:10px 16px; border:0; border-radius:6px; background:transparent; color:var(--ink-soft); font:inherit; font-size:14px; font-weight:600; white-space:nowrap; cursor:pointer; }
.workspace-switch button:hover { background:var(--surface-hover); color:var(--ink); }
.workspace-switch button[aria-pressed="true"] { background:var(--accent); color:#fff; }
.workspace-switch button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(max-width:959px) {
  .topbar:has(.workspace-switch) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; padding-block:10px; }
  .topbar:has(.workspace-switch) .topbar-left { grid-column:1; grid-row:1; }
  .topbar:has(.workspace-switch) .topbar-right { display:contents; }
  .topbar:has(.workspace-switch) .usermenu { grid-column:2; grid-row:1; }
  .workspace-switch { grid-column:1 / -1; grid-row:2; }
  .workspace-switch button { flex:1; }
}
.page { max-width:1120px; padding:40px 40px 64px; }
body[data-workspace="agent"] .page { max-width:1000px; }
.pagehead { margin-bottom:28px; }
.pagehead h1 { font-size:32px; line-height:1.2; letter-spacing:-.03em; margin-top:6px; }
.pagehead .sub { font-size:16px; line-height:1.6; margin-top:8px; max-width:640px; }
.when { font-size:12px; color:var(--ink-muted); font-weight:500; text-transform:none; letter-spacing:0; }
.btn { min-height:46px; border-radius:9px; font-size:14px; font-weight:600; box-shadow:none; padding:11px 17px; }
.btn.btn-primary { min-height:48px; background:var(--accent); border-color:var(--accent); color:#fff; }
.btn.btn-primary:hover { background:var(--accent-strong); }
.btn:active { transform:translateY(1px); }
.btn-quiet { color:var(--ink-soft); }
.panel { box-shadow:none; border-radius:14px; padding:18px; }
.sec-head { padding:0 0 16px; align-items:center; }
.sec-head h2 { font-size:18px; font-weight:650; letter-spacing:-.02em; }
.sec-note { font-size:12px; text-transform:none; letter-spacing:0; }
.chip { font-size:12px; padding:5px 9px; border-radius:6px; line-height:1.3; white-space:normal; text-align:left; }
.doors { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.door { display:flex; flex-direction:column; align-items:flex-start; gap:18px; min-height:228px; padding:26px; border-radius:16px; box-shadow:none; position:relative; }
.door-icon { width:42px; height:42px; border-radius:10px; background:var(--accent-soft); color:var(--accent); }
.door-title { font-size:19px; font-weight:650; line-height:1.4; }
.door-sub { font-size:14px; margin-top:5px; color:var(--ink-soft); line-height:1.5; }
.door-state { font-size:12px; padding:5px 9px; border-radius:6px; margin-top:auto; }
.door-go { position:absolute; right:22px; top:34px; color:var(--accent); }
.door:first-child:has(.is-urgent) { border-color:#c8d5b8; background:#fbfcf7; }
.home-next { margin-top:38px; }
.upcoming-list { background:white; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.upcoming-item { display:grid; grid-template-columns:90px 1fr auto; gap:20px; align-items:center; padding:22px; border-bottom:1px solid var(--line-soft); text-decoration:none; color:var(--ink); }
.upcoming-item:last-child { border-bottom:0; }
.upcoming-item:hover { background:var(--surface-hover); }
.date-stamp { display:flex; flex-direction:column; gap:5px; padding:10px 6px; text-align:center; background:var(--surface); border-radius:9px; }
.date-stamp b { font-size:14px; } .date-stamp span { font-size:12px; }
.upcoming-copy { display:flex; flex-direction:column; gap:6px; min-width:0; }
.upcoming-copy b { font-size:16px; font-weight:650; }.upcoming-copy span { font-size:13px; color:var(--ink-soft); }
.upcoming-copy .signup-state { color:var(--accent); font-size:12px; }
.text-link { color:var(--accent); font-size:13px; font-weight:600; }
.simple-empty { padding:30px; border:1px dashed var(--line-strong); border-radius:14px; background:#fafbf8; }
.simple-empty h2,.simple-empty h3 { font-size:18px; margin:0 0 8px; }
.simple-empty p { font-size:14px; color:var(--ink-soft); margin-bottom:16px; }
.home-tasks { margin-bottom:26px; }.home-tasks .tile { margin-bottom:14px; }
.lrows { gap:12px; }.lrow { padding:24px; min-height:98px; animation:none; transform:none; }
.lrow-addr { font-size:18px; }.lrow-note { margin-top:5px; font-size:14px; }
.lrow-state { border-radius:6px; font-size:13px; }.lrow-main { min-width:0; }
.setwidget { padding:26px; }.setwidget-copy { min-width:0; }
.more-details { margin:20px 0; border-top:1px solid var(--line); padding-top:10px; }
summary { cursor:pointer; min-height:44px; padding:12px 0; color:var(--ink-soft); font-size:14px; font-weight:600; }
.market-filters { display:grid; grid-template-columns:1fr minmax(220px,300px); align-items:end; gap:12px; }
.market-date label { display:block; margin-bottom:6px; font-size:14px; font-weight:600; }
.market-date label span { font-weight:400; color:var(--ink-soft); }
.market-date>div { display:flex; align-items:center; gap:8px; }
.market-date input { flex:1; min-width:0; width:100%; min-height:50px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:10px; background:white; color:var(--ink); font-size:16px; }
.market-date .btn { white-space:nowrap; }
.market-filters select { width:100%; min-height:50px; border:1px solid var(--line-strong); border-radius:10px; background:white; padding:10px 14px; color:var(--ink); }
.search-field { display:flex; align-items:center; gap:10px; background:white; border:1px solid var(--line-strong); border-radius:10px; padding:0 15px; }
.search-field svg { width:20px; height:20px; color:var(--ink-muted); flex:none; }
.search-field input { border:0; border-radius:8px; box-shadow:none; min-height:48px; width:100%; min-width:0; padding:8px 0; background:transparent; }
.search-field:focus-within { outline:2px solid var(--focus); outline-offset:2px; }.search-field input:focus { outline:0; }
.market-display { border:0; margin:8px 0 4px; padding:0; }
.market-display .toolbar { margin:0 0 12px; }.show-covered { display:flex; align-items:center; gap:8px; font-size:14px; padding:10px 0; }.show-covered input { width:20px; height:20px; accent-color:var(--accent); }
.result-count { color:var(--ink-muted); font-size:13px; margin:12px 0 18px; }
.hgrid { grid-template-columns:1fr 1fr; gap:18px; }.hcard { padding:24px; border-radius:14px; box-shadow:none; animation:none; transform:none; gap:10px; }.hcard-head { flex-direction:column-reverse; gap:12px; }.hcard-addr { font-size:19px; }.hcard-sub { font-size:14px; }.hcard-dates { display:flex; flex-direction:column; margin:8px 0; gap:8px; }.hc-date { border:0; background:transparent; padding:0; font-size:13px; }.hc-date b { display:block; margin-bottom:3px; font-weight:600; }.hcard-action { display:flex; justify-content:space-between; margin-top:auto; padding-top:18px; border-top:1px solid var(--line-soft); color:var(--accent); font-size:14px; font-weight:650; }
.claimsheet { padding:26px; }.claim-title h2 { font-size:25px; }.claim-help { background:transparent; border:0; padding:12px 0; font-size:15px; }.claim-row { padding:22px 0; grid-template-columns:120px 1fr; animation:none; transform:none; }.claim-day b { font-size:16px; }.claim-day span,.claim-day i { font-size:13px; color:var(--ink-soft); }.claim-slots { align-items:flex-start; }.slot { min-height:64px; min-width:160px; padding:12px 16px; }.slot b { font-size:16px; }.slot i { font-size:12px; }.slot.is-open { background:var(--accent-tint); border-color:var(--accent-line); }.claim-options { flex-basis:100%; }.claim-options summary { font-size:13px; }.claim-options>div { display:flex; gap:10px; flex-wrap:wrap; }.claim-mine { font-size:14px; }.signup-receipt { display:flex; flex-direction:column; gap:12px; padding:20px; border-radius:12px; color:var(--accent-strong); background:var(--accent-soft); margin-bottom:18px; }.signup-receipt a { font-size:14px; text-decoration:underline; }
body[data-workspace] .page-form { max-width:760px; }.backlink { display:inline-flex; min-height:44px; align-items:center; color:var(--ink-soft); font-size:14px; margin-bottom:16px; }.page-form .pagehead h1 { font-size:30px; }
.availability-form { background:white; border:1px solid var(--line); border-radius:16px; padding:28px; }
.availability-form fieldset { border:0; padding:0; margin:0 0 28px; min-width:0; }.availability-form legend { display:flex; gap:10px; align-items:center; margin:0 0 16px; font-weight:650; font-size:16px; }
.step-number { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--surface); color:var(--accent); font-size:12px; }
.availability-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.availability-option { text-align:left; padding:16px; border:1px solid var(--line); border-radius:10px; background:white; min-height:86px; color:var(--ink); cursor:pointer; }.availability-option b { display:block; font-weight:600; font-size:15px; }.availability-option span { display:block; font-size:12px; color:var(--ink-soft); margin-top:5px; }.availability-option[aria-pressed="true"] { background:var(--accent-tint); border:2px solid var(--accent); padding:15px; }
.day-picker { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin-top:16px; }.day-picker button { min-height:44px; border:1px solid var(--line); border-radius:8px; font-size:13px; background:white; color:var(--ink); cursor:pointer; }.day-picker button[aria-pressed="true"] { background:var(--accent); color:white; border-color:var(--accent); }
.field-help { font-size:14px; color:var(--ink-soft); margin:0 0 16px; }.availability-day { display:grid; grid-template-columns:100px minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line-soft); }.availability-day b { font-size:14px; font-weight:550; }.availability-day select,.availability-form .field select { min-height:46px; padding:10px; border:1px solid var(--line-strong); border-radius:8px; color:var(--ink); background:white; width:100%; }.availability-day select { font-size:14px; }.availability-form .field { margin:10px 0; }.availability-form textarea { width:100%; padding:12px; border:1px solid var(--line-strong); border-radius:8px; background:white; color:var(--ink); }.availability-review { background:var(--surface-sunken); padding:18px; border-radius:10px; font-size:14px; line-height:1.6; margin:24px 0; }.availability-review b { font-size:13px; }.availability-review p { margin-top:6px; color:var(--ink-soft); }.form-actions { display:flex; justify-content:space-between; gap:12px; }
.saved-state { padding:40px 28px; text-align:center; border:1px solid var(--line); border-radius:18px; background:white; }.saved-state h1 { font-size:28px; margin:20px 0 12px; }.saved-state p { color:var(--ink-soft); line-height:1.65; }.saved-summary { background:var(--surface); padding:18px; border-radius:10px; margin:24px 0; }.saved-state .btn { margin-top:24px; }.saved-check { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:var(--accent-soft); color:var(--accent); margin:auto; }.saved-check svg { width:30px; height:30px; }
.ops-tabs { display:flex; align-items:center; gap:6px; border-bottom:1px solid var(--line); margin-bottom:28px; position:relative; }.ops-tab { min-height:56px; padding:14px 16px; background:transparent; border:0; border-bottom:2px solid transparent; color:var(--ink-soft); cursor:pointer; font-size:14px; font-weight:600; }.ops-tab[aria-current="page"] { border-bottom-color:var(--accent); color:var(--accent); }.ops-tab span { background:var(--accent-soft); color:var(--accent-strong); margin-left:8px; border-radius:5px; padding:3px 7px; font-size:12px; }
.row-wide { grid-template-columns:120px minmax(0,1fr) 160px auto; gap:16px; padding:20px 0; }.row-addr { font-size:16px; }.row-meta { font-size:13px; line-height:1.6; }.row-state { font-size:13px; }.row-when { font-size:13px; }.row-when b { font-size:14px; }.req { padding:18px 0; gap:16px; }.req-meta { font-size:13px; line-height:1.6; }.req-label { font-size:16px; }.req-act { gap:8px; }.callout { font-size:14px; line-height:1.6; border-radius:10px; }.next-step { padding:24px; margin-bottom:24px; background:#edf2e6; border:1px solid #dbe5cd; border-radius:14px; }.eyebrow { font-size:12px; color:var(--accent); }.next-step h2 { font-size:20px; margin:8px 0; }.next-step p { font-size:14px; color:var(--ink-soft); }.event-summary { padding:28px; border-radius:16px; background:var(--accent-tint); border:1px solid var(--accent-line); margin-bottom:24px; }.event-time { font-size:30px; font-weight:600; letter-spacing:-.03em; }.event-summary>p { margin-bottom:10px; }.event-status { font-size:15px; color:var(--accent-strong); }.event-summary .btn { margin-top:10px; }.page-agent-event>.panel { margin-bottom:14px; }.page-agent-event .req { flex-wrap:wrap; }
body:has(.signin-page) { background:var(--canvas); }.signin-page { color:var(--ink); }.signin { border:1px solid var(--line); border-radius:18px; background:white; padding:36px; box-shadow:none; }.signin-title { color:var(--ink); }.signin-sub,.signin-note { color:var(--ink-soft); }.signin .field-label { color:var(--ink); }.signin input { background:#fff; color:var(--ink); border:1px solid var(--line-strong); }.signin .brand-copy .n { color:var(--ink); }
@media(max-width:1150px) { .row-wide { grid-template-columns:100px minmax(0,1fr) auto; }.row-state { grid-column:2; }.row-act { grid-column:3; grid-row:1 / span 2; }.page { padding:30px 24px 54px; } }
@media(max-width:959px) { .topbar { padding-inline:18px; }.tabbar { background:white; border-top:1px solid var(--line); box-shadow:0 -4px 18px rgb(32 60 37 / 4%); }.tabbar a { color:var(--ink-muted); }.tabbar a[aria-current="page"] { background:transparent; color:var(--accent); }.tabbar a[aria-current="page"]::before { background:var(--accent); }.tabbar .nav-label { font-size:11px; }.mode-link { padding:10px 6px; } }
@media(max-width:640px) {
  .page { padding:24px 18px 36px; }.pagehead { margin-bottom:24px; }.pagehead h1 { font-size:28px; }.pagehead .sub { font-size:15px; }.topbar .brand-copy .s { font-size:8px; }.topbar-brand .brand-emblem { width:29px; height:29px; }.usermenu-name { display:none; }
  .doors { grid-template-columns:1fr; gap:12px; }.door { min-height:0; padding:20px; gap:10px; display:grid; grid-template-columns:40px 1fr; align-items:start; }.door-icon { grid-column:1; grid-row:1 / span 2; }.door-copy { grid-column:2; }.door-title { font-size:17px; }.door-sub { font-size:13px; }.door-state { grid-column:2; justify-self:start; }.door-go { display:none; }
  .home-next { margin-top:30px; }.sec-head h2 { font-size:17px; }.upcoming-item { grid-template-columns:65px 1fr; padding:18px 14px; gap:14px; }.upcoming-item .text-link { grid-column:2; }.date-stamp { padding:9px 3px; }.upcoming-copy b { font-size:15px; }.simple-empty { padding:24px; }
  .lrow { padding:20px; grid-template-columns:1fr; gap:14px; }.lrow-state { justify-self:start; }.lrow-addr { font-size:17px; }.lrow-go { display:none; }.lrow-note { font-size:13px; }.setwidget { padding:20px; }.setwidget .btn { width:100%; }
  .market-filters { grid-template-columns:1fr; gap:10px; }.hgrid { grid-template-columns:1fr; gap:14px; }.hcard { padding:22px; }.hcard-head { flex-direction:column-reverse; }.claimsheet { padding:20px; }.claim-row { grid-template-columns:1fr; gap:16px; }.claim-mine { grid-column:1; }.claim-day { flex-wrap:wrap; }.claim-title h2 { font-size:22px; }.slot { min-width:130px; }.claim-options .slot { flex:1; }
  .page-form .pagehead h1 { font-size:26px; }.availability-form { padding:20px 16px; }.availability-option { padding:13px; }.availability-option[aria-pressed="true"] { padding:12px; }.availability-option span { font-size:11px; }.availability-day { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px; }.availability-day b { grid-column:1 / -1; }.availability-day select { font-size:14px; }.day-picker { gap:3px; }.day-picker button { font-size:11px; }.saved-state { padding:30px 20px; }.saved-state h1 { font-size:25px; }.saved-state .btn { width:100%; margin-top:12px; }
  .ops-tabs { flex-wrap:wrap; gap:0; }.ops-tab { flex:1; padding:12px 8px; font-size:13px; min-height:64px; }.ops-tab span { margin-left:4px; }
  .row-wide { grid-template-columns:1fr; padding:20px 0; gap:10px; }.row-when { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }.row-state,.row-act { grid-column:auto; grid-row:auto; }.row-act { justify-content:flex-start; }.row-act .btn { min-width:130px; }.req { display:flex; flex-direction:column; align-items:stretch; }.req-act { justify-content:flex-start; flex-wrap:wrap; }.panel { padding:18px; }.event-time { font-size:26px; }.detail-grid { grid-template-columns:1fr; }.signin { padding:26px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
/* Only the isolated preview adds this class. */
.preview-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:6px 20px; background:#e8edde; color:#35472f; font:12px var(--font-sans); }.preview-bar nav { display:flex; gap:6px; }.preview-bar a { padding:6px 12px; border-radius:5px; font-weight:650; }.preview-bar a[aria-current="page"] { background:white; }.is-preview .layout { height:calc(100dvh - 42px); }
@media(max-width:640px){.preview-bar { min-height:62px; padding:8px 14px; font-size:10px; }.preview-bar>span { max-width:180px; line-height:1.5; }.preview-bar nav a { min-height:36px; display:flex; align-items:center; padding:8px 12px; }.is-preview .layout { height:calc(100dvh - 62px); }}
.pagehead { padding-bottom:0; border-bottom:0; }
.home-tasks .tile-body { padding:4px 18px; }
.home-tasks .tile { box-shadow:none; }
.home-tasks .tile-head { padding:14px 18px; }
.home-tasks .tile-note { font-size:12px; }
.row-wide .row-when { text-align:left; }
.row-state .row-headline { display:block; margin-top:6px; color:var(--ink-soft); }
.row-state .chip { display:inline-flex; }
@media(max-width:640px){.home-tasks .tile-head{align-items:flex-start;flex-direction:column;gap:4px}.home-tasks .row-wide{padding:14px 0}.home-tasks .row-when{justify-content:flex-start}.home-tasks .row-act .btn{min-width:100px}.home-tasks .row-meta{line-height:1.5}.home-tasks{margin-bottom:22px}.ask-row{padding:14px 16px}.home-tasks .tile{margin-bottom:0}}
.workspace-main { min-height:0; scroll-behavior:auto; }
.page { display:block; }
.pagehead { gap:5px; }
.pagehead .when { text-transform:none; letter-spacing:0; font-size:12px; }
.pagehead h1 { margin:4px 0 0; }
.pagehead .sub { margin-top:5px; }
.row-wide .row-when { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; }
.row-wide .row-when b { margin:0; }
body:has(.layout) { overflow:hidden; }
.availability-common { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }.availability-common .field-label { font-size:13px; }.availability-common select { width:100%; }.per-day-details { border:0; margin:8px 0 0; padding:0; }
.sidebar-foot { margin:auto 20px 20px; }
.loading-skeleton { padding-top:42px; }
.skeleton-title,.skeleton-line,.skeleton-block { background:#e7ece3; border-radius:10px; margin-bottom:16px; }
.skeleton-title { height:32px; width:45%; }.skeleton-line { height:14px; width:65%; margin-bottom:32px; }.skeleton-block { height:108px; }
/* Task-first refinement: fewer decisions and compact, explicit actions. */
.tasks-title { font-size:15px; font-weight:650; margin:0 0 10px; }
.home-tasks { display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
.home-task { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 18px; background:white; border:1px solid var(--line); border-radius:12px; }
.home-task-copy { min-width:0; }.home-task h3 { font-size:15px; margin:0 0 4px; font-weight:650; }.home-task p { font-size:13px; color:var(--ink-soft); line-height:1.5; margin:0; }.home-task-actions { display:flex; gap:8px; flex-shrink:0; }
.home-tasks .ask { margin:0; border:1px solid var(--line); border-radius:12px; }.home-tasks .ask-row { padding:14px 18px; gap:16px; min-height:72px; }.ask-q { font-size:15px; }.ask-q b { display:block; font-weight:650; }.ask-q small { display:block; font-size:13px; color:var(--ink-soft); margin-top:4px; }.ask-go { font-size:13px; font-weight:650; white-space:nowrap; color:var(--accent); }
.listing-action-row { grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:20px; }.listing-action-row .lrow-main { gap:8px; }.listing-action-row .lrow-addr { text-decoration:none; }.listing-action-row .lrow-addr:hover { text-decoration:underline; }.listing-action-row .lrow-state { font-size:12px; align-self:flex-start; }.listing-action-row>.btn { white-space:nowrap; }
.availability-form fieldset { margin-bottom:20px; }.availability-form legend { margin-bottom:10px; }.availability-option { min-height:64px; padding:12px; }.availability-option[aria-pressed="true"] { padding:11px; }.availability-option span { margin-top:3px; }.availability-form .more-details { margin:8px 0; padding:0; border:0; }.availability-form .more-details summary { min-height:44px; padding:12px 0; font-size:13px; }.availability-form .repeat-details fieldset { margin:0 0 12px; }.availability-review { margin:16px 0; padding:14px; }.availability-form .availability-common { gap:12px; }.availability-review p { margin:4px 0 0; }
.next-step .btn { margin-top:14px; }[data-work-section] { scroll-margin-top:20px; }[data-work-section]:focus { outline:2px solid var(--accent); outline-offset:4px; }
@media(max-width:640px) {
  .home-task { align-items:flex-start; flex-direction:column; gap:10px; padding:14px 16px; }.home-task-actions { gap:8px; }.home-task-actions .btn { min-height:44px; font-size:13px; padding:10px 12px; }
  .home-tasks .ask-row { padding:14px 16px; }.ask-q { font-size:14px; }.ask-go { font-size:12px; white-space:normal; max-width:86px; text-align:right; }
  .doors { gap:10px; }.door { padding:16px; grid-template-columns:30px 1fr; gap:8px; }.door-icon { width:30px; height:30px; }.door-title { font-size:16px; }.door-state { font-size:12px; }.home-next { margin-top:24px; }
  .listing-action-row { padding:16px; gap:12px; }.listing-action-row .lrow-addr { font-size:16px; }.listing-action-row>.btn { font-size:13px; padding:10px 12px; }
  .page-form .backlink { margin-bottom:8px; }.page-form .pagehead { margin-bottom:18px; }.page-form .pagehead h1 { font-size:24px; }.availability-form { padding:16px; }.availability-option b { font-size:14px; }.availability-option span { font-size:11px; }
}

/* Shared polish: consistent reading sizes, panel insets and control rhythm. */
:root {
  --positive-soft:#e7f1e7; --positive-ink:#28543a; --positive-line:#c7ddc7;
  --neutral-soft:#f1f3f0; --neutral-ink:#4a584e; --neutral-line:#d9e0d7;
  --focus-ondark:var(--accent);
}
.pagehead h1,.sheet-title { text-wrap:balance; }
.pagehead .sub,.blank-d,.callout,.req-meta { text-wrap:pretty; }
.sec-head { padding:0; margin:0 0 16px; gap:8px 16px; }
.sec-head .sec-note { font-size:13px; line-height:1.5; }
.panel-intro { margin-bottom:16px; max-width:65ch; font-size:14px; line-height:1.6; }
.panel-body { display:grid; gap:12px; min-width:0; padding:0; }
.panel-body>.btn { justify-self:start; }
.panel-body>.blank-d { font-size:14px; }
.panel-body .field { margin:0; }
.field { min-width:0; }
.field input,.field select,.field textarea,.panel-body>select { width:100%; min-width:0; max-width:100%; }
.field-label { font-size:14px; font-weight:600; line-height:1.5; }
.req { grid-template-columns:minmax(0,1fr) fit-content(55%); padding:16px 0; background:transparent; gap:12px 20px; }
.req-act { min-width:0; max-width:100%; }
.req-label { font-weight:600; line-height:1.4; }
.req-meta { color:var(--ink-soft); overflow-wrap:anywhere; }
.detail-grid .req { display:grid; grid-template-columns:minmax(0,1fr); }
.detail-grid .req-act { justify-content:flex-start; }
.chip { max-width:100%; font-variant-numeric:tabular-nums; }
.row-when,.event-time,.date-stamp,.availability-review,.cal-time,.kv dd { font-variant-numeric:tabular-nums; }
.callout ul { margin:10px 0 0; padding-left:18px; list-style:disc; }
.callout li+li { margin-top:6px; }
.sheet-title { font-size:22px; line-height:1.25; font-weight:650; }
.askform { padding:24px; gap:18px; background:var(--surface-raised); border-radius:16px; box-shadow:0 16px 48px rgb(32 60 37 / 14%); }
.askform .sheet-sub { font-size:14px; line-height:1.6; margin:0; }
.askform .field { margin:0; }
.sheet-acts { padding-top:4px; gap:10px; }
.askbox { max-height:calc(100dvh - 32px); overflow-y:auto; border-radius:16px; }
body .page.signin-page { display:grid; width:100%; max-width:none; padding:40px 24px; place-items:center; }
.signin { max-width:420px; }.signin-title { font-size:28px; line-height:1.25; font-weight:650; }
.signin-note { font-size:14px; line-height:1.6; }.signin .brand-copy .s { font-size:10px; }
.leaflet-container,.leaflet-popup-content { font-family:var(--font-sans); }
.pin-addr { font-size:16px; font-weight:600; }.pin-meta { font-size:13px; line-height:1.5; }
.slackin { max-width:100%; }
.panel-body>select { min-height:48px; border:1px solid var(--line-strong); border-radius:9px; background:white; padding:10px 12px; font-size:16px; }
.btn,.availability-option,.ops-tab,.navitem { transition:background-color 120ms ease,border-color 120ms ease,color 120ms ease; }
@media(max-width:640px) {
  .pagehead h1 { font-size:28px; }.pagehead .sub { font-size:15px; }
  .sec-head { align-items:flex-start; }.sec-head .sec-note { font-size:12px; }
  .panel,.claimsheet { padding:18px; }
  .req-act { justify-content:flex-start; gap:10px; }.req-act>.chip { flex-shrink:1; }
  .availability-option span,.slot i,.ask-go,.signup-state,.tabbar .nav-label { font-size:12px; }
  .availability-form .field select,.availability-day select,input:not([type=checkbox]):not([type=radio]),textarea,select { font-size:16px; }
  .availability-form .more-details summary { font-size:14px; }
  .askform { padding:20px; }.sheet-acts { flex-wrap:nowrap; }.sheet-acts .btn { flex:1; min-width:0; white-space:normal; }
  body .page.signin-page { align-items:start; padding:32px 18px; }.signin { padding:26px; }
  .slackin { flex:1 1 160px; width:100%; }
}
@media(prefers-reduced-motion:reduce) { .btn,.availability-option,.ops-tab,.navitem { transition:none; } }

.map-panel>.map-note { margin:0 0 12px; font-size:14px; }

/* Pathway review: controls are readable targets, and pending work is one press away. */
.backlink, .linkish { min-height:44px; display:inline-flex; align-items:center; padding-block:10px; }
.claim-options > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.claim-options .slot { min-height:44px; padding:10px 14px; }
.claim-mine a, .signup-receipt a { display:inline-flex; align-items:center; min-height:44px; }
button[aria-busy="true"] { cursor:wait; opacity:.65; }
.office-followups { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.task-shortcut { display:flex; flex:1 1 240px; flex-direction:column; gap:4px; text-align:left; min-height:76px; padding:16px; border:1px solid var(--accent-line); border-radius:10px; background:var(--accent-tint); color:var(--ink); }
.task-shortcut span { font-size:14px; color:var(--ink-soft); }

.availability-form .form-actions { border-top:1px solid var(--line); padding-top:16px; }

.time-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.time-fields select { width:100%; min-height:48px; font-size:16px; }
.time-drag { margin-top:12px; }
.time-drag[open] .tl { margin-top:35px; }

.listing-date-tools { margin-top:28px; margin-bottom:24px; }
.listing-date-tools h2 { font-size:18px; }
.listing-date-tools p { color:var(--ink-soft); font-size:14px; margin:8px 0 14px; }
.date-exception { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); }

.pin { width:44px; height:44px; }
.leaflet-touch .leaflet-bar a { width:44px; height:44px; line-height:44px; }
.lrow-main .lrow-addr { display:inline-flex; align-items:center; min-height:44px; }

.field select { min-height:48px; font-size:16px; border:1px solid var(--line-strong); border-radius:9px; padding:10px 12px; background:var(--surface-raised); color:var(--ink); }

@media (max-width:600px) { .day-picker { grid-template-columns:repeat(4,1fr); gap:6px; } .day-picker button { min-height:46px; font-size:13px; } }

/* Office property register: aligned facts on a desk, labeled rows on a phone. */
.property-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.property-heading .pagehead { margin:0; }
.property-heading>.btn { flex-shrink:0; margin-top:6px; }
.property-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(170px,1fr); gap:14px; }
.property-filters .field,.listing-form .field { min-width:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.property-filters input,.listing-form input:not([type=checkbox]),.listing-form textarea { width:100%; min-height:48px; padding:12px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface-raised); color:var(--ink); font-size:16px; }
.property-filters .field-label,.listing-form .field-label { font-size:14px; line-height:1.4; }
.listing-form .field-label>span,.listing-more summary>span { color:var(--ink-muted); font-weight:400; }
.property-count { margin:18px 0 10px; font-size:13px; color:var(--ink-soft); }
.property-table { width:100%; border-collapse:separate; border-spacing:0; background:var(--surface-raised); border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:14px; table-layout:auto; }
.property-table thead { background:var(--surface); }
.property-table th,.property-table td { text-align:left; padding:16px 12px; border-bottom:1px solid var(--line-soft); vertical-align:middle; line-height:1.5; }
.property-table thead th { font-size:12px; font-weight:600; color:var(--ink-soft); }
.property-table tbody th { width:30%; font-weight:600; }
.property-table tbody tr:last-child>* { border-bottom:0; }
.property-table tbody tr:hover { background:var(--surface-hover); }
a.property-address { display:flex; align-items:center; min-height:44px; color:var(--accent-strong); font-size:15px; line-height:1.4; }
a.property-address:hover { text-decoration:underline; }
.property-locality { display:block; margin-top:2px; color:var(--ink-soft); font-weight:400; font-size:13px; }
.property-number { font-variant-numeric:tabular-nums; white-space:nowrap; }
.property-missing { font-size:12px; color:var(--ink-muted); white-space:normal; }
.property-actions .btn { font-size:13px; padding:10px; white-space:normal; }
.listing-receipt { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 18px; margin-bottom:24px; background:var(--positive-soft); border:1px solid var(--positive-line); border-radius:12px; color:var(--positive-ink); }
.listing-receipt b { font-size:15px; }.listing-receipt p { margin-top:4px; font-size:13px; line-height:1.5; }
.property-editor { max-width:850px; }
.listing-links { margin:-8px 0 20px; }
.listing-form { background:var(--surface-raised); border:1px solid var(--line); border-radius:14px; padding:28px; }
.listing-form fieldset { padding:0; border:0; min-width:0; margin:0; }
.listing-group>legend { font-size:18px; font-weight:650; line-height:1.5; padding:0; margin-bottom:16px; }
.listing-group+.listing-group { margin-top:28px; padding-top:12px; border-top:1px solid var(--line); }
.property-form-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px 14px; }
.property-form-grid>.field { grid-column:span 3; }
.property-form-grid>.property-address { grid-column:1/-1; }
.property-form-grid>.property-city { grid-column:span 3; }
.property-form-grid>.property-state { grid-column:span 1; }
.property-form-grid>.property-postal_code { grid-column:span 2; }
.property-form-grid>#liveDateField { grid-column:span 3; }
.property-dom output { display:flex; align-items:center; min-height:48px; font-size:16px; font-variant-numeric:tabular-nums; font-weight:600; }
.property-dom .field-help { font-size:12px; line-height:1.6; margin:-3px 0 0; }
.listing-status-help { font-size:13px; line-height:1.6; padding:14px; background:var(--surface-sunken); border-radius:8px; margin:18px 0 0; }
.listing-agent-help { font-size:13px; line-height:1.6; margin-top:12px; color:var(--ink-soft); }
.listing-agent-help a { color:var(--accent); text-decoration:underline; display:inline-flex; align-items:center; min-height:44px; }
.listing-more { margin-top:20px; border-top:1px solid var(--line); }
.listing-more summary { min-height:52px; display:list-item; padding:16px 0; font-size:14px; font-weight:600; cursor:pointer; }
.listing-more-body { display:grid; gap:16px; padding:8px 0 16px; }
.listing-more .field-help { font-size:13px; line-height:1.6; margin:0; }
.listing-check { display:flex; align-items:center; gap:10px; min-height:44px; font-size:14px; cursor:pointer; }
.listing-check input { width:20px; height:20px; accent-color:var(--accent); }
.listing-coordinates { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.listing-savebar { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding:16px 0; margin-top:12px; position:sticky; bottom:0; z-index:2; background:var(--surface-raised); }
.listing-form-note { font-size:12px; line-height:1.5; color:var(--ink-soft); margin:14px 0 0; text-align:right; }
.listing-draft-note { font-size:13px; margin-bottom:16px; color:var(--ink-soft); }
#listingError { margin-bottom:20px; }
#listingError .btn { display:block; margin-top:10px; }

@media (max-width:1150px) {
  .property-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .property-table,.property-table tbody { display:block; }
  .property-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; padding:20px; border-bottom:1px solid var(--line); }
  .property-table tr:last-child { border:0; }
  .property-table th,.property-table td { border:0; padding:0; width:auto!important; }
  .property-table tbody th { grid-column:1/-1; }
  .property-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:4px; font-size:12px; color:var(--ink-soft); font-weight:500; }
  .property-table .property-actions { grid-column:1/-1; }
  .property-actions .btn { margin-left:-10px; }
  .property-table .property-number { white-space:normal; }
}
@media (max-width:640px) {
  .property-heading { flex-direction:column; gap:16px; }.property-heading>.btn { margin:0; width:100%; }
  .property-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px 10px; }.property-filters>.field:first-child { grid-column:1/-1; }
  .property-table tr { padding:16px; gap:14px; }
  .listing-receipt { align-items:flex-start; flex-direction:column; gap:8px; }
  .listing-form { padding:20px 16px; }
  .property-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
  .property-form-grid>.field,.property-form-grid>#liveDateField,.property-form-grid>.property-city { grid-column:1/-1; }
  .property-form-grid>.property-state,.property-form-grid>.property-postal_code { grid-column:span 1; }
  .property-dom output { min-height:32px; }.listing-group+.listing-group { margin-top:24px; padding-top:24px; }
  .listing-form-note { text-align:left; }.listing-more summary { line-height:1.6; }
  
}

/* The shared weekly sheet keeps host names and hours together on every size. */
.home-team-link { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; margin-top:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-raised); color:var(--ink); }
.home-team-link:hover { background:var(--surface-hover); border-color:var(--line-strong); }
.home-team-link b { display:block; font-size:16px; font-weight:650; }
.home-team-link>span>span { display:block; margin-top:4px; font-size:13px; color:var(--ink-soft); }
.home-team-go { display:flex; align-items:center; gap:8px; flex-shrink:0; font-size:14px; font-weight:600; color:var(--accent); }
.home-team-go svg { width:18px; height:18px; }
.team-page { max-width:1300px!important; }
.team-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.team-heading .pagehead { margin:0; }
.team-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:22px; }
.team-week { display:flex; align-items:center; gap:16px; }.team-week>div { min-width:200px; text-align:center; }.team-week b { display:block; font-size:16px; font-weight:650; }.team-week span { display:block; font-size:13px; color:var(--ink-soft); margin-top:4px; }
.team-week-arrow { width:46px; padding:10px; flex:none; }.team-week-arrow svg { width:20px; height:20px; }
.team-reset { white-space:nowrap; }
.team-search { display:flex; flex-direction:column; gap:8px; margin:0; max-width:580px; }.team-search .field-label { font-size:14px; }.team-search input { width:100%; min-height:48px; border:1px solid var(--line-strong); border-radius:8px; padding:12px 14px; background:var(--surface-raised); color:var(--ink); font-size:16px; }
.team-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 16px; font-size:13px; color:var(--ink-soft); }.team-meta p { margin:0; }
.team-refresh { display:flex; align-items:center; gap:14px; }.team-refresh .btn { font-size:13px; padding-inline:10px; }
.team-day+.team-day { margin-top:30px; }.team-day-heading { display:flex; align-items:center; gap:12px; margin:0 0 12px; }.team-day-heading h2 { margin:0; font-size:19px; font-weight:650; letter-spacing:-.02em; }.team-today { font-size:12px; color:var(--accent-strong); background:var(--accent-soft); padding:4px 8px; border-radius:5px; }
.team-table { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--surface-raised); font-size:14px; line-height:1.5; }
.team-table th,.team-table td { padding:18px 14px; vertical-align:top; border-bottom:1px solid var(--line-soft); text-align:left; overflow-wrap:anywhere; }
.team-table thead th { background:var(--surface); color:var(--ink-soft); font-size:12px; font-weight:600; padding-block:12px; }
.team-table thead th:nth-child(1) { width:15%; }.team-table thead th:nth-child(2) { width:26%; }.team-table thead th:nth-child(3) { width:17%; }.team-table thead th:nth-child(4) { width:25%; }.team-table thead th:nth-child(5) { width:17%; }
.team-table tbody tr:last-child>* { border-bottom:0; }.team-table tbody tr:hover { background:var(--surface-hover); }
.team-time { font-variant-numeric:tabular-nums; }.team-time b { font-weight:600; }.team-ended { display:block; font-size:12px; color:var(--ink-muted); margin-top:5px; }
.team-property a { display:flex; align-items:center; min-height:44px; margin-top:-9px; color:var(--accent-strong); font-size:15px; font-weight:650; line-height:1.4; }.team-property a:hover { text-decoration:underline; }.team-property>span { display:block; font-size:12px; font-weight:400; color:var(--ink-soft); }
.team-hosts { list-style:none; margin:0; padding:0; }.team-hosts li+li { margin-top:14px; }.team-hosts li>b { display:block; font-weight:600; }.team-hosts li>span { display:block; font-size:13px; color:var(--ink-soft); margin-top:3px; }.team-hosts .team-host-note { color:var(--amber-ink,var(--ink-soft)); font-size:12px; }.team-you { font-weight:400; color:var(--ink-soft); }
.team-open-hours { font-size:12px; line-height:1.6; margin-top:12px; color:var(--ink-soft); }.team-unassigned { color:var(--ink-soft); font-size:14px; }.team-state .chip { font-size:12px; }.team-cancelled { background:var(--surface-sunken); }
#teamError { margin-bottom:22px; }
@media(max-width:1150px) {
  .team-table,.team-table tbody { display:block; }.team-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .team-table tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; padding:20px; border-bottom:1px solid var(--line); }.team-table tbody tr:last-child { border:0; }
  .team-table th,.team-table td { padding:0; border:0; }.team-table .team-time { grid-column:1; grid-row:1; }.team-table .team-state { grid-column:2; grid-row:1; justify-self:end; }
  .team-table .team-property { grid-column:1/-1; grid-row:2; }.team-property a { margin-top:-6px; }.team-property>span { font-size:13px; }
  .team-agent::before,.team-host::before { content:attr(data-label); display:block; margin-bottom:7px; font-size:12px; color:var(--ink-soft); font-weight:500; }
}
@media(max-width:640px) {
  .home-team-link { align-items:flex-start; padding:16px; gap:12px; }.home-team-link b { font-size:15px; }.home-team-go { font-size:12px; max-width:92px; flex-shrink:0; padding-top:3px; }.home-team-go svg { flex-shrink:0; }
  .team-heading { margin-bottom:18px; }
  .team-toolbar { flex-wrap:wrap; gap:2px; padding:12px 0; margin-bottom:18px; }.team-week { width:100%; justify-content:space-between; gap:10px; }.team-week>div { min-width:0; }.team-week b { font-size:15px; }.team-week span { font-size:12px; }.team-reset { margin:0 0 -8px auto; }
  .team-meta { margin:8px 0 16px; font-size:12px; gap:0 8px; }.team-refresh { gap:5px; margin-left:auto; }.team-refresh .btn { font-size:12px; padding-inline:8px; }.team-day-heading h2 { font-size:18px; }.team-table tbody tr { padding:18px 16px; gap:14px 12px; }
  .team-hosts { display:grid; gap:14px; }.team-hosts li+li { margin:0; }.team-hosts li>b { font-size:14px; }.team-open-hours { margin-top:10px; }
}

/* Ops: one overview, a short task menu, and a visible preparation path. */
.ops-page { max-width:1320px; }
.ops-page .pagehead { margin-bottom:20px; }
.ops-nav { display:flex; gap:4px; flex-wrap:wrap; padding:0 0 18px; margin:0 0 18px; border-bottom:1px solid var(--line); }
.ops-nav .ops-tab { min-height:46px; padding:11px 14px; margin:0; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--ink-soft); font-size:14px; }
.ops-nav .ops-tab:hover { background:var(--surface-hover); }
.ops-nav .ops-tab[aria-current="page"] { background:var(--accent-soft); border-color:var(--accent-line); color:var(--accent-strong); }
.ops-breadcrumb { display:flex; align-items:center; gap:8px; font-size:13px; margin:0 0 22px; color:var(--ink-soft); }
.ops-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; color:var(--accent); }
.ops-refresh { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-4px 0 22px; }
.ops-refresh p { font-size:13px; line-height:1.5; color:var(--ink-soft); margin:0; }
.ops-refresh .btn { flex-shrink:0; }
#opsRefreshError { margin-bottom:22px; }
.ops-overview-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); grid-template-areas:"today attention" "upcoming manage"; gap:32px; align-items:start; }
.ops-section-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-bottom:14px; }
.ops-section-head h2,.ops-tools-grid h2 { font-size:19px; line-height:1.4; font-weight:650; letter-spacing:-.02em; margin:0; }
.ops-section-head>span { font-size:13px; color:var(--ink-soft); }
.ops-section-head .btn { padding-inline:0; }
.ops-coming-head { margin-top:32px; }
.ops-schedule-list { border:1px solid var(--line); border-radius:12px; background:var(--surface-raised); overflow:hidden; }
.ops-schedule-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 14px; padding:20px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
.ops-schedule-row:last-child { border-bottom:0; }
.ops-schedule-row:hover { background:var(--surface-hover); }
.ops-schedule-row.is-now { background:var(--accent-tint); }
.ops-schedule-time { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; grid-column:1/-1; font-size:13px; font-variant-numeric:tabular-nums; color:var(--ink-soft); }
.ops-schedule-time strong { font-size:12px; color:var(--accent-strong); background:var(--accent-soft); border-radius:5px; padding:4px 7px; }
.ops-schedule-home { min-width:0; }
.ops-schedule-home>b { display:block; font-size:17px; font-weight:650; line-height:1.4; margin-bottom:5px; overflow-wrap:anywhere; }
.ops-schedule-home>span { display:block; font-size:13px; line-height:1.6; color:var(--ink-soft); }
.ops-schedule-home .ops-schedule-host { margin-top:8px; color:var(--ink); }
.ops-schedule-host>span { display:block; color:var(--ink-soft); }
.ops-schedule-state { max-width:135px; }
.ops-empty { margin:0; padding:20px 0; border-block:1px solid var(--line); font-size:14px; color:var(--ink-soft); line-height:1.7; }
.ops-empty a { color:var(--accent); text-decoration:underline; }
.ops-task-list { border-block:1px solid var(--line); }
.ops-task { display:flex; gap:12px; align-items:center; min-height:86px; padding:16px 0; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line); }
.ops-task:last-child { border:0; }
.ops-task:hover b { text-decoration:underline; color:var(--accent); }
.ops-task>span:first-child { flex:1; min-width:0; }
.ops-task b { font-size:15px; font-weight:650; line-height:1.4; display:block; }
.ops-task>span>span { display:block; font-size:13px; color:var(--ink-soft); line-height:1.6; margin-top:5px; }
.ops-task-count { font-size:14px; font-weight:650; background:var(--surface); padding:5px 8px; min-width:30px; border-radius:5px; text-align:center; }
.ops-task svg,.ops-tool-link svg { width:17px; height:17px; color:var(--ink-soft); flex-shrink:0; }
.ops-manage { display:grid; }
.ops-manage a { display:flex; align-items:center; min-height:48px; padding:10px 0; font-size:14px; font-weight:600; color:var(--accent); border-bottom:1px solid var(--line); }
.ops-manage a:hover { text-decoration:underline; }
.ops-earlier { margin-top:12px; }.ops-earlier summary { font-size:13px; }
.ops-tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 40px; }
.ops-tool-list { margin-top:14px; border-top:1px solid var(--line); }
.ops-tool-link { position:relative; display:block; padding:18px 28px 18px 0; border-bottom:1px solid var(--line); color:var(--ink); }
.ops-tool-link b { font-size:15px; font-weight:650; line-height:1.5; display:block; }
.ops-tool-link span { font-size:14px; line-height:1.6; color:var(--ink-soft); display:block; margin-top:5px; }
.ops-tool-link svg { position:absolute; right:0; top:23px; }
.ops-tool-link:hover b { text-decoration:underline; color:var(--accent); }
.ops-start-guide ol { margin:18px 0 0; padding-left:20px; list-style:decimal; }
.ops-start-guide li { margin-bottom:16px; padding-left:6px; font-size:14px; line-height:1.7; color:var(--ink-soft); }
.ops-start-guide b { color:var(--ink); }
.ops-event { max-width:1060px; }
.ops-event .detail-grid { display:block; }
.ops-event .detail-grid>.panel { margin-bottom:22px; padding:24px; }
.ops-workflow { display:flex; gap:8px; margin:0 0 24px; flex-wrap:wrap; }
.ops-workflow button { flex:1; min-width:120px; min-height:70px; padding:12px; text-align:left; border:1px solid var(--line-strong); background:var(--surface-raised); border-radius:9px; color:var(--ink); cursor:pointer; }
.ops-workflow button:hover { background:var(--surface-hover); border-color:var(--accent); }
.ops-workflow b { display:block; font-size:14px; line-height:1.5; font-weight:600; }
.ops-workflow span { display:block; margin-top:4px; font-size:12px; color:var(--ink-soft); }
.ops-next { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; }
.ops-next h2 { font-size:19px; margin:0 0 6px; }.ops-next p { margin:0; }.ops-next .btn { flex-shrink:0; max-width:240px; }
.ops-event [data-work-section] { scroll-margin-top:20px; }
@media(max-width:1190px) { .ops-overview-grid { grid-template-columns:1fr; grid-template-areas:"today" "attention" "upcoming" "manage"; gap:32px; }.ops-manage { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } }
@media(max-width:640px) {
  .ops-nav { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.ops-nav .ops-tab { text-align:center; justify-content:center; padding:10px 8px; font-size:13px; }
  .ops-refresh { gap:8px; }.ops-refresh p { max-width:220px; font-size:12px; }
  .ops-schedule-row { padding:18px 16px; grid-template-columns:1fr; gap:12px; }.ops-schedule-time { grid-column:auto; }.ops-schedule-state { max-width:none; }.ops-schedule-home>b { font-size:16px; }
  .ops-task { min-height:80px; }.ops-manage { grid-template-columns:1fr; gap:0; }
  .ops-tools-grid { grid-template-columns:1fr; gap:30px; }.ops-workflow { display:grid; grid-template-columns:1fr 1fr; }.ops-workflow button { min-width:0; }
  .ops-next { flex-direction:column; align-items:stretch; gap:14px; }.ops-next .btn { max-width:none; }
  .ops-event .detail-grid>.panel { padding:20px 16px; }.ops-event .req-act { flex-wrap:wrap; }
}

.account-instructions summary { min-height:46px; padding:12px 0; cursor:pointer; font-size:14px; color:var(--ink-soft); }
.account-instructions p { font-size:14px; color:var(--ink-soft); line-height:1.6; }

.ops-today { grid-area:today; }.ops-attention { grid-area:attention; }.ops-upcoming { grid-area:upcoming; }.ops-manage-panel { grid-area:manage; }
.ops-page>.panel+.panel { margin-top:18px; }

/* Keep booking inputs distinct from the save consequence and action. */
#assignHostForm .availability-common { margin-bottom: 16px; }
#assignHostForm .callout { margin: 16px 0; }

/* Official outlined wordmark, preserved at its supplied aspect ratio. */
.brand-logo { display:block; width:184px; height:auto; flex:none; max-width:100%; object-fit:contain; }
.signin-brand .brand-logo { width:240px; }
.topbar-brand .brand-logo { width:184px; }
@media (max-width:380px) { .topbar-brand .brand-logo { width:166px; } }

.listing-saved-hours { display:block; width:100%; margin-top:8px; font-size:14px; line-height:1.6; color:var(--ink-soft); }
.listing-row-actions { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:8px; }
.listing-row-actions .btn { white-space:nowrap; }
.listing-schedule-action { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 24px; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.listing-schedule-action h2 { font-size:17px; margin:0 0 6px; }
.listing-schedule-action p { font-size:14px; line-height:1.5; color:var(--ink-soft); margin:0; }
.listing-schedule-action .btn { flex-shrink:0; }
@media(max-width:560px) {
  .listing-action-row { grid-template-columns:minmax(0,1fr); }
  .listing-row-actions { justify-content:flex-start; }
  .listing-schedule-action { flex-direction:column; align-items:stretch; gap:14px; padding:18px; }
}
.listing-date-tools summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:600; }

/* Empty closeout is visibly unavailable as well as disabled. */
[data-closeout]:disabled { background:var(--surface-sunken); color:var(--ink-soft); border-color:var(--line); opacity:1; cursor:default; }

/* Exact bookings shown before accepting a host conflict. */
.conflict-bookings { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.conflict-bookings li { padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.conflict-bookings strong,.conflict-bookings span { display:block; }
.conflict-bookings span { margin-top:4px; font-size:14px; line-height:1.5; }

/* Outside hosts stay in the same booking form. */
.outside-host-fields { border:0; padding:0; margin:0 0 20px; min-width:0; }
.outside-host-fields[hidden] { display:none; }
.outside-host-fields .field { margin-bottom:16px; }
.outside-host-fields input { width:100%; min-height:48px; padding:12px; border:1px solid var(--line-strong); border-radius:9px; background:var(--surface-raised); color:var(--ink); font-size:16px; }
.team-heading { gap:16px; flex-wrap:wrap; }
#printTeam { flex-shrink:0; }
.team-print-header { display:none; }
@page team-schedule { size:letter landscape; margin:12mm; }
@media print {
  body:has(.team-page) { page:team-schedule; background:#fff !important; color:#111 !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; }
  body:has(.team-page)>:not(.layout),body:has(.team-page) .shell,body:has(.team-page) .skiplink { display:none !important; }
  body:has(.team-page) .layout,body:has(.team-page) .workspace,body:has(.team-page) #main { display:block !important; position:static !important; width:auto !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; overflow:visible !important; background:#fff !important; }
  .team-page { max-width:none !important; padding:0 !important; margin:0 !important; }
  .team-heading,.team-toolbar,.team-search,.team-refresh,.team-today,.team-page button,.team-page .simple-empty a { display:none !important; }
  .team-print-header { display:block; margin:0 0 16pt; }
  .team-print-header img { width:150pt; height:auto; margin-bottom:10pt; }
  .team-print-header .team-print-title { font-size:20pt; font-weight:700; margin:0 0 5pt; color:#111; }
  .team-print-header p { font-size:10pt; margin:3pt 0; color:#333; }
  .team-print-header p:empty { display:none; }
  .team-meta { margin:0 0 10pt; color:#333; }
  .team-day { break-inside:auto; }
  .team-day+.team-day { margin-top:18pt; }
  .team-day-heading { margin-bottom:6pt; break-after:avoid; }
  .team-day-heading h2 { font-size:12pt; color:#111; }
  .team-table { display:table !important; width:100%; border-collapse:collapse; border:1px solid #ccc; border-radius:0; overflow:visible; table-layout:fixed; font-size:9pt; }
  .team-table thead { display:table-header-group !important; position:static !important; clip-path:none !important; width:auto !important; height:auto !important; overflow:visible !important; }
  .team-table tbody { display:table-row-group !important; }
  .team-table tr,.team-table tbody tr { display:table-row !important; break-inside:avoid; padding:0; }
  .team-table th,.team-table td { display:table-cell !important; padding:8pt !important; border-bottom:1px solid #ccc !important; color:#111; font-size:9pt; }
  .team-table thead th { font-size:8pt; background:#eee; }
  .team-table .team-agent::before,.team-table .team-host::before { display:none; }
  .team-property a { display:block; min-height:0; margin:0; font-size:10pt; color:#111; text-decoration:none; }
  .team-property>span,.team-hosts li>span,.team-hosts .team-host-note,.team-open-hours,.team-unassigned,.team-state .chip { color:#333; font-size:8pt; }
  .team-hosts { display:block; }.team-hosts li+li { margin-top:8pt; }.team-hosts li>b { font-size:9pt; }
  .team-state .chip { background:none; border:1px solid #ccc; white-space:normal; }
  .team-page a::after { content:none; }
  #teamError { font-size:9pt; border:1px solid #999; }
}

/* Two literal schedule groupings, with the same controls on phone and desktop. */
.team-filters {display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;}
.team-filters .team-search {flex:1;min-width:220px;}
.team-group {display:flex;flex-direction:column;gap:8px;min-width:150px;margin:0;}
.team-group select {min-height:48px;border:1px solid var(--line-strong);border-radius:8px;padding:10px 12px;background:var(--surface-raised);color:var(--ink);font:inherit;}
.team-row-date {display:block;margin-top:5px;font-size:12px;color:var(--ink-soft);}
@media(max-width:560px){.team-filters{gap:16px;}.team-filters .team-search{min-width:100%;}.team-group{min-width:150px;}}
@media print{.team-filters{display:none!important;}.team-row-date{font-size:8pt;color:#333;}}

.agent-preview-tools {padding:16px 40px;border-bottom:1px solid var(--line);background:var(--accent-soft);display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;}
.agent-preview-tools[hidden] {display:none;}
.agent-preview-tools label {display:flex;gap:12px;align-items:center;font-weight:600;font-size:14px;}
.agent-preview-tools select {min-height:46px;max-width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:10px 12px;font:inherit;color:var(--ink);background:var(--surface-raised);}
.agent-preview-tools p {font-size:13px;line-height:1.5;margin:0;color:var(--ink-soft);}
@media(max-width:640px){.agent-preview-tools {padding:14px 18px;gap:10px;}.agent-preview-tools label{flex-direction:column;align-items:stretch;gap:6px;width:100%;}}

.delivery-body { white-space: pre-wrap; overflow-wrap: anywhere; margin: 12px 0; }
.req details { margin-top: 12px; }
.req summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }

/* Listing comparisons stay next to the list they control. */
.listing-sort { display:flex; align-items:center; gap:10px; font-size:14px; }
.listing-sort select { min-height:48px; max-width:100%; padding:10px 12px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface-raised); color:var(--ink); font:inherit; }
.market-display { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.market-display .toolbar { margin:0; }
.hcard-facts { font-size:15px; font-weight:600; line-height:1.5; }
.listing-new { align-self:flex-start; width:fit-content; }
.property-address + .listing-new { margin:6px 0 0; display:table; }
.property-filters { grid-template-columns:minmax(0,2fr) minmax(110px,.8fr) minmax(130px,1fr) minmax(265px,1.5fr); }
.map-unplaced { margin-top:24px; }.map-unplaced h2 { font-size:20px; }.map-unplaced>p { color:var(--ink-muted); margin:8px 0 16px; }
.pin-pop + .pin-pop { border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }
@media(max-width:1100px) {
  .property-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .property-filters>.field:first-child,.property-filters>.field:last-child { grid-column:1/-1; }
  .listing-sort { width:100%; }.listing-sort select { flex:1; min-width:0; }
}
