:root{--ink:#17323d;--muted:#687f88;--line:#dbe7e8;--bg:#f3f7f6;--card:#fff;--nav:#102e38;--nav2:#173e48;--teal:#168a79;--teal-soft:#e6f5ef;--blue:#256c9f;--blue-soft:#eaf3f8;--amber:#b47111;--amber-soft:#fff5df;--red:#b34c40;--red-soft:#fff0ed;--shadow:0 10px 30px rgba(20,49,60,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}button,select,input,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #6bbcc1;outline-offset:2px}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#e7f1f1;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:25px 21px 19px}.brand-mark{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#369e92,#235f73);color:white;font-size:15px;font-weight:800;letter-spacing:-1px;box-shadow:0 7px 17px #09242d5c}.brand-mark span{color:#c6e3ce}.brand strong{font-size:16px;letter-spacing:-.3px;display:block}.brand small{display:block;color:#9eb7bd;font-size:11px}.sidebar-caption{color:#84a2ab;text-transform:uppercase;letter-spacing:2px;font-weight:800;font-size:10px;margin:22px 22px 10px}.main-nav{padding:0 11px;display:grid;gap:3px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;border:0;background:none;color:#bcd1d4;text-align:left;padding:12px 13px;border-radius:10px;font-weight:650}.nav-item:hover{background:#ffffff11;color:white}.nav-item.active{background:#e8f7f3;color:#1b5e5b;box-shadow:0 2px 8px #0b242a33}.nav-icon{width:20px;text-align:center;font-size:17px}.nav-item .count{margin-left:auto;color:#d9867b;background:#fff1ed;border-radius:30px;padding:1px 7px;font-size:11px}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff18;padding:18px 21px 24px;color:#9eb7bd;font-size:12px}.sidebar-bottom p{margin:10px 0 12px}.mini-indicator{display:flex;align-items:center;gap:8px;color:#cbe3dc;font-weight:650}.pulse-dot{width:8px;height:8px;background:#6bc0a0;border-radius:50%;box-shadow:0 0 0 4px #6bc0a033}.text-button{background:none;border:0;padding:0;color:#9cddce;text-decoration:underline;text-underline-offset:3px}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{background:#fff;min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(22px,3.1vw,52px);border-bottom:1px solid var(--line);gap:20px}.crumb{display:flex;align-items:center;gap:12px;font-size:13px;color:#4a6771;font-weight:700}.crumb-home{width:24px;height:24px;background:#e8f1f1;border-radius:7px;display:grid;place-items:center;color:#2f7776;font-size:11px}.crumb-sep{color:#aabdc3}.top-actions{display:flex;align-items:center;gap:11px}.select-wrap{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.select-wrap select{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:8px 27px 8px 10px;font-weight:650;max-width:230px}.demo-strip{min-height:42px;display:flex;align-items:center;gap:12px;background:#e7f3f1;border-bottom:1px solid #cfe5df;color:#3b6766;padding:8px clamp(22px,3.1vw,52px);font-size:12px}.demo-strip a{margin-left:auto;white-space:nowrap;font-weight:700;color:#276f79}.demo-pill{background:#256d68;color:#fff;border-radius:4px;padding:3px 6px;font-size:9px;letter-spacing:1px;font-weight:800}.footer{padding:25px clamp(22px,3.1vw,52px);display:flex;justify-content:space-between;gap:16px;color:#8ca0a5;font-size:11px;margin-top:auto}#page-content{width:100%;max-width:1650px;margin:0 auto;padding:34px clamp(22px,3.1vw,52px) 42px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:var(--teal);margin-bottom:8px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px}.page-head h1{font-size:clamp(27px,2.6vw,37px);line-height:1.16;letter-spacing:-1.25px;margin:0 0 8px}.page-head p{margin:0;color:var(--muted);font-size:14px;max-width:760px}.head-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:10px 14px;border:1px solid var(--line);background:#fff;color:#33505a;font-weight:750;text-decoration:none;min-height:39px;transition:transform .15s,box-shadow .15s}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 13px #18363e18}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#176f68;color:#fff;border-color:#176f68}.btn-primary:hover{color:white}.btn-dark{background:#173b49;color:#fff;border-color:#173b49}.btn-danger{background:#b7584a;color:#fff;border-color:#b7584a}.btn-small{min-height:32px;padding:6px 10px;font-size:12px}.btn-outline{background:transparent}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.card-pad{padding:21px}.card-title{font-size:15px;font-weight:800;margin:0 0 5px}.card-sub{font-size:12px;color:var(--muted);margin:0}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:18px}.stack{display:grid;gap:18px}.metric{position:relative;min-height:128px;overflow:hidden}.metric .metric-icon{position:absolute;right:17px;top:16px;font-size:19px;color:#6fa79f;background:#eef8f4;padding:6px 9px;border-radius:9px}.metric-label{font-size:12px;color:var(--muted);font-weight:650}.metric-value{font-size:29px;font-weight:820;line-height:1.2;margin:12px 0 5px;letter-spacing:-1px}.metric-foot{font-size:11px;color:#6d8b8b}.metric.alert .metric-value{color:var(--red)}.metric.warning .metric-value{color:var(--amber)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:29px 0 13px}.section-head h2{font-size:17px;letter-spacing:-.35px;margin:0}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.tag{display:inline-flex;align-items:center;gap:5px;border-radius:30px;padding:4px 9px;font-size:11px;font-weight:750;white-space:nowrap}.tag.ok{background:var(--teal-soft);color:#267761}.tag.warn{background:var(--amber-soft);color:#9e680f}.tag.bad{background:var(--red-soft);color:#a74238}.tag.info{background:var(--blue-soft);color:#2a7099}.tag.gray{background:#edf2f3;color:#607880}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.feature-card{padding:22px;min-height:220px;display:flex;flex-direction:column;gap:8px}.feature-card .feature-icon{height:40px;width:40px;display:grid;place-items:center;border-radius:10px;background:#e7f4f0;color:#257d6f;font-size:20px}.feature-card h3{font-size:16px;margin:5px 0 0}.feature-card p{font-size:12px;color:var(--muted);margin:0}.feature-card .feature-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.row-list{display:grid}.row{padding:13px 17px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e9eff0;min-width:0}.row:last-child{border-bottom:0}.row-main{min-width:0;flex:1}.row-title{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:11px;color:var(--muted);margin-top:2px}.row-icon{width:33px;height:33px;display:grid;place-items:center;flex:none;border-radius:9px;background:#eaf4f1;color:#338878}.row-action{flex:none}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:610px}.data-table th{text-align:left;background:#f7faf9;color:#68818a;font-size:11px;letter-spacing:.3px;padding:11px 15px;font-weight:800}.data-table td{border-top:1px solid #e8eff0;padding:12px 15px;vertical-align:middle}.data-table tbody tr:hover{background:#f9fcfb}.strong{font-weight:760}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.spacer{height:8px}.divider{border-top:1px solid var(--line);margin:18px 0}.callout{padding:16px 17px;border-radius:12px;border:1px solid #cee4de;background:#f0f9f5;color:#3d6c62;font-size:12px}.callout.warn{border-color:#f1dbae;background:#fffaed;color:#84631e}.callout.red{border-color:#f1d2cb;background:#fff4f1;color:#9e5548}.callout strong{color:inherit}.ai-card{border:1px solid #cee6e7;background:linear-gradient(145deg,#f2faf8,#eef6fb);padding:20px}.ai-logo{width:27px;height:27px;background:#2c7a79;color:white;display:grid;place-items:center;border-radius:8px;font-weight:900;font-size:13px}.ai-head{display:flex;align-items:center;gap:9px;margin-bottom:11px;font-weight:820}.ai-card p{margin:0 0 12px;font-size:12px;color:#3a6870}.ai-evidence{font-size:11px;color:#6a8b90;border-top:1px solid #dbeaec;padding-top:9px}.spark{display:flex;gap:4px;align-items:flex-end;height:79px;padding:8px 0 3px}.spark span{flex:1;background:linear-gradient(#80beb1,#d1eae0);border-radius:3px 3px 0 0;min-width:3px}.spark span:nth-last-child(-n+2){background:linear-gradient(#de9b76,#f3d1b9)}.chart-labels{display:flex;justify-content:space-between;color:#8da2a4;font-size:10px}.workflow-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:20px 0}.step{position:relative;text-align:center;padding:14px 5px 11px;border-radius:10px;background:#edf2f2;color:#82969c;font-size:11px;font-weight:750;line-height:1.3}.step::before{content:attr(data-n);display:block;margin:0 auto 7px;width:25px;height:25px;line-height:25px;border-radius:50%;background:#dce6e7;color:#6c868c}.step.done{background:#e4f3ed;color:#267967}.step.done::before{content:'✓';background:#2f9a77;color:white}.step.current{background:#e3f1f1;color:#1f6868;box-shadow:inset 0 0 0 2px #67afa4}.step.current::before{background:#217d74;color:#fff}.action-panel{padding:21px;border:1px solid #c9e0dc;background:#f6fbf9;border-radius:13px}.action-panel h3{margin:0 0 5px;font-size:16px}.action-panel p{margin:0 0 15px;color:var(--muted);font-size:12px}.form-field{display:grid;gap:6px;margin-bottom:13px}.form-field label{font-size:12px;font-weight:750;color:#44636b}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #cadbdd;background:#fff;border-radius:8px;padding:9px 11px;color:var(--ink)}.form-field textarea{min-height:77px;resize:vertical}.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.timeline{display:grid;gap:0}.timeline-item{position:relative;padding:0 0 18px 25px;border-left:2px solid #d8e7e5;margin-left:6px}.timeline-item:last-child{border-left-color:transparent;padding-bottom:0}.timeline-item::before{content:'';position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:#5ba697;border:2px solid #fff}.timeline-title{font-weight:750;font-size:12px}.timeline-meta{color:var(--muted);font-size:11px}.device-controls{display:flex;align-items:center;gap:10px;margin-top:auto}.slider-value{min-width:38px;font-size:20px;font-weight:800}.control-caption{color:var(--muted);font-size:11px}.toggle{display:inline-flex;align-items:center;gap:9px;border:1px solid #cae3db;background:#eff8f3;color:#277b62;border-radius:8px;padding:7px 10px;font-weight:750}.toggle.off{background:#f1f4f4;color:#66808a;border-color:#d9e4e5}.point-label{font-family:ui-monospace,Menlo,monospace;font-size:10px;color:#7e9197}.tenant-hero{background:linear-gradient(120deg,#183f4a,#26766c);color:#fff;border-radius:17px;padding:26px;display:flex;justify-content:space-between;align-items:center;gap:16px}.tenant-hero h2{font-size:23px;margin:3px 0 4px}.tenant-hero p{color:#c2dedc;margin:0;font-size:12px}.tenant-hero .tag{background:#ffffff28;color:#e7fff8}.room-graphic{height:105px;width:165px;border:2px solid #8dc2ae88;border-radius:11px;display:grid;place-items:center;font-size:44px;background:#ffffff10}.integrations{display:grid;gap:11px}.integration{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.integration h3{margin:0;font-size:13px}.integration p{margin:3px 0 0;color:var(--muted);font-size:11px}.integration-symbol{height:34px;width:34px;display:grid;place-items:center;border-radius:9px;background:#eff5f4;color:#2e8174}.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:12px}.flow-node{padding:17px 12px;border-radius:12px;background:#f3f8f7;border:1px solid #d6e6e1;text-align:center;position:relative}.flow-node:not(:last-child)::after{content:'→';position:absolute;right:-14px;top:39%;font-size:19px;color:#74a59c;z-index:2}.flow-node strong{display:block;font-size:12px;margin-bottom:4px}.flow-node span{font-size:11px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#0a2530ae;z-index:50;display:grid;place-items:center;padding:16px}.modal{width:min(510px,100%);background:#fff;border-radius:17px;padding:25px;box-shadow:0 30px 70px #06212d50}.modal h2{margin:0 0 7px;font-size:21px}.modal p{font-size:12px;color:var(--muted);margin:0 0 19px}.modal-footer{display:flex;justify-content:flex-end;gap:9px}.toast{position:fixed;right:25px;bottom:25px;z-index:60;padding:12px 16px;border-radius:10px;background:#183d48;color:#fff;box-shadow:0 10px 25px #12313d40;max-width:340px}.empty-state{padding:48px 25px;text-align:center;background:#fff;border:1px dashed #bdd5d0;border-radius:15px}.empty-state .empty-icon{font-size:33px;margin-bottom:8px}.empty-state h2{font-size:19px;margin:0 0 7px}.empty-state p{color:var(--muted);font-size:12px;max-width:440px;margin:0 auto 18px}.mono{font-family:ui-monospace,Menlo,monospace}.role-hint{font-size:11px;color:#618b8a;margin-top:8px}.highlight{color:#138371}.w-full{width:100%}.nowrap{white-space:nowrap}
.evidence-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:8px 12px;font-size:12px}.evidence-grid dt{color:var(--muted)}.evidence-grid dd{margin:0;overflow-wrap:anywhere}.verification-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:700}.timeline-meta{overflow-wrap:anywhere}
@media(max-width:1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-node::after{display:none}}
@media(max-width:850px){.app-shell{display:block}.sidebar{position:static;height:auto;min-height:0}.brand{padding:13px 18px}.sidebar-caption,.sidebar-bottom{display:none}.main-nav{display:flex;overflow:auto;padding:0 10px 10px;gap:5px}.nav-item{width:auto;white-space:nowrap;padding:8px 11px;font-size:12px}.nav-icon{font-size:14px}.topbar{padding:12px 18px;flex-wrap:wrap}.demo-strip{padding:8px 18px}.split{grid-template-columns:1fr}#page-content{padding:25px 18px 32px}.footer{padding:20px 18px}}
@media(max-width:610px){.top-actions{width:100%;gap:6px}.select-wrap{display:grid;gap:2px;flex:1}.select-wrap select{max-width:none;width:100%;font-size:11px}.demo-strip{font-size:11px}.demo-strip a{display:none}.page-head{display:block}.head-actions{justify-content:flex-start;margin-top:15px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-hero{padding:20px}.room-graphic{display:none}.footer{display:block}.footer span{display:block}.footer span+span{margin-top:4px}.integration{grid-template-columns:32px 1fr}.integration .tag{grid-column:2;justify-self:start}}
/* Facility review workflow extensions. */
.review-modal{max-height:90vh;overflow:auto}.history-details{margin-top:16px;font-size:12px;color:var(--muted)}.history-details summary{cursor:pointer;font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.import-message{color:var(--red);font-size:12px;margin-top:12px}.stack{display:grid;gap:16px}.main-nav{overflow:auto;min-height:0}.form-field input[type=number]{min-width:0}.card p,.callout p{overflow-wrap:anywhere}.review-modal .modal-footer{margin-top:18px}

/* Parent workflow and subprocess review workspace. */
.process-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,3fr);gap:20px;margin:24px 0}.process-case{text-align:left;display:grid;gap:8px;width:100%;color:inherit}.process-case.selected{border:2px solid #218477}.process-step{padding:16px 0;border-top:1px solid #dde5e7}.process-step summary{cursor:pointer;font-weight:600}.process-step .verification-check{display:flex;margin:12px 0}.process-layout .stack{align-content:start}.process-layout details input{max-width:100%}@media(max-width:800px){.process-layout{grid-template-columns:1fr}.process-layout .evidence-grid{grid-template-columns:1fr}.process-case{padding:16px}}

/* Imported evidence workspace; wide source tables scroll inside their card. */
.estate-table{overflow:auto;max-width:100%;margin:16px 0}.estate-table table{width:100%;border-collapse:collapse;font-size:13px}.estate-table th,.estate-table td{padding:12px;border-bottom:1px solid #dde5e7;text-align:left;vertical-align:top;max-width:340px;overflow-wrap:anywhere}.estate-table th{background:#edf4f5}.estate-table small{display:block;margin-top:5px;color:#61747b}.estate-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}.estate-filters label{display:grid;gap:7px;flex:1;min-width:140px}.estate-filters select,.estate-filters input{width:100%;padding:11px;border:1px solid #cedbdf;border-radius:8px;background:white;color:#17332f}.estate-tabs{flex-wrap:wrap;margin:20px 0}.estate-answer{line-height:1.7}.estate-table .tag{margin:3px;white-space:normal}

/* Server-backed local telemetry workspace. */
.runtime-card { margin-bottom: 20px; padding: 24px; }
#runtime-content { padding: 28px; min-width: 0; }
#runtime-content .estate-table-wrap { overflow-x: auto; max-width: 100%; }
#runtime-content .estate-table { min-width: 800px; }
#login-form { max-width: 420px; }
#login-form input { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #ccd8dd; border-radius: 10px; font: inherit; }
#runtime-content h1 { font-size: 28px; }
#runtime-content .section-head { flex-wrap: wrap; }
@media(max-width:600px) { #runtime-content { padding: 14px; } .runtime-card { padding: 16px; } #runtime-content h1 { font-size: 23px; } #identity { font-size: 12px; } }

/* Source-backed transfer views. */
.occupancy-ring{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent,#16736f) var(--occupied),#e4eeee 0);display:grid;place-items:center;margin:20px auto}
.occupancy-ring>div{width:116px;height:116px;background:white;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center}
.occupancy-ring strong{font-size:32px}.occupancy-ring small{font-size:12px;color:#54737b}
.building-card h2{margin-top:8px}.building-card .metric{box-shadow:none;padding:12px}.room-cards .card{min-width:0}.room-cards p,.room-cards dd,.transfer-item p{overflow-wrap:anywhere}.workflow-stage{border-left:4px solid #16736f}.transfer-item[data-transfer-status="missing"]{border-left:4px solid #c78922}.transfer-item:not([data-transfer-status="missing"]){border-left:4px solid #16736f}

/* Full-card drill-down preserves nested form controls and visible keyboard focus. */
.clickable-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.clickable-card:hover{border-color:#16736f;box-shadow:0 4px 16px #102e3814}
.clickable-card:focus-visible{outline:3px solid #16736f;outline-offset:3px}
.clickable-card input,.clickable-card select,.clickable-card textarea{cursor:auto}
.drill-dialog{border:0;max-height:85dvh;overflow:auto;margin:auto;max-width:calc(100vw - 28px)}
.drill-dialog::backdrop{background:#102e3899}.drill-dialog td,.drill-dialog p{overflow-wrap:anywhere}

/* Show every destination at mobile widths instead of hiding tabs off-screen. */
@media(max-width:850px){#main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}#main-nav .nav-item{width:100%;white-space:normal;min-height:40px;text-align:left}#work-area{min-width:0}#work-area .btn{white-space:normal;overflow-wrap:anywhere}#work-area input{min-width:0}}
#work-area{margin-top:18px}#work-area form{max-width:640px}#work-area li,#work-area p{overflow-wrap:anywhere}
