/* Shared Primex palette and typography, scoped to the standalone planner. */

:root{--navy:#122e4d;--red:#b82835;--border:#dbe2e9;--muted:#536478}

body{font-family:Arial,Helvetica,sans-serif;color:#172b42;background:#f1f4f7;line-height:1.6}

header{background:#fff;color:var(--navy);border-top:6px solid var(--navy);border-bottom:1px solid var(--border);padding:24px 4% 32px}

.planner-brand{width:210px;height:85px;object-fit:contain;display:block;margin-bottom:24px}header>a{float:right;color:var(--navy);font-size:14px;text-underline-offset:4px}

h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em;line-height:1.13;margin:14px 0}header>div{color:var(--muted)}

h2{font-size:23px;letter-spacing:-.025em;line-height:1.2;margin:12px 0 20px}h3{line-height:1.25;letter-spacing:-.02em}

.panel,aside{border:1px solid var(--border);border-radius:5px;padding:24px;background:white}.shell{grid-template-columns:240px minmax(0,1fr)}.shell>div{min-width:0}

button{border-radius:4px;border-color:#b8c7d5;font-size:14px;font-weight:700;color:var(--navy);padding:10px 14px;background:#fff;line-height:1.4}button:hover{background:#edf2f6}button.active,#applyPreset,#sizeNetwork{background:var(--navy);color:white;border-color:var(--navy)}button.active:hover,#applyPreset:hover,#sizeNetwork:hover{background:#254b72}#requestQuote{background:var(--red);border-color:var(--red)}

input,select{background:white;color:#172b42;border:1px solid #b9c7d4;border-radius:4px;font-size:15px;padding:10px}label{font-size:14px;font-weight:600}small,.status{color:var(--muted)}

button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:3px}.tools{align-items:end}#palette button{text-align:left;white-space:normal}

.notice{background:#edf3f6;border:1px solid var(--border);border-left:3px solid var(--red);color:#536478;font-size:14px;border-radius:0 4px 4px 0}

th{background:var(--navy);color:#fff;font-size:13px}td{font-size:14px;overflow-wrap:anywhere}tr:nth-child(odd) td{background:#f5f7f9}#equipment{overflow-x:auto}#equipment table{min-width:520px}td:last-child{font-family:monospace}

.cable-detail{background:#edf3f6;border-left:3px solid var(--red);padding:18px 22px;margin-top:16px}.cable-detail h3{margin-top:0}.cable-detail p{margin:8px 0}.footer{border-top:1px solid var(--border);padding:24px;color:var(--muted);font-size:13px}

@media(max-width:800px){.shell{grid-template-columns:1fr}.panel,aside{padding:16px}header>a{float:none}.planner-brand{width:180px}}

@media print{.planner-brand{width:150px;height:60px}header{padding:10px}.panel{border:0}}



.selection-panel{border-bottom:3px solid var(--red);padding-bottom:20px;margin-bottom:24px}.selection-panel h2{font-size:19px}.selection-panel h3{font-size:17px;margin:20px 0 12px}#inspector:empty{display:none}#inspector button{background:var(--navy);color:white}#inspector [hidden]{display:none}#syncError{color:#ab262d;font-size:14px}#chooseGenerator{max-width:260px}#inspector .kit-row{flex-wrap:wrap}#inspector .product-preview{max-width:100%}



#palette>div{border-top:1px solid var(--border);margin-top:12px;padding-top:2px}#palette select{width:100%;font-size:13px}#palette button{font-size:13px}.save-tools{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.save-tools summary{cursor:pointer;font-size:14px;font-weight:700}.connection-status{padding:10px 14px;margin-bottom:12px;background:#edf3f6;border-left:3px solid #536478;font-size:13px}.connection-status.needs-connection{border-left-color:#b82835;background:#fff2f2}

@media(min-width:801px){#plannerWorkspace:not(:fullscreen):not(.expanded)>aside{max-height:85vh;overflow-y:auto;position:sticky;top:12px;align-self:start}}@media(max-width:800px){#plannerWorkspace>aside{display:block}#palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}#palette button{width:100%}}@media print{.connection-status{display:none}}


.optimization-review{border:1px solid #b9c7d4;border-left:3px solid #b82835;padding:18px;margin-bottom:16px;background:#f5f8fa}.optimization-review[hidden]{display:none}.optimization-card{padding:12px 0;border-top:1px solid #dbe2e9}.optimization-review p{font-size:14px}.optimization-card button{background:#122e4d;color:white}

.extra-map-tools{position:relative}.extra-map-tools summary{cursor:pointer;padding:10px 14px;border:1px solid #b8c7d5;border-radius:4px;font-size:14px;font-weight:bold}.extra-controls{position:absolute;right:0;top:100%;z-index:20;width:300px;max-height:55vh;overflow:auto;padding:16px;background:white;border:1px solid #b8c7d5;box-shadow:0 8px 25px #122e4d30;display:flex;flex-wrap:wrap;gap:8px}.extra-controls label{width:100%}.focus-list-toggle{display:none}
#plannerWorkspace.focus-map{grid-template-columns:250px minmax(0,1fr);padding:8px;gap:8px}
#plannerWorkspace.focus-map>aside{padding:14px;position:static;max-height:none;overflow-y:auto}
#plannerWorkspace.focus-map>div:not(.camp-context){position:relative;overflow:hidden;display:flex;flex-direction:column}
#plannerWorkspace.focus-map .map-panel{display:flex;flex-direction:column;flex:1;min-height:0;padding:12px}
#plannerWorkspace.focus-map .map-panel>.tools{position:static;flex-shrink:0;gap:6px;margin-bottom:6px}
#plannerWorkspace.focus-map .tools button{padding:8px 10px;font-size:12px}
#plannerWorkspace.focus-map .map-panel>small:not(#saveStatus),#plannerWorkspace.focus-map .map-panel>.notice:not(#routeModeNotice){display:none}
#plannerWorkspace.focus-map #status{font-size:12px;margin:4px 0;min-height:0}
#plannerWorkspace.focus-map .connection-status{padding:4px 8px;margin:2px 0;font-size:12px}
#plannerWorkspace.focus-map #mapViewport{flex:1;min-height:0;max-height:none!important;margin-top:6px;overflow:auto}
#plannerWorkspace.focus-map #map{height:auto;min-height:0}
#plannerWorkspace.focus-map .equipment-panel{display:none}
#plannerWorkspace.focus-map.show-equipment .equipment-panel{display:block;position:absolute;right:8px;top:70px;bottom:8px;width:min(620px,95%);z-index:10;overflow:auto;box-shadow:0 8px 35px #122e4d44;margin:0!important}
#plannerWorkspace.focus-map .focus-list-toggle{display:inline-block}
#plannerWorkspace.focus-map #optimizationReview{max-height:28vh;overflow:auto;flex-shrink:0}
@media(max-width:700px){#plannerWorkspace.focus-map{grid-template-columns:180px minmax(0,1fr)}#plannerWorkspace.focus-map>aside{padding:8px}#plannerWorkspace.focus-map #palette{display:block}.extra-controls{width:240px}.extra-map-tools summary{font-size:12px;padding:8px}}

#plannerWorkspace.focus-map>.camp-context{position:fixed;display:block;overflow:auto}

#plannerWorkspace.focus-map>.camp-context[hidden]{display:none}

#mapViewport{height:65vh;min-height:240px;background:#e8eddf}#map{margin-inline:auto}#plannerWorkspace.focus-map #mapViewport{height:auto;min-height:120px}

/* Reserve preview space so loading a newly selected box cannot shift the add controls. */
#inspector .product-preview{width:180px;height:135px;object-fit:contain}

/* Clear starting choices and quieter map presentation. */
.start-choices{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.start-choices button{flex:1;min-width:180px;padding:18px;font-weight:700;border-top:3px solid #17374e}.start-choices button:hover{border-top-color:#c72335}#map{background:#cbd2b8}#saveStatus{padding:6px 0;color:#375e4a}.tools button{font-size:14px}#balanceLoads,#optimize{border-color:#577187}

.planning-overview{padding:12px;background:#eef3f6;border:1px solid #cbd7e1;font-weight:600;line-height:1.6;margin-bottom:10px}
#routeModeNotice[hidden]{display:none!important}

.equipment-editor{width:min(440px,calc(100vw - 24px));max-height:90dvh;overflow:auto;border:1px solid #a9bac6;border-radius:8px;padding:22px;color:#193044;background:white}.equipment-editor::backdrop{background:#10283c66}.equipment-editor h2{margin-top:0}.equipment-editor label{margin:10px 0}.equipment-editor details{margin:14px 0}.editor-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:-22px;background:white;padding:14px 0}.editor-error{color:#b21e30}.equipment-editor [hidden]{display:none}

.layout-tools{position:relative}.layout-tools summary{padding:9px 12px;border:1px solid #a9bac6;border-radius:5px;cursor:pointer;background:white;font-weight:600}.layout-tool-options{position:absolute;top:100%;left:0;width:280px;padding:10px;display:grid;gap:8px;background:white;border:1px solid #cbd7e1;box-shadow:0 8px 24px #122e4d26;z-index:30}.layout-tool-options button{text-align:left}#fullscreen,#requestQuote{background:#17374e;color:white}.tools{align-items:start}.equipment-editor input:focus,.equipment-editor select:focus{outline:2px solid #365d78;outline-offset:2px}@media(max-width:700px){.layout-tool-options{width:230px}.tools button{min-height:40px}.start-choices button{min-width:100%}}

/* Designer presentation: clear hierarchy, stable tools, and more room for the map. */
header{padding:22px 32px 26px;position:relative;background:linear-gradient(115deg,#fff 65%,#eaf0f5)}
.planner-brand{width:170px;height:65px;margin-bottom:14px}header h1{font-size:36px;max-width:900px}header>div{max-width:800px;font-size:16px}header>a{position:absolute;right:32px;top:40px}
.planner-setup{padding:22px 28px!important;border-radius:10px}.planner-setup>h2{font-size:21px;margin:0 0 14px}.start-choices{margin:0 0 18px;gap:14px}.start-choices button{padding:17px 20px;text-align:left;border:1px solid #cfd9e2;border-top:3px solid #17374e;border-radius:6px;box-shadow:0 2px 3px #122e4d05}.start-choices strong{display:block;font-size:16px}.start-choices span{display:block;font-size:13px;font-weight:400;color:#536478;margin-top:7px;line-height:1.5}.start-choices button:hover{border-color:#6c879d;background:#f5f8fa;box-shadow:0 4px 14px #122e4d0e}.requirements-settings>summary{cursor:pointer;font-weight:600;font-size:14px;color:#365d78}.requirements-content{padding:18px 0 0}.template-settings{border-top:1px solid var(--border);padding:10px 0 0}.template-settings .camp-fields{max-width:650px}.template-settings[hidden]{display:none!important}.requirements-content h2{font-size:18px}
.shell{gap:14px;grid-template-columns:270px minmax(0,1fr)}.shell>aside{padding:16px;border-radius:8px}.shell .panel{border-radius:8px}.sidebar-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:18px;position:sticky;top:-16px;background:white;z-index:2;padding-top:8px}.sidebar-tabs button{flex:1;width:auto!important;font-size:12px;text-align:center;padding:10px 5px;border:0;color:#607185;margin:0}.sidebar-tabs button[aria-selected=true]{color:#fff;background:#17374e}.shell aside [role=tabpanel][hidden]{display:none!important}.shell aside [role=tabpanel] h2{font-size:19px;margin:4px 0 8px}.selection-panel{border:0;margin:0;padding:0}.selection-empty{font-size:14px;color:#6a7889;border:1px dashed #c4d0db;border-radius:6px;padding:20px 16px}.save-tools{margin:0;padding:0;border:0}.save-tools>summary{font-size:18px;margin:5px 0 16px;list-style:none;pointer-events:none}#editSelected{margin:14px 0;background:#17374e;color:white}button:disabled{opacity:.45;cursor:default}button:disabled:hover{background:inherit}.sidebar-tabs button:focus-visible,summary:focus-visible{outline:3px solid #b82835;outline-offset:2px}#addPanel>small{margin-bottom:14px}#palette>button{padding:12px;margin-bottom:8px}#palette label{margin-top:14px}.save-tools>button{padding:12px;margin:6px 0}#inspector .cable-detail{margin-top:12px;padding:14px;background:#f1f5f8}
.map-heading{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;color:#6a7c8c}.map-heading h2{margin:1px 0;font-size:23px}.map-key{margin-left:auto;font-size:12px;color:#627487;display:flex;align-items:center;gap:8px}.map-key i{width:22px;height:2px;background:#365d78}.map-key>span{margin-left:10px}.review-checks{font-size:12px;padding:8px 12px}.map-panel>.tools{gap:7px;align-items:center;padding:12px 0;border-top:1px solid #e4eaf0;border-bottom:1px solid #e4eaf0}.map-panel .tools button,.map-panel .tools summary{font-size:12px;padding:9px 11px;min-height:36px}.zoom-tools{display:flex;gap:0;border:1px solid #b8c7d5;border-radius:5px;overflow:hidden}.zoom-tools button{border:0;border-radius:0;min-width:33px}.zoom-tools #zoomFit{border-inline:1px solid #dbe2e9}#delete{color:#a42b38}.planning-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#f6f8fa;border-radius:7px;border:1px solid #e0e7ed;padding:0;margin:10px 0}.planning-overview>div{padding:10px 16px;border-right:1px solid #e0e7ed}.planning-overview>div:last-child{border:0}.planning-overview span{display:block;font-size:11px;color:#637487;font-weight:500}.planning-overview strong{display:block;font-size:23px;color:#17374e;line-height:1.3;margin-top:4px;font-weight:600}.planning-overview small{display:inline;font-size:12px;font-weight:400}.planning-overview .metric-alert{background:#fff3f2}.planning-overview .metric-alert strong{color:#ac2835}#status{font-size:12px;margin:6px 0;min-height:0}#saveStatus{font-size:11px;min-height:0;padding:2px 0}#mapViewport{border:1px solid #c8d3bd;border-radius:6px;background:#e5ebdb}#map{border:0;border-radius:0}.connection-status[hidden]{display:none!important}.map-panel>small:not(#saveStatus){display:none}.draft-notice{background:#fff8e8;border:1px solid #e5d5ad;border-radius:5px;padding:10px;font-size:13px}.draft-notice button{font-size:12px;padding:6px 9px}
#plannerWorkspace.focus-map{grid-template-columns:270px minmax(0,1fr);gap:10px;padding:10px}#plannerWorkspace.focus-map .map-panel{padding:14px}#plannerWorkspace.focus-map .map-heading{margin-bottom:10px}#plannerWorkspace.focus-map .map-heading h2{font-size:20px}#plannerWorkspace.focus-map .planning-overview>div{padding:6px 14px}#plannerWorkspace.focus-map .planning-overview strong{font-size:21px}#plannerWorkspace.focus-map .sidebar-tabs{top:-14px}#plannerWorkspace.focus-map .map-panel>.tools{padding:8px 0;margin-bottom:3px}#plannerWorkspace.focus-map .connection-status{font-size:12px}#plannerWorkspace.focus-map .equipment-panel{border-radius:8px;box-shadow:0 12px 55px #122e4d40}
@media(max-width:1100px){.shell{grid-template-columns:240px minmax(0,1fr)}.map-key{display:none}.planning-overview>div{padding:8px 10px}.planning-overview strong{font-size:21px}.map-panel{padding:16px}.map-heading{gap:10px}.review-checks{margin-left:auto}}
@media(max-width:800px){header{padding:18px 20px}header>a{right:20px;top:28px;font-size:12px}.planner-brand{width:140px;height:58px}header h1{font-size:30px}.shell{grid-template-columns:1fr}.planner-setup{padding:18px!important}.start-choices button{min-width:100%}#plannerWorkspace>aside{position:static;max-height:none}.sidebar-tabs{position:static}#palette{display:block}.planning-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-overview>div:nth-child(2){border-right:0}.planning-overview>div:nth-child(-n+2){border-bottom:1px solid #e0e7ed}#plannerWorkspace.focus-map{grid-template-columns:200px minmax(0,1fr)}#plannerWorkspace.focus-map .planning-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){header>a{position:static;display:block;margin-bottom:12px}.planner-brand{margin-bottom:10px}.map-heading h2{font-size:20px}.review-checks{font-size:11px}.shell{padding:10px}.layout-tool-options{width:220px}.extra-controls{right:auto;left:0;width:230px}#plannerWorkspace.focus-map{display:flex;flex-direction:column;overflow:auto}#plannerWorkspace.focus-map>aside{flex:none;max-height:32vh}#plannerWorkspace.focus-map>div:not(.camp-context){flex:1;min-height:58vh;overflow:visible}.sidebar-tabs{margin-bottom:10px}#plannerWorkspace.focus-map #mapViewport{min-height:250px}#plannerWorkspace.focus-map .eyebrow{display:none}}
@media print{.planner-setup,.sidebar-tabs,.map-heading,.planning-overview{display:none!important}}
@media(max-width:540px){#plannerWorkspace.focus-map{overflow:hidden}#plannerWorkspace.focus-map>aside{max-height:22vh;min-height:85px;padding:6px 10px}#plannerWorkspace.focus-map>div:not(.camp-context){min-height:0;overflow:visible}#plannerWorkspace.focus-map .map-panel{padding:8px;min-height:0}#plannerWorkspace.focus-map #mapViewport{min-height:100px}#plannerWorkspace.focus-map .map-heading{margin-bottom:3px}#plannerWorkspace.focus-map .map-heading h2{font-size:16px}#plannerWorkspace.focus-map .review-checks{font-size:10px;padding:5px}#plannerWorkspace.focus-map .planning-overview{margin:5px 0;grid-template-columns:repeat(4,minmax(0,1fr))}#plannerWorkspace.focus-map .planning-overview>div{padding:5px;border-bottom:0}#plannerWorkspace.focus-map .planning-overview span{font-size:9px;line-height:1.2}#plannerWorkspace.focus-map .planning-overview strong{font-size:17px}#plannerWorkspace.focus-map .planning-overview small{font-size:10px}#plannerWorkspace.focus-map .tools button,#plannerWorkspace.focus-map .tools summary{min-height:32px;padding:6px 7px;font-size:10px}#plannerWorkspace.focus-map #status{font-size:10px;line-height:1.4}#plannerWorkspace.focus-map .sidebar-tabs{padding:3px 0 7px;margin-bottom:6px;top:-6px}#plannerWorkspace.focus-map .layout-tool-options{width:220px;left:auto;right:0}#plannerWorkspace.focus-map .extra-controls{left:auto;right:0}}
.browser-plans{padding:14px;background:#f5f8fa;border:1px solid #dbe3ea;border-radius:6px;margin-bottom:18px}
.browser-plans h3{font-size:15px;margin:0 0 8px}.browser-plans p{font-size:12px;line-height:1.6;margin:0 0 12px;color:#526579}
.browser-plans button{font-size:12px;margin:8px 0 3px;width:100%}.browser-plans small{display:block;font-size:11px;color:#526579;line-height:1.5}
.browser-plans #saveStatus{margin-top:10px}
.planner-header{padding:22px 4% 30px}.planner-header-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.planner-header-top .planner-brand{margin:0;width:180px;height:73px}.planner-header-top nav{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.planner-header-top nav a{color:var(--navy);text-underline-offset:4px}.planner-header-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);gap:5%;align-items:center;margin-top:24px}.planner-intro .eyebrow{color:#67788a}.planner-intro h1{font-size:clamp(30px,3.5vw,48px);margin:12px 0 16px}.planner-intro p{max-width:600px;font-size:16px;color:#536478;margin:0;line-height:1.7}.planner-equipment-preview{padding:18px 20px 12px;background:#f6f8fa;border:1px solid #e1e7ed;border-radius:9px}.preview-heading{font-size:12px;color:#526579;font-weight:700;margin-bottom:13px}.planner-equipment-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.planner-equipment-photos figure{margin:0;background:white;border-radius:5px;padding:10px}.planner-equipment-photos img{width:100%;height:132px;object-fit:contain;display:block}.planner-equipment-photos figcaption{font-size:12px;font-weight:700;text-align:center;margin-top:8px;color:#17374e}.planner-equipment-preview>p{font-size:11px;text-align:center;color:#627487;margin:10px 0 0}
@media(max-width:850px){.planner-header-content{grid-template-columns:1fr;gap:24px}.planner-intro h1 br{display:none}.planner-equipment-photos img{height:130px}.planner-header-top nav{gap:12px}.planner-header-top .planner-brand{width:155px;height:63px}}
@media(max-width:480px){.planner-header-top{align-items:flex-start;gap:12px}.planner-header-top nav{flex-direction:column;gap:8px;font-size:12px}.planner-equipment-preview{padding:12px}.planner-equipment-photos{gap:7px}.planner-equipment-photos figure{padding:7px}.planner-equipment-photos img{height:85px}.planner-header-content{margin-top:20px}}
@media print{.planner-header-top nav,.planner-equipment-preview{display:none}.planner-header-content{display:block;margin-top:5px}.planner-intro p{font-size:12px}.planner-intro h1{font-size:24px}.planner-header-top .planner-brand{width:130px;height:53px}}
.planner-header>div{max-width:1400px;margin-inline:auto}
/* Print the complete drawing, regardless of the on-screen zoom or focus mode. */
@media print{
 body{background:white!important}
 #plannerWorkspace,#plannerWorkspace.expanded,#plannerWorkspace:fullscreen,#plannerWorkspace.focus-map{position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important}
 #plannerWorkspace>aside,.camp-context,.equipment-editor,#optimizationReview,.map-tooltip{display:none!important}
 #plannerWorkspace>div:not(.camp-context),#plannerWorkspace .map-panel,#plannerWorkspace.focus-map .map-panel{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important}
 #plannerWorkspace #mapViewport{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;border:0!important;break-inside:avoid}
 #plannerWorkspace #map{display:block!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:100%!important;transform:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 #map .map-brand image{opacity:.7}
 #plannerWorkspace .equipment-panel{display:block!important;position:static!important;width:auto!important;height:auto!important;overflow:visible!important;box-shadow:none!important}
 .planner-header{padding:10px!important;background:white!important}.planner-intro h1 br{display:none}
}

.planner-privacy-notice{padding:10px 14px;margin:10px 0 14px;border-left:3px solid #426b80;background:#eff5f8;color:#18374a;font-size:13px;line-height:1.5;}
