
.chc-layout-planner-wrap{font-family:Arial,sans-serif;color:#16324a}
.chc-planner-topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
.chc-planner-title-group h2{margin:0 0 6px;font-size:28px}
.chc-planner-title-group p{margin:0;color:#53697e}
.chc-planner-branding img{display:block;height:auto}
.chc-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.chc-controls label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.chc-controls select,.chc-controls button,.chc-selected-grid input,.chc-storage-card input,.chc-storage-card select,.chc-category-label select{padding:8px 10px;border:1px solid #bfcddd;border-radius:10px;background:#fff}
.chc-btn{background:#1c6fdc;color:#fff;border:none;border-radius:10px;padding:9px 14px;cursor:pointer}
.chc-btn-danger{background:#c53c3c}
.chc-planner-layout{display:grid;grid-template-columns:minmax(290px,330px) minmax(0,1fr);gap:18px}
.chc-palette,.chc-selected-controls,.chc-storage-card,.chc-model-info{background:#f7fbff;border:1px solid #d6e5f4;border-radius:16px;padding:14px}
.chc-palette h3,.chc-selected-controls h4,.chc-storage-card h4{margin:0 0 10px}
.chc-help,.chc-note{margin:0 0 12px;color:#546c80}
.chc-category-label{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-bottom:12px}
.chc-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.chc-palette-item{background:#fff;border:1px solid #d6e5f4;border-radius:14px;padding:8px;cursor:grab;text-align:center}
.chc-palette-svg{width:100%;height:72px;display:block}
.chc-palette-name{font-size:12px;font-weight:700;margin-top:6px}
.chc-palette-size{font-size:11px;color:#5d7488}
.chc-model-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.chc-selected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.chc-selected-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.chc-inline-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.chc-scroll-stage{overflow:auto;background:#dfeaf8;border:1px solid #c2d6ef;border-radius:22px;padding:16px;min-height:760px}
.chc-plan-canvas{position:relative;background-color:#fff;border-radius:8px;box-shadow:0 12px 20px rgba(0,0,0,.08);min-height:760px;background-repeat:no-repeat;background-position:0 0;background-size:100% 100%}
.chc-item{position:absolute;box-sizing:border-box;cursor:move;overflow:visible;background:transparent;border:none;z-index:5}
.chc-item.selected{outline:3px solid #ff8a00;outline-offset:2px;z-index:50!important}
.chc-item-body{position:absolute;left:0;right:0;top:0;bottom:18px;display:block;overflow:visible}
.chc-item-svg,.chc-item-svg svg{display:block;width:100%;height:100%;pointer-events:none}
.chc-item-size{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);font-size:10px;color:#34485d;background:rgba(255,255,255,.95);padding:2px 6px;border-radius:8px;white-space:nowrap;z-index:4}
.chc-rotate-handle{position:absolute;top:-12px;right:-12px;width:26px;height:26px;border-radius:50%;background:#ff8a00;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;z-index:100}
.chc-zone .chc-item-size{display:none}
.hide-dimensions .chc-item-size{display:none}
.chc-series-e .chc-item-svg{filter:drop-shadow(0 2px 2px rgba(0,0,0,.20))}
.chc-series-f .chc-item-svg{filter:drop-shadow(0 2px 3px rgba(0,0,0,.16))}
@media (max-width:1100px){.chc-planner-layout{grid-template-columns:1fr}.chc-model-info{grid-template-columns:1fr 1fr}.chc-scroll-stage{min-height:640px}.chc-plan-canvas{min-height:640px}}
@media (max-width:700px){.chc-model-info,.chc-selected-grid,.chc-palette-grid{grid-template-columns:1fr}.chc-scroll-stage{min-height:560px}}

.chc-layout-planner-wrap.theme-android{
  --mobile-card-radius:26px;
}
.chc-layout-planner-wrap.theme-android .chc-palette,
.chc-layout-planner-wrap.theme-android .chc-selected-controls,
.chc-layout-planner-wrap.theme-android .chc-storage-card,
.chc-layout-planner-wrap.theme-android .chc-model-info,
.chc-layout-planner-wrap.theme-android .chc-scroll-stage{
  border-radius:26px;
}
.chc-layout-planner-wrap.theme-android .chc-btn{
  border-radius:22px;
  box-shadow:0 6px 14px rgba(28,111,220,.18);
}
.chc-layout-planner-wrap.theme-apple .chc-palette,
.chc-layout-planner-wrap.theme-apple .chc-selected-controls,
.chc-layout-planner-wrap.theme-apple .chc-storage-card,
.chc-layout-planner-wrap.theme-apple .chc-model-info,
.chc-layout-planner-wrap.theme-apple .chc-scroll-stage{
  border-radius:28px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
}
.chc-layout-planner-wrap.theme-apple .chc-btn{
  border-radius:999px;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}
@media (max-width:700px){
  .chc-layout-planner-wrap.theme-android .chc-controls,
  .chc-layout-planner-wrap.theme-apple .chc-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
  }
  .chc-layout-planner-wrap.theme-android .chc-controls label,
  .chc-layout-planner-wrap.theme-apple .chc-controls label{
    min-width:0;
  }
}

/* v2.6.1 stability overrides */
.chc-controls select,
.chc-category-label select,
.chc-selected-grid input,
.chc-storage-card input,
.chc-storage-card select{
  color:#16324a !important;
  background:#ffffff !important;
}
.chc-btn,
button.chc-btn,
.chc-layout-planner-wrap .chc-btn{
  color:#ffffff !important;
  background:#1c6fdc !important;
  border:1px solid #165cb8 !important;
  text-shadow:none !important;
}
.chc-btn-danger,
button.chc-btn-danger{
  color:#ffffff !important;
  background:#c53c3c !important;
  border-color:#a42c2c !important;
}
#chc-front-icon-group,
#chc-front-mobile-theme{
  min-width:170px;
}
.chc-plan-canvas{
  background-color:#fff !important;
  background-repeat:no-repeat !important;
  background-position:0 0 !important;
}

/* v2.6.2 repair */
#chc-front-icon-group,#chc-front-mobile-theme,#chc-template-select{
  display:inline-block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#16324a !important;
  background:#ffffff !important;
}
.chc-controls strong,.chc-controls label{color:#16324a !important}

/* v2.7.0 save/load and predefined layouts */
.chc-storage-card h5{margin:14px 0 8px;font-size:15px}
.chc-storage-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.chc-storage-actions-primary .chc-btn{min-width:150px}
.chc-storage-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-top:10px}
.chc-predefined-layouts{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #d6e5f4;
}
#chc-predefined-layout{color:#16324a;background:#fff}
@media (max-width:700px){
  .chc-storage-actions-primary .chc-btn,
  .chc-storage-actions .chc-btn{
    flex:1 1 100%;
  }
}

/* v2.7.2 predefined layout repair */
.chc-storage-card .chc-btn{
  background:#ffffff !important;
  color:#1c6fdc !important;
  border:2px solid #1c6fdc !important;
}
.chc-storage-card .chc-btn-danger{
  background:#ffffff !important;
  color:#c53c3c !important;
  border:2px solid #c53c3c !important;
}

/* v2.7.3 predefined layout button fallback styling */
#chc-apply-predefined-layout{cursor:pointer}

/* v2.8.3 icon presentation cleanup */
.chc-palette-grid{
  gap:10px !important;
}
.chc-palette-item{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.chc-palette-item:hover{
  background:transparent !important;
}
.chc-palette-svg{
  height:68px !important;
}
.chc-palette-name{
  margin-top:2px !important;
}
.chc-palette-size{
  margin-top:1px !important;
}
.chc-palette-grid.is-mobile-dock .chc-palette-item{
  min-width:86px !important;
  flex:0 0 86px !important;
}

/* v2.9.0 stability rebuild */
#chc-front-icon-group,#chc-front-mobile-theme,#chc-predefined-layout,#chc-template-select{
  display:inline-block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#16324a !important;
  background:#ffffff !important;
}
.chc-plan-canvas{
  background-color:#ffffff !important;
  background-repeat:no-repeat !important;
  background-position:0 0 !important;
}
.chc-palette-item{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
.chc-palette-grid{gap:10px !important}
.chc-palette-grid.is-mobile-dock .chc-palette-item{min-width:86px !important;flex:0 0 86px !important}

/* v2.9.1 icon usability */
.chc-palette-item{
  align-items:center;
  justify-content:flex-start;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
.chc-palette-svg{
  width:100% !important;
  height:74px !important;
  display:block;
}
.chc-palette-name,
.chc-palette-size{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.15;
}
.chc-palette-name{margin-top:2px !important}
.chc-palette-size{margin-top:1px !important}
.chc-item{
  touch-action:none;
}

/* v2.9.5 wall rendering */
.chc-wall-visual{
  position:absolute;
  background:#b9c0c8;
  border:1px solid rgba(67,91,113,.55);
  box-sizing:border-box;
}
.chc-item.is-wall .chc-item-body{
  overflow:visible;
}

/* v2.9.6 wall visibility */
.chc-wall-visual{
  position:absolute;
  background:#aab4bf;
  border:1px solid rgba(67,91,113,.75);
  box-sizing:border-box;
}
.chc-item.is-wall .chc-item-body{overflow:visible;}

/* v3.0.0 professional wall visuals */
.chc-wall-visual{
  position:absolute;
  background:#9ba8b5;
  border:1px solid rgba(54,74,92,.85);
  box-sizing:border-box;
  border-radius:1px;
}
.chc-item.is-wall .chc-item-body{
  overflow:visible;
}

/* v3.0.1 actual stud wall visual */
.chc-wall-visual{
  position:absolute;
  background:#9aa6b2;
  border:1px solid rgba(54,74,92,.85);
  box-sizing:border-box;
  border-radius:1px;
}


/* v3.0.6 safe cleanup */
.chc-predefined-layouts,
.chc-predefined-layouts-panel,
#chc-predefined-layout,
#chc-apply-predefined-layout{
  display:none !important;
}
.chc-wall-visual{
  display:none !important;
}


/* v3.0.7 header alignment */
.chc-planner-hero,
.chc-layout-planner-header,
.chc-planner-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  width:100%;
}
#chc-planner-branding,
.chc-planner-branding{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.chc-layout-planner-header-copy,
.chc-planner-header-copy,
.chc-hero-copy{
  flex:0 1 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.chc-layout-planner-header-copy h1,
.chc-planner-header-copy h1,
.chc-hero-copy h1,
.chc-layout-planner-header-copy p,
.chc-planner-header-copy p,
.chc-hero-copy p{
  text-align:center !important;
}
@media (max-width: 700px){
  .chc-planner-hero,
  .chc-layout-planner-header,
  .chc-planner-header{
    flex-wrap:wrap;
  }
}

/* v3.0.7 room resize */
.chc-item.chc-zone{
  min-width:52px;
  min-height:52px;
}
.chc-item.selected.chc-zone .chc-resize-handle{
  display:block;
}
.chc-resize-handle{
  display:none;
  position:absolute;
  right:-8px;
  bottom:-8px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#1c6fdc;
  border:2px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  cursor:nwse-resize;
  z-index:5;
}


/* v3.0.8 construction plan room style */
.chc-item.chc-zone{
  border:2px solid #244b74 !important;
  border-radius:0 !important;
  background:rgba(255,255,255,0.80) !important;
  box-shadow:none !important;
}
.chc-item.chc-zone .chc-item-body{
  background:
    repeating-linear-gradient(
      135deg,
      rgba(36,75,116,0.05) 0 8px,
      rgba(255,255,255,0.00) 8px 16px
    ) !important;
  border-radius:0 !important;
}
.chc-item.chc-zone .chc-item-svg{
  opacity:0.95;
}
.chc-item.chc-zone .chc-item-size{
  background:#ffffff !important;
  border:1px solid #c8d6e5 !important;
  border-radius:0 !important;
  color:#16324a !important;
  font-weight:700 !important;
}
.chc-item.selected.chc-zone{
  outline:2px solid #1c6fdc;
  outline-offset:2px;
}
.chc-item.selected.chc-zone .chc-resize-handle{
  display:block;
}
.chc-item.chc-zone .chc-zone-label{
  position:absolute;
  top:6px;
  left:8px;
  right:8px;
  text-align:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.3px;
  color:#16324a;
  pointer-events:none;
  text-transform:uppercase;
}
.chc-resize-handle{
  display:none;
  position:absolute;
  width:16px;
  height:16px;
  background:#1c6fdc;
  border:2px solid #fff;
  border-radius:2px;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  z-index:8;
}
.chc-resize-handle.br{ right:-8px; bottom:-8px; cursor:nwse-resize; }
.chc-resize-handle.bl{ left:-8px; bottom:-8px; cursor:nesw-resize; }
.chc-resize-handle.tr{ right:-8px; top:-8px; cursor:nesw-resize; }
.chc-resize-handle.tl{ left:-8px; top:-8px; cursor:nwse-resize; }

.chc-planner-hero,
.chc-layout-planner-header,
.chc-planner-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  width:100%;
}
#chc-planner-branding,
.chc-planner-branding{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.chc-layout-planner-header-copy,
.chc-planner-header-copy,
.chc-hero-copy{
  flex:0 1 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}


/* v3.1.1 rotate handle visibility */
.chc-rotate-handle{
  display:none !important;
}
.chc-item.selected .chc-rotate-handle{
  display:block !important;
}

/* v3.1.1 thicker room walls on layout plan */
.chc-item.chc-zone{
  border:4px solid #1a3f66 !important;
}





/* v3.1.2 tighter icon wrapping */
.chc-item{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.chc-item .chc-item-body{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.chc-item:not(.chc-zone){
  padding:0 !important;
}
.chc-item:not(.chc-zone) .chc-item-body{
  display:flex;
  align-items:center;
  justify-content:center;
}
.chc-item:not(.chc-zone) .chc-item-svg{
  width:100% !important;
  height:100% !important;
}


/* v3.1.2 centered zone lines */
.chc-item.chc-zone{
  position:absolute;
}
.chc-item.chc-zone .chc-item-body{
  position:relative;
  background:#fff !important;
}
.chc-item.chc-zone .chc-item-svg{
  opacity:0 !important;
}
.chc-item.chc-zone .chc-item-body::after{
  content:"";
  position:absolute;
  inset:8px;
  border:2px dashed rgba(36,75,116,.55);
  pointer-events:none;
  box-sizing:border-box;
}

.chc-item:not(.chc-zone) .chc-item-size{
  font-size:10px !important;
  padding:1px 4px !important;
  margin-top:1px !important;
  background:#fff !important;
  border:1px solid #d7e0ea !important;
}


/* v3.1.3 full centered header: logo + title + text */
.chc-planner-hero,
.chc-layout-planner-header,
.chc-planner-header{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:10px !important;
}

#chc-planner-branding,
.chc-planner-branding{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex:0 0 auto !important;
  margin:0 auto 10px auto !important;
}

.chc-layout-planner-header-copy,
.chc-planner-header-copy,
.chc-hero-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
}

.chc-layout-planner-header-copy h1,
.chc-layout-planner-header-copy p,
.chc-planner-header-copy h1,
.chc-planner-header-copy p,
.chc-hero-copy h1,
.chc-hero-copy p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* keep previous fixes stable */
.chc-item.chc-zone .chc-item-body::after{
  content:"";
  position:absolute;
  inset:8px;
  border:2px dashed rgba(36,75,116,.55);
  pointer-events:none;
  box-sizing:border-box;
}

.chc-item:not(.chc-zone){
  padding:0 !important;
}
.chc-item:not(.chc-zone) .chc-item-body{
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.chc-item:not(.chc-zone) .chc-item-svg{
  width:100% !important;
  height:100% !important;
}


/* v3.1.4 hard-center header */
.chc-layout-planner-wrap .chc-planner-hero,
.chc-layout-planner-wrap .chc-layout-planner-header,
.chc-layout-planner-wrap .chc-planner-header{
  width:100% !important;
  max-width:none !important;
  margin:0 auto 18px auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:10px !important;
}

.chc-layout-planner-wrap #chc-planner-branding,
.chc-layout-planner-wrap .chc-planner-branding{
  display:flex !important;
  width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  margin:0 auto 10px auto !important;
  float:none !important;
}

.chc-layout-planner-wrap #chc-planner-branding img,
.chc-layout-planner-wrap .chc-planner-branding img{
  display:block !important;
  margin:0 auto !important;
}

.chc-layout-planner-wrap .chc-layout-planner-header-copy,
.chc-layout-planner-wrap .chc-planner-header-copy,
.chc-layout-planner-wrap .chc-hero-copy,
.chc-layout-planner-wrap .chc-planner-hero > div:not(#chc-planner-branding):not(.chc-planner-branding),
.chc-layout-planner-wrap .chc-layout-planner-header > div:not(#chc-planner-branding):not(.chc-planner-branding),
.chc-layout-planner-wrap .chc-planner-header > div:not(#chc-planner-branding):not(.chc-planner-branding){
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin:0 auto !important;
  float:none !important;
}

.chc-layout-planner-wrap .chc-layout-planner-header-copy h1,
.chc-layout-planner-wrap .chc-layout-planner-header-copy h2,
.chc-layout-planner-wrap .chc-layout-planner-header-copy p,
.chc-layout-planner-wrap .chc-planner-header-copy h1,
.chc-layout-planner-wrap .chc-planner-header-copy h2,
.chc-layout-planner-wrap .chc-planner-header-copy p,
.chc-layout-planner-wrap .chc-hero-copy h1,
.chc-layout-planner-wrap .chc-hero-copy h2,
.chc-layout-planner-wrap .chc-hero-copy p,
.chc-layout-planner-wrap .chc-planner-hero h1,
.chc-layout-planner-wrap .chc-planner-hero h2,
.chc-layout-planner-wrap .chc-planner-hero p,
.chc-layout-planner-wrap .chc-layout-planner-header h1,
.chc-layout-planner-wrap .chc-layout-planner-header h2,
.chc-layout-planner-wrap .chc-layout-planner-header p,
.chc-layout-planner-wrap .chc-planner-header h1,
.chc-layout-planner-wrap .chc-planner-header h2,
.chc-layout-planner-wrap .chc-planner-header p{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:700px){
  .chc-layout-planner-wrap .chc-planner-hero,
  .chc-layout-planner-wrap .chc-layout-planner-header,
  .chc-layout-planner-wrap .chc-planner-header{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* v3.1.5 true centered top section */
.chc-layout-planner-wrap .chc-planner-topbar{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:18px !important;
  width:100% !important;
}
.chc-layout-planner-wrap .chc-planner-title-group{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  margin:0 auto !important;
}
.chc-layout-planner-wrap #chc-planner-branding,
.chc-layout-planner-wrap .chc-planner-branding{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:0 auto 10px auto !important;
  text-align:center !important;
}
.chc-layout-planner-wrap #chc-planner-branding img,
.chc-layout-planner-wrap .chc-planner-branding img{
  display:block !important;
  margin:0 auto !important;
}
.chc-layout-planner-wrap .chc-planner-title-group h2,
.chc-layout-planner-wrap .chc-planner-title-group p{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.chc-layout-planner-wrap .chc-controls{
  justify-content:center !important;
}

/* v3.1.5 tighter icon wrapping on layout */
.chc-item:not(.chc-zone){
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.chc-item:not(.chc-zone) .chc-item-body{
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  right:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.chc-item:not(.chc-zone) .chc-item-svg,
.chc-item:not(.chc-zone) .chc-item-svg svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.chc-item:not(.chc-zone) .chc-item-size{
  position:absolute !important;
  left:50% !important;
  bottom:-14px !important;
  transform:translateX(-50%) !important;
  z-index:2 !important;
}
.chc-item:not(.chc-zone).selected .chc-item-size{
  bottom:-16px !important;
}

/* centered room zone inset lines */
.chc-item.chc-zone .chc-item-body::after{
  content:"";
  position:absolute;
  inset:8px;
  border:2px dashed rgba(36,75,116,.55);
  box-sizing:border-box;
  pointer-events:none;
}


/* v3.1.6 REMOVE ALL ICON INNER SPACE (critical fix) */
.chc-item:not(.chc-zone){
  padding:0 !important;
  margin:0 !important;
}

.chc-item:not(.chc-zone) .chc-item-body{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:0 !important;
  margin:0 !important;
}

.chc-item:not(.chc-zone) .chc-item-svg,
.chc-item:not(.chc-zone) .chc-item-svg svg{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* REMOVE ANY INVISIBLE OFFSET AREA */
.chc-item:not(.chc-zone){
  transform-origin:center !important;
}

/* REMOVE BOTTOM OFFSET (THIS WAS BLOCKING WALL PLACEMENT) */
.chc-item-body{
  bottom:0 !important;
}

/* SIZE LABEL DOES NOT PUSH ICON ANYMORE */
.chc-item-size{
  position:absolute !important;
  bottom:-12px !important;
  pointer-events:none !important;
}


/* v3.1.7 next-level snapping */
.chc-item.is-snapped:not(.chc-zone){
  filter: drop-shadow(0 0 0.4px rgba(28,111,220,.9));
}


/* v3.1.8 tighter icon footprint */
.chc-item:not(.chc-zone){
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.chc-item:not(.chc-zone) .chc-item-body{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  display:block !important;
}

.chc-item:not(.chc-zone) .chc-item-svg,
.chc-item:not(.chc-zone) .chc-item-svg svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
}

.chc-item:not(.chc-zone) .chc-item-size{
  bottom:-11px !important;
  padding:1px 3px !important;
  font-size:9px !important;
  line-height:1.1 !important;
}


/* v3.1.8 weekday full names */
.chc-weekday,
.chc-weekdays .day,
.chc-day-label{
  white-space:nowrap;
}


/* v3.2.0 critical toilet/icon footprint fix */
.chc-item:not(.chc-zone){
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  padding:0 !important;
  margin:0 !important;
}
.chc-item:not(.chc-zone) .chc-item-body{
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.chc-item:not(.chc-zone) .chc-item-svg,
.chc-item:not(.chc-zone) .chc-item-svg svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.chc-item:not(.chc-zone) .chc-item-size{
  position:absolute !important;
  left:50% !important;
  bottom:-13px !important;
  transform:translateX(-50%) !important;
  padding:1px 3px !important;
  font-size:9px !important;
  line-height:1.05 !important;
  pointer-events:none !important;
}
.chc-item[data-type="toilet"] .chc-item-body{
  inset:0 !important;
}
.chc-item[data-type="toilet"] .chc-item-svg,
.chc-item[data-type="toilet"] .chc-item-svg svg{
  overflow:visible !important;
}

/* v3.2.1 icon series apply */
#chc-apply-icon-series{
  display:block;
  margin-top:8px;
  width:100%;
}

/* v3.2.2 apply above category */
#chc-apply-category{
  display:block;
  width:100%;
  margin:0 0 8px 0;
}

/* v3.2.3 ensure selector is visually above save/load */
.chc-storage-card{ display:flex; flex-direction:column; }
.chc-storage-card label, .chc-storage-card .chc-field{ order:1; }
.chc-storage-card .chc-save-load-row, .chc-storage-card .chc-storage-actions{ order:2; }


/* v3.2.5 restore stable palette + grid */
.chc-plan-canvas{
  display:block !important;
  min-height:760px !important;
  background-color:#fff !important;
}
.chc-palette{
  display:block !important;
}
.chc-category-label,
#chc-category-select{
  display:block !important;
  visibility:visible !important;
}
.chc-front-icon-series-card{
  display:block;
  margin:0 0 14px 0;
  padding:0;
}
.chc-front-icon-series-card h4{
  margin:0 0 8px 0;
}
#chc-front-apply-icon-series{
  display:block;
  width:100%;
  margin-top:8px;
}
.chc-storage-card{
  display:flex;
  flex-direction:column;
}
.chc-front-icon-series-card{
  order:1;
}
.chc-storage-card > h4,
.chc-storage-card > p,
.chc-storage-card > label,
.chc-storage-card > .chc-storage-actions,
.chc-storage-card > .chc-predefined-layouts{
  order:2;
}




/* v3.2.18 place Print/PDF next to Save Layout safely */
#chc-print-plan{
  display:none !important;
}
.chc-storage-actions,
.chc-storage-actions-primary,
.chc-save-load-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:center !important;
}
#chc-save-layout{order:1 !important;}
#chc-print-plan-inline{order:2 !important;}
#chc-load-layout{order:3 !important;}
#chc-delete-layout{order:4 !important;}







/* v3.2.22 room zones always behind */
.chc-item.chc-zone{
  z-index: 1 !important;
}
.chc-item:not(.chc-zone){
  z-index: 5 !important;
}
.chc-item.selected{
  z-index: 20 !important;
}


/* v3.2.23 icon style selection clarity */
#chc-front-icon-series-select{
  font-weight: 600;
}
#chc-front-apply-icon-series{
  white-space: nowrap;
}

/* v3.2.25 dimensions button placement */
#chc-toggle-dimensions{
  display:none !important;
}


/* v3.2.26 tighter icon footprint */
.chc-item:not(.chc-zone){
  overflow: visible !important;
}
.chc-item:not(.chc-zone) .chc-item-body{
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.chc-item:not(.chc-zone) .chc-item-svg,
.chc-item:not(.chc-zone) .chc-item-svg svg{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.chc-item:not(.chc-zone) .chc-item-size{
  bottom: -14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

/* v3.2.30 load button placement */
.chc-storage-actions,
.chc-storage-actions-primary{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}


/* v3.2.35 center Apple Cabin plan */
.chc-scroll-stage{
  display:flex;
  justify-content:center;
  align-items:flex-start;
}


/* v3.2.41 center planner canvas reliably */
.chc-scroll-stage{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
}
.chc-plan-canvas{
  transform-origin: top center;
}


/* v3.2.42 Apple Cabin visual alignment fix */
.chc-scroll-stage{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
}
.chc-plan-canvas{
  transform-origin: top left !important;
}


/* v3.2.45 room zones always behind all other icons */
.chc-item.chc-zone{
  z-index: 1 !important;
}
.chc-item:not(.chc-zone){
  z-index: 5 !important;
}
.chc-item.selected.chc-zone{
  z-index: 2 !important;
}
.chc-item.selected:not(.chc-zone){
  z-index: 50 !important;
}


/* v3.2.46 center Apple Cabin layout grid */
.chc-scroll-stage{
  display:flex !important;
  align-items:flex-start !important;
}


/* v3.2.47 center Apple Cabin visually after scaling */
.chc-scroll-stage{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  overflow:hidden !important;
}




/* v3.2.64 mobile responsiveness improvements */
@media (max-width: 700px){
  .chc-planner-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }

  .chc-palette,
  .chc-editor,
  .chc-storage-card,
  .chc-front-icon-series-card{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .chc-editor{
    display:flex !important;
    flex-direction:column !important;
  }

  .chc-selected-card{
    display:flex !important;
    flex-direction:column !important;
  }

  .chc-inline-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    order:1 !important;
  }

  .chc-inline-actions .chc-btn{
    flex:1 1 calc(50% - 8px) !important;
    min-width:140px !important;
  }

  .chc-mobile-reorder-icon-style{
    order:2 !important;
    margin-top:14px !important;
  }

  .chc-storage-card{
    order:3 !important;
  }

  .chc-scroll-stage{
    width:100% !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .chc-plan-canvas{
    max-width:none !important;
  }
}


/* v3.2.65 mobile layout fix */
@media (max-width: 700px){
  .chc-controls{
    gap:8px !important;
  }

  .chc-controls label,
  .chc-controls select,
  .chc-controls .chc-btn{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .chc-palette-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .chc-selected-grid{
    grid-template-columns: 1fr !important;
  }

  .chc-inline-actions{
    margin-top:8px !important;
  }

  #chc-front-icon-series-card{
    width:100% !important;
    margin-top:12px !important;
  }

  #chc-front-icon-series-card .chc-category-label,
  #chc-front-icon-series-card select,
  #chc-front-icon-series-card .chc-btn{
    width:100% !important;
    box-sizing:border-box !important;
  }

  .chc-storage-card{
    display:flex !important;
    flex-direction:column !important;
  }

  .chc-scroll-stage{
    min-height:auto !important;
    padding:10px !important;
  }
}


/* v3.2.66 mobile icon style move below selected-item buttons */
@media (max-width: 700px){
  #chc-selected-controls{
    display:flex !important;
    flex-direction:column !important;
  }

  #chc-selected-controls .chc-inline-actions{
    order:1 !important;
  }

  #chc-front-icon-series-card{
    order:2 !important;
    width:100% !important;
    margin-top:12px !important;
    margin-bottom:12px !important;
  }

  #chc-front-icon-series-card .chc-btn,
  #chc-front-icon-series-card select,
  #chc-front-icon-series-card label{
    width:100% !important;
    box-sizing:border-box !important;
  }

  .chc-storage-card{
    display:flex !important;
    flex-direction:column !important;
  }
}


/* v3.2.71 mobile grouped selector below delete saved layout + centered smaller grid */
@media (max-width: 700px){
  #chc-grouped-item-selector{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  #chc-grouped-item-selector .chc-storage-card{
    order:1 !important;
  }

  #chc-grouped-item-block{
    order:2 !important;
    width:100% !important;
  }

  #chc-grouped-item-block .chc-btn,
  #chc-grouped-item-block select,
  #chc-grouped-item-block label{
    width:100% !important;
    box-sizing:border-box !important;
  }

  #chc-palette-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .chc-planner-main .chc-scroll-stage{
    display:flex !important;
    justify-content:center !important;
    align-items:flex-start !important;
    padding:8px !important;
    min-height:auto !important;
    overflow:auto !important;
  }

  .chc-planner-main .chc-plan-canvas{
    margin:0 auto !important;
    transform:scale(0.86) !important;
    transform-origin: top center !important;
  }
}


/* v3.2.73 mobile grouped selector directly above layout grid */
.chc-mobile-grouped-above-grid-slot{
  display:none;
}

@media (max-width: 700px){
  .chc-mobile-grouped-above-grid-slot{
    display:block !important;
    width:100% !important;
    margin:10px 0 12px !important;
  }

  #chc-mobile-grouped-above-grid-slot #chc-grouped-item-block{
    width:100% !important;
  }

  #chc-mobile-grouped-above-grid-slot #chc-grouped-item-block .chc-btn,
  #chc-mobile-grouped-above-grid-slot #chc-grouped-item-block select,
  #chc-mobile-grouped-above-grid-slot #chc-grouped-item-block label{
    width:100% !important;
    box-sizing:border-box !important;
  }

  .chc-planner-main .chc-scroll-stage{
    display:flex !important;
    justify-content:center !important;
    align-items:flex-start !important;
    padding:8px !important;
    min-height:auto !important;
    overflow:auto !important;
  }

  .chc-planner-main .chc-plan-canvas{
    margin:0 auto !important;
    transform:scale(0.86) !important;
    transform-origin: top center !important;
  }
}


/* v3.2.87 repair: remove logo rectangle and keep grouped selector visible */
#chc-planner-branding,
.chc-planner-branding{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
}
#chc-planner-branding img,
.chc-planner-branding img{
  display:block !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

#chc-grouped-item-selector,
#chc-grouped-item-selector .chc-category-label,
#chc-grouped-item-selector #chc-category-select,
#chc-grouped-item-selector #chc-palette-grid,
#chc-grouped-item-selector #chc-grouped-item-block{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

#chc-palette-grid{
  display:grid !important;
}

#chc-apply-category{
  display:block !important;
}


/* v3.2.88 visible repair */
#chc-planner-branding,
.chc-planner-branding{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  min-width:0 !important;
  min-height:0 !important;
}
#chc-planner-branding::before,
#chc-planner-branding::after,
.chc-planner-branding::before,
.chc-planner-branding::after{
  display:none !important;
  content:none !important;
}
#chc-planner-branding img,
.chc-planner-branding img{
  display:block !important;
  background:transparent !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  max-width:100% !important;
  height:auto !important;
}

#chc-grouped-item-selector,
#chc-grouped-item-block,
#chc-grouped-item-selector-title,
#chc-grouped-item-selector .chc-help,
#chc-grouped-item-selector .chc-category-label,
#chc-grouped-item-selector #chc-category-select,
#chc-grouped-item-selector #chc-palette-grid{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

#chc-grouped-item-selector{
  order:0 !important;
}
#chc-grouped-item-block{
  margin-bottom:14px !important;
}
#chc-category-select{
  width:100% !important;
}
#chc-palette-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
#chc-apply-category{
  display:block !important;
  width:100% !important;
  margin:0 0 8px 0 !important;
}


/* v3.2.89 clean final: grouped selector above layout grid on mobile */
@media (max-width: 700px){
  .chc-planner-layout{
    display:flex !important;
    flex-direction:column !important;
  }

  #chc-grouped-item-selector{
    order:1 !important;
    width:100% !important;
    margin-bottom:12px !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  #chc-grouped-item-block{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .chc-planner-main{
    order:2 !important;
  }

  .chc-scroll-stage{
    order:2 !important;
  }
}


/* v3.2.90 verified mobile order: Grouped Item Selector above layout grid */
@media (max-width: 700px){
  .chc-layout-planner-wrap .chc-planner-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  .chc-layout-planner-wrap #chc-grouped-item-selector{
    order:1 !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    margin:0 0 12px 0 !important;
  }

  .chc-layout-planner-wrap #chc-grouped-item-block{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .chc-layout-planner-wrap .chc-planner-main{
    order:2 !important;
  }

  .chc-layout-planner-wrap .chc-planner-main .chc-scroll-stage{
    order:2 !important;
  }
}


/* v3.2.91 mobile: Grouped Item Selector under Hide Dimensions button */
.chc-mobile-grouped-under-hide-slot{
  display:none;
}
@media (max-width: 700px){
  .chc-mobile-grouped-under-hide-slot{
    display:block !important;
    width:100% !important;
    margin:12px 0 !important;
  }
  .chc-layout-planner-wrap #chc-mobile-grouped-under-hide-slot #chc-grouped-item-block{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
  }
  .chc-layout-planner-wrap #chc-mobile-grouped-under-hide-slot #chc-grouped-item-block .chc-category-label,
  .chc-layout-planner-wrap #chc-mobile-grouped-under-hide-slot #chc-grouped-item-block #chc-category-select,
  .chc-layout-planner-wrap #chc-mobile-grouped-under-hide-slot #chc-grouped-item-block #chc-palette-grid,
  .chc-layout-planner-wrap #chc-mobile-grouped-under-hide-slot #chc-grouped-item-block #chc-apply-category{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .chc-layout-planner-wrap #chc-mobile-grouped-under-hide-slot #chc-palette-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}


/* v3.2.92 mobile: reduce Apple Cabin layout grid size by 30% */
@media (max-width: 700px){
  .chc-layout-planner-wrap[data-shape-mode="rectangle"] .chc-plan-canvas{
    transform: scale(0.70) !important;
    transform-origin: top center !important;
    margin-top: -32px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .chc-layout-planner-wrap[data-shape-mode="rectangle"] .chc-scroll-stage{
    overflow: auto !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
}


/* v3.2.93 mobile Apple Cabin scale + room zone recycle handle */
@media (max-width: 700px){
  .chc-layout-planner-wrap[data-shape-mode="rectangle"] .chc-plan-canvas{
    transform: scale(0.70) !important;
    transform-origin: top center !important;
    margin-top: -32px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .chc-layout-planner-wrap[data-shape-mode="rectangle"] .chc-scroll-stage{
    overflow: auto !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .chc-zone-delete-handle{
    position:absolute;
    top:-12px;
    left:-12px;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#d63b3b;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    cursor:pointer;
    z-index:102;
    box-shadow:0 2px 8px rgba(0,0,0,.18);
  }
}

@media (min-width: 701px){
  .chc-zone-delete-handle{
    display:none !important;
  }
}


/* v3.2.94 mobile: stronger Apple Cabin reduction + room-zone recycle handle */
.chc-zone-delete-handle{
  display:none;
}
@media (max-width: 700px){
  .chc-zone-delete-handle{
    position:absolute;
    top:-12px;
    left:-12px;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#d63b3b;
    color:#fff;
    display:flex !important;
    align-items:center;
    justify-content:center;
    font-size:14px;
    line-height:1;
    cursor:pointer;
    z-index:102;
    box-shadow:0 2px 8px rgba(0,0,0,.18);
  }

  .chc-layout-planner-wrap[data-shape-mode="rectangle"] .chc-plan-canvas{
    transform-origin: top center !important;
  }
}
@media (min-width: 701px){
  .chc-zone-delete-handle{
    display:none !important;
  }
}
