



:root{
  --tt-tool-gap:24px;
  --tt-tool-max-h:calc(100dvh - var(--tt-tool-gap));
  --tt-analysis-button-min-h:44px;
}




.btn-soft{
  background:#fff;
  color:var(--ink,#2b2f38);
  border:1.5px solid #dfe4ee;
  box-shadow:none;
}
.btn-soft:hover:not(:disabled):not([aria-disabled="true"]){
  background:#f8faff;
  border-color:#c6d0e5;
  color:var(--indigo,#1e2a78);
}
.analysis-panel>.btn{
  position:relative;
  width:100%;
  min-width:0;
  min-height:var(--tt-analysis-button-min-h);
  padding:10px 14px;
  margin-top:9px!important;
  gap:8px;
  white-space:normal;
  overflow:visible;
  text-align:center;
  line-height:1.28;
  overflow-wrap:anywhere;
}
.analysis-panel>.btn>i,
.analysis-panel>.btn>[class$="-dot"],
.analysis-panel>.btn>[class*="launch-dot"]{flex:0 0 auto;}
.analysis-panel>.btn>span:not(.service-state-badge):not(.plan-lock-badge){min-width:0;}
.analysis-panel>.btn:disabled,
.analysis-panel>.btn.is-prerequisite-disabled{
  opacity:.52;
  cursor:not-allowed;
  box-shadow:none;
}
.analysis-panel>.btn:focus-visible,
.tt-window-managed :is(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(30,42,120,.28)!important;
  outline-offset:2px!important;
}


.analysis-panel>.btn.service-beta:not([aria-disabled="true"]),
.analysis-panel>.btn.service-early-access:not([aria-disabled="true"]){
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
}
.analysis-panel>.btn .service-state-badge,
.analysis-panel>.btn .plan-lock-badge{
  max-width:min(116px,46%);
  overflow:hidden;
  text-overflow:ellipsis;
}
.analysis-summary{overflow-wrap:anywhere;}





dialog.engineering-window .button{
  appearance:none;
  -webkit-appearance:none;
  min-height:38px;
  margin:0;
  padding:8px 12px;
  border:1px solid #d9e0ea;
  border-radius:10px;
  background:#fff;
  color:#344054;
  font:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  cursor:pointer;
  white-space:normal;
  text-align:center;
  box-sizing:border-box;
}
dialog.engineering-window .button:hover:not(:disabled){background:#f7f9fc;border-color:#c7d1e0;}
dialog.engineering-window .button.primary{background:#1e2a78;color:#fff;border-color:#1e2a78;}
dialog.engineering-window .button.primary:hover:not(:disabled){background:#16205e;border-color:#16205e;}
dialog.engineering-window .button.secondary{background:#edf1fb;color:#1e2a78;border-color:#d9e0f3;}
dialog.engineering-window .button.ghost{background:#fff;color:#566176;border-color:#d8dee8;}
dialog.engineering-window .button.small{min-height:34px;padding:7px 10px;font-size:11px;}
dialog.engineering-window .button:disabled{opacity:.5;cursor:not-allowed;}




.network-health-dialog,
.requirements-dialog,
.site-survey-dialog,
dialog.engineering-window,
.tt-tool-dialog{
  box-sizing:border-box!important;
  margin:auto!important;
  max-width:calc(100vw - var(--tt-tool-gap))!important;
  max-height:var(--tt-tool-max-h)!important;
}
.network-health-dialog{width:min(920px,calc(100vw - var(--tt-tool-gap)))!important;}
.requirements-dialog{width:min(930px,calc(100vw - var(--tt-tool-gap)))!important;}
.site-survey-dialog{width:min(980px,calc(100vw - var(--tt-tool-gap)))!important;}

.network-health-card,
.requirements-card,
.site-survey-shell{
  box-sizing:border-box;
  width:100%!important;
  min-width:0;
  min-height:0;
  max-height:var(--tt-tool-max-h)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.network-health-scroll,
.requirements-body,
.site-survey-body{
  min-width:0!important;
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain;
}



dialog.engineering-window{
  width:min(1040px,calc(100vw - var(--tt-tool-gap)))!important;
  height:auto!important;
  overflow:visible!important;
}
dialog.engineering-window>:is(
  .spectrum-card,.commissioning-shell,.appcap-shell,.cloud-collab-shell,
  .outdoor-gis-shell,.multi-radio-shell,.ai-copilot-card
){
  width:100%!important;
  min-width:0!important;
  height:min(720px,var(--tt-tool-max-h))!important;
  min-height:0!important;
  max-height:var(--tt-tool-max-h)!important;
  border-radius:18px!important;
}
dialog.engineering-window :is(
  .spectrum-body,.commissioning-body,.appcap-body,.cloud-collab-body,
  .outdoor-gis-body,.multi-radio-body,.ai-copilot-body,
  .ai-copilot-compose,.ai-copilot-result
){min-width:0!important;min-height:0!important;}
dialog.engineering-window :is(table,img,svg,canvas){max-width:100%;}



@media (max-width:900px){
  :root{--tt-tool-gap:16px;}
  .site-survey-grid{grid-template-columns:1fr!important;}
  .network-health-kpis,.network-health-components{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .network-health-ap-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .outdoor-gis-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .multi-radio-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}



@media (max-width:760px){
  :root{--tt-tool-gap:8px;--tt-analysis-button-min-h:46px;}
  .analysis-panel>.btn{padding:11px 12px;font-size:.88em;}
  .analysis-panel>.btn .service-state-badge,
  .analysis-panel>.btn .plan-lock-badge{right:-3px;top:-6px;max-width:44%;}

  .network-health-dialog,
  .requirements-dialog,
  .site-survey-dialog,
  dialog.engineering-window,
  .tt-tool-dialog{
    width:calc(100vw - 8px)!important;
    max-width:calc(100vw - 8px)!important;
    height:auto!important;
    max-height:calc(100dvh - 8px)!important;
    margin:auto!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  }
  .network-health-card,
  .requirements-card,
  .site-survey-shell,
  dialog.engineering-window>:is(
    .spectrum-card,.commissioning-shell,.appcap-shell,.cloud-collab-shell,
    .outdoor-gis-shell,.multi-radio-shell,.ai-copilot-card
  ){
    width:100%!important;
    height:calc(100dvh - 8px)!important;
    max-height:calc(100dvh - 8px)!important;
    border-radius:14px!important;
  }
  dialog.engineering-window :is(
    .spectrum-head,.commissioning-head,.appcap-head,.cloud-collab-head,
    .outdoor-gis-head,.multi-radio-head,.ai-copilot-head,
    .requirements-head,.site-survey-head,.network-health-head
  ){cursor:default!important;touch-action:auto!important;}
  dialog.engineering-window .button{min-height:42px;}
}

@media (max-width:520px){
  .network-health-overview{grid-template-columns:1fr!important;}
  .network-health-kpis,.network-health-components,.network-health-ap-grid,
  .site-survey-summary,.req-result-kpis,.req-criterion-inputs{
    grid-template-columns:1fr!important;
  }
  .network-health-actions,.requirements-actions,.site-survey-actions,
  .outdoor-gis-footer>div:last-child,.multi-radio-footer>div:last-child{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  .network-health-actions button,.requirements-actions button,.site-survey-actions button,
  .outdoor-gis-footer .button,.multi-radio-footer .button{width:100%!important;justify-content:center;}
  .outdoor-gis-footer,.multi-radio-footer{align-items:stretch!important;flex-direction:column!important;}
}






#networkHealthDialog,
#requirementsComplianceDialog,
#siteSurveyDialog,
#aiCopilotDialog{
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}

#networkHealthDialog>.network-health-card,
#requirementsComplianceDialog>.requirements-card,
#siteSurveyDialog>.site-survey-shell,
#aiCopilotDialog>.ai-copilot-card{
  position:relative;
  box-sizing:border-box;
  min-width:0;
  min-height:0;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
  border-radius:20px!important;
  box-shadow:0 28px 80px rgba(26,35,65,.28)!important;
  container-type:inline-size;
}
#networkHealthDialog>.network-health-card{
  width:min(940px,calc(100vw - 32px))!important;
  height:min(720px,calc(100dvh - 32px))!important;
}
#requirementsComplianceDialog>.requirements-card{
  width:min(940px,calc(100vw - 32px))!important;
  height:min(700px,calc(100dvh - 32px))!important;
}
#siteSurveyDialog>.site-survey-shell{
  width:min(1000px,calc(100vw - 32px))!important;
  height:min(720px,calc(100dvh - 32px))!important;
  background:#fff;
  border:1px solid #e3e8f1;
}
#aiCopilotDialog>.ai-copilot-card{
  width:min(1120px,calc(100vw - 32px))!important;
  height:min(780px,calc(100dvh - 32px))!important;
}




#networkHealthDialog>.network-health-card.is-user-positioned,
#requirementsComplianceDialog>.requirements-card.is-user-positioned,
#siteSurveyDialog>.site-survey-shell.is-user-positioned,
#aiCopilotDialog>.ai-copilot-card.is-user-positioned{
  max-width:calc(100vw - 16px)!important;
  max-height:calc(100dvh - 16px)!important;
}



#networkHealthDialog .network-health-head,
#requirementsComplianceDialog .requirements-head,
#siteSurveyDialog .site-survey-head,
#aiCopilotDialog .ai-copilot-head,
#aiCopilotDialog .ai-copilot-integrity{
  flex:0 0 auto;
}
#networkHealthDialog .network-health-scroll,
#requirementsComplianceDialog .requirements-body,
#siteSurveyDialog .site-survey-body,
#aiCopilotDialog .ai-copilot-body{
  flex:1 1 auto;
  min-height:0!important;
  min-width:0!important;
  overflow:auto!important;
}
#networkHealthDialog .network-health-actions,
#requirementsComplianceDialog .requirements-actions{
  flex:0 0 auto;
}



#aiCopilotDialog .ai-copilot-body{
  overflow:hidden!important;
}
#aiCopilotDialog .ai-copilot-compose,
#aiCopilotDialog .ai-copilot-result{
  min-height:0!important;
  min-width:0!important;
  overflow:auto!important;
}

@container (max-width:860px){
  #aiCopilotDialog .ai-copilot-body{
    grid-template-columns:1fr!important;
    overflow:auto!important;
  }
  #aiCopilotDialog .ai-copilot-compose,
  #aiCopilotDialog .ai-copilot-result{
    overflow:visible!important;
  }
  #aiCopilotDialog .ai-copilot-compose{
    border-right:0!important;
    border-bottom:1px solid #e5eaf1;
  }
  #aiCopilotDialog .ai-copilot-result{min-height:360px;}
}
@container (max-width:720px){
  #siteSurveyDialog .site-survey-grid{grid-template-columns:1fr!important;}
  #siteSurveyDialog .site-survey-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  #networkHealthDialog .network-health-overview{grid-template-columns:1fr!important;}
  #networkHealthDialog .network-health-kpis,
  #networkHealthDialog .network-health-components,
  #networkHealthDialog .network-health-ap-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  #requirementsComplianceDialog .req-profile-grid,
  #requirementsComplianceDialog .req-criterion{grid-template-columns:1fr!important;}
  #requirementsComplianceDialog .req-result-overview{grid-template-columns:auto minmax(0,1fr)!important;}
  #requirementsComplianceDialog .req-result-score{grid-column:1/-1;text-align:left!important;}

  #aiCopilotDialog .ai-copilot-grid,
  #aiCopilotDialog .ai-copilot-evidence-list,
  #aiCopilotDialog .ai-copilot-integrity{grid-template-columns:1fr!important;}
}
@container (max-width:520px){
  #networkHealthDialog .network-health-kpis,
  #networkHealthDialog .network-health-components,
  #networkHealthDialog .network-health-ap-grid,
  #siteSurveyDialog .site-survey-summary,
  #requirementsComplianceDialog .req-result-kpis,
  #requirementsComplianceDialog .req-criterion-inputs{grid-template-columns:1fr!important;}
  #aiCopilotDialog .ai-copilot-result-head{flex-direction:column!important;}
  #aiCopilotDialog .ai-copilot-result-actions{width:100%;}
  #aiCopilotDialog .ai-copilot-result-actions button{flex:1;}
}








@container tt-engineering-window (max-width:900px){
  .scenario-layout{grid-template-columns:1fr!important;}
  .scenario-right{min-height:320px;}

  .spectrum-import-panel{grid-template-columns:1fr 1fr!important;}
  .spectrum-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .spectrum-location-grid{grid-template-columns:1fr!important;}

  .appcap-grid-4{grid-template-columns:1fr 1fr!important;}
  .appcap-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .appcap-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .appcap-recommendations{grid-template-columns:1fr!important;}

  .commissioning-kpis,.commissioning-settings-grid,
  .commissioning-form-grid,.commissioning-planned-grid,.commissioning-compare-mini{
    grid-template-columns:1fr 1fr!important;
  }

  .outdoor-gis-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .outdoor-gis-grid.cols-4,.outdoor-gis-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .outdoor-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;}

  .multi-radio-summary,.multi-radio-grid,.multi-radio-node-grid,.multi-radio-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@container tt-engineering-window (max-width:800px){
  .channel-opt-overview,.ap-placement-overview{grid-template-columns:1fr!important;}
  .channel-opt-kpis,.ap-placement-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .channel-opt-ap>summary,.ap-placement-ap>summary{grid-template-columns:auto minmax(0,1fr) auto auto!important;}
  .channel-opt-status,.ap-placement-status{display:none!important;}

  .prof-report-form-grid,.rpt-floor-body,.rpt-floor-visuals,.rpt-opt-grid{grid-template-columns:1fr!important;}
  .prof-report-field.wide{grid-column:auto!important;}
  .rpt-meta-grid,.rpt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  .commissioning-records-layout{display:block!important;}
  .commissioning-record-list{max-height:38vh;margin-bottom:10px;}
  .commissioning-list-filter{grid-template-columns:1fr!important;}
  .commissioning-section-head,.commissioning-editor-head,.commissioning-card-head,
  .commissioning-photo-row,.commissioning-capture-row,.commissioning-comparison-head{
    align-items:flex-start;flex-direction:column!important;
  }
  .commissioning-editor-status{width:100%;}
}

@container tt-engineering-window (max-width:650px){
  .scenario-capture-grid,.scenario-compare-grid,.scenario-result-grid,.scenario-recommendation{
    grid-template-columns:1fr!important;
  }
  .scenario-row{grid-template-columns:30px minmax(0,1fr)!important;}
  .scenario-row-actions{grid-column:1/-1;justify-content:flex-end;}

  .spectrum-import-panel,.spectrum-kpis{grid-template-columns:1fr!important;}
  .spectrum-foot{flex-wrap:wrap;}
  .spectrum-foot>div{width:100%;margin:0;}

  .appcap-grid-4,.appcap-grid-5{grid-template-columns:1fr 1fr!important;}
  .appcap-actions{flex-wrap:wrap;}
  .appcap-actions .appcap-sample{width:100%;margin:0;}

  .outdoor-gis-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .outdoor-gis-grid.cols-4,.outdoor-gis-grid.cols-3,.outdoor-kpis,.outdoor-gis-stats{
    grid-template-columns:1fr!important;
  }
  .outdoor-gis-section-head,.outdoor-map-head,.outdoor-map-foot{align-items:flex-start;flex-direction:column!important;}
  .outdoor-actions{justify-content:flex-start;width:100%;}

  .multi-radio-grid,.multi-radio-node-grid,.multi-radio-result-grid{grid-template-columns:1fr!important;}
  .multi-radio-topbar,.multi-radio-section-head{align-items:stretch;flex-direction:column!important;}
  .multi-radio-topbar label{min-width:0;width:100%;}

  .cloud-project-list{grid-template-columns:1fr!important;}
  .cloud-project-stats{grid-template-columns:1fr 1fr!important;}
  .cloud-field.col-3,.cloud-field.col-4,.cloud-field.col-5,.cloud-field.col-6,
  .cloud-field.col-8,.cloud-field.col-9{grid-column:1/-1!important;}
  .cloud-row,.cloud-activity{grid-template-columns:1fr!important;}
  .cloud-row-actions{justify-content:flex-start!important;}
  .cloud-collab-foot{align-items:flex-start;flex-direction:column!important;}
  .cloud-compare-grid{grid-template-columns:minmax(82px,.7fr) minmax(110px,1fr) minmax(110px,1fr)!important;}

  .channel-opt-ap>summary,.ap-placement-ap>summary{grid-template-columns:auto minmax(0,1fr) auto!important;}
  .channel-opt-details,.ap-placement-details{grid-template-columns:1fr!important;}
}

@container tt-engineering-window (max-width:520px){
  .appcap-grid-4,.appcap-grid-5,.appcap-summary,
  .commissioning-kpis,.commissioning-settings-grid,.commissioning-check-grid,
  .commissioning-form-grid,.commissioning-planned-grid,.commissioning-compare-mini{
    grid-template-columns:1fr!important;
  }
  .appcap-qos-config .appcap-span-2{grid-column:auto!important;}
  .prof-report-footer{align-items:stretch;flex-direction:column!important;}
  .prof-report-footer-actions{display:grid;grid-template-columns:1fr!important;width:100%;}
  .prof-report-footer-actions button,.prof-report-done{width:100%;}
  .prof-report-done{margin-left:0;}
}



@media (max-width:760px){
  #networkHealthDialog,
  #requirementsComplianceDialog,
  #siteSurveyDialog,
  #aiCopilotDialog{
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
  }
  #networkHealthDialog>.network-health-card,
  #requirementsComplianceDialog>.requirements-card,
  #siteSurveyDialog>.site-survey-shell,
  #aiCopilotDialog>.ai-copilot-card{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    inset:auto 0 0 0!important;
    transform:none!important;
    width:100vw!important;
    height:min(94dvh,920px)!important;
    max-width:100vw!important;
    max-height:94dvh!important;
    border-radius:20px 20px 0 0!important;
  }
  #networkHealthDialog .network-health-head,
  #requirementsComplianceDialog .requirements-head,
  #siteSurveyDialog .site-survey-head,
  #aiCopilotDialog .ai-copilot-head{
    cursor:default!important;
    touch-action:auto!important;
  }
  #aiCopilotDialog .ai-copilot-body{grid-template-columns:1fr!important;overflow:auto!important;}
  #aiCopilotDialog .ai-copilot-compose,
  #aiCopilotDialog .ai-copilot-result{overflow:visible!important;}
}




#aiCopilotDialog .ai-copilot-answer{white-space:normal!important;}
#aiCopilotDialog .ai-copilot-answer p{margin:0 0 10px;line-height:1.65;}
#aiCopilotDialog .ai-copilot-answer h3,
#aiCopilotDialog .ai-copilot-answer h4{
  margin:14px 0 7px;
  color:#26346f;
  line-height:1.3;
}
#aiCopilotDialog .ai-copilot-answer h3{font-size:1rem;}
#aiCopilotDialog .ai-copilot-answer h4{font-size:.9rem;}
#aiCopilotDialog .ai-copilot-answer ul,
#aiCopilotDialog .ai-copilot-answer ol{margin:7px 0 12px 22px;padding:0;}
#aiCopilotDialog .ai-copilot-answer li{margin:4px 0;line-height:1.55;}
#aiCopilotDialog .ai-copilot-answer code{
  padding:2px 5px;
  border-radius:5px;
  background:#f1f3f8;
  color:#3f4d72;
  font-size:.92em;
}
#aiCopilotDialog .ai-md-table{
  display:table;
  width:100%;
  margin:10px 0 14px;
  border:1px solid #e1e6ef;
  border-radius:10px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  background:#fff;
}
#aiCopilotDialog .ai-md-tr{display:table-row;}
#aiCopilotDialog .ai-md-td{
  display:table-cell;
  padding:8px 9px;
  border-right:1px solid #e8ecf2;
  border-bottom:1px solid #e8ecf2;
  vertical-align:top;
  line-height:1.5;
  overflow-wrap:anywhere;
}
#aiCopilotDialog .ai-md-tr.is-head .ai-md-td{background:#f6f8fc;color:#33416e;font-weight:800;}
#aiCopilotDialog .ai-md-tr:last-child .ai-md-td{border-bottom:0;}
#aiCopilotDialog .ai-md-td:last-child{border-right:0;}
@container (max-width:620px){
  #aiCopilotDialog .ai-md-table{display:block;overflow:auto;}
  #aiCopilotDialog .ai-md-tr{display:grid;grid-template-columns:1fr;}
  #aiCopilotDialog .ai-md-td{display:block;border-right:0;}
}
