:root{--navy:#072746;--navy2:#0b355c;--purple:#332267;--cream:#f7f4ec;--paper:#fbfaf6;--ink:#122b46;--muted:#687585;--line:#c9ced4;--red:#cf1f32;--amber:#f4b313;--teal:#188d8f;--green:#087d48;--gold:#c69011;--gray:#aab1b7;--shadow:0 18px 50px rgba(0,20,40,.18)}
*{box-sizing:border-box}body{margin:0;background:#eef1f4;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif}.review-shell{max-width:1540px;margin:auto;padding:24px}.review-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}.kicker{font-size:12px;letter-spacing:.12em;font-weight:800;color:#667}.review-head h1{margin:4px 0 0;font-size:24px}.review-note{font-size:13px;color:#667}.review-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.review-tab{border:1px solid #bdc5cf;background:white;border-radius:10px;padding:10px 16px;font-weight:800;color:var(--navy);cursor:pointer}.review-tab.active{background:var(--navy);color:white}.stage-wrap{width:min(1280px,100%);margin:auto}.ev-stage{display:none;aspect-ratio:16/9;background:var(--paper);border-radius:32px;overflow:hidden;position:relative;box-shadow:var(--shadow);border:1px solid #cfd4d9}.ev-stage.active{display:block}.approval-foot{max-width:1280px;margin:14px auto 0;color:#5b6875;font-size:13px}
button{font:inherit}.chrome-bar{height:46px;background:#061626;color:white;display:flex;justify-content:space-between;align-items:center;padding:0 22px;font-size:11px}.chrome-bar .sep{margin:0 14px;color:#789}.chrome-actions{height:100%;display:flex}.chrome-actions button{background:transparent;color:white;border:0;border-left:1px solid #6d7d8d;padding:5px 16px;font-size:10px;font-weight:900}.chrome-actions small{display:block;font-size:7px;font-weight:500}.directory-body{padding:16px 22px 0;height:calc(100% - 150px)}.directory-title-row{display:flex;justify-content:space-between;align-items:start;gap:14px}.directory-title-row h2{font-size:28px;letter-spacing:-.03em;margin:0;color:var(--purple)}.directory-title-row p{margin:4px 0 10px;font-size:11px}.legend{display:flex;align-items:center;gap:12px;border:1px solid #d7dbe0;border-radius:7px;padding:8px 10px;font-size:8px;background:#fff}.legend span{display:flex;align-items:center;gap:5px;max-width:88px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 10px}.red{background:var(--red)}.amber{background:var(--amber)}.teal{background:var(--teal)}.gray{background:var(--gray)}.directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.site-list{border:1px solid #dde1e4;border-radius:6px;overflow:hidden;background:#fff}.list-head{text-align:center;font-weight:900;font-size:11px;padding:7px;background:#fff0f0;color:#a8202b}.untouched .list-head{background:#eef9fb;color:#17798b}.site-row{height:43px;display:grid;grid-template-columns:12px minmax(180px,1.25fr) minmax(145px,1fr) 45px 12px;gap:8px;align-items:center;padding:0 10px;border-top:1px solid #e7e9eb;font-size:10px}.untouched .site-row{grid-template-columns:12px minmax(180px,1.25fr) minmax(170px,1fr) 12px}.site-row b{font-size:10px}.site-row small{display:block;font-size:8px;color:#67717c}.site-row .region{font-size:8px}.site-row time{font-size:9px;color:#a0202a}.site-row .chev{font-size:18px;color:#9ca4ad}.site-row.selected{background:#fff0f0;border-left:4px solid var(--red);padding-left:6px}.more-row,.end-row{text-align:center;padding:7px;font-size:9px;color:#9b2730}.end-row{color:var(--teal)}.directory-foot{position:absolute;left:0;right:0;bottom:0;height:104px;border-top:1px solid #d5d9dd;background:linear-gradient(#f5f5f4,#e7e7e5);display:grid;grid-template-columns:1.2fr 1.55fr .55fr;align-items:center;gap:16px;padding:12px 20px}.selected-site{display:flex;gap:10px;align-items:center}.pinbox{width:36px;height:36px;border-radius:8px;border:1px solid #c9ced2;display:grid;place-items:center;color:var(--red);background:#fff}.selected-site small,.go-group>small{font-size:8px;color:#6b617c;font-weight:900}.selected-site b{display:block;font-size:14px}.selected-site span{font-size:9px}.go-buttons{display:flex;gap:8px;margin-top:5px}.go-buttons button{min-width:118px;border:1px solid #4a397a;background:#f5f2fb;border-radius:5px;padding:7px;color:#302160;font-size:9px;font-weight:900}.go-buttons button span{display:block;font-size:7px;font-weight:500}.go-buttons .filled{background:#35246b;color:white}.tip{font-size:8px;display:flex;flex-direction:column;gap:5px}.tip b{color:#4b3b79}
.map-stage{background:#dce8d7}.fake-map,.satellite-bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 30%,#dcebd7 0 2%,transparent 2.2%),linear-gradient(120deg,#b8d8e6 0 17%,#e9e5c8 17% 100%)}.fake-map:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(18deg,transparent 0 46px,rgba(53,103,85,.08) 47px 49px)}.map-ui-top{position:absolute;z-index:5;left:0;right:0;top:0;display:flex;justify-content:space-between;padding:16px}.campaign-tag{background:var(--navy);color:white;border-radius:8px;padding:9px 14px;display:flex;flex-direction:column;font-size:9px}.campaign-tag b{font-size:12px}.map-ui-top button{background:#fff;border:1px solid #c8ced4;border-radius:7px;padding:8px 12px;margin-left:6px;font-size:10px;font-weight:800;color:var(--navy)}.country{position:absolute;font-size:24px;letter-spacing:.16em;color:#536153}.russia{left:37%;top:33%}.ukraine{left:24%;bottom:13%}.city{position:absolute;font-size:11px;font-weight:800}.c1{left:28%;top:16%}.c2{left:44%;top:43%}.c3{left:31%;bottom:14%}.c4{left:42%;top:54%}.c5{left:43%;top:67%}.c6{left:57%;top:60%}.river{position:absolute;width:7px;height:220px;background:#7cb7d5;right:24%;bottom:2%;transform:rotate(12deg);border-radius:80%}.firemark{position:absolute;right:30%;bottom:25%;font-size:38px;text-align:center}.firemark small{display:block;font-size:13px;font-weight:900;background:rgba(255,255,255,.78);padding:2px 4px}.map-legend{position:absolute;bottom:46px;left:18px;background:rgba(255,255,255,.86);padding:8px;border-radius:7px;font-size:9px;line-height:1.8}.day-pill{position:absolute;bottom:12px;left:36%;background:var(--navy);color:white;border-radius:22px;padding:9px 18px;font-size:10px;font-weight:800;letter-spacing:.12em}.verification-card{position:absolute;z-index:6;right:18px;top:76px;width:34%;height:76%;background:#f8f7f3;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);border:1px solid #d3d7d7;padding:14px}.panel-title{font-size:18px;font-weight:900;display:flex;justify-content:space-between}.mini-tabs{display:flex;margin:10px 0}.mini-tabs button{flex:1;border:1px solid #ccd2d9;background:white;padding:6px;font-size:9px;color:var(--navy)}.mini-tabs .active{background:var(--navy);color:white}.verify-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:10px 0}.verify-heading h3{margin:0;font-size:17px}.verify-heading div>b{font-size:11px}.verify-heading small{display:block;margin-top:10px;font-size:9px}.verified{background:var(--green);color:white;border-radius:7px;padding:8px;text-align:center;min-width:84px}.verified b,.verified span{display:block;font-size:10px}.check-row{display:grid;grid-template-columns:28px 1fr 1.15fr;gap:8px;align-items:center;border-top:1px solid #d7dadd;padding:10px 0;font-size:9px}.check{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-weight:900}.check-row b{font-size:11px}.check-row small{display:block}.verify-foot{border-top:1px solid #d7dadd;padding-top:10px;font-size:9px}
.snapshot-stage{background:#243b2e}.satellite-bg{background:linear-gradient(125deg,#334f38,#4a6544 48%,#222f28);filter:saturate(.85)}.satellite-bg:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(24deg,transparent 0 34px,rgba(205,194,151,.18) 36px 37px)}.water{position:absolute;background:#1b5260;border-radius:50%;filter:blur(1px)}.w1{width:70px;height:460px;right:25%;top:8%;transform:rotate(18deg)}.w2{width:46px;height:290px;right:12%;top:5%;transform:rotate(-22deg)}.road{position:absolute;height:4px;background:#d6b35b;opacity:.7}.r1{width:430px;right:0;top:55%;transform:rotate(-12deg)}.r2{width:380px;right:4%;top:72%;transform:rotate(18deg)}.maplabel{position:absolute;color:white;text-shadow:0 2px 3px #000;font-weight:700}.samara{right:13%;top:60%;font-size:26px}.route{right:8%;top:72%;background:#235c8d;border:1px solid white;padding:2px 5px;border-radius:4px;font-size:13px}.snapshot-fire{position:absolute;right:14%;top:31%;font-size:52px;text-align:center;color:white}.snapshot-fire small{display:block;font-size:14px;text-shadow:0 2px 3px #000}.quick-card{position:absolute;left:12px;top:12px;bottom:12px;width:68%;background:linear-gradient(#faf8f2,#e8e4db);border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.35);border:1px solid #b4b0a6;padding:58px 18px 16px}.quick-title{position:absolute;left:0;right:0;top:0;height:50px;background:var(--navy);color:white;padding:12px 18px;font-size:24px;font-weight:900;border-radius:9px 9px 0 0;display:flex;justify-content:space-between}.quick-identity{display:grid;grid-template-columns:42% 58%;align-items:center;border-bottom:1px solid #c2beb6;padding:5px 0 10px}.warehouse-art{height:105px;position:relative;background:#d6d9dc;clip-path:polygon(0 23%,70% 0,100% 15%,100% 78%,30% 100%,0 82%)}.warehouse-art .roof{position:absolute;left:7%;top:15%;width:83%;height:48%;background:#e6e6e2;border:1px solid #8c9499;transform:skewY(-7deg)}.warehouse-art .dock{position:absolute;left:10%;bottom:13%;width:84%;height:28%;background:repeating-linear-gradient(90deg,#e8ecee 0 24px,#316a9e 24px 27px)}.quick-identity h3{font-size:24px;margin:0 0 5px}.gold-rule{color:var(--gold);display:flex;align-items:center;gap:6px}.gold-rule:before,.gold-rule:after{content:"";height:2px;background:#caa03c;flex:1}.quick-identity b{font-size:19px}.quick-row{height:63px;border-bottom:1px solid #c6c2ba;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px}.iconbox{width:38px;height:38px;border-radius:7px;background:var(--navy);color:white;display:grid;place-items:center;font-size:22px}.quick-row b{font-size:14px}.quick-row strong{font-size:20px}.redtext{color:var(--red)!important}.detail-cta{position:absolute;left:18px;right:18px;bottom:16px;height:48px;border-radius:8px;background:var(--navy);color:#e3b428;border:2px solid #b78b1c;font-size:19px;font-weight:900;box-shadow:0 3px 8px rgba(0,0,0,.3)}
.detailed-stage{background:#f4f5f5;padding:8px}.report-card{width:100%;height:100%;background:#f8f8f5;border:2px solid #a7b1bb;border-radius:18px;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.15);position:relative}.report-top{height:27%;position:relative;padding-left:28%}.report-photo{position:absolute;left:0;top:0;width:27%;height:100%;background:#9fb0bd;overflow:hidden}.warehouse-wide{position:absolute;left:4%;right:4%;top:10%;height:70%;background:#e8edf0;transform:skewY(-4deg);box-shadow:inset 0 -28px #29577e}.warehouse-wide i{position:relative;display:inline-block;width:22%;height:12px;background:#223b50;margin:82px 4% 0}.report-photo span{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.65);color:white;text-align:center;font-size:8px;padding:4px}.report-title{height:42%;padding:9px 40px 0 12px;border-bottom:1px solid #8797a5}.report-title h2{font-size:25px;margin:0;letter-spacing:-.02em}.report-title p{margin:3px 0;font-size:10px;font-weight:800}.report-x{position:absolute;right:8px;top:5px;border:0;background:transparent;font-size:27px;color:var(--navy)}.kpis{height:58%;display:grid;grid-template-columns:repeat(4,1fr)}.kpis>div{border-right:1px solid #aeb8c0;padding:9px 8px 3px 48px;position:relative}.kpis span{position:absolute;left:9px;top:10px;font-size:30px;color:var(--navy)}.kpis small,.fact small{display:block;font-size:7px;font-weight:900}.kpis b{display:block;font-size:15px}.kpis em,.fact em{font-size:7px;font-style:normal}.stress-title{text-align:center;background:#f1dfad;border-top:1px solid #c59b27;border-bottom:1px solid #c59b27;font-size:10px;font-weight:900;padding:4px}.stress-title span{font-size:7px}.stress-row{height:21%;display:grid;grid-template-columns:repeat(3,1fr);background:#fff5d6;border-bottom:2px solid #d4ae3b}.stress-row>div{display:flex;align-items:center;gap:12px;padding:8px 16px;border-right:1px solid #aeb8c0}.orb{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:900;font-size:24px;flex:0 0 68px;border:4px solid white;box-shadow:0 0 0 2px currentColor}.redorb{background:#c92027;color:#c92027}.redorb::first-line{color:white}.goldorb{background:#d49b0e;color:#d49b0e}.stress-row small{font-size:8px;font-weight:900}.stress-row b{display:block;font-size:20px}.stress-row p{font-size:8px;margin:2px 0}.goldtext{color:#c08800}.report-cols{height:52%;display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr}.report-cols section{border-right:1px solid #aeb8c0;background:linear-gradient(#f7f8f8,#dfe4e7)}.report-cols h4{margin:0;background:var(--navy);color:white;padding:7px 8px;font-size:11px}.fact{display:grid;grid-template-columns:32px 1fr;gap:6px;padding:8px;border-bottom:1px solid #bbc3c8}.fact>span{font-size:20px;font-weight:900;color:var(--navy)}.fact b{display:block;font-size:10px}.strategic p{font-size:9px;line-height:1.25;margin:8px 10px}.strategic .note{margin:8px;background:#f1dfad;padding:7px;border-radius:4px;font-size:8px;border:1px solid #d7b449}
@media(max-width:900px){.review-shell{padding:10px}.review-head{display:block}.review-note{margin-top:8px}.ev-stage{border-radius:16px}.directory-title-row h2{font-size:18px}.legend{display:none}.site-row{height:32px}.directory-foot{height:85px}.go-buttons button{min-width:80px}.quick-identity h3{font-size:16px}.quick-row strong{font-size:13px}.report-title h2{font-size:16px}.orb{width:48px;height:48px;flex-basis:48px}.stress-row b{font-size:14px}}

/* === v1.02 FIDELITY PASS — Aug. 16 reference geometry === */
.review-shell{max-width:1600px;padding:18px 22px 24px}.review-head{margin-bottom:10px}.review-head h1{font-size:22px}.review-tabs{margin-bottom:10px}.stage-wrap{width:min(1360px,100%)}

/* 1 — DIRECTORY: larger, more readable table text; preserve compact reference geometry */
#directory .chrome-bar{height:42px;padding:0 18px;font-size:12px}
#directory .chrome-actions button{padding:4px 14px;font-size:10px}
#directory .chrome-actions small{font-size:8px}
#directory .directory-body{padding:13px 18px 0;height:calc(100% - 150px)}
#directory .directory-title-row{gap:12px}
#directory .directory-title-row h2{font-size:25px;line-height:1}
#directory .directory-title-row p{font-size:12px;margin:5px 0 9px}
#directory .legend{gap:11px;padding:7px 9px;font-size:9px}
#directory .legend span{max-width:104px;line-height:1.15}
#directory .dot{width:11px;height:11px;flex-basis:11px}
#directory .directory-grid{gap:15px}
#directory .list-head{font-size:12px;padding:6px 8px}
#directory .site-row{height:42px;grid-template-columns:13px minmax(205px,1.35fr) minmax(165px,1fr) 48px 13px;gap:8px;padding:0 9px;font-size:12px}
#directory .untouched .site-row{grid-template-columns:13px minmax(205px,1.35fr) minmax(190px,1fr) 13px}
#directory .site-row b{font-size:12px;line-height:1.05}
#directory .site-row small{font-size:10px;line-height:1.1;margin-top:2px}
#directory .site-row .region{font-size:10px;line-height:1.1}
#directory .site-row time{font-size:10px}
#directory .site-row .chev{font-size:20px}
#directory .more-row,#directory .end-row{padding:5px 7px;font-size:10px}
#directory .directory-foot{height:108px;grid-template-columns:1.15fr 1.65fr .48fr;gap:14px;padding:10px 17px}
#directory .pinbox{width:38px;height:38px}
#directory .selected-site small,#directory .go-group>small{font-size:9px}
#directory .selected-site b{font-size:15px;line-height:1.05}
#directory .selected-site span{font-size:10px}
#directory .go-buttons{gap:7px;margin-top:4px}
#directory .go-buttons button{min-width:134px;padding:7px 9px;font-size:10px;line-height:1.05}
#directory .go-buttons button span{font-size:8px;margin-top:2px}
#directory .tip{font-size:9px;gap:4px;line-height:1.15}

/* 2 — VERIFICATION: content-height panel, stronger use of vertical space, larger type */
#verification .campaign-tag{padding:10px 14px;font-size:10px}
#verification .campaign-tag b{font-size:13px}
#verification .map-ui-top button{padding:9px 13px;font-size:11px}
#verification .verification-card{right:20px;top:78px;width:34.5%;height:auto;min-height:0;padding:14px 15px 13px;border-radius:10px}
#verification .panel-title{font-size:19px;line-height:1}
#verification .mini-tabs{margin:10px 0 12px}
#verification .mini-tabs button{padding:7px 4px;font-size:11px}
#verification .verify-heading{margin:8px 0 11px;align-items:flex-start}
#verification .verify-heading h3{font-size:20px;line-height:1.05;margin-bottom:3px}
#verification .verify-heading div>b{font-size:13px}
#verification .verify-heading small{font-size:11px;margin-top:9px}
#verification .verified{min-width:96px;padding:9px 8px 8px;border-radius:8px}
#verification .verified b{font-size:12px}
#verification .verified span{font-size:13px;margin-top:2px}
#verification .check-row{grid-template-columns:34px .9fr 1.12fr;gap:10px;padding:11px 0;font-size:11px;line-height:1.2}
#verification .check{width:31px;height:31px;font-size:18px}
#verification .check-row b{font-size:13px}
#verification .check-row small{font-size:10px;margin-top:1px}
#verification .verify-foot{padding-top:9px;font-size:10px;line-height:1.25}
#verification .map-legend{font-size:10px;line-height:1.65;padding:8px 10px}
#verification .day-pill{font-size:11px;padding:9px 19px}

/* 3 — SITE SNAPSHOT: content-height card; larger row typography, no dead lower area */
#snapshot .quick-card{left:16px;top:18px;bottom:auto;width:68%;height:auto;min-height:0;padding:58px 18px 14px}
#snapshot .quick-title{height:48px;padding:11px 17px;font-size:23px}
#snapshot .quick-identity{grid-template-columns:42% 58%;padding:7px 0 11px}
#snapshot .warehouse-art{height:118px}
#snapshot .quick-identity h3{font-size:25px;line-height:1.04;margin:0 0 7px}
#snapshot .quick-identity b{font-size:19px}
#snapshot .gold-rule{margin:2px 0 7px}
#snapshot .quick-row{height:69px;grid-template-columns:46px 1fr auto;gap:13px}
#snapshot .iconbox{width:42px;height:42px;font-size:23px}
#snapshot .quick-row b{font-size:16px}
#snapshot .quick-row strong{font-size:21px}
#snapshot .detail-cta{position:static;width:100%;height:50px;margin-top:12px;font-size:20px}
#snapshot .samara{font-size:27px}
#snapshot .snapshot-fire{font-size:54px}
#snapshot .snapshot-fire small{font-size:15px}

/* 4 — DETAILED DATA: reference-weighted vertical proportions and readable lower modules */
#detailed{padding:10px}
#detailed .report-card{height:auto;min-height:0;border-radius:17px;overflow:hidden}
#detailed .report-top{height:178px;padding-left:27%}
#detailed .report-photo{width:26%;height:178px}
#detailed .report-photo span{font-size:9px;padding:4px}
#detailed .report-title{height:58px;padding:8px 42px 0 13px}
#detailed .report-title h2{font-size:26px;line-height:1}
#detailed .report-title p{font-size:11px;margin-top:5px}
#detailed .kpis{height:120px}
#detailed .kpis>div{padding:12px 8px 4px 50px}
#detailed .kpis span{left:10px;top:12px;font-size:31px}
#detailed .kpis small{font-size:9px;line-height:1.15}
#detailed .kpis b{font-size:17px;line-height:1.05;margin-top:3px}
#detailed .kpis em{font-size:8.5px;line-height:1.15;display:block;margin-top:3px}
#detailed .stress-title{font-size:11px;padding:4px 6px}
#detailed .stress-title span{font-size:8.5px}
#detailed .stress-row{height:126px}
#detailed .stress-row>div{gap:13px;padding:9px 16px}
#detailed .orb{width:70px;height:70px;flex-basis:70px;font-size:25px}
#detailed .stress-row small{font-size:9px;line-height:1.1}
#detailed .stress-row b{font-size:21px;line-height:1}
#detailed .stress-row p{font-size:9.5px;line-height:1.16;margin:4px 0 0}
#detailed .report-cols{height:272px;grid-template-columns:1fr 1fr 1fr 1.2fr}
#detailed .report-cols h4{padding:7px 9px;font-size:12px}
#detailed .fact{grid-template-columns:34px 1fr;gap:7px;padding:7px 9px;min-height:59px}
#detailed .fact>span{font-size:21px}
#detailed .fact small{font-size:8.5px}
#detailed .fact b{font-size:11.5px;line-height:1.08}
#detailed .fact em{font-size:8.5px;line-height:1.15}
#detailed .strategic p{font-size:10px;line-height:1.2;margin:7px 10px}
#detailed .strategic .note{margin:7px 9px;padding:7px;font-size:9px;line-height:1.15}

@media(max-width:900px){
  #directory .site-row{height:38px}
  #verification .verification-card{width:38%}
  #snapshot .quick-card{width:72%}
}

/* === v1.02 READABILITY + GEOMETRY PASS ===
   Priority: readable type, content-led sizing, compact snapshot inset,
   scrollable directory rows, and no full data population. */

/* Global stage: let the graphics own more screen space on a Chromebook. */
.stage-wrap{width:min(1440px,100%)}
.review-head h1{font-size:24px}

/* DIRECTORY — fixed shell, larger type, row area scrolls independently. */
#directory .directory-body{height:calc(100% - 166px);padding:15px 20px 0}
#directory .directory-title-row h2{font-size:28px}
#directory .directory-title-row p{font-size:13px}
#directory .legend{font-size:10px;gap:12px;padding:8px 10px}
#directory .legend span{max-width:118px}
#directory .directory-grid{height:360px;align-items:stretch}
#directory .site-list{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
#directory .list-head{position:sticky;top:0;z-index:3;font-size:13px;padding:8px 10px;box-shadow:0 1px 0 #d7dce0}
#directory .site-row{height:52px;grid-template-columns:14px minmax(230px,1.4fr) minmax(180px,1fr) 55px 16px;gap:10px;padding:0 11px;font-size:13px}
#directory .untouched .site-row{grid-template-columns:14px minmax(230px,1.4fr) minmax(200px,1fr) 16px}
#directory .site-row b{font-size:14px;line-height:1.05}
#directory .site-row small{font-size:11px;line-height:1.1;margin-top:3px}
#directory .site-row .region{font-size:12px;line-height:1.1}
#directory .site-row time{font-size:12px;font-weight:800}
#directory .site-row .chev{font-size:22px}
#directory .more-row,#directory .end-row{font-size:11px;padding:8px}
#directory .directory-foot{height:124px;grid-template-columns:1.15fr 1.7fr .5fr;gap:16px;padding:12px 19px}
#directory .selected-site b{font-size:16px}
#directory .selected-site span{font-size:11px}
#directory .selected-site small,#directory .go-group>small{font-size:10px}
#directory .go-buttons button{min-width:145px;padding:9px 10px;font-size:11px}
#directory .go-buttons button span{font-size:9px}
#directory .tip{font-size:10px;line-height:1.2}

/* VERIFICATION — compact overlay with readable rows; crop to useful content. */
#verification .verification-card{right:24px;top:80px;width:33%;padding:16px 17px 14px;height:auto;max-height:calc(100% - 105px);overflow:auto}
#verification .panel-title{font-size:21px}
#verification .mini-tabs{margin:11px 0 13px}
#verification .mini-tabs button{font-size:12px;padding:8px 5px}
#verification .verify-heading h3{font-size:22px}
#verification .verify-heading div>b{font-size:14px}
#verification .verify-heading small{font-size:12px;margin-top:8px}
#verification .verified{min-width:104px;padding:10px 9px}
#verification .verified b{font-size:13px}
#verification .verified span{font-size:14px}
#verification .check-row{grid-template-columns:36px .9fr 1.18fr;gap:11px;padding:12px 0;font-size:12px}
#verification .check{width:33px;height:33px;font-size:19px}
#verification .check-row b{font-size:14px}
#verification .check-row small{font-size:11px}
#verification .verify-foot{font-size:11px;padding-top:10px}

/* SNAPSHOT — intentionally small inset over local map; compact, not page-filling. */
#snapshot .quick-card{left:22px;top:62px;width:56%;height:auto;padding:50px 16px 13px;border-radius:10px}
#snapshot .quick-title{height:43px;padding:9px 15px;font-size:20px}
#snapshot .quick-identity{grid-template-columns:38% 62%;padding:5px 0 9px}
#snapshot .warehouse-art{height:90px}
#snapshot .quick-identity h3{font-size:21px;margin-bottom:5px}
#snapshot .quick-identity b{font-size:16px}
#snapshot .gold-rule{margin:1px 0 5px}
#snapshot .quick-row{height:56px;grid-template-columns:40px 1fr auto;gap:10px}
#snapshot .iconbox{width:36px;height:36px;font-size:20px}
#snapshot .quick-row b{font-size:14px}
#snapshot .quick-row strong{font-size:18px}
#snapshot .detail-cta{height:43px;margin-top:9px;font-size:17px}
#snapshot .snapshot-fire{right:14%;top:31%;font-size:58px}
#snapshot .snapshot-fire small{font-size:16px}
#snapshot .samara{font-size:29px}

/* DETAILED DATA — typography first. Reduce dead prose density before shrinking text. */
#detailed{padding:9px}
#detailed .report-card{height:100%;min-height:0}
#detailed .report-top{height:180px;padding-left:26%}
#detailed .report-photo{width:25%;height:180px}
#detailed .report-title{height:62px;padding:9px 44px 0 14px}
#detailed .report-title h2{font-size:29px}
#detailed .report-title p{font-size:12px}
#detailed .kpis{height:118px}
#detailed .kpis>div{padding:12px 10px 5px 52px}
#detailed .kpis span{font-size:32px}
#detailed .kpis small{font-size:10px}
#detailed .kpis b{font-size:19px}
#detailed .kpis em{font-size:9.5px}
#detailed .stress-title{font-size:12px;padding:5px 7px}
#detailed .stress-title span{font-size:9.5px}
#detailed .stress-row{height:128px}
#detailed .stress-row>div{gap:14px;padding:10px 17px}
#detailed .orb{width:72px;height:72px;flex-basis:72px;font-size:25px}
#detailed .stress-row small{font-size:10px}
#detailed .stress-row b{font-size:23px}
#detailed .stress-row p{font-size:10.5px;line-height:1.18}
#detailed .report-cols{height:calc(100% - 339px);min-height:320px;grid-template-columns:1fr 1fr 1fr 1.18fr}
#detailed .report-cols h4{font-size:13px;padding:8px 10px}
#detailed .fact{grid-template-columns:36px 1fr;gap:8px;padding:8px 10px;min-height:63px}
#detailed .fact>span{font-size:23px}
#detailed .fact small{font-size:9.5px;line-height:1.05}
#detailed .fact b{font-size:12.5px;line-height:1.12}
#detailed .fact em{font-size:9.5px;line-height:1.15}
#detailed .strategic p{font-size:11.5px;line-height:1.24;margin:9px 11px}
#detailed .strategic .note{font-size:10.5px;line-height:1.2;margin:9px 10px;padding:8px}

@media(max-width:1050px){
  #directory .directory-grid{height:330px}
  #directory .site-row{height:48px}
  #snapshot .quick-card{width:60%}
  #verification .verification-card{width:36%}
  #detailed .report-title h2{font-size:25px}
  #detailed .kpis b{font-size:17px}
  #detailed .fact b{font-size:11.5px}
}

/* === v1.02 PROPORTIONAL / MEASURED LAYOUT PASS ===
   Treat each reference as a measured composition. Typography scales from
   the available box, and content bands intentionally consume the card height. */

/* DIRECTORY: prioritize readable rows; the row viewport scrolls inside a fixed shell. */
#directory .directory-title-row h2{font-size:30px}
#directory .directory-title-row p{font-size:14px}
#directory .directory-grid{height:342px}
#directory .site-row{height:58px;font-size:14px;grid-template-columns:15px minmax(240px,1.35fr) minmax(190px,1fr) 58px 18px}
#directory .untouched .site-row{grid-template-columns:15px minmax(240px,1.35fr) minmax(210px,1fr) 18px}
#directory .site-row b{font-size:15px;line-height:1.08}
#directory .site-row small{font-size:11.5px;line-height:1.1}
#directory .site-row .region{font-size:12.5px;line-height:1.12}
#directory .site-row time{font-size:12.5px}
#directory .list-head{font-size:14px;padding:9px 10px}
#directory .directory-foot{height:132px}
#directory .selected-site b{font-size:17px}
#directory .selected-site span{font-size:11.5px}
#directory .go-buttons button{font-size:12px;min-width:150px;padding:10px}
#directory .go-buttons button span{font-size:9.5px}

/* VERIFICATION: compact content-height overlay, but text-to-row ratio is larger. */
#verification .verification-card{width:32.5%;right:26px;top:78px;padding:15px 17px 13px;max-height:none;overflow:visible}
#verification .panel-title{font-size:22px}
#verification .mini-tabs button{font-size:12.5px;padding:8px 4px}
#verification .verify-heading{margin:9px 0 8px}
#verification .verify-heading h3{font-size:22px;line-height:1.05}
#verification .verify-heading div>b{font-size:14px}
#verification .verify-heading small{font-size:12px}
#verification .verified{min-width:100px;padding:9px 8px}
#verification .check-row{grid-template-columns:34px .85fr 1.18fr;padding:11px 0;font-size:12.5px;line-height:1.18}
#verification .check{width:32px;height:32px;font-size:18px}
#verification .check-row b{font-size:14.5px}
#verification .check-row small{font-size:11px}
#verification .verify-foot{font-size:11.5px;line-height:1.25}

/* SNAPSHOT: 16:9 map remains the canvas; QUICK DATA is a distinct inset.
   Reference ratio: inset occupies about 2/3 of graphic width and ~90% height. */
#snapshot .quick-card{
  left:18px; top:18px; bottom:auto;
  width:67%; height:calc(100% - 36px);
  padding:57px 18px 16px;
  border-radius:12px;
}
#snapshot .quick-title{height:49px;padding:10px 16px;font-size:23px}
#snapshot .quick-identity{height:116px;grid-template-columns:40% 60%;padding:7px 0 9px}
#snapshot .warehouse-art{height:96px}
#snapshot .quick-identity h3{font-size:23px;line-height:1.05;margin:0 0 6px}
#snapshot .quick-identity b{font-size:18px}
#snapshot .quick-row{height:calc((100% - 57px - 116px - 58px - 18px)/4);min-height:60px;grid-template-columns:43px 1fr auto;gap:12px}
#snapshot .iconbox{width:39px;height:39px;font-size:21px}
#snapshot .quick-row b{font-size:15.5px;letter-spacing:.01em}
#snapshot .quick-row strong{font-size:19px}
#snapshot .detail-cta{height:49px;margin-top:9px;font-size:18px}
#snapshot .samara{font-size:28px;right:12%}
#snapshot .snapshot-fire{right:12%;top:31%;font-size:58px}
#snapshot .route{font-size:13px}

/* DETAILED DATA: measured bands based on the Aug 16 reference.
   ~30% identity/KPI, ~24% financial block, ~46% detailed columns. */
#detailed{padding:10px}
#detailed .report-card{display:grid;grid-template-rows:30% 4.5% 19.5% 46%;height:100%;overflow:hidden}
#detailed .report-top{height:auto;min-height:0;padding-left:26.5%;position:relative}
#detailed .report-photo{width:25.5%;height:100%}
#detailed .report-photo span{font-size:9px;padding:3px 5px}
#detailed .report-title{height:35%;padding:10px 48px 0 15px}
#detailed .report-title h2{font-size:31px;line-height:1.0;margin:0}
#detailed .report-title p{font-size:12.5px;margin:5px 0 0}
#detailed .kpis{height:65%;top:35%;bottom:auto}
#detailed .kpis>div{padding:12px 8px 7px 53px;display:flex;flex-direction:column;justify-content:center}
#detailed .kpis span{font-size:34px;left:12px}
#detailed .kpis small{font-size:10.5px;line-height:1.05}
#detailed .kpis b{font-size:20px;line-height:1.05;margin-top:3px}
#detailed .kpis em{font-size:10px;margin-top:3px}

#detailed .stress-title{height:auto;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:950;padding:0 10px;line-height:1}
#detailed .stress-title span{font-size:10px;margin-left:8px;letter-spacing:.01em}
#detailed .stress-row{height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr 1.08fr}
#detailed .stress-row>div{height:100%;padding:10px 17px;gap:14px;align-items:center}
#detailed .orb{width:76px;height:76px;flex:0 0 76px;font-size:25px;border-width:3px}
#detailed .wbmark{font-size:28px;font-weight:900;letter-spacing:-.08em}
#detailed .vtbmark{position:relative;display:block}
#detailed .vtbmark i{position:absolute;left:22px;width:33px;height:7px;background:#fff;transform:skewX(-24deg);border-radius:1px}
#detailed .vtbmark i:nth-child(1){top:21px}
#detailed .vtbmark i:nth-child(2){top:32px;width:28px;left:25px}
#detailed .vtbmark i:nth-child(3){top:43px;width:23px;left:28px}
#detailed .cbmark{font-family:Georgia,serif;font-size:39px;line-height:1}
#detailed .stress-row small{font-size:10.5px;line-height:1.05}
#detailed .stress-row b{font-size:25px;line-height:1}
#detailed .stress-row p{font-size:11px;line-height:1.18;margin:4px 0 0}

#detailed .report-cols{height:auto;min-height:0;grid-template-columns:1fr 1fr 1fr 1.13fr}
#detailed .report-cols>section{min-height:0;display:flex;flex-direction:column;overflow:hidden}
#detailed .report-cols h4{height:42px;min-height:42px;display:flex;align-items:center;font-size:17px;line-height:1;padding:0 11px;margin:0;white-space:nowrap}
#detailed .report-cols>section:not(.strategic) .fact{flex:1;min-height:0;grid-template-columns:38px 1fr;gap:9px;padding:7px 11px;align-items:center}
#detailed .fact>span{font-size:25px}
#detailed .fact small{font-size:10px;line-height:1.05}
#detailed .fact b{font-size:13.5px;line-height:1.12;margin-top:2px}
#detailed .fact em{font-size:9.8px;line-height:1.12;margin-top:2px}
#detailed .strategic{display:grid!important;grid-template-rows:42px 1fr 1fr 1fr 1.22fr}
#detailed .strategic h4{grid-row:1}
#detailed .strategic p{font-size:12px;line-height:1.22;margin:0;padding:8px 12px;border-bottom:1px solid #cbd1d6;display:flex;align-items:center}
#detailed .strategic .note{font-size:11px;line-height:1.2;margin:7px 10px 9px;padding:8px 9px;align-self:stretch}

@media(max-width:1100px){
  #detailed .report-title h2{font-size:27px}
  #detailed .stress-title{font-size:14px}
  #detailed .report-cols h4{font-size:14.5px}
  #detailed .fact b{font-size:12.5px}
  #snapshot .quick-identity h3{font-size:20px}
}

/* === TYPOGRAPHY HIERARCHY PASS — Aug 17 feedback === */
/* Verification: the page heading must outrank the site subheading. */
#verification .panel-title{font-size:26px;line-height:1;font-weight:950;letter-spacing:.01em}
#verification .verify-heading h3{font-size:20px;line-height:1.04;margin:0}
#verification .verify-heading div>b{font-size:15px;line-height:1.05}
#verification .verify-heading small{font-size:12.5px;line-height:1.15}
#verification .mini-tabs button{font-size:13px;font-weight:850}
#verification .check-row{font-size:13px}
#verification .check-row b{font-size:15px}
#verification .check-row small{font-size:12px}
#verification .verify-foot{font-size:12px}

/* Detailed data: the available box area must purchase readability, not whitespace. */
#detailed .report-title h2{font-size:33px}
#detailed .report-title p{font-size:13.5px;font-weight:750}
#detailed .kpis small{font-size:12px;font-weight:850;letter-spacing:.01em}
#detailed .kpis b{font-size:23px}
#detailed .kpis em{font-size:11px}
#detailed .kpis span{font-size:36px}

/* Major heading is intentionally dominant; explanatory line is subordinate. */
#detailed .stress-title{font-size:21px;font-weight:950;letter-spacing:-.01em;padding:0 12px;justify-content:flex-start}
#detailed .stress-title span{font-size:11.5px;font-weight:800;margin-left:10px;letter-spacing:0}

#detailed .orb{width:82px;height:82px;flex-basis:82px}
#detailed .wbmark{font-size:31px}
#detailed .stress-row small{font-size:12px;font-weight:900}
#detailed .stress-row b{font-size:29px}
#detailed .stress-row p{font-size:12.5px;line-height:1.2;margin-top:5px}
#detailed .stress-row>div{padding:10px 18px;gap:16px}

/* Uniform dark-blue section headers; text fills more of the header band. */
#detailed .report-cols h4{height:46px;min-height:46px;font-size:18.5px;font-weight:900;padding:0 12px}
#detailed .strategic{grid-template-rows:46px 1fr 1fr 1fr 1.22fr}

/* Lower facts: enlarge labels and values to match the generous row heights. */
#detailed .report-cols>section:not(.strategic) .fact{grid-template-columns:42px 1fr;gap:10px;padding:7px 12px}
#detailed .fact>span{font-size:28px}
#detailed .fact small{font-size:11.5px;line-height:1.05;font-weight:850}
#detailed .fact b{font-size:15.5px;line-height:1.12;margin-top:3px}
#detailed .fact em{font-size:10.8px;line-height:1.14;margin-top:3px}
#detailed .strategic p{font-size:13.5px;line-height:1.25;padding:9px 13px}
#detailed .strategic .note{font-size:12.2px;line-height:1.23;margin:7px 10px 9px;padding:9px 10px}

/* At normal Chromebook widths, do not silently shrink the revised hierarchy. */
@media(max-width:1100px){
  #verification .panel-title{font-size:24px}
  #verification .verify-heading h3{font-size:19px}
  #detailed .report-title h2{font-size:30px}
  #detailed .stress-title{font-size:19px}
  #detailed .stress-title span{font-size:10.5px}
  #detailed .report-cols h4{font-size:16.5px}
  #detailed .fact b{font-size:14px}
  #detailed .strategic p{font-size:12.5px}
}

/* === CONTENT-FIRST SNAPSHOT PASS — Aug 17 ===
   Generic rule: size readable content first, then wrap the smallest useful box around it. */
#snapshot .quick-card{
  left:22px;
  top:78px;
  bottom:auto;
  width:27%;
  height:auto;
  min-height:0;
  padding:42px 12px 11px;
  border-radius:9px;
  overflow:hidden;
}
#snapshot .quick-title{
  height:36px;
  padding:7px 11px;
  font-size:16px;
  line-height:1;
  border-radius:8px 8px 0 0;
}
#snapshot .quick-identity{
  height:auto;
  min-height:0;
  grid-template-columns:34% 66%;
  gap:8px;
  padding:5px 0 7px;
}
#snapshot .warehouse-art{height:58px}
#snapshot .quick-identity h3{
  font-size:14px;
  line-height:1.03;
  margin:0 0 4px;
}
#snapshot .quick-identity b{font-size:12px;line-height:1.05}
#snapshot .gold-rule{gap:3px;font-size:9px}
#snapshot .gold-rule:before,#snapshot .gold-rule:after{height:1px}
#snapshot .quick-row{
  height:auto;
  min-height:39px;
  grid-template-columns:27px minmax(0,1fr) auto;
  gap:7px;
  padding:5px 0;
}
#snapshot .iconbox{
  width:25px;
  height:25px;
  border-radius:5px;
  font-size:14px;
}
#snapshot .quick-row b{
  font-size:9.5px;
  line-height:1.05;
  letter-spacing:.015em;
}
#snapshot .quick-row strong{
  font-size:11.5px;
  line-height:1.05;
  text-align:right;
  white-space:nowrap;
}
#snapshot .detail-cta{
  position:static;
  width:100%;
  height:34px;
  margin-top:7px;
  font-size:12px;
  border-width:1px;
}

/* Verification: retain compact overlay and make title hierarchy unambiguous. */
#verification .verification-card{height:auto;bottom:auto}
#verification .panel-title{font-size:28px}
#verification .verify-heading h3{font-size:19px}
#verification .check-row{padding:10px 0}

/* Detailed data: spend generous row height on readable type, not blank space. */
#detailed .kpis small{font-size:13px}
#detailed .kpis b{font-size:25px}
#detailed .kpis em{font-size:12px}
#detailed .stress-row small{font-size:13px}
#detailed .stress-row b{font-size:31px}
#detailed .stress-row p{font-size:13.2px}
#detailed .fact small{font-size:12.3px}
#detailed .fact b{font-size:16.5px}
#detailed .fact em{font-size:11.5px}
#detailed .strategic p{font-size:14px}
#detailed .strategic .note{font-size:12.8px}

@media(max-width:1100px){
  #snapshot .quick-card{width:29%}
  #snapshot .quick-title{font-size:15px}
  #snapshot .quick-identity h3{font-size:13px}
  #snapshot .quick-row b{font-size:9px}
  #snapshot .quick-row strong{font-size:10.5px}
  #detailed .fact b{font-size:15px}
}


/* v1.02 visual lock — explicit financial-status icon treatment */
#detailed .wbmark{
  background:#c92027;color:#fff;font-size:28px;font-weight:950;text-transform:lowercase;
  letter-spacing:-.12em;padding-right:.12em;font-family:Arial Black,Arial,sans-serif;
}
#detailed .vtbmark{background:#d49b0e;color:#fff;position:relative;overflow:hidden}
#detailed .vtb-glyph{width:42px;height:30px;display:flex;flex-direction:column;justify-content:center;gap:3px;transform:skewX(-28deg)}
#detailed .vtb-glyph i{display:block;height:6px;background:#fff;border-radius:2px}
#detailed .vtb-glyph i:nth-child(1){width:38px}
#detailed .vtb-glyph i:nth-child(2){width:31px;margin-left:7px}
#detailed .vtb-glyph i:nth-child(3){width:24px;margin-left:14px}
#detailed .cbmark{background:#d49b0e;color:#fff;position:relative;overflow:hidden}
#detailed .cb-glyph{position:relative;width:48px;height:48px;display:grid;place-items:center}
#detailed .cb-glyph b{position:relative;z-index:3;font:900 25px/1 Georgia,serif;color:#fff}
#detailed .cb-glyph .wing{position:absolute;top:19px;width:22px;height:13px;border-top:5px solid #fff;border-radius:55% 55% 0 0}
#detailed .cb-glyph .wing.left{left:1px;transform:rotate(-24deg)}
#detailed .cb-glyph .wing.right{right:1px;transform:rotate(24deg)}
#detailed .cb-glyph .crown{position:absolute;top:-3px;left:18px;font:900 12px/1 Arial,sans-serif;color:#fff;font-style:normal}
#detailed .orb{box-shadow:0 0 0 2px rgba(0,0,0,.12),0 0 0 5px #fff;}

/* v1.04 live data-binding support */
.site-rows-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.site-row[data-site-id]{cursor:pointer}
.site-row[data-site-id]:hover{background:rgba(255,255,255,.055)}
.site-row.selected{outline:2px solid rgba(215,178,94,.55);outline-offset:-2px}
#detailStrategic p{font-size:inherit;line-height:inherit;margin:9px 11px}

/* v1.06 directory navigation clarity */
.site-row[data-site-id]{cursor:pointer}
.site-row[data-site-id] .chev{transition:transform .15s ease}
.site-row[data-site-id]:hover .chev{transform:translateX(3px)}
.row-nav-hint{font-size:12px;line-height:1.3;color:#6f7782;margin:0 0 8px}

.back-directory-btn{
  position:absolute;left:18px;bottom:16px;z-index:40;
  border:1px solid rgba(255,255,255,.35);background:rgba(10,18,29,.88);
  color:#fff;padding:9px 14px;border-radius:8px;font-weight:800;cursor:pointer;
}

/* v1.08 publish/demo cleanup: no review/test shell */
.review-shell{min-height:100vh;padding:0;background:#eef2f5}
.stage-wrap{padding:0;margin:0}
.ev-stage{min-height:100vh}
.back-directory-btn{left:18px;bottom:18px}

.form-nav-strip{
  position:absolute;right:18px;bottom:18px;z-index:45;
  display:flex;gap:8px;align-items:center
}
.form-nav-btn{
  border:1px solid rgba(255,255,255,.32);background:rgba(10,18,29,.88);
  color:#fff;border-radius:8px;padding:9px 12px;font-weight:800;cursor:pointer
}
.form-nav-btn.primary{background:#0e3556}

/* R207 recovery — enlarge BOTH Site Directory scrolling panels.
   The two columns share the same directory-grid height and each site-list
   keeps its own independent vertical scrollbar. */
#directory .directory-grid{
  height:calc(100vh - 245px);
  min-height:460px;
  max-height:650px;
  align-items:stretch;
}
#directory .site-list,
#directory .site-rows-scroll{
  height:100%;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}

/* R208 recovery — make both directory panels structurally identical and
   always provide an independent vertical scroll track, even when one list
   currently has too few rows to require movement. */
#directory .site-list{
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#directory .site-list .list-head{
  flex:0 0 auto;
}
#directory .site-list .site-rows-scroll{
  flex:1 1 auto;
  height:auto;
  min-height:0;
  overflow-y:scroll;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

/* R209 recovery — simple table-page navigation only.
   Row-level navigation remains a separate pass. */
#directory .table-nav-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
#directory .table-nav-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:32px;
  min-width:72px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:7px;
  background:rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
}
#directory .table-nav-btn.next{
  min-width:42px;
  padding:0 11px;
  font-size:20px;
  line-height:1;
}
#directory .table-nav-btn:hover{
  background:rgba(255,255,255,.18);
}

/* R210 recovery — improve visibility of the two table-page navigation controls.
   Destinations are unchanged from R209. */
#directory .table-nav-actions{
  gap:12px;
}
#directory .table-nav-btn{
  height:40px;
  min-width:92px;
  padding:0 18px;
  border:2px solid #ffffff;
  border-radius:9px;
  background:#17384b;
  color:#ffffff;
  box-shadow:0 3px 10px rgba(0,0,0,.28);
  font-size:14px;
  font-weight:950;
  letter-spacing:.08em;
}
#directory .table-nav-btn.next{
  min-width:54px;
  padding:0 14px;
  background:#7b2d86;
  font-size:30px;
  font-weight:900;
  line-height:1;
}
#directory .table-nav-btn:hover{
  background:#24526d;
}
#directory .table-nav-btn.next:hover{
  background:#9639a4;
}

/* R217 canonical table navigation */
#directory .table-nav-btn.start{
  background:#2a4b39;
}
#directory .table-nav-btn.start:hover{
  background:#356047;
}



/* R222 — CENTRAL PALETTE
   Edit only these values to change the shared Site Details visual family. */
:root{
  --wb-palette-surface:#344653;
  --wb-palette-surface-strong:#2c3d49;
  --wb-palette-text:#f3efe5;
  --wb-palette-text-secondary:#cbd2d6;
  --wb-palette-border:#6f8796;
  --wb-palette-accent:#8fa8b8;
  --wb-palette-accent-strong:#6f8fa3;

  /* Shared typography */
  --wb-palette-font-family:Arial, Helvetica, sans-serif;
  --wb-palette-title-size:19px;
  --wb-palette-body-size:13px;
  --wb-palette-small-size:10px;

  /* Site Details bindings — Snapshot / Validation / Detailed Info */
  --site-detail-bg:var(--wb-palette-surface);
  --site-detail-bg-strong:var(--wb-palette-surface-strong);
  --site-detail-text:var(--wb-palette-text);
  --site-detail-text-secondary:var(--wb-palette-text-secondary);
  --site-detail-border:var(--wb-palette-border);
  --site-detail-accent:var(--wb-palette-accent);
  --site-detail-accent-strong:var(--wb-palette-accent-strong);
  --site-detail-font-family:var(--wb-palette-font-family);
  --site-detail-title-size:var(--wb-palette-title-size);
  --site-detail-body-size:var(--wb-palette-body-size);
  --site-detail-small-size:var(--wb-palette-small-size);
}

/* R219 — canonical Site Details interaction */
.r219-directory-foot{
  min-height:48px !important;
  padding:9px 18px !important;
  display:flex !important;
  align-items:center;
}
.r219-directory-foot .row-nav-hint{
  margin:0;
  width:100%;
  text-align:center;
  font-size:13px;
  letter-spacing:.02em;
}
.site-row .site-name-action{
  cursor:pointer;
  text-decoration:none;
  border-radius:4px;
  padding:2px 4px;
  margin-left:-4px;
  transition:font-size .12s ease, background .12s ease, color .12s ease;
}
.site-row .site-name-action:hover,
.site-row .site-name-action:focus{
  text-decoration:underline;
  outline:1px solid rgba(255,255,255,.35);
}
.site-row.selected{
  background:rgba(255,233,173,.16) !important;
  box-shadow:inset 4px 0 0 rgba(255,222,128,.85);
}
.site-row.selected .site-name-action{
  font-size:1.08em;
  font-weight:900;
  background:rgba(255,232,164,.16);
}
.site-detail-popover{
  position:fixed;
  z-index:5000;
  display:none;
  box-sizing:border-box;
  background:rgba(22,25,27,.98);
  color:#f4f0e8;
  border:1px solid rgba(232,213,170,.55);
  border-radius:10px;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  padding:14px 16px;
}
.site-detail-popover.open,
.site-detail-popover.measuring{display:block;}
.site-detail-popover.measuring{visibility:hidden;}
.popover-kicker{
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  color:#d6bd87;
  margin-bottom:4px;
}
.popover-title{
  font-size:18px;
  font-weight:900;
  line-height:1.15;
}
.popover-meta{
  margin-top:4px;
  font-size:11px;
  color:#c7c1b5;
}
.popover-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 12px;
}
.popover-grid div,
.validation-list div{
  min-width:0;
}
.popover-grid small,
.validation-list small{
  display:block;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#aaa399;
}
.popover-grid b,
.validation-list b{
  display:block;
  margin-top:2px;
  font-size:12px;
  line-height:1.25;
}
.validation-popover{
  padding-top:16px;
}
.site-popover-close{
  position:absolute;
  top:5px;
  right:8px;
  width:26px;
  height:26px;
  border:0;
  background:transparent;
  color:#e9e2d6;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.validation-status-line{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:11px 0 8px;
  padding:7px 0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:11px;
  font-weight:800;
}
.validation-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px 14px;
}
.detail-info-button{
  display:block;
  margin:13px 0 0 auto;
  border:1px solid rgba(232,213,170,.7);
  border-radius:7px;
  background:#7b5d28;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  padding:7px 10px;
  cursor:pointer;
}
.form-nav-strip,
.back-directory-btn{
  display:none !important;
}
.r219-back-table{
  position:absolute;
  top:18px;
  right:20px;
  z-index:50;
  border:1px solid rgba(255,255,255,.65);
  border-radius:8px;
  background:#284335;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  padding:8px 12px;
  cursor:pointer;
}


/* R221 — Site Details shared-theme bindings */
.site-detail-popover{
  background:var(--site-detail-bg) !important;
  color:var(--site-detail-text) !important;
  border-color:var(--site-detail-border) !important;
  font-family:var(--site-detail-font-family) !important;
}
.popover-kicker{
  color:var(--site-detail-accent) !important;
  font-size:var(--site-detail-small-size) !important;
}
.popover-title{
  color:var(--site-detail-text) !important;
  font-size:var(--site-detail-title-size) !important;
}
.popover-meta{
  color:var(--site-detail-text-secondary) !important;
  font-size:11px !important;
}
.popover-grid small,
.validation-list small{
  color:var(--site-detail-text-secondary) !important;
  font-size:var(--site-detail-small-size) !important;
}
.popover-grid b,
.validation-list b{
  color:var(--site-detail-text) !important;
  font-size:var(--site-detail-body-size) !important;
}
.validation-status-line{
  color:var(--site-detail-text) !important;
  border-color:rgba(255,255,255,.18) !important;
  font-size:var(--site-detail-body-size) !important;
}
.site-popover-close{
  color:var(--site-detail-text) !important;
}
.detail-info-button{
  background:var(--site-detail-accent-strong) !important;
  color:var(--site-detail-text) !important;
  border-color:var(--site-detail-accent) !important;
  font-family:var(--site-detail-font-family) !important;
}
.r219-back-table{
  background:var(--site-detail-bg-strong) !important;
  color:var(--site-detail-text) !important;
  border-color:var(--site-detail-border) !important;
  font-family:var(--site-detail-font-family) !important;
}

/* Detailed Info follows the same shared palette. */
#detailed{
  --detail-bg:var(--site-detail-bg);
  --detail-text:var(--site-detail-text);
  --detail-secondary:var(--site-detail-text-secondary);
  --detail-border:var(--site-detail-border);
  --detail-accent:var(--site-detail-accent);
}
#detailed .detail-card,
#detailed .detail-panel,
#detailed .detail-section,
#detailed .detail-wrap{
  font-family:var(--site-detail-font-family) !important;
}


/* R234 — Directory column-header fit test.
   Mirrors the existing row geometry only; no new data columns are introduced yet. */
#directory .column-head{
  display:grid;
  align-items:center;
  gap:10px;
  min-height:30px;
  padding:0 11px;
  background:#eef1f2;
  border-bottom:1px solid #cfd5d9;
  color:#46535c;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
#directory .column-head b{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#directory .attacked-head{
  grid-template-columns:15px minmax(240px,1.35fr) minmax(190px,1fr) 78px;
}
#directory .untouched-head{
  grid-template-columns:15px minmax(240px,1.35fr) minmax(210px,1fr);
}
#directory .attacked-head b:last-child{
  text-align:center;
}
@media(max-width:1050px){
  #directory .column-head{font-size:11px;gap:8px;padding:0 10px;}
}


/* R235 — completed compact directory data layout.
   Site/GPS keeps identity in one cell; the former Location column is reclaimed
   for broadly populated, useful fields. Blank/TBD area values are intentionally
   left visually blank rather than rendered as placeholder text. */
#directory .column-head{
  min-height:36px;
  font-size:11px;
  gap:7px;
  padding:0 9px;
  letter-spacing:.025em;
}
#directory .column-head b{
  text-align:center;
  line-height:1.02;
  overflow:visible;
  text-overflow:clip;
}
#directory .column-head b:nth-child(2){text-align:left;}
#directory .column-head small{
  display:block;
  font-size:8px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
  color:#6d7780;
}
#directory .attacked-head{
  grid-template-columns:14px minmax(150px,1.75fr) 64px 68px 60px 56px;
}
#directory .untouched-head{
  grid-template-columns:14px minmax(180px,1.95fr) 70px 74px 64px;
}
#directory .site-row{
  grid-template-columns:14px minmax(150px,1.75fr) 64px 68px 60px 56px;
  gap:7px;
  padding:0 9px;
}
#directory .untouched .site-row{
  grid-template-columns:14px minmax(180px,1.95fr) 70px 74px 64px;
}
#directory .site-row .metric,
#directory .site-row time{
  display:block;
  text-align:center;
  white-space:nowrap;
  font-size:10.5px;
  line-height:1.05;
  color:#34414a;
}
#directory .site-row .area{font-variant-numeric:tabular-nums;}
#directory .site-row .distance,
#directory .site-row .flight{font-size:10px;color:#55616a;}
#directory .site-row time{color:#a0202a;font-weight:800;}
#directory .site-cell{min-width:0;}
#directory .site-cell b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
@media(max-width:1050px){
  #directory .column-head{font-size:10px;gap:5px;padding:0 7px;}
  #directory .column-head small{font-size:7px;}
  #directory .attacked-head,
  #directory .site-row{grid-template-columns:12px minmax(125px,1.7fr) 58px 62px 55px 50px;gap:5px;padding:0 7px;}
  #directory .untouched-head,
  #directory .untouched .site-row{grid-template-columns:12px minmax(145px,1.8fr) 62px 66px 58px;gap:5px;padding:0 7px;}
  #directory .site-row .metric,#directory .site-row time{font-size:9px;}
}

/* R236 — rebalance compact directory columns after live fit review.
   KEY gets its own labeled column; SITE/GPS no longer absorbs all spare width. */
#directory .column-head,
#directory .site-row{
  gap:7px;
  padding-left:9px;
  padding-right:9px;
}
#directory .attacked-head,
#directory .site-row{
  grid-template-columns:26px minmax(0,2.2fr) minmax(58px,1fr) minmax(64px,1.15fr) minmax(58px,1fr) minmax(52px,.9fr);
}
#directory .untouched-head,
#directory .untouched .site-row{
  grid-template-columns:26px minmax(0,2.35fr) minmax(62px,1fr) minmax(68px,1.15fr) minmax(60px,1fr);
}
#directory .column-head .key-head{
  text-align:center;
  font-size:9px;
  letter-spacing:.02em;
}
#directory .site-row > .dot{
  width:12px;
  height:12px;
  flex-basis:12px;
  justify-self:center;
}
#directory .site-cell b{
  font-size:14px;
}
@media(max-width:1050px){
  #directory .attacked-head,
  #directory .site-row{
    grid-template-columns:24px minmax(0,2fr) minmax(52px,.95fr) minmax(58px,1.05fr) minmax(52px,.95fr) minmax(46px,.85fr);
  }
  #directory .untouched-head,
  #directory .untouched .site-row{
    grid-template-columns:24px minmax(0,2.15fr) minmax(55px,.95fr) minmax(60px,1.05fr) minmax(54px,.95fr);
  }
  #directory .column-head .key-head{font-size:8px;}
  #directory .site-row > .dot{width:11px;height:11px;flex-basis:11px;}
}


/* R237 — table readability pass only.
   Increase row typography and make the site-status legend unmistakable without
   changing status classes, data fields, or table structure. */
#directory .site-row{
  height:62px;
  font-size:15px;
}
#directory .site-cell b{
  font-size:16px;
  line-height:1.08;
}
#directory .site-cell small{
  font-size:12.5px;
  line-height:1.15;
  margin-top:4px;
}
#directory .site-row .metric,
#directory .site-row time{
  font-size:12.5px;
  line-height:1.08;
  font-weight:700;
}
#directory .site-row .distance,
#directory .site-row .flight{
  font-size:12px;
}
#directory .site-row > .dot{
  width:14px;
  height:14px;
  flex-basis:14px;
}
#directory .directory-title-row{
  align-items:stretch;
  gap:18px;
  margin-bottom:10px;
}
#directory .legend{
  min-height:64px;
  padding:10px 14px;
  gap:14px;
  border:2px solid #c7cdd2;
  box-shadow:0 2px 7px rgba(6,22,38,.08);
  font-size:11px;
  line-height:1.2;
  flex-wrap:wrap;
  align-content:center;
  justify-content:flex-start;
  max-width:54%;
}
#directory .legend .legend-title{
  flex:0 0 100%;
  font-size:12px;
  letter-spacing:.08em;
  color:#27323a;
}
#directory .legend span{
  max-width:none;
  gap:7px;
  white-space:nowrap;
}
#directory .legend .dot{
  width:14px;
  height:14px;
  flex-basis:14px;
}
@media(max-width:1050px){
  #directory .site-row{height:56px;font-size:13.5px;}
  #directory .site-cell b{font-size:15px;}
  #directory .site-cell small{font-size:11.5px;}
  #directory .site-row .metric,#directory .site-row time{font-size:11.5px;}
  #directory .site-row .distance,#directory .site-row .flight{font-size:11px;}
  #directory .legend{font-size:10px;padding:9px 11px;gap:10px;max-width:56%;}
  #directory .legend .legend-title{font-size:11px;}
  #directory .legend .dot{width:13px;height:13px;flex-basis:13px;}
}


/* R238 — final table-page polish pass.
   Consolidate the title/date area, strengthen row typography, compact the
   Site Status legend, alphabetize display order in JS, and move navigation
   to a consistent protected bottom-center strip. */
#directory .directory-body{
  padding:18px 22px 0;
  height:calc(100% - 104px);
}
#directory .directory-title-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin:0 0 12px;
}
#directory .directory-heading{
  flex:1 1 auto;
  min-width:0;
}
#directory .directory-title-row h2{
  margin:0;
  font-size:30px;
  line-height:1.02;
  letter-spacing:-.025em;
  color:var(--purple);
}
#directory .study-period{
  margin-top:7px;
  font-size:17px;
  line-height:1.1;
  font-weight:900;
  color:#263846;
}
#directory .study-period sup,
#directory .study-note sup{
  font-size:.7em;
  vertical-align:super;
}
#directory .study-note{
  margin-top:3px;
  font-size:10px;
  line-height:1.15;
  color:#697680;
}
#directory .legend{
  flex:0 0 auto;
  width:max-content;
  max-width:55%;
  min-height:0;
  padding:10px 12px;
  gap:9px 13px;
  border:2px solid #b8c0c7;
  border-radius:8px;
  box-shadow:0 2px 7px rgba(6,22,38,.10);
  font-size:11.5px;
  line-height:1.15;
  display:grid;
  grid-template-columns:repeat(2,max-content);
  align-items:center;
  justify-content:start;
  background:#fff;
}
#directory .legend .legend-title{
  grid-column:1 / -1;
  font-size:13px;
  line-height:1;
  letter-spacing:.08em;
  color:#24323b;
  margin-bottom:1px;
}
#directory .legend span{
  max-width:none;
  white-space:nowrap;
  gap:7px;
  font-weight:700;
}
#directory .legend .dot{
  width:15px;
  height:15px;
  flex-basis:15px;
}
#directory .directory-grid{
  height:calc(100% - 106px);
  min-height:0;
  max-height:none;
}
#directory .site-row{
  height:66px;
  font-size:16px;
}
#directory .site-cell b,
#directory .site-row .site-name-action{
  font-size:18px;
  line-height:1.08;
}
#directory .site-cell small{
  font-size:14px;
  line-height:1.12;
  margin-top:4px;
}
#directory .site-row .metric,
#directory .site-row time{
  font-size:14px;
  line-height:1.08;
  font-weight:800;
}
#directory .site-row .distance,
#directory .site-row .flight{
  font-size:13.5px;
}
#directory .site-row > .dot{
  width:16px;
  height:16px;
  flex-basis:16px;
}
#directory .directory-foot{
  height:104px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:14px;
  padding:12px 22px;
}
#directory .r219-directory-foot .row-nav-hint{
  margin:0;
  font-size:11px;
  line-height:1.3;
}
#directory .directory-foot-spacer{min-width:1px;}
#directory .table-nav-actions{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:10px;
}
#directory .table-nav-btn,
#directory .table-nav-btn.start,
#directory .table-nav-btn.next{
  height:42px;
  min-width:88px;
  padding:0 18px;
  border:2px solid #fff;
  border-radius:9px;
  background:#17384b;
  color:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.22);
  font-size:13px;
  font-weight:950;
  line-height:1;
  letter-spacing:.07em;
  text-decoration:none;
}
#directory .table-nav-btn:hover,
#directory .table-nav-btn.start:hover,
#directory .table-nav-btn.next:hover{
  background:#24526d;
}
@media(max-width:1050px){
  #directory .directory-title-row{gap:14px;}
  #directory .directory-title-row h2{font-size:25px;}
  #directory .study-period{font-size:15px;}
  #directory .study-note{font-size:9px;}
  #directory .legend{font-size:10px;gap:7px 10px;padding:8px 10px;max-width:57%;}
  #directory .legend .legend-title{font-size:11.5px;}
  #directory .legend .dot{width:13px;height:13px;flex-basis:13px;}
  #directory .site-row{height:60px;font-size:14px;}
  #directory .site-cell b,#directory .site-row .site-name-action{font-size:16px;}
  #directory .site-cell small{font-size:12.5px;}
  #directory .site-row .metric,#directory .site-row time{font-size:12.5px;}
  #directory .site-row .distance,#directory .site-row .flight{font-size:12px;}
  #directory .directory-foot{grid-template-columns:minmax(180px,1fr) auto minmax(30px,1fr);padding:10px 16px;}
  #directory .table-nav-btn{height:38px;min-width:76px;padding:0 13px;font-size:11.5px;}
}


/* R239 — area-rank fit pass.
   Keep alphabetical row order, add a separate full-study-set AREA RANK column,
   and compact estimated flight duration to one decimal hour. */
#directory .attacked-head,
#directory .site-row{
  grid-template-columns:26px minmax(0,2.05fr) 46px 58px 64px 58px 50px;
  gap:6px;
}
#directory .untouched-head,
#directory .untouched .site-row{
  grid-template-columns:26px minmax(0,2.18fr) 48px 62px 68px 60px;
  gap:6px;
}
#directory .column-head{
  font-size:10.5px;
  letter-spacing:.018em;
}
#directory .column-head small{
  font-size:8.5px;
  letter-spacing:.01em;
}
#directory .site-row .area-rank{
  font-size:13px;
  font-weight:900;
  color:#4b3b79;
  font-variant-numeric:tabular-nums;
}
#directory .site-row .area,
#directory .site-row .distance,
#directory .site-row .flight,
#directory .site-row time{
  font-variant-numeric:tabular-nums;
}
@media(max-width:1050px){
  #directory .attacked-head,
  #directory .site-row{
    grid-template-columns:24px minmax(0,1.95fr) 42px 54px 58px 54px 46px;
    gap:5px;
  }
  #directory .untouched-head,
  #directory .untouched .site-row{
    grid-template-columns:24px minmax(0,2.05fr) 43px 56px 62px 55px;
    gap:5px;
  }
  #directory .column-head{font-size:9.5px;}
  #directory .column-head small{font-size:7.5px;}
  #directory .site-row .area-rank{font-size:11.5px;}
}

/* R240 — visual column-spacing rebalance only.
   Preserve R239 content, fonts, legend, alphabetical order and area rank.
   Use flexible fractions across the full row so the metric columns breathe
   instead of bunching against the right edge. */
#directory .attacked-head,
#directory .site-row{
  grid-template-columns:26px minmax(0,1.72fr) .54fr .72fr .82fr .70fr .66fr;
  column-gap:10px;
}
#directory .untouched-head,
#directory .untouched .site-row{
  grid-template-columns:26px minmax(0,1.82fr) .56fr .76fr .88fr .76fr;
  column-gap:11px;
}
#directory .column-head > b:not(:nth-child(2)),
#directory .site-row > .metric,
#directory .site-row > time{
  text-align:center;
  justify-self:stretch;
}
@media(max-width:1050px){
  #directory .attacked-head,
  #directory .site-row{
    grid-template-columns:24px minmax(0,1.62fr) .50fr .68fr .78fr .66fr .62fr;
    column-gap:8px;
  }
  #directory .untouched-head,
  #directory .untouched .site-row{
    grid-template-columns:24px minmax(0,1.72fr) .52fr .72fr .82fr .70fr;
    column-gap:8px;
  }
}


/* R241 — normalize both directory panels to the same seven-column schema.
   SITE STATUS labels the color-dot column; right-side DATE uses an em dash
   because no qualifying event date exists. Area units remain m² in header only. */
#directory .attacked-head,
#directory .untouched-head,
#directory .site-row,
#directory .untouched .site-row{
  grid-template-columns:48px minmax(0,1.62fr) .52fr .70fr .80fr .68fr .64fr;
  column-gap:9px;
}
#directory .column-head .key-head{
  font-size:9.5px;
  line-height:1.02;
  white-space:normal;
}
#directory .column-head .key-head small{
  font-size:7.8px;
  color:#6d7780;
}
#directory .site-row time.no-date{
  color:#7f8991;
  font-weight:700;
}
@media(max-width:1050px){
  #directory .attacked-head,
  #directory .untouched-head,
  #directory .site-row,
  #directory .untouched .site-row{
    grid-template-columns:43px minmax(0,1.52fr) .48fr .66fr .74fr .64fr .58fr;
    column-gap:7px;
  }
  #directory .column-head .key-head{font-size:8.6px;}
  #directory .column-head .key-head small{font-size:7px;}
}


/* R255 — unified compact Snapshot card. Typography first; card adapts to content. */
#snapshot.snapshot-stage{
  background:#263b31 !important;
}
#snapshot .snapshot-stage-wash{
  position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(19,43,35,.95),rgba(49,72,59,.88));
}
.snapshot-card{
  box-sizing:border-box;
  font-family:Arial,Helvetica,sans-serif !important;
  background:rgba(250,251,250,.98) !important;
  color:#0f2740 !important;
  border:1px solid #c7d1d8 !important;
  border-radius:12px !important;
  box-shadow:0 8px 22px rgba(12,29,42,.18) !important;
  overflow:hidden;
}
#snapshot .snapshot-card-full{
  position:absolute;
  left:28px; top:50%; transform:translateY(-50%);
  width:430px;
  padding:14px 14px 15px;
  z-index:5;
}
.snapshot-kicker{
  margin:0 0 8px;
  font-size:12px !important;
  line-height:1;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  color:#5b6c79 !important;
}
.snapshot-head{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:0 2px 11px;
}
.snapshot-status-dot{
  width:15px; height:15px; border-radius:50%; margin-top:4px;
  box-shadow:0 0 0 2px rgba(15,39,64,.08);
}
.snapshot-status-dot.red{background:#d92f2f}.snapshot-status-dot.amber{background:#f2ad24}.snapshot-status-dot.teal{background:#238b82}.snapshot-status-dot.gray{background:#8b98a3}
.snapshot-head-copy{min-width:0}
#snapshot .snapshot-head h3, .snapshot-pop-title{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  color:#0f2740 !important;
}
.snapshot-subline{
  margin-top:4px;
  font-size:14px !important;
  line-height:1.15;
  font-weight:500;
  color:#596b79 !important;
}
.snapshot-matrix{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:1px !important;
  margin-top:0 !important;
  background:#d7dfe4;
  border:1px solid #d7dfe4;
  border-radius:8px;
  overflow:hidden;
}
.snapshot-cell{
  min-height:76px;
  padding:10px 10px 9px !important;
  background:#f5f7f8;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.snapshot-cell small{
  display:block;
  margin:0 0 7px;
  font-size:12px !important;
  line-height:1.05;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  color:#5c6c78 !important;
}
.snapshot-cell b{
  display:block;
  margin:0 !important;
  font-size:18px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  color:#0f2740 !important;
}
/* Directory hover uses the same information architecture, just scaled slightly smaller. */
.site-detail-popover.snapshot-card-popover{
  padding:12px 12px 13px !important;
  background:rgba(250,251,250,.99) !important;
  color:#0f2740 !important;
  border:1px solid #c7d1d8 !important;
  border-radius:11px !important;
  box-shadow:0 10px 26px rgba(12,29,42,.24) !important;
}
.snapshot-card-popover .snapshot-kicker{font-size:10px !important;margin-bottom:7px}
.snapshot-card-popover .snapshot-head{grid-template-columns:16px minmax(0,1fr);gap:8px;padding-bottom:9px}
.snapshot-card-popover .snapshot-status-dot{width:13px;height:13px;margin-top:3px}
.snapshot-card-popover .snapshot-pop-title{font-size:18px !important}
.snapshot-card-popover .snapshot-subline{font-size:12px !important;margin-top:3px}
.snapshot-card-popover .snapshot-cell{min-height:62px;padding:8px 7px !important}
.snapshot-card-popover .snapshot-cell small{font-size:10px !important;margin-bottom:5px}
.snapshot-card-popover .snapshot-cell b{font-size:14px !important}
@media(max-width:900px){
  #snapshot .snapshot-card-full{left:16px;width:min(430px,calc(100% - 32px))}
  #snapshot .snapshot-head h3{font-size:20px !important}
}


/* ===== R257 right-panel status semantics ===== */
.blue{background:#3f6f9f!important;}
.snapshot-status-dot.blue{background:#3f6f9f!important;}
.legend{flex-wrap:wrap;}
.untouched .list-head{background:#edf3f8;color:#315f86;}
