/* 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,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223b40;background:#f5f6f3;font-size:14px;font-synthesis:none;--ink:#21383d;--muted:#7b888a;--line:#e6eae6;--green:#d4eea6;--accent:#274b42;--sidebar:#172d32;--radius:16px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button,input,select,textarea,a{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid #619777}button svg{flex:none}svg{display:inline-block;vertical-align:middle}button{border:0;background:none}button:hover{filter:brightness(.97)}.skip-link{position:fixed;left:260px;top:-60px;background:white;z-index:999;padding:12px}.skip-link:focus{top:10px}.sidebar{width:224px;background:var(--sidebar);position:fixed;inset:0 auto 0 0;color:#abbec0;display:flex;flex-direction:column;padding:29px 18px;z-index:30}.brand{display:flex;gap:11px;align-items:center;color:white;padding:0 13px 32px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--green);border-radius:10px;color:#172d32;font-size:26px;font-weight:850;font-style:italic;letter-spacing:-3px;padding-right:4px}.brand-name{font-size:22px;font-weight:650;letter-spacing:-.8px}.workspace-tag{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:#69858a;padding:15px 15px 12px}.nav{display:grid;gap:6px}.nav button{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:9px;text-align:left;font-weight:500}.nav button.active{background:#d4eea6;color:#203d36}.nav button:not(.active):hover{background:#233e43}.nav-count{margin-left:auto;font-size:11px;border-radius:5px;padding:3px 6px;background:#30494e;color:#c4d3d4}.nav button.active .nav-count{background:#bdd790;color:#294335}.sidebar-bottom{margin-top:auto}.private-note{margin:20px 9px;padding:16px 7px 22px;border-bottom:1px solid #2b4449;font-size:12px;line-height:1.6;color:#89a4a7}.private-note strong{display:flex;align-items:center;gap:7px;color:#d0dddc;font-weight:500;margin-bottom:6px}.user{display:flex;align-items:center;gap:10px;padding:0 8px}.avatar{height:35px;width:35px;background:#365359;color:#d3e4e5;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:650;flex:none}.user strong{display:block;color:#f3f7f3;font-size:12px;font-weight:500}.user small{display:block;font-size:11px;margin-top:4px;color:#78989c}.shell{margin-left:224px}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 36px;background:#fff}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#859091;font-size:12px;white-space:nowrap}.breadcrumbs b{color:#405456;font-weight:500}.topbar-search{margin-left:auto;position:relative;width:315px;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.topbar-search input{min-width:0;width:100%;border:0;outline:none;background:none;font-size:12px}.key{white-space:nowrap;font-size:10px;border:1px solid #e4e8e4;border-radius:4px;padding:2px 4px;color:#94a09a}.topbar .lock-label{font-size:11px;display:flex;gap:6px;color:#5e7565;white-space:nowrap}.topbar .mobile-menu{display:none}.main{max-width:1560px;margin:auto;padding:29px 36px 20px}.demo-banner{border:1px solid #e0e5d9;background:#eff3e7;border-radius:8px;display:flex;align-items:center;gap:9px;padding:10px 13px;color:#657451;font-size:11px;margin-bottom:27px}.demo-banner strong{font-weight:600}.demo-banner .storage-label{margin-left:auto;color:#7c866f;font-size:10px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.eyebrow{color:#829088;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:1.5px;margin-bottom:8px}h1{font-size:30px;font-weight:600;letter-spacing:-1.1px;line-height:1.2;margin:0 0 10px}h2{font-size:16px;font-weight:600;letter-spacing:-.25px;margin:0}h3{font-size:14px;margin:0}.subtitle{font-size:12px;color:#89948f;margin:0;line-height:1.5}.heading-actions{display:flex;align-items:center;gap:12px}.date-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e0e5dc;background:#fff;border-radius:8px;font-size:12px;color:#5b6b65}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;border-radius:8px;font-weight:550;font-size:12px;min-height:38px}.btn-primary{background:#254e43;color:#fff;box-shadow:0 2px 2px #213c3410}.btn-secondary{background:#fff;border:1px solid #dce3db;color:#40584d}.btn-ghost{border:1px solid transparent;padding:8px 10px;color:#66776d}.btn-danger{background:#f8efec;color:#a25040}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:7px;color:#889992}.icon-btn:hover{background:#eff3eb}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:21px 22px;position:relative}.kpi-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#7b8982}.kpi-icon{height:30px;width:30px;display:grid;place-items:center;color:#8ba28f;background:#f2f5ed;border-radius:8px}.kpi-value{font-size:32px;letter-spacing:-1.2px;font-weight:550;margin:11px 0 10px;color:#263f38}.kpi-value small{font-size:16px;color:#a0aba1;letter-spacing:0;margin-left:5px}.kpi-foot{font-size:10px;color:#8c968e;display:flex;gap:5px;align-items:center}.kpi-foot b{font-weight:500;color:#53846d}.kpi.highlight{background:#e8f0db;border-color:#dce7c9}.kpi.highlight .kpi-icon{background:#d8e6c3}.dashboard-middle{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:20px;margin-bottom:24px}.panel{border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden}.panel-header{padding:21px 23px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header p{margin:6px 0 0;color:#95a094;font-size:11px}.chart-legend{display:flex;align-items:center;gap:6px;color:#819185;font-size:10px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#9ab78e;flex:none}.chart{display:flex;height:178px;gap:18px;padding:23px 24px 20px}.chart-axis{width:14px;display:flex;flex-direction:column;justify-content:space-between;color:#afb6ae;font-size:9px;padding-bottom:22px}.bars{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex:1;background:repeating-linear-gradient(to top,transparent 0,transparent 30px,#f0f2ed 31px,transparent 32px);border-bottom:1px solid #ecefea;padding-bottom:22px}.bar-item{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%}.bar{position:relative;width:min(100%,48px);min-height:8px;border-radius:5px 5px 0 0;background:#c7d7ba}.bar.current{background:#52715d}.bar strong{position:absolute;top:-16px;left:0;right:0;text-align:center;font-size:10px;font-weight:500;color:#6d806c}.bar-label{position:absolute;bottom:-20px;font-size:10px;color:#8f9d90;white-space:nowrap}.attention{background:#fbfcf8}.attention-list{padding:18px 23px 20px;display:grid;gap:11px}.attention-item{display:flex;gap:11px;align-items:center;background:white;border:1px solid #e9eddf;border-radius:9px;padding:11px 12px;width:100%;text-align:left}.attention-symbol{height:31px;width:31px;border-radius:8px;background:#faf2df;color:#ae8a39;display:grid;place-items:center;flex:none}.attention-item:nth-child(2) .attention-symbol{background:#eaf1f4;color:#608091}.attention-item strong{display:block;font-size:11px;font-weight:550;margin-bottom:4px}.attention-item span.small{display:block;font-size:10px;color:#97a18f}.attention-item>.chev{margin-left:auto;color:#9fa99b}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 23px;border-bottom:1px solid var(--line)}.panel-toolbar h2{display:flex;align-items:center;gap:8px}.counter{font-size:10px;background:#edf2e7;color:#748764;border-radius:5px;padding:4px 6px;font-weight:500}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#668266}.table-scroll{overflow:auto}.data-table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}.data-table th{text-align:left;padding:13px 20px;background:#fcfdfb;border-bottom:1px solid var(--line);font-size:10px;font-weight:500;color:#929e93}.data-table td{padding:15px 20px;border-bottom:1px solid #f0f2ed;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#f9fbf6}.row-id{font-weight:600;color:#55725a;font-size:11px;letter-spacing:.1px}.client-cell{display:flex;align-items:center;gap:9px}.client-logo{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:-.5px;background:#edf0fa;color:#6580b0;flex:none}.client-logo.c2{color:#6366ce;background:#f0edfc}.client-logo.c3{color:#6493ba;background:#e9f2fa}.client-logo.c4{color:#83575b;background:#f7ecec}.client-logo.c5{color:#ba965a;background:#faf4e4}.client-logo.c6{color:#789867;background:#eff4e7}.route{font-size:11px;color:#536656}.route small{display:block;font-size:10px;color:#a0ab9c;margin-top:5px}.cell-secondary{font-size:10px;color:#97a293;display:block;margin-top:5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:5px;padding:5px 7px;line-height:1;white-space:nowrap}.badge:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor}.badge.transit{background:#eef1fd;color:#727cc0}.badge.assigned{background:#edf3f6;color:#6d93a5}.badge.new{background:#fbf4e2;color:#b08b3c}.badge.done,.badge.free,.badge.active{background:#eef5e7;color:#72985d}.badge.cancelled,.badge.service,.badge.inactive{background:#f6ece8;color:#a57c6a}.amount{font-variant-numeric:tabular-nums;font-weight:550;color:#53684e}.empty{padding:42px 20px;text-align:center;color:#8b9788;font-size:12px}.empty strong{display:block;color:#5c7255;font-size:15px;margin:10px}.footer{display:flex;justify-content:space-between;gap:12px;margin-top:23px;padding:0 1px;color:#a2ab9c;font-size:10px}.footer span{display:flex;align-items:center;gap:5px}.page-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.search-field{display:flex;gap:8px;align-items:center;background:white;border:1px solid #e0e5dc;border-radius:8px;padding:10px 12px;min-width:220px;flex:1;color:#96a28f}.search-field input{border:0;outline:0;background:none;width:100%;min-width:0;font-size:12px}.page-filters select,.page-filters input[type=date]{border:1px solid #e0e5dc;background:white;border-radius:8px;padding:10px;font-size:11px;color:#61715c;min-height:38px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}.tab{border:1px solid transparent;font-size:11px;padding:8px 12px;border-radius:7px;color:#87917f}.tab.active{background:#e9efdf;color:#5a7247;border-color:#dce7cc}.list-footer{padding:14px 20px;border-top:1px solid var(--line);font-size:10px;color:#939d8d;display:flex;justify-content:space-between}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.record-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:17px}.record-card:hover{border-color:#b8c7aa;box-shadow:0 4px 18px #26351f05}.record-head{display:flex;align-items:center;gap:11px}.record-head .client-logo{height:39px;width:39px;font-size:14px}.record-head h3{font-size:15px;font-weight:550}.record-head p{margin:5px 0 0;font-size:10px;color:#9da596}.record-head .icon-btn{margin-left:auto}.record-stats{border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;padding:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.record-stats span{font-size:10px;color:#929c89}.record-stats strong{display:block;font-size:18px;font-weight:550;color:#5b7050;margin-top:7px}.record-contact{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#8b9682}.record-contact b{font-weight:500;color:#607751}.vehicle-icon{width:45px;height:40px;display:grid;place-items:center;background:#f0f3eb;border-radius:10px;color:#90a37c}.vehicle-plate{font-weight:600;font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.4px}.fleet-card .record-stats strong{font-size:13px;margin-top:7px}.fleet-card .record-head .badge{margin-left:auto}.search-results{position:absolute;right:0;top:calc(100% + 9px);width:440px;max-height:420px;overflow:auto;background:#fff;box-shadow:0 12px 35px #243a2820;border:1px solid #dce5d4;border-radius:12px;z-index:45;padding:9px}.search-results button{display:flex;gap:10px;align-items:center;padding:12px;width:100%;text-align:left;border-radius:7px}.search-results button:hover{background:#f1f5eb}.search-results strong{font-size:12px;font-weight:500;display:block}.search-results small{display:block;font-size:10px;color:#96a289;margin-top:4px}.search-results .search-type{margin-left:auto;color:#7f9770;font-size:10px}.overlay{position:fixed;inset:0;background:#122b3250;backdrop-filter:blur(3px);z-index:70;display:flex;justify-content:flex-end}.drawer{background:#fff;width:min(610px,100%);height:100%;overflow:auto;box-shadow:-8px 0 40px #1d383522;display:flex;flex-direction:column}.drawer-header{padding:26px 29px 20px;border-bottom:1px solid #eaf0e2;display:flex;gap:10px;align-items:flex-start}.drawer-header .icon-btn{margin-left:auto}.drawer-header h2{font-size:24px;margin:5px 0 10px;letter-spacing:-.7px}.drawer-body{padding:24px 29px;flex:1;overflow:auto}.drawer-footer{padding:17px 29px;background:#fafbf8;border-top:1px solid #e7ede0;display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;margin:25px 0}.detail-grid dt{font-size:11px;color:#90a080;margin-bottom:8px}.detail-grid dd{margin:0;font-size:13px;line-height:1.6;color:#526546;overflow-wrap:anywhere}.detail-grid .full{grid-column:1/-1}.route-card{background:#f5f8f0;border:1px solid #e5eddb;border-radius:12px;padding:20px;display:flex;gap:13px;margin:0 0 21px}.route-track{display:flex;flex-direction:column;align-items:center;gap:5px;padding-top:3px;color:#9fb78a}.route-track:before,.route-track:after{content:'';width:7px;height:7px;border:2px solid #9fb78a;border-radius:50%}.route-track:after{border-radius:2px;background:#9fb78a}.route-track span{height:25px;border-left:1px dashed #c7d5b7}.route-points{font-size:12px;color:#637656;display:flex;flex-direction:column;gap:20px}.mini-orders{display:grid;gap:8px;margin-top:16px}.mini-order{display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;padding:12px;border:1px solid #e5ecd9;border-radius:8px}.mini-order strong{display:block;font-size:11px;color:#698557}.mini-order small{display:block;font-size:10px;color:#9aaa8b;margin-top:4px}.notes{padding:15px;background:#f8faf5;border-radius:8px;color:#819270;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.field{display:grid;gap:8px;font-size:11px;color:#7b8e6e}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #dce6d2;border-radius:8px;padding:11px 12px;background:white;width:100%;min-width:0;color:#466136;font-size:12px}.field textarea{resize:vertical;min-height:82px}.field input:focus,.field select:focus,.field textarea:focus{outline:none}.field small{font-size:10px;line-height:1.5;color:#8a9d7b}.form-error{margin-top:18px;padding:12px;background:#faf0e9;border:1px solid #eedcc8;color:#a37a53;border-radius:8px;font-size:12px;line-height:1.5}.form-info{font-size:11px;line-height:1.65;color:#93a281;margin-bottom:22px;padding:12px 14px;background:#f4f7ee;border-radius:8px}.toast{position:fixed;bottom:27px;left:calc(50% + 112px);transform:translate(-50%,20px);background:#254e43;color:#f5ffec;box-shadow:0 4px 20px #1c382533;padding:13px 20px;border-radius:9px;z-index:100;font-size:12px;opacity:0;transition:.2s;pointer-events:none;max-width:85vw}.toast.show{opacity:1;transform:translate(-50%,0)}.storage-error{background:#fff0e7;border:1px solid #e8c7b4;padding:12px;font-size:12px;margin-bottom:20px;color:#9a613e}.toolbar-select{background:#f8faf5;border:1px solid #e4ebdc;border-radius:6px;padding:7px 9px;font-size:10px;color:#80926f}.muted{color:#a1ac98}.detail-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.detail-kpis>div{background:#f2f6ed;border-radius:10px;padding:17px;font-size:10px;color:#8fa07d}.detail-kpis strong{display:block;font-size:23px;color:#688055;margin-top:7px;font-weight:550}.capacity-note{font-size:11px;color:#859575;margin-bottom:17px}.section-label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#9cac8d;margin:20px 0 12px}.compact .data-table td{padding-top:13px;padding-bottom:13px}.demo-pill{color:#9baa8b;font-size:10px}.mobile-scrim{display:none}.table-btn{padding:0;text-align:left;font:inherit}.inline-link{color:#668a4c;text-decoration:underline;text-underline-offset:3px;padding:0}.panel-description{font-size:11px;color:#8d9b80;padding:0 23px 20px}.no-results-note{font-size:10px;color:#9cab8a;margin:10px}
@media(min-width:1500px){.main{padding:35px 44px}.kpi{padding:23px 26px}.chart{height:195px}}
@media(max-width:1200px){.sidebar{width:190px;padding:25px 13px}.brand{padding-left:7px;gap:8px}.brand-name{font-size:20px}.shell{margin-left:190px}.topbar{padding:0 24px}.main{padding:24px}.kpis{gap:12px}.kpi{padding:16px}.kpi-value{font-size:29px}.dashboard-middle{gap:15px;grid-template-columns:1.3fr 1fr}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-search{width:270px}.demo-banner .storage-label{display:none}.toast{left:calc(50% + 95px)}.date-chip{font-size:10px}.chart{gap:10px;padding-left:17px;padding-right:17px}.data-table td,.data-table th{padding-left:15px;padding-right:15px}}
@media(max-width:960px){.page-heading{align-items:flex-start}h1{font-size:27px}.heading-actions{gap:7px}.date-chip{display:none}.kpis{grid-template-columns:repeat(2,1fr)}.dashboard-middle{grid-template-columns:1fr}.attention-list{grid-template-columns:1fr 1fr}.topbar .lock-label{display:none}.topbar-search{width:245px}.breadcrumbs{font-size:11px}.kpi-value{font-size:32px}.chart{height:180px}.attention-item{padding:10px}.page-filters .search-field{min-width:100%}.record-head h3{font-size:14px}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:.2s;width:224px}.sidebar.open{transform:translateX(0)}.sidebar.open~.mobile-scrim{display:block;position:fixed;inset:0;background:#17323950;z-index:25}.shell{margin-left:0}.topbar .mobile-menu{display:inline-grid}.topbar{height:64px;padding:0 16px;gap:10px}.breadcrumbs{display:none}.topbar-search{width:auto;flex:1}.topbar-search input{font-size:12px}.topbar-search .key{display:none}.main{padding:20px 16px}.demo-banner{font-size:10px;align-items:flex-start;line-height:1.6;padding:9px 11px;margin-bottom:22px}.demo-banner svg{margin-top:2px;flex:none}.page-heading{gap:8px;margin-bottom:21px}h1{font-size:26px;letter-spacing:-.8px}.subtitle{font-size:11px;max-width:210px}.eyebrow{font-size:9px}.btn{padding:10px 12px;font-size:11px}.heading-actions .btn{min-width:113px}.kpis{gap:10px;margin-bottom:17px}.kpi{padding:15px 14px;border-radius:12px}.kpi-top{font-size:11px}.kpi-icon{width:26px;height:26px}.kpi-value{font-size:29px;margin:9px 0}.kpi-foot{font-size:9px;flex-wrap:wrap}.dashboard-middle{margin-bottom:17px;gap:17px}.panel-header{padding:18px 17px 0}h2{font-size:15px}.attention-list{grid-template-columns:1fr;padding:16px 17px}.panel-toolbar{padding:17px}.panel{border-radius:12px}.card-grid{grid-template-columns:1fr;gap:13px}.page-filters select{flex:1;max-width:100%}.page-filters input[type=date]{width:calc(50% - 18px);flex:1}.footer{line-height:1.5;align-items:flex-start;font-size:9px}.footer span:last-child{max-width:150px;text-align:right}.toast{left:50%;min-width:200px;text-align:center}.search-results{width:min(440px,calc(100vw - 32px));right:-1px}.drawer-header{padding:20px}.drawer-body{padding:20px}.drawer-footer{padding:15px 20px}.form-grid{gap:15px 12px}.data-table td{padding:13px 15px}.data-table th{padding:12px 15px}.chart{padding:22px 17px 18px;gap:10px}.bars{gap:11px}.bar-label{font-size:9px}.tabs{gap:3px}.tab{font-size:10px;padding:8px}.panel-toolbar .text-link{font-size:10px}.skip-link{left:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.registry-stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:23px}.registry-stats>div{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:12px;color:#7d9074}.registry-stats strong{font-size:19px;color:#46633e;font-weight:550;margin-right:5px}.driver-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#eaf1df;color:#73905c;font-size:11px;font-weight:600}.registry-panel .data-table td{padding-top:18px;padding-bottom:18px}.record-origin{font-size:9px;color:#63845c;background:#edf5e7;padding:2px 5px;border-radius:4px;white-space:nowrap}.record-origin.demo{color:#929c85;background:#f2f4ee}.registry-vehicle-link{display:block;margin:5px 0}.badge.active{background:#eef5e7;color:#72985d}.registry-panel .list-footer{gap:16px}.registry-panel .table-scroll{max-width:100%}@media(max-width:700px){.registry-stats{gap:8px}.registry-stats>div{padding:11px 12px;font-size:10px;flex:1;min-width:135px}.registry-stats>div:last-child{flex-basis:100%}.registry-panel .list-footer{flex-direction:column;gap:6px}.page-filters .btn{flex:1}.topbar-search{max-width:100%}}

.body-dimensions{grid-column:1/-1;margin:0;padding:15px;border:1px solid #dce6d2;border-radius:9px;min-width:0}.body-dimensions legend{font-size:11px;color:#7b8e6e;padding:0 6px}.dimension-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:420px){.body-dimensions{padding:12px}.dimension-inputs{gap:8px}.dimension-inputs .field input{padding:10px 8px}}

/* Accounts and server-enforced roles */
body[data-role="viewer"] [data-action="new"],body[data-role="viewer"] [data-action="edit"],body[data-role="viewer"] [data-action="client-order"]{display:none}
.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:#edf1ee}
.login-card{width:min(100%,460px);padding:40px;background:#fff;border:1px solid #dfe7e1;border-radius:22px;box-shadow:0 20px 65px #172d3210;text-align:center}
.login-brand{display:flex;align-items:center;justify-content:center;gap:11px;font-size:27px;font-weight:700;color:var(--sidebar);margin-bottom:35px}.brand-dot{color:#5e8250}.login-brand .brand-mark{background:var(--sidebar);color:var(--green);width:40px;height:40px}
.login-lock{width:56px;height:56px;margin:0 auto 18px;border-radius:16px;background:#eff5e7;color:#31523c;display:grid;place-items:center}
.login-card h1{font-size:30px;margin:0 0 12px;letter-spacing:-.7px}.login-lead{font-size:16px;line-height:1.6;color:#6c7f7d;margin:0 0 26px}
.login-email-form{display:grid;gap:16px;text-align:left}.login-email-form label{display:grid;gap:8px;color:#526b61;font-size:14px}.login-email-form input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #dce4dc;border-radius:9px;font-size:16px}.login-email-form p{margin:0;color:#637970;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.login-email-form .login-switch{text-align:center;margin:0}
.login-identity{display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px;overflow-wrap:anywhere}.login-identity strong{font-size:17px}.login-identity>span:not(.role-chip){color:#697b7b;font-size:14px}.login-identity .role-chip{align-self:center}
.login-submit{width:100%;justify-content:center;font-size:16px;padding:14px;text-decoration:none;min-height:49px}.login-switch{display:block;margin:20px 0 0;font-size:14px;color:#526e61;text-underline-offset:4px;line-height:1.5}.login-foot{font-size:12px;color:#758981;line-height:1.65;margin:30px 0 0}.login-caption{font-size:13px;color:#7c8b84;text-align:center;line-height:1.5}.login-state{padding:22px;font-size:16px;color:#607970}.login-denied{display:grid;gap:10px;padding:18px;border-radius:10px;background:#fff2e9;color:#825637;line-height:1.6;font-size:14px}.login-retry{margin-top:12px}
.account-menu{position:relative;flex:none}.account-menu summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;font-size:13px}.account-menu summary::-webkit-details-marker{display:none}.account-avatar{width:33px;height:33px;border-radius:50%;background:#e4ecd9;color:#36533f;display:grid;place-items:center;font-weight:700}.account-popover{position:absolute;right:0;top:calc(100% + 14px);z-index:50;width:280px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 35px #17382b20;display:grid;gap:9px}.account-popover>span{font-size:13px;overflow-wrap:anywhere;color:#677d77}.account-popover small{font-size:13px;color:#5f766d;padding-bottom:12px;border-bottom:1px solid var(--line)}.account-popover a,.account-popover button{padding:9px 0;text-align:left;font-size:14px}.account-popover a{color:#805642;text-underline-offset:4px}
.roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.roles-grid article{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.role-chip{display:inline-flex;border-radius:6px;background:#edf2e7;color:#405d42;padding:6px 9px;font-size:13px;font-weight:600;white-space:nowrap}.roles-grid p{font-size:14px;color:#6a7b75;line-height:1.6;margin:13px 0 0}.access-note{display:flex;gap:14px;background:#eaf0ee;border:1px solid #dce5df;border-radius:12px;padding:19px;margin-bottom:22px}.access-note svg{flex:none;margin-top:2px}.access-note strong{font-size:15px}.access-note p{font-size:14px;line-height:1.65;color:#61766b;margin:6px 0 0;max-width:950px}.access-intro{font-size:16px;line-height:1.6}.owner-tag{font-size:12px;margin-left:9px;color:#6f8276}.users-table{min-width:760px}.users-table td{font-size:14px}.users-table .cell-secondary{font-size:13px}.legacy-banner{display:flex;align-items:center;gap:18px;justify-content:space-between;border:1px solid #d9dfbd;border-radius:10px;background:#f5f7e9;padding:16px;margin-bottom:23px;font-size:14px;line-height:1.6}.legacy-banner strong{display:block}.legacy-banner button{flex:none}.user strong{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user small{font-size:12px}.account-menu .account-role{max-width:130px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1050px){.account-role{display:none}.topbar{gap:12px}.breadcrumbs{display:none}}
@media(max-width:680px){.login-card{padding:28px 22px}.login-page{padding:24px 16px}.roles-grid{grid-template-columns:1fr}.roles-grid article{padding:17px}.access-note{padding:16px}.legacy-banner{align-items:stretch;flex-direction:column}.account-popover{right:-4px;width:min(280px,calc(100vw - 30px))}.topbar-search{width:auto;flex:1;min-width:0}.account-menu summary{gap:4px}.page-heading:has([data-auth="new-user"]){align-items:flex-start;flex-direction:column}.page-heading:has([data-auth="new-user"]) h1{font-size:27px}}
.import-order{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:0 0 22px;font-size:14px;color:#62786b}.import-order strong{color:var(--ink)}.import-order span{padding:7px 10px;border-radius:6px;background:#e9efdf}.import-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:20px}.import-panel{padding:25px;margin-bottom:20px}.import-step{display:flex;align-items:center;gap:12px;margin-bottom:22px}.import-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#203b36;color:#deedc3;font-weight:600}.import-step h2{font-size:19px;margin:0}.upload-field{padding:24px;border:1.5px dashed #bacdb7;border-radius:12px;background:#f7faf3;text-align:center;align-items:center;cursor:pointer;gap:10px!important}.upload-field strong{font-size:16px;overflow-wrap:anywhere}.upload-field span{font-size:13px;color:#74836d}.upload-field input{font-size:13px;max-width:100%;background:white}.import-help{padding:24px;align-self:start}.import-help h2{font-size:18px;margin:0 0 17px}.import-help p{font-size:14px;color:#63786d;line-height:1.65;margin:13px 0}.import-meta{font-size:14px;line-height:1.6;color:#728379;margin:17px 0}.import-sheet{margin-top:20px}.import-mapping{border:0;margin:0;padding:0;min-width:0}.import-field small{font-size:12px;color:#819187;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;min-height:16px;font-weight:400}.import-field{min-width:0}.import-field select{width:100%;min-width:0}.optional-fields{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.optional-fields summary{cursor:pointer;font-size:15px;font-weight:600;padding:8px 0}.optional-fields .form-grid{margin-top:18px}.import-mode{max-width:560px;margin-top:24px}.import-actions{margin-top:22px}.import-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.import-counts>div{display:grid;gap:8px;background:#eff3ea;border-radius:10px;padding:16px}.import-counts span{font-size:13px;color:#697d6b}.import-counts strong{font-size:27px}.import-counts .has-errors{background:#fff0e9;color:#a25131}.import-preview-table{max-height:450px;border:1px solid var(--line);border-radius:9px}.import-preview-table table{min-width:650px}.import-preview-table td{white-space:normal;max-width:360px}.import-preview-table th{position:sticky;top:0;background:#f3f6ee;z-index:1}.import-error-row td{background:#fff6f0}.import-report{margin:15px 0;font-size:14px}.import-confirm{display:flex;align-items:flex-start;gap:12px;max-width:650px;font-size:15px;line-height:1.5;margin:18px 0}.import-confirm input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#305444}.import-success{border:1px solid #bdd49d;background:#eff6e5;border-radius:12px;padding:22px;font-size:16px;line-height:1.6}.import-success p{margin:9px 0 14px}
@media(max-width:900px){.import-layout{grid-template-columns:1fr}.import-help{margin-bottom:20px}.import-panel{padding:20px}}
@media(max-width:600px){.import-counts{grid-template-columns:repeat(2,1fr)}.import-panel{padding:18px}.import-step h2{font-size:18px}.upload-field{padding:18px}.import-order{gap:8px;font-size:13px}.import-order strong{width:100%}}

/* Native dispatcher workspace; styling scoped to this section. */
.dispatch-main{max-width:1900px;padding:25px 28px 20px}.dispatch-main .footer{margin-top:22px}.dispatch-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px}.dispatch-heading h1{font-size:30px;margin:5px 0 8px;letter-spacing:-.8px}.dispatch-heading p{font-size:14px;color:#718079;margin:0;line-height:1.5}.dispatch-source{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:#677e70;margin-bottom:19px}.dispatch-live-tag{color:#345438;background:#e8f0d8;padding:7px 10px;border-radius:6px;font-weight:600}.dispatch-source #dispatch-updated{margin-left:auto}.dispatch-workspace{display:grid;grid-template-columns:minmax(300px,345px) minmax(0,1fr);gap:18px;align-items:stretch}.dispatch-trips{overflow:hidden;min-width:0;display:flex;flex-direction:column;height:650px}.dispatch-list-heading{padding:21px 20px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.dispatch-list-heading h2{font-size:18px;margin:0}.dispatch-search{padding:0 15px 15px;display:block}.dispatch-search input{width:100%;min-width:0;padding:12px 11px;border:1px solid #dfe6dd;border-radius:8px;background:#f8faf5;font-size:14px}.dispatch-list{overflow:auto;overscroll-behavior:contain;padding:0 11px 12px;flex:1}.dispatch-trip{display:flex;flex-direction:column;align-items:stretch;width:100%;text-align:left;border:1px solid #e0e7dc;border-radius:11px;padding:16px 14px;background:#fff;margin:0 0 10px;gap:10px;transition:border-color .15s,background .15s}.dispatch-trip:hover{border-color:#9cae98;background:#f9fbf5}.dispatch-trip.selected{background:#f0f6e6;border-color:#789e58;box-shadow:inset 3px 0 #527a3f}.dispatch-trip-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;font-size:13px}.dispatch-trip-top>strong{overflow-wrap:anywhere;line-height:1.5}.dispatch-status{font-size:12px;line-height:1.4;padding:5px 7px;border-radius:5px;background:#edf1e9;color:#425e4a;flex:none;max-width:130px;text-align:center}.dispatch-driver{font-size:16px;font-weight:650;color:#294239}.dispatch-vehicle{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:14px;line-height:1.4}.dispatch-vehicle>b{font-size:13px;letter-spacing:.6px;background:#fff;padding:4px 6px;border:1px solid #dce5d6;border-radius:4px}.dispatch-vehicle>span{color:#73816d;font-size:13px}.dispatch-client{font-size:14px;color:#526954;line-height:1.5;overflow-wrap:anywhere}.dispatch-last-event{display:grid;gap:4px;border-top:1px solid #e4eadf;padding-top:11px;line-height:1.45}.dispatch-last-event>span{font-size:12px;color:#7b8773}.dispatch-last-event strong{font-size:14px;font-weight:500}.dispatch-last-event small{font-size:12px;color:#7b8773}.dispatch-gps{font-size:13px;display:flex;flex-direction:column;gap:4px;line-height:1.45}.dispatch-gps small{font-size:12px}.dispatch-gps.fresh{color:#3d734f}.dispatch-gps.stale{color:#99702f}.dispatch-gps.missing,.dispatch-gps.unknown{color:#7c847e}.dispatch-progress{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#526953}.dispatch-progress b{font-weight:650}.dispatch-progress progress{width:100%;height:5px;appearance:none;border:0;border-radius:9px;overflow:hidden;background:#e1e7dc;accent-color:#638644}.dispatch-progress progress::-webkit-progress-bar{background:#e1e7dc}.dispatch-progress progress::-webkit-progress-value{background:#638644;border-radius:9px}.dispatch-progress progress::-moz-progress-bar{background:#638644}.dispatch-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:40px 15px;color:#748471;line-height:1.6;font-size:14px}.dispatch-empty strong{font-size:16px;color:#425a43}.dispatch-map-panel{overflow:hidden;min-width:0;display:flex;flex-direction:column;height:650px}.dispatch-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 17px;min-height:65px}.dispatch-map-toolbar strong{font-size:15px}.dispatch-map-toolbar>div{display:flex;gap:5px}.dispatch-map-toolbar .btn{font-size:12px;padding:9px 10px}.dispatch-map-wrap{position:relative;isolation:isolate;flex:1;min-height:400px;background:#e7ece7}.dispatch-map-wrap #dispatch-map{height:100%;position:absolute;inset:0;z-index:0}.dispatch-map-note{position:absolute;left:16px;right:16px;bottom:28px;z-index:500;padding:12px 15px;background:#fffffff0;border:1px solid #d5dfd5;border-radius:8px;font-size:14px;color:#667b6b;line-height:1.5;pointer-events:none;box-shadow:0 4px 20px #19332215}.dispatch-map-note[hidden]{display:none}.dispatch-map-legend{padding:13px 17px;display:flex;align-items:center;gap:13px;flex-wrap:wrap;font-size:12px;color:#78856f;border-top:1px solid #e2e8de;min-height:46px}.dispatch-map-legend>span{display:flex;align-items:center;gap:6px}.dispatch-map-legend #dispatch-gps-count{margin-left:auto}.dispatch-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dispatch-dot.fresh{background:#61994b}.dispatch-dot.stale{background:#b49c62}.dispatch-map-icon{background:none;border:none}.dispatch-marker{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#284c3c;border:2px solid white;color:#e4f3d7;box-shadow:0 3px 10px #17372150}.dispatch-marker.stale,.dispatch-marker.unknown{background:#8a7954}.dispatch-marker.is-selected{background:#d4eea6;color:#203d36;border:3px solid #223e34;box-shadow:0 0 0 5px #b7d78970,0 4px 12px #25392440}.dispatch-tooltip{font-family:inherit;font-size:13px;line-height:1.6}.dispatch-map-panel .leaflet-control-attribution{font-size:11px;line-height:1.6;max-width:100%;background:#ffffffdf}.dispatch-map-panel .leaflet-control-zoom a{color:#2c493a}.dispatch-error{display:flex;flex-direction:column;align-items:flex-start;gap:9px;border:1px solid #e5c7b0;border-radius:10px;background:#fff4ec;color:#855633;font-size:14px;line-height:1.6;padding:18px 20px;margin-bottom:20px}.dispatch-error strong{font-size:16px}.dispatch-error .btn{margin-top:3px}.dispatch-detail{padding:25px;margin-top:20px}.dispatch-detail-empty{text-align:center;padding:15px 8px;color:#7a8872;font-size:14px}.dispatch-detail-empty strong{color:#445d43;font-size:17px}.dispatch-detail-empty p{margin-bottom:0;line-height:1.6}.dispatch-detail-title{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-bottom:24px}.dispatch-detail-title h2{font-size:24px;margin:6px 0 0;overflow-wrap:anywhere}.dispatch-detail-title>.btn{margin-left:auto}.dispatch-detail-title>.dispatch-status{font-size:14px;padding:7px 10px}.dispatch-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px 26px;margin:0}.dispatch-info dt{font-size:13px;color:#7b8a75;margin-bottom:7px}.dispatch-info dd{font-size:15px;line-height:1.5;margin:0;color:#3d5743;overflow-wrap:anywhere}.dispatch-detail-progress{display:flex;gap:25px;align-items:center;padding:20px 0;margin-top:12px}.dispatch-detail-progress .dispatch-progress{min-width:220px;max-width:400px;flex:1}.dispatch-detail-progress>span{font-size:12px;color:#87937f}.dispatch-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid #e6ecdf;padding-top:24px}.dispatch-detail h3{font-size:17px;margin:0 0 17px}.dispatch-detail h3 .counter{font-size:12px;margin-left:6px}.dispatch-route-summary{font-size:14px;line-height:1.7;color:#708464;margin:0 0 20px}.dispatch-points,.dispatch-events{list-style:none;padding:0;margin:0}.dispatch-points li{display:flex;gap:13px;padding:0 0 23px;position:relative}.dispatch-points li:not(:last-child):before{content:'';position:absolute;left:14px;top:31px;bottom:3px;width:1px;background:#dce5d2}.dispatch-point-number{width:30px;height:30px;border:1px solid #dce5d2;border-radius:50%;background:#f2f6eb;color:#59704d;display:grid;place-items:center;flex:none;font-size:13px}.dispatch-points li>div{min-width:0;padding-top:3px}.dispatch-points strong{font-size:15px;font-weight:600}.dispatch-points p{margin:6px 0 9px;font-size:14px;line-height:1.6;color:#667963}.dispatch-point-meta{display:flex;gap:7px 20px;flex-wrap:wrap;font-size:12px;color:#75876e;line-height:1.6}.dispatch-points small{font-size:12px;color:#7b8a73;display:block;margin-top:7px}.dispatch-events{max-height:490px;overflow:auto;padding-right:10px;overscroll-behavior:contain}.dispatch-events li{display:grid;gap:7px;border-left:2px solid #d4e4c0;padding:0 0 20px 16px;margin-bottom:5px}.dispatch-events time{font-size:12px;color:#89977e}.dispatch-events strong{font-size:15px;font-weight:600;line-height:1.5}.dispatch-events p{font-size:14px;color:#697d63;line-height:1.6;margin:0}.dispatch-events span,.dispatch-events small{font-size:12px;color:#7a8e73;line-height:1.5}.dispatch-position{border-top:1px solid #e4ebda;margin-top:24px;padding-top:24px}.dispatch-position>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.dispatch-position>.btn{margin-top:20px}.dispatch-muted,.dispatch-loading{color:#7d8a73;font-size:14px;line-height:1.6}.dispatch-main .leaflet-container{font-family:inherit}
@media(max-width:1180px){.dispatch-main{padding:24px 20px}.dispatch-workspace{grid-template-columns:300px minmax(0,1fr)}.dispatch-map-toolbar{align-items:flex-start;flex-direction:column}.dispatch-map-toolbar>div{width:100%;justify-content:space-between}.dispatch-map-panel,.dispatch-trips{height:640px}}
@media(max-width:950px){.dispatch-workspace{grid-template-columns:1fr}.dispatch-trips{height:360px}.dispatch-map-panel{height:480px}.dispatch-map-wrap{min-height:310px}.dispatch-map-toolbar{flex-direction:row;align-items:center}.dispatch-map-toolbar>div{width:auto}.dispatch-detail-columns{grid-template-columns:1fr}.dispatch-info{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-detail-progress{align-items:flex-start;flex-direction:column;gap:11px}.dispatch-detail-progress .dispatch-progress{width:100%;max-width:none}}
@media(max-width:560px){.dispatch-main{padding:20px 14px}.dispatch-heading{align-items:flex-start;flex-direction:column;gap:12px}.dispatch-heading h1{font-size:28px}.dispatch-heading .btn{width:100%;justify-content:center}.dispatch-source{gap:9px;font-size:12px}.dispatch-source #dispatch-updated{margin-left:0}.dispatch-map-toolbar{align-items:flex-start;flex-direction:column}.dispatch-map-toolbar>div{width:100%}.dispatch-map-legend{font-size:11px;gap:9px}.dispatch-map-legend #dispatch-gps-count{margin-left:0}.dispatch-detail{padding:20px 16px}.dispatch-info{grid-template-columns:1fr}.dispatch-detail-title>.btn{margin-left:0}.dispatch-detail-title h2{font-size:21px}.dispatch-detail-title>.dispatch-status{font-size:12px}.dispatch-map-note{left:9px;right:9px;font-size:13px}}

/* Dispatcher list and detail share one screen while the map is out of scope. */
.dispatch-workspace{grid-template-columns:minmax(290px,355px) minmax(0,1fr);align-items:start}
.dispatch-trips{height:min(740px,calc(100vh - 210px));min-height:460px}
.dispatch-workspace .dispatch-detail{margin-top:0;min-width:0;min-height:460px}
@media(max-width:950px){.dispatch-workspace{grid-template-columns:1fr}.dispatch-trips{height:420px;min-height:0}.dispatch-workspace .dispatch-detail{min-height:220px}}
@media(max-width:600px){.dispatch-trips{height:380px}.dispatch-workspace .dispatch-detail{padding:20px 15px}}
.dispatch-map-toolbar>span{font-size:13px;color:#697d63}.dispatch-map-popup{display:grid;gap:5px;font-size:13px;line-height:1.4;min-width:190px}.dispatch-map-popup strong{font-size:15px}.dispatch-map-popup .stale{color:#99702f;font-weight:650}.dispatch-map-popup .fresh{color:#3d734f}
.dispatch-track-toggle{font-size:13px;color:#526953;white-space:nowrap;display:flex;align-items:center;gap:5px}.dispatch-monitor-summary{font-size:12px;color:#526953;line-height:1.5}.dispatch-monitoring{border-top:1px solid #e4ebda;padding:20px 0 24px}.archive-track{margin:22px 0}.archive-track-map{height:310px;background:#edf2ed;border-radius:8px;overflow:hidden}.archive-track h3{margin-bottom:12px}
.dispatch-status.assigned{background:#fff2d9;color:#795524}.dispatch-status.in_progress{background:#e1efff;color:#2c5c86}.dispatch-status.completed{background:#e4f3e3;color:#316847}.dispatch-status.cancelled{background:#f6e6e5;color:#8a4040}.dispatch-cancel-reason{font-size:14px;color:#704848;background:#fff4f1;padding:12px 15px;border-radius:7px}.dispatch-events details{font-size:13px;color:#587061}.dispatch-events summary{cursor:pointer}.dispatch-events pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:270px;overflow:auto;background:#f5f8f3;padding:10px;border-radius:6px}
/* Completed trips archive within the existing dispatcher. */
#dispatch-active[hidden],#dispatch-archive[hidden]{display:none}
.dispatch-tabs{display:flex;gap:5px;border-bottom:1px solid #dfe9db;margin:-3px 0 20px}
.dispatch-tabs button{border:0;background:transparent;color:#677d69;font:inherit;font-weight:600;padding:12px 18px;border-bottom:3px solid transparent;cursor:pointer}
.dispatch-tabs button.active{color:#29553b;border-bottom-color:#618e54}
.archive-filters{display:flex;gap:15px;flex-wrap:wrap;align-items:end;padding:18px;margin-bottom:18px}
.archive-filters label{display:grid;gap:6px;font-size:13px;color:#627a67}.archive-filters label:first-child{flex:1 1 240px}
.archive-filters input{width:100%;padding:10px 11px;border:1px solid #dae4d6;border-radius:7px;background:#fff;font:inherit;min-height:41px}
.archive-layout{display:grid;grid-template-columns:minmax(300px,405px) minmax(0,1fr);gap:18px;align-items:start}
.archive-list-panel{min-width:0;overflow:hidden}.archive-list{padding:0 12px;max-height:750px;overflow:auto}.archive-trip{display:grid;gap:9px;width:100%;text-align:left;border:1px solid #e0e7dc;border-radius:10px;background:#fff;margin-bottom:10px;padding:14px;color:#526953;font:inherit;font-size:13px;line-height:1.45;cursor:pointer}.archive-trip:hover{border-color:#9cae98}.archive-trip.selected{border-color:#789e58;background:#f0f6e6}.archive-trip-head{display:flex;justify-content:space-between;gap:8px;color:#294239}.archive-trip-head strong{font-size:15px}.archive-more{text-align:center;padding:8px 12px 18px}.archive-columns{margin-top:26px}.archive-layout .dispatch-detail{margin:0;min-width:0}
@media(max-width:1050px){.archive-layout{grid-template-columns:1fr}.archive-list{max-height:400px}}
@media(max-width:560px){.dispatch-tabs button{padding:10px 12px;font-size:13px}.archive-filters{gap:9px}.archive-filters label{flex:1 1 110px}}
/* Order to driver assignment form. */
.drawer:has(#trip-form){width:min(860px,100vw)}
#trip-form .section-label{margin:24px 0 12px}
.trip-unload{position:relative;border:1px solid #dbe6d8;border-radius:11px;padding:18px 15px 15px;margin:0 0 14px;min-width:0}
.trip-unload legend{font-size:15px;font-weight:650;color:#2d4f3b;padding:0 8px}
.trip-point-actions{display:flex;gap:7px;justify-content:flex-end;margin-bottom:10px}
.trip-point-actions .btn{padding:5px 10px;font-size:13px}
.trip-add{margin:0 0 7px}
.trip-warning{border:1px solid #e5c7b0;background:#fff5ed;color:#82502e;border-radius:8px;padding:11px 13px;line-height:1.5;margin:17px 0;font-size:14px}
.trip-warning[hidden],#trip-form-error[hidden]{display:none}
#trip-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){#trip-form .form-grid{grid-template-columns:1fr}.trip-point-actions{justify-content:flex-start}}
/* Carrier section in the existing primary navigation. */
.sidebar .nav{flex:1 1 auto;min-height:0;margin-right:-9px;padding-right:9px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;align-content:start;scrollbar-width:thin;scrollbar-color:#607c7e transparent}
.sidebar,.sidebar .nav{scrollbar-width:thin;scrollbar-color:#607c7e transparent}
.sidebar::-webkit-scrollbar,.sidebar .nav::-webkit-scrollbar{width:6px;height:6px}
.sidebar::-webkit-scrollbar-track,.sidebar .nav::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb,.sidebar .nav::-webkit-scrollbar-thumb{background:#607c7e;border-radius:8px}
.sidebar::-webkit-scrollbar-button,.sidebar .nav::-webkit-scrollbar-button{display:none;width:0;height:0}
.nav-group{min-width:0}
.nav .nav-group-toggle{width:100%;min-width:0}
.nav-group-toggle>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-chevron{display:inline-flex;margin-left:auto;transition:transform .2s}
.nav-group-toggle[aria-expanded="true"] .nav-chevron{transform:rotate(90deg)}
.nav-submenu{display:grid;gap:4px;margin:3px 0 4px 25px;padding-left:9px;border-left:1px solid #3b5558}
.nav-submenu[hidden]{display:none}
.nav .nav-submenu button{width:100%;min-width:0;padding:10px 8px;font-size:12px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
.nav-management{position:relative;min-width:0}
.nav .nav-management>.nav-group-toggle{width:100%;gap:4px;padding:10px 8px;font-size:12px}
.nav-submenu-nested{position:absolute;left:calc(100% + 8px);bottom:0;width:190px;margin:0;padding:8px;background:var(--sidebar);border:1px solid #3b5558;border-radius:10px;box-shadow:0 12px 28px #0b1c2080;z-index:40}
.nav-submenu-nested[hidden]{display:none}
.nav-documents>.nav-group-toggle{width:100%;gap:4px;padding:10px 8px;font-size:12px}
.nav-documents>.nav-submenu-nested{bottom:auto;top:0}
.sidebar.reports-expanded .private-note{display:none}
.sidebar:has(.nav-group-toggle[aria-expanded="true"]) .private-note{display:none}
.carriers-empty{padding:28px;color:#64736b}
.carriers-empty p{margin:10px 0 0;line-height:1.5}
@media(max-width:700px){.sidebar{max-width:calc(100vw - 32px);overflow-y:auto}.nav .nav-submenu button{min-height:40px}.nav-submenu-nested{position:static;width:auto;margin:2px 0 3px 8px;padding:0 0 0 6px;border:0;border-left:1px solid #3b5558;border-radius:0;box-shadow:none}.sidebar .nav{flex:none}}
@media(max-height:850px){
 .sidebar{padding-top:17px;padding-bottom:17px}
 .brand{padding-bottom:14px}
 .workspace-tag{padding-top:8px;padding-bottom:8px}
 .nav{gap:2px}
 .nav button{padding-top:9px;padding-bottom:9px}
 .nav-submenu{gap:1px;margin-top:1px;margin-bottom:1px}
 .nav .nav-submenu button{padding-top:7px;padding-bottom:7px}
 .private-note{display:none}
 .sidebar-bottom{padding-top:10px}
}
@media(max-height:650px){.sidebar-bottom{display:none}}
@media(max-height:650px){.sidebar{padding-top:10px;padding-bottom:10px}.brand{padding-bottom:8px}.workspace-tag{padding-top:5px;padding-bottom:5px}.nav button{padding-top:6px;padding-bottom:6px}.nav .nav-submenu button,.nav .nav-management>.nav-group-toggle{padding-top:6px;padding-bottom:6px}}
@media(max-height:480px){.sidebar{overflow-y:auto}.sidebar .nav{flex:none}}
/* Document sections and per-client forms. */
.doc-back{color:#4c725a;font-size:14px;padding:8px 0;margin:-12px 0 22px}.doc-back:hover{text-decoration:underline}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;max-width:1000px}
.doc-card{display:flex;flex-direction:column;gap:10px;text-align:left;padding:22px;min-height:112px}.doc-card:hover{border-color:#a7c399;background:#fbfdf8}.doc-card strong{font-size:17px;color:#294439}.doc-card span{font-size:13px;color:#6c7e71;line-height:1.5}
.doc-panel{max-width:850px;padding:25px;margin-bottom:18px}.doc-panel h2{font-size:19px}.doc-panel>p{color:#667a6b;line-height:1.5;font-size:14px;margin:10px 0 21px}
.doc-field{display:grid;gap:8px;margin:18px 0;color:#465c50;font-size:14px;font-weight:600}.doc-field input,.doc-field select,.doc-field textarea{width:100%;border:1px solid #d8e2d8;border-radius:8px;background:#fff;padding:11px 12px;color:#274033;font:inherit;font-weight:400}.doc-field textarea{resize:vertical;line-height:1.55;min-height:180px}
.doc-template-status{background:#f0f6e9;color:#45633f;padding:12px 14px;border-radius:8px;font-size:14px;line-height:1.5}.doc-preview{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.doc-preview pre{font-family:inherit;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.doc-attached{display:grid;gap:8px}.doc-attached h2{margin-bottom:8px}.doc-attached button{padding:12px;text-align:left;border:1px solid var(--line);border-radius:8px;font-size:14px}.doc-attached button span{display:block;font-size:12px;color:#718578;margin-top:5px}#document-form-error{background:#fff2ed;color:#9b482e;padding:12px;margin:12px 0;border-radius:7px}#document-form-error[hidden]{display:none}
@media(max-width:700px){.nav-documents>.nav-submenu-nested{position:static;width:auto;margin:2px 0 3px 8px;padding:0 0 0 6px;border:0;border-left:1px solid #3b5558;border-radius:0;box-shadow:none}.doc-grid{grid-template-columns:1fr}.doc-panel{padding:18px}}
/* The extra main sections retain space for the account footer at desktop heights. */
.sidebar .nav{gap:3px}
.sidebar .nav > button,.sidebar .nav > .nav-group > .nav-group-toggle{padding:10px 12px}
.nav-activity-branch>.nav-submenu-nested{top:0;bottom:auto}
.activity-panel{max-width:760px;padding:25px}.activity-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.activity-panel label{display:grid;gap:8px;font-size:14px;font-weight:600;color:#496153}.activity-panel label.wide,.activity-actions,#activity-error{grid-column:1/-1}.activity-panel input,.activity-panel select,.activity-panel textarea{width:100%;min-width:0;border:1px solid #d9e3d8;border-radius:8px;padding:11px 12px;font:inherit;font-weight:400;background:white}.activity-panel textarea{resize:vertical;line-height:1.5}.activity-actions{display:flex;justify-content:flex-end;gap:10px}.activity-list{max-width:950px}.activity-list article{display:flex;justify-content:space-between;gap:18px;padding:20px 23px;border-bottom:1px solid var(--line)}.activity-list article:last-child{border-bottom:0}.activity-list h2{font-size:16px}.activity-list p{font-size:13px;line-height:1.5;color:#6b7d6e;margin:9px 0}.activity-description{font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.activity-list article>span{height:max-content;flex:none;font-size:12px;color:#4f7255;background:#eef5e8;border-radius:6px;padding:5px 8px}.activity-empty{margin:0;padding:26px;font-size:14px;color:#6b7d6e}#activity-error{background:#fff2ed;color:#93472e;border-radius:7px;padding:12px}#activity-error[hidden]{display:none}
@media(max-width:700px){.nav-activity-branch>.nav-submenu-nested{position:static;width:auto;margin:2px 0 3px 8px;padding:0 0 0 6px;border:0;border-left:1px solid #3b5558;border-radius:0;box-shadow:none}.activity-panel{padding:18px}.activity-panel form{grid-template-columns:1fr}.activity-list article{padding:17px}.activity-actions{flex-wrap:wrap}}
@media(max-height:850px){.sidebar .nav > button,.sidebar .nav > .nav-group > .nav-group-toggle{padding-top:8px;padding-bottom:8px}}
@media(max-height:650px){.sidebar .nav > button,.sidebar .nav > .nav-group > .nav-group-toggle{padding-top:6px;padding-bottom:6px}}
.nav-database>.nav-group-toggle{gap:7px;font-size:12px}
.nav-database>.nav-group-toggle>span:nth-child(2){white-space:normal;overflow:visible;line-height:1.2}
.nav-group-toggle[data-nav-group="activity"]>span:nth-child(2){white-space:normal;overflow:visible;line-height:1.2;font-size:12px}
.database-export{max-width:770px;padding:26px}.database-export h2{font-size:19px}.database-export p{font-size:14px;line-height:1.6;color:#61776a;max-width:590px;margin:12px 0 20px}.database-counts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.database-counts span{font-size:13px;background:#f1f6eb;color:#50694f;border-radius:7px;padding:10px 12px}.database-counts strong{color:#273f34;margin-left:7px}
@media(max-width:700px){.database-export{padding:18px}}
/* Shared documents workspace, using the existing CRM palette and panels. */
#doc-wizard-root:empty{display:none}.sidebar .nav>.nav-group>.nav-submenu{position:relative}.nav-group-toggle[data-nav-group="counterparties"]+.nav-submenu .nav-group{margin:1px 0}.nav-group-toggle[data-nav-group="counterparties"]+.nav-submenu .nav-group-toggle{font-size:12px}.nav-group-toggle[data-nav-group="counterparties"]+.nav-submenu .nav-submenu{margin-left:9px;border-left:1px solid #40565a;padding-left:6px}
.doc-work-panel{padding:18px;margin-bottom:20px}.doc-work-panel .data-table{white-space:nowrap;min-width:100%}.doc-work-panel .table-scroll{max-height:70vh}.doc-filters{flex-wrap:wrap}.doc-filters input,.doc-filters select{min-width:130px;max-width:190px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.doc-row-actions{display:flex;gap:7px;flex-wrap:wrap}.doc-row-actions button{color:#356b51;text-decoration:underline;font-size:12px;white-space:nowrap}.doc-help{font-size:12px;color:#6b7d72;line-height:1.5}.doc-help code,.doc-mapping code{background:#eff5e8;border-radius:4px;padding:2px 5px}
.doc-builder-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}.doc-builder-toolbar label{display:grid;gap:6px;color:#627769}.doc-builder-toolbar select{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:250px}.doc-builder-grid{display:grid;grid-template-columns:minmax(155px,1fr) minmax(240px,2fr) minmax(220px,1.4fr);gap:14px;align-items:start}.doc-builder-grid h2,.doc-mapping h2{margin-bottom:14px}.doc-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.doc-palette button{border:1px solid var(--line);border-radius:6px;padding:8px;text-align:left;font-size:11px;background:#f7faf4}.doc-form-item{display:flex;flex-direction:column;width:100%;text-align:left;border:1px solid var(--line);border-radius:7px;margin:8px 0;padding:10px;gap:5px;background:white}.doc-form-item.selected{border-color:#5f9872;background:#f0f8e8}.doc-form-item small{color:#728473}.doc-builder-grid form,.doc-mapping form,.doc-inputs{display:grid;gap:12px}.doc-builder-grid label,.doc-mapping label,.doc-inputs label,.doc-wizard-section label{display:grid;gap:6px;color:#475d50;font-size:12px}.doc-builder-grid input,.doc-builder-grid select,.doc-mapping input,.doc-mapping select,.doc-inputs input,.doc-inputs select,.doc-inputs textarea,.doc-wizard-section select{width:100%;min-width:0;border:1px solid #dbe5da;background:#fff;border-radius:7px;padding:9px}.doc-builder-grid label:has(input[type=checkbox]),.doc-inputs label:has(input[type=checkbox]){display:flex;align-items:center}.doc-builder-grid input[type=checkbox],.doc-inputs input[type=checkbox]{width:auto}.doc-mapping form{grid-template-columns:1fr 1fr auto;align-items:end}.doc-mapping-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.doc-mapping-list span{border:1px solid var(--line);border-radius:6px;padding:6px}.doc-wizard{width:min(700px,96vw)}.doc-wizard .drawer-body{overflow:auto}.doc-wizard-section{border-bottom:1px solid var(--line);padding:13px 0}.doc-wizard-section h3{margin-bottom:12px}.doc-wizard-section>label{margin:10px 0}.doc-inputs{grid-template-columns:repeat(2,minmax(0,1fr));margin:15px 0}.doc-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:200px;overflow:auto}.doc-preview div{min-width:0}.doc-preview dt{font-size:11px;color:#728473}.doc-preview dd{margin:2px 0 0;font-size:12px;overflow-wrap:anywhere}
@media(max-width:1080px){.doc-builder-grid{grid-template-columns:1fr 1.6fr}.doc-builder-grid>section:last-child{grid-column:1/-1}}
@media(max-width:700px){.doc-builder-grid{grid-template-columns:1fr}.doc-builder-grid>section:last-child{grid-column:auto}.doc-mapping form,.doc-inputs{grid-template-columns:1fr}.doc-wizard .drawer-footer{flex-wrap:wrap}.doc-filters input,.doc-filters select{max-width:none}.nav-group-toggle[data-nav-group="counterparties"]+.nav-submenu .nav-submenu{position:static;width:auto;box-shadow:none;border:0;margin-left:8px}}
.doc-email-form>label,.doc-email-form .doc-inputs label,#doc-email-template-form>label{display:grid;gap:6px;margin:10px 0;color:#475d50;font-size:14px}.doc-email-form input,.doc-email-form textarea,#doc-email-template-form input,#doc-email-template-form textarea{width:100%;min-width:0;padding:10px;border:1px solid #dbe5da;border-radius:7px;font:inherit}.doc-email-form fieldset{margin:16px 0;border:1px solid #dbe5da;border-radius:8px;padding:12px}.doc-email-form fieldset label{display:inline-flex;align-items:center;margin-right:18px}.doc-email-form fieldset input{width:auto}.doc-email-history{border-top:1px solid #dbe5da;margin-top:24px;padding-top:18px}.doc-email-entry{border:1px solid #dbe5da;border-radius:8px;padding:12px;margin-top:10px;overflow-wrap:anywhere}.doc-email-entry p{white-space:pre-wrap}.doc-email-entry small{color:#617568}
.doc-email-form fieldset .doc-email-upload{display:grid;gap:7px;align-items:start;margin:15px 0 6px;font-weight:600}.doc-email-form fieldset .doc-email-upload input{width:100%;max-width:100%;padding:7px;font-weight:400}.doc-email-form fieldset small,.doc-email-selected{display:block;color:#617568;font-size:13px;line-height:1.45}.doc-email-selected{margin-top:8px;overflow-wrap:anywhere}
@media(max-height:750px){.sidebar{padding-top:12px;padding-bottom:12px}.brand{padding-bottom:10px}.workspace-tag{padding-top:7px;padding-bottom:5px}.sidebar-bottom .private-note{margin:7px 9px;padding:6px 7px}.sidebar .nav>.nav-group>.nav-group-toggle,.sidebar .nav>button{padding-top:6px;padding-bottom:6px}}
/* The supplied round mark is shared by the menu, sign-in screen and favicon. */
.brand-mark,.login-brand .brand-mark{display:block;flex:none;width:36px;height:36px;padding:0;background:none;border-radius:50%;object-fit:contain}
.login-brand .brand-mark{width:40px;height:40px;background:none}
.brand-name{white-space:nowrap}
.roles-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#user-form .user-option.field{display:flex;align-items:center;gap:12px;min-height:34px;font-size:14px;color:#344b42}
#user-form .user-option input[type=checkbox]{flex:none;width:18px;height:18px;min-width:18px;margin:0;padding:0;accent-color:#2f6a4c}
@media(max-width:1100px){.roles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.roles-grid{grid-template-columns:1fr}}
/* Expanded desktop menus follow their toggle and stay within the viewport. */
@media(min-width:701px){
 .sidebar .nav .nav-submenu:not([hidden]){position:fixed;top:8px;left:224px;bottom:auto;width:220px;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:8px;background:var(--sidebar);border:1px solid #3b5558;border-radius:10px;box-shadow:0 12px 28px #0b1c2080;z-index:45}
 .sidebar .nav .nav-submenu:not([hidden]) .nav-submenu:not([hidden]){z-index:46}
 .sidebar .nav .nav-submenu:not([hidden]) button{text-align:left}
}

.contract-expired {color:#b42318;background:#fff1f0;border-radius:8px;padding:8px;}
.contract-expired input {border-color:#d92d20;background:#fff1f0;color:#b42318;}
.contract-expiry-note {display:block;color:#b42318;font-size:14px;font-weight:600;margin-top:4px;}
.data-table td.contract-expired-client {background:#fff1f0;color:#b42318;box-shadow:inset 3px 0 #d92d20;}

.client-control-section {margin-bottom:24px;padding:18px;border:1px solid #dde3e8;border-radius:10px;}
.client-control-section h3 {font-size:16px;margin:0 0 16px;}
.client-control-toggle {display:flex;align-items:center;gap:10px;font-size:14px;}
.client-control-toggle input[type=checkbox],.client-debt-date-basis input {width:18px;height:18px;flex-shrink:0;}
.client-debt-date-basis {margin-top:16px;padding:12px;border:1px solid #dde3e8;border-radius:8px;}
.client-debt-date-basis legend {font-size:14px;}
.client-debt-date-basis label {display:flex;align-items:center;gap:8px;margin:10px 0;font-size:14px;}
.reports-hub{padding:20px}
.reports-hub h2{margin:0 0 12px;font-size:16px}
.reports-hub h2:not(:first-child){margin-top:22px}
.report-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.page-navigation{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.navigation-back{flex:none;border:1px solid #dce3db;background:#f6f8f4;border-radius:7px;padding:7px 10px;font-size:12px;color:#40584d;min-height:32px}
.page-navigation .breadcrumbs{display:block;min-width:0;overflow:auto;scrollbar-width:thin;font-size:12px}
.breadcrumbs ol{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:4px 0}
.breadcrumbs li{display:flex;align-items:center;flex:none}
.breadcrumbs li+li:before{content:'/';color:#a2aba4;padding:0 8px}
.breadcrumbs a{color:#50765f;text-decoration:none;padding:4px 0}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs [aria-current=page]{color:#405456;font-weight:550}
.topbar-search{flex:none;width:min(245px,22vw)}
@media(max-width:1100px){.topbar:has(.page-navigation){height:auto;min-height:79px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:8px 12px}.page-navigation{flex-basis:100%;order:5}.topbar-search{width:auto;flex:1}}
@media(max-width:700px){.topbar:has(.page-navigation){min-height:64px}.page-navigation{gap:8px}.page-navigation .breadcrumbs{font-size:12px}.navigation-back{padding:5px 8px}.breadcrumbs li+li:before{padding:0 6px}}
.report-launch{display:flex;align-items:center;gap:10px;text-align:left;min-height:48px;padding:12px 14px;background:#f1f6ed;border:1px solid #dce7d5;border-radius:7px;color:#254e43;font-size:14px}
.report-launch:hover{background:#e2efd5}
@media(max-width:1000px){.report-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.report-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-hub{padding:14px}}

/* Focus is indicated by tone, without an extra frame anywhere in CRM. */
*:focus{outline:none!important;box-shadow:none!important}
input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable=true]:focus-visible{background-color:#f1f6ed}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{filter:brightness(.92)}
.registry-filterbar{align-items:end;gap:10px;margin-bottom:16px}.registry-filter{display:grid;gap:5px;min-width:110px;flex:1;max-width:200px;color:#7b8e6e;font-size:10px}.registry-filter input,.registry-filter select{width:100%;height:34px;border:1px solid #dce6d2;border-radius:6px;background:#fff;color:#466136;padding:6px 9px;font-size:11px;min-width:0}.registry-range{border:0;padding:0;margin:0}.registry-range legend{padding:0;margin-bottom:5px;font-size:10px}.registry-range>div{display:flex;align-items:center;gap:4px}.registry-range input{width:calc(50% - 7px)}.registry-filterbar .btn{height:34px;padding:7px 10px}.registry-filter input:focus,.registry-filter select:focus{outline:none}@media(max-width:700px){.registry-filter{max-width:none;flex-basis:calc(50% - 10px)}}
.orders-report-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.orders-report-filters label,.orders-report-chart-title label{display:grid;gap:6px;font-size:11px;color:#5f746a}.orders-report-filters input[type=date],.orders-report select{border:1px solid #dce5df;border-radius:6px;padding:8px;background:#fff;color:#23473d;font-size:12px}.orders-report-check{display:flex!important;align-items:center;padding:10px}.orders-report-period{font-weight:600;margin:20px 0 12px}.orders-report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.orders-report-card{border:1px solid #e0e8e1;border-top:3px solid #1d6d5a;border-radius:10px;padding:18px;background:#f7faf7}.orders-report-card.hired{border-top-color:#3d78b3;background:#f6f9fc}.orders-report-card.total{border-top-color:#7f8d85}.orders-report-card h2{font-size:14px;margin:0 0 12px}.orders-report-card>strong{font-size:28px}.orders-report-card small{font-size:12px;font-weight:400}.orders-report-card dl{font-size:11px;margin:14px 0 0}.orders-report-card dl>div{display:flex;justify-content:space-between;gap:10px;margin:8px 0}.orders-report-card dd{margin:0;font-weight:600;white-space:nowrap}.orders-report-chart{border:1px solid #e0e8e1;border-radius:10px;padding:16px;margin-bottom:20px}.orders-report-chart-title{display:flex;justify-content:space-between;align-items:center;gap:14px}.orders-report-chart h2{font-size:15px}.orders-report-legend{display:flex;gap:18px;font-size:11px;margin:12px 0}.orders-report-legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;background:#1d6d5a}.orders-report-legend .hired:before{background:#3d78b3}.orders-report-chart-scroll{overflow:auto}.orders-report-chart svg{display:block;width:100%;max-height:270px}.orders-report-table th,.orders-report-table td{font-size:11px;text-align:right;white-space:nowrap}.orders-report-table th:first-child,.orders-report-table td:first-child{text-align:left}.orders-report-table tfoot{font-weight:700;background:#f0f5ee}.orders-report-table thead th{text-align:center}@media(max-width:900px){.orders-report-cards{grid-template-columns:1fr}.orders-report-chart-title{align-items:start;flex-direction:column}}

.client-report .orders-report-filters{flex-wrap:wrap;gap:10px;align-items:end}.client-report [data-client-report-client]{max-width:260px}.client-period-table,.client-days-table{font-size:11px}.client-period-table th,.client-days-table th{text-align:center}.client-period-table th[scope="row"],.client-period-table thead tr:first-child>th:first-child,.client-days-table th:first-child{text-align:left;min-width:180px;max-width:280px;white-space:normal;position:sticky;left:0;background:#fff;z-index:1}.client-period-table td,.client-days-table td{text-align:right;white-space:nowrap}.client-report table tfoot th,.client-report table tfoot td{font-weight:700;background:#f1f6ef}.client-trend{display:inline-flex;gap:5px;align-items:center;white-space:nowrap}.client-trend.up{color:#147046}.client-trend.down{color:#b74838}.client-trend.flat{color:#67766f}.client-trend b{font-size:18px}.client-report-metrics{display:flex;gap:8px;margin:14px 0 8px}.client-report-metrics .btn{min-height:30px;padding:6px 12px}.client-period-table thead tr:first-child th{background:#f1f6ef}.client-days-table thead th{background:#f1f6ef;white-space:nowrap;min-width:88px}

.report-export-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0 8px;padding-top:14px;border-top:1px solid #e5ebe7}.report-export-footer small{color:#7b897f;font-size:11px}.report-export-footer button:disabled{opacity:.45;cursor:not-allowed}

/* Keep receivables filters inside their column at every saved width. */
.receivable-workspace{min-width:0;max-width:100%}
.receivable-data-table.order-data-table{min-width:0;table-layout:fixed}
.receivable-data-table.order-data-table th{vertical-align:top;padding:10px 12px;min-width:0}
.receivable-data-table .journal-sort{display:block;min-height:30px;max-width:100%;padding:0;margin-bottom:6px;overflow-wrap:anywhere;white-space:normal}
.receivable-data-table input[data-debt-column-filter]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:30px;padding:5px 6px;border:1px solid #dce5df;border-radius:6px;background:#fff;color:#23473d;font-size:11px}

/* Receivables starts directly below the top navigation. */
.main.receivables-main{padding-top:12px}
.receivables-main .page-heading{margin-bottom:16px}

/* All report tables retain their complete header while rows scroll. */
.orders-report .table-scroll:has(>table>thead){max-width:100%;max-height:65vh;max-height:65dvh;overflow:auto;overscroll-behavior:contain;isolation:isolate}
.orders-report .table-scroll>table>thead{position:sticky;top:0;z-index:5;background:#fcfdfb;box-shadow:0 1px 0 var(--line)}
.orders-report .table-scroll>table>thead th{background:#fcfdfb}
.orders-report .client-period-table thead tr:first-child th,.orders-report .client-days-table thead th{background:#f1f6ef}

/* Shared column controls for report tables. */
.report-column-controls{margin:12px 0;min-width:0}.report-column-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.report-column-controls [data-report-column-editor]{border:1px solid #dce7d5;border-radius:8px;padding:12px;margin-top:10px;max-height:50dvh;overflow:auto}.report-column-controls [hidden]{display:none}.report-column-toolbar small{font-size:11px;color:#657669}
.orders-report .configurable-report-table{table-layout:fixed;min-width:0}
.orders-report .configurable-report-table thead th{position:relative;left:auto;min-width:0;max-width:none;padding:12px 18px 12px 12px;white-space:normal;overflow-wrap:anywhere;cursor:grab}
.orders-report .configurable-report-table td,.orders-report .configurable-report-table tbody th,.orders-report .configurable-report-table tfoot th{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis}

.orders-report .configurable-report-table tbody th[scope=row]{position:static;left:auto}

/* A report occupies the viewport: its toolbar stays above scrolling rows. */
.report-pane-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.report-pane-shell>.topbar{flex-shrink:0;position:relative;z-index:25}
.main.report-pane-main{flex:1;min-height:0;width:100%;margin:0 auto;padding-top:10px;padding-bottom:10px;display:flex;flex-direction:column;overflow:auto}
.report-pane-main #view{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}
.report-pane-main #view>.page-heading{flex-shrink:0;margin-bottom:12px;background:var(--bg,#f5f7f2);position:sticky;top:0;z-index:10}
.report-pane-main #view>.page-heading .eyebrow{display:none}
.report-pane-main #view>.page-heading h1{margin:0;font-size:28px;line-height:1.2}
.report-pane-main .report-scroll-path{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
.report-pane-main .report-scroll-path>:not(.report-scroll-path):not(.report-row-viewport){flex-shrink:0}
.report-pane-main .orders-report{overflow:visible}
.report-pane-main .orders-report .report-row-viewport{flex:1 1 160px;height:0;min-height:160px;max-height:none;max-width:100%;overflow:auto}
.report-pane-main .report-column-controls{margin:8px 0}
.report-pane-main .report-export-footer{flex-shrink:0;margin:8px 0 0;padding-top:8px}
.report-pane-main>.footer{flex-shrink:0;margin-top:8px}
@media(max-width:650px){.report-pane-main #view>.page-heading h1{font-size:24px}}

/* Compact receivables toolbar matches the report's working grid. */
.report-pane-main #view>.receivables-heading{align-items:center;margin-bottom:0;padding-bottom:4px;gap:12px}
.receivables-heading-tools{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.receivables-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.receivables-heading-actions .btn{min-height:30px;padding:5px 9px;font-size:10px}
.receivables-import{gap:7px;white-space:nowrap}.receivables-import input{max-width:200px;min-width:0;font-size:10px}
.receivables-summary{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:3px 10px;font-size:10px;color:#657669}.receivables-summary b{color:#40584d;font-weight:600}
.receivables-heading .report-export-toolbar{margin:0;padding:0;border:0}
.report-pane-main:has(.receivables-heading)>.footer{display:none}
.receivables-report .orders-report-filters{gap:4px;margin:0;padding:0;align-items:end}
.receivables-report .orders-report-filters label{gap:2px;font-size:10px}
.receivables-report .orders-report-filters input[type=date],.receivables-report .orders-report-filters select{min-height:30px;padding:5px 7px;font-size:11px;min-width:0;width:100%}
.receivables-report .receivable-workspace>.orders-report-filters:first-child{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(110px,.65fr)) repeat(2,minmax(140px,.85fr)) minmax(110px,.65fr)}
.receivables-report .orders-report-filters .btn{min-height:30px;padding:5px 10px;font-size:11px;border-radius:5px}
.receivables-report .receivable-workspace>.orders-report-filters+ .orders-report-filters{padding:2px 0}
.receivables-report .receivable-data-table .journal-sort{min-height:18px;margin-bottom:3px}
.receivables-report .receivable-data-table input[data-debt-column-filter]{height:26px;padding:3px 6px}
.receivables-report .receivable-data-table.order-data-table th{padding-top:6px;padding-bottom:6px}
.receivables-report .receivable-workspace>p{margin:3px 0;font-size:10px}
@media(max-width:1000px){.receivables-report .receivable-workspace>.orders-report-filters:first-child{grid-template-columns:repeat(3,minmax(0,1fr))}.receivables-heading-tools{max-width:70%}}
@media(max-width:650px){.report-pane-main #view>.receivables-heading{align-items:flex-start;flex-direction:column;gap:5px}.receivables-heading-tools{align-items:flex-start;max-width:100%;width:100%}.receivables-heading-actions,.receivables-summary{justify-content:flex-start}.receivables-report .receivable-workspace>.orders-report-filters:first-child{grid-template-columns:repeat(2,minmax(0,1fr))}.receivables-import{flex-wrap:wrap;white-space:normal}}

/* Searchable customer filter and compact Excel actions. */
.receivables-heading-actions .report-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;cursor:pointer}
.receivables-import input[type=file]{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0;cursor:pointer}
.receivables-import:focus-within{outline:2px solid var(--accent,#275548);outline-offset:2px}
.debt-customer-filter{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:10px}
.debt-customer-picker{position:relative;min-width:0}
.debt-customer-picker summary{box-sizing:border-box;min-height:30px;padding:5px 7px;border:1px solid #dce5df;border-radius:6px;background:#fff;color:#23473d;font-size:11px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.debt-customer-popup{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:30;padding:8px;border:1px solid #dce5df;border-radius:8px;background:#fff;box-shadow:0 6px 20px #183e3426}
.debt-customer-popup input{box-sizing:border-box;width:100%;min-width:0;height:32px;font-size:12px}
.debt-customer-options{max-height:240px;max-height:35dvh;overflow:auto;margin-top:5px}
.debt-customer-options button{display:block;width:100%;border:0;border-radius:4px;background:none;text-align:left;padding:8px;color:#23473d;font:inherit;font-size:12px;cursor:pointer;overflow-wrap:anywhere}
.debt-customer-options button:hover,.debt-customer-options button:focus-visible,.debt-customer-options button[aria-pressed=true]{background:#eaf1e6}
.debt-customer-options button[hidden],.debt-customer-popup [hidden]{display:none}

/* One compact layout for every financial and management report. */
.report-pane-main #view>.compact-report-heading{align-items:center;margin-bottom:0;padding-bottom:4px;gap:12px}
.compact-report-tools{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0;max-width:80%}
.compact-report-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.compact-report-actions .report-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;cursor:pointer}
.report-import-icon input[type=file]{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0;cursor:pointer}
.report-import-icon:focus-within{outline:2px solid #275548;outline-offset:2px}
.compact-report-summary{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:3px 10px;font-size:10px;color:#657669}.compact-report-summary b{color:#40584d;font-weight:600}
.compact-report-heading .report-export-toolbar{margin:0;padding:0;border:0}
.report-pane-main>.footer{display:none}
.report-pane-main .orders-report-filters{gap:4px;margin:0;padding:0;align-items:end}
.report-pane-main .orders-report-filters label{gap:2px;font-size:10px;min-width:0}
.report-pane-main .orders-report-filters input:not([type=checkbox]):not([type=file]),.report-pane-main .orders-report-filters select{box-sizing:border-box;min-height:30px;height:30px;padding:5px 7px;border:1px solid #dce5df;border-radius:6px;background:#fff;color:#23473d;font-size:11px;min-width:0;max-width:100%}
.report-pane-main .orders-report-filters .btn,.report-pane-main .report-column-toolbar .btn,.report-pane-main .client-report-metrics .btn{min-height:30px;padding:5px 10px;font-size:11px;border-radius:5px}
.report-pane-main .orders-report-check{min-height:30px;padding:5px 7px}
.report-pane-main .report-column-controls{margin:2px 0}.report-pane-main .report-column-toolbar{gap:6px}.report-pane-main .report-column-toolbar small{font-size:10px}
.report-pane-main .orders-report-period{margin:4px 0;font-size:10px}
.report-pane-main .capacity-note{margin:4px 0;font-size:10px}
.report-pane-main .orders-report p[role=status],.report-pane-main .orders-report .form-info{margin:4px 0;font-size:11px}
.report-pane-main .configurable-report-table thead th{padding-top:6px;padding-bottom:6px;font-size:11px}
.report-fold{margin:3px 0;border:1px solid #e0e8e1;border-radius:5px;min-width:0;background:#fcfdfb}
.report-fold>summary{padding:5px 8px;font-size:11px;color:#40584d;cursor:pointer}
.report-fold[open]>:not(summary){margin:4px 8px}
.report-fold[open]{max-height:40dvh;overflow:auto}
.report-pane-main .orders-report-cards{gap:6px;margin-bottom:6px}
.report-pane-main .orders-report-card{padding:8px;border-radius:6px}
.report-pane-main .orders-report-card h2{margin-bottom:4px;font-size:11px}
.report-pane-main .orders-report-card>strong{font-size:18px}
.report-pane-main .orders-report-card dl{margin-top:6px;font-size:10px}
.report-pane-main .orders-report-card dl>div{margin:3px 0}
.report-pane-main .orders-report-chart{padding:8px;margin-bottom:6px}
.report-pane-main .orders-report-chart svg{max-height:180px}
.report-pane-main .orders-report-chart h2{font-size:12px;margin:3px 0}
.report-pane-main .orders-report-legend{margin:4px 0;font-size:10px}
.report-pane-main .client-report-metrics{gap:4px;margin:3px 0}
.report-select-picker{position:relative;min-width:160px;max-width:260px}
.report-select-picker summary{box-sizing:border-box;height:30px;padding:5px 7px;border:1px solid #dce5df;border-radius:6px;background:#fff;color:#23473d;font-size:11px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-select-popup{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:30;padding:8px;border:1px solid #dce5df;border-radius:8px;background:#fff;box-shadow:0 6px 20px #183e3426}
.report-select-popup input{box-sizing:border-box;width:100%;min-width:0;height:32px;font-size:12px}
.report-select-options{max-height:240px;max-height:35dvh;overflow:auto;margin-top:5px}
.report-select-options button{display:block;width:100%;border:0;border-radius:4px;background:none;text-align:left;padding:8px;color:#23473d;font:inherit;font-size:12px;cursor:pointer;overflow-wrap:anywhere}
.report-select-options button:hover,.report-select-options button:focus-visible,.report-select-options button[aria-pressed=true]{background:#eaf1e6}
.report-select-options button[hidden],.report-pane-main select[hidden]{display:none}
@media(max-width:650px){.report-pane-main #view>.compact-report-heading{align-items:flex-start;flex-direction:column;gap:5px}.compact-report-tools{align-items:flex-start;max-width:100%;width:100%}.compact-report-actions,.compact-report-summary{justify-content:flex-start}.report-pane-main .orders-report-filters>*{max-width:100%}.report-pane-main .orders-report-filters label{flex:1 1 130px}.report-select-picker{max-width:none;min-width:0}.report-pane-main .orders-report-cards{grid-template-columns:1fr}.report-pane-main .order-table-row{grid-template-columns:1fr;gap:6px}}

.main.report-pane-main{max-width:none}
.report-pane-main .orders-report .data-table td,.report-pane-main .orders-report .data-table tbody th{padding-top:8px;padding-bottom:8px}
@media(max-width:650px){.compact-report-actions .report-icon-button{width:40px;height:40px;min-height:40px}.report-pane-main .orders-report-filters input:not([type=checkbox]):not([type=file]),.report-pane-main .orders-report-filters select,.report-select-picker summary{min-height:36px;height:36px}.report-pane-main .orders-report-filters .btn{min-height:36px}}
/* Administration permission matrix. */
.admin-tabs,.admin-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:10px 0}
.admin-access{padding:12px;overflow:visible}.admin-toolbar label{display:grid;gap:4px;font-size:11px;color:#5f746a}.admin-toolbar input,.admin-toolbar select,.admin-group-form input:not([type=checkbox]){height:34px;max-width:100%;border:1px solid #dce5df;border-radius:6px;padding:5px 8px;background:#fff;min-width:0}
.admin-policy-note{font-size:11px;color:#657669;line-height:1.5;margin:8px 0}.admin-matrix-scroll{overflow:auto;max-height:65dvh;border:1px solid #e0e8e1;border-radius:6px}
.admin-matrix{font-size:11px;min-width:1150px}.admin-matrix thead{position:sticky;top:0;z-index:4}.admin-matrix th,.admin-matrix td{padding:7px 9px}.admin-matrix thead th{background:#f1f6ef}.admin-matrix tbody th{white-space:normal;min-width:180px;max-width:260px}.admin-matrix code{font-size:10px;color:#79867f;white-space:normal;overflow-wrap:anywhere}.admin-matrix td:nth-child(2){max-width:210px;white-space:normal}.admin-matrix select{max-width:110px;font-size:10px;padding:5px 3px;border:1px solid #dce5df;border-radius:4px;background:#fff}.admin-matrix small{display:block;font-size:9px;color:#79867f}.admin-category th{background:#e8f0df;font-weight:650;letter-spacing:.2px}.admin-na{text-align:center;color:#bcc4bd}.admin-group-form{border:1px solid #dce5df;border-radius:7px;padding:10px;display:flex;gap:10px;flex-wrap:wrap}.admin-group-form>label{display:grid;gap:5px;font-size:11px}.admin-members{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;max-height:200px;overflow:auto}.admin-members label{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}.admin-members small{font-size:10px;color:#79867f}.admin-access .form-error:empty{display:none}
.nav button[hidden],.report-buttons button[hidden]{display:none}
@media(max-width:650px){.admin-toolbar>*{max-width:100%}.admin-toolbar label{flex:1 1 140px}.admin-toolbar select{width:100%}.admin-access{padding:8px}.admin-tabs .btn{padding:7px 9px;font-size:11px}.admin-matrix-scroll{max-height:60dvh}}

.journal-import-dialog{width:min(1100px,96vw);max-width:1100px}.journal-import-drop{padding:16px;border:1px dashed #a4b3c4;border-radius:8px;margin-bottom:12px}.journal-import-mapping{max-height:300px}.journal-import-protocol{max-height:260px}.journal-import-dialog select{max-width:340px}.journal-import-dialog .drawer-body{overflow:auto}

/* Shared Plasticway controls and the 3 mm lower workspace strip. */
:root{--crm-lower-frame:3mm;--crm-action-radius:3px;--crm-action-height:26px}
body .shell>.main{padding-bottom:var(--crm-lower-frame)}
.shell>.topbar{box-sizing:border-box;width:100%;min-width:0}
.client-report-shell>.topbar{height:44px;min-height:44px;padding-inline:24px}
.client-report-shell .topbar-search{height:28px;padding-block:4px}
.client-report-shell .account-menu-trigger{padding-block:4px}
.client-report-shell .main{width:100%;max-width:none;padding-top:0}
.report-pane-main #view>.client-report-heading{flex-wrap:wrap;align-items:center;gap:4px 12px;padding-top:6px;padding-bottom:6px}
.client-report-heading>.orders-report-filters{order:3;flex:1 0 100%;display:flex;flex-wrap:wrap;gap:4px 6px}
.client-report-heading>.compact-report-tools{margin-left:auto}
.client-report-heading .orders-report-filters label{flex:0 1 150px;max-width:260px}
.client-report-heading .orders-report-filters label:has(input[type=date]){flex-basis:115px}
.client-report-heading .report-select-picker{min-width:0;width:100%}
.shell .btn[data-crm-button],.drawer .btn[data-crm-button],.doc-row-actions>button[data-crm-button]{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:var(--crm-action-height);padding:4px 9px;border-radius:var(--crm-action-radius);font-size:11px;line-height:1.2;border:0;box-shadow:0 1px 2px #0002;color:#fff;background:#536f62}
[data-crm-button=add],[data-crm-button=save],[data-crm-button=export]{--crm-button-color:#159947}
[data-crm-button=delete]{--crm-button-color:#e52d3a}
[data-crm-button=copy]{--crm-button-color:#1775e5}
[data-crm-button=import]{--crm-button-color:#008b9a}
[data-crm-button=note]{--crm-button-color:#9644db}
[data-crm-button=close],[data-crm-button=settings]{--crm-button-color:#536f62}
.shell .btn[data-crm-button],.drawer .btn[data-crm-button],.shell .icon-btn[data-crm-button],.drawer .icon-btn[data-crm-button],.doc-row-actions>button[data-crm-button]{background:var(--crm-button-color,#536f62);color:#fff;border-radius:var(--crm-action-radius)}
.shell .icon-btn[data-crm-button],.drawer .icon-btn[data-crm-button],.compact-report-actions .report-icon-button[data-crm-button]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;padding:1px;border:0;box-shadow:0 1px 2px #0002}
[data-crm-button] svg{width:12px;height:12px;flex:none}
[data-crm-button]:disabled{opacity:.45;cursor:not-allowed}
.shell .btn.btn-secondary[aria-pressed=false]{opacity:.7}
.crm-header-controls{display:flex;align-items:center;gap:4px;min-width:0;padding-right:4px}
.crm-column-sort{font:inherit;font-weight:inherit;text-align:left;color:inherit;flex:1;min-width:0;padding:0;overflow-wrap:anywhere}
[aria-sort=ascending] .crm-column-sort:after{content:' ▴'}
[aria-sort=descending] .crm-column-sort:after{content:' ▾'}
.crm-column-filter{position:relative;flex:none}
.crm-column-filter>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:16px;height:16px;cursor:pointer;color:#536f62;border-radius:3px}
.crm-column-filter>summary::-webkit-details-marker{display:none}
.crm-column-filter[open]>summary{background:#d4eea6}
.crm-column-filter>input{display:block;width:100%;min-width:80px;max-width:100%;padding:4px;border:1px solid #dce5df;border-radius:3px;font-size:11px;background:#fff;color:#23473d}
.crm-column-filter[open]{flex:1;min-width:80px}
.crm-header-controls:has(.crm-column-filter[open]){flex-wrap:wrap}
.crm-header-controls:has(.crm-column-filter[open])>.crm-column-sort{flex-basis:100%}
.shell .table-scroll::-webkit-scrollbar{height:var(--crm-lower-frame);width:var(--crm-lower-frame)}
.shell .table-scroll::-webkit-scrollbar-thumb{background:#52746640;border-radius:3px}
.shell .footer{min-height:var(--crm-lower-frame);padding-block:0}
@media(max-width:700px){.shell .icon-btn[data-crm-button],.drawer .icon-btn[data-crm-button],.compact-report-actions .report-icon-button[data-crm-button]{width:32px;height:32px;min-width:32px;min-height:32px}.shell .btn[data-crm-button],.drawer .btn[data-crm-button]{min-height:36px}.client-report-shell>.topbar{padding-inline:16px}.client-report-heading .orders-report-filters label{flex:1 1 130px;max-width:none}.client-report-shell .topbar-search{min-width:0}}

[data-crm-button=mark]{--crm-button-color:#ed8500}
.shell .btn-primary[data-crm-button=settings],.drawer .btn-primary[data-crm-button=settings]{background:#159947}

/* Stretch list workspaces to the window; the only bottom gutter is 3 mm. */
.crm-fill-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.crm-fill-shell>.topbar{flex:none}
.crm-fill-shell>.main{flex:1;min-height:0;width:100%;margin:0 auto;display:flex;flex-direction:column;overflow:auto}
.crm-fill-shell #view,.crm-fill-path{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
.crm-fill-shell #view>:not(.crm-fill-path):not(.crm-fill-viewport),.crm-fill-path>:not(.crm-fill-path):not(.crm-fill-viewport){flex-shrink:0}
.crm-fill-shell .crm-fill-viewport{flex:1 1 160px;height:0;min-height:160px;max-height:none;overflow:auto}
.crm-fill-shell .crm-fill-path{margin-bottom:0;padding-bottom:0}
.crm-fill-shell>.main>.footer{display:none}
.crm-fill-shell .crm-fill-viewport thead{position:sticky;top:0;z-index:5;background:#fcfdfb}
.crm-fill-shell .crm-fill-viewport thead th{background:#fcfdfb}

/* Every CRM section uses the compact order journal's top bar. */
:root{--crm-topbar-height:44px;--crm-topbar-inset:24px}
body .shell>.topbar{box-sizing:border-box;width:100%;height:var(--crm-topbar-height);min-height:var(--crm-topbar-height);max-height:var(--crm-topbar-height);flex-shrink:0;flex-wrap:nowrap;padding-top:0;padding-bottom:0;padding-inline:var(--crm-topbar-inset);gap:12px}
body .shell>.topbar>.page-navigation{flex:1 1 0;min-width:0;order:0;gap:12px}
body .shell>.topbar .topbar-search{flex:0 1 245px;width:min(245px,22vw);min-width:100px;height:28px;padding:4px 8px}
body .shell>.topbar .account-menu>summary{min-height:33px;padding-block:0}
body .shell>.topbar .navigation-back{min-height:28px;padding:5px 10px}
@media(max-width:1100px){body .shell>.topbar .account-role{display:none}body .shell>.topbar .topbar-search .key{display:none}}
@media(max-width:700px){
 :root{--crm-topbar-inset:16px}
 body .shell>.topbar{height:80px;min-height:80px;max-height:80px;flex-wrap:wrap;align-content:center;gap:4px 10px}
 body .shell>.topbar>.page-navigation{order:5;flex:1 0 100%;gap:8px}
 body .shell>.topbar .topbar-search{flex:1 1 100px;width:auto;min-width:0;height:32px}
}

.client-report-shortcuts{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.client-abc-category{display:inline-block;min-width:22px;text-align:center;padding:2px 5px;border-radius:3px;font-weight:600;background:#edf1eb;color:#536f62}
.client-abc-a{background:#d4eea6;color:#23473b}.client-abc-b{background:#fff0d3;color:#805b16}.client-abc-c{background:#e2ebf7;color:#365984}

body .shell>.topbar .navigation-back{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;padding:4px}
.client-insight-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:4px 0;font-size:11px}.client-insight-tools select{max-width:180px}
.client-insight-note{font-size:10px;color:#657669;margin:4px 0;line-height:1.4}
/* Personal view settings preserve CRM controls and stay within narrow screens. */
.client-groups-controls{width:100%;gap:6px;margin:2px 0;flex-wrap:wrap}.client-groups-controls small{color:#7a897f;font-size:10px}.client-group-list{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.client-group-members{max-height:45vh;overflow:auto;display:grid;gap:8px;margin:12px 0}.client-group-members label{display:flex;align-items:center;gap:7px;font-size:12px}.client-group-members small{color:#7a897f}.client-group-members label[hidden]{display:none}
.personal-filter-size{position:relative;flex-shrink:0;min-width:90px;max-width:100%;padding-right:8px;box-sizing:border-box}.personal-filter-size input,.personal-filter-size select{width:100%;min-width:0;box-sizing:border-box}.personal-filter-handle{position:absolute;right:0;top:5px;bottom:3px;width:6px;cursor:ew-resize;touch-action:none;border-right:1px dotted #8ba38e}.personal-row-toolbar{display:flex;justify-content:flex-end;gap:6px;font-size:10px;margin:2px 0}.personal-row-toolbar input{width:54px;border:1px solid #dce5df;border-radius:4px;font:inherit;padding:2px 4px}.personal-row-cell{position:relative}.personal-row-handle{position:absolute;bottom:0;left:0;width:100%;height:4px;cursor:ns-resize;touch-action:none}.personal-row-handle:hover{background:#9fb78a}.personal-row-height tbody tr:not(.journal-window-spacer){height:var(--crm-row-height)}.personal-row-height tbody tr:not(.journal-window-spacer)>td,.personal-row-height tbody tr:not(.journal-window-spacer)>th{height:var(--crm-row-height);box-sizing:border-box;padding-top:3px;padding-bottom:3px}
@media(max-width:650px){.client-groups-controls{align-items:flex-start}.client-groups-controls>label{max-width:100%}.personal-filter-size{max-width:100%!important}.client-group-members label{flex-wrap:wrap}.personal-row-toolbar{justify-content:flex-start}}
.orders-shell .journal-filters label.personal-filter-size[style]{flex-basis:auto}.orders-shell #records .journal-virtual-panel .order-data-table.personal-row-height tr[data-journal-row]{height:var(--crm-row-height)}
/* One lower frame and one action/filter area for all reports. */
body .report-pane-shell>.main{padding-bottom:var(--crm-lower-frame);overflow:hidden}
body .report-pane-main .report-scroll-path{margin-bottom:0;padding-bottom:0}
body .report-pane-main #view>.panel{margin-bottom:0}
body .report-pane-main .orders-report .report-row-viewport{flex:1 1 0;height:0;min-height:0;margin-bottom:0}
body .report-pane-main #view>.compact-report-heading{flex-wrap:wrap;gap:3px 8px;padding-block:3px;margin-bottom:0}
body .report-pane-main .compact-report-tools{order:4;flex:1 0 100%;max-width:100%;width:100%;flex-direction:row;align-items:center;gap:5px}
body .report-pane-main .compact-report-actions{justify-content:flex-start;gap:4px;flex-wrap:wrap}
body .report-pane-main .compact-report-summary{margin-left:auto}
body .report-pane-main .report-filter-bar{order:3;flex:1 0 100%;width:100%;display:flex;align-items:flex-end;flex-wrap:wrap;gap:3px 5px}
body .report-pane-main .client-groups-controls{width:auto;display:contents}
body .report-pane-main .client-groups-controls>small{display:none}
body .report-pane-main .report-filter-caption{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}
body .report-pane-main .orders-report-filters label{min-width:0;max-width:100%;gap:1px}
body .report-pane-main label[data-compact-field=client],body .report-pane-main label[data-compact-field=group]{flex:0 0 auto;width:45px;min-width:45px}
body .report-pane-main label[data-compact-field=show]{flex:0 0 auto;width:75px;min-width:75px}
body .report-pane-main label[data-compact-field=period]{flex:0 0 auto;width:92px;min-width:90px}
body .report-pane-main .orders-report-filters input:not([type=checkbox]):not([type=file]),body .report-pane-main .orders-report-filters select,body .report-pane-main .report-select-picker>summary,body .report-pane-main .debt-customer-picker>summary{height:24px;min-height:24px;padding:3px 4px;font-size:10px;border-radius:3px}
body .report-pane-main .orders-report-check{min-height:24px;padding:3px 4px}
body .report-pane-main .report-select-picker{width:100%;min-width:0;max-width:100%}
body .report-pane-main .report-select-popup{min-width:220px;width:max-content;max-width:min(320px,80vw);right:auto}
body .report-pane-main .report-square-action,body .report-pane-main .btn.report-square-action[data-crm-button]{width:16px;height:16px;min-width:16px;min-height:16px;max-height:16px;flex:0 0 16px;padding:1px;border:0;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0002}
.report-square-action svg{width:12px;height:12px}.report-square-action[aria-pressed=true]{outline:1px solid #1c4f3b;outline-offset:1px}
[data-report-action=abc]{--crm-button-color:#1775e5}[data-report-action=dynamics]{--crm-button-color:#008b9a}[data-report-action=profitability]{--crm-button-color:#159947}[data-report-action=payments]{--crm-button-color:#6354b6}[data-report-action=lost]{--crm-button-color:#e52d3a}[data-report-action=retention]{--crm-button-color:#27896c}[data-report-action=concentration]{--crm-button-color:#b47314}[data-report-action=managers]{--crm-button-color:#9644db}
body .report-pane-main .report-column-controls{margin:0;padding:0;border:0}
body .report-pane-main .report-column-controls:not(:has([data-report-column-editor]:not([hidden]))){display:none}
body .report-pane-main .report-column-toolbar{margin:0;gap:3px;display:flex;align-items:center}
body .report-pane-main .report-column-toolbar small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body .report-pane-main .personal-row-toolbar{margin:0;font-size:9px;flex:none}
body .report-pane-main .personal-row-toolbar input{height:16px;width:38px;padding:0 2px}
body .report-pane-main .orders-report table.data-table{table-layout:fixed;border-collapse:separate;border-spacing:0;max-width:none}
body .report-pane-main .orders-report table.data-table th,body .report-pane-main .orders-report table.data-table td{box-sizing:border-box;min-width:0;max-width:none;padding-left:5px;padding-right:5px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal}
body .report-pane-main .orders-report table.data-table .client-trend{white-space:normal;flex-wrap:wrap;max-width:100%}
body .report-pane-main .orders-report table.data-table .cell-secondary{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:650px){body .report-pane-main .compact-report-summary{margin-left:0;flex-basis:100%}body .report-pane-main .compact-report-tools{flex-wrap:wrap}body .report-pane-main #view>.compact-report-heading{flex-direction:row}body .report-pane-main .report-filter-bar{max-width:100%}body .report-pane-main .orders-report-filters label{flex-grow:0;flex-shrink:0}.report-square-action:before{content:'';position:absolute;width:28px;height:24px}.report-square-action{position:relative}}
body .report-pane-main .orders-report table.data-table:has(colgroup){min-width:0}

body .client-report-shell [data-report-metadata][hidden]{display:none!important}

/* Make grouping state distinct from the green report submit icon. */
body .report-pane-main .client-group-switch{flex-direction:row;gap:5px;white-space:nowrap;cursor:pointer}
body .report-pane-main .client-group-switch input[type=checkbox]{width:13px;height:13px;flex:0 0 13px;margin:0;accent-color:#254e43;order:0}
body .report-pane-main .client-group-switch>span{order:1}
body .report-pane-main .client-group-switch>b{order:2;font-size:10px;font-weight:500;color:#8a5746}
body .report-pane-main .client-group-switch:has(input:checked)>b{color:#254e43}

body .report-pane-main [data-profitability-norm-label][hidden]{display:none!important}

/* Dynamics uses the same compact controls and internal workspace scroll. */
.trend-metric-buttons{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.trend-metric-buttons .report-square-action[aria-pressed=true]{outline:2px solid #224e43;outline-offset:1px}
[data-trend-metric=customerNetAmount]{--crm-button-color:#1775e5}[data-trend-metric=customerAmount]{--crm-button-color:#6354b6}[data-trend-metric=count]{--crm-button-color:#27896c}[data-trend-metric=deltaWithoutTax]{--crm-button-color:#159947}[data-trend-dashboard]{--crm-button-color:#008b9a}
.trend-metric-caption{margin:3px 0;font-size:11px;color:#40584d}
.trend-report-dashboard{flex:0 0 auto;min-width:0;margin:3px 0;border:1px solid #e0e8e1;border-radius:5px;padding:5px;background:#fcfdfb}
.trend-report-dashboard h2{font-size:12px;margin:2px 0}
.trend-chart-scroll{overflow:auto;max-height:28dvh;min-width:0}
.trend-chart-scroll svg{display:block;width:100%;height:220px}
body .trend-report [data-report-metadata][hidden]{display:none!important}

.trend-direction{display:inline-flex;vertical-align:middle;margin-left:2px;flex:none;line-height:1}.trend-direction.up{color:#159947}.trend-direction.down{color:#d53438}
.crm-header-sized-table{max-width:none;table-layout:fixed}.crm-header-sized-table th,.crm-header-sized-table td{white-space:normal;overflow-wrap:anywhere;min-width:0}.crm-header-sized-table :is(input,select){max-width:100%;min-width:0;box-sizing:border-box}

body .crm-close-button,body .drawer-header button:is([data-action="close"],[data-blank-action="close-preview"],[data-record-text-close]){display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:4px!important;border:1px solid #d64545!important;border-radius:3px!important;background:#fff!important;color:#d52b2b!important;box-sizing:border-box}body .crm-close-button:hover,body .drawer-header button:is([data-action="close"],[data-blank-action="close-preview"],[data-record-text-close]):hover{background:#fff0f0!important}body .crm-close-button svg,body .drawer-header button:is([data-action="close"],[data-blank-action="close-preview"],[data-record-text-close]) svg{width:14px!important;height:14px!important;color:inherit;stroke:currentColor}

.doc-template-panel .doc-template-table{min-width:0;white-space:normal}.doc-template-table td,.doc-template-table th{white-space:normal;overflow-wrap:anywhere;vertical-align:middle}.doc-template-table .doc-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.doc-template-table .doc-row-actions>.doc-template-action,.doc-template-table .doc-row-actions>button[data-crm-button]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;padding:2px!important;border-radius:3px!important;text-decoration:none;box-sizing:border-box;background:#527466;color:white;border:0}.doc-template-action svg{width:12px;height:12px;flex:none}.doc-template-table [data-doc-action=archive]{background:#d64545!important}.doc-template-panel .table-scroll{width:100%;min-width:0}

/* Shared compact workspace: retain one title and the exact lower frame. */
body .shell>.main{width:100%;max-width:none;margin-inline:0;padding-top:8px;padding-inline:16px;padding-bottom:var(--crm-lower-frame)}
body .shell>.main>.demo-banner,body .shell>.main>.footer,body .main #view>.page-heading .eyebrow,body .main #view>.page-heading .subtitle{display:none}
body .main #view>.page-heading{margin:0 0 8px;gap:8px;align-items:center}
body .main #view>.page-heading h1{margin:0;font-size:24px;line-height:1.25}
body .main .doc-work-panel{padding:8px;margin-bottom:0}
body .main #view>.doc-help{display:none}
body .main .report-column-controls{margin-block:0 5px}
body .main .report-column-toolbar{margin:0;gap:6px}
body .main .personal-row-toolbar{margin-block:0 5px;padding:0}
body .crm-fill-shell .crm-fill-path{margin-bottom:0;padding-bottom:0}
body .crm-fill-shell .crm-fill-viewport{min-height:0;flex:1 1 0;max-height:none}
@media(max-width:650px){body .shell>.main{padding-inline:8px}body .main #view>.page-heading h1{font-size:20px}}

.doc-template-table [data-doc-action=delete-template]{background:#d64545!important}

/* Directory registries share one full-width fixed grid for the header and rows. */
:is(.carrier-registry-table,[data-registry-grid]){min-width:100%;table-layout:fixed}
:is(.carrier-registry-table,[data-registry-grid]) thead th{position:relative;left:auto;min-width:0;max-width:none;padding-right:18px;white-space:normal;overflow-wrap:anywhere;cursor:grab;overflow:visible}
:is(.carrier-registry-table,[data-registry-grid]) :is(th,td){white-space:normal;overflow-wrap:anywhere;min-width:0}
:is(.carrier-registry-table,[data-registry-grid]) .order-column-resize-handle{right:0;width:10px;z-index:8}
:is(.carrier-registry-table,[data-registry-grid]) .order-column-resize-handle::after{left:auto;right:0;top:0;bottom:0;width:1px}
:is(.carrier-registry-table,[data-registry-grid]) .crm-header-controls{min-width:0;max-width:100%}
:is(.carrier-registry-table,[data-registry-grid]) .crm-column-sort{white-space:normal;overflow-wrap:anywhere}
/* Keep user management actions compact and scoped to the Users table. */
.users-table td:nth-child(5){padding-left:8px;padding-right:8px}.users-table .user-row-actions{display:flex;align-items:center;gap:4px}.users-table .user-delete-button{flex:0 0 30px;width:30px;height:32px;border-radius:7px;background:#f8efec;color:#a25040}
.driver-app-access [hidden]{display:none!important}
.driver-app-access .heading-actions{justify-content:flex-start;flex-wrap:wrap;gap:8px}
.driver-app-access [data-access-confirm],.driver-app-access [data-access-pin-box]{margin-top:12px}
.driver-app-access [data-access-pin]{display:inline-block;font-size:24px;letter-spacing:4px;margin-right:12px;user-select:all}

.order-form-layout{min-width:0}.order-sections{display:grid;gap:14px}.order-section{border:1px solid #dce7d5;border-radius:12px;background:#fbfdf9;overflow:hidden}.order-section>summary{cursor:pointer;padding:14px 18px;font-weight:700;color:#294635;list-style:auto}.order-section-grid{display:flex;flex-wrap:wrap;gap:15px;padding:2px 18px 20px}.order-field{box-sizing:border-box;flex:0 0 calc(var(--field-span) - 15px);min-width:150px}.order-field input,.order-field select,.order-field textarea{width:100%;max-width:100%;box-sizing:border-box}.order-field textarea{min-height:48px;resize:vertical}.order-field textarea[data-expand="1"]{field-sizing:content}.order-field[hidden]{display:none}.order-field input[type="checkbox"]{width:auto}.order-builder{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:18px}.order-builder .panel{padding:22px}.order-builder-section{border:1px solid #dde7d6;border-radius:10px;margin:12px 0;background:#fff;overflow:hidden}.order-builder-fields{padding:0 12px 12px 28px;min-height:20px}.order-builder-row{display:flex;align-items:center;gap:8px;min-height:42px;border-bottom:1px solid #edf0ea;padding:5px 9px}.order-builder-row .text-link{text-align:left;margin-right:auto}.order-builder-row small{color:#657669}.order-builder-row.selected{background:#eef5e8}.drag-handle{cursor:grab;color:#82927f;font-size:18px}.order-property-fields{display:grid;gap:13px}.order-property-fields label{display:grid;gap:6px;font-size:14px}.order-property-fields input:not([type=checkbox]),.order-property-fields select,.order-property-fields textarea{width:100%;min-width:0;border:1px solid #d7e2d0;border-radius:8px;padding:9px;font:inherit;box-sizing:border-box}.order-property-fields label:has(input[type=checkbox]){display:flex;align-items:center}.order-table-editor{display:grid;gap:6px}.order-table-row{display:flex;align-items:center;gap:12px;padding:9px;border-bottom:1px solid #dce7d5}.order-table-row>label:first-child{flex:1}.order-table-row input[type=number]{width:72px}.order-data-table{table-layout:fixed;min-width:max-content}.order-data-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-data-table td:last-child{min-width:40px}
@media(max-width:900px){.order-builder{grid-template-columns:1fr}}@media(max-width:650px){.order-section-grid{display:block}.order-field{width:100%;margin:0 0 14px}.order-builder .panel{padding:15px}.order-builder-row{flex-wrap:wrap}.order-table-row{flex-wrap:wrap}}
.order-section-grid{min-width:0}.order-field{position:relative;min-width:min(180px,100%);max-width:100%;padding-right:22px}.order-resize-handle{position:absolute;top:-5px;right:-2px;display:grid;place-items:center;width:23px;height:26px;border:1px solid #cadbc3;border-radius:6px;background:#f0f6ea;color:#4c7850;font-size:15px;line-height:1;cursor:ew-resize;touch-action:none;user-select:none}.order-resize-handle:hover,.order-resize-handle:focus-visible{background:#dcebcf;border-color:#83a876}.order-resizing,.order-resizing *{cursor:ew-resize!important;user-select:none!important}.order-field textarea{max-height:1200px;min-width:0}
@media(max-width:650px){.order-field{flex:none;width:100%;padding-right:0}.order-resize-handle{display:none}.order-section-grid{min-width:0}.order-section{min-width:0}}
.order-data-table{table-layout:fixed}.order-data-table th{position:relative;overflow:visible;padding-right:18px}.order-column-resize-handle{position:absolute;right:-7px;top:0;bottom:0;width:15px;z-index:2;cursor:col-resize;touch-action:none;user-select:none}.order-column-resize-handle::after{content:"";position:absolute;top:25%;bottom:25%;left:7px;width:2px;background:#c8d6c5;border-radius:2px}.order-column-resize-handle:hover::after{background:#619777;width:3px}.order-data-table td{max-width:0}.order-data-table td:last-child{max-width:none}.table-scroll:has(.order-data-table){max-width:100%;overflow-x:auto}

 .order-table-navigation{padding:12px 18px;border-bottom:1px solid var(--line);background:#f7faf4}.order-table-navigation label{display:flex;align-items:center;gap:16px;font-size:14px;color:#40584d}.order-table-navigation input[type=range]{appearance:none;-webkit-appearance:none;flex:1;min-width:80px;height:36px;background:transparent;cursor:ew-resize;margin:0}.order-table-navigation input[type=range]::-webkit-slider-runnable-track{height:18px;border-radius:4px;background:#dce6d6;border:1px solid #b6c9af}.order-table-navigation input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:76px;height:30px;margin-top:-7px;border:2px solid #fff;border-radius:5px;background:#254e43;box-shadow:0 1px 4px #254e4340;cursor:grab}.order-table-navigation input[type=range]::-moz-range-track{height:18px;border-radius:4px;background:#dce6d6;border:1px solid #b6c9af}.order-table-navigation input[type=range]::-moz-range-thumb{width:72px;height:26px;background:#254e43;border:2px solid white;border-radius:5px;cursor:grab}.order-table-navigation input[type=range]:focus-visible{outline:2px solid #254e43;outline-offset:3px;border-radius:5px}.order-card-tablist{display:flex;gap:6px;border-bottom:1px solid #dce7d5;margin-bottom:20px}.order-card-tab{padding:13px 22px;border:0;border-bottom:3px solid transparent;background:transparent;color:#52645a;font:inherit;font-weight:600;cursor:pointer}.order-card-tab.active{color:#254e43;border-bottom-color:#254e43;background:#eef5e8}.order-card-tab:hover{background:#f2f7ee}.order-card-tab:focus-visible{outline:2px solid #254e43;outline-offset:-3px}.order-card-panel[hidden]{display:none}.order-card-panel{min-width:0}@media(max-width:650px){.order-table-navigation label{flex-wrap:wrap;gap:4px}.order-table-navigation input[type=range]{width:100%;flex-basis:100%}.order-card-tab{flex:1;padding:12px 8px}}
.order-request{display:grid;gap:18px}.request-block{border:1px solid #dce7d5;border-radius:10px;padding:18px;background:#fbfdf9}.request-block h3{margin:0 0 16px;font-size:17px;color:#294635}.request-block .request-block{margin-top:16px;background:#fff}.request-grid{display:flex;gap:16px;flex-wrap:wrap;align-items:start}.request-grid>.field{flex:1 1 calc(33.333% - 16px);min-width:min(180px,100%);margin:0}.request-grid>.request-full{flex-basis:100%}.request-grid .order-field{flex-basis:calc(var(--field-span) - 16px)}.request-grid>.btn{align-self:end}.request-grid input,.request-grid select{width:100%;min-width:0}.request-extra-load{border:1px solid #dce7d5;border-radius:8px;margin:14px 0;padding:16px}.request-extra-load h4,.request-quick h4{margin:0 0 14px}.request-extra-load>.btn{margin-top:12px}.request-quick{border:1px solid #b6c9af;background:#eef5e8;padding:16px;border-radius:8px;width:100%;box-sizing:border-box}.request-quick>.btn{margin:14px 8px 0 0}.request-quick [role=alert]{color:#a13232;margin-top:8px}.request-hint{margin:0;color:#657669;font-size:14px}.request-readonly{padding:0;margin:0;border:0;min-width:0;display:grid;gap:18px}.request-readonly input:disabled,.request-readonly select:disabled,.request-readonly textarea:disabled{opacity:1;color:#294635;background:#fff;-webkit-text-fill-color:#294635}.request-readonly .order-resize-handle{display:none}.request-readonly .order-field{padding-right:0}.request-status{margin-top:20px}@media(max-width:650px){.request-grid{display:grid;grid-template-columns:minmax(0,1fr)}.request-grid>.field{width:100%;min-width:0}.request-block{padding:14px}.request-grid>.request-full{width:100%}}
.request-grid.order-section-grid{padding:0}.request-grid .order-field{margin-bottom:0}
/* Order cards use the full viewport. */
.drawer:has(.order-card-tabs){width:100vw;max-width:none;height:100dvh}.drawer:has(.order-card-tabs) .drawer-body{min-height:0}.drawer:has(.order-card-tabs) .drawer-footer{flex-wrap:wrap}.drawer:has(.order-card-tabs) .drawer-footer>.btn[type=submit]{margin-right:auto}

.order-search-select{position:relative;min-width:0;width:100%}.order-search-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0;pointer-events:none}.order-search-input{padding-right:42px!important;cursor:text}.order-search-clear{position:absolute;right:8px;top:5px;height:32px;width:32px;border-radius:5px;font-size:22px;color:#52645a}.order-search-clear:hover{background:#eef5e8}.order-search-clear[hidden]{display:none}.order-search-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #b6c9af;border-radius:8px;box-shadow:0 8px 24px #203d3626;max-height:280px;overflow-y:auto;z-index:15}.order-search-options[hidden]{display:none}.order-search-option{padding:11px 14px;cursor:pointer;border-bottom:1px solid #edf0ea}.order-search-option:last-child{border-bottom:0}.order-search-option strong{display:block;font-size:14px;font-weight:500}.order-search-option small{display:block;margin-top:4px;font-size:13px;color:#657669}.order-search-option:hover,.order-search-option.highlighted{background:#eef5e8}.order-search-option[aria-selected=true]{box-shadow:inset 3px 0 #254e43}.order-search-empty{padding:14px;color:#657669;font-size:14px}.request-block:has(.order-search-select){overflow:visible}.order-section:has(.order-search-select){overflow:visible}
.order-search-options.opens-up{top:auto;bottom:calc(100% + 4px)}

/* Compact request fields and paired route/fleet sections. */
.request-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.request-column{min-width:0}.request-columns .request-block{margin-top:0}.request-grid .order-field{flex-grow:0;flex-shrink:0}.request-row-break{flex-basis:100%;height:0;margin-top:-16px}.order-request>.field:has(select[name=ownFirmId]),.request-readonly>.field:has(select[name=ownFirmId]){width:25%;min-width:180px}.request-grid>.field:has(select[name=clientPaymentForm]),.request-grid>.field:has(select[name=carrierPaymentForm]){flex:0 0 calc(16.5% - 16px)}.request-fleet-pair .request-grid>.field:has(select[name=driverId]),.request-fleet-pair .request-grid>.field:has(select[name=vehicleId]){flex:0 0 calc(50% - 16px)}.request-route-pair .request-grid>.field:has(input[name=unloadDate]){flex:0 0 calc(33% - 16px)}
@media(max-width:900px){.request-columns{grid-template-columns:1fr}.request-route-pair .request-grid>.field:has(input[name=unloadDate]){flex-basis:calc(16.5% - 16px)}.request-route-pair .request-grid>.field[data-order-control=date]{flex-basis:calc(16.5% - 16px)}.request-fleet-pair .request-grid>.field:has(select[name=driverId]),.request-fleet-pair .request-grid>.field:has(select[name=vehicleId]){flex-basis:calc(25% - 16px)}}
@media(max-width:650px){.order-request>.field:has(select[name=ownFirmId]),.request-readonly>.field:has(select[name=ownFirmId]){width:100%;min-width:0}.request-row-break{display:none}.request-grid>.field{min-width:0}.request-grid .order-field{width:100%}}
.request-grid>.field:has(select[name=clientTax]),.request-grid>.field:has(select[name=carrierTax]){flex:0 0 calc(33% - 16px)}
/* Compact desktop application workspace. */
.order-workspace .drawer-header{padding:8px 14px;align-items:center;gap:22px;min-height:48px;flex-shrink:0}.order-workspace .drawer-header h2{font-size:20px;letter-spacing:0;white-space:nowrap;margin:0}.order-workspace .order-card-tablist{margin:0;border:0;gap:4px}.order-workspace .order-card-tab{font-size:14px;padding:6px 15px;border-radius:5px;line-height:20px}.order-workspace .drawer-body{padding:8px 14px}.order-workspace .drawer-footer{padding:7px 14px;min-height:46px;gap:7px}.order-workspace .btn{font-size:14px;padding:5px 10px;min-height:30px;line-height:20px}.order-workspace .order-sections,.order-workspace .order-request,.order-workspace .request-readonly{gap:7px}.order-workspace .request-block{padding:7px 10px;border-radius:7px}.order-workspace .request-block h3{font-size:14px;line-height:18px;margin:0 0 5px}.order-workspace .request-block .request-block{margin-top:0}.order-workspace .request-columns{gap:10px}.order-workspace .request-grid{gap:6px 8px}.order-workspace .field{font-size:14px;line-height:18px;gap:3px}.order-workspace .field input,.order-workspace .field select,.order-workspace .field textarea{font-size:14px;line-height:20px;padding:4px 7px;height:30px;border-radius:5px}.order-workspace .order-field{padding-right:0;min-width:0;max-width:100%}.order-workspace .order-resize-handle{display:none}.order-workspace .request-grid>.field{min-width:0}.order-workspace .order-request>.field:has(select[name=ownFirmId]),.order-workspace .request-readonly>.field:has(select[name=ownFirmId]){width:240px;min-width:0}.order-workspace .request-hint{display:none}.order-workspace .request-row-break{display:none}
.order-workspace .request-counterpart-pair .request-grid{display:grid;grid-template-columns:minmax(170px,1fr) 90px minmax(120px,160px) 100px}.order-workspace .request-counterpart-pair .field{width:100%;min-width:0}.order-workspace .request-route-pair .request-grid{display:grid;grid-template-columns:112px 96px minmax(120px,1fr) minmax(140px,1.2fr)}.order-workspace .request-route-pair .field[data-order-control=from],.order-workspace .request-route-pair .field[data-order-control=to]{grid-column:1/-1}.order-workspace .request-route-pair{margin-bottom:6px}.order-workspace [data-request-block=cargo] .request-grid{display:grid;grid-template-columns:minmax(180px,2fr) minmax(75px,.5fr) minmax(75px,.5fr) minmax(110px,.7fr) minmax(70px,.5fr)}.order-workspace [data-request-block=cargo]{margin-top:6px}.order-workspace .request-fleet-pair .request-grid{display:grid;grid-template-columns:repeat(5,minmax(65px,1fr))}.order-workspace .request-fleet-pair .field:has(select[name=vehicleId]),.order-workspace .request-fleet-pair .field:has(select[name=driverId]){grid-column:span 3}.order-workspace .request-fleet-pair .request-grid>.btn{grid-column:span 2;justify-self:start;align-self:end}.order-workspace .request-fleet-pair [data-quick-driver],.order-workspace .request-fleet-pair [data-quick-vehicle]{grid-column:1/-1}.order-workspace .request-fleet-pair [data-quick-driver]:empty,.order-workspace .request-fleet-pair [data-quick-vehicle]:empty{display:none}.order-workspace [data-request-block=vehicle] .request-grid>.field:has(input[name=equipment]){grid-column:span 1}.order-workspace .order-search-clear{top:0;right:2px;height:30px}.order-workspace .order-search-input{padding-right:30px!important}.order-workspace .request-status{margin:0}.order-workspace .request-column{position:relative}.order-workspace .request-extra-points{display:inline-block;margin:3px 8px 0 0;font-size:13px;vertical-align:middle}.order-workspace .request-extra-points>summary{cursor:pointer;padding:4px 7px;color:#294635}.order-workspace .request-extra-points [data-extra-loads]{position:absolute;left:0;right:0;top:100%;z-index:25;background:white;box-shadow:0 5px 24px #203d3633;border:1px solid #b6c9af;border-radius:6px;max-height:45vh;overflow:auto;padding:8px}.order-workspace .request-extra-load{margin:0 0 7px;padding:8px}.order-workspace .request-extra-load:last-child{margin-bottom:0}.order-workspace .request-extra-load h4{font-size:14px;margin-bottom:5px}.order-header-tasks{position:relative;font-size:14px}.order-header-tasks>summary{cursor:pointer;list-style:none;padding:6px 10px;border:1px solid #dce7d5;border-radius:5px}.order-header-tasks-popup{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:360px;max-height:400px;overflow:auto;padding:10px;background:#fff;border:1px solid #b6c9af;box-shadow:0 8px 24px #203d3626;border-radius:7px}.order-header-tasks-popup .planner-related{margin:0;padding:8px}.order-header-tasks-popup h3{font-size:14px;margin:0 0 6px}.order-header-tasks-popup .planner-related-actions{display:flex;gap:5px}.order-header-tasks-popup p{font-size:14px;margin:6px 0}
@media(max-width:1100px){.order-workspace .request-counterpart-pair .request-grid{grid-template-columns:minmax(150px,1fr) 80px}.order-workspace .request-route-pair .request-grid{grid-template-columns:112px 96px minmax(100px,1fr)}.order-workspace .request-route-pair .field:has(input[name=loadConditions]),.order-workspace .request-route-pair .field:has(input[name=unloadConditions]){grid-column:1/-1}.order-workspace .request-fleet-pair .request-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}.order-workspace .request-fleet-pair .field:has(select[name=vehicleId]),.order-workspace .request-fleet-pair .field:has(select[name=driverId]){grid-column:span 2}.order-workspace .request-fleet-pair .request-grid>.btn{grid-column:span 1}}
@media(max-width:900px){.order-workspace .drawer-header{gap:8px;flex-wrap:wrap}.order-workspace .request-columns{grid-template-columns:1fr}.order-workspace .request-counterpart-pair .request-grid{grid-template-columns:minmax(150px,1fr) 90px minmax(120px,160px) 100px}.order-header-tasks-popup{left:auto;right:0}.order-workspace [data-request-block=cargo] .request-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:650px){.order-workspace .request-counterpart-pair .request-grid,.order-workspace .request-route-pair .request-grid,.order-workspace .request-fleet-pair .request-grid,.order-workspace [data-request-block=cargo] .request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-workspace .request-route-pair .field[data-order-control=from],.order-workspace .request-route-pair .field[data-order-control=to],.order-workspace .request-fleet-pair .field:has(select[name=vehicleId]),.order-workspace .request-fleet-pair .field:has(select[name=driverId]){grid-column:1/-1}.order-workspace .request-fleet-pair .request-grid>.btn{grid-column:1/-1}.order-header-tasks-popup{width:min(360px,calc(100vw - 28px))}.order-workspace .drawer-header h2{font-size:18px}.order-workspace .order-card-tab{padding:5px 9px}}

.order-workspace .drawer-header{justify-content:flex-start}.order-workspace .drawer-header>[data-action=close]{margin-left:auto}.order-workspace .order-request>section:has(>.request-columns),.order-workspace .request-readonly>section:has(>.request-columns){padding:0;border:0;background:transparent}.order-workspace .order-request>section:has(>.request-columns)>h3,.order-workspace .request-readonly>section:has(>.request-columns)>h3{display:none}.order-workspace .request-grid>.field{white-space:nowrap}

/* Clearly separated compact groups and route point editors. */
.order-workspace .order-request,.order-workspace .request-readonly{gap:12px}.order-workspace .request-columns{gap:14px}.order-workspace .request-block{border-color:#bccbbb;background:#fff;box-shadow:0 1px 3px #253e3610;padding:8px 11px}.order-workspace .request-block h3{border-bottom:1px solid #e2e9df;padding-bottom:5px;margin-bottom:7px;font-weight:600;color:#254e43}.order-workspace .field{color:#657267;font-weight:400}.order-workspace .field input,.order-workspace .field select,.order-workspace .field textarea{color:#233c31;font-weight:400}.order-workspace .request-extra-points{font-size:14px}.order-workspace .request-points-popup{position:absolute;top:58px;left:10px;right:10px;z-index:35;padding:12px;background:#fff;border:1px solid #9caf99;border-radius:8px;box-shadow:0 8px 28px #203d3633;max-height:min(420px,55vh);overflow:auto}.order-workspace .request-extra-points [data-extra-loads],.order-workspace .request-extra-points [data-extra-unloads]{position:static;max-height:none;padding:0;box-shadow:none;border:0}.order-workspace .request-points-popup>[data-primary-point]{margin:0 0 8px}.order-workspace .request-points-popup>[data-primary-point][hidden]{display:none}.order-workspace .request-extra-load{margin:0 0 8px;background:#f7faf5}.order-workspace .request-extra-load .request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-workspace .request-extra-load .field:first-child{grid-column:1/-1}.order-workspace textarea[data-route-summary]{height:46px;min-height:46px;resize:none;white-space:normal;overflow:auto;cursor:pointer;background:#f6faf3;line-height:18px}.order-workspace .request-points-popup>.btn{margin-top:5px}.order-workspace .request-route-pair{margin-bottom:10px}.order-workspace [data-request-block=cargo]{margin-top:10px}.order-workspace .request-grid>.field{white-space:normal}

.order-workspace .field{font-size:13px;line-height:16px;gap:2px}.order-workspace .request-block h3{padding-bottom:3px;margin-bottom:5px}.order-workspace .request-points-popup .field{font-size:14px;line-height:18px}

/* Narrower controls leave more breathing room between application groups. */
.order-workspace .request-columns{column-gap:32px;row-gap:16px}
.order-workspace .order-request,.order-workspace .request-readonly{gap:16px}
.order-workspace .request-block{--group-heading:#edf1ef;--group-ink:#34483f;padding:8px 12px;border-color:#cbd5cb;box-shadow:none}
.order-workspace .request-block>h3{margin:-8px -12px 8px;padding:6px 12px;border-bottom:1px solid #cbd5cb;border-radius:6px 6px 0 0;background:var(--group-heading);color:var(--group-ink);font-size:14px;line-height:18px;font-weight:600}
.order-workspace [data-request-block=customer],.order-workspace [data-request-block=load]{--group-heading:#e2eee5;--group-ink:#244d34}
.order-workspace [data-request-block=supplier],.order-workspace [data-request-block=unload]{--group-heading:#e4edf5;--group-ink:#2c4961}
.order-workspace [data-request-block=cargo]{--group-heading:#f2ecdf;--group-ink:#625130;margin-top:16px}
.order-workspace [data-request-block=vehicle],.order-workspace [data-request-block=driver]{--group-heading:#e8e9f1;--group-ink:#44475f}
.order-workspace .request-route-pair{margin-bottom:16px}
.order-workspace .order-request>.field:has(select[name=ownFirmId]),.order-workspace .request-readonly>.field:has(select[name=ownFirmId]){width:200px;max-width:100%}
@media(min-width:1101px){
 .order-workspace .request-counterpart-pair .request-grid{grid-template-columns:minmax(150px,200px) 76px minmax(110px,140px) 84px}
 .order-workspace .request-route-pair .request-grid{grid-template-columns:102px 82px minmax(110px,170px) minmax(120px,190px)}
 .order-workspace .request-route-pair .field[data-order-control=from],.order-workspace .request-route-pair .field[data-order-control=to]{width:calc(100% - 32px)}
 .order-workspace [data-request-block=cargo] .request-grid{grid-template-columns:minmax(180px,300px) 76px 86px 150px 86px;column-gap:18px}
 .order-workspace .request-fleet-pair .request-grid{grid-template-columns:repeat(5,minmax(65px,100px))}
}
@media(max-width:900px){.order-workspace .request-columns{gap:16px}.order-workspace .request-counterpart-pair .request-grid{grid-template-columns:minmax(140px,1fr) 76px minmax(110px,140px) 84px}}
@media(max-width:650px){.order-workspace .request-counterpart-pair .request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-workspace .request-block>h3{padding:6px 12px}}
.order-workspace .request-block>h3{padding-top:3px;padding-bottom:3px;margin-bottom:6px}.order-workspace .field input,.order-workspace .field select{height:28px;padding-top:3px;padding-bottom:3px}.order-workspace .order-search-clear{height:28px}
.order-search-create{display:block;width:100%;position:sticky;bottom:0;border:0;border-top:1px solid #b9cbb3;background:#edf5e7;text-align:left;color:#254e43;font:inherit;font-size:14px;font-weight:600;border-radius:0;z-index:1}.order-search-create:hover,.order-search-create.highlighted{background:#dfeeda}

/* Main order actions live in the header; the footer no longer takes viewport space. */
.order-workspace .drawer-header{gap:12px}.order-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.order-workspace .drawer-header>[data-action=close]{margin-left:0;flex-shrink:0}.order-header-actions>.btn{white-space:nowrap}.order-header-trip{position:relative;font-size:14px}.order-header-trip>summary{cursor:pointer;list-style:none;padding:5px 10px;border:1px solid #cbd5cb;border-radius:5px;color:#40594b;background:#fff;line-height:20px}.order-header-trip-popup{position:absolute;right:0;top:calc(100% + 8px);z-index:35;display:grid;gap:5px;min-width:220px;padding:8px;border:1px solid #b6c9af;border-radius:7px;background:#fff;box-shadow:0 8px 24px #203d3626}.order-header-trip-popup>.btn{text-align:left;justify-content:flex-start;white-space:nowrap}@media(max-width:1050px){.order-workspace .drawer-header{flex-wrap:wrap}.order-header-actions{gap:6px}}@media(max-width:650px){.order-header-actions{order:2;width:100%;margin-left:0}.order-workspace .drawer-header>[data-action=close]{margin-left:auto}}

.order-workspace [data-request-block=customer],.order-workspace [data-request-block=supplier]{--group-heading:#e2eee5;--group-ink:#244d34}.order-workspace [data-request-block=load],.order-workspace [data-request-block=unload]{--group-heading:#e4edf5;--group-ink:#2c4961}.order-workspace .request-fleet-pair .field:has(input[name=vehicleRequirements]),.order-workspace .request-fleet-pair .field:has(input[name=driverRequirements]){grid-column:span 2}@media(max-width:1100px){.order-workspace .request-fleet-pair .field:has(input[name=vehicleRequirements]),.order-workspace .request-fleet-pair .field:has(input[name=driverRequirements]){grid-column:1/-1}}

.counterparty-workspace{width:min(1000px,100vw);max-width:none}.counterparty-tablist{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #ccd9c7;margin-bottom:20px;padding-bottom:8px}.counterparty-tab{padding:8px 13px;border:1px solid transparent;border-radius:6px;background:transparent;color:#49634e;font:inherit;font-size:14px;cursor:pointer}.counterparty-tab.active{background:#e2eee5;border-color:#b9cdbb;color:#244d34;font-weight:600}.counterparty-tab:focus-visible{outline:2px solid #254e43;outline-offset:2px}[data-counterparty-panel][hidden]{display:none}.passport-block{border:1px solid #cbd5cb;border-radius:8px;padding:14px;margin:16px 0}.passport-block legend,.passport-block h3{font-size:15px;font-weight:600;color:#294635}.passport-block .form-grid{gap:14px}.passport-block h3{margin:0 0 12px}
.counterparty-asset-card{border:1px solid #cbd5cb;border-radius:8px;margin:16px 0;padding:12px;background:#fbfdf9}.counterparty-asset-card>summary{cursor:pointer;font-size:16px;font-weight:600;color:#294635;padding:4px 0 12px}.counterparty-asset-card>fieldset{border:0;margin:0;padding:8px 0;min-width:0}.counterparty-asset-card input:disabled,.counterparty-asset-card select:disabled{opacity:1;color:#294635;background:#fff}.counterparty-asset-card .body-dimensions{grid-column:1/-1}
.record-text-button{margin-left:auto;white-space:nowrap}.record-text-overlay{z-index:2500}.record-text-dialog{width:min(760px,100vw);max-width:none}.record-text-content{width:100%;min-height:55vh;resize:vertical;border:1px solid #cbd5cb;border-radius:8px;padding:14px;box-sizing:border-box;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:#fbfdf9;color:#233c31;white-space:pre-wrap;user-select:text}.record-text-status{font-size:14px;min-height:20px;color:#294635}

/* Compact orders toolbar and a full-width, low-profile table slider. */
.orders-shell .topbar{height:52px;min-height:52px}.orders-shell .topbar>.breadcrumbs{margin-right:auto}
.orders-heading{align-items:flex-start;min-height:106px;margin-bottom:16px}.orders-heading h1{margin:19px 0 0}.orders-heading .heading-actions{margin-top:57px}
.order-table-navigation{padding:8px 18px;background:#fff}.order-table-navigation label{gap:0}
.order-table-navigation input[type=range]{height:24px;width:100%;flex:1;margin:0}
.order-table-navigation input[type=range]::-webkit-slider-runnable-track{height:4px;border:0;border-radius:2px;background:#d7e1d3}
.order-table-navigation input[type=range]::-webkit-slider-thumb{width:120px;height:10px;margin-top:-3px;border:0;border-radius:3px;background:#527466;box-shadow:none}
.order-table-navigation input[type=range]::-moz-range-track{height:4px;border:0;border-radius:2px;background:#d7e1d3}
.order-table-navigation input[type=range]::-moz-range-thumb{width:120px;height:10px;border:0;border-radius:3px;background:#527466;box-shadow:none}
@media(max-width:650px){.orders-shell .topbar{padding-inline:16px}.orders-heading{min-height:90px;gap:10px}.orders-heading h1{margin-top:19px}.orders-heading .heading-actions{margin-top:45px}.order-table-navigation{padding-inline:12px}.order-table-navigation input[type=range]::-webkit-slider-thumb{width:72px}.order-table-navigation input[type=range]::-moz-range-thumb{width:72px}}

/* Keep order filters visible while the order rows move beneath them. */
.orders-shell .main{padding-top:0;background:#fff}
.orders-heading{background:#fff;min-height:198px;margin-bottom:0}
.orders-heading h1{margin-top:92px}.orders-heading .heading-actions{margin-top:149px}
.orders-sticky-controls{position:sticky;top:0;z-index:12;background:#fff;padding:10px 0;border-bottom:1px solid var(--line)}
.orders-sticky-controls .tabs{margin-bottom:12px}.orders-sticky-controls .page-filters{margin-bottom:0}
.order-table-navigation input[type=range]::-webkit-slider-thumb{width:480px;max-width:40vw;background:rgba(82,116,102,.25)}
.order-table-navigation input[type=range]::-moz-range-thumb{width:480px;max-width:40vw;background:rgba(82,116,102,.25)}
.order-table-navigation input[type=range]::-webkit-slider-runnable-track{background:rgba(82,116,102,.10)}
.order-table-navigation input[type=range]::-moz-range-track{background:rgba(82,116,102,.10)}
@media(max-width:650px){.orders-heading{min-height:167px}.orders-heading h1{margin-top:62px}.orders-heading .heading-actions{margin-top:121px}.orders-sticky-controls{padding-block:8px}.order-table-navigation input[type=range]::-webkit-slider-thumb{width:288px;max-width:45vw}.order-table-navigation input[type=range]::-moz-range-thumb{width:288px;max-width:45vw}}
/* The entire orders toolbar stays in place; only order rows scroll. */
.orders-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.orders-shell>.topbar{flex:none}
.orders-shell>.main{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;padding-top:0;padding-bottom:0;overflow:hidden}
.orders-shell #view{flex:1;min-height:0;display:flex;flex-direction:column}
.orders-shell .orders-heading{flex:none;min-height:144px;margin-bottom:0}
.orders-shell .orders-heading h1{margin-top:38px}
.orders-shell .orders-heading .heading-actions{margin-top:95px}
.orders-shell .orders-sticky-controls{flex:none;position:relative;top:auto}
.orders-shell #records{flex:1;min-height:0;display:flex;flex-direction:column}
.orders-shell #records>.panel{flex:1;min-height:0;display:flex;flex-direction:column}
.orders-shell .order-table-navigation{flex:none}
.orders-shell [data-order-viewport]{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.orders-shell .order-data-table{border-collapse:separate;border-spacing:0}
.orders-shell .order-data-table th{position:sticky;top:0;z-index:3;background:#f7faf4;border-bottom:1px solid var(--line)}
.orders-shell .list-footer{flex:none}
.orders-shell .footer{display:none}
@media(max-width:650px){.orders-shell .orders-heading{min-height:132px}.orders-shell .orders-heading h1{margin-top:38px}.orders-shell .orders-heading .heading-actions{margin-top:83px}.orders-shell .orders-sticky-controls .page-filters{gap:6px}}
/* Compact pinned controls to give the order journal more viewport height. */
.orders-shell>.topbar{height:44px;min-height:44px}
.orders-shell .orders-heading{min-height:56px;align-items:center;gap:12px;padding:8px 0}
.orders-shell .orders-heading h1{margin:0;font-size:26px;line-height:1.2}
.orders-shell .orders-heading .heading-actions{margin:0}
.orders-shell .orders-heading .btn{min-height:36px;padding:8px 14px}
.orders-shell .orders-sticky-controls{padding:4px 0 6px}
.orders-shell .orders-sticky-controls .tabs{gap:4px;margin:0 0 6px}
.orders-shell .orders-sticky-controls .tab{padding:6px 12px}
.orders-shell .orders-sticky-controls .page-filters{gap:8px}
.orders-shell .orders-sticky-controls .page-filters select,.orders-shell .orders-sticky-controls .page-filters input[type=date]{min-height:34px;padding:7px 10px}
.orders-shell .orders-sticky-controls .search-field{padding-block:7px;min-height:34px}
.orders-shell .orders-sticky-controls .page-filters .btn{min-height:34px;padding:7px 12px}
.orders-shell .order-table-navigation{padding:3px 18px}
.orders-shell .order-table-navigation input[type=range]{height:18px}
.orders-shell .order-data-table th{padding-top:9px;padding-bottom:9px}
.orders-shell .list-footer{padding-top:8px;padding-bottom:8px}
@media(max-width:650px){.orders-shell .orders-heading{min-height:54px;padding-block:7px}.orders-shell .orders-heading h1{margin:0;font-size:24px}.orders-shell .orders-heading .heading-actions{margin:0}.orders-shell .orders-sticky-controls .tabs{gap:2px}.orders-shell .orders-sticky-controls .tab{padding:5px 7px}.orders-shell .order-table-navigation{padding-inline:12px}}
/* Compact journal filters and keyboard marks. */
.orders-shell .journal-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 10px;padding:0 0 10px}
.journal-filters label{display:flex;flex-direction:column;gap:3px;font-size:14px;min-width:0}
.journal-filters input,.journal-filters select{width:100%;min-width:0;height:32px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:inherit;font:inherit}
.journal-sort{appearance:none;border:0;background:transparent;font:inherit;color:inherit;text-align:left;padding:0 10px 0 0;width:100%;cursor:pointer}
.journal-sort:focus-visible{outline:2px solid #527466;outline-offset:2px}
.order-data-table .journal-mark-cell{padding:4px 2px;text-align:center;font-size:0;position:sticky;left:0;background:#f7faf4;z-index:1}
.order-data-table thead .journal-mark-cell{z-index:4}
.journal-mark-cell button{border:0;background:none;color:#527466;font-size:16px;cursor:pointer;padding:2px;width:24px}
.order-data-table tr.journal-selected td{background:#edf5e5}
.order-data-table tr:focus-visible{outline:2px solid #527466;outline-offset:-2px}
.journal-accounting{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:1100px){.orders-shell .journal-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.orders-shell .journal-filters{grid-template-columns:repeat(2,minmax(0,1fr));max-height:32vh;overflow:auto}.journal-accounting{grid-template-columns:1fr}}
/* Smaller filters; marks occupy the full height of each order row. */
.orders-shell .journal-filters{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px 8px;padding-bottom:7px}
.journal-filters label{font-size:12px;gap:2px;line-height:1.25}
.journal-filters input,.journal-filters select{height:27px;padding:3px 6px;font-size:13px;border-radius:4px}
.order-data-table .journal-mark-cell{padding:0}
.order-data-table .journal-mark-cell button{position:absolute;inset:1px 6px;width:auto;height:auto;padding:0;border:1px solid #52746630;border-radius:1px;background:#5274660a}
.order-data-table .journal-mark-cell button[aria-pressed=true]{background:#527466;border-color:#527466}
.order-data-table .journal-mark-cell button:focus-visible{outline:2px solid #233e35;outline-offset:-2px}
.journal-mark-rectangle{display:block}
@media(max-width:1400px){.orders-shell .journal-filters{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1000px){.orders-shell .journal-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.orders-shell .journal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Journal action bar and more compact filters. */
.orders-shell .journal-filters{gap:3px 6px;padding-bottom:6px}
.journal-filters label{font-size:11px;gap:1px}
.journal-filters input,.journal-filters select{height:24px;padding:2px 5px;font-size:12px;line-height:18px}
.journal-actions{display:flex;align-items:center;gap:5px;margin-left:auto}
.journal-action-button{width:32px;height:30px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#254e43}
.journal-action-button:hover{background:#edf5e5}
.journal-action-button:disabled{opacity:.4;cursor:default}
.order-data-table tr.journal-deletion-mark td{color:#a04949;background:#fff3f1}
.order-data-table tr.journal-deletion-mark.journal-selected td{background:#f4e3df}
.order-data-table tr.journal-deletion-mark .row-id{text-decoration:line-through}
.orders-shell [data-order-viewport]::-webkit-scrollbar{width:8px;height:0}
.orders-shell [data-order-viewport]::-webkit-scrollbar:horizontal{height:0}
.orders-shell [data-order-viewport]::-webkit-scrollbar-thumb:vertical{background:#52746640;border-radius:4px}
/* Filters first, coloured action buttons beneath them. */
.orders-shell .journal-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px 6px;padding:5px 0 4px}
.orders-shell .journal-filters label{flex:0 1 126px;width:126px;min-width:0}
.orders-shell .journal-filters label:has([data-journal-date]){flex-basis:90px;width:90px}
.orders-shell .journal-filters label:has([data-journal-filter=manager]){flex-basis:126px;width:126px}
.orders-shell .journal-filters label:has([data-journal-filter=marks]){flex-basis:90px;width:90px}
.orders-shell .journal-filters label:has([data-journal-filter=payment]){flex-basis:144px;width:144px}
.orders-shell .journal-filters label:has([data-journal-filter=work]){flex-basis:108px;width:108px}
.orders-shell .journal-filters select{font-size:8.4px}
.orders-shell .journal-filters input[type=date]{font-size:10px;padding-left:3px;padding-right:3px}
.orders-shell .journal-actions{flex:none;justify-content:flex-start;margin:0;padding:3px 0 6px;gap:6px}
.journal-action-button{border:0;color:#fff;box-shadow:0 1px 2px #0002}
.journal-action-button[data-journal-action=add]{background:#159947}
.journal-action-button[data-journal-action=delete]{background:#e52d3a}
.journal-action-button[data-journal-action=delete-mark]{background:#ed8500}
.journal-action-button[data-journal-action=copy]{background:#1775e5}
.journal-action-button[data-journal-action=note]{background:#9644db}
.journal-action-button:hover{filter:brightness(1.1)}
@media(max-width:650px){.orders-shell .journal-filters{max-height:30vh}.orders-shell .journal-filters label{flex-grow:1}.orders-shell .journal-actions{padding-top:4px}}
/* Small centred journal dialogs and compact action buttons. */
.journal-dialog-overlay{align-items:center;justify-content:center;padding:16px}
.journal-dialog-overlay .journal-dialog{width:min(360px,100%);height:auto;max-height:80dvh;border-radius:10px;box-shadow:0 12px 40px #17323940}
.journal-dialog .drawer-header{padding:12px 16px 9px}
.journal-dialog .drawer-header h2{font-size:18px;margin:3px 0}
.journal-dialog .demo-pill{display:none}
.journal-dialog .drawer-body{flex:none;padding:12px 16px}
.journal-dialog .drawer-body p{margin:0;line-height:1.5}
.journal-dialog .drawer-footer{padding:10px 16px;position:static}
.orders-shell .journal-action-button{width:16px;height:16px;min-width:16px;min-height:16px;padding:1px;border-radius:3px}
.orders-shell .journal-action-button svg{width:12px;height:12px}
.journal-columns-button{background:#405568}
.order-journal-comment{margin-top:8px}
.order-journal-comment textarea{min-height:48px}
.order-data-table th[data-order-drag=journal-column]{cursor:grab}
.order-data-table th[data-order-drag=journal-column] .journal-sort{cursor:grab}
.order-data-table th.journal-column-dragging{opacity:.45}
.orders-shell .order-data-table th.journal-column-drop{background:#e2f1d8;box-shadow:inset 3px 0 #159947}
.order-data-table th .order-column-resize-handle{cursor:col-resize}
.journal-payment-filter{display:flex;flex-direction:column;gap:1px;flex:0 1 126px;width:126px;font-size:11px;line-height:1.25}
.journal-payment-options{position:relative}
.journal-payment-options summary{height:24px;box-sizing:border-box;border:1px solid var(--line);border-radius:4px;background:#fff;padding:5px;font-size:8.4px;cursor:pointer}
.journal-payment-popup{position:absolute;top:calc(100% + 3px);left:0;z-index:40;width:210px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 5px 18px #17323930;padding:6px}
.orders-shell .journal-payment-popup label{display:flex;flex-direction:row;align-items:center;width:auto;gap:7px;padding:5px;font-size:12px;cursor:pointer}
.journal-payment-popup input[type=checkbox]{width:14px;height:14px;margin:0;padding:0;flex:none}
.journal-filters textarea[data-journal-filter=exclude]{height:24px;min-height:24px;max-height:64px;width:100%;padding:2px 5px;border:1px solid var(--line);border-radius:4px;font-family:inherit;font-size:12px;line-height:18px;resize:vertical}
@media(max-width:650px){.journal-payment-filter{flex-grow:1}.journal-payment-popup{position:static;width:100%;box-shadow:none}}
/* Two-centimetre journal filters, with no extra focus frame. */
.orders-shell .journal-filters>label:has([data-journal-filter=work]),
.orders-shell .journal-filters>label:has([data-journal-filter=payment]),
.orders-shell .journal-filters>label:has([data-journal-filter=documents]),
.orders-shell .journal-filters>label:has([data-journal-filter=firm]),
.orders-shell .journal-filters>label:has([data-journal-filter=auto]),
.orders-shell .journal-filters>.journal-payment-filter{flex:0 0 2cm;width:2cm;min-width:2cm;max-width:2cm}
.orders-shell .journal-filters input:focus,
.orders-shell .journal-filters select:focus,
.orders-shell .journal-filters textarea:focus,
.orders-shell .journal-filters summary:focus{outline:none;box-shadow:none}
.orders-shell .journal-filters input:focus-visible,
.orders-shell .journal-filters select:focus-visible,
.orders-shell .journal-filters textarea:focus-visible,
.orders-shell .journal-filters summary:focus-visible{background-color:#f1f6ed}
.journal-upload-button{background:#008b9a}

.request-company-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 16px}
.order-workspace .request-company-row>.field{width:200px;min-width:0;max-width:100%}
.order-workspace .request-company-row>.field:has(select[name=vehicleGroup]){width:120px}
@media(max-width:450px){.order-workspace .request-company-row>.field{flex:1;min-width:140px}.order-workspace .request-company-row>.field:has(select[name=vehicleGroup]){flex:0 0 100px;min-width:100px}}

.order-workspace .request-company-row>.field:has(select[name=transportType]){width:160px}
.request-tablist{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #ccd9c7;padding-bottom:6px}
.request-tab{padding:7px 14px;border-radius:6px;color:#49634e;font-size:14px;font-weight:500}
.request-tab.active{background:#e2eee5;color:#244d34;font-weight:600}
.request-tab:hover{background:#eff4eb}
.request-subpanel{min-width:0}.request-subpanel[hidden]{display:none!important}
@media(max-width:450px){.order-workspace .request-company-row>.field:has(select[name=transportType]){flex:1;min-width:140px}.request-tab{padding:7px 9px}}

/* Route points stay visible alongside the primary stop. */
.order-workspace .request-route-content{display:grid;gap:16px}
.order-workspace .request-route-content [data-request-block=cargo]{margin-top:0}
.order-workspace .request-route-content .request-route-pair{margin-bottom:0}
.order-workspace .request-route-pair .request-block>h3{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.order-workspace .request-route-pair .request-block>h3>.btn{margin:0 0 0 auto;font-size:13px}
.order-workspace .request-inline-points:empty{display:none}
.order-workspace .request-inline-points .request-extra-load{margin:12px 0 0;padding:10px;background:#f7faf8}
.order-workspace .request-inline-points .request-extra-load .request-grid{grid-template-columns:112px 96px minmax(0,1fr) minmax(0,1.2fr)}
.order-workspace .request-inline-points .request-extra-load .field:first-child{grid-column:1/-1}
[data-order-history-results]{margin-top:20px}
[data-order-history-results]>details{padding:12px 0;border-bottom:1px solid #dce7d5}
[data-order-history-results] summary{cursor:pointer}
[data-order-history-results] p{overflow-wrap:anywhere}
@media(max-width:1100px){.order-workspace .request-inline-points .request-extra-load .request-grid{grid-template-columns:112px 96px minmax(0,1fr)}.order-workspace .request-inline-points .request-extra-load .field:last-child{grid-column:1/-1}}
@media(max-width:650px){.order-workspace .request-inline-points .request-extra-load .request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.orders-shell .journal-filters label:has([data-journal-filter="group"]){width:2cm;flex:0 0 2cm}

/* Journal header and data cells share the exact colgroup geometry. */
.orders-shell #records .order-data-table{table-layout:fixed;border-collapse:separate;border-spacing:0}
.orders-shell #records .order-data-table th,.orders-shell #records .order-data-table td{box-sizing:border-box;min-width:0;max-width:none;padding-left:8px;padding-right:8px;border-right:1px solid #dce5df}
.orders-shell #records .order-data-table th:last-child,.orders-shell #records .order-data-table td:last-child{border-right:0}
.orders-shell #records .order-data-table th{padding-right:8px}
.orders-shell #records .order-data-table .journal-sort{display:block;width:100%;min-width:0;max-width:100%;padding:0;white-space:normal;overflow-wrap:anywhere}
.orders-shell #records .order-data-table .order-column-resize-handle{right:0;width:10px}
.orders-shell #records .order-data-table .order-column-resize-handle::after{left:auto;right:0;top:0;bottom:0;width:1px;border-radius:0}
.orders-shell #records .order-data-table .order-column-resize-handle:hover::after{width:2px;background:#619777}
.orders-shell #records .order-data-table td[data-journal-column=clientId],.orders-shell #records .order-data-table td[data-journal-column=carrierId]{white-space:normal;overflow-wrap:anywhere}
.orders-shell #records .order-data-table td .row-id{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.orders-shell #records .order-data-table .journal-mark-cell{padding:0}

.journal-row-controls{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:11px;color:#657669}
.journal-row-controls label{display:flex;align-items:center;gap:6px;white-space:nowrap}
.journal-row-controls select{height:27px;border:1px solid var(--line);border-radius:4px;padding:3px 6px;background:#fff;font:inherit;color:inherit}
.orders-shell #records .journal-virtual-panel .order-data-table tr[data-journal-row]{height:56px}
.orders-shell #records .journal-virtual-panel .order-data-table td[data-journal-column]{padding-top:7px;padding-bottom:7px}
.orders-shell #records .journal-virtual-panel .journal-cell-value{max-height:40px;line-height:20px;overflow:hidden}
.orders-shell #records .journal-window-spacer td{padding:0;border:0;font-size:0;line-height:0;background:transparent}
@media(max-width:650px){.journal-row-controls{flex:1;justify-content:flex-end}.journal-row-controls [data-journal-count]{font-size:10px}}

/* Journal tools share the CRM icon button palette. */
.orders-shell .journal-action-button{color:#fff}
.orders-shell .journal-columns-button{background:#536f62}
.orders-shell .journal-action-button[data-journal-bulk-delete]{background:#e52d3a}
.orders-shell .journal-action-button[data-journal-excel]{background:#159947}
.orders-shell .journal-upload-button{background:#008b9a}
.orders-shell .journal-excel-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.orders-shell .journal-row-controls{margin-left:6px}
@media(max-width:650px){.orders-shell .journal-actions{flex-wrap:wrap}.orders-shell .journal-row-controls{flex:0 1 auto;max-width:100%;flex-wrap:wrap}}

.order-workspace .request-address-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;min-width:0}.order-workspace .request-address-row .field[data-order-control=from],.order-workspace .request-address-row .field[data-order-control=to]{grid-column:auto;width:auto;flex:1 1 calc(var(--field-span,66%) - 12px);min-width:min(180px,100%)}.order-workspace .request-address-row .field:has(input[name=loadMethod]),.order-workspace .request-address-row .field:has(input[name=unloadMethod]){grid-column:auto;flex:1 1 25%;min-width:min(120px,100%)}@media(max-width:600px){.order-workspace .request-address-row .field{flex-basis:100%!important;width:100%}}

.order-workspace .request-company-row>.field:has(select[name=status]){width:150px;max-width:100%}

.order-workspace .request-counterpart-pair .request-payment-details{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,250px));gap:10px;min-width:0;width:100%}.order-workspace .request-counterpart-pair .request-payment-details>.field{grid-column:auto;display:block;width:100%;min-width:0;max-width:100%;margin:0}.order-workspace .request-payment-details input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}

.order-workspace .request-fleet-pair{align-items:stretch}.order-workspace .request-fleet-pair>.request-column>.request-block{height:100%;box-sizing:border-box}.order-workspace .request-driver-documents{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;min-width:0}.order-workspace .request-driver-documents>.field{width:100%;min-width:0;max-width:100%;margin:0;grid-column:auto}.order-workspace .request-driver-documents textarea{width:100%;box-sizing:border-box;min-height:72px;height:72px;resize:vertical}@media(max-width:500px){.order-workspace .request-driver-documents{grid-template-columns:minmax(0,1fr)}.order-workspace .request-fleet-pair>.request-column>.request-block{height:auto}}

.order-workspace .request-block h3:has(.request-card-link){display:flex;align-items:center;gap:8px}.order-workspace .request-block h3>.request-card-link{margin-left:auto;margin-right:0;display:inline-flex;align-items:center;justify-content:center;width:16px;min-width:16px;height:16px;min-height:16px;padding:2px;border-radius:3px;flex:none;background:#527466;box-sizing:border-box}.order-workspace .request-card-link svg{width:12px;height:12px}.order-workspace .request-card-link:hover{background:#345547}


.order-workspace [data-request-block=driver]>.request-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.order-workspace [data-request-block=driver] .request-full{grid-column:span 2}
.order-workspace [data-request-block=driver] .field:has(input[name=driverRequirements]),.order-workspace [data-request-block=driver] .field:has(input[name=driverPhone]){grid-column:span 1}
@media(max-width:750px){.order-workspace [data-request-block=driver]>.request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-workspace [data-request-block=driver] .request-full{grid-column:1/-1}}

.order-workspace .request-fleet-pair [data-request-block=driver]>.request-grid>.field.request-full{grid-column:span 2}
@media(max-width:750px){.order-workspace .request-fleet-pair [data-request-block=driver]>.request-grid>.field.request-full{grid-column:1/-1}}
/* Shared journal action geometry, also used by order-card actions. */
.crm-compact-action{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;padding:1px!important;border:0!important;border-radius:3px!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center}
.crm-compact-action svg{width:12px;height:12px}.crm-compact-action[data-compact-action=save]{background:#159947}.crm-compact-action[data-compact-action=document]{background:#1775e5}
.order-document-menu{position:fixed;z-index:90;display:grid;grid-template-columns:160px minmax(190px,310px);max-width:calc(100vw - 16px);max-height:65vh;overflow:auto;border:1px solid var(--line);border-radius:5px;background:#fff;box-shadow:0 6px 20px #163e3026;padding:5px;font-size:12px;color:var(--ink)}
.order-document-menu button{font:inherit;color:inherit;background:none;border:0;border-radius:3px;padding:8px;text-align:left;width:100%;cursor:pointer}.order-document-menu button:hover,.order-document-menu button:focus-visible,.order-document-menu button[aria-expanded=true]{background:#e5f0e7}.order-document-categories{border-right:1px solid var(--line);padding-right:4px}.order-document-categories button{display:flex;justify-content:space-between;gap:8px}.order-document-templates{padding:0 5px}.order-document-templates ul{list-style:none;margin:0;padding:0}.order-document-templates small{opacity:.65}.order-document-templates p{margin:8px}
.order-document-preview{z-index:100;justify-content:center;padding:12px}.order-document-dialog{width:min(1100px,98vw);max-width:none;border-radius:6px;display:flex;flex-direction:column}.order-document-dialog>.drawer-header{padding:10px 14px;flex-wrap:wrap;gap:8px}.order-document-dialog h2{font-size:16px}.order-document-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.order-document-actions .btn{padding:5px 8px;font-size:11px}.order-document-status{margin:0;padding:6px 14px;font-size:11px;color:#53665b}.order-document-status[role=alert]{color:#b42318}.order-document-dialog iframe{width:100%;flex:1;min-height:0;border:0;background:#e9eeea}
body:has(.order-document-preview) #doc-wizard-root>.overlay{z-index:110}
@media(max-width:520px){.order-document-menu{grid-template-columns:130px minmax(140px,1fr)}.order-document-preview{padding:4px}.order-document-dialog>.drawer-header{padding:8px}.order-document-actions{margin-left:0}}
.order-document-number{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:11px}.order-document-number[hidden]{display:none}.order-document-number input{height:26px;max-width:340px;flex:1;font-size:11px}


:root {
  --fc-sticky-header-footer-z: 3;
  --fc-popover-z: 4;
}

.fc-1U {
  z-index: var(--fc-popover-z) !important;
}

.fc-1q {
  isolation: isolate;
}

/*
This will prevent all ancestors from customizing their box size unless they use .contentBox
*/
.fc-pp,
.fc-pp *,
.fc-pp *:before,
.fc-pp *:after {
  box-sizing: border-box !important;
}

/* classes attached to <body> */
.fc-gm,
.fc-gm * {
  cursor: not-allowed !important;
}

.fc-xp {
  -ms-overflow-style: none !important; /* IE and Edge */
  scrollbar-width: none !important; /* Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
.fc-xp::-webkit-scrollbar {
  display: none !important;
}

.fc-J9 {
  flex-shrink: 0 !important;
}

.fc-oi .fc-TV {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
}

/* HACK for Safari. Can't do break-inside:avoid with flexbox items, likely b/c it's not standard:
   https://stackoverflow.com/a/60256345 */
.fc-OY .fc-TV > * {
  float: left !important;
}

[dir=rtl] .fc-OY .fc-TV > *,
.fc-OY[dir=rtl] .fc-TV > * {
  float: right !important;
}

.fc-OY .fc-TV::after {
  content: "" !important;
  display: block !important;
  clear: both !important;
}

.fc-ky {
  cursor: pointer !important;
}

.fc-Wq {
  cursor: n-resize !important;
}

.fc-2H {
  cursor: s-resize !important;
}

.fc-lP {
  cursor: w-resize !important;
}

[dir=rtl] .fc-lP {
  cursor: e-resize !important;
}

.fc-pu {
  cursor: e-resize !important;
}

[dir=rtl] .fc-pu {
  cursor: w-resize !important;
}

.fc-Mo {
  cursor: col-resize !important;
}

.fc-Bx,
.fc-rT,
.fc-1e {
  position: absolute !important;
  box-sizing: content-box !important;
  width: 100% !important;
  height: 100% !important;
}

.fc-Bx {
  padding: 10px !important;
  margin: -10px !important;
}

.fc-rT {
  padding-left: 10px !important;
  padding-right: 10px !important;
  margin-left: -10px !important;
  margin-right: -10px !important;
}

.fc-1e {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  margin-top: -10px !important;
  margin-bottom: -10px !important;
}

/* QUESTION: why not use -left -right instead of negative margins/padding for ALL? */
.fc-7U {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -5px;
  right: -5px;
}

.fc-N6 {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.fc-BW {
  visibility: hidden;
}

/* Border Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-rf {
  border: 0 !important;
}

.fc-Nq {
  border-left: 0 !important;
  border-right: 0 !important;
}

.fc-zp {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.fc-1h {
  border-top: 0 !important;
}

.fc-cZ {
  border-bottom: 0 !important;
}

.fc-G8 {
  border-inline-start: 0 !important;
}

.fc-MA {
  border-inline-end: 0 !important;
}

/* Flexbox Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-Dh {
  display: flex !important;
  flex-direction: row !important;
}

.fc-vg {
  display: flex !important;
  flex-direction: column !important;
}

.fc-85 {
  flex-grow: 1 !important;
}

.fc-91 {
  flex-grow: 1 !important;
  flex-basis: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

.fc-Da {
  min-height: 0 !important;
}

/*
TODO: use liquidX/Y elsewhere because frees up min other dimension; less collisions
*/
.fc-1v {
  flex-grow: 1 !important;
  flex-basis: 0 !important;
  min-width: 0 !important;
}

/* Semantic Print Table */
/* ------------------------------------------------------------------------------------------------- */

.fc-uR {
  width: 100% !important;
  table-layout: fixed !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.fc-uR > thead {
  /* Both properties are needed for cross-browser repeated headers across printed pages. */
  -moz-column-break-inside: avoid !important;
       break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.fc-uR > tbody {
  /* Timeline print-layout hack (resource and non-resource): lets shared absolute backgrounds show through. */
  background: transparent !important;
}

.fc-uR > thead > tr > th,
.fc-uR > tbody > tr > th,
.fc-uR > tbody > tr > td {
  vertical-align: top !important;
  font-weight: inherit;
  text-align: inherit;
}

/* Table Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-hF {
  padding: 0 !important;
}

.fc-Ds {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.fc-TA {
  margin: 0 !important;
}

.fc-rt {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.fc-wS {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.fc-mV {
  white-space: nowrap !important;
}

.fc-zJ {
  white-space: pre !important;
}

/* Misc Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-Fk {
  overflow-anchor: none;
}

.fc-Ss {
  pointer-events: none !important;
}

.fc-D6 {
  overflow: hidden !important;
}

/*
TODO: eventually use this on daygrid/timegrid events' inner, time, and title, FOR PRINT
Needed to prevent wrapping to multiple lines, increasing height, throwing off print-positioning,
which can't rely on dynamic height detection after print-flag activated.
*/
.fc-5x {
  white-space: nowrap !important;
  overflow: hidden !important;
}

.fc-DP {
  position: relative !important;
}

.fc-P2 {
  position: absolute !important;
}

.fc-5a {
  inset-inline-start: 0 !important;
}

.fc-lb {
  inset-inline-end: 0 !important;
}

.fc-0X {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

.fc-9s,
.fc-Gk {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
}

.fc-xh,
.fc-XV {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
}

.fc-9s {
  top: 0 !important;
}

.fc-XV {
  left: 0 !important;
  right: 0 !important;
  width: 0 !important;
}

@media not print {
  .fc-XI {
    position: sticky !important;
  }

  .fc-7G {
    position: sticky !important;
    top: 0 !important;
  }

  /* Sticks to either left or right (the flex "start") depending on ltr/rtl */
  .fc-Rw {
    position: sticky !important;
    inset-inline-start: 0 !important;
  }

  .fc-yg {
    position: sticky !important;
    top: 0 !important;
    z-index: var(--fc-sticky-header-footer-z) !important;
  }
}

/* Only needed when padding/border must be separate from width/height */
.fc-2i {
  box-sizing: content-box !important;
}

.fc-o2 {
  position: absolute !important;
  left: -10000px !important;
}

.fc-ih {
  align-items: center !important;
}

.fc-HJ {
  align-items: flex-start !important;
}

.fc-El {
  align-items: flex-end !important;
}

/* Footer Scrollbar */
/* ------------------------------------------------------------------------------------------------- */

.fc-nF {
  position: sticky !important;
  bottom: 0 !important;
  z-index: var(--fc-sticky-header-footer-z) !important;
}

.fc-Or > * {
  margin-top: -1px !important;
}

.fc-Or > * > * {
  height: 1px !important;
}

/* Print Utils */
/* ------------------------------------------------------------------------------------------------- */

.fc-6w {
  -moz-column-break-inside: avoid !important;
       break-inside: avoid !important;
  page-break-inside: avoid !important;
}

.fc-9C {
  min-height: 4em !important;
}

.fc-GJ {
  display: flow-root !important;
}

/* Z-index */
/* ------------------------------------------------------------------------------------------------- */

.fc-d0 {
  z-index: 0;
}

.fc-Og {
  z-index: 1;
}

.fc-BT {
  z-index: 2;
}

.fc-XO {
  z-index: 3;
}

.fc-e8 {
  z-index: 4;
}

.fc-sR {
  z-index: 5;
}

.fc-W4 {
  z-index: 1000;
}

.fc-eV {
  z-index: 9999;
}

.fc-4U:focus-visible {
  z-index: 2;
}

/* INTERNAL MARKER -- used to mark an element for internal significance */
/* ------------------------------------------------------------------------------------------------- */

.fc-YC {}

.fc-M0 {}
.fc-N9 {}
.fc-41 {}
.fc-vO {}
.fc-i0 {}
.fc-Nc {}
.fc-hg {}
.fc-dk {}

.fc-aw {}

.fc-kw {}

.fc-Zy {}

.fc-ox {}

.fc-Q3 {}

.fc-P4 {}

.fc-classic-n5m {
  font-size: 16px;
  line-height: 1.5;
  --fc-classic-border-style: solid;
}

.fc-classic-Z9U {
  appearance: button;
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  opacity: 1;
  background-color: #0000;
  border-radius: 0;
  margin: 0;
  border: 0;
  padding: 0
}

.fc-classic-JiE {
  color: inherit;
  text-decoration: inherit;
}

.fc-classic-3Lc {
  pointer-events: none
}

.fc-classic-1EY {
  position: absolute
}

.fc-classic-eYX {
  position: relative
}

.fc-classic-OUe {
  position: sticky
}

.fc-classic-MaV {
  inset-inline: 0
}

.fc-classic-AWB {
  inset-block: 0
}

.fc-classic-11a {
  inset-inline-start: -4px
}

.fc-classic-rbS {
  inset-inline-start: 0
}

.fc-classic-bEw {
  inset-inline-end: -4px
}

.fc-classic-2w8 {
  inset-inline-end: 2px
}

.fc-classic-dnf {
  inset-inline-end: -3px
}

.fc-classic-YDC {
  top: -4px
}

.fc-classic-n9G {
  top: 0
}

.fc-classic-2ik {
  top: 2px
}

.fc-classic-ERR {
  top: 50%
}

.fc-classic-fJL {
  bottom: -4px
}

.fc-classic-jGI {
  bottom: 0
}

.fc-classic-1V6 {
  left: 50%
}

.fc-classic-88I {
  order: -1
}

.fc-classic-gMS {
  margin: 4px
}

.fc-classic-bvX {
  margin: 8px
}

.fc-classic-jD5 {
  margin: 16px
}

.fc-classic-J04 {
  margin-inline: -5px
}

.fc-classic-cKZ {
  margin-inline: 2px
}

.fc-classic-rVY {
  margin-inline: 4px
}

.fc-classic-fn8 {
  margin-inline: 8px
}

.fc-classic-148 {
  margin-inline: 1px
}

.fc-classic-cJ3 {
  margin-block: 2px
}

.fc-classic-V9v {
  margin-block: 4px
}

.fc-classic-2tF {
  margin-block: 8px
}

.fc-classic-Jzj {
  margin-inline-start: 2px
}

.fc-classic-Mde {
  margin-inline-start: 8px
}

.fc-classic-qvL {
  margin-inline-start: 1px
}

.fc-classic-kp0 {
  margin-inline-end: -4px
}

.fc-classic-3e1 {
  margin-inline-end: 2px
}

.fc-classic-B3G {
  margin-inline-end: 2.5%
}

.fc-classic-9hC {
  margin-inline-end: 1px
}

.fc-classic-Dq8 {
  margin-top: -4px
}

.fc-classic-a10 {
  margin-top: -5px
}

.fc-classic-Ika {
  margin-bottom: 1px
}

.fc-classic-nHS {
  margin-bottom: -1px
}

.fc-classic-F99 {
  margin-left: -4px
}

.fc-classic-eF2 {
  display: contents
}

.fc-classic-I48 {
  display: block
}

.fc-classic-dl1 {
  display: flex
}

.fc-classic-i3N {
  display: grid
}

.fc-classic-pps {
  display: none
}

.fc-classic-3wQ {
  width: 8px;
  height: 8px
}

.fc-classic-vnf {
  width: 16px;
  height: 16px
}

.fc-classic-XUJ {
  width: 20px;
  height: 20px
}

.fc-classic-uuA {
  height: 8px
}

.fc-classic-zrJ {
  height: 12px
}

.fc-classic-84e {
  min-height: 2px
}

.fc-classic-mhE {
  min-height: 12px
}

.fc-classic-toR {
  min-height: 1px
}

.fc-classic-roZ {
  width: 50%
}

.fc-classic-hza {
  width: 8px
}

.fc-classic-4Tv {
  width: 5px
}

.fc-classic-kMV {
  max-width: 200px
}

.fc-classic-2KU {
  min-width: 0
}

.fc-classic-aNc {
  min-width: 220px
}

.fc-classic-yi0 {
  flex-shrink: 0
}

.fc-classic-1Zl {
  flex-shrink: 1
}

.fc-classic-OLq {
  flex-shrink: 100
}

.fc-classic-1El {
  flex-grow: 1
}

.fc-classic-jmT {
  rotate: 180deg
}

.fc-classic-sgX {
  flex-direction: column
}

.fc-classic-1sP {
  flex-direction: row
}

.fc-classic-dNl {
  flex-wrap: wrap
}

.fc-classic-XpK {
  align-items: center
}

.fc-classic-N2M {
  justify-content: space-between
}

.fc-classic-E9P {
  justify-content: center
}

.fc-classic-LMv {
  justify-content: flex-end
}

.fc-classic-aTF {
  gap: 2px
}

.fc-classic-NWN {
  gap: 4px
}

.fc-classic-wwb {
  gap: 12px
}

.fc-classic-yth {
  gap: 20px
}

.fc-classic-sI7 {
  align-self: flex-start
}

.fc-classic-pKG {
  overflow: hidden
}

.fc-classic-Ig4 {
  border-radius: 4px
}

.fc-classic-AAA {
  border-radius: 3.40282e38px
}

.fc-classic-Fvv {
  border-radius: 4px
}

.fc-classic-kmj {
  border-start-start-radius: 4px;
  border-end-start-radius: 4px
}

.fc-classic-Skl {
  border-start-end-radius: 4px;
  border-end-end-radius: 4px
}

.fc-classic-C2g {
  border-end-end-radius: 4px
}

.fc-classic-Z7Q {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px
}

.fc-classic-2qh {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px
}

.fc-classic-wsy {
  border-style: var(--fc-classic-border-style);
  border-width: 1px
}

.fc-classic-5JF {
  border-style: var(--fc-classic-border-style);
  border-width: 4px
}

.fc-classic-yDA {
  border-style: var(--fc-classic-border-style);
  border-width: 5px
}

.fc-classic-Mjo {
  border-style: var(--fc-classic-border-style);
  border-width: calc(var(--fc-classic-small-dot-width) / 2)
}

.fc-classic-GOm {
  border-style: var(--fc-classic-border-style);
  border-width: calc(var(--fc-classic-large-dot-width) / 2)
}

.fc-classic-1Wx {
  border-inline-style: var(--fc-classic-border-style);
  border-inline-width: 1px
}

.fc-classic-ybF {
  border-inline-style: var(--fc-classic-border-style);
  border-inline-width: 5px
}

.fc-classic-JIC {
  border-block-style: var(--fc-classic-border-style);
  border-block-width: 1px
}

.fc-classic-XM3 {
  border-block-style: var(--fc-classic-border-style);
  border-block-width: 5px
}

.fc-classic-3J4 {
  border-inline-start-style: var(--fc-classic-border-style);
  border-inline-start-width: 1px
}

.fc-classic-hhi {
  border-inline-start-style: var(--fc-classic-border-style);
  border-inline-start-width: 5px
}

.fc-classic-jIH {
  border-inline-start-style: var(--fc-classic-border-style);
  border-inline-start-width: 6px
}

.fc-classic-USt {
  border-inline-end-style: var(--fc-classic-border-style);
  border-inline-end-width: 1px
}

.fc-classic-Bda {
  border-inline-end-style: var(--fc-classic-border-style);
  border-inline-end-width: 5px
}

.fc-classic-ku3 {
  border-top-style: var(--fc-classic-border-style);
  border-top-width: 1px
}

.fc-classic-bLA {
  border-top-style: var(--fc-classic-border-style);
  border-top-width: 6px
}

.fc-classic-zi1 {
  border-bottom-style: var(--fc-classic-border-style);
  border-bottom-width: 1px
}

.fc-classic-TN2 {
  --fc-classic-border-style: dotted;
  border-style: dotted
}

.fc-classic-C1x {
  border-color: var(--fc-classic-border)
}

.fc-classic-sYT {
  border-color: var(--fc-classic-now)
}

.fc-classic-0Pr {
  border-color: var(--fc-classic-primary)
}

.fc-classic-vXO {
  border-color: var(--fc-classic-button-border)
}

.fc-classic-rQI {
  border-color: var(--fc-classic-button-strong-border)
}

.fc-classic-C0k {
  border-color: var(--fc-classic-strong-border)
}

.fc-classic-lNM {
  border-color: var(--fc-event-color)
}

.fc-classic-d0j {
  border-color: #0000
}

.fc-classic-Pqk {
  border-inline-color: #0000
}

.fc-classic-rif {
  border-block-color: #0000
}

.fc-classic-0qY {
  border-inline-start-color: var(--fc-classic-now)
}

.fc-classic-LaM {
  border-inline-start-color: #000
}

.fc-classic-5JV {
  border-inline-end-color: #000
}

.fc-classic-1Aa {
  border-top-color: var(--fc-classic-now)
}

.fc-classic-Jk3 {
  background-color: var(--fc-classic-background)
}

.fc-classic-iYS {
  background-color: var(--fc-classic-faint)
}

.fc-classic-hLU {
  background-color: var(--fc-classic-highlight)
}

.fc-classic-k3f {
  background-color: var(--fc-classic-muted)
}

.fc-classic-YjJ {
  background-color: var(--fc-event-color)
}

@media not print {
  @supports (color:color-mix(in lab, red, red)) {
    .fc-classic-hsC {
      background-color: color-mix(in oklab, var(--fc-event-color) var(--fc-classic-background-event-opacity), transparent)
    }
  }
  @supports not (color:color-mix(in lab, red, red)) {
    .fc-classic-hsC {
      position: relative;
      isolation: isolate
    }
    .fc-classic-hsC:before {
      content: '';
      position: absolute;
      inset: 0;
      background-color: var(--fc-event-color);
      opacity: var(--fc-classic-background-event-opacity);
      z-index: -1
    }
  }
}

.fc-classic-JWq {
  background-color: var(--fc-classic-button)
}

.fc-classic-Adi {
  background-color: var(--fc-classic-button-strong)
}

.fc-classic-KUX {
  padding: 2px
}

.fc-classic-XJa {
  padding: 6px
}

.fc-classic-3N5 {
  padding: 8px
}

.fc-classic-7A6 {
  padding: 1px
}

.fc-classic-oQ2 {
  padding-inline: 2px
}

.fc-classic-Eaq {
  padding-inline: 10px
}

.fc-classic-Apf {
  padding-inline: 12px
}

.fc-classic-F1o {
  padding-inline: 1px
}

.fc-classic-2rx {
  padding-block: 2px
}

.fc-classic-Jhn {
  padding-block: 4px
}

.fc-classic-End {
  padding-block: 6px
}

.fc-classic-dl6 {
  padding-block: 8px
}

.fc-classic-P9h {
  padding-block: 60px
}

.fc-classic-z5u {
  padding-block: 1px
}

.fc-classic-a7i {
  padding-inline-start: 2px
}

.fc-classic-166 {
  padding-top: 2px
}

.fc-classic-8ub {
  padding-bottom: 2px
}

.fc-classic-cM0 {
  padding-bottom: 16px
}

.fc-classic-HXA {
  text-align: center
}

.fc-classic-2HE {
  text-align: end
}

.fc-classic-AVD {
  font-size: 24px;
  line-height: calc(2/1.5)
}

.fc-classic-vQz {
  font-size: 11px;
  line-height: 1.09091
}

.fc-classic-1Po {
  font-size: 16px;
  line-height: calc(1.5/1)
}

.fc-classic-9yp {
  font-size: 14px;
  line-height: calc(1.25/.875)
}

.fc-classic-a3B {
  font-size: 12px;
  line-height: calc(1/.75)
}

.fc-classic-DIS {
  font-weight: 700
}

.fc-classic-IPx {
  text-overflow: ellipsis
}

.fc-classic-TZ4 {
  white-space: nowrap
}

.fc-classic-jm6 {
  white-space: pre
}

.fc-classic-taq {
  color: var(--fc-classic-faint-foreground)
}

.fc-classic-m9h {
  color: var(--fc-classic-muted-foreground)
}

.fc-classic-GAX {
  color: var(--fc-classic-foreground)
}

.fc-classic-RnT {
  color: var(--fc-classic-button-foreground)
}

.fc-classic-i9F {
  color: var(--fc-event-contrast-color)
}

.fc-classic-L1Y {
  font-style: italic
}

.fc-classic-lMo {
  opacity: .5
}

.fc-classic-Q3Z {
  opacity: .65
}

.fc-classic-iTG {
  opacity: .75
}

.fc-classic-MGT {
  opacity: var(--fc-classic-background-event-foreground-opacity)
}

.fc-classic-1kP {
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a
}

.fc-classic-tkw {
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a
}

.fc-classic-qNs {
  box-shadow: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a
}

.fc-classic-A3h {
  box-shadow: 0 0 0 1px var(--fc-classic-ring-color, currentcolor)
}

.fc-classic-yKG {
  --fc-classic-ring-color: var(--fc-classic-background)
}

.fc-classic-2R2 {
  outline-style: solid;
  outline-width: 1px
}

.fc-classic-0Bj {
  outline-style: solid;
  outline-width: 2px
}

.fc-classic-fFh {
  outline-offset: -2px
}

.fc-classic-3Xj {
  outline-offset: 2px
}

.fc-classic-lYz {
  outline-color: var(--fc-classic-button-outline)
}

.fc-classic-zIi {
  outline-color: var(--fc-classic-primary)
}

.fc-classic-SDU {
  background: linear-gradient(var(--fc-classic-muted), var(--fc-classic-muted))var(--fc-classic-background)
}

.fc-classic-BaR {
  background: linear-gradient(var(--fc-classic-strong), var(--fc-classic-strong))var(--fc-classic-background)
}

.fc-classic-mAY:not(:is(:where(.fc-classic-bCs):hover *)) {
  opacity: .65
}

@media not all and (hover:hover) {
  .fc-classic-mAY {
    opacity: .65
  }
}

@media not print {
  .fc-classic-hbn {
    background-color: var(--fc-classic-today)
  }
}

@media (hover:hover) {
  .fc-classic-vs6:is(:where(.fc-classic-bCs):hover *) {
    display: block
  }

  .fc-classic-Ogp:is(:where(.fc-classic-bCs):hover *) {
    text-decoration-line: underline
  }
}

.fc-classic-uk6:first-child {
  border-start-start-radius: 4px;
  border-end-start-radius: 4px
}

.fc-classic-Tuc:last-child {
  border-start-end-radius: 4px;
  border-end-end-radius: 4px
}

@media (hover:hover) {
  .fc-classic-bqK:hover {
    border-color: var(--fc-classic-button-strong-border)
  }

  .fc-classic-9Rj:hover {
    background-color: var(--fc-classic-button-strong)
  }

  .fc-classic-Ubk:hover {
    background-color: var(--fc-classic-faint)
  }

  .fc-classic-4yP:hover {
    background-color: var(--fc-classic-muted)
  }

  .fc-classic-Eu0:hover {
    text-decoration-line: underline
  }
}

.fc-classic-OIx:focus-visible {
  background-color: var(--fc-classic-faint)
}

.fc-classic-tCP:focus-visible {
  background-color: var(--fc-classic-muted)
}

.fc-classic-uqo:focus-visible {
  outline-style: solid;
  outline-width: 2px
}

.fc-classic-sOR:focus-visible {
  outline-style: solid;
  outline-width: 3px
}

.fc-classic-aIH:active {
  border-color: var(--fc-classic-button-strong-border)
}

.fc-classic-5ky:active {
  background-color: var(--fc-classic-button-strong)
}

.fc-classic-28F:active {
  background-color: var(--fc-classic-muted)
}

.fc-classic-8gz:active {
  background-color: var(--fc-classic-strong)
}

@media print {
  .fc-classic-jsy {
    border-width: 1px
  }

  .fc-classic-nQ5 {
    border-color: var(--fc-classic-button-strong-border)
  }

  .fc-classic-DO7 {
    border-color: var(--fc-event-color)
  }

  .fc-classic-4MR {
    border-color: #000
  }

  .fc-classic-vwH {
    background-color: #fff
  }

  .fc-classic-cfp {
    color: #000
  }
}

[dir=rtl] .fc-classic-jY6 {
  rotate: none
}

[dir=rtl] .fc-classic-asP {
  rotate: 180deg
}


:root {
  /* buttons */
  --fc-classic-button: #334155;
  --fc-classic-button-border: #334155;
  --fc-classic-button-strong: #1e293b;
  --fc-classic-button-strong-border: #0f172a;
  --fc-classic-button-outline: #47556980;
  --fc-classic-button-foreground: #fff;

  /* primary */
  --fc-classic-primary: #3788d8;
  --fc-classic-primary-foreground: #fff;

  /* calendar content */
  --fc-classic-event: var(--fc-classic-primary);
  --fc-classic-event-contrast: var(--fc-classic-primary-foreground);
  --fc-classic-background-event: #22c55e;
  --fc-classic-background-event-opacity: 15%;
  --fc-classic-background-event-foreground-opacity: 50%;
  --fc-classic-highlight: #cffafe66;
  --fc-classic-today: #facc1526;
  --fc-classic-now: #ef4444;
  /* non-colors */
  --fc-classic-small-dot-width: 8px;
  --fc-classic-large-dot-width: 10px;

  /* neutral backgrounds */
  --fc-classic-background: #ffffff;
  --fc-classic-faint: #0000000A;
  --fc-classic-muted: #00000014;
  --fc-classic-strong: #00000024;

  /* neutral foregrounds */
  --fc-classic-foreground: #030712;
  --fc-classic-faint-foreground: #9ca3af;
  --fc-classic-muted-foreground: #6b7280;

  /* neutral borders */
  --fc-classic-border: #ddd;
  --fc-classic-strong-border: #9ca3af;
}

@media not print {
  [data-color-scheme=dark] {
    /* calendar content */
    --fc-classic-highlight: #3b82f633;
    --fc-classic-today: #fef08a1A;

    /* neutral backgrounds */
    --fc-classic-background: #030712;
    --fc-classic-faint: #ffffff0A;
    --fc-classic-muted: #ffffff14;
    --fc-classic-strong: #ffffff24;

    /* neutral foregrounds */
    --fc-classic-foreground: #fff;
    --fc-classic-faint-foreground: #4b5563;
    --fc-classic-muted-foreground: #9ca3af;

    /* neutral borders */
    --fc-classic-border: #1f2937;
    --fc-classic-strong-border: #374151;
  }
}


.planner-bell{position:relative;font-size:18px}.planner-bell span{position:absolute;top:0;right:0;min-width:16px;height:16px;border-radius:100px;background:#bc534c;color:white;font-size:10px;line-height:16px}.planner-overview{margin:18px 0}.planner-overview-counts{display:flex;flex-wrap:wrap;gap:20px;padding:16px}.planner-overview-counts strong{font-size:20px}.planner-overview>button,.planner-notifications button{display:block;width:100%;padding:10px;text-align:left;border:0;background:none;cursor:pointer}.planner-overview small,.planner-notifications small{margin-left:10px}.planner-related{margin-top:20px;border-top:1px solid #dde5e0;padding-top:16px}.planner-related-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.planner-related>.text-link{display:block;margin:7px 0}.planner-tabs,.planner-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.planner-tabs button{border:1px solid #ccd8d0;border-radius:9px;background:#fff;padding:8px 12px;cursor:pointer}.planner-tabs button.active{background:#e3efe6;color:#295541}.planner-filters{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.planner-filters input,.planner-filters select{min-width:110px;max-width:100%;padding:8px;border:1px solid #ccd8d0;border-radius:8px}.planner-calendar-panel{padding:14px;overflow:auto;min-width:0}.planner-calendar-panel #planner-calendar{min-width:0}.planner-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.planner-form-grid>label{display:flex;flex-direction:column;gap:5px;min-width:0}.planner-form-grid>label.wide,.planner-people,.planner-mode{grid-column:1/-1}.planner-form-grid input:not([type=checkbox]),.planner-form-grid select,.planner-form-grid textarea,.planner-detail textarea{width:100%;min-width:0;padding:9px;border:1px solid #ccd8d0;border-radius:8px}.planner-people{border:1px solid #dce5de;border-radius:9px}.planner-people>div{display:flex;gap:8px 16px;flex-wrap:wrap;max-height:150px;overflow:auto}.planner-people label{white-space:nowrap}.planner-create{padding:20px}.activity-list article{display:flex;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid #e2e8e2}.activity-list article p{margin:5px 0}.activity-list article.planner-overdue{background:#fff3ee}.planner-title{font-weight:650;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:#285941}.planner-detail dl{display:grid;grid-template-columns:120px 1fr;gap:8px}.planner-detail dt{color:#687a70}.planner-comments>div{border-bottom:1px solid #e1e8e1;padding:8px 0}.planner-comments small{margin-left:8px}.planner-history{max-height:220px;overflow:auto;overflow-wrap:anywhere}.planner-detail textarea{min-height:70px}.planner-inline-actions{display:flex;flex-wrap:wrap;gap:6px}.planner-detail{overflow-wrap:anywhere}.fc{--fc-border-color:#dbe4dc;--fc-button-bg-color:#356b50;--fc-button-border-color:#356b50;--fc-button-hover-bg-color:#27533e;--fc-today-bg-color:#f2f9f1}.fc .fc-toolbar{flex-wrap:wrap;gap:8px}.fc .fc-event{cursor:pointer}@media(max-width:700px){.planner-form-grid{grid-template-columns:1fr}.planner-filters>*{flex:1 1 130px}.planner-calendar-panel{padding:7px}.fc .fc-toolbar{font-size:.8rem}.fc .fc-toolbar-title{font-size:1.05rem}.fc .fc-button{padding:.25em .38em}.activity-list article{flex-direction:column}.planner-detail dl{grid-template-columns:90px 1fr}}
.planner-rights{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid #dde5de;border-radius:8px}.planner-rights legend{font-weight:600}@media(max-width:550px){.planner-rights{grid-template-columns:1fr}}
#user-form .planner-rights label{display:flex;align-items:center;gap:10px;min-height:34px;font-size:14px;line-height:1.35;color:#344b42}
#user-form .planner-rights input[type=checkbox]{flex:none;width:18px;height:18px;min-width:18px;margin:0;accent-color:#2f6a4c}
.planner-calendar-panel .fc{--fc-classic-border:#cfdbd1;--fc-classic-strong-border:#a9c0ae;--fc-classic-button:#305f49;--fc-classic-button-border:#305f49;--fc-classic-button-strong:#214936;--fc-classic-button-strong-border:#214936;--fc-classic-today:#eaf5e9}
.planner-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 15px;margin:0 0 16px;font-size:14px;color:#40564b}
.planner-calendar-legend span{display:inline-flex;align-items:center;gap:7px}
.planner-calendar-legend i{width:14px;height:14px;border-radius:2px;flex:none}
.planner-calendar-heading{font-size:1.35rem;font-weight:700;color:#243b33}
#planner-calendar .planner-calendar-item{border-radius:3px;min-height:29px;padding:3px 5px;color:#fff;box-shadow:none}
#planner-calendar .planner-calendar-item .fc-event-main{color:#fff;min-width:0}
#planner-calendar .planner-calendar-type,#planner-calendar .planner-calendar-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}
#planner-calendar .planner-calendar-type{font-size:12px;font-weight:700}
#planner-calendar .planner-calendar-title{font-size:12px;font-weight:500}
#planner-calendar .fc-daygrid-event-dot{display:none}

.blank-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.blank-toolbar label{display:flex;gap:6px;align-items:center}.blank-workspace{display:grid;grid-template-columns:230px minmax(0,1fr) 260px;gap:10px;flex:1;min-height:0;overflow:auto}.blank-side{padding:12px;overflow:auto;min-width:0}.blank-side fieldset{border:0;padding:0;min-width:0}.blank-side legend,.blank-side h3{font-weight:700;margin:8px 0}.blank-side label{display:block;font-size:12px;margin:6px 0}.blank-side input:not([type=checkbox]),.blank-side textarea,.blank-side select{width:100%;max-width:100%;padding:5px;border:1px solid var(--line,#dce2e9);border-radius:4px}.blank-side textarea{resize:vertical}.blank-palette{display:flex;gap:5px;flex-wrap:wrap}.blank-list{display:block;width:100%;text-align:left;border:1px solid #e0e5eb;border-radius:3px;background:white;padding:6px;margin-top:4px;cursor:grab}.blank-list.active{border-color:#366ee9;background:#eef3ff}.blank-preview{overflow:auto;background:#edf0f4;padding:12px;min-width:0}.blank-paper{background:white;color:#111;max-width:210mm;margin:0 auto;box-shadow:0 1px 6px #0002;min-width:0}.blank-block{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:4px;cursor:pointer}.blank-block.selected{outline:1px dashed #366ee9;outline-offset:2px}.blank-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.blank-paper table{border-collapse:collapse;width:100%;table-layout:fixed}.blank-paper td{border:1px solid #222;padding:3px;overflow-wrap:anywhere}.blank-paper footer{font-size:8pt;text-align:right;margin-top:16px}.blank-fields{max-height:280px;overflow:auto}.blank-fields button{display:block;text-align:left;margin:5px 0;font-size:11px}.blank-block-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.blank-cell-editor{max-height:300px;overflow:auto}@media(max-width:1100px){.blank-workspace{grid-template-columns:190px minmax(0,1fr)}.blank-workspace>.blank-side:last-child{grid-column:1/-1}}@media(max-width:700px){.blank-workspace{display:flex;flex-direction:column;overflow:auto}.blank-side,.blank-preview{overflow:visible}.blank-paper{padding:12px!important}.blank-toolbar>*{max-width:100%}.blank-toolbar label{width:100%;flex-wrap:wrap}.blank-toolbar select{max-width:100%}}

.blank-image{display:block;object-fit:contain}.blank-side input[type=file]{font-size:11px}.blank-side small{display:block;font-size:11px;overflow-wrap:anywhere}

.blank-fields button[hidden],[data-doc-field-row][hidden]{display:none!important}.blank-preview-dialog{width:min(960px,96vw);max-width:96vw}.blank-full-preview{background:#edf0f4;padding:12px;overflow:auto;margin-top:10px}.blank-full-preview .blank-block{cursor:default;outline:none}.blank-preview-dialog .drawer-body{overflow:auto}.blank-preview-dialog .blank-paper{min-width:0}.blank-preview-dialog select{max-width:100%}

.blank-paper td textarea{display:block;width:100%;min-width:0;border:0;background:transparent;color:inherit;padding:2px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}.blank-paper td textarea:focus{outline:2px solid #366ee9;background:#eef3ff}.blank-fields button[draggable=true]{cursor:grab}.blank-paper td:focus-within{background:#eef3ff}.blank-cell-editor h3{font-size:12px}

.blank-table-menu{margin:8px 0;border:1px solid #dde3ec;border-radius:4px;padding:7px}.blank-table-menu summary{cursor:pointer;font-weight:700;font-size:12px}.blank-table-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.blank-table-actions .btn{font-size:11px;padding:4px 6px;white-space:normal}.blank-paper .blank-table-borderless td{border-color:transparent}

.blank-canvas-text{display:block;width:100%;min-width:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:inherit;line-height:inherit;padding:0;resize:vertical;overflow-wrap:anywhere}.blank-canvas-text:focus{outline:1px dashed #366ee9}.blank-paper .blank-block textarea{box-sizing:border-box}

.blank-paper{position:relative;min-height:297mm}.blank-image[data-blank-image-move]{cursor:move;touch-action:none;user-select:none}.blank-preview-close{background:#dc3545!important;color:white!important;border:0!important;border-radius:3px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.blank-preview-close:hover{background:#b92332!important}

.blank-page-guides{position:absolute;inset:0;pointer-events:none;z-index:4}.blank-page-break{position:absolute;left:0;right:0;border-top:2px dashed #69809b;color:#375778;font:10px Arial;padding:2px 6px;background:#edf0f4cc}.blank-page-break.overflow{border-color:#c64040;color:#a12424}.blank-page-status{position:sticky;top:0;z-index:5;font-size:11px;background:#edf0f4;padding:4px;margin:0 0 6px}.blank-page-status.overflow{color:#a12424}.firm-document-image{margin-bottom:16px}.firm-document-image input{max-width:100%}@media print{.blank-page-guides,.blank-page-status{display:none}}

.blank-asset-menu{position:relative}.blank-asset-popover{position:absolute;z-index:25;top:100%;right:0;width:280px;max-width:90vw;background:white;border:1px solid var(--line);box-shadow:0 4px 14px #0002;padding:10px}.blank-asset-popover label{display:block;margin:6px 0}.blank-asset-popover select,.blank-asset-popover input{max-width:100%;width:100%}.blank-asset-popover small{display:block;margin-top:6px}.blank-floating-asset{touch-action:none}.blank-palette [hidden]{display:none!important}.journal-excel-actions{position:relative}.journal-blank-picker{position:absolute;right:0;top:100%;width:330px;max-width:90vw;z-index:35;background:white;border:1px solid var(--line);box-shadow:0 4px 14px #0002;padding:12px}.journal-blank-picker label{display:block;margin-bottom:8px}.journal-blank-picker select{width:100%}

/* Use the same physical A4 grid and explicit text metrics as the Word exporter. */
.blank-preview .blank-paper,.blank-full-preview .blank-paper{width:210mm;min-width:210mm;max-width:none;box-sizing:border-box;line-height:1.2}.blank-paper .blank-block{line-height:1.2;margin-bottom:3pt}.blank-paper table td{padding:2.25pt 2.25pt 5.25pt;line-height:1.2;vertical-align:top}.blank-paper .blank-signatures{border:0}.blank-paper .blank-signatures td{white-space:pre-wrap}.blank-paper .blank-pair{gap:0}.blank-paper .blank-pair>div{padding:2.25pt 2.25pt 5.25pt}.blank-paper footer{position:absolute;bottom:7.05mm;left:var(--blank-margin,15mm);right:var(--blank-margin,15mm);margin:0;line-height:1.2}.blank-paper .blank-repeat-footer{position:absolute;left:var(--blank-margin,15mm);right:var(--blank-margin,15mm);font-size:8pt;text-align:right;line-height:1.2}.blank-preview:focus{outline:none}@media(max-width:700px){.blank-preview,.blank-full-preview{overflow:auto;max-width:100%}.blank-preview .blank-paper,.blank-full-preview .blank-paper{padding:var(--blank-margin,15mm)!important}}

/* Independent editor panes fill the available workspace instead of growing the page. */
.shell:has(.blank-workspace){height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.shell:has(.blank-workspace)>.topbar{flex:none}
.shell>.main:has(.blank-workspace){flex:1;min-height:0;width:100%;max-width:none;margin:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:var(--crm-lower-frame)}
.main:has(.blank-workspace)>#view{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
.main:has(.blank-workspace)>#view>:not(.blank-workspace){flex:none}
.main:has(.blank-workspace)>.footer{display:none}
.main:has(.blank-workspace) .blank-workspace{flex:1 1 0;height:0;min-height:0;overflow:hidden;grid-template-columns:210px minmax(0,1fr) 230px;grid-template-rows:minmax(0,1fr)}
.blank-workspace>.blank-side{min-height:0;height:100%;overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior-y:contain;scrollbar-width:auto}
.blank-workspace>.blank-preview{min-height:0;height:100%;overflow:auto;overscroll-behavior:contain}
.blank-workspace>.blank-side:last-child{grid-column:auto}
.blank-side::-webkit-scrollbar{width:10px}.blank-side::-webkit-scrollbar-track{background:#edf0f4}.blank-side::-webkit-scrollbar-thumb{background:#9baaac;border:2px solid #edf0f4;border-radius:6px}
@media(max-width:1100px) and (min-width:901px){.main:has(.blank-workspace) .blank-workspace{grid-template-columns:190px minmax(0,1fr) 230px}}
@media(max-width:900px){.main:has(.blank-workspace) .blank-workspace{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.blank-workspace>.blank-side{flex:0 0 45dvh;height:45dvh;width:100%;min-height:180px}.blank-workspace>.blank-preview{flex:0 0 65dvh;height:65dvh;min-height:240px;width:100%;max-width:100%}}

/* The breadcrumb names the editor; reserve the workspace for the actual blank. */
.main:has(.blank-workspace) .demo-banner{display:none}
.shell>.main:has(.blank-workspace){padding-top:8px;padding-inline:12px}
.blank-editor-title{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.blank-toolbar select[data-blank-load]{width:260px;max-width:100%;min-width:0}.blank-toolbar label{min-width:0}

/* Help belongs to the toolbar, never below the editor's 3 mm lower frame. */
.blank-help-menu{position:relative;flex:none}.blank-help-menu>summary{list-style:none;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:3px;background:white}.blank-help-menu>summary::-webkit-details-marker{display:none}.blank-help-popup{position:absolute;top:100%;right:0;z-index:35;width:310px;max-width:85vw;padding:12px;border:1px solid var(--line);border-radius:4px;background:white;box-shadow:0 4px 14px #0002;font-size:12px;line-height:1.5}
.main:has(.blank-workspace)>#view>.blank-workspace{margin-bottom:0}

.blank-history-controls{display:flex;align-items:center;gap:6px;flex:none}.blank-history-controls .btn{display:inline-flex;align-items:center;gap:4px}

.blank-preview .blank-paper textarea.blank-canvas-text,.blank-preview .blank-paper textarea[data-blank-canvas-cell]{font:inherit!important;color:inherit!important;text-align:inherit;background:transparent!important;border-radius:0;caret-color:currentColor}.blank-preview .blank-paper [data-blank-shade="true"] textarea,.blank-preview .blank-paper [data-blank-shade="true"] textarea:focus{color:#fff!important;background:#111!important;caret-color:#fff;outline-color:#639aff}.blank-preview .blank-paper textarea:focus{outline:1px dashed #366ee9}.blank-paper footer textarea{box-sizing:border-box;min-height:1.2em;font-size:8pt!important}

/* Table handles affect the document grid, not the CRM workspace frame. */
.blank-preview .blank-block:has(>table){position:relative}
.blank-table-move,.blank-table-resize{position:absolute;z-index:8;width:20px;height:20px;padding:0;border:1px solid #546e63;border-radius:3px;background:white;color:#285a43;touch-action:none;line-height:18px}
.blank-table-move{left:-22px;top:0;cursor:move}.blank-table-resize{bottom:-2px;cursor:nwse-resize}
.blank-preview .blank-paper [data-blank-shade] textarea,.blank-preview .blank-paper [data-blank-shade] textarea:focus{color:inherit!important;background:transparent!important;caret-color:currentColor}
.blank-image-picker{width:420px;max-width:95vw}.blank-image-picker .drawer-body{display:grid;gap:12px}.blank-image-picker select{width:100%}.blank-image-picker [data-blank-picker-preview]{padding:12px;background:repeating-conic-gradient(#eee 0 25%,white 0 50%) 0/16px 16px;min-height:100px;display:grid;place-items:center;color:#182d30}
.blank-side input[type=color]{width:100%;height:30px;padding:2px}.blank-toolbar select[data-blank-context-order]{width:150px;max-width:100%}

.blank-image-resize{width:12px;height:12px;line-height:10px;padding:0;background:#fff;border:1px solid #285a43;border-radius:2px;color:#285a43;cursor:nwse-resize;touch-action:none;z-index:9}
.blank-preview img[tabindex="0"]:focus{outline:2px solid #366ee9;outline-offset:2px}

.blank-paper footer,.blank-paper .blank-repeat-footer{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff}
/* Compact fields belong only to the editing canvas; full previews/export keep all content. */
.blank-workspace>.blank-preview,.blank-workspace>.blank-side{overflow-anchor:none;scroll-behavior:auto}
.blank-preview .blank-paper[data-blank-compact=true]>.blank-block{max-height:5cm;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.blank-preview .blank-paper[data-blank-compact=true]>.blank-block:focus-within{max-height:min(60vh,22cm)}
.blank-preview .blank-paper[data-blank-compact=true] textarea{max-height:5cm!important;overflow:auto!important;resize:none;scrollbar-width:thin}
.blank-preview .blank-paper[data-blank-compact=true] textarea:focus{max-height:min(60vh,22cm)!important}
.blank-side textarea{max-height:5cm;overflow:auto}.blank-side textarea:focus{max-height:min(60vh,22cm)}
.blank-preview .blank-paper[data-blank-compact=true]>footer{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px;max-height:5cm;overflow:auto}
.blank-paper .blank-paragraph{min-height:1em;white-space:pre-wrap}.blank-full-preview [data-blank-keep=true]{break-inside:avoid;page-break-inside:avoid}.blank-full-preview footer .blank-block{margin:0;outline:none}
.blank-rich-overlay{z-index:130;justify-content:center;align-items:center;padding:12px}.blank-rich-dialog{width:min(1000px,96vw);height:min(85vh,900px);max-width:none;border-radius:6px;display:flex;flex-direction:column}.blank-rich-dialog .drawer-header{padding:10px 14px}.blank-rich-dialog h2{font-size:16px}.blank-rich-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line)}.blank-rich-tools button,.blank-rich-tools select{height:28px;padding:3px 6px;font-size:12px;border:1px solid var(--line);border-radius:3px;background:white;color:var(--ink)}.blank-rich-tools label{font-size:11px;display:flex;align-items:center;gap:4px}.blank-rich-tools input[type=color]{width:32px;height:28px;padding:1px;border:1px solid var(--line)}.blank-rich-status{font-size:11px;padding:5px 14px;margin:0;color:#52685c}.blank-rich-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin:0 14px 10px;padding:12px;border:1px solid var(--line);background:white;white-space:pre-wrap;line-height:1.3;outline:none}.blank-rich-content>div{min-height:1em}.blank-rich-dialog .drawer-footer{padding:10px 14px}
.blank-save-error{flex-basis:100%;font-size:12px;color:#a12323;padding:5px 8px;background:#fff1f1;border-radius:3px}
.blank-repeat-footer .blank-block{margin:0}

.shell:has(#planning-root){height:100dvh;display:flex;flex-direction:column;overflow:hidden}.shell:has(#planning-root)>.topbar{flex:none}.shell>.main:has(#planning-root){flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 16px var(--crm-lower-frame);overflow:hidden}.main:has(#planning-root)>#view,#planning-root{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.main:has(#planning-root)>.footer,.main:has(#planning-root)>.demo-banner,.main:has(#planning-root)>.legacy-banner{display:none}
.planning-workspace,.planning-config{display:flex;flex-direction:column;min-height:0;flex:1;gap:5px}.planning-workspace .page-heading,.planning-config .page-heading{margin:0;min-height:30px;align-items:center}.planning-workspace h1,.planning-config h1{font-size:22px;margin:0}.planning-actions,.planning-row-actions{display:flex;gap:5px;align-items:center}.planning-row-actions{margin-top:4px}.planning-action{width:16px!important;height:16px!important;min-height:16px!important;padding:1px!important;border-radius:3px!important;background:#527264;color:#fff;border:0}.planning-action[data-plan-action=add],.planning-action[data-plan-action=generate]{background:#149845}.planning-action[data-plan-action^="delete"]{background:#ef3340}.planning-action[data-plan-action=configure]{background:#2870c1}.planning-filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.planning-filters label{display:grid;gap:2px;font-size:11px}.planning-filters input,.planning-filters select{height:24px;min-height:24px;padding:2px 5px;border:1px solid var(--line);border-radius:4px;font-size:11px;max-width:240px}.planning-filters input[type=date]{width:90px;font-size:10px}.planning-status{font-size:11px;color:#526668}.planning-status span{margin-left:12px}.planning-scroll{min-height:0;flex:1;overflow:auto;border:1px solid var(--line);background:white}.planning-grid{border-collapse:collapse;table-layout:fixed}.planning-grid th{position:sticky;top:0;z-index:2;background:#eaf0ec;cursor:pointer}.planning-grid th,.planning-grid td{border:1px solid #d8e0db;padding:5px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:12px;box-sizing:border-box}.planning-grid td:focus{outline:2px solid #4e98df;outline-offset:-2px}.planning-grid td input:not([type=checkbox]),.planning-grid td select{width:100%;min-width:0;padding:2px;height:26px;box-sizing:border-box;font-size:12px}.planning-error{background:#fff2dc;color:#8c4800}.planning-row-resize{cursor:ns-resize;touch-action:none;padding:1px 5px}.planning-paging{display:flex;align-items:center;gap:8px;font-size:12px}.planning-paging .btn{min-height:20px;height:20px;padding:1px 6px}.planning-empty{padding:16px;font-size:13px}.planning-config-body{overflow:auto;min-height:0;flex:1}.planning-config-body details{padding:8px 0;border-bottom:1px solid var(--line)}.planning-config-body summary{cursor:pointer;font-weight:600}.planning-column-editor{display:flex;align-items:end;gap:6px;flex-wrap:wrap;padding:8px;margin:4px 0;border:1px solid var(--line);border-radius:4px;background:white}.planning-column-editor label{display:grid;font-size:11px;gap:3px}.planning-column-editor input:not([type=checkbox]),.planning-column-editor select,.planning-column-editor textarea{width:140px;max-width:100%;height:28px;min-height:28px;font-size:12px}.planning-column-editor [data-config=formula]{width:280px}.planning-column-editor strong{flex-basis:100%;font-size:12px;cursor:grab}.planning-rate-row,.planning-stop-row{display:flex;gap:6px;margin:3px 0;flex-wrap:wrap}.planning-rate-row input{width:130px}.planning-stop-row input{width:100px}.planning-stop-row label{font-size:11px}.planning-config-body>label{display:grid;max-width:600px}.planning-config-body textarea{resize:vertical}.planning-config-body pre{white-space:pre-wrap}#planning-root dialog,dialog:has([data-close-history]){max-width:90vw;max-height:80vh;overflow:auto;border:1px solid var(--line);border-radius:8px}dialog:has([data-close-history]) pre{white-space:pre-wrap}
@media(max-width:700px){.shell>.main:has(#planning-root){padding-inline:8px}.planning-filters label:first-child{width:100%}.planning-filters label:first-child select{width:100%;max-width:100%}.planning-config .page-heading{flex-wrap:wrap}.planning-column-editor [data-config=formula]{width:100%}}

/* Keep shared controls in the heading, without a permanent service band. */
body .main #planning-root .report-column-controls{margin:0;padding:0;flex:none}
#planning-root .report-column-controls:not(:has([data-report-column-editor]:not([hidden]))){display:none}
#planning-root .planning-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0}
body .main #planning-root .planning-actions .report-column-toolbar,body .main #planning-root .planning-actions .personal-row-toolbar{margin:0;padding:0;flex:none;gap:4px}
#planning-root .report-column-toolbar small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#planning-root .planning-actions .personal-row-toolbar input{width:38px;height:16px;padding:0 2px}
#planning-root .planning-paging{font-size:10px;gap:4px;margin:0;flex:none}
#planning-root .planning-status{flex:none;line-height:16px}
#planning-root .planning-workspace>.page-heading{flex-wrap:wrap;gap:5px}
#planning-root .planning-grid th{word-break:normal;overflow-wrap:normal}

/* Project configuration is compact and independent of global form grids. */
#planning-root .planning-config-body{overflow-x:hidden;min-width:0}
#planning-root .planning-project-settings{display:grid;grid-template-columns:minmax(130px,220px) minmax(150px,260px) 120px 120px;gap:6px 10px;align-items:start;margin-bottom:8px}
#planning-root .planning-project-settings>label,#planning-root .planning-pool-picker>label{display:grid;gap:2px;font-size:11px;min-width:0}
#planning-root .planning-config-body input:not([type=checkbox]),#planning-root .planning-config-body select,#planning-root .planning-config-body textarea{box-sizing:border-box;min-width:0;max-width:100%;font-size:11px;border:1px solid var(--line);border-radius:4px;padding:2px 5px}
#planning-root .planning-project-settings input,#planning-root .planning-project-settings select{width:100%;height:24px;min-height:24px}
#planning-root .planning-pools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:850px;margin-bottom:8px;align-items:start}
#planning-root .planning-pool{min-width:0;border:1px solid var(--line);border-radius:4px;padding:6px;background:#fff}
#planning-root .planning-pool-heading,#planning-root .planning-pool-members>div,#planning-root .planning-pool-candidates>div{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;padding:3px 0}
#planning-root .planning-pool-members,#planning-root .planning-pool-candidates{max-height:130px;overflow:auto;min-height:20px}
#planning-root .planning-pool-members span,#planning-root .planning-pool-candidates span{min-width:0;overflow-wrap:anywhere}
#planning-root .planning-pool .planning-action{flex:none}
#planning-root .planning-pool-picker{border-top:1px solid var(--line);padding-top:5px;margin-top:5px}
#planning-root .planning-pool-picker input{width:100%;height:24px}
#planning-root .planning-column-editor{display:grid;grid-template-columns:minmax(110px,1fr) 90px minmax(110px,1fr) minmax(160px,1.5fr) 100px 55px;gap:5px 8px;padding:6px;min-width:0;max-width:100%}
#planning-root .planning-column-editor strong{grid-column:1/-1}
#planning-root .planning-column-editor label{min-width:0;font-size:10px;gap:2px}
#planning-root .planning-column-editor input:not([type=checkbox]),#planning-root .planning-column-editor select,#planning-root .planning-column-editor textarea{width:100%;height:24px;min-height:24px}
#planning-root .planning-column-editor label:has(input[type=checkbox]){display:flex;align-items:center;gap:4px}
#planning-root .planning-column-editor .btn{width:16px;height:16px;min-height:16px;padding:0;border-radius:3px;font-size:10px}
#planning-root .planning-filters label{flex:0 1 auto;min-width:0}
#planning-root .planning-filters select{max-width:200px}
#planning-root .planning-filters input[type=search]{width:120px}
#planning-root .planning-filters [data-plan-filter-value]{width:130px}
#planning-root .planning-filters input[type=date]{width:90px;height:24px;font-size:10px}
#planning-root .planning-status .inline-link{margin-left:6px;font-size:11px}
#planning-root .planning-general-grid{border-collapse:collapse;table-layout:fixed}
#planning-root .planning-general-grid th{position:sticky;top:0;z-index:2;background:#eaf0ec}
#planning-root .planning-general-grid th,#planning-root .planning-general-grid td{border:1px solid #d8e0db;padding:5px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:12px;box-sizing:border-box}
@media(max-width:1050px){#planning-root .planning-column-editor{grid-template-columns:repeat(3,minmax(0,1fr))}#planning-root .planning-project-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#planning-root .planning-pools{grid-template-columns:1fr}#planning-root .planning-column-editor{grid-template-columns:repeat(2,minmax(0,1fr))}#planning-root .planning-filters label:first-child{width:auto}#planning-root .planning-project-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pools are half-width compact fields. Lists appear only while activated. */
#planning-root .planning-pools{max-width:425px;gap:6px;position:relative;z-index:4}
#planning-root .planning-pool{position:relative;padding:3px 5px}
#planning-root .planning-pool-heading{padding:0;gap:4px;min-height:22px}
#planning-root .planning-pool-toggle{display:flex;align-items:center;justify-content:space-between;gap:4px;flex:1;min-width:0;padding:2px 0;text-align:left;font-size:11px;line-height:18px}
#planning-root .planning-pool-dropdown{position:absolute;left:0;top:calc(100% + 3px);width:100%;min-width:180px;max-width:calc(100vw - 32px);max-height:300px;overflow:auto;background:white;border:1px solid var(--line);border-radius:4px;padding:5px;box-shadow:0 5px 15px #172d3226;z-index:5}
#planning-root .planning-pool-dropdown[hidden]{display:none}
#planning-root .planning-project-settings{grid-template-columns:minmax(150px,260px) minmax(130px,220px) minmax(150px,260px)}
#planning-root .planning-action[data-plan-action=save-template]{background:#149845}
@media(max-width:700px){#planning-root .planning-project-settings{grid-template-columns:repeat(2,minmax(0,1fr))}#planning-root .planning-pools{max-width:425px;grid-template-columns:repeat(2,minmax(0,1fr))}}
#planning-root .planning-config .planning-project-settings{grid-template-columns:minmax(150px,260px);margin-bottom:6px}
#planning-root .planning-config-body details[data-editor-panel]:not([data-editor-panel=fields])[open]{max-height:260px;overflow:auto}
#planning-root .planning-config-body details[data-editor-panel]>summary{font-size:12px;line-height:20px}
#planning-root .planning-config-body details[data-editor-panel]>label{display:grid;gap:4px;max-width:420px;font-size:11px}
#planning-root .planning-config-body details[data-editor-panel]>textarea{width:min(100%,600px)}
#planning-root .planning-new-project{width:360px;max-width:calc(100vw - 24px);padding:14px}
#planning-root .planning-new-project form{display:grid;gap:10px}
#planning-root .planning-new-project label{display:grid;gap:4px;font-size:12px}
#planning-root .planning-new-project input,#planning-root .planning-new-project select{width:100%;min-width:0;height:28px;border:1px solid var(--line);border-radius:4px;padding:2px 5px}
#planning-root .planning-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
#planning-root .planning-dialog-heading h2{margin:0;font-size:16px}
#planning-root .planning-new-project [role=alert]{color:#b42318;margin:0;font-size:12px}
#planning-root .planning-action[data-plan-action=add-project]{background:#149845}
#planning-root .planning-occupancy-grid{border-collapse:collapse;table-layout:fixed}
#planning-root .planning-occupancy-grid th{position:sticky;top:0;z-index:2;background:#eaf0ec}
#planning-root .planning-occupancy-grid th,#planning-root .planning-occupancy-grid td{border:1px solid #d8e0db;padding:5px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:11px;box-sizing:border-box}
#planning-root .occupancy-client{display:block;padding:3px 4px;margin-bottom:3px;border-radius:3px;background:#e2efdf;color:#315a38;line-height:1.3}
#planning-root .occupancy-client[data-source=planning]{background:#e4eef9;color:#285886}
#planning-root .occupancy-free{color:#a0aaa5}
#planning-root .planning-filters [data-occ-view]{width:90px}
#planning-root .planning-filters [data-occ-project]{max-width:200px}
#planning-root .planning-occupancy-grid th[data-report-column-key=driver]{left:0;z-index:3}
#planning-root .planning-occupancy-grid td[data-report-original-column="0"]{position:sticky;left:0;z-index:1;background:#fff}
#planning-root .occupancy-bookable{cursor:pointer;position:relative}
#planning-root .occupancy-bookable:hover{background:#f0f6eb}
#planning-root .occupancy-bookable:focus-visible{outline:2px solid #4e98df;outline-offset:-2px}
#planning-root .occupancy-client-picker{position:fixed;width:280px;max-width:calc(100vw - 16px);max-height:280px;overflow:auto;z-index:60;background:white;border:1px solid var(--line);border-radius:5px;box-shadow:0 6px 24px #172d3233;padding:8px;cursor:default;white-space:normal}
#planning-root .occupancy-client-picker strong{font-size:11px}
#planning-root .occupancy-client-picker input{width:100%;height:26px;border:1px solid var(--line);border-radius:4px;padding:2px 5px;font-size:12px;margin:5px 0}
#planning-root .occupancy-client-options{max-height:170px;overflow:auto;display:grid;gap:2px}
#planning-root .occupancy-client-options button{padding:5px;text-align:left;font-size:12px;border-radius:3px}
#planning-root .occupancy-client-options button:hover{background:#e9f2e3}
#planning-root .occupancy-client-options small{display:block;color:var(--muted);font-size:10px}
#planning-root .occupancy-client-picker [role=alert]{font-size:11px;color:#b42318}
#planning-root .occupancy-action-dialog select[name=driver]{height:140px}
#planning-root .planning-filters [data-occ-belonging]{width:85px}
#planning-root .planning-action[data-plan-action=occ-add-driver]{background:#149845}
/* Occupancy colours apply to the whole day cell, including blank days. */
#planning-root .planning-occupancy-grid td.occupancy-working{background:#e3f2df}
#planning-root .planning-occupancy-grid td.occupancy-idle{background:#fde8e7}
#planning-root .planning-occupancy-grid td.occupancy-away{background:#fff3cd}
#planning-root .occupancy-bookable:hover{box-shadow:inset 0 0 0 1px #739788}
#planning-root .occupancy-day-status{display:block;line-height:1.4;color:#66551f}
#planning-root .occupancy-client{background:transparent!important;color:#285637!important;padding:1px 0}
#planning-root .occupancy-free{color:#b48582}
#planning-root .planning-occupancy-grid th[data-report-column-key=driver]{left:auto}
#planning-root .planning-occupancy-grid th[data-report-column-key=manager]{left:0;z-index:3}
#planning-root [data-occ-driver-info]{cursor:help}
#planning-root .occupancy-client-picker{max-height:min(380px,calc(100dvh - 16px))}
#planning-root .occupancy-booking-count{display:flex;align-items:center;gap:8px;font-size:11px;margin:6px 0}
#planning-root .occupancy-booking-count select{width:50px;height:24px;padding:0 4px}
#planning-root .occupancy-status-options{display:flex;flex-wrap:wrap;gap:3px;border-block:1px solid var(--line);padding:5px 0}
#planning-root .occupancy-status-options button{font-size:11px;padding:3px 5px;background:#fff3cd;border-radius:3px}
#planning-root .occupancy-status-options [data-occ-status="Без работы"]{background:#fde8e7}
/* Project grids share one header baseline; tariff captions match their input tracks. */
#planning-root .planning-grid th,#planning-root .planning-general-grid th{vertical-align:top;text-align:left}
#planning-root .planning-rate-head,#planning-root .planning-rate-row{display:grid;grid-template-columns:repeat(4,120px);gap:6px;width:max-content;max-width:100%;margin:3px 0}
#planning-root .planning-rate-head{font-size:11px;align-items:start}
#planning-root .planning-rate-row input{width:120px;min-width:0;box-sizing:border-box}
#planning-root .planning-grid tr.planning-row-active>td{background:#e8f1fa}
#planning-root .planning-link-warning{display:block;color:#9a5b08;font-size:10px;margin-top:3px;line-height:1.35}
#planning-root .planning-link-warning .inline-link{font-size:10px;text-decoration:underline}
#planning-root .planning-action[data-plan-action=delete-active]{background:#ef3340}
#planning-root .planning-action[data-plan-action=copy-active]{background:#2870c1}
#planning-root .planning-address-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px;padding-top:6px}
#planning-root .planning-address-lists label{display:grid;gap:4px;font-size:11px}
#planning-root .planning-address-lists textarea{width:100%;min-height:90px;resize:vertical}
@media(max-width:600px){#planning-root .planning-rate-head,#planning-root .planning-rate-row{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}#planning-root .planning-rate-row input{width:100%}#planning-root .planning-address-lists{grid-template-columns:1fr}}
#planning-root .planning-filters [data-occ-filter]{width:110px;max-width:150px}
#planning-root .planning-filters [data-occ-filter=capacity]{width:105px}
#planning-root .planning-filters [data-occ-filter=volume]{width:85px}
#planning-root .planning-vehicle-type-head,#planning-root .planning-vehicle-type-row{display:grid;grid-template-columns:minmax(150px,280px) minmax(100px,200px) 16px;gap:6px;align-items:center;max-width:520px;margin:5px 0;font-size:11px}
#planning-root .planning-vehicle-type-row select,#planning-root .planning-vehicle-type-row input{width:100%;height:24px}
#planning-root .planning-grid tr>td.planning-error,#planning-root .planning-grid tr.planning-row-active>td.planning-error{background:#fff2dc;color:#8c4800}
@media(max-width:600px){#planning-root .planning-vehicle-type-head,#planning-root .planning-vehicle-type-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 16px}}
#planning-root .planning-link-warning .inline-link{display:block;margin-top:2px;text-align:left}

#planning-root th .planning-action{display:inline-flex;align-items:center;justify-content:center;margin-left:3px;vertical-align:middle;font-size:12px;cursor:pointer}
#planning-root .planning-hidden-columns{display:inline-block;margin-left:3px;position:relative;vertical-align:middle;font-weight:normal}
#planning-root .planning-hidden-columns summary{cursor:pointer;list-style:none;color:#527264}
#planning-root .planning-hidden-columns>div{position:absolute;top:100%;left:0;min-width:160px;max-height:240px;overflow:auto;z-index:10;background:white;border:1px solid var(--line);box-shadow:0 4px 12px #172d3226;padding:4px}
#planning-root .planning-hidden-columns button{display:block;text-align:left;white-space:normal;font-size:11px;padding:4px;width:100%}

#planning-root .planning-hidden-columns summary{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background:#527264;color:white;font-size:12px;padding:0}
#planning-root .planning-hidden-columns summary::marker,#planning-root .planning-hidden-columns summary::-webkit-details-marker{display:none;content:""}

/* Project groups share the same colgroup as their leaf headers and data. */
#planning-root .planning-group-editor{display:grid;gap:6px;margin:6px 0}
#planning-root .planning-group-config{display:grid;grid-template-columns:minmax(120px,230px) 70px minmax(150px,320px) auto;align-items:start;gap:8px;padding:6px;border:1px solid var(--line);border-radius:4px;background:white;cursor:grab}
#planning-root .planning-group-config label{display:grid;gap:3px;font-size:11px;min-width:0}
#planning-root .planning-group-config input,#planning-root .planning-group-config select{width:100%;height:24px}
#planning-root .planning-group-config select[multiple]{height:100px}
#planning-root .planning-group-config .planning-actions{justify-content:flex-start}
@media(max-width:650px){#planning-root .planning-group-config{grid-template-columns:minmax(0,1fr) 60px}#planning-root .planning-group-config label:has(select){grid-column:1/-1}}
#planning-root .report-column-group .planning-hidden-columns{vertical-align:middle}
/* Visual grouping: members live inside the left-hand group, unassigned fields on the right. */
#planning-root .planning-group-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(200px,.75fr);gap:10px;margin-top:6px;height:5cm;min-height:0;max-height:5cm;grid-template-rows:5cm;align-items:start;overflow:hidden}
#planning-root .planning-group-left,#planning-root .planning-group-available{display:flex;flex-direction:column;height:5cm;max-height:5cm;min-height:0;min-width:0;box-sizing:border-box;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:white;padding:6px}
#planning-root .planning-group-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;font-size:12px;padding-bottom:4px;flex:none}
#planning-root .planning-group-list,#planning-root .planning-available-list{overflow:auto;min-height:0;flex:1 1 0;overscroll-behavior:contain;scrollbar-gutter:stable}
#planning-root .planning-group-card{border:1px solid var(--line);border-left:4px solid var(--group-accent);border-radius:4px;margin-bottom:6px;padding:5px}
#planning-root .planning-group-card.is-selected{outline:1px solid #527264;outline-offset:-1px}
#planning-root .planning-group-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:grab;min-height:24px}
#planning-root .planning-group-select{flex:1;min-width:0;text-align:left;padding:2px 0;font-size:12px;font-weight:600;overflow-wrap:anywhere}
#planning-root .planning-group-properties{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:8px;margin:4px 0}
#planning-root .planning-group-properties label{display:grid;gap:2px;font-size:10px;min-width:0}
#planning-root .planning-group-properties input{width:100%;height:24px}
#planning-root .planning-group-member{display:flex;align-items:center;gap:6px;min-height:27px;padding:3px 4px;border-bottom:1px solid var(--line);font-size:11px;cursor:grab}
#planning-root .planning-group-member>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
#planning-root .planning-group-member .planning-actions{flex:none}
#planning-root .planning-group-grip{color:var(--muted);flex:none}
#planning-root .planning-group-empty{display:block;font-size:11px;color:var(--muted);padding:8px;margin:0}
#planning-root .planning-group-available>input{height:24px;width:100%;flex:none;margin:0 0 4px}
#planning-root .planning-config .planning-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;box-sizing:border-box;margin:0!important;line-height:1;vertical-align:middle}
#planning-root .planning-config .planning-action svg{display:block;width:12px;height:12px;flex:none;margin:0}
#planning-root .planning-config .planning-actions{align-items:center;gap:5px;flex-wrap:nowrap}
#planning-root .planning-config .planning-action[data-plan-action^="remove-"]{background:#ef3340}
#planning-root .planning-config .planning-action[data-plan-action^="add-"]{background:#149845}
#planning-root .planning-config-body details[data-editor-panel=groups][open]{max-height:none;overflow:visible}
@media(max-width:650px){#planning-root .planning-group-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,5cm);height:auto;max-height:none}}
#planning-root .planning-config .planning-config-body details[data-editor-panel=groups][open]{max-height:none;overflow:visible}

#planning-root .planning-group-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;height:24px;cursor:grab;user-select:none;color:#527264;background:#eaf0ec;border-radius:3px;font-size:18px}
#planning-root .planning-group-drag-handle:active{cursor:grabbing}

#planning-root .configurable-report-table th .order-column-resize-handle{right:0;width:10px;z-index:8}
#planning-root .configurable-report-table th .order-column-resize-handle::after{left:auto;right:0;top:0;bottom:0;width:1px;border-radius:0}
#planning-root .configurable-report-table th .order-column-resize-handle:hover::after{width:2px;background:#619777}

#planning-root .planning-confirm{width:420px;max-width:calc(100vw - 24px);padding:16px;background:white;color:var(--ink,#233d42);border:1px solid var(--line);border-radius:8px}
#planning-root .planning-confirm::backdrop{background:#102b3280}
#planning-root .planning-confirm p{font-size:13px;line-height:1.5;margin:16px 0}
#planning-root .planning-confirm-actions{display:flex;justify-content:flex-end;gap:8px}

#planning-root .planning-field-catalog{width:960px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:14px;background:white;color:#233d42;border:1px solid var(--line);border-radius:8px}
#planning-root .planning-field-catalog::backdrop{background:#102b3280}
#planning-root .planning-field-catalog label{display:grid;gap:4px;font-size:12px;margin:8px 0;min-width:0}
#planning-root .planning-field-catalog :is(input,select,textarea){width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:4px;padding:5px;font:inherit}
#planning-root .planning-catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:10px 0}
#planning-root .planning-catalog-filters{display:grid;gap:6px}
#planning-root [data-catalog-list]{height:8cm;overflow:auto;margin-top:6px;border:1px solid var(--line)}
#planning-root .planning-catalog-field{display:grid;grid-template-columns:1fr auto;gap:3px;width:100%;padding:7px;border:0;border-bottom:1px solid var(--line);background:white;color:inherit;text-align:left;font-size:12px}
#planning-root .planning-catalog-field code{grid-row:2;color:#64786c;overflow-wrap:anywhere}
#planning-root .planning-catalog-field span{grid-column:2;grid-row:1/3;align-self:center;color:#527264}
#planning-root .planning-catalog-field:hover{background:#edf4e6}
#planning-root [data-catalog-sample]{max-height:5cm;overflow:auto}
#planning-root [data-catalog-result]{display:block;margin:8px 0;padding:8px;background:#edf4e6;overflow-wrap:anywhere;font-size:12px}
#planning-root [data-catalog-result]:empty{display:none}#planning-root [data-catalog-result][data-error=true]{background:#fff2dc;color:#8c4800}
@media(max-width:650px){#planning-root .planning-catalog-layout{grid-template-columns:minmax(0,1fr)}#planning-root [data-catalog-list]{height:5cm}}

/* Shared period filters: override old flex-basis and later module styles. */
#app .shell #view :is(.orders-report-filters,.journal-filters,.page-filters,.archive-filters,.planner-filters) label:has(>input[type=date]){
 display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;
 flex:0 0 90px!important;width:90px!important;min-width:0!important;max-width:100%!important;
 padding:0 8px 0 0!important;gap:1px!important;font-size:11px!important;line-height:1.25!important;box-sizing:border-box;position:relative;
}
#app .shell #view :is(.orders-report-filters,.journal-filters,.page-filters,.archive-filters,.planner-filters) label:has(>input[type=date]) .report-filter-caption{font-size:11px!important;line-height:1.25!important}
#app .shell #view :is(.orders-report-filters,.journal-filters,.page-filters,.archive-filters,.planner-filters) input[type=date]{
 display:block!important;flex:none!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;
 height:24px!important;min-height:24px!important;max-height:24px!important;margin:0!important;padding:2px 3px!important;
 border:1px solid var(--line)!important;border-radius:4px!important;background:#fff!important;color:inherit!important;
 font-family:inherit!important;font-size:10px!important;font-weight:400!important;line-height:18px!important;
}

#app .shell #view :is(.orders-report-filters,.journal-filters,.page-filters,.archive-filters,.planner-filters) label[data-period-resized]:has(>input[type=date]){width:var(--crm-period-width)!important;flex-basis:var(--crm-period-width)!important}

/* Settings remain inside their own workspace; no global design overrides. */
[data-section-hidden]{display:none!important}
.section-settings{display:flex;flex-direction:column;min-height:0;height:100%;padding-bottom:0}
.section-settings .page-heading{margin:0 0 8px}.section-settings h1{font-size:20px}
#section-settings-root{display:flex;flex-direction:column;min-height:0;flex:1;gap:8px}
.section-settings-toolbar,.section-settings-tabs,.section-settings-save{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.section-settings label{display:flex;flex-direction:column;gap:3px;font-size:11px}
.section-settings input:not([type=checkbox]),.section-settings select{height:28px;font-size:12px;padding:3px 6px}
.section-settings-toolbar select{min-width:180px}.section-settings-toolbar span{font-size:11px;color:#64748b}
.section-settings .btn{font-size:11px;padding:5px 8px}.section-settings-body{flex:1;min-height:120px;overflow:auto}
.section-settings-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) 90px 60px;gap:8px;align-items:center;padding:5px 8px;border-bottom:1px solid #e2e8f0}
.section-settings-row>label:first-child{flex-direction:row;align-items:center;overflow-wrap:anywhere}.section-settings-row .icon-btn{width:16px;height:16px;border-radius:3px}
.section-settings-save{border-top:1px solid #e2e8f0;padding-top:6px}.section-settings-save>label{flex:1;min-width:200px}.section-settings-save [role=status]{font-size:11px;color:#64748b}
.section-settings-error{color:#b42318;margin:0}.section-settings-help{font-size:12px;margin:0 0 8px}.section-settings-help p{max-width:900px}
.section-settings-history article{padding:10px;margin-bottom:8px;font-size:12px}.section-settings-history pre{white-space:pre-wrap;max-height:200px;overflow:auto}
.section-settings .panel{padding:12px}.section-settings-preview{max-height:40vh;overflow:auto;flex-shrink:0}.section-settings-preview p{font-size:12px}.section-settings-preview h2{font-size:16px}.section-settings-preview h3{font-size:12px;margin:8px 0 4px}
.section-preview-fields,.section-preview-filters,.section-preview-columns,.section-preview-actions{display:flex;flex-wrap:wrap;gap:4px;font-size:11px}.section-preview-columns>div{border:1px solid #e2e8f0;padding:4px}.section-preview-fields input,.section-preview-filters input{display:block;width:110px}.section-preview-actions button{width:16px;height:16px}
.configured-section[data-section-font] :is(.journal-filters,.page-filters,.registry-filterbar) :is(label,select,input:not([type=date])){font-size:var(--section-filter-font)!important}
.configured-section[data-section-gap] :is(.journal-filters,.page-filters,.registry-filterbar){gap:var(--section-filter-gap)!important}
@media(max-width:700px){.section-settings-row{grid-template-columns:1fr 1fr}.section-settings-tabs{gap:3px}}

/* Shared journal geometry for every CRM dismissal; loaded after module styles. */
body button.crm-close-control[data-crm-button="close"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;padding:1px!important;margin-top:0!important;margin-bottom:0!important;box-sizing:border-box!important;border:0!important;border-radius:3px!important;background:#e52d3a!important;color:#fff!important;box-shadow:none!important;font-size:0!important;line-height:1!important;vertical-align:middle;cursor:pointer}
body button.crm-close-control[data-crm-button="close"]:hover{background:#e52d3a!important;filter:brightness(1.1)}
body button.crm-close-control[data-crm-button="close"]:disabled{opacity:.45;cursor:default;filter:none}
body button.crm-close-control[data-crm-button="close"]>svg{display:block!important;flex:none!important;width:12px!important;height:12px!important;margin:0!important;color:inherit!important;stroke:currentColor!important;pointer-events:none}

body button.crm-close-control[data-crm-button="close"]:is([hidden],[data-section-hidden]){display:none!important}

/* The menu width is presentation-only; page contents and the 3 mm lower frame are unchanged. */
.sidebar-brand-row{display:flex;align-items:center;gap:6px;min-width:0;padding-bottom:10px}
.sidebar-brand-row>.brand{padding:0;gap:8px;flex:1;min-width:0}
.sidebar-collapse-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px!important;height:16px!important;min-height:16px!important;padding:1px!important;border-radius:3px!important;background:#527264;color:#fff}
.sidebar .nav-label{min-width:0}
@media(min-width:701px){
 #app.sidebar-collapsed>.sidebar{width:64px;padding-left:8px;padding-right:8px}
 #app.sidebar-collapsed>.shell{margin-left:64px;min-width:0}
 #app.sidebar-collapsed .sidebar-brand-row{flex-direction:column;gap:8px;padding-bottom:8px}
 #app.sidebar-collapsed .sidebar-brand-row>.brand{flex:none;justify-content:center}
 #app.sidebar-collapsed .sidebar .brand-name,#app.sidebar-collapsed .sidebar .workspace-tag,#app.sidebar-collapsed .sidebar .sidebar-bottom{display:none}
 #app.sidebar-collapsed .sidebar .nav{margin-right:0;padding-right:0;gap:3px}
 #app.sidebar-collapsed .sidebar .nav>button,#app.sidebar-collapsed .sidebar .nav>.nav-group>.nav-group-toggle{position:relative;width:48px;min-height:34px;padding:7px!important;gap:0;justify-content:center;font-size:0}
 #app.sidebar-collapsed .sidebar .nav>button>.nav-label,#app.sidebar-collapsed .sidebar .nav>.nav-group>.nav-group-toggle>span:not(.nav-chevron){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #app.sidebar-collapsed .sidebar .nav>button>.nav-count,#app.sidebar-collapsed .sidebar .nav>.nav-group>.nav-group-toggle>.nav-chevron{display:none}
 #app.sidebar-collapsed .sidebar .nav>button>svg,#app.sidebar-collapsed .sidebar .nav>.nav-group>.nav-group-toggle>svg{width:20px;height:20px;flex:none}
 #app.sidebar-collapsed~.toast{left:calc(50% + 32px)}
}
@media(max-width:700px){.sidebar-collapse-button{display:none}.sidebar-brand-row{padding-bottom:10px}}
