.brand .company-logo,.mobile-brand .company-logo,.mobile-company .company-logo{display:block;width:100%;height:auto;max-width:240px;object-fit:contain}
.nav .brand,.sidebar .brand,.welcome .brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:0 5px;color:white}
.brand .product-name,.mobile-brand .product-name,.mobile-company .product-name{display:block;font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;line-height:1.2;margin:0;color:inherit}
.welcome .brand{width:290px;max-width:100%}
.welcome .brand .company-logo{max-width:280px}
.mobile-brand{flex-direction:column;align-items:flex-start;gap:10px}
.activation-page .brand,.install-page .brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:250px;max-width:100%}
@media(max-width:850px){
 .nav .brand{width:205px;max-width:70%;gap:7px}
 .nav .brand .product-name{font-size:9px;letter-spacing:2px}
 .drawing-page .mobilebar>a.mobile-company{display:flex;flex-direction:column;justify-content:center;gap:5px;width:205px;max-width:65%;min-height:44px}
 .mobile-company .product-name{font-size:8px;letter-spacing:2px}
 .mobile-brand .company-logo{max-width:270px}
 .install-page .brand{width:205px}
}


/* NBS / FIELD SYSTEM — shared visual language, no workflow overrides. */
:root{--nbs-night:#0b202a;--nbs-panel:#153440;--nbs-yellow:#ffda00;--nbs-paper:#f0f3f4;--nbs-line:#cbd6db;--ink:#112d39;--muted:#526b77;--line:#d3dde1;--bg:#edf1f3;--teal:#087f78}
body{background:var(--nbs-paper);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body h1,body h2,body h3{font-weight:800;letter-spacing:-.035em}body h1{line-height:1.12}body .eyebrow{font-weight:800;letter-spacing:.16em;color:#526b77}
body button,body .primary,body .tool-open{font-weight:750;border-radius:6px}body input,body select,body textarea{border-color:#b9c9d0;border-radius:6px;color:#112d39}body input::placeholder,body textarea::placeholder{color:#607681}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #168eaf;outline-offset:3px}
body .nav,body .sidebar{background:linear-gradient(160deg,#163641 0%,#0b202a 65%);border-right:1px solid #29434d;color:#c7d8df}
body .brand .product-name{color:#ffda00;letter-spacing:.26em;font-weight:800}
body .nav a.active,body .drawingitem.active{background:#ffda00;color:#102c36;border-radius:5px;box-shadow:none;border-left-color:#ffda00}
body .drawingitem.active small{color:#314c58}body .nav a:not(.brand):hover,body .drawingitem:not(.active):hover{background:#264b58;color:white}
body .sidebar .projectcard{background:#183944;border-color:#3a5561;border-radius:6px}body .sidebar :is(input,select){background:#102c37;border-color:#49606b;color:#fff}body .sidebar input::placeholder{color:#9eb5bf}
body .catalog-purpose button{background:#183a46;color:#d6e5eb;border-color:#47606a;border-radius:5px}body .catalog-purpose button[aria-pressed=true]{background:#ffda00;border-color:#ffda00;color:#102c36}
body .mobilebar,body .mobile-brand{background:#0b202a;border-bottom:3px solid #ffda00}body .mobilebar button{background:#244551;color:#fff;border-color:#4a6571}
body .mobile-navigation{background:#0b202a;border-top:1px solid #3b535e;box-shadow:0 -4px 18px #0b202a14}body .mobile-navigation a{color:#c6d7df;border-radius:5px}body .mobile-navigation a[aria-current=page]{background:#ffda00;color:#102c36}
body .card,body .tool-card,body .pointpanel,body .drawingpanel{border-color:#d0dadf;border-radius:8px;box-shadow:0 3px 12px #0b202a06}
body .stats article{background:#112d39;border-color:#112d39;border-radius:7px;color:#fff;position:relative;overflow:hidden}body .stats article:before{content:"";display:block;width:28px;height:3px;background:#ffda00;margin-bottom:14px}body .stats article strong{font-size:38px;font-weight:800;letter-spacing:-.05em;color:#fff;font-variant-numeric:tabular-nums}body .stats article small,body .stats article span{color:#bcd0d9}body .stats .green strong{color:#69dfad}body .stats .red strong{color:#ffa995}
body.overview-page main>header{background:#112d39;color:white;border-radius:8px;padding:24px;border-left:4px solid #ffda00}body.overview-page main>header :is(.eyebrow,.muted){color:#bdd0d9}body.overview-page main>header>.primary{background:#ffda00;color:#102c36}
body .sectionheading h2,body .paneltitle h2{font-weight:800}body th{background:#e6edef;color:#36515f;font-weight:750}body .tool-icon{background:#ffda00;color:#102c36;border-radius:5px}body .tool-open{background:#112d39;color:#fff}body .tool-open:hover{background:#234957}body .tools-intro{background:#112d39;color:white;border-color:#112d39;border-left:4px solid #ffda00}body .tools-intro :is(p,small){color:#d0e0e7}
body.drawing-page main>header{border-bottom:2px solid #162f3b;padding-bottom:7px}body.drawing-page .personal-progress{background:transparent;border:0;border-radius:0;color:#405d69;padding-left:0}body.drawing-page .metrics{background:#112d39;border:0;border-radius:6px;color:#fff}body.drawing-page .metrics div>span:last-child{color:#c6d8e0}body.drawing-page .metrics .done,body.drawing-page .metrics #done{color:#4ade80}body.drawing-page .metrics .progressbox{color:#c6d8e0}
body.drawing-page .toolbar{background:#112d39;border-color:#304e5b;color:#fff}body.drawing-page .toolbar button,body.drawing-page .toolbar select{background:#23434f;border-color:#4b6470;color:#edf5f8}body.drawing-page .purpose-buttons{background:#0a222d;border-radius:5px}body.drawing-page .toolbar .purpose-buttons button{background:transparent;color:#d4e3e9;border-color:transparent;box-shadow:none}body.drawing-page .toolbar .purpose-buttons button[aria-pressed=true]{background:#ffda00;color:#102c36;border-color:#ffda00;box-shadow:none}body.drawing-page #montagePDF{color:#ffdf35}body.drawing-page #findPoint{background:#e0e9ed;color:#183c4b;border-radius:0;margin:0;border:0;border-bottom:1px solid #bdcfd7}body.drawing-page #viewport{background:#d7e1e6}body.drawing-page .drawinghint{background:#e5ecef;color:#3e5a67}
body.drawing-page .paneltitle{border-bottom:2px solid #183b48;padding-bottom:12px}body.drawing-page .pointrow{font-weight:750}body.drawing-page .pointrow.active{background:#fff6bf;color:#132e39}body.drawing-page .marker{box-shadow:0 1px 3px #102c3655}body.drawing-page .marker.selected{outline-color:#007cad}
body:has(#modelCanvas)>header,body:has(#listCamera)>header{background:#0b202a;border-bottom:3px solid #ffda00}body:has(#modelCanvas) .filters{background:#112d39;border-color:#112d39;color:#fff}body:has(#modelCanvas) #materials button{background:#23434f;color:#dbe9ef;border-color:#4b6470}body:has(#modelCanvas) #materials button[aria-pressed=true]{background:#ffda00;color:#102c36;border-color:#ffda00}body .viewer-toolbar{background:#112d39;color:#fff}body .viewer-toolbar button{background:#23434f;color:#fff;border-color:#4b6470}body #geometryStatus{background:#112d39;color:#d1e3eb}body .model-navigation a[aria-current=page]{background:#ffda00;color:#102c36;border-color:#ffda00}
body .welcome{background:radial-gradient(ellipse at 100% 40%,#28535e,transparent 65%),#0b202a;border-bottom:5px solid #ffda00}body .welcome h2{font-weight:850;letter-spacing:-.045em}body .welcome .eyebrow{color:#ffda00}body .login-card>h1{font-weight:850;font-size:36px}body .login-card form>button{background:#ffda00;color:#102c36;box-shadow:0 3px 0 #b9a000}body .login-card form>button:hover{background:#ffe744}
body:not(.drawing-page):not(.overview-page) main>header h1{border-left:4px solid #ffda00;padding-left:13px}body section:not(.drawing-purpose).tools-intro h2{color:white}
@media(max-width:850px){body.overview-page main>header{padding:17px}body .stats article strong{font-size:30px}body.drawing-page main>header{border-bottom:0;padding-bottom:0}body.drawing-page .metrics{min-height:36px}body .mobile-navigation a{min-height:44px}body .toolbar button,body .viewer-toolbar button{min-height:44px}}
@media(prefers-reduced-motion:no-preference){body :is(button,.tool-open,.drawingitem){transition:background-color .14s ease,color .14s ease,border-color .14s ease}}
@media print{body{background:white;color:black}body .stats article{background:white;color:black;border:1px solid #aaa}body .stats article :is(strong,small,span){color:black}}
/* Readable status tiles across existing overview variants. */
body.overview-page .stats article,body.overview-page .stats article.green{background:#112d39;color:#fff}
body.overview-page .stats article :is(small,span){color:#c7dae3}
body.overview-page .stats article.green strong{color:#70dfb3}
body .project-destinations{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 20px}body .project-destinations a{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#ffda00;color:#102c36;border:1px solid #d3b600;border-radius:7px;padding:18px 20px;font-size:21px;font-weight:800;letter-spacing:-.03em}body .project-destinations a:last-child{background:#112d39;border-color:#112d39;color:#fff}body .project-destinations span{font-size:12px;font-weight:600;letter-spacing:0}body .project-destinations a:hover{filter:brightness(.95)}
body.drawing-page .document-navigation,body:has(#modelCanvas) .model-navigation{display:none}body:has(#modelCanvas)>header{grid-template-columns:1fr auto}
body.agent-page main{max-width:960px}body.agent-page main>header{padding:26px;background:#112d39;color:white;border-radius:8px;border-top:4px solid #ffda00}body.agent-page main>header small{color:#ffda00;font-weight:800;letter-spacing:.15em}body.agent-page main>header a{color:#ffda00}body.agent-page textarea{width:100%;font:inherit;padding:12px}body.agent-page #sendTicket{background:#ffda00;color:#102c36;margin-top:18px}body .agent-ticket{padding:18px 0;border-top:1px solid #ccd9df}body .agent-ticket p{white-space:pre-wrap;overflow-wrap:anywhere}body .agent-ticket select{display:block;width:100%;padding:10px}body .agent-ticket h3{margin:8px 0}
@media(max-width:850px){body .mobile-navigation.with-hms{grid-template-columns:repeat(3,minmax(0,1fr))}body .mobile-navigation.with-hms a{font-size:11px}body .project-destinations{gap:8px;margin:10px 0 16px}body .project-destinations a{padding:15px 12px;font-size:18px;flex-direction:column;align-items:flex-start;gap:5px}body .project-destinations span{font-size:10px}body.drawing-page .toolbar .purpose-buttons button{padding:7px 6px;font-size:12px}body.agent-page main>header{padding:18px}}
body.drawing-page .beam-marker.issue{background:#dc2626!important;color:#fff}body.drawing-page .metrics #issues{color:#f87171}body.drawing-page .metrics #pending{color:#facc15}
@media(max-width:850px){body.drawing-page .metrics{gap:4px;padding:4px!important;flex-wrap:wrap}body.drawing-page .metrics>div{min-width:0;flex:1}body.drawing-page .metrics div>span:last-child{font-size:9px}}
body:has(.login-card) main{flex-direction:column;gap:18px}body:has(.login-card) main>.offlineProjectLink{order:2;max-width:370px;width:100%;font-size:12px}body:has(.login-card) main>.login-card{order:1}


/* Keep the overview menu outside its scrolling content on mobile Safari. */
@media(max-width:850px){
 body.overview-page{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
 body.overview-page>.nav,body.overview-page>.mobile-brand{flex-shrink:0}
 body.overview-page>main{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior-y:contain;margin:0;width:100%;padding-bottom:24px;-webkit-overflow-scrolling:touch}
 body.overview-page>.mobile-navigation{position:relative;inset:auto;flex:0 0 auto;width:100%;margin-top:0}
 body.overview-page>main .tablewrap{max-height:none;overflow:visible}
}
.app-copyright{margin:24px 0 12px;color:#526b76;font-size:12px;text-align:center}
.guest-notice{padding:8px 12px;background:#fff3bf;color:#17333f;font-size:13px;border-radius:8px;margin-bottom:8px}.guest-notice a{margin-left:12px;text-decoration:underline}
.guest-view a[href^="/tools"],.guest-view a[href^="/account"],.guest-view a[href^="/users"],.guest-view a[href^="/offline"],.guest-view .report-menu{display:none!important}

.guest-work #archiveDetails,.guest-work #restoreDetails,.guest-work #renameProject{display:none!important}
.guest-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.guest-notice a{padding:6px 8px;white-space:nowrap}

body.agent-page main>header{margin-bottom:16px}body.agent-page #monitorPanel summary{cursor:pointer;font-weight:700}

/* Keep help text in its own scroll area above the mobile menu, including Safari's moving toolbar. */
@media(max-width:850px){
 body.agent-page{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top) 0 0}
 body.agent-page>main{flex:1 1 auto;min-height:0;width:100%;max-width:none;overflow:auto;overscroll-behavior-y:contain;margin:0;padding:20px 16px 24px;-webkit-overflow-scrolling:touch;scroll-padding-block:20px}
 body.agent-page>.mobile-navigation{position:relative;inset:auto;flex:0 0 auto;width:100%;margin:0}
}

.project-heading-picker{position:relative;display:flex;align-items:center;gap:16px;min-height:48px}.project-heading-picker h1{margin:0!important;padding-right:10px;overflow-wrap:anywhere}.project-heading-picker>span{margin-left:auto;color:#ffda00;font-size:28px;line-height:1}.project-heading-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.project-heading-picker:focus-within{outline:3px solid #ffda00;outline-offset:6px;border-radius:4px}body.overview-page main>header>div:first-child{min-width:0;flex:1}body.overview-page:not(.setup-mode) #projects{display:none}

#resumeControl{cursor:pointer}#resumeControl:focus-visible{outline:3px solid #ffda00;outline-offset:3px}#resumeControl #resumeControlHint{display:block;margin-top:8px;color:#ffdf35;font-size:12px}

.drawing-search-options{margin:12px 0}.drawing-search-options>summary{cursor:pointer;padding:12px 0;color:#466672;font-size:14px}#backToPlans{min-height:48px;padding:10px 16px;margin:8px 0;background:#e6eff2;color:#153640;font-weight:750}#drawings{scroll-margin-top:16px}

body.overview-page .stats #mountedOverview>span{display:block;font-size:12px;line-height:1.4}
#mountedModelLink{display:inline-block;color:#ffda00;font-size:12px;margin-top:8px;padding:4px 0}
/* Equal project cards leave room for additional integrations. */
body.overview-page .stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:stretch}
body.overview-page .stats article{min-width:0;display:flex;flex-direction:column;grid-column:auto}
body.overview-page .stats article[hidden]{display:none}
body.overview-page .stats .integration-stat>span{display:block;font-size:12px;line-height:1.4}
body.overview-page .stats :is(#mountedModelLink,.integration-stat>a){display:flex;align-items:center;min-height:44px;color:#ffda00;margin-top:auto;font-size:13px}
body.overview-page .stats .integration-status{margin:8px 0}
body.overview-page .stats .integration-stat button:disabled{color:#c7dae3;cursor:not-allowed;min-height:44px;text-align:left;font-size:11px}
@media(max-width:850px){body.overview-page .stats{grid-template-columns:repeat(2,minmax(0,1fr))}body.overview-page .stats article{padding:12px}}

body .project-destinations :is(#ifcControlBeta,#openHours){background:#112d39;border-color:#112d39;color:#fff}
body .project-destinations #openHours{flex-direction:column;align-items:flex-start;gap:5px}
body .project-destinations #hoursSummary{margin-top:auto;padding-top:6px;color:#70dfb3}
#hoursDialog{width:min(760px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:20px;border:1px solid #b7cdd4;border-radius:14px;background:#f3f6f7;color:#172f3b}
#hoursDialog::backdrop{background:rgb(7 25 33 / 65%)}
.hours-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hours-heading button{min-height:44px}
body.overview-page #hoursDialog .hours-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}
body.overview-page #hoursDialog .hours-cards article{display:flex;grid-column:auto}
body.overview-page #hoursDialog .hours-cards article>span{display:block}
@media(max-width:600px){body.overview-page #hoursDialog .hours-cards{grid-template-columns:1fr}body.overview-page #hoursDialog .hours-cards article{padding:14px}#hoursDialog .stats article:before{margin-bottom:5px}#hoursDialog .stats strong{margin:5px 0}}

/* Keep the field start page focused on drawings and the model. */
@media(max-width:850px){
 body.overview-page .project-destinations{grid-template-columns:minmax(0,1fr);gap:10px}
 body.overview-page .project-destinations :is(#ifcControlBeta,#openHours,#openMontageSchedule){display:none}
 body.overview-page .project-destinations>a{min-height:68px;box-sizing:border-box;flex-direction:row;align-items:center;padding:16px;background:#ffda00;color:#102c36;border-color:#d3b600}
 body.overview-page .project-destinations>a>span{text-align:right;max-width:46%;font-size:11px}
}
