/* One working surface, one selection accent. */
.studio-viewer,.dossier-model{position:relative}
.arrival-scan-skip{position:absolute;right:16px;top:72px;z-index:3;background:#173e38e8;color:#e4fff1;border:1px solid #8bd5b6;border-radius:20px;padding:8px 14px;font-size:13px;box-shadow:0 2px 12px #173e3822}
@media print{.arrival-scan-skip{display:none!important}}
@media screen{
 body.atelier-active main{padding-top:10px}
 body.atelier-active main>header{margin-bottom:8px;gap:10px}
 body.atelier-active h1{font-size:22px}
 #studio .studio-steps{background:transparent;border:0;border-radius:0;box-shadow:none;margin:0 0 8px;padding:0;gap:18px}
 #studio .studio-steps button,#studio .studio-steps button.current,#studio .studio-steps button.done{background:transparent;box-shadow:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:7px 4px;min-height:38px;color:#65756e}
 #studio .studio-steps button.current{border-bottom-color:#225b50;color:#225b50}
 #studio .studio-steps button span,#studio .studio-steps button.current span{background:transparent;color:inherit;border:1px solid #bdc8c2;width:24px;height:24px;min-width:24px}
 #studio .studio-steps button.current span{border-color:#225b50}
 #studio .studio-map-top{padding:10px 14px;flex-wrap:wrap}
 #studio .studio-map-top>.map-edit-tools{margin:0 auto 0 0;padding:0;border:0;flex:1;min-width:180px;font-size:13px}
 #studio .studio-map-top>.map-edit-tools>summary{padding:6px 0;color:#667970;cursor:pointer}
 #studio .studio-map-top>.map-edit-tools[open]{flex-basis:100%;order:2}
 #studio .studio-map-top>.map-generate{min-height:40px;padding:9px 15px}
 #studio .studio-map-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
 #studio .map-heading-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
 #studio .map-heading-copy>span{font-size:12px;color:#6c8077}
 #studio .map-generate{flex-shrink:0;background:#225b50;color:#fff;border:1px solid #225b50;border-radius:9px;padding:12px 18px;min-height:46px;font-size:15px;font-weight:600;box-shadow:0 3px 10px #225b5020}
 #studio .map-generate:hover:not(:disabled){background:#173e38;box-shadow:0 4px 14px #225b5033}
 html,body,body.atelier-active,.welcome-screen{background:#fff;background-image:none}
 .releve-exports{margin-top:16px;padding-top:14px;border-top:1px solid #e1e8e6}
 .releve-exports h4{margin:0 0 9px;font-size:14px;color:#244c43;font-weight:600}
 .releve-exports>div{display:flex;flex-wrap:wrap;gap:7px}
 .releve-exports button{flex:1;padding:8px 10px;background:white;color:#225b50;border:1px solid #b9cfc5;font-size:14px;white-space:nowrap}
 .releve-exports p{font-size:12px;line-height:1.5;color:#62756c;margin:8px 0 0}
 #studio .studio-setup{gap:0;background:#fff;border:1px solid #dce4e1;border-radius:12px;overflow:hidden;box-shadow:0 6px 24px #183c3906;align-items:stretch}
 #studio .studio-map-panel,#studio .studio-setup-side{border:0;border-radius:0;box-shadow:none;background:#fff}
 #studio .studio-setup-side{border-left:1px solid #e3e9e6;padding:20px}
 #studio .studio-map-top{background:#fff;border:0;padding:16px 18px}
 #studio .studio-map-tools{background:#fff;border:0;padding:10px 14px;gap:6px}
 #studio .studio-map-tools button{background:transparent;border-color:transparent;color:#315e55}
 #studio .studio-map-tools button:hover{background:#eef4f1}
 #studio #s-address-panel{padding:0 0 18px;border:0;border-bottom:1px solid #e5ebe8;border-radius:0;background:transparent;box-shadow:none;margin:0 0 18px}
 #studio .building-picker{padding:0;border:0;background:transparent;box-shadow:none}
 #studio .building-picker h3{font-size:16px;margin:0 0 8px}
 #studio .building-choices{gap:0;padding:0;margin:14px 0;max-height:42vh}
 #studio .building-row{gap:0;border-bottom:1px solid #edf1ef;padding:3px 0}
 #studio .building-choice{border:0;border-radius:6px;box-shadow:none;min-height:72px;background:transparent}
 #studio .building-choice[aria-pressed=true]{background:#eef5f1;border:0;box-shadow:none;padding:13px 12px 13px 36px}
 #studio .building-choice:hover{background:#f0f5f2}
 #studio .building-focus{border:0;background:transparent;color:#587067;border-radius:0;font-size:12px;padding:6px}
 #studio .building-focus:hover{color:#174f40;background:#eef5f1}
 #studio .primary{background:#225b50;border-color:#225b50}
 #studio .studio-map-panel>details{border:0;border-radius:0;background:#fff;padding:0}
 #studio .studio-map-panel>details>summary{padding:8px 18px;color:#5b746b;font-size:13px}
 .measurement-presets{padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid #e1e9e5}
 .measurement-presets h3{font-size:16px;color:#244c43;margin:0 0 14px}
 .measurement-presets label{display:block;color:#597169;font-size:13px}
 .measurement-presets select{display:block;width:100%;margin:5px 0 12px;padding:8px;color:#244c43;border:1px solid #dce6e0;background:#fff;min-width:0}
 .preset-actions{display:grid;gap:5px}
 .preset-actions button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;width:100%;padding:10px 12px;border:0;background:#f0f5f2;color:#244c43;font-size:14px}
 .preset-actions button strong{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
 .preset-actions button:hover:not(:disabled){background:#dfeee6}
 .preset-actions button:disabled{opacity:.55;cursor:default}
 .preset-actions button[data-preset=all]{background:#225b50;color:#fff;margin-top:5px}
 .preset-actions button[data-preset=all]:hover:not(:disabled){background:#17463d}
 .measurement-presets .preset-note,.measurement-presets .preset-status{font-size:12px;line-height:1.5;color:#65796f;margin:10px 0 0}
 .measurement-presets .preset-status:empty{display:none}
 .measurement-presets .preset-status{color:#245b48}
}
@media screen and (max-width:1000px){#studio .studio-setup-side{border-left:0;border-top:1px solid #e3e9e6}.preset-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-actions button[data-preset=all]{grid-column:1/-1}}
@media screen and (max-width:420px){.preset-actions{grid-template-columns:1fr}}
@media screen and (max-width:600px){#studio .studio-map-top{padding:12px;gap:10px;flex-wrap:wrap}#studio .map-heading-copy{flex:1 1 140px}#studio .map-generate{flex:1 1 165px;padding:11px 12px;text-align:center}}
@media print{.measurement-presets{display:none!important}}

/* Numbered footprints and a map integrated into the working surface. */
@media screen{
 #studio .studio-setup{border:0;border-radius:0;box-shadow:none;gap:22px}
 #studio .studio-setup-side{border:0;padding:12px 0 0 4px}
 #studio .studio-map-top{padding:10px 0 14px;gap:12px}
 #studio .map-selection-title{font-size:18px;font-weight:650;margin:0;letter-spacing:-.3px;color:#203c43;flex:1}
 #studio .studio-map-top>.map-edit-tools{flex:0 1 auto;min-width:0;margin:0;font-size:12px}
 #studio .studio-map-top>.map-edit-tools[open]{flex-basis:100%;order:3}
 #studio #s-map{border-radius:16px;overflow:hidden;display:block}
 #studio .studio-map-tools{padding:10px 0}
 #studio .building-row{border:0;gap:4px;padding:3px 0}
 #studio .building-choice,#studio .building-choice[aria-pressed=true]{position:relative;padding:12px 10px 12px 50px;min-height:72px;border-radius:12px}
 #studio .building-choice::before{display:none}
 #studio .building-number{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:1px solid #cbd9d3;border-radius:50%;display:grid;place-items:center;font-size:15px;font-style:normal;font-weight:600;color:#225b50;background:white}
 #studio .building-choice[aria-pressed=true] .building-number{background:#225b50;border-color:#225b50;color:white}
 #studio .building-choice strong{font-size:14px;line-height:1.4}
 #studio .building-focus{border-radius:8px}
}
@media screen and (max-width:1000px){#studio .studio-setup{gap:8px}#studio .studio-setup-side{padding:12px 0}}
@media screen and (max-width:600px){#studio .map-selection-title{flex-basis:100%}#studio .studio-map-top>.map-edit-tools{order:2;flex-basis:100%}#studio .studio-map-top>.map-generate{flex:1}#studio #s-map{border-radius:12px}}

@media screen{
 #studio .map-canvas-wrap{position:relative;isolation:isolate;border-radius:16px}
 #studio .map-canvas-wrap>.map-generate{position:absolute;right:22px;bottom:22px;z-index:2;display:flex;align-items:center;justify-content:center;gap:20px;min-height:60px;min-width:250px;padding:16px 22px;font-size:18px;font-weight:700;letter-spacing:-.25px;color:#183c39;background:#e0bf7a;border:1px solid #f6dea9;border-radius:12px;box-shadow:0 6px 24px #102d354a,0 0 0 4px #fff5}
 #studio .map-canvas-wrap>.map-generate::after{content:'→';font-size:25px;font-weight:400;line-height:1}
 #studio .map-canvas-wrap>.map-generate:hover:not(:disabled){background:#efd29a;color:#102e2b;box-shadow:0 8px 28px #102d355c,0 0 0 4px #fff8}
 #studio .map-canvas-wrap>.map-generate:focus-visible{outline:3px solid white;outline-offset:5px}
 #studio .map-canvas-wrap>.map-generate:disabled{opacity:1;background:#e5e7e2;color:#65736c;border-color:#f0f2ef;cursor:default;box-shadow:0 3px 10px #102d352a}
 #studio .map-canvas-wrap>.map-generate[aria-busy=true]::after{content:'…'}
 #studio .dossier-address-tools{border:0;border-bottom:1px solid #e3ebe7;padding:0 0 14px;margin:0 0 18px}
 #studio .dossier-address-tools>summary{cursor:pointer;color:#42665b;font-size:14px;padding:8px 0}
 #studio .dossier-address-tools #s-address-panel{margin:10px 0 0;padding:0;border:0;max-width:540px}
 #studio .dossier-address-tools #s-address-confirm{background:white;border:1px solid #c5d6ce;color:#31594c;margin-top:12px;font-weight:500}
}
@media screen and (max-width:600px){#studio .map-canvas-wrap>.map-generate{right:12px;bottom:62px;min-height:56px;min-width:210px;max-width:calc(100% - 24px);padding:12px 16px;font-size:17px;gap:14px}}

/* One teal interaction colour, including the gold primary action. */
@media screen{
 body.atelier-active button,.welcome-screen button{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}
 body.atelier-active button:not(:disabled):hover,.welcome-screen button:not(:disabled):hover{background:#167578!important;border-color:#167578!important;color:#fff!important;filter:none}
 body.atelier-active button:not(:disabled):hover :is(strong,span,small),.welcome-screen button:not(:disabled):hover :is(strong,span,small){color:inherit!important}
 #studio .building-choice:not(:disabled):hover .building-number{background:#fff;color:#12676a;border-color:#fff}
 body.atelier-active summary:hover{color:#116f72;background:#edf7f6}
 body.atelier-active button:focus-visible,.welcome-screen button:focus-visible,body.atelier-active summary:focus-visible{outline:3px solid #44a9a7;outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){body.atelier-active button,.welcome-screen button{transition:none}}

/* Persistent, explicit measurements action in both model viewports. */
body.atelier-active .measure-visibility-toggle{min-height:44px;padding:10px 17px!important;font-size:15px!important;font-weight:650;background:#e3f3f1!important;border:1px solid #39948d!important;color:#174e48!important;border-radius:9px;white-space:nowrap;box-shadow:0 2px 6px #174e4812}
body.atelier-active .measure-visibility-toggle[aria-pressed=true]{background:#215c53!important;color:#fff!important;border-color:#215c53!important}
#studio .studio-view-tools>label:has(#s-all-measures){display:none!important}
@media(max-width:650px){body.atelier-active .measure-visibility-toggle{flex:1 1 100%;width:100%;order:-1}}

.map-selection-hint{position:absolute;top:14px;left:14px;max-width:calc(100% - 28px);padding:9px 13px;border-radius:8px;background:#163e45ed;color:#fff;font:600 14px/1.4 system-ui;pointer-events:none;box-shadow:0 3px 14px #122b3430}
.map-selection-hint[hidden]{display:none}
#studio .building-choice[aria-pressed=true]{background:#d4eee6!important;border:2px solid #2b8b74!important}
#studio .building-choice[aria-pressed=false]{background:#fff!important;border:2px dashed #bdccd0!important}
#studio .building-choice .building-state{display:block;grid-column:2;font-size:13px;font-weight:650;color:#286453}
#studio .building-choice[aria-pressed=false] .building-state{color:#60777f}
#studio .building-choice.map-hovered,#studio .building-choice:focus-visible{border-color:#248bb0!important;box-shadow:0 0 0 3px #55bee54d!important;background:#e1f3f9!important;color:#153f4b!important}
#studio .building-choice.map-hovered :is(strong,span,small){color:#153f4b!important}
