/* Data Views by John Roberts - working app prototype */
:root{--blue:#073b87;--blue2:#0d63b8;--green:#16803b;--purple:#6b3eb8;--orange:#f97316;--amber:#f59e0b;--red:#d9382e;--teal:#009b8e;--bg:#f4f8fc;--line:#d9e4ef;--muted:#667085;--shadow:0 10px 28px rgba(7,59,135,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:#102033}.hidden{display:none!important}.topbar{background:linear-gradient(135deg,var(--blue),#0e5db3);color:#fff;padding:16px 22px;display:flex;justify-content:space-between;gap:14px;align-items:center;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:14px}.logo{width:58px;height:58px;border-radius:14px;background:#0b57b7;display:grid;place-items:center;text-align:center;font-weight:900;line-height:1;border:2px solid rgba(255,255,255,.35)}.logo span{font-size:11px}.topbar h1{margin:0;font-size:25px}.topbar p{margin:4px 0 0;color:#dbeafe;font-size:13px}.top-actions{display:flex;gap:8px;flex-wrap:wrap}.ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}
.layout{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 90px)}.side{background:#fff;border-right:1px solid var(--line);padding:14px;position:sticky;top:0;height:calc(100vh - 90px);overflow:auto}nav{display:grid;gap:8px}nav button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;text-align:left;color:#14325a;font-weight:800;cursor:pointer}nav button:hover,nav button.active{background:#edf6ff;border-color:#86b7ed}main{padding:20px}.panel{background:#fff;border:1px solid #e8eef6;border-radius:18px;box-shadow:var(--shadow);padding:16px;margin-bottom:16px}.panel h2{margin:0 0 12px;color:#0b3672;font-size:20px}.warning{border:1px solid #f6d58d;background:#fff7e6;border-left:6px solid #f59e0b;color:#6f4500;border-radius:14px;padding:13px;margin-bottom:14px}.hint,.empty{color:var(--muted);font-size:13px}.empty{padding:14px;text-align:center}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi{background:#fff;border:1px solid #e8eef6;border-radius:16px;box-shadow:var(--shadow);padding:16px}.kpi small{color:var(--muted);font-weight:800}.kpi strong{display:block;font-size:30px;color:var(--blue);margin:6px 0}.kpi span{font-size:12px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-map{display:grid;grid-template-columns:1.45fr .85fr;gap:16px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.list{display:grid;gap:8px}.item{border:1px solid #e8eef6;background:#fbfdff;border-radius:12px;padding:10px;font-size:13px}.item b{color:#073b87}.pill{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eef6ff;color:#073b87;font-size:12px;font-weight:900}.pill.high{background:#e7f8ed;color:#087136}.pill.medium{background:#fff7e6;color:#9a5a00}.pill.low{background:#fdecec;color:#a81717}
.flow-row{display:flex;align-items:stretch;gap:9px;flex-wrap:wrap}.flow-row div{flex:1;min-width:145px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;padding:12px;text-align:center}.flow-row b{display:block;color:#073b87}.flow-row span{font-size:12px;color:var(--muted)}.flow-row i{font-style:normal;display:grid;place-items:center;color:#789;font-size:22px;font-weight:900}.tool-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.tool-row button,.layer-actions button,.filebtn{border:1px solid #cbd5e1;background:#f8fafc;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:900;color:#0b3672;cursor:pointer}.tool-row button.red{border-color:#ef4444;color:#b91c1c}.tool-row input,.tool-row select{max-width:360px}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;min-height:38px;font-family:Segoe UI,Arial,sans-serif}textarea{min-height:90px;resize:vertical}button{font-family:inherit}
#map{height:570px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#dbeafe}.dvMarker{width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}.marker-gf{background:#16803b}.marker-lr{background:#0d63b8}.marker-llpg{background:#6b3eb8}.marker-fm{background:#f97316}.marker-housing{background:#f59e0b}.capture{border:1px solid var(--line);border-radius:14px;background:#fbfdff;padding:12px;margin-top:12px}.capture h3{margin:0 0 8px;color:#0b3672}.capture-row{display:grid;grid-template-columns:80px 1fr auto;gap:8px;align-items:center}.layer-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.layer-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid #edf2f7;border-radius:10px;padding:8px;margin-bottom:7px;font-size:13px}.layer-row small{display:block;color:var(--muted)}.tag{font-size:10px;border-radius:999px;background:#eef6ff;color:#073b87;font-weight:900;padding:3px 7px;text-transform:uppercase}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:9px;border-bottom:1px solid #e8eef6;font-size:13px}th{background:#f2f6fb;color:#29486b;font-size:12px;text-transform:uppercase}tr:hover{background:#fbfdff}.actions{display:flex;gap:6px}.actions button{font-size:11px;padding:6px 8px;border:1px solid #cbd5e1;background:#fff;border-radius:8px;cursor:pointer}.srcTag{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;color:#fff}.srcGF{background:#16803b}.srcLLPG{background:#6b3eb8}.srcFM{background:#f97316}.srcLR{background:#0d63b8}.srcH{background:#f59e0b}.srcLegal{background:#009b8e}.asset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.asset-box{border:1px solid #e8eef6;border-radius:10px;background:#fff;padding:8px;font-size:12px}.asset-box b{display:block;color:#073b87}.connection{display:grid;grid-template-columns:80px 1fr auto;gap:8px;border-bottom:1px solid #e8eef6;padding:8px 0;font-size:13px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid label,.dialog-form label{display:grid;gap:5px;font-size:12px;font-weight:900;color:#0b3672}.formgrid .wide,.dialog-form .wide{grid-column:1/-1}.filebtn input{display:none}
.tech{display:grid;grid-template-columns:1fr 45px 1.2fr 45px 1fr;gap:12px;align-items:center;background:radial-gradient(circle at top left,#12386b,#07182d);border-radius:20px;padding:16px;color:#e8f1ff}.tech-col{display:grid;gap:10px}.tech-card,.bus,.hub{border:1px solid rgba(146,186,255,.25);background:rgba(255,255,255,.06);border-radius:16px;padding:12px}.tech-card b,.hub b{display:block;color:#fff}.tech-card span,.hub span{font-size:12px;color:#bdd3f6}.tech-arrow{color:#8fc0ff;font-size:24px;text-align:center;font-weight:900}.bus h3{margin:0 0 10px;color:#fff}.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.chips span{background:rgba(6,25,50,.58);border:1px solid rgba(143,192,255,.25);border-radius:11px;padding:8px;font-size:12px}.hub{background:rgba(20,92,190,.35);text-align:center}.out{background:rgba(255,255,255,.04)}.before{border-top:6px solid var(--red)}.after{border-top:6px solid var(--green)}.before li,.after li{margin:8px 0}
dialog{border:0;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-width:720px;width:min(720px,94vw)}.dialog-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-form h2{grid-column:1/-1;margin:0 0 8px;color:#073b87}.dialog-form menu{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin:8px 0 0;padding:0}.dialog-form menu button{border:1px solid #cbd5e1;background:#f8fafc;border-radius:9px;padding:9px 12px;font-weight:900;color:#0b3672}
@media(max-width:900px){.topbar{padding:12px 14px;align-items:flex-start}.topbar h1{font-size:20px}.topbar p{font-size:12px}.top-actions{display:none}.layout{display:block}.side{height:auto;position:relative;border-right:0;border-bottom:1px solid var(--line);padding:10px}nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}nav button{min-width:165px;white-space:nowrap;font-size:12px}.kpis{grid-template-columns:repeat(2,1fr)}main{padding:12px}.grid2,.grid-map,.cards,.formgrid,.tech{grid-template-columns:1fr}.tech-arrow{display:none}.chips{grid-template-columns:1fr}#map{height:420px}.panel{padding:13px;border-radius:14px}.dialog-form{grid-template-columns:1fr}.asset-grid{grid-template-columns:1fr}.connection,.capture-row{grid-template-columns:70px 1fr}.connection span:last-child,.capture-row button{grid-column:2}.flow-row i{display:none}}
@media(max-width:430px){.kpis{grid-template-columns:1fr}#map{height:380px}.logo{width:48px;height:48px}.brand{align-items:flex-start}.panel h2{font-size:18px}}
.uploadNote{border:1px solid #d9e4ef;background:#fbfdff;border-left:5px solid #0d63b8;border-radius:12px;padding:10px;margin:10px 0;font-size:13px;color:#29486b}

.uploadPreview{border:1px solid #d9e4ef;background:#fbfdff;border-radius:12px;padding:10px;font-size:12px;color:#29486b;max-height:220px;overflow:auto}.uploadPreview table{min-width:0;width:100%;font-size:11px}.uploadPreview th,.uploadPreview td{padding:6px}

.coordGood{color:#087136;font-weight:800}.coordBad{color:#a81717;font-weight:800}.coordWarn{color:#9a5a00;font-weight:800}

.marker-upload{background:#0891b2}
.marker-custom{background:#64748b}
.layerBadge{display:inline-flex;border-radius:999px;background:#eef6ff;color:#073b87;padding:3px 7px;font-size:11px;font-weight:900}

.uploadPanel{border:1px solid #cbd5e1;background:#f8fbff;border-left:6px solid #073b87;border-radius:16px;padding:14px;margin-bottom:14px}
.uploadPanel h3{margin:0 0 10px;color:#073b87}
.uploadPreview{border:1px solid #d9e4ef;background:#fff;border-radius:12px;padding:10px;font-size:12px;color:#29486b;max-height:220px;overflow:auto}

.spatialGeomTag{display:inline-flex;border-radius:999px;background:#e0f2fe;color:#075985;padding:3px 7px;font-size:11px;font-weight:900}

.layer-row{grid-template-columns:auto 1fr auto!important}
.layerStyleControls{grid-column:2/4;display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.layerStyleControls select{font-size:12px;min-height:32px;padding:6px 8px}
.dvMarker{width:24px;height:24px;border-radius:999px;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:900;line-height:1}
.dvMarker.icon-circle{border-radius:999px}
.dvMarker.icon-square{border-radius:5px}
.dvMarker.icon-diamond{border-radius:5px;transform:rotate(45deg)}
.dvMarker.icon-diamond .iconGlyph{transform:rotate(-45deg)}
.dvMarker.icon-triangle{border-radius:0;clip-path:polygon(50% 0,0 100%,100% 100%);border:0;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.dvMarker.icon-pin{border-radius:999px 999px 999px 4px;transform:rotate(-45deg)}
.dvMarker.icon-pin .iconGlyph{transform:rotate(45deg)}
.dvMarker.icon-building,.dvMarker.icon-garage,.dvMarker.icon-house,.dvMarker.icon-land,.dvMarker.icon-warning{width:28px;height:28px;border-radius:8px;font-size:15px}
.dvMarker.icon-warning{border-radius:999px}
.iconGlyph{display:block;pointer-events:none}

.dangerBtn{border-color:#ef4444!important;background:#fff1f2!important;color:#b91c1c!important}
.dangerBtn:hover{background:#fee2e2!important}

.appLogo{width:76px;height:76px;border-radius:16px;object-fit:contain;background:#fff;padding:4px;border:1px solid rgba(255,255,255,.45);box-shadow:0 6px 16px rgba(0,0,0,.12)}
@media(max-width:900px){.appLogo{width:62px;height:62px;border-radius:14px}}
@media(max-width:430px){.appLogo{width:54px;height:54px}}

.brandPreview{display:flex;align-items:center;gap:14px}
.brandPreview img{width:120px;height:120px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid #e8eef6}
.brandPreview h2{margin-bottom:4px}
@media(max-width:600px){.brandPreview{display:block}.brandPreview img{width:100px;height:100px;margin-top:8px}}

.popupInfoTable{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}
.popupInfoTable th,.popupInfoTable td{border-bottom:1px solid #e8eef6;padding:4px 5px;text-align:left;vertical-align:top}
.popupInfoTable th{color:#29486b;width:90px;background:#f8fafc}
.popupProps{max-height:160px;overflow:auto;border:1px solid #e8eef6;border-radius:8px;margin-top:6px}
.popupProps table{margin:0}
.assetExtra{margin-top:10px;border:1px solid #e8eef6;border-radius:10px;background:#fbfdff;padding:8px;font-size:12px}
.assetExtra b{color:#073b87}

.quotaNote{border:1px solid #f6d58d;background:#fff7e6;border-left:6px solid #f59e0b;color:#6f4500;border-radius:12px;padding:10px;margin:10px 0;font-size:13px}



.mapFullControls{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.exitFullBtn{display:none}
.mapWindowFullscreen .exitFullBtn{display:inline-flex}
.mapWindowFullscreen #map{position:fixed!important;inset:12px!important;width:auto!important;height:auto!important;min-height:0!important;z-index:9999;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.35)}
.mapWindowFullscreen .mapFullControls{position:fixed;top:22px;left:22px;z-index:10000;background:white;border:1px solid #d9e4ef;border-radius:14px;padding:8px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
body.mapWindowFullscreen{overflow:hidden}
@media(max-width:700px){
  .mapWindowFullscreen #map{inset:8px!important;border-radius:14px}
  .mapWindowFullscreen .mapFullControls{top:14px;left:14px;right:14px}
}

.mapFullControls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin:10px 0 12px;
}
.mapActionBtn{
  border:0!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.01em;
  box-shadow:0 8px 18px rgba(7,59,135,.18);
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.mapActionBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(7,59,135,.24);
  filter:brightness(1.03);
}
.mapExpandBtn{
  background:linear-gradient(135deg,#073b87,#0d63b8)!important;
  color:#fff!important;
}
.mapReturnBtn{
  background:linear-gradient(135deg,#334155,#64748b)!important;
  color:#fff!important;
}
.baseMapPicker{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #d9e4ef;
  background:#fff;
  color:#073b87;
  border-radius:999px;
  padding:6px 10px 6px 12px;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(7,59,135,.10);
}
.baseMapPicker select{
  border:0;
  background:#eef6ff;
  color:#073b87;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
  min-height:32px;
}
.mapWindowFullscreen .mapFullControls{
  position:fixed;
  top:22px;
  left:22px;
  z-index:10000;
  background:rgba(255,255,255,.94);
  border:1px solid #d9e4ef;
  border-radius:18px;
  padding:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.exitFullBtn{display:none}
.mapWindowFullscreen .exitFullBtn{display:inline-flex}
@media(max-width:700px){
  .mapFullControls{gap:7px}
  .baseMapPicker{width:100%;justify-content:space-between;border-radius:14px}
  .baseMapPicker select{max-width:180px}
  .mapWindowFullscreen .mapFullControls{top:14px;left:14px;right:14px}
}

/* Central Hub document-style design */
.topbar{background:linear-gradient(135deg,#ffffff,#eef7ff)!important;color:#0b2f63!important;border-bottom:1px solid #d9e4ef}
.topbar h1{color:#073b87!important;font-size:28px!important;letter-spacing:.01em}
.topbar p{color:#16803b!important;font-weight:800!important}
.side{background:#f8fbff!important}
.side nav button.active{background:#e9f7f0!important;border-color:#31a365!important;color:#073b87!important}
.hubHero{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,#f3fbff);border:1px solid #d9e4ef;border-radius:20px;padding:18px 22px;margin-bottom:16px;box-shadow:0 12px 28px rgba(7,59,135,.08)}
.hubHeroText .eyebrow{font-size:13px;font-weight:900;letter-spacing:.12em;color:#073b87;text-transform:uppercase}
.hubHero h2{font-size:34px;margin:4px 0 2px;color:#073b87}
.hubHero p{margin:0;color:#35516f;font-weight:700;max-width:760px}
.hubHeroLogo img{width:120px;height:120px;object-fit:contain;border-radius:18px;background:white;border:1px solid #e8eef6}
.hubDiagram{display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:18px;align-items:stretch}
.hubColumn{border:1px solid #d9e4ef;background:#fff;border-radius:18px;padding:16px;position:relative}
.hubColumn h3{margin:0;color:#073b87;text-transform:uppercase;font-size:15px;letter-spacing:.04em;text-align:center}
.sourceStack,.outcomeStack{display:grid;gap:8px;margin-top:12px}
.sourceStack div,.outcomeStack div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:2px solid #d5ebe2;background:#fcfffd;border-radius:12px;padding:7px 9px;min-height:40px}
.sourceStack b,.outcomeStack b{font-size:12px;color:#17365c}
.sourceStack small{font-size:10px;color:#16803b;font-weight:900;text-transform:uppercase}
.sourceDot{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;color:white;font-size:9px;font-weight:900;background:#0d63b8}
.sourceDot.dm,.sourceDot.lt,.sourceDot.gm{background:#23a26d}.sourceDot.lr,.sourceDot.hi,.sourceDot.gs{background:#0d63b8}.sourceDot.pl,.sourceDot.ll{background:#7c3ab4}.sourceDot.fm{background:#f97316}.sourceDot.ho{background:#f5a300}.sourceDot.le{background:#009b8e}.sourceDot.oa{background:#102033}
.hubCentre{background:#f8fbff;border:2px solid #8cb8dc}
.readOnlyBadge{border:1px solid #d9e4ef;background:#fff;border-radius:14px;padding:12px;color:#073b87;font-weight:900;margin:14px 0}
.readOnlyBadge span{font-weight:600;color:#667085}
.masterRecord{border:3px solid #0d63b8;border-radius:16px;background:white;min-height:165px;display:grid;place-items:center;text-align:center;padding:16px;color:#073b87;font-weight:900}
.masterRecord span{font-size:18px}
.recordIcon{width:68px;height:48px;background:linear-gradient(180deg,#0d63b8,#073b87);border-radius:50%/18%;box-shadow:0 16px 0 #0b4d99,0 32px 0 #073b87;margin:8px 0 28px}
.matchBox{border:1px solid #d9e4ef;background:#fff;border-radius:14px;margin-top:14px;padding:12px;text-align:center}
.matchBox b{display:block;color:#073b87;text-transform:uppercase;font-size:12px}
.matchBox span{font-size:12px;color:#667085}
.miniChecks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.miniChecks div{border:1px solid #c9e9df;border-radius:12px;background:white;padding:9px;text-align:center}
.miniChecks div:nth-child(3){border-color:#f0c4c4}
.miniChecks b{display:block;color:#16803b;text-transform:uppercase;font-size:11px}
.miniChecks span{font-size:10px;color:#667085}
.outcomeStack div{grid-template-columns:auto 1fr;border-color:#b6e5d4}
.outcomeStack span{background:#19a472;color:white;border-radius:999px;min-width:48px;height:28px;display:grid;place-items:center;font-size:9px;font-weight:900}
.outcomeStack div:nth-child(2) span{background:#0f9d92}.outcomeStack div:nth-child(3) span{background:#0d63b8}.outcomeStack div:nth-child(4) span{background:#7c3ab4}.outcomeStack div:nth-child(5) span{background:#f97316}
.roleChips{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;justify-content:center}
.roleChips span{background:#f1f5f9;border:1px solid #d9e4ef;border-radius:999px;padding:6px 8px;font-size:10px;color:#073b87;font-weight:900}
.principles h3{margin:0 0 10px;color:#073b87;text-transform:uppercase}
.principleGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.principleGrid div{border-left:1px solid #d9e4ef;padding:8px 10px}
.principleGrid b{display:block;color:#073b87;font-size:12px}
.principleGrid span{font-size:11px;color:#667085}
.masterRecordIntro,.qualityIntro{display:flex;gap:12px;align-items:center;border:1px solid #d9e4ef;background:#f8fbff;border-left:6px solid #0d63b8;border-radius:14px;padding:12px;margin-bottom:12px}
.masterRecordIntro b,.qualityIntro b{color:#073b87}
.masterRecordIntro span,.qualityIntro span{color:#667085;font-size:13px}
@media(max-width:1100px){.hubDiagram{grid-template-columns:1fr}.principleGrid{grid-template-columns:1fr 1fr}.hubHero{align-items:flex-start}.hubHeroLogo img{width:92px;height:92px}}
@media(max-width:600px){.hubHero{display:block}.hubHeroLogo img{margin-top:10px}.principleGrid,.miniChecks{grid-template-columns:1fr}.hubHero h2{font-size:26px}.sourceStack div{grid-template-columns:auto 1fr}}

.sampleBtn{border-color:#0d63b8!important;background:#eef6ff!important;color:#073b87!important;font-weight:900!important}
.layerCount{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#f1f5f9;border:1px solid #d9e4ef;color:#334155;padding:3px 7px;font-size:11px;font-weight:900}
.layerCount.emptyLayer{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.layerCount.hasData{background:#ecfdf5;border-color:#bbf7d0;color:#166534}

.demoFiguresNote{display:block;font-size:10.5px;color:#9a5a00;font-weight:800;margin-top:4px}
.sourceStack small{font-size:10px!important;line-height:1.15!important;text-align:right;max-width:92px}
.sourceDot.gf{background:#16803b}
@media(max-width:1100px){.sourceStack small{max-width:140px}}

.layerGroup{border:1px solid #d9e4ef;border-radius:16px;background:#fbfdff;margin:12px 0;overflow:hidden}
.layerGroupHeader{display:flex;justify-content:space-between;align-items:center;gap:10px;background:linear-gradient(135deg,#eef6ff,#f7fff9);border-bottom:1px solid #d9e4ef;padding:10px 12px}
.layerGroupHeader b{display:block;color:#073b87;font-size:14px}
.layerGroupHeader span{font-size:11px;color:#667085;font-weight:800}
.layerGroupActions{display:flex;gap:6px;flex-wrap:wrap}
.layerGroupActions button{font-size:11px;padding:6px 8px;border-radius:999px;background:#fff;border:1px solid #cbd5e1;color:#073b87;font-weight:900}
.groupedLayerRow{border:0!important;border-bottom:1px solid #e8eef6!important;border-radius:0!important;background:#fff!important}
.groupedLayerRow:last-child{border-bottom:0!important}
.layerIdentity small strong{color:#073b87}
.layerCount{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#f1f5f9;border:1px solid #d9e4ef;color:#334155;padding:3px 7px;font-size:11px;font-weight:900}
.layerCount.emptyLayer{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.layerCount.hasData{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
@media(max-width:760px){
  .layerGroupHeader{display:block}
  .layerGroupActions{margin-top:8px}
}

.groupToggleBtn{width:32px;height:32px;border-radius:999px!important;border:1px solid #cbd5e1!important;background:#fff!important;color:#073b87!important;display:grid!important;place-items:center!important;font-weight:900!important;padding:0!important;box-shadow:0 4px 10px rgba(7,59,135,.10)}
.groupToggleBtn:hover{background:#eef6ff!important;transform:translateY(-1px)}
.chevron{font-size:13px;line-height:1}
.layerGroupHeader{cursor:default}
.layerGroupTitle{flex:1;cursor:pointer}
.layerGroup.collapsed .layerGroupBody{display:none}
.layerGroup.collapsed .layerGroupHeader{border-bottom:0}
.layerGroup.collapsed{box-shadow:0 6px 16px rgba(7,59,135,.06)}

.layerGroupHeader{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important}
@media(max-width:760px){.layerGroupHeader{grid-template-columns:auto 1fr!important}.layerGroupActions{grid-column:1/3}}

.masterLinkIntro{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-left:6px solid #0d63b8;border-radius:16px;padding:14px;margin-bottom:12px}
.masterLinkIntro .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#073b87;text-transform:uppercase;margin-bottom:4px}
.masterLinkIntro b{display:block;color:#073b87;font-size:16px}
.masterLinkIntro p{margin:5px 0 0;color:#667085;font-size:13px}
.masterLinkIntro button{white-space:nowrap;background:#073b87!important;color:#fff!important;border-color:#073b87!important;border-radius:999px!important;padding:10px 14px!important;font-weight:900!important}
.matchSelectedSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.matchSummaryCard{border:1px solid #e8eef6;background:#fff;border-radius:14px;padding:12px}
.matchSummaryCard small{display:block;color:#667085;font-size:11px;font-weight:900;text-transform:uppercase}
.matchSummaryCard b{display:block;color:#073b87;font-size:14px;word-break:break-word}
.linkIndexFlow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center}
.flowBox{border:2px solid #d9e4ef;border-radius:18px;background:#fff;padding:16px;min-height:110px;display:grid;align-content:center;text-align:center}
.flowBox b{display:block;color:#073b87;font-size:16px}
.flowBox span{display:block;color:#667085;font-size:12px;margin-top:6px}
.indexBox{border-color:#0d63b8;background:#eef6ff}
.sourceBox{border-color:#16803b;background:#f3fff8}
.recordBox{border-color:#7c3ab4;background:#fbf7ff}
.flowArrow{font-size:28px;color:#0d63b8;font-weight:900}
.matchStatus{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;white-space:nowrap}
.matchConfirmed{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.matchLikely{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.matchMissing{background:#f8fafc;color:#475569;border:1px solid #cbd5e1}
.matchConflict{background:#fff1f2;color:#b91c1c;border:1px solid #fecdd3}
.matchReview{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.linkExamples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.linkExamples div{border:1px solid #d9e4ef;background:#fbfdff;border-radius:14px;padding:12px}
.linkExamples b{display:block;color:#073b87}
.linkExamples span{display:block;color:#667085;font-size:12px;margin-top:5px}
.conflictCard{border:1px solid #e8eef6;border-left:6px solid #cbd5e1;background:#fff;border-radius:12px;padding:10px}
.conflictCard.conflict{border-left-color:#b91c1c;background:#fff8f8}
.conflictCard.review{border-left-color:#f59e0b;background:#fffaf0}
.conflictCard.confirmed{border-left-color:#16803b;background:#f7fff9}
.conflictCard b{display:block;color:#073b87}
.conflictCard span{display:block;color:#667085;font-size:12px}
@media(max-width:900px){.matchSelectedSummary{grid-template-columns:repeat(2,1fr)}.linkIndexFlow{grid-template-columns:1fr}.flowArrow{transform:rotate(90deg);text-align:center}.linkExamples{grid-template-columns:1fr}.masterLinkIntro{display:block}.masterLinkIntro button{margin-top:10px}}
@media(max-width:520px){.matchSelectedSummary{grid-template-columns:1fr}}

.flowIntro{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#fffdf5);border-left:6px solid #7c3ab4;border-radius:16px;padding:14px;margin-bottom:12px}
.flowIntro .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#7c3ab4;text-transform:uppercase;margin-bottom:4px}
.flowIntro b{display:block;color:#073b87;font-size:16px}
.flowIntro p{margin:5px 0 0;color:#667085;font-size:13px}
.flowIntro button{white-space:nowrap;background:#7c3ab4!important;color:#fff!important;border-color:#7c3ab4!important;border-radius:999px!important;padding:10px 14px!important;font-weight:900!important}
.fmeCanvas{display:grid;grid-template-columns:1fr 1fr 1.1fr 1fr;gap:14px;position:relative}
.flowLane{border:1px solid #d9e4ef;border-radius:18px;background:#fbfdff;padding:12px;display:grid;gap:10px;align-content:start;position:relative}
.flowLane h3{margin:0 0 4px;text-align:center;color:#073b87;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.fmeNode{border:2px solid #d9e4ef;border-radius:14px;background:#fff;padding:11px;min-height:68px;position:relative;box-shadow:0 8px 18px rgba(7,59,135,.07)}
.fmeNode:after{content:'→';position:absolute;right:-19px;top:50%;transform:translateY(-50%);color:#0d63b8;font-weight:900;font-size:18px}
.outputLane .fmeNode:after{display:none}
.fmeNode b{display:block;color:#073b87;font-size:13px}
.fmeNode span{display:block;color:#667085;font-size:11px;margin-top:4px;line-height:1.25}
.fmeNode.source{border-color:#bfe8cf;background:#f7fff9}
.fmeNode.transform{border-color:#bfdbfe;background:#eff6ff}
.fmeNode.indexNode{border-color:#0d63b8;background:#eef6ff}
.fmeNode.output{border-color:#c4b5fd;background:#fbf7ff}
.fmeNode.warningNode{border-color:#fecdd3;background:#fff1f2}
.fmeNode.reviewNode{border-color:#fed7aa;background:#fff7ed}
.fmeNode.big{min-height:116px;display:grid;place-items:center;text-align:center}
.linkChips{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.linkChips span{border-radius:999px;background:#fff;border:1px solid #bfdbfe;color:#073b87;font-size:10px;font-weight:900;padding:5px 7px}
.routeStack,.failureStack{display:grid;gap:10px}
.routeStack div,.failureStack div{border:1px solid #d9e4ef;border-radius:14px;background:#fff;padding:12px}
.routeStack b,.failureStack b{display:block;color:#073b87}
.routeStack span,.failureStack span{display:block;color:#334155;font-size:12px;margin-top:4px}
.routeStack em{display:block;color:#667085;font-size:11px;font-style:normal;margin-top:5px}
.failureStack .fail{border-left:6px solid #b91c1c;background:#fff8f8}
.failureStack .warn{border-left:6px solid #f59e0b;background:#fffaf0}
.failureStack .ok{border-left:6px solid #16803b;background:#f7fff9}
.ruleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ruleGrid div{border:1px solid #d9e4ef;border-radius:14px;background:#fff;padding:12px;text-align:center}
.ruleGrid b{display:block;color:#073b87}
.ruleGrid span{display:block;color:#334155;font-size:12px;margin:5px 0}
.ruleGrid small{display:inline-flex;border-radius:999px;background:#eef6ff;color:#073b87;font-weight:900;padding:5px 8px}
@media(max-width:1150px){.fmeCanvas{grid-template-columns:1fr 1fr}.transformLane .fmeNode:after,.sourceLane .fmeNode:after{display:none}.ruleGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.fmeCanvas,.ruleGrid{grid-template-columns:1fr}.fmeNode:after{display:none}.flowIntro{display:block}.flowIntro button{margin-top:10px}}


.laymanPanel{border-left:6px solid #16803b}
.plainExplain{display:grid;grid-template-columns:1fr 1.1fr;gap:14px;align-items:stretch}
.plainLead,.plainExample{border:1px solid #d9e4ef;background:#fbfdff;border-radius:16px;padding:14px}
.plainLead b{display:block;color:#073b87;font-size:17px}
.plainLead p,.plainExample p{color:#334155;margin:8px 0 0;line-height:1.45}
.plainExample h3{margin:0 0 10px;color:#073b87}
.addressExample{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.addressBadge{grid-column:1/3;display:block;background:#073b87;color:#fff;border-radius:999px;padding:8px 10px;text-align:center;font-weight:900}
.addressExample div{border:1px solid #d9e4ef;background:#fff;border-radius:12px;padding:9px}
.addressExample b{display:block;color:#073b87}
.addressExample small{color:#667085;font-weight:800}
.plainLinkGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.plainLinkGrid div{border:1px solid #d9e4ef;background:#fff;border-radius:14px;padding:12px}
.plainLinkGrid b{display:block;color:#16803b}
.plainLinkGrid span{display:block;color:#334155;font-size:12px;margin-top:5px}
.managerMessage{border-left:6px solid #7c3ab4;background:#fbf7ff}
.managerMessage p{font-size:15px;line-height:1.5;color:#334155}
.managerMessage b{color:#073b87}
@media(max-width:900px){.plainExplain,.plainLinkGrid{grid-template-columns:1fr}.addressExample{grid-template-columns:1fr}.addressBadge{grid-column:auto}}

.pathIntro{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-left:6px solid #0d63b8;border-radius:16px;padding:14px;margin-bottom:12px}
.pathIntro .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#073b87;text-transform:uppercase;margin-bottom:4px}
.pathIntro b{display:block;color:#073b87;font-size:16px}
.pathIntro p{margin:5px 0 0;color:#667085;font-size:13px}
.pathIntro button{white-space:nowrap;background:#073b87!important;color:#fff!important;border-color:#073b87!important;border-radius:999px!important;padding:10px 14px!important;font-weight:900!important}
.pathControls{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-top:10px}
.pathControls label{min-width:260px}
.pathSelectedRecord{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.pathMiniCard{border:1px solid #e8eef6;background:#fff;border-radius:14px;padding:11px}
.pathMiniCard small{display:block;color:#667085;text-transform:uppercase;font-size:11px;font-weight:900}
.pathMiniCard b{display:block;color:#073b87;font-size:13px;word-break:break-word}
.connectionPathCanvas{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:stretch}
.pathStep{border:2px solid #d9e4ef;background:#fff;border-radius:16px;padding:13px;position:relative;min-height:126px;display:grid;align-content:start;text-align:center;box-shadow:0 8px 18px rgba(7,59,135,.07)}
.pathStep:not(:last-child):after{content:'→';position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:900;color:#0d63b8}
.pathStep .num{width:28px;height:28px;border-radius:999px;background:#073b87;color:#fff;display:grid;place-items:center;font-weight:900;margin:0 auto 8px}
.pathStep b{display:block;color:#073b87;font-size:13px}
.pathStep span{display:block;color:#334155;font-size:12px;margin-top:6px;line-height:1.3}
.pathStep.source{border-color:#bfe8cf;background:#f7fff9}
.pathStep.database{border-color:#bfdbfe;background:#eff6ff}
.pathStep.transform{border-color:#fed7aa;background:#fff7ed}
.pathStep.index{border-color:#0d63b8;background:#eef6ff}
.pathStep.result.confirmed{border-color:#bbf7d0;background:#ecfdf5}
.pathStep.result.review{border-color:#fed7aa;background:#fff7ed}
.pathStep.result.conflict{border-color:#fecdd3;background:#fff1f2}
.pathWhyBox,.pathRiskBox{display:grid;gap:10px}
.pathInfoCard{border:1px solid #d9e4ef;border-radius:14px;background:#fff;padding:12px}
.pathInfoCard b{display:block;color:#073b87}
.pathInfoCard span{display:block;color:#334155;font-size:13px;margin-top:5px}
.routeCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.routeCards div{border:1px solid #d9e4ef;border-radius:14px;background:#fbfdff;padding:12px}
.routeCards b{display:block;color:#073b87}
.routeCards span{display:block;color:#334155;font-size:12px;margin-top:5px}
@media(max-width:1100px){.connectionPathCanvas{grid-template-columns:1fr}.pathStep:not(:last-child):after{content:'↓';right:auto;left:50%;top:auto;bottom:-25px;transform:translateX(-50%)}.pathStep{margin-bottom:14px}.routeCards{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.pathIntro{display:block}.pathIntro button{margin-top:10px}.pathSelectedRecord{grid-template-columns:1fr 1fr}.routeCards{grid-template-columns:1fr}}
@media(max-width:520px){.pathSelectedRecord{grid-template-columns:1fr}}

.assetGroupHeaderRow td{background:linear-gradient(135deg,#eef6ff,#f7fff9)!important;border-top:2px solid #cfe1f5!important;border-bottom:1px solid #d9e4ef!important;color:#073b87!important;padding:10px 12px!important}
.assetGroupHeaderRow b{font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.assetGroupHeaderRow span{margin-left:10px;color:#667085;font-size:12px;font-weight:800}
.assetDataRow td{vertical-align:top}
.assetOwnerLine{display:block;color:#667085;font-size:10.5px;margin-top:3px}
.assetRecordCard{display:grid;gap:12px}
.assetRecordHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#fff);border-left:6px solid #0d63b8;border-radius:16px;padding:12px}
.assetRecordHead small{display:block;color:#667085;text-transform:uppercase;font-size:11px;font-weight:900}
.assetRecordHead b{display:block;color:#073b87;font-size:18px}
.assetRecordHead span:not(.matchStatus){display:block;color:#334155;font-size:13px;margin-top:3px}
.recordGroup{border:1px solid #e1eaf5;background:#fff;border-radius:16px;padding:12px}
.recordGroup h3{margin:0 0 10px;color:#073b87;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.recordGroup .connection{margin-top:6px}
@media(max-width:760px){.assetRecordHead{display:block}.assetRecordHead .matchStatus{margin-top:8px}}

.assetGroupHeaderRow td{cursor:pointer}
.assetGroupToggle{width:30px;height:30px;border-radius:999px!important;border:1px solid #cbd5e1!important;background:#fff!important;color:#073b87!important;display:inline-grid!important;place-items:center!important;font-weight:900!important;padding:0!important;margin-right:8px;vertical-align:middle;box-shadow:0 4px 10px rgba(7,59,135,.10)}
.assetGroupToggle:hover{background:#eef6ff!important;transform:translateY(-1px)}
.assetGroupTitle{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}
.assetGroupHeaderRow.collapsedAssetGroup td{background:linear-gradient(135deg,#f8fbff,#fff7ed)!important}
.assetGroupHeaderRow.collapsedAssetGroup b:after{content:'  closed';font-size:10px;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:3px 6px;margin-left:8px;text-transform:none;letter-spacing:0}

.sourceExplainPanel{border-left:6px solid #0d63b8}
.managerLead{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-radius:16px;padding:14px;margin-bottom:14px}
.managerLead .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#073b87;text-transform:uppercase;margin-bottom:4px}
.managerLead b{display:block;color:#073b87;font-size:17px}
.managerLead p{margin:6px 0 0;color:#334155;line-height:1.45}
.managerLead button{white-space:nowrap;background:#073b87!important;color:#fff!important;border-color:#073b87!important;border-radius:999px!important;padding:10px 14px!important;font-weight:900!important}
.plainJourney{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch}
.journeyStep{border:2px solid #d9e4ef;background:#fff;border-radius:16px;padding:12px;text-align:center;min-height:135px;display:grid;align-content:start}
.journeyStep span{width:30px;height:30px;border-radius:999px;background:#073b87;color:#fff;display:grid;place-items:center;margin:0 auto 8px;font-weight:900}
.journeyStep b{display:block;color:#073b87;font-size:13px}
.journeyStep small{display:block;color:#667085;font-size:11px;margin-top:6px;line-height:1.35}
.journeyArrow{display:grid;place-items:center;font-size:24px;color:#0d63b8;font-weight:900}
.addressNotEnough{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sameAddress{grid-column:1/3;background:#073b87;color:#fff;border-radius:999px;padding:10px;text-align:center;font-weight:900}
.addressNotEnough div:not(.sameAddress){border:1px solid #d9e4ef;background:#fbfdff;border-radius:14px;padding:10px}
.addressNotEnough b{display:block;color:#073b87}
.addressNotEnough span{display:block;color:#334155;font-size:12px;margin-top:4px}
.plainNote{border-left:5px solid #f59e0b;background:#fff7ed;border-radius:12px;padding:10px;color:#6f4500;font-weight:800}
.managementCards{display:grid;gap:10px}
.managementCards div{border:1px solid #d9e4ef;border-radius:14px;padding:12px;background:#fff}
.managementCards b{display:block;color:#073b87}
.managementCards span{display:block;color:#334155;font-size:12px;margin-top:4px}
.managementCards .okCard{border-left:6px solid #16803b;background:#f7fff9}
.managementCards .partialCard,.managementCards .possibleCard,.managementCards .reviewCard{border-left:6px solid #f59e0b;background:#fffaf0}
.managementCards .conflictCardMini{border-left:6px solid #b91c1c;background:#fff8f8}
.connectionCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.connectionCards div{border:1px solid #d9e4ef;background:#fbfdff;border-radius:14px;padding:12px}
.connectionCards b{display:block;color:#073b87}
.connectionCards span{display:block;color:#334155;font-size:12px;margin-top:5px;line-height:1.35}
@media(max-width:1100px){.plainJourney{grid-template-columns:1fr}.journeyArrow{transform:rotate(90deg)}.connectionCards{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.managerLead{display:block}.managerLead button{margin-top:10px}.addressNotEnough{grid-template-columns:1fr}.sameAddress{grid-column:auto}.connectionCards{grid-template-columns:1fr}}

.contactIntroPanel{border-left:6px solid #16803b}
.contactIntro{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-radius:16px;padding:14px}
.contactIntro .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#16803b;text-transform:uppercase;margin-bottom:4px}
.contactIntro b{display:block;color:#073b87;font-size:17px}
.contactIntro p{margin:6px 0 0;color:#334155;line-height:1.45}
.contactIntro button{white-space:nowrap;background:#16803b!important;color:#fff!important;border-color:#16803b!important;border-radius:999px!important;padding:10px 14px!important;font-weight:900!important}
.ownerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ownerCard{border:1px solid #d9e4ef;background:#fff;border-radius:16px;padding:13px;display:grid;gap:10px;box-shadow:0 8px 18px rgba(7,59,135,.06)}
.ownerCardHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ownerCardHead small{display:block;color:#667085;text-transform:uppercase;font-size:10px;font-weight:900}
.ownerCardHead b{display:block;color:#073b87;font-size:15px}
.ownerStatus{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:900;white-space:nowrap;border:1px solid #cbd5e1;background:#f8fafc;color:#475569}
.ownerReviewed{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.ownerNeedsReview{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.ownerConfirm{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.ownerFields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ownerFields label{font-size:11px;color:#073b87;font-weight:900}
.ownerFields input,.ownerFields select{width:100%;min-height:34px;border:1px solid #d9e4ef;border-radius:10px;padding:7px;background:#fbfdff}
.ownerRole{border:1px solid #edf2f7;background:#fbfdff;border-radius:12px;padding:9px}
.ownerRole b{display:block;color:#073b87;font-size:12px}
.ownerRole span{display:block;color:#334155;font-size:12px;margin-top:4px}
.ownershipWhyGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ownershipWhyGrid div{border:1px solid #d9e4ef;background:#fbfdff;border-radius:14px;padding:12px}
.ownershipWhyGrid b{display:block;color:#073b87}
.ownershipWhyGrid span{display:block;color:#334155;font-size:12px;margin-top:5px}
@media(max-width:1050px){.ownerGrid,.ownershipWhyGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.contactIntro{display:block}.contactIntro button{margin-top:10px}.ownerGrid,.ownerFields,.ownershipWhyGrid{grid-template-columns:1fr}}

.ownerGroup{border:1px solid #d9e4ef;border-radius:18px;background:#fbfdff;margin:12px 0;overflow:hidden}
.ownerGroupHeader{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:linear-gradient(135deg,#eef6ff,#f7fff9);border-bottom:1px solid #d9e4ef;padding:10px 12px}
.ownerGroupToggle{width:32px;height:32px;border-radius:999px!important;border:1px solid #cbd5e1!important;background:#fff!important;color:#073b87!important;display:grid!important;place-items:center!important;font-weight:900!important;padding:0!important;box-shadow:0 4px 10px rgba(7,59,135,.10)}
.ownerGroupToggle:hover{background:#eef6ff!important;transform:translateY(-1px)}
.ownerGroupTitle{cursor:pointer}
.ownerGroupTitle b{display:block;color:#073b87;font-size:15px}
.ownerGroupTitle span{display:block;color:#667085;font-size:11px;font-weight:800;margin-top:2px}
.ownerGroupActions{display:flex;gap:6px;flex-wrap:wrap}
.ownerGroupActions button{font-size:11px;padding:6px 8px;border-radius:999px;background:#fff;border:1px solid #cbd5e1;color:#073b87;font-weight:900}
.ownerGroupBody{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ownerGroup.collapsedOwnerGroup .ownerGroupBody{display:none}
.ownerGroup.collapsedOwnerGroup .ownerGroupHeader{border-bottom:0}
.ownerGroup.collapsedOwnerGroup{box-shadow:0 6px 16px rgba(7,59,135,.06)}
.contactIntroActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.contactIntroActions button{white-space:nowrap;background:#16803b!important;color:#fff!important;border-color:#16803b!important;border-radius:999px!important;padding:10px 14px!important;font-weight:900!important}
.contactIntroActions button:nth-child(n+2){background:#073b87!important;border-color:#073b87!important}
@media(max-width:1050px){.ownerGroupBody{grid-template-columns:1fr}}
@media(max-width:760px){.ownerGroupHeader{grid-template-columns:auto 1fr}.ownerGroupActions{grid-column:1/3}.contactIntroActions{justify-content:flex-start;margin-top:10px}}

#ownerCards.ownerGrid{display:block!important}

.simpleConnectHero{border-left:6px solid #0d63b8}
.simpleConnectLead{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-radius:16px;padding:16px}
.simpleConnectLead .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#073b87;text-transform:uppercase;margin-bottom:4px}
.simpleConnectLead b{display:block;color:#073b87;font-size:18px}
.simpleConnectLead p{margin:6px 0 0;color:#334155;line-height:1.45}
.simpleConnectLead button{white-space:nowrap;background:#073b87!important;color:#fff!important;border-color:#073b87!important;border-radius:999px!important;padding:10px 14px!important;font-weight:900!important}
.simpleSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.simpleSteps div{border:2px solid #d9e4ef;background:#fff;border-radius:18px;padding:16px;text-align:center;box-shadow:0 8px 18px rgba(7,59,135,.06)}
.simpleSteps span{width:36px;height:36px;border-radius:999px;background:#073b87;color:white;display:grid;place-items:center;margin:0 auto 10px;font-weight:900}
.simpleSteps b{display:block;color:#073b87;font-size:15px}
.simpleSteps small{display:block;color:#667085;margin-top:7px;line-height:1.35}
.simpleAddressBox{border:1px solid #fed7aa;background:#fff7ed;border-left:6px solid #f59e0b;border-radius:16px;padding:16px}
.simpleAddressBox b{display:block;color:#9a3412;font-size:16px}
.simpleAddressBox p{color:#4b5563;line-height:1.45;margin:8px 0 0}
.proofList{display:grid;gap:8px}
.proofList div{border:1px solid #d9e4ef;background:#fbfdff;border-radius:14px;padding:10px}
.proofList b{display:block;color:#073b87}
.proofList span{display:block;color:#334155;font-size:12px;margin-top:4px}
.simpleStatusRow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.simpleStatusRow div{border:1px solid #d9e4ef;background:#fff;border-radius:14px;padding:12px;text-align:center}
.simpleStatusRow b{display:block;color:#073b87}
.simpleStatusRow span{display:block;color:#334155;font-size:12px;margin-top:5px}
.statusConnected{border-left:6px solid #16803b!important;background:#f7fff9!important}
.statusPartial,.statusPossible,.statusReview{border-left:6px solid #f59e0b!important;background:#fffaf0!important}
.statusConflict{border-left:6px solid #b91c1c!important;background:#fff8f8!important}
.simpleFinalMessage{border-left:6px solid #16803b;background:#f7fff9}
.simpleFinalMessage p{font-size:16px;line-height:1.5;color:#334155}
.simpleFinalMessage b{color:#073b87}
@media(max-width:1050px){.simpleSteps,.simpleStatusRow{grid-template-columns:1fr 1fr}.simpleConnectLead{display:block}.simpleConnectLead button{margin-top:10px}}
@media(max-width:640px){.simpleSteps,.simpleStatusRow{grid-template-columns:1fr}}

.dv-cluster-icon{
  background:transparent!important;
  border:none!important;
}
.dv-cluster-icon div{
  width:40px;
  height:40px;
  border-radius:999px;
  background:linear-gradient(135deg,#073b87,#0ea5e9);
  color:#fff;
  border:3px solid rgba(255,255,255,.95);
  box-shadow:0 8px 18px rgba(7,59,135,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
}
.dv-cluster-icon span{
  display:block;
  line-height:1;
}

/* Telephone field added to Source Contacts */
.ownerFields{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.ownerFields{grid-template-columns:1fr}}

.accuracyHero{border-left:6px solid #16803b}
.accuracyLead{border:1px solid #d9e4ef;background:linear-gradient(135deg,#f7fff9,#f8fbff);border-radius:18px;padding:18px}
.accuracyLead .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#16803b;text-transform:uppercase;margin-bottom:5px}
.accuracyLead b{display:block;color:#073b87;font-size:22px}
.accuracyLead p{margin:7px 0 0;color:#334155;line-height:1.5;font-size:15px}
.keyMessagePanel{border-left:6px solid #073b87}
.bigQuote{display:grid;gap:6px;text-align:center;border:2px solid #d9e4ef;background:#fff;border-radius:20px;padding:22px}
.bigQuote b{font-size:24px;color:#073b87}
.bigQuote span{font-size:18px;color:#16803b;font-weight:900}
.ownerResponsibility{border-left:6px solid #16803b}
.gisResponsibility{border-left:6px solid #0d63b8}
.responsibilityList{display:grid;gap:10px}
.responsibilityList div{border:1px solid #d9e4ef;background:#fbfdff;border-radius:14px;padding:12px}
.responsibilityList b{display:block;color:#073b87}
.responsibilityList span{display:block;color:#334155;font-size:13px;margin-top:5px;line-height:1.35}
.signOffFlow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch}
.signOffFlow div:not(.flowArrow){border:2px solid #d9e4ef;background:#fff;border-radius:16px;padding:14px;text-align:center;box-shadow:0 8px 18px rgba(7,59,135,.06)}
.signOffFlow span{width:34px;height:34px;border-radius:999px;background:#073b87;color:#fff;display:grid;place-items:center;margin:0 auto 8px;font-weight:900}
.signOffFlow b{display:block;color:#073b87}
.signOffFlow small{display:block;color:#667085;margin-top:6px;line-height:1.35}
.warningPanel{border-left:6px solid #f59e0b;background:#fffaf0}
.warningPanel p{color:#334155;line-height:1.5;font-size:14px}
.warningPanel b{color:#9a3412}
.simpleRuleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.simpleRuleGrid div{border:1px solid #d9e4ef;border-radius:14px;padding:12px;text-align:center}
.simpleRuleGrid b{display:block;color:#073b87}
.simpleRuleGrid span{display:block;color:#334155;font-size:12px;margin-top:5px}
.yesRule{border-left:6px solid #16803b!important;background:#f7fff9!important}
.noRule{border-left:6px solid #b91c1c!important;background:#fff8f8!important}
@media(max-width:1150px){.signOffFlow{grid-template-columns:1fr}.signOffFlow .flowArrow{transform:rotate(90deg);text-align:center}.simpleRuleGrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.simpleRuleGrid{grid-template-columns:1fr}.bigQuote b{font-size:20px}.bigQuote span{font-size:15px}}

.styleSignoffPanel{border-left:6px solid #0d63b8;background:#f8fbff}
.styleSignoffPanel p{color:#334155;line-height:1.5;font-size:14px}
.styleSignoffPanel b{color:#073b87}
.styleExamples{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.styleExamples div{border:1px solid #d9e4ef;background:#fff;border-radius:14px;padding:12px}
.styleExamples b{display:block;color:#073b87}
.styleExamples span{display:block;color:#334155;font-size:12px;margin-top:5px;line-height:1.35}
@media(max-width:1000px){.styleExamples{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.styleExamples{grid-template-columns:1fr}}

.layerFreshnessHero{border-left:6px solid #0d63b8}
.layerFreshnessLead{border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-radius:18px;padding:18px}
.layerFreshnessLead .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#0d63b8;text-transform:uppercase;margin-bottom:5px}
.layerFreshnessLead b{display:block;color:#073b87;font-size:21px}
.layerFreshnessLead p{margin:7px 0 0;color:#334155;line-height:1.5;font-size:15px}
.infographicFrame{border:1px solid #d9e4ef;background:#fff;border-radius:18px;padding:10px;box-shadow:0 8px 18px rgba(7,59,135,.06)}
.infographicFrame img{display:block;width:100%;height:auto;border-radius:12px}
.simpleLayerCards{display:grid;gap:10px}
.simpleLayerCards div{border:1px solid #d9e4ef;background:#fbfdff;border-radius:14px;padding:12px}
.simpleLayerCards b{display:block;color:#073b87}
.simpleLayerCards span{display:block;color:#334155;font-size:13px;margin-top:5px;line-height:1.35}
.freshnessCards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.freshnessCards div{border:1px solid #d9e4ef;border-radius:14px;padding:12px;text-align:center}
.freshnessCards b{display:block;color:#073b87}
.freshnessCards span{display:block;color:#334155;font-size:12px;margin-top:5px;line-height:1.35}
.liveData{border-left:6px solid #16803b!important;background:#f7fff9!important}
.snapshotData{border-left:6px solid #0d63b8!important;background:#f8fbff!important}
.archiveData{border-left:6px solid #f59e0b!important;background:#fffaf0!important}
.unknownData{border-left:6px solid #b91c1c!important;background:#fff8f8!important}
.layerFreshnessKey{border-left:6px solid #f59e0b;background:#fffaf0}
.layerFreshnessKey p{font-size:15px;line-height:1.5;color:#334155}
.layerFreshnessKey b{color:#073b87}
@media(max-width:1000px){.freshnessCards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.freshnessCards{grid-template-columns:1fr}}

.helpHero{border-left:6px solid #073b87}
.helpLead{border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-radius:18px;padding:18px}
.helpLead .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#073b87;text-transform:uppercase;margin-bottom:5px}
.helpLead b{display:block;color:#073b87;font-size:20px}
.helpLead p{margin:7px 0 0;color:#334155;line-height:1.5}
.guidanceCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guidanceCards button{text-align:left;border:1px solid #d9e4ef;background:#fff;border-radius:16px;padding:14px;cursor:pointer;box-shadow:0 8px 18px rgba(7,59,135,.06)}
.guidanceCards button:hover{background:#eef6ff;transform:translateY(-1px)}
.guidanceCards b{display:block;color:#073b87;font-size:15px}
.guidanceCards span{display:block;color:#334155;font-size:12px;margin-top:5px;line-height:1.35}
.helpKeyMessage{border-left:6px solid #16803b;background:#f7fff9}
.helpKeyMessage p{font-size:16px;line-height:1.5;color:#334155}
.helpKeyMessage b{color:#073b87}
.refocusedFlow{border-left:6px solid #16803b}
.coreFlowCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.coreFlowCards div{border:1px solid #d9e4ef;background:#fff;border-radius:16px;padding:13px;text-align:center;box-shadow:0 8px 18px rgba(7,59,135,.05)}
.coreFlowCards span{width:32px;height:32px;border-radius:999px;background:#073b87;color:#fff;display:grid;place-items:center;margin:0 auto 8px;font-weight:900}
.coreFlowCards b{display:block;color:#073b87;font-size:13px}
.coreFlowCards small{display:block;color:#667085;margin-top:6px;line-height:1.35}
@media(max-width:1000px){.guidanceCards,.coreFlowCards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.guidanceCards,.coreFlowCards{grid-template-columns:1fr}}

.mapEvidencePanel{margin-top:12px;border:1px solid #d9e4ef;background:#fbfdff;border-left:6px solid #0d63b8;border-radius:16px;padding:12px}
.mapEvidenceHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mapEvidenceHead h3{margin:0;color:#073b87}
.mapEvidenceActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mapEvidenceActions button{border-radius:999px!important;font-weight:900!important;padding:8px 10px!important}
.mapEvidenceList{display:grid;gap:8px;margin-top:10px}
.mapEvidenceRow{display:grid;grid-template-columns:160px 120px 1fr;gap:8px;align-items:start;border:1px solid #e1eaf5;background:#fff;border-radius:12px;padding:9px}
.mapEvidenceRow b{color:#073b87}
.mapEvidenceRow span{font-size:12px;color:#334155;line-height:1.35}
.mapEvidenceStatus{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;white-space:nowrap;border:1px solid #cbd5e1}
.mapEvidenceStatus.confirmed{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.mapEvidenceStatus.likely{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.mapEvidenceStatus.review{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.mapEvidenceStatus.missing{background:#f8fafc;color:#475569;border-color:#cbd5e1}
.connectionLineLabel{background:#073b87;color:#fff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:900;border:0}
@media(max-width:760px){.mapEvidenceHead{display:block}.mapEvidenceActions{justify-content:flex-start;margin-top:8px}.mapEvidenceRow{grid-template-columns:1fr}}

.mapEvidenceMarker{
  min-width:70px;
  min-height:30px;
  border-radius:999px;
  border:3px solid #fff;
  box-shadow:0 8px 18px rgba(7,59,135,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:900;
  color:#fff;
  padding:4px 8px;
  white-space:nowrap;
}
.mapEvidenceMarker.confirmed{background:#16803b}
.mapEvidenceMarker.likely{background:#0d63b8}
.mapEvidenceMarker.review{background:#f59e0b;color:#1f2937}
.mapEvidenceMarker.missing{background:#64748b}

.standOutPanel{border-left:6px solid #7c3ab4;background:linear-gradient(135deg,#fbf7ff,#f8fbff)}
.standOutLead{border:1px solid #d9e4ef;background:#fff;border-radius:16px;padding:14px;margin-bottom:12px}
.standOutLead b{display:block;color:#073b87;font-size:18px}
.standOutLead span{display:block;color:#334155;font-size:14px;margin-top:6px;line-height:1.45}
.standOutGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.standOutGrid div{border:1px solid #d9e4ef;background:#fff;border-radius:14px;padding:12px;box-shadow:0 8px 18px rgba(7,59,135,.05)}
.standOutGrid small{display:inline-flex;border-radius:999px;background:#eef6ff;color:#073b87;border:1px solid #bfdbfe;padding:4px 7px;font-weight:900;font-size:10px;text-transform:uppercase}
.standOutGrid b{display:block;color:#073b87;font-size:15px;margin-top:8px}
.standOutGrid span{display:block;color:#334155;font-size:12px;margin-top:5px;line-height:1.35}
.mapViewerWarning{margin-top:10px;border:1px solid #d9e4ef;background:#fffaf0;border-left:6px solid #f59e0b;border-radius:14px;padding:11px}
.mapViewerWarning b{display:block;color:#9a3412}
.mapViewerWarning span{display:block;color:#334155;font-size:12px;margin-top:4px;line-height:1.35}
@media(max-width:1050px){.standOutGrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.standOutGrid{grid-template-columns:1fr}}

.sqlConnectionPanel{border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-left:6px solid #073b87;border-radius:18px;padding:14px;margin:12px 0}
.sqlConnectionHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sqlConnectionHead h3{margin:0;color:#073b87}
.sqlBadge{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;border:1px solid #cbd5e1;white-space:nowrap}
.sqlBadge.notConnected{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.sqlBadge.saved{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.sqlBadge.connected{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.sqlBadge.error{background:#fff1f2;color:#b91c1c;border-color:#fecdd3}
.sqlFlow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:stretch;margin:12px 0}
.sqlFlow div:not(.flowArrow){border:1px solid #d9e4ef;background:#fff;border-radius:14px;padding:12px;text-align:center}
.sqlFlow b{display:block;color:#073b87}
.sqlFlow span{display:block;color:#334155;font-size:12px;margin-top:4px}
.sqlDetails{border:1px solid #d9e4ef;background:#fff;border-radius:14px;padding:10px}
.sqlDetails summary{cursor:pointer;font-weight:900;color:#073b87}
.sqlFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.sqlFormGrid label{font-size:11px;color:#073b87;font-weight:900}
.sqlFormGrid input,.sqlFormGrid select{width:100%;min-height:36px;border:1px solid #d9e4ef;border-radius:10px;padding:8px;background:#fbfdff}
.sqlStatusBox,.sqlQueryBox{border:1px solid #d9e4ef;background:#fbfdff;border-radius:12px;padding:10px;margin-top:10px;color:#334155;font-size:12px;line-height:1.4;white-space:pre-wrap}
.sqlQueryBox{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#0f172a;color:#e2e8f0;overflow:auto}
.sqlWarning{border:1px solid #fed7aa;background:#fff7ed;border-left:5px solid #f59e0b;border-radius:12px;padding:10px;margin-top:10px;color:#334155;font-size:12px;line-height:1.4}
.sqlWarning b{color:#9a3412}
@media(max-width:900px){.sqlConnectionHead{display:block}.sqlBadge{margin-top:8px}.sqlFlow{grid-template-columns:1fr}.sqlFlow .flowArrow{transform:rotate(90deg);text-align:center}.sqlFormGrid{grid-template-columns:1fr}}

.sqlPageHero{border-left:6px solid #073b87}
.sqlPageLead{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #d9e4ef;background:linear-gradient(135deg,#f8fbff,#f7fff9);border-radius:18px;padding:16px}
.sqlPageLead .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#073b87;text-transform:uppercase;margin-bottom:5px}
.sqlPageLead b{display:block;color:#073b87;font-size:18px}
.sqlPageLead p{margin:6px 0 0;color:#334155;line-height:1.45}
.sqlPageLead button,.sqlQuickLink button{white-space:nowrap;background:#073b87!important;color:#fff!important;border-color:#073b87!important;border-radius:999px!important;padding:9px 12px!important;font-weight:900!important}
.sqlQuickLink{margin-top:10px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.sqlQuickLink b{display:block;color:#073b87}
.sqlQuickLink span{display:block;color:#334155;font-size:12px;margin-top:3px;line-height:1.35}
@media(max-width:760px){.sqlPageLead{display:block}.sqlPageLead button{margin-top:10px}.sqlQuickLink{grid-template-columns:1fr}.sqlQuickLink button{width:fit-content}}
