
#huxlo-basecamp-configurator, #huxlo-basecamp-configurator *{box-sizing:border-box}#huxlo-basecamp-configurator{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f2f2ef;color:#171717}.app{display:grid;grid-template-columns:330px 1fr;height:78dvh;max-height:820px;min-height:520px}.panel{padding:28px;background:#fff;border-right:1px solid #ddd;overflow:auto}h1{font-size:22px;margin:0 0 6px}.sub{font-size:13px;color:#666;margin-bottom:26px}.group{margin-bottom:24px}.group h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;color:#555}.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.seg.two{grid-template-columns:1fr 1fr}.seg.three{grid-template-columns:repeat(3,1fr)}button{border:1px solid #bbb;background:#fff;padding:10px 8px;cursor:pointer;border-radius:5px}button.active{background:#222;color:#fff;border-color:#222}.range{display:grid;grid-template-columns:1fr 55px;gap:10px;align-items:center}input[type=range]{width:100%}.value{font-size:12px;text-align:right}.note{font-size:12px;line-height:1.5;color:#666;border-top:1px solid #eee;padding-top:18px}.stats{background:#f5f5f2;border-radius:6px;padding:12px;font-size:13px;line-height:1.6}
.viewer-stats{position:absolute;top:22px;right:22px;z-index:5;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.10);border-radius:7px;padding:12px 14px;min-width:190px;text-align:right;box-shadow:0 2px 10px rgba(0,0,0,.05);font-size:12px;line-height:1.45}
.viewer-stats strong{display:block;font-size:20px;line-height:1.1;margin-bottom:5px}
.viewer-actions{display:flex;gap:6px;margin-top:10px}.viewer-actions button{font-size:11px;padding:7px 8px;background:#fff;display:flex;align-items:center;gap:5px}.viewer-actions button:hover{background:#f3f3f0}
.viewer-tools{position:absolute;top:22px;left:22px;z-index:6}.viewer-tools button{background:rgba(255,255,255,.95);border:1px solid rgba(0,0,0,.12);border-radius:7px;padding:9px 11px;display:flex;align-items:center;gap:7px;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.05)}.viewer-tools svg,.viewer-actions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wizard-launch{width:100%;font-weight:700}
.wizard-modal[hidden]{display:none!important}.wizard-modal{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.wizard-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.wizard-card{position:relative;background:#fff;width:min(520px,100%);max-height:90vh;overflow:auto;border-radius:9px;padding:26px;box-shadow:0 18px 55px rgba(0,0,0,.25)}.wizard-card h2{margin:0 0 5px;font-size:20px}.wizard-card .subcopy{font-size:12px;color:#666;margin-bottom:22px}.wizard-actions{display:flex;gap:8px;margin-top:20px}.wizard-actions button{flex:1}.wizard-actions .primary{background:#222;color:#fff;border-color:#222}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:8px}.swatchdot{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid #aaa;vertical-align:middle;margin-right:7px}#viewer{position:relative;min-width:0}.badge{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.94);padding:9px 12px;border-radius:5px;font-size:12px;z-index:2}#status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#555}canvas{display:block}@media(max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:auto 65vh;height:auto}.panel{border-right:0;border-bottom:1px solid #ddd}#viewer{height:65vh}}

.selected-colours{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.colour-chip{display:flex;align-items:center;gap:7px;border:1px solid #d7d7d7;border-radius:7px;padding:6px 8px;font-size:11px;background:#fff}
.colour-dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:0 0 auto}
.wide-action{width:100%;padding:9px 10px;border:1px solid #bbb;border-radius:7px;background:#fff;cursor:pointer;font-weight:600}
.small-label{font-size:11px;font-weight:700;margin-bottom:6px}.small-note{font-size:10px;color:#777;line-height:1.4;margin-top:7px}
.era-modal[hidden]{display:none}.era-modal{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}
.era-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42)}
.era-dialog{position:relative;background:#fff;width:min(760px,92%);max-height:82%;overflow:auto;border-radius:12px;padding:18px;box-shadow:0 18px 60px rgba(0,0,0,.22)}
.era-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.era-head h2{margin:0;font-size:18px}
.era-done{border:0;background:#111;color:#fff;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.era-search{width:100%;box-sizing:border-box;border:1px solid #ccc;border-radius:7px;padding:10px 11px;margin-bottom:12px;font-size:14px}
.era-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.era-swatch{border:1px solid #ddd;background:#fff;border-radius:8px;padding:7px;cursor:pointer;text-align:left;min-width:0}
.era-swatch.selected{outline:2px solid #111;border-color:#111}.era-swatch.disabled{opacity:.4;cursor:not-allowed}
.era-colour{height:44px;border-radius:5px;border:1px solid rgba(0,0,0,.12);margin-bottom:6px}
.era-name{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.era-code{font-size:10px;color:#777}
@media(max-width:700px){.era-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.selection-panel{position:absolute;left:22px;top:76px;z-index:7;width:210px;background:rgba(255,255,255,.96);border:1px solid rgba(0,0,0,.12);border-radius:7px;padding:12px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.selection-panel[hidden]{display:none}.selection-title{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#666;margin-bottom:5px}.selection-name{font-size:13px;font-weight:700;margin-bottom:9px}.selection-note{font-size:11px;line-height:1.4;color:#777;margin-top:7px}
.history-tools{position:absolute;left:18px;bottom:18px;display:flex;gap:7px;z-index:8}.history-tools button,.save-tools button{border:1px solid #d6d6d6;background:#fff;border-radius:9px;padding:9px 12px;font:600 12px Arial;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08)}.history-tools button:disabled{opacity:.35}.save-tools{position:absolute;right:18px;bottom:18px;display:flex;gap:7px;z-index:8}.save-tools .primary{background:#171717;color:#fff;border-color:#171717}.flow-modal[hidden]{display:none!important}.flow-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.flow-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42)}.flow-card{position:relative;width:min(500px,100%);background:#fff;border-radius:14px;padding:20px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.flow-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:16px}.flow-head h2{font-size:18px;margin:0 0 4px}.flow-head p{font-size:12px;color:#666;margin:0}.flow-close{border:0;background:none;font-size:24px}.flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.flow-grid .wide{grid-column:1/-1}.flow-grid label{font-size:11px;font-weight:700;color:#555}.flow-grid input,.flow-grid textarea{width:100%;box-sizing:border-box;margin-top:5px;padding:10px;border:1px solid #d6d6d6;border-radius:8px;font:13px Arial}.flow-grid textarea{min-height:78px}.flow-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.flow-actions button{border:1px solid #ccc;border-radius:8px;background:#fff;padding:10px 14px;font-weight:700}.flow-actions .primary{background:#171717;color:#fff;border-color:#171717}.flow-success{background:#f5f5f2;border-radius:9px;padding:11px;font-size:12px;line-height:1.5;margin-top:12px;word-break:break-all}
.viewer-tools{gap:8px}
.viewer-tools .walls-check{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #d6d6d6;border-radius:8px;padding:8px 11px;font:600 12px Arial;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08);user-select:none}
.viewer-tools .walls-check input{position:absolute;opacity:0;pointer-events:none}
.viewer-tools .walls-box{width:15px;height:15px;border:1.5px solid #777;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:transparent;background:#fff}
.viewer-tools .walls-check input:checked + .walls-box{background:#171717;border-color:#171717;color:#fff}

.viewer-tools{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:8px !important;
}
.viewer-tools > button,
.viewer-tools > .walls-check{
  margin:0 !important;
  width:auto !important;
  flex:none !important;
}
.selection-panel .storage-option{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:12px;font-weight:600;cursor:pointer}.selection-panel .storage-option input{position:absolute;opacity:0}.selection-panel .storage-box{width:15px;height:15px;border:1.5px solid #777;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:transparent}.selection-panel .storage-option input:checked + .storage-box{background:#171717;border-color:#171717;color:#fff}.selection-panel .module-check{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:12px;font-weight:600;cursor:pointer}.selection-panel .module-check[hidden]{display:none!important}.selection-panel .module-check input{position:absolute;opacity:0;pointer-events:none}.selection-panel .module-check-box{width:15px;height:15px;border:1.5px solid #777;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:transparent;flex:none}.selection-panel .module-check input:checked + .module-check-box{background:#171717;border-color:#171717;color:#fff}.selection-panel .access-controls{margin-top:11px}.selection-panel .access-controls[hidden]{display:none!important}.selection-panel .access-controls .selection-title{margin-bottom:6px}.selection-panel #accessButtons.one{grid-template-columns:1fr}.selection-panel #accessButtons button[hidden]{display:none!important}.viewer-price{font-size:15px;font-weight:750;margin-top:3px}.price-source{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:10px;color:#666}.price-source-dot{width:6px;height:6px;border-radius:50%;background:#999}.price-source.live .price-source-dot{background:#2f8f46}.price-breakdown-btn{border:0;background:transparent;padding:2px 0 0;font-size:11px;text-decoration:underline;color:#555}.price-breakdown-btn:hover{color:#111;background:transparent}.price-modal[hidden]{display:none!important}.price-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.price-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.price-card{position:relative;background:#fff;width:min(650px,100%);max-height:85vh;overflow:auto;border-radius:9px;padding:24px;box-shadow:0 18px 55px rgba(0,0,0,.25)}.price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #e5e5e2;padding-bottom:15px;margin-bottom:4px}.price-head h2{font-size:20px;margin:0 0 4px}.price-sub,.price-note{font-size:11px;color:#777}.price-head button{border:0;background:transparent;font-size:25px;padding:0 3px;line-height:1}.price-row{display:grid;grid-template-columns:minmax(0,1fr) 45px 85px 90px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eee;font-size:12px}.price-row .sku{font-size:10px;color:#777;margin-top:2px;word-break:break-all}.price-row .num{text-align:right}.price-total{display:flex;justify-content:space-between;align-items:center;padding:17px 0 9px;font-size:14px}.price-total strong{font-size:20px}.price-note{line-height:1.45}
/* v35: compact checkbox control for third tier */
.third-tier-check{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;cursor:pointer;user-select:none}
.third-tier-check input{position:absolute;opacity:0;pointer-events:none}
.third-tier-box{width:17px;height:17px;border:1.5px solid #777;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:transparent;background:#fff;flex:none}
.third-tier-check input:checked + .third-tier-box{background:#171717;border-color:#171717;color:#fff}
@media(max-width:760px){
  .app{height:auto;max-height:none;min-height:0}
}
