:root{--navy:#052349;--blue:#003a73;--blue2:#0d61a8;--red:#eb1d2f;--red2:#ff5261;--ink:#07162b;--muted:#6c7b90;--line:#dbe4ef;--bg:#f3f7fb;--card:#fff;--green:#18b26b;--amber:#ffb020;--shadow:0 24px 70px rgba(5,35,73,.18)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit}.eyebrow{display:flex;align-items:center;gap:.55rem;margin:0 0 .55rem;color:var(--blue2);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.eyebrow span{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(235,29,47,.1)}.login-screen{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(235,29,47,.22),transparent 32%),radial-gradient(circle at 82% 22%,rgba(13,97,168,.3),transparent 34%),linear-gradient(135deg,#041a37,#082d5a 48%,#061323)}.login-ambient{position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;filter:blur(.1px)}.login-ambient.a1{width:620px;height:620px;right:-180px;top:-170px}.login-ambient.a2{width:440px;height:440px;left:-120px;bottom:-120px}.login-card{width:min(480px,calc(100vw - 32px));position:relative;padding:34px;border-radius:30px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.55)}.login-logo{display:block;width:210px;margin-bottom:28px}.login-logo img{width:100%;display:block}.login-card h1{margin:0 0 10px;font-size:clamp(2rem,7vw,3.2rem);line-height:.95;color:var(--navy)}.lede{color:var(--muted);line-height:1.6;margin:0 0 24px}.login-card label{display:block;font-weight:850;color:var(--navy);margin-top:14px}.login-card input{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-size:1rem;background:#f7faff}.login-card button,.top-actions button{border:0;border-radius:999px;background:linear-gradient(135deg,var(--red),#b90f20);color:#fff;font-weight:950;padding:14px 20px;box-shadow:0 14px 34px rgba(235,29,47,.24);cursor:pointer}.login-card button{width:100%;margin-top:22px}.hint{font-size:.85rem;color:var(--muted);text-align:center}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:linear-gradient(180deg,#041b38,#072f5f);color:#dcecff;border-right:1px solid rgba(255,255,255,.08)}.side-logo{display:block;padding:14px 12px 26px}.side-logo img{width:205px;max-width:100%;display:block}.sidebar nav{display:grid;gap:8px}.sidebar nav a{padding:13px 14px;border-radius:15px;text-decoration:none;color:#b9cee8;font-weight:850}.sidebar nav a.active,.sidebar nav a:hover{background:rgba(255,255,255,.11);color:#fff;box-shadow:inset 3px 0 0 var(--red)}.source-pill{position:absolute;left:18px;right:18px;bottom:22px;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;background:rgba(255,255,255,.08);color:#b9cee8}.source-pill strong{font-size:1.5rem;color:#fff}.workspace{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 34px;background:rgba(255,255,255,.84);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar h1{margin:0;font-size:1.85rem;color:var(--navy)}.top-actions{display:flex;gap:10px;align-items:center}.top-actions a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 17px;text-decoration:none;font-weight:850;color:var(--navy)}.view{padding:28px 34px 60px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 12px 34px rgba(10,47,88,.08)}.metric p{margin:0 0 8px;color:var(--muted);font-weight:800}.metric strong{font-size:2.2rem;color:var(--navy)}.metric span{display:block;margin-top:8px;color:var(--green);font-weight:800}.grid-2{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:0 12px 34px rgba(10,47,88,.08)}.card h2,.card h3{margin:0 0 14px;color:var(--navy)}.card p{color:var(--muted);line-height:1.55}.usa-map{position:relative;min-height:470px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#082b55,#0b4a82);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.usa-map:before{content:"";position:absolute;inset:22px;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.13),transparent 20%),radial-gradient(circle at 70% 48%,rgba(255,255,255,.11),transparent 20%),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:auto,auto,48px 48px,48px 48px;border-radius:20px}.pin{position:absolute;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:#66d9ff;border:2px solid #fff;box-shadow:0 0 0 7px rgba(102,217,255,.18);cursor:pointer}.pin.High{background:var(--amber);box-shadow:0 0 0 7px rgba(255,176,32,.2)}.pin.Critical{background:var(--red);box-shadow:0 0 0 9px rgba(235,29,47,.24);width:15px;height:15px}.pin.Watch{background:#9ad3ff}.map-panel{position:absolute;left:18px;bottom:18px;right:18px;display:flex;gap:12px;flex-wrap:wrap}.map-panel span{background:rgba(255,255,255,.92);border-radius:999px;padding:9px 12px;font-size:.82rem;font-weight:850;color:var(--navy)}.alert-list,.property-list,.timeline{display:grid;gap:12px}.alert,.property-row,.timeline li,.resource{border:1px solid var(--line);border-radius:18px;padding:15px;background:#fff;display:grid;gap:5px}.alert{grid-template-columns:auto 1fr auto;align-items:center}.severity{width:12px;height:44px;border-radius:999px;background:var(--green)}.severity.High{background:var(--amber)}.severity.Critical{background:var(--red)}.severity.Watch{background:#5cb8ff}.alert strong,.property-row strong{color:var(--navy)}.alert p,.property-row p{margin:0;color:var(--muted)}.tag{display:inline-flex;border-radius:999px;padding:6px 10px;background:#edf4fb;color:var(--blue);font-weight:900;font-size:.75rem}.tag.Critical{background:#ffe9ec;color:#b90f20}.tag.High{background:#fff3d8;color:#8a5b00}.tag.Watch{background:#e8f5ff;color:#07548d}.table-tools{display:flex;gap:10px;margin-bottom:14px}.table-tools input,.table-tools select{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;min-width:170px}.command-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.command-strip div{border-radius:18px;padding:16px;background:#f5f9fd;border:1px solid var(--line)}.command-strip strong{display:block;color:var(--navy);font-size:1.3rem}.doc-preview{background:#071a34;color:#dcecff;border-radius:22px;padding:22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.6;white-space:pre-wrap}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resource strong{font-size:1.1rem;color:var(--navy)}.resource meter{width:100%;height:12px}.mobile-menu{display:none}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.source-pill{position:static;margin-top:18px}.metric-grid,.grid-2,.grid-3,.command-strip{grid-template-columns:1fr}.topbar{position:relative;align-items:flex-start;flex-direction:column}.view{padding:18px}.usa-map{min-height:380px}}

/* Professional map + logo legibility refinements */
.side-logo{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.45);border-radius:20px;margin:4px 4px 26px;padding:16px 14px;box-shadow:0 18px 36px rgba(0,0,0,.16)}
.side-logo img{width:100%;height:auto;display:block;filter:none}
.grid-2{align-items:start;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}.grid-2>*,.grid-3>*,.metric-grid>*,.card,.alert-list{min-width:0}
.map-shell{position:relative;min-height:430px;border-radius:24px;overflow:hidden;background:#e7eef6;border:1px solid rgba(5,35,73,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.rg-map{position:absolute;inset:0;z-index:1;min-height:430px;font:inherit;background:#e7eef6}
.map-panel{z-index:450;pointer-events:none;left:18px;bottom:18px;right:18px}
.map-panel span{box-shadow:0 10px 24px rgba(5,35,73,.14);border:1px solid rgba(5,35,73,.08)}
.rg-marker{display:grid;place-items:center;background:transparent;border:0}
.rg-marker span{display:block;width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 5px rgba(5,35,73,.14),0 8px 18px rgba(5,35,73,.28)}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(5,35,73,.16)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#052349;color:#fff;font-weight:900;border:2px solid #fff;box-shadow:0 10px 20px rgba(5,35,73,.25)}
.leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 18px 45px rgba(5,35,73,.22)}
.leaflet-popup-content{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45;color:#07162b}
.leaflet-control-zoom a{color:#052349!important;font-weight:900!important}
.leaflet-container a{color:#0d61a8}

/* Source evidence and severity filtering */
.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:10px;border:1px solid rgba(5,35,73,.1);border-radius:16px;background:#f7faff}
.filter-bar span{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#52657d;margin-right:4px}
.filter-bar button{border:1px solid rgba(5,35,73,.14);background:#fff;color:#052349;border-radius:999px;padding:8px 12px;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(5,35,73,.06)}
.filter-bar button.active{background:#052349;color:#fff;border-color:#052349;box-shadow:0 10px 22px rgba(5,35,73,.18)}
.alert-detail{align-items:flex-start}.alert{grid-template-columns:12px minmax(0,1fr) auto;min-width:0}
.source-toggle{margin-top:12px;border:1px solid rgba(5,35,73,.12);border-radius:16px;background:#f7faff;overflow:hidden}
.source-toggle summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 12px;color:#052349;font-weight:900}
.source-toggle summary::-webkit-details-marker{display:none}
.source-toggle summary .more-label,.source-toggle summary .less-label{white-space:nowrap;flex:0 0 auto;display:inline-block}
.source-toggle summary .less-label{display:none}
.source-toggle[open] summary .more-label{display:none}
.source-toggle[open] summary .less-label{display:inline-block}
.source-toggle summary em{font-style:normal;font-weight:750;color:#6c7b90;font-size:.76rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.source-toggle.compact summary{padding:8px 10px}
.source-list{display:grid;gap:12px;margin:0;padding:0 12px 12px}
.source-list.compact{grid-template-columns:1fr;gap:9px}
.source-card{border:1px solid rgba(5,35,73,.12);border-radius:16px;padding:13px 14px;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:0 10px 26px rgba(5,35,73,.07)}
.source-card div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:6px}
.source-card strong{color:#052349;font-size:.94rem}
.source-card span{color:#6c7b90;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.source-card p{margin:0 0 9px!important;color:#334258!important;line-height:1.45!important}
.source-card a{display:inline-flex;align-items:center;gap:6px;color:#0d61a8;font-weight:900;text-decoration:none}
.source-card a::after{content:'↗';font-size:.82rem}
.table-tools select{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fff;color:#052349;font-weight:800}
@media (min-width:1100px){.source-list:not(.compact){grid-template-columns:1fr 1fr}}

/* Property profile modal */
body.modal-open{overflow:hidden}
.property-row--action{position:relative;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.property-row--action:hover,.property-row--action:focus{transform:translateY(-1px);border-color:rgba(13,97,168,.32);box-shadow:0 14px 32px rgba(5,35,73,.1);outline:none}
.row-action{display:inline-flex;margin-top:10px;color:#0d61a8;font-weight:900;font-size:.82rem}
.inline-action,.popup-action{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;border:1px solid rgba(13,97,168,.22);background:#fff;color:#0d61a8;border-radius:999px;padding:7px 11px;font-weight:900;font:inherit;font-size:.78rem;cursor:pointer;text-decoration:none;box-shadow:0 8px 18px rgba(5,35,73,.06)}
.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.action-row .inline-action{margin-top:0}.inline-action.secondary{background:#f7faff;color:#052349;border-color:rgba(5,35,73,.14)}
.popup-action{margin-top:8px;background:#052349;color:#fff;border-color:#052349;font-size:.76rem}
.property-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:28px}
.property-modal__backdrop{position:absolute;inset:0;background:rgba(3,18,38,.68);backdrop-filter:blur(8px)}
.property-modal__panel{position:relative;width:min(1120px,calc(100vw - 28px));max-height:min(90vh,980px);overflow:auto;border-radius:30px;background:linear-gradient(180deg,#fff,#f5f8fc);box-shadow:0 34px 110px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.7);padding:28px;color:#07162b;outline:none}
.property-modal__close{position:sticky;top:0;float:right;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#052349;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;box-shadow:0 14px 26px rgba(5,35,73,.22)}
.modal-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 54px 22px 0;padding:24px;border-radius:24px;background:linear-gradient(135deg,#052349,#0b4f91);color:#fff;box-shadow:0 20px 46px rgba(5,35,73,.2)}
.modal-hero .eyebrow{color:#dcecff}.modal-hero h2{margin:0 0 8px;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1}.modal-hero p:not(.eyebrow){margin:0;color:rgba(255,255,255,.82);line-height:1.45}.modal-hero .tag{background:#fff;color:#052349;border-color:rgba(255,255,255,.4)}
.alert-hero{background:linear-gradient(135deg,#052349,#092f60 58%,#7f1020)}
.modal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 18px;padding:8px;border:1px solid rgba(5,35,73,.1);border-radius:18px;background:#f7faff}.modal-tabs button{border:1px solid rgba(5,35,73,.12);background:#fff;color:#052349;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(5,35,73,.05)}.modal-tabs button.active,.modal-tabs button[aria-selected="true"]{background:#052349;color:#fff;border-color:#052349;box-shadow:0 12px 24px rgba(5,35,73,.18)}.tab-panel>.modal-hero{margin-top:0}.timeline.compact{margin:0;padding-left:0}.timeline.compact li{list-style:none;margin:0 0 10px;padding:12px 14px;border:1px solid rgba(5,35,73,.1);border-radius:16px;background:#f7faff}.timeline.compact strong{display:block;color:#052349}.timeline.compact span{display:block;margin-top:4px;color:#52657d;line-height:1.4}
.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.modal-grid--metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-grid--metrics article,.modal-card{border:1px solid rgba(5,35,73,.1);border-radius:20px;background:#fff;box-shadow:0 14px 32px rgba(5,35,73,.07)}.modal-grid--metrics article{padding:16px}.modal-grid--metrics span,.contact-line span{display:block;color:#6c7b90;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.modal-grid--metrics strong{display:block;margin:6px 0;color:#052349;font-size:1.35rem}.modal-grid--metrics small{color:#6c7b90;line-height:1.35}.modal-card{padding:20px}.modal-card h3{margin:0 0 10px;color:#052349;font-size:1.05rem}.modal-card p{color:#52657d;line-height:1.55}.modal-card dl{display:grid;gap:10px;margin:16px 0 0}.modal-card dl div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid rgba(5,35,73,.08);padding-top:10px}.modal-card dt{font-weight:900;color:#52657d}.modal-card dd{margin:0;text-align:right;color:#052349;font-weight:850}.contact-stack{display:grid;gap:10px}.contact-line{border:1px solid rgba(5,35,73,.08);border-radius:16px;padding:12px;background:#f7faff}.contact-line strong{display:block;margin:4px 0;color:#052349}.contact-line a{color:#0d61a8;font-weight:850;text-decoration:none;word-break:break-word}
@media (max-width:900px){.property-modal{padding:12px}.property-modal__panel{padding:18px;border-radius:22px}.modal-hero,.modal-grid{grid-template-columns:1fr}.modal-grid--metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-hero{display:block;margin-right:0}.property-modal__close{position:absolute;right:16px;top:16px}.modal-card dl div{display:block}.modal-card dd{text-align:left;margin-top:4px}}

/* Responsive hardening */
@media (max-width:1100px){
  body{overflow-x:hidden}
  .app-shell{display:block;min-width:0}
  .sidebar{position:relative;height:auto;padding:14px 14px 16px;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .side-logo{width:min(230px,62vw);margin:0 0 14px;padding:12px}
  .sidebar nav{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px;scrollbar-width:thin}
  .sidebar nav a{flex:0 0 auto;white-space:nowrap;padding:11px 13px}
  .source-pill{position:static;margin:12px 0 0}
  .workspace,.view,.card,.property-row,.alert,.source-toggle,.property-modal__panel{min-width:0}
  .topbar{position:relative;z-index:2;display:flex;flex-direction:column;align-items:stretch;padding:18px;gap:14px}
  .topbar h1{font-size:clamp(1.45rem,6vw,1.85rem)}
  .top-actions{width:100%;display:flex;flex-wrap:wrap}.top-actions button,.top-actions a{flex:1 1 150px;text-align:center}
  .view{padding:18px 14px 42px}
  .metric-grid,.grid-2,.grid-3,.resource-grid{grid-template-columns:1fr!important;gap:14px}
  .card{padding:18px;border-radius:22px}
  .table-tools{display:grid;grid-template-columns:1fr;gap:10px}.table-tools input,.table-tools select{width:100%;min-width:0}
  .command-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .map-shell,.rg-map{min-height:360px}.map-panel{left:10px;right:10px;bottom:10px}.map-panel span{font-size:.72rem;padding:7px 9px}
  .alert{gap:10px}.alert>div{min-width:0}.alert strong,.property-row strong{overflow-wrap:anywhere}.alert p,.property-row p{overflow-wrap:anywhere}
  .source-card div{display:block}.source-card span{display:block;margin-top:3px}
  .property-modal{align-items:stretch;padding:10px}.property-modal__panel{width:100%;max-height:calc(100vh - 20px);padding:16px;border-radius:22px}.property-modal__close{position:sticky;top:0;margin-left:auto;float:none;display:block}
  .modal-hero{margin:10px 0 16px;padding:18px;border-radius:20px}.modal-tabs{overflow-x:auto;flex-wrap:nowrap}.modal-tabs button{flex:0 0 auto;white-space:nowrap}
}
@media (max-width:560px){
  .login-card{width:calc(100vw - 24px);padding:24px;border-radius:24px}.login-logo{width:min(190px,70vw);margin-bottom:20px}
  .eyebrow{font-size:.64rem;letter-spacing:.12em}.metric{padding:16px}.metric strong{font-size:1.75rem}
  .filter-bar{align-items:stretch}.filter-bar span{flex-basis:100%}.filter-bar button{flex:1 1 calc(50% - 8px);padding:9px 10px}
  .action-row{display:grid;grid-template-columns:1fr}.inline-action,.popup-action{width:100%}
  .command-strip{grid-template-columns:1fr!important}.modal-grid--metrics{grid-template-columns:1fr!important}.modal-card{padding:16px}.modal-hero h2{font-size:1.65rem}.modal-tabs{display:grid;grid-template-columns:1fr;overflow-x:visible;margin-bottom:14px}.modal-tabs button{width:100%}
  .map-shell,.rg-map{min-height:320px}.map-panel{display:grid;grid-template-columns:1fr 1fr;gap:6px}.leaflet-control-attribution{font-size:9px!important;max-width:220px;white-space:normal!important}
}
