.inventory-browser{color:#17332e}.inventory-heading>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:#667c73}.inventory-heading h3{font-size:24px;line-height:1.2;margin:8px 0}.inventory-heading p,.inventory-footnote{font-size:12px;color:#64776e;line-height:1.6}.inventory-search input{box-sizing:border-box;width:100%;margin:14px 0 12px;padding:14px;border:1px solid #cddbd3;border-radius:12px;font-size:14px;background:#f7faf8}.inventory-categories{display:flex;gap:7px;flex-wrap:wrap}.inventory-categories button{border:1px solid #dbe3dd;background:#fff;color:#456057;border-radius:20px;padding:8px 11px;font-size:11px;cursor:pointer}.inventory-categories button[aria-pressed=true]{background:#173f34;color:#fff;border-color:#173f34}.inventory-results{font-size:12px;color:#657b70;margin:18px 0 10px}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inventory-card{padding:0;overflow:hidden;position:relative;text-align:left;border:1px solid #dfe7e1;border-radius:14px;background:#fff;cursor:pointer;color:inherit;transition:box-shadow .15s,border-color .15s}.inventory-card:hover,.inventory-card:focus-visible{border-color:#3e7a63;box-shadow:0 5px 18px #193a2912;outline:2px solid #79b29a;outline-offset:2px}.inventory-photo,.inventory-placeholder{width:100%;height:126px;object-fit:contain;background:#f3f5f1;display:flex;align-items:center;justify-content:center;flex-direction:column}.inventory-placeholder[hidden],.inventory-photo[hidden]{display:none}.inventory-placeholder svg{width:54px;height:46px;color:#9daea3}.inventory-placeholder small{font-size:10px;color:#72877b}.inventory-card-copy{display:flex;flex-direction:column;gap:6px;padding:12px}.inventory-card-copy>small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#789080}.inventory-card-copy strong{font-size:13px;line-height:1.4}.inventory-card-copy>span{font-size:11px;color:#65776d}.inventory-card-copy .inventory-price{color:#255440;font-weight:650}.inventory-count{background:#e8f3eb;border-radius:5px;padding:4px}.inventory-preview{font-size:10px!important;line-height:1.4}.inventory-unmapped{margin-top:18px;font-size:12px;line-height:1.6;padding:12px;background:#faf5e9;border-radius:9px}.inventory-empty{padding:32px 12px;text-align:center;color:#68786e}.plan-equipment{background:#e4efe8!important;border:2px solid #52755f;border-radius:5px;display:flex;align-items:center;justify-content:center}.plan-equipment .plan2d-table-label{font-size:9px;color:#183e2b;white-space:normal;text-align:center;line-height:1.1;position:static;transform:none}.drawer:has(.inventory-browser){width:min(470px,calc(100vw - 84px));max-width:470px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:650px){.drawer:has(.inventory-browser){width:100%;max-width:100%;max-height:78dvh}.inventory-photo,.inventory-placeholder{height:108px}.inventory-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.inventory-categories button{flex:0 0 auto;min-height:40px}.inventory-heading h3{font-size:21px}.inventory-card{min-height:210px}.inventory-search input{font-size:16px}}
.plan-tent-footprint{position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid #849789;background:#fff9;pointer-events:none;color:#496957;font-size:10px;padding:5px;z-index:0}
.designer-toolbar #btnQuickPrint,.designer-toolbar #btnQuickShare,.designer-toolbar [data-open-help]{padding:8px 12px;min-width:56px;font-size:13px;line-height:1.2}.canvas-view-controls button.active{background:#244f3d;border-color:#244f3d;color:#fff}.inventory-heading{max-width:350px}@media(max-width:650px){.designer-toolbar #btnQuickPrint,.designer-toolbar #btnQuickShare,.designer-toolbar [data-open-help]{display:none!important}.tool-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-rail .rail-btn:not([data-drawer=inventory]):not([data-drawer=site]):not([data-drawer=setup]):not([data-drawer=tent]){display:none}.rail-btn[data-drawer=inventory]>span:last-child{font-size:11px}.inventory-browser{padding-bottom:12px}}
.canvas-view-controls #view3dFit{background:#fff;color:#244b3c}.designer-toolbar #btnDesignerHelp{padding:8px 12px;font-size:13px}@media(max-width:650px){.designer-toolbar #btnDesignerHelp{grid-row:2;grid-column:1;justify-self:end;min-width:38px;width:38px;padding:6px 3px;font-size:11px}.drawer:has(.inventory-browser) .drawer-body{padding-bottom:100px}}


/* Keep Photo Match controls legible without covering the customer's property. */
.canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .canvas-view-controls {
  gap:6px;
  align-items:center;
}
.canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .canvas-view-controls > button,
.canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .scene-controls summary {
  min-height:44px;
  padding:9px 12px;
  border-radius:10px;
  font-size:12px;
  line-height:1.35;
  box-shadow:0 2px 8px #17352a14;
}
.canvas-viewport:has(#view3dMatchPhoto:not([hidden])) #sceneSettingLabel {
  display:none;
}
.canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .canvas-hint {
  flex:0 1 auto;
  max-width:520px;
  margin:0;
  padding:7px 10px;
  border-radius:8px;
  color:#354c40;
  font-size:11px;
  line-height:1.45;
  white-space:normal;
}
.canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .empty-state-overlay {
  left:12px;
  bottom:12px;
  top:auto;
  transform:none;
  max-width:calc(100% - 24px);
  padding:5px;
  gap:5px;
  border-radius:12px;
  background:#fffffff5;
  box-shadow:0 3px 16px #1633251c;
}
.canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .empty-state-overlay button {
  min-height:44px;
  padding:9px 12px;
  font-size:12px;
  line-height:1.35;
  border-radius:8px;
}
.canvas-view-controls > button:hover:not(.active):not(:disabled) {
  background:#f0f5f1;
  color:#244b3c;
  border-color:#8ba697;
}
.canvas-view-controls > button.active:hover {
  background:#1c402f;
  color:#fff;
}
@media(max-width:880px) {
  .canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .canvas-view-controls {
    gap:5px;
  }
  .canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .canvas-view-controls > button,
  .canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .scene-controls summary {
    padding:9px 10px;
    min-height:44px;
    font-size:12px;
  }
  .canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .empty-state-overlay {
    left:8px;
    bottom:8px;
    width:auto;
    max-width:calc(100% - 16px);
    box-sizing:border-box;
    display:flex;
    flex-wrap:wrap;
  }
  .canvas-viewport:has(#view3dMatchPhoto:not([hidden])) .empty-state-overlay button {
    flex:1 1 calc(50% - 3px);
    min-width:0;
    white-space:normal;
  }
}

/* Photo View adds a third tab: give Help its own cell instead of covering it. */
@media(max-width:650px) {
  .designer-toolbar {
    grid-template-columns:minmax(0,1fr) 38px 44px 44px;
  }
  .designer-toolbar .toolbar-center {
    grid-column:1 / 3;
    min-width:0;
  }
  .designer-toolbar .view-toggle {
    display:flex;
    width:100%;
    min-width:0;
  }
  .designer-toolbar .view-toggle-btn {
    flex:1 1 0;
    min-width:0;
    padding:8px 6px;
    min-height:44px!important;
    font-size:12px;
  }
  .designer-toolbar #btnDesignerHelp {
    grid-row:1;
    grid-column:2;
    justify-self:stretch;
    width:38px;
    min-height:44px;
  }
  .designer-toolbar #btnToReview { grid-column:3 / 5; }
  .designer-toolbar #btnUndo { grid-column:3; }
  .designer-toolbar #btnRedo { grid-column:4; }
}

@media(max-width:360px) {
  .designer-toolbar .view-toggle-btn { font-size:11px; }
}
.inventory-motion{display:inline-flex;align-items:center;width:max-content;margin-top:6px;padding:4px 7px;border-radius:999px;background:rgba(30,104,72,.09);color:#285f47;font-size:11px;font-weight:750;letter-spacing:.01em}.inventory-motion::before{content:'●';font-size:8px;margin-right:5px;animation:inventoryMotionPulse 1.8s ease-in-out infinite}@keyframes inventoryMotionPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.inventory-motion::before{animation:none}}

/* Contextual rentals keep the chosen catalog item visible until it is applied. */
.context-picker { color:#173e2e; }
.context-back { min-height:44px; padding:8px 0; font-size:13px; }
.context-product { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:14px; margin:8px 0 24px; padding:12px; border:1px solid #dce5dd; border-radius:12px; background:#f7faf7; }
.context-product .inventory-photo,.context-product .inventory-placeholder { width:88px; height:90px; border-radius:8px; }
.context-product small { color:#6e8072; font-size:9px; letter-spacing:.1em; font-weight:750; }
.context-product h3 { font-size:17px; line-height:1.35; margin:5px 0 8px; }
.context-product strong { font-size:13px; }
.context-picker h4 { margin:0 0 6px; font-size:18px; }
.context-picker p { font-size:12px; line-height:1.6; color:#627466; }
.context-targets { display:grid; gap:8px; margin:14px 0; }
.context-target { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; min-height:70px; padding:13px; text-align:left; border:1px solid #cfddd2; border-radius:10px; color:#254c35; background:#fff; cursor:pointer; }
.context-target:hover,.context-target:focus-visible { border-color:#407653; background:#f0f7f0; outline:2px solid #86b493; outline-offset:2px; }
.context-target strong { font-size:13px; grid-column:1; }
.context-target span { font-size:11px; color:#65766a; grid-column:1; }
.context-target b { align-self:center; grid-column:2; grid-row:1/3; font-size:12px; }
.context-add-table { padding-top:12px; margin-top:16px; border-top:1px solid #e0e8e0; }
.context-add-table summary { min-height:44px; display:flex; align-items:center; font-size:12px; font-weight:650; cursor:pointer; }
.context-add-table summary::after { content:'⌄'; margin-left:auto; }
.context-empty { padding:13px; border:1px solid #e0dfd0; border-radius:9px; background:#faf9f0; }
.context-note { margin-top:20px; border-top:1px solid #e1e7e1; padding-top:12px; font-size:11px!important; }
.context-apply { min-height:46px; width:100%; margin:10px 0; }
@media(max-width:650px) {
  .drawer:has(.context-picker) { max-height:84dvh; }
  .context-product { margin-bottom:16px; }
  .context-target { min-height:76px; }
}

/* Distinguish source photography from illustrative models at the same card size. */
.inventory-media { position:relative; display:block; width:100%; height:126px; overflow:hidden; background:radial-gradient(ellipse at 50% 30%,#fff 0,#f2f6f1 80%); }
.inventory-photo-layer,.inventory-illustration { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.inventory-media [hidden] { display:none!important; }
.inventory-media .inventory-photo { width:100%; height:100%; padding:7px 7px 23px; box-sizing:border-box; background:#fff; object-fit:contain; }
.inventory-illustration>[data-inventory-layer],.inventory-illustration>span:not(.inventory-source-label) { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:6px 9px 25px; box-sizing:border-box; }
.inventory-media .inventory-preview-image { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.inventory-media svg { width:100%; max-width:125px; height:100%; max-height:91px; margin:0; color:#527763; overflow:visible; }
.inventory-media .accessory-icon { width:66px; height:66px; stroke-width:1.25; }
.inventory-media .chair-visual { width:70px; max-height:94px; }
.inventory-source-label { position:absolute; left:50%; bottom:6px; transform:translateX(-50%); max-width:calc(100% - 12px); box-sizing:border-box; padding:3px 6px; border-radius:5px; background:#ffffffdc; color:#63796d; font-size:9px; line-height:1.25; white-space:nowrap; text-align:center; font-weight:500; }
.context-product .inventory-media { width:88px; height:90px; border-radius:8px; }
.context-product .inventory-media .inventory-source-label { font-size:8px; letter-spacing:0; }
.context-product .inventory-media .inventory-photo { width:100%; height:100%; }
#inspectorPanel>.inventory-media { height:180px; margin:12px 0; border-radius:10px; }
#inspectorPanel>.inventory-media svg { max-width:175px; max-height:145px; }
@media(max-width:650px) { .inventory-media { height:108px; } .inventory-source-label { font-size:8px; } }
