:root{font-family:Arial,Helvetica,sans-serif;color:#c6ddf9;background:#041023;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.shell{height:100vh;min-height:650px;display:flex;flex-direction:column;background:#041023}.header{height:82px;flex-shrink:0;display:flex;align-items:stretch;border-bottom:1px solid #1b3b5c;background:linear-gradient(115deg,#071b33,#061327 75%)}.identity{width:34.5%;min-width:355px;display:flex;align-items:center;gap:18px;padding:7px 24px}.identity img{width:68px;height:68px;object-fit:contain}.identity strong{font-size:17px;letter-spacing:1.4px;color:#d9eaff;display:block}.identity span{display:block;font-size:14px;letter-spacing:4px;color:#8fd1ff;margin:5px 0}.identity small{font-size:10px;letter-spacing:1.8px;color:#82b8e4}.topnav{display:flex;align-items:stretch;flex:1;justify-content:flex-start}.toplink{border:0;border-bottom:3px solid transparent;background:transparent;color:#a6bbd7;min-width:90px;padding:9px 16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;letter-spacing:.7px}.toplink i{font-size:22px}.toplink:hover,.toplink.selected{background:#103963;color:#b6ddff;border-bottom-color:#2e96f5}.account,.clock{display:flex;align-items:center;gap:12px;border-left:1px solid #1a3857;padding:0 16px;white-space:nowrap}.account>i:first-child{font-size:22px}.account span,.clock span{display:block;color:#d4e5ff}.account small,.clock small{display:block;color:#89a9d2;margin-top:5px}.clock{flex-direction:column;justify-content:center;gap:0;min-width:116px}.workspace{display:grid;grid-template-columns:290px minmax(250px,1fr) 400px;min-height:0;flex:1}.leftpanel,.rightpanel{background:linear-gradient(145deg,#071b32,#051326);min-height:0;overflow:auto}.leftpanel{border-right:1px solid #194064;padding:20px 18px;display:flex;flex-direction:column}.leftpanel h3{font-size:13px;color:#9fd2ff;font-weight:600;margin:0 0 14px;letter-spacing:.4px}.leftpanel h3 i{color:#41b5ff;margin-right:13px;font-size:17px}.blue{background:linear-gradient(#1872d6,#0960b9);border:1px solid #167adf;color:white;border-radius:5px;padding:11px 16px}.blue:hover{filter:brightness(1.18)}.wide{width:100%}.category-list{padding-top:13px}.category-list button{width:100%;background:transparent;border:0;color:#c8dbf5;display:flex;align-items:center;text-align:left;padding:8px 4px;gap:12px}.category-list button:hover,.quicklinks button:hover{background:#123352}.category-list b{font-size:18px}.category-list button:nth-child(2) b{filter:hue-rotate(90deg)}.category-list button:nth-child(3) b{filter:hue-rotate(190deg)}.category-list button:nth-child(4) b{filter:hue-rotate(260deg)}.category-list button:nth-child(5) b{filter:grayscale(1)}.category-list em{margin-left:auto;font-style:normal}.separator{border-top:1px solid #1b476e;margin:17px 0}.leftpanel label{display:block;font-size:12px;color:#85c5fb;margin:9px 0}.leftpanel input,.leftpanel select,.postalbar input{width:100%;background:#041329;border:1px solid #245078;color:#d3e8ff;padding:8px 10px;border-radius:5px;margin-top:6px;outline:0}.leftpanel input:focus,.leftpanel select:focus{border-color:#409efa}.searchfield{position:relative}.searchfield i{position:absolute;left:10px;top:16px}.searchfield input{padding-left:31px}.quicklinks{display:flex;flex-direction:column}.quicklinks button{background:none;border:0;text-align:left;color:#c6ddf9;padding:7px 4px}.quicklinks i{color:#7cbaf2;width:27px}.leftfoot{margin-top:auto;padding:28px 5px 2px;text-align:center;border-top:1px solid #1b476e;color:#a9c7ec}.leftfoot strong{font-size:24px;display:block}.leftfoot small{font-size:8px;letter-spacing:2px}.center{position:relative;min-width:0;min-height:0;background:#031126}.mapview{position:relative;height:100%;width:100%}.maptoolbar{position:absolute;z-index:700;top:12px;left:12px;right:12px;display:flex;gap:10px;align-items:center;pointer-events:none}.maptoolbar>*{pointer-events:auto}.postalbar{display:flex;gap:3px;background:#06162bde;border:1px solid #204d76;border-radius:5px;padding:4px}.postalbar input{width:160px;margin:0;border:0;background:transparent}.postalbar button,.maptoolbar>button{background:#0a2b4b;color:#a9d8ff;border:1px solid #275477;border-radius:4px;padding:8px 10px}.maptoolbar #postalNotice{margin-left:auto;background:#06162bdc;padding:8px;color:#96bad9;font-size:10px;letter-spacing:1px}.maptoolbar>button{background:#1162ae}#map{width:100%;height:100%;background:#0b2635}.leaflet-container{background:#0b2635!important}.leaflet-control-zoom{margin-top:65px!important}.leaflet-control-zoom a{background:#071b32!important;color:#a3d5ff!important;border-color:#2a5b83!important}.compass{position:absolute;z-index:450;bottom:42px;left:15px;background:#071b32d9;border:1px solid #245078;border-radius:50%;width:46px;height:46px;text-align:center;padding:6px;font-size:21px;color:#9fd1ff;pointer-events:none}.compass small{display:block;font-size:12px}.mapfoot{position:absolute;z-index:450;bottom:0;left:0;right:0;background:#061426c9;padding:7px 14px;color:#a8c7e3;font-size:10px;letter-spacing:1px;pointer-events:none}.rightpanel{border-left:1px solid #1c466c;display:flex;flex-direction:column}.casehead{padding:20px 20px 16px}.caseheadline{display:flex;gap:15px;align-items:flex-start}.caseheadline>i{font-size:30px;color:#f34f65}.caseheadline h2{font-size:19px;letter-spacing:.5px;margin:0 0 6px;color:#e5f0ff}.caseheadline strong{font-size:15px;font-weight:400}.caseheadline .status-tag{margin-left:auto}.muted{color:#8eacd0;font-size:11px;margin:10px 0 0 44px}.detailtabs{display:flex;border-bottom:1px solid #24517c}.detailtabs button{flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:13px 2px;color:#9cb7d9;font-size:11px}.detailtabs button.on{border-bottom-color:#2aa1ff;color:#65c5ff}.detailbody{padding:15px 12px;overflow:auto;flex:1}.detailbody h4{font-size:12px;font-weight:500;letter-spacing:.5px;margin:10px 7px;color:#b8d9fa}.detailbody p{line-height:1.65;margin:10px 8px;color:#c4d7ef}.info-box{border:1px solid #22466c;border-radius:5px;margin:12px 0;padding:10px}.info-box h4{margin:0 0 11px;color:#66c0ff}.info-row{display:flex;justify-content:space-between;gap:8px;margin:10px 2px;font-size:12px}.info-row span:first-child{color:#85b9e6}.info-row span:last-child{text-align:right}.mini-item{border:1px solid #1c466b;padding:12px;margin:6px 0;border-radius:5px;background:#071e36}.empty-detail{padding:40px 12px;text-align:center;color:#86a8cc}.detailbottom{padding:10px 12px;border-top:1px solid #1a3e60}.status-tag{display:inline-block;padding:3px 8px;border-radius:4px;border:1px solid #a44b52;color:#ff8b95;font-size:10px;text-transform:uppercase}.status-tag.Active{color:#ffbd77;border-color:#b78033}.status-tag.Closed{color:#5ee6b2;border-color:#32785c}.status-tag.Cold{color:#8cbbff;border-color:#38629d}.bottomnav{display:flex;align-items:stretch;justify-content:space-around;background:#0a1c32;border-top:1px solid #265079;min-height:62px;flex-shrink:0}.bottomnav button{flex:1;display:flex;align-items:center;justify-content:center;gap:11px;background:#0b1d33;border:0;border-right:1px solid #24425e;color:#d2e6ff;font-size:12px}.bottomnav button:hover,.bottomnav button.on{background:#17395a}.bottomnav i{font-size:20px}.footer{height:30px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 22px;background:#051225;border-top:1px solid #20466b;font-size:10px;color:#8aa9d1}.hidden{display:none!important}.recordsview{height:100%;overflow:auto;padding:26px}.pagehead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2a5078;padding-bottom:18px}.pagehead h2{font-size:21px;letter-spacing:1px}.tablewrap{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:13px 9px;border-bottom:1px solid #20405e}th{color:#80b9ec;font-size:11px}td button{background:transparent;border:0;color:#7cbefa}.db-card{background:#0a213b;border:1px solid #245078;padding:16px;border-radius:7px;margin:15px 0}.db-card button{background:#164b79;color:#fff;border:0;padding:7px 10px;margin:5px}.modal-backdrop{position:fixed;z-index:3000;inset:0;background:#010913dd;display:flex;justify-content:center;align-items:center;padding:15px}.modal{background:#091d34;border:1px solid #3670a1;color:#d4e7ff;border-radius:9px;width:min(720px,100%);max-height:95vh;overflow:auto;padding:22px;box-shadow:0 20px 70px #000a}.modalhead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2b5275;margin-bottom:17px}.modalhead h2{font-size:18px}.modalhead button{background:none;color:#cfe6ff;border:0;font-size:25px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.formgrid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#a9cfff}.formgrid input:not([type=radio]):not([type=checkbox]),.formgrid select,.formgrid textarea{width:100%;background:#061429;color:#e3f0ff;border:1px solid #2a547c;padding:9px;border-radius:4px}.formgrid .full{grid-column:1/-1}.markersection{background:#0b2745;border:1px solid #315d84;border-radius:6px;padding:13px;display:flex;flex-direction:column;gap:12px}.markertypes,.markeroptions{display:flex;gap:15px;flex-wrap:wrap}.markertypes label{display:block}.markeroptions label{flex:1;min-width:90px}.libraryrow{display:flex;align-items:center;gap:12px}.libraryrow select{flex:1}.librarypreview{min-height:45px;text-align:center;font-size:27px;background:#06182d;border:1px dashed #2c5b81;border-radius:5px;padding:8px}.locklabel{display:block!important}.formhint{font-size:11px;color:#94b4d8}.modalactions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.secondary{border:1px solid #32618a;background:#102c4a;color:#cce3ff;border-radius:4px;padding:10px 18px}.toast{position:fixed;z-index:4000;bottom:105px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#124b78;border:1px solid #4b9be0;border-radius:5px;color:white}.custom-marker{background:transparent;border:0}.custom-marker .pinshape{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 9px #000a}.custom-marker .pinshape i{transform:rotate(45deg);font-size:11px;color:#fff}.custom-marker img{object-fit:contain;filter:drop-shadow(0 2px 4px #000a)}.custom-marker .emoji{font-size:30px;filter:drop-shadow(0 2px 4px #000a)}@media(max-width:1250px){.workspace{grid-template-columns:240px minmax(250px,1fr) 320px}.identity{min-width:280px;width:29%;padding:7px 12px}.identity strong{font-size:13px}.identity img{width:55px}.toplink{min-width:65px;padding:8px}.account{display:none}.leftpanel{padding:15px 12px}}@media(max-width:850px){.shell{min-height:900px;height:auto}.header{height:auto;flex-wrap:wrap}.identity{width:100%;min-width:0}.topnav{overflow:auto;width:100%}.clock{display:none}.workspace{display:flex;flex-direction:column}.leftpanel{max-height:250px;overflow:auto}.center{height:530px;flex:none}.rightpanel{min-height:370px}.bottomnav{overflow:auto}.bottomnav button{min-width:120px;padding:10px}.footer{font-size:9px}}

.pin-choice{display:flex;flex-direction:column;gap:7px;margin:8px 0}.pin-choice button{padding:12px;text-align:left;background:#173453;color:#eaf3ff;border:1px solid #376188;border-radius:5px;cursor:pointer}.access-gate{position:fixed;inset:0;background:radial-gradient(circle at center,#183c62,#050e1e 75%);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.access-card{width:min(460px,100%);padding:36px 30px;text-align:center;background:#0b2038;border:1px solid #406388;box-shadow:0 22px 65px #000a;border-radius:12px;color:#e7f3ff}.access-card img{height:105px;object-fit:contain}.access-card h2{font-size:18px;letter-spacing:1px}.access-card h3{font-size:12px;letter-spacing:2px;color:#84bdf3}.access-card p{font-size:13px;color:#aac7e1}.access-card input{display:block;width:100%;box-sizing:border-box;padding:14px;margin:18px 0;background:#071528;border:1px solid #4b7093;color:#fff;border-radius:5px}.access-card .gate-warning{font-size:11px;color:#e9b680;margin-top:20px}.hidden{display:none!important}

.business-fields{background:#0b2038;border:1px solid #294e74;border-radius:9px;padding:14px}.business-fields strong{display:block;margin-bottom:12px;color:#8ac7f6;font-size:12px;letter-spacing:.08em}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.business-grid .full{grid-column:1/-1}@media(max-width:650px){.business-grid{grid-template-columns:1fr}}

/* Map marker visibility filters */
.map-type-filters{display:grid;gap:7px;margin:12px 0 16px;padding:11px;background:#10233b;border:1px solid #29425f;border-radius:9px}.map-type-filters .filter-caption{display:flex;justify-content:space-between;align-items:center;color:#91b9df;font-size:10px;font-weight:800;letter-spacing:.07em}.map-type-filters .filter-caption button{border:0;background:none;color:#8dbfff;cursor:pointer;font-size:11px}.map-type-filters label{display:flex;align-items:center;gap:9px;font-size:12px;color:#dce9fa;cursor:pointer}.map-type-filters label input{accent-color:#60a5fa;width:15px;height:15px}.map-type-filters label i{width:18px;text-align:center}

.reset-access{background:none;border:0;color:#8bc4ff;text-decoration:underline;cursor:pointer;margin:12px auto;display:block;font-size:13px}.reset-access:hover{color:white}

/* Alphabetical intelligence navigation and linked record views */
.bottomnav{overflow-x:auto;justify-content:flex-start}.bottomnav button{flex:1 0 135px;min-width:135px;padding:12px 8px;white-space:nowrap}.intel-hint{color:#a3c6e9;line-height:1.6}.intel-search{display:flex;gap:10px;margin:18px 0}.intel-search input,.intel-search select,.intel-form input,.intel-form select,.intel-form textarea{background:#061429;border:1px solid #2a547c;color:#e3f0ff;border-radius:5px;padding:10px;min-width:0}.intel-search input{flex:1}.intel-cardhead{display:flex;justify-content:space-between;gap:12px;align-items:start}.intel-cardhead h3{margin:0 0 7px;color:#e4f1ff}.intel-cardhead small{color:#9ec6ea}.intel-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.intel-details>div{display:flex;flex-direction:column;gap:5px}.intel-details b{font-size:11px;color:#7cbaf2}.intel-details span{overflow-wrap:anywhere}.intel-links{border-top:1px solid #2a547c;padding-top:12px;display:flex;flex-direction:column;gap:7px}.intel-links strong{color:#7cbaf2;font-size:11px}.intel-links button{background:#123c64}.intel-links span{color:#94aeca;font-size:12px}.intel-status{color:#f9ce72}.intel-status.Active{color:#5ee6b2}.intel-status.Expired,.intel-status.Cancelled{color:#ff929a}.intel-photo{max-width:110px;max-height:130px;object-fit:cover;border:1px solid #32618a;border-radius:5px;margin-top:12px}.intel-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.intel-formgrid label{display:flex;flex-direction:column;gap:6px;color:#9fd2ff;font-size:12px}.intel-formgrid label:has(textarea){grid-column:1/-1}.intel-actions{display:flex;gap:10px;margin-top:15px}@media(max-width:850px){.intel-formgrid,.intel-details{grid-template-columns:1fr}}

/* 2026 dashboard visual test: intelligence navigation, postal search, and map controls */
.intel-topnav{display:flex;flex-shrink:0;overflow-x:auto;background:#07192d;border-bottom:1px solid #254c74;min-height:51px;scrollbar-width:thin}
.intel-topnav button{flex:1 0 auto;min-width:122px;border:0;border-right:1px solid #1c3a5b;background:#0b1e35;color:#80baff;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 13px;font-size:11px;font-weight:600;cursor:pointer}
.intel-topnav button i{font-size:16px}.intel-topnav button:hover,.intel-topnav button.on{background:#153d68;color:#e5f4ff;box-shadow:inset 0 -3px #2496fa}
.leftpanel>h3:first-child{color:#55b5ff}.leftpanel #addPinBtn{background:linear-gradient(130deg,#146bd0,#0860c4);border:1px solid #2d94ff;border-radius:7px;box-shadow:0 2px 12px #003c8030;padding:14px}
#categoryList{display:flex;flex-direction:column;gap:1px;margin:13px 0 16px}
#categoryList button{display:flex;align-items:center;gap:12px;text-align:left;color:#60a5fa!important;font-size:12px;font-weight:600;padding:10px 5px;background:transparent;border:0;cursor:pointer}
#categoryList button:hover{background:#112f4d}#categoryList button b{display:inline-flex;width:21px;justify-content:center;font-size:21px;font-weight:normal}
#categoryList button:nth-child(1) b{color:#f45365}#categoryList button:nth-child(2) b{color:#ffcf52}#categoryList button:nth-child(3) b{color:#43b5ff}#categoryList button:nth-child(4) b{color:#58d68b}#categoryList button:nth-child(5) b{color:#9ebde7}#categoryList button:nth-child(6) b{color:#b895ff}
#categoryList button em{margin-left:auto;font-style:normal;color:#77adf3;font-weight:600}
.leftpanel{display:flex;flex-direction:column}.leftfoot{margin-top:auto!important;text-align:center;border-top:1px solid #23466d;padding:10px 0 2px!important}.leftfoot .skyline-art{height:65px;opacity:.9}.skyline-art svg{width:100%;height:100%}.leftfoot strong{display:block;font-size:21px;letter-spacing:2px;color:#c7d9f5}.leftfoot small{letter-spacing:2px;font-size:8px;color:#89acd0}
.postal-search-marker{border:0;background:transparent}.postal-dot{font-size:35px;color:#258cf5;text-shadow:0 0 3px #fff,0 0 10px #258cf5,0 3px 6px #00152e;text-align:center;line-height:40px}
.postal-themed-popup .leaflet-popup-content-wrapper{background:#06172d;border:1px solid #2588ee;border-radius:9px;color:#e9f3ff;box-shadow:0 3px 18px #00101ad9;padding:0}
.postal-themed-popup .leaflet-popup-content{margin:8px 28px 8px 18px;min-width:78px}.postal-popup-content{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.2}.postal-popup-content span{color:#67b6ff;font-size:9px;font-weight:700;letter-spacing:1.2px}.postal-popup-content strong{color:#f0f7ff;font-size:18px;font-weight:750;letter-spacing:.7px}
.postal-themed-popup .leaflet-popup-tip{background:#06172d;border-right:1px solid #2588ee;border-bottom:1px solid #2588ee}.postal-themed-popup .leaflet-popup-close-button{color:#8fbce7!important;font-size:15px!important;top:1px!important;right:3px!important}
@media(max-width:850px){.intel-topnav button{min-width:130px}.leftfoot{display:none}}

#postalCalibrateBtn{background:#102c4c;color:#9dd0ff;border:1px solid #2e6595;border-radius:4px;padding:6px 9px;cursor:pointer;font-size:12px}#postalCalibrateBtn:hover,#postalCalibrateBtn.calibration-active{background:#1460aa;color:#fff;border-color:#5aafff}

/* Header branding: LSPD primary identity */
.identity strong{font-size:16px;letter-spacing:1.1px}.identity span{letter-spacing:3px}

/* Original compact, single-row bottom navigation */
.intel-topnav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-height:40px;overflow-x:hidden}
.intel-topnav button{min-width:0;flex:none;white-space:nowrap;padding:9px 5px;font-size:10px;gap:6px}
.intel-topnav button i{font-size:13px}
@media(max-width:850px){.intel-topnav{overflow-x:auto;grid-template-columns:repeat(6,minmax(120px,1fr))}.intel-topnav button{min-width:0}}

/* Retractable side panels and compact Pins / Filters dropdowns */
.workspace{transition:none}
.leftpanel,.rightpanel{position:relative;min-width:0;overflow:hidden}
.leftpanel>.panel-inner,.rightpanel>.panel-inner{height:100%;min-height:0;overflow:auto}
.leftpanel>.panel-inner{display:flex;flex-direction:column;padding-top:34px}
.rightpanel>.panel-inner{display:flex;flex-direction:column;padding-top:18px}
.side-toggle{position:absolute;z-index:900;top:7px;width:26px;height:25px;border:1px solid #37628a;border-radius:5px;background:#173e62;color:#a9d8ff;display:grid;place-items:center}
.left-toggle{right:8px}.right-toggle{left:8px}
.workspace.left-collapsed{grid-template-columns:42px minmax(250px,1fr) 400px}
.workspace.right-collapsed{grid-template-columns:290px minmax(250px,1fr) 42px}
.workspace.left-collapsed.right-collapsed{grid-template-columns:42px minmax(250px,1fr) 42px}
.workspace.left-collapsed .leftpanel>.panel-inner,.workspace.right-collapsed .rightpanel>.panel-inner{display:none}
.workspace.left-collapsed .left-toggle{right:7px}.workspace.right-collapsed .right-toggle{left:7px}
.sidebar-dropdown{border:1px solid #264c71;border-radius:6px;margin-top:10px;background:#0a2039}
.sidebar-dropdown summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;padding:11px;color:#85c5fb;font-size:12px;font-weight:700;letter-spacing:.4px}
.sidebar-dropdown summary::-webkit-details-marker{display:none}
.sidebar-dropdown .dropdown-arrow{margin-left:auto;transition:transform .15s}
.sidebar-dropdown[open] .dropdown-arrow{transform:rotate(180deg)}
.sidebar-dropdown .category-list{padding:0 5px 8px}
.sidebar-dropdown .dropdown-content{padding:0 8px 9px}
.sidebar-dropdown .map-type-filters{margin-top:4px}
@media(min-width:851px) and (max-width:1250px){.workspace.left-collapsed{grid-template-columns:42px minmax(250px,1fr) 320px}.workspace.right-collapsed{grid-template-columns:240px minmax(250px,1fr) 42px}.workspace.left-collapsed.right-collapsed{grid-template-columns:42px minmax(250px,1fr) 42px}}
@media(max-width:850px){.workspace.left-collapsed,.workspace.right-collapsed,.workspace.left-collapsed.right-collapsed{display:flex;flex-direction:column}.workspace.left-collapsed .leftpanel,.workspace.right-collapsed .rightpanel{height:42px;min-height:42px;max-height:42px}.leftpanel>.panel-inner{padding-top:34px}}

/* Ensure side panel toggles remain clickable above panel contents */
.side-toggle{z-index:1200!important;cursor:pointer;pointer-events:auto!important}.leftpanel>.panel-inner,.rightpanel>.panel-inner{min-width:0}

/* Extra colourable map icons; pin colours remain editable. */
.custom-marker .marker-symbol{display:flex;align-items:center;justify-content:center;width:100%;height:100%;filter:drop-shadow(0 2px 3px #000b);-webkit-text-stroke:.5px #ffffffaa}
.markeroptions label{min-width:115px}

/* Consistent teardrop markers instead of small round dots */
.custom-marker .marker-symbol{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}

/* Detective Bureau case pin styling: selected ring + navy-blue hover callout. */
.custom-marker{overflow:visible!important}
.custom-marker:hover::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% + 18px);height:calc(100% + 18px);border:3px solid #b8e5ff;border-radius:50%;background:#55b4ff18;box-shadow:0 0 0 2px #235ba0b0,0 0 13px #49aaffbd,inset 0 0 12px #63baff44;pointer-events:none}
.custom-marker:hover::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% + 28px);height:calc(100% + 28px);border:1px solid #8ccaff55;border-radius:50%;pointer-events:none}
.leaflet-tooltip.case-map-tooltip{background:linear-gradient(145deg,#092644,#03152c);border:2px solid #1877d5;border-radius:11px;padding:12px 16px;min-width:145px;max-width:260px;color:#e3f3ff;box-shadow:0 7px 24px #000a,0 0 11px #1d80d744;white-space:normal;pointer-events:none}
.case-map-tooltip .case-bubble-title{display:block;color:#e1efff;font-size:14px;font-weight:800;letter-spacing:.5px;line-height:1.3}
.case-map-tooltip .case-bubble-subtitle{display:block;color:#72baff;font-size:12px;margin-top:6px;line-height:1.35}
.leaflet-tooltip-top.case-map-tooltip:before{border-top-color:#1877d5;border-width:9px 9px 0;margin-left:-9px;bottom:-9px}

/* Emoji palette for map markers */
.emoji-picker-wrap{grid-column:1/-1;margin-top:8px}.emoji-picker-label{display:block;color:#a8c9ed;font-size:12px;margin-bottom:8px}.emoji-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px;max-height:168px;overflow-y:auto;background:#08172a;border:1px solid #2b4b71;border-radius:7px;padding:8px}.emoji-choice{display:flex;align-items:center;justify-content:center;min-height:36px;background:#132b49;border:1px solid #2b4869;border-radius:6px;font-size:22px;cursor:pointer}.emoji-choice:hover,.emoji-choice.selected{background:#1e4d7e;border-color:#5ab3ff;box-shadow:0 0 0 1px #5ab3ff}

/* Compact marker icon picker */
.icon-palette{width:100%;padding:8px 0}.icon-palette-label{font-size:12px;color:#a9cfff;margin-bottom:9px}.marker-colour-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.palette-colour{border:1px solid transparent;background:#10263d;border-radius:8px;min-height:48px;font-size:25px}.palette-colour.selected,.palette-icon.selected{border-color:#64baff;background:#203d60;box-shadow:0 0 0 1px #64baff}.marker-icon-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.palette-icon{background:#10263d;border:1px solid #264664;color:#d9eaff;border-radius:7px;padding:9px 2px;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:62px}.palette-icon i{font-size:22px}.palette-icon span{font-size:10px}.palette-icon:hover,.palette-colour:hover{background:#21486c}@media(max-width:480px){.marker-icon-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}

.icon-search-label{display:block;color:#a9cfff;font-size:12px;margin-bottom:10px}.icon-search-label input{display:block;width:100%;margin-top:5px;background:#10263d;border:1px solid #315776;color:#e8f5ff;border-radius:7px;padding:11px 12px;font:inherit;font-size:14px}.icon-search-label input:focus{outline:2px solid #64baff;outline-offset:1px}.marker-icon-choices{max-height:290px;overflow-y:auto;padding:3px;align-content:start}.palette-icon span{overflow-wrap:anywhere}

/* Detective Bureau redesigned searchable marker library */
.redesigned-picker{background:linear-gradient(155deg,#0d233b,#091a2e);border:1px solid #294762;border-radius:15px;padding:18px;margin:12px 0 16px;color:#e6f1ff}
.picker-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:17px}.picker-kicker{font-size:10px;letter-spacing:1.6px;color:#66b5ff;font-weight:800}.picker-top h3{font-size:19px;margin:5px 0;color:#fff}.picker-top p{color:#93abc4;font-size:12px;line-height:1.5;margin:0;max-width:360px}.picker-live-preview{flex:0 0 108px;display:flex;align-items:center;flex-direction:column;background:#102d4a;border:1px solid #315777;border-radius:12px;padding:10px 6px;gap:7px}.picker-live-preview>span{font-size:9px;letter-spacing:1px;color:#91b7db}.picker-live-preview #pickerLiveIcon{font-size:30px;line-height:40px}.picker-live-preview small{font-size:11px;color:#dcefff}.picker-tools{display:flex;gap:10px;align-items:center}.picker-search{flex:1;display:flex!important;align-items:center;gap:9px;background:#07182b;border:1px solid #36536e;border-radius:10px;padding:0 11px;min-width:0;color:#6fb8ff}.picker-search:focus-within{border-color:#6fb8ff}.picker-search input{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;min-width:0;width:100%;height:42px;color:#fff!important;padding:0!important}.picker-search kbd{font:9px sans-serif;letter-spacing:.5px;color:#7798b6;border:1px solid #35516b;border-radius:4px;padding:4px}.picker-count{font-size:11px;color:#a8c9e7;white-space:nowrap}.picker-categories{display:flex;gap:7px;overflow-x:auto;padding:13px 0 14px;scrollbar-width:thin}.picker-category{flex-shrink:0;border:1px solid #2b4864;border-radius:999px;background:#122a43;color:#abc7e3;padding:7px 12px;font-size:11px;font-weight:700}.picker-category.active{background:#28649a;border-color:#70bdff;color:#fff}.picker-category:hover{background:#244766}.picker-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:4px 0 10px;font-size:10px;letter-spacing:1px;font-weight:800;color:#b1c9e1}.picker-section-title span+span{letter-spacing:0;font-weight:400;color:#7d9bb7;text-align:right}.redesigned-picker .marker-icon-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:265px;overflow-y:auto;padding:2px 4px 12px 2px;margin-bottom:12px}.redesigned-picker .palette-icon{position:relative;background:#122a42;border:1px solid #294865;border-radius:10px;min-height:76px;padding:10px 4px;gap:9px;justify-content:center}.redesigned-picker .palette-icon i{font-size:25px}.redesigned-picker .palette-icon span{font-size:10px;line-height:1.3}.redesigned-picker .palette-icon.selected{border-color:#69b8ff;background:#1b4268;box-shadow:inset 0 0 0 1px #69b8ff}.picker-check{position:absolute;right:4px;top:3px;color:#76c4ff;font-size:9px}.picker-empty{padding:20px;text-align:center;color:#a6bed5;font-size:12px}.redesigned-picker .marker-colour-choices{display:flex;gap:10px;margin:0;flex-wrap:wrap}.redesigned-picker .palette-colour{width:42px;min-height:42px;display:grid;place-items:center;border-radius:11px;background:#142b42;border:1px solid #34536f}.redesigned-picker .palette-colour span{width:24px;height:24px;border-radius:50%;display:block}.redesigned-picker .palette-colour.selected{border-color:#80c4ff;box-shadow:0 0 0 1px #80c4ff}.markeroptions label:has(select[name="markerSymbol"]){display:none!important}
@media(max-width:620px){.redesigned-picker{padding:12px}.redesigned-picker .marker-icon-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.picker-live-preview{flex-basis:85px}.picker-search kbd{display:none}}

/* Detective Bureau navigation: individual compact cards, responsive without breaking links */
.intel-topnav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:9px 12px;background:linear-gradient(180deg,#08172a,#061327);min-height:64px;border-bottom:1px solid #244568;overflow-x:auto}
.intel-topnav button{min-width:0!important;min-height:43px!important;padding:8px 7px!important;border:1px solid #284d73!important;border-radius:8px!important;background:linear-gradient(180deg,#102b48,#0b1e34)!important;box-shadow:inset 0 1px rgba(148,200,255,.08),0 2px 6px #0004!important;color:#c6ddf5!important;gap:8px!important;font-size:11px!important;letter-spacing:.15px;transition:background .15s,border-color .15s,transform .15s}
.intel-topnav button i{font-size:15px!important;flex-shrink:0}
.intel-topnav button:hover{background:#173b60!important;border-color:#4c9ce3!important;transform:translateY(-1px)}
.intel-topnav button.on{background:linear-gradient(180deg,#194979,#123253)!important;border-color:#59aeff!important;color:#fff!important;box-shadow:inset 0 0 0 1px #3677b3,0 0 13px #2174b52b!important}
.intel-topnav button:focus-visible{outline:2px solid #7bc3ff;outline-offset:2px}
/* Skyline stays visible at the bottom of the scrolling left control panel */
.leftpanel{position:relative}
.leftpanel .panel-inner{display:flex;flex-direction:column;min-height:100%}
.leftpanel .leftfoot{position:sticky;bottom:-1px;z-index:3;flex-shrink:0;margin-top:auto!important;padding:12px 4px 9px!important;background:linear-gradient(180deg,#071a30 0%,#071b32 65%,#061629 100%);border-top:1px solid #315b82;box-shadow:0 -12px 20px #061529b8}
.leftfoot .skyline-art{height:75px!important;max-width:280px;margin:0 auto 3px;opacity:1!important;overflow:hidden}
.leftfoot .skyline-art svg{display:block;width:100%;height:100%}
.leftfoot strong{font-size:19px!important;line-height:1.2}
.leftfoot small{font-size:8px!important;line-height:1.4}
@media(max-width:850px){.intel-topnav{grid-template-columns:repeat(6,minmax(125px,1fr));gap:6px;padding:7px}.leftfoot{display:block!important}}

/* Location of Interest: consistent detective-blue icon */
.category-list .interest-icon{color:#59b7ff;display:inline-flex;align-items:center;justify-content:center}

/* Compact three-tab marker editor */
.compact-marker-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.compact-marker-tabs label{cursor:pointer;display:block!important}.compact-marker-tabs input{position:absolute;opacity:0;pointer-events:none}.compact-marker-tabs span{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 6px;background:#0b2039;border:1px solid #2c5176;border-radius:8px;color:#b7d4f0;font-weight:600}.compact-marker-tabs input:checked+span{background:#164b78;color:#fff;border-color:#69baff}.compact-marker-tabs input:focus-visible+span{outline:2px solid #fff}.compact-marker-panel{background:#0a1c32;border:1px solid #27496b;border-radius:9px;padding:12px;min-height:100px}.compact-marker-panel[hidden]{display:none!important}.compact-marker-toolbar{display:flex;align-items:end;gap:10px}.compact-marker-toolbar .picker-search{flex:1}.compact-marker-toolbar .picker-search input{height:36px}.compact-marker-toolbar .compact-colour{width:95px;flex:none}.compact-marker-toolbar .compact-colour input{height:36px;padding:2px;cursor:pointer}.compact-marker-toolbar .compact-size{width:105px;flex:none}.compact-marker-toolbar .compact-size select{height:36px;padding:4px}.compact-marker-panel .picker-categories{padding:10px 0;gap:5px}.compact-marker-panel .picker-category{padding:6px 10px}.compact-marker-panel .marker-icon-choices{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;max-height:none;overflow:visible;margin:0}.compact-marker-panel .palette-icon{min-height:42px;height:42px;padding:6px;display:flex;justify-content:center;position:relative;gap:0;border-radius:7px}.compact-marker-panel .palette-icon i{font-size:21px}.compact-marker-panel .palette-icon span{display:none!important}.compact-marker-panel .palette-icon.selected{border-color:#74bfff;box-shadow:inset 0 0 0 1px #74bfff}.compact-marker-panel .picker-check{position:absolute;right:2px;top:1px;font-size:8px}.compact-icon-status{display:flex;justify-content:space-between;color:#86abc9;font-size:10px;margin-top:7px}.compact-marker-footer{display:flex;align-items:center;gap:12px;color:#a9cfff}.compact-marker-footer .librarypreview{flex:1;min-height:40px;padding:4px}.compact-marker-panel[data-marker-panel=emoji] label,.compact-marker-panel[data-marker-panel=image] label{margin-bottom:10px}.markersection{gap:9px}.markersection .locklabel{margin:0}.modal{width:min(760px,100%)}@media(max-width:620px){.compact-marker-panel .marker-icon-choices{grid-template-columns:repeat(7,minmax(0,1fr))}.compact-marker-toolbar{flex-wrap:wrap}.compact-marker-toolbar .picker-search{flex-basis:100%}}

/* Two compact marker choices: built-in icons and custom image uploads */
.compact-marker-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Optional screenshot-based reference blip layer */


/* GTA-inspired shield-shaped case markers, applied to user-placed icon markers only */
.cinematic-marker{background:transparent!important;border:0!important;}
.case-shield-pin{position:relative;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 3px 3px #000b);vertical-align:middle;transition:filter .15s ease,transform .15s ease;}
.case-shield-pin svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.case-shield-pin>i{position:absolute;top:37%;left:50%;transform:translate(-50%,-50%);font-size:clamp(12px,1.3vw,23px);line-height:1;text-shadow:0 1px 2px #0008;}
.cinematic-marker:hover .case-shield-pin{filter:drop-shadow(0 0 7px var(--pin-colour)) drop-shadow(0 3px 3px #000b);transform:translateY(-2px);}
#markerPreview .case-shield-pin>i{font-size:19px;}
/* Case files and criminal item manager */
.case-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 16px;flex-wrap:wrap}.case-toolbar input{flex:1;min-width:190px}.case-toolbar input,.case-toolbar select,.case-toolbar button,.ef-dialog input,.ef-dialog select,.ef-dialog textarea{background:#0b1c34;color:#e8f4ff;border:1px solid #33577d;border-radius:7px;padding:10px;font:inherit}.case-toolbar button,.ef-dialog button{cursor:pointer;color:#d9eaff;background:#183453;border:1px solid #40648a;border-radius:7px;padding:9px 13px}.ef-overlay{position:fixed;inset:0;z-index:99999;background:#020a14c9;display:flex;align-items:center;justify-content:center;padding:18px}.ef-overlay.hidden{display:none}.ef-dialog{background:#0c1c33;border:1px solid #426e9b;border-radius:14px;width:min(790px,96vw);max-height:92vh;overflow:auto;padding:23px;color:#e8f4ff;box-shadow:0 24px 80px #000a}.ef-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.ef-dialog h2{margin:0 0 17px;font-size:22px}.ef-dialog h3{font-size:14px;color:#91c9ff;border-top:1px solid #2c496a;padding-top:15px;margin:20px 0 10px}.ef-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#b3d3ef}.ef-dialog input,.ef-dialog select,.ef-dialog textarea{width:100%;box-sizing:border-box}.ef-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ef-formgrid .wide{grid-column:1/-1}.ef-checklist{max-height:120px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ef-checklist label{background:#142c48;border-radius:7px;padding:9px;display:flex;flex-direction:row;align-items:center;gap:8px}.ef-checklist input{width:auto}.ef-checklist small{opacity:.7}.ef-hint{font-size:12px;color:#93b5d4}.ef-upload{padding:14px;border:1px dashed #5279a0;border-radius:8px;cursor:pointer}.ef-upload input{border:0;padding:4px}.ef-photos{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.ef-photo{width:105px;position:relative;background:#122b48;border-radius:7px;padding:5px}.ef-photo img{width:100%;height:75px;object-fit:cover}.ef-photo small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ef-photo button{position:absolute;right:2px;top:2px}.ef-inline{display:flex;gap:9px}.ef-inline input{flex:1}.ef-video{display:flex;justify-content:space-between;gap:10px;padding:9px;border-bottom:1px solid #2b4662}.ef-video a{color:#85c5ff;overflow-wrap:anywhere}.ef-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.ef-dialog button.blue{background:#2868c6;color:white}.ef-case-bubble{display:grid;gap:5px;text-align:left;min-width:200px}.ef-case-bubble strong{color:#76bfff}.ef-case-bubble b{font-size:14px}.ef-case-bubble span,.ef-case-bubble small{font-size:11px}.ef-items-wrap{overflow-x:auto}.ef-items-table{width:100%;border-collapse:collapse;text-align:left}.ef-items-table th,.ef-items-table td{padding:14px;border-bottom:1px solid #2d4765;vertical-align:middle}.ef-items-table th{color:#9ac9f8;font-size:11px}.ef-item-icon{font-size:29px;min-width:75px}.ef-item-icon img{width:52px;height:52px;object-fit:contain}.ef-items-table button{padding:7px 11px;background:#193c61;color:#bfe1ff;border:1px solid #37618a;border-radius:6px;cursor:pointer}.ef-item-dialog{width:min(540px,96vw)}.ef-item-dialog form{display:grid;gap:13px}@media(max-width:600px){.ef-formgrid,.ef-checklist{grid-template-columns:1fr}.ef-dialog{padding:14px}.ef-items-table th,.ef-items-table td{padding:8px}}
/* Investigation cases and contact directory */
.case-toolbar,.ef-contact-tools{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.case-toolbar input,.ef-contact-tools input{flex:1;min-width:180px}.case-toolbar input,.case-toolbar select,.ef-contact-tools input,.ef-contact-tools select,.ef-dialog input,.ef-dialog select,.ef-dialog textarea{background:#0b223b;border:1px solid #345a80;border-radius:8px;padding:10px;color:#e6f3ff;max-width:100%;box-sizing:border-box}.ef-overlay{position:fixed;inset:0;background:#020914d9;z-index:20000;display:flex;align-items:center;justify-content:center;padding:18px}.ef-overlay.hidden{display:none!important}.ef-dialog{width:min(750px,96vw);max-height:92vh;overflow:auto;background:#102a46;border:1px solid #4b82b1;border-radius:16px;padding:22px;color:#e8f5ff;box-shadow:0 24px 70px #0009}.ef-dialog-head,.ef-actions,.ef-inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.ef-dialog-head h2{margin:0 0 16px}.ef-dialog-head button,.ef-actions button,.ef-inline button,.ef-contact-actions button{background:#1c4166;border:1px solid #477ba7;border-radius:7px;color:white;padding:9px;cursor:pointer}.ef-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ef-formgrid label,.ef-item-dialog label{display:flex;flex-direction:column;gap:5px;color:#b6d8f6;font-size:13px}.ef-formgrid label.wide{grid-column:1/-1}.ef-dialog h3{font-size:14px;color:#9acfff;margin:18px 0 8px}.ef-hint{color:#93b7d6;font-size:12px}.ef-checklist{display:flex;flex-wrap:wrap;gap:8px}.ef-checklist label{background:#173957;border-radius:7px;padding:8px;font-size:12px}.ef-upload{display:inline-flex;background:#1c4166;border:1px dashed #5b94c3;padding:10px;border-radius:8px;cursor:pointer}.ef-upload input{max-width:190px}.ef-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ef-photo{position:relative;display:flex;flex-direction:column;gap:4px;width:100px}.ef-photo img{height:80px;width:100px;object-fit:cover;border-radius:6px}.ef-photo small{overflow:hidden;text-overflow:ellipsis}.ef-photo button{position:absolute;right:0;top:0}.ef-video{display:flex;justify-content:space-between;gap:8px;margin:8px 0;overflow-wrap:anywhere}.ef-video a{color:#83c5ff}.ef-actions{justify-content:flex-end;margin-top:20px}.ef-item-dialog{max-width:520px}.ef-item-dialog form{display:grid;gap:12px}.ef-items-wrap{overflow-x:auto}.ef-items-table{width:100%;border-collapse:collapse}.ef-items-table th,.ef-items-table td{padding:12px;text-align:left;border-bottom:1px solid #31516e;vertical-align:middle}.ef-item-icon{font-size:28px}.ef-item-icon img{width:54px;height:54px;object-fit:contain}.ef-contact-card{display:flex;align-items:flex-start;gap:14px;padding:14px;margin:10px 0;background:#112d49;border:1px solid #2c5576;border-radius:12px}.ef-contact-avatar{width:65px;height:65px;flex:none;background:#214969;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#8dccff;overflow:hidden}.ef-contact-avatar img{width:100%;height:100%;object-fit:cover}.ef-contact-info{flex:1;min-width:0}.ef-contact-info h3{margin:0 0 7px}.ef-contact-info p{margin:5px 0;color:#b8d4ea;font-size:13px;overflow-wrap:anywhere}.ef-contact-info small{color:#8eb6d5}.ef-contact-actions{display:flex;gap:6px;flex-wrap:wrap}.ef-case-bubble{display:grid;gap:4px;min-width:205px;color:#ddecff}.ef-case-bubble strong{color:#70b9ff}.ef-case-bubble b{font-size:14px}.ef-case-bubble span,.ef-case-bubble small{font-size:11px}@media(max-width:620px){.ef-formgrid{grid-template-columns:1fr}.ef-contact-card{flex-wrap:wrap}.ef-dialog{padding:14px}}

/* Optional history navigation */
.intel-topnav button[hidden]{display:none!important}
.history-settings-label{display:flex;align-items:center;gap:10px;margin:12px 0;color:#dcecff;font-size:14px}
.history-settings-label input{accent-color:#65b3ff;width:17px;height:17px}
/* Clearly visible criminal-item creation controls */
.ef-items-actionbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 20px}.ef-items-actionbar button{padding:12px 18px;background:#1468ba;color:white;border:1px solid #3995e5;border-radius:6px;font-weight:700}.ef-items-actionbar p{margin:0;color:#93b8db}.ef-item-dialog input[type=file]{display:block;margin:9px 0;color:#cce4ff}.ef-item-dialog label{display:block;margin:14px 0;color:#b6d8ff}.ef-item-dialog input:not([type=file]),.ef-item-dialog textarea{display:block;width:100%;padding:11px;background:#06172a;color:#fff;border:1px solid #37638a;border-radius:5px;margin-top:6px}.ef-item-dialog #itemImagePreview img{max-width:110px;max-height:110px;object-fit:contain}.ef-items-table img{max-width:70px;max-height:70px;object-fit:contain}.ef-items-table .ef-item-icon{font-size:28px}.ef-overlay{position:fixed;z-index:5000;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:18px}.ef-dialog{width:min(720px,95vw);max-height:90vh;overflow:auto;background:#0a213b;color:#d6eaff;border:1px solid #3c709b;border-radius:10px;padding:24px;box-shadow:0 25px 80px #000b}.ef-dialog-head{display:flex;align-items:center;justify-content:space-between}.ef-dialog-head button{background:none;color:#fff;border:0;font-size:22px}.ef-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.ef-actions button{padding:10px 20px;border-radius:5px;color:white;background:#194364;border:1px solid #4273a0}

/* Five visible navigation tabs fill the full width; six when History is enabled. */
.intel-topnav{grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%;box-sizing:border-box}
.intel-topnav:has(#historyBottomTab:not([hidden])){grid-template-columns:repeat(6,minmax(0,1fr))!important}
@media(max-width:850px){.intel-topnav{grid-template-columns:repeat(5,minmax(125px,1fr))!important}.intel-topnav:has(#historyBottomTab:not([hidden])){grid-template-columns:repeat(6,minmax(125px,1fr))!important}}

/* Original user-selected skyline and always-visible pin save controls */
.leftfoot{padding:10px 0 4px;border-top:0;background:transparent}
.sidebar-skyline-original{display:block;width:100%;height:auto;object-fit:contain}
#caseModal .modalactions{position:sticky;bottom:-22px;z-index:20;background:#091d34;padding:14px 0 18px;margin-top:12px;border-top:1px solid #315d84;box-shadow:0 -12px 18px #091d34}
#caseModal .modalactions button{min-width:132px;font-weight:700}
#caseModal .modalactions button[type=submit]{background:#1674d4;color:#fff}

/* Keep Save visible: scroll form fields, never the footer. */
#caseModal #caseForm{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 30px);padding:22px;}
#caseModal #caseForm .modalhead{flex:0 0 auto;}
#caseModal #caseForm .formgrid{min-height:0;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;padding-right:8px;}
#caseModal #caseForm .modalactions{position:relative;bottom:auto;flex:0 0 auto;margin:0;padding:14px 0 0;box-shadow:none;background:#091d34;}
#caseModal #caseForm .modalactions button[type=submit]{background:#1674d4;color:#fff;min-width:165px;}

/* Make actual Leaflet map pins match the editor preview, not hollow dots. */
.custom-marker.cinematic-marker{background:transparent!important;border:0!important;overflow:visible!important;}
.custom-marker.cinematic-marker .case-shield-pin.map-pin-icon{display:block!important;position:relative!important;overflow:visible!important;}
.custom-marker.cinematic-marker .case-shield-pin.map-pin-icon svg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;overflow:visible!important;}
.custom-marker.cinematic-marker .case-shield-pin.map-pin-icon>i{position:absolute!important;left:50%!important;top:39%!important;transform:translate(-50%,-50%)!important;display:block!important;font-size:calc(var(--pin-size, 42px) * .42)!important;color:#fff!important;text-shadow:0 1px 3px #000!important;z-index:2!important;line-height:1!important;}

/* Pin renderer v2: explicit height, stable layout, no legacy circle styling */
.custom-marker.ef-map-marker{background:none!important;border:0!important;overflow:visible!important;}
.ef-real-pin{position:relative;display:block;overflow:visible;filter:drop-shadow(0 3px 3px #000b)}
.ef-real-pin-shape{position:absolute;inset:0;display:block!important;overflow:visible!important}
.ef-real-pin-glyph{position:absolute;left:0;top:8%;width:100%;height:62%;display:flex;align-items:center;justify-content:center;color:#fff!important;font-size:var(--ef-icon-size);line-height:1;z-index:3;text-shadow:0 1px 2px #000}
.ef-real-pin-glyph i{color:#fff!important;display:block!important;font-size:inherit!important;line-height:1!important}
.custom-marker.ef-map-marker:hover .ef-real-pin{filter:drop-shadow(0 0 6px var(--ef-color)) drop-shadow(0 3px 3px #000b)}

/* Local SVG marker glyphs: no external icon font required */
.case-shield-pin.ef-svg-marker .ef-pin-outline{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important}
.case-shield-pin .ef-svg-glyph{position:absolute!important;left:50%!important;top:38%!important;transform:translate(-50%,-50%)!important;width:43%!important;height:43%!important;z-index:8!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:none}
.case-shield-pin .ef-svg-glyph .ef-glyph-svg{position:static!important;inset:auto!important;width:100%!important;height:100%!important;display:block!important;overflow:visible!important;fill:#fff!important}
.case-shield-pin .ef-svg-glyph .ef-glyph-svg path{fill:#fff!important}

/* Correct SVG icon stacking: overrides the legacy rule that stretches EVERY nested svg across the shield. */
.custom-marker.cinematic-marker .case-shield-pin.map-pin-icon .ef-svg-glyph,
#markerPreview .case-shield-pin .ef-svg-glyph {
 position:absolute!important;top:38%!important;left:50%!important;transform:translate(-50%,-50%)!important;
 width:44%!important;height:44%!important;display:flex!important;align-items:center!important;justify-content:center!important;
 z-index:20!important;opacity:1!important;visibility:visible!important;overflow:visible!important;
}
.custom-marker.cinematic-marker .case-shield-pin.map-pin-icon .ef-svg-glyph svg.ef-glyph-svg,
#markerPreview .case-shield-pin .ef-svg-glyph svg.ef-glyph-svg {
 position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
 width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
 display:block!important;opacity:1!important;visibility:visible!important;overflow:visible!important;z-index:21!important;
}
.custom-marker.cinematic-marker .case-shield-pin.map-pin-icon .ef-svg-glyph svg.ef-glyph-svg path,
#markerPreview .case-shield-pin .ef-svg-glyph svg.ef-glyph-svg path {fill:white!important;opacity:1!important}

/* Embedded icon IMG bypasses legacy broad SVG positioning rules. */
.case-shield-pin .ef-svg-glyph img.ef-icon-image{display:block!important;position:relative!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;z-index:50!important;filter:none!important;}
/* Gang intelligence links */
.leftfoot{display:none!important}
.gang-link-field{display:flex;flex-direction:column;gap:6px;margin:10px 0;color:#c3d9f2}
.gang-link-field[hidden]{display:none!important}
.gang-link-field select{background:#07182d;border:1px solid #45678b;color:#e6f3ff;padding:10px;border-radius:5px}
.gang-link-field small{color:#8eafcf}
.leaflet-tooltip.gang-map-tooltip{pointer-events:auto!important;min-width:245px;max-width:330px}
.gang-map-popup{display:flex;flex-direction:column;gap:7px}
.gang-map-popup strong{font-size:15px;color:#e7f3ff}
.gang-map-popup small{color:#9ab9d6}
.gang-map-popup h4{font-size:12px;color:#d6e8ff;margin:8px 0 0;border-top:1px solid #355779;padding-top:9px}
.gang-map-popup button,.gang-case{display:block;text-align:left;background:#163757;border:1px solid #41658a;border-radius:6px;color:#dcefff;padding:9px;cursor:pointer;width:100%;font:inherit}
.gang-map-popup button:hover,.gang-case:hover{background:#24527c;border-color:#6bb6ff}
.gang-map-popup button small{display:block}
.gang-profile{margin-top:16px;padding:22px;background:#10233d;border:1px solid #315475;border-radius:9px;color:#d8eaff}
.gang-profile h2{margin:0 0 12px}.gang-profile h3{margin:24px 0 10px}
.gang-count{color:#8cc5ff}.gang-case{margin:7px 0}.gang-case span{margin:0 10px}

/* Case number acts as a clear action button, consistent with case row actions. */
#recordsBody .ef-case-number-btn{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:280px;min-width:145px;padding:9px 13px;background:#153658;border:1px solid #3a79b4;border-radius:6px;color:#a7d7ff;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
#recordsBody .ef-case-number-btn strong{font-size:12px;color:#e0f1ff}
#recordsBody .ef-case-number-btn span{font-size:11px;color:#a4c5e7;white-space:normal}
#recordsBody .ef-case-number-btn:hover,#recordsBody .ef-case-number-btn:focus-visible{background:#215183;border-color:#72bbff;outline:2px solid transparent}

/* Clickable postal number in the investigation table */
.ef-postal-jump{background:transparent!important;border:1px solid transparent!important;color:#77bdff!important;padding:5px 8px!important;border-radius:5px!important;cursor:pointer!important;font-weight:600!important;text-decoration:none!important}
.ef-postal-jump:hover,.ef-postal-jump:focus-visible{background:#16395c!important;border-color:#3d78ac!important;text-decoration:underline!important}
/* Requested records and detective management improvements */
.ef-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ef-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:15px}.ef-report-tile{text-align:left;display:flex;flex-direction:column;gap:8px;padding:17px;border:1px solid #345d89;background:#102845;color:#e9f4ff;border-radius:9px;cursor:pointer;min-height:108px}.ef-report-tile:hover{background:#1b426e;border-color:#5ba4ee}.ef-report-tile strong{color:#83c1ff;font-size:14px}.ef-report-tile span{font-weight:600}.ef-report-tile small{color:#a6c2df}.ef-primary{background:#1c6fc5!important;color:white!important;border:1px solid #438ee0!important;padding:10px 14px;border-radius:6px;cursor:pointer}.ef-enhance-dialog{max-height:88vh;overflow:auto}.ef-enhance-form{padding:16px}.ef-vehicle-tile .ef-actions{margin-top:15px}.ef-hint{color:#a8c1df}.ef-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:15px}

/* Detective Directory: independent from investigation Contacts */
.ef-directory-head{display:flex;align-items:center;gap:12px;text-align:left}.ef-directory-avatar{width:48px;height:48px;min-width:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#254a7b;color:#9bc4ff;font-size:20px}.ef-directory-photo{width:48px;height:48px;min-width:48px;border-radius:50%;object-fit:cover}.ef-detective-tile{text-align:left}.ef-directory-detail h3{margin:14px 0 8px}.ef-directory-detail p{margin:3px 0}.ef-heading-row #efDirectorySearch{min-width:230px;max-width:390px;width:100%}@media(max-width:650px){.ef-heading-row{flex-wrap:wrap}}

/* Gang editor and member roster */
.ef-gang-dialog{width:min(560px,calc(100vw - 24px));max-height:90vh;overflow:auto}
.ef-gang-dialog form{display:grid;gap:14px;padding:16px}
.ef-gang-dialog form label{display:grid;gap:6px;color:#c5d9f5;font-weight:600}
.ef-gang-dialog input,.ef-gang-dialog textarea{width:100%;padding:11px;border-radius:6px;border:1px solid #38597e;background:#0b1a30;color:#edf5ff;font:inherit}
.ef-gang-members{margin-top:22px;border-top:1px solid #365171;padding-top:14px}
.ef-gang-members-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ef-gang-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}

.ef-gang-dialog select{width:100%;padding:11px;border-radius:6px;border:1px solid #38597e;background:#0b1a30;color:#edf5ff;font:inherit}
.ef-gang-color-row{display:flex;gap:10px;align-items:center}
.ef-gang-color-row input[type=text]{flex:1}
.ef-gang-color-row input[type=color]{width:62px;height:43px;padding:3px;cursor:pointer}
.ef-gang-emoji-picker{display:flex;flex-wrap:wrap;gap:5px}
.ef-gang-emoji-picker button{background:#1a3151;border:1px solid #365b83;border-radius:6px;font-size:20px;min-width:40px;height:38px;cursor:pointer}
.ef-gang-logo-preview{display:flex;gap:12px;align-items:center;color:#c5d9f5}
.ef-gang-logo-preview span:first-child,.ef-gang-card-logo{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:9px;font-size:24px;flex-shrink:0}
.ef-gang-profile-heading{display:flex;align-items:center;gap:12px}

/* Gang intelligence popup */
.ef-intel-dialog{width:min(920px,calc(100vw - 24px));max-height:92vh;display:flex;flex-direction:column;background:#10213b;border:1px solid #4a6a94;border-radius:12px;color:#eaf2ff;box-shadow:0 22px 80px #000b;overflow:hidden}
.ef-intel-header{display:flex;align-items:center;gap:16px;padding:22px 26px;border-bottom:1px solid #355478}.ef-intel-header h2{margin:3px 0;font-size:25px}.ef-intel-header small,.ef-intel-grid small{color:#94b4df;letter-spacing:.07em}.ef-intel-logo{width:74px;height:74px;border-radius:12px;display:grid;place-items:center;font-size:40px;flex-shrink:0}.ef-intel-close{margin-left:auto;align-self:flex-start;background:none;border:0;color:#fff;font-size:23px;cursor:pointer}.ef-intel-scroll{overflow:auto;padding:22px 26px;min-height:0}.ef-intel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ef-intel-grid>div{display:flex;flex-direction:column;gap:9px;background:#172c4b;border:1px solid #355478;border-radius:8px;padding:15px}.ef-intel-grid strong{font-size:16px;overflow-wrap:anywhere}.ef-intel-dialog section{margin-top:24px}.ef-intel-dialog h3{font-size:16px;margin:0 0 12px}.ef-intel-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ef-intel-person{display:flex;align-items:center;gap:13px;padding:13px 10px;border-bottom:1px solid #345171}.ef-intel-person>div{flex:1;min-width:0}.ef-intel-person small{display:block;color:#9db7d8;margin-top:4px}.ef-intel-avatar{width:42px;height:42px;display:grid;place-items:center;background:#24436c;border-radius:50%;font-size:20px}.ef-intel-role{color:#b9d4fa;background:#203a5d;padding:7px 10px;border-radius:6px;white-space:nowrap}.ef-intel-person button,.ef-intel-dialog footer button{background:#25466e;border:1px solid #5478a7;border-radius:6px;color:#fff;padding:9px 14px;cursor:pointer}.ef-intel-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 26px;border-top:1px solid #355478}.ef-intel-case{padding:10px;border-bottom:1px solid #355478}.ef-intel-case small{color:#a5c2e8;margin-left:8px}@media(max-width:650px){.ef-intel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ef-intel-header{padding:14px}.ef-intel-scroll{padding:14px}.ef-intel-role{white-space:normal}}

/* Gang intelligence member action buttons */
.ef-intel-person-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-left:auto}
.ef-intel-person-actions button{border:1px solid #44658d;border-radius:6px;background:#203b60;color:#e6f0ff;padding:7px 12px;cursor:pointer}
.ef-intel-person-actions button:hover{background:#315785}
.ef-intel-person-actions .ef-intel-remove{border-color:#8b4853;color:#ffb7bd;background:#3a202c}
.ef-intel-person-actions .ef-intel-remove:hover{background:#64303d}

.ef-gang-uploaded-logo{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#1b3150;flex-shrink:0}.ef-intel-logo .ef-gang-uploaded-logo{width:100%;height:100%;object-fit:contain}.ef-gang-logo-preview img{width:100%;height:100%;object-fit:contain;border-radius:8px}.ef-gang-dialog input[type=file]{padding:10px}.ef-gang-dialog #efGangRemoveLogo{justify-self:start;padding:8px 12px;background:#243c5b;color:#e7f0ff;border:1px solid #54739a;border-radius:6px;cursor:pointer}
/* Linked cases shown beneath each existing location marker */
.ef-location-popup{min-width:215px;max-width:300px;display:flex;flex-direction:column;gap:5px}
.ef-location-popup h4{margin:8px 0 3px;border-top:1px solid #365476;padding-top:9px}
.ef-location-popup .ef-location-case{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;padding:8px;border:1px solid #375a80;border-radius:6px;background:#192f4c;color:#e8f3ff;cursor:pointer}
.ef-location-popup .ef-location-case:hover{background:#284c79}
.ef-location-popup .ef-location-case span{font-size:12px}
.ef-location-popup .ef-location-case small{opacity:.75}
.ef-location-empty{opacity:.7;font-size:12px}

/* Persistent click-to-open case list: do not let Leaflet's default popup theme hide controls. */
.leaflet-popup.ef-location-leaflet-popup .leaflet-popup-content-wrapper{background:#0d203b;color:#e8f3ff;border:2px solid #1877d5;border-radius:12px}
.leaflet-popup.ef-location-leaflet-popup .leaflet-popup-tip{background:#0d203b}
.leaflet-popup.ef-location-leaflet-popup .leaflet-popup-content{margin:12px 14px}
.leaflet-popup.ef-location-leaflet-popup .leaflet-popup-close-button{color:#e8f3ff!important}
.leaflet-popup.ef-location-leaflet-popup .ef-location-case{pointer-events:auto;cursor:pointer}

/* Location Intelligence Files */
.ef-location-dialog{width:min(850px,96vw)}.ef-loc-eyebrow{color:#7cb9f8;letter-spacing:.12em;font-size:10px}.ef-location-dialog .ef-dialog-head p{color:#a9c9e7;margin:0 0 12px}.ef-loc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.ef-loc-stats>div{display:grid;gap:7px;background:#173552;border:1px solid #355c80;border-radius:9px;padding:13px}.ef-loc-stats small{font-size:10px;color:#95b8d7}.ef-loc-stats b{font-size:15px;overflow-wrap:anywhere}.ef-loc-tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #365777;margin:12px 0}.ef-loc-tabs button{padding:10px;background:transparent;border:0;color:#a5c5e3;cursor:pointer}.ef-loc-tabs button.selected{color:white;border-bottom:2px solid #61a9ff}.ef-location-dialog [hidden]{display:none!important}.ef-loc-body{background:#172f4b;border-radius:8px;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere}.ef-loc-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}.ef-loc-case-card{display:grid;text-align:left;gap:5px;background:#193553;border:1px solid #3c6185;border-radius:8px;padding:13px;color:#e5f2ff;cursor:pointer}.ef-loc-case-card small{color:#9ec1e1}.ef-loc-checklist{max-height:180px;overflow:auto;display:grid;gap:8px;margin:10px 0}.ef-loc-checklist label{padding:9px;background:#172f4b;border-radius:7px}.ef-loc-editor{display:grid;gap:12px;margin-top:20px;border-top:1px solid #42617f;padding-top:10px}.ef-loc-editor label{display:grid;gap:5px}.ef-loc-editor textarea{width:100%;box-sizing:border-box}.ef-location-photo{max-width:100%;max-height:260px;object-fit:contain;border-radius:9px}.ef-loc-secondary{background:#1b4166;color:white;border:1px solid #477ba7;border-radius:7px;padding:10px;cursor:pointer}@media(max-width:550px){.ef-loc-stats{grid-template-columns:1fr}}

/* Use each location's selected map icon in its intelligence profile header. */
.ef-loc-heading{display:flex;align-items:center;gap:12px}
.ef-loc-assigned-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:42px;min-height:52px;overflow:visible}
.ef-loc-assigned-icon .case-shield-pin{position:relative;display:inline-block;transform:none!important}
.ef-loc-assigned-icon .ef-svg-glyph{display:flex;align-items:center;justify-content:center}
.ef-loc-assigned-icon img{max-width:52px;max-height:52px;object-fit:contain}

/* Stable single-image markers: the selected glyph is baked into the shield SVG. */
.leaflet-marker-icon.ef-composed-marker{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.leaflet-marker-icon.ef-composed-marker>img.ef-composed-pin{display:block!important;position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;max-width:none!important;max-height:none!important;filter:drop-shadow(0 2px 3px #0009)}

/* All map pins have the same outline and anchor, even with uploaded images. */
#markerPreview>img{display:block!important;object-fit:contain!important;max-width:none!important;max-height:none!important;margin:auto}
.leaflet-marker-icon.ef-composed-marker img.ef-composed-pin{object-fit:contain!important;display:block!important;opacity:1!important}

/* Intelligence-map layout: sidebar navigation and persistent location panel. */
.shell{background:#061224}
.header{background:#06162c;border-bottom:1px solid #244567}
.leftpanel{width:260px!important;min-width:260px!important;background:#06182e}
.leftpanel .panel-inner{padding:12px!important}
.ef-brand{display:flex;align-items:center;gap:12px;padding:9px 7px 15px;color:#fff}
.ef-brand>span{display:flex;flex-direction:column;gap:2px}
.ef-brand strong{font-size:18px;letter-spacing:.6px}
.ef-brand small{color:#70a9ed;font-size:10px;letter-spacing:1.7px}
.ef-primary-navigation{display:flex;flex-direction:column;gap:3px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #284767}
.ef-primary-navigation button{display:flex;gap:14px;align-items:center;text-align:left;width:100%;background:transparent;border:0;border-radius:6px;color:#d8e7fa;padding:11px 12px;font-size:13px;cursor:pointer}
.ef-primary-navigation button i{width:19px;text-align:center;color:#9ac7ff}
.ef-primary-navigation button:hover,.ef-primary-navigation button.ef-current{background:#1c57ae;color:#fff}
#categoryList button[data-cat]{position:relative;padding-right:70px}
#categoryList button[data-cycle]::after{content:attr(data-cycle);position:absolute;right:8px;bottom:3px;font-size:10px;color:#91c6ff}
#categoryList button[data-cycle]{background:#1c3760;outline:1px solid #386ba9}
.ef-panel-hidden{display:none!important}
.rightpanel{position:relative;overflow-y:auto!important;background:#06172d}
#efLocationProfile.ef-docked-location{position:relative!important;inset:auto!important;width:100%!important;min-height:100%!important;display:block!important;background:transparent!important;padding:8px!important;overflow:visible!important;z-index:5!important}
.ef-docked-location .ef-location-dialog{width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;padding:8px!important}
.ef-docked-location .ef-dialog-head{padding:8px 0 15px}
.ef-docked-location .ef-loc-heading{font-size:19px!important}
.ef-docked-location .ef-loc-stats{gap:6px!important}
.ef-docked-location .ef-loc-stats>div{min-width:0!important;padding:10px 7px!important}
.ef-docked-location .ef-loc-stats b{overflow-wrap:anywhere}
.ef-docked-location .ef-loc-tabs{overflow-x:auto;white-space:nowrap;gap:4px!important}
.ef-docked-location .ef-loc-tabs button{padding:9px 6px!important;font-size:11px!important}
.ef-docked-location .ef-actions{display:flex;flex-wrap:wrap;gap:7px}
.ef-docked-location .ef-actions button{flex:1 1 auto}
.ef-docked-location .ef-loc-editor{background:#102640;border:1px solid #335779;border-radius:8px;padding:12px}
.ef-vehicle-photo{width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:10px}
.ef-vehicle-preview img{max-width:100%;max-height:180px;object-fit:contain;border-radius:6px}
@media(min-width:1250px){.rightpanel{width:420px!important;min-width:420px!important}}
@media(max-width:900px){.leftpanel{width:205px!important;min-width:205px!important}.rightpanel{width:320px!important;min-width:320px!important}}

#categoryList button[data-cat] b{display:inline-flex;align-items:center;justify-content:center;min-width:23px}
.ef-icon-editor-button{width:100%;margin:10px 0 4px;border:1px solid #315a88;background:#0c2847;color:#9bc9ff;border-radius:6px;padding:9px;cursor:pointer}
.ef-sidebar-editor-overlay{position:fixed;inset:0;background:#000b;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.ef-sidebar-editor{width:min(620px,96vw);max-height:88vh;display:flex;flex-direction:column;background:#0c1d35;color:#e9f3ff;border:1px solid #3b6391;border-radius:12px;padding:20px;box-shadow:0 20px 80px #000a}
.ef-sidebar-editor-header{display:flex;justify-content:space-between;align-items:center}.ef-sidebar-editor-header button{font-size:28px;color:#fff;background:transparent;border:0;cursor:pointer}
.ef-sidebar-editor-list{overflow-y:auto;display:grid;gap:7px;padding:10px 0}
.ef-icon-row{display:grid;grid-template-columns:1.3fr 1.4fr 50px;gap:10px;align-items:center;padding:7px;border:1px solid #294360;border-radius:7px}
.ef-icon-row select{min-width:0;background:#142c4a;color:#fff;border:1px solid #456b94;border-radius:5px;padding:7px}
.ef-icon-row input{width:44px;height:33px;background:transparent;border:0;cursor:pointer}
.ef-sidebar-editor footer{display:flex;justify-content:flex-end;gap:12px;padding-top:14px}
.ef-sidebar-editor footer button{padding:9px 16px;border-radius:6px;cursor:pointer}

/* Full-width dashboard header matching the approved visual mockup. */
.header.ef-new-header{height:66px!important;min-height:66px;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px;padding:0 22px!important;background:#051529!important;border-bottom:1px solid #1c3c62!important}
.ef-header-identity{display:flex;align-items:center;gap:12px;flex:0 0 260px;min-width:0}
.ef-header-identity img{width:42px;height:48px;object-fit:contain}
.ef-header-identity>div{display:flex;flex-direction:column;gap:2px}
.ef-header-identity strong{color:#f1f7ff;font-size:21px;letter-spacing:.4px;line-height:1.05}
.ef-header-identity small{color:#80b8f5;letter-spacing:1.5px;font-size:10px}
.ef-header-search{display:flex;align-items:center;gap:12px;height:38px;flex:1;max-width:610px;min-width:130px;background:#071d37;border:1px solid #295b92;border-radius:6px;padding:0 14px;color:#d8e8ff}
.ef-header-search input{flex:1;width:100%;min-width:0;border:0;outline:0;background:transparent;color:#e4f1ff;font-size:12px}
.ef-header-search input::placeholder{color:#a6c2e3}
.ef-header-right{display:flex;align-items:center;gap:12px;justify-content:flex-end;flex:0 0 230px}
.ef-header-right button{border:0;background:transparent;color:#e8f3ff;cursor:pointer}
#efThemeToggle{font-size:16px;margin-right:6px}
.ef-header-avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#1e508e;color:#a9d2ff;font-size:16px}
.ef-header-account{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.ef-header-account strong{font-size:12px;color:#eaf2ff}
.ef-header-account small{font-size:10px;color:#8db5e8}
.ef-header-light{background:#15365b!important}
@media(max-width:850px){.header.ef-new-header{height:66px!important;flex-wrap:nowrap!important;gap:8px;padding:0 9px!important}.ef-header-identity{flex-basis:140px}.ef-header-identity img{width:30px}.ef-header-identity strong{font-size:15px}.ef-header-identity small{font-size:8px}.ef-header-right{flex-basis:45px}.ef-header-account,.ef-header-avatar,#efThemeToggle{display:none!important}}

/* Unified location intelligence profile — screenshot-inspired design */
.ef-docked-location .ef-premium-location{padding:8px!important;color:#d9eaff}
.ef-premium-location .ef-profile-top{display:flex;align-items:flex-start;gap:13px;padding:9px 0 16px}
.ef-premium-location .ef-profile-avatar{flex:0 0 88px;height:91px;background:#081b31;border:1px solid #26507c;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ef-premium-location .ef-profile-avatar>img{width:100%;height:100%;object-fit:cover}
.ef-premium-location .ef-profile-avatar .ef-composed-pin{width:46px!important;height:56px!important;object-fit:contain}
.ef-premium-location .ef-profile-headline{flex:1;min-width:0}.ef-premium-location .ef-profile-headline h2{margin:1px 0 7px;font-size:20px;line-height:1.2;color:#f1f7ff}.ef-premium-location .ef-profile-headline span{color:#4da6ff;font-size:12px}.ef-premium-location .ef-profile-headline p{font-size:12px;margin:7px 0;color:#b9d6f4}.ef-premium-location .ef-profile-x{background:#091e38;border:1px solid #27486d;border-radius:4px;color:#d9eaff;padding:6px 9px;cursor:pointer}
.ef-premium-location .ef-profile-toolbar{display:flex;align-items:center;gap:7px;padding-bottom:13px;border-bottom:1px solid #244367}.ef-premium-location .ef-profile-toolbar button{border:1px solid #315b87;border-radius:5px;background:#102b4c;color:#cce2fc;padding:9px 11px;white-space:nowrap;cursor:pointer;font-size:11px}.ef-premium-location .ef-profile-toolbar button.blue{background:#1460c4;color:white}.ef-premium-location .ef-profile-toolbar .ef-edit-gold{border-color:#c9951d;color:#fbd66b;background:#29261e}.ef-premium-location .ef-profile-toolbar .ef-delete-red{border-color:#d33453;color:#ff667e;background:#301b2a}.ef-profile-flex{flex:1}
.ef-premium-location .ef-profile-tabs{display:flex;overflow-x:auto;gap:2px;margin:9px 0 11px}.ef-premium-location .ef-profile-tabs button{white-space:nowrap;font-size:11px!important;padding:10px 8px!important}
.ef-premium-location .ef-profile-card{background:#091e37;border:1px solid #163a60;border-radius:7px;padding:13px;margin-bottom:11px}.ef-premium-location .ef-profile-card h3{font-size:13px;color:#e8f4ff;margin:0 0 13px;padding:0}.ef-premium-location .ef-profile-card h3 i{color:#62b2ff;margin-right:7px}.ef-premium-location .ef-profile-overview{display:grid;grid-template-columns:1fr 1.08fr;gap:12px}.ef-premium-location .ef-profile-overview dl{display:grid;grid-template-columns:68px 1fr;gap:11px 6px;margin:5px 0;align-content:start;font-size:11px}.ef-premium-location .ef-profile-overview dt{color:#a9c9ed}.ef-premium-location .ef-profile-overview dd{margin:0;color:#eef5ff;overflow-wrap:anywhere}.ef-premium-location .ef-status-chip{display:inline-block;background:#096a53;color:#70f0c2;padding:4px 12px;border-radius:20px}.ef-premium-location .ef-profile-hero{min-height:175px;max-height:210px;overflow:hidden;border-radius:6px;border:1px solid #284e77}.ef-premium-location .ef-profile-hero>img{width:100%;height:100%;max-height:210px;object-fit:cover}.ef-premium-location .ef-profile-no-photo{height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#648cb7;background:#0b2845}.ef-premium-location .ef-profile-no-photo i{font-size:28px}.ef-premium-location .ef-profile-description{padding-top:12px}.ef-premium-location .ef-profile-description small{color:#a8c9ed}.ef-premium-location .ef-profile-description p{background:#0b2746;border:1px solid #1d4268;border-radius:5px;padding:10px;margin:7px 0 0;font-size:12px;line-height:1.5}.ef-premium-location .ef-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ef-premium-location .ef-profile-fields>div{display:flex;justify-content:space-between;gap:8px;padding:10px;border:1px solid #1c3c60;border-radius:5px;font-size:11px}.ef-premium-location .ef-profile-fields small{color:#a5c8f3}.ef-premium-location .ef-profile-activity{display:flex;flex-direction:column;gap:7px}.ef-premium-location .ef-inline-action{float:right;font-size:11px;padding:7px;border:0;border-radius:4px}.ef-premium-location .ef-profile-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ef-premium-location .ef-loc-editor{margin:10px 0;padding:13px}.ef-premium-location .ef-loc-editor label{display:block;margin:10px 0}.ef-premium-location .ef-loc-editor input:not([type=checkbox]):not([type=file]){width:100%;background:#102b4c;color:white;border:1px solid #365a83;border-radius:5px;padding:8px}
@media(max-width:1300px){.ef-premium-location .ef-profile-overview{grid-template-columns:1fr}.ef-premium-location .ef-profile-hero{max-height:170px}.ef-premium-location .ef-profile-hero>img{max-height:170px}}

@media(min-width:1250px){.rightpanel{width:480px!important;min-width:480px!important}}

/* Directory moved to alphabetical left navigation; original bottom actions remain hidden for compatibility. */
.intel-topnav{display:none!important}
.ef-primary-navigation button{font-weight:600}
.ef-primary-navigation button i{font-size:16px!important}
.ef-roster-list{display:grid;gap:8px}
.ef-roster-member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;border:1px solid #31567c;background:#132b48;padding:10px;border-radius:7px}
.ef-roster-member strong{overflow-wrap:anywhere}
.ef-roster-member span{color:#83bfff}
.ef-roster-member small{grid-column:1/-1;color:#a7bbd2}

/* Full-height responsive workspace, independent scrolling, user-resizable side panels. */
html,body{height:100%;overflow:hidden}
.shell{height:100dvh!important;max-height:100dvh!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.workspace{flex:1 1 auto!important;min-height:0!important;height:auto!important;display:flex!important;overflow:hidden!important}
.workspace>.leftpanel{flex:0 0 auto!important;box-sizing:border-box!important;width:260px!important;min-width:185px!important;max-width:45vw!important;resize:horizontal!important;overflow-x:hidden!important;overflow-y:auto!important}
.workspace>.rightpanel{flex:0 0 auto!important;box-sizing:border-box!important;width:420px!important;min-width:270px!important;max-width:50vw!important;resize:horizontal!important;direction:rtl!important;overflow-x:hidden!important;overflow-y:auto!important}
.workspace>.rightpanel>*{direction:ltr!important}
.workspace>.maparea,.workspace>.mainpanel,.workspace>.centerpanel{flex:1 1 auto!important;min-width:0!important;min-height:0!important}
.workspace>.leftpanel.left-collapsed,.workspace>.rightpanel.right-collapsed{resize:none!important;min-width:0!important}
#categoryList button[data-cat]{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 8px!important}
#categoryList button[data-cat][hidden]{display:none!important}
#categoryList .ef-sidebar-category-label{flex:1;min-width:0;font-size:12px;line-height:1.25}
#categoryList button[data-cat] b{flex:0 0 25px}
.ef-overhaul-editor{width:min(760px,96vw)!important}
.ef-editor-toolbar{display:flex;gap:8px;padding:10px 0}
.ef-editor-toolbar button{background:#193f68;color:#d6eaff;border:1px solid #376a9d;border-radius:6px;padding:8px 12px;cursor:pointer}
.ef-custom-category-row{padding:9px;border:1px solid #315478;border-radius:7px;display:grid;gap:8px}
.ef-category-line{display:flex;align-items:center;gap:8px;min-width:0}
.ef-category-line input[data-field=name]{flex:1;min-width:0}
.ef-category-line input:not([type=checkbox]),.ef-category-line select{background:#132c4b;color:#fff;border:1px solid #37608a;border-radius:5px;padding:7px}
.ef-category-line select{flex:1;min-width:0}
.ef-category-line input[type=color]{width:43px;height:34px;padding:2px;flex:0 0 43px}
.ef-category-preview{display:grid;place-items:center;width:35px;font-size:23px}
.ef-hide-cat{display:flex;gap:4px;align-items:center;font-size:12px}
.ef-category-line button{background:#49263a;color:#ffc5c9;border:1px solid #88415c;border-radius:5px;cursor:pointer;padding:6px 10px}
@media(max-width:900px){.workspace>.leftpanel{width:205px!important;min-width:150px!important}.workspace>.rightpanel{width:320px!important;min-width:210px!important}}

.workspace>.center{flex:1 1 auto!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
.workspace.left-collapsed>.leftpanel{width:42px!important;min-width:42px!important;max-width:42px!important;resize:none!important}
.workspace.right-collapsed>.rightpanel{width:42px!important;min-width:42px!important;max-width:42px!important;resize:none!important}
.workspace.left-collapsed>.leftpanel>.panel-inner,.workspace.right-collapsed>.rightpanel>.panel-inner{display:none!important}
.workspace>.rightpanel{direction:ltr!important}
.workspace>.rightpanel{resize:horizontal!important}

.ef-location-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ef-gallery-tile{position:relative;border:1px solid #31577f;border-radius:8px;overflow:hidden;background:#0b223b}.ef-gallery-tile>button:first-child{display:block;width:100%;border:0;background:transparent;padding:0;cursor:pointer}.ef-gallery-tile img{display:block;width:100%;height:120px;object-fit:cover}.ef-gallery-tile>button:not(:first-child){position:absolute;bottom:5px;border:1px solid #5680a8;border-radius:5px;background:#0b2039e8;color:#fff;cursor:pointer;padding:3px 8px}.ef-gallery-remove{right:5px}.ef-gallery-tile [data-gallery-main]{left:5px}.ef-gallery-upload{display:block;margin-top:12px;border:1px dashed #4577a9;padding:12px;border-radius:8px;color:#bcdcff}.ef-gallery-upload input{display:block;margin-top:8px;max-width:100%}.ef-gallery-viewer{position:fixed;inset:0;background:#000e;z-index:999999;display:flex;justify-content:center;align-items:center;padding:45px;cursor:zoom-out}.ef-gallery-viewer img{max-width:95%;max-height:95%;object-fit:contain}.ef-gallery-viewer button{position:absolute;right:25px;top:15px;font-size:30px;background:#17395b;color:white;border:0;border-radius:8px;cursor:pointer;padding:3px 15px}

/* High Command roster */
.ef-hc-page{padding:20px}.ef-hc-warning{font-size:12px;color:#e4bd6a;margin:14px 0}.ef-hc-list{display:grid;gap:12px}.ef-hc-member{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #33445c;border-radius:12px;background:#121e2e}.ef-hc-avatar{font-size:25px;color:#e9b96a}.ef-hc-details{flex:1;display:grid;gap:4px;min-width:0}.ef-hc-details span,.ef-hc-details small{color:#9bacc2}.ef-hc-details p{margin:5px 0 0;white-space:pre-wrap}.ef-hc-controls{display:flex;gap:6px}.ef-hc-controls button{padding:8px 11px}.ef-hc-overlay{position:fixed;inset:0;background:#000b;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}.ef-hc-form{width:min(100%,490px);max-height:90vh;overflow:auto;background:#152235;border:1px solid #43536c;padding:25px;border-radius:15px;display:grid;gap:12px;color:#f0f5ff}.ef-hc-form label{display:grid;gap:5px}.ef-hc-form input,.ef-hc-form textarea{width:100%;background:#0c1726;border:1px solid #43536c;color:#fff;border-radius:7px;padding:10px}.ef-hc-formtop,.ef-hc-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.ef-hc-formtop h2{margin:0}.ef-hc-formtop button{font-size:26px}.ef-hc-actions{justify-content:flex-end}
