/* Light executive workspace, with a navy and warm-metal spatial presentation. */
:root{--navy:#102e3d;--deep:#0a2331;--gold:#e5a34a;--line:#d4e1e3;--text:#244350;--shadow:0 12px 38px #173d4d0c}
body{background:radial-gradient(ellipse at 10% 0,#dbe9ed 0,transparent 48%),linear-gradient(145deg,#f5f7f4,#eaf0f0 75%)}
.rail{background:linear-gradient(180deg,#14394a,#092331);border-left:1px solid #42606a;box-shadow:-6px 0 30px #112f411a}
.rail-brand{background:#fff;border:1px solid #ffffff9c;box-shadow:0 4px 18px #0002;border-radius:13px;padding:5px}
.rail-brand:hover{background:#fff8ee}
.nav-item{color:#9cb2ba;transition:background .2s,color .2s}
.nav-item.active{background:linear-gradient(135deg,#2c6573,#204655);color:#fff;box-shadow:inset -3px 0 0 var(--gold),0 6px 18px #0001}
.nav-item:hover{background:#ffffff0e;color:white}.rail-help{color:#b9c9cb}.rail>.avatar{background:#294956;color:#e9ddc4;border-color:#57727b}
.topbar{background:#ffffffbd;backdrop-filter:blur(20px);box-shadow:0 1px 0 #fff,0 5px 23px #244a5804}
.brand-name strong{color:#193f50}.brand-name small{color:#8a9b9e}.topbar-center{color:#56727c}
.page-heading{position:relative;isolation:isolate;overflow:hidden;padding:27px 30px;border:1px solid #294f5f;border-radius:19px;background:radial-gradient(ellipse at 12% 0,#31708099,transparent 65%),linear-gradient(115deg,#0b2737,#173d4c 75%,#234b56);box-shadow:0 18px 42px #123c4c20,inset 0 1px 0 #ffffff20;margin-bottom:25px;min-height:153px}
.page-heading::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 46%,#ffffff08 46.1%,transparent 46.4%),linear-gradient(30deg,transparent 60%,#e5a34a12 60.1%,transparent 60.4%);background-size:100px 100px}
.page-heading::after{content:'';position:absolute;z-index:-1;width:230px;height:230px;left:3%;top:-110px;border:1px solid #a5d2d523;border-radius:50%;box-shadow:0 0 0 32px #b9dddd06,0 0 0 66px #b9dddd06,0 0 0 100px #b9dddd04;pointer-events:none}
.page-heading .eyebrow{color:#b5d6d6}.page-heading .eyebrow>b{color:#86a6b2;letter-spacing:1.8px}.page-heading .eyebrow>span{background:var(--gold);box-shadow:0 0 13px #e5a34a70}
.page-heading h1{color:#fff;font-size:32px;letter-spacing:-.7px}.page-heading h1>span{color:var(--gold)}.page-heading p{color:#b4cbd0;font-size:12px}
.page-heading .button.primary{background:linear-gradient(135deg,#f1c37e,#d99b44);border-color:#efbe75;color:#352d22;box-shadow:0 6px 22px #0002,inset 0 1px 0 #fff7;font-weight:600}
.page-heading .button.primary:hover{background:linear-gradient(135deg,#f6d298,#eab15d);color:#352d22;box-shadow:0 7px 27px #e5a34a25}
.page-heading .button.secondary{background:#ffffff0a;border-color:#ffffff30;color:#e2eeee;box-shadow:inset 0 1px 0 #ffffff0c;backdrop-filter:blur(8px)}
.page-heading .button.secondary:hover{background:#ffffff15;border-color:#ffffff70;color:white}
.workspace-heading{margin-bottom:16px;gap:15px}.section-title h2{color:#204556}.section-title h2::before{content:'';display:inline-block;width:4px;height:15px;background:linear-gradient(#e5a34a,#c68531);border-radius:3px;vertical-align:middle;margin-left:9px}
.workspace-tabs{background:#e0e9e9;border-color:#d3e0e2;box-shadow:inset 0 1px 2px #193a4605}.workspace-tabs button{color:#5a7a86;transition:background .2s,box-shadow .2s}
.workspace-tabs button.selected{background:linear-gradient(135deg,#1c4e60,#153b4d);color:#fff;box-shadow:0 3px 9px #183d4826,inset 0 1px 0 #ffffff20}
.workspace{gap:19px}.viewer{background:radial-gradient(ellipse at 53% 24%,#f9fcfb,transparent 64%),linear-gradient(155deg,#e3eeed,#e4edf0 68%,#d0e1e4);border:1px solid #c4d9dd;box-shadow:0 20px 55px #163c4d16,0 2px 7px #183e4a09,inset 0 0 0 1px #fff;border-radius:19px}
.viewer-top{background:linear-gradient(110deg,#153a4aef,#214b58ef);border-bottom:1px solid #718e9644;box-shadow:0 4px 18px #092d3910}
#breadcrumbs,#breadcrumbs button{color:#bed2d7}#breadcrumbs button:last-child{color:#f4cf95}#breadcrumbs .crumb-sep{color:#7c9da5}.viewer-top .icon-button{color:#c8dce0}.viewer-top .icon-button:hover{background:#ffffff18;color:white}.live-label{color:#c0d6d9}.live-label>span:first-child{background:#5dd9b5;box-shadow:0 0 10px #5dd9b550}
.viewer-bottom{background:#173b49eb;border-top:1px solid #ffffff23;box-shadow:0 -3px 20px #163a4408}.map-legend{color:#c7dbdf}.viewer-hint{color:#9fbdc6}.map-legend .context-old{background:#bcc6c2}.map-legend .context-active{background:var(--gold);box-shadow:0 0 7px #e5a34a55}.map-legend .landuse-water{background:#58b7b6}
.national-view{background:radial-gradient(ellipse at 50% 45%,#a4d4d326,transparent 70%),radial-gradient(#3f7d8e27 .7px,transparent .8px);background-size:auto,22px 22px}.national-view::after{box-shadow:inset 0 0 80px 10px #e4eeec36}.iraq-map{filter:drop-shadow(-8px 19px 13px #1a5f6d26)}.city-hit .city-core{fill:#1d6e85;stroke:#fff;stroke-width:3}.city-hit .city-ring{fill:#247d9220;stroke:#267c9260}.map-link{stroke:#d19746;opacity:.85}.map-text h2{font-weight:600;color:#143e50}.map-text p{color:#587b86}.map-eyebrow{color:#547f8d}.map-stats strong{color:#1b5569}
.viewer[data-mode="campus"] .scene-overlay{top:78px;max-width:69%;filter:drop-shadow(0 1px 4px #fff)}
.viewer[data-mode="campus"] .scene-overlay h2{font-size:25px;color:#153e50;font-weight:600}.viewer[data-mode="campus"] .scene-overlay p{color:#4c727e;font-size:11px}
.viewer[data-mode="campus"] .view-controls{bottom:auto;top:77px;left:17px}.view-controls,.viewer-side-controls{background:#ffffffdb;border-color:#c0d9de;box-shadow:0 5px 17px #1d536418,inset 0 1px 0 #fff}.segmented .selected{background:#244d5c;color:white}
.campus-context{top:145px;right:25px;max-width:none;flex-direction:row;align-items:center;gap:9px;pointer-events:none}
.campus-project-count{background:#ffffffd9!important;border:1px solid #d1e0df;border-radius:7px;padding:5px 9px!important;color:#4f727d;box-shadow:0 3px 10px #204b5408;backdrop-filter:blur(10px);font-size:10px;white-space:nowrap}
.campus-project-count b{color:#a56f27;font:600 15px/1 Arial;margin-left:3px}
.campus-context>button{margin:0;padding:6px 10px;min-height:30px;font-size:10px;display:flex;align-items:center;gap:5px;background:#173e4e;color:#f2e3c9;border:1px solid #315d6b;border-radius:7px;box-shadow:0 4px 12px #1a3b5022;pointer-events:auto}
.campus-context>button:hover{background:#2b5868;color:white}.campus-context>button svg{width:13px;height:13px}
#buildingTags{display:none!important}
.campus-project-pins{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;direction:ltr}
.campus-pin-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 1px 1px #fff8)}
.campus-pin-leaders path{fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.campus-project-pin{position:absolute;top:0;left:0;display:flex;align-items:center;gap:9px;width:var(--pin-width);height:var(--pin-height);padding:10px 11px;direction:rtl;text-align:right;pointer-events:auto;background:linear-gradient(135deg,#173d4ff5,#092735f5);color:white;border:1px solid #6e969e;border-right:3px solid var(--project-accent);border-radius:11px;box-shadow:0 9px 24px #0e374b2e,inset 0 1px 0 #ffffff15;backdrop-filter:blur(12px);will-change:transform;transition:box-shadow .2s,border-color .2s,background .2s}
.campus-project-pin:hover,.campus-project-pin:focus-visible{background:linear-gradient(135deg,#285a6d,#123747);border-color:var(--project-accent);box-shadow:0 11px 30px #1637463b,0 0 0 3px #fff8;color:#fff}
.pin-index{display:grid;place-items:center;width:30px;height:36px;flex-shrink:0;border-radius:7px;border:1px solid #ffffff20;background:#ffffff09;color:var(--project-accent);font:600 14px/1 Arial;letter-spacing:1px}
.pin-body{display:grid;gap:7px;min-width:0;flex:1}.pin-body strong{font-size:11px;line-height:1.4;white-space:nowrap;font-weight:500;color:#f2f7f6}.pin-detail{display:flex;align-items:center;justify-content:space-between;gap:6px}.pin-detail b{color:var(--project-accent);font:600 13px/1 Arial}.pin-detail small{font-size:9px;color:#c2d7dc;white-space:nowrap}
.campus-project-pins[hidden],.campus-project-pin[hidden]{display:none!important}
.project-panel{border-color:#d0dfe1;background:linear-gradient(160deg,#fff,#f9fbfa);box-shadow:0 14px 35px #173e4d0d,inset 0 1px 0 #fff;border-radius:18px}
.project-title{color:#234e60;font-weight:600}.panel-eyebrow{color:#a47d42;letter-spacing:2px}.panel-heading h3{color:#224a5b}
.project-card{box-shadow:0 3px 9px #214c5805;transition:transform .2s,border-color .2s,box-shadow .2s}.project-card:hover{transform:translateY(-2px);border-color:#79a7b3;box-shadow:0 9px 20px #1a536912}.project-card.featured{background:linear-gradient(135deg,#eff7f5,#e2efee);border-color:#a0c5c8;box-shadow:inset -3px 0 0 #367d8d}
.building-row[data-building="hospital"]{--project-accent:#d49a44;--project-tint:#fcf5e9;--project-ink:#93601c}.building-row[data-building="school"]{--project-accent:#27a99d;--project-tint:#edf8f5;--project-ink:#16766d}.building-row[data-building="hall"]{--project-accent:#7d8bd6;--project-tint:#f0f2fc;--project-ink:#5868bc}
.building-row[data-building]{border-right:3px solid var(--project-accent,#a6c9ce);box-shadow:0 4px 13px #194a5807;transition:transform .2s,box-shadow .2s}.building-row[data-building]:hover{transform:translateX(-3px);box-shadow:0 7px 18px #24516615;border-color:var(--project-accent,#7ab4be)}
.building-symbol{background:var(--project-tint,#eef5f5);color:var(--project-ink,#3a7e8e);font:600 13px/1 Arial;border:1px solid #ffffff;border-radius:8px}.building-row>b{color:var(--project-ink,#367d8d)}.building-info strong{color:#2b5261}
.campus-explore-note{background:linear-gradient(135deg,#eef5f3,#e5eff0);border-color:#cddfdf;color:#597c84}.campus-explore-note strong{color:#345e6d}
.progress-ring{filter:drop-shadow(0 4px 8px #1a60751a)}.progress-track i{background:linear-gradient(90deg,#2d7189,#39a39f);box-shadow:0 0 6px #409a9d30}
.metric{position:relative;overflow:hidden;box-shadow:0 8px 25px #234b5809,inset 0 1px 0 white;border-color:#d5e2e2;background:linear-gradient(150deg,#fff,#f5f9f7);transition:transform .2s,box-shadow .2s}
.metric::before{content:'';position:absolute;top:0;left:18px;right:18px;height:2px;background:linear-gradient(90deg,transparent,#3b899a,transparent)}.metric:nth-child(2)::before{background:linear-gradient(90deg,transparent,#d9a457,transparent)}.metric:last-child::before{background:linear-gradient(90deg,transparent,#d6a25e,transparent)}
.metric:hover{transform:translateY(-3px);box-shadow:0 13px 30px #1e526013}.metric-value{color:#1e4a5c;font-size:36px;font-weight:500}.metric-icon{color:#3e8093;background:#eaf2f2;border-radius:8px;padding:6px;display:grid;place-items:center}.metric-name{color:#5c7b87}
.metric footer{color:#76939d}.bottom-strip strong{color:#3b6372}.demo-tag{background:linear-gradient(135deg,#fff8e9,#f8ead3);border-color:#e8c997;color:#936524}
.button.primary{background:linear-gradient(135deg,#245b70,#237e8f);border-color:#2c7688;box-shadow:0 5px 15px #1f627e1c}.floor-tour-button{background:linear-gradient(135deg,#1f596e,#258b98)}
.compass>span{color:#5a7f8a}.compass path:first-child{fill:#2f6577}.compass path:last-child{stroke:#c0d3d5}
@media(min-width:1101px){.workspace,.viewer{min-height:690px}.project-panel{max-height:690px}}
@media(min-width:1600px){.workspace,.viewer{min-height:740px}.project-panel{max-height:740px}.page-heading{padding:30px 35px}.page-heading h1{font-size:35px}}
@media(max-width:1100px){.page-heading{padding:23px 24px}.page-heading h1{font-size:28px}.workspace,.viewer{min-height:630px}.project-panel{max-height:none}.viewer[data-mode="campus"] .scene-overlay{right:22px}}
@media(max-width:760px){.workspace{min-height:0}.viewer{min-height:600px}.page-heading{gap:18px}.page-heading h1{font-size:28px}.viewer[data-mode="campus"] .scene-overlay{max-width:70%}.viewer[data-mode="campus"] .scene-overlay h2{font-size:24px}.viewer[data-mode="campus"] .scene-overlay p{font-size:10px}}
@media(max-width:700px){.rail{background:#10313fef;backdrop-filter:blur(18px);border-top-color:#53717d}.nav-item{color:#acc4cb}.nav-item.active{box-shadow:inset 0 -2px 0 var(--gold);background:#295462}.topbar{background:#ffffffdb}.page-heading{padding:22px 20px;border-radius:16px;gap:17px;min-height:0;margin-bottom:21px}.page-heading h1{font-size:27px;line-height:1.5;margin:10px 0 7px}.page-heading p{font-size:11px;line-height:1.9}.page-heading::after{left:-100px;top:-170px}.page-heading .heading-actions{gap:8px}.page-heading .button{font-size:10px;padding:9px 11px}.page-heading .eyebrow{font-size:10px}.workspace{min-height:0}.viewer{min-height:560px;border-radius:16px}.workspace-heading{gap:12px}.workspace-tabs{padding:4px}.workspace-tabs button{font-size:9px;min-height:35px}.viewer[data-mode="campus"] .scene-overlay{top:73px;right:18px;max-width:72%}.viewer[data-mode="campus"] .scene-overlay h2{font-size:22px;margin-top:6px}.viewer[data-mode="campus"] .scene-overlay p{font-size:10px;line-height:1.7;max-width:260px}.viewer[data-mode="campus"] .view-controls{top:76px;left:12px;padding:4px;gap:4px}.viewer[data-mode="campus"] .view-controls button{font-size:10px;padding:5px 7px}.viewer[data-mode="campus"] .view-controls .icon-button{width:24px;height:26px}.viewer[data-mode="campus"] .view-controls [data-action="rotate"]{display:none}.campus-context{top:143px;right:18px;gap:7px}.campus-project-count{font-size:9px;padding:5px 7px!important}.campus-project-count b{font-size:13px}.campus-context>button{font-size:9px;padding:5px 8px;min-height:29px}.campus-context>button svg{display:none}.campus-project-pin{padding:8px;gap:7px;border-radius:9px}.pin-index{width:24px;height:31px;font-size:11px;border-radius:5px}.pin-body{gap:7px}.pin-body strong{font-size:9px}.pin-detail b{font-size:12px}.pin-detail small{font-size:8px}.campus-pin-leaders path{stroke-width:1.4}.map-legend{font-size:9px;gap:10px}.viewer-bottom{padding:12px}.viewer-side-controls{left:11px}.viewer-side-controls button{width:28px;height:30px}.metric-value{font-size:31px}.metric-icon{padding:4px}.project-panel{max-height:none}.section-title h2{font-size:15px}}
@media(max-width:390px){.page-heading{padding:20px 16px}.page-heading h1{font-size:25px}.page-heading .button{font-size:10px}.viewer{min-height:540px}.viewer[data-mode="campus"] .scene-overlay h2{font-size:20px}.viewer[data-mode="campus"] .scene-overlay{max-width:68%}.campus-context{top:142px;right:14px}.campus-project-count{font-size:9px}.campus-context>button{font-size:9px}.metric-value{font-size:27px}.map-legend{font-size:8px;gap:9px}.workspace-tabs button{font-size:9px;padding:6px 4px}}
@media(max-width:700px){.viewer[data-mode="campus"] .view-controls{top:188px;left:11px;bottom:auto;width:35px;padding:3px;gap:4px;flex-direction:column}.viewer[data-mode="campus"] .view-controls .segmented{flex-direction:column;gap:3px}.viewer[data-mode="campus"] .view-controls .segmented button{padding:6px 5px;width:27px}.viewer[data-mode="campus"] .view-controls>span{width:18px;height:1px}.viewer[data-mode="campus"] .viewer-side-controls{top:auto;bottom:75px;left:11px}}
@media(prefers-reduced-motion:reduce){.project-card:hover,.building-row[data-building]:hover,.metric:hover{transform:none}.campus-project-pin{transition:none}}
@media print{body,.project-panel,.metric,.page-heading{background:white;color:black;box-shadow:none}.page-heading h1,.page-heading p,.page-heading .eyebrow{color:black}.page-heading::before,.page-heading::after,.metric::before{display:none}}
