:root{--ink:#16202e;--muted:#536579;--line:#dde3ec;--wash:#f5f7fa;--blue:#1f5f8b;--green:#4fbe7a;--us:#5fa8e0;--yellow:#ffd94d}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font:15px/1.55 system-ui,-apple-system,sans-serif}a{color:var(--blue);text-underline-offset:4px}h1,h2,p{margin-top:0}h1{font-size:clamp(28px,4vw,44px);line-height:1.12;letter-spacing:-1.3px;margin-bottom:18px}h2{font-size:19px;letter-spacing:-.3px}p{color:var(--muted)}small{display:block;color:var(--muted);font-size:12px}strong{font-weight:650}.top{padding:22px 5%;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-weight:750;letter-spacing:2px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px}.brand small{font-size:9px;letter-spacing:1.5px;border-left:1px solid var(--line);padding-left:14px;max-width:95px}.brand-mark{background:var(--ink);color:white;border-radius:7px;padding:3px 11px;font-size:23px}nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}nav a{text-decoration:none;font-size:13px}nav form{margin:0}main{max-width:1180px;margin:0 auto;padding:42px 26px 80px}footer{max-width:1180px;margin:0 auto;padding:24px 26px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between}.eyebrow{font:600 10px/1.5 ui-monospace,monospace;letter-spacing:1.8px;color:var(--blue);margin-bottom:12px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:26px;margin-bottom:22px}.narrow{max-width:530px;margin:50px auto}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.stats{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;margin:25px 0}.stats div{padding:20px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{display:block;font-size:30px;letter-spacing:-1px}.stats span{font-size:11px;color:var(--muted);text-transform:uppercase}.asset-row,.list-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.asset-row:last-child,.list-row:last-child{border:0}.asset-row:hover{background:#f7fafc}.asset-row small{margin-top:4px}.site{display:inline-block;padding:3px 8px;border-radius:3px;color:#111;font:600 10px ui-monospace,monospace;margin-right:10px}.dub{background:var(--green)}.us{background:var(--us)}.location{background:var(--yellow)}.badge{display:inline-block;font:500 10px ui-monospace,monospace;padding:5px 8px;background:#edf3f8;color:var(--blue);border-radius:4px;white-space:nowrap}.free{background:#e7f5ec;color:#1d7a45}.muted{color:var(--muted);font-size:12px}.mono,code{font-family:ui-monospace,monospace}.uuid{font-size:11px;overflow-wrap:anywhere}.notice{padding:12px 16px;border:1px solid #eddb9b;border-radius:6px;background:#fff8df;color:#705e22;margin-bottom:20px;font-size:13px}.success{background:#eaf7ef;border-color:#b3d9c1;color:#286541}label{display:block;font-size:12px;font-weight:600;margin:15px 0}input,select,textarea{display:block;width:100%;border:1px solid #bac7d3;border-radius:6px;background:white;color:var(--ink);padding:10px 12px;font:inherit;margin-top:6px}textarea{min-height:95px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.check{display:flex;gap:10px;align-items:center;font-weight:400}.check input{width:16px;margin:0}.button,button{display:inline-block;background:var(--blue);color:white;border:1px solid var(--blue);padding:11px 17px;border-radius:6px;font:600 13px system-ui;text-decoration:none;cursor:pointer}button:hover,.button:hover{filter:brightness(.94)}.secondary{color:var(--blue);background:white}.text-button{padding:0;background:none;color:var(--muted);border:0;font-size:12px}.actions{display:flex;align-items:center;gap:20px;margin:22px 0}.event{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.event small{font-size:10px;margin-top:3px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:var(--wash);padding:10px}summary{cursor:pointer;font-weight:600}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.work-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;max-width:920px;margin:auto}.scan-card{align-self:start}.scan-card h1{font-size:32px}.progress{display:flex;gap:5px;margin-top:26px}.progress span{height:6px;background:var(--line);border-radius:4px;flex:1}.progress .done{background:var(--blue)}.state{font:600 11px ui-monospace,monospace;color:var(--blue);margin:10px 0 22px}.state small{display:inline;font-size:10px}.locations{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px}.locations>div{display:flex;gap:15px;padding:12px;border-bottom:1px dashed var(--line);font-size:13px}.locations>div:last-child{border:0}.locations span{font:600 9px ui-monospace,monospace;color:var(--muted);width:33px;padding-top:4px}.quiet{display:block;text-align:center;margin-top:16px;font-size:12px}.action-form{margin:20px 0}.scan-card button{width:100%;margin-top:8px}.placement{padding:16px 0}.pair{display:flex;flex-direction:column;text-align:center;gap:12px;background:var(--wash);padding:20px;border-radius:8px}.empty{text-align:center;padding:45px}.message{white-space:pre-wrap;margin-top:22px}.labels{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px}.label{width:75mm;height:24mm;display:flex;align-items:center;gap:3mm;padding:2mm;color:#111;border:1px solid #aaa;break-inside:avoid}.label img{width:20mm;height:20mm}.label strong{font:700 13px ui-monospace,monospace}.label small{color:#111;font:9px ui-monospace,monospace;margin-top:5px}:focus-visible{outline:3px solid #ba8514;outline-offset:3px}@media(max-width:760px){.top{align-items:flex-start;flex-direction:column;padding:18px 22px}nav{gap:16px}.columns,.work-layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.stats div{padding:14px;border-bottom:1px solid var(--line)}main{padding:28px 16px 50px}.card{padding:20px}.section-head{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.asset-row{align-items:flex-start}.asset-row .badge{font-size:9px}.narrow{margin:20px auto}}@media print{body{background:white}header,footer,.no-print{display:none!important}main{padding:0;max-width:none}.labels{margin:0;gap:3mm}.label{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.entry-main{min-width:0;flex:1}.entry-title{display:block;color:var(--ink);text-decoration:none}.entry-title:hover strong{text-decoration:underline}.entry-url{display:block;width:fit-content;max-width:100%;font:11px/1.6 ui-monospace,monospace;margin-top:8px;overflow-wrap:anywhere;user-select:text}.entry-link-pending{display:block;color:var(--muted);font-size:10px;margin-top:8px}.entry-link-pending+.entry-url{margin-top:2px}.label:has(.entry-url){height:auto;min-height:24mm}@media print{.label:has(.entry-url){height:24mm}}

.stage-id{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:36px;min-height:32px;padding:4px 8px;background:#eaf1f7;color:var(--blue);border:1px solid #cfdeea;border-radius:6px;font:700 14px ui-monospace,monospace}.current-stage{display:flex;align-items:center;gap:12px;margin:22px 0 12px}.current-stage>.stage-id{font-size:24px;min-height:54px;min-width:60px;background:var(--blue);color:white}.current-stage strong{font-size:19px}.stage-description{font-size:13px}.stage-tracker{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.stage-tracker li{border:1px solid var(--line);border-radius:6px;padding:9px}.stage-tracker a{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;text-decoration:none}.stage-tracker .stage-id{font-size:11px;min-width:28px;min-height:28px;padding:3px}.stage-tracker .current{border:2px solid var(--blue);background:#f2f7fb}.stage-tracker .current a{color:var(--ink);font-weight:650}.stage-tracker .passed .stage-id{background:#e7f5ec;color:#1d7a45}.stage-tracker small{font-size:9px}.process-guide{list-style:none;padding:0;margin:0}.process-guide>li{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.process-guide>li:last-child{border-bottom:0}.process-guide .stage-id{font-size:23px;min-width:56px;height:52px}.process-guide h2{margin-bottom:8px}.process-guide p:last-child{margin-bottom:0}.guide-intro{max-width:740px}.event details{margin-top:8px}.stats span{font-size:10px}

.playbook-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.playbook-item{display:flex;gap:18px;padding:20px}.playbook-item>img{flex:none;object-fit:contain;background:white;border:1px solid var(--line);border-radius:6px}.playbook-item h2{font-size:16px;margin:5px 0}.playbook-item .eyebrow{font-size:9px}.playbook-item .badge{margin:10px 0}.playbook-links{display:flex;flex-wrap:wrap;gap:14px;font-size:11px}.playbook-item .entry-url{font-size:10px}.playbook-panel{position:sticky;top:20px}.playbook-panel .card{padding:22px}.playbook-panel h2{margin-top:18px}.playbook-phases{padding-left:20px}.playbook-phases li{padding:9px 5px;color:var(--muted);font-size:12px}.playbook-phases li[aria-current]{color:var(--blue);background:#edf3f8;border-radius:6px}.playbook-panel details{margin-top:18px}button:disabled{opacity:.5;cursor:default}.playbook-panel .pair{margin-bottom:20px}@media(max-width:850px){.playbook-layout{grid-template-columns:1fr}.playbook-panel{position:static;grid-row:1}.playbook-item>img{width:85px;height:85px}}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;vertical-align:top;border-bottom:1px solid var(--line)}td input[type=checkbox],.item-check{width:20px;flex:none}th{font-size:11px;color:var(--muted)}.bulk-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:24px 0}.bulk-controls label{flex:1;min-width:160px;margin:0}.audit-entry{padding:15px 0;border-bottom:1px solid var(--line)}.scan-countdown{border:3px solid var(--blue);background:#eef7ff}.scan-countdown progress{display:block;width:100%;height:18px;margin:18px 0}.scan-countdown button{font-size:18px}.scan-countdown h2{font-size:25px}video{width:100%;max-height:55vh;background:#111;border-radius:10px}

.scan-intent{font-size:clamp(25px,4vw,40px)!important;line-height:1.25}.scan-intent strong{display:block;color:var(--blue);font-weight:800;margin-top:8px}
.floor-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.floor-controls label{margin:0;max-width:220px}.floor-controls input{max-width:90px}.floor-controls p{width:100%;margin:0}.floor-editor-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.floor-plan-card{min-width:0}.floor-scroll{overflow:auto;max-height:75vh;border:1px solid var(--line)}#floor-grid{display:grid;width:max-content;position:relative;isolation:isolate}.floor-cell{background:white;border:1px solid #e5eaf0;color:#9da9b8;border-radius:0;padding:3px;text-align:left;align-content:start;font-size:9px;z-index:0}.floor-tile{background:#e5f2ff;color:#164e78;border:2px solid #6c9fc5;border-radius:5px;padding:6px;font-size:11px;overflow:hidden;z-index:2;margin:2px;cursor:grab}.floor-tile small{font-size:9px;color:inherit}.floor-tile.room{background:rgba(255,217,77,.22);border:2px dashed #b79a3d;color:#6c5714;z-index:1;text-align:left;align-content:start}.floor-tile.selected{outline:3px solid #1f5f8b;outline-offset:-3px}#floor-unplaced{display:flex;flex-wrap:wrap;max-height:330px;overflow:auto;gap:4px}#floor-unplaced .floor-tile{min-width:92px}@media(max-width:850px){.floor-editor-layout{grid-template-columns:1fr}.floor-editor-layout>aside{display:grid;grid-template-columns:1fr}.floor-plan-card{grid-row:1}}
main:has(#floorplan-editor){max-width:1800px}.floor-tile span{display:block;font-size:inherit;font-weight:400;margin:3px 0}.floor-tile.room{background:rgba(83,151,205,.2);border-color:#4b80a6;color:#173f5c;border-radius:10px}.floor-tile.desk{background:#17607a;color:white;border-color:#123f51;border-radius:8px}.floor-cell{color:#bdc7d1}.floor-tile small{opacity:.8}

.equipment-icon{width:30px;height:30px;flex:none;color:var(--blue);vertical-align:middle}.asset-name{display:flex;gap:10px;align-items:center}.asset-name .equipment-icon{width:25px;height:25px}.asset-row>.equipment-icon,.list-row>.equipment-icon{align-self:flex-start;margin-top:4px}@media(max-width:760px){.equipment-icon{width:26px;height:26px}}

/* Proposal alignment: compact scan pages and tape previews. */
.navigation{min-width:0}.navigation>summary{display:none}.navigation:not([open])>nav{display:flex}.navigation nav{justify-content:flex-end;gap:12px 18px}
.work-layout,.columns{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.work-layout>*,.columns>*,.playbook-item>div{min-width:0}
h1,h2,.entry-title,.audit-entry,.event,.locations strong{overflow-wrap:anywhere}.stage-details{margin:14px 0}.stage-details>summary{font-size:12px;color:var(--blue)}.progress{margin:16px 0}.current-stage{margin-top:16px}.scan-card .stage-description{font-size:12px}
.tape-key{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.tape-key span{padding:9px 14px;border:1px solid var(--line);border-radius:4px;color:#111;font:600 12px ui-monospace,monospace}
.labels{display:block}.label-group{margin:24px 0}.label-set{display:flex;flex-wrap:wrap;gap:24px}.label-preview{max-width:100%;min-width:0}.label-caption{max-width:290px;font-size:11px;margin-top:10px}.label{overflow:hidden;border-radius:3px;flex:none}.label-copy{min-width:0}.label strong{display:block;overflow-wrap:anywhere}.label img{flex:none;image-rendering:pixelated}.qr-placeholder{width:20mm;height:20mm;flex:none;border:1px dashed currentColor;display:grid;align-content:center;text-align:center;font:11px ui-monospace,monospace;background:rgba(255,255,255,.4)}
.label.compact{width:30mm;height:24mm;padding:1mm;gap:0;flex-direction:column;justify-content:center}.label.compact img,.label.compact .qr-placeholder{width:17mm;height:17mm}.label.compact strong{font-size:5.5pt;white-space:nowrap;line-height:1.3}.label.compact small{display:none}
@media(max-width:760px){
.navigation{width:100%}.navigation>summary{display:block;padding:10px 0;min-height:44px}.navigation:not([open])>nav{display:none}.navigation nav{justify-content:flex-start;gap:6px 18px}.navigation nav a,.navigation .text-button{display:block;min-height:44px;padding:10px 0}
.top{padding:12px 16px;gap:4px}main{padding:20px 12px 40px}.card{padding:16px;border-radius:10px}.work-layout,.columns{grid-template-columns:minmax(0,1fr);gap:8px}.scan-card h1{font-size:26px}.scan-card>p{font-size:13px}.scan-card .current-stage strong{font-size:17px}.scan-card .stage-id{font-size:20px;min-width:46px;min-height:44px}
input,select,textarea{font-size:16px}button,.button{min-height:44px}.actions{flex-wrap:wrap;gap:12px}.list-row,.asset-row{flex-wrap:wrap;gap:10px}.list-row>.entry-main,.asset-row>.entry-main{flex:1;min-width:140px}.list-row>.badge,.asset-row>.badge{white-space:normal;margin-left:auto;max-width:100%}.scan-countdown h1{font-size:26px}.scan-countdown p{font-size:13px}.scan-intent{font-size:25px!important}.scan-countdown button{width:100%;font-size:16px}.playbook-item{flex-wrap:wrap}.playbook-item>div{flex:1;min-width:160px}.section-head{gap:12px}.bulk-controls label{min-width:0;flex-basis:100%}footer{gap:12px;flex-wrap:wrap}.label-set{gap:20px}.floor-controls{gap:10px}
}
@media print{.label-group{margin:0}.label-set{gap:3mm}.label-preview{break-inside:avoid}.label{border-radius:0}.label.compact{height:24mm;width:30mm}.label-group h2{display:none}}

.desk-sheet{width:100%;max-width:210mm;min-height:297mm;margin:24px auto;padding:18mm;background:white;border:1px solid var(--line);border-top:7mm solid var(--green);text-align:center;break-after:page}.desk-sheet h1{font-size:38px}.desk-sheet h2{font-size:44px;margin:12px 0}.desk-sheet-qr{width:62mm;height:62mm;max-width:100%;object-fit:contain}.desk-sheet .entry-url{margin:10px auto 24px}.desk-sheet .qr-placeholder{margin:24px auto}.desk-sheet p{margin:18px 0}.incomplete-sheet{border-top-color:var(--yellow)}@media(max-width:760px){.desk-sheet{padding:20px 12px;min-height:0}.desk-sheet h1{font-size:28px}.desk-sheet h2{font-size:32px}}@media print{.desk-sheet{border:0;margin:0;padding:15mm;min-height:267mm}.incomplete-sheet{display:none}.desk-sheet:last-child{break-after:auto}}

.move-instruction{border:2px solid var(--ink);padding:18px;margin:24px 0;font-size:18px;font-weight:650;line-height:1.4;color:var(--ink);border-radius:0}.sheet-current-location{min-height:40px}fieldset{border:1px solid var(--line);border-radius:6px;margin-bottom:20px}fieldset legend{font-weight:650}

@media(max-width:600px){.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.responsive-table tr{border-bottom:2px solid var(--line);padding:12px 0}.responsive-table tr:last-child{border-bottom:0}.responsive-table td{border:0;padding:7px 0;min-width:0;overflow-wrap:anywhere}.responsive-table td[data-column]::before{content:attr(data-column);display:block;font-size:10px;font-weight:650;color:var(--muted);margin-bottom:4px}.responsive-table .asset-name{font-size:17px}.responsive-table td input[type=checkbox]{margin:0}.responsive-table .entry-url{font-size:11px}.responsive-table small{font-size:12px}}

/* Product identity: keep the full name readable on narrow phones. */
.brand{letter-spacing:0;min-width:0}.brand-mark{font-size:18px;flex-shrink:0}.brand>span:last-child{overflow-wrap:normal}

/* Reuse dashboard equipment symbols on every individual asset heading. */
.asset-heading{display:flex;align-items:center;gap:14px;margin:10px 0 18px;min-width:0}
.asset-heading>.equipment-icon{width:44px;height:44px;flex:0 0 44px}
.asset-heading>h1,.asset-heading>h2{margin:0;min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.asset-heading{gap:10px}.asset-heading>.equipment-icon{width:36px;height:36px;flex-basis:36px}}

.floor-legend{display:flex;flex-wrap:wrap;gap:12px}.floor-legend span{padding:8px;border:2px solid;border-radius:6px}
.floor-tile.floor-pending,.floor-legend .floor-pending{background:#fff7dd;color:#71570a;border-color:#bd922c}
.floor-tile.floor-partial,.floor-legend .floor-partial{background:#e6f0ff;color:#174f7a;border-color:#397cad}
.floor-tile.floor-ready,.floor-legend .floor-ready{background:#d9f5e6;color:#125c37;border-color:#238251}
.floor-tile.floor-empty,.floor-legend .floor-empty{background:#edf0f5;color:#475569;border-color:#94a3b8}
.floor-tile .floor-tile-state{display:block;opacity:1;font-weight:700}.floor-tile strong{display:block}#floor-equipment-details{overflow-wrap:anywhere}#floor-equipment-details ul{padding-left:20px}#floor-equipment-details li{margin:10px 0}

#floor-grid{overflow:hidden}.floor-reference-image{position:absolute;max-width:none;height:auto;pointer-events:none;z-index:0}.has-reference .floor-cell{background:transparent}.has-reference .floor-tile{opacity:.85}#floor-drawing-form{margin:15px 0}.floor-controls input[type=file]{max-width:100%}

#floor-grid{background-color:white;background-image:linear-gradient(to right,#b5c2d455 1px,transparent 1px),linear-gradient(to bottom,#b5c2d455 1px,transparent 1px)}#floor-grid.has-reference{background-image:none}#floor-grid.has-reference:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,#899cb455 1px,transparent 1px),linear-gradient(to bottom,#899cb455 1px,transparent 1px);background-size:inherit}.floor-tile{min-height:0;min-width:0}.floor-tile-state{white-space:nowrap}

#floor-grid .floor-tile small:not(.floor-tile-state){display:none}#floor-grid .floor-tile{padding:3px;margin:1px}

.floor-drop-preview{position:absolute;z-index:5;pointer-events:none;border:2px dashed #12613b;background:#38bb6633;box-sizing:border-box}.floor-drop-preview.invalid{border-color:#b42318;background:#f4433633}#floor-placement-preview{font-weight:600;overflow-wrap:anywhere}

/* Keep the hit area so peeking cannot target the grid underneath. */
#floor-grid.shift-peek .floor-tile.desk:hover{opacity:0}

.floor-tile .floor-number-badge{display:inline-flex;align-items:center;justify-content:center;background:#b5121b;color:#fff;font-weight:800;font-size:calc(var(--number-badge-size,24px)*.58);line-height:1;min-width:var(--number-badge-size,24px);height:var(--number-badge-size,24px);padding:1px;border-radius:2px;box-sizing:border-box}.floor-tile .floor-default-name{display:none}#floor-grid .floor-tile.numbered{opacity:1}#floor-grid.shift-peek .floor-tile.desk:hover{opacity:0}

#floor-unplaced{min-height:64px;padding:6px;border:2px dashed transparent}#floor-unplaced.drop-target{border-color:#1f5f8b;background:#e6f0ff}

.floor-tile .floor-number-badge.from-old-office{background:#14743c;color:#fff}
