/* V17.7.4.394 — AR Site Setout Phase 1A/1B. */
body.v17-ar-site-setout-constrained .content{padding:0!important;overflow:auto!important;background:#0b1723!important}
body.v17-ar-site-setout-constrained #view-ar-site-setout{display:none;max-width:none!important;width:100%!important;min-height:100%;margin:0!important;padding:20px 24px 28px!important;color:#eaf3fa;background:#0b1723}
body.v17-ar-site-setout-constrained #view-ar-site-setout.active{display:block}
.setout-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 15px;padding:0!important}
.setout-page-head .page-title{margin:0 0 3px!important;color:#f2f7fb!important;font-size:28px!important;text-transform:none!important}
.setout-page-head p{margin:0;color:#91a8ba;font-size:13px}
.setout-source-pill{max-width:44%;padding:8px 12px;border:1px solid #2d4b61;border-radius:999px;color:#9db5c7;background:#102333;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.setout-source-pill.ready{color:#61d9ad;border-color:rgba(65,205,157,.42);background:rgba(65,205,157,.08)}
.setout-source-pill.stale{color:#ffc75b;border-color:rgba(255,184,42,.45);background:rgba(255,184,42,.08)}
.setout-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #294357;border-radius:8px;overflow:hidden;margin-bottom:16px;background:#0e1e2b}
.setout-workflow button{min-height:48px;border:0;border-right:1px solid #294357;background:transparent;color:#829bad;font:700 10px/1.2 Inter,Segoe UI,Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.setout-workflow button:last-child{border-right:0}.setout-workflow button:hover:not(:disabled),.setout-workflow button.active{color:#fff;background:#143149;box-shadow:inset 0 -2px 0 #1396e8}.setout-workflow button:disabled{opacity:.45;cursor:not-allowed}
.setout-workflow button span{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:6px;border:1px solid currentColor;border-radius:50%}
.setout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;min-width:0}
.setout-main{display:grid;gap:14px;min-width:0}.setout-card,.setout-context section{border:1px solid #294357;border-radius:8px;background:#0e1e2b;overflow:hidden}
.setout-card{padding:16px}.setout-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.setout-card h2{margin:0 0 4px;color:#eef6fb;font-size:15px}.setout-card p{margin:0;color:#8da6b8;font-size:11px;line-height:1.45}
.setout-btn{height:34px;padding:0 13px;border:1px solid #3b596e;border-radius:5px;background:#132a3c;color:#d8e7f1;font:800 9px/1 Inter,Segoe UI,Arial,sans-serif;letter-spacing:.015em;white-space:nowrap;cursor:pointer}.setout-btn:hover:not(:disabled){border-color:#159be9;color:#fff}.setout-btn.primary{background:#0877ef;border-color:#0877ef;color:#fff}.setout-btn:disabled{opacity:.42;cursor:not-allowed}
.setout-message{display:none;padding:10px 12px;border:1px solid #34546b;border-radius:6px;background:#102637;color:#b9cede;font-size:11px}.setout-message.show{display:block}.setout-message.error{border-color:#854753;background:#2a171d;color:#ffb7bd}.setout-message.success{border-color:#286d59;background:#10281f;color:#72dfb7}
.setout-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #294357;border-radius:6px;overflow:hidden}.setout-facts>div{display:grid;gap:4px;padding:10px 12px;border-right:1px solid #294357;border-bottom:1px solid #294357;min-width:0}.setout-facts>div:nth-child(3n){border-right:0}.setout-facts>div:nth-last-child(-n+3){border-bottom:0}.setout-facts span,.setout-status-list span{color:#829bad;font-size:9px;text-transform:uppercase}.setout-facts strong{color:#ecf4fa;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.setout-grid-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,1fr);gap:12px;margin-top:12px;align-items:end}.setout-card label{display:grid;gap:5px;color:#9bb0bf;font-size:9px;font-weight:750;text-transform:uppercase}.setout-card input,.setout-card select{width:100%;height:35px;border:1px solid #355267;border-radius:5px;background:#0b1723;color:#edf5fa;padding:0 10px;font:600 11px/1 Inter,Segoe UI,Arial,sans-serif;outline:0}.setout-card input:focus,.setout-card select:focus{border-color:#159be9;box-shadow:0 0 0 2px rgba(21,155,233,.12)}.setout-card input[readonly]{color:#8da6b8;background:#0c1a25}.setout-grid-summary,.setout-note{min-height:35px;padding:9px 11px;border:1px solid #294357;border-radius:5px;background:#0b1723;color:#a8bece;font-size:10px;line-height:1.5}.setout-note{margin-top:12px}.setout-warning-list{display:grid;gap:6px;margin-top:9px}.setout-warning{padding:8px 10px;border-left:3px solid #f1aa2e;background:rgba(241,170,46,.07);color:#e5c684;font-size:10px;line-height:1.4}
.setout-point-actions{display:flex;gap:6px}.setout-coordinate-meta{display:grid;grid-template-columns:130px repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.setout-points-table-wrap{overflow:auto;border:1px solid #294357;border-radius:6px}.setout-points-table{width:100%;min-width:950px;border-collapse:collapse;table-layout:fixed}.setout-points-table th{height:36px;padding:0 7px;text-align:left;background:#142b3c;color:#8fb5d2;border-right:1px solid #294357;font-size:8px;text-transform:uppercase;white-space:nowrap}.setout-points-table td{height:43px;padding:4px 6px;border-right:1px solid #294357;color:#eaf3fa;font-size:10px}.setout-points-table th:last-child,.setout-points-table td:last-child{border-right:0}.setout-points-table tr+tr td{border-top:1px solid rgba(41,67,87,.5)}.setout-points-table th:nth-child(1){width:46px}.setout-points-table th:nth-child(2){width:100px}.setout-points-table th:nth-child(3){width:220px}.setout-points-table th:nth-child(n+4){width:95px}.setout-points-table input,.setout-points-table select{height:31px;padding:0 7px;font-size:10px}.setout-role{color:#91a8ba}.setout-role.check{color:#f1c05c}
.setout-empty{padding:16px;border:1px dashed #355064;border-radius:6px;color:#819bad;font-size:10px;text-align:center}.setout-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #294357;border-radius:6px;overflow:hidden}.setout-result-grid>div{display:grid;gap:4px;padding:10px;border-right:1px solid #294357}.setout-result-grid>div:last-child{border-right:0}.setout-result-grid span{color:#829bad;font-size:8px;text-transform:uppercase}.setout-result-grid strong{font-size:11px;color:#fff}.setout-residual-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:9px}.setout-residual-table th,.setout-residual-table td{padding:7px 8px;text-align:right;border-bottom:1px solid #294357}.setout-residual-table th:first-child,.setout-residual-table td:first-child{text-align:left}.setout-residual-table th{color:#8fb5d2;text-transform:uppercase}.setout-result-warning{margin-top:8px;color:#f1c56f;font-size:10px}.setout-transform-code{margin-top:10px;padding:10px;border:1px solid #294357;border-radius:5px;background:#08131c;color:#8ed6ff;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow:auto}
.setout-save-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto auto auto;gap:10px;align-items:end}.setout-lock{height:35px!important;display:flex!important;grid-template-columns:16px auto!important;align-items:center!important;gap:7px!important;padding:0 10px;border:1px solid #355267;border-radius:5px;background:#0b1723;white-space:nowrap}.setout-lock input{width:14px;height:14px;margin:0}
.setout-context{display:grid;gap:14px;position:sticky;top:0}.setout-context section{padding:0}.setout-context h3{margin:0;padding:12px 14px;border-bottom:1px solid #294357;color:#dceaf3;font-size:10px}.setout-context p{margin:0;padding:12px 14px;color:#8da6b8;font-size:10px;line-height:1.5}.setout-context .setout-btn{margin:0 14px 14px}.setout-status-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid rgba(41,67,87,.6)}.setout-status-list>div:last-child{border-bottom:0}.setout-status-list strong{color:#e9f3f9;font-size:10px;text-align:right}.setout-saved{min-height:150px}.setout-registration{padding:11px 14px;border-bottom:1px solid #294357}.setout-registration:last-child{border-bottom:0}.setout-registration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.setout-registration h4{margin:0;color:#eef6fb;font-size:11px}.setout-registration p{padding:4px 0 0;font-size:9px}.setout-registration-actions{display:flex;gap:5px;margin-top:8px}.setout-registration-actions .setout-btn{height:27px;margin:0;padding:0 9px;font-size:8px}.setout-registration .badge{padding:3px 6px;border-radius:99px;background:#17334a;color:#9dc8e4;font-size:8px}.setout-registration .badge.locked{background:rgba(59,204,151,.12);color:#69d5ab}.setout-registration .badge.stale{background:rgba(241,170,46,.12);color:#f1c56f}
@media(max-width:1180px){.setout-layout{grid-template-columns:minmax(0,1fr) 300px}.setout-coordinate-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.setout-save-grid{grid-template-columns:1fr 1fr auto}.setout-save-grid .setout-lock{grid-column:1/2}}
@media(max-width:900px){body.v17-ar-site-setout-constrained #view-ar-site-setout{padding:16px!important}.setout-layout{grid-template-columns:1fr}.setout-context{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.setout-context .setout-saved{grid-row:span 2}.setout-workflow{grid-template-columns:repeat(3,1fr)}.setout-workflow button:nth-child(3){border-right:0}.setout-workflow button:nth-child(-n+3){border-bottom:1px solid #294357}.setout-facts{grid-template-columns:repeat(2,1fr)}.setout-facts>div:nth-child(3n){border-right:1px solid #294357}.setout-facts>div:nth-child(2n){border-right:0}.setout-facts>div:nth-last-child(-n+3){border-bottom:1px solid #294357}.setout-facts>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:640px){.setout-page-head,.setout-card-head{display:grid}.setout-source-pill{max-width:100%}.setout-workflow button{font-size:8px}.setout-grid-row,.setout-coordinate-meta,.setout-save-grid,.setout-context{grid-template-columns:1fr}.setout-result-grid{grid-template-columns:repeat(2,1fr)}.setout-result-grid>div:nth-child(2){border-right:0}.setout-result-grid>div:nth-child(-n+2){border-bottom:1px solid #294357}.setout-point-actions{flex-wrap:wrap}}

/* V17.7.4.395 — Phase 1 full data workspace + true 360 px right context drawer.
   The main surface is intentionally ready to become the Phase 2 model viewport. */
body.v17-ar-site-setout-constrained .content{
  position:fixed!important;
  inset:45px 0 45px 0!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#0b1723!important;
}
body.v17-ar-site-setout-constrained #view-ar-site-setout{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  margin:0!important;
  padding:20px 24px 28px!important;
  overflow:auto!important;
  transition:left .18s ease,right .18s ease!important;
}
body.v17-ar-site-setout-constrained.v17-left-open #view-ar-site-setout{left:360px!important}
body.v17-ar-site-setout-constrained.v17-right-open #view-ar-site-setout{right:360px!important}
.setout-layout{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.setout-main{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  gap:14px!important;
}
.setout-card{width:100%!important;min-width:0!important}
.setout-points-table-wrap{width:100%!important;max-width:100%!important;overflow:auto!important}
.setout-points-table{width:100%!important;min-width:950px!important}

body.v17-ar-site-setout-constrained .setout-context{
  position:fixed!important;
  top:45px!important;
  right:0!important;
  bottom:45px!important;
  left:auto!important;
  width:360px!important;
  min-width:360px!important;
  max-width:360px!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  color:#eaf3fa!important;
  background:#0b1723!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:translateX(100%)!important;
  transition:transform .18s ease!important;
  z-index:3000!important;
}
body.v17-ar-site-setout-constrained.v17-right-open .setout-context{transform:translateX(0)!important}
body.v17-ar-site-setout-constrained .setout-context section{
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  background:#0b1723!important;
  overflow:visible!important;
}
body.v17-ar-site-setout-constrained .setout-context .setout-saved{min-height:150px!important}
body.v17-ar-site-setout-constrained .setout-context h3{
  margin:0!important;
  padding:14px 15px!important;
  color:#eef5fb!important;
  background:#0b1723!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  font:700 14px/18px Inter,Segoe UI,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
.setout-context-fields{display:grid;gap:10px;padding:12px 15px 15px;background:#0b1723}
.setout-context-fields label{display:grid;gap:5px;color:#91a8ba;font:700 9px/1.2 Inter,Segoe UI,Arial,sans-serif;text-transform:uppercase}
.setout-context-fields input,.setout-context-fields select{
  width:100%;height:35px;min-width:0;padding:0 10px;border:1px solid #355267;border-radius:5px;
  outline:0;background:#102535;color:#eef5fb;font:600 11px/1 Inter,Segoe UI,Arial,sans-serif;
}
.setout-context-fields input:focus,.setout-context-fields select:focus{border-color:#159be9;box-shadow:0 0 0 2px rgba(21,155,233,.12)}
body.v17-ar-site-setout-constrained .setout-context p{padding:12px 15px!important}
body.v17-ar-site-setout-constrained .setout-context .setout-btn{margin:0 15px 15px!important}

html body.v17-ar-site-setout-constrained > button.v17-edge-handle.v17-right-handle{
  display:grid!important;
  place-items:center!important;
  position:fixed!important;
  top:50%!important;
  right:0!important;
  transform:translateY(-50%)!important;
  width:27px!important;
  min-width:27px!important;
  max-width:27px!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#dce8f1!important;
  box-shadow:none!important;
  z-index:3001!important;
}
html body.v17-ar-site-setout-constrained.v17-right-open > button.v17-edge-handle.v17-right-handle{
  right:calc(360px - 27px)!important;
}

@media(max-width:1100px){
  body.v17-ar-site-setout-constrained #view-ar-site-setout{padding:16px!important}
}
@media(max-width:640px){
  body.v17-ar-site-setout-constrained .setout-context{width:min(360px,100vw)!important;min-width:min(360px,100vw)!important;max-width:100vw!important}
  html body.v17-ar-site-setout-constrained.v17-right-open > button.v17-edge-handle.v17-right-handle{right:calc(min(360px,100vw) - 27px)!important}
}

/* V17.7.4.396 — fixed Available Viewport contract.
   Drawer visibility never changes the workspace rectangle. */
body.v17-ar-site-setout-constrained #view-ar-site-setout,
body.v17-ar-site-setout-constrained.v17-left-open #view-ar-site-setout,
body.v17-ar-site-setout-constrained.v17-right-open #view-ar-site-setout,
body.v17-ar-site-setout-constrained.v17-left-open.v17-right-open #view-ar-site-setout{
  top:0!important;
  right:360px!important;
  bottom:0!important;
  left:360px!important;
  width:auto!important;
  height:auto!important;
}
@media(max-width:1100px){
  body.v17-ar-site-setout-constrained #view-ar-site-setout,
  body.v17-ar-site-setout-constrained.v17-left-open #view-ar-site-setout,
  body.v17-ar-site-setout-constrained.v17-right-open #view-ar-site-setout,
  body.v17-ar-site-setout-constrained.v17-left-open.v17-right-open #view-ar-site-setout{
    right:360px!important;
    left:360px!important;
  }
}
