/* Shared laptop design for the six everyday workspace destinations. */
.home-desktop-title,.home-desktop-date,.job-list-columns{display:none}
.job-schedule-booking-actions{display:none}
@media(min-width:901px){
  html:not([data-theme]) :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more),
  html[data-theme="stone"] :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more){
    --sp-premium-paper:#f7f5ef;
    --sp-premium-field:#fcfbf8;
  }
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more){
    --workspace-gutter:clamp(28px,3.5vw,52px);
    --workspace-content-width:1180px;
    --workspace-charcoal:#1d201e;
  }
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more):has(.workspace-page) .main{
    padding:0;
    background:var(--sp-premium-paper);
  }
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .workspace-page{
    display:grid;
    grid-template-columns:minmax(var(--workspace-gutter),1fr) minmax(0,var(--workspace-content-width)) minmax(var(--workspace-gutter),1fr);
    align-content:start;
    width:100%;
    margin:0;
    padding:0 0 56px;
  }
  .workspace-page>:not(.workspace-header){grid-column:2;min-width:0}
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .workspace-page>.workspace-header{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    width:100%;
    min-height:72px;
    margin:0;
    padding:14px max(var(--workspace-gutter),calc((100% - var(--workspace-content-width))/2));
    border-bottom:1px solid var(--brand-gold);
    background:var(--workspace-charcoal);
    color:var(--brand-white);
  }
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .workspace-header .page-title{
    margin:0;
    color:var(--brand-white);
    font-family:var(--sp-serif);
    font-size:1.6rem;
    line-height:1.1;
    font-weight:500;
    letter-spacing:-.025em;
  }
  .route-jobs .jobs-page>.workspace-header :is(.eyebrow,.sub),
  :is(.route-diary,.route-enquiries,.route-catalogue,.route-more) .workspace-header :is(.eyebrow,.sub){display:none}
  .workspace-header .actions{flex:none;align-items:center}
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .workspace-header .btn.primary{
    min-height:44px;
    padding:10px 16px;
    border:1px solid var(--brand-white);
    border-radius:4px;
    background:var(--brand-white);
    color:var(--workspace-charcoal);
    font-size:.875rem;
    font-weight:600;
    box-shadow:none;
  }
  .workspace-header .btn.primary:hover{background:#fff;border-color:#fff;transform:none}
  .workspace-header .btn>[aria-hidden="true"]{color:#927139}
  .workspace-header button:focus-visible{outline:2px solid var(--brand-gold);outline-offset:4px}

  /* Home shares the calendar and working rows used in Diary. */
  .route-home .home-mobile-greeting{display:none}
  .route-home .home-desktop-title{display:inline}
  .route-home .home-topbar :is(.eyebrow,.sub){display:none}
  .route-home .home-desktop-date{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;font-family:var(--sp-serif);font-size:1.75rem;line-height:1.3;letter-spacing:-.025em}
  .route-home .home-desktop-banner{width:180px;max-width:30%;height:36px;object-fit:contain;object-position:right center}
  .route-home .workspace-ready{margin-top:20px}
  .route-home .week-mode{display:flex;gap:28px;width:100%;margin:10px 0 0;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
  .route-home .week-mode button{padding:12px 0;min-height:44px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:.875rem;box-shadow:none}
  .route-home .week-mode button.active{color:var(--ink);border-bottom-color:var(--brand-gold);background:transparent;box-shadow:none}
  .route-home .home-operations{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,2fr);gap:0;margin-top:12px}
  .route-home .home-operations:not(.home-diary-only) :is(.week-rows,.day-focus-head){margin-right:28px}
  .route-home .home-operations.home-diary-only{grid-template-columns:minmax(0,1fr)}
  .route-home .premium-week{display:contents}
  .route-home .week-toolbar{grid-column:1/-1;grid-row:1;min-height:60px;padding:0 0 12px}
  .route-home .week-heading h2{font-family:inherit;font-size:1rem;font-weight:500;letter-spacing:0}
  .route-home .week-heading>span{font-size:.8125rem}
  .route-home .week-strip{grid-column:1/-1;grid-row:2;gap:0;padding:0;margin-bottom:24px}
  .route-home .day-focus-head{grid-column:1;grid-row:3}
  .route-home .week-rows{grid-column:1;grid-row:4;min-width:0}
  .route-home .home-attention{grid-column:2;grid-row:4;padding:2px 0 0 28px;border-top:0;border-left:1px solid var(--line)}
  .route-home .home-attention-head>span{font-family:var(--sp-serif);font-size:1.2rem;line-height:1.3;font-weight:500;color:var(--ink);letter-spacing:0;text-transform:none}
  .route-home .attention-action{font-size:.9375rem}
  .route-home .attention-action b{font-family:inherit;font-size:.9375rem;font-weight:600}
  .route-home .day-row{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:18px 0}
  .route-home .today-row::before{display:none}
  .route-home .day-label strong{font-family:inherit;font-size:.9375rem;font-weight:600}
  .route-home .job-card{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;padding:8px 0}
  .route-home .job-card .job-main strong{font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:0}
  .route-home .job-card .job-main small{font-size:.875rem;color:var(--muted)}
  .route-home .job-time{font-family:inherit;font-size:.875rem;font-weight:600}
  .route-home .job-card .tag{padding:2px 0;background:transparent;color:var(--muted);font-size:.8125rem;max-width:140px;white-space:normal}
  .route-home .job-card-link:hover{transform:none;background:color-mix(in srgb,var(--brand-gold) 4%,transparent)}
  .route-home .home-load-note{grid-column:1/-1}
  .route-home .home-shortcuts{margin-top:24px}

  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .btn{border-radius:4px;box-shadow:none;font-size:.875rem}
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .text-action{color:var(--ink);font-size:.875rem}

  /* Jobs uses the same rail spacing as Home and Diary. */
  .route-jobs .sidebar .brand{padding:2px 6px 26px;border-bottom:1px solid rgba(255,255,255,.08)}
  .route-jobs .sidebar .brand-symbol{width:31px;height:31px}
  .route-jobs .nav-btn{padding-inline:12px}
  .route-jobs .job-browser{margin-top:26px}
  .route-jobs .job-search-field{max-width:none}
  .route-jobs .job-search-field input{
    min-height:44px;
    padding:10px 14px;
    border:1px solid var(--jobs-line);
    background:var(--sp-premium-field);
    box-shadow:none;
  }
  .route-jobs .job-filter-rail{gap:24px}
  /* Laptop Jobs: one table line per job, customer first, wrapping rather than hiding long text. */
  .route-jobs .job-list-columns,
  .route-jobs .job-list-card>button{
    grid-template-columns:minmax(150px,.9fr) minmax(0,1.25fr) minmax(0,1.15fr) 150px minmax(130px,.7fr) 16px;
    column-gap:18px;
  }
  .route-jobs .job-list-columns{display:grid;padding:12px 12px 10px;border-bottom:1px solid var(--jobs-line);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6b675f}
  .route-jobs .job-browser:not(:has(.job-list-card)) .job-list-columns{display:none}
  .route-jobs .job-list-card>button{align-items:center;row-gap:4px;min-height:56px;padding:8px 12px;border-radius:0}
  .route-jobs .job-browser>[data-job-search-results]>.job-list>.job-list-card:nth-child(even)>button{background:rgba(120,104,72,.06)}
  .route-jobs .job-list-card>button:hover{background:rgba(184,148,86,.1)}
  .route-jobs .job-list-main,
  .route-jobs .job-list-side{display:contents}
  .route-jobs .job-list-main strong{grid-column:1;grid-row:1;font-size:.9375rem;line-height:1.3;overflow-wrap:anywhere}
  .route-jobs .job-list-main small{grid-column:2;grid-row:1;margin:0;color:#2f2c27;font-size:.875rem;font-weight:400;line-height:1.35;overflow-wrap:anywhere}
  .route-jobs .job-list-context{display:block;grid-column:3;grid-row:1;min-width:0;font-size:.875rem;line-height:1.35}
  .route-jobs .job-list-context strong{display:inline;font-size:inherit;font-weight:600;color:var(--jobs-ink)}
  .route-jobs .job-list-context small{display:inline;font-size:inherit;line-height:inherit;color:#5f5a51}
  .route-jobs .job-list-context strong+small:not(.job-list-match):before{content:" · "}
  .route-jobs .job-list-context .job-list-match{display:block}
  .route-jobs .job-list-side .job-list-status{grid-column:4;grid-row:1}
  .route-jobs .job-list-visit{grid-column:5;grid-row:1;color:var(--jobs-ink);font-size:.875rem;line-height:1.35;text-align:left;font-variant-numeric:tabular-nums}
  .route-jobs .job-list-visit-prefix{display:none}
  .route-jobs .job-list-side .job-list-chevron{grid-column:6;grid-row:1}
  .route-jobs .job-list-action{grid-column:4/7;grid-row:2;margin:0}

  /* Keep customer identity in the same frame as the Jobs register. */
  .route-jobs .job-workspace.workspace-page{width:100%;margin:0}
  .route-jobs .job-workspace>.job-detail-top.workspace-header{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:0 24px;
    padding-block:0 18px;border-bottom:0;
    background:linear-gradient(var(--workspace-charcoal) 0 56px,var(--sp-premium-paper) 56px);
    color:var(--ink);
  }
  .route-jobs .job-workspace .job-detail-identity{display:contents}
  .route-jobs .job-workspace .workspace-header .job-back{grid-column:1/-1;align-items:center;min-height:56px;margin:0;color:var(--brand-white);font-size:.875rem}
  .route-jobs .job-workspace .job-title-desktop{grid-column:1;min-width:0;padding-top:22px}
  .route-jobs .job-workspace .workspace-header .page-title{color:var(--ink);font-size:2rem;line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}
  .route-jobs .job-workspace .workspace-header .sub{display:block;margin-top:7px;color:var(--muted);font-size:.9375rem;line-height:1.5}
  .route-jobs .job-workspace .workspace-header .actions{grid-column:2;flex-wrap:wrap;gap:8px;max-width:340px;padding:0}
  .route-jobs .job-workspace .workspace-header .actions .btn{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:.875rem}
  .route-jobs .job-workspace .workspace-header .actions .btn:hover{background:var(--surface);text-decoration:none}
  .route-jobs .job-workspace .workspace-header .job-back:hover{color:var(--brand-gold)}
  .route-jobs .job-workspace .workspace-header :is(a,button):focus-visible{outline:2px solid var(--brand-gold);outline-offset:4px}
  .route-jobs .job-workspace .job-overview-nav{background:var(--sp-premium-paper);margin-bottom:0}
  .route-jobs .job-overview-dashboard{margin-top:22px}
  .route-jobs .job-overview-primary{padding:22px 24px;border:1px solid var(--line);border-radius:6px;background:var(--sp-premium-field);box-shadow:0 2px 8px rgba(20,24,21,.025)}
  .route-jobs .job-overview-card-head{margin-bottom:18px}
  .route-jobs .job-overview-core{gap:28px}
  .route-jobs .job-overview-visit{margin-top:20px;padding-top:18px}
  .route-jobs .job-overview-note{padding:18px 0;border-top:1px solid var(--line)}
  .route-jobs .job-overview-note h2{font-size:.875rem}
  .route-jobs .job-next-terminal .job-close-zone{padding:20px 24px;border:1px solid var(--line);border-left:3px solid var(--brand-gold);border-radius:6px;background:var(--sp-premium-field);gap:24px}
  .route-jobs .job-close-checks{border-left:0;padding-left:0}
  .route-jobs .job-next-terminal .job-close-zone .job-choice-direction h2{font-size:1.3rem}

  /* Task pages share the overview's spacing, paper and readable type. */
  .route-jobs .job-workspace[data-job-view="task"]>.job-working-grid{margin-top:22px}
  .route-jobs .job-workspace[data-job-view="task"] .job-working-grid>.job-panel[data-job-task-active]{padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--sp-premium-field);box-shadow:0 2px 8px rgba(20,24,21,.025)}
  .route-jobs .job-workspace[data-job-view="task"] .job-panel .section-meta{font-size:.875rem}
  .route-jobs .job-schedule-booking-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 18px;margin:0 0 4px;border-bottom:1px solid var(--line)}
  .route-jobs .job-schedule-booking-actions:empty{display:none}
  .route-jobs .job-schedule-row>div>span,
  .route-jobs .job-schedule-row small{font-size:.875rem;line-height:1.5}
  .route-jobs .job-schedule-row>div>strong{font-size:1rem}
  .route-jobs .job-schedule-row-actions .btn{min-height:40px}

  /* Creating a job stays in the same frame as the job it opens. */
  .route-jobs .job-create-page>.workspace-header{display:block;padding-block:0 22px;border-bottom:0;background:linear-gradient(var(--workspace-charcoal) 0 56px,var(--sp-premium-paper) 56px);color:var(--ink)}
  .route-jobs .job-create-page .job-back{display:flex;align-items:center;min-height:56px;margin:0 0 22px;padding:0;color:var(--brand-white);font-size:.875rem}
  .route-jobs .job-create-page .job-back:hover{color:var(--brand-gold)}
  .route-jobs .job-create-page .page-title{color:var(--ink);font-size:2rem;line-height:1.15}
  .route-jobs .job-create-page .sub{margin-top:7px;font-size:.9375rem}
  .route-jobs .job-create-panel{width:100%;max-width:none;margin:0;padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--sp-premium-field);box-shadow:0 2px 8px rgba(20,24,21,.025)}
  .route-jobs .job-create-form{gap:20px}
  .route-jobs .job-create-form .section-head{margin:0;padding:0 0 16px}
  .route-jobs .job-create-form .section-meta,
  .route-jobs .job-create-field>span,
  .route-jobs .job-create-extras>summary small,
  .route-jobs .job-create-status{font-size:.875rem}
  .route-jobs .job-create-field :is(input,select,textarea){border-radius:4px;background:var(--sp-premium-paper)}

  /* Give diary entry fields room at ordinary laptop widths. */
  .route-diary .diary-v2 .diary-quick-add{margin-top:24px;padding:24px;border-radius:6px;background:var(--sp-premium-field);box-shadow:0 2px 8px rgba(20,24,21,.025);scroll-margin-top:20px}
  .route-diary .diary-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .route-diary .diary-quick-title{grid-column:1/-1}
  .route-diary .diary-quick-head small,
  .route-diary .diary-quick-field>span,
  .route-diary .diary-quick-more summary,
  .route-diary .diary-quick-status{font-size:.875rem;line-height:1.5}
  .route-diary .diary-quick-more summary span,
  .route-diary .diary-quick-lock small{font-size:.8125rem;line-height:1.5}
  .route-diary .diary-quick-lock strong{font-size:.875rem}
  .route-diary .diary-quick-field :is(input,select,textarea){min-height:44px;border-radius:4px;background:var(--sp-premium-paper)}
  .route-diary .diary-quick-more summary{min-height:36px;width:100%;flex-wrap:wrap}
  .route-diary .diary-quick-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-diary .diary-quick-more-grid .diary-quick-wide:last-child{grid-column:1/-1}

  /* The scope, calendar and agenda form one continuous working surface. */
  .route-diary .diary-scope{display:flex;gap:28px;margin:8px 0 0;border-bottom-color:var(--diary-line)}
  .route-diary .diary-scope button{padding-inline:0;font-size:.875rem}
  .route-diary .diary-scope button.active{border-bottom-color:var(--brand-gold)}
  .route-diary .diary-week-rail{margin:8px 0 24px;border-top:0}
  .route-diary .diary-week-toolbar{min-height:60px;padding:0 0 12px}
  .route-diary .diary-week-range strong{font-family:inherit;font-size:1rem;font-weight:500;letter-spacing:0}
  .route-diary :is(.diary-week-arrow,.diary-today-button){min-height:44px;border-radius:4px;font-size:.875rem}
  .route-diary .diary-week-arrow{width:44px;height:44px}
  .route-diary :is(.diary-week-arrow,.diary-today-button):focus-visible{outline:2px solid var(--brand-gold);outline-offset:3px}
  .route-diary .diary-day-chip{min-height:78px}
  .route-diary .diary-day-chip.selected{border-left-color:transparent;border-radius:6px;background:var(--workspace-charcoal);color:var(--brand-white)}
  .route-diary .diary-day-chip.selected::after{display:none}
  .route-diary .diary-day-chip.selected span{color:#c8c5bd}
  .route-diary .diary-day-chip.selected strong{color:var(--brand-gold)}
  .route-diary .diary-day-chip.selected small{color:#ddd9d0}
  .route-diary .diary-day-heading h2{font-size:1.5rem}
  .route-diary .diary-side-head h3{font-size:1.2rem}
  .route-diary .diary-day-layout{grid-template-columns:minmax(0,5fr) minmax(0,2fr);gap:0}
  .route-diary .diary-day-main{margin-right:28px}
  .route-diary .diary-day-side{padding-left:28px}
  .route-diary .diary-schedule-list{gap:0;border-top:1px solid var(--diary-line)}
  .route-diary .diary-entry-row{grid-template-columns:72px minmax(0,1fr);gap:14px;border-bottom:1px solid var(--diary-line)}
  .route-diary .diary-entry-rail{display:none}
  .route-diary .diary-entry-time{padding-top:18px}
  .route-diary .diary-entry-time strong{font-family:inherit;font-size:.9rem;font-weight:600}
  .route-diary .diary-entry-card,
  .route-diary .diary-entry-detail[open]>.diary-entry-card{
    min-height:100px;
    padding:15px 0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .route-diary .diary-entry-card:hover{background:color-mix(in srgb,var(--brand-gold) 4%,transparent);box-shadow:none}
  .route-diary .diary-entry-detail>summary::after{margin-right:4px}
  .route-diary .diary-entry-copy .diary-entry-customer{font-family:inherit;font-size:1rem!important;font-weight:600!important;letter-spacing:0}
  .route-diary .diary-entry-copy :is(.diary-entry-location,.diary-entry-detail-line){color:var(--muted)!important;font-size:.875rem!important;line-height:1.5!important}
  .route-diary .diary-entry-meta{color:var(--muted);font-size:.8125rem}
  .route-diary .diary-entry-type{font-size:.875rem}
  .route-diary .diary-entry-card .status-pill{font-size:.8125rem}
  .route-diary .diary-entry-time span{font-size:.8125rem;line-height:1.5}
  .route-diary .diary-add-row{
    width:calc(100% - 86px);
    min-height:54px;
    margin:8px 0 0 86px;
    padding:10px 0;
    border:0;
    border-radius:0;
  }
  .route-diary .diary-add-row>span:first-child{width:24px;height:24px;flex-basis:24px;background:transparent}
  .route-diary .diary-add-row strong{font-family:inherit;font-size:.9375rem;font-weight:600}
  .route-diary .diary-add-row small,.route-diary .diary-side-empty span{font-size:.8125rem;line-height:1.5}
  .route-diary .diary-day-summary{margin-left:86px;border-bottom:0}
  .route-diary .diary-day-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0}
  .route-diary .diary-next-copy strong,
  .route-diary .diary-unscheduled-item strong{font-family:inherit;font-size:.9375rem;font-weight:600}
  .route-diary .diary-next-item{grid-template-columns:76px minmax(0,1fr) 10px;gap:12px;padding:14px 0}
  .route-diary .diary-next-time strong{font-family:inherit;font-size:.875rem;font-weight:600}
  .route-diary .diary-next-time small{font-size:.75rem;white-space:nowrap;line-height:1.5}
  .route-diary .diary-next-copy{gap:3px}
  .route-diary .diary-next-copy>span{font-size:.75rem}
  .route-diary .diary-next-copy small,
  .route-diary .diary-next-date span,
  .route-diary .diary-unscheduled-item :is(small,em){font-size:.8125rem;line-height:1.5}
  .route-diary .diary-empty-day{min-height:0;padding:22px 0;gap:6px;border-width:1px 0;border-radius:0;background:transparent}
  .route-diary .diary-empty-day>span{display:none}
  .route-diary .diary-empty-day>small{font-size:.875rem}
  .route-diary .diary-empty-day .btn{margin-top:8px;font-size:.875rem}
  .route-diary .diary-day-main:has(.diary-empty-day) .diary-day-summary{margin-left:0}
  .route-diary .diary-day-summary span{font-size:.8125rem;color:var(--muted);text-transform:none;letter-spacing:0}
  .route-diary .diary-day-summary strong{font-family:inherit;font-size:.875rem;line-height:1.5}

  /* Identical date tiles in the two calendar surfaces. */
  .route-home .week-chip,.route-diary .diary-day-chip{min-height:78px;padding:10px 4px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
  .route-home .week-chip:first-child,.route-diary .diary-day-chip:first-child{border-left-color:transparent}
  .route-home .week-chip>span,.route-diary .diary-day-chip>span{font-family:inherit;font-size:.75rem;font-weight:600;line-height:1.5;letter-spacing:.035em;text-transform:uppercase;color:var(--muted)}
  .route-home .week-chip strong,.route-diary .diary-day-chip strong{font-family:inherit;font-size:1.125rem;font-weight:500;line-height:1.4;margin:3px 0;letter-spacing:0}
  .route-home .week-chip small,.route-diary .diary-day-chip small{font-size:.75rem;color:var(--muted);line-height:1.5}
  .route-home .week-chip:is(.today,.selected),.route-diary .diary-day-chip.selected{border-left-color:transparent;border-radius:4px;background:var(--workspace-charcoal);color:var(--brand-white);box-shadow:none;outline:0}
  .route-home .week-chip.selected:hover:not(.today){background:var(--workspace-charcoal)}
  .route-home .week-chip:is(.today,.selected) strong,.route-diary .diary-day-chip.selected strong{color:var(--brand-gold)}
  .route-home .week-chip:is(.today,.selected)>span,.route-home .week-chip:is(.today,.selected) small,.route-diary .diary-day-chip.selected>span,.route-diary .diary-day-chip.selected small{color:#ddd9d0}
  .route-home .week-strip:has(.selected) .week-chip.today:not(.selected){background:transparent;color:var(--ink);border-left-color:var(--line)}
  .route-home .week-strip:has(.selected) .week-chip.today:not(.selected) :is(span,small){color:var(--muted)}
  .route-home .week-strip:has(.selected) .week-chip.today:not(.selected) strong{color:var(--ink)}
  .route-home .week-chip:focus-visible,.route-diary .diary-day-chip:focus-visible{outline:2px solid var(--brand-gold);outline-offset:-3px}

  /* Keep the navigation still when moving between everyday pages. */
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .sidebar .brand-copy>strong{letter-spacing:.005em}
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .sidebar .brand-copy>small{color:#aeadA8}
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .sidebar .nav-btn{font-size:.875rem;min-height:44px}
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .sidebar .nav-btn.active{background:rgba(255,255,255,.075)}
  :is(.route-home,.route-jobs,.route-diary,.route-enquiries,.route-catalogue,.route-more) .sidebar .nav-btn.active::before{top:9px;bottom:9px;border-radius:999px}

  /* Enquiries follows the same register margins and type as Jobs. */
  .route-enquiries .enquiry-panel{width:100%;margin:26px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .route-enquiries .enquiry-panel>.section-head{align-items:baseline;padding-bottom:14px}
  .route-enquiries .enquiry-panel>.section-head h2{font-family:var(--sp-serif);font-size:1.25rem;font-weight:500;letter-spacing:0}
  .route-enquiries .enquiry-panel .section-meta{font-size:.875rem}
  .route-enquiries .enquiry-search-tools{padding:18px 0 8px}
  .route-enquiries .enquiry-search-field input{min-height:44px;border-radius:4px;background:var(--sp-premium-field)}
  .route-enquiries .enquiry-card{gap:16px;padding:24px 0}
  .route-enquiries .enquiry-card::before{left:-14px;top:24px;bottom:24px}
  .route-enquiries .enquiry-identity strong{font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:0}
  .route-enquiries .enquiry-received{font-size:.75rem;letter-spacing:.025em}
  .route-enquiries .enquiry-detail p{font-size:1rem;line-height:1.6}
  .route-enquiries .enquiry-detail>span{font-size:.875rem}
  .route-enquiries .enquiry-more-actions>summary{font-size:.875rem}
  .route-enquiries .enquiry-empty{min-height:0;padding:28px 0;text-align:left;place-items:start}
  .route-enquiries .enquiry-empty p{margin:6px 0 0}

  /* Products sit on the same paper, with the approved browse-first controls. */
  .route-catalogue .workspace-header+*{margin-top:26px}
  .route-catalogue .catalogue-tools{grid-template-columns:minmax(0,1fr) auto;align-items:start;background:transparent;border-radius:0;margin-bottom:20px;gap:12px}
  .route-catalogue .catalogue-filter-details{grid-column:1/-1;border-radius:8px;background:var(--sp-premium-field);box-shadow:none}
  .route-catalogue .catalogue-filter-details>summary{min-height:48px;padding:12px 18px;background:transparent;border-left:0}
  .route-catalogue .catalogue-filter-details>summary>span{font-size:.9375rem;font-weight:600}
  .route-catalogue .catalogue-filter-details>summary small{font-size:.875rem}
  .route-catalogue .catalogue-filter-grid{padding:12px 18px 18px;gap:14px 18px}
  .route-catalogue .catalogue-filter-bottom{grid-template-columns:minmax(0,1fr) auto;padding:0 18px 10px;gap:10px 18px;align-items:center}
  .route-catalogue .catalogue-model-search{grid-column:1/-1;position:relative;display:block}
  .route-catalogue .catalogue-model-search>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .route-catalogue .catalogue-model-search::before{content:'';position:absolute;left:14px;top:calc(50% - 8px);width:12px;height:12px;border:1.5px solid var(--muted);border-radius:50%;pointer-events:none}
  .route-catalogue .catalogue-model-search::after{content:'';position:absolute;left:26px;top:calc(50% + 4px);width:6px;height:1.5px;background:var(--muted);transform:rotate(45deg);transform-origin:left center;pointer-events:none}
  .route-catalogue .catalogue-model-search .catalogue-search{padding-left:40px}
  .route-catalogue .catalogue-filter-bottom .catalogue-tool-toggles{grid-column:1;justify-self:start;min-height:36px}
  .route-catalogue .catalogue-filter-bottom :is(.catalogue-favourites,.catalogue-clear){min-height:36px}
  .route-catalogue .catalogue-filter-bottom .catalogue-clear{grid-column:2;padding-right:0}
  .route-catalogue .catalogue-favourites span{font-weight:500}
  .route-catalogue .catalogue-control>span{font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none}
  .route-catalogue :is(.catalogue-filter,.catalogue-search){border-radius:4px;background:var(--sp-premium-paper)}
  .route-catalogue :is(.catalogue-width,.catalogue-model-search) .catalogue-search{display:block;min-width:0;height:var(--catalogue-control-height,44px);min-height:0;max-height:var(--catalogue-control-height,44px);box-sizing:border-box;line-height:normal;margin:0}
  .route-catalogue :is(.catalogue-favourites,.catalogue-clear){font-size:.875rem}
  .route-catalogue .catalogue-results-head{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .route-catalogue .catalogue-results-head strong{font-size:.9375rem;font-weight:600}
  .route-catalogue .catalogue-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:24px;align-items:stretch}
  .route-catalogue .stove-card{border-radius:10px;background:var(--sp-premium-field);box-shadow:0 2px 8px rgba(20,24,21,.035);transition:border-color .16s ease}
  .route-catalogue .stove-card::before{display:none}
  .route-catalogue .stove-card:hover{transform:none;border-color:var(--brand-gold);box-shadow:none}
  .route-catalogue .stove-media{height:264px;background:var(--sp-premium-field)}
  .route-catalogue .stove-media.has-image{padding:24px 28px}
  .route-catalogue .stove-media img{max-height:216px}
  .route-catalogue .stove-card-body{padding:22px}
  .route-catalogue .stove-card header span{font-size:.75rem;font-weight:600;letter-spacing:.035em;color:var(--muted)}
  .route-catalogue .stove-card h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.015em}
  .route-catalogue .stove-fav{border-radius:50%;background:transparent}
  .route-catalogue .stove-fav[aria-pressed="true"]{background:var(--sp-premium-gold-wash);border-color:var(--brand-gold)}
  .route-catalogue .stove-specs{margin-top:20px;gap:12px}
  .route-catalogue .stove-specs>div{text-align:center}
  .route-catalogue .stove-specs span{font-size:.75rem;letter-spacing:0;text-transform:none}
  .route-catalogue .stove-specs strong{font-size:.875rem;font-weight:600;line-height:1.5}
  .route-catalogue .stove-dimensions{font-size:.875rem;line-height:1.5;text-align:center}
  .route-catalogue .stove-suitability{border-radius:4px}
  .route-catalogue .stove-suitability span{font-size:.875rem}
  .route-catalogue .stove-suitability :is(small,a){font-size:.8125rem;line-height:1.5}
  .route-catalogue .stove-clearance-note :is(summary,p){font-size:.8125rem;line-height:1.5}
  .route-catalogue .stove-card footer{flex-direction:column;align-items:center;justify-content:center;gap:8px;padding-top:18px;font-size:.875rem;line-height:1.5;text-align:center}
  .route-catalogue .stove-card footer a{padding-block:6px;font-size:.8125rem;text-align:center}
  .route-catalogue .stove-card .stove-share-button{width:100%;min-height:46px;padding:11px 12px;border-radius:6px;border-color:var(--brand-ink);background:var(--brand-ink);color:var(--brand-white);font-size:.875rem;font-weight:600;transition:background .16s ease,border-color .16s ease}
  .route-catalogue .stove-card .stove-share-button svg{color:var(--brand-gold)}
  .route-catalogue .stove-card .stove-share-button:hover{border-color:#39463b;background:#39463b}

  /* More remains a quiet index, aligned with the working pages. */
  .route-more :is(.more-section,.more-signout){width:100%;margin-inline:0}
  .route-more .more-section{margin-top:28px}
  .route-more .more-section-head h2{font-size:1.25rem;line-height:1.4}
  .route-more .more-section-head span{font-size:.875rem;color:var(--muted)}
  .route-more .more-grid{column-gap:32px}
  .route-more .more-tool{grid-template-columns:36px minmax(0,1fr) 20px;gap:16px;min-height:104px;align-items:start;padding:22px 0}
  .route-more .more-tool-icon{width:36px;height:36px;border-radius:6px;border-color:var(--line);color:var(--ink)}
  .route-more .more-tool-copy strong{font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:0}
  .route-more .more-tool-copy small{font-size:.875rem;line-height:1.6;color:var(--muted)}
  .route-more .more-tool-arrow{align-self:center}
  .route-more .more-disclosure>summary{font-size:.875rem;min-height:48px}
  .route-more .more-signout{margin-top:28px}
}
@media(min-width:901px) and (max-width:1100px){
  .route-diary .diary-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(min-width:901px){
  .route-catalogue .hunter-resources .stove-service-resource-list{gap:0}
  .route-catalogue .hunter-resources .stove-service-resource{display:block;padding:12px 0;border:0;border-radius:0;background:transparent}
  .route-catalogue .hunter-resources .stove-service-resource+.stove-service-resource{border-top:1px solid var(--line)}
  .route-catalogue .hunter-resources .stove-service-resource a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.8125rem;line-height:1.5;font-weight:600;color:var(--ink)}
  .route-catalogue .hunter-resources .stove-service-resource a span{font:inherit;color:var(--muted)}
  .route-catalogue .hunter-resources .stove-service-resource small{font-size:.6875rem;line-height:1.5;margin-top:5px}
  .route-catalogue .hunter-resources .stove-service-resource-boundary{font-size:.6875rem;line-height:1.5}
}

/* Hunter cards: clear section hierarchy at laptop card widths. */
@media(min-width:901px){
  .route-catalogue .hunter-card :is(.stove-technical,.stove-service-resources) summary{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:3px 12px;min-height:64px;padding:12px 14px;align-items:center}
  .route-catalogue .hunter-card :is(.stove-technical,.stove-service-resources) summary>span{grid-column:1;grid-row:1;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.4}
  .route-catalogue .hunter-card :is(.stove-technical,.stove-service-resources) summary>b{grid-column:1;grid-row:2;margin:0;text-align:left;white-space:normal;font-size:.75rem;font-weight:400;line-height:1.4;color:var(--muted)}
  .route-catalogue .hunter-card :is(.stove-technical,.stove-service-resources) summary::after{grid-column:2;grid-row:1/3;justify-self:center;font-size:1rem;font-weight:400}
  .route-catalogue .hunter-card :is(.stove-technical,.stove-service-resources) summary:focus-visible{outline:2px solid var(--brand-gold);outline-offset:-3px;border-radius:6px}
  .route-catalogue .hunter-card :is(.stove-technical-body,.stove-service-resources-body){padding:14px}
  .route-catalogue .hunter-card .stove-technical-grid{grid-template-columns:1fr;gap:12px}
  .route-catalogue .hunter-card .stove-technical-grid>div{padding:0 0 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
  .route-catalogue .hunter-card .stove-technical-grid>div:last-child{padding-bottom:0;border-bottom:0}
  .route-catalogue .hunter-card :is(.stove-technical-grid span,.stove-technical-note>span){font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:0;text-transform:none}
  .route-catalogue .hunter-card .stove-technical-grid strong{font-size:.8125rem;line-height:1.6;font-weight:500}
  .route-catalogue .hunter-card .stove-technical-note{margin-top:14px;padding:12px}
  .route-catalogue .hunter-card :is(.stove-technical-note p,.stove-technical-provenance>p){font-size:.75rem;line-height:1.65}
  .route-catalogue .hunter-card .stove-technical-provenance{margin-top:14px;padding-top:12px}
  .route-catalogue .hunter-card .stove-technical-provenance :is(span,a){font-size:.75rem;line-height:1.5}
  .route-catalogue .hunter-card .hunter-resources .stove-service-resource:first-child{padding-top:0}
  .route-catalogue .hunter-card .hunter-resources .stove-service-resource :is(small,p){font-size:.75rem;line-height:1.6}
  .route-catalogue .hunter-card .hunter-resources .stove-service-resource-boundary{font-size:.75rem;line-height:1.6}
}

.sidebar-top{display:flex;flex-direction:column;gap:32px}
.sidebar-signature{display:none}
@media(min-width:901px){
  .app-grid>.sidebar{position:relative;top:auto;height:auto;min-height:100svh;align-self:stretch;overflow:visible}
  .sidebar-top{position:sticky;top:30px}
  .sidebar-signature{display:flex;flex-direction:column;align-items:center;gap:7px;margin-top:auto;padding:64px 0 8px;text-align:center}
  .sidebar-signature img{width:30px;height:30px;margin-bottom:3px}
  .sidebar-signature strong{font-family:var(--sp-serif,Georgia,serif);font-size:1.125rem;font-weight:400;letter-spacing:.01em;color:var(--brand-white)}
  .sidebar-signature strong span{color:var(--brand-gold)}
  .sidebar-signature small{font-size:.6875rem;line-height:1.5;letter-spacing:.035em;color:#b5b5ad}
}
@media(min-width:901px) and (max-width:1050px){.sidebar-signature strong,.sidebar-signature small{display:none}}

/* A consistent visual cue for finding a customer or property. */
@media(min-width:901px){
  .route-jobs .job-search-field{position:relative}
  .route-jobs .job-search-field>.ui-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
  .route-jobs .job-search-field input{padding-left:42px}
}
@media(max-width:900px){.job-search-field>.ui-icon{display:none}}

/* Quiet task counts; stronger colour is reserved for unread and overdue work. */
@media(min-width:901px){
  .route-home .attention-action b[data-attention-tone]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#eee7d7;color:#705a30;font-family:inherit;font-size:.75rem;line-height:1;font-weight:650;font-variant-numeric:tabular-nums}
  .route-home .attention-action b[data-attention-tone="unread"]{background:#a43e49;color:#fff}
  .route-home .attention-action b[data-attention-tone="overdue"]{background:#f2e3e2;color:#963e3b}
}

/* Keyboard focus on a Jobs row. */
@media(min-width:901px){
  .route-jobs .job-list-card>button:focus-visible{outline:2px solid var(--brand-gold);outline-offset:-2px;border-radius:4px}
}
