/* Session 253: the Linen Tracker. Every size and colour below is the Linens page mockup's own
   (docs/mockups/linens-v2/mh-linens-mockup-v2-linens-page.html, the master for sizes); the property
   tab uses the same sizes, per the brief. Scoped under .ln-page so nothing leaks to other screens. */
.ln-page{font-family:'Inter',system-ui,sans-serif;color:#4d545a;font-size:15px;font-weight:450}
.ln-page a{color:#1d6e77;text-decoration:none}.ln-page a:hover{text-decoration:underline}
.ln-stack{display:flex;flex-direction:column;gap:24px}
.ln-tab{margin-top:22px}
.ln-card{background:#fff;border-radius:14px;box-shadow:0 4px 14px 0 rgba(14,54,59,.08);border:0}
.ln-ovh{overflow:hidden}
.ln-pad{padding:20px}
.ln-col16{display:flex;flex-direction:column;gap:16px}
.ln-col14{display:flex;flex-direction:column;gap:14px}
.ln-col8{display:flex;flex-direction:column;gap:8px}
.ln-card-y{background:#fff5cc}
.ln-sq{width:40px;height:40px;border-radius:10px;background:#144d54;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ln-tsq{width:38px;height:38px;border-radius:10px;background:#e9ecee;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ln-head{display:flex;align-items:center;gap:16px}
.ln-head .ln-btn-y{margin-left:auto}
.ln-h1{margin:0;font-size:28px;font-weight:700;color:#16181a;letter-spacing:0}
.ln-h2{font-size:19px;font-weight:700;color:#16181a;margin:0;letter-spacing:0}
.ln-cap{font-size:13.5px;color:#6b747b}
.ln-sh{display:flex;align-items:center;gap:14px;padding:20px}
.ln-pad > .ln-sh,.ln-set .ln-sh{padding:0}
.ln-shr{margin-left:auto;display:flex;align-items:center;gap:10px}
.ln-shr-g{gap:18px}
.ln-tr{text-align:right;display:block}
.ln-bignum{font-size:34px;font-weight:800;color:#16181a;line-height:1}
.ln-bignum-s{font-size:30px}
.ln-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ln-stat{padding:20px;display:flex;flex-direction:column;gap:12px}
.ln-stat-hi{background:#fff5cc}
.ln-num{font-size:40px;font-weight:800;letter-spacing:-.02em;color:#16181a;line-height:1}
.ln-stat-hi .ln-num{color:#d96a18}
.ln-lab{font-size:13.5px;font-weight:600;color:#4d545a}
.ln-flab{font-size:13px;font-weight:600;color:#4d545a;display:block;margin-bottom:6px}
.ln-flab-mut{color:#6b747b}
.ln-t{border-collapse:collapse;width:100%}
.ln-t th{background:#e9ecee;text-align:left;font-size:13.5px;font-weight:600;color:#4d545a;padding:12px 16px}
.ln-t td{padding:14px 16px;border-top:1px solid #dfe3e6;vertical-align:middle;font-size:15px}
.ln-key{font-weight:700;color:#16181a;font-size:15.5px}
.ln-sub{font-size:13.5px;color:#6b747b;margin-top:2px}
.ln-plain{color:#16181a!important}
.ln-pill{display:inline-block;padding:5px 12px;border-radius:999px;font-size:13.5px;font-weight:600;white-space:nowrap;line-height:normal}
.ln-p-or{background:#ffe8d6;color:#9a4a0e}.ln-p-am{background:#fdf0d8;color:#7a5010}.ln-p-gr{background:#e2f4ee;color:#08513f}.ln-p-te{background:#dceff0;color:#144d54}.ln-p-gy{background:#e9ecee;color:#4d545a}
a.ln-badge:hover{text-decoration:none;filter:brightness(.97)}
.ln-who{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#16181a;font-size:15.5px}
.ln-ini{width:30px;height:30px;border-radius:999px;background:#1d6e77;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ln-ini-gy{background:#6b747b}
.ln-btn{font-family:inherit;font-size:14px;font-weight:700;border-radius:10px;padding:9px 14px;border:1px solid #c9d0d4;background:#fff;color:#144d54;cursor:pointer;white-space:nowrap;line-height:normal;display:inline-block}
.ln-btn:hover{text-decoration:none!important;border-color:#9aa6ad}
.ln-btn:disabled{opacity:.6;cursor:default}
.ln-btn-y{background:linear-gradient(#ffd13a,#f5c21c);border:0;color:#16181a!important;box-shadow:0 6px 16px 0 rgba(217,106,24,.28);padding:12px 20px;font-size:15px}
.ln-btn-t{background:#1d6e77;border-color:#1d6e77;color:#fff!important}
.ln-btn-t:hover{background:#185e66;border-color:#185e66}
.ln-btn-save{padding:11px 22px;font-size:15px}
.ln-btns{display:flex;gap:8px;flex-wrap:wrap}
.ln-right{justify-content:flex-end}
.ln-inp{font-family:inherit;font-size:15px;color:#16181a;border:1px solid #c9d0d4;border-radius:10px;padding:10px 12px;width:100%;box-sizing:border-box;background:#fff;min-height:44px}
.ln-inp:focus{outline:2px solid #ff8a33;outline-offset:0;border-color:#ff8a33}
.ln-inp-sm{min-height:36px;padding:6px 10px;font-size:14px}
textarea.ln-inp{min-height:0}
.ln-seg{display:flex;background:#e9ecee;border-radius:10px;padding:4px;gap:4px}
.ln-sg{flex:1;font-family:inherit;font-size:14px;font-weight:600;border:0;background:transparent;color:#4d545a;border-radius:8px;padding:9px 6px;cursor:pointer;white-space:nowrap}
.ln-sg-on{background:#144d54;color:#fff}
.ln-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ln-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ln-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ln-span2{grid-column:span 2}
.ln-grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.ln-span7{grid-column:span 7}.ln-span5{grid-column:span 5}
.ln-run{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #dfe3e6}
.ln-runfoot{padding-top:10px;border-top:1px solid #dfe3e6}
.ln-grow{flex-grow:1;min-width:0}
.ln-row{display:flex;align-items:center;gap:12px}
.ln-between{display:flex;justify-content:space-between;align-items:center}
.ln-histline{padding:18px 20px;display:flex;align-items:center;gap:14px}
.ln-link{font-weight:700}
.ln-histline .ln-link{margin-left:auto;white-space:nowrap}
.ln-empty{padding:18px 20px;border-top:1px solid #dfe3e6;font-size:15px;color:#4d545a}
.ln-oneline{display:flex;align-items:center;gap:14px;padding:18px 20px}
.ln-oneline .ln-sq{width:40px;height:40px}
.ln-undo{margin-left:auto;font-size:13.5px;color:#4d545a}
.ln-undo a{font-weight:700}
.ln-hint{font-size:13px;color:#6b747b;margin-top:6px}
.ln-err{font-size:13.5px;color:#b3261e;font-weight:600;margin-right:auto}
.ln-formfoot{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.ln-from{background:#dceff0;color:#144d54;border-radius:10px;padding:10px 12px;font-size:13.5px}
.ln-check{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:#4d545a;margin-top:6px;font-weight:600}
.ln-voidbox{border-top:1px solid #dfe3e6;padding-top:14px}
.ln-banner{display:flex;align-items:center;gap:16px;border-radius:14px;padding:16px 20px}
.ln-banner > .ln-btn,.ln-banner > a.ln-btn{margin-left:auto}
.ln-banner-or{background:#ffe8d6}
.ln-banner-te{background:#dceff0}
.ln-filters{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:14px}
.ln-voided td{color:#9aa3a9;text-decoration:line-through}
.ln-voided td:last-child,.ln-voided td[data-l="Note"]{text-decoration:none}
.ln-edit{font-size:13px;font-weight:700;margin-left:6px}
.ln-subrow td{background:#f7f9fa}
.ln-fact{display:flex;flex-direction:column;gap:4px}
.ln-flag{display:flex;align-items:center;justify-content:space-between;background:#e9ecee;border-radius:10px;padding:12px 14px}
.ln-set{border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.ln-setname{font-size:22px;font-weight:800;color:#16181a}
.ln-told{border:1px solid #dfe3e6;border-radius:10px;margin:14px 0 0;padding:10px 14px 14px}
.ln-told legend{padding:0 6px}
.ln-stainform{padding:0 20px 20px;border-bottom:1px solid #dfe3e6}
.ln-stainform .ln-formfoot{margin-top:14px}
.ln-draft{margin-top:4px}
.ln-photos{display:flex;gap:10px;flex-wrap:wrap}
.ln-photos img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid #dfe3e6}
.ln-acts{white-space:nowrap}

/* Narrower screens: stack the grids; at phone width each table row becomes a block with its labels,
   so nothing scrolls sideways. */
@media (max-width:1100px){
  .ln-grid12{grid-template-columns:1fr}
  .ln-span7,.ln-span5{grid-column:auto}
  .ln-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ln-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .ln-stack{gap:16px}
  .ln-head{flex-wrap:wrap}
  .ln-head .ln-btn-y{margin-left:0;width:100%}
  .ln-stats{gap:12px}
  .ln-stat{padding:16px}
  .ln-num{font-size:32px}
  .ln-g2,.ln-g3,.ln-g4,.ln-filters{grid-template-columns:1fr}
  .ln-span2{grid-column:auto}
  .ln-sh{flex-wrap:wrap;padding:16px}
  .ln-shr{margin-left:0;width:100%;justify-content:space-between}
  .ln-seg{flex-wrap:wrap}
  .ln-sg{flex:1 1 45%}
  .ln-t thead{display:none}
  .ln-t,.ln-t tbody,.ln-t tr,.ln-t td{display:block;width:100%;box-sizing:border-box}
  .ln-t tr{border-top:1px solid #dfe3e6;padding:6px 0}
  .ln-t td{border-top:0;padding:6px 16px}
  .ln-t td[data-l]::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;color:#6b747b;margin-bottom:2px}
  .ln-t td[style]{width:auto!important}
  .ln-banner,.ln-histline,.ln-oneline{flex-wrap:wrap}
  .ln-banner > .ln-btn,.ln-histline .ln-link{margin-left:0}
  .ln-undo{margin-left:0}
}
.ln-span-all{grid-column:1 / -1}
.ln-right{flex-wrap:nowrap}
.ln-tr{white-space:nowrap}
/* The platform's global table rules (tokens.css: fixed layout, ellipsis, uppercase 10.5px sticky headers, row hover) are
   undone here so Linens tables follow the mockup: auto layout, wrapping text, sentence-case 13.5px headers. */
.ln-page table.ln-t{table-layout:auto;border-collapse:collapse;border-spacing:0}
.ln-page .ln-t th{font-size:13.5px;font-weight:600;color:#4d545a;text-transform:none;letter-spacing:0;padding:12px 16px;white-space:normal;position:static;background:#e9ecee;box-shadow:none;cursor:default;user-select:auto}
.ln-page .ln-t td{padding:14px 16px;font-size:15px;color:#4d545a;border-bottom:0;border-top:1px solid #dfe3e6;white-space:normal;overflow:visible;text-overflow:clip;max-width:none}
.ln-page .ln-t th:first-child,.ln-page .ln-t td:first-child{padding-left:16px}
.ln-page .ln-t th:last-child,.ln-page .ln-t td:last-child{padding-right:16px}
.ln-page .ln-t tbody tr{cursor:default}
.ln-page .ln-t tbody tr:hover td{background:transparent}
.ln-page .ln-t tbody td:first-child,.ln-page .ln-t tbody tr:hover td:first-child{box-shadow:none}
.ln-page .ln-t td.ln-acts .ln-btns{flex-wrap:nowrap}
.ln-page .ln-t .ln-subrow td{background:#f7f9fa}
.ln-page .ln-voided td{color:#9aa3a9}
@media (max-width:700px){
  .ln-page .ln-t td{padding:6px 16px;border-top:0}
  .ln-page .ln-t tr{border-top:1px solid #dfe3e6}
  .ln-page .ln-t td.ln-acts .ln-btns,.ln-page .ln-right{flex-wrap:wrap;justify-content:flex-start}
}
a.ln-badge,a.ln-badge:hover{text-decoration:none}

/* Session 255: "Change how laundry is done" (three buttons, the place only for Nearby). A hidden field group stays
   hidden even though .ln-g2 is a grid. */
.ln-page [hidden]{display:none !important}
.ln-chooser{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #dfe3e6}
