/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#20383c;background:#f4f6f7;font-synthesis:none;--green:#117d68;--navy:#142c32;--muted:#62757b;--line:#e1e8ea;--red:#ad4242;--amber:#976415}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #39b59b;outline-offset:3px}.skip{position:fixed;top:-100px;z-index:10;background:#fff;padding:16px}.skip:focus{top:0}#sidebar{width:242px;background:var(--navy);color:#fff;position:fixed;inset:0 auto 0 0;padding:34px 18px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-size:29px;font-weight:750;line-height:1.1;padding:0 12px 37px}.brand-mark{display:grid;place-items:center;background:#bcf18b;color:#17372f;width:43px;height:47px;border-radius:12px 2px 12px 2px;font-size:31px}.brand-sub{display:block;font-size:16px;letter-spacing:3px;font-weight:500;margin-top:5px}.brand-sub small{letter-spacing:0;font-size:12px;color:#a5c0c3}.nav-label{font-size:10px;letter-spacing:1.3px;color:#90a8af;padding:0 12px 15px}nav{display:grid;gap:7px}nav a{display:flex;align-items:center;gap:12px;color:#a9bec3;padding:12px;border-radius:7px;font-size:14px;font-weight:550}nav a:hover{background:#1c3a40;color:#fff}nav a.active{background:#2a494b;color:#d2f6b7;box-shadow:inset 3px 0 #bcf18b}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.sidebar-bottom{margin-top:auto;border-top:1px solid #355057;padding:23px 12px 0;font-size:13px;color:#d4e2e4}.sidebar-bottom div{color:#8fa7ad;font-size:12px;margin:7px 0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#bcf18b;margin-right:7px}.data-link{border:0;background:none;color:#bcf18b;padding:8px 0;font-size:13px}.workspace{margin-left:242px}.topbar{height:80px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb span{margin:0 15px;color:#bac6ca}.breadcrumb strong{color:#40575e;font-weight:550}.top-right{display:flex;gap:23px;align-items:center}.demo-pill{font-size:11px;font-weight:750;letter-spacing:1px;border:1px solid #d9e4e6;padding:4px 9px;border-radius:4px;color:#61767b}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#e9f0eb;color:#427260;font-size:11px;font-weight:750}#menu{display:none}main{max-width:1680px;margin:auto;padding:33px 38px 45px;min-height:calc(100vh - 135px)}.eyebrow{color:var(--green);font-size:11px;letter-spacing:1.8px;font-weight:750;margin-bottom:5px}h1{font-size:29px;line-height:1.25;margin:0 0 8px;letter-spacing:-.8px;font-weight:700}h2{font-size:17px;margin:0;font-weight:650}h3{font-size:16px;margin:0 0 6px}p{margin:0 0 16px}.muted,.subtitle{color:var(--muted)}.subtitle{font-size:14px;margin:0}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{border:1px solid #d4dfe1;background:#fff;color:#304d53;border-radius:6px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;min-height:42px}.button:hover{background:#edf4f1}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:#086553}.icon-button{border:1px solid var(--line);background:#fff;border-radius:5px;min-width:42px;min-height:42px}.overview-strip{background:#e8efeb;border:1px solid #dbe7df;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;font-size:13px;margin-bottom:22px;gap:15px}.overview-strip strong{font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px 22px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#667b80;font-size:13px}.stat-top .icon{color:#78988f}.stat-value{font-size:34px;font-weight:700;letter-spacing:-1px;line-height:1.3;margin:10px 0 7px}.stat small{font-size:12px;color:var(--muted)}.stat-value em{font-size:16px;color:#84979b;font-style:normal;font-weight:400;letter-spacing:0;margin-left:6px}.positive{color:var(--green)!important}.warning{color:var(--amber)!important}.danger{color:var(--red)!important}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:23px}.panel-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-head small{font-size:12px;color:var(--muted);display:block;margin-top:4px}.text-button{background:none;border:0;color:var(--green);font-size:13px;font-weight:650;padding:7px 0}.tabs{display:flex;gap:25px;padding:0 22px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;padding:10px 0 13px;color:var(--muted);font-size:13px}.tabs button.active{color:var(--green);border-bottom:2px solid var(--green);font-weight:650}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:14px}th{background:#f9fafb;color:#7a8c90;font-size:11px;letter-spacing:.5px;font-weight:600;text-transform:uppercase}th,td{padding:15px 20px;border-bottom:1px solid #eef1f2}tbody tr:last-child td{border-bottom:0}td small{display:block;font-size:12px;color:#7b8e93;margin-top:3px}td strong{font-weight:600}tbody tr:hover{background:#fbfcfc}.badge{display:inline-block;padding:4px 8px;border-radius:4px;background:#edf3f5;color:#526e7b;font-size:11px;font-weight:600;white-space:nowrap}.badge.green{background:#e9f5ef;color:#18785c}.badge.amber{background:#fff4df;color:#95691d}.badge.red{background:#fbecec;color:#a14b47}.badge.blue{background:#eaf0fa;color:#4b70a6}.panel-foot{padding:13px 22px;font-size:12px;color:#7a8f94;border-top:1px solid var(--line)}.hub-card{padding:17px 21px;border-top:1px solid #eef1f2}.hub-card header{display:flex;justify-content:space-between;gap:8px;font-size:14px}.hub-card p{font-size:12px;color:var(--muted);margin:4px 0 12px}.progress-track{height:5px;border-radius:5px;background:#eaf0ed;overflow:hidden}.progress-track span{display:block;height:100%;background:#458e79;border-radius:5px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:15px}.hub-card .row-between{font-size:11px;color:var(--muted);margin-top:8px}.notice-card{background:var(--navy);color:#fff;padding:22px;border-radius:9px}.notice-card .eyebrow{color:#bcf18b}.notice-card h2{font-size:22px;margin:10px 0}.notice-card p{font-size:13px;color:#aec4c9}.notice-card .button{width:100%;background:#bcf18b;color:#183c32;border:0}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.mini-row{padding:13px 22px;display:flex;gap:13px;border-top:1px solid #eef1f2;font-size:13px;align-items:center}.mini-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.mini-row .badge{margin-left:auto}.index-mark{color:#7a9596;font-size:12px;min-width:20px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:22px;align-items:end}.field{display:grid;gap:6px;min-width:145px;flex:1}.field.search{flex:2;min-width:210px}.field label{font-size:12px;color:#687d82}input,select{min-height:43px;width:100%;padding:9px 12px;background:#fff;border:1px solid #cfdbde;border-radius:5px;color:#304c52;font-size:14px}.part-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.part-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.part-image{height:175px;position:relative;background:#fff;border-bottom:1px solid #eef1f2;padding:15px;display:flex;justify-content:center;align-items:center}.part-image img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}.image-type{position:absolute;bottom:8px;left:12px;color:#6c7f84;font-size:10px;background:#fff;padding:2px 4px}.part-body{padding:18px}.part-line{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--green);margin-bottom:6px}.part-body h3{font-size:15px}.part-body dl{display:grid;grid-template-columns:90px 1fr;gap:5px 8px;font-size:12px;margin:14px 0}.part-body dt{color:var(--muted)}.part-body dd{margin:0;overflow-wrap:anywhere}.part-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:13px}.result-line{margin:0 0 15px;color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.workshop{padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px}.workshop p{font-size:14px;color:var(--muted);margin:9px 0}.workshop .tags{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.empty{padding:50px 25px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #cddbdd;border-radius:8px}.part-grid>.empty,.cards>.empty{grid-column:1/-1}.metric-note{font-size:13px;color:var(--muted);padding:0 22px 20px}.bars{padding:10px 23px 24px;display:grid;gap:18px}.bar-label{font-size:13px;display:flex;justify-content:space-between;margin-bottom:7px}.bars .progress-track{height:12px}.data-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.body-pad{padding:22px}.body-pad p,.body-pad li{font-size:14px;color:#61787e}.body-pad li{margin-bottom:10px}.file-label{cursor:pointer}.file-label input{margin-top:12px}dialog{width:min(680px,calc(100% - 28px));max-height:90vh;border:1px solid var(--line);border-radius:12px;padding:28px;color:#20383c;box-shadow:0 30px 100px #10282d45}dialog::backdrop{background:#122b3266}dialog .button{margin-top:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.detail-grid div{border-bottom:1px solid var(--line);padding-bottom:10px;overflow-wrap:anywhere}.detail-grid small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.detail-image{height:170px;max-width:100%;object-fit:contain;float:right;margin:0 0 15px 20px}.detail-note{background:#f0f5f3;padding:14px;border-radius:6px;font-size:13px;clear:both}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}footer{padding:18px 38px;border-top:1px solid var(--line);color:#738b90;font-size:11px;display:flex;gap:20px}footer span:last-child{margin-left:auto}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173b35;color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;z-index:20;display:none;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.part-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){#sidebar{width:218px}.workspace{margin-left:218px}main{padding:25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 265px}.stat{padding:17px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.stats{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.data-layout{grid-template-columns:1fr}}@media(max-width:760px){#sidebar{transform:translateX(-100%);transition:transform .2s;width:242px;box-shadow:8px 0 30px #16313a20}body.menu-open #sidebar{transform:translateX(0)}.workspace{margin-left:0}#menu{display:block}.topbar{height:66px;padding:0 18px;gap:12px}.breadcrumb{margin-right:auto;font-size:12px}.breadcrumb>span{margin:0 7px}.breadcrumb strong{display:none}.top-right{gap:12px}main{padding:24px 18px}.page-head{align-items:flex-start;flex-direction:column;gap:16px}h1{font-size:26px}.overview-strip{align-items:flex-start;flex-direction:column;gap:5px}.lower-grid,.dashboard-aside{grid-template-columns:1fr}.stat-value{font-size:29px}.stat{padding:16px}.stat-top{font-size:12px}.part-grid,.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.part-body{padding:14px}.part-body dl{grid-template-columns:1fr;gap:2px}.part-body dd{margin-bottom:6px}.part-bottom{align-items:flex-start;gap:8px;flex-direction:column}.part-image{height:145px}.toolbar{padding:14px;gap:10px}.field{min-width:130px}.field.search{flex-basis:100%}footer{padding:16px 18px;gap:10px}footer span:nth-child(2){display:none}.detail-grid{grid-template-columns:1fr}dialog{padding:22px}.detail-image{float:none;display:block;margin:0 auto 20px}.panel-head{padding:18px}.tabs{gap:19px}.panel-head h2{font-size:16px}}@media(max-width:390px){.part-grid,.cards{grid-template-columns:1fr}.stat-top .icon{display:none}.stat small{font-size:11px}.actions{width:100%}.actions .button{flex:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.architecture-section{border-top:1px solid var(--line);padding:16px 0}.architecture-section summary{cursor:pointer;line-height:1.6}.architecture-section .badge{margin-left:8px}.architecture-section p{margin:14px 0 0;line-height:1.8}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}

.language-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line,#d9e2e6);border-radius:8px;flex-shrink:0}.language-switch button{font:600 12px system-ui;border:0;border-radius:5px;padding:7px 10px;background:transparent;color:inherit;cursor:pointer}.language-switch button[aria-pressed="true"]{background:var(--brand-action,#127b76);color:var(--brand-action-text,white)}.language-switch button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.profile-source{font-size:12px;color:var(--muted);margin:12px 0}.profile-source a{color:inherit}.top-right{flex-shrink:0}@media(max-width:480px){.breadcrumb{min-width:0}.breadcrumb #brand-workspace{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.vin-code{font-family:ui-monospace,Consolas,monospace;letter-spacing:.055em;overflow-wrap:anywhere;display:block;font-size:12px}.vin-banner,.vin-context{background:var(--brand-soft);border:1px solid var(--brand-soft-line);border-radius:8px;padding:16px;margin:12px 0 20px;display:flex;flex-direction:column;gap:6px}.vin-banner .vin-code{font-size:19px}.vin-context strong{font-size:15px}.vin-context small{color:var(--muted)}#workspace-mode{display:block;margin-top:8px}#workspace-mode[hidden]{display:none}

[hidden]{display:none!important}

.map-filters{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.map-filters>div,.map-islands{display:flex;flex-wrap:wrap;gap:7px}.map-filters [aria-pressed=true]{background:var(--accent,#177b78);color:white;border-color:transparent}.map-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.map-stats>div{padding:16px;display:flex;flex-direction:column;gap:8px}.map-stats strong{font-size:27px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.map-canvas-panel{overflow:hidden;min-width:0}#service-map{height:560px;background:#e5eef0;isolation:isolate;z-index:0}.map-status:empty{display:none}.map-status{padding:8px 16px;margin:0;color:#9e3845}.map-islands{padding:12px;border-top:1px solid #e2e8ec}.map-islands button{font-size:12px}.map-scroll{max-height:310px;overflow-y:auto;overscroll-behavior:contain}.map-site{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;padding:16px;background:transparent;color:inherit;border:0;border-bottom:1px solid #e2e8ec;cursor:pointer;font:inherit;font-size:12px}.map-site strong{font-size:14px}.map-site .badge{align-self:flex-start}.map-site:hover,.map-site[aria-pressed=true]{background:#edf5f5;box-shadow:inset 3px 0 #177b78}.map-selection{max-height:300px;overflow:auto;padding:0 16px 16px}.map-selection:empty{display:none}.map-selection h3{margin:16px 0 8px;font-size:14px}.service-pin{background:#147f82;color:white;border:2px solid white;border-radius:10px;box-shadow:0 2px 8px #0004;display:flex;align-items:center;justify-content:center;gap:5px;font-weight:800}.asc-pin{background:#295d9c}.service-pin b{background:white;color:#234;padding:1px 4px;border-radius:5px;font-size:11px}.island-label span{display:block;background:#fffc;border:1px solid #8eaab8;border-radius:5px;padding:5px;color:#17394b;font:600 12px system-ui;text-align:center;white-space:nowrap}.roadside-pin{background:#b72d47;color:white;border:2px solid white;border-radius:6px;font-weight:800;text-align:center;padding:4px}.leaflet-container a{color:#176482}.leaflet-control-attribution{font-size:10px!important}@media(max-width:1100px){.map-layout{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:760px){.map-layout{grid-template-columns:1fr}#service-map{height:430px}.map-stats{grid-template-columns:repeat(2,1fr)}.map-scroll{max-height:260px}.map-selection{max-height:260px}.map-filters .button{font-size:12px;padding:8px}.map-islands{justify-content:center}}

/* Vietnamese system fonts and semantic phrase wrapping in the navigation. */
:root{font-family:"Segoe UI",Arial,"Noto Sans",sans-serif}#sidebar{width:270px}#navigation a{gap:10px;font-size:14px;line-height:1.5;word-break:normal;overflow-wrap:normal;hyphens:none}.nav-text{min-width:0}.workspace{margin-left:270px}.island-label span{background:none;border:0;border-radius:0;padding:0;color:#244f65;font:600 12px/1.5 "Segoe UI",Arial,sans-serif;text-shadow:0 1px 2px white,1px 0 2px white,-1px 0 2px white}.geography-label{font:600 13px/1.5 "Segoe UI",Arial,sans-serif;color:#5f8085;letter-spacing:1.8px;text-align:center;white-space:nowrap;pointer-events:none}#service-map{background:#d9edf2}.leaflet-control-layers{font-family:"Segoe UI",Arial,sans-serif;font-size:13px}.leaflet-control-layers label{font-size:13px}@media(max-width:760px){#sidebar{width:270px;max-width:calc(100vw - 40px)}.workspace{margin-left:0}}

.leaflet-control-layers input[type="radio"]{width:14px;height:14px;min-width:0;padding:0;margin:0 6px 0 0;display:inline-block;vertical-align:middle}.leaflet-control-layers label{display:block;white-space:nowrap}.leaflet-control-layers label span{display:inline}.island-label span{transform:translateX(90px)}@media(max-width:760px){.island-label span{transform:none;font-size:11px}}

.location-pin{background:transparent;border:0;filter:drop-shadow(0 2px 3px #0005)}.location-pin>span{display:block;position:absolute;left:3px;top:4px;width:21px;height:21px;background:#4e8091;border:3px solid white;border-radius:50% 50% 0 50%;transform:rotate(45deg)}.asc-location>span{background:#7c59a7}.roadside-location>span{background:#bb4944}.location-pin:focus-visible{outline:2px solid #163e51;outline-offset:3px}.location-popup .leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 5px 18px #0004}.location-popup .leaflet-popup-content{margin:18px 26px;font:14px/1.5 "Segoe UI",Arial,sans-serif}.location-popup-content strong{display:block;color:#353535;font-size:15px;font-weight:700;margin-bottom:4px}.location-popup-content p{margin:0;color:#647084}.location-popup .leaflet-popup-close-button{top:7px!important;right:7px!important;font-size:22px!important}.location-popup .leaflet-popup-tip{box-shadow:none}

.export-logout{display:block;width:100%;flex:none;margin-top:16px;padding:11px 12px;border:1px solid #ffffff45;border-radius:7px;background:transparent;color:inherit;text-align:left;font:inherit;font-size:14px}.export-logout:hover{background:#ffffff12}

.dashboard-grid>*,.lower-grid>*,.dashboard-aside>*,.panel,.table-wrap{min-width:0}.table-wrap{max-width:100%;overscroll-behavior-x:contain}.part-advanced{flex-basis:100%;min-width:0}.part-advanced summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--green);padding:10px 0}.part-advanced-fields{display:flex;gap:12px;flex-wrap:wrap;padding-top:8px}.part-advanced-fields .field{min-width:0;flex:1 1 160px}#detail{overscroll-behavior:contain}#close-detail{position:sticky;bottom:0;background:white;z-index:2;box-shadow:0 -5px 14px #ffffffc9}
@media(max-width:760px){main{padding:20px 14px 28px}.workspace,.dashboard-grid,.lower-grid,.dashboard-aside{min-width:0}.toolbar>.field{min-width:0;flex:1 1 calc(50% - 10px)}.toolbar>.field.search{flex-basis:100%}.field input,.field select{max-width:100%;min-width:0;font-size:16px;min-height:44px}.part-advanced-fields .field{flex-basis:calc(50% - 12px)}.button,.icon-button,.language-switch button{min-height:44px}.part-bottom .text-button{min-height:44px}.tabs{gap:12px;flex-wrap:wrap}.panel-head{gap:10px;flex-wrap:wrap}.stats{gap:10px}.stat{padding:13px}.stat-top{font-size:13px}.stat small{font-size:12px}.map-stats>div{padding:12px}.map-stats span{font-size:13px}.part-grid{grid-template-columns:1fr}.part-body h3{overflow-wrap:anywhere}.part-body dl{grid-template-columns:100px minmax(0,1fr);column-gap:8px}.part-body dd{overflow-wrap:anywhere}.part-bottom{flex-direction:row;align-items:center}.part-image{height:175px}.part-image img{max-width:100%;object-fit:contain}.detail-image{max-width:100%;height:auto}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:18px}#close-detail{width:100%;min-height:44px}.detail-grid{gap:12px}.detail-grid small{font-size:13px}footer{flex-wrap:wrap}#sidebar{padding-bottom:max(20px,env(safe-area-inset-bottom))}}
@media(min-width:540px) and (max-width:760px){.part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.part-body dl{grid-template-columns:1fr}.part-bottom{flex-direction:column;align-items:flex-start}}

.report-heading{margin:28px 0 8px}.report-chart{display:flex;align-items:center;gap:24px;padding:24px;flex-wrap:wrap}.report-pie{width:170px;height:170px;border-radius:50%;flex:none}.report-legend{flex:1;min-width:170px;display:grid;gap:14px}.report-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;font-size:13px}.report-dot{width:9px;height:9px;border-radius:50%}.report-note{padding:0 20px 16px;color:var(--muted);font-size:12px;line-height:1.6}.report-chart+ .report-note{margin-top:0}@media(max-width:540px){.report-chart{justify-content:center;padding:20px;gap:18px}.report-legend{width:100%}.report-pie{width:150px;height:150px}}

/* Lighter bilingual typography, keeping Vietnamese phrase wrapping. */
:root{font-family:"Segoe UI","Noto Sans",Arial,sans-serif}body{font-weight:400}h1,h2,h3{font-weight:500;letter-spacing:-.02em}strong,.stat strong{font-weight:600}nav a{font-weight:400}.brand-switch button{font-weight:500}.report-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(115deg,#103c42,#176b65);color:white;margin-bottom:12px}.report-hero span{font-size:11px;letter-spacing:2px;opacity:.75}.report-hero h2{font-size:44px;line-height:1.15;margin:12px 0}.report-hero h2 small{font-size:18px;font-weight:400}.report-hero strong{font-size:42px;font-weight:300}.report-hero p{font-size:13px;margin:8px 0;opacity:.85}.report-scenario{font-size:12px;color:var(--muted);margin:10px 0 22px}.report-pie{position:relative;box-shadow:0 8px 26px #143a4210}.report-pie:after{content:"";position:absolute;inset:24%;background:#fff;border-radius:50%}.report-horizontal{padding:25px;display:grid;gap:21px}.report-horizontal>div>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}.report-horizontal strong{white-space:nowrap}.report-track{height:9px;border-radius:9px;background:#eef2f4;overflow:hidden}.report-track i{display:block;height:100%;border-radius:9px;background:#3e88a0}.report-horizontal>div:nth-child(2) i{background:#718fc1}.report-horizontal>div:nth-child(3) i{background:#70aca1}.report-horizontal>div:nth-child(4) i{background:#1a8d79}@media(max-width:540px){.report-hero{padding:22px;gap:14px;align-items:flex-start}.report-hero h2{font-size:34px}.report-hero strong{font-size:30px}.report-hero p{font-size:12px}.report-hero>div{min-width:0}.report-horizontal{padding:20px}}

.coordinate-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.coordinate-options .button{font-size:12px;text-align:left;white-space:normal}#ws-error{color:var(--red)}@media(max-width:540px){.coordinate-options{grid-template-columns:1fr}}

.service-architecture{margin-bottom:24px}.service-layer{display:flex;flex-direction:column;gap:9px;text-align:center;border:1px solid var(--brand-soft-line);border-radius:10px;padding:20px;background:#fff;min-width:0}.service-layer span{font-size:13px;line-height:1.6}.service-layer.owner{max-width:430px;margin:auto;background:var(--brand-soft)}.service-layer.central{background:var(--navy);color:white}.service-layer.central strong{font-size:20px}.service-layer.central b{padding-top:14px;border-top:1px solid #ffffff33}.service-arrow{text-align:center;margin:12px 0;color:var(--muted);font-size:13px}.service-execution,.service-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-principles{margin:24px 0}.service-principles>div{border-top:3px solid var(--brand-action);padding:14px;background:var(--brand-soft);font-size:13px}.service-principles b{font-size:24px;color:var(--green);font-weight:400}.service-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.service-workflow>div{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:8px;padding:14px;min-width:0}.service-workflow span{font-size:22px;color:var(--green)}.service-workflow strong{font-size:11px;overflow-wrap:anywhere}.service-workflow b{font-size:13px}.service-workflow p{font-size:12px;color:var(--muted);margin:0}.service-loop{background:var(--brand-soft);padding:18px;line-height:2;border-radius:8px}.service-architecture code{overflow-wrap:anywhere;white-space:normal}.service-architecture table{min-width:850px;font-size:13px}@media(max-width:1000px){.service-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.service-execution,.service-principles{grid-template-columns:1fr}.service-layer{padding:16px}.service-workflow{gap:8px}.service-workflow>div{padding:10px}}
/* Detailed operational records */
dialog:has(.record-profile){width:min(1100px,96vw);max-width:96vw;padding:28px;max-height:92dvh}.record-profile{font-size:16px}.record-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px;border-radius:12px;background:var(--brand-soft);border-left:5px solid var(--brand-action);margin:18px 0 24px}.record-hero h2{margin:8px 0;font-size:clamp(23px,3vw,34px);font-weight:550;line-height:1.25;overflow-wrap:anywhere}.record-hero p{margin:8px 0 0;color:var(--muted)}.record-hero .badge{flex-shrink:0}.record-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.record-kpi{padding:16px 0 16px 18px;border-left:2px solid var(--brand-soft-line);display:flex;flex-direction:column;gap:6px}.record-kpi>span,.record-kpi small{font-size:14px;color:var(--muted)}.record-kpi strong{font-size:clamp(20px,2.4vw,27px);font-weight:550;overflow-wrap:anywhere}.record-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:30px}.record-columns>section,.record-columns>aside{min-width:0}.record-columns>aside{background:#f6f8f9;border-radius:12px;padding:0 22px 22px}.record-profile h3{font-size:18px;font-weight:600;margin:24px 0 16px}.record-profile .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.record-timeline{display:grid;gap:0;list-style:none;padding:0 0 0 12px}.record-timeline li{position:relative;border-left:2px solid var(--line);padding:0 0 24px 22px;display:flex;flex-direction:column;gap:5px}.record-timeline li:last-child{border-left-color:transparent;padding-bottom:0}.record-timeline li:before{content:'';position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #bcc9ce}.record-timeline li.complete:before,.record-timeline li.current:before{background:var(--brand-action);border-color:var(--brand-action)}.record-timeline li.current strong{color:var(--green)}.record-timeline span{font-size:14px;color:var(--muted)}.record-part{display:flex;gap:14px;text-align:left;width:100%;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.record-part img{width:72px;height:72px;object-fit:contain;flex-shrink:0}.record-part span{min-width:0;display:flex;flex-direction:column;gap:6px}.record-part small{font-size:14px;color:var(--muted)}.record-part strong{overflow-wrap:anywhere}.record-site{padding:18px;background:#fff;border-radius:10px}.capacity-display{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.capacity-donut{width:160px;height:160px;border-radius:50%;padding:15px;background:conic-gradient(var(--brand-action) var(--fill),var(--brand-soft-line) 0);flex-shrink:0}.capacity-donut>div{border-radius:50%;height:100%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.capacity-donut strong{font-size:32px;font-weight:550}.capacity-donut span{font-size:14px;color:var(--muted)}.bay-grid{display:grid;grid-template-columns:repeat(6,28px);gap:6px}.bay-grid span{display:grid;place-items:center;font-size:13px;height:28px;background:var(--brand-soft);border:1px solid var(--brand-soft-line);border-radius:4px}.bay-grid .occupied{background:var(--brand-action);color:var(--brand-action-text)}.capability-tags{display:flex;flex-wrap:wrap;gap:8px}.capability-tags span{font-size:14px;padding:7px 12px;border:1px solid var(--brand-soft-line);background:var(--brand-soft);border-radius:6px}.record-orders{margin-top:28px;border-top:1px solid var(--line)}.record-orders .table-wrap{max-height:350px;overflow:auto}
@media(max-width:700px){dialog:has(.record-profile){padding:18px;width:96vw}.record-hero{padding:20px 16px;flex-direction:column;gap:12px}.record-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record-kpi{padding-left:12px}.record-columns{grid-template-columns:1fr;gap:12px}.record-columns>aside{padding:0 16px 20px}.record-profile .detail-grid{grid-template-columns:1fr}.record-actions .button{min-height:44px}.capacity-display{gap:16px}.record-part img{width:56px;height:56px}}
.telemetry-chart{width:100%;height:180px;background:var(--brand-soft);border-radius:10px;padding:14px} #health-results .table-wrap{max-height:480px;overflow:auto} #health-results .stats{margin-top:22px}
.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--line);font-size:14px}.list-pagination>div{display:flex;align-items:center;gap:8px}.list-pagination label{display:flex;align-items:center;gap:6px}.list-pagination select{padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;min-height:44px}.list-pagination .button{min-height:44px}#health-results .table-wrap,#fleet-results .table-wrap{max-height:min(480px,60vh);overflow:auto;overscroll-behavior:contain}#health-results th,#fleet-results th{position:sticky;top:0;z-index:1;background:var(--brand-soft)}@media(max-width:560px){.list-pagination{justify-content:center}.list-pagination>span{width:100%;text-align:center}.list-pagination>div{flex-wrap:wrap;justify-content:center}}
.list-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:16px;background:#fff;border-bottom:1px solid var(--line)}.list-tools .field{flex:1 1 160px;min-width:0;margin:0}.list-tools input,.list-tools select{width:100%;min-height:44px}.list-tools .list-value-host{display:block;width:100%}.list-tools .button{min-height:44px}.list-empty{padding:24px}.table-wrap[data-list-ready],.part-grid[data-list-ready],#network-results[data-list-ready],.record-parts[data-list-ready],.map-orders[data-list-ready]{max-height:520px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.table-wrap[data-list-ready] th{position:sticky;top:0;z-index:1;background:var(--brand-soft)}[hidden]{display:none!important}.option-picker{display:grid;gap:8px;width:100%;min-width:0}.option-picker select{height:auto!important;min-height:150px;max-width:100%}.option-picker option{padding:7px}.option-pager{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:14px}.fleet-pagination select,#map-list-jump{min-height:44px;border:1px solid var(--line);border-radius:6px;padding:6px;background:white}.map-rail .list-tools{padding:12px}.map-rail .list-pagination{padding:10px}.record-columns aside .list-tools{padding:12px}.record-profile .list-pagination>div{flex-wrap:wrap}.cards+.list-pagination{margin-bottom:24px}@media(max-width:650px){.list-tools{padding:12px;gap:10px}.list-tools .field:first-child{flex-basis:100%}.table-wrap[data-list-ready],.part-grid[data-list-ready],#network-results[data-list-ready],.record-parts[data-list-ready],.map-orders[data-list-ready]{max-height:55dvh}.fleet-pagination{flex-wrap:wrap}.map-rail .list-pagination{justify-content:center}.option-pager .button{padding:8px 10px}}
.parts-filter-panel{background:#fff;border:1px solid var(--brand-soft-line);border-radius:12px;margin-bottom:24px;overflow:hidden}.parts-filter-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--brand-soft)}.parts-filter-header strong{font-size:16px;font-weight:600}.parts-filter-header button{min-height:44px}.parts-filter-primary{display:grid;grid-template-columns:1.5fr 1.25fr 1fr 1fr;gap:16px;padding:20px}.parts-filter-panel .field{min-width:0;margin:0;display:flex;flex-direction:column;gap:7px}.parts-filter-panel input,.parts-filter-panel select{width:100%;min-height:46px}.parts-filter-panel .part-advanced{border-top:1px solid var(--line);padding:0 20px}.parts-filter-panel summary{padding:16px 0;font-size:15px}.parts-filter-panel .part-advanced-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;padding:4px 0 22px}.parts-vehicle-picker{min-width:0;background:#f6f8f9;padding:16px;border-radius:8px}.parts-technical-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start}.parts-filter-panel .option-picker input{background:#fff}.parts-filter-panel .option-picker select{background:#fff;min-height:176px}.parts-filter-panel .option-pager{gap:6px}.parts-filter-panel .option-pager span{font-size:13px}.parts-filter-panel label{font-size:14px;font-weight:500}@media(max-width:1150px){.parts-filter-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-filter-panel .part-advanced-fields{grid-template-columns:1fr}.parts-vehicle-picker{max-width:100%}}@media(max-width:600px){.parts-filter-header{padding:12px 14px;gap:8px}.parts-filter-primary{padding:14px;gap:14px}.parts-filter-primary>.search{grid-column:1/-1}.parts-filter-panel .part-advanced{padding:0 14px}.parts-filter-panel .part-advanced-fields{gap:16px}.parts-technical-filters{grid-template-columns:1fr}.parts-vehicle-picker{padding:12px}.parts-filter-panel .option-pager .button{min-height:44px}.parts-filter-header button{font-size:14px}}
.esp-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.esp-service{position:relative;display:flex;flex-direction:column;gap:12px;text-align:left;min-height:175px;background:#fff;border:1px solid var(--brand-soft-line);border-radius:12px;padding:22px;color:inherit}.esp-service>span{font-size:14px;color:var(--green);font-weight:600}.esp-service strong{font-size:18px;line-height:1.4;font-weight:600}.esp-service small{font-size:14px;line-height:1.6;color:var(--muted)}.esp-service>b{position:absolute;right:18px;top:18px;color:var(--green)}.esp-service:hover{background:var(--brand-soft);border-color:var(--brand-action)}@media(max-width:1100px){.esp-services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.esp-services{grid-template-columns:1fr;gap:10px}.esp-service{min-height:0;padding:18px;gap:8px}}
.dialog-tools{position:sticky;top:-28px;display:flex;justify-content:flex-end;padding:8px 0;background:#fff;z-index:20;margin:-8px 0 8px;pointer-events:none}#close-detail.popup-close{pointer-events:auto;position:static;bottom:auto;display:grid;place-items:center;width:44px;height:44px;min-height:44px;flex:none;padding:0;border:2px solid var(--brand-action);border-radius:8px;color:var(--green);background:#fff;box-shadow:none;font-size:28px;line-height:1;font-weight:400;cursor:pointer}#close-detail.popup-close:hover{background:var(--brand-soft)}#close-detail.popup-close:focus-visible{outline:3px solid var(--brand-focus);outline-offset:3px}#service-map a.leaflet-popup-close-button{top:8px;right:8px;width:44px;height:44px;line-height:40px;font-size:28px;border:2px solid var(--brand-action);border-radius:8px;color:var(--green);background:#fff}#service-map a.leaflet-popup-close-button:hover{background:var(--brand-soft)}.leaflet-popup-content{padding-top:30px;padding-right:12px}@media(max-width:760px){.dialog-tools{top:-18px}#close-detail.popup-close{width:44px;height:44px}#service-map a.leaflet-popup-close-button{width:44px;height:44px;line-height:40px}.leaflet-popup-content{padding-top:30px}}

/* Safety Operations: shared brand palette and responsive scorecards. */
.safety-switch{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 20px}.safety-switch button{display:flex;align-items:center;gap:18px;text-align:left;padding:22px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--muted)}.safety-switch button[aria-pressed=true]{border-color:var(--brand-action);background:var(--brand-soft);box-shadow:inset 4px 0 var(--brand-action);color:var(--green)}.safety-switch .icon{width:32px;height:32px}.safety-switch strong{font-size:21px;display:block}.safety-switch small{display:block;font-size:13px;margin-top:3px}.safety-analytics{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:22px;margin-bottom:24px}.safety-trend-heading{display:flex;align-items:center;gap:12px;padding:18px 24px 0;flex-wrap:wrap}.safety-trend-heading strong{font-size:32px;color:var(--green);font-weight:600}.safety-trend-heading>span{font-size:13px}.safety-chart{padding:10px 18px}.safety-chart svg{display:block;width:100%;min-height:200px}.safety-chart text,.safety-speed text{font:12px Inter,'Segoe UI',sans-serif;fill:var(--muted)}.safety-behaviors{padding:22px;display:grid;gap:22px}.safety-behaviors>div{display:grid;grid-template-columns:1fr auto;font-size:14px;gap:7px}.safety-behaviors .progress-track{grid-column:1/-1;height:7px}.safety-score{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;font-size:16px;font-weight:650;border:2px solid var(--brand-soft-line);margin-right:8px}.safety-score.green{color:#117d68;background:#edf8f3}.safety-score.amber{color:#8b6419;background:#fff7df}.safety-score.red{color:#ac3535;background:#fff0f0}.safety-evidence{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.safety-evidence>div{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--brand-soft-line);border-radius:12px;background:var(--brand-soft);color:var(--muted);font-size:13px}.safety-camera .icon{width:30px;height:30px}.safety-speed{display:block;width:100%;margin:20px 0}#safety-review-form .field{display:flex;flex-direction:column;margin:12px 0}#safety-review-note{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;resize:vertical}#safety-save-status{margin-top:14px;font-size:13px;color:var(--green)}#safety-scores .list-tools{display:none}#safety-scores .table-wrap{max-height:520px}#safety-results>.panel{margin-top:24px}@media(max-width:1000px){.safety-analytics{grid-template-columns:1fr}.safety-behaviors{grid-template-columns:1fr 1fr;gap:20px}}@media(max-width:600px){.safety-switch{gap:10px}.safety-switch button{padding:16px 12px;gap:10px;align-items:flex-start}.safety-switch strong{font-size:17px}.safety-switch .icon{width:23px;height:23px}.safety-switch small{font-size:12px}.safety-chart{padding:8px}.safety-chart svg{min-height:150px}.safety-behaviors{grid-template-columns:1fr}.safety-evidence{grid-template-columns:1fr}.safety-evidence>div{min-height:120px}.safety-trend-heading{padding:16px}.safety-filter .button{width:100%}}
.camera-workbench{margin:24px 0}.camera-channel{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.camera-channel h3{margin-bottom:12px}.camera-channel video{width:100%;max-height:300px;background:#122b32;border-radius:8px}.camera-empty{height:150px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--brand-soft);border-radius:8px;color:var(--muted);font-size:13px}.camera-file{position:relative;overflow:hidden;cursor:pointer;width:100%}.camera-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.camera-file:focus-within{outline:3px solid var(--brand-focus)}.camera-channel p{overflow-wrap:anywhere;margin:10px 0 0;font-size:12px}.camera-note{font-size:12px}.inspection-checks{display:grid;gap:12px;margin:20px 0}.inspection-checks label{display:grid;grid-template-columns:1fr 180px;gap:16px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.inspection-checks select,#inspection-type,#inspection-note{font:inherit;padding:10px;border:1px solid var(--line);border-radius:6px;width:100%}#inspection-form>.field{display:flex;flex-direction:column;gap:8px}#inspection-status,#camera-request-status{font-size:13px;margin-top:16px;color:var(--green)}@media(max-width:600px){.inspection-checks label{grid-template-columns:1fr;gap:6px}.camera-workbench>.row-between{flex-wrap:wrap;gap:12px}}
.navigation-group{padding:18px 12px 6px;font-size:12px;font-weight:650;color:var(--muted);letter-spacing:.03em;line-height:1.5}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}
.partner-grid article{min-width:0;border:1px solid var(--line);border-top:3px solid var(--brand-action);border-radius:10px;padding:20px;background:var(--brand-soft)}
.partner-grid h3{font-size:18px;font-weight:600;margin-bottom:10px}.partner-grid p{font-size:15px;line-height:1.7;margin-bottom:12px}
.cooperation-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}
.cooperation-flow>div{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--brand-soft-line);background:var(--brand-soft);border-radius:12px;min-width:0}
.cooperation-flow>div>span{font-size:14px;color:var(--muted)}.cooperation-flow strong{font-size:17px;line-height:1.5}.cooperation-flow small{font-size:14px;line-height:1.5}
.oem-services{padding:0;margin-bottom:20px}.dms-steps{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.dms-steps span{padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:14px}.dms-steps .active{background:var(--brand-soft);border-color:var(--brand-soft-line);font-weight:650}
#dms-form .field{display:flex;flex-direction:column;gap:8px}#dms-form input,#dms-form select{width:100%;font:inherit;min-height:44px;border:1px solid var(--line);padding:10px;border-radius:6px}#dms-form .detail-grid{margin-bottom:16px}#dms-error{margin-bottom:14px}
#dms-results .table-wrap,#oem-results .table-wrap{max-height:520px;overflow:auto}#dms-results .panel,#oem-results .panel{margin-top:22px}.service-layer span{line-height:1.6}
@media(max-width:1050px){.cooperation-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.partner-grid,.cooperation-flow{grid-template-columns:1fr}.partner-grid{padding:14px;gap:12px}.oem-services{padding:0}.partner-grid article,.cooperation-flow>div{padding:16px}.dms-steps{gap:6px}.dms-steps span{padding:7px 9px}#dms-form .detail-grid{grid-template-columns:1fr}}

#sidebar .navigation-group{color:var(--brand-nav-text);opacity:.85}

.oem-network-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;background:var(--brand-soft);border:1px solid var(--brand-soft-line);border-radius:12px;margin-bottom:20px}.oem-network-summary strong{font-size:22px}.oem-network-summary p{margin:8px 0 0}.oem-technical-section{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.oem-technical-section>summary{font-size:18px;font-weight:600;cursor:pointer;margin-bottom:18px}.oem-badge.hino{background:#8f2038;color:#fff}.oem-badge.isuzu{background:#be5700;color:#fff}.hino-location>span{background:#8f2038}.isuzu-location>span{background:#be5700}.oem-suspended>span{background:#727b82}.location-pin>span>b{display:block;transform:rotate(-45deg);font:700 10px/15px Arial;text-align:center;color:white}#oem-site-results .table-wrap{max-height:480px;overflow:auto}#oem-site-results td:nth-child(2){min-width:220px;max-width:420px}@media(max-width:650px){.oem-network-summary{flex-direction:column;align-items:stretch;padding:18px}.oem-network-summary .button{width:100%}}
/* OEM directories and technical records: wrap prose, retain scrollable comparisons. */
#oem-site-results table{table-layout:fixed;min-width:760px;white-space:normal}
#oem-site-results th,#oem-site-results td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;line-height:1.6}
#oem-site-results th:nth-child(1){width:24%}
#oem-site-results th:nth-child(2){width:30%}
#oem-site-results th:nth-child(3){width:18%}
#oem-site-results th:nth-child(4){width:16%}
#oem-site-results th:nth-child(5){width:12%}
#oem-site-results td:nth-child(2){min-width:0;max-width:none}
#oem-site-results .text-button{text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
#oem-site-results .badge,#oem-site-results .button{white-space:normal;max-width:100%;line-height:1.5}
#oem-site-results .overview-strip{align-items:flex-start;flex-wrap:wrap;gap:8px 20px}
#oem-results table{min-width:640px;white-space:normal}
#oem-results th,#oem-results td{overflow-wrap:anywhere;vertical-align:top;line-height:1.6}
.oem-network-summary>div,.oem-network-summary .button,.oem-technical-section{min-width:0;overflow-wrap:anywhere}
.oem-network-summary .button{flex-shrink:0;max-width:100%;white-space:normal;line-height:1.5}
.oem-services h3,.oem-services p{overflow-wrap:anywhere}
#detail-content h2{overflow-wrap:anywhere;line-height:1.4}
#detail-content .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#detail-content .actions{flex-wrap:wrap}
#detail-content .actions>*{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.map-rail,.map-selection,.map-site{min-width:0;overflow-wrap:anywhere}
.map-site strong,.map-site>span,.map-selection h3,.map-selection p{max-width:100%;white-space:normal}
.location-popup-content{overflow-wrap:anywhere;white-space:normal}
.location-popup .leaflet-popup-content{max-width:calc(100vw - 100px)}
@media(max-width:760px){
 .oem-network-summary{flex-direction:column;align-items:stretch}
 .oem-network-summary .button{width:100%}
 #detail-content .detail-grid{grid-template-columns:minmax(0,1fr)}
 #oem-site-results .table-wrap{max-height:60dvh}
 #oem-site-results th,#oem-site-results td{padding:12px}
 .oem-technical-section>summary{line-height:1.5}
}
.camera-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:22px 0}
.camera-illustration{margin:0;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--brand-soft-line);border-radius:12px;box-shadow:0 3px 14px #1827340e}
.camera-illustration-image{position:relative;background:#e7ecef;aspect-ratio:16/9}
.camera-illustration img{display:block;width:100%;height:100%;object-fit:cover}
.camera-illustration-image>span{position:absolute;right:10px;bottom:10px;padding:4px 8px;background:#142c32d9;color:#fff;border-radius:4px;font-size:12px}
.camera-illustration figcaption{padding:14px 16px;overflow-wrap:anywhere}
.camera-illustration figcaption h3{font-size:16px;line-height:1.5;margin:0 0 6px}
.camera-illustration figcaption p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.camera-gallery:has(>.camera-illustration:only-child){max-width:760px}
@media(max-width:650px){.camera-gallery{grid-template-columns:minmax(0,1fr)}}
.integration-grid article{display:flex;flex-direction:column;min-width:0;box-shadow:0 5px 18px #142b4010}
.integration-grid article .actions{margin-top:auto;flex-wrap:wrap}
.integration-grid .row-between{gap:12px;flex-wrap:wrap}
.integration-grid h3,.integration-grid p{overflow-wrap:break-word}
.integration-flow{border-left:3px solid var(--brand-action);padding:10px 12px;background:var(--brand-soft);border-radius:0 6px 6px 0}
#integration-orders .table-wrap{max-height:480px;overflow:auto}
@media(max-width:700px){.integration-grid{grid-template-columns:minmax(0,1fr)}.integration-grid .actions .button{flex:1 1 130px}}

#integration-orders .list-tools{display:none}

:root{--brand-sidebar:#142c32;--brand-nav-text:#a9bec3;--brand-highlight:#bcf18b;--brand-selected:#2a494b;--brand-selected-text:#d2f6b7;--brand-soft:#f4f6f5;--brand-soft-line:#e1e6e3;--brand-action:#117d68;--brand-action-text:#fff;--brand-action-hover:#086553;--brand-logo-bg:#142c32;--brand-focus:#39b59b}
:root[data-brand="viettel"]{--green:#b5122b;--navy:#a51129;--brand-sidebar:#ed1532;--brand-nav-text:#fff;--brand-highlight:#fff;--brand-selected:#fff;--brand-selected-text:#b5122b;--brand-soft:#f3f4f6;--brand-soft-line:#e2e5e9;--brand-action:#cb1230;--brand-action-text:#fff;--brand-action-hover:#a51129;--brand-logo-bg:#ed1532;--brand-focus:#d32442;background:#f6f7f9}
:root[data-brand="vnpost"]{--green:#00518b;--navy:#003b68;--brand-sidebar:#004678;--brand-nav-text:#dbeaf6;--brand-highlight:#ffbc0d;--brand-selected:#ffbc0d;--brand-selected-text:#003b68;--brand-soft:#f3f5f7;--brand-soft-line:#dfe5eb;--brand-action:#ffbc0d;--brand-action-text:#003b68;--brand-action-hover:#e5a900;--brand-logo-bg:#fff;--brand-focus:#00518b;background:#f5f7fa}
#sidebar{background:var(--brand-sidebar);overflow-y:auto;padding-top:25px}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 10px 16px}.brand-logo-frame{display:flex;align-items:center;justify-content:center;width:100%;height:70px;background:var(--brand-logo-bg);border-radius:6px;overflow:hidden}.brand-logo-frame img{width:100%;height:100%;object-fit:contain}.brand-sub{font-size:13px;letter-spacing:2px;margin:0}.brand-sub small{color:inherit;opacity:.8}.brand-switch{display:flex;gap:4px;margin:0 0 23px;flex-shrink:0}.brand-switch button{font-size:12px;line-height:1.25;font-weight:650;padding:8px 5px;min-height:44px;flex:1;white-space:nowrap;background:transparent;color:var(--brand-nav-text);border:1px solid #ffffff66;border-radius:5px}.brand-switch button[aria-pressed="true"]{background:var(--brand-selected);color:var(--brand-selected-text);border-color:var(--brand-highlight)}.brand-switch button:disabled{opacity:.5;cursor:wait}.brand-switch button:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--brand-highlight)}nav a{color:var(--brand-nav-text)}nav a:hover{background:#ffffff18;color:#fff}nav a.active{background:var(--brand-selected);color:var(--brand-selected-text);box-shadow:inset 3px 0 var(--brand-highlight)}.nav-label{color:var(--brand-nav-text);opacity:.8}.sidebar-bottom{border-color:#ffffff33;color:var(--brand-nav-text)}.sidebar-bottom div{color:var(--brand-nav-text);opacity:.8}.status-dot{background:var(--brand-highlight)}.data-link{color:var(--brand-highlight)}.button.primary{background:var(--brand-action);border-color:var(--brand-action);color:var(--brand-action-text)}.button.primary:hover{background:var(--brand-action-hover)}.overview-strip{background:var(--brand-soft);border-color:var(--brand-soft-line)}.progress-track span{background:var(--green)}.notice-card{background:var(--navy)}.notice-card .eyebrow{color:var(--brand-highlight)}.notice-card .button{background:var(--brand-highlight);color:var(--brand-sidebar)}.avatar{background:var(--brand-soft);color:var(--green)}.detail-note{background:var(--brand-soft)}.mobile-brand{display:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--brand-focus)}#sidebar button:focus-visible,#sidebar a:focus-visible{outline-color:var(--brand-highlight)}
[data-brand="viettel"] .brand-logo-frame img{object-fit:cover}[data-brand="vnpost"] .brand-logo-frame{padding:7px}
@media(max-width:760px){.mobile-brand{display:flex;width:110px;height:40px;flex:none}.breadcrumb{display:none}.top-right{margin-left:auto}.brand-switch{gap:4px}.topbar{gap:10px}.brand-logo-frame img{object-position:center}}

:root{--chart-1:#117d68;--chart-2:#3e88a0;--chart-3:#83b88b;--chart-4:#b4ce85;--chart-5:#85959a;--hero-start:#103c42;--hero-end:#176b65}
:root[data-brand="viettel"]{--chart-1:#cb1230;--chart-2:#475569;--chart-3:#8293a5;--chart-4:#bcc5ce;--chart-5:#626b73;--hero-start:#8e1029;--hero-end:#df2443}
:root[data-brand="vnpost"]{--chart-1:#00518b;--chart-2:#ffbc0d;--chart-3:#4d8db8;--chart-4:#cf9415;--chart-5:#91afc5;--hero-start:#003b68;--hero-end:#00639d}
.report-hero{background:linear-gradient(115deg,var(--hero-start),var(--hero-end));border-color:var(--brand-soft-line)}
.stat,.workshop,.part-card,.panel,.notice-card{border-color:var(--brand-soft-line)}
.stat,.workshop,.part-card{border-top:3px solid var(--brand-action)}
.stat .icon,.workshop .icon{color:var(--green)}
.panel-head{background:var(--brand-soft);border-color:var(--brand-soft-line)}
.part-line,.eyebrow{color:var(--green)}
.notice-card .eyebrow{color:var(--brand-highlight)}
.report-track{background:var(--brand-soft)}
.report-track i{background:var(--chart-1)}
.report-horizontal>div:nth-child(2) i{background:var(--chart-2)}
.report-horizontal>div:nth-child(3) i{background:var(--chart-3)}
.report-horizontal>div:nth-child(4) i{background:var(--chart-4)}
.report-horizontal>div:nth-child(5) i{background:var(--chart-5)}

/* Neutral surfaces keep brand accents clear across all fleet accounts. */
.stat,.workshop,.part-card,.panel,.partner-grid article,.cooperation-flow>div,.oem-network-summary{box-shadow:0 3px 14px rgba(24,39,52,.055)}
:root[data-brand="viettel"] .badge.red,:root[data-brand="viettel"] .safety-score.red{background:#f3f4f6;color:#b5122b;box-shadow:inset 0 0 0 1px #e2e5e9}

.brand-switch,.data-link{display:none!important}