.CctvLayoutPlanner-module__BpDhhG__plannerShell{--sidebar-width:272px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr) 320px;background:#f3f6fb;border:1px solid #0f172a14;border-radius:20px;min-height:78vh;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f172a1f}.CctvLayoutPlanner-module__BpDhhG__sidebarExpanded{--sidebar-width:272px}.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed{--sidebar-width:96px}.CctvLayoutPlanner-module__BpDhhG__mobileSidebarToggle,.CctvLayoutPlanner-module__BpDhhG__sidebarBackdrop{display:none}.CctvLayoutPlanner-module__BpDhhG__toolRail{z-index:4;color:#fff;pointer-events:auto;background:radial-gradient(circle at top,#38bdf824,#0000 26%),linear-gradient(#081121 0%,#132c53 100%);flex-direction:column;gap:.85rem;min-height:100%;padding:1rem;display:flex;position:relative}.CctvLayoutPlanner-module__BpDhhG__toolRailHeader{justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.2rem;display:flex}.CctvLayoutPlanner-module__BpDhhG__toolRailHeader>div:first-child{gap:.2rem;display:grid}.CctvLayoutPlanner-module__BpDhhG__toolRailEyebrow{letter-spacing:.12em;text-transform:uppercase;color:#bae6fdb8;font-size:.68rem;font-weight:800}.CctvLayoutPlanner-module__BpDhhG__toolRailTitle{color:#f8fafc;font-size:1rem;display:block}.CctvLayoutPlanner-module__BpDhhG__toolRailStatus{color:#e2e8f0b8;font-size:.76rem}.CctvLayoutPlanner-module__BpDhhG__sidebarToggleGroup{gap:.45rem;display:flex}.CctvLayoutPlanner-module__BpDhhG__sidebarToggle{appearance:none;color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #e2e8f01f;border-radius:999px;width:2rem;height:2rem}.CctvLayoutPlanner-module__BpDhhG__sidebarToggleDesktop{justify-content:center;align-items:center;display:inline-flex}.CctvLayoutPlanner-module__BpDhhG__sidebarToggleMobile{display:none}.CctvLayoutPlanner-module__BpDhhG__toolGroup{gap:.65rem;display:grid}.CctvLayoutPlanner-module__BpDhhG__toolButton,.CctvLayoutPlanner-module__BpDhhG__miniButton,.CctvLayoutPlanner-module__BpDhhG__dangerButton,.CctvLayoutPlanner-module__BpDhhG__presetButton{appearance:none;cursor:pointer;border:0;transition:background-color .2s,color .2s,transform .2s,border-color .2s}.CctvLayoutPlanner-module__BpDhhG__toolButton{color:#ffffffeb;text-align:left;background:#ffffff0f;border:1px solid #e2e8f014;border-radius:16px;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.8rem .85rem;font-size:.82rem;font-weight:700;line-height:1.2;display:grid}.CctvLayoutPlanner-module__BpDhhG__toolButton:hover,.CctvLayoutPlanner-module__BpDhhG__miniButton:hover,.CctvLayoutPlanner-module__BpDhhG__presetButton:hover,.CctvLayoutPlanner-module__BpDhhG__dangerButton:hover,.CctvLayoutPlanner-module__BpDhhG__sidebarToggle:hover,.CctvLayoutPlanner-module__BpDhhG__mobileSidebarToggle:hover{transform:translateY(-1px)}.CctvLayoutPlanner-module__BpDhhG__toolButton:hover,.CctvLayoutPlanner-module__BpDhhG__miniButton:hover,.CctvLayoutPlanner-module__BpDhhG__sidebarToggle:hover{background:#ffffff1f}.CctvLayoutPlanner-module__BpDhhG__toolButtonActive{color:#0f172a;background:linear-gradient(#f8fafc 0%,#dbeafe 100%);border-color:#bfdbfed9;box-shadow:0 12px 24px #08112138}.CctvLayoutPlanner-module__BpDhhG__toolButtonIcon{background:#ffffff1f;border-radius:12px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:800;display:inline-flex}.CctvLayoutPlanner-module__BpDhhG__toolButtonActive .CctvLayoutPlanner-module__BpDhhG__toolButtonIcon{background:#2563eb1f}.CctvLayoutPlanner-module__BpDhhG__toolButtonLabelWrap{gap:.05rem;min-width:0;display:grid}.CctvLayoutPlanner-module__BpDhhG__toolButtonLabel{display:block}.CctvLayoutPlanner-module__BpDhhG__toolButtonMeta{color:inherit;opacity:.72;font-size:.7rem;font-weight:600}.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__toolRailHeader>div:first-child,.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__toolButtonLabelWrap,.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__canvasSummary{display:none}.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__toolRail{padding-inline:.7rem}.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__toolRailHeader{justify-content:center}.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__toolButton{grid-template-columns:1fr;justify-items:center;padding-inline:.5rem}.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__compactButtonRow{grid-template-columns:1fr}.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__miniButton,.CctvLayoutPlanner-module__BpDhhG__sidebarCollapsed .CctvLayoutPlanner-module__BpDhhG__dangerButton{padding-inline:.55rem;font-size:.74rem}.CctvLayoutPlanner-module__BpDhhG__toolDivider{background:#ffffff1f;height:1px;margin:.2rem 0}.CctvLayoutPlanner-module__BpDhhG__toolRailFooter{flex-direction:column;gap:.75rem;margin-top:auto;display:flex}.CctvLayoutPlanner-module__BpDhhG__compactButtonRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.CctvLayoutPlanner-module__BpDhhG__canvasSummary{flex-wrap:wrap;gap:.45rem;display:flex}.CctvLayoutPlanner-module__BpDhhG__canvasSummary span{color:#dbeafe;background:#bae6fd1f;border:1px solid #bae6fd1a;border-radius:999px;justify-content:center;align-items:center;padding:.32rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.CctvLayoutPlanner-module__BpDhhG__miniButton,.CctvLayoutPlanner-module__BpDhhG__dangerButton{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.75rem .7rem;font-size:.8rem;font-weight:700;display:inline-flex}.CctvLayoutPlanner-module__BpDhhG__miniButton{color:#fff;background:#ffffff14;border-color:#e2e8f014}.CctvLayoutPlanner-module__BpDhhG__dangerButton{color:#9f1239;background:linear-gradient(#fff1f2 0%,#ffe4e6 100%);border-color:#f43f5e2e}.CctvLayoutPlanner-module__BpDhhG__buttonIcon{flex:none;width:1rem;height:1rem;display:inline-flex}.CctvLayoutPlanner-module__BpDhhG__buttonIcon svg{width:100%;height:100%;display:block}.CctvLayoutPlanner-module__BpDhhG__canvasStage{touch-action:none;background:radial-gradient(circle at 100% 0,#0ea5e91f,#0000 28%),linear-gradient(#f8fafc 0%,#eef4fb 100%);min-width:0;min-height:640px;position:relative}.CctvLayoutPlanner-module__BpDhhG__canvasViewport{position:absolute;inset:0}.CctvLayoutPlanner-module__BpDhhG__canvasSvg{width:100%;height:100%;display:block}.CctvLayoutPlanner-module__BpDhhG__crosshair{cursor:crosshair}.CctvLayoutPlanner-module__BpDhhG__grabbing{cursor:grabbing}.CctvLayoutPlanner-module__BpDhhG__defaultCursor{cursor:default}.CctvLayoutPlanner-module__BpDhhG__floatingCard,.CctvLayoutPlanner-module__BpDhhG__sidePanel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0}.CctvLayoutPlanner-module__BpDhhG__floatingCard{z-index:2;border:1px solid #0f172a14;border-radius:16px;max-width:320px;padding:.9rem 1rem;position:absolute;bottom:1.25rem;left:1.25rem;box-shadow:0 16px 30px #0f172a14}.CctvLayoutPlanner-module__BpDhhG__floatingCard p,.CctvLayoutPlanner-module__BpDhhG__floatingCard ul{margin:0}.CctvLayoutPlanner-module__BpDhhG__floatingCard ul{color:#475569;padding-left:1rem;font-size:.9rem}.CctvLayoutPlanner-module__BpDhhG__sidePanel{border-left:1px solid #0f172a14;flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.CctvLayoutPlanner-module__BpDhhG__sidePanelEmpty{text-align:center;color:#64748b;justify-content:center;align-items:center}.CctvLayoutPlanner-module__BpDhhG__sidePanelHeader{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.CctvLayoutPlanner-module__BpDhhG__sidePanelHeader h2{color:#0f172a;margin:0;font-size:1.05rem}.CctvLayoutPlanner-module__BpDhhG__closeButton{appearance:none;color:#64748b;cursor:pointer;background:0 0;border:0;font-size:1.6rem;line-height:1}.CctvLayoutPlanner-module__BpDhhG__fieldGroup{gap:.45rem;display:grid}.CctvLayoutPlanner-module__BpDhhG__fieldGroup label,.CctvLayoutPlanner-module__BpDhhG__fieldLegend{color:#334155;font-size:.82rem;font-weight:700}.CctvLayoutPlanner-module__BpDhhG__fieldHint{color:#64748b;font-size:.82rem}.CctvLayoutPlanner-module__BpDhhG__rangeInput,.CctvLayoutPlanner-module__BpDhhG__numberInput{width:100%}.CctvLayoutPlanner-module__BpDhhG__numberInput{background:#fff;border:1px solid #0f172a1f;border-radius:12px;padding:.65rem .75rem}.CctvLayoutPlanner-module__BpDhhG__presetGrid,.CctvLayoutPlanner-module__BpDhhG__swatchGrid,.CctvLayoutPlanner-module__BpDhhG__statsGrid{gap:.6rem;display:grid}.CctvLayoutPlanner-module__BpDhhG__presetGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.CctvLayoutPlanner-module__BpDhhG__presetButton{color:#334155;background:#e2e8f0;border-radius:10px;padding:.45rem .2rem;font-size:.76rem;font-weight:700}.CctvLayoutPlanner-module__BpDhhG__swatchGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.CctvLayoutPlanner-module__BpDhhG__swatchButton{aspect-ratio:1;cursor:pointer;border:3px solid #0000;border-radius:999px;width:100%}.CctvLayoutPlanner-module__BpDhhG__swatchButtonActive{border-color:#0f172a}.CctvLayoutPlanner-module__BpDhhG__statsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.CctvLayoutPlanner-module__BpDhhG__statCard{background:#fff;border:1px solid #0f172a14;border-radius:12px;padding:.75rem}.CctvLayoutPlanner-module__BpDhhG__statCard strong{color:#0f172a;display:block}.CctvLayoutPlanner-module__BpDhhG__panelSpacer{margin-top:auto}.CctvLayoutPlanner-module__BpDhhG__pageIntro{gap:1rem;margin-bottom:1.5rem;display:grid}.CctvLayoutPlanner-module__BpDhhG__pageIntro p{margin:0}.CctvLayoutPlanner-module__BpDhhG__plannerCta{color:#0a5eb7;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}@media (max-width:1180px){.CctvLayoutPlanner-module__BpDhhG__plannerShell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.CctvLayoutPlanner-module__BpDhhG__sidePanel{border-top:1px solid #0f172a14;border-left:0;grid-column:1/-1}}@media (max-width:900px){.CctvLayoutPlanner-module__BpDhhG__plannerShell{grid-template-columns:minmax(0,1fr)}.CctvLayoutPlanner-module__BpDhhG__mobileSidebarToggle{z-index:8;color:#0f172a;cursor:pointer;background:#ffffffe6;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:.55rem;padding:.65rem .9rem;display:inline-flex;position:absolute;top:1rem;left:1rem;box-shadow:0 12px 28px #0f172a1f}.CctvLayoutPlanner-module__BpDhhG__mobileSidebarButtonText{font-size:.82rem;font-weight:800}.CctvLayoutPlanner-module__BpDhhG__sidebarBackdrop{z-index:9;opacity:0;pointer-events:none;background:#080f1c47;border:0;transition:opacity .2s;display:block;position:absolute;inset:0}.CctvLayoutPlanner-module__BpDhhG__sidebarBackdropVisible{opacity:1;pointer-events:auto}.CctvLayoutPlanner-module__BpDhhG__toolRail{z-index:10;pointer-events:none;width:min(84vw,320px);max-width:320px;transition:transform .24s;position:absolute;inset:0 auto 0 0;transform:translate(-104%);box-shadow:18px 0 48px #080f1c38}.CctvLayoutPlanner-module__BpDhhG__sidebarMobileOpen .CctvLayoutPlanner-module__BpDhhG__toolRail{pointer-events:auto;transform:translate(0)}.CctvLayoutPlanner-module__BpDhhG__sidebarMobileOpen .CctvLayoutPlanner-module__BpDhhG__mobileSidebarToggle{opacity:0;pointer-events:none}.CctvLayoutPlanner-module__BpDhhG__sidebarToggleDesktop{display:none}.CctvLayoutPlanner-module__BpDhhG__sidebarToggleMobile{justify-content:center;align-items:center;display:inline-flex}.CctvLayoutPlanner-module__BpDhhG__canvasStage{min-height:clamp(420px,64vh,720px)}.CctvLayoutPlanner-module__BpDhhG__floatingCard{max-width:none;left:1rem;right:1rem}}@media (max-width:640px){.CctvLayoutPlanner-module__BpDhhG__plannerShell{border-radius:16px}.CctvLayoutPlanner-module__BpDhhG__toolRail{width:min(88vw,320px)}.CctvLayoutPlanner-module__BpDhhG__compactButtonRow,.CctvLayoutPlanner-module__BpDhhG__presetGrid,.CctvLayoutPlanner-module__BpDhhG__statsGrid{grid-template-columns:1fr}.CctvLayoutPlanner-module__BpDhhG__canvasStage{min-height:420px}.CctvLayoutPlanner-module__BpDhhG__sidePanel{padding:1rem}}
