.cfg{--ink:#13364b;--teal:#008d91;--line:#d9e5e9;font:14px/1.6 Arial,sans-serif;color:var(--ink);background:#f3f7f8;padding:34px max(20px,calc((100vw - 1450px)/2));min-height:85vh}.cfg *{box-sizing:border-box}.cfg [hidden]{display:none!important}.cfg h1,.cfg h2,.cfg h3,.cfg p{margin:0}.cfg h1{font-size:36px;font-weight:650;letter-spacing:-1px}.cfg h2{font-size:23px;line-height:1.3;font-weight:650;margin:10px 0 14px}.cfg h3{font-size:16px;font-weight:650;margin:18px 0 10px}.cfg p{margin:10px 0;color:#58717f}.cfg-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.cfg-eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--teal)}.cfg-pill{font-size:11px;border:1px solid #cde0e3;border-radius:99px;padding:6px 12px;background:#f6fbfb;white-space:nowrap}.cfg-steps{display:flex;gap:4px;padding:6px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.cfg button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 13px;background:white;color:var(--ink);transition:background .15s,border .15s}.cfg button:hover:not(:disabled){border-color:var(--teal);background:#edf9f8}.cfg button:focus-visible,.cfg input:focus,.cfg select:focus,.cfg textarea:focus{outline:2px solid #10a6a8;outline-offset:2px}.cfg button:disabled{opacity:.45;cursor:not-allowed}.cfg-steps button{border:0;flex:1;text-align:left;font-size:12px}.cfg-steps button b{font-size:11px;margin-right:8px;color:var(--teal)}.cfg-steps button[aria-current]{background:#e6f4f4;font-weight:700}.cfg-workspace{display:grid;grid-template-columns:370px minmax(0,1fr);gap:22px;align-items:start}.cfg-editor,.cfg-visual{background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0}.cfg-editor{padding:24px}.cfg-visual{position:sticky;top:12px;overflow:hidden}.cfg label{display:block;font-size:12px;font-weight:600;margin:13px 0}.cfg input:not([type=checkbox]),.cfg select,.cfg textarea{display:block;width:100%;padding:10px 11px;border:1px solid #cfdce2;border-radius:7px;font:14px Arial,sans-serif;color:var(--ink);background:#fff;margin-top:6px;min-height:42px}.cfg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.cfg .cfg-primary{background:var(--ink);color:#fff;border-color:var(--ink);margin-top:14px}.cfg .cfg-primary:hover:not(:disabled){background:var(--teal);color:#fff}.cfg-hint{font-size:11px!important;line-height:1.6}.cfg-types{display:grid;gap:10px;margin-top:22px}.cfg-type{text-align:left;display:flex;gap:12px;align-items:center;width:100%}.cfg-type strong{display:block;font-size:14px}.cfg-type small{display:block;font-size:11px;color:#728791}.cfg-type svg{width:35px;height:35px;color:var(--teal);flex:none}.cfg-status{padding:0!important;margin:0!important}.cfg-status:not(:empty){padding:12px 16px!important;margin-bottom:15px!important;border:1px solid #e7ce99;background:#fff8e8;color:#634d21}.cfg-scene-head{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px}.cfg-scene-head h2{font-size:18px;margin:4px 0 0}.cfg-plan{height:420px;background:radial-gradient(#d3e1e5 1px,transparent 1px);background-size:20px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column}.cfg-plan-room{width:70%;height:60%;border:0 solid #afc6cc;position:relative;display:flex;align-items:center;justify-content:center}.cfg-plan-room>span{position:absolute;top:12px;font-size:12px}.cfg-plan-table{width:50%;height:45%;border:2px solid #7facb4;border-radius:10px;background:#dcebee}.cfg-plan p{font-size:11px}#viewer{height:470px;position:relative;background:#f0f5f7}#canvas-host{width:100%;height:100%}#canvas-host canvas,#canvas-host svg{display:block;touch-action:none;width:100%;height:100%}.cfg-watermark{position:absolute;bottom:22px;right:22px;font-weight:800;font-size:22px;color:#19485680;pointer-events:none;letter-spacing:2px}.cfg-watermark span{display:block;font-size:7px;letter-spacing:2.5px}#view-label{position:absolute;left:18px;top:15px;font-size:11px;color:#486675;background:#ffffffc9;border-radius:6px;padding:4px 8px}#viewer-controls{padding:12px 20px}.cfg-view-buttons{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}.cfg-view-buttons button{font-size:10px;padding:7px 10px}.cfg-view-buttons button[aria-pressed=true]{background:var(--ink);color:white}.cfg-inline{display:flex!important;gap:6px;align-items:center;font-size:10px!important;margin:0!important}.cfg-visual-footer{padding:13px 24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:11px;color:#58717f}.cfg-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;flex:none}.cfg-equipment-card{padding:12px;border:1px solid var(--line);border-radius:8px;margin:9px 0}.cfg-equipment-card strong{display:block}.cfg-equipment-card small{display:block;color:#58717f}.cfg-equipment-card button{padding:4px 8px;font-size:11px;margin:8px 4px 0 0}.cfg-actions{display:flex;gap:7px;flex-wrap:wrap}.cfg-intents{margin:20px 0}.cfg-intents button{font-size:12px}.cfg-table-wrap{overflow-x:auto}.cfg table{width:100%;border-collapse:collapse;font-size:10px}.cfg th,.cfg td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.cfg th{background:#edf5f6;font-weight:600}.cfg-boq-head{display:flex;align-items:center;justify-content:space-between;padding:10px 20px}.cfg-boq-head h3{margin:0}#boq-panel>.cfg-hint{padding:5px 20px}.cfg fieldset{border:1px solid var(--line);padding:10px;border-radius:8px;margin-top:14px}.cfg legend{font-size:12px;padding:0 5px}.cfg-services label{font-size:11px;margin:6px 0;display:flex;gap:8px}.cfg #receipt{padding:18px;margin-top:16px;background:#e8f6f1;border:1px solid #b6ded0;border-radius:8px}.cfg #receipt a{display:inline-block;color:var(--teal);font-weight:700;margin-top:8px}.cfg-visual.cfg-expanded{position:fixed;inset:12px;z-index:10000;overflow:auto}.cfg-expanded #viewer{height:65vh}@media(max-width:1050px){.cfg-workspace{grid-template-columns:320px minmax(0,1fr)}.cfg-editor{padding:20px}#viewer{height:420px}.cfg h1{font-size:30px}}@media(max-width:760px){.cfg{padding:22px 12px}.cfg-intro{align-items:start}.cfg-intro>.cfg-pill{display:none}.cfg h1{font-size:28px}.cfg-steps{overflow:auto}.cfg-steps button{min-width:95px;font-size:10px}.cfg-workspace{display:flex;flex-direction:column}.cfg-visual{order:-1;position:sticky;top:0;z-index:5;width:100%}.cfg-editor{width:100%}.cfg-scene-head{padding:10px 14px}.cfg-scene-head h2{font-size:14px}.cfg-plan{height:170px}#viewer{height:240px}.cfg-visual-footer{padding:8px 12px}#viewer-controls{padding:5px 10px}.cfg-view-buttons button{font-size:9px;padding:5px 6px}#viewer-controls .cfg-hint{display:none}#boq-panel{max-height:210px;overflow:auto}.cfg-watermark{font-size:16px;bottom:10px;right:12px}.cfg-expanded #viewer{height:65vh}}@media(prefers-reduced-motion:reduce){.cfg *{transition:none!important}}

.cfg-mobile-boq:empty{display:none}.cfg-mobile-boq{order:3;width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.cfg-mobile-boq .cfg-hint{padding:0 14px}

/* Phase 2: compact controls, directional progress, accessible reduced motion. */
.cfg .cfg-steps{position:relative;gap:4px;overflow:visible;padding-bottom:10px}.cfg .cfg-steps button{position:relative;transition:background .25s,color .25s}.cfg .cfg-steps button.is-complete{background:#e2f0ef;color:#17656c}.cfg .cfg-steps button.is-next{border-color:#7cabb2}.cfg .cfg-steps::after{content:'➜';position:absolute;left:calc(var(--progress,0)*20% + 8%);bottom:-8px;color:#078c9b;font-size:21px;line-height:1;transition:left .35s ease}.cfg .cfg-steps button[aria-current]{background:#12364b;color:white}.cfg .cfg-thumbnail{height:190px;background:#eef5f5;border:1px solid #dae7e8;border-radius:12px;margin:14px 0;overflow:hidden}.cfg .cfg-thumbnail svg{width:100%;height:100%}.cfg .cfg-insight:not(:empty){background:#edf6f6;border-left:3px solid #138995;padding:12px;margin:14px 0;font-size:13px}.cfg .cfg-insight a{color:#166778;text-decoration:underline}.cfg .cfg-equipment-actions{position:sticky;bottom:8px;z-index:3;background:#fff;padding:10px;border:1px solid #d7e5e6;border-radius:10px;box-shadow:0 4px 14px #12364b12}.cfg #equipment-list{max-height:360px;overflow:auto;overscroll-behavior:contain}.cfg .cfg-disclaimer{padding:17px;border:1px solid #d2a568;background:#fff8ed;border-radius:10px;font-size:13px;margin:15px 0}.cfg .cfg-disclaimer strong{font-size:13px;color:#754718}.cfg .cfg-overlays{border-top:1px solid #dce8ea;margin-top:10px;padding-top:10px}.cfg #instance-editor details{border:1px solid #dbe5e7;border-radius:8px;padding:10px;margin:10px 0}.cfg #instance-editor .cfg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cfg #rack-scene-label{font-size:12px}.cfg #automatic-summary{font-size:14px;color:#48636e}.cfg #equipment-list button{margin-top:8px}.cfg .cfg-watermark{pointer-events:none}.cfg .cfg-equipment-card small{overflow-wrap:anywhere}.cfg [data-field]{max-width:100%}@media(max-width:760px){.cfg .cfg-steps{gap:2px}.cfg .cfg-steps button{padding:8px 3px;font-size:10px}.cfg .cfg-steps button b{display:block}.cfg .cfg-thumbnail{height:160px}.cfg #instance-editor .cfg-grid{grid-template-columns:1fr}.cfg .cfg-equipment-actions{bottom:4px}.cfg #equipment-list{max-height:250px}}@media(prefers-reduced-motion:reduce){.cfg .cfg-steps::after,.cfg .cfg-steps button{transition:none}}

.cfg .cfg-mobile-boq{grid-column:1/-1;background:white;border:1px solid #d9e5e7;border-radius:12px;overflow:hidden}.cfg .cfg-mobile-boq:has([hidden]){display:none}.cfg #canvas-host{height:clamp(270px,42vh,430px)}.cfg .cfg-overlays summary{cursor:pointer;font-size:12px;font-weight:700}.cfg .cfg-visual{max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain}.cfg .cfg-view-buttons{gap:5px}.cfg .cfg-visual-footer{font-size:11px}@media(max-width:760px){.cfg .cfg-visual{max-height:52dvh}.cfg #canvas-host{height:220px}.cfg .cfg-visual-footer{display:none}.cfg .cfg-view-buttons button{font-size:10px;padding:6px}.cfg .cfg-view-buttons{gap:3px}.cfg .cfg-hint{font-size:11px}}

.cfg .cfg-steps button{min-width:0;white-space:normal}.cfg .cfg-visual.cfg-expanded{max-height:none}.cfg .cfg-expanded #canvas-host{height:65dvh}@media(max-width:760px){.cfg .cfg-editor input,.cfg .cfg-editor select{scroll-margin-top:54dvh}.cfg .cfg-steps button b{margin-right:0}.cfg .cfg-steps button{line-height:1.25;overflow-wrap:anywhere}}
