@font-face{font-family:NeueHelveticaStd45Light;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/NeueHelveticaStd45Light.woff2)format("woff2")}@font-face{font-family:NeueHelveticaStd35Thin;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/NeueHelveticaStd35Thin.woff2)format("woff2")}@font-face{font-family:NeueHelveticaStd55Roman;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/NeueHelveticaStd55Roman.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:#111;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}button{cursor:pointer;font-family:inherit}input{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.tb-btn:hover:not(:disabled):not([aria-pressed=true]){background:#eee}@media print{html,body,#root{height:auto!important;font-size:11pt!important;overflow:visible!important}.spec-scroll{height:auto!important;overflow:visible!important}.no-print{display:none!important}.print-page{min-height:unset!important;height:auto!important;font-size:11pt!important;overflow:visible!important}.print-only{display:flex!important}.spec-content{padding-top:16px!important;padding-left:10mm!important;padding-right:10mm!important}.print-break{page-break-before:always;padding-top:12mm}@page{margin:3mm 10mm 20mm;size:A4;@bottom-left{content:""}@bottom-right{content:counter(page) " / " counter(pages);font:10px sans-serif}}}.print-only{display:none}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.app-header h1{letter-spacing:-.025em;font-size:19px}.app-header p{color:#606870;margin-top:5px;font-size:12px}.app-header label{color:#4b5563;align-items:center;gap:10px;font-size:12px;display:flex}select{color:#111;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:7px 10px}.app-content{flex:1;min-height:0}.rules-notice{color:#475569;background:#f3f6f8;border-bottom:1px solid #dce3e9;padding:8px 24px;font-size:12px;line-height:1.5}.validation-notice{color:#8a3900;background:#fff1e5;padding:10px 24px;font-size:13px}.spec-scroll{height:100%;overflow-y:auto}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,select:focus-visible,[role=button]:focus-visible{outline-offset:3px;outline:3px solid #0e4c80}.error-message{padding:40px;line-height:1.7}.luminaire-note{color:#64748b;margin:12px 0 20px;font-size:12px;line-height:1.5}.installation-legend{color:#475569;background:#fff;flex-wrap:wrap;gap:6px 16px;padding:7px 24px;font-size:11px;line-height:1.4;display:flex}.live-key{color:#8b4513}.earth-key{color:#16833c}.reference-example{color:#0e4c80;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;font-size:12px}@media (width<=700px){.app-header{gap:8px;padding:10px 12px}.app-header h1{font-size:16px}.app-header p{font-size:11px}.rules-notice,.validation-notice{padding:6px 12px}}@media print{.app-shell,.app-content{height:auto!important;display:block!important}.rules-notice{padding:8px 0}}.start-screen,.canvas-screen{--start-content-inset:min(5vw,96px)}.start-screen{--start-content-inset:5vw;background:#fff;flex-direction:column;height:100dvh;font-size:14px;display:flex}.start-header{height:110px;padding:15px clamp(24px,2.2vw,55px) 16px var(--start-content-inset);background:#fff;border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:24px;display:flex}.start-brands{flex-shrink:0;align-items:center;gap:24px;display:flex}.start-whitecroft-logo{background:#000;flex-shrink:0;width:150px;height:78px;display:block}.start-lyne-logo{flex-shrink:0;width:110px;height:auto;display:block}.start-header h1{text-align:right;color:#30343a;margin-left:auto;font-family:NeueHelveticaStd45Light,sans-serif;font-size:19px;font-weight:400;line-height:30.4px}.start-body{--start-menu-inset:var(--start-content-inset);--start-menu-width:calc(27.5vw + 11.25px);flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.start-background{left:var(--start-menu-width);width:calc(100% - var(--start-menu-width));height:auto;display:block;position:absolute;top:0}.start-menu{z-index:1;width:var(--start-menu-width);padding:40px 45px 40px var(--start-menu-inset);background:#eee;flex-shrink:0;position:relative}.start-menu button{text-align:left;color:#181818;letter-spacing:.5px;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;margin:0;padding:0;font-family:NeueHelveticaStd45Light,sans-serif;font-size:19px;font-weight:400;line-height:30.4px;display:flex}.start-menu button+button{border-top:1px solid #e6e6e6;padding-top:15px}.start-menu button span{flex-shrink:0;align-self:flex-start;width:8px;height:15px;font-size:0;position:relative;top:2.5px}.start-menu button span:not(:empty):before{content:"";background:url("data:image/svg+xml,%3csvg%20width='12'%20height='22'%20viewBox='0%200%2012%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.69186%2011L0.846028%202.15416C0.651584%201.95971%200.547418%201.72082%200.533529%201.43749C0.51964%201.15416%200.623806%200.901381%200.846028%200.679158C1.06825%200.456936%201.31408%200.345825%201.58353%200.345825C1.85297%200.345825%202.09881%200.456936%202.32103%200.679158L11.4627%209.82291C11.6446%2010.0035%2011.7724%2010.1889%2011.846%2010.3792C11.9196%2010.5694%2011.9564%2010.7764%2011.9564%2011C11.9564%2011.2236%2011.9196%2011.4305%2011.846%2011.6208C11.7724%2011.8111%2011.6446%2011.9972%2011.4627%2012.1792L2.32103%2021.3208C2.12658%2021.5153%201.8877%2021.6194%201.60436%2021.6333C1.32103%2021.6472%201.06825%2021.5431%200.846028%2021.3208C0.623806%2021.0986%200.512695%2020.8528%200.512695%2020.5833C0.512695%2020.3139%200.623806%2020.0681%200.846028%2019.8458L9.69186%2011Z'%20fill='black'/%3e%3c/svg%3e") 0 0/contain no-repeat;width:100%;height:100%;display:block}.start-panel{z-index:1;background:#f6f6f6;width:min(46vw,660px);padding:33px clamp(21px,6.25vw,67.5px);font-family:NeueHelveticaStd35Thin,sans-serif;font-size:19px;font-weight:400;line-height:27.36px;position:relative;overflow:auto}.start-panel form{width:390.594px;max-width:100%}.start-panel fieldset{border:0;min-width:0}.start-close{color:#888;font:inherit;background:0 0;border:0;position:absolute;top:9px;right:12px}.start-field{color:#30343a;flex-direction:column;gap:12px;margin-bottom:36px;display:flex}.start-field input:not([type=range]),.start-custom input{color:#30343a;width:97.5%;min-width:0;height:33px;font:inherit;background:#fff;border:1px solid #d4d7dc;border-radius:3.375px;padding:8.0625px 6.75px 2.0625px;font-size:14.25px;line-height:20.52px}.start-field input::placeholder{color:#929ba7}.start-field input[type=file]{height:33px;padding:0;line-height:36px}.start-field input[type=file]::file-selector-button{vertical-align:top;color:#fff;cursor:pointer;height:31px;font:inherit;background:#191d22;border:0;margin-right:6.75px;padding:4px 9px 0;line-height:20.52px}.start-drawing-upload{background:#fff;border:1px solid #d4d7dc;border-radius:3.375px;align-items:center;width:97.5%;min-width:0;height:33px;font:14.25px/20.52px NeueHelveticaStd55Roman,sans-serif;display:flex;position:relative}.start-upload-button{color:#fff;background:#191d22;border-radius:2px 0 0 2px;flex-shrink:0;align-items:center;height:31px;padding:4px 9px 0;display:flex}.start-upload-text{white-space:nowrap;text-overflow:ellipsis;color:#929ba7;min-width:0;padding:4px 6.75px 0;overflow:hidden}.start-upload-text.has-file{color:#30343a}.start-project-name::placeholder,.start-upload-text:not(.has-file){font-family:NeueHelveticaStd35Thin,sans-serif;font-style:italic;font-weight:400}.start-field .start-drawing-upload input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.start-drawing-upload:has(input:focus-visible){outline-offset:3px;outline:2px solid #0e4c80}.start-field small{color:#777;font:inherit}.start-scales{grid-template-columns:repeat(5,minmax(0,1fr));gap:4.5px;width:97.5%;font-size:14.25px;line-height:20.52px;display:grid}.start-scales button{color:#687382;font:inherit;background:#fff;border:1px solid #e4e6e9;border-radius:2.25px;justify-content:center;align-items:center;padding:6.5px 6.75px 2.5px;display:inline-flex}.start-field input:not([type=range]),.start-custom input,.start-scales button{font-family:NeueHelveticaStd55Roman,sans-serif}.start-scales button[aria-pressed=true]{color:#fff;background:#191d22;border-color:#191d22}.start-custom{white-space:nowrap;align-items:baseline;gap:6px;font-family:NeueHelveticaStd55Roman,sans-serif;font-size:14.25px;line-height:20.52px;display:flex}.start-custom input{flex:0 0 73.125px;width:73.125px}.start-configure{color:#fff;background:#181818;border:0;border-radius:40px;justify-content:center;align-items:center;gap:10px;padding:15px 30px;font-family:NeueHelveticaStd55Roman,sans-serif;font-size:19px;font-weight:400;line-height:normal;display:inline-flex}.start-configure>span{transform:translateY(2px)}.start-configure svg{flex-shrink:0;width:12px;height:12px}.start-configure:hover:not(:disabled){background:#0b0b0b}.start-configure:active:not(:disabled){background:#000}.start-error{color:#b91c1c;overflow-wrap:anywhere;margin-bottom:15px}.start-screen input:focus-visible{outline-offset:3px;outline:2px solid #0e4c80}.start-screen .start-project-name:focus{box-shadow:none;outline:none}.project-name{color:#475569;overflow-wrap:anywhere;margin-top:4px;font-size:13px}@media (width<=700px){.start-header{height:auto;min-height:110px;padding:15px var(--start-content-inset) 17px;flex-wrap:wrap;gap:12px 24px}.start-body{flex-direction:column;overflow:auto}.start-background{width:100%;left:0}.start-menu{width:100%;padding:40px var(--start-content-inset)}.start-panel{flex:1;width:100%;min-height:390px;padding:30px 18px;overflow:visible}.start-panel form{width:100%;max-width:390.594px}}@media (width<=639px){.start-screen,.canvas-screen{--start-content-inset:2.5vw}}.canvas-screen{color:#181818;background:#fff;font-family:NeueHelveticaStd45Light,sans-serif}.canvas-screen .validation-notice{padding:10px var(--start-content-inset);font-family:NeueHelveticaStd55Roman,sans-serif}.draw-editor{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.canvas-stage{background:#fff;flex:1;min-height:0;position:relative;overflow:hidden}.canvas-stage>svg{font-family:NeueHelveticaStd55Roman,sans-serif}.track-highlight{filter:drop-shadow(0 0 3px #6b728059)}.track-selected-highlight{filter:drop-shadow(0 0 3px #0006)}.canvas-stage g[role=button]:focus{outline:none}.canvas-stage g[role=button]:focus-visible>polyline:first-of-type{stroke:#6b728080;filter:drop-shadow(0 0 3px #6b728059)}.canvas-stage g[data-selected=true]:focus-visible>polyline:first-of-type{stroke:#181818;filter:drop-shadow(0 0 3px #0006)}.canvas-toolbar{--canvas-tool-size:clamp(32px,2.08333vw,40px);background:#fffffff5;border:1px solid #00000017;border-radius:10px;flex-flow:wrap;justify-content:center;align-items:center;gap:2px;width:max-content;max-width:calc(100% - 32px);padding:6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 2px 20px #0000001c}.tb-btn{width:var(--canvas-tool-size);height:var(--canvas-tool-size);color:#444;background:0 0;border:0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tb-btn[aria-pressed=true],.tb-btn[aria-pressed=true]:hover{color:#181818;background:#e4e4e4}.canvas-tool-separator{background:#e8e8e8;align-self:stretch;width:1px;margin:4px 2px}.canvas-grid-controls{align-items:center;gap:3px;padding:0 2px;font-family:NeueHelveticaStd55Roman,sans-serif;display:flex}.canvas-grid-controls>span{color:#888;letter-spacing:.06em;text-transform:uppercase;margin-right:2px;font-size:10px}.canvas-grid-controls button{color:#555;white-space:nowrap;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:5px;min-width:44px;height:28px;padding:0 8px;font-family:NeueHelveticaStd55Roman,sans-serif;font-size:11px;font-weight:400}.canvas-grid-controls button[aria-pressed=true]{color:#fff;background:#181818;border-color:#181818}.canvas-mode-toggle{-webkit-user-select:none;user-select:none;background:#eee;border:1px solid #e6e6e6;border-radius:40px;align-items:center;width:316px;max-width:calc(100vw - 32px);height:48px;padding:4px;display:flex}.canvas-mode-control{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:16px;right:16px}.canvas-mode-segment{color:#666;background:0 0;border:0;border-radius:30px;flex:1;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 12px;font-family:NeueHelveticaStd55Roman,sans-serif;font-size:14.25px;line-height:20.52px;display:flex}.canvas-mode-segment[data-active=true]{color:#fff;background:#181818}.canvas-mode-segment>span{display:block;transform:translateY(3px)}.canvas-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex;position:absolute;bottom:16px;right:16px}.canvas-secondary-action{color:#181818;background:#fff;border:1px solid #ddd;border-radius:40px;padding:15px 24px;font-family:NeueHelveticaStd55Roman,sans-serif;font-size:19px;font-weight:400;line-height:normal}.canvas-actions .canvas-secondary-action,.canvas-actions .start-configure{justify-content:center;align-items:center;height:53px;padding-top:0;padding-bottom:0;line-height:23px;display:inline-flex}.canvas-actions button>span{display:block;transform:translateY(4px)}@supports (text-box-trim:trim-both) and (text-box-edge:cap alphabetic){.canvas-actions button>span,.canvas-mode-segment>span{text-box-trim:trim-both;text-box-edge:cap alphabetic;transform:none}}.canvas-dialog input,.canvas-dialog select,.canvas-dialog button{font-family:NeueHelveticaStd55Roman,sans-serif}.canvas-dialog-primary{border-radius:40px!important}.canvas-screen button:focus-visible,.canvas-screen select:focus-visible,.canvas-screen [role=button]:focus-visible{outline-offset:3px;outline:2px solid #181818}@media (width<=1100px){.canvas-toolbar{bottom:88px}}@media (width<=700px){.canvas-mode-control{top:10px;right:10px}.canvas-actions{max-width:calc(100% - 20px);right:10px}}.canvas-secondary-action:hover:not(:disabled){background:#eee}.spec-page{color:#222;background:#fff;flex-direction:column;min-height:100%;font-family:NeueHelveticaStd45Light,sans-serif;display:flex}.spec-content{padding:48px var(--start-content-inset) 32px;flex:1}.spec-runs{max-width:1830px}.spec-run,.spec-combined{border-bottom:1px solid #eee;grid-template-columns:minmax(0,1fr) clamp(500px,34vw,620px);align-items:start;column-gap:clamp(32px,3vw,80px);margin-bottom:48px;padding-bottom:54px;display:grid}.spec-run h3,.spec-combined h3{margin:0 0 8px 14px;font:400 19px/30.4px NeueHelveticaStd45Light,sans-serif}.spec-run-heading{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 8px 14px;display:flex}.spec-run-heading h3{overflow-wrap:anywhere;margin:0}.spec-title-input{box-sizing:border-box;color:#181818;cursor:text;background:#fff;border:1px solid #181818;border-radius:3px;max-width:100%;height:32px;margin:0;padding:0 7px;font:400 19px/30.4px NeueHelveticaStd45Light,sans-serif;transform:translateY(-3px)}.spec-title-input:hover,.spec-title-input:focus{border-color:#000}.spec-title-input::placeholder{color:#929ba7;font-family:NeueHelveticaStd35Thin,sans-serif;font-size:14.25px;font-style:italic;font-weight:400}.spec-title-print{display:none}@media print{.spec-title-print{display:inline}}.spec-diagram{aspect-ratio:2.15;background:#fff;border:1px solid #e5e5e5;border-radius:10px;width:100%;overflow:hidden}.spec-parts{min-width:0;padding-top:24px}.spec-bom-table{border-collapse:collapse;table-layout:fixed;width:100%;font-family:NeueHelveticaStd55Roman,sans-serif}.spec-bom-table th{text-align:left;color:#aaa;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #eee;padding:10px 12px;font:400 10px/16px NeueHelveticaStd55Roman,sans-serif}.spec-bom-table td{vertical-align:middle;border-bottom:1px solid #f1f1f1;padding:8px 12px;font-size:14px;line-height:19px}.spec-product{align-items:center;gap:18px;display:flex}.spec-product-icon{--spec-icon-size:56px;--spec-icon-width:80px;width:var(--spec-icon-width);height:var(--spec-icon-size);flex-shrink:0;justify-content:center;align-items:center;display:flex}.spec-adapter-icon{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.spec-product-name{font-size:14px}.spec-product-note,.spec-cut-note{color:#777;margin-top:4px;font-size:12px;line-height:17px}.spec-bom-table .spec-ref,.spec-bom-table .spec-quantity{font-weight:600}.spec-bom-table .spec-code{color:#777;overflow-wrap:anywhere;font-size:12px}.spec-bom-table th:last-child,.spec-bom-table .spec-quantity{text-align:center}.spec-combined{width:clamp(500px,34vw,620px);max-width:100%;display:block}.spec-combined-heading>p{color:#777;margin-left:14px;font-size:14px;line-height:20px}.spec-actions{padding:16px var(--start-content-inset);background:#fff;border-top:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;bottom:0}.spec-export-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spec-actions button{color:#181818;background:#fff;border:1px solid #ddd;border-radius:28px;justify-content:center;align-items:center;min-height:48px;padding:10px 24px;font:400 16px/24px NeueHelveticaStd55Roman,sans-serif;display:inline-flex}.spec-actions button:hover:not(:disabled){color:#fff;background:#181818;border-color:#181818}@media (width<=1100px){.spec-run,.spec-combined{grid-template-columns:minmax(0,1fr);gap:24px}.spec-combined{width:100%}.spec-diagram{max-width:840px}.spec-parts{padding-top:0}}@media (width<=640px){.spec-content{padding-top:28px}.spec-bom-table th,.spec-bom-table td{padding:10px 6px}.spec-product{gap:8px}.spec-product-icon{--spec-icon-size:32px;--spec-icon-width:48px}.spec-bom-table td,.spec-product-name{font-size:12px;line-height:17px}.spec-bom-table .spec-code{font-size:11px}.spec-actions{flex-direction:column;align-items:flex-start;gap:8px}.spec-actions button{min-height:40px;padding:8px 14px;font-size:14px}}@media print{.spec-page{min-height:unset;display:block}.spec-content{padding-bottom:0;display:block}.spec-run,.spec-combined{break-inside:auto;margin-bottom:20px;padding-top:12mm;padding-bottom:20px;display:block}.spec-run:first-child{padding-top:0}.spec-runs>section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.spec-run-preview,.spec-run h3,.spec-combined-heading,.spec-bom-table tr{break-inside:avoid}.spec-run h3,.spec-combined-heading{break-after:avoid}.spec-combined{width:100%}.spec-diagram{width:100%;max-width:650px}.spec-parts{padding-top:16px}.spec-bom-table td{padding:8px;font-size:11px}.spec-bom-table th{padding:8px}.spec-product-name{font-size:11px}.start-header{height:90px;min-height:90px;padding-left:10mm}}@supports (text-box-trim:trim-both){.spec-actions button>span{text-box-trim:trim-both;text-box-edge:cap alphabetic;display:block}}.spec-product>div{min-width:0;max-width:200px}.run-context-menu,.run-colour-submenu{color:#202832;background:#fff;border:1px solid #d7d9dc;border-radius:10px;padding:6px;font-family:NeueHelveticaStd45Light,sans-serif;box-shadow:0 8px 28px #0002,0 1px 4px #0001}.run-context-menu{z-index:2000;max-height:calc(100dvh - 16px);position:fixed}.run-menu-item{position:relative}.run-menu-button{width:100%;min-height:40px;color:inherit;text-align:left;font:inherit;background:0 0;border:0;border-radius:6px;grid-template-columns:20px 1fr auto;align-items:center;gap:4px 12px;padding:10px 12px;font-size:14px;line-height:20px;display:grid}.run-menu-button:has(.run-menu-description){min-height:62px}.run-menu-button:hover,.run-menu-button.is-open{background:#eef0f2}.run-menu-button:focus-visible,.run-colour-option:focus-visible{outline-offset:-2px;outline:2px solid #1760d6}.run-menu-icon{align-self:flex-start;margin-top:0;display:flex}.run-menu-icon svg{width:20px;height:20px}.run-menu-copy{display:contents}.run-menu-copy>span:first-child{grid-area:1/2}.run-menu-description{color:#68717b;grid-area:2/2/auto/-1;font-size:12px;line-height:18px}.run-menu-shortcut{color:#68717b;white-space:nowrap;grid-area:1/3;font-size:12px}.run-menu-chevron{color:#526171;grid-area:1/3;width:12px;height:12px}.run-menu-divider{background:#dadddf;height:1px;margin:6px 4px}.run-colour-submenu{z-index:1;width:136px;position:absolute;top:0}.run-submenu-right{left:calc(100% + 6px)}.run-submenu-left{right:calc(100% + 6px)}.run-submenu-inside{top:100%;right:0}.run-colour-option{width:100%;min-height:36px;color:inherit;text-align:left;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:8px;font-size:14px;display:flex}.run-colour-option:hover,.run-colour-option.is-selected{background:#eff3f8}.run-colour-swatch{border:1px solid #202832;border-radius:50%;flex-shrink:0;width:20px;height:20px}.run-colour-swatch.black{background:#000;border-color:#000}.run-colour-swatch.white{background:#fff}.is-selected .run-colour-swatch.white{border:2px solid #1760d6}.run-colour-check{color:#1760d6;flex-shrink:0;width:16px;height:16px;margin-left:auto}@media print{.spec-product-icon{--spec-icon-size:36px;--spec-icon-width:52px}}
