/* Lodestay — layout only. Every colour, radius, shadow and step comes from the
   Reckon tokens; nothing here re-declares a design decision.

   Declared once for the product:
     Shell       — top-nav, 64px sticky bar on the tinted --sidebar plane with a
                   4px blur and a bottom hairline, exactly as the source brand
                   draws its header.
     Breakpoints — 1280 split list + map · 1024 search collapses to an icon ·
                   768 destinations collapse into one menu button and the map
                   becomes a switch beside the list.
     Density     — comfortable: 28px page gutters, 20px card padding, 40px
                   controls, 44px hit targets below 768.
     Separation  — hairline rules; cards are the only raised surface, one
                   elevation step, never nested.
     Active nav  — foreground token plus a 2px underline pinned to the bar's
                   bottom edge. Never colour alone.
     Imagery     — every photograph is a declared placeholder frame: bordered,
                   muted, with a mono caption naming what belongs there. The
                   source repo ships no listing photography, so the kit does not
                   pretend otherwise.

   Note for anyone editing this file: ds-base.js appends the design system's
   stylesheets when it runs, which is AFTER this file is already in the head —
   so a product rule that retones a design-system class at equal specificity
   loses. Write those two classes deep (.o-badge.ls-pill). */

.ls-shell{--gutter-page:calc(var(--space-6) + var(--space-1));--gutter-card:var(--space-5);min-height:100vh;background:var(--background);color:var(--foreground)}
.ls-bar{position:sticky;top:0;z-index:45;display:flex;height:var(--header-height);align-items:center;gap:var(--space-4);padding-inline:var(--gutter-page);background:color-mix(in srgb,var(--sidebar) 82%,transparent);backdrop-filter:blur(4px);border-bottom:1px solid var(--border)}
.ls-brand{display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}
.ls-brand__mark{display:inline-flex;width:28px;height:28px;flex:none;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--foreground);color:var(--background)}
/* The brand mark is a flat SVG that reads on both themes, so it takes no
   surface of its own. */
.ls-brand__logo{display:block;width:28px;height:28px;flex:none}
.ls-brand__logo--lg{width:32px;height:32px}
.ls-brand__name{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-base);letter-spacing:var(--tracking-tight)}
.ls-nav{display:flex;align-self:stretch;align-items:stretch;gap:var(--space-1)}
.ls-nav__item{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:transparent;padding-inline:var(--space-3);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--muted-foreground);cursor:pointer}
.ls-nav__item:hover{color:var(--foreground)}
.ls-nav__item[aria-current=page]{color:var(--foreground)}
.ls-nav__item[aria-current=page]::after{content:"";position:absolute;inset-inline:var(--space-2);bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--foreground)}
.ls-nav__count{display:inline-flex;height:18px;min-width:18px;align-items:center;justify-content:center;border-radius:999px;background:var(--muted);padding-inline:5px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--muted-foreground)}
.ls-nav__item[aria-current=page] .ls-nav__count{background:var(--foreground);color:var(--background)}
.ls-bar__right{margin-inline-start:auto;display:flex;align-items:center;gap:var(--space-2)}
.ls-search{width:min(20rem,28vw);min-width:0}
.ls-search input{cursor:pointer}
.ls-utility{position:relative;display:inline-flex}
.ls-badge-dot{pointer-events:none;position:absolute;inset-inline-end:-2px;top:-2px;display:flex;height:16px;min-width:16px;align-items:center;justify-content:center;border-radius:999px;background:var(--destructive);padding-inline:4px;font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-white);box-shadow:0 0 0 2px var(--sidebar)}
.ls-account{display:flex;align-items:center;gap:var(--space-2);border:0;border-radius:999px;background:transparent;padding:3px 3px 3px var(--space-3);font:inherit;color:inherit;cursor:pointer;border:1px solid var(--border)}
.ls-account:hover{background:var(--accent)}
.ls-account__name{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.ls-navmenu{padding:var(--space-1)}

.ls-notify{padding:var(--space-2)}
.ls-notify__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2)}
.ls-notify__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--space-3);width:100%;border:0;border-radius:var(--radius-lg);background:transparent;padding:var(--space-2);text-align:left;font:inherit;color:inherit;cursor:pointer}
.ls-notify__item:hover{background:var(--accent)}
.ls-notify__title{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.ls-notify__body{grid-column:1;font-size:var(--text-xs);color:var(--muted-foreground)}
.ls-notify__time{grid-row:1;grid-column:2;font-size:var(--text-xs);color:var(--muted-foreground)}

/* ── Page shapes ───────────────────────────────────────────────────────── */
.ls-content{min-width:0}
.ls-page{display:flex;max-width:82rem;flex-direction:column;gap:var(--space-6);margin-inline:auto;padding:var(--gutter-page)}
.ls-page--flush{max-width:none;padding:0}
.ls-page--narrow{max-width:56rem}
.ls-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.ls-head__text{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}
.ls-head__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.ls-title{margin:var(--space-1) 0 0;font-family:var(--font-heading);font-weight:var(--font-weight-semibold);font-size:var(--text-3xl);line-height:1.1;letter-spacing:var(--tracking-tight);text-wrap:balance}
.ls-title--sm{font-size:var(--text-2xl)}
.ls-lede{margin:0;max-width:56ch;font-size:var(--text-sm);color:var(--muted-foreground);text-wrap:pretty}
.ls-eyebrow{font-size:var(--text-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted-foreground)}
.ls-section{display:flex;flex-direction:column;gap:var(--space-3)}
.ls-section__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2)}
.ls-section__title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight)}
.ls-section__note{font-size:var(--text-sm);color:var(--muted-foreground)}
/* Work the guest cannot act on: recessed, never disabled. Chosen once for the
   product — the muted plane, muted text, no primary control. */
.ls-recessed{border-radius:var(--radius-xl);background:var(--muted);padding:var(--space-4)}
.ls-recessed .ls-card{background:var(--card)}

.ls-stack{display:flex;flex-direction:column;gap:var(--space-4)}
.ls-stack--tight{gap:var(--space-2)}
.ls-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.ls-row--tight{gap:var(--space-1)}
.ls-spread{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.ls-columns{display:grid;align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.ls-columns--even{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr))}
.ls-col{display:flex;min-width:0;flex-direction:column;gap:var(--space-5)}
.ls-muted{color:var(--muted-foreground)}
.ls-mono{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.ls-note{font-size:var(--text-xs);color:var(--muted-foreground);text-wrap:pretty}
.ls-link{border:0;background:transparent;padding:0;font:inherit;color:inherit;text-align:left;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;cursor:pointer}
.ls-link:hover{text-decoration-color:currentColor}
.ls-sticky{position:sticky;top:calc(var(--header-height) + var(--space-6))}

/* ── The photograph that is not there yet ──────────────────────────────── */
.ls-photo{position:relative;display:flex;overflow:hidden;align-items:flex-end;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--muted);aspect-ratio:4/3}
.ls-photo::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 11px,color-mix(in srgb,var(--foreground) 4%,transparent) 11px 12px)}
.ls-photo__icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);opacity:.5}
.ls-photo__label{position:relative;margin:var(--space-2);border-radius:var(--radius-md);background:color-mix(in srgb,var(--card) 88%,transparent);padding:3px var(--space-2);font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:var(--muted-foreground)}
.ls-photo--wide{aspect-ratio:16/9}
.ls-photo--tall{aspect-ratio:3/4}
.ls-photo--flat{aspect-ratio:auto;height:100%;min-height:6rem}
.ls-gallery{display:grid;gap:var(--space-2);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch}
.ls-gallery__side{display:grid;gap:var(--space-2)}

/* ── Cards, lists, rows ────────────────────────────────────────────────── */
.ls-cards{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.ls-card{position:relative;display:flex;min-width:0;flex-direction:column;gap:var(--space-3);height:100%;border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--card);padding:var(--space-3);box-shadow:var(--shadow-xs)}
.ls-card--selected{outline:2px solid var(--ring);outline-offset:1px}
.ls-card--flat{box-shadow:none}
/* The body grows into the card so its foot's margin-top:auto reaches the card's
   bottom edge rather than the bottom of the text above it — cards side by side
   fill the row's height, so their prices and actions line up (AGENTS §5.1). */
.ls-card__body{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--space-2);padding-inline:var(--space-1);padding-bottom:var(--space-1)}
.ls-card__name{font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:1.35;text-wrap:pretty}
.ls-card__meta{font-size:var(--text-xs);color:var(--muted-foreground)}
.ls-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2);margin-top:auto}
.ls-price{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}
.ls-price--lg{font-size:var(--text-2xl)}
.ls-rating{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.ls-save{position:absolute;inset-block-start:var(--space-4);inset-inline-end:var(--space-4);z-index:1}
.ls-save .o-btn{background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(2px)}

.ls-facts{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}
.ls-fact{display:flex;flex-direction:column;gap:2px}
.ls-fact__label{font-size:var(--text-xs);color:var(--muted-foreground)}
.ls-fact__value{font-size:var(--text-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}
.ls-amenities{display:grid;gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
.ls-amenity{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}
.ls-amenity .ls-icon,.ls-amenity .fd-icon{color:var(--muted-foreground)}

.ls-lines{display:flex;flex-direction:column;gap:var(--space-2)}
.ls-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--space-4);font-size:var(--text-sm)}
.ls-line__note{grid-column:1;font-size:var(--text-xs);color:var(--muted-foreground)}
.ls-line__amount{grid-row:1;grid-column:2;font-variant-numeric:tabular-nums}
.ls-line--total{border-top:1px solid var(--border);padding-top:var(--space-2);font-weight:var(--font-weight-semibold)}

.ls-trips{display:flex;flex-direction:column;gap:var(--space-3)}
.ls-trip{display:grid;gap:var(--space-4);grid-template-columns:8.5rem minmax(0,1fr) auto;align-items:center;border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--card);padding:var(--space-3);box-shadow:var(--shadow-xs)}
.ls-trip__photo{width:100%}
.ls-trip__main{display:flex;min-width:0;flex-direction:column;gap:var(--space-1)}
.ls-trip__name{font-size:var(--text-base);font-weight:var(--font-weight-medium);text-align:left}
.ls-trip__when{font-size:var(--text-sm);color:var(--muted-foreground)}
.ls-trip__side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);text-align:right}

.ls-person{display:flex;align-items:center;gap:var(--space-3)}
.ls-person__text{display:flex;min-width:0;flex-direction:column}
.ls-person__name{font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.ls-person__meta{font-size:var(--text-xs);color:var(--muted-foreground)}
.ls-review{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-4)}
.ls-review:first-child{border-top:0;padding-top:0}
.ls-review__body{margin:0;font-size:var(--text-sm);text-wrap:pretty}
/* A host's own history rows: one divided list, no rule under the last. */
.ls-stays{display:flex;flex-direction:column}
.ls-stay-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);border-block-end:1px solid var(--border);padding-block:var(--space-3)}
.ls-stay-row:first-child{padding-block-start:0}
.ls-stay-row:last-child{border-block-end:0;padding-block-end:0}
.ls-stay-row__main{display:flex;min-width:11rem;flex:1;flex-direction:column;gap:2px}

/* ── Search: the list and the map ──────────────────────────────────────── */
.ls-scope{position:sticky;top:var(--header-height);z-index:35;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--sidebar) 82%,transparent);backdrop-filter:blur(4px);padding:var(--space-3) var(--gutter-page)}
.ls-scope__group{display:flex;align-items:center;gap:var(--space-2)}
.ls-scope__rule{align-self:stretch;width:1px;background:var(--border)}
.ls-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-inline-start:auto}
.ls-filters__text{width:14rem}
.ls-filter{display:inline-flex;width:11rem;min-width:0}
.ls-filter--wide{width:14rem}
.ls-split{--scope-h:53px;display:grid;min-height:0;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.ls-listpane{min-width:0;padding:var(--gutter-page);display:flex;flex-direction:column;gap:var(--space-5)}
.ls-resultline{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4)}
.ls-resultline__lead{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight)}
.ls-mappane{position:sticky;top:calc(var(--header-height) + var(--scope-h));height:calc(100vh - var(--header-height) - var(--scope-h));border-inline-start:1px solid var(--border)}
.ls-map{position:absolute;inset:0;background:var(--muted)}
.ls-map .leaflet-tile{filter:grayscale(1) contrast(.92) brightness(1.04)}
html.dark .ls-map .leaflet-tile{filter:grayscale(1) invert(1) contrast(.86) brightness(.92)}
.ls-map .leaflet-container{font-family:var(--font-sans);background:var(--muted)}
.ls-map .leaflet-control-attribution{border-radius:var(--radius-sm) 0 0 0;background:color-mix(in srgb,var(--card) 88%,transparent);font-size:10px;color:var(--muted-foreground)}
.ls-map .leaflet-control-attribution a{color:var(--muted-foreground)}
.ls-map .leaflet-bar{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.ls-map .leaflet-bar a{background:var(--card);color:var(--foreground);border-bottom-color:var(--border)}
.ls-map .leaflet-bar a:hover{background:var(--accent)}
.ls-pin{display:flex;align-items:center;justify-content:center;height:26px;border:1px solid var(--input);border-radius:999px;background:var(--card);padding-inline:9px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;color:var(--foreground);box-shadow:var(--shadow-sm);white-space:nowrap;cursor:pointer}
.ls-pin:hover{background:var(--accent)}
.ls-pin--held{border-style:dashed;color:var(--muted-foreground)}
.ls-pin--saved::after{content:"";margin-inline-start:5px;width:5px;height:5px;border-radius:999px;background:var(--foreground)}
.ls-pin--active{background:var(--foreground);border-color:var(--foreground);color:var(--background);transform:scale(1.06)}
.ls-pin--active.ls-pin--saved::after{background:var(--background)}
.ls-pin--dot{width:12px;height:12px;padding:0;border:2px solid var(--card);background:var(--foreground)}
.ls-mapcard{position:absolute;inset-inline:var(--space-4);bottom:var(--space-4);z-index:500;display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:var(--space-3);align-items:center;border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--card);padding:var(--space-3);box-shadow:var(--shadow-lg)}
.ls-mapcard__close{position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2)}
.ls-mapswitch{display:none}
.ls-maponly .ls-listpane{display:none}
.ls-maplegend{position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);z-index:500;display:flex;flex-direction:column;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:blur(2px);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--muted-foreground);box-shadow:var(--shadow-xs)}
.ls-maplegend .ls-pin{pointer-events:none;height:20px;padding-inline:6px;box-shadow:none}

/* ── Messages ──────────────────────────────────────────────────────────── */
.ls-inbox{display:grid;gap:var(--space-5);grid-template-columns:20rem minmax(0,1fr);align-items:start}
.ls-threadlist{display:flex;flex-direction:column;gap:2px}
.ls-threadrow{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-1) var(--space-3);width:100%;border:0;border-radius:var(--radius-xl);background:transparent;padding:var(--space-3);text-align:left;font:inherit;color:inherit;cursor:pointer}
.ls-threadrow:hover{background:var(--accent)}
.ls-threadrow[aria-current=true]{background:var(--accent)}
.ls-threadrow__name{grid-column:2;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-weight-medium)}
.ls-threadrow__snip{grid-column:2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:var(--text-xs);color:var(--muted-foreground)}
.ls-threadrow__dot{width:7px;height:7px;flex:none;border-radius:999px;background:var(--foreground)}
.ls-thread{display:flex;flex-direction:column;gap:var(--space-4)}
.ls-msgs{display:flex;flex-direction:column;gap:var(--space-3)}
.ls-msg{max-width:34rem;display:flex;flex-direction:column;gap:4px}
.ls-msg__body{margin:0;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);text-wrap:pretty}
.ls-msg--guest{margin-inline-start:auto;align-items:flex-end}
.ls-msg--guest .ls-msg__body{border-color:transparent;background:var(--secondary)}
.ls-msg__time{font-size:var(--text-xs);color:var(--muted-foreground)}

/* ── Auth: its own shell, no navigation owner ──────────────────────────── */
.ls-auth{display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--background)}
.ls-auth__form{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--gutter-page)}.ls-auth__inner{display:flex;width:min(24rem,100%);flex-direction:column;gap:var(--space-6)}
.ls-auth__aside{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-3);border-inline-start:1px solid var(--border);background:var(--sidebar);padding:var(--space-8)}
.ls-auth__quote{margin:0;max-width:32ch;font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-weight-medium);line-height:1.25;letter-spacing:var(--tracking-tight);text-wrap:pretty}
.ls-auth__photo{position:absolute;inset:var(--space-8) var(--space-8) 12rem}
.ls-checklist{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.ls-checklist li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted-foreground)}
.ls-checklist li.is-ok{color:var(--foreground)}
.ls-auth__switch{margin:0;text-align:center;font-size:var(--text-sm);color:var(--muted-foreground)}
.ls-checklist li[data-met=true]{color:var(--success-foreground)}

/* ── Responsiveness. Nothing is lost on the way down. ──────────────────── */
@media (max-width:1279px){
  .ls-search{width:auto}
  .ls-split{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
  .ls-columns{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
}
@media (max-width:1023px){
  .ls-shell{--gutter-page:var(--space-5)}
  .ls-nav{display:none}
  .ls-mapswitch{display:inline-flex}
  .ls-split{grid-template-columns:minmax(0,1fr)}
  .ls-mappane{position:relative;top:0;height:calc(100vh - var(--header-height) - var(--scope-h));border-inline-start:0;border-top:1px solid var(--border)}
  .ls-listonly .ls-mappane{display:none}
  .ls-columns{grid-template-columns:minmax(0,1fr)}
  .ls-inbox{grid-template-columns:minmax(0,1fr)}
  .ls-sticky{position:static}
  .ls-auth{grid-template-columns:minmax(0,1fr)}
  .ls-auth__aside{display:none}
}
@media (max-width:767px){
  .ls-shell{--gutter-page:var(--space-4);--gutter-card:var(--space-4)}
  .ls-title{font-size:var(--text-2xl)}
  .ls-trip{grid-template-columns:5.5rem minmax(0,1fr);row-gap:var(--space-3)}
  .ls-trip__side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;text-align:left}
  .ls-gallery{grid-template-columns:minmax(0,1fr)}
  .ls-gallery__side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ls-filters{margin-inline-start:0;width:100%}
  .ls-filters__text{width:100%}
  .ls-mapcard{grid-template-columns:4.5rem minmax(0,1fr)}
  .ls-shell .o-btn{min-height:44px}
  .ls-shell .o-btn--icon-sm{min-width:44px}
  .ls-nav__item,.ls-threadrow{min-height:44px}
}

/* ── The receipt. A document, so it keeps a reading measure rather than
   filling the page, and its facts sit in one grid. ────────────────────── */
.ls-rc{max-width:46rem}
.ls-rc__facts{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}
.ls-rc__fact{display:flex;min-width:0;flex-direction:column;gap:2px}
.ls-rc__label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted-foreground)}
.ls-rc__value{font-size:var(--text-sm)}
