/* Copyright Vantage Point Software Solutions. All rights reserved. Unauthorised copying prohibited. */
:root{color-scheme: light;--bg: #f4f6f8;--panel: #ffffff;--ink: #1b2430;--ink-soft: #5c6b7a;--line: #dde3ea;--accent: #1a6fb5;--accent-soft: #e8f1f9;--overdue: #c0392b;--overdue-bg: #fdeceb;--due-soon: #7a5f00;--due-soon-bg: #ffd400;--due-soon-ink: #1b1b1b;--due-soon-accent: #ffcc00;--ok: #1e7a4b;--ok-bg: #e8f6ee;--cat-1: #6d4aa6;--cat-1-bg: #efe7fb;--cat-2: #0f7c82;--cat-2-bg: #e1f3f3;--cat-3: #b23a6b;--cat-3-bg: #fbe7ef;--cat-4: #3d5a80;--cat-4-bg: #e8edf4;--radius: 8px;--shadow: 0 1px 3px rgba(20,35,50,0.08)}@media (prefers-color-scheme: dark){header.bar .brand-logo,.panel .brand-logo{filter: brightness(0) invert(1)}}@media (prefers-color-scheme: dark){:root{color-scheme: dark;--bg: #161b21;--panel: #1e242c;--ink: #e6ebf1;--ink-soft: #9aa8b6;--line: #2e3742;--accent: #58a6e0;--accent-soft: #1c2c3a;--overdue: #f08a80;--overdue-bg: #3a2320;--due-soon: #e8c547;--due-soon-bg: #3d3016;--due-soon-ink: #ffd400;--due-soon-accent: #e8c547;--ok: #6dd39b;--ok-bg: #1c3328;--cat-1: #c3a6ec;--cat-1-bg: #2c2240;--cat-2: #5fd3d8;--cat-2-bg: #163538;--cat-3: #e893b9;--cat-3-bg: #3a1f2b;--cat-4: #9db6dc;--cat-4-bg: #202c3d;--shadow: 0 1px 3px rgba(0,0,0,0.4)}}:root{--safe-l: env(safe-area-inset-left,0px);--safe-r: env(safe-area-inset-right,0px);--safe-b: env(safe-area-inset-bottom,0px);--bar-top: 0px}html{scroll-padding-top: var(--bar-top)}*{box-sizing: border-box}body{margin: 0;background: var(--bg);color: var(--ink);font: 15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}.skip-link{position: fixed;inset: 8px auto auto 8px;transform: translateY(-150%);z-index: 100;background: var(--panel);color: var(--ink);border: 2px solid var(--accent);padding: 10px 14px}.skip-link:focus{transform: translateY(0)}a{color: var(--accent);text-decoration: none}a:hover{text-decoration: underline}header.bar{background: var(--panel);border-bottom: 1px solid var(--line);padding: 0 12px;padding: 0 max(12px,var(--safe-r)) 0 max(12px,var(--safe-l));display: flex;flex-wrap: wrap;align-items: center;gap: 0 6px;position: relative;z-index: 60;min-height: 56px}.brand{font-weight: 700;font-size: 17px;color: var(--ink);margin-right: 18px;padding: 14px 0;letter-spacing: 0}.brand:hover{text-decoration: none}.brand span{color: var(--accent)}.brand{display: inline-flex;align-items: center;gap: 8px}.brand-drop{color: var(--accent);flex: none}header.bar nav{display: flex;flex: 1 1 0;flex-wrap: wrap;gap: 4px;min-width: 0}header.bar nav a{padding: 10px 14px;border-radius: var(--radius);color: var(--ink-soft);font-weight: 600;min-height: 44px;display: flex;align-items: center}header.bar nav a:hover{background: var(--bg);text-decoration: none;color: var(--ink)}header.bar nav a.on{background: var(--accent-soft);color: var(--accent);box-shadow: 0 0 0 2px var(--accent);border-radius: 999px}.who{margin-left: auto;display: flex;flex-direction: column;justify-content: center;min-width: 0;color: var(--ink-soft);font-size: 13px}.who-row{display: flex;flex-wrap: wrap;justify-content: flex-end;align-items: center;gap: 0 12px;min-width: 0}@media (max-width: 1000px){header.bar .brand{order: 1;margin-right: 0;padding: 8px 0}header.bar .who{order: 2}header.bar nav{order: 3;flex: 1 0 100%}}.who b{color: var(--ink);font-weight: 600}.who form{margin: 0}.link-button{appearance: none;border: 0;background: transparent;color: var(--accent);padding: 0 4px;font: inherit;min-height: 44px}.link-button:hover{text-decoration: underline;filter: none}.inline-form{display: inline;margin: 0}.muted a{text-decoration: underline}a.inline-link{text-decoration: underline}main{max-width: none;margin: 0 auto;padding: 24px 12px 60px;padding: clamp(14px,3vw,24px) max(12px,var(--safe-r)) calc(60px + var(--safe-b)) max(12px,var(--safe-l))}main:has(>.hub-layout){max-width: none;padding-top: 12px;padding-left: max(12px,var(--safe-l));padding-right: max(12px,var(--safe-r))}@media (max-width: 640px){main:has(>.hub-layout){padding-top: 8px;padding-left: max(8px,var(--safe-l));padding-right: max(8px,var(--safe-r))}}@media (min-width: 641px){main:has(>.center-card){max-width: 1080px;padding-left: max(20px,var(--safe-l));padding-right: max(20px,var(--safe-r))}}body:has(main>.center-card,main>.landing) .site-footer{max-width: 1080px;padding-left: max(20px,var(--safe-l));padding-right: max(20px,var(--safe-r))}h1{font-size: 24px;margin: 0 0 4px;letter-spacing: 0}h2{font-size: 17px;margin: 28px 0 12px}.sub{color: var(--ink-soft);margin: 0 0 22px;font-size: 14px}.crumbs{font-size: 13px;color: var(--ink-soft);margin-bottom: 10px}.crumbs a{color: var(--ink-soft)}.panel{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow);padding: 18px;margin-bottom: 18px}.panel>h2:first-child{margin-top: 0}.empty{color: var(--ink-soft);text-align: center;padding: 30px 20px;font-size: 14px}.tallies{display: grid;grid-template-columns: repeat(auto-fit,minmax(150px,1fr));gap: 12px;margin-bottom: 22px}.tally{background: var(--panel);border: 1px solid var(--line);border-left: 4px solid var(--line);border-radius: var(--radius);padding: 14px 16px;box-shadow: var(--shadow)}.tally .n{font-size: 28px;font-weight: 700;line-height: 1.1;letter-spacing: 0}.tally .k{font-size: 12px;color: var(--ink-soft);text-transform: uppercase;letter-spacing: 0.06em;margin-top: 2px}.tally.overdue{border-left-color: var(--overdue)}.tally.overdue .n{color: var(--overdue)}.tally.due_soon{border-left-color: var(--due-soon-accent)}.tally.due_soon .n{color: var(--ink)}.tally.ok{border-left-color: var(--ok)}.tally.ok .n{color: var(--ok)}.pill{display: inline-block;padding: 3px 9px;border-radius: 20px;font-size: 12px;font-weight: 600;white-space: nowrap;overflow-wrap: normal}.pill.overdue{background: var(--overdue-bg);color: var(--overdue)}.pill.due_soon{background: var(--due-soon-bg);color: var(--due-soon-ink)}.pill.ok{background: var(--ok-bg);color: var(--ok)}.pill.cycle{background: var(--accent-soft);color: var(--accent)}.pill.flag{background: var(--due-soon-bg);color: var(--due-soon-ink)}.pill.role-admin{background: var(--cat-1-bg);color: var(--cat-1)}.pill.role-tech{background: var(--line);color: var(--ink-soft)}.cycle-dot{display: inline-block;width: 10px;height: 10px;border-radius: 50%;margin-right: 8px;vertical-align: middle}.cycle-dot.cat-1{background: var(--cat-1)}.cycle-dot.cat-2{background: var(--cat-2)}.cycle-dot.cat-3{background: var(--cat-3)}.cycle-dot.cat-4{background: var(--cat-4)}tr.status-overdue{box-shadow: inset 4px 0 0 var(--overdue)}tr.status-due_soon{box-shadow: inset 4px 0 0 var(--due-soon-accent)}tr.status-ok{box-shadow: inset 4px 0 0 var(--ok)}tr.status-overdue td:first-child,tr.status-due_soon td:first-child,tr.status-ok td:first-child{padding-left: 14px}table{width: 100%;border-collapse: collapse}th{text-align: left;font-size: 12px;text-transform: uppercase;letter-spacing: 0.05em;color: var(--ink-soft);padding: 0 10px 8px;border-bottom: 1px solid var(--line);font-weight: 600}td{padding: 11px 10px;border-bottom: 1px solid var(--line);vertical-align: middle}tr:last-child td{border-bottom: none}tbody tr:hover{background: var(--bg)}td.right,th.right{text-align: right}.muted{color: var(--ink-soft);font-size: 13px}.room-no{font-weight: 600;font-variant-numeric: tabular-nums}label{display: block;font-size: 13px;font-weight: 600;margin-bottom: 5px;color: var(--ink)}.hint{font-weight: 400;color: var(--ink-soft);font-size: 12px}input[type=text],input[type=password],input[type=email],input[type=date],input[type=number],select,textarea{width: 100%;padding: 10px 10px;border: 1px solid var(--line);border-radius: 6px;background: var(--panel);color: var(--ink);font: inherit;font-size: 16px;min-height: 44px}input:focus,select:focus,textarea:focus{outline: 2px solid var(--accent);outline-offset: -1px;border-color: var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline: 3px solid var(--accent);outline-offset: 2px}textarea{resize: vertical;min-height: 62px}input[type=file]{max-width: 100%}.fields{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr));gap: 12px;align-items: end}.field-wide{grid-column: 1 / -1}.check{display: flex;align-items: center;gap: 7px;font-weight: 500;flex-wrap: wrap}.check{min-height: 44px}.check input{width: 20px;height: 20px;flex: 0 0 auto}button,.btn{padding: 8px 14px;border: 1px solid var(--accent);border-radius: 6px;background: var(--accent);color: #f8fbff;font: inherit;font-size: 14px;font-weight: 600;cursor: pointer;white-space: nowrap;min-height: 44px}button:hover,.btn:hover{filter: brightness(1.08);text-decoration: none}button:disabled{cursor: wait;opacity: 0.65}button.quiet,.btn.quiet{background: var(--panel);color: var(--ink);border-color: var(--line)}button.quiet:hover,.btn.quiet:hover{background: var(--bg)}button.danger,.btn.danger{background: transparent;border-color: transparent;color: var(--overdue);font-weight: 500;padding: 6px 8px}button.danger:hover{background: var(--overdue-bg)}button.small,.btn.small{padding: 7px 11px;font-size: 13px;min-height: 44px}label.has-reveal{display: flex;align-items: center;gap: 6px}label.has-reveal button.reveal{margin: 0 0 0 auto;padding: 0 4px;background: none;border: none;color: var(--ink-soft);cursor: pointer;width: auto;min-height: 44px;display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto}label.has-reveal button.reveal:hover{filter: none;color: var(--accent)}label.has-reveal button.reveal[aria-pressed="true"]{color: var(--accent)}.flash{padding: 11px 15px;border-radius: var(--radius);margin-bottom: 14px;font-size: 14px;font-weight: 500;border: 1px solid transparent}.flash.success{background: var(--ok-bg);color: var(--ok);border-color: var(--ok)}.flash.error{background: var(--overdue-bg);color: var(--overdue);border-color: var(--overdue)}.flash.warn{background: var(--due-soon-bg);color: var(--due-soon-ink);border-color: var(--due-soon)}.flash a{color: inherit;text-decoration: underline}.dot{display: inline-block;width: 8px;height: 8px;border-radius: 50%;background: var(--ink-soft);vertical-align: baseline}.dot.on{background: var(--ok);box-shadow: 0 0 0 3px var(--ok-bg)}.replace-form{display: flex;gap: 6px;align-items: center;justify-content: flex-end}.replace-form input[type=date]{width: 145px;padding: 5px 8px;font-size: 13px}.center-card{max-width: 380px;margin: 70px auto}.center-card .brand-big{font-size: 22px;font-weight: 700;text-align: center;margin-bottom: 6px}.center-card .brand-big span{color: var(--accent)}.center-card p.sub{text-align: center}.center-card h1.terms-heading{text-align: center;font-size: 14px;font-weight: 400;line-height: inherit}.center-card .fields{grid-template-columns: 1fr}.center-card button{width: 100%;margin-top: 14px}.rooms{display: grid;grid-template-columns: repeat(auto-fill,minmax(132px,1fr));gap: 10px}.room-card{border: 1px solid var(--line);border-left: 7px solid var(--line);border-radius: var(--radius);padding: 11px 13px 11px 11px;background: var(--panel);color: var(--ink);display: block}.room-card:hover{text-decoration: none;border-color: var(--accent);box-shadow: var(--shadow)}.room-card .n{display: block}.room-card .n .room-label{display: block;font-size: 11px;font-weight: 600;color: var(--ink-soft)}.room-card .n .room-no{display: block;font-weight: 700;font-size: 18px;font-variant-numeric: tabular-nums}.room-card .d{display: block;font-size: 12px;color: var(--ink-soft);margin-top: 3px;white-space: normal}.room-card.overdue{border-left-color: var(--overdue)}.room-card.due_soon{border-left-color: var(--due-soon-accent)}.room-card.ok{border-left-color: var(--ok)}.status-label{display: inline-block;margin-top: 4px;padding: 3px 9px;border-radius: 12px;font-size: 13px;font-weight: 700;white-space: nowrap;overflow-wrap: normal}.status-label.ok{background: #1e7a4b;color: #ffffff}.status-label.due_soon{background: #ffd400;color: #1b1b1b}.status-label.overdue{background: #c0392b;color: #ffffff}.room-card-form{margin: 0}button.room-card.tappable{appearance: none;-webkit-appearance: none;width: 100%;font: inherit;text-align: left;cursor: pointer;min-height: 72px}button.room-card.tappable:hover{filter: none}button.room-card.tappable:active{background: var(--bg);transform: scale(0.98)}.room-open{display: block;text-align: center;margin-top: 4px;font-size: 12px;color: var(--ink-soft);min-height: 24px;line-height: 24px}.room-card-wrap{position: relative}.room-card-wrap .room-check{position: absolute;top: 8px;left: 8px;width: 20px;height: 20px;z-index: 1;margin: 0}.room-card-wrap:has(.room-check) .room-card{padding-left: 34px}.room-card .n.online-name{font-size: 20px;display: flex;align-items: center;gap: 8px;min-width: 0}.online-name .dot{width: 11px;height: 11px}.online-name-text{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;overflow-wrap: normal;min-width: 0}.picker{margin-bottom: 14px}.picker label{color: var(--ink-soft);font-weight: 600;margin-right: 8px;display: inline}.picker select{font-weight: 600;padding: 10px 12px;width: auto;max-width: 100%}details.fold>summary{cursor: pointer;font-weight: 700;font-size: 16px;color: var(--accent);min-height: 44px;display: flex;align-items: center;list-style: none}details.fold>summary::-webkit-details-marker{display: none}details.fold[open]>summary{margin-bottom: 8px}details.fold h3{font-size: 15px;margin: 18px 0 10px}details.fold h3:first-of-type{margin-top: 0}.category{margin-bottom: 22px}.category-title{font-size: 12px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--ink-soft);margin: 0 0 8px}.category .panel{padding: 14px 16px;margin-bottom: 0}.category .panel>.empty{padding: 14px 0}.compact-table th{padding: 0 8px 6px}.compact-table td{padding: 7px 8px}.admin-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(230px,1fr));gap: 12px;margin-bottom: 18px}.admin-tile{display: flex;flex-direction: column;gap: 4px;background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow);padding: 16px 18px;color: var(--ink);min-height: 72px}.admin-tile:hover{text-decoration: none;border-color: var(--accent)}.admin-tile b{font-size: 16px}.property-filter{display: flex;flex-wrap: wrap;gap: 4px 18px;padding-bottom: 14px;margin-bottom: 14px;border-bottom: 1px solid var(--line)}.property-filter .check{min-height: 32px;font-size: 14px}.property-filter .check:first-child{font-weight: 700;padding-right: 14px;border-right: 1px solid var(--line)}.feed{list-style: none;margin: 0;padding: 0}.feed li{padding: 10px 0;border-bottom: 1px solid var(--line)}.feed li:last-child{border-bottom: 0}.feed a{display: inline-block;min-height: 24px}.voided-row{opacity: 0.6}.compact-action{margin-top: 8px}.row-actions{display: flex;gap: 6px;justify-content: flex-end;flex-wrap: wrap}.row-actions form{margin: 0}.panel-note{margin: 12px 0 0}.detail-note{margin: 14px 0 0}.top-note{margin-top: 12px}.setting-state{font-size: 18px;padding-top: 6px}.error-text{color: var(--overdue)}.inline-select{width: auto}.password-reset{width: min(260px,100%) !important}.tile-choices{display: grid;gap: 6px;margin-top: 8px}.tile-choices form{margin: 0}.tile-choices button{width: 100%}.assign-form{display: grid;gap: 2px}.small-check{min-height: 30px;font-size: 13px}.due-horizon{display: flex;align-items: center;gap: 8px;flex-wrap: wrap;margin: 6px 0 10px}.due-horizon .check{font-weight: 500}.fl-dot{display: inline-block;width: 10px;height: 10px;border-radius: 50%;background: var(--ok);vertical-align: middle}.fl-dot.overdue{background: var(--overdue)}.fl-dot.due_soon{background: var(--due-soon-bg);box-shadow: 0 0 0 1px var(--due-soon)}.floor-list h2{margin: 12px 0 4px;font-size: 1.05rem}.floor-list table{margin-bottom: 6px}.floor-list td,.floor-list th{padding: 3px 8px}@media print{header.bar,.no-print,.print-hide,.flash,.skip-link{display: none !important}body{background: #fff;color: #000}main{padding: 0}.panel{box-shadow: none;border: 1px solid #ccc;break-inside: avoid}a{color: inherit;text-decoration: none}}td,.room-card,.flash,.sub,.muted{overflow-wrap: anywhere}.floor-nav-wrap{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius);padding: 12px 16px;margin-bottom: 20px;box-shadow: var(--shadow);position: sticky;top: var(--bar-top);z-index: 8}.floor-nav-header{display: flex;align-items: center;gap: 10px;margin-bottom: 10px}.floor-nav-label{font-weight: 700;font-size: 13px;text-transform: uppercase;letter-spacing: 0.5px;color: var(--ink-soft)}.floor-select-dropdown{flex: 1;max-width: 320px;min-height: 44px;padding: 8px 12px;border-radius: var(--radius);border: 1px solid var(--line);background: var(--bg);color: var(--ink);font-size: 15px;font-weight: 600}.floor-nav-pills{display: flex;gap: 8px;overflow-x: auto;-webkit-overflow-scrolling: touch;scrollbar-width: thin;padding-bottom: 4px}.floor-nav-pills::-webkit-scrollbar{height: 6px}.floor-nav-pills::-webkit-scrollbar-thumb{background: var(--line);border-radius: 3px}.floor-pill{display: inline-flex;align-items: center;gap: 6px;min-height: 44px;padding: 8px 16px;border-radius: 22px;border: 1px solid var(--line);background: var(--bg);color: var(--ink);font-size: 14px;font-weight: 600;white-space: nowrap;cursor: pointer;transition: all 0.15s ease-in-out;touch-action: manipulation;user-select: none}.floor-pill:hover{background: var(--accent-soft);color: var(--accent);border-color: var(--accent)}.floor-pill.active{background: var(--accent);color: #ffffff;border-color: var(--accent);box-shadow: 0 2px 6px rgba(26,111,181,0.35)}.floor-pill .pill-count{display: inline-block;padding: 2px 7px;border-radius: 12px;font-size: 12px;font-weight: 700;background: rgba(0,0,0,0.08);color: inherit}.floor-pill.active .pill-count{background: rgba(0,0,0,0.25);color: #ffffff}.floor-section{transition: opacity 0.2s ease-in-out}.tag-pill{display: inline-block;padding: 3px 8px;border-radius: 12px;font-size: 12px;font-weight: 600;background: var(--accent-soft);color: var(--accent)}@media (max-width: 640px){main{padding: 16px 12px 50px;padding: 16px max(12px,var(--safe-r)) calc(50px + var(--safe-b)) max(12px,var(--safe-l))}body{font-size: 16px}header.bar{padding: 2px 8px;padding: 2px max(8px,var(--safe-r)) 2px max(8px,var(--safe-l))}.brand{display: block}header.bar nav a{padding: 10px 12px;flex: none;white-space: nowrap}.who{flex: 1 1 0}.who-row{gap: 8px;flex-wrap: nowrap}.who a{max-width: 90px;min-width: 0;line-height: 44px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.who form{min-height: 44px;display: flex;align-items: center}.tallies{grid-template-columns: repeat(2,minmax(0,1fr))}.floor-nav-wrap{padding: 10px 12px;margin-bottom: 14px}.floor-select-dropdown{max-width: 100%}}@media (max-width: 760px){table,thead,tbody,tr,td,th{display: block}thead{display: none}tr{border-bottom: 1px solid var(--line);padding: 10px 0}td{border: none;padding: 5px 0;text-align: left !important}.row-actions{justify-content: flex-start}td[data-label]{display: grid;grid-template-columns: minmax(105px,38%) minmax(0,1fr);gap: 10px}td[data-label]::before{content: attr(data-label);color: var(--ink-soft);font-size: 12px;font-weight: 600;text-transform: uppercase}.replace-form{justify-content: flex-start;margin-top: 8px}.replace-form{flex-wrap: wrap}}.replaced-row td,.cycle-done-row td{background: var(--ok-bg)}.cycle-note{margin: 8px 0 12px}tr.row-leaving>td{opacity: 0;transition: opacity 0.4s ease}@media (prefers-reduced-motion: reduce){tr.row-leaving>td{transition: none}}.brand-logo{height: 28px;width: auto;max-width: 56px;vertical-align: middle;border-radius: 6px;object-fit: contain}.panel .brand-logo{height: 56px;max-width: 112px}.fields.wide-fields{grid-template-columns: 1fr}.wide-fields input[type=text],.wide-fields select,.wide-fields input[type=date]{min-height: 52px;font-size: 18px}.photo-row{display: flex;flex-wrap: wrap;align-items: center;gap: 12px}.photo-slots{display: flex;gap: 12px}.photo-slot,.photo-slot-empty{width: 128px;height: 128px}.photo-slot{position: relative}.photo-slot img{width: 100%;height: 100%;object-fit: cover;border-radius: 6px;cursor: zoom-in;display: block}.photo-slot-empty{border: 2px dashed var(--line);border-radius: 8px;display: flex;align-items: center;justify-content: center;color: var(--ink-soft);font-size: 14px;overflow: hidden}.photo-slot-empty img{width: 100%;height: 100%;object-fit: cover}.photo-remove{position: absolute;top: -8px;right: -8px;width: 24px;height: 24px;min-height: 0;padding: 0;border-radius: 50%;line-height: 1;font-size: 12px}.photo-mini{width: 44px;height: 44px;object-fit: cover;border-radius: 5px;cursor: zoom-in;margin: 4px 4px 0 0}.photo-preview-inline{vertical-align: middle;width: 56px;height: 56px;object-fit: cover;border-radius: 6px;margin-left: 12px}.span-all{grid-column: 1 / -1}.lightbox{position: fixed;inset: 0;background: rgba(0,0,0,.85);display: none;align-items: center;justify-content: center;z-index: 1000;padding: 16px}.lightbox.open{display: flex}.lightbox img{max-width: 100%;max-height: 100%;border-radius: 6px}.lightbox button{position: absolute;top: 12px;right: 16px;font-size: 32px;line-height: 1;background: #fff;color: #000;border: 0;border-radius: 50%;width: 44px;height: 44px;cursor: pointer}.fields-top{align-items: start}.photo-row input[type=text]{flex: 1;max-width: 420px}.pw-wrap{position: relative}.pw-wrap input{padding-right: 44px}.pw-eye{position: absolute;right: 4px;top: 50%;transform: translateY(-50%);width: 38px;height: 34px;padding: 0;margin: 0;background: transparent;border: 0;color: var(--ink-soft);font-size: 18px;line-height: 1;cursor: pointer;opacity: .6}.pw-eye:hover{filter: none;opacity: 1}button.go{background: #1f7a3d;border-color: #1f7a3d;color: #fff}button.go:hover{background: #17612f;filter: none}input[type="password"]::-ms-reveal,input[type="password"]::-ms-clear{display: none}.room-card a.room-no{color: var(--accent);text-decoration: none}.room-card a.room-no:hover,.room-card .d a:hover{text-decoration: underline}.room-card .d a{color: var(--accent)}.room-card .room-card-form{margin-top: 8px}.landing{max-width: 880px;margin: 0 auto;padding: 24px 0 40px}.landing-hero{text-align: center;padding: 28px 0 8px}.landing-hero h1{font-size: 34px;margin: 0 0 12px}.landing-lead{font-size: 18px;max-width: 640px;margin: 0 auto 20px}.landing-login{display: inline-block;background: var(--accent);color: #fff;padding: 12px 28px;border-radius: var(--radius);font-weight: 600;text-decoration: none}.landing-login:hover{filter: brightness(0.92);text-decoration: none}.landing-features h2{margin-top: 34px}.landing-grid{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fit,minmax(240px,1fr));gap: 14px}.landing-grid li{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius);padding: 14px 16px}.landing-grid h3{margin: 0 0 6px;font-size: 16px}.landing-grid p{margin: 0}.landing-foot{text-align: center;margin-top: 32px}.flush-top{margin-top: 0}.import-floor-group{margin-bottom: 14px}.import-floor-group summary{cursor: pointer;font-weight: 600;font-size: 15px;padding: 6px 0}.import-floor-group .table-wrap{margin-top: 8px}.import-actions{display: flex;gap: 12px;align-items: center;margin-top: 20px;padding-top: 14px;border-top: 1px solid var(--line)}.import-actions button.primary{font-size: 16px;padding: 12px 24px}.rooms .room-card-wrap{min-width: 0}.room-card{min-width: 0;box-sizing: border-box}.room-card .room-card-form button{display: block;width: 100%;box-sizing: border-box;white-space: normal;padding: 7px 6px;font-size: 12px;line-height: 1.25}.rooms{grid-template-columns: repeat(auto-fill,minmax(176px,1fr));align-items: stretch}.room-card-wrap{display: flex;flex-direction: column}.room-card-wrap .room-card{flex: 1 1 auto;display: flex;flex-direction: column}.room-card .room-card-form{margin-top: auto;padding-top: 8px}.report-table .check-col{width: 28px;padding-right: 0}.report-table .check-col input{width: 18px;height: 18px;margin: 0}.sr-only{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.floor-nav-pills{flex-wrap: wrap;overflow-x: visible}.landing{padding: 8px 0 16px}.landing-hero{padding: 10px 0 0}.landing-hero h1{font-size: 28px;margin: 0 0 8px}.landing-lead{font-size: 16px;margin-bottom: 12px}.landing-login{padding: 10px 24px}.landing-hero p{margin: 6px 0}.landing-features h2{margin: 18px 0 8px;font-size: 17px}.landing-features p{margin: 0 0 4px;font-size: 14px}.landing-grid{gap: 10px}.landing-grid li{padding: 10px 12px}.landing-grid h3{font-size: 15px;margin-bottom: 4px}.landing-grid p{font-size: 13px;line-height: 1.35}.landing-foot{margin-top: 14px;font-size: 13px}.landing-hero h1{font-size: 26px}.landing-features h2{margin: 12px 0 6px}.landing-grid p{font-size: 12.5px}.landing-foot{margin-top: 8px}.landing-hero{padding-top: 4px}.landing{min-height: calc(100vh - 32px);display: flex;flex-direction: column;justify-content: center;text-align: center}.landing-features h2,.landing-features p,.landing-grid li{text-align: center}.landing-features>p{max-width: 760px;margin-left: auto;margin-right: auto}main:has(>.landing){padding: 0 20px;max-width: 1180px}.landing{min-height: 100vh;min-height: 100dvh;padding: 0;max-width: none}.landing-hero h1{font-size: clamp(26px,2.6vw,42px);margin-bottom: 10px}.landing-lead{font-size: clamp(15px,1.25vw,20px);max-width: 820px;margin-bottom: 14px}.landing-login{font-size: clamp(15px,1.1vw,18px);padding: 12px 30px}.landing-hero p.muted{font-size: clamp(13px,0.95vw,16px)}.landing-features h2{font-size: clamp(17px,1.4vw,22px);margin: clamp(10px,1.6vh,22px) 0 10px}.landing-grid{gap: clamp(10px,1.2vw,18px)}.landing-grid li{padding: clamp(10px,1.3vw,18px) clamp(12px,1.4vw,20px)}.landing-grid h3{font-size: clamp(15px,1.15vw,19px);margin-bottom: 6px}.landing-grid p{font-size: clamp(12.5px,0.95vw,15.5px);line-height: 1.45}.landing-features>p{font-size: clamp(13.5px,1.05vw,17px);max-width: 900px}.landing-foot{font-size: clamp(12px,0.9vw,14px);margin-top: clamp(6px,1.2vh,16px)}@media (min-width: 760px){.landing-grid{grid-template-columns: repeat(3,1fr)}}.landing-hero p.landing-lead{margin-left: auto;margin-right: auto;text-align: center}@media (max-width: 640px){.photo-slots{flex-wrap: wrap}.photo-slot,.photo-slot-empty{width: 104px;height: 104px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size: 16px}}.site-footer{max-width: none;margin: 0 auto;padding: 16px 12px 28px;padding: 16px max(12px,var(--safe-r)) calc(28px + var(--safe-b)) max(12px,var(--safe-l));font-size: 12px;color: #5f6672;border-top: 1px solid #e5e7eb}.site-footer a{color: inherit}.site-footer .terms-link{margin: 0}.site-footer .secure-url{margin-left: 0;color: #565d6b;white-space: nowrap}.vp-credit{display: flex;align-items: center;gap: 8px;margin: 10px 0 0;color: #565d6b}.vp-credit .vp-credit-link{display: inline-flex;align-items: center;gap: 8px;padding: 8px 0;margin: -8px 0;color: inherit}.vp-chip{display: inline-flex;align-items: center;background: #070B16;border-radius: 6px;padding: 3px 6px}.vp-chip img{height: 32px;width: auto;display: block}.site-footer .vp-credit{padding: 10px 0 6px;justify-content: center}.vp-mark{display: block;height: 36px;width: auto}.site-footer .vp-credit-link{flex-direction: row;align-items: center;gap: 10px}.vp-words{font-size: 15px;font-weight: 600;letter-spacing: 0.02em;color: #565d6b}.vp-trend{display: inline-block;vertical-align: -2px;margin-left: 6px;transition: transform 0.15s}.vp-credit-link:hover .vp-trend{transform: translate(2px,-2px)}@media (prefers-color-scheme: dark){.vp-words{color: #b4bcc8}}@media (prefers-color-scheme: dark){.vp-full-light{display: none}.vp-full-dark{display: block}}.site-footer .vp-chip{padding: 5px 9px;border-radius: 8px}body:has(.hub-layout) .site-footer{max-width: none;padding-left: max(12px,var(--safe-l));padding-right: max(12px,var(--safe-r))}@media (max-width: 640px){body:has(.hub-layout) .site-footer{padding-left: max(8px,var(--safe-l));padding-right: max(8px,var(--safe-r))}}.help-toc{display: flex;flex-wrap: wrap;gap: 8px 16px;margin: 0 0 12px;padding: 0;list-style: none}.help h2{margin-top: 28px}.help h3{margin: 20px 0 6px;font-size: 17px}.help ol,.help ul{margin: 6px 0 10px 22px;padding: 0}.help li{margin: 4px 0}.lot-input{display: inline-flex;gap: 6px;align-items: center;max-width: 100%}.lot-input input[type=text]{width: 11em;max-width: 100%;font-size: 16px}.lot-form{display: flex;gap: 6px;align-items: center;justify-content: flex-end;flex-wrap: wrap;margin-top: 6px}.lot-form .next-due-pick{display: inline-flex;align-items: center;gap: 6px;font-size: 0.85rem;margin: 0;white-space: nowrap}.lot-form .next-due-pick select{width: auto;min-width: 0;padding: 4px 6px;font-size: 0.85rem}.installed-line{margin: 4px 0 12px;font-size: 15px}.next-due{display: inline-block;font-size: 13px;color: var(--ink-soft)}.room-no + .next-due{margin-left: 8px}.next-due.overdue{color: var(--overdue,#b3261e);font-weight: 700}.room-search{display: flex;gap: 6px;align-items: center;margin: 6px 0 12px;flex-wrap: wrap}.room-search input[type=text]{width: 12em;max-width: 100%;font-size: 16px}.room-find{margin-bottom: 12px}.room-find label{display: inline;margin-right: 8px;font-weight: 600}.room-find input[type=text]{width: 22em;max-width: 100%;font-size: 16px}.search-hidden{display: none !important}.export-form h3{margin-top: 0}[hidden]{display: none !important}.scan-overlay{position: fixed;inset: 0;z-index: 2000;background: #000;color: #fff;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 14px;padding: 16px;padding: max(16px,env(safe-area-inset-top,0px)) max(16px,var(--safe-r)) max(16px,var(--safe-b)) max(16px,var(--safe-l))}.scan-stage{position: relative;width: 100%;display: flex;justify-content: center;overflow: hidden;border-radius: 8px;flex-shrink: 0}.scan-target{position: absolute;left: 50%;top: 50%;width: 72%;height: 38%;transform: translate(-50%,-50%);border: 3px solid rgba(255,255,255,0.6);border-radius: 16px;box-shadow: 0 0 0 9999px rgba(0,0,0,0.25);pointer-events: none}.scan-target.scan-target-1d{width: 88%;height: 30%}.scan-target:not(.scan-target-1d){width: auto;height: min(260px,92%);aspect-ratio: 1 / 1}.scan-overlay:not(.scan-1d) .scan-stage .scan-video{min-height: 240px}.scan-stage .scan-video{display: block}.scan-torch{position: absolute;right: 8px;bottom: 8px;min-height: 44px;padding: 8px 14px;font-size: 15px;color: #fff;background: rgba(0,0,0,0.6);border: 1px solid rgba(255,255,255,0.7);border-radius: 22px}.scan-torch[aria-pressed="true"]{background: #ffc94d;color: #000}.scan-video{width: 100%;max-height: 55vh;max-height: 55dvh;object-fit: cover;background: #111;border-radius: 8px}.scan-status{margin: 0;font-size: 16px;text-align: center}.scan-status.scan-status-warn{color: #ffc94d;font-weight: 600}.scan-pick-link{background: none;border: 0;color: #fff;text-decoration: underline;font-size: 16px;min-height: 44px;cursor: pointer}.scan-pick{display: flex;flex-wrap: wrap;gap: 10px;align-items: flex-end;justify-content: center}.scan-pick label{color: #fff;display: flex;flex-direction: column;gap: 4px;font-weight: 600}.scan-pick select{font-size: 16px;min-height: 44px;min-width: 14em;max-width: 100%}.scan-pick button{min-height: 44px;padding: 8px 18px;font-size: 16px}.scan-overlay{overflow-y: auto;justify-content: safe center}.scan-overlay.scan-1d .scan-video{max-height: 40vh;max-height: 40dvh}.scan-more{display: flex;flex-wrap: wrap;gap: 8px 12px;justify-content: center;max-width: 100%}.scan-more button,.scan-type .scan-type-back{min-height: 44px;padding: 8px 14px;font-size: 16px;color: #fff;background: none;border: 1px solid rgba(255,255,255,0.7);border-radius: 8px}.scan-type{display: flex;flex-wrap: wrap;gap: 10px;align-items: flex-end;justify-content: center;width: 100%;max-width: 32em}.scan-type label{display: flex;flex-direction: column;gap: 4px;flex: 1 1 14em;min-width: 0;color: #fff;font-weight: 600}.scan-type input{font-size: 16px;min-height: 44px;width: 100%;box-sizing: border-box}.scan-type button[type=submit]{min-height: 44px;padding: 8px 18px;font-size: 16px}.scan-debug{margin: 0;padding: 8px 10px;max-width: 100%;font: 12px/1.35 ui-monospace,Menlo,Consolas,monospace;color: #cfe;background: rgba(255,255,255,0.08);border-radius: 6px;white-space: pre-wrap;overflow-wrap: anywhere}.scan-cancel{min-height: 48px;padding: 10px 28px;font-size: 16px;background: #fff;color: #000;border: 0;border-radius: 8px}.hub-row{display: flex;flex-wrap: wrap;gap: 16px;align-items: flex-start}.hub-row>*{flex: 1 1 320px;min-width: 0}@media (max-width: 700px){.hub-row>*{flex-basis: 100%}}.prop-head{display: flex;justify-content: space-between;align-items: flex-end;flex-wrap: wrap;gap: 12px}.hub-focus{margin: 0 0 12px}.pie-wrap{display: flex;gap: 12px;align-items: center}.donut{position: relative;flex: none;width: 96px;height: 96px}.donut svg{display: block;width: 100%;height: 100%}.donut-track{stroke: var(--line);opacity: 0.6}.donut circle[class^="slice-"]{transition: stroke-width 0.15s}.donut circle[class^="slice-"]:hover{stroke-width: 17}.slice-overdue{stroke: #d64545}.slice-due_soon{stroke: #e8a317}.slice-ok{stroke: #2e9e5b}.donut-center{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;pointer-events: none}.donut-total{font-size: 28px;font-weight: 700;line-height: 1;color: var(--ink);font-variant-numeric: tabular-nums}.donut-label{font-size: 11px;line-height: 1.2;color: var(--ink-soft)}.pie-legend{list-style: none;margin: 0;padding: 0}.pie-legend li{display: grid;grid-template-columns: 12px 1fr 3ch 5ch;align-items: center;column-gap: 8px;padding: 2px 0}.legend-count,.legend-pct{text-align: right;font-variant-numeric: tabular-nums}.legend-count{font-weight: 700;color: var(--ink)}.legend-pct{color: var(--ink-soft)}.pie-legend{flex: 1;min-width: 0;font-size: 13px}.swatch{width: 12px;height: 12px;border-radius: 50%;display: inline-block}.swatch.overdue{background: #d64545}.swatch.due_soon{background: #e8a317}.swatch.ok{background: #2e9e5b}.status-extra{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1.4fr);gap: 12px 24px}.status-sub{margin: 0 0 4px;font-size: 12px;line-height: 1.4;color: var(--ink-soft)}.status-extra .pie-legend li{grid-template-columns: 1fr 4ch}.status-due{max-width: 240px}.status-cycles{margin: 6px 0 0}.type-bars{list-style: none;margin: 0;padding: 0;font-size: 13px}.type-bars li{display: grid;grid-template-columns: minmax(0,1fr) 3ch 5ch;column-gap: 8px;align-items: center;padding: 2px 0}.type-bars .legend-label{overflow-wrap: anywhere}.type-bar{grid-column: 1 / -1;display: block;width: 100%;height: 6px}.bar-track{fill: var(--line);opacity: 0.6}.bar-fill.t0,.slice-t0{fill: #2f6fdb;stroke: #2f6fdb}.bar-fill.t1,.slice-t1{fill: #12a39a;stroke: #12a39a}.bar-fill.t2,.slice-t2{fill: #8a5cd6;stroke: #8a5cd6}.bar-fill.t3,.slice-t3{fill: #e07a2f;stroke: #e07a2f}.bar-fill.t4,.slice-t4{fill: #c24a8d;stroke: #c24a8d}.bar-fill.t5,.slice-t5{fill: #7b8794;stroke: #7b8794}@media (max-width: 640px){.status-extra{grid-template-columns: minmax(0,1fr)}}.in-use-scroll{overflow-x: auto;max-width: 100%;-webkit-overflow-scrolling: touch}.in-use-table{display: table;font-size: 13px;font-variant-numeric: tabular-nums}.in-use-table thead{display: table-header-group}.in-use-table tbody{display: table-row-group}.in-use-table tfoot{display: table-footer-group}.in-use-table tr{display: table-row;padding: 0;border-bottom: none}.in-use-table th,.in-use-table td{display: table-cell}.in-use-table th{padding: 0 8px 6px;font-size: 12px;text-transform: none;letter-spacing: 0}.in-use-table th.right,.in-use-table td{white-space: nowrap}.in-use-table td,.in-use-table tbody th,.in-use-table tfoot th{padding: 3px 8px;border-bottom: 1px solid var(--line)}.in-use-table tbody th,.in-use-table tfoot th{font-size: 13px;color: var(--ink)}.in-use-table tbody tr:last-child td,.in-use-table tbody tr:last-child th{border-bottom: none}.in-use-table .in-use-total,.in-use-table tfoot th,.in-use-table tfoot td{font-weight: 700;color: var(--ink)}.in-use-table tfoot th,.in-use-table tfoot td{border-top: 2px solid var(--line);border-bottom: none}@media (max-width: 760px){.in-use-table td{text-align: right !important}}tr.picked{background: var(--accent-soft)}.open-link{font-size: 12px;margin-left: 6px}.due-search{width: 12em;max-width: 100%;font-size: 16px}.list-search{margin: 0 0 .6em}.hub-cards{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr));gap: 10px;align-items: start;margin: 0 0 14px}.hub-card{padding: 10px 12px;margin: 0}.hub-card-title{margin: 0 0 6px;font-size: 12px;text-transform: uppercase;letter-spacing: 0.06em;color: var(--ink-soft)}.hub-export>summary{cursor: pointer;font-weight: 700;font-size: 14px;color: var(--accent);list-style: none}.hub-export>summary::-webkit-details-marker{display: none}.hub-export[open]>summary{margin-bottom: 8px}.hub-export .fields{grid-template-columns: 1fr 1fr;gap: 8px}.messages-panel .feed{max-height: 180px;overflow-y: auto}.messages-panel .feed li{padding: 6px 0}@media (max-width: 480px){.hub-cards{grid-template-columns: 1fr}.hub-export .fields{grid-template-columns: 1fr}}details.replaced-today>summary{min-height: 32px;font-size: 15px}details.replaced-today{padding-top: 6px;padding-bottom: 6px}.prop-head{align-items: center}.prop-title h1{font-size: 2em}.prop-head .room-find{margin: 0;flex: 0 1 auto;display: flex;align-items: center;gap: 10px;flex-wrap: wrap}.prop-head .room-find .btn{display: inline-flex;align-items: center;text-decoration: none}.prop-head .room-find-box{flex: 0 1 280px;width: 280px;max-width: 100%;min-width: 0}.prop-head .room-find input[type=text]{width: 100%}.all-search{position: relative;margin: 0 0 10px;max-width: 520px}.all-search-row{display: flex;gap: 8px}.all-search-row select{flex: 0 1 200px;min-width: 0;font-size: 16px;min-height: 40px}.all-search-row input[type=search]{flex: 1 1 auto;min-width: 0}.all-search input[type=search]{width: 100%;padding: 8px 10px;border: 1px solid var(--line);border-radius: 6px;background: var(--panel);color: var(--ink);font: inherit;font-size: 16px;min-height: 40px}.all-search-results{position: absolute;left: 0;right: 0;top: 100%;z-index: 50;margin: 2px 0 0;padding: 4px 0;list-style: none;max-height: 260px;overflow-y: auto;background: var(--panel);border: 1px solid var(--line);border-radius: 6px;box-shadow: 0 4px 12px rgba(0,0,0,.15)}.all-search-results li{padding: 6px 10px}.all-search-results a{font-weight: 600}.quick-replace{margin: 0 0 14px}.qr-grid{display: flex;flex-wrap: wrap;gap: 10px}.qr-field{flex: 1 1 200px;min-width: 0}.qr-field label,.qr-modal-box>label{display: block;font-weight: 600;margin-bottom: 4px}.qr-field select,.qr-field input[type=text]{width: 100%;font-size: 16px;min-height: 44px}.qr-field .lot-field input[type=text]{width: auto}.qr-buttons{display: flex;flex-wrap: wrap;gap: 8px;margin: 10px 0 0}.qr-buttons button{flex: 1 1 160px;min-height: 48px}.quick-replace #qr-msg,.quick-replace #qr-done{margin: 10px 0 0}.qr-done{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px;font-weight: 700}.qr-lot-prompt{flex: 1 1 100%;display: flex;flex-wrap: wrap;align-items: center;gap: 8px}.qr-lot-prompt input[type=text]{flex: 1 1 140px;min-width: 0;font-size: 16px}.qr-modal{position: fixed;inset: 0;z-index: 1500;background: rgba(0,0,0,.55);display: flex;align-items: center;justify-content: center;padding: 16px;padding: max(16px,env(safe-area-inset-top,0px)) max(16px,var(--safe-r)) max(16px,var(--safe-b)) max(16px,var(--safe-l))}.qr-modal-box{background: var(--panel);color: var(--ink);border-radius: 10px;padding: 18px;width: 100%;max-width: 440px;max-height: 90vh;max-height: 90dvh;overflow-y: auto}.qr-modal-box h3{margin: 0 0 10px}.qr-filters{display: flex;flex-direction: column;gap: 6px;margin: 0 0 12px}.qr-next-due{display: flex;align-items: center;gap: 8px;margin: 0 0 10px}.qr-next-due label{margin: 0}.qr-next-due select{width: auto}.qr-filter{display: flex;align-items: center;gap: 6px;font-size: 16px;min-height: 36px}.qr-filter input{width: 22px;height: 22px}.qr-actions{display: flex;gap: 8px;margin-top: 14px}.qr-actions button{flex: 1;min-height: 48px}.qr-nolot{margin-top: 10px}.qr-nolot p{margin: 0 0 6px}.lot-missing{color: #b45309}.nolot-choice{margin-top: 6px;display: flex;flex-wrap: wrap;gap: 6px;align-items: center}.nolot-choice>div{flex-basis: 100%}.muted.lot-missing{color: #b45309}.brand{display:inline-flex !important;flex-direction:column;align-items:stretch;gap:2px;line-height:1;width:max-content}.brand-tagline{white-space:nowrap;display:block;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:600}@media (max-width: 390px){.brand-tagline{font-size:12px}}.brand-logo{width:0;min-width:100%;max-width:none;height:auto;display:block;border-radius:0}.quick-replace{border: 2px solid var(--accent);background: var(--accent-soft);box-shadow: 0 3px 10px rgba(26,111,181,0.18)}.quick-replace .hub-card-title{font-size: 1.25rem;font-weight: 700;color: var(--accent);margin: 0 0 10px}.quick-replace input[type=text],.quick-replace select{min-height: 50px;font-size: 1.05rem}.quick-replace .qr-buttons button{min-height: 55px;font-size: 1.05rem}.quick-replace .qr-buttons button[data-scan-for="qr-room-scan"]{background: var(--accent);border-color: var(--accent);color: #fff}.scan-icon{vertical-align: -4px;margin-right: 6px;flex: none}@media (max-width: 420px){.pie-wrap{flex-direction: column;align-items: stretch}.donut{margin: 0 auto}}.action-bar{display: flex;flex-wrap: nowrap;gap: 10px;align-items: center;overflow-x: auto;-webkit-overflow-scrolling: touch;scrollbar-width: none;margin-bottom: 10px}.action-bar::-webkit-scrollbar{display: none}.action-bar>*{flex: 0 0 auto}.action-bar form{margin: 0;display: inline-flex}.action-bar button,.action-bar .btn,.action-bar a,.quick-replace .action-bar button{padding: 8px 14px;font-size: 13px;min-height: 40px;white-space: nowrap;border-radius: 999px;line-height: 1.2}.action-bar a{display: inline-flex;align-items: center;border: 1px solid var(--line);background: var(--panel);color: var(--ink);text-decoration: none}.action-bar .due-search,.action-bar input[type=text]{min-height: 40px;max-width: 220px;width: auto;border-radius: 999px;padding: 8px 14px;font-size: 13px}.action-bar .check,.action-bar label{white-space: nowrap}.action-bar form[action*="delete"],.action-bar form[action*="destroy"],.action-bar form[action*="archive"]{margin-left: auto}.action-bar button.danger,.action-bar .btn.danger,.action-bar form[action*="delete"] button,.action-bar form[action*="destroy"] button,.action-bar form[action*="archive"] button{background: transparent;color: #b42318;border: 1px solid #b42318}.action-bar button.danger:hover,.action-bar form[action*="delete"] button:hover,.action-bar form[action*="destroy"] button:hover,.action-bar form[action*="archive"] button:hover{background: #fdecea;filter: none}@media (max-width: 640px){.action-bar button,.action-bar .btn,.action-bar a,.quick-replace .action-bar button{min-height: 44px}}[data-client-props][hidden]{display: none}.role-form{margin-top: 6px;display: grid;gap: 6px}.hub-layout{display: block}.hub-main{min-width: 0}@media (min-width: 641px) and (min-height: 560px){:root{--bar-top: var(--bar-h,95px)}header.bar{position: sticky;top: 0}}:root{--bar-fb: 95px;--pin-gap: 12px;--pair-h: 124px;--bar-top: var(--bar-h,var(--bar-fb))}header.bar{position: sticky;top: 0;padding-top: env(safe-area-inset-top,0px)}.hub-main>.hub-cards:has(>.hub-pair){display: contents}.hub-main>.hub-cards:has(>.hub-pair)>:not(.hub-pair){margin-bottom: clamp(12px,2vw,20px)}.hub-main>.hub-cards:has(>.hub-pair)>:last-child:not(.hub-pair){margin-bottom: 14px}.hub-main:has(>.hub-cards>.hub-pair)::before{content: "";display: block;position: sticky;top: calc(var(--bar-top) - 1px);z-index: 54;height: calc(var(--pin-gap) + 1px);margin-top: calc(-1px - var(--pin-gap));background: var(--bg)}.hub-pair{--after: clamp(12px,2vw,20px);position: sticky;top: calc(var(--bar-top) + var(--pin-gap));z-index: 55;background: var(--bg);padding-bottom: var(--pin-gap);margin-bottom: calc(var(--after) - var(--pin-gap))}.hub-pair:last-child{--after: 14px}.hub-pair:has(.qr-modal:not([hidden])){z-index: 1500}html:has(.hub-pair){scroll-padding-top: calc(var(--bar-top) + var(--pin-gap) * 2 + var(--pair-h))}@media (max-width: 1199px){:root{--bar-fb: 127px}}@media (min-width: 1200px){:root{--pair-h: 88px}}@media (max-width: 640px){:root{--bar-fb: 118px;--pin-gap: 8px;--pair-h: 104px}}@media (max-width: 640px){.hub-main>.hub-cards:has(>.hub-pair)>.hub-pair{display: contents}.hub-main .hub-pair>.quick-replace{position: sticky;top: calc(var(--bar-top) + var(--pin-gap));z-index: 55;box-shadow: 0 var(--pin-gap) 0 0 var(--bg),var(--shadow);margin-bottom: 12px}.hub-main .hub-pair>.hub-status{margin-bottom: 12px}.hub-main .hub-cards:has(.qr-modal:not([hidden])) .hub-pair>.quick-replace{z-index: 1500}}@media (max-height: 479px),print{.hub-main:has(>.hub-cards>.hub-pair)::before{display: none}.hub-pair{position: static;z-index: auto;background: none;padding-bottom: 0;margin-bottom: var(--after)}html:has(.hub-pair){scroll-padding-top: var(--bar-top)}}.who-stats{margin: 0;text-align: right;font-size: 12px;line-height: 16px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.who-stats>div{display: inline}.who-stats>div + div{margin-left: 12px}.who-stats dt,.who-stats dd{display: inline;margin: 0}.who-stats dd{margin-left: 4px;color: var(--ink);font-weight: 700}.role-badge{display: inline-block;padding: 0 8px;border: 1px solid var(--accent);border-radius: 999px;background: var(--accent-soft);color: var(--accent);font-size: 12px;font-weight: 700;line-height: 18px;white-space: nowrap}.inline-role{margin: 6px 0 0;display: flex;flex-wrap: wrap;gap: 6px;align-items: center}.inline-role select[data-inline-role]{width: auto;min-width: 110px}.inline-role [data-client-props]{flex: 1 1 100%}.inline-role [data-client-props][hidden]{display: none}.saved{font-size: 13px;color: var(--ok,#1f7a3d);font-weight: 600}.saved.bad{color: var(--overdue,#b3261e)}.person-actions{display: flex;flex-wrap: wrap;gap: 6px;justify-content: flex-end}.person-actions form{margin: 0}.method-tag{display: inline-block;font-size: .68rem;font-weight: 700;letter-spacing: .04em;text-transform: uppercase;padding: 1px 7px;border-radius: 999px;background: var(--line);color: #4a5868;vertical-align: middle}.method-tag.override{background: var(--due-soon-bg);color: var(--due-soon-ink)}.qr-method-form{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 12px;margin: 10px 0 0}.method-chooser{max-width: 460px}.method-chooser h1{font-size: 1.4rem;text-align: center}.method-choices{display: flex;flex-direction: column;gap: 18px;margin: 18px 0}.method-choice p{margin: 6px 0 0;text-align: center}.method-big{width: 100%;min-height: 72px;font-size: 1.25rem;font-weight: 700}.quick-replace .qr-scan-room{flex: 1 1 100%;min-height: 76px;font-size: 1.3rem;font-weight: 700;background: var(--accent);border-color: var(--accent);color: #fff}.qr-manual-toggle{margin: 8px 0 0}.qr-done{display: block}.qr-done-title{margin: 0 0 8px;font-size: 1.3rem}.qr-summary,.qr-facts{display: grid;grid-template-columns: max-content 1fr;gap: 3px 14px;margin: 0 0 10px}.qr-summary dt,.qr-facts dt{font-weight: 600}.qr-summary dd,.qr-facts dd{margin: 0;overflow-wrap: anywhere}.qr-filter{align-items: flex-start}.qr-filter-facts{display: flex;flex-wrap: wrap;gap: 2px 12px;font-size: .9rem;font-weight: 400;margin-top: 2px}.qr-fact b{font-weight: 600}.qr-box-line{display: flex;flex-direction: column;gap: 6px;margin: 4px 0 8px}.qr-missing-list{margin: 8px 0 0;padding-left: 20px}.info-requests{margin: 0;padding-left: 18px}.info-requests .info-actions{margin-left: 6px;white-space: nowrap}.info-requests .info-actions form{display: inline;margin: 0 0 0 6px}.offline-badge{display: inline-block;margin: 0 0 .5rem;padding: .2rem .6rem;border-radius: 999px;background: #fff4d6;color: #7a5200;border: 1px solid #e6c36a;font-size: .85rem;font-weight: 600}header.bar .offline-badge{margin: 0 .5rem}.offline-attention ul{margin: .4rem 0 0;padding-left: 1.2rem}.offline-attention button{margin-left: .4rem}.offline-toast{position: fixed;left: 50%;bottom: 1rem;bottom: calc(1rem + var(--safe-b));max-width: calc(100vw - 24px);transform: translateX(-50%);z-index: 1000;background: var(--ink);color: #fff;padding: .6rem 1rem;border-radius: 8px;box-shadow: 0 4px 16px rgba(0,0,0,.25)}.install-prompt{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 16px;margin: 0 0 clamp(10px,1.6vw,16px);padding: 12px clamp(12px,2vw,16px);background: var(--accent-soft);border: 1px solid var(--accent);border-radius: var(--radius);box-shadow: var(--shadow)}.install-prompt-icon{flex: none;width: 48px;height: 48px;border-radius: 12px}.install-prompt-text{flex: 1 1 220px;min-width: 0}.install-prompt-title{margin: 0 0 2px;font-size: 1.05rem}.install-prompt-text p{margin: 0}.install-prompt-steps{margin: 4px 0 0;padding-left: 1.3em}.install-prompt-steps li{margin: 2px 0}.install-share-icon{vertical-align: -3px;color: var(--accent)}.install-prompt-actions{display: flex;gap: 8px;flex: 0 0 auto;margin-left: auto}.install-prompt-actions button{min-height: 44px}@media (max-width: 480px){.install-prompt-actions{flex: 1 1 100%}.install-prompt-actions button{flex: 1 1 0}}.qr-head{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-start;gap: 4px 12px}.qr-head .hub-card-title{flex: 1 1 auto}.qr-head .qr-method-form{margin: 0;justify-content: flex-end;text-align: right;flex: 0 1 auto}.hub-main .hub-cards{grid-template-columns: minmax(0,1fr);gap: clamp(12px,2vw,20px)}.hub-main .hub-card{min-width: 0;padding: clamp(12px,2.4vw,20px);line-height: 1.6}.hub-main .category>.panel{min-width: 0;padding: clamp(12px,2.4vw,20px);line-height: 1.6}.hub-pair{--hub-row-h: 124px;display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: clamp(12px,2vw,20px);align-items: stretch}.hub-main .hub-pair>.hub-card{height: var(--hub-row-h);min-height: var(--hub-row-h);max-height: var(--hub-row-h);margin: 0;padding: 8px clamp(12px,2.4vw,20px);line-height: 1.3;overflow-x: hidden;overflow-y: auto;scrollbar-width: thin}.hub-pair>.quick-replace{border: 1px solid var(--line);background: var(--panel);box-shadow: var(--shadow)}.hub-pair .hub-card .hub-card-title{margin: 0;font-size: 12px;line-height: 26px;color: var(--ink-soft)}.hub-pair>.hub-status{display: flex;flex-direction: column}.hub-pair .hub-status>.muted{flex: 1 1 auto;display: flex;align-items: center;margin: 0}.hub-pair .hub-status .pie-wrap{flex: 1 1 auto;flex-direction: row;min-height: 0;align-items: center;gap: 14px}.hub-pair .donut{width: 72px;height: 72px;margin: 0}.hub-pair .donut-total{font-size: 22px}.hub-pair .donut-label{font-size: 10px;line-height: 1.1}.hub-pair .pie-legend{flex: 0 1 auto;display: flex;flex-wrap: wrap;align-items: center;gap: 6px 8px;font-size: 13px}.hub-pair .pie-legend li{display: inline-flex;align-items: center;gap: 6px;padding: 1px 10px 1px 8px;border: 1px solid var(--line);border-radius: 999px;background: var(--panel);white-space: nowrap}.hub-pair .legend-count,.hub-pair .legend-pct{min-width: 0}.hub-pair>.quick-replace{position: relative;display: grid;grid-template-columns: minmax(0,1fr) clamp(150px,38%,210px);grid-template-rows: 26px 40px 28px;gap: 6px 10px;align-content: start}.hub-pair .qr-head{grid-area: 1 / 1 / 2 / 3;display: flex;flex-wrap: nowrap;align-items: center;gap: 0 10px;min-width: 0}.hub-pair .qr-head .hub-card-title{flex: 1 1 auto;min-width: 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.hub-pair .qr-head .offline-badge{order: 1;flex: none;margin: 0;padding: 0 8px;font-size: 12px;line-height: 20px}.hub-pair .qr-method-form{order: 2;flex: none;margin: 0;gap: 0}.hub-pair .qr-method-form .qr-hint{display: none}.hub-pair .qr-method-form .link-button,.hub-pair .qr-manual-toggle .link-button{min-height: 26px;padding: 0 2px;font-size: 13px}.hub-pair .qr-prop{grid-area: 2 / 1;flex-wrap: nowrap;min-width: 0;gap: 0}.hub-pair .qr-prop .qr-field,.hub-pair #qr-manual-entry .qr-field{flex: 1 1 auto;min-width: 0}.hub-pair .qr-field label{position: absolute;width: 1px;height: 1px;margin: 0;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.hub-pair .quick-replace select,.hub-pair .quick-replace input[type=text]{min-height: 40px;height: 40px;padding: 4px 10px;font-size: 16px}.hub-pair .qr-buttons{grid-area: 2 / 2;margin: 0;overflow: visible}.hub-main .hub-pair .quick-replace .qr-buttons .qr-scan-room{width: 100%;min-height: 40px;height: 40px;padding: 0 10px;font-size: 14px}.hub-pair #qr-manual-entry{grid-area: 2 / 2;flex-wrap: nowrap;min-width: 0;gap: 0;position: relative;z-index: 1;background: var(--panel)}.hub-pair #qr-manual-entry .lot-field{display: flex;gap: 6px;align-items: stretch}.hub-pair #qr-manual-entry .lot-field input[type=text]{flex: 1 1 auto;width: auto;min-width: 0}.hub-pair #qr-manual-entry .lot-field button{flex: none;min-height: 40px;padding: 0 12px}.hub-pair .quick-replace:has(#qr-manual-entry:not([hidden])) .qr-buttons{display: none}.hub-pair .qr-manual-toggle{grid-area: 3 / 1 / 4 / 3;margin: 0;display: flex;align-items: center;gap: 0 14px;min-width: 0}.hub-pair .qr-floor-link{min-height: 28px;margin: 0;padding: 0 2px;font-size: 13px;line-height: 28px}.hub-pair .qr-sheet{position: fixed;left: 12px;right: 12px;bottom: 12px;bottom: max(12px,var(--safe-b));z-index: 1400;max-width: 560px;margin: 0 auto}.hub-pair .qr-sheet .flash{margin: 0 0 8px;box-shadow: 0 4px 16px rgba(0,0,0,.3)}.hub-pair .qr-summary{font-size: .9rem;margin-bottom: 6px}@media (max-width: 1000px){.hub-pair .pie-legend{flex-direction: column;flex-wrap: nowrap;align-items: flex-start;gap: 3px}.hub-pair .pie-legend li{padding: 0 10px 0 8px}}@media (min-width: 1200px){.hub-pair{--hub-row-h: 88px}.hub-main .hub-pair>.hub-card{padding-top: 6px;padding-bottom: 6px}.hub-pair>.hub-status{flex-direction: row;align-items: center;gap: 18px}.hub-pair .hub-status .hub-card-title{flex: none}.hub-pair .hub-status .pie-wrap{gap: 16px}.hub-pair .donut{width: 64px;height: 64px}.hub-pair>.quick-replace{grid-template-columns: auto minmax(0,1fr) 190px;grid-template-rows: 40px 28px;gap: 5px 12px;align-content: center}.hub-pair .qr-head{display: contents}.hub-pair .qr-head .hub-card-title{grid-area: 1 / 1;overflow: visible}.hub-pair .qr-prop{grid-area: 1 / 2}.hub-pair .qr-buttons,.hub-pair #qr-manual-entry{grid-area: 1 / 3}.hub-pair .qr-manual-toggle{grid-area: 2 / 1 / 3 / 3}.hub-pair .qr-method-form{grid-area: 2 / 3;justify-self: end}.hub-pair .qr-head .offline-badge{grid-area: 2 / 2;justify-self: end}}.qr-manual-title{display: none}@media (min-width: 1200px){.hub-main:has(>.hub-cards>.hub-pair){--hub-gap: clamp(12px,2vw,20px);display: flex;flex-wrap: wrap;align-items: flex-start;column-gap: var(--hub-gap);row-gap: 0}.hub-main:has(>.hub-cards>.hub-pair)>*,.hub-main:has(>.hub-cards>.hub-pair)::before{flex: 1 1 100%;min-width: 0;order: 10}.hub-main:has(>.hub-cards>.hub-pair){margin-top: calc(-1px - var(--pin-gap))}.hub-main:has(>.hub-cards>.hub-pair)::before{order: -2;margin-top: 0}.hub-main:has(>.hub-cards>.hub-pair)>:has(~ .hub-cards>.hub-pair){order: -1}.hub-main>.hub-cards.hub-cards:has(>.hub-pair){display: contents}.hub-main>.hub-cards.hub-cards:has(>.hub-pair)>*,.hub-main>.hub-cards.hub-cards:has(>.hub-pair)>.hub-pair>*{margin-bottom: var(--hub-gap)}.hub-main>.hub-cards.hub-cards:has(>.hub-pair)>:last-child:not(.hub-pair){margin-bottom: 14px}.hub-main .hub-cards .hub-pair{display: contents}.hub-main .hub-cards>:not(.hub-pair){flex: 0 0 100%;order: 4;min-width: 0;box-sizing: border-box}.hub-main .hub-cards .hub-pair>.hub-status{order: 1;flex: 0 0 calc(32% - var(--hub-gap) / 2);align-self: stretch;box-sizing: border-box;height: auto;min-height: 0;max-height: none;overflow: visible;padding: clamp(12px,2.4vw,20px);flex-direction: column;align-items: stretch;gap: 8px}.hub-main .hub-cards:not(:has(.hub-breakdown)) .hub-pair>.hub-status{flex-basis: 100%}.hub-main .hub-cards>.hub-breakdown{order: 2;flex: 1 1 0;align-self: stretch}.hub-main .hub-cards .hub-status .pie-wrap{flex: none;flex-direction: column;align-items: center;gap: 12px}.hub-main .hub-cards .hub-status .donut{width: 112px;height: 112px}.hub-main .hub-cards .hub-status .donut-total{font-size: 28px}.hub-main .hub-cards .hub-status .donut-label{font-size: 11px}.hub-main .hub-cards .hub-status .pie-legend{flex: none;display: flex;flex-direction: column;flex-wrap: nowrap;align-items: stretch;gap: 6px;width: 100%;max-width: 260px}.hub-main .hub-cards .hub-status .pie-legend li{display: grid;grid-template-columns: 12px minmax(0,1fr) 3ch 5ch;column-gap: 8px;padding: 2px 10px 2px 8px}.hub-main .hub-cards .hub-breakdown .status-extra{grid-template-columns: auto minmax(0,1fr);gap: 0}.hub-main .hub-cards .hub-breakdown .status-due{max-width: none;padding-right: 28px;border-right: 1px solid var(--line)}.hub-main .hub-cards .hub-breakdown .status-types{padding-left: 28px}:root{--pair-h: 100px}.hub-main .hub-cards .hub-pair>.quick-replace{order: 0;flex: 0 0 100%;box-sizing: border-box;height: 100px;min-height: 100px;max-height: 100px;padding: 0;border: 0;background: var(--bg);box-shadow: none;overflow: visible;display: grid;grid-template-columns: 16px minmax(0,1fr) 10px minmax(0,1fr) 16px 14px 21px minmax(0,2fr) 21px;grid-template-rows: 8px 22px 40px 24px 6px;gap: 0;align-content: start}.hub-main .hub-cards .hub-pair>.quick-replace::before,.hub-main .hub-cards .hub-pair>.quick-replace::after{content: "";order: -1;background: var(--panel);border: 1px solid var(--line);border-radius: inherit;box-shadow: var(--shadow)}.hub-main .hub-cards .hub-pair>.quick-replace::before{grid-area: 1 / 1 / 6 / 6}.hub-main .hub-cards .hub-pair>.quick-replace::after{grid-area: 1 / 7 / 6 / 10}.hub-main .hub-cards .hub-pair>.quick-replace[data-method="manual"]::before{grid-column: 1 / 10}.hub-main .hub-cards .hub-pair>.quick-replace[data-method="manual"]::after{display: none}.hub-main .hub-cards .hub-pair>.quick-replace .qr-manual-title{display: block;grid-area: 2 / 2 / 3 / 5;margin: 0;font-size: 12px;line-height: 22px;font-weight: 400;text-transform: uppercase;letter-spacing: .06em;color: var(--ink-soft)}.hub-main .hub-cards .hub-pair>.quick-replace .qr-head .hub-card-title{grid-area: 2 / 8}.hub-main .hub-cards .hub-pair>.quick-replace .qr-head .offline-badge{grid-area: 2 / 8;justify-self: end}.hub-main .hub-cards .hub-pair>.quick-replace .qr-prop{grid-area: 3 / 2}.hub-main .hub-cards .hub-pair>.quick-replace #qr-manual-entry{grid-area: 3 / 4;display: flex !important}.hub-main .hub-cards .hub-pair>.quick-replace .qr-buttons{grid-area: 3 / 8;display: block !important}.hub-main .hub-cards .hub-pair>.quick-replace .qr-manual-toggle{grid-area: 4 / 2 / 5 / 5;align-self: center}.hub-main .hub-cards .hub-pair>.quick-replace #qr-manual-link{display: none}.hub-main .hub-cards .hub-pair>.quick-replace .qr-method-form{grid-area: 4 / 8;justify-self: end}}@media (min-width: 1200px) and (min-height: 480px){.hub-main .hub-cards .hub-pair>.quick-replace{position: sticky;top: calc(var(--bar-top) + var(--pin-gap));z-index: 55;box-shadow: 0 var(--pin-gap) 0 0 var(--bg)}.hub-main .hub-cards:has(.qr-modal:not([hidden])) .hub-pair>.quick-replace{z-index: 1500}}@media (max-width: 640px){.hub-pair{grid-template-columns: minmax(0,1fr)}.hub-main .hub-pair>.hub-card{padding-top: 6px;padding-bottom: 6px}.hub-main .hub-pair>.hub-status{height: auto;min-height: 0;max-height: none;overflow: visible;flex-direction: row;align-items: center;gap: 12px}.hub-pair .hub-status .hub-card-title{flex: none;width: 56px;line-height: 1.15}.hub-pair .hub-status .pie-wrap{gap: 10px}.hub-pair .donut{width: 52px;height: 52px}.hub-pair .donut-total{font-size: 17px}.hub-pair .donut-label{display: none}.hub-pair .pie-legend{flex-direction: column;flex-wrap: nowrap;gap: 3px}.hub-pair .pie-legend li{padding: 0 8px 0 6px}.hub-main .hub-pair>.quick-replace{height: 104px;min-height: 104px;max-height: 104px;padding-top: 4px;padding-bottom: 4px;grid-template-columns: minmax(0,1fr) 168px;grid-template-rows: 22px 38px 30px;gap: 2px 8px}.hub-pair .quick-replace select,.hub-pair .quick-replace input[type=text]{min-height: 44px;height: 44px}.hub-main .hub-pair .quick-replace .qr-buttons .qr-scan-room,.hub-pair #qr-manual-entry .lot-field button{min-height: 44px;height: 44px}.hub-pair .qr-method-form .link-button{min-height: 24px}.hub-pair .qr-manual-toggle .link-button,.hub-pair .qr-floor-link{min-height: 32px;line-height: 32px}}@media (max-width: 360px){.hub-main .hub-pair>.quick-replace{grid-template-columns: minmax(0,1fr) 150px}.hub-main .hub-pair .quick-replace .qr-buttons .qr-scan-room{padding: 0 6px;font-size: 13px}.hub-pair .scan-icon{margin-right: 4px}}.category-head{display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 8px 12px;margin: 0 0 8px}.category-head .category-title{margin: 0}.category-head .btn{display: inline-flex;align-items: center;text-decoration: none}.tool-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(min(100%,160px),1fr));gap: 8px}.tool-grid .btn{display: inline-flex;align-items: center;justify-content: center;text-align: center;text-decoration: none;white-space: normal}.scan-title{margin: 0;font-size: 1.3rem;text-align: center;color: #fff}.scan-brand{display: block;max-width: 100%;max-height: 56px;width: auto;height: auto;margin: 0 0 -6px;object-fit: contain;flex-shrink: 0}.scan-head{display: flex;flex-direction: column;align-items: center;gap: 2px;max-width: 100%;margin: 0 0 -6px;padding: 4px 10px;box-sizing: border-box;background: #fff;border-radius: 8px;flex-shrink: 0}.scan-head .scan-brand{margin: 0}.scan-head .brand-tagline{color: #1b2430;max-width: 100%;overflow-wrap: anywhere;white-space: normal;text-align: center}.scan-ask{display: flex;gap: 12px;justify-content: center}.scan-ask button{min-height: 44px;padding: 8px 20px;font-size: 16px;border-radius: 8px;border: 0}.scan-ask-yes{background: #ffc94d;color: #000}.scan-ask-no{background: #fff;color: #000}body:has(.foot-bar) .scan-overlay{bottom: calc(var(--foot-bar-h) + 1px + var(--safe-b));padding-bottom: 12px}body:has(.foot-bar) .qr-modal{bottom: calc(var(--foot-bar-h) + 1px + var(--safe-b))}body:has(.foot-bar) .qr-modal .qr-modal-box{max-height: calc(100dvh - var(--foot-bar-h) - 40px)}.scan-abort{min-height: 44px;padding: 8px 24px;font-size: 16px;background: transparent;color: #fff;border: 1px solid #fff;border-radius: 8px}.qr-toast{position: fixed;left: 50%;top: 16px;top: max(16px,env(safe-area-inset-top,0px));transform: translateX(-50%);z-index: 2100;max-width: calc(100vw - 24px);padding: 10px 16px;border-radius: 8px;background: #fff;color: #1b2430;border: 2px solid var(--accent);box-shadow: 0 4px 16px rgba(0,0,0,.35);font-weight: 600;text-align: center}.qr-floor-link{display: inline-block;margin-left: 12px;padding: 0 4px;min-height: 44px;line-height: 44px;font-size: .95rem}.bell{position: relative;display: inline-flex;align-items: center}.bell-button{position: relative;display: inline-flex;align-items: center;justify-content: center;min-width: 44px;min-height: 44px;padding: 0;border: 0;border-radius: 50%;background: transparent;color: var(--ink-soft);cursor: pointer}.bell-button:hover,.bell-button[aria-expanded="true"]{background: var(--accent-soft);color: var(--accent);filter: none}.bell-icon{width: 22px;height: 22px;fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round}.bell-badge{position: absolute;top: 3px;right: 1px;min-width: 18px;height: 18px;padding: 0 5px;box-sizing: border-box;border-radius: 9px;background: var(--overdue);color: #fff;font-size: 11px;font-weight: 700;line-height: 18px;text-align: center}.bell-panel{position: absolute;top: 100%;right: 0;z-index: 30;width: min(320px,calc(100vw - 16px));padding: 10px 14px;background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: 0 8px 24px rgba(0,0,0,0.18);color: var(--ink);font-size: 14px;text-align: left}.bell-title{margin: 0 0 4px;font-size: 12px;text-transform: uppercase;letter-spacing: 0.06em;color: var(--ink-soft)}.bell-list{list-style: none;margin: 0;padding: 0}.who .bell-list a{display: flex;align-items: center;gap: 10px;min-height: 44px;max-width: none;line-height: 1.3;overflow: visible;text-overflow: clip;white-space: normal;color: var(--ink);text-decoration: none}.who .bell-list a:hover{color: var(--accent)}.bell-n{min-width: 30px;font-weight: 700;text-align: right}.bell-empty{margin: 4px 0 8px}@media (max-width: 640px){.bell{position: static}.bell-panel{left: 8px;right: 8px;width: auto}}.phone-alerts-row{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px 16px}.phone-alerts-text{flex: 1 1 260px;min-width: 0}.phone-alerts-title{margin: 0 0 2px;font-size: 1rem}.phone-alerts-text p{margin: 0}.phone-alerts button{min-height: 44px}.phone-alerts [data-push-prefs]:not([hidden]){display: flex;flex-wrap: wrap;align-items: center;gap: 0 16px;margin-top: 8px}.phone-alerts [data-push-prefs] label{display: inline-flex;align-items: center;gap: 6px;min-height: 44px}.floor-body .room-card{display: flex;flex-direction: column;align-items: center;text-align: center}button.room-card.tappable{text-align: center;justify-content: center}.floor-body .room-card .tile-choices{align-self: stretch}.room-card-wrap:has(.room-check) .room-card{padding-left: 11px}.fl-room>.room-card.fl-go{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;text-align: center}.fl-room>.room-card.fl-go .fl-info{align-items: center}@media (min-width: 761px){.compact-table:has(>thead th.right) :is(th,td):nth-child(n+2):nth-child(-n+7),#due-list table :is(th,td),.floor-body .report-table :is(th,td){text-align: center;vertical-align: middle}#due-list table :is(th,td):first-child,.floor-body .report-table :is(th,td).check-col,.floor-body .report-table th:first-child:not(.check-col),.floor-body .report-table th.check-col + th,.floor-body .report-table td[data-label="Room"],.floor-body .report-table td[colspan]{text-align: left}#due-list table :is(th,td).right,.floor-body .report-table :is(th,td).right{text-align: right}}@media (min-width: 1100px){.compact-table:has(>thead th.right),#due-list table,.floor-body .report-table{table-layout: fixed}.compact-table:has(>thead th.right) th:nth-child(n+2):nth-child(-n+7){width: 10%}.compact-table:has(>thead th.right) th:last-child{width: 190px}#due-list table th.right,.floor-body .report-table th.right{width: 300px}.floor-body .report-table th.room-col{width: 20%}}.due-groups{margin-top: 12px}.due-property-title{margin: 18px 0 8px;font-size: 19px}.due-property:first-child .due-property-title{margin-top: 4px}.today-property .floor-toggle{font-size: 19px}.today-floor-title{margin: 14px 0 6px;font-size: 15px}.today-floor-title:first-child{margin-top: 2px}.today-more{margin: 4px 0 0}.category-head .due-search{min-height: 40px;width: auto;max-width: 220px;border-radius: 999px;padding: 8px 14px;font-size: 13px}@media (min-width: 761px){#completed-today table :is(th,td){text-align: center;vertical-align: middle}#completed-today table :is(th,td):first-child{text-align: left}}@media (min-width: 1100px){#completed-today table{table-layout: fixed}}@media (min-width: 1001px) and (max-width: 1199px){header.bar nav a{padding-left: 8px;padding-right: 8px}}.rounds-box{padding: 12px clamp(12px,2vw,18px)}.rounds-box>h2{margin: 0 0 8px;font-size: 16px;line-height: 1.25}.rounds-body{display: flex;flex-wrap: wrap;align-items: flex-end;gap: 10px 28px}.rounds-table-wrap{flex: 1 1 440px;min-width: 0}.rounds-form{flex: 0 1 auto;min-width: 0}.rounds-fields{display: flex;flex-wrap: wrap;align-items: flex-end;gap: 8px 12px}.rounds-fields>div{min-width: 0}.rounds-fields label{margin-bottom: 3px}.rounds-fields input[type=date]{width: 11.5rem;max-width: 100%}.rounds-fields select{width: 9rem;max-width: 100%}.rounds-box .panel-note{margin: 8px 0 0}.rounds-table{display: table;width: 100%;table-layout: fixed;font-variant-numeric: tabular-nums}.rounds-table thead{display: table-header-group}.rounds-table tbody{display: table-row-group}.rounds-table tr{display: table-row;padding: 0;border-bottom: none}.rounds-table th,.rounds-table td{display: table-cell;text-align: center !important;vertical-align: middle}.rounds-table thead th{padding: 0 8px 6px}.rounds-table td{padding: 6px 8px;font-size: 14px;border-bottom: 1px solid var(--line)}.rounds-table tbody th{padding: 6px 8px;border-bottom: 1px solid var(--line);text-align: left !important;text-transform: none;letter-spacing: 0;font-size: 14px;color: var(--ink)}.rounds-table tbody tr:last-child :is(th,td){border-bottom: none}.rounds-table thead th:first-child,.rounds-table tbody th{width: 26%}.rounds-table td.rounds-start{color: var(--ink-soft)}@media (max-width: 760px){.rounds-table thead th,.rounds-table td,.rounds-table tbody th{padding-left: 4px;padding-right: 4px}.rounds-table td{font-size: 13px}.rounds-table thead th:first-child,.rounds-table tbody th{width: 24%}}.next-due-group{display: inline-flex;align-items: center;gap: 2px;white-space: nowrap}button.info-btn{display: inline-flex;align-items: center;justify-content: center;flex: none;width: 28px;min-width: 28px;min-height: 44px;padding: 0;border: 0;border-radius: 50%;background: transparent;color: var(--accent)}button.info-btn:hover,button.info-btn[aria-expanded="true"]{background: var(--accent-soft);filter: none}button.info-btn:disabled{opacity: 0.4}@media (max-width: 760px){.lot-form{justify-content: flex-start}}.ft-pop.rounds-pop{z-index: 1600;width: min(30rem,calc(100vw - 16px))}.rounds-pop .rounds-pop-name{margin: 2px 0 0;padding-right: 30px;font-size: 13px;color: var(--ink-soft);overflow-wrap: anywhere}.rounds-pop .rounds-table{margin-top: 8px}.landing-foot a,.site-footer p>a,.center-card p.sub a{display: inline-block;padding: 14px 0;margin: -14px 0}.tutorial-video{display: block;width: auto;max-width: 100%;height: auto;max-height: calc(100vh - 215px);margin: 0 auto;background: #000;border-radius: 8px}.help .panel:has(.tutorial-video) h2{margin-top: 0}.row-actions.action-bar{flex-wrap: wrap;overflow: visible;justify-content: flex-end;gap: 6px}.rounds-table .rounds-every{display: block;margin-top: 2px;font-size: 12px;font-weight: 400;color: var(--ink-soft)}.rounds-pop .rounds-pop-note{margin: 10px 0 0;font-size: 13px;line-height: 1.4;color: var(--ink-soft)}.first-due-field[hidden]{display: none}.first-due-field .next-due-group select{width: auto;min-width: 0}.first-due-panel .fields>div{min-width: 220px}.first-due-panel .first-due-item[hidden]{display: none}.confirm-dialog{max-width: min(92vw,460px);padding: 20px;border: 1px solid var(--line,#cfd6dd);border-radius: 12px}.confirm-dialog::backdrop{background: rgba(0,0,0,0.45)}.confirm-dialog p{margin: 0 0 16px;line-height: 1.45}.confirm-dialog-actions{display: flex;flex-wrap: wrap;gap: 10px;justify-content: flex-end}.due-tool{min-width: 150px;display: inline-flex;align-items: center;justify-content: center;box-sizing: border-box}.print-btn{min-width: 170px;display: inline-flex;justify-content: center;align-items: center;box-sizing: border-box}.print-sheet-go{margin-left: 16px;display: flex;align-items: flex-end}#print_sheet{margin-top: 4px;min-width: 320px}.due-notice{display: block;margin: 4px 0 0;max-width: 46ch;font-size: 12px;line-height: 1.35;white-space: normal;color: var(--ink-soft)}.due-notice[hidden]{display: none}.due-notice.due-notice-soon{color: var(--due-soon)}.round-date-help{margin: 4px 0 0}.labels-actions{display: flex;align-items: center;gap: 12px;flex-wrap: wrap}.labels-actions>span{margin-right: 8px}.labels-actions button,.labels-actions .btn{min-width: 150px;text-align: center;box-sizing: border-box}.row-actions.action-bar>button,.row-actions.action-bar>.btn,.row-actions.action-bar form>button{min-width: 100px;text-align: center;box-sizing: border-box}.lot-form{gap: 4px;margin-top: 4px;font-size: 0.8rem}.lot-form input,.lot-form select,.lot-form button.small,.lot-form .next-due-pick select{padding: 2px 6px;font-size: 0.8rem;line-height: 1.3;min-height: 0}.lot-form input[name="lot_number"]{width: 11ch}.lot-form .next-due-pick{gap: 4px;font-size: 0.8rem}.lot-form .info-btn{width: 18px;height: 18px;padding: 0}.due-notice{font-size: 11px;margin: 2px 0 0;max-width: none}label.has-reveal{overflow: visible;line-height: 1}label.has-reveal button.reveal svg{display: block;overflow: visible;width: 20px;height: 20px}@media (max-width: 640px){html{overflow-x: clip;max-width: 100%}body{max-width: 100%}header.bar{flex-direction: row;flex-wrap: wrap;align-items: flex-start;gap: 0 8px;max-width: 100%}header.bar .brand{order: 1;width: max-content;max-width: 46%;padding: 4px 0;flex: 0 0 auto}header.bar .who{order: 2;flex: 1 1 0;min-width: 0;width: auto;margin-left: auto;padding-top: 4px}header.bar nav{order: 3}.who-row{justify-content: flex-end}.who-stats{text-align: right;font-size: 11px}.who-stats dd{font-size: 11px}header.bar .brand-tagline{font-size: 10px;letter-spacing: .09em}header.bar .brand-logo{width: 0;min-width: 100%;max-width: none;max-height: none;height: auto}header.bar nav{order: 3;flex: none;flex-wrap: wrap;overflow: visible;gap: 2px 4px;width: 100%}header.bar nav a{flex: 0 0 auto;font-size: 13px;padding: 6px 8px;min-height: 44px}.who-row{flex-wrap: wrap;gap: 0 8px}.hub-pair>.quick-replace{order: -1}.hub-main .hub-pair>.quick-replace{box-sizing: border-box;max-width: 100%}.hub-main .hub-pair>.hub-status{box-sizing: border-box;max-width: 100%}}.installed-search{margin: 0 0 12px}.installed-search input{width: 100%;box-sizing: border-box}.installed-table{width: 100%;table-layout: fixed;border-collapse: collapse}.installed-table th,.installed-table td{padding: 6px 4px;text-align: left;overflow-wrap: anywhere;vertical-align: top}.installed-table th:nth-child(1),.installed-table td:nth-child(1){width: 17%}.installed-table th:nth-child(3),.installed-table td:nth-child(3){width: 27%}@media (max-width: 520px){.installed-table{font-size: 0.9rem}.installed-group{padding-left: 8px;padding-right: 8px}}.vp-splash{position: fixed;inset: 0;z-index: 9999;display: flex;align-items: center;justify-content: center;background: #070B16;color: #fff;pointer-events: none;opacity: 0;animation: vp-splash 3.5s ease-in-out forwards}.vp-splash-box{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 14px;padding: 0 24px;text-align: center;font-size: 28px;line-height: 1.3}.vp-splash-box .vp-mark{width: 180px;height: auto}.vp-splash-box .vp-drop{width: 96px;height: 96px;border-radius: 22px}.vp-splash-box p{margin: 0}.vp-splash-box .vp-words{color: #fff;font-size: inherit;font-weight: 700}.vp-splash-box .vp-tag{font-size: 19px;color: #e5e9f0}.vp-text{display: inline-flex;flex-direction: column;align-items: flex-start;line-height: 1.2}.vp-tag{font-size: 14px;font-weight: 600;letter-spacing: 0.02em;color: #565d6b}.vp-words{font-weight: 700 !important}@media (max-width: 640px){.vp-splash-box{font-size: 22px}.vp-splash-box .vp-mark{width: 40vw;height: auto}.vp-splash-box .vp-drop{width: 22vw;height: 22vw}.vp-splash-box .vp-tag{font-size: 16px}}@keyframes vp-splash{0%{opacity: 0}14.3%{opacity: 1}85.7%{opacity: 1}100%{opacity: 0;visibility: hidden}}@media (prefers-reduced-motion: reduce){.vp-splash{display: none;animation: none}}@media print{.vp-splash{display: none !important}}@media (max-width: 640px){header.bar{align-items: center;gap: 0 6px;padding-top: env(safe-area-inset-top,0px);padding-bottom: 0}header.bar .brand{padding: 3px 0;align-self: center}header.bar .who{padding-top: 0;align-self: center;display: block;overflow: hidden}.who-stats,header.bar .who-stats{display: none}.who-row,header.bar .who-row{flex-wrap: nowrap;gap: 12px;font-size: 12px;justify-content: flex-end;min-width: 0}.who-row>*{flex: 0 0 auto}.who-row>a:not(.ft-link){flex: 0 1 auto;min-width: 0}.who a,.who .link-button{font-size: 12px;line-height: 32px;min-height: 32px;padding: 0}.who .dot{display: none}.who a{max-width: none}.who-row .role-badge{font-size: 11px;line-height: 16px;padding: 0 8px;margin: 0 2px}.who form{min-height: 32px}.who .bell-button{min-width: 32px;min-height: 32px;width: 32px;height: 32px}.who .bell-icon{width: 20px;height: 20px}.who .bell-badge{top: 0;right: -2px;min-width: 16px;height: 16px;line-height: 16px;font-size: 10px;padding: 0 4px}header.bar nav{flex-wrap: wrap;overflow: visible;gap: 2px 3px;padding: 0 0 2px;margin-top: -2px;justify-content: center}header.bar nav a{flex: 0 0 auto;white-space: nowrap;font-size: 13px;font-weight: 600;padding: 4px 6px;min-height: 34px;line-height: 26px}:root{--bar-fb: 124px}}.status-extra .status-due .pie-legend li{grid-template-columns: 9ch 4ch;justify-content: start;column-gap: 6px}.login-terms{font-size: 12px;text-align: center}@media screen{:root{--stick-top: var(--bar-top);--s1: 44px;--s2: 44px;--s3: 34px}.hub-main:has(.hub-pair){--stick-top: calc(var(--bar-top) + var(--pin-gap) * 2 + var(--pair-h))}main:has(.floor-nav-wrap){--stick-top: calc(var(--bar-top) + var(--floor-nav-h,112px))}thead th{position: sticky;top: var(--stick-top);z-index: 5;background: var(--panel);box-shadow: 0 1px 0 var(--line)}.floor-panel>.floor-head{position: sticky;top: calc(var(--stick-top) + var(--above,0px));z-index: 6;box-sizing: border-box;height: var(--s2);flex-wrap: nowrap;background: var(--panel);border-radius: var(--radius) var(--radius) 0 0}.floor-panel>.floor-head .floor-toggle{min-height: 0;height: var(--s2);padding-top: 0;padding-bottom: 0}.floor-panel>.floor-head .floor-title{min-width: 0}.floor-panel>.floor-head .floor-status{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.floor-panel thead th{top: calc(var(--stick-top) + var(--above,0px) + var(--s2))}.due-property{--above: var(--s1)}.client-property-title ~ .floor-panel{--above: var(--s1)}main .due-property-title,main .client-property-title{position: sticky;top: var(--stick-top);z-index: 7;box-sizing: border-box;height: var(--s1);line-height: var(--s1);margin-bottom: 0;background: var(--bg);overflow: hidden;white-space: nowrap;text-overflow: ellipsis}.completed-day>.completed-day-title{position: sticky;top: var(--stick-top);z-index: 7;box-sizing: border-box;height: var(--s1);line-height: var(--s1);margin: 0;background: var(--panel);overflow: hidden;white-space: nowrap;text-overflow: ellipsis}.completed-day .completed-property>.completed-property-title{position: sticky;top: calc(var(--stick-top) + var(--s1));z-index: 6;box-sizing: border-box;height: var(--s2);line-height: var(--s2);margin: 0;background: var(--panel);overflow: hidden;white-space: nowrap;text-overflow: ellipsis}.completed-day thead th{top: calc(var(--stick-top) + var(--s1) + var(--s2))}.installed-group>:is(h2,h3):first-child{position: sticky;top: var(--stick-top);z-index: 7;box-sizing: border-box;height: var(--s1);line-height: var(--s1);margin: 0;background: var(--panel);overflow: hidden;white-space: nowrap;text-overflow: ellipsis}.installed-group thead th{top: calc(var(--stick-top) + var(--s1))}.today-property .today-floor-title{position: sticky;top: calc(var(--stick-top) + var(--s2));z-index: 6;box-sizing: border-box;height: var(--s3);line-height: var(--s3);margin: 0;background: var(--panel);overflow: hidden;white-space: nowrap;text-overflow: ellipsis}.today-property thead th{top: calc(var(--stick-top) + var(--s2) + var(--s3))}.panel>h2:first-child:has(+ table){position: sticky;top: var(--stick-top);z-index: 7;box-sizing: border-box;height: var(--s1);line-height: var(--s1);margin: 0;background: var(--panel);overflow: hidden;white-space: nowrap;text-overflow: ellipsis}.panel>h2:first-child:has(+ table) + table thead th{top: calc(var(--stick-top) + var(--s1))}}@media (min-width: 761px){form.picker[data-swap]{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px 14px}form.picker[data-swap] label{margin-right: 4px}form.picker[data-swap] .due-search{flex: 1 1 180px;max-width: 260px}}@media (min-width: 761px){.completed-table{table-layout: fixed}.completed-table th,.completed-table td{text-align: center;vertical-align: middle}.completed-table td.qr svg{display: block;margin: 0 auto}.completed-table td.qr .token{text-align: center}}@media (min-width: 761px){.completed-table td.qr svg{width: 56px;height: 56px}.completed-table td.qr .token{font-size: 11px}.completed-table th.right,.completed-table td.right{text-align: center}.completed-table td.right .row-actions,.completed-table td.right form{justify-content: center;display: flex}.completed-table .room-no{font-size: 16px}}.room-lines{list-style: none;margin: 0;padding: 0}.room-line{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 10px;min-height: 36px;padding: 6px 0;border-bottom: 1px solid var(--line)}.room-line.status-overdue{box-shadow: inset 4px 0 0 var(--overdue);padding-left: 14px}.room-line.status-due_soon{box-shadow: inset 4px 0 0 var(--due-soon-accent);padding-left: 14px}.room-line.status-ok{box-shadow: inset 4px 0 0 var(--ok);padding-left: 14px}.rl-room{min-width: 4.5em;font-weight: 600;font-variant-numeric: tabular-nums}.rl-filter{font-weight: 500}.cd-lot{display: block;font-size: 11px;font-weight: 400;line-height: 13px}.rl-meta{white-space: nowrap}.rl-meta + .rl-meta::before,.rl-filter + .rl-meta::before,.rl-room + .rl-meta::before{content: "\00b7";margin-right: 10px}.rl-pill{margin-left: auto;display: inline-flex;flex-wrap: wrap;justify-content: flex-end;gap: 4px 6px}.rl-undo{margin: 0 0 0 auto}.room-sub{margin: 10px 0 2px;font-size: 12px;text-transform: uppercase;letter-spacing: 0.05em;color: var(--ink-soft)}@media (max-width: 480px){.rl-cycle{display: none}}@media print{.rl-cycle{display: inline !important}.room-line{break-inside: avoid}}.rl-table,.rl-table thead,.rl-table tbody{display: block;width: 100%}.rl-table tr.rl-row{--rl-cols: minmax(0,1fr) 5.2em 6.6em 8.6em max-content;display: grid;grid-template-columns: var(--rl-cols);column-gap: 10px;align-items: center;padding: 4px 10px;border-bottom: 1px solid var(--line);border-radius: 8px}.rl-table tr.rl-row.rl-where{--rl-cols: minmax(7em,.9fr) minmax(0,1.2fr) 5.2em 6.6em 8.6em max-content}.rl-table tr.rl-row.replaced-row{--rl-cols: minmax(0,1fr) 5.2em 6.6em 8.6em}.rl-table tr.rl-row.rl-where.replaced-row{--rl-cols: minmax(7em,.9fr) minmax(0,1.2fr) 5.2em 6.6em 8.6em}.rl-table thead tr.rl-row{padding-top: 0;padding-bottom: 6px}.rl-table tr.rl-row>:is(td,th){display: block;min-width: 0;width: auto !important;padding: 2px 0;border: 0;text-align: left !important}.rl-table td[data-label]::before{content: none}.rl-table .rl-c-room{font-weight: 600;font-variant-numeric: tabular-nums}.rl-table .rl-c-filter{overflow-wrap: anywhere}.rl-table .rl-c-filter .photo-strip{display: inline-flex;vertical-align: middle;margin-left: 6px}.rl-table .rl-c-filter .photo-mini{width: 24px;height: 24px;margin: 0 2px 0 0}.rl-table .rl-c-cycle,.rl-table .rl-c-inst{white-space: nowrap}.rl-table .rl-c-act{text-align: right !important}.rl-table .rl-c-act form{margin: 0}.rl-table .rl-c-act .replace-form{flex-wrap: nowrap;justify-content: flex-end}.rl-table .rl-row button.small{min-height: 36px;padding: 5px 12px}.rl-table tr.rl-row.replaced-row{background: var(--ok-bg)}.rl-table tr.rl-row.replaced-row>.rl-c-act{grid-column: 1 / -1;text-align: left !important}.rl-table tr.rl-row.replaced-row .lot-form,.rl-table tr.rl-row.replaced-row form{justify-content: flex-start}@media (min-width: 901px){.rl-table tr.rl-row .rl-c-room>.muted,.rl-table tr.rl-row .rl-c-filter>.muted,.rl-table tr.rl-row .rl-c-due>.muted{display: inline;margin-left: .45em}.rl-table tr.rl-row .rl-c-due>.muted{white-space: nowrap}.rl-table tr.rl-row .rl-c-room>a,.rl-table tr.rl-row .rl-c-filter>a{text-decoration: underline}.rl-table tr.rl-row{--rl-cols: minmax(0,1fr) 5.2em 6.6em 16em max-content}.rl-table tr.rl-row.rl-where{--rl-cols: minmax(11em,1.1fr) minmax(0,1.3fr) 5.2em 6.6em 16em max-content}.rl-table tr.rl-row.replaced-row{--rl-cols: minmax(0,1fr) 5.2em 6.6em 16em}.rl-table tr.rl-row.rl-where.replaced-row{--rl-cols: minmax(11em,1.1fr) minmax(0,1.3fr) 5.2em 6.6em 16em}.rl-table tr.rl-row.rl-where.rl-has-loc{--rl-cols: minmax(11em,1.1fr) minmax(0,.9fr) minmax(0,1.3fr) 5.2em 6.6em 16em max-content}.rl-table tr.rl-row.rl-where.rl-has-loc.replaced-row{--rl-cols: minmax(11em,1.1fr) minmax(0,.9fr) minmax(0,1.3fr) 5.2em 6.6em 16em}.rl-table tr.rl-row>:is(td,th):not(.rl-c-room):not(.rl-c-act){text-align: center !important}.rl-table tr.rl-row>.rl-c-room{padding-left: 6px}.rl-table tr.rl-row>:is(.rl-c-loc,.rl-c-filter){overflow: hidden;text-overflow: ellipsis;white-space: nowrap}}@media (max-width: 900px){.rl-table tr.rl-row{--rl-cols: minmax(0,1fr) 6.6em 8.6em max-content}.rl-table tr.rl-row.rl-where{--rl-cols: minmax(7em,.9fr) minmax(0,1.2fr) 6.6em 8.6em max-content}.rl-table tr.rl-row.replaced-row{--rl-cols: minmax(0,1fr) 6.6em 8.6em}.rl-table tr.rl-row.rl-where.replaced-row{--rl-cols: minmax(7em,.9fr) minmax(0,1.2fr) 6.6em 8.6em}.rl-table tr.rl-row>.rl-c-inst,.rl-table tr.rl-row>.rl-c-loc{display: none}.report-table .col-loc{display: none}}@media (max-width: 640px){.rl-table thead{display: none}.rl-table tr.rl-row,.rl-table tr.rl-row.rl-where{display: flex;flex-wrap: wrap;align-items: center;gap: 2px 10px;padding: 6px 8px}.rl-table tr.rl-row>:is(.rl-c-cycle,.rl-c-inst){display: none}.rl-table tr.rl-row>.rl-c-room{flex: 0 0 auto;min-width: 4.5em}.rl-table tr.rl-row>.rl-c-filter{flex: 1 1 8em}.rl-table tr.rl-row>.rl-c-act{flex: 1 1 100%}.rl-table .rl-c-act .replace-form{justify-content: flex-start}.rl-table tr.rl-row:not(.replaced-row){flex-wrap: nowrap;gap: 6px;padding: 6px 8px;min-height: 0}.rl-table tr.rl-row:not(.replaced-row)>:is(.rl-c-room,.rl-c-filter,.rl-c-due,.rl-c-act){display: flex;align-items: center;min-width: 0;padding: 0}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-room{flex: 0 1 auto;min-width: 0;gap: 5px;font-weight: 700;white-space: nowrap}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-room>.muted{font-size: 12px;font-weight: 400;overflow: hidden;text-overflow: ellipsis}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-filter{flex: 1 1 0;gap: 5px;white-space: nowrap;overflow: hidden;font-size: 13px}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-filter>:is(.muted,.photo-strip){display: none}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-due{flex: 0 0 6.5em;justify-content: center}.rl-table tr.rl-row .rl-c-due .st-full{display: none}.rl-table tr.rl-row .rl-c-due .st-short{display: inline}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-due .pill{display: block;width: 100%;box-sizing: border-box;text-align: center;font-size: 12px;padding: 3px 4px;overflow: hidden;white-space: nowrap}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-due>.muted{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-act{flex: 0 0 auto;margin-left: auto}.rl-table tr.rl-row:not(.replaced-row) .replace-form{margin-top: 0;flex-wrap: nowrap;justify-content: flex-end}.rl-table tr.rl-row:not(.replaced-row) .replace-form input[type="date"]{display: none}.rl-table tr.rl-row:not(.replaced-row) .replace-form button.small{min-height: 36px;padding: 4px 10px;font-size: 13px;white-space: nowrap}}.prop-lines,.prop-lines thead,.prop-lines tbody{display: block;width: 100%}.prop-lines tr{display: grid;grid-template-columns: minmax(0,1fr) 4.5em 4.5em 9em 5.5em 6.5em 5.5em max-content;column-gap: 10px;align-items: center;padding: 4px 8px;border-bottom: 1px solid var(--line)}.prop-lines tr>:is(td,th){display: block;width: auto !important;min-width: 0;padding: 4px 0;border: 0;text-align: right !important;white-space: nowrap}.prop-lines td[data-label]::before{content: none}.prop-lines tr>.pl-act{text-align: right !important}.prop-lines tr>.pl-name{text-align: left !important;overflow: hidden;text-overflow: ellipsis}.prop-lines .open-link{margin-left: 4px}@media (min-width: 761px){.prop-lines tr>.pl-name,.prop-lines tr.status-overdue>td:first-child,.prop-lines tr.status-due_soon>td:first-child,.prop-lines tr.status-ok>td:first-child{padding-left: 10px}.prop-lines td.pl-name{display: grid;grid-template-columns: minmax(0,1fr);column-gap: 10px;align-items: center;overflow: visible}.prop-lines td.pl-name>a:first-child{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.prop-lines td.pl-name>.open-link{grid-column: 2;margin-left: 0}.prop-lines td.pl-name>.pl-scan{grid-column: 3}}@media (max-width: 760px){.prop-lines tr{grid-template-columns: minmax(0,1fr) 3em 6em 3em;column-gap: 4px;padding: 4px 2px}.prop-lines td.pl-name{font-size: 14px}.prop-lines th{font-size: 10px;letter-spacing: 0}.prop-lines .open-link{display: none}.prop-lines tr>:is(.pl-rooms,.pl-filters,.pl-soon),.prop-lines .pl-scan{display: none !important}.prop-lines tr>.pl-act{display: none !important}.prop-lines .pl-name{order: 1}.prop-lines .pl-over{order: 2}.prop-lines .pl-next{order: 3}.prop-lines .pl-order{order: 4}}@media (min-width: 1200px){.prop-lines tr{grid-template-columns: minmax(16em,1fr) 6em 6em 11em 7em 9em 7em 8em;column-gap: 16px;padding: 4px 12px}.prop-lines tr>:is(td,th){text-align: center !important;overflow: hidden;text-overflow: ellipsis}.prop-lines tr>.pl-name{text-align: left !important}.prop-lines tr>.pl-act{text-align: center !important}.prop-lines .pl-act .row-actions{justify-content: center}}.prop-admin-tools{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;margin-top: 14px}.prop-admin-tools form{margin: 0}tr.is-selected{outline: 2px solid var(--accent);outline-offset: -2px;border-radius: 8px}.photo-compact{flex-wrap: nowrap;gap: 10px;align-items: center}.photo-compact .photo-slots{gap: 8px;flex-wrap: nowrap}.photo-compact .photo-slot{width: 64px;height: 64px}.photo-compact input[type=file]{width: auto;flex: 0 1 auto;min-width: 0;min-height: 0;padding: 0;border: 0;font-size: 13px}.photo-compact input[type=file]::file-selector-button{min-height: 36px;padding: 5px 12px;margin-right: 8px;border: 1px solid var(--line);border-radius: 8px;background: var(--panel);color: var(--accent);font-weight: 600;cursor: pointer}.photo-strip-field{margin-top: 4px}form.picker,p.picker{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 18px}.picker .picker-group{display: inline-flex;align-items: center;gap: 8px}.picker .picker-group label{margin-right: 0}.picker .picker-actions{display: inline-flex;align-items: center;gap: 8px}form.picker .due-search{margin-left: auto}@media (max-width: 640px){form.picker .due-search{margin-left: 0;width: 100%;max-width: none}}input.due-search,input#room-find-input,input[data-room-search]{-webkit-appearance: none;appearance: none;border-radius: 999px;padding: 8px 14px 8px 36px;min-height: 40px;background-color: var(--panel);background-repeat: no-repeat;background-position: 12px center;background-size: 16px 16px;background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><line x1='16.5' y1='16.5' x2='21' y2='21'/></svg>")}input.due-search:focus,input#room-find-input:focus,input[data-room-search]:focus{outline: 2px solid var(--accent);outline-offset: 1px}input[data-room-search]::placeholder,input#room-find-input::placeholder{color: var(--ink-soft);opacity: 1}.install-header{min-height: 32px;padding: 4px 12px;font-size: 12px;box-shadow: none}.install-header[hidden]{display: none}.build-id{margin-top: 24px;font-size: 11px;color: #8a8f98}@media (max-width: 640px){header.bar .who{overflow: visible}.install-header{flex: 0 0 auto;min-height: 34px;padding: 4px 10px;font-size: 13px;white-space: nowrap}header.bar nav{flex-wrap: wrap;overflow: visible;justify-content: flex-start;gap: 0 10px;padding: 0 0 2px}header.bar nav a{flex: 0 0 auto;font-size: 13px;padding: 4px 6px;min-height: 34px;line-height: 26px;letter-spacing: 0;white-space: nowrap}}@media print{.install-header{display: none !important}}.due-line{display: grid;grid-template-columns: var(--c-tick,) 5.5em var(--c-loc,minmax(0,1fr)) minmax(0,1.4fr) var(--c-inst,) auto;gap: 4px 12px;align-items: center}.due-line.due-tick{--c-tick: 1.8em}.due-line.due-inst{--c-inst: 7em}.due-line.due-noloc{--c-loc:}.due-line .rl-inst,.due-line .rl-tick,.due-line .rl-note{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.due-line>:not(.rl-room){text-align: center;justify-content: center}.due-line>.rl-room{text-align: left;padding-left: 6px}.due-line .rl-note{grid-column: 1 / -1;text-align: left;font-size: 12px;padding-left: 6px}.pill.miss{font-weight: 600}.due-line>*{min-width: 0}.due-line .rl-room,.due-line .rl-loc,.due-line .rl-filter{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.due-line .rl-status{display: inline-flex;align-items: center;justify-content: flex-end;gap: 4px 10px;white-space: nowrap}.due-line .rl-status .rl-meta + .rl-meta::before,.due-line .rl-status .rl-meta + .rl-pill::before{content: none}.due-line .rl-pill{margin-left: 0;flex-wrap: nowrap}.due-head{position: sticky;top: var(--bar-top);z-index: 4;background: var(--panel,var(--bg));box-shadow: inset 4px 0 0 transparent,0 1px 0 var(--line);padding-left: 14px;min-height: 0;padding-top: 4px;padding-bottom: 4px;border-bottom: 0;font-size: 11px;font-weight: 600;text-transform: uppercase;letter-spacing: .06em;color: var(--ink-soft)}.due-head>span{font-weight: 600}.st-short,.rl-desc{display: none}@media (max-width: 640px){.due-line{grid-template-columns: var(--c-tick,) 4.5em minmax(0,1fr) auto}.due-line .rl-loc,.due-line .rl-inst,.due-line .rl-status .rl-cycle{display: none}.due-line:not(.due-tick){grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr) 6.5em;gap: 4px 8px}.due-line:not(.due-tick)>.rl-room{font-weight: 700;padding-left: 6px}.due-line:not(.due-tick) .rl-no:has(+ .rl-desc){display: none}.due-line:not(.due-tick) .rl-desc{display: inline}.due-line:not(.due-tick)>.rl-filter{text-align: left;justify-content: flex-start}.due-line:not(.due-tick) .rl-app{display: none}.due-line:not(.due-tick) .rl-ftype{color: inherit}.due-line:not(.due-tick)>.rl-status{justify-content: center}.due-line:not(.due-tick) .rl-status .rl-due{display: none}.due-line:not(.due-tick) .st-full{display: none}.due-line:not(.due-tick) .st-short{display: inline}.due-line:not(.due-tick) .rl-pill,.due-line:not(.due-tick) .rl-pill .pill{display: block;width: 100%;text-align: center}.due-line:not(.due-tick) .rl-pill .pill{box-sizing: border-box;padding: 3px 4px;font-size: 12px;overflow: hidden}.due-line:not(.due-tick):not(.due-head){min-height: 40px}.due-head:not(.due-tick)>.rl-status{font-size: 0}.due-head:not(.due-tick)>.rl-status::after{content: "Status";font-size: 11px}.due-line:not(.due-tick){grid-template-columns: minmax(0,1fr) minmax(0,1fr) 6.5em;grid-template-areas: "room loc pill" "filter inst due";grid-auto-rows: minmax(22px,auto);row-gap: 2px}.due-line.due-noloc:not(.due-tick){grid-template-areas: "room room pill" "filter inst due"}.due-line:not(.due-tick):not(.due-head){min-height: 0;padding: 1px 0;row-gap: 0}.due-line:not(.due-tick):not(.due-head) .rl-pill .pill{padding: 2px 4px;line-height: 16px}.due-line:not(.due-tick)>.rl-room{grid-area: room}.due-line:not(.due-tick)>.rl-loc{grid-area: loc;display: block;text-align: left}.due-line:not(.due-tick)>.rl-filter{grid-area: filter;font-size: 12px;color: var(--ink-soft);padding-left: 6px}.due-line:not(.due-tick)>.rl-inst{grid-area: inst;display: block;font-size: 12px;text-align: left}.due-line:not(.due-tick):not(.due-head)>.rl-status{display: contents}.due-line:not(.due-tick):not(.due-head) .rl-status .rl-due{grid-area: due;display: block;font-size: 12px;text-align: center}.due-line:not(.due-tick) .rl-pill{grid-area: pill}.due-head:not(.due-tick)>.rl-status{grid-area: pill}.due-line:not(.due-tick)>.rl-loc:empty,.due-line:not(.due-tick)>.rl-inst:empty,.due-line:not(.due-tick) .rl-due:empty{visibility: hidden}.due-line:not(.due-tick):not(.due-head) .rl-no:has(+ .rl-desc){display: inline}.due-line:not(.due-tick):not(.due-head) .rl-desc{display: none}}@media (max-width: 640px){.floor-body .report-table tbody tr{display: grid;grid-template-columns: auto minmax(0,1fr) minmax(0,1fr) 6.5em auto;grid-template-areas: "chk room loc pill act" "chk filter inst due act";column-gap: 6px;row-gap: 0;align-items: center;padding: 3px 0}.floor-body .report-table tbody tr:not(:has(>.col-loc)){grid-template-areas: "chk room room pill act" "chk filter inst due act"}.floor-body .report-table tbody tr>td{display: block;padding: 0;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.floor-body .report-table tbody td[data-label]::before{content: none}.floor-body .report-table tbody td.check-col{grid-area: chk}.floor-body .report-table tbody td[data-label="Room"]{grid-area: room;font-weight: 700}.floor-body .report-table tbody td[data-label="Room"]>:not(.room-no){display: none}.floor-body .report-table tbody td.col-loc{grid-area: loc;display: block;font-size: 13px}.floor-body .report-table tbody td[data-label="Filter"]{grid-area: filter;font-size: 12px;color: var(--ink-soft)}.floor-body .report-table tbody td[data-label="Filter"]>:is(.muted,.photo-strip){display: none}.floor-body .report-table tbody td[data-label="Cycle"]{display: none}.floor-body .report-table tbody td:is([data-label="Installed"],[data-label="Last Replaced"]){grid-area: inst;font-size: 12px}.floor-body .report-table tbody td[data-label="Change By"]{display: contents}.floor-body .report-table tbody td[data-label="Change By"]>.pill{grid-area: pill;display: block;box-sizing: border-box;text-align: center;font-size: 12px;padding: 2px 4px;line-height: 16px;overflow: hidden;white-space: nowrap}.floor-body .report-table tbody td[data-label="Change By"]>.muted{grid-area: due;display: block;font-size: 12px;text-align: center;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.floor-body .report-table tbody td[data-label="Change By"]>.lot-missing{display: none}.floor-body .report-table tbody td[data-label="Log a Change"]{grid-area: act;overflow: visible}.floor-body .report-table tbody td[data-label="Log a Change"] form:not(.lot-form){margin: 0;flex-wrap: nowrap}.floor-body .report-table tbody td[data-label="Log a Change"] button.small{min-height: 36px;padding: 4px 10px;font-size: 13px;white-space: nowrap}.floor-body .report-table tbody tr.replaced-row>td[data-label="Log a Change"]{grid-column: 1 / -1;grid-row: 3}.floor-body .report-table tbody td[colspan]{grid-column: 2 / -1;grid-row: 2;font-size: 12px}.floor-body .report-table tbody td:empty{visibility: hidden}.rl-table tr.rl-row:not(.replaced-row){display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr) 6.5em auto;grid-template-areas: "room loc pill act" "filter inst due act";column-gap: 6px;row-gap: 0;padding: 3px 8px}.rl-table tr.rl-row:not(.replaced-row):not(.rl-has-loc){grid-template-areas: "room room pill act" "filter inst due act"}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-room{grid-area: room}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-loc{grid-area: loc;display: block;padding: 0;font-size: 13px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-filter{grid-area: filter;font-size: 12px;color: var(--ink-soft)}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-inst{grid-area: inst;display: block;padding: 0;font-size: 12px;white-space: nowrap;overflow: hidden}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-due{display: contents}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-due>.pill{grid-area: pill;padding: 2px 4px;line-height: 16px}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-due>.muted{grid-area: due;position: static;width: auto;height: auto;margin: 0;clip: auto;display: block;font-size: 12px;text-align: center;overflow: hidden;text-overflow: ellipsis}.rl-table tr.rl-row:not(.replaced-row)>.rl-c-act{grid-area: act;margin: 0}.rl-table tr.rl-row:not(.replaced-row)>:is(.rl-c-loc,.rl-c-inst):empty{visibility: hidden}.completed-property .room-line{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto auto;grid-template-areas: "room src due qr act" "filter inst when qr act";column-gap: 6px;row-gap: 0;align-items: center;min-height: 0;padding: 3px 0}.completed-property .room-line>*,.completed-property .room-line>.cd-act>*{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.completed-property .room-line>.cd-act{display: contents}.completed-property .room-line>.rl-room{grid-area: room;font-weight: 700}.completed-property .room-line>.cd-src{grid-area: src;font-size: 13px;text-align: center}.completed-property .room-line>.cd-cycle{display: none}.completed-property .room-line>.cd-due{grid-area: due;text-align: center}.completed-property .room-line>.cd-due>.pill{padding: 2px 4px;line-height: 16px;font-size: 12px}.completed-property .room-line>.rl-filter{grid-area: filter;font-size: 12px;color: var(--ink-soft);text-align: center}.completed-property .room-line>.cd-inst{grid-area: inst;font-size: 12px;text-align: center}.completed-property .room-line>.cd-act>.cd-when{grid-area: when;font-size: 12px;text-align: center}.completed-property .room-line>.cd-act>.rl-undo{grid-area: act;overflow: visible;margin: 0}.completed-property .room-line>.cd-act>.rl-qr{grid-area: qr;overflow: visible}}@media (max-width: 640px){.due-line:not(.due-tick)>:is(.rl-filter,.rl-inst){text-align: center;justify-content: center;padding-left: 0}.floor-body .report-table tbody td:is([data-label="Filter"],[data-label="Installed"],[data-label="Last Replaced"]){text-align: center}.rl-table tr.rl-row:not(.replaced-row)>:is(.rl-c-filter,.rl-c-inst){text-align: center}}@media (max-width: 640px){.nolot-cell,.nolot-choice.nolot-line{grid-column: 1 / -1;grid-row: 3}.nolot-cell{display: block;padding: 0;margin: 0;border: 0}.nolot-cell{grid-column: 1 / -1;grid-row: 3}.nolot-choice.nolot-line{grid-column: 1 / -1;grid-row: 3;display: flex;flex-wrap: nowrap;align-items: center;gap: 6px;margin: 4px 0 2px;min-width: 0}.nolot-cell>.nolot-choice.nolot-line{margin: 4px 0 2px}.nolot-line>div{flex: 1 1 0;min-width: 0;font-size: 12px;line-height: 1.2;white-space: normal;overflow-wrap: anywhere}.nolot-line>button{flex: 0 0 auto;width: auto;min-width: 0;min-height: 30px;height: auto;padding: 4px 10px;border-radius: 999px;font-size: 12px;line-height: 18px;white-space: nowrap;margin: 0}.nolot-line>button[data-nolot-anyway]{flex: 0 1 auto;min-width: min-content;white-space: normal;line-height: 14px;text-align: center;color: #b3261e;background: #fff5f5;border: 1px solid #e8a6a1}.nolot-line>input:not([hidden]){flex: 0 0 8.2em;width: 8.2em;min-width: 0}}@media (min-width: 641px){#push-card.phone-alerts{display: none !important}}@media (min-width: 1200px){.hub-main .hub-cards .hub-pair>.hub-status,.hub-main .hub-cards>.hub-breakdown{height: 92px;min-height: 92px;max-height: 92px;overflow: hidden;padding: 10px 14px;box-sizing: border-box}.hub-main .hub-cards .hub-pair>.hub-status{flex-direction: row;align-items: center;gap: 12px}.hub-main .hub-cards .hub-status .hub-card-title,.hub-main .hub-cards .hub-breakdown .hub-card-title{flex: none;margin: 0;font-size: 13px;line-height: 16px}.hub-main .hub-cards .hub-status .hub-card-title{width: 52px}.hub-main .hub-cards .hub-status .pie-wrap{flex: 1 1 auto;flex-direction: row;align-items: center;gap: 12px;min-width: 0}.hub-main .hub-cards .hub-status .donut{flex: none;width: 66px;height: 66px}.hub-main .hub-cards .hub-status .donut-total{font-size: 17px;line-height: 1}.hub-main .hub-cards .hub-status .donut-label{font-size: 9px}.hub-main .hub-cards .hub-status .pie-legend{flex: 1 1 auto;display: flex;flex-direction: row;flex-wrap: wrap;gap: 2px 12px;width: auto;max-width: none;font-size: 12px}.hub-main .hub-cards .hub-status .pie-legend li{display: inline-flex;align-items: center;gap: 4px;padding: 0;line-height: 16px}.hub-main .hub-cards>.hub-breakdown{display: flex;flex-direction: column;gap: 4px}.hub-main .hub-cards .hub-breakdown .status-extra{grid-template-columns: auto minmax(0,1fr);gap: 0;font-size: 12px}.hub-main .hub-cards .hub-breakdown .status-due,.hub-main .hub-cards .hub-breakdown .status-types{display: grid;grid-template-columns: auto minmax(0,1fr);column-gap: 10px;align-content: start}.hub-main .hub-cards .hub-breakdown .status-due{padding-right: 18px}.hub-main .hub-cards .hub-breakdown .status-types{padding-left: 18px}.hub-main .hub-cards .hub-breakdown .status-sub{margin: 0;font-size: 11px;line-height: 14px;grid-row: 1 / span 3}.hub-main .hub-cards .hub-breakdown .status-due .pie-legend{display: flex;flex-wrap: nowrap;gap: 0 12px;margin: 0;padding: 0;font-size: 12px}.hub-main .hub-cards .hub-breakdown .status-due .pie-legend li{display: inline-flex;gap: 4px;padding: 0;line-height: 14px;white-space: nowrap}.hub-main .hub-cards .hub-breakdown .status-cycles{margin: 2px 0 0;font-size: 11px;line-height: 14px}.hub-main .hub-cards .hub-breakdown .type-bars{font-size: 12px}.hub-main .hub-cards .hub-breakdown .type-bars li{grid-template-columns: minmax(0,1fr) minmax(40px,120px) 3ch 5ch;padding: 0;line-height: 14px;white-space: nowrap}.hub-main .hub-cards .hub-breakdown .type-bars .legend-label{overflow: hidden;text-overflow: ellipsis}.hub-main .hub-cards .hub-breakdown .type-bar{grid-column: 2;grid-row: 1;height: 5px}.hub-main .hub-cards .hub-breakdown .type-bars .legend-count{grid-column: 3;grid-row: 1}.hub-main .hub-cards .hub-breakdown .type-bars .legend-pct{grid-column: 4;grid-row: 1}}.rl-hub-only{display: none}.due-property-bar{display: contents}@media screen and (min-width: 1200px){:root{--hub-cols: 222px 76px 128px 80px 96px 228px 250px;--nc-gap: 10px;--hub-cols-h: 30px}.due-groups{--stick-top: var(--nc-top,calc(var(--bar-top) + var(--pin-gap) * 2 + var(--pair-h)))}.due-property-bar{display: block;position: sticky;top: var(--stick-top);z-index: 7;background: var(--bg)}main .due-property-bar>.due-property-title{position: static}.due-property{--above: calc(var(--s1) + var(--hub-cols-h))}.rl-hub-cols{display: grid;grid-template-columns: var(--hub-cols);column-gap: var(--nc-gap);align-items: center;justify-content: space-between;box-sizing: border-box;height: var(--hub-cols-h);padding: 0 25px;font-size: 13px;font-weight: 700;color: var(--ink-soft);border-bottom: 1px solid var(--line)}.rl-hub-cols>span{text-align: center;white-space: nowrap;overflow: hidden}.rl-hub-cols>span:first-child{text-align: left;padding-left: 6px}.rl-table thead tr.rl-row.rl-hub{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip: rect(0 0 0 0);border: 0}.rl-table tr.rl-row.rl-hub,.rl-table tr.rl-row.rl-hub.replaced-row{display: grid;grid-template-columns: var(--hub-cols);column-gap: var(--nc-gap);align-items: center;justify-content: space-between;box-sizing: border-box;height: 50px;padding: 0 10px}.rl-table tr.rl-row.rl-hub>.rl-c-loc{display: none}.rl-table tr.rl-row.rl-hub>.rl-c-room{grid-column: 1}.rl-table tr.rl-row.rl-hub>.rl-c-filter{grid-column: 2}.rl-table tr.rl-row.rl-hub>.rl-c-serves{grid-column: 3}.rl-table tr.rl-row.rl-hub>.rl-c-cycle{grid-column: 4}.rl-table tr.rl-row.rl-hub>.rl-c-inst{grid-column: 5}.rl-table tr.rl-row.rl-hub>.rl-c-due{grid-column: 6}.rl-table tr.rl-row.rl-hub>td{grid-row: 1;padding: 0;min-width: 0;text-align: center !important}.rl-table tr.rl-row.rl-hub>.rl-c-room{display: flex;align-items: baseline;gap: .45em;padding-left: 6px;white-space: nowrap;overflow: hidden;text-align: left !important}.rl-table tr.rl-row.rl-hub>.rl-c-room>*{flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;margin: 0}.rl-table tr.rl-row.rl-hub>.rl-c-room>.room-no{flex: 0 0 auto}.rl-table tr.rl-row.rl-hub .rl-desc{display: inline;font-weight: 600}.rl-table tr.rl-row.rl-hub>.rl-c-room>.muted{display: none}.rl-table tr.rl-row.rl-hub>.rl-c-filter{display: flex;justify-content: center;overflow: hidden}.rl-table tr.rl-row.rl-hub>.rl-c-filter>a{display: inline-block;max-width: 76px;text-align: center;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.rl-table tr.rl-row.rl-hub>.rl-c-filter>:not(a){display: none}.rl-table tr.rl-row.rl-hub>.rl-c-serves{display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.rl-table tr.rl-row.rl-hub>.rl-c-cycle{display: flex;justify-content: center}.rl-table tr.rl-row.rl-hub>.rl-c-cycle>.pill{flex: 0 0 80px;box-sizing: border-box;text-align: center;margin: 0}.rl-table tr.rl-row.rl-hub>.rl-c-inst{display: block;white-space: nowrap;font-size: 13px}.rl-table tr.rl-row.rl-hub>.rl-c-due{display: flex;justify-content: center;align-items: center;gap: 8px}.rl-table tr.rl-row.rl-hub>.rl-c-due>.pill{flex: 0 0 104px;box-sizing: border-box;text-align: center;margin: 0;white-space: nowrap;overflow: hidden}.rl-table tr.rl-row.rl-hub>.rl-c-due>.muted{display: block;flex: 0 0 116px;max-width: 116px;margin: 0;text-align: center;font-size: 12px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.rl-table tr.rl-row.rl-hub>.rl-c-act,.rl-table tr.rl-row.rl-hub>.rl-c-act>.replace-form{display: contents}.rl-table tr.rl-row.rl-hub .replace-form>input[type="date"]{grid-row: 1;grid-column: 7;justify-self: start;width: 136px;box-sizing: border-box;margin: 0 0 0 4px}.rl-table tr.rl-row.rl-hub .replace-form>button[type="submit"]{grid-row: 1;grid-column: 7;justify-self: end;width: 100px;margin: 0 4px 0 0;white-space: nowrap}.rl-table tr.rl-row.rl-hub .replace-form>.nolot-choice{grid-column: 6 / -1;grid-row: 1;z-index: 2;align-self: stretch;display: flex;align-items: center;justify-content: center;gap: 8px;margin: 5px 0;padding: 0 8px;border-radius: 999px;background: var(--panel);box-shadow: 0 0 0 1px var(--line);font-size: 13px;white-space: nowrap;overflow: hidden}.rl-table tr.rl-row.rl-hub .replace-form>.nolot-choice>div{flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis}.rl-table tr.rl-row.rl-hub .replace-form>.nolot-choice>button{min-height: 30px;padding: 3px 12px;border-radius: 999px;font-size: 12px;margin: 0;white-space: nowrap}.rl-table tr.rl-row.rl-hub .replace-form>.nolot-choice>input:not([hidden]){width: 8em;min-height: 30px;padding: 2px 6px}.rl-table tr.rl-row.rl-hub>.rl-c-act>form[action*="undo"]{grid-column: 7;grid-row: 1;display: flex;align-items: center;justify-content: center;gap: 10px;margin: 0;white-space: nowrap}.rl-table tr.rl-row.rl-hub>.rl-c-act>.lot-form{display: none}.rl-table tr.rl-row.rl-hub>.rl-c-act>.flash{grid-column: 2 / 6;grid-row: 1;justify-self: end;z-index: 3;margin: 0;padding: 4px 10px;font-size: 12px}}.hub-breakdown .fb-wrap{overflow-x: auto}.hub-breakdown .fb-table{width: 100%;table-layout: fixed;border-collapse: collapse}.hub-breakdown .fb-table th,.hub-breakdown .fb-table td{text-align: center;padding: 3px 6px}.hub-breakdown .fb-table .fb-name{text-align: left;width: 40%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.hub-breakdown .fb-total td{border-top: 1px solid var(--border,#ddd)}@media (min-width: 1200px){.hub-main .hub-cards>.hub-breakdown{height: auto;min-height: 0;max-height: none;overflow: visible}.hub-main .hub-cards .hub-pair>.hub-status{height: 125px;min-height: 125px;max-height: 125px}.hub-main .hub-cards .hub-status .donut{width: 92px;height: 92px}.hub-main .hub-cards .hub-status .pie-legend{flex-direction: column;flex-wrap: nowrap}.hub-main .hub-cards .hub-breakdown .fb-table{font-size: 12px}}.hub-card .fb-table th,.hub-card .fb-table td{text-align: center;padding: 3px 6px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.hub-card .fb-table{width: 100%;table-layout: fixed;border-collapse: collapse}.hub-card .fb-table .fb-name{text-align: left}.hub-card .fb-table col.fb-name{width: 30%}.hub-card .fb-total td{border-top: 1px solid var(--border,#ddd)}.hub-breakdown .fb-wrap,.hub-status .fb-wrap{overflow: visible}@media (min-width: 1200px){.hub-main .hub-cards .hub-pair>.hub-status,.hub-main .hub-cards>.hub-breakdown{height: auto;min-height: 0;max-height: none;overflow: visible;align-self: stretch}.hub-main .hub-cards .hub-pair>.hub-status{flex-direction: column;align-items: stretch;justify-content: flex-start;gap: 6px}.hub-main .hub-cards .hub-status .hub-card-title{width: auto}.hub-main .hub-cards .hub-status .pie-wrap{flex: none;flex-direction: row;align-items: flex-start;gap: 12px}.hub-main .hub-cards>.hub-breakdown{justify-content: flex-start}.hub-main .hub-cards .hub-status .donut{flex: none;width: 72px;height: 72px}.hub-main .hub-cards .hub-status .donut-total{font-size: 18px}.hub-main .hub-cards .hub-status .fs-wrap{flex: 1 1 auto;min-width: 0}.hub-main .hub-cards .hub-status .fb-table,.hub-main .hub-cards .hub-breakdown .fb-table{font-size: 12px}.hub-main .hub-cards .hub-status col.fb-name{width: 34%}}@media (max-width: 1199px){.hub-status .pie-wrap{flex-wrap: wrap}.hub-status .fs-wrap{flex: 1 1 100%;min-width: 0}}.ml-cols,.ml-d-only{display: none}@media screen and (min-width: 1200px){.ml{--ml-h: 30px;--ml-gap: 10px;--ml-rpad: 10px;--ml-hpad: 25px;--above: calc(var(--s1) + var(--ml-h))}.ml.ml-in{--ml-hpad: var(--ml-rpad)}.ml.ml-notitle{--above: var(--ml-h)}.ml-w-check{flex: 0 0 22px}.ml-w-room{flex: 0 0 222px}.ml-w-filter{flex: 0 0 76px}.ml-w-src{flex: 0 0 128px}.ml-w-cycle{flex: 0 0 80px}.ml-w-inst{flex: 0 0 96px}.ml-w-due{flex: 0 0 228px}.ml-w-act{flex: 0 0 250px}.ml-bar{position: sticky;top: calc(var(--stick-top) + var(--ml-top,0px));z-index: 7;background: var(--ml-bg,var(--bg))}.ml-bar>.ml-title{position: static;box-sizing: border-box;height: var(--s1);line-height: var(--s1);margin: 0;overflow: hidden;white-space: nowrap;text-overflow: ellipsis}.ml-cols{display: flex;justify-content: space-between;column-gap: var(--ml-gap);align-items: center;box-sizing: border-box;height: var(--ml-h);padding: 0 var(--ml-hpad);font-size: 13px;font-weight: 700;color: var(--ink-soft);border-bottom: 1px solid var(--line)}.ml-cols>span{text-align: center;white-space: nowrap;overflow: hidden}.ml-cols>.ml-w-room{text-align: left;padding-left: 6px}.ml .ml-hide,.ml thead,.ml .due-head{display: none !important}.ml table,.ml tbody,.ml .table-wrap{display: block;width: 100%;overflow: visible;border: 0}.ml .ml-list{display: block;margin: 0;padding: 0;list-style: none}.ml .ml-row{position: relative;display: flex !important;justify-content: space-between;column-gap: var(--ml-gap);align-items: center;box-sizing: border-box;height: 50px;min-height: 0;padding: 0 var(--ml-rpad);margin: 0;border-width: 0 0 1px;border-style: solid;border-color: var(--line);grid-template-columns: none}.ml .ml-row>.ml-hide-d{display: none !important}.ml .ml-row>.ml-empty{flex: 1 1 auto;display: block;text-align: left !important;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.ml .ml-row .ml-d-only{display: inline}.ml .ml-row .ml-hide-d{display: none !important}.ml .ml-row>.ml-d-only{display: block}.ml .ml-row>[class*="ml-w-"]{display: block;min-width: 0;margin: 0;padding: 0;border: 0;text-align: center !important;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.ml .ml-row>[class*="ml-w-"]::before{content: none !important}.ml .ml-row>.ml-w-check{display: flex;align-items: center;justify-content: center}.ml .ml-row>.ml-w-room{display: flex;align-items: baseline;gap: .45em;padding-left: 6px;text-align: left !important;font-weight: 600}.ml .ml-row>.ml-w-room *{display: inline;margin: 0}.ml .ml-row>.ml-w-room>*{flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ml .ml-row>.ml-w-room>.room-no,.ml .ml-row>.ml-w-room .rl-no{flex: 0 0 auto}.ml .ml-row>.ml-w-room .rl-desc,.ml .ml-row>.ml-w-room>.ml-desc{font-weight: 600}.ml .ml-row>.ml-w-room>.next-due,.ml .ml-row>.ml-w-room>.muted:not(.ml-keep){display: none !important}.ml .ml-row>.ml-w-filter{display: flex;flex-direction: column;justify-content: center;align-items: center}.ml .ml-row>.ml-w-filter>*{max-width: 76px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.ml .ml-row>.ml-w-filter>:not(.ml-keep):not(a):not(b):not(:first-child){display: none}.ml .ml-row>.ml-w-filter>.ml-keep{font-size: 11px;line-height: 13px}.ml .ml-row>.ml-w-cycle{display: flex;justify-content: center}.ml .ml-row>.ml-w-cycle>.pill{flex: 0 0 80px;box-sizing: border-box;text-align: center;margin: 0}.ml .ml-row>.ml-w-inst{font-size: 13px}.ml .ml-row>.ml-w-due{display: flex;justify-content: center;align-items: center;gap: 8px}.ml .ml-row>.ml-w-due>.pill{flex: 0 0 104px;box-sizing: border-box;text-align: center;margin: 0;white-space: nowrap;overflow: hidden}.ml .ml-row>.ml-w-due>.muted{display: block;flex: 0 0 116px;max-width: 116px;margin: 0;text-align: center;font-size: 12px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.ml .ml-row>.ml-w-due>.lot-missing{display: none}.ml .ml-row>.ml-w-act{display: flex;justify-content: center;align-items: center;gap: 10px;overflow: visible}.ml .ml-row>.ml-w-act>form{display: flex;align-items: center;justify-content: center;gap: 10px;margin: 0;white-space: nowrap}.ml .ml-row>.ml-w-act button{margin: 0;white-space: nowrap}.ml .ml-row>.ml-w-act .replace-form>button[type="submit"]{width: 100px}.ml .ml-row>.ml-w-act .replace-form>input[type="date"]{width: 136px;box-sizing: border-box;margin: 0}.ml .ml-row>.ml-w-act>.lot-form{display: none}.ml .ml-row>.ml-w-act .replace-form>.nolot-choice{position: absolute;right: var(--ml-rpad);top: 5px;bottom: 5px;width: calc(228px + 250px + var(--ml-gap));z-index: 2;display: flex;align-items: center;justify-content: center;gap: 8px;margin: 0;padding: 0 8px;box-sizing: border-box;border-radius: 999px;background: var(--panel);box-shadow: 0 0 0 1px var(--line);font-size: 13px;white-space: nowrap;overflow: hidden}.ml .ml-row>.ml-w-act .replace-form>.nolot-choice>div{flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis}.ml .ml-row>.ml-w-act .replace-form>.nolot-choice>button{min-height: 30px;padding: 3px 12px;border-radius: 999px;font-size: 12px;margin: 0;white-space: nowrap}.ml .ml-row>.ml-w-act>.flash{position: absolute;right: calc(250px + var(--ml-rpad) + var(--ml-gap));top: 10px;z-index: 3;margin: 0;padding: 4px 10px;font-size: 12px}.ml .ml-row>.ml-w-act .rl-qr svg{width: 40px;height: 40px;display: block}.ml .ml-row>.ml-w-act .rl-qr{display: flex;align-items: center;gap: 4px;font-size: 10px}}@media screen and (min-width: 1200px){form.picker[data-swap]{flex-wrap: wrap;justify-content: flex-start;gap: 10px 14px}form.picker[data-swap] select{max-width: 100%;min-width: 0}form.picker[data-swap] .picker-group,form.picker[data-swap] .picker-actions{display: inline-flex;align-items: center;gap: 6px;margin: 0;white-space: nowrap;max-width: 100%;min-width: 0}form.picker[data-swap] .picker-sep{flex: 1 1 0}form.picker[data-swap] :is(select,.due-search,.picker-actions>button,.picker-actions>.btn){box-sizing: border-box;height: 36px;min-height: 36px;margin: 0;padding-top: 0;padding-bottom: 0}form.picker[data-swap] .picker-actions>.btn{display: inline-flex;align-items: center}form.picker[data-swap] .due-search{flex: 0 1 220px;width: 220px;max-width: 220px}form.picker[data-swap] label{margin: 0}form.picker[data-swap] .picker-group>label.check{display: inline-flex;align-items: center;gap: 6px;height: 36px;padding: 0;white-space: nowrap}form.picker[data-swap] .picker-group>label.check>input[type="checkbox"]{margin: 0;flex: none}}@media screen and (min-width: 1200px){.completed-day .completed-property.ml{--ml-top: var(--s1);--ml-bg: var(--panel)}.completed-property .ml-w-room{flex-basis: 132px}.completed-property .ml-w-status{flex: 0 0 90px}.completed-property .ml-row{height: auto;min-height: 50px}.completed-property .ml-row>.ml-w-room{align-items: center}.completed-property .ml-row>.ml-w-room>.room-no{flex: 1 1 auto;white-space: normal;overflow: visible;overflow-wrap: anywhere;font-size: 13px;line-height: 15px}.completed-property .ml-row>.ml-w-status{display: flex;justify-content: center}.completed-property .ml-row>.ml-w-status>.pill{flex: 0 0 80px;box-sizing: border-box;text-align: center;margin: 0}.completed-property .ml-row>.ml-w-act{gap: 6px;justify-content: flex-start}.completed-property .ml-row>.ml-w-act>.cd-when{flex: 0 0 140px;width: 140px;text-align: center;min-width: 0;font-size: 12px;white-space: normal;overflow: visible;overflow-wrap: anywhere}.completed-property .ml-row>.ml-w-filter>.cd-lot{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}.completed-property .ml-row>.ml-w-act>.rl-qr{flex: none;margin: 0}.completed-property .ml-row>.ml-w-act>.rl-qr .token{display: none}.completed-property .ml-row>.ml-w-act>form.rl-undo{flex: none;gap: 0}}@media screen and (min-width: 1200px){.ml-cycle{--ml-bg: var(--panel)}.ml-cycle .ml-row>.ml-w-filter{order: 1;flex-direction: row;gap: 4px}.ml-cycle .ml-row>.ml-w-cycle{order: 2}.ml-cycle .ml-row>.ml-w-inst{order: 3}.ml-cycle .ml-row>.ml-w-filter>img.ml-d-only{display: block;width: 26px;height: 26px;object-fit: contain;flex: none;order: -1}}@media screen and (min-width: 1200px){.ml-xref .ml-row>.ml-w-due>:is(.rl-due,.rl-pill){display: inline-flex;gap: 6px;align-items: center;font-size: 12px}.ml-xref .ml-row>.ml-w-filter>*,.ml-xref .ml-row>.ml-w-filter{white-space: nowrap}.ml-xref .ml-row>.rl-note{position: absolute;left: calc(var(--ml-rpad) + 22px + var(--ml-gap) + 6px);bottom: 1px;max-width: 480px;font-size: 11px;line-height: 13px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.ml-xref .ml-row>.rl-tick{flex: 0 0 22px;display: flex;align-items: center;justify-content: center;margin: 0;padding: 0}}input.due-search,input#room-find-input,input[data-room-search]{padding-left: 36px !important}@media (min-width: 1200px){.hub-main .hub-cards>.hub-breakdown{position: relative;min-height: 171px}.hub-main .hub-cards .hub-breakdown>.hub-card-title{position: absolute;z-index: 6;margin: 0;padding-top: 3px;line-height: 16px}.hub-main .hub-cards .hub-breakdown .fb-table thead th{line-height: 16px}.hub-main .hub-cards .hub-breakdown .fb-table thead th.fb-name{color: transparent}.hub-main .hub-cards .hub-breakdown .fb-table col.fb-name,.hub-main .hub-cards .hub-breakdown .fb-table .fb-name{width: 22%}}@media (min-width: 1200px){.hub-main .hub-cards .hub-pair>.hub-status{flex-basis: calc(36% - var(--hub-gap) / 2)}.hub-main .hub-cards .hub-status .pie-wrap{gap: 8px}.hub-main .hub-cards .hub-status .donut{width: 84px;height: 84px}.hub-main .hub-cards .hub-status .fb-table{font-size: 11px;table-layout: auto}.hub-main .hub-cards .hub-status .fb-table th,.hub-main .hub-cards .hub-status .fb-table td{font-size: 10px;padding: 3px 2px;overflow: visible;text-overflow: clip;white-space: nowrap}.hub-main .hub-cards .hub-status col.fb-name{width: auto}}.hub-breakdown .fb-table .cy-slots{display: grid;gap: 0;justify-content: center}.hub-breakdown .fb-table .cy-slots.cy-n1{grid-template-columns: minmax(0,1fr)}.hub-breakdown .fb-table .cy-slots.cy-n2{grid-template-columns: repeat(2,minmax(0,1fr))}.hub-breakdown .fb-table .cy-slots.cy-n3{grid-template-columns: repeat(3,minmax(0,1fr))}.hub-breakdown .fb-table .cy-slots>span{min-width: 0;text-align: center}.hub-breakdown .fb-models td{font-size: 10px;color: var(--ink-soft);white-space: normal;overflow: visible;text-overflow: clip}.hub-breakdown .fb-table :is(th,td):not(:first-child){border-left: 1px solid var(--line)}.ml-bar{position: relative}.ml-bar>.manage-menu{position: relative;display: flex;justify-content: flex-end}@media screen and (min-width: 1200px){.ml-bar{position: sticky}.ml-bar>.manage-menu{position: absolute;right: 4px;top: 50%;transform: translateY(-50%);z-index: 8}}.ml-bar>.manage-menu>summary{min-height: 0;padding: 2px 10px;font-size: 12px;line-height: 1.4}.ml-bar>.manage-menu>.manage-list{top: calc(100% + 4px)}.ml-bar>.manage-menu:not([open])>.manage-list{display: none}.manage-menu>summary{list-style: none;cursor: pointer;background: #e5e7eb;color: #374151;border: 1px solid #d1d5db}.manage-menu>summary::-webkit-details-marker{display: none}.manage-menu .manage-list{position: absolute;right: 0;top: calc(100% + 4px);z-index: 50;min-width: 220px;background: #fff;border: 1px solid #d1d5db;border-radius: 8px;box-shadow: 0 6px 18px rgba(0,0,0,.15);padding: 4px}.manage-menu .manage-item{margin: 0}.manage-menu .manage-danger{display: block;width: 100%;text-align: left;background: none;border: 0;padding: 10px 12px;color: #b91c1c;font-weight: 600;cursor: pointer;border-radius: 6px;min-height: 0}.manage-menu .manage-danger:hover,.manage-menu .manage-danger:focus-visible{background: #fee2e2}.site-footer{overflow-x: clip}.step-row{display:grid;gap:12px;margin-bottom:12px}@media (min-width:1200px){.step-row{grid-template-columns:1fr 1fr}}.step-row .panel.step-compact{padding:10px 14px;margin:0;font-size:.9rem}.step-compact h2{font-size:1rem;margin:0 0 6px}.step-compact p{margin:4px 0}.step-compact .fields{gap:8px;align-items:end}.step-compact label{font-size:.9rem}.pic-form{display: grid;gap: .6rem;max-width: 40rem}.pic-file{position: absolute;width: 1px;height: 1px;opacity: 0;overflow: hidden}.pic-take{display: block;text-align: center;padding: 1.4rem 1rem;font-size: 1.25rem;font-weight: 600;border-radius: 12px;background: var(--accent);color: #fff;cursor: pointer}.pic-file:focus-visible + .pic-take,.pic-take:focus-within{outline: 3px solid var(--accent);outline-offset: 2px}.pic-preview{max-width: 12rem;max-height: 12rem;border-radius: 8px;border: 1px solid var(--line,#ddd)}.room-photos{display: flex;flex-wrap: wrap;gap: .75rem}.room-photos figure{margin: 0;width: 7.5rem}.room-photos img{width: 7.5rem;height: 7.5rem;object-fit: cover;border-radius: 6px;display: block}.room-photos figcaption{font-size: .8rem}@media (min-width: 1200px){header.bar nav{align-self: center;align-items: center;margin-bottom: 0}header.bar nav a{font-size: 15px;padding-left: 8px;padding-right: 8px}}@media (max-width: 640px){header.bar nav{gap: 0 10px;padding: 0;margin-top: 0}header.bar nav a{min-height: 44px;line-height: 36px;padding: 4px 6px;display: inline-flex;align-items: center}.who a,.who .link-button{min-height: 44px;line-height: 44px}.who form{min-height: 44px}.who .bell-button{min-width: 44px;min-height: 44px;width: 44px;height: 44px;display: inline-flex;align-items: center;justify-content: center}.install-header{min-height: 44px}}.print-note{margin: 4px 0 0}.report-issue{margin: 8px 0}.report-issue>summary{list-style: none;display: inline-block;cursor: pointer}.report-issue>summary::-webkit-details-marker{display: none}.report-issue-form{display: grid;gap: 6px;max-width: 480px;margin-top: 8px}.report-issue-form textarea,.report-issue-form select,.report-issue-form input[type=text]{width: 100%;box-sizing: border-box}.issue-list{list-style: none;padding: 0;margin: 0}.issue-list li{padding: 8px 0;border-top: 1px solid var(--line,#e5e7eb)}.issue-list li:first-child{border-top: 0}.issue-list form{display: inline}.qr-roomok{text-align: center}.qr-roomok-room{font-size: 1.8rem;margin: 0.2em 0}.qr-roomok-property{font-size: 1.15rem;font-weight: 600;margin: 0 0 0.3em}.qr-roomok-actions{flex-direction: column;align-items: stretch}.ow-one{display: none}@media (max-width: 640px){.ow-full{display: none}.ow-one{display: inline}}@media screen and (max-width: 760px){.hub-main:has(.hub-pair){--stick-top: var(--bar-top)}.due-groups{--stick-top: var(--nc-top,var(--bar-top))}.ml-bar:has(>*){position: sticky;top: calc(var(--stick-top) + var(--ml-top,0px));z-index: 7;background: var(--ml-bg,var(--bg))}.ml-bar>.ml-title{position: static !important}.completed-day .completed-property.ml{--ml-top: var(--s1);--ml-bg: var(--panel)}}@media (max-width: 640px){.hub-main .hub-cards .hub-card .fb-wrap{overflow: visible;max-width: 100%}.hub-main .hub-cards .hub-card .fb-table,.hub-main .hub-cards .hub-card .fb-table tbody{display: block;width: 100%;table-layout: auto}.hub-main .hub-cards .hub-card .fb-table colgroup,.hub-main .hub-cards .hub-card .fb-table thead{display: none}.hub-main .hub-cards .hub-card .fb-table tr{display: block;padding: 6px 0;border-top: 1px solid var(--line)}.hub-main .hub-cards .hub-card .fb-table tr:first-child{border-top: 0}.hub-main .hub-cards .hub-card .fb-table td{display: flex;justify-content: space-between;align-items: baseline;gap: 8px;width: auto;padding: 1px 0;text-align: right;white-space: normal;overflow: visible;text-overflow: clip;border: 0 !important;font-size: 13px}.hub-main .hub-cards .hub-card .fb-table td.fb-name{display: block;text-align: left;font-weight: 600;width: auto;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.hub-main .hub-cards .hub-card .fb-table td[data-label]:not(.fb-name)::before{content: attr(data-label);color: var(--ink-soft);text-align: left;flex: none}.hub-main .hub-cards .hub-breakdown .fb-table .cy-slots{display: flex;flex-wrap: wrap;justify-content: flex-end;gap: 2px 12px;min-width: 0}.hub-main .hub-cards .hub-breakdown .fb-models td.fb-name{display: none}.hub-main .hub-cards .hub-breakdown .fb-models td{font-size: 12px}.hub-main .hub-cards .hub-breakdown .fb-models::before{content: "Models";display: block;font-weight: 600;font-size: 13px;color: var(--ink)}.hub-main .hub-cards .hub-status .pie-wrap{flex-direction: column;align-items: stretch}.hub-main .hub-cards .hub-status .fs-wrap{flex: 1 1 auto;width: 100%;min-width: 0}}@media (max-width: 640px){.action-bar{flex-wrap: wrap;overflow-x: visible}.action-bar>*{max-width: 100%}}@media (max-width: 640px){.floor-toggle{white-space: normal;min-width: 0;max-width: 100%;overflow-wrap: anywhere}.floor-title{min-width: 0}header.bar nav a{white-space: normal;max-width: 100%;min-width: 0;overflow-wrap: anywhere}.picker .picker-group{max-width: 100%;min-width: 0}.picker select{max-width: 100%;min-width: 0;flex: 0 1 auto}.floor-body .report-table tbody tr>td.ml-d-only{display: none}.floor-body .report-table tbody tr.replaced-row>td[data-label="Log a Change"]{white-space: normal;overflow: hidden}.floor-body .report-table tbody tr.replaced-row>td[data-label="Log a Change"] form{flex-wrap: wrap;white-space: normal;max-width: 100%}.rl-table tr.rl-row>td{min-width: 0}.rl-table tr.rl-row>.rl-c-room{overflow: hidden;flex-shrink: 1;max-width: 100%}.rl-table tr.rl-row>.rl-c-room .muted{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}}@media (max-width: 640px){.ml-row.replaced-row .ml-w-filter>a,.ml-row.cycle-done-row .ml-w-filter>a{text-decoration: underline}}.rl-room .rl-prop{display: block;font-size: 12px;line-height: 1.25;font-weight: 400;white-space: normal}header.landmark-top{display: contents}label.check.terms-agree{min-height: 44px;padding-block: 6px;box-sizing: border-box}label.check.terms-agree{align-items: center}label.check.terms-agree input{width: 24px;height: 24px}.pic-send-row{display: grid;gap: .6rem}@media (min-width: 700px){.pic-h1{margin-block: .2rem .5rem;font-size: 1.5rem}.pic-form{gap: .4rem;padding-block: .75rem;max-width: 52rem}.pic-form .fields{gap: 10px}.pic-form label{margin-block: 0 .15rem}.pic-send-row{display: flex;flex-wrap: wrap;align-items: center}.pic-send-row .pic-take{flex: 1 1 auto}.pic-send-row .pic-take{padding: .7rem 1rem;font-size: 1.1rem}.pic-send-row .pic-preview{order: 3;max-width: 8rem;max-height: 8rem}}.hub-card .fb-table td.fb-name,.hub-breakdown .fb-table td.fb-name{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}@media (min-width: 1200px){.hub-main .hub-cards .hub-status .fb-table td.fb-name,.hub-main .hub-cards .hub-breakdown .fb-table td.fb-name{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}}.hub-main .hub-cards .hub-card .fb-table td.fb-name{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}.prop-lines tr>td.pl-name,.prop-lines td.pl-name>a,.prop-lines td.pl-name>a:first-child{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}@media (min-width: 1200px){.prop-lines tr>td.pl-name,.prop-lines td.pl-name>a:first-child{white-space: normal;overflow: visible;text-overflow: clip}}@media (max-width: 640px){.report-table tbody tr>td.ml-w-inst,.floor-body .report-table tbody tr>td.ml-w-inst{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: normal;line-height: 1.2}}@media (max-width: 760px){header.bar .who .who-row{flex-wrap: wrap;row-gap: 0}header.bar .who .who-row>a{flex: 0 0 auto;max-width: 100%;overflow: visible;text-overflow: clip;white-space: nowrap}}@media (max-width: 760px){header.bar .who .who-row>a,header.bar .who .who-row .role-badge{white-space: normal;overflow-wrap: anywhere;min-width: 0;flex-shrink: 1}header.bar .who .who-row>a{line-height: 1.25;min-height: 32px;display: inline-flex;align-items: center}.prop-lines td.pl-next,.rl-table tr.rl-row>:is(.rl-c-loc,.rl-c-filter,.rl-c-inst),.rl-table tr.rl-row:not(.replaced-row)>:is(.rl-c-loc,.rl-c-inst),.rl-table tr.rl-row.rl-hub>.rl-c-inst,.rl-table .rl-c-loc *,.rl-table tr.rl-row:not(.replaced-row)>.rl-c-room>.muted,.rl-table tr.rl-row>.rl-c-room .muted,.due-line .rl-room,.due-line .rl-loc,.due-line .rl-filter,span.rl-loc,span.rl-room,.rl-c-loc,main .due-property-title,main .client-property-title,.floor-panel>.floor-head .floor-status,.compact-action,.lot-form,.lot-input,.pill.flag{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}main .due-property-title,main .client-property-title{height: auto;min-height: var(--s1);line-height: 1.25}.compact-action,.lot-form,.lot-input{flex-wrap: wrap;max-width: 100%}.compact-action button{white-space: normal;max-width: 100%}}:root{--foot-bar-h: 32px}.site-footer.foot-bar{position: fixed;left: 0;right: 0;bottom: 0;z-index: 40;display: flex;align-items: center;justify-content: space-between;gap: 12px;box-sizing: content-box;height: var(--foot-bar-h);margin: 0;max-width: none;padding: 0 max(12px,var(--safe-r)) var(--safe-b) max(12px,var(--safe-l));background: var(--bg);border-top: 1px solid #e5e7eb;overflow: visible}body .site-footer.foot-bar{max-width: none !important;padding-left: max(12px,var(--safe-l)) !important;padding-right: max(12px,var(--safe-r)) !important}.site-footer.foot-bar .vp-credit{margin: 0;padding: 0}.site-footer.foot-bar .vp-credit-link{padding: 4px 0;margin: -4px 0;font-size: 11px}.site-footer.foot-bar .vp-mark{height: 24px;width: auto}.site-footer.foot-bar .foot-terms{height: var(--foot-bar-h);display: inline-flex;align-items: center;padding: 0;margin: 0;font-size: 11px;color: #5b6370;text-decoration: none}.site-footer.foot-bar .vp-credit-link,.site-footer.foot-bar .foot-terms{position: relative}.site-footer.foot-bar .vp-credit-link::before,.site-footer.foot-bar .foot-terms::before{content: "";position: absolute;left: 0;right: 0;top: 50%;height: 44px;margin-top: -22px}.vp-credit-plain{display: none}@media (max-width: 760px){.site-footer.foot-bar .vp-credit-link{display: none}.site-footer.foot-bar .vp-credit-plain{display: inline-flex;flex-direction: row;align-items: center;gap: 10px;font-size: 11px;color: inherit;cursor: default}}body:has(.foot-bar){padding-bottom: calc(var(--foot-bar-h) + 1px + var(--safe-b))}body:has(.foot-bar) .save-bar{bottom: calc(var(--foot-bar-h) + 1px + var(--safe-b))}@media (prefers-color-scheme: dark){.site-footer.foot-bar{border-top-color: #2a303a}}.site-footer.foot-bar .foot-licensed{flex: 1 1 0;min-width: 0;text-align: center;font-size: 10px;line-height: 1.15;color: #5b6370;overflow: hidden;overflow-wrap: anywhere;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;max-height: var(--foot-bar-h)}.license-banner{position: relative;cursor: pointer}.license-banner a{color: inherit;font-weight: 600}.license-banner a::after{content: "";position: absolute;inset: 0}@media print{.site-footer.foot-bar{display: none !important}body:has(.foot-bar){padding-bottom: 0}}.pc-short{display: none}@media screen and (max-width: 640px){.ml,.due-property{--pc-gap: 4px;--pc-pad: 6px}.ml .ml-hide,.ml thead,.ml .due-head,.due-property .rl-table thead{display: none !important}.ml table,.ml tbody,.ml .table-wrap,.due-property .rl-table,.due-property .rl-table tbody{display: block;width: 100%;overflow: visible;border: 0}.ml .ml-list{display: block;margin: 0;padding: 0;list-style: none}.ml .ml-cols,.ml .ml-row,.due-property .rl-hub-cols,.due-property tr.rl-row.rl-hub{position: relative;display: flex !important;flex-wrap: nowrap;align-items: center;justify-content: flex-start;column-gap: var(--pc-gap) !important;row-gap: 0 !important;gap: 0 var(--pc-gap) !important;box-sizing: border-box;width: 100%;max-width: 100%;margin: 0;padding: 0 var(--pc-pad) !important;grid-template-columns: none}.ml .ml-cols,.due-property .rl-hub-cols{height: auto;min-height: 26px;padding-block: 3px !important;font-size: 10px;line-height: 1.15;font-weight: 700;color: var(--ink-soft);border-bottom: 1px solid var(--line);text-transform: none;letter-spacing: 0}.ml .ml-cols>*,.due-property .rl-hub-cols>*{display: block;min-width: 0;padding: 0 !important;margin: 0;text-align: center;white-space: normal;overflow: visible;overflow-wrap: break-word}.ml .ml-row,.due-property tr.rl-row.rl-hub{height: auto;min-height: 58px;padding-block: 4px !important;border-width: 0 0 1px;border-style: solid;border-color: var(--line);font-size: 11px;line-height: 1.2}.ml .ml-row>*,.due-property tr.rl-row.rl-hub>*{display: none !important}.ml .ml-row>[class*="ml-w-"],.due-property tr.rl-row.rl-hub>[class*="rl-c-"]{display: flex !important;flex-direction: column;justify-content: center;align-items: center;gap: 2px;min-width: 0;max-width: none;width: auto;height: auto;margin: 0;padding: 0 !important;border: 0 !important;text-align: center !important;font-size: 11px;line-height: 1.2;white-space: normal !important;overflow: visible !important;text-overflow: clip !important;overflow-wrap: break-word;grid-column: auto;grid-row: auto;position: static}.ml .ml-row>[class*="ml-w-"]::before,.due-property tr.rl-row.rl-hub>[class*="rl-c-"]::before{content: none !important;display: none !important}.ml .ml-row>.ml-empty{display: block !important;flex: 1 1 auto;text-align: left !important;white-space: normal}.ml :is(.ml-cols,.ml-row)>.ml-w-src,.due-property tr.rl-row.rl-hub>:is(.rl-c-serves,.rl-c-loc),.due-property .rl-hub-cols>:nth-child(3){display: none !important}.ml :is(.ml-cols,.ml-row)>.ml-w-check{flex: 0 0 22px}.ml :is(.ml-cols,.ml-row)>.ml-w-room,.due-property tr.rl-row.rl-hub>.rl-c-room,.due-property .rl-hub-cols>:nth-child(1){flex: 16 1 0}.ml :is(.ml-cols,.ml-row)>.ml-w-filter,.due-property tr.rl-row.rl-hub>.rl-c-filter,.due-property .rl-hub-cols>:nth-child(2){flex: 17 1 0}.ml :is(.ml-cols,.ml-row)>.ml-w-cycle,.due-property tr.rl-row.rl-hub>.rl-c-cycle,.due-property .rl-hub-cols>:nth-child(4){flex: 13 1 0}.ml :is(.ml-cols,.ml-row)>.ml-w-inst,.due-property tr.rl-row.rl-hub>.rl-c-inst,.due-property .rl-hub-cols>:nth-child(5){flex: 15 1 0}.ml :is(.ml-cols,.ml-row)>.ml-w-due,.due-property tr.rl-row.rl-hub>.rl-c-due,.due-property .rl-hub-cols>:nth-child(6){flex: 19 1 0}.ml :is(.ml-cols,.ml-row)>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act,.due-property .rl-hub-cols>:nth-child(7){flex: 20 1 0}.ml :is(.ml-cols,.ml-row)>.ml-w-status{flex: 15 1 0}.ml .ml-cols>.ml-w-room,.due-property .rl-hub-cols>:nth-child(1){text-align: left}.ml .ml-row>.ml-w-room,.due-property tr.rl-row.rl-hub>.rl-c-room{align-items: flex-start;text-align: left !important;font-weight: 600;overflow-wrap: anywhere}.ml .ml-row>.ml-w-room>:not(.room-no):not(.rl-no):not(.miss),.due-property tr.rl-row.rl-hub>.rl-c-room>:not(.room-no){display: none !important}.ml .ml-row>.ml-w-room .rl-desc{display: none !important}.ml .ml-row>.ml-w-room *,.due-property tr.rl-row.rl-hub>.rl-c-room *{white-space: normal !important;overflow: visible !important;text-overflow: clip !important;max-width: 100%}.ml .ml-row>.ml-w-filter>:not(.ml-keep):not(a):not(b):not(:first-child),.due-property tr.rl-row.rl-hub>.rl-c-filter>:not(a){display: none !important}.ml .ml-row>.ml-w-filter>img{display: none !important}.ml .ml-row>.ml-w-filter *,.due-property tr.rl-row.rl-hub>.rl-c-filter *{white-space: normal !important;overflow: visible !important;text-overflow: clip !important;max-width: 100%;overflow-wrap: anywhere}.ml .ml-row>.ml-w-filter>.ml-keep{font-size: 10px;line-height: 1.15}:is(.ml .ml-row,.due-property tr.rl-row.rl-hub) .pill{box-sizing: border-box;max-width: 100%;flex: none;margin: 0;padding: 2px 4px;font-size: 10px;line-height: 1.15;white-space: normal !important;overflow: visible !important;text-overflow: clip !important;overflow-wrap: break-word;text-align: center}.ml .ml-row>.ml-w-due>.muted,.ml .ml-row>.ml-w-due>.lot-missing,.due-property tr.rl-row.rl-hub>.rl-c-due>.muted{display: none !important}.due-property tr.rl-row.rl-hub>.rl-c-due .st-full{display: inline !important}.due-property tr.rl-row.rl-hub>.rl-c-due .st-short{display: none !important}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) form{display: flex;flex-direction: column;align-items: stretch;gap: 3px;width: 100%;margin: 0;white-space: normal}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) input[type="date"],:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act)>.lot-form{display: none !important}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) button{box-sizing: border-box;width: 100%;min-width: 0;min-height: 36px;margin: 0;padding: 4px 2px;font-size: 11px;line-height: 1.15;white-space: normal}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) .replace-form>.nolot-choice{position: absolute;inset: 2px;z-index: 3;display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 4px;padding: 2px 6px;background: var(--panel,#fff);font-size: 11px}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) .replace-form>.nolot-choice[hidden]{display: none !important}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) .replace-form>.nolot-choice>button{width: auto;min-height: 32px;padding: 3px 8px}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act)>.flash{position: absolute;right: var(--pc-pad);top: 2px;z-index: 3;margin: 0;padding: 2px 6px;font-size: 10px}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) .rl-qr{display: none !important}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) .pill.ok{align-self: center;padding: 3px 6px;font-weight: 700}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) .pc-long{display: none}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) .pc-short{display: inline}.completed-property.ml :is(.ml-cols,.ml-row)>:is(.ml-w-cycle,.ml-w-due){display: none !important}.completed-property.ml :is(.ml-cols,.ml-row)>.ml-w-status{order: 9}.completed-property.ml .ml-row>.ml-w-status{display: flex !important}.completed-property.ml .ml-cols>.ml-w-status{display: block !important}.completed-property.ml .ml-cols>:is(.ml-w-inst,.ml-w-act){font-size: 0}.completed-property.ml .ml-cols>.ml-w-inst::after{content: "Replaced";font-size: 10px}.completed-property.ml .ml-cols>.ml-w-act::after{content: "By";font-size: 10px}.completed-property.ml .ml-row>.ml-w-room>.pill{display: none !important}.completed-property.ml .ml-row>.ml-w-act{align-items: stretch}.completed-property.ml .ml-row>.ml-w-act>.cd-when{display: block;width: 100%;font-size: 10px;white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: break-word}}@media screen and (max-width: 640px){.ml:not(.ml-in) .ml-cols,.due-property .rl-hub-cols{padding-left: calc(var(--pc-pad) + 15px) !important;padding-right: calc(var(--pc-pad) + 15px) !important}}.pscroll{display: none}@media screen and (max-width: 640px){.pscroll{display: block;position: fixed;right: 0;width: 12px;z-index: 45;border-radius: 6px;background: rgba(0,0,0,.08);pointer-events: none}.pscroll[hidden]{display: none}.pscroll-thumb{position: absolute;left: 1px;right: 1px;top: 0;border-radius: 5px;background: rgba(30,36,44,.72);touch-action: none;pointer-events: auto}.pscroll-thumb.on{background: rgba(30,36,44,.9)}html{scrollbar-width: auto}html::-webkit-scrollbar{width: 12px}html::-webkit-scrollbar-thumb{background: rgba(30,36,44,.72);border-radius: 6px}}@media print{.pscroll{display: none !important}}@media screen and (max-width: 640px){:is(.ml .ml-row,.due-property tr.rl-row.rl-hub) .pill{padding: 2px 2px;overflow-wrap: normal !important;word-break: normal !important;hyphens: none}:is(.ml .ml-row>.ml-w-act,.due-property tr.rl-row.rl-hub>.rl-c-act) button{padding: 4px 1px !important;font-size: 10px !important;min-width: 0 !important;width: 100% !important;white-space: normal !important;overflow: visible !important;text-overflow: clip !important;overflow-wrap: normal !important;word-break: normal !important}}@media screen and (max-width: 640px){.ft-chip-wrap{max-width: 100%}button.ft-chip{max-width: 100%;min-width: 0;white-space: normal;overflow-wrap: anywhere;text-align: left;line-height: 1.25}button.ft-chip .ft-chip-code{min-width: 0;overflow-wrap: anywhere}button.ft-chip .ft-chip-n{flex: none}details.replaced-today>summary{white-space: normal;overflow-wrap: anywhere;flex-wrap: wrap;max-width: 100%}details.replaced-today>summary .to-order-badge{display: inline-block;margin-block: 2px}.ml .ml-row>.ml-w-room a.room-no,.ml .ml-row>.ml-w-filter>*{white-space: normal !important;overflow: visible !important;text-overflow: clip !important;overflow-wrap: anywhere;max-width: 100%}.floor-nav-pills{flex-wrap: wrap;overflow-x: visible}.floor-nav-pills>*{max-width: 100%;min-width: 0;white-space: normal;overflow-wrap: anywhere}.lot-form>*,.lot-form .next-due-pick{max-width: 100%;min-width: 0}.lot-form .next-due-pick{white-space: normal;flex-wrap: wrap}.lot-form input[name="lot_number"]{max-width: 100%}.ml:has(>.ml-bar){--above: calc(var(--ml-top,0px) + var(--pin-h,0px))}.due-property{--above: var(--pin-h,var(--s1))}.hub-main:has(.hub-pair){--stick-top: var(--nc-top,var(--bar-top))}#qr-manual-link,#qr-exit,a.btn,header.bar .who .who-row>a{min-height: 44px;box-sizing: border-box;display: inline-flex;align-items: center}main details:not(.manage-menu)>summary{min-height: 44px;box-sizing: border-box}.hub-pair .qr-manual-toggle #qr-manual-link,.hub-pair .qr-manual-toggle .qr-floor-link{min-height: 30px;height: 30px;line-height: 30px;position: relative}button.small,a.room-no{position: relative}button.small::before,a.room-no::before{content: "";position: absolute;left: 0;right: 0;top: 50%;height: 44px;min-height: 100%;transform: translateY(-50%)}}label.hit44{display: contents}@media screen and (max-width: 640px){.completed-day>.completed-day-title{font-size: 15px}.completed-day>.completed-day-title>.muted{font-size: 13px}.completed-day>.completed-day-title>.pill{margin-left: 4px}.completed-day .completed-property>.completed-property-title{height: auto;min-height: var(--s1);line-height: 1.3;padding-block: 10px;white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}.completed-property :is(.cd-when,.cd-due,.cd-inst,.rl-filter,.rl-room,.muted,.ml-w-room,.ml-w-filter,.ml-w-inst,.ml-w-due){white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere;min-width: 0}.online-name-text{white-space: normal;overflow: visible;text-overflow: clip;overflow-wrap: anywhere}main :is(h2,h3)>:is(span,small,.pill,.muted){line-height: 1}.clients-check-list label.check{position: relative}.clients-check-list label.check::before{content: "";position: absolute;inset: -7px 0}label.hit44{display: inline-flex;flex: none;padding: 12px;margin: -12px}}.license-notice-form{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 12px;margin: 0}.license-notice-form span{flex: 1 1 16rem;min-width: 0;overflow-wrap: anywhere}.license-notice-x{flex: 0 0 auto}@media (min-width: 1200px){header.bar nav{flex: 0 0 auto;flex-wrap: nowrap}header.bar .who{flex: 1 1 0}}.inline-result{display: block;margin: .35rem 0 0;font-size: .9rem;font-weight: 600;overflow-wrap: anywhere;max-width: 100%}.inline-result.ok{color: #157a3c}.inline-result.bad{color: #b42318}.diag-list,.backup-list{list-style: none;padding: 0;margin: 1em 0 0}.diag-list>li,.backup-list>li{display: flex;flex-wrap: wrap;align-items: center;padding: .6em 0;border-top: 1px solid #e5e7eb;overflow-wrap: anywhere}.diag-list>li{gap: .4em 1em}.backup-list>li{gap: .5em 1em}.diag-info{flex: 1 1 18em;min-width: 0}.backup-info{flex: 1 1 12em;min-width: 0}@media (max-width: 640px){:is(.crumbs,main p,main td,main dd,.center-card) a:not(.button):not(.btn):not(.pill),a.room-no,a.inline-link{padding-block: 14px;margin-block: -14px}#qr-manual-link{position: relative}#qr-manual-link::after{content: "";position: absolute;left: 0;right: 0;top: 50%;height: 44px;margin-top: -22px}.hub-pair #quick-replace .qr-manual-toggle a.qr-floor-link{padding-block: 0;margin-block: 0}.hub-pair #qr-manual-link::after{top: 0;height: 100%;margin-top: 0}label.has-reveal button.reveal{min-width: 44px}.site-footer.foot-bar .foot-terms{min-width: 44px;justify-content: flex-end}.site-footer.foot-bar .foot-terms::before{top: auto;bottom: 0;margin-top: 0}.lot-input input[type=text]{min-width: 120px}input.due-search,input#room-find-input,input[data-room-search]{min-height: 44px}.help-index a,.help-group li a{min-height: 44px;box-sizing: border-box}}.ml-bar>.ml-title,.property-filter label.check,.clients-check-list label.check,.print-other a,.print-other li,h2.category-title{overflow-wrap: anywhere}.two-step-qr{margin: 8px 0 12px}.two-step-qr svg{display: block;width: 200px;height: 200px;max-width: 100%;background: #fff}.recovery-codes{columns: 2;max-width: 22rem;font-size: 1.05em}.site-footer.foot-bar .foot-links{display: inline-flex;align-items: center;gap: 12px;flex: 0 0 auto}.perm-group{min-width: 0}.perm-group legend{font-weight: 700;padding: 0 4px}.perm-link,.perm-form>a.quiet{display: inline-flex;align-items: center;min-height: 44px}.licensor-links a{display: inline-flex;align-items: center;min-height: 44px}.support-banner{position: relative;cursor: pointer}.support-banner a{font-weight: 600}.support-banner a::after{content: "";position: absolute;inset: 0}@media (max-width: 640px){.license-banner,.support-banner{min-height: 44px}#for-licensors .help-steps a{padding-block: 14px;margin-block: -14px}}@media (max-width: 640px){html{scroll-padding-bottom: calc(var(--foot-bar-h) + 90px + var(--safe-b))}form:has(.save-bar),.card:has(.save-bar){padding-bottom: 12px}.save-bar{margin-bottom: 12px}p.picker{row-gap: 20px;line-height: 1.6}.crumbs{line-height: 44px}.crumbs a:not(.button):not(.btn):not(.pill){padding-block: 12px;margin-block: -12px}p.sub a:not(.button):not(.btn){padding-block: 12px;margin-block: -12px}th{overflow-wrap: anywhere}.sub:has(>a[href="#logo"]){line-height: 44px}}.field-error{display: block;color: #b42318;font-size: 13px;margin-top: 3px}.field-error:empty{display: none}input.invalid,select.invalid,textarea.invalid{border-color: #b42318}.fields input[hidden]{display: none}.form-status:empty{display: none}.form-status{margin-top: 10px}.quick-added{list-style: none;margin: 8px 0 0;padding: 0;font-size: 14px}.quick-added li{padding: 3px 0;border-bottom: 1px solid var(--line,#ddd)}select:disabled[data-cycle-lock]{opacity: 1;background: #f3f4f6;color: inherit;cursor: not-allowed}@media (max-width: 640px){.save-bar{position: sticky;bottom: 0;z-index: 5;background: var(--panel,#fff);padding: 10px 0;box-shadow: 0 -6px 8px -6px rgba(0,0,0,.18)}.save-bar button{width: 100%;min-height: 46px}}.dz{position: relative;outline: 2px dashed transparent;outline-offset: 2px;transition: outline-color .15s,background-color .15s}.dz-over{outline-color: var(--accent,#1a6fb5);background-color: rgba(26,111,181,.08)}.dz-hint{font-size: .85em;color: var(--muted,#6b7280)}.dz-name{display: block;font-size: .85em;font-weight: 600}.dz-name:empty{display: none}.who a.ft-link{flex: none;max-width: none;overflow: visible;text-overflow: clip;white-space: nowrap;font-weight: 600}main:has(>.ft-page){max-width: none;padding-top: 12px;padding-left: max(12px,var(--safe-l));padding-right: max(12px,var(--safe-r))}@media (max-width: 640px){main:has(>.ft-page){padding-top: 8px;padding-left: max(8px,var(--safe-l));padding-right: max(8px,var(--safe-r))}}.ft-page>h2{margin: 22px 0 10px}.ft-grid{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fill,minmax(min(100%,17rem),1fr));gap: 12px}.ft-card{min-width: 0;display: flex;flex-direction: column;background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: var(--shadow);overflow: hidden;scroll-margin-top: calc(var(--bar-top,0px) + 12px)}.ft-card:target,.ft-card.ft-target{border: 2px solid var(--accent);background: var(--accent-soft);box-shadow: 0 0 0 3px var(--accent-soft),var(--shadow)}button.ft-chip .ft-chip-code{text-decoration: underline;text-decoration-color: transparent;text-underline-offset: 3px;cursor: pointer}button.ft-chip .ft-chip-code:hover{text-decoration-color: currentColor}.ft-media{margin: 0;background: var(--bg);border-bottom: 1px solid var(--line);position: relative}.ft-frame{display: block;position: relative;width: 100%;aspect-ratio: 4 / 3;margin: 0;overflow: hidden}.ft-img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: contain}.ft-empty{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 6px;padding: 8px;text-align: center;color: var(--ink-soft);font-size: 13px;font-weight: 500}.ft-empty svg,.ft-thumb svg{width: 40px;height: 40px;fill: none;stroke: currentColor;stroke-width: 1.5;stroke-linecap: round;stroke-linejoin: round}.ft-drop{cursor: pointer;outline: 2px dashed transparent;outline-offset: -4px;transition: background 0.12s}.ft-drop:hover,.ft-drop.is-over{background: var(--accent-soft);outline-color: var(--accent)}.ft-media:focus-within .ft-drop{outline: 3px solid var(--accent);outline-offset: -3px}.ft-media.is-busy .ft-drop{opacity: 0.55;cursor: progress}.ft-media-bar{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 8px;padding: 6px 10px;border-top: 1px solid var(--line);background: var(--panel)}.ft-media-bar .ft-help{flex: 1 1 8rem;font-size: 12px}.ft-media-bar button{min-height: 36px;padding-top: 4px;padding-bottom: 4px}.ft-js .ft-nojs{display: none}.ft-media .ft-status{margin: 0;padding: 0 10px 6px;background: var(--panel)}.ft-body{padding: 10px 12px 12px;display: flex;flex-direction: column;gap: 8px;min-width: 0;flex: 1 1 auto}.ft-title{margin: 0;font-size: 17px;display: flex;flex-wrap: wrap;align-items: center;gap: 4px 8px}.ft-facts{margin: 0;display: grid;grid-template-columns: auto minmax(0,1fr);gap: 2px 14px;font-size: 13px}.ft-facts dt{color: var(--ink-soft)}.ft-facts dd{margin: 0;font-weight: 600;text-align: right;font-variant-numeric: tabular-nums}.ft-text{margin: 0;font-size: 13px;white-space: pre-line;overflow-wrap: anywhere}.ft-edit{display: flex;flex-direction: column;gap: 4px;margin: 0}.ft-edit label{margin: 0;font-size: 12px;color: var(--ink-soft)}.ft-edit textarea{font-size: 14px;min-height: 76px}.ft-edit select{width: auto;font-size: 14px}@media (max-width: 640px){.ft-edit textarea,.ft-edit select{font-size: 16px}}.ft-edit-row{display: flex;flex-wrap: wrap;align-items: flex-end;justify-content: space-between;gap: 4px 14px;margin-bottom: 4px}.ft-field{display: flex;flex-direction: column;gap: 2px}.ft-edit label.check{min-height: 36px;font-size: 14px;color: var(--ink)}.ft-notes-bar{display: flex;flex-wrap: wrap;align-items: center;gap: 4px 10px}.ft-notes-bar button{min-height: 36px;padding-top: 4px;padding-bottom: 4px}.ft-add{display: flex;flex-wrap: wrap;align-items: flex-end;gap: 8px 14px;margin: 0 0 14px;padding: 10px 12px}.ft-add label{margin: 0;font-size: 12px;color: var(--ink-soft)}.ft-add input[type="text"]{width: 11rem}.ft-add select{width: auto}.ft-status{font-size: 13px;font-weight: 600;color: var(--ok)}.ft-status:empty{display: none}.ft-status.bad{color: var(--overdue)}.ft-chips{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 8px;margin: 0}.ft-chip-wrap{display: inline-block}button.ft-chip{display: inline-flex;align-items: center;gap: 8px;min-height: 36px;padding: 3px 4px 3px 12px;border: 1px solid var(--line);border-radius: 999px;background: var(--panel);color: var(--ink);font-size: 13px;font-weight: 600;line-height: 1}button.ft-chip:hover,button.ft-chip[aria-expanded="true"]{background: var(--accent-soft);border-color: var(--accent);filter: none}.ft-chip-n{min-width: 28px;padding: 5px 9px;border-radius: 999px;background: var(--accent-soft);color: var(--accent);font-variant-numeric: tabular-nums;text-align: center}button.ft-chip:hover .ft-chip-n,button.ft-chip[aria-expanded="true"] .ft-chip-n{background: var(--panel)}.ft-total{margin: 0 0 0 auto;padding-left: 8px;color: var(--ink-soft);font-size: 13px}.ft-total b{color: var(--ink);font-variant-numeric: tabular-nums}.ft-pop{position: fixed;z-index: 80;left: 8px;top: 8px;width: min(26.25rem,calc(100vw - 16px));overflow: visible;padding: 12px 14px;background: var(--panel);color: var(--ink);border: 1px solid var(--line);border-radius: var(--radius);box-shadow: 0 8px 24px rgba(0,0,0,0.18);font-size: 14px;text-align: left}.ft-pop::before{content: "";position: absolute;left: var(--ft-arrow,50%);top: -6px;width: 10px;height: 10px;background: var(--panel);border-left: 1px solid var(--line);border-top: 1px solid var(--line);transform: translateX(-50%) rotate(45deg)}.ft-pop.is-above::before{top: auto;bottom: -6px;transform: translateX(-50%) rotate(225deg)}.ft-pop:focus{outline: none}button.ft-pop-close{position: absolute;top: 4px;right: 4px;min-width: 36px;min-height: 36px;padding: 0;border: 0;border-radius: 50%;background: transparent;color: var(--ink-soft);font-size: 22px;font-weight: 400;line-height: 1}button.ft-pop-close:hover{background: var(--bg);color: var(--ink);filter: none}.ft-pop-body{display: block}.ft-pop-card{display: flex;align-items: flex-start;gap: 12px}.ft-thumb{flex: none;width: 96px;height: 96px;border: 1px solid var(--line);border-radius: 6px;background: var(--bg);object-fit: contain;display: flex;align-items: center;justify-content: center;color: var(--ink-soft)}.ft-thumb svg{width: 44px;height: 44px}.ft-pop-info{flex: 1 1 auto;min-width: 0;display: flex;flex-direction: column;gap: 6px}.ft-pop-title{margin: 0;padding-right: 30px;font-size: 17px;font-weight: 700;line-height: 1.2;overflow-wrap: anywhere}.ft-pop .ft-text{color: var(--ink);font-size: 12.5px;line-height: 1.4;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 9;overflow: hidden}.ft-pop .btn{align-self: flex-start;min-height: 36px;padding-top: 4px;padding-bottom: 4px}@media (max-height: 700px){.ft-pop .ft-text{-webkit-line-clamp: 7}}@media (max-height: 560px){.ft-pop .ft-text{-webkit-line-clamp: 5}}@media (max-height: 420px){.ft-thumb{width: 64px;height: 64px}.ft-thumb svg{width: 32px;height: 32px}.ft-pop .ft-text{-webkit-line-clamp: 3}}.ft-add-title{flex: 0 0 100%;margin: 0;font-size: 17px}.ft-add-note{display: inline-block;margin-left: 10px;font-size: 0.9rem;max-width: 60ch;vertical-align: middle}.ft-preview{margin: 0 0 14px;padding: 12px}.ft-preview-head{margin: 0 0 10px}.ft-preview-head.bad{color: var(--overdue)}.ft-preview-body{display: flex;flex-wrap: wrap;gap: 14px;align-items: flex-start}.ft-preview-pic{flex: 0 0 220px;width: 220px}.ft-preview-fields{flex: 1 1 280px;min-width: 0}.ft-preview-name{font-size: 14px;font-weight: 400}.ft-source{margin: 6px 0;font-size: 12px;overflow-wrap: anywhere}