:root{--netmil-blue:#1265d6;--netmil-red:#ed2336;--netmil-ink:#102b50;--netmil-soft:#edf4ff;--green:var(--netmil-blue);--navy:#0b203d;--border:#dce5f1;background:#f3f6fb;color:#20354f}
.sidebar{background:linear-gradient(165deg,#102c51,#08192f);border-right:1px solid #23466e}.sidebar .workspace{background:#102c4c;border-color:#315071}.sidebar .avatar{background:#163e6c;color:#8ec5ff}.sidebar .online,.local-note .online{background:#3b94ff}.sidebar .nav.active{background:#173c69;color:#fff;box-shadow:inset 3px 0 var(--netmil-red)}.sidebar .nav:hover{background:#16395f;color:#fff}.sidebar .version{border-top-color:#244161}.sidebar .local-note{color:#a9c3e0}
.btn.primary{background:var(--netmil-blue);border-color:var(--netmil-blue);color:#fff;box-shadow:0 3px 9px #1265d626}.btn.primary:hover{background:#0c53b4;border-color:#0c53b4}.btn:not(.primary):not(.danger):hover{background:#edf4ff;border-color:#8cb6ef;color:#1157b7}.btn.danger,.text-btn.danger{color:#d62034}.btn.danger:hover{background:#fff0f2;border-color:#edabb3}.text-btn{color:#155fbf}.status{color:#386b9e}.status::before,.online{background:#297ee7}h1,h2,h3{color:#173759}h1>span{color:var(--netmil-red)}a{color:#155fbf}
.dashboard-stat-icon{color:#1265d6;background:#eaf2ff}.dashboard-stats article:nth-child(even) .dashboard-stat-icon{color:#e62b40;background:#fff0f2}.dashboard-stats strong,.stats b{color:#133962}.project-symbol{background:#eaf2ff;color:#1265d6}.project-card:hover{border-color:#91b8eb;box-shadow:0 7px 20px #164c9010}.project-numbers b{color:#1b4f87}.project-card>.btn.primary{background:#1265d6}.projects-empty>span{color:#1265d6}.project-context{border-color:#dce5f1}.stats i{color:#1265d6;background:#edf4ff}.stats article:nth-child(3) i,.stats article:nth-child(4) i{color:#e62b40;background:#fff0f2}
.field input:focus,.field select:focus,.field textarea:focus,.project-search:focus{outline-color:#4088e6;border-color:#4088e6}.route-edit-action,.cable-construction{background:#f1f6ff;border-color:#d6e4f7}.route-edit-action small{color:#6b83a0}.brand-option.selected{border-color:#1265d6;background:#f1f6ff;box-shadow:0 0 0 2px #1265d61c}.map-color-picker label:has(input:checked){background:#edf4ff;border-color:#1265d6}
.map-add-menu{border-color:#d4e2f3}.add-options button{background:#f7faff;border-color:#dae5f3;color:#294d77}.add-options button>span{color:#1265d6}.add-options button:hover{background:#edf4ff;border-color:#78a7e8}.map-registers summary{color:#396b9c}.map-hint{background:#102d50;border:1px solid #28558b}.map-hint button{color:#b9dcff}.map-hint button.finish-mode{background:#1265d6;color:white}.map-hint #cancel-mode{color:#ffd2d7}.map-controls button{color:#245a99}.map-brand{border-color:#82afe7;border-bottom:3px solid #ed2336;background:#fffffffa;box-shadow:0 4px 16px #102c4250}
.pop-summary{background:#f2f6fd;border-color:#d9e5f4}.pop-summary b{color:#1265d6}.pop-tabs button.active{color:#1265d6;border-color:#ed2336}.pop-empty{background:#f8faff;border-color:#c9daef}.split-node{border-color:#cfdef1}.trace-note{background:#edf4ff;color:#2c5c90}.port.used{background:#eaf2ff;border-color:#80ace4;color:#124e9b}.equipment-catalog a{color:#1265d6}
#box-fiber-diagram{border-color:#cedcf0;background:#f4f7fc}#box-fiber-diagram>header{border-bottom-color:#d9e5f4}#box-fiber-diagram>footer{border-top-color:#d9e5f4}.fiber-canvas-toolbar{border-bottom-color:#d9e5f4}.diagram-tube summary{background:#edf4ff}.diagram-tube summary>span{color:#416a9a}.diagram-cable{border-color:#d5e1f1}.fiber-scene-inspector{border-left-color:#d9e5f4}#diagram-message{color:#175fba}.fiber-end .text-btn{color:#1265d6}.fiber-end .text-btn.danger{color:#d62034}
#toast{background:#113960;border:1px solid #426b9a;border-left:4px solid #ed2336;color:#fff}input[type=checkbox],input[type=radio]{accent-color:#1265d6}
.badge{background:#edf4ff;color:#225aa1;border-color:#d4e4f8}.stats article:nth-child(2) i{background:#fff0f2;color:#e62b40}

/* Netmil blue on network panels, with red accents and readable white controls. */
#detail{background:linear-gradient(155deg,#153f73,#0c2547);border:1px solid #3477c6;border-top:4px solid #ed2336;color:#fff}
#detail>h2,#detail>h3,#detail .eyebrow,#detail>.icon-btn{color:#fff}
#detail>p,#detail .subtle{color:#d3e5ff}
#detail .detail-row{border-color:#ffffff30;color:#e5efff}
#detail .detail-row .text-btn{color:#b9dcff}
#detail .btn:not(.primary){background:#fff;color:#164b8b;border-color:#b9d1f1}
#detail .btn.danger{color:#ce1d34;border-color:#ffbdc7}
#detail .btn.primary{background:#1265d6;border-color:#6aa4ef;color:#fff}
#detail .diagram{background:#edf4ff;border-color:#95bae9;color:#173759;margin-top:12px}
#detail .diagram p,#detail .diagram .subtle{color:#486b94}
#detail .pop-summary,#detail .pop-empty,#detail .split-node{color:#173759}
#detail .pop-tabs button{color:#c7e0ff}#detail .pop-tabs button.active{color:#fff}
#box-fiber-diagram>header{background:#123b6d;border-top:4px solid #ed2336;color:white}
#box-fiber-diagram>header h2,#box-fiber-diagram>header .eyebrow,#box-fiber-diagram>header .icon-btn{color:white}
#box-fiber-diagram>header p{color:#d6e8ff}
#box-fiber-diagram>.fiber-canvas-toolbar{background:#e6efff}
#box-fiber-diagram>footer{background:#e6efff}
.fiber-scene-inspector{background:#123b6d;color:#fff}
.fiber-scene-inspector h3,.fiber-scene-inspector p,.fiber-scene-inspector small{color:#e0edff}

/* Consistent blue outlines across every application panel. */
:root{--netmil-panel-border:#2778db;--border:#2778db}
dialog,.detail,.map-section,.map-add-menu,.map-search,.map-controls,.legend,.basemap-picker,
.project-card,.projects-empty,.dashboard-stats article,.stats article,.table-wrap,.table-empty,
.project-context,.workspace,.diagram,.diagram-cable,.diagram-tube,.split-node,.terminal-card,
.pop-summary,.pop-empty,.route-edit-action,.cable-construction,.equipment-catalog,.trace-note{
  border:2px solid var(--netmil-panel-border);
}
body.map-expanded .stats{border:2px solid var(--netmil-panel-border)}
#box-fiber-diagram{border:2px solid var(--netmil-panel-border)}
#box-fiber-diagram>.fiber-canvas-toolbar,#box-fiber-diagram>header,#box-fiber-diagram>footer,
.fiber-scene-inspector{border-color:var(--netmil-panel-border)}
.project-card:hover{border-color:#1265d6}
.auth-card{outline:2px solid var(--netmil-panel-border);outline-offset:0}

#modal{background:linear-gradient(155deg,#153f73,#0c2547);color:white;border-color:#2778db}
#modal .modal-heading h2,#modal .modal-heading .eyebrow,#modal .modal-heading .icon-btn,#modal .field{color:#fff}
#modal .field small{color:#d1e5ff}
#modal .modal-footer{border-color:#548dce}
#modal .modal-footer .btn:not(.primary){background:white;color:#164b8b}
#modal #form-error{color:#ffbec8}
#modal .form-note,#modal .route-edit-action,#modal .cable-construction,#modal .equipment-catalog{color:#173759}
#modal .route-edit-action .field,#modal .cable-construction .field,#modal .equipment-catalog .field{color:#254d7b}
#modal .route-edit-action .field small,#modal .cable-construction .field small,#modal .equipment-catalog .field small{color:#486b94}
.box-cable-summary{background:#eaf2ff;border:2px solid #2778db;border-radius:8px;padding:14px;margin-bottom:18px;color:#173759}
.box-cable-summary h3{font-size:13px;margin:0 0 10px}
.box-cable-summary article{display:grid;gap:5px;padding:10px 0;border-top:1px solid #b5cdee;overflow-wrap:anywhere}
.box-cable-summary strong{font-size:12px}.box-cable-summary span{font-size:11px;color:#155fbf;font-weight:600}
.box-cable-summary small,.box-cable-summary p{font-size:11px;color:#486b94;line-height:1.5}

#detail .diagram:empty{display:none}

.other-projects-picker{position:absolute;right:60px;top:125px;z-index:3;display:flex;align-items:center;gap:7px;background:#fff;color:#173759;border:2px solid #2778db;border-radius:7px;padding:8px 10px;font-size:11px;box-shadow:0 3px 12px #173b2920}
.other-projects-picker input{width:auto;margin:0}
.other-project-feature{cursor:help;opacity:.8}.other-project-feature text{fill:#627f9f!important}
@media(max-width:800px){.other-projects-picker{font-size:10px;padding:6px 8px;top:168px}}

#project-area-picker{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;padding:0;border:2px solid #2778db;background:#123b6d;color:white;border-radius:0;overflow:hidden}#project-area-picker[open]{display:flex;flex-direction:column}#project-area-picker header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;margin:0;border-top:4px solid #ed2336}#project-area-picker h2{color:white;font-size:20px;margin:0}#project-area-picker p{color:#daeaff;font-size:12px}#project-area-picker footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px;margin:0;color:white;font-size:12px}#project-area-picker .area-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px;background:#eaf2ff;color:#173759;align-items:center}#project-area-picker .area-toolbar label{font-size:11px}#project-area-picker input{width:105px;padding:7px;border:1px solid #2778db;border-radius:5px}.area-map{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;background:#d9e5ee;cursor:grab}.area-map.drawing{cursor:crosshair}.area-tiles,.area-google,.area-map svg{position:absolute;inset:0;width:100%;height:100%}.area-tiles img{position:absolute;width:256px;height:256px}.area-map svg{clip-path:inset(0 0 28px 0);user-select:none}.area-osm{position:absolute;bottom:0;right:0;background:white;padding:3px;font-size:10px}.project-area-controls{background:#eaf2ff;border:2px solid #2778db;border-radius:8px;padding:14px;color:#173759}.project-area-controls h3{margin:0;font-size:14px}.project-area-controls p,.project-area-controls label{font-size:12px;line-height:1.6}.project-area-controls input[type=checkbox]{width:auto;margin-right:6px}#modal .project-area-controls{color:#173759}
