:root{--navy:#071d3b;--navy2:#0d2c55;--orange:#f47a1f;--teal:#39c69a;--surface:#f3f6fa;--line:#dce4ee;--ink:#182538;--muted:#68788d;--red:#d73b3e;--amber:#d7880e;--green:#16895d}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--surface)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--orange);font-weight:850;margin:0 0 5px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-brand{padding:9vw;background:linear-gradient(145deg,var(--navy),#103b69);color:#fff;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:500px;height:500px;border:100px solid rgba(255,255,255,.04);border-radius:50%;right:-250px;bottom:-250px}.login-brand img{width:70px}.login-brand h1{font-size:42px;margin:15px 0 45px}.login-brand h1 span{color:var(--orange)}.login-brand h2{font-size:43px;max-width:550px;line-height:1.06}.login-brand p{max-width:600px;color:#c8d5e7;line-height:1.7;font-size:18px}.login-points{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:35px;color:#dbe6f3}.login-card{margin:auto;width:min(420px,85%);background:#fff;padding:38px;border-radius:20px;box-shadow:0 24px 70px rgba(7,29,59,.13)}.login-card h2{font-size:34px;margin:0 0 25px;color:var(--navy)}label{display:block;font-size:13px;font-weight:750;margin:15px 0}input,select,textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.login-card button,.primary{border:0;background:var(--orange);color:#fff;border-radius:9px;padding:13px 18px;font-weight:850}.login-card button{width:100%;margin:12px 0}.login-card a{font-size:13px;color:var(--navy)}.status{min-height:20px;font-size:13px}.shell{min-height:100vh;display:grid;grid-template-columns:265px 1fr}.shell > aside{background:var(--navy);color:#fff;padding:22px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;font-weight:850;font-size:22px;padding:0 10px}.brand img{width:43px}.brand span span{color:var(--orange)}.org{margin:24px 7px;padding:14px;background:rgba(255,255,255,.07);border-radius:10px}.org small,.org span{display:block;color:#9fb0c7;font-size:11px}.org b{display:block;margin:4px 0;font-size:13px}.shell nav{display:flex;flex-direction:column;gap:5px}.shell nav button,.logout{border:0;background:transparent;color:#b8c6d8;text-align:left;padding:12px 14px;border-radius:9px;display:flex;gap:11px;align-items:center;font-weight:700}.shell nav button span{flex:1}.shell nav button.active,.shell nav button:hover{background:#fff;color:var(--navy)}.shell nav em{font-style:normal;background:var(--orange);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px}.usage{margin:auto 8px 12px;padding:12px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#aebcd0}.usage b{display:block;height:6px;background:#344968;border-radius:99px;margin:9px 0;overflow:hidden}.usage i{display:block;width:18%;height:100%;background:var(--teal)}.usage small{display:flex;justify-content:space-between}.logout{margin:0 7px;border:1px solid #314866;justify-content:center}.shell main{min-width:0}.shell header{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.shell h1{margin:0;color:var(--navy);font-size:27px}.header-actions{display:flex;gap:10px}.quiet{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 15px;color:var(--navy);font-weight:750}#mobileNav{display:none;background:none;border:0;font-size:24px}#content{padding:30px;max-width:1500px;margin:auto}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 7px 22px rgba(7,29,59,.04)}.metric{padding:22px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:32px;color:var(--navy);margin:5px 0}.metric small{color:var(--muted)}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px}.panel{padding:22px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h2{margin:0;color:var(--navy);font-size:19px}.panel-head button{border:0;background:none;color:var(--orange);font-weight:800}.risk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.risk-card{border:1px solid;border-radius:11px;padding:17px}.risk-card b{font-size:12px}.risk-card strong{display:block;font-size:32px}.risk-card.red{color:var(--red);background:#fff7f7}.risk-card.amber{color:var(--amber);background:#fffaf1}.risk-card.green{color:var(--green);background:#f4fcf8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#718096;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:11px;border-bottom:1px solid var(--line)}td{padding:13px 11px;border-bottom:1px solid #edf1f5;font-size:13px;vertical-align:middle}td b{display:block;color:var(--navy)}td small{color:var(--muted)}.pill{display:inline-block;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850}.pill.red{background:#ffe9e9;color:var(--red)}.pill.amber{background:#fff1d7;color:var(--amber)}.pill.green{background:#e1f7ed;color:var(--green)}.pill.blue{background:#e8eff9;color:#345d95}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 9px;font-size:11px}.filters{display:flex;gap:10px;margin:0 0 18px}.filters input{margin:0;max-width:360px}.filters select{margin:0;max-width:180px}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.plan-card{background:linear-gradient(135deg,var(--navy),#16436e);color:#fff;border-radius:15px;padding:22px}.plan-card p{color:#b9c8db}.progress{height:8px;border-radius:99px;background:#314a68;overflow:hidden}.progress span{display:block;width:18%;height:100%;background:var(--teal)}.modal{position:fixed;inset:0;background:rgba(3,15,32,.68);display:grid;place-items:center;z-index:50;padding:20px}.modal-card{background:#fff;border-radius:17px;width:min(720px,100%);max-height:90vh;overflow:auto;padding:28px;position:relative}.close{position:absolute;right:16px;top:13px;border:0;background:none;font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-grid .wide{grid-column:1/-1}.modal-card h2{color:var(--navy)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.modal-actions button{padding:11px 16px;border-radius:8px;font-weight:800}.modal-actions .save{background:var(--orange);border:0;color:#fff}.modal-actions .cancel{background:#fff;border:1px solid var(--line)}#toast{position:fixed;right:25px;bottom:25px;background:var(--navy);color:#fff;padding:13px 18px;border-radius:10px;opacity:0;transform:translateY(20px);transition:.25s;z-index:60}#toast.show{opacity:1;transform:none}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.customer-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.customer-card h3{color:var(--navy);margin:0 0 7px}.customer-card p{color:var(--muted);font-size:13px}.customer-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:13px}.connection{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:11px}.connection .dot{width:12px;height:12px;border-radius:50%;background:#93a2b5}.connection.ok .dot{background:var(--green)}@media(max-width:1050px){.shell{grid-template-columns:80px 1fr}.brand span,.org,.shell nav button span,.usage span:first-child,.usage small,.logout{display:none}.shell > aside{align-items:center}.shell nav button{font-size:20px}.shell nav em{position:absolute;margin-left:20px}.grid-2{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.shell{display:block}.shell > aside{position:fixed;left:-280px;width:265px;z-index:30;transition:.25s;align-items:stretch}.shell > aside.open{left:0}.brand span,.org,.shell nav button span,.usage span:first-child,.usage small,.logout{display:flex}.shell header{padding:0 16px}.shell header h1{font-size:20px}#mobileNav{display:block}.header-actions .quiet{display:none}#content{padding:17px}.metrics{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.filters{flex-direction:column}.filters input,.filters select{max-width:none}}
.link-button{width:100%;border:0;background:transparent!important;color:var(--navy)!important;padding:8px!important;margin:0!important;text-decoration:underline;cursor:pointer}.security-note{font-size:12px;line-height:1.5;color:var(--muted)}.organisation-choices{display:grid;gap:9px;margin:18px 0}.organisation-choice{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px;margin:0;cursor:pointer}.organisation-choice input{width:auto;margin:0}.organisation-choice span{display:flex;flex-direction:column}.organisation-choice small{color:var(--muted);margin-top:3px}.pilot-company{border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:16px;background:#fbfcfe}.pilot-company>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pilot-company h3{margin:0 0 5px;color:var(--navy)}.pilot-company p{margin:0;color:var(--muted)}.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.seat-grid div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.seat-grid span{display:block;color:var(--muted);font-size:12px}.seat-grid b{display:block;color:var(--navy);font-size:22px;margin-top:3px}.token-output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;font-weight:800;letter-spacing:.04em;padding:18px;border-radius:10px;background:#eff4fa;border:1px dashed #8da3bd;color:var(--navy);word-break:break-all;text-align:center}.login-card{max-height:calc(100vh - 40px);overflow:auto}.login-card textarea{min-height:80px}@media(max-width:720px){.pilot-company>header{flex-direction:column}.seat-grid{grid-template-columns:1fr}}
.subpanel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:24px 0 9px}.subpanel-head h4{margin:0;color:var(--navy);font-size:15px}.subpanel-head p{margin:4px 0 0;font-size:12px}.subpanel-head>span{font-size:12px;color:var(--muted);white-space:nowrap}.pilot-company code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;background:#eef3f8;border-radius:5px;padding:3px 6px;color:var(--navy)}.quiet.danger{color:var(--red);border-color:#efc7c8}.muted{color:var(--muted)}
.setup-card{width:min(520px,90%)}.setup-card .setup-code{text-transform:uppercase;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.setup-state{padding:14px;border-radius:10px;background:#eff4fa;color:var(--navy);font-size:13px;line-height:1.55;margin:14px 0}.setup-state.success{background:#e1f7ed;color:var(--green)}.setup-state.error{background:#ffe9e9;color:var(--red)}

/* v3.1.0 inherited rack profile and site layout workspace */
.design-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;background:linear-gradient(135deg,#0b2e28,#174f43);color:#fff;border-radius:18px;padding:28px;margin-bottom:16px;box-shadow:0 18px 45px rgba(7,29,59,.12)}.design-hero h2{margin:3px 0 8px;font-size:29px}.design-hero p{margin:0;color:#d4e7e1;max-width:830px;line-height:1.6}.design-hero label{margin:0;min-width:310px;color:#fff}.design-hero select{background:#fff;color:var(--ink);margin-top:8px}.design-tabs{display:flex;gap:8px;background:#e9efed;border-radius:12px;padding:5px;width:max-content;margin-bottom:16px}.design-tabs button{border:0;background:transparent;padding:10px 16px;border-radius:9px;color:#536c64;font-weight:800}.design-tabs button.active{background:#fff;color:#12392f;box-shadow:0 5px 16px rgba(18,57,47,.1)}.design-workspace{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;min-height:520px;box-shadow:0 10px 30px rgba(7,29,59,.05)}.design-loading{display:grid;place-items:center;min-height:360px;color:var(--muted)}.design-head p,.layout-topbar p,.subpanel-head p{margin:6px 0 0;color:var(--muted);line-height:1.5}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rack-profile-card{display:grid;grid-template-columns:150px 1fr;border:1px solid #dbe6e2;border-radius:15px;overflow:hidden;background:#fbfdfc;min-height:235px;transition:.2s}.rack-profile-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(18,57,47,.1)}.rack-card-photo{background:linear-gradient(145deg,#173f36,#2f6a5b);display:grid;place-items:center;overflow:hidden}.rack-card-photo img{width:100%;height:100%;object-fit:cover}.rack-card-photo span{font-size:30px;font-weight:900;letter-spacing:.08em;color:#ffbf43}.rack-card-body{padding:18px}.rack-card-body header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.rack-card-body h3{font-size:23px;margin:0;color:#12392f}.rack-profile-summary{font-weight:750;color:#415b53}.rack-card-body dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.rack-card-body dl div{border-top:1px solid #dce7e3;padding-top:8px}.rack-card-body dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#788b85}.rack-card-body dd{margin:3px 0 0;font-size:13px;font-weight:750}.rack-card-body footer{display:flex;flex-wrap:wrap;gap:7px}.danger{color:#b72e32!important;border-color:#efc2c4!important}.profile-empty{grid-column:1/-1;background:#f6faf8;border:1px dashed #abc7be;border-radius:14px}.profile-modal-head{display:flex;justify-content:space-between;gap:20px;padding-right:28px}.profile-modal-head h2{margin:0}.profile-modal-head p{color:var(--muted);line-height:1.5}.profile-page-badge{height:max-content;background:#e2f5ed;color:#117652;border-radius:999px;padding:7px 11px;font-weight:850;font-size:11px}.rack-profile-form{display:grid;gap:14px}.profile-form-section{background:#f7faf9;border:1px solid #dce7e3;border-radius:13px;padding:17px}.profile-form-section h3{margin:0 0 6px;color:#12392f}.technical-grid label span{float:right;color:#879991;font-size:10px;text-transform:uppercase}.layout-topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px}.layout-topbar h2{margin:0;color:#12392f}.layout-editor{display:grid;grid-template-columns:175px minmax(0,1fr) 245px;gap:14px;align-items:start}.layout-tools,.layout-properties{background:#f5f8f7;border:1px solid #dce7e3;border-radius:13px;padding:12px;max-height:760px;overflow:auto}.layout-tools h3,.layout-properties h3{margin:4px 0 12px;color:#12392f}.layout-tools button{width:100%;display:flex;align-items:center;gap:10px;border:1px solid transparent;background:transparent;border-radius:9px;padding:8px;text-align:left;color:#435d55}.layout-tools button b{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#e2ece8;color:#173f36}.layout-tools button span{font-size:12px;font-weight:750}.layout-tools button.active{background:#173f36;color:#fff}.layout-tools button.active b{background:#ffbd3b}.tool-help{font-size:11px;line-height:1.5;color:#73867f;border-top:1px solid #dce7e3;padding-top:12px;margin-top:10px}.layout-stage-wrap{min-width:0}.layout-stage-toolbar{display:grid;grid-template-columns:1.3fr 1fr .7fr .7fr;gap:8px;margin-bottom:9px}.layout-stage-toolbar label{margin:0;font-size:10px;text-transform:uppercase;color:#6c817a}.layout-stage-toolbar input{margin-top:4px;padding:8px}.layout-canvas{position:relative;height:690px;overflow:hidden;border:1px solid #bfd2cb;border-radius:13px;background-color:#fff;background-image:linear-gradient(#edf3f0 1px,transparent 1px),linear-gradient(90deg,#edf3f0 1px,transparent 1px),linear-gradient(#dce8e3 1px,transparent 1px),linear-gradient(90deg,#dce8e3 1px,transparent 1px);background-size:10px 10px,10px 10px,50px 50px,50px 50px;touch-action:none}.layout-object{position:absolute;border:2px solid #204d42;background:rgba(43,103,87,.12);display:grid;place-items:center;cursor:move;user-select:none;border-radius:4px;transform-origin:center;box-shadow:0 3px 8px rgba(18,57,47,.12)}.layout-object span{font-size:11px;font-weight:850;color:#12392f;text-align:center;pointer-events:none}.layout-object i{position:absolute;right:3px;top:3px;font-size:8px;background:#173f36;color:#fff;border-radius:4px;padding:2px 4px;font-style:normal}.layout-object.type-wall{background:#263d37;border-color:#263d37;border-radius:1px}.layout-object.type-wall span{display:none}.layout-object.type-aisle{background:rgba(58,108,146,.08);border:1px dashed #4c7795}.layout-object.type-door{background:#f5e6c8;border-color:#a97b27}.layout-object.type-loading_bay{background:#e6eef4;border-color:#4c7795}.layout-object.type-fire_exit{background:#dff4e8;border-color:#16895d}.layout-object.type-hazard{background:repeating-linear-gradient(135deg,#fff4cc,#fff4cc 8px,#f8df87 8px,#f8df87 16px);border-color:#bd8316}.layout-object.type-text{background:transparent;border:1px dashed #8ca29a}.layout-object.selected{outline:3px solid #ffb531;outline-offset:2px}.layout-marker{position:absolute;width:27px;height:27px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);color:#fff;font-size:9px;font-weight:900;box-shadow:0 3px 8px rgba(0,0,0,.25);cursor:move}.layout-marker.risk-red{background:#cf3439}.layout-marker.risk-amber{background:#d88a11}.layout-marker.risk-green{background:#16895d}.layout-marker.risk-repaired{background:#3f6f98}.layout-marker.selected{outline:3px solid #10231f}.layout-properties label{font-size:11px}.layout-properties input,.layout-properties select,.layout-properties textarea{padding:8px;margin-top:4px}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.layout-legend{display:grid;gap:8px;font-size:12px}.layout-legend span{display:flex;align-items:center;gap:8px}.layout-legend i{width:12px;height:12px;border-radius:50%}.layout-legend .risk-red{background:#cf3439}.layout-legend .risk-amber{background:#d88a11}.layout-legend .risk-green{background:#16895d}.timeline{display:grid;gap:0;border-left:2px solid #cfe0da;margin-left:12px;padding-left:25px}.timeline article{position:relative;padding:3px 0 22px;display:grid;gap:3px}.timeline article:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#ffb531;border:3px solid #fff;box-shadow:0 0 0 2px #cfe0da;left:-32px;top:3px}.timeline article b{color:#12392f}.timeline article span{color:#475f57}.timeline article small{color:#83948e}
@media(max-width:1180px){.profile-grid{grid-template-columns:1fr}.layout-editor{grid-template-columns:150px minmax(0,1fr)}.layout-properties{grid-column:1/-1;max-height:none}.layout-stage-toolbar{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.design-hero{align-items:stretch;flex-direction:column;padding:20px}.design-hero label{min-width:0}.design-tabs{width:100%;overflow:auto}.design-tabs button{white-space:nowrap}.design-workspace{padding:13px}.profile-grid{grid-template-columns:1fr}.rack-profile-card{grid-template-columns:1fr}.rack-card-photo{height:150px}.layout-topbar{align-items:stretch;flex-direction:column}.layout-editor{display:block}.layout-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-height:none;margin-bottom:10px}.layout-tools h3,.tool-help{grid-column:1/-1}.layout-tools button{display:grid;place-items:center;text-align:center}.layout-tools button span{font-size:9px}.layout-stage-toolbar{grid-template-columns:1fr}.layout-canvas{height:500px}.layout-properties{margin-top:10px}.profile-modal-head{display:block}.rack-profile-form .form-grid{display:grid;grid-template-columns:1fr}.rack-profile-form .wide{grid-column:auto}}
.layout-background-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.42;pointer-events:none;user-select:none;z-index:0}.layout-object,.layout-marker{z-index:2}.layout-canvas:has(.layout-background-image){background-color:#f8fbfa}


/* v3.1.0 inherited portal QA and layout-designer repair */
.row-actions{align-items:center;flex-wrap:wrap}.row-actions button.primary,.layout-actions button.primary{border:0;background:var(--orange);color:#fff;padding:10px 14px;font-size:12px;box-shadow:0 5px 14px rgba(244,122,31,.18)}.row-actions button.primary:hover,.layout-actions button.primary:hover{background:#d96612}.row-actions button:disabled,.layout-tools button:disabled{opacity:.42;cursor:not-allowed}.filters input[type="search"]{appearance:none}.empty{grid-column:1/-1}
.shell > aside{z-index:25}.layout-tools,.layout-properties{position:static!important;top:auto!important;height:auto!important;display:block!important;color:var(--ink)!important;background:#f5f8f7!important;padding:12px!important}.layout-tools h3,.layout-properties h3,.layout-tools label,.layout-properties label{color:#12392f}.layout-tools button{color:#435d55!important}.layout-tools button.active{color:#fff!important}.layout-tools button:disabled{background:transparent!important}.layout-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.layout-edit-actions button{justify-content:center!important;border-color:#d3dfdb!important;background:#fff!important;color:#173f36!important}.snap-control{display:flex!important;align-items:center;gap:8px;margin:10px 2px!important;font-size:11px!important;color:#526a62!important}.snap-control input{width:auto;margin:0}.dirty-badge{display:none;margin-left:8px;background:#fff1d7;color:#9a5d00;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:850}.dirty-badge.show{display:inline-block}.layout-canvas-scroll{overflow:auto;border-radius:13px;background:#e6ece9;padding:0;max-width:100%;box-shadow:inset 0 0 0 1px #d8e2de}.layout-canvas{width:1200px;min-width:1200px;height:720px;min-height:720px;border-radius:13px}.layout-canvas:focus{outline:3px solid rgba(244,122,31,.28);outline-offset:2px}.layout-object{touch-action:none}.layout-object.selected{z-index:4}.resize-handle{position:absolute;right:-8px;bottom:-8px;width:17px;height:17px;border:2px solid #fff;border-radius:50%;background:var(--orange);box-shadow:0 2px 7px rgba(0,0,0,.28);cursor:nwse-resize;padding:0}.property-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.keyboard-help{margin-top:18px;padding-top:12px;border-top:1px solid #dce7e3;font-size:11px;line-height:1.5;color:#73867f}.revision-summary{padding:13px;border-radius:10px;background:#f3f7f5;color:#50665f;margin-top:14px}.profile-photo-field{grid-column:1/-1;border:1px solid #d7e3df;border-radius:12px;padding:13px;background:#fff}.profile-photo-field>span{display:block;font-size:13px;font-weight:750;margin-bottom:8px}.profile-photo-preview{height:190px;border-radius:10px;background:#eef4f1;display:grid;place-items:center;overflow:hidden;color:#6e817a}.profile-photo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.photo-actions{display:flex;gap:8px;margin-top:9px}.photo-actions button{padding:9px 12px}.profile-photo-field small{display:block;margin-top:8px;color:var(--muted)}.image-loading{font-size:11px!important;letter-spacing:normal!important;color:#d5e5e0!important}.capability-field{border:1px solid var(--line);border-radius:10px;padding:10px 13px;margin:15px 0}.capability-field legend{font-size:13px;font-weight:750;padding:0 5px}.capability-field label{display:inline-flex;align-items:center;gap:6px;margin:7px 14px 7px 0;font-weight:650}.capability-field input{width:auto;margin:0}.inspection-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.inspection-summary-grid>div{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fbfcfe}.inspection-summary-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.inspection-summary-grid b{color:var(--navy)}.modal-risk-row{margin-top:12px}.modal-risk-row .risk-card{padding:11px}.modal-risk-row .risk-card strong{font-size:24px}
@media(max-width:1180px){.layout-editor{grid-template-columns:160px minmax(0,1fr)}.layout-properties{grid-column:1/-1!important}}
@media(max-width:760px){.layout-actions{display:grid;grid-template-columns:1fr 1fr}.layout-actions button{width:100%}.layout-tools{display:grid!important}.layout-canvas-scroll{margin-inline:-4px}.inspection-summary-grid{grid-template-columns:1fr 1fr}.photo-actions{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:480px){.inspection-summary-grid{grid-template-columns:1fr}.layout-actions{grid-template-columns:1fr}.property-actions{grid-template-columns:1fr}}

/* v3.1.0 professional customer/site workspace and CAD-style layout designer */
.workspace-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--muted);font-size:13px}.workspace-breadcrumb button{border:0;background:none;padding:0;color:var(--orange);font-weight:800;cursor:pointer}.customer-workspace-hero,.site-workspace-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#0b294c,#155b56);color:#fff;border-radius:18px;padding:25px;margin-bottom:18px;box-shadow:0 12px 30px rgba(7,29,59,.12)}.customer-workspace-hero h2,.site-workspace-hero h2{margin:0 0 5px;font-size:28px}.customer-workspace-hero p,.site-workspace-hero p{margin:0;color:#c8dbd7}.site-workspace-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.customer-workspace-hero .primary,.site-workspace-hero .primary{background:var(--orange);border:0;color:#fff;border-radius:9px;padding:12px 16px;font-weight:850}.site-workspace-hero .quiet{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}.customer-master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-master-card{padding:0;overflow:hidden}.customer-master-card>header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 18px 0}.customer-master-card>p{padding:0 18px}.customer-master-card footer{padding:14px 18px;background:#f7f9fb}.site-count-badge{background:#e8eff9;color:#345d95;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.customer-site-preview{display:grid;gap:7px;padding:4px 18px 18px}.customer-site-preview button{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}.customer-site-preview button:hover{border-color:#f2a56b;background:#fffaf7}.customer-site-preview button b{color:var(--navy)}.customer-site-preview button span{font-size:11px;color:var(--muted);margin-top:2px}.site-workspace-grid-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.site-workspace-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 7px 22px rgba(7,29,59,.04)}.site-workspace-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.site-workspace-card h3{margin:0;color:var(--navy);font-size:21px}.site-workspace-card>p{color:var(--muted);min-height:40px}.site-workspace-card dl,.site-record-panel dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.site-workspace-card dl div,.site-record-panel dl div{background:#f5f8fb;border-radius:9px;padding:10px}.site-workspace-card dt,.site-record-panel dt{font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.07em}.site-workspace-card dd,.site-record-panel dd{margin:4px 0 0;color:var(--navy);font-weight:800;font-size:12px}.site-workspace-card footer{display:flex;gap:7px;border-top:1px solid var(--line);padding-top:13px}.site-workspace-card footer button{flex:1}.site-metrics{margin-bottom:18px}.site-workspace-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr)}.site-record-panel dl{grid-template-columns:1fr 1fr}.full-width{width:100%}.design-site-context{display:flex;align-items:center;gap:8px;margin:-8px 0 14px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:12px}.design-site-context button{margin-left:auto;border:0;background:none;color:var(--orange);font-weight:800;cursor:pointer}.professional-layout-editor{grid-template-columns:190px minmax(0,1fr) 250px}.professional-stage-toolbar{grid-template-columns:1.25fr 1fr .75fr .75fr auto}.zoom-controls{display:flex;align-items:end;gap:5px;min-width:180px}.zoom-controls span{align-self:center;margin-right:3px;font-size:10px;text-transform:uppercase;color:#6c817a}.zoom-controls button{height:35px;min-width:34px;border:1px solid #d3dfdb;border-radius:7px;background:#fff;color:#173f36;font-weight:850}.zoom-controls b{height:35px;display:grid;place-items:center;min-width:54px;font-size:11px}.layout-scale-strip{display:flex;justify-content:space-between;gap:15px;padding:7px 10px;margin-bottom:8px;border:1px solid #d6e2de;border-radius:8px;background:#f6faf8;color:#61766f;font-size:11px}.layout-canvas-spacer{position:relative}.professional-layout-canvas{position:absolute;left:0;top:0;width:1600px!important;min-width:1600px!important;height:1000px!important;min-height:1000px!important;background-size:10px 10px,10px 10px,50px 50px,50px 50px}.layout-draw-preview{position:absolute;z-index:8;border:2px dashed var(--orange);background:rgba(244,122,31,.08);pointer-events:none}.layout-object-label{position:relative;z-index:3;font-size:11px;font-weight:900;color:#10231f;text-shadow:0 1px #fff;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:92%}.layout-object.type-wall{height:10px!important;min-height:10px;overflow:visible;box-shadow:none}.layout-object.type-wall .layout-object-label{display:none}.layout-object.type-dimension{height:24px!important;background:transparent;border:0;box-shadow:none;overflow:visible}.dimension-symbol{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.dimension-symbol i{position:absolute;left:0;right:0;top:50%;border-top:2px solid #3a5c52}.dimension-symbol:before,.dimension-symbol:after{content:"";position:absolute;top:calc(50% - 5px);width:2px;height:10px;background:#3a5c52}.dimension-symbol:before{left:0}.dimension-symbol:after{right:0}.dimension-symbol b{background:#fff;padding:2px 6px;font-size:10px;z-index:2}.rack-run-visual{position:absolute;inset:4px;border:1px solid #173f36;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--rack-bays) - 1px),rgba(23,63,54,.45) calc(100% / var(--rack-bays) - 1px),rgba(23,63,54,.45) calc(100% / var(--rack-bays)))}.rack-bank-object{background:#eef7f3}.rack-bank-visual{position:absolute;inset:4px;display:grid;grid-template-rows:repeat(var(--rack-rows),minmax(3px,1fr));gap:2px;overflow:hidden}.rack-bank-row{position:relative;border:1px solid #173f36;background:repeating-linear-gradient(90deg,#d7ebe4 0,#d7ebe4 calc(100% / var(--rack-bays) - 1px),#668f82 calc(100% / var(--rack-bays) - 1px),#668f82 calc(100% / var(--rack-bays)))}.rack-bank-row span{position:absolute;left:3px;top:50%;transform:translateY(-50%);font-size:7px;color:#143e33;background:rgba(255,255,255,.8);padding:0 2px}.door-symbol{position:absolute;left:3px;bottom:3px;width:70%;height:70%;border-left:4px solid #7f5d24;border-top:2px solid #a97b27;border-radius:100% 0 0 0}.door-symbol i{position:absolute;left:0;bottom:0;width:100%;border-top:2px solid #a97b27;transform:rotate(-45deg);transform-origin:left center}.loading-bay-symbol{position:absolute;inset:5px;border:3px solid #4c7795;background:repeating-linear-gradient(0deg,#e7f0f5 0,#e7f0f5 5px,#9bb6c7 5px,#9bb6c7 7px)}.fire-exit-symbol{position:absolute;inset:5px;display:grid;place-items:center;background:#16895d;color:#fff;font-size:22px;font-weight:900;border-radius:4px}.hazard-symbol{position:absolute;right:5px;top:4px;font-size:20px}.north-symbol{display:grid;place-items:center;font-weight:950;font-size:20px;color:#10231f}.north-symbol span{display:block;font-size:38px;line-height:.7;color:#173f36}.rotate-handle{position:absolute;left:50%;top:-28px;transform:translateX(-50%);width:23px;height:23px;border:2px solid #fff;border-radius:50%;background:#173f36;color:#fff;box-shadow:0 2px 7px rgba(0,0,0,.28);cursor:grab;padding:0;font-size:12px}.rotation-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.rotation-buttons button{border:1px solid #d3dfdb;border-radius:7px;background:#fff;padding:7px;color:#173f36;font-size:11px;font-weight:800}.rack-object-settings{border:1px solid #d5e2dd;background:#fff;border-radius:10px;padding:10px;margin:10px 0}.rack-object-settings label{margin:7px 0}.layout-tools h3{margin-bottom:8px}.layout-tools button{min-height:43px}.layout-tools button b{flex:none}.layout-properties{max-height:860px;overflow:auto}.layout-canvas-scroll{min-height:640px}.layout-background-image{object-fit:contain}.site-record-panel h2{margin-top:0}
@media(max-width:1180px){.professional-layout-editor{grid-template-columns:165px minmax(0,1fr)}.professional-stage-toolbar{grid-template-columns:1fr 1fr}.zoom-controls{align-items:center}.site-workspace-grid{grid-template-columns:1fr}.site-workspace-grid-cards,.customer-master-grid{grid-template-columns:1fr}}
@media(max-width:760px){.customer-workspace-hero,.site-workspace-hero{align-items:stretch;flex-direction:column}.site-workspace-actions{display:grid;grid-template-columns:1fr}.site-workspace-actions button{width:100%}.site-workspace-card footer{display:grid;grid-template-columns:1fr}.site-workspace-card dl,.site-record-panel dl{grid-template-columns:1fr 1fr}.professional-layout-editor{display:block}.professional-stage-toolbar{grid-template-columns:1fr}.layout-scale-strip{flex-direction:column}.zoom-controls{display:grid;grid-template-columns:auto repeat(4,1fr);align-items:center}.layout-canvas-scroll{min-height:520px}.customer-master-grid{grid-template-columns:1fr}}
.rack-bank-visual.vertical{grid-template-rows:1fr;grid-template-columns:repeat(var(--rack-rows),minmax(3px,1fr))}.rack-bank-visual.vertical .rack-bank-row{background:repeating-linear-gradient(0deg,#d7ebe4 0,#d7ebe4 calc(100% / var(--rack-bays) - 1px),#668f82 calc(100% / var(--rack-bays) - 1px),#668f82 calc(100% / var(--rack-bays)))}

/* v3.1.0 visible SVG site-layout canvas repair */
.layout-site-save-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-3px 0 14px;padding:11px 14px;border:1px solid #cfe0da;border-left:5px solid #16895d;border-radius:10px;background:#f5fbf8}.layout-site-save-banner div{display:grid;gap:2px}.layout-site-save-banner span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6c817a}.layout-site-save-banner b{color:#12392f}.layout-site-save-banner p{margin:0;color:#587068;font-size:11px}.svg-layout-scroll{position:relative;overflow:auto;min-height:650px;max-height:78vh;border:1px solid #bfd2cb;border-radius:13px;background:#dce9e4;padding:12px}.svg-layout-canvas{display:block!important;position:relative!important;left:auto!important;top:auto!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;max-width:none!important;border:0!important;border-radius:8px!important;background:none!important;overflow:visible!important;box-shadow:0 5px 18px rgba(16,45,38,.14);touch-action:none;cursor:crosshair}.svg-layout-canvas:focus{outline:3px solid rgba(244,122,31,.28);outline-offset:3px}.svg-canvas-bg{fill:#fff}.svg-layout-background{opacity:.36;pointer-events:none}.svg-layout-object{cursor:grab;outline:none}.svg-layout-object:active{cursor:grabbing}.svg-layout-object.selected{filter:drop-shadow(0 2px 3px rgba(15,54,44,.22))}.svg-wall-hit{stroke:transparent;stroke-width:34;pointer-events:stroke}.svg-wall{stroke:#153c32;stroke-width:13;stroke-linecap:square;vector-effect:non-scaling-stroke}.svg-rack-fill{fill:#d8eee6;stroke:#173f36;stroke-width:2.5;vector-effect:non-scaling-stroke}.svg-rack-bay{stroke:#668f82;stroke-width:1.4;vector-effect:non-scaling-stroke}.svg-object-label,.svg-text-label,.svg-dimension-label,.svg-rack-ref{font-family:Inter,Arial,sans-serif;fill:#10231f;font-size:13px;font-weight:850;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3;stroke-linejoin:round}.svg-rack-ref{font-size:10px;stroke-width:2}.svg-linked-badge{font-family:Inter,Arial,sans-serif;fill:#fff;font-size:8px;font-weight:900;paint-order:stroke;stroke:#173f36;stroke-width:5}.svg-aisle{fill:rgba(76,119,149,.1);stroke:#4c7795;stroke-width:2.5;stroke-dasharray:11 7;vector-effect:non-scaling-stroke}.svg-route-arrow{fill:none;stroke:#4c7795;stroke-width:4;vector-effect:non-scaling-stroke}.svg-door-frame,.svg-door-leaf,.svg-door-swing{fill:none;stroke:#8e6721;stroke-width:4;vector-effect:non-scaling-stroke}.svg-door-swing{stroke-width:2.5;stroke-dasharray:6 5}.svg-loading-bay{fill:#e6eef4;stroke:#4c7795;stroke-width:3;vector-effect:non-scaling-stroke}.svg-loading-lines{fill:none;stroke:#8ba8ba;stroke-width:2;vector-effect:non-scaling-stroke}.svg-fire-exit{fill:#16895d;stroke:#0d6643;stroke-width:2;vector-effect:non-scaling-stroke}.svg-exit-icon,.svg-exit-text{font-family:Inter,Arial,sans-serif;fill:#fff;font-weight:950;pointer-events:none}.svg-exit-icon{font-size:31px}.svg-exit-text{font-size:14px}.svg-hazard{fill:url(#hazardPattern);stroke:#bd8316;stroke-width:3;vector-effect:non-scaling-stroke}.svg-hazard-icon{font-size:32px;pointer-events:none}.svg-north-arrow{fill:none;stroke:#173f36;stroke-width:5;vector-effect:non-scaling-stroke}.svg-north-label{font-family:Inter,Arial,sans-serif;fill:#10231f;font-size:22px;font-weight:950}.svg-dimension,.svg-dimension-tick{stroke:#315e53;stroke-width:2.5;vector-effect:non-scaling-stroke}.svg-text-box,.svg-generic{fill:#fff;stroke:#8ca29a;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.svg-selection-box{fill:none;stroke:#f47a1f;stroke-width:3;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;pointer-events:none}.svg-selection-line{stroke:#f47a1f;stroke-width:4;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;pointer-events:none}.svg-handle{fill:#f47a1f;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;cursor:nwse-resize}.svg-rotate-handle{fill:#173f36;cursor:grab}.svg-rotate-stem{stroke:#173f36;stroke-width:2;vector-effect:non-scaling-stroke}.svg-layout-marker{cursor:grab}.svg-layout-marker circle{stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}.svg-layout-marker text{font-family:Inter,Arial,sans-serif;fill:#fff;font-size:10px;font-weight:950;pointer-events:none}.svg-layout-marker.risk-red circle{fill:#cf3439}.svg-layout-marker.risk-amber circle{fill:#d88a11}.svg-layout-marker.risk-green circle{fill:#16895d}.svg-layout-marker.risk-repaired circle{fill:#3f6f98}.svg-layout-marker.selected circle{stroke:#10231f;stroke-width:5}.svg-draw-preview line,.svg-draw-preview rect{fill:rgba(244,122,31,.1);stroke:#f47a1f;stroke-width:4;stroke-dasharray:12 7;vector-effect:non-scaling-stroke;pointer-events:none}.svg-draw-preview text{font-family:Inter,Arial,sans-serif;fill:#a24d0f;font-weight:900;font-size:15px;text-anchor:middle;pointer-events:none}.layout-active-tool{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:8px;padding:8px 11px;border-radius:8px;background:#12392f;color:#fff}.layout-active-tool b{font-size:12px}.layout-active-tool span{font-size:11px;color:#d2e6df}.layout-active-tool em{font-size:10px;font-style:normal;color:#ffcb71;font-variant-numeric:tabular-nums}.save-destination-card{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:12px 0;padding:12px;border-radius:10px;background:#f2f8f5;border:1px solid #d3e4dd}.save-destination-card span{font-size:9px;text-transform:uppercase;color:#70857e}.save-destination-card b{color:#12392f}.layout-actions .primary{min-width:175px}
@media(max-width:760px){.layout-site-save-banner{align-items:flex-start;flex-direction:column}.svg-layout-scroll{min-height:520px;max-height:70vh;padding:7px}.layout-active-tool{grid-template-columns:1fr auto}.layout-active-tool span{grid-column:1/-1;grid-row:2}.layout-actions{grid-template-columns:1fr}.layout-actions .primary{min-width:0}}

/* v3.1.0 assignable inspection and editable site workspace */
.modal-card:has(.inspection-workspace-modal){width:min(1120px,100%)}
.inspection-workspace-modal .workspace-intro{color:var(--muted);margin-top:-8px}.workspace-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:38px}.workspace-modal-head h2{margin:.25rem 0}.workspace-modal-head p{margin:0;color:var(--muted)}.locked-banner{margin:12px 0;padding:12px 14px;border:1px solid #f0ca8b;background:#fff8e9;color:#8d5a05;border-radius:9px;font-weight:750}.field-note{display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:2px}.inspection-defects-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.inspection-defects-section h3{margin:0;color:var(--navy)}.inspection-defects-section p{margin:4px 0 0;color:var(--muted);font-size:12px}.defect-review-table td{min-width:115px}.defect-review-table td:nth-child(2),.defect-review-table td:nth-child(3){min-width:185px}.compact-empty{padding:30px 15px}.inspection-modal-actions{position:sticky;bottom:-28px;background:#fff;border-top:1px solid var(--line);padding:16px 0 4px;z-index:3}.issue-button{background:var(--navy)!important}.site-notes{border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0;background:#f8fafc}.site-notes p{margin:5px 0 0;color:var(--muted);white-space:pre-wrap}.site-record-panel .panel-head button{border:0;background:none;color:var(--orange);font-weight:800}.site-record-panel dl{grid-template-columns:1fr 1fr}.site-record-panel dl div{min-width:0}.site-record-panel dd{overflow-wrap:anywhere}
@media(max-width:760px){.workspace-modal-head{display:block}.inspection-modal-actions{display:grid;grid-template-columns:1fr;position:static}.inspection-modal-actions button{width:100%}.site-record-panel dl{grid-template-columns:1fr}.modal-card:has(.inspection-workspace-modal){padding:20px}}


/* v3.1.0 unified complete-application workspace */
.unified-loading{min-height:260px;display:grid;place-content:center;text-align:center}.unified-inspection-hero{display:flex;justify-content:space-between;gap:24px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#13382f,#1d5143);color:#fff;box-shadow:0 18px 46px rgba(18,52,44,.18)}.unified-inspection-hero h2{font-size:clamp(1.7rem,3vw,2.8rem);margin:5px 0}.unified-inspection-hero p{color:#d8e8e2}.workflow-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}.workflow-line span{padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.78rem;font-weight:800}.workflow-line i{font-style:normal;color:#9ed0be}.unified-hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:210px}.unified-hero-status small{color:#d8e8e2}.inspection-workspace-tabs{display:flex;gap:8px;overflow:auto;padding:16px 2px 10px}.inspection-workspace-tabs button{white-space:nowrap;border:1px solid #cbdad5;background:#fff;border-radius:11px;padding:10px 13px;font-weight:800;color:#38564d}.inspection-workspace-tabs button.active{background:#173f35;color:#fff;border-color:#173f35}.inspection-workspace-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.72rem}.inspection-workspace-body{display:grid;gap:16px}.unified-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-detail-grid>div,.field-profile-grid dl>div{padding:12px;border:1px solid #d4e1dc;border-radius:10px;background:#f7faf9}.workspace-detail-grid span,.field-profile-grid dl span{display:block;color:#698078;font-size:.72rem;font-weight:800;text-transform:uppercase}.workspace-detail-grid strong,.field-profile-grid dl strong{display:block;margin-top:4px}.workflow-note{margin-top:16px;padding:16px;border-left:4px solid #2d8d6c;background:#eef7f3;border-radius:0 12px 12px 0}.workspace-section-stack{display:grid;gap:16px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.check-grid label{display:grid;gap:7px;padding:12px;border:1px solid #d4e1dc;border-radius:10px;background:#f8fbfa}.check-grid span{font-weight:800}.layout-completion-card{background:linear-gradient(145deg,#f7fbf9,#eaf4f0)}.layout-completion-graphic{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:24px 10px;margin:16px 0;border:1px dashed #8db4a6;border-radius:14px}.layout-completion-graphic span{padding:9px 11px;border-radius:7px;background:#173f35;color:#fff;font-size:.73rem;font-weight:900}.layout-completion-graphic i{font-style:normal;color:#3b7462;font-weight:900}.field-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.field-profile-grid article{border:1px solid #d4e1dc;border-radius:14px;padding:16px;background:#fff}.field-profile-grid article h3{margin:0}.field-profile-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-readiness-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#173f35,#215849);color:#fff}.report-readiness-card p{color:#d8e8e2}.report-readiness-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.evidence-grid{display:grid;gap:10px}.evidence-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:12px;border:1px solid #d4e1dc;border-radius:12px}.evidence-grid small{display:block;color:#6d827b;margin-top:3px}.evidence-icon{display:grid;place-items:center;width:50px;height:42px;border-radius:8px;background:#e5f0ec;color:#214e41;font-size:.72rem;font-weight:900}@media(max-width:900px){.unified-inspection-hero{flex-direction:column}.unified-hero-status{align-items:flex-start}.unified-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-detail-grid,.check-grid{grid-template-columns:1fr}.report-readiness-card{align-items:flex-start;flex-direction:column}.report-readiness-actions{justify-content:flex-start}}

/* v3.1.0 multi-building site-plan workspace */
body.layout-workspace-active #content{max-width:none;padding:18px 20px 30px}
body.layout-workspace-active .design-workspace{overflow:visible}
body.layout-workspace-active .design-hero{margin-bottom:12px}
body.layout-workspace-active .professional-layout-editor{grid-template-columns:160px minmax(0,1fr) 250px;gap:12px}
body.layout-workspace-active .layout-tools,
body.layout-workspace-active .layout-properties{position:sticky;top:102px;max-height:calc(100vh - 122px)}
body.layout-workspace-active .layout-stage-wrap{min-width:0}
body.layout-workspace-active .svg-layout-scroll{height:calc(100vh - 335px);min-height:720px;max-height:none;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;background:#d9e5e1}
body.layout-workspace-active .layout-stage-toolbar{grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(130px,.55fr) minmax(130px,.55fr) auto}
.multi-building-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;padding:9px 10px;border:1px solid #d2e1dc;border-radius:10px;background:#f7fbf9}
.multi-building-actions button{border:1px solid #bcd0c9;background:#fff;color:#173f36;border-radius:8px;padding:8px 11px;font-weight:800;cursor:pointer}
.multi-building-actions button:hover{border-color:#f47a1f;color:#c75e11}
.multi-building-actions span{margin-left:auto;color:#5d746c;font-size:11px;font-weight:750}
.zoom-controls{display:grid;grid-template-columns:auto 38px minmax(52px,auto) 38px 58px 68px;align-items:end;gap:5px;min-width:300px}
.zoom-controls span{grid-column:1/-1;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#6c817a;font-weight:800}
.zoom-controls button,.zoom-controls b{height:34px;display:grid;place-items:center;border:1px solid #c9d9d3;border-radius:7px;background:#fff;color:#173f36;font-size:11px;font-weight:850}
.zoom-controls button{cursor:pointer}
.zoom-controls button:hover{border-color:#f47a1f;color:#c75e11}
.svg-layout-canvas.pan-mode{cursor:grab}
.svg-layout-canvas.panning{cursor:grabbing!important}
.svg-building{fill:rgba(225,239,234,.18);stroke:#173f36;stroke-width:6;stroke-dasharray:20 10;vector-effect:non-scaling-stroke;pointer-events:stroke}
.svg-building-label,.svg-building-subtitle{font-family:Inter,Arial,sans-serif;fill:#10231f;font-weight:900;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.svg-building-label{font-size:24px}
.svg-building-subtitle{font-size:13px;fill:#637970;stroke-width:3}
.svg-layout-object.type-building{cursor:grab}
.svg-layout-object.type-building.selected .svg-building{stroke:#f47a1f;stroke-dasharray:12 7}
.layout-site-save-banner p{max-width:760px}
@media(max-width:1250px){body.layout-workspace-active .professional-layout-editor{grid-template-columns:145px minmax(0,1fr)}body.layout-workspace-active .layout-properties{grid-column:1/-1;position:static;max-height:none}.professional-stage-toolbar{grid-template-columns:1fr 1fr}.zoom-controls{min-width:0}.multi-building-actions span{margin-left:0;width:100%}}
@media(max-width:820px){body.layout-workspace-active #content{padding:12px}.professional-stage-toolbar{grid-template-columns:1fr}.zoom-controls{grid-template-columns:auto 38px minmax(52px,auto) 38px 58px 68px}.multi-building-actions{align-items:stretch;flex-direction:column}.multi-building-actions span{width:auto}.svg-layout-scroll{min-height:540px!important;height:68vh!important}}

/* v3.1.0 compact portal density and reduced scrolling */
@media (min-width:821px){
  .shell{grid-template-columns:238px minmax(0,1fr)}
  .shell>aside{padding:16px 12px}
  .brand{font-size:20px}.brand img{width:38px}
  .org{margin:16px 6px 12px;padding:10px}
  .shell nav{gap:3px}.shell nav button,.logout{padding:9px 11px}
  .shell header{height:72px;padding:0 24px}.shell h1{font-size:24px}
  #content{max-width:1680px;padding:20px 22px 30px}
  label{font-size:12px;margin:9px 0}
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea{margin-top:4px;padding:8px 10px;min-height:36px;border-radius:8px}
  textarea{min-height:82px;line-height:1.4}
  .primary,.quiet,.modal-actions button{padding:9px 13px;min-height:36px}
  .metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:27px;margin:3px 0}
  .grid-2{gap:12px;margin-top:12px}.panel{padding:16px;margin-bottom:12px}.panel-head{margin-bottom:12px}
  .risk-card{padding:12px}.risk-card strong{font-size:27px}
  th{padding:8px 9px}td{padding:9px;font-size:12px}
  .filters{gap:8px;margin-bottom:12px}.filters input{max-width:320px}.filters select{max-width:165px}
  .cards{grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:10px}
  .customer-card{padding:14px}.customer-card p{margin:7px 0}.customer-card footer{padding-top:9px}
  .modal{padding:14px}.modal-card{width:min(920px,calc(100vw - 28px));padding:20px;max-height:94vh}
  .modal-card:has(.inspection-workspace-modal){width:min(1240px,calc(100vw - 28px))}
  .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}
  .modal-actions{margin-top:13px}.inspection-modal-actions{bottom:-20px;padding:11px 0 2px}
  .customer-workspace-hero,.site-workspace-hero{padding:18px;margin-bottom:12px;border-radius:14px}
  .customer-workspace-hero h2,.site-workspace-hero h2{font-size:24px}
  .site-metrics{margin-bottom:12px}
  .site-workspace-grid-cards{gap:10px}.site-workspace-card{padding:13px;border-radius:12px}
  .site-workspace-card h3{font-size:18px}.site-workspace-card>p{min-height:0;margin:7px 0}
  .site-workspace-card dl,.site-record-panel dl{gap:6px;margin:10px 0}
  .site-workspace-card dl div,.site-record-panel dl div{padding:8px}
  .site-workspace-card footer{padding-top:9px}
  .inspection-summary-grid{gap:7px;margin:11px 0}.inspection-summary-grid>div{padding:8px}
  .inspection-defects-section{margin-top:14px;padding-top:12px}
  .workspace-modal-head{gap:12px}.locked-banner{margin:8px 0;padding:9px 11px}
  .unified-inspection-hero{padding:20px;border-radius:16px}.unified-inspection-hero h2{font-size:clamp(1.55rem,2.4vw,2.25rem)}
  .workflow-line{margin-top:12px;gap:6px}.workflow-line span{padding:5px 8px}
  .inspection-workspace-tabs{padding:10px 2px 7px;gap:6px}.inspection-workspace-tabs button{padding:8px 10px}
  .inspection-workspace-body,.workspace-section-stack{gap:10px}
  .workspace-detail-grid,.check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
  .workspace-detail-grid>div,.field-profile-grid dl>div,.check-grid label{padding:9px}
  .workflow-note{margin-top:10px;padding:11px}
  .field-profile-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:9px}
  .field-profile-grid article{padding:12px;border-radius:11px}.field-profile-grid dl{gap:6px;margin-bottom:0}
  .evidence-grid{gap:7px}.evidence-grid article{padding:9px}.evidence-icon{width:43px;height:36px}
  .report-readiness-card{gap:14px}.layout-completion-graphic{padding:16px 8px;margin:10px 0}
  .profile-form-section,.rack-profile-modal-section{padding:12px;margin-bottom:9px}
  .rack-profile-form{gap:9px}.profile-grid{gap:10px}.rack-profile-card{min-height:205px;grid-template-columns:125px 1fr}
  .rack-card-body{padding:13px}.rack-card-body h3{font-size:19px}.rack-card-body dl{gap:7px;margin:10px 0}
  .design-hero{padding:20px;margin-bottom:11px}.design-hero h2{font-size:24px}.design-workspace{padding:15px}
}
@media (min-width:1250px){
  .site-workspace-grid-cards,.customer-master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-record-panel dl{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1450px){.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){
  #content{padding:14px}.panel{padding:15px;margin-bottom:11px}.metric{padding:15px}
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea{padding:10px 11px;min-height:44px}
  textarea{min-height:92px}.customer-card,.site-workspace-card{padding:14px}
}

/* v3.1.0 marquee selection, rack addressing and defect-register mapping */
.layout-defect-register{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(210px,auto);align-items:end;gap:8px;margin:8px 0;padding:9px 10px;border:1px solid #d0e1db;border-radius:10px;background:#f5faf8}.layout-defect-register label{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#5d756d}.layout-defect-register select{margin-top:4px;padding:7px 9px}.layout-defect-register button{height:34px;border:1px solid #c7d8d2;border-radius:7px;background:#fff;color:#173f36;font-size:11px;font-weight:800}.layout-defect-register span{align-self:center;color:#587068;font-size:10px;line-height:1.35}.layout-selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:8px 0;padding:8px 10px;border:1px solid #d6e2de;border-radius:10px;background:#f8fbfa}.layout-selection-actions>span{margin-right:4px;padding:5px 8px;border-radius:7px;background:#173f36;color:#fff;font-size:10px}.layout-selection-actions>span b{font-size:13px}.layout-selection-actions button{border:1px solid #cbdad5;border-radius:7px;background:#fff;color:#173f36;padding:6px 8px;font-size:10px;font-weight:800}.layout-selection-actions button:hover:not(:disabled){border-color:#f47a1f;color:#ad4b08}.layout-selection-actions button:disabled{opacity:.42;cursor:not-allowed}.layout-selection-actions.has-selection{border-left:4px solid #f47a1f;background:#fffaf6}.svg-marquee-selection{fill:rgba(244,122,31,.11);stroke:#f47a1f;stroke-width:3;stroke-dasharray:10 6;vector-effect:non-scaling-stroke;pointer-events:none}.svg-marker-callout-line{fill:none;stroke:#4a625a;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.svg-marker-callout-box{fill:rgba(255,255,255,.96);stroke:#8aa29a;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(13,48,39,.12))}.svg-marker-callout-title,.svg-marker-callout-note{font-family:Inter,Arial,sans-serif;fill:#10231f;pointer-events:none}.svg-marker-callout-title{font-size:10px;font-weight:900}.svg-marker-callout-note{font-size:8.5px;font-weight:650;fill:#4c655d}.svg-layout-marker.selected .svg-marker-callout-box{stroke:#f47a1f;stroke-width:3}.svg-rack-address{font-weight:950;letter-spacing:.02em}.selection-summary{display:grid;grid-template-columns:auto 1fr;gap:4px 9px;margin:10px 0;padding:10px;border-radius:9px;background:#fff;border:1px solid #d8e4df}.selection-summary b{font-size:18px;color:#f47a1f}.selection-summary span{align-self:center;font-size:11px;color:#60766f}.linked-defect-card{display:grid;gap:3px;margin:10px 0;padding:9px;border-radius:8px;background:#fff;border:1px solid #d4e2dd}.linked-defect-card b{color:#173f36}.linked-defect-card span,.linked-defect-card small{color:#60776f;font-size:10px;line-height:1.35}
@media(max-width:1050px){.layout-defect-register{grid-template-columns:1fr auto}.layout-defect-register span{grid-column:1/-1}.layout-selection-actions{max-height:112px;overflow:auto}}
@media(max-width:760px){.layout-defect-register{grid-template-columns:1fr}.layout-defect-register button{width:100%}.layout-selection-actions{display:grid;grid-template-columns:1fr 1fr;max-height:none}.layout-selection-actions>span{grid-column:1/-1}.layout-selection-actions button{min-height:38px}}

/* v3.1.0 controlled teams, customer grants and subcontract access */
.team-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.team-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border,#dbe3df);border-radius:12px;background:var(--surface,#fff)}
.team-card h3,.team-card p{margin:0}.team-card .muted{color:var(--muted,#60706a);font-size:.86rem}
.team-stats{display:flex;gap:8px;flex-wrap:wrap}.team-stats span{padding:6px 9px;border-radius:999px;background:#eef4f1;font-size:.8rem}.team-stats b{margin-right:3px}
.access-explainer{display:grid;grid-template-columns:minmax(130px,.45fr) 1fr;gap:9px 14px;align-items:start}.access-explainer b{color:#16372f}.access-explainer span{color:var(--muted,#60706a)}
.access-customer-list{border:1px solid var(--border,#dbe3df);border-radius:10px;padding:10px 12px;max-height:250px;overflow:auto}.access-customer-list legend{font-weight:700;padding:0 5px}.check-row{display:flex!important;align-items:center;gap:9px;padding:7px 3px}.check-row input{width:17px!important;height:17px!important;min-height:17px!important;margin:0}.check-row span{font-weight:500}
@media(max-width:720px){.access-explainer{grid-template-columns:1fr}.team-card-grid{grid-template-columns:1fr}}
.login-card select{width:100%;min-height:42px;border:1px solid var(--border,#cbd8d3);border-radius:9px;padding:9px 11px;background:#fff;font:inherit}

/* v3.1.0 adjustable equal rack spacing and repaired bank rendering */
.layout-spacing-controller{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(120px,.55fr) minmax(130px,.55fr) repeat(4,auto) minmax(190px,.8fr);align-items:end;gap:7px;margin:8px 0;padding:9px 10px;border:1px solid #d6e2de;border-radius:10px;background:#f8fbfa}.layout-spacing-controller.ready{border-left:4px solid #f47a1f;background:#fffaf6}.layout-spacing-controller .spacing-heading{align-self:center}.layout-spacing-controller .spacing-heading b,.layout-spacing-controller .spacing-heading span{display:block}.layout-spacing-controller .spacing-heading b{color:#173f36;font-size:12px}.layout-spacing-controller .spacing-heading span{margin-top:3px;color:#60776f;font-size:9px;line-height:1.35}.layout-spacing-controller label{margin:0;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#60776f}.layout-spacing-controller input,.layout-spacing-controller select{margin-top:4px;padding:6px 7px;min-height:32px}.layout-spacing-controller button{height:34px;border:1px solid #cbdad5;border-radius:7px;background:#fff;color:#173f36;padding:5px 8px;font-size:10px;font-weight:850;white-space:nowrap}.layout-spacing-controller button:hover:not(:disabled){border-color:#f47a1f;color:#ad4b08}.layout-spacing-controller button:disabled{opacity:.4;cursor:not-allowed}.layout-spacing-controller>span{align-self:center;color:#587068;font-size:9px;line-height:1.35}.svg-group-selection-box{fill:rgba(244,122,31,.035);stroke:#f47a1f;stroke-width:3;stroke-dasharray:12 7;vector-effect:non-scaling-stroke;pointer-events:none}.svg-spacing-guide{fill:none;stroke:#f47a1f;stroke-width:3;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;pointer-events:none}.svg-spacing-handle{fill:#f47a1f;stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke;cursor:ew-resize;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}.svg-rack-spacing-group[data-axis="vertical"] .svg-spacing-handle{cursor:ns-resize}.svg-spacing-label{font-family:Inter,Arial,sans-serif;fill:#a94d0d;font-size:11px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:4;pointer-events:none}.svg-selection-box:not(.primary),.svg-selection-line:not(.primary){stroke:#f2a66d;stroke-width:2}.legacy-rack-bank{fill:#fff0e6!important;stroke:#d45d13!important;stroke-dasharray:8 5}
@media(max-width:1320px){.layout-spacing-controller{grid-template-columns:1fr 1fr 1fr repeat(4,auto)}.layout-spacing-controller .spacing-heading{grid-column:1/-1}.layout-spacing-controller>span{grid-column:1/-1}}
@media(max-width:800px){.layout-spacing-controller{grid-template-columns:1fr 1fr}.layout-spacing-controller .spacing-heading,.layout-spacing-controller>span{grid-column:1/-1}.layout-spacing-controller button{min-height:40px;white-space:normal}}

/* v3.1.0 inspection control, report centre, seats, polyline drawing and rack labels */
.inspection-row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:250px}.inspection-row-actions button{min-height:32px;padding:6px 9px;font-size:10px}.inspection-row-actions .danger,.workspace-command-bar .danger,.destructive-dialog .danger,.row-actions .danger{border-color:#d8a7a7;background:#fff5f5;color:#9b2727}.inspection-row-actions .danger:hover,.workspace-command-bar .danger:hover,.destructive-dialog .danger:hover,.row-actions .danger:hover{border-color:#b52626;background:#fff0f0;color:#7f1717}
.workspace-command-bar{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:-2px 0 12px;padding:9px 11px;border:1px solid #d6e2de;border-radius:11px;background:#f8fbfa}.workspace-command-bar button{min-height:34px;padding:7px 10px}.workspace-command-bar button:disabled{opacity:.45;cursor:not-allowed}.destructive-dialog{border-top:5px solid #b52626}.confirm-row{display:flex!important;align-items:flex-start;gap:9px;margin:12px 0!important;padding:10px;border:1px solid #e1c7c7;border-radius:9px;background:#fff8f8}.confirm-row input{width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important}.confirm-row span{font-weight:650;line-height:1.4}.security-note{padding:10px 12px;border-left:4px solid #173f36;border-radius:7px;background:#f2f7f5;color:#425e55;font-size:12px;line-height:1.5}
.seat-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.seat-instructions ol{margin:10px 0 12px;padding-left:21px}.seat-instructions li{margin:8px 0;color:#526a62;line-height:1.45}.seat-instructions li b{color:#173f36}.compact-site-form{align-items:end}.compact-site-form label:has(textarea){grid-column:span 2}.compact-site-form .full-width{grid-column:1/-1}
.report-editor-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:12px;align-items:start}.report-editor-layout>aside{display:grid;gap:10px;position:sticky;top:86px}.report-live-preview{overflow:hidden;border:1px solid #d1ddd8;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(20,55,46,.08)}.report-live-preview header{display:flex;justify-content:space-between;gap:10px;padding:14px 15px;background:#173f36;color:#fff}.report-live-preview header div{display:grid;gap:3px}.report-live-preview header span{font-size:10px;color:#cae0d8}.report-live-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:#dce6e2}.report-live-preview dl div{padding:9px;background:#fff}.report-live-preview dt{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#6a7f77}.report-live-preview dd{margin:3px 0 0;font-size:11px;font-weight:750;color:#173f36}.report-live-preview section{padding:12px 14px;border-top:1px solid #e1e9e6}.report-live-preview h4{margin:0 0 6px;color:#173f36}.report-live-preview p{margin:0;color:#526a62;font-size:11px;line-height:1.5;white-space:pre-wrap}.report-history{padding:12px}.report-history>p{display:grid;grid-template-columns:1fr auto;gap:4px 7px;padding:8px 0;margin:0;border-bottom:1px solid #e2e9e6}.report-history>p:last-child{border-bottom:0}.report-history small{grid-column:1/-1;color:#6b7e77}.report-readiness-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-top:10px}
.polyline-controls{display:none;grid-template-columns:minmax(180px,.55fr) minmax(300px,1.4fr) auto;align-items:center;gap:10px;margin:8px 0;padding:9px 11px;border:1px solid #d7e2de;border-left:4px solid #f47a1f;border-radius:10px;background:#fffaf6}.polyline-controls.show{display:grid}.polyline-controls b{color:#173f36;font-size:12px}.polyline-controls span{color:#5b7169;font-size:10px;line-height:1.4}.polyline-controls>div{display:flex;gap:6px}.polyline-controls button{min-height:34px;padding:6px 9px;border:1px solid #cbdad5;border-radius:7px;background:#fff;color:#173f36;font-size:10px;font-weight:850}.svg-polyline-draft path,.svg-polyline-guide{fill:none;stroke:#f47a1f;stroke-width:4;stroke-dasharray:10 6;vector-effect:non-scaling-stroke;pointer-events:none}.svg-polyline-guide{stroke-width:2;stroke-dasharray:6 5;opacity:.8}.svg-polyline-draft circle{fill:#fff;stroke:#f47a1f;stroke-width:4;vector-effect:non-scaling-stroke;pointer-events:none}.svg-polyline-draft circle.close-ready{fill:#dff3e8;stroke:#147b51}.svg-polyline-draft text{font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:900;fill:#aa4e0e;paint-order:stroke;stroke:#fff;stroke-width:4;pointer-events:none}.svg-polyline-close-text{fill:#147b51!important;font-size:13px!important}.svg-vertex-handle{fill:#fff!important;stroke:#f47a1f!important;stroke-width:4!important;cursor:move}.svg-layout-object.label-target{cursor:crosshair}.svg-layout-object.label-target .svg-rack-body,.svg-layout-object.label-target rect{stroke:#f47a1f!important;stroke-width:4!important;filter:drop-shadow(0 0 4px rgba(244,122,31,.4))}.rack-label-button{margin-bottom:9px}.layout-tools button[data-layout-tool="rack-label"] b{font-size:12px}.layout-tools button[data-layout-tool="rack-label"].active{border-color:#f47a1f;background:#fff5eb;color:#a84e0d}
@media(max-width:1180px){.seat-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-editor-layout{grid-template-columns:1fr}.report-editor-layout>aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.polyline-controls{grid-template-columns:1fr auto}.polyline-controls span{grid-column:1/-1;grid-row:2}}
@media(max-width:820px){.inspection-row-actions{min-width:0}.workspace-command-bar{display:grid;grid-template-columns:1fr 1fr}.workspace-command-bar button{min-height:42px}.seat-metrics{grid-template-columns:1fr 1fr}.compact-site-form label:has(textarea){grid-column:1/-1}.report-editor-layout>aside{grid-template-columns:1fr}.polyline-controls{grid-template-columns:1fr}.polyline-controls span{grid-column:auto;grid-row:auto}.polyline-controls>div{display:grid;grid-template-columns:1fr 1fr}.polyline-controls button{min-height:42px}}
@media(max-width:520px){.workspace-command-bar,.seat-metrics{grid-template-columns:1fr}.inspection-row-actions{display:grid;grid-template-columns:1fr 1fr}.report-live-preview dl{grid-template-columns:1fr}}

/* v3.1.0 top drawing toolbar, icon arrangement controls and hold-to-cancel placement */
body.layout-workspace-active .professional-layout-editor.top-tools-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start}
.top-tools-layout .layout-stage-wrap{grid-column:1;min-width:0}
.top-tools-layout .layout-properties{grid-column:2;grid-row:1;max-height:900px}
.layout-tools.layout-tools-top{display:flex!important;flex-wrap:wrap;align-items:center;gap:7px;max-height:none!important;overflow:visible!important;margin:0 0 10px;padding:9px 10px!important;background:#f5f8f7!important}
.layout-tools-top h3{margin:0 8px 0 0;white-space:nowrap;font-size:12px}
.layout-tool-button-strip{display:flex;align-items:stretch;gap:5px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;flex:1;padding:1px 0 4px}
.layout-tools-top .layout-tool-button-strip>button{width:auto!important;min-width:66px;max-width:88px;min-height:50px;display:grid!important;grid-template-rows:27px auto;justify-items:center;align-content:center;gap:2px;padding:5px 7px!important;text-align:center!important;flex:0 0 auto}
.layout-tools-top .layout-tool-button-strip>button b{width:26px;height:26px}
.layout-tools-top .layout-tool-button-strip>button span{font-size:8.5px;line-height:1.1;white-space:normal}
.layout-tools-top .layout-edit-actions{display:flex;grid-template-columns:none;gap:5px;margin:0 0 0 auto}
.layout-tools-top .layout-edit-actions button{width:auto!important;min-height:34px!important;padding:6px 9px!important}
.layout-tools-top .snap-control{margin:0!important;white-space:nowrap}
.layout-tools-top .tool-help{width:100%;margin:0;padding:7px 0 0;border-top:1px solid #dce7e3}
.layout-tools-top .polyline-controls{width:100%;margin:0}
.layout-selection-actions .layout-icon-button{display:inline-grid;place-items:center;width:36px;height:34px;padding:4px!important}
.layout-selection-actions .layout-icon-button svg{width:25px;height:25px;fill:#547168;stroke:#173f36;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.layout-selection-actions .layout-icon-button .icon-guide{fill:none;stroke:#f47a1f;stroke-width:2.2}
.layout-selection-actions .layout-icon-button .icon-arrow{fill:none;stroke:#173f36;stroke-width:2}
.layout-selection-actions .layout-icon-button:hover:not(:disabled) svg{fill:#f6b98b;stroke:#ad4b08}
.layout-selection-actions .layout-icon-button:disabled svg{opacity:.45}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.placement-gesture-hint{margin-left:auto;padding:4px 8px;border-radius:999px;background:#fff4e8;color:#a64b0d;font-size:9px;font-weight:850;white-space:nowrap}
.svg-layout-canvas.hold-cancel-pending{cursor:progress!important;outline:3px solid rgba(244,122,31,.3);outline-offset:-3px}
@media(max-width:1250px){body.layout-workspace-active .professional-layout-editor.top-tools-layout{grid-template-columns:1fr}.top-tools-layout .layout-properties{grid-column:1;grid-row:auto;max-height:none}.layout-tools-top h3{width:100%}.layout-tool-button-strip{order:2;width:100%}.layout-tools-top .layout-edit-actions{margin-left:0}.layout-tools-top .tool-help{order:8}}
@media(max-width:760px){.layout-tools.layout-tools-top{display:flex!important;padding:7px!important}.layout-tool-button-strip{width:100%;flex-basis:100%}.layout-tools-top .layout-tool-button-strip>button{min-width:62px}.layout-tools-top .snap-control{width:100%}.layout-selection-actions .layout-icon-button{width:100%;height:40px}.placement-gesture-hint{width:100%;margin:4px 0 0;text-align:center}}

/* v3.1.0 dedicated full-height CAD application workspace */
body.layout-workspace-active{overflow:hidden;background:#cfd9d5}
body.layout-workspace-active #portalView.shell{display:block;min-height:100vh}
body.layout-workspace-active #portalView.shell>aside,
body.layout-workspace-active #portalView.shell>main>header{display:none!important}
body.layout-workspace-active #portalView.shell>main{height:100vh;overflow:hidden}
body.layout-workspace-active #content{width:100%;height:100vh;max-width:none;margin:0;padding:0!important;overflow:hidden}
body.layout-workspace-active .design-hero,
body.layout-workspace-active .design-site-context,
body.layout-workspace-active .design-tabs{display:none!important}
body.layout-workspace-active .design-workspace{height:100vh;padding:0!important;border:0;border-radius:0;background:#e3ebe8;overflow:hidden!important}
body.layout-workspace-active .layout-topbar.cad-app-bar{height:68px;margin:0;padding:9px 14px;border:0;border-bottom:1px solid #b8c8c2;border-radius:0;background:#fff;box-shadow:0 3px 12px rgba(16,50,41,.1);position:relative;z-index:5}
body.layout-workspace-active .cad-app-bar h2{font-size:18px;margin:0 0 2px}
body.layout-workspace-active .cad-app-bar p{font-size:10px;margin:0}
body.layout-workspace-active .cad-app-bar .layout-actions{gap:6px;flex-wrap:nowrap}
body.layout-workspace-active .cad-app-bar button{min-height:36px;padding:7px 10px;font-size:10px;white-space:nowrap}
body.layout-workspace-active .cad-close-designer{border-color:#9fb2aa;background:#f4f8f6}
body.layout-workspace-active .professional-layout-editor.cad-layout-editor{display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:0;height:calc(100vh - 68px);margin:0;padding:0;align-items:stretch;background:#d7e1dd}
body.layout-workspace-active .cad-layout-editor .layout-stage-wrap{grid-column:1;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;padding:8px;background:#d7e1dd;overflow:hidden}
body.layout-workspace-active .layout-right-dock{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;height:100%;border-left:1px solid #aebfb8;background:#f7faf9;box-shadow:-5px 0 18px rgba(20,55,46,.09);overflow:hidden;transition:width .18s ease}
body.layout-workspace-active .cad-layout-editor.cad-dock-collapsed{grid-template-columns:minmax(0,1fr) 44px}
body.layout-workspace-active .cad-dock-collapsed .cad-dock-tabs,
body.layout-workspace-active .cad-dock-collapsed .cad-dock-panel,
body.layout-workspace-active .cad-dock-collapsed .cad-dock-heading>div{display:none}
.cad-dock-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:9px 10px;border-bottom:1px solid #d5e0dc;background:#173f36;color:#fff}
.cad-dock-heading div{display:grid;gap:1px}.cad-dock-heading span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#b7d4ca}.cad-dock-heading b{font-size:13px}.cad-dock-heading button{width:30px;height:30px;border:1px solid rgba(255,255,255,.25);border-radius:7px;background:rgba(255,255,255,.08);color:#fff;font-size:20px}
.cad-dock-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0;border-bottom:1px solid #d5e0dc;background:#d5e0dc}
.cad-dock-tabs button{min-width:0;min-height:39px;padding:5px 3px;border:0;background:#eef4f1;color:#49645b;font-size:9px;font-weight:850}.cad-dock-tabs button.active{background:#fff;color:#173f36;box-shadow:inset 0 -3px #f47a1f}
.cad-dock-panel{display:none;min-height:0;padding:10px;overflow:auto}.cad-dock-panel.active{display:block;flex:1}
.cad-insert-tools{position:static!important;display:block!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
.cad-insert-tools .layout-tool-button-strip.cad-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;overflow:visible;padding:0}
.cad-insert-tools .cad-tool-grid>button{display:grid!important;grid-template-columns:34px 1fr!important;grid-template-rows:1fr!important;align-items:center!important;justify-items:start!important;gap:7px!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:44px!important;padding:6px 8px!important;text-align:left!important;border:1px solid #d4e0dc!important;border-radius:8px!important;background:#fff!important;color:#173f36!important}
.cad-insert-tools .cad-tool-grid>button b{display:grid;place-items:center;width:30px!important;height:30px!important;margin:0!important;border-radius:6px;background:#edf4f1;font-size:16px!important}.cad-insert-tools .cad-tool-grid>button span{font-size:9px!important;line-height:1.2!important}.cad-insert-tools .cad-tool-grid>button.active{border-color:#f47a1f!important;background:#fff7f0!important;box-shadow:0 0 0 2px rgba(244,122,31,.12)}.cad-insert-tools .cad-tool-grid>button.active b{background:#f47a1f;color:#fff}
.cad-history-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin:9px 0!important}.cad-history-actions button{width:100%!important;min-height:36px!important;padding:6px!important}
.cad-snap-control{margin:8px 0!important;padding:9px!important;border:1px solid #d5e0dc;border-radius:8px;background:#fff}.cad-insert-tools .tool-help{margin:8px 0 0!important;padding:9px!important;border:1px solid #dce6e2!important;border-radius:8px;background:#f1f6f4;font-size:9px;line-height:1.45}.cad-insert-tools .polyline-controls{grid-template-columns:1fr!important;margin:8px 0 0!important}.cad-insert-tools .polyline-controls>div{display:grid;grid-template-columns:1fr 1fr}
.cad-dock-panel .layout-properties{position:static!important;display:block!important;max-height:none!important;min-height:0;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}.cad-dock-panel .layout-properties h3{margin-top:0}.cad-dock-panel .layout-properties label{font-size:10px;margin:9px 0}.cad-dock-panel .layout-properties input,.cad-dock-panel .layout-properties select,.cad-dock-panel .layout-properties textarea{padding:8px 9px;min-height:36px}.cad-dock-panel .property-grid{grid-template-columns:1fr 1fr;gap:6px}
.cad-dock-panel .professional-stage-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:6px;margin:0;padding:0;border:0;background:transparent}.cad-dock-panel .professional-stage-toolbar label{margin:0}.cad-dock-panel .layout-site-save-banner{display:grid;margin:0 0 10px;padding:10px;border-radius:9px}.cad-dock-panel .multi-building-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 0;padding:0;border:0;background:transparent}.cad-dock-panel .multi-building-actions button{min-height:38px}.cad-dock-panel .multi-building-actions span{grid-column:1/-1;margin:0;padding:8px;border-radius:7px;background:#eef4f1;font-size:9px}
.cad-dock-panel .layout-defect-register{display:grid!important;grid-template-columns:1fr!important;gap:7px;margin:0;padding:0;border:0;background:transparent}.cad-dock-panel .layout-defect-register span{padding:9px;border:1px solid #d5e0dc;border-radius:8px;background:#fff}.cad-dock-panel .layout-defect-register button{width:100%;min-height:38px}
.cad-context-toolbar{flex:0 0 auto;display:grid;gap:5px;margin:0 0 6px}.cad-context-toolbar .layout-selection-actions{margin:0;padding:5px 7px;min-height:43px;border-radius:8px;background:#f8fbfa}.cad-context-toolbar .layout-selection-actions>span{padding:4px 7px}.cad-context-toolbar .layout-selection-actions button{height:32px;min-height:32px}.cad-context-toolbar .layout-selection-actions .cad-command-icon{display:grid;grid-template-columns:auto auto;place-items:center;gap:4px;width:auto;min-width:38px;padding:4px 7px!important}.cad-command-icon>span{font-size:17px;line-height:1}.cad-command-icon>em{font-style:normal;font-size:9px}.cad-context-toolbar .layout-spacing-controller{margin:0;padding:6px 7px;grid-template-columns:minmax(190px,.9fr) 105px 115px repeat(4,auto) minmax(160px,.7fr)}
.cad-canvas-frame{flex:1;min-height:0;display:flex;overflow:hidden;border:1px solid #aebfb8;border-radius:7px;background:#c8d5d0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
body.layout-workspace-active .cad-canvas-frame .svg-layout-scroll{flex:1;width:100%;height:auto!important;min-height:0!important;max-height:none!important;margin:0;border:0;border-radius:0;background:#cbd8d3;overflow:auto;overscroll-behavior:contain}
.cad-statusbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:38px;margin-top:6px;padding:4px 7px;border:1px solid #b9c9c3;border-radius:7px;background:#f8fbfa;overflow-x:auto}.cad-statusbar .layout-scale-strip{display:flex;flex:1;gap:12px;margin:0;padding:0;border:0;background:transparent;white-space:nowrap}.cad-statusbar .layout-active-tool{display:flex;align-items:center;gap:7px;min-width:260px;margin:0;padding:4px 7px;border:0;background:#173f36;color:#fff}.cad-statusbar .layout-active-tool span{font-size:9px}.cad-statusbar .layout-active-tool em{font-size:9px}.cad-statusbar .placement-gesture-hint{display:none}.cad-statusbar .zoom-controls{display:grid;grid-template-columns:auto 30px 42px 30px 48px 55px;align-items:center;gap:4px;min-width:260px;margin-left:auto}.cad-statusbar .zoom-controls button{height:28px;min-height:28px;padding:3px 5px;font-size:9px}
.rack-bank-editor{margin:0 0 12px;padding:10px;border:1px solid #f0b487;border-left:4px solid #f47a1f;border-radius:9px;background:#fff8f1}.rack-bank-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.rack-bank-editor-head div{display:grid}.rack-bank-editor-head span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#9e4c12}.rack-bank-editor-head b{color:#173f36}.rack-bank-editor-head button{min-height:30px;padding:5px 8px;border:1px solid #d8a77e;border-radius:7px;background:#fff;color:#8e430f;font-size:9px;font-weight:850}.rack-bank-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rack-bank-edit-grid label{margin:0}.rack-bank-editor .cad-check-row{display:flex;align-items:flex-start;gap:7px;margin:8px 0;padding:7px;border:1px solid #ead7c8;border-radius:7px;background:#fff}.rack-bank-editor .cad-check-row input{width:17px!important;height:17px!important;min-height:17px!important;margin:1px 0 0}.rack-bank-editor .cad-check-row span{font-size:9px;line-height:1.35}.rack-bank-editor .primary{min-height:38px;padding:8px;font-size:10px}
@media(max-width:1180px){body.layout-workspace-active .professional-layout-editor.cad-layout-editor{grid-template-columns:minmax(0,1fr) 285px}.cad-context-toolbar .layout-spacing-controller{grid-template-columns:1fr 1fr 1fr repeat(4,auto)}.cad-context-toolbar .layout-spacing-controller .spacing-heading,.cad-context-toolbar .layout-spacing-controller>span{grid-column:1/-1}.cad-statusbar .layout-active-tool{min-width:210px}}
@media(max-width:850px){body.layout-workspace-active{overflow:auto}body.layout-workspace-active #content,body.layout-workspace-active .design-workspace{height:auto;min-height:100vh;overflow:visible!important}body.layout-workspace-active .professional-layout-editor.cad-layout-editor{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 68px)}body.layout-workspace-active .cad-layout-editor .layout-stage-wrap{height:72vh;min-height:560px}.layout-right-dock{grid-column:1!important;grid-row:2!important;height:52vh!important;border-left:0!important;border-top:1px solid #aebfb8}.cad-dock-collapsed .layout-right-dock{height:54px!important}.cad-dock-collapsed .cad-dock-heading>div{display:grid}.cad-insert-tools .layout-tool-button-strip.cad-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cad-context-toolbar .layout-selection-actions{overflow-x:auto;flex-wrap:nowrap}.cad-context-toolbar .layout-spacing-controller{display:none}.cad-statusbar .layout-scale-strip{display:none}.cad-statusbar .layout-active-tool{min-width:180px}.cad-statusbar .zoom-controls{min-width:250px}}
@media(max-width:560px){body.layout-workspace-active .cad-app-bar>div:first-child{display:none}.cad-app-bar .layout-actions{width:100%;overflow-x:auto}.cad-insert-tools .layout-tool-button-strip.cad-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rack-bank-edit-grid{grid-template-columns:1fr}.cad-statusbar .layout-active-tool{display:none}.cad-statusbar .zoom-controls{margin:0;min-width:250px}.cad-context-toolbar .layout-selection-actions .cad-command-icon em{display:none}}


/* v2.8 unified inspector-format portal workspace */
.inspector-format-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:10px}.inspector-format-intro h3{margin:.2rem 0}.inspector-format-intro p{margin:.25rem 0}.inspector-embed-status{padding:9px 13px;border:1px solid #c9ddd6;background:#f2faf7;border-radius:9px;font-size:.86rem;margin-bottom:10px}.inspector-app-frame{height:calc(100vh - 310px);min-height:680px;border:1px solid #bdccc6;border-radius:14px;overflow:hidden;background:#eef4f1;box-shadow:0 10px 28px rgba(18,45,38,.12)}.inspector-app-frame iframe{width:100%;height:100%;border:0;background:#fff}@media(max-width:900px){.inspector-format-intro{align-items:flex-start;flex-direction:column}.inspector-app-frame{height:calc(100vh - 260px);min-height:620px}}

.inspector-app-frame.fullscreen{position:fixed;inset:10px;z-index:3000;height:auto;min-height:0;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.35)}

/* v3.1.0 tenant-owned encrypted company backup centre */
.backup-security-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,#123a31,#1d594b);color:#fff;box-shadow:0 12px 30px rgba(16,52,44,.18)}
.backup-security-banner span{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#bfe5d8}.backup-security-banner h2{margin:4px 0 6px}.backup-security-banner p{margin:0;max-width:850px;color:#e5f4ef}.backup-security-banner>b{white-space:nowrap;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.1)}
.backup-grid{align-items:start}.backup-form{display:grid;gap:12px}.backup-form .confirm-row{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d8e5e0;border-radius:12px;background:#f8fbfa}.backup-form .confirm-row input{width:auto;margin-top:3px}.backup-warning{padding:12px 14px;border-left:4px solid #d88a11;border-radius:8px;background:#fff7e5;color:#5b451a}.backup-progress .progress{height:12px}.backup-verify-result{margin-top:14px;padding:14px;border-radius:12px;background:#eef8f4;border:1px solid #b8ddcf}.backup-verify-result b{display:block;color:#123a31}.backup-verify-result p{margin:5px 0}.backup-progress code,#backupHistory code{font-size:.8rem;word-break:break-all}
@media(max-width:760px){.backup-security-banner{align-items:flex-start;flex-direction:column}.backup-security-banner>b{align-self:flex-start}.backup-grid{grid-template-columns:1fr}}


/* v3.1.0 defect-to-layout placement and report cross-reference */
.layout-defect-placement-list{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid #d6e2dd;border-radius:8px;background:#f8fbfa;min-height:80px}
.defect-placement-filter{display:flex;justify-content:space-between;align-items:end;gap:10px}.defect-placement-filter label{margin:0;min-width:150px}.defect-placement-filter span{font-weight:700;color:#31564b}
.defect-placement-rows{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding-right:3px}.defect-placement-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid #d8e4df;border-radius:7px;background:#fff}.defect-placement-row.is-unplaced{border-left:4px solid #d88a11}.defect-placement-row.is-placed{border-left:4px solid #16895d}.defect-placement-row span,.defect-placement-row small{display:block;margin-top:3px;color:#60766f}.defect-placement-row .pill{display:inline-block;margin-left:5px}.defect-permanent-ref{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#173f35;white-space:nowrap}
@media(max-width:850px){.defect-placement-row{grid-template-columns:1fr}.defect-placement-row .row-actions{justify-content:flex-start}.defect-placement-rows{max-height:36vh}}


/* v3.0.4 compact uniform customer and site registers */
.customer-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.customer-list-toolbar h2{margin:0;color:var(--navy);font-size:23px}.customer-list-toolbar p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:12px}.customer-row-filters{margin:0;justify-content:flex-end;align-items:center}.customer-row-filters input{min-width:320px}.record-list{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 6px 20px rgba(7,29,59,.035)}.record-list-head,.record-row{display:grid;align-items:center;column-gap:12px}.record-list-head{min-height:38px;padding:0 14px;background:#f6f8fb;border-bottom:1px solid var(--line);color:#718096;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.customer-record-grid{grid-template-columns:minmax(210px,1.55fr) minmax(145px,1fr) minmax(185px,1.25fr) 72px minmax(150px,1fr) minmax(170px,auto)}.site-record-grid{grid-template-columns:minmax(230px,1.65fr) minmax(170px,1.25fr) minmax(145px,1fr) minmax(125px,.85fr) minmax(145px,1fr) minmax(235px,auto)}.record-row{min-height:74px;padding:10px 14px;border-bottom:1px solid #edf1f5;transition:background .16s,border-color .16s}.record-row:last-child{border-bottom:0}.record-row:hover{background:#fbfcfe}.record-row>div{min-width:0}.record-row b,.record-row span{display:block;overflow-wrap:anywhere}.record-row b{color:var(--navy);font-size:12px}.record-row small{display:block;margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.35}.record-row .pill{display:inline-block;margin-left:4px;vertical-align:middle}.record-primary{display:flex;flex-direction:column;align-items:flex-start}.record-title-button{border:0;background:none;padding:0;color:var(--navy);font-size:15px;font-weight:900;text-align:left;cursor:pointer}.record-title-button:hover{color:var(--orange);text-decoration:underline}.record-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:6px}.record-actions button{white-space:nowrap;padding:8px 10px;min-height:34px}.icon-row-action{width:35px;min-width:35px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:18px;font-weight:900;cursor:pointer}.icon-row-action:hover{border-color:var(--orange);color:var(--orange)}.customer-workspace-compact{padding:17px 19px}.customer-workspace-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.customer-workspace-summary>span{display:flex;flex-direction:column;min-width:88px;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);color:#c8dbd7;font-size:10px}.customer-workspace-summary>span b{color:#fff;font-size:14px}.customer-workspace-summary .primary{margin-left:3px}.site-record-list{margin-bottom:18px}
@media(max-width:1240px){.customer-record-grid{grid-template-columns:minmax(190px,1.45fr) minmax(130px,.9fr) minmax(165px,1.15fr) 58px minmax(135px,.95fr) minmax(155px,auto)}.site-record-grid{grid-template-columns:minmax(205px,1.5fr) minmax(150px,1.05fr) minmax(130px,.9fr) minmax(115px,.8fr) minmax(130px,.9fr) minmax(210px,auto)}.record-row{column-gap:9px;padding-left:11px;padding-right:11px}.record-list-head{column-gap:9px;padding-left:11px;padding-right:11px}}
@media(max-width:980px){.customer-list-toolbar{align-items:stretch;flex-direction:column}.customer-row-filters{justify-content:stretch}.customer-row-filters input{min-width:0;max-width:none;flex:1}.record-list-head{display:none}.customer-record-grid,.site-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-row{align-items:start;gap:9px 16px;padding:14px}.record-row>div{position:relative;padding-top:15px}.record-row>div:before{content:attr(data-label);position:absolute;left:0;top:0;color:#7b8999;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.record-primary{grid-column:1/-1}.record-actions{grid-column:1/-1;justify-content:flex-start!important;padding-top:2px!important}.record-actions:before{display:none}.customer-workspace-summary{justify-content:flex-start}}
@media(max-width:650px){.customer-row-filters{display:grid;grid-template-columns:1fr}.customer-row-filters button{width:100%}.customer-record-grid,.site-record-grid{grid-template-columns:1fr}.record-row{gap:8px}.record-primary,.record-actions{grid-column:auto}.record-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.site-record-row .record-actions{grid-template-columns:42px 1fr 1fr}.record-actions button{width:100%}.customer-workspace-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.customer-workspace-summary .primary{grid-column:1/-1;margin:0}.customer-workspace-summary>span{min-width:0}}


/* v3.1.0 working form controls and visible save state */
input:not(:disabled),select:not(:disabled),textarea:not(:disabled){pointer-events:auto!important;touch-action:manipulation;position:relative;z-index:1}
input:not(:disabled),textarea:not(:disabled){cursor:text;-webkit-user-select:text;user-select:text}
select:not(:disabled),input[type="checkbox"]:not(:disabled),input[type="radio"]:not(:disabled){cursor:pointer}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(244,122,31,.28);outline-offset:1px;border-color:#f47a1f!important;box-shadow:0 0 0 1px #f47a1f}
.form-status{margin:4px 0 0;padding:8px 10px;border-radius:7px;background:#f1f5f3;color:#526b63;font-size:11px;line-height:1.35}
.form-status.dirty,.form-dirty .form-status{background:#fff3dc;color:#8a5500}.form-status.saving{background:#eaf2f8;color:#315f7c}.form-status.saved{background:#e4f3eb;color:#146847}.form-status.error{background:#fde7e7;color:#922f34}

/* v3.1.0 integration reliability, lifecycle and edit-lease controls */
.reliability-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:19px 22px;border-radius:15px;border:1px solid #e0c47a;background:#fff8e7;color:#664d12}.reliability-banner.ok{border-color:#9bd1bd;background:linear-gradient(135deg,#edf9f4,#f8fcfa);color:#174f3d}.reliability-banner.warn{border-color:#e0b46b;background:#fff6e3;color:#754d0e}.reliability-banner h2{margin:3px 0 5px}.reliability-banner p{margin:0}.reliability-banner>b{min-width:70px;padding:10px 13px;border-radius:999px;background:rgba(23,63,53,.1);text-align:center}.reliability-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.reliability-checks{display:grid;gap:9px}.reliability-checks p{display:grid;gap:3px;margin:0;padding:10px 12px;border:1px solid #dbe6e2;border-radius:9px;background:#f8fbfa}.reliability-checks span{font-size:11px;color:#5e756d}.audit-feed{display:grid;gap:7px}.audit-feed article{display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,2fr) auto;gap:12px;align-items:center;padding:9px 11px;border-bottom:1px solid #e7eeeb}.audit-feed article:last-child{border-bottom:0}.audit-feed span,.audit-feed small{color:#667b74}.site-edit-lease-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 11px;padding:10px 12px;border-radius:8px;font-size:11px}.site-edit-lease-banner b{white-space:nowrap}.site-edit-lease-banner.ok{border:1px solid #a8d4c3;background:#edf8f4;color:#175a43}.site-edit-lease-banner.warn{border:1px solid #e4ba72;background:#fff6e5;color:#76500e}.reliability-inspection-card{margin-top:14px;padding-top:14px;border-top:1px solid #dfe8e4}.inspection-history-panel{margin-top:15px}.lifecycle-history{display:grid;gap:8px}.lifecycle-history article{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid #e0e8e5;border-radius:9px;background:#fbfcfc}.lifecycle-history article p{margin:3px 0 0;color:#60766f;font-size:11px}.lifecycle-history article small{color:#6c817a;white-space:nowrap}
@media(max-width:900px){.reliability-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-feed article,.lifecycle-history article{grid-template-columns:1fr}.site-edit-lease-banner{flex-direction:column}.reliability-banner{align-items:flex-start;flex-direction:column}}
