/* 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(layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(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(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;
		}
	}

.reports-shell { min-height: 100vh; padding-bottom: 38px; background: #f3f6f4; color: #173027; }
.reports-header { height: 60px; padding: 0 max(22px, calc((100vw - 1120px) / 2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dde6e1; background: white; color: #173a32; }
.reports-header > a { display: flex; align-items: center; gap: 7px; color: #527066; font-size: 11px; font-weight: 800; text-decoration: none; }
.reports-brand { display: flex; align-items: center; gap: 8px; }
.reports-brand > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #173a32; color: white; }
.reports-brand small { color: #789087; font-size: 9px; letter-spacing: .16em; }
.reports-hero { max-width: 1120px; margin: auto; padding: 30px 20px 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.reports-hero h1 { margin: 5px 0; font-size: 27px; }
.reports-hero p { color: #78877f; font-size: 11px; }
.report-period { display:grid;gap:7px;flex-shrink:0; }
.report-period>span { font-size:12px;color:var(--management-muted); }
.accounting-entry-manager { max-width:1080px;margin:18px auto; }
.accounting-entry-manager>p { color:var(--management-muted);font-size:13px;line-height:1.6; }
.account-entry-form fieldset { display:grid;grid-template-columns:2fr 2fr 1fr 1.4fr;gap:12px;margin:18px 0;padding:0;border:0;min-width:0; }
.account-entry-form label { display:grid;min-width:0;gap:6px;color:var(--management-muted);font-size:12px; }
.account-entry-form :is(input,select) { width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-input);color:var(--management-ink);font:inherit; }
.account-entry-note { grid-column:1/-2; }
.account-entry-form button { align-self:end;display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 14px;border:0;border-radius:10px;background:var(--primary);color:#fff;font:600 13px var(--font-sans);cursor:pointer; }
.account-entry-form fieldset:disabled { opacity:.65; }
.account-review-actions { display:flex;gap:6px;flex-wrap:wrap; }
.account-review-actions button,.accounting-table-wrap .statement-share-button,.account-pending-filter { display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;width:auto;height:auto;padding:8px 10px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);white-space:nowrap;cursor:pointer; }
.account-pending-filter[aria-pressed="true"] { background:var(--management-active);color:var(--management-accent); }
.accounting-entry-manager td small { display:block;margin-top:4px;color:var(--management-muted); }
.statement-share-dialog { width:min(800px,calc(100vw - 28px));max-width:800px; }
.statement-share-dialog>header { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.statement-share-dialog>p { color:var(--management-muted);font-size:13px;line-height:1.6; }
.statement-share-link { display:grid;gap:7px;font-size:12px;color:var(--management-muted); }
.statement-share-link input { min-width:0;min-height:42px;padding:10px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-input);color:var(--management-ink);font-size:13px; }
.statement-actions { display:flex;flex-wrap:wrap;gap:10px;margin:18px 0; }
.statement-actions :is(button,a),.statement-share-dialog>header>button,.account-period-filter>button { display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:10px 14px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-surface);color:var(--management-ink);font:600 13px var(--font-sans);text-decoration:none;cursor:pointer; }
.account-statement { max-width:1080px;margin:18px auto;padding:28px;border:1px solid var(--management-line);border-radius:18px;background:var(--management-surface);color:var(--management-ink); }
.account-statement h1 { margin:8px 0;font-size:26px; }
.account-statement h2 { margin:24px 0 12px;font-size:18px; }
.account-statement header>p,.statement-footnote { color:var(--management-muted);font-size:12px;line-height:1.6; }
.statement-total { display:flex;flex-direction:column;gap:8px;padding:20px;margin:22px 0;border-radius:14px;background:var(--management-active); }
.statement-total small { color:var(--management-muted);font-size:13px; }
.statement-total strong { font-size:32px;font-variant-numeric:tabular-nums; }
.statement-total>span { font-size:12px; }
.statement-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0; }
.statement-summary>div { display:flex;justify-content:space-between;gap:10px;padding:12px;border-radius:10px;background:var(--management-raised); }
.statement-summary dt { color:var(--management-muted);font-size:12px; }.statement-summary dd { margin:0;font-size:13px;font-weight:650; }
.shared-statement-page { max-width:1000px;margin:0 auto;padding:24px 16px; }.shared-statement-page .accounting-table-wrap table { min-width:0; }
.account-period-filter { max-width:1080px;margin:0 auto 18px;display:flex;gap:12px;align-items:end;flex-wrap:wrap; }
.account-period-filter>label { display:grid;gap:6px;color:var(--management-muted);font-size:12px; }.account-period-filter input { min-height:40px;padding:8px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-ink); }
.shop-accounting { padding:0 20px 30px; }
@media(max-width:700px) {
 .account-entry-form fieldset { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .account-statement .accounting-table-wrap td::before,.accounting-entry-manager .accounting-table-wrap td::before { content:attr(data-label)!important; }
 .account-entry-form .account-entry-note { grid-column:1/-1; }.account-entry-form fieldset>button { grid-column:1/-1; }
 .account-statement { padding:16px; }.statement-summary { grid-template-columns:1fr; }.statement-total strong { font-size:28px; }
 .accounting-entry-manager { margin:18px 14px; }.shop-accounting { padding:0 0 24px; }.shop-accounting>.account-statement,.account-period-filter { margin-left:14px;margin-right:14px; }
}
@media print {
 body:has(.shared-statement-page) { --management-ink:#111;--management-muted:#444;--management-line:#ccc;--management-surface:#fff;--management-raised:#f5f5f5;--management-active:#f0f0f0;background:#fff!important;color:#111!important; }
 .shared-statement-page { max-width:none;padding:0; }.shared-statement-page .statement-actions,.shared-statement-page~* { display:none!important; }
 .shared-statement-page .account-statement { border:0;padding:0; }.shared-statement-page .accounting-table-wrap { overflow:visible; }.shared-statement-page table { display:table!important;width:100%; }.shared-statement-page thead { display:table-header-group!important; }.shared-statement-page tbody { display:table-row-group!important; }.shared-statement-page tr { display:table-row!important;break-inside:avoid; }.shared-statement-page :is(td,th) { display:table-cell!important; }.shared-statement-page td:before { display:none!important; }
}
.report-view-switch { display:flex;gap:6px;max-width:1080px;margin:4px auto 20px;padding:5px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface); }
.report-view-switch>button { display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border:0;border-radius:10px;background:transparent;color:var(--management-muted);font:600 14px var(--font-sans);cursor:pointer; }
.report-view-switch>button[aria-selected="true"] { background:var(--management-active);color:var(--management-accent); }
.report-section-hint { max-width:1120px;margin:0 auto 18px;padding:0 20px;color:var(--management-muted);font-size:13px;line-height:1.6; }
.report-section-hint a { color:var(--management-accent); }
.history-filter-hint { margin:10px 0 18px;color:var(--management-muted);font-size:13px;line-height:1.6; }
.history-filter-grid.simplified { grid-template-columns:repeat(3,minmax(0,1fr));padding:16px;border:1px solid var(--management-line);border-radius:12px;background:var(--management-raised); }
.history-filter-grid.simplified .history-search { grid-column:1/-1; }
.history-filter-grid.simplified .history-clear-filters { background:var(--management-surface);color:var(--management-ink);border:1px solid var(--management-line); }
.history-advanced-filters { grid-column:1/-1;border-top:1px solid var(--management-line);margin-top:8px;padding-top:14px; }
.history-advanced-filters>summary { color:var(--management-muted);font-size:13px;cursor:pointer; }
.history-advanced-filters>div { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:14px; }
.history-result-count { margin:16px 0 4px;color:var(--management-muted);font-size:13px; }
.report-panel-title>.history-export-link { display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--management-line);border-radius:9px;color:var(--management-accent);background:var(--management-surface);font-size:12px;text-decoration:none;white-space:nowrap; }
@media(max-width:700px) {
 .report-view-switch { margin:0 14px 16px; }
 .report-view-switch>button { flex:1;padding:10px 8px;font-size:13px; }
 .history-filter-grid.simplified { grid-template-columns:repeat(2,minmax(0,1fr));padding:12px; }
 .history-advanced-filters>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .report-panel-title>.history-export-link { padding:8px;font-size:11px; }
}
.range-switch { padding: 4px; display: flex; align-items: center; gap: 3px; border: 1px solid #dce5e0; border-radius: 10px; background: white; }
.range-switch button { padding: 7px 10px; border: 0; border-radius: 8px; background: transparent; color: #6d7d75; font-size: 10px; font-weight: 800; cursor: pointer; }
.range-switch button.active { background: #16875b; color: white; }
.report-metrics { max-width: 1120px; margin: auto; padding: 0 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.report-metric { padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #dfe7e3; border-radius: 12px; background: white; }
.report-metric > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #edf3f0; color: #477064; }
.report-metric.green > span { background: #e5f5ec; color: #16875b; }
.report-metric svg { width: 17px; }
.report-metric div { display: flex; flex-direction: column; }
.report-metric small { color: #7d8b84; font-size: 9px; }
.report-metric strong { margin-top: 3px; font-size: 18px; }
.report-layout { max-width: 1120px; margin: 12px auto; padding: 0 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.report-layout.single { grid-template-columns: 1fr; }
.report-panel { padding: 15px; border: 1px solid #dfe7e3; border-radius: 13px; background: white; }
.report-panel-title { display: flex; align-items: center; justify-content: space-between; }
.report-panel-title span { color: #89968f; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.report-panel-title h2 { margin: 3px 0; font-size: 15px; }
.breakdown-list { margin-top: 12px; display: flex; flex-direction: column; gap: 7px; }
.breakdown-list > div { padding: 9px; display: grid; grid-template-columns: 30px 1fr auto; grid-template-rows: auto auto; align-items: center; border-radius: 10px; background: #f4f7f5; }
.breakdown-list > div > span:first-child { grid-row: 1 / 3; }
.breakdown-list strong { font-size: 11px; }
.breakdown-list small { color: #84918a; font-size: 9px; }
.breakdown-list b { grid-column: 3; grid-row: 1 / 3; font-size: 10px; }
.platform-dot { width: 10px; height: 10px; border-radius: 50%; background: #899; }
.platform-dot.nova-manual { background: #16875b; }
.platform-dot.trendyol-go { background: #f27a1a; }.platform-dot.getir { background: #5d3ebc; }.platform-dot.yemeksepeti { background: #ea004b; }.platform-dot.migros-yemek { background: #f58220; }.platform-dot.tikla-gelsin { background: #d9272e; }
.courier-rank { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: #dff3e9; color: #176b4a; font-size: 9px; font-weight: 900; }
.history-panel { max-width: 1080px; margin: 12px auto 0; }
.simple-history { margin-top: 10px; display: flex; flex-direction: column; }
.simple-history > article { min-height: 58px; padding: 10px 5px; display: grid; grid-template-columns: 1.4fr 1fr auto; align-items: center; gap: 12px; border-top: 1px solid #e8edea; }
.simple-history > article > div { display: flex; flex-direction: column; gap: 3px; }
.simple-history > article > div:nth-child(2) > span { display: flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 800; }
.simple-history > article > div:last-child { text-align: right; }
.simple-history strong { font-size: 11px; }.simple-history small { color: #84928b; font-size: 8px; }
.simple-history .history-shop-name { display: inline-flex; align-items: center; gap: 4px; color: #315f4d; font-weight: 750; }
.simple-history .history-payment { color: #526c61; font-weight: 750; }
.history-status { width: 7px; height: 7px; display: inline-block; flex: 0 0 auto; border-radius: 50%; background: #e1a740; }
.history-status.delivered { background: #34a875; }.history-status.delivery-failed, .history-status.rejected { background: #d94a43; }
.report-empty { padding: 30px; color: #89968f; font-size: 12px; text-align: center; }

.tracking-shell { min-height: 100vh; padding-bottom: 40px; background: linear-gradient(180deg, #173a32 0, #173a32 32%, #eef4f1 32%); color: #172036; }
.tracking-header { max-width: 720px; height: 72px; margin: auto; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; color: white; }
.tracking-header > div { display: flex; align-items: center; gap: 8px; }
.tracking-header > div:first-child > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #eeb04e; color: #173a32; }
.tracking-header small { color: #b9d0c7; font-size: 9px; letter-spacing: .13em; }
.tracking-card { max-width: 680px; margin: 35px auto 0; padding: 27px; border-radius: 24px; background: white; box-shadow: 0 18px 45px rgba(16,38,34,.14); }
.tracking-order { display: flex; justify-content: space-between; color: #788598; font-size: 11px; }.tracking-order strong { color: #1d2b40; }
.tracking-status { margin: 23px 0; padding: 18px; display: flex; align-items: center; gap: 15px; border-radius: 16px; background: #eef8f3; }
.tracking-status > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: #2ca773; color: white; }
.tracking-status h1 { margin: 0 0 4px; font-size: 21px; }.tracking-status p { color: #67768b; font-size: 12px; }
.tracking-status.rejected, .tracking-status.delivery-failed { background: #fff0ef; }.tracking-status.rejected > span, .tracking-status.delivery-failed > span { background: #d84a43; }
.tracking-progress { margin: 28px 0; display: flex; justify-content: space-between; }
.tracking-progress > div { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; color: #b0bac8; }
.tracking-progress span { z-index: 1; width: 34px; height: 34px; display: grid; place-items: center; border: 2px solid #dbe1e9; border-radius: 50%; background: white; }
.tracking-progress small { margin-top: 6px; font-size: 8px; }.tracking-progress i { position: absolute; top: 16px; left: 58%; width: 84%; height: 2px; background: #dbe1e9; }
.tracking-progress .done { color: #23895e; }.tracking-progress .done span { border-color: #34a875; background: #e0f4e9; }.tracking-progress .done i { background: #34a875; }
.tracking-info { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.tracking-info > div { padding: 11px; display: flex; align-items: center; gap: 9px; border-radius: 11px; background: #f6f8fb; }
.tracking-info > div:last-child:nth-child(3) { grid-column: 1 / 3; }.tracking-info span { flex: 1; display: flex; flex-direction: column; }.tracking-info small { color: #8792a4; font-size: 8px; }.tracking-info strong { font-size: 11px; }
.tracking-info a { display: flex; align-items: center; gap: 5px; color: #226d50; font-size: 10px; font-weight: 800; text-decoration: none; }
.tracking-feedback { margin-top: 18px; padding: 19px; border: 1px solid #dce8e2; border-radius: 16px; background: linear-gradient(145deg,#f7fbf9,#eef7f2); text-align: center; }
.tracking-feedback > h2 { margin: 5px 0; color: #193a2e; font-size: 19px; }.tracking-feedback > p { margin: 0 auto; max-width: 430px; color: #6b7c74; font-size: 11px; line-height: 1.45; }
.tracking-feedback-stars { margin: 15px 0; display: flex; align-items: center; justify-content: center; gap: 5px; }.tracking-feedback-stars button { width: 42px; height: 42px; display: grid; place-items: center; border: 0; background: transparent; color: #c8d2cd; cursor: pointer; }.tracking-feedback-stars button.filled,.tracking-feedback-stars.readonly .filled { color: #efaa2e; fill: #efaa2e; }.tracking-feedback-stars button.filled svg { fill: currentColor; }
.tracking-feedback-tags,.tracking-feedback-selected { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; }.tracking-feedback-tags button,.tracking-feedback-selected span { min-height: 32px; padding: 0 10px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid #d6e2dc; border-radius: 99px; background: #fff; color: #5b7066; font-size: 10px; font-weight: 750; }.tracking-feedback-tags button.selected { border-color: #50a47e; background: #e5f5ec; color: #176e4f; }
.tracking-feedback textarea { width: 100%; min-height: 82px; margin-top: 13px; padding: 11px; resize: vertical; border: 1px solid #d6e2dc; border-radius: 11px; background: #fff; color: #21382f; outline: 0; font-size: 12px; }.tracking-feedback textarea:focus { border-color: #48a078; box-shadow: 0 0 0 3px rgba(41,145,99,.11); }
.tracking-feedback-submit { width: 100%; min-height: 44px; margin-top: 9px; border: 0; border-radius: 11px; background: #16875b; color: #fff; font-size: 12px; font-weight: 900; cursor: pointer; }.tracking-feedback-submit:disabled { opacity: .6; cursor: wait; }.tracking-feedback-error { margin-top: 9px; display: block; color: #b6423d; font-size: 10px; }
.tracking-feedback.submitted { text-align: left; }.tracking-feedback-thanks { display: flex; align-items: center; gap: 10px; }.tracking-feedback-thanks > span { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #16875b; color: #fff; }.tracking-feedback-thanks div { display: flex; flex-direction: column; gap: 3px; }.tracking-feedback-thanks strong { color: #193a2e; font-size: 13px; }.tracking-feedback-thanks small { color: #667a71; font-size: 10px; }.tracking-feedback.submitted .tracking-feedback-stars { justify-content: flex-start; margin: 13px 0 9px; }
.tracking-timeline { margin-top: 24px; padding-top: 19px; border-top: 1px solid #e8edf3; }.tracking-timeline h2 { margin-bottom: 12px; font-size: 14px; }
.tracking-timeline > div { padding: 7px 0; display: flex; gap: 10px; }.tracking-timeline > div > i { width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: #c5ceda; }
.tracking-timeline .latest > i { background: #2ca773; box-shadow: 0 0 0 4px #e0f4e9; }.tracking-timeline span { flex: 1; display: flex; justify-content: space-between; gap: 12px; }.tracking-timeline strong { font-size: 10px; }.tracking-timeline small { color: #8c97a8; font-size: 9px; }
.tracking-card footer { margin-top: 20px; color: #8994a6; font-size: 9px; text-align: center; }

@media (max-width: 700px) {
  .reports-header { padding: 0 14px; }.reports-hero { padding: 22px 14px 15px; flex-direction: column; align-items: flex-start; }.reports-hero h1 { font-size: 23px; }.reports-hero p { display: none; }
  .report-metrics { padding: 0 14px; grid-template-columns: repeat(2, 1fr); }.report-layout { padding: 0 14px; grid-template-columns: 1fr; }.history-panel { margin: 10px 14px 0; }
  .simple-history > article { grid-template-columns: 1fr auto; }.simple-history > article > div:nth-child(2) { grid-row: 2; }.simple-history > article > div:last-child { grid-column: 2; grid-row: 1 / 3; }
  .tracking-card { margin: 20px 12px 0; padding: 19px; border-radius: 19px; }.tracking-progress small { font-size: 7px; }.tracking-info { grid-template-columns: 1fr; }.tracking-info > div:last-child:nth-child(3) { grid-column: auto; }
  .tracking-feedback { padding: 16px 12px; }.tracking-feedback-stars button { width: 38px; height: 38px; }.tracking-feedback-tags button { min-height: 36px; font-size: 10px; }
}

/* Okunabilir rapor ve müşteri takip metinleri */
.reports-header > a { font-size: 12px; }.reports-brand small { font-size: 10px; }.reports-hero p { font-size: 13px; }.range-switch button { min-height: 38px; font-size: 12px; }
.report-metric small { font-size: 11px; }.report-metric strong { font-size: 22px; }.report-panel-title span { font-size: 10px; }.report-panel-title h2 { font-size: 17px; }
.breakdown-list strong { font-size: 13px; }.breakdown-list small, .breakdown-list b { font-size: 11px; }.simple-history strong { font-size: 13px; }.simple-history small { font-size: 10px; }.simple-history > article > div:nth-child(2) > span { font-size: 12px; }
.tracking-header small { font-size: 10px; }.tracking-order { font-size: 12px; }.tracking-status p { font-size: 13px; }.tracking-progress small { font-size: 10px; }.tracking-info small { font-size: 10px; }.tracking-info strong { font-size: 13px; }.tracking-info a { font-size: 12px; }.tracking-timeline strong { font-size: 12px; }.tracking-timeline small, .tracking-card footer { font-size: 10px; }

@media (max-width: 700px) {
  .tracking-progress small { font-size: 9px; }
}

/* Operations management: detailed history + accounting */
.accounting-shell{min-height:100vh;background:#f4f7f5;color:#18352c}.accounting-filters{max-width:1120px;margin:0 auto 12px;padding:0 20px;display:grid;grid-template-columns:repeat(2,minmax(150px,.8fr)) repeat(2,minmax(170px,1fr)) auto;gap:8px;align-items:center}.accounting-filters label{height:40px;padding:0 10px;display:flex;align-items:center;gap:7px;border:1px solid #d7e2dc;border-radius:10px;background:#fff;color:#65766e}.accounting-filters input,.accounting-filters select{min-width:0;width:100%;height:38px;border:0;outline:0;background:transparent;color:#243b32}.accounting-filters>select{height:40px;padding:0 10px;border:1px solid #d7e2dc;border-radius:10px;background:#fff;color:#243b32}.accounting-filters>button,.history-filter-grid>button{height:40px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;background:#177d59;color:#fff;font-weight:850}.accounting-metrics{margin-bottom:12px}.accounting-summary-list{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.accounting-summary-list>div{min-height:44px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:9px;background:#f5f8f6}.accounting-summary-list span{color:#6f8078;font-size:11px}.accounting-summary-list b{font-size:13px}.accounting-table-panel{max-width:1080px;margin:12px auto 0}.accounting-table-wrap,.history-table-wrap{width:100%;margin-top:10px;overflow:auto;border:1px solid #e4ebe7;border-radius:10px}.accounting-table-wrap table,.history-table-wrap table{width:100%;border-collapse:collapse;background:#fff}.accounting-table-wrap th,.history-table-wrap th{padding:9px 10px;background:#f5f8f6;color:#708079;font-size:9px;font-weight:850;text-align:left;white-space:nowrap;border-bottom:1px solid #e2e9e5}.accounting-table-wrap td,.history-table-wrap td{padding:10px;border-bottom:1px solid #edf1ef;color:#294238;font-size:10px;vertical-align:middle}.accounting-table-wrap tr:last-child td,.history-table-wrap tr:last-child td{border-bottom:0}.accounting-table-wrap td:first-child,.history-table-wrap td:first-child{font-weight:750}.accounting-table-wrap button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d8e3dd;border-radius:8px;background:#f7faf8;color:#426556}.history-explorer{max-width:1080px;margin:12px auto 0}.history-filter-grid{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end}.history-filter-grid label{min-width:0;display:flex;flex-direction:column;gap:4px;color:#66786f;font-size:9px;font-weight:800}.history-filter-grid input,.history-filter-grid select{width:100%;height:36px;padding:0 8px;border:1px solid #d7e2dc;border-radius:8px;background:#fff;color:#263f35;outline:0}.history-search{grid-column:span 2}.history-search>div{height:36px;padding:0 8px;display:flex;align-items:center;gap:6px;border:1px solid #d7e2dc;border-radius:8px;background:#fff}.history-search>div input{height:32px;padding:0;border:0}.history-filter-grid>button{height:36px}.history-table-wrap td small{margin-top:2px;display:block;color:#84928b;font-size:8px}.history-table-wrap tbody tr{cursor:pointer;transition:.15s ease}.history-table-wrap tbody tr:hover{background:#f7faf8}.history-detail-dialog{width:min(760px,calc(100vw - 24px));max-height:90vh;overflow:auto;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(16,39,30,.26)}.history-detail-dialog>header{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5ece8}.history-detail-dialog>header span{color:#75867e;font-size:10px;font-weight:800}.history-detail-dialog h2{margin:3px 0 0;font-size:20px}.history-detail-dialog>header button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:#f1f5f3;color:#607168}.history-detail-grid{padding:15px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.history-detail-grid>div{padding:9px 10px;display:flex;flex-direction:column;gap:3px;border-radius:9px;background:#f5f8f6}.history-detail-grid small{color:#7d8b84;font-size:8px}.history-detail-grid strong{font-size:11px;line-height:1.4}.history-detail-dialog>section{padding:0 18px 16px}.history-detail-dialog>section h3{margin:0 0 8px;font-size:13px}.history-detail-dialog>section p{margin:5px 0;color:#53685e;font-size:11px}.history-events{display:grid;gap:6px}.history-events>div{padding:8px 0;display:grid;grid-template-columns:120px 1fr;gap:9px;border-top:1px solid #edf1ef}.history-events time{color:#87958e;font-size:9px}.history-events span{display:flex;flex-direction:column;gap:2px}.history-events strong{font-size:10px}.history-events small{color:#87958e;font-size:8px}
@media(max-width:900px){.accounting-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-filters>button{grid-column:1/-1}.history-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-search{grid-column:span 2}}
@media(max-width:700px){.accounting-filters{padding:0 14px;grid-template-columns:1fr 1fr}.accounting-filters>select{min-width:0}.accounting-metrics{margin-bottom:8px}.accounting-summary-list{grid-template-columns:1fr 1fr}.accounting-table-panel,.history-explorer{margin:10px 14px 0}.history-filter-grid{grid-template-columns:1fr 1fr;gap:7px}.history-search{grid-column:1/-1}.history-filter-grid>button{grid-column:1/-1}.history-detail-grid{grid-template-columns:1fr}.history-events>div{grid-template-columns:1fr}.history-events time{font-size:8px}.history-table-wrap,.accounting-table-wrap{overflow:visible;border:0}.history-table-wrap table,.accounting-table-wrap table,.history-table-wrap tbody,.accounting-table-wrap tbody{display:block;width:100%}.history-table-wrap thead,.accounting-table-wrap thead{display:none}.history-table-wrap tr,.accounting-table-wrap tr{margin-bottom:8px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px;border:1px solid #e1e9e5;border-radius:10px;background:#fff}.history-table-wrap td,.accounting-table-wrap td{min-width:0;padding:0;border:0;display:flex;flex-direction:column;gap:2px;font-size:10px;overflow-wrap:anywhere}.history-table-wrap td:before,.accounting-table-wrap td:before{color:#87948e;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.history-table-wrap td:nth-child(1){grid-column:1/-1}.history-table-wrap td:nth-child(1):before{content:'Sipariş'}.history-table-wrap td:nth-child(2):before{content:'Dükkan'}.history-table-wrap td:nth-child(3):before{content:'Müşteri'}.history-table-wrap td:nth-child(4):before{content:'Kurye'}.history-table-wrap td:nth-child(5):before{content:'Durum'}.history-table-wrap td:nth-child(6):before{content:'Ödeme'}.history-table-wrap td:nth-child(7):before{content:'Tutar'}.history-table-wrap td:nth-child(8):before{content:'Oluşma'}.accounting-table-wrap td:nth-child(1){grid-column:1/-1;font-size:12px}.accounting-table-wrap td:nth-child(1):before{content:'Firma / Kurye'}.accounting-table-wrap td:nth-child(2):before{content:'Sipariş / Görev'}.accounting-table-wrap td:nth-child(3):before{content:'Taşıma / Teslim'}.accounting-table-wrap td:nth-child(4):before{content:'Sabit hizmet / Sorun'}.accounting-table-wrap td:nth-child(5):before{content:'Tazminat / Ort. süre'}.accounting-table-wrap td:nth-child(6):before{content:'Nakit / Planlı'}.accounting-table-wrap td:nth-child(7):before{content:'Kart / Çevrim içi'}.accounting-table-wrap td:nth-child(8):before{content:'Diğer / Puan'}.accounting-table-wrap td:nth-child(9):before{content:'POS kom.'}.accounting-table-wrap td:nth-child(10):before{content:'Son toplam'}.accounting-table-wrap td:last-child:empty{display:none}}
@media(max-width:430px){.accounting-filters{grid-template-columns:1fr}.accounting-filters>button{grid-column:auto}.accounting-summary-list{grid-template-columns:1fr}.history-filter-grid{grid-template-columns:1fr}.history-search,.history-filter-grid>button{grid-column:auto}.history-detail-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}}
.accounting-shell .breakdown-list>div{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 10px}.accounting-shell .breakdown-list>div>strong{grid-column:1;grid-row:1}.accounting-shell .breakdown-list>div>small{grid-column:1;grid-row:2}.accounting-shell .breakdown-list>div>b{grid-column:2;grid-row:1/3;align-self:center}
/* Responsive audit: reports/accounting stay inside the admin content column */
.reports-shell,.accounting-shell{width:100%;min-width:0;overflow-x:hidden}
.reports-hero,.report-metrics,.report-layout,.accounting-filters{width:100%}
.accounting-table-panel,.history-explorer{width:min(1080px,calc(100% - 40px));max-width:1080px}
.accounting-table-wrap,.history-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.accounting-table-wrap table{min-width:900px}.history-table-wrap table{min-width:820px}
@media(max-width:700px){.accounting-table-panel,.history-explorer{width:auto;max-width:none}.accounting-table-wrap table,.history-table-wrap table{min-width:0}.accounting-table-wrap,.history-table-wrap{max-width:100%;overflow:visible}.report-panel{min-width:0}.accounting-summary-list>div{min-width:0}.accounting-shell .breakdown-list>div{min-width:0}.accounting-shell .breakdown-list b{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.accounting-ledger-form { display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0; }
.accounting-ledger-form label { display:grid;gap:6px;flex:1 1 150px; }
.accounting-ledger-form input,.accounting-ledger-form select { min-width:0;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:inherit; }
.accounting-ledger button,.history-pagination button { padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit;cursor:pointer; }
.accounting-ledger button:disabled,.history-pagination button:disabled { opacity:.45;cursor:default; }
.history-pagination { display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:14px; }

.history-pagination>button,.history-pagination>.history-export-link { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:8px 12px; border:1px solid var(--management-line); border-radius:9px; background:var(--management-input); color:var(--management-ink); font-size:11px; font-weight:650; line-height:1.3; text-decoration:none; white-space:nowrap; }
.history-pagination>.history-export-link:visited { color:var(--management-ink); }
.history-pagination>.history-export-link:hover,.history-pagination>button:not(:disabled):hover { background:var(--management-raised); }
.history-pagination>:is(button,a):focus-visible { outline:2px solid var(--management-accent); outline-offset:2px; }

/* One desktop navigation surface for every admin page. */
.nova-logo { display:inline-block; flex-shrink:0; width:36px; height:36px; background:transparent; vertical-align:middle; }
.nova-logo>img { display:block; width:100%; height:100%; object-fit:contain; }
html[data-theme="dark"] .nova-logo>img { filter:brightness(0) invert(1); }
:root {
  --nova-admin-nav-width:224px;
  --nova-dark-surface:#17191f;
  --nova-dark-canvas:#121419;
  --nova-dark-raised:#23262f;
  --nova-dark-input:#1e2027;
  --nova-dark-line:#2a2d36;
  --nova-dark-ink:#edf0f8;
  --nova-dark-muted:#a6adbd;
  --nova-dark-subtle:#858c9e;
  --nova-dark-accent:#a5b9ff;
  --nova-dark-active:#28314c;
}
.ops-sidebar.nova-admin-sidebar {
  --nav-surface:#fff; --nav-ink:#252b36; --nav-muted:#9298a5; --nav-line:#ebedf2;
  --nav-hover:#f4f5f8; --nav-active:#eef2ff; --nav-accent:#3156db;
  top:var(--app-banner-height,0px); width:var(--nova-admin-nav-width);
  padding:18px 14px 14px; border-right:1px solid var(--nav-line);
  background:var(--nav-surface); color:var(--nav-ink); box-shadow:none;
  overflow:hidden; font-family:var(--font-sans);
}
.nova-admin-sidebar>.nova-admin-brand { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; flex:0 0 auto; height:132px; margin:0 4px 14px; background:transparent; color:var(--nav-ink); text-decoration:none; }
.nova-admin-brand>.nova-admin-logo { width:64px; height:64px; }
.nova-admin-brand>.nova-admin-wordmark { font-family:var(--font-sans); font-size:16px; line-height:1.25; font-weight:650; letter-spacing:-.02em; }
.nova-admin-sidebar>nav.nova-admin-links { flex:1; min-height:0; margin:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#d9dde7 transparent; }
.nova-admin-sidebar .nova-admin-nav-section { margin:0; padding:0; }
.nova-admin-sidebar .nova-admin-nav-section+.nova-admin-nav-section { margin-top:22px; }
.nova-admin-sidebar .nova-admin-nav-section>h2 { margin:0 12px 8px; color:var(--nav-muted); font-size:9px; line-height:1.4; font-weight:650; letter-spacing:.14em; }
.nova-admin-sidebar .nova-admin-links .nova-admin-link {
  position:relative; display:flex; align-items:center; gap:11px; min-height:42px;
  margin:3px 0; padding:10px 12px; border:0; border-radius:10px;
  background:transparent; color:#626b7c; box-shadow:none;
  text-decoration:none; font-size:12px; line-height:1.4; font-weight:500;
  transition:background .16s ease,color .16s ease;
}
.nova-admin-sidebar .nova-admin-link>svg { flex:0 0 auto; color:#8a92a2; }
.nova-admin-sidebar .nova-admin-link>span { flex:1; min-width:0; }
.nova-admin-sidebar .nova-admin-links .nova-admin-link:hover { background:var(--nav-hover); color:var(--nav-ink); box-shadow:none; }
.nova-admin-sidebar .nova-admin-links .nova-admin-link.active { background:var(--nav-active); color:var(--nav-accent); font-weight:650; box-shadow:none; }
.nova-admin-sidebar .nova-admin-link.active>svg { color:var(--nav-accent); }
.nova-admin-sidebar .nova-admin-link>i { width:4px; height:4px; flex-shrink:0; border-radius:50%; background:var(--nav-accent); }
.nova-admin-sidebar .nova-admin-footer { flex:0 0 auto; margin-top:18px; padding:14px 4px 0; border-top:1px solid var(--nav-line); }
.nova-admin-sidebar .nova-admin-account { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--nav-ink); border-radius:9px; }
.nova-admin-sidebar .nova-admin-avatar { display:grid; place-items:center; flex:0 0 34px; height:34px; border:1px solid var(--nav-line); border-radius:11px; background:var(--nav-hover); color:#61708a; font-size:11px; font-weight:650; }
.nova-admin-sidebar .nova-admin-account>span:last-child { flex:1; min-width:0; }
.nova-admin-sidebar .nova-admin-account strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; line-height:1.4; font-weight:600; }
.nova-admin-sidebar .nova-admin-account small { display:block; margin-top:2px; color:var(--nav-muted); font-size:10px; }
.nova-admin-sidebar .nova-admin-account-actions { display:flex; align-items:center; gap:8px; margin-top:12px; }
.nova-admin-sidebar .nova-admin-account-actions>button { display:flex; align-items:center; justify-content:center; gap:7px; height:32px; min-height:32px; padding:0 10px; border:1px solid var(--nav-line); border-radius:9px; background:transparent; color:#727c8d; box-shadow:none; }
.nova-admin-sidebar .nova-admin-account-actions>.nova-admin-theme { flex:1; font-size:10px; }
.nova-admin-sidebar .nova-admin-theme>span { display:inline; }
.nova-admin-sidebar .nova-admin-account-actions>.nova-admin-logout { flex:0 0 34px; width:34px; padding:0; }
.nova-admin-sidebar .nova-admin-account-actions>button:hover { background:var(--nav-hover); color:var(--nav-ink); }
.nova-admin-sidebar :is(a,button):focus-visible { outline:2px solid var(--nav-accent); outline-offset:3px; }
html[data-theme="dark"] .ops-sidebar.nova-admin-sidebar { --nav-surface:var(--nova-dark-surface); --nav-ink:var(--nova-dark-ink); --nav-muted:var(--nova-dark-subtle); --nav-line:var(--nova-dark-line); --nav-hover:var(--nova-dark-raised); --nav-active:var(--nova-dark-active); --nav-accent:var(--nova-dark-accent); background:var(--nav-surface); color:var(--nav-ink); border-right-color:var(--nav-line); }
html[data-theme="dark"] .nova-admin-sidebar .nova-admin-links .nova-admin-link { color:#a6adbd; }
html[data-theme="dark"] .nova-admin-sidebar .nova-admin-links .nova-admin-link.active { color:var(--nav-accent); }
html[data-theme="dark"] .nova-admin-sidebar .nova-admin-links .nova-admin-link:hover { color:var(--nav-ink); }
html[data-theme="dark"] .nova-admin-sidebar .nova-admin-avatar { color:#b7c5df; }
html[data-theme="dark"] .nova-admin-sidebar .nova-admin-account-actions>button { background:transparent; border-color:var(--nav-line); color:#a6adbd; }
html[data-theme="dark"] .nova-admin-sidebar .nova-admin-account-actions>button:hover { background:var(--nav-hover); color:var(--nav-ink); }
@media(min-width:1025px), (min-width:761px) and (min-height:501px) and (pointer:fine), (min-width:761px) and (min-height:501px) and (pointer:none) {
  .ops-shell:has(>.nova-admin-sidebar)>.ops-main { width:calc(100% - var(--nova-admin-nav-width)); margin-left:var(--nova-admin-nav-width); }
}
@media(min-width:1025px) and (max-height:730px), (min-width:761px) and (min-height:501px) and (pointer:fine) and (max-height:730px), (min-width:761px) and (min-height:501px) and (pointer:none) and (max-height:730px) {
  .nova-admin-sidebar>.nova-admin-brand { height:112px; margin-bottom:14px; }
  .nova-admin-sidebar .nova-admin-nav-section+.nova-admin-nav-section { margin-top:16px; }
  .nova-admin-sidebar .nova-admin-links .nova-admin-link { min-height:38px; padding-top:8px; padding-bottom:8px; }
}
@media(max-width:760px), (max-width:1024px) and (pointer:coarse), (max-width:1024px) and (max-height:500px) {
  .ops-sidebar.nova-admin-sidebar { display:none; }
  .admin-mobile-nav.admin-shared-nav {
    padding-left:env(safe-area-inset-left,0px);
    padding-right:env(safe-area-inset-right,0px);
    justify-content:stretch;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    touch-action:pan-x;
    scrollbar-width:thin;
  }
  nav.admin-mobile-nav.admin-shared-nav>a,
  nav.admin-mobile-nav.admin-shared-nav>.mobile-nav-theme { min-width:40px; flex-shrink:0; }
  .admin-mobile-nav.admin-shared-nav :is(a,button):focus-visible { outline:2px solid var(--primary,#16875b); outline-offset:-3px; }
}
@media(prefers-reduced-motion:reduce) { .nova-admin-sidebar .nova-admin-link { transition:none; } }

/* Transparent emblem; names are rendered as text rather than embedded in artwork. */
.login-brand.nova-login-brand { flex-direction:column; align-items:center; gap:10px; width:max-content; }
.nova-login-brand>.nova-login-logo { width:64px; height:64px; }
.login-brand.nova-login-brand>strong { font-size:18px; line-height:1.25; letter-spacing:-.02em; }
.nova-gate-logo { width:96px; height:96px; margin-bottom:12px; }
.courier-brand>div:has(>.nova-logo),.reports-brand>span:has(>.nova-logo),.tracking-header>div>span:has(>.nova-logo) { padding:0; background:transparent; box-shadow:none; }
.courier-brand>div>.nova-logo,.reports-brand>span>.nova-logo,.tracking-header>div>span>.nova-logo { width:100%; height:100%; }
@media(min-width:1025px), (min-width:761px) and (min-height:501px) and (pointer:fine), (min-width:761px) and (min-height:501px) and (pointer:none) { .admin-map-topbar .theme-toggle { display:none; } }


:root {
  --ink: #15231c;
  --muted: #708078;
  --line: #e6ebe8;
  --soft: #f4f7f5;
  --cream: #fafbf9;
  --green: #149c67;
  --green-dark: #0d7d52;
  --green-soft: #e8f7f0;
  --red: #d84c4c;
  --red-soft: #fff0ef;
  --amber: #f5a623;
  --sidebar: #10271f;
  --shadow: 0 14px 36px rgba(24, 53, 41, 0.08);
  --font-sans: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Integration center */
.integrations-shell{min-height:100vh;background:#f4f7fb;color:#172036;padding-bottom:48px}.integrations-header{height:72px;background:#11192c;color:white;padding:0 5vw;display:flex;align-items:center;justify-content:space-between}.integrations-brand,.integrations-header-actions,.integrations-header-actions a{display:flex;align-items:center;gap:10px}.integrations-brand>span{font-size:11px;letter-spacing:.16em;color:#8ea0c4}.integrations-header-actions a{color:#dbe5f8;text-decoration:none;font-size:13px;font-weight:700}.integrations-hero{max-width:1180px;margin:0 auto;padding:52px 24px 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.integrations-hero h1{font-size:38px;margin:7px 0 10px}.integrations-hero p{max-width:680px;color:#65718a;line-height:1.55}.integration-security{display:flex;align-items:center;gap:12px;background:#e8f8f1;color:#16704b;padding:14px 17px;border-radius:14px;min-width:235px}.integration-security span{display:flex;flex-direction:column}.integration-security small{color:#4f816d;margin-top:2px}.integration-message{max-width:1132px;margin:0 auto 20px;padding:13px 16px;border-radius:12px;display:flex;gap:9px;align-items:center;font-weight:700;font-size:14px}.integration-message.success{background:#e6f8ef;color:#16704b}.integration-message.error{background:#fff0ef;color:#ae342d}.integration-grid{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.integration-card{background:white;border:1px solid #dde4ef;border-radius:18px;padding:21px;box-shadow:0 7px 24px rgba(30,49,83,.06);display:flex;flex-direction:column;gap:17px;min-height:340px}.integration-card.ready{border-top:3px solid #27a875}.integration-card.waiting,.integration-card.pending{border-top:3px solid #e1a740}.integration-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.integration-icon{width:42px;height:42px;border-radius:12px;background:#edf3ff;color:#355fd5;display:grid;place-items:center}.integration-state{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:6px 9px;font-size:11px;font-weight:800}.integration-state.ready{background:#e7f8f0;color:#16704b}.integration-state.waiting,.integration-state.pending{background:#fff4dc;color:#8d6314}.integration-card h2{font-size:20px;margin:0 0 3px}.integration-card>div>p{font-size:13px;color:#7b879d}.integration-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.integration-card dl div{background:#f6f8fc;border-radius:10px;padding:10px}.integration-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8b96a9}.integration-card dd{margin:4px 0 0;font-weight:800;font-size:12px}.integration-detail{color:#667189;font-size:13px;line-height:1.48}.missing-fields{display:flex;flex-wrap:wrap;gap:6px}.missing-fields strong{width:100%;font-size:11px;color:#7b879d}.missing-fields span{background:#fff4dc;color:#79520c;padding:5px 8px;border-radius:7px;font-size:11px;font-weight:700}.integration-warning,.integration-pending-action{display:flex;gap:7px;align-items:center;font-size:12px;background:#fff5e2;color:#8b5f0c;padding:9px;border-radius:9px}.sync-result{display:flex;gap:6px}.sync-result span{font-size:11px;font-weight:800;color:#426151;background:#eaf7f1;border-radius:7px;padding:5px 7px}.integration-sync{margin-top:auto;border:0;border-radius:11px;background:#315ed3;color:white;padding:11px 13px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer}.integration-sync:disabled{background:#c8d0de;cursor:not-allowed}.integration-automation{max-width:1132px;margin:20px auto 0;background:#17223a;color:white;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px}.integration-automation div{flex:1}.integration-automation p{color:#aebbd3;margin-top:4px;font-size:13px}.integration-automation>span{display:flex;align-items:center;gap:7px;color:#8ee3bb;font-weight:800;font-size:12px}
@media(max-width:960px){.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.integrations-hero{align-items:flex-start;flex-direction:column}.integration-security{width:100%}.integration-automation{margin-left:24px;margin-right:24px}}
@media(max-width:640px){.integrations-header{padding:0 18px}.integrations-brand>span{display:none}.integrations-hero{padding-top:34px}.integrations-hero h1{font-size:30px}.integration-grid{grid-template-columns:1fr}.integration-automation{align-items:flex-start;flex-wrap:wrap}.integration-automation>span{width:100%}}

.shop-integrations-shell{min-height:100vh;background:#f4f7f5;color:#18352c;padding-bottom:48px}.shop-integrations-header{height:60px;padding:0 max(20px,calc((100vw - 1040px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dfe8e3}.shop-integrations-intro{max-width:1040px;margin:0 auto;padding:30px 20px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.shop-integrations-intro h1{margin:5px 0 7px;font-size:28px}.shop-integrations-intro p{max-width:670px;color:#667a72;font-size:13px;line-height:1.55}.shop-security{display:flex;align-items:center;gap:10px;background:#e7f6ef;color:#176447;border-radius:11px;padding:11px 14px}.shop-security span{display:flex;flex-direction:column}.shop-security small{margin-top:2px;color:#54806e}.shop-integration-notice{max-width:1000px;margin:0 auto 14px;padding:12px 14px;border-radius:10px;font-size:13px;font-weight:750}.shop-integration-notice.success{background:#e4f6ed;color:#176447}.shop-integration-notice.error{background:#fff0ed;color:#a63b30}.shop-integration-list{max-width:1040px;margin:0 auto;padding:0 20px;display:grid;gap:14px}.shop-integration-card{background:#fff;border:1px solid #dce6e1;border-left:4px solid #d3a032;border-radius:14px;padding:18px}.shop-integration-card.connected{border-left-color:#1e9b68}.shop-integration-card.attention{border-left-color:#d4802d}.shop-integration-card-head{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px}.shop-platform-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#eef4f1;color:#1c7655}.shop-integration-card h2{font-size:18px;margin:0 0 3px}.shop-integration-card-head p{font-size:12px;color:#6d7d76;line-height:1.45}.shop-connection-state{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:6px 9px;background:#fff2d8;color:#835b0e;font-size:11px;font-weight:800;white-space:nowrap}.shop-connection-state.connected{background:#e4f6ed;color:#176447}.shop-connection-state.attention{background:#fff0df;color:#945614}.shop-connected-summary{margin:16px 0 0 55px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.shop-connected-summary>div:not(.shop-integration-actions){padding:10px;background:#f5f8f6;border-radius:9px;display:flex;flex-direction:column;gap:3px}.shop-connected-summary span{font-size:10px;color:#7a8982;text-transform:uppercase;letter-spacing:.05em}.shop-connected-summary strong{font-size:12px}.shop-connected-summary>p{grid-column:1/-1;color:#6d7d76;font-size:12px}.shop-integration-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.shop-integration-actions button,.shop-form-actions button{border:0;border-radius:9px;padding:9px 12px;background:#177653;color:#fff;font-weight:750;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.shop-integration-actions button.plain,.shop-form-actions button.plain{background:#edf3f0;color:#365a4d}.shop-integration-actions button.delete{margin-left:auto;background:#fff0ed;color:#a63b30}.shop-credential-form{margin:16px 0 0 55px;padding-top:15px;border-top:1px solid #e7edea;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-credential-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#4f675e}.shop-credential-form label span{display:flex;align-items:center;justify-content:space-between}.shop-credential-form label small{font-weight:500;color:#87968f}.shop-credential-form input,.shop-credential-form select{width:100%;height:40px;border:1px solid #cedbd5;border-radius:9px;background:#fff;padding:0 11px;color:#1d352c;outline:none}.shop-credential-form input:focus,.shop-credential-form select:focus{border-color:#2a8a67;box-shadow:0 0 0 3px rgba(42,138,103,.1)}.shop-credential-form details{grid-column:1/-1;background:#f7f9f8;border-radius:10px;padding:11px}.shop-credential-form summary{cursor:pointer;font-size:12px;font-weight:800}.shop-advanced-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.shop-advanced-fields .wide{grid-column:1/-1}.shop-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;align-items:center}.shop-form-actions .show-secret{margin-right:auto;background:transparent;color:#4e6b60;padding-left:0}.shop-form-actions button:disabled,.shop-integration-actions button:disabled{opacity:.6;cursor:wait}.shop-integration-card.compact{padding:14px 18px}.shop-integration-card.compact .shop-platform-icon{background:#fff5df;color:#946819}
.shop-provider-lookup{align-self:end;min-height:44px;border:1px solid rgba(128,128,128,.4);border-radius:9px;background:transparent;color:inherit;padding:10px 14px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.shop-provider-lookup:disabled{opacity:.6;cursor:wait}
@media(max-width:720px){.shop-integrations-header{padding:0 14px}.shop-integrations-header .integrations-brand>span{display:none}.shop-integrations-intro{padding:22px 14px 16px;align-items:flex-start;flex-direction:column}.shop-security{width:100%}.shop-integration-list{padding:0 14px}.shop-integration-card-head{grid-template-columns:38px 1fr}.shop-platform-icon{width:38px;height:38px}.shop-connection-state{grid-column:2;justify-self:start}.shop-connected-summary,.shop-credential-form{margin-left:0}.shop-connected-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-credential-form,.shop-advanced-fields{grid-template-columns:1fr}.shop-advanced-fields .wide{grid-column:auto}.shop-integration-actions button.delete{margin-left:0}.shop-form-actions{justify-content:stretch;flex-wrap:wrap}.shop-form-actions button[type=submit]{flex:1;justify-content:center}}
.integration-field-help{margin:0;color:#6d7d76;font-size:11px;line-height:1.55}
.platform-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.integration-settings-link{display:inline-flex;align-items:center;gap:7px;background:#177653;color:#fff;text-decoration:none;border-radius:9px;padding:10px 13px;font-size:12px;font-weight:800}
.admin-integration-table{max-width:1120px;margin:0 auto;padding:0 20px;display:grid;gap:10px}.admin-shop-integration{background:#fff;border:1px solid #dce6e1;border-radius:13px;padding:13px;display:grid;grid-template-columns:minmax(190px,1fr) repeat(2,minmax(190px,1.25fr)) minmax(150px,.9fr);gap:10px;align-items:stretch}.admin-shop-title,.admin-connection-cell{display:flex;align-items:center;gap:10px}.admin-shop-title>div:last-child,.admin-connection-cell>div{display:flex;flex-direction:column;min-width:0}.admin-shop-title span,.admin-connection-cell span{font-size:11px;color:#71817a;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-connection-cell{background:#f5f8f6;border-radius:9px;padding:9px;display:grid;grid-template-columns:1fr auto}.admin-connection-cell small{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;color:#845e15}.admin-connection-cell small.connected{color:#176447}.admin-connection-cell small.attention{color:#9a5713}.admin-connection-cell time{grid-column:1/-1;color:#84918c;font-size:10px}.admin-official-pending{display:flex;align-items:center;gap:6px;border-radius:9px;background:#fff5df;color:#826016;padding:10px;font-size:11px;line-height:1.35}.admin-integration-foot{max-width:1080px;margin:14px auto 0;background:#fff;border:1px solid #dce6e1;border-radius:12px;padding:14px;display:flex;align-items:center;gap:11px}.admin-integration-foot div{flex:1}.admin-integration-foot p{font-size:11px;color:#74827c;margin-top:2px}.admin-integration-foot>span{font-size:11px;color:#536a61}.admin-empty-integrations{background:#fff;padding:30px;border-radius:12px;text-align:center;color:#71817a}
@media(max-width:900px){.admin-shop-integration{grid-template-columns:1fr 1fr}.admin-shop-title,.admin-official-pending{grid-column:1/-1}.admin-integration-foot{margin-left:20px;margin-right:20px;align-items:flex-start;flex-wrap:wrap}.admin-integration-foot>span{width:100%}}
@media(max-width:600px){.admin-shop-integration{grid-template-columns:1fr}.admin-connection-cell{grid-column:1}.admin-integration-table{padding:0 14px}.admin-integration-foot{margin-left:14px;margin-right:14px}}
.admin-shops-shell{min-height:100vh;background:#f4f7f5;color:#18352c;padding-bottom:45px}.admin-shops-heading{max-width:1060px;margin:0 auto;padding:28px 20px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-shops-heading h1{font-size:28px;margin:4px 0}.admin-shops-heading p{font-size:13px;color:#6f8078}.admin-shops-heading>button{border:0;border-radius:9px;background:#177653;color:#fff;padding:10px 13px;display:flex;align-items:center;gap:7px;font-weight:800;cursor:pointer}.admin-shops-list{max-width:1060px;margin:0 auto;padding:0 20px;display:grid;gap:10px}.admin-shops-list article{background:#fff;border:1px solid #dce6e1;border-radius:12px;padding:13px;display:grid;grid-template-columns:42px minmax(190px,1.2fr) minmax(180px,1fr) minmax(170px,.8fr) auto;align-items:center;gap:12px}.admin-shop-avatar{width:42px;height:42px;border-radius:10px;background:#e8f5ef;color:#1b7856;display:grid;place-items:center}.admin-shop-main,.admin-shop-owner{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-shop-main>span,.admin-shop-owner>span{font-size:11px;color:#798981}.admin-shop-main small,.admin-shop-owner small{font-size:10px;color:#87948f;display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shop-numbers{display:flex;gap:7px;flex-wrap:wrap}.admin-shop-numbers span{padding:7px;background:#f4f7f5;border-radius:8px;font-size:10px;color:#65766e}.admin-shop-numbers strong{font-size:13px;color:#244c3d}.admin-shops-list article>a{font-size:11px;font-weight:800;color:#176b4d;text-decoration:none}.admin-shop-dialog{background:#fff;width:min(760px,calc(100vw - 24px));max-height:92vh;overflow:auto;border-radius:15px;box-shadow:0 24px 80px rgba(16,39,30,.25)}.admin-shop-dialog>header{padding:17px 19px;border-bottom:1px solid #e3ebe7;display:flex;align-items:center;justify-content:space-between}.admin-shop-dialog h2{font-size:20px;margin-top:3px}.admin-shop-dialog>header>button{border:0;background:#edf3f0;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}.admin-shop-dialog form{padding:17px}.admin-shop-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.admin-shop-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#51675e}.admin-shop-form-grid label.wide{grid-column:1/-1}.admin-shop-form-grid input{height:40px;border:1px solid #cfdbd5;border-radius:9px;padding:0 11px}.admin-shop-form-grid small{font-weight:500;color:#84928c}.admin-shop-map{margin-top:14px}.admin-shop-map>strong{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:7px}.admin-shop-map .location-picker-canvas{height:230px}.admin-shop-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.admin-shop-dialog footer>span{display:flex;align-items:center;gap:6px;color:#61756c;font-size:11px}.admin-shop-dialog footer>button{border:0;border-radius:9px;background:#177653;color:#fff;padding:10px 14px;display:flex;align-items:center;gap:7px;font-weight:800}.admin-shop-dialog footer>button:disabled{opacity:.5}
@media(max-width:800px){.admin-shops-list article{grid-template-columns:42px 1fr auto}.admin-shop-owner,.admin-shop-numbers{grid-column:2}.admin-shops-list article>a{grid-column:3;grid-row:1/4}.admin-shop-form-grid{grid-template-columns:1fr}.admin-shop-form-grid label.wide{grid-column:auto}}
@media(max-width:560px){.admin-shops-heading{padding:22px 14px 15px;align-items:flex-start;flex-direction:column}.admin-shops-list{padding:0 14px}.admin-shops-list article{grid-template-columns:38px 1fr}.admin-shops-list article>a{grid-column:2;grid-row:auto}.admin-shop-dialog footer{align-items:stretch;flex-direction:column}.admin-shop-dialog footer>button{justify-content:center}}
.order-card.order-ready{border-color:#a9dac5}.order-card.order-ready .preparing-badge{background:#dff5ea;color:#16714d}.order-live-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.order-live-actions button,.order-live-actions a{height:38px;border-radius:9px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;font-size:12px;font-weight:800;cursor:pointer}.order-live-actions .ready-button{border:0;background:#17845b;color:#fff;min-width:92px}.order-live-actions .cancel-button{border:1px solid #efcbc6;background:#fff6f4;color:#a43d34}.order-live-actions .compact{width:38px;padding:0}.order-live-actions button:disabled{opacity:.6;cursor:wait}
.admin-kitchen-state{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 8px;border-radius:8px;background:#fff3df;color:#885e13;font-size:10px}.admin-kitchen-state.ready{background:#e4f6ed;color:#176447}
.courier-kitchen-state{display:flex;align-items:center;gap:8px;background:#fff3df;color:#835c13;border-radius:9px;padding:8px 10px;margin-top:8px}.courier-kitchen-state>span{display:flex;flex-direction:column}.courier-kitchen-state small{font-size:10px;margin-top:1px}.courier-kitchen-state.ready{background:#fff0ef;border:1.5px solid #e53935;color:#c62828}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--cream); color: var(--ink); }
body { font-family: var(--font-sans); }
button, input, select { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 30; width: 244px; padding: 24px 16px 18px;
  display: flex; flex-direction: column; color: #fff;
  background: linear-gradient(180deg, #112a22 0%, #0c201a 100%);
  box-shadow: 10px 0 40px rgba(0, 0, 0, 0.08);
}
.brand { height: 48px; display: flex; align-items: center; padding: 0 8px; gap: 10px; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: #23b77b; color: white; box-shadow: 0 8px 18px rgba(35,183,123,.25); }
.brand strong, .brand span { display: block; font-family: "Manrope", sans-serif; letter-spacing: .15em; line-height: 1; }
.brand strong { font-size: 17px; font-weight: 800; }
.brand span { margin-top: 4px; color: #8db7a6; font-size: 8px; font-weight: 700; letter-spacing: .34em; }
.sidebar-close { display: none; margin-left: auto; border: 0; background: transparent; color: #fff; }

.shop-switcher { display: flex; align-items: center; gap: 10px; margin-top: 26px; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.045); }
.shop-avatar, .user-avatar { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #f2bb60; color: #48330d; font-size: 11px; font-weight: 800; }
.shop-switcher > div:nth-child(2), .sidebar-user > div:nth-child(2) { min-width: 0; flex: 1; }
.shop-switcher strong, .shop-switcher span, .sidebar-user strong, .sidebar-user span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.shop-switcher strong { font-size: 12px; }
.shop-switcher span { margin-top: 3px; color: #94afa3; font-size: 10px; }

.side-nav { margin-top: 28px; }
.side-nav p { padding: 0 12px; color: #628477; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.side-nav button, .side-nav a { width: 100%; height: 43px; margin: 4px 0; padding: 0 12px; display: flex; align-items: center; gap: 12px; border: 0; border-radius: 10px; background: transparent; color: #a9beb5; font-weight: 600; font-size: 12px; text-align: left; text-decoration: none; transition: .2s ease; }
.side-nav button:hover, .side-nav a:hover { color: #fff; background: rgba(255,255,255,.05); }
.side-nav button.active { color: #fff; background: #1b4938; box-shadow: inset 3px 0 #2bc285; }
.side-nav button b { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; display: grid; place-items: center; background: #f1b75b; color: #352408; border-radius: 20px; font-size: 10px; }
.sidebar-status { margin-top: auto; padding: 13px; border: 1px solid rgba(255,255,255,.06); border-radius: 11px; background: rgba(0,0,0,.12); }
.sidebar-status div { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 600; }
.sidebar-status small { display: block; margin: 5px 0 0 15px; color: #739083; font-size: 9px; }
.live-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #28c486; box-shadow: 0 0 0 4px rgba(40,196,134,.12); }
.live-dot.connecting { background: #e8ae43; box-shadow: 0 0 0 4px rgba(232,174,67,.13); }
.live-dot.offline { background: #db625b; box-shadow: 0 0 0 4px rgba(219,98,91,.13); }
.sidebar-user { display: flex; align-items: center; gap: 9px; margin-top: 12px; padding: 11px 8px 0; border-top: 1px solid rgba(255,255,255,.07); }
.sidebar-user .user-avatar { background: #dceee6; color: #174c38; }
.sidebar-user strong { font-size: 11px; }
.sidebar-user span { color: #779287; font-size: 9px; margin-top: 2px; }
.sidebar-user svg { color: #729085; }
.panel-logout { width: 29px; height: 29px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 7px; background: transparent; color: #789087; }
.panel-logout:hover { background: rgba(255,255,255,.07); color: white; }

.main-content { width: calc(100% - 244px); min-height: 100vh; margin-left: 244px; }
.topbar { height: 78px; padding: 0 34px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.82); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 20; }
.topbar-title h1 { margin: 2px 0 0; font: 700 19px/1.2 "Manrope", sans-serif; letter-spacing: -.02em; }
.eyebrow, .section-kicker { color: #91a098; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.store-live { height: 34px; padding: 0 13px; display: flex; align-items: center; gap: 8px; border: 1px solid #d9e7e0; border-radius: 20px; background: #f3faf6; color: #37715a; font-size: 11px; font-weight: 700; }
.store-live.closed { border-color: #e4e8e6; background: #f7f8f7; color: #7d8983; }
.store-live.closed .live-dot { background: #9ca7a2; box-shadow: none; }
.icon-button, .mobile-menu { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: white; color: #56665e; }
.notification-button { position: relative; }
.notification-button i { position: absolute; right: 8px; top: 7px; width: 6px; height: 6px; border: 1px solid white; border-radius: 50%; background: #e45a52; }
.notification-center { position: relative; }
.notification-center .notification-button i { right: -4px; top: -5px; min-width: 17px; width: auto; height: 17px; padding: 0 4px; display: grid; place-items: center; border: 2px solid white; color: white; font-size: 7px; font-style: normal; }
.notification-popover { position: absolute; z-index: 80; top: calc(100% + 10px); right: 0; width: min(360px, calc(100vw - 28px)); overflow: hidden; border: 1px solid #dfe7e3; border-radius: 14px; background: white; box-shadow: 0 18px 50px rgba(24, 52, 41, .18); color: #24342c; }
.notification-popover > header { padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf1ef; }
.notification-popover > header div { display: grid; gap: 2px; }
.notification-popover > header strong { font-size: 12px; }
.notification-popover > header span { color: #8b9791; font-size: 8px; }
.notification-popover > header button { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 8px; background: #f3f6f4; color: #69766f; }
.notification-push-enable { width: calc(100% - 20px); min-height: 48px; margin: 10px 10px 0; padding: 8px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid #cbe3d8; border-radius: 10px; background: #edf8f2; color: #167653; text-align: left; }.notification-push-enable > span { display: flex; flex-direction: column; gap: 2px; }.notification-push-enable strong { font-size: 10px; }.notification-push-enable small { color: #668077; font-size: 8px; }.notification-push-error { margin: 7px 12px 0; display: block; color: #a64b42; font-size: 9px; line-height: 1.4; }
.notification-list { max-height: 380px; overflow: auto; }
.notification-list article { position: relative; padding: 12px 14px 12px 25px; display: flex; gap: 9px; border-bottom: 1px solid #f0f3f1; text-align: left; }
.notification-list article > i { position: absolute; left: 13px; top: 18px; width: 5px; height: 5px; border-radius: 50%; background: #d9e1dd; }
.notification-list article.unread { background: #f4fbf7; }
.notification-list article.unread > i { background: #1c9a68; }
.notification-list article div { display: grid; gap: 4px; }
.notification-list article strong { font-size: 10px; }
.notification-list article p { margin: 0; color: #5f6f67; font-size: 9px; line-height: 1.45; }
.notification-list article span { color: #94a09a; font-size: 7px; }
.notification-empty { min-height: 175px; display: grid; place-items: center; align-content: center; gap: 6px; color: #92a099; }
.notification-empty strong { color: #53625a; font-size: 10px; }
.notification-empty span { font-size: 8px; }
.order-complete-actions { display: flex; align-items: center; gap: 7px; }
.tracking-button { height: 34px; padding: 0 10px; display: flex; align-items: center; gap: 6px; border: 1px solid #dce5e0; border-radius: 8px; color: #527064; font-size: 8px; font-weight: 700; }
.mobile-menu { display: none; }

.page-content { padding: 28px 34px 54px; }
.shop-focus-bar { padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid #dbe6e0; border-radius: 15px; background: white; box-shadow: 0 8px 28px rgba(24, 58, 44, .045); }
.shop-focus-bar.urgent { border-color: #e9c88e; background: linear-gradient(105deg, #fffaf0, white 58%); }
.shop-focus-bar h2 { margin: 4px 0 5px; font: 750 20px/1.2 "Manrope", sans-serif; letter-spacing: -.035em; }
.shop-focus-bar p { max-width: 650px; margin: 0; color: #74827b; font-size: 10px; line-height: 1.5; }
.shop-focus-bar > button { height: 38px; padding: 0 14px; display: flex; align-items: center; gap: 7px; border: 1px solid #d7e4de; border-radius: 9px; background: #f5faf7; color: #2e6f55; font-size: 9px; font-weight: 800; white-space: nowrap; }
.summary-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.summary-copy h2, .page-hero h2 { margin: 0; font: 700 23px/1.2 "Manrope", sans-serif; letter-spacing: -.04em; }
.summary-copy p, .page-hero p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.summary-stats { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 8px 26px rgba(27,61,47,.035); }
.summary-stats > div { min-width: 100px; padding: 11px 16px; border-right: 1px solid var(--line); }
.summary-stats > div:last-child { border: 0; min-width: 122px; }
.summary-stats span, .summary-stats strong { display: block; }
.summary-stats span { color: #8a9991; font-size: 9px; }
.summary-stats strong { margin-top: 3px; font: 700 17px/1.2 "Manrope", sans-serif; }

.platform-strip { margin-top: 24px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: var(--shadow); }
.strip-heading { display: flex; align-items: center; justify-content: space-between; }
.strip-heading strong { display: block; margin-top: 2px; font-size: 12px; }
.bulk-actions { display: flex; gap: 7px; }
.bulk-actions button { height: 31px; padding: 0 11px; display: flex; align-items: center; gap: 6px; border: 1px solid #cae8db; border-radius: 8px; background: var(--green-soft); color: var(--green-dark); font-size: 10px; font-weight: 700; }
.bulk-actions button.danger-ghost { border-color: #f0d7d5; background: #fff7f6; color: #bd5550; }
.platform-list { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px; margin-top: 13px; }
.platform-pill { min-width: 0; padding: 10px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; background: #fcfdfc; }
.platform-pill.muted { background: #f7f8f7; }
.platform-logo { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: white; font: 800 9px/1 "Manrope", sans-serif; letter-spacing: -.02em; box-shadow: inset 0 -2px 4px rgba(0,0,0,.08); }
.platform-logo.small { width: 34px; height: 34px; }
.platform-copy { min-width: 0; flex: 1; }
.platform-copy strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 10px; }
.platform-copy > span { display: flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 8px; font-weight: 600; }
.platform-copy > span i, .connection-badge i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-open { color: var(--green); }
.status-closed { color: var(--red); }
.status-pending { color: #a48345; }
.switch { width: 30px; height: 17px; flex: 0 0 auto; padding: 2px; border: 0; border-radius: 20px; background: #c9d1cd; transition: .18s ease; }
.switch span { width: 13px; height: 13px; display: block; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: .18s ease; }
.switch.on { background: var(--green); }
.switch.on span { transform: translateX(13px); }
.switch:disabled { opacity: .45; cursor: not-allowed; }

.orders-section { margin-top: 18px; }
.orders-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.filter-tabs { display: flex; align-items: center; gap: 4px; scrollbar-width: none; }
.filter-tabs::-webkit-scrollbar { display: none; }
.filter-tabs button { height: 34px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: #75837c; font-size: 10px; font-weight: 700; }
.filter-tabs button b { margin-left: 4px; padding: 2px 6px; border-radius: 12px; background: #eef1ef; color: #67736d; font-size: 8px; }
.filter-tabs button.active { background: #17392c; color: white; }
.filter-tabs button.active b { background: #2b5746; color: #ddf0e8; }
.search-box { width: 220px; height: 34px; padding: 0 11px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: white; color: #89968f; }
.search-box input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 10px; }
.order-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; margin-top: 14px; }
.order-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 8px 30px rgba(22,51,39,.045); }
.order-card.order-new { box-shadow: 0 10px 32px rgba(22,51,39,.075); }
.order-accent { position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.order-header { min-height: 61px; padding: 14px 15px 11px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.order-platform { display: flex; align-items: center; gap: 9px; min-width: 0; }
.order-platform span, .order-platform strong { display: block; }
.order-platform span { color: #87948e; font-size: 8px; }
.order-platform strong { margin-top: 3px; font-size: 11px; }
.countdown { min-width: 82px; padding: 5px 7px; display: grid; grid-template-columns: 16px 1fr; align-items: center; border-radius: 8px; background: #f4f7f5; color: #5f6e67; }
.countdown svg { grid-row: 1 / 3; }
.countdown span { font-size: 7px; }
.countdown strong { font-size: 11px; line-height: 1; }
.countdown.urgent { background: #fff0e9; color: #ce5e2d; }
.preparing-badge { padding: 5px 8px; border-radius: 7px; background: #fff5dc; color: #9d741b; font-size: 8px; font-weight: 700; }
.customer-row { padding: 12px 15px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); }
.customer-avatar { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: #edf3ef; color: #456254; font-size: 8px; font-weight: 800; }
.customer-row > div:nth-child(2) { min-width: 0; flex: 1; }
.customer-row strong { display: block; font-size: 10px; }
.customer-row span { margin-top: 3px; display: flex; align-items: center; gap: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #7e8b84; font-size: 8px; }
.customer-row time { color: #9ba69f; font-size: 8px; }
.order-contact-info { margin: 9px 12px 0; padding: 8px 10px; display: flex; align-items: center; gap: 8px; border-radius: 9px; background: #eef6ff; color: #315d88; }
.order-contact-info span, .order-contact-info strong, .order-contact-info small { display: block; }
.order-contact-info strong { font-size: 10px; }
.order-contact-info small { margin-top: 2px; font-size: 8px; }
.items-list { min-height: 116px; padding: 11px 15px; }
.order-item { display: flex; gap: 9px; margin-bottom: 8px; }
.order-item > b { width: 19px; color: #2c5141; font-size: 10px; }
.order-item strong, .order-item span { display: block; }
.order-item strong { font-size: 10px; }
.order-item span { margin-top: 2px; color: #8c9892; font-size: 8px; }
.order-note { margin-top: 7px; padding: 6px 8px; border-left: 2px solid #ebb24c; background: #fff9ed; color: #80652e; font-size: 8px; }
.delivery-row { padding: 8px 15px; display: flex; justify-content: space-between; align-items: center; background: #f8faf8; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.delivery-row span { display: flex; align-items: center; gap: 5px; color: #68766f; font-size: 8px; font-weight: 600; }
.order-footer { padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; }
.order-footer > div:first-child span, .order-footer > div:first-child strong { display: block; }
.order-footer > div:first-child span { color: #909b95; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.order-footer > div:first-child strong { margin-top: 2px; font: 700 14px/1 "Manrope", sans-serif; }
.order-actions { display: flex; gap: 6px; }
.order-actions button, .receipt-button, .dialog-actions button { height: 31px; padding: 0 11px; display: flex; align-items: center; justify-content: center; gap: 5px; border-radius: 8px; font-size: 9px; font-weight: 700; }
.order-actions .reject { border: 1px solid #ebd4d2; background: white; color: #b3514c; }
.order-actions .accept, .accept { border: 1px solid var(--green); background: var(--green); color: white; box-shadow: 0 5px 12px rgba(20,156,103,.18); }
.order-actions button:disabled, .dialog-actions button:disabled { opacity: .58; cursor: wait; }
.receipt-button { border: 1px solid #d5e6de; background: #f3faf6; color: #237653; }
.empty-state { margin-top: 14px; padding: 70px 20px; display: grid; place-items: center; border: 1px dashed #ccd8d2; border-radius: 14px; background: white; color: #8a9992; text-align: center; }
.empty-state h3 { margin: 10px 0 0; color: #4f6158; font-size: 14px; }
.empty-state p { margin: 5px 0; font-size: 10px; }

.page-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.bulk-actions.large button { height: 36px; padding: 0 14px; }
.platform-table { margin-top: 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
.platform-quick-list { margin-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.platform-quick-item { min-width: 0; padding: 13px; display: grid; grid-template-columns: minmax(0, 1fr) auto 105px; align-items: center; gap: 12px; border: 1px solid #dfe6e2; border-radius: 12px; background: white; }
.platform-quick-item.pending { background: #fafbfa; }
.platform-quick-toggle { height: 35px; border: 0; border-radius: 8px; font-size: 8px; font-weight: 800; }
.platform-quick-toggle.open { background: #e8f7ef; color: #1c7b55; }
.platform-quick-toggle.closed { background: #fff1ef; color: #b7534c; }
.platform-quick-toggle:disabled { background: #eff2f0; color: #9aa49f; cursor: not-allowed; }
.platform-table-head, .platform-table-row { display: grid; grid-template-columns: 1.45fr .72fr .72fr 1.1fr .65fr; align-items: center; gap: 16px; padding: 13px 17px; }
.platform-table-head { background: #f5f8f6; color: #8a9891; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.platform-table-row { min-height: 67px; border-top: 1px solid var(--line); }
.table-platform { min-width: 0; display: flex; align-items: center; gap: 10px; }
.table-platform strong, .table-platform span { display: block; }
.table-platform strong { font-size: 11px; }
.table-platform span { margin-top: 3px; color: #84918b; font-size: 8px; }
.connection-badge { width: fit-content; padding: 5px 7px; display: flex; align-items: center; gap: 5px; border-radius: 8px; font-size: 8px; font-weight: 700; }
.connection-badge.connected { color: #18774f; background: #eaf7f1; }
.connection-badge.pending { color: #8a6a29; background: #fff6df; }
.connection-badge.attention { color: #ad4f49; background: #fff0ef; }
.last-sync { color: #69776f; font-size: 9px; }
.capabilities { display: flex; flex-wrap: wrap; gap: 4px; }
.capabilities span { padding: 4px 6px; border-radius: 6px; background: #f0f2f1; color: #a0aaa5; font-size: 7px; font-weight: 700; }
.capabilities span.yes { background: #edf7f2; color: #34805f; }
.table-toggle { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.table-toggle strong { font-size: 9px; }

.coming-soon { min-height: calc(100vh - 78px); padding: 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.coming-soon > div { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 20px; background: #eaf5ef; color: #25815b; }
.coming-soon > span { margin-top: 17px; color: #29a36e; font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.coming-soon h2 { margin: 8px 0 0; font: 700 22px/1.2 "Manrope", sans-serif; }
.coming-soon p { max-width: 430px; margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; padding: 24px; display: grid; place-items: center; background: rgba(10,27,21,.58); backdrop-filter: blur(5px); }
.dialog-backdrop { position: fixed; inset: 0; z-index: 2000; padding: 18px; display: grid; place-items: center; overflow: auto; overscroll-behavior: contain; background: rgba(10,27,21,.6); backdrop-filter: blur(5px); }
.dialog-backdrop > .admin-shop-dialog { margin: auto; }
.dialog { width: min(430px, 100%); padding: 24px; border-radius: 17px; background: white; box-shadow: 0 24px 80px rgba(0,0,0,.24); }
.dialog-icon { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 13px; }
.dialog-icon.danger { background: var(--red-soft); color: var(--red); }
.dialog h2 { margin: 16px 0 0; font: 700 19px/1.2 "Manrope", sans-serif; }
.dialog > p { margin: 8px 0 20px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.dialog label { display: block; color: #53625a; font-size: 9px; font-weight: 700; }
.dialog select { width: 100%; height: 42px; margin-top: 7px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: white; color: var(--ink); font-size: 11px; }
.dialog-actions { margin-top: 22px; display: flex; justify-content: flex-end; gap: 8px; }
.dialog-actions .secondary { border: 1px solid var(--line); background: white; color: #69776f; }
.dialog-actions .danger-button { border: 1px solid var(--red); background: var(--red); color: white; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 150; max-width: 420px; padding: 12px 15px; display: flex; align-items: center; gap: 9px; border: 1px solid #cfe8dc; border-radius: 11px; background: #f2fbf6; color: #216847; box-shadow: 0 14px 40px rgba(22,70,50,.16); font-size: 10px; font-weight: 700; animation: toast-in .25s ease-out; }
.toast.error { border-color: #efd2cf; background: #fff3f1; color: #a94740; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

.receipt-dialog { width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 16px; background: #f1f3f2; }
.receipt-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.receipt-toolbar span, .receipt-toolbar strong { display: block; }
.receipt-toolbar span { color: #8a9891; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.receipt-toolbar strong { margin-top: 3px; font-size: 11px; }
.receipt-sheet { width: 300px; margin: 0 auto; padding: 25px 20px; background: white; color: #111; box-shadow: 0 10px 30px rgba(0,0,0,.12); font-family: "Courier New", monospace; }
.receipt-brand { text-align: center; }
.receipt-brand strong, .receipt-brand span { display: block; }
.receipt-brand strong { font-size: 18px; }
.receipt-brand span { margin-top: 5px; font-size: 9px; }
.receipt-rule { margin: 14px 0; border-top: 2px solid #111; }
.receipt-rule.dashed { border-top: 1px dashed #222; }
.receipt-meta { display: grid; grid-template-columns: 1fr auto; gap: 5px; font-size: 9px; }
.receipt-meta strong { grid-column: 1 / -1; font-size: 18px; }
.receipt-item { display: flex; gap: 8px; margin: 10px 0; }
.receipt-item b { width: 25px; }
.receipt-item strong, .receipt-item span { display: block; font-size: 10px; }
.receipt-item span { margin-top: 3px; font-size: 8px; }
.receipt-note { padding: 7px; border: 1px dashed #111; font-size: 9px; font-weight: 700; }
.receipt-customer strong, .receipt-customer span { display: block; margin-bottom: 4px; font-size: 9px; }
.receipt-total { margin-top: 15px; display: flex; align-items: flex-end; justify-content: space-between; }
.receipt-total span { font-size: 10px; }
.receipt-total strong { font-size: 16px; }
.receipt-payment { margin-top: 10px; padding: 7px 0; border-top: 1px solid #111; border-bottom: 1px solid #111; font-size: 8px; text-align: center; }
.receipt-code { margin-top: 18px; font-size: 9px; text-align: center; letter-spacing: .1em; }

@media (max-width: 1120px) {
  .platform-list { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .order-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .summary-row { align-items: flex-start; flex-direction: column; }
  .summary-stats { width: 100%; }
  .summary-stats > div { flex: 1; }
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .sidebar { transform: translateX(-100%); transition: transform .24s ease; }
  .sidebar.sidebar-open { transform: translateX(0); }
  .sidebar-close { display: grid; place-items: center; }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 25; border: 0; background: rgba(6,18,13,.45); }
  .main-content { width: 100%; margin-left: 0; }
  .mobile-menu { display: grid; margin-right: 12px; }
  .topbar { justify-content: flex-start; padding: 0 18px; }
  .topbar-actions { margin-left: auto; }
  .store-live { display: none; }
  .page-content { padding: 22px 18px 44px; }
  .shop-focus-bar { align-items: flex-start; flex-direction: column; }
  .platform-table-head { display: none; }
  .platform-table-row { grid-template-columns: 1.5fr 1fr; gap: 10px; }
  .platform-table-row > :nth-child(3), .platform-table-row > :nth-child(4) { display: none; }
  .platform-quick-list { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .summary-stats { display: grid; grid-template-columns: 1fr 1fr; }
  .summary-stats > div, .summary-stats > div:last-child { min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .summary-stats > div:nth-child(2), .summary-stats > div:last-child { border-right: 0; }
  .summary-stats > div:nth-child(3), .summary-stats > div:last-child { border-bottom: 0; }
  .strip-heading, .page-hero, .orders-toolbar { align-items: stretch; flex-direction: column; }
  .platform-list { grid-template-columns: 1fr; }
  .order-grid { grid-template-columns: 1fr; }
  .filter-tabs { width: 100%; overflow-x: auto; padding-bottom: 3px; }
  .filter-tabs button { white-space: nowrap; }
  .search-box { width: 100%; }
  .page-hero .bulk-actions button { flex: 1; }
  .platform-table-row { grid-template-columns: 1fr auto; }
  .platform-table-row > :nth-child(2) { display: none; }
  .platform-quick-item { grid-template-columns: minmax(0, 1fr) 100px; }
  .platform-quick-item > .connection-badge { display: none; }
  .receipt-sheet { width: 100%; max-width: 300px; }
  .toast { left: 16px; right: 16px; bottom: 16px; }
}

@media print {
  body * { visibility: hidden !important; }
  .receipt-sheet, .receipt-sheet * { visibility: visible !important; }
  .receipt-sheet { position: fixed; left: 0; top: 0; width: 80mm; margin: 0; padding: 5mm; box-shadow: none; }
  @page { size: 80mm auto; margin: 0; }
}

/* Admin operasyon paneli */
.ops-shell { min-height: 100vh; display: flex; background: #f4f6f8; color: #16231d; }
.ops-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 220px; padding: 23px 15px 17px; display: flex; flex-direction: column; background: #13231f; color: white; }
.admin-brand { padding-left: 7px; }
.admin-brand .brand-mark { background: #efb04d; color: #26332d; }
.admin-brand span { color: #86a197; }
.ops-sidebar nav { margin-top: 31px; }
.ops-sidebar nav > span { display: block; margin: 19px 11px 7px; color: #637d73; font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.ops-sidebar nav button, .ops-sidebar nav > a { width: 100%; height: 40px; padding: 0 11px; display: flex; align-items: center; gap: 11px; border: 0; border-radius: 9px; background: transparent; color: #9cb1a9; font-size: 10px; font-weight: 600; text-align: left; text-decoration: none; }
.ops-sidebar nav button:hover, .ops-sidebar nav button.active, .ops-sidebar nav > a:hover, .ops-sidebar nav > a.active { background: #214036; color: white; }
.ops-sidebar nav button.active, .ops-sidebar nav > a.active { box-shadow: inset 3px 0 #eeb04e; }
.ops-links { margin-top: auto; padding: 10px 7px; border-top: 1px solid rgba(255,255,255,.07); }
.ops-links a { padding: 7px 4px; display: flex; align-items: center; gap: 8px; color: #7f9990; font-size: 9px; text-decoration: none; }
.ops-links a:hover { color: white; }
.admin-profile { padding: 11px 7px 0; display: flex; align-items: center; gap: 8px; border-top: 1px solid rgba(255,255,255,.07); }
.admin-profile > div { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #e6b766; color: #3c2b0c; font-size: 9px; font-weight: 800; }
.admin-profile > span { min-width: 0; flex: 1; }
.admin-profile strong, .admin-profile small { display: block; }
.admin-profile strong { font-size: 10px; }
.admin-profile small { margin-top: 2px; color: #789087; font-size: 8px; }
.admin-profile svg { color: #6f877e; }
.ops-main { width: calc(100% - 220px); min-height: 100vh; margin-left: 220px; }
.ops-topbar { height: 72px; padding: 0 27px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e3e7e5; background: rgba(255,255,255,.9); backdrop-filter: blur(12px); }
.ops-topbar h1 { margin: 3px 0 0; font: 700 18px/1.2 "Manrope", sans-serif; }
.ops-top-actions { display: flex; align-items: center; gap: 8px; }
.ops-top-actions > button { position: relative; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #e1e7e4; border-radius: 9px; background: white; color: #617069; }
.ops-bell { position: relative; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #e1e7e4; border-radius: 9px; background: white; color: #617069; }
.ops-bell i { position: absolute; top: -5px; right: -5px; min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border: 2px solid white; border-radius: 20px; background: #e65e55; color: white; font-size: 7px; font-style: normal; }
.live-operation { height: 30px; padding: 0 11px; display: flex; align-items: center; gap: 6px; border-radius: 18px; background: #eaf7f1; color: #17845a; font-size: 9px; font-weight: 700; }
.live-operation.connecting { background: #fff4dc; color: #8a6219; }
.live-operation.offline { background: #fff0ef; color: #ab4942; }
.ops-content { padding: 21px 27px 32px; }
.ops-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; }
.ops-stats > div { padding: 13px 15px; border: 1px solid #e0e6e3; border-radius: 11px; background: white; }
.ops-stats span, .ops-stats strong, .ops-stats small { display: block; }
.ops-stats span { color: #84918a; font-size: 8px; }
.ops-stats strong { margin-top: 3px; font: 700 20px/1 "Manrope", sans-serif; }
.ops-stats strong.warning-number { color: #d05b43; }
.ops-stats small { margin-top: 7px; display: flex; align-items: center; gap: 4px; color: #87938d; font-size: 7px; }
.dispatch-layout { height: calc(100vh - 183px); min-height: 570px; margin-top: 13px; display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 12px; }
.dispatch-orders, .dispatch-map-panel { min-height: 0; overflow: hidden; border: 1px solid #dfe5e2; border-radius: 13px; background: white; box-shadow: 0 10px 32px rgba(24,46,37,.045); }
.panel-heading { height: 60px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; gap: 9px; border-bottom: 1px solid #e4e8e6; }
.panel-heading strong, .panel-heading span { display: block; }
.panel-heading strong { margin-top: 2px; font-size: 11px; }
.panel-heading label { width: 126px; height: 29px; padding: 0 8px; display: flex; align-items: center; gap: 5px; border: 1px solid #e1e6e4; border-radius: 7px; color: #8d9993; }
.panel-heading input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 8px; }
.dispatch-list { height: calc(100% - 60px); padding: 9px; overflow-y: auto; }
.dispatch-card { width: 100%; margin-bottom: 8px; padding: 11px; display: block; border: 1px solid #e3e8e5; border-radius: 10px; background: white; color: inherit; text-align: left; transition: .16s ease; }
.dispatch-card:hover, .dispatch-card.selected { border-color: #83ad9a; background: #f8fcfa; box-shadow: 0 5px 15px rgba(27,76,56,.07); }
.dispatch-card.warning { border-color: #edc878; }
.dispatch-card.critical { border-color: #e58c84; background: #fffafa; }
.dispatch-card-top { display: flex; align-items: center; justify-content: space-between; }
.source-badge { padding: 3px 6px; border-radius: 5px; background: #f0f3f1; color: #5d6c65; font-size: 7px; font-weight: 700; }
.dispatch-card time { color: #9aa49f; font-size: 7px; }
.dispatch-card > strong { display: block; margin-top: 7px; font: 700 12px/1.2 "Manrope", sans-serif; }
.dispatch-card > p { margin: 5px 0 0; display: flex; align-items: center; gap: 5px; color: #708078; font-size: 8px; }
.assignment-state { min-height: 39px; margin-top: 9px; padding: 7px 8px; display: flex; align-items: center; gap: 7px; border-radius: 8px; }
.assignment-state span { min-width: 0; flex: 1; }
.assignment-state strong, .assignment-state small { display: block; }
.assignment-state strong { font-size: 8px; }
.assignment-state small { margin-top: 2px; opacity: .75; font-size: 7px; }
.assignment-state.waiting { background: #fff5df; color: #936812; }
.assignment-state.unseen { background: #fff1e9; color: #be633a; }
.assignment-state.unseen.critical { background: #ffebea; color: #b9433d; }
.assignment-state.seen { background: #eaf7f1; color: #237451; }
.assignment-state a { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; background: #c94f48; color: white; }
.dispatch-empty { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: #93a09a; font-size: 9px; }
.dispatch-map-panel { display: grid; grid-template-rows: 53px minmax(280px, 1fr) 190px; }
.dispatch-map-panel.quick-mode { grid-template-rows: 53px minmax(170px, 1fr) 190px; }
.map-toolbar { padding: 0 15px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e4e8e6; }
.map-toolbar strong, .map-toolbar span { display: block; }
.map-toolbar strong { margin-top: 2px; font-size: 11px; }
.map-toolbar > span { display: flex; align-items: center; gap: 5px; color: #77857e; font-size: 8px; }
.map-toolbar > span i { width: 6px; height: 6px; border-radius: 50%; background: #27b579; }
.map-toggle { height: 30px; padding: 0 10px; display: flex; align-items: center; gap: 6px; border: 1px solid #dce5e1; border-radius: 8px; background: #f7faf8; color: #4d6d5e; font-size: 8px; font-weight: 700; }
.quick-assign-summary { padding: 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; align-content: center; background: #f7faf8; }
.quick-assign-summary > div { min-width: 0; padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #dfe7e3; border-radius: 10px; background: white; color: #527064; }
.quick-assign-summary > div.recommended-line { border-color: #b9dfcc; background: #eef9f3; color: #1d7953; }
.quick-assign-summary span { min-width: 0; }
.quick-assign-summary small, .quick-assign-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quick-assign-summary small { color: #8a9790; font-size: 7px; }
.quick-assign-summary strong { margin-top: 3px; color: #263a30; font-size: 9px; }
.quick-assign-summary > p { grid-column: 1 / -1; margin: 0; color: #87948e; font-size: 10px; text-align: center; }
.courier-candidates { padding: 11px 13px 12px; border-top: 1px solid #e2e7e4; background: white; }
.candidate-title { display: flex; align-items: center; justify-content: space-between; }
.candidate-title strong { font-size: 10px; }
.candidate-title span { color: #8c9892; font-size: 7px; }
.candidate-list { margin-top: 8px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.candidate-list > button { min-width: 0; height: 55px; padding: 7px; display: flex; align-items: center; gap: 7px; border: 1px solid #e2e7e4; border-radius: 8px; background: white; color: inherit; text-align: left; }
.candidate-list > button.selected { border-color: #2b8d65; background: #f0faf5; }
.candidate-list > button.recommended { border-color: #9ccdb7; background: #f5fbf8; }
.candidate-list > button:disabled { opacity: .5; cursor: not-allowed; }
.candidate-avatar { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: #e8f1ec; color: #30654e; font-size: 8px; font-weight: 800; }
.candidate-list button > div:nth-child(2) { min-width: 0; flex: 1; }
.candidate-list strong, .candidate-list span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.candidate-list strong { font-size: 8px; }
.candidate-list span { margin-top: 2px; color: #84918a; font-size: 7px; }
.candidate-distance { text-align: right; }
.candidate-distance strong { font-size: 8px !important; }
.candidate-list button > svg { color: #23835b; }
.assign-button { width: 100%; height: 36px; margin-top: 9px; padding: 0 13px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 9px; background: #167c57; color: white; font-size: 9px; font-weight: 800; box-shadow: 0 6px 14px rgba(22,124,87,.18); }
.assign-button svg:last-child { margin-left: auto; }
.assign-button:disabled { opacity: .5; cursor: not-allowed; }
.spin { animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Mobil kurye uygulaması */
.courier-page { min-height: calc(100dvh - var(--app-banner-height, 0px)); background: #e9eeeb; color: #14231c; }
.courier-app { width: 100%; min-height: calc(100dvh - var(--app-banner-height, 0px)); padding-bottom: 78px; background: #f7f9f7; }
.courier-header { height: 64px; padding: 0 max(20px, calc((100vw - 1120px) / 2)); display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #e3e8e5; background: white; }
.courier-menu-button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dce5e0; border-radius: 10px; background: #fff; color: #29473b; cursor: pointer; }.courier-header-title { color: #20382e; font-size: 13px; }.courier-header-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.courier-brand { display: flex; align-items: center; gap: 8px; }
.courier-brand > div { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: #1aaa70; color: white; }
.courier-brand strong, .courier-brand small { display: block; font-family: "Manrope", sans-serif; line-height: 1; }
.courier-brand strong { font-size: 13px; letter-spacing: .12em; }
.courier-brand small { margin-top: 3px; color: #84948c; font-size: 6px; letter-spacing: .24em; }
.courier-online { height: 27px; margin-left: auto; padding: 0 9px; display: flex; align-items: center; gap: 6px; border-radius: 16px; background: #e9f7f0; color: #168156; font-size: 8px; font-weight: 700; }
.courier-online i { width: 6px; height: 6px; border-radius: 50%; background: #1bb778; }
.courier-notification-toggle { width: 32px; height: 32px; border: 0; border-radius: 10px; background: #edf1ef; color: #66776f; display: grid; place-items: center; cursor: pointer; }
.courier-notification-toggle.enabled { background: #def4e8; color: #188258; }
.courier-profile-icon { color: #5d6d65; }
.courier-logout { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 8px; background: #f1f4f2; color: #65746d; }
.courier-app > main { max-width: 1080px; margin: 0 auto; padding: 24px 20px 110px; }
.courier-field-summary { margin-bottom: 16px; padding: 14px; border: 1px solid #dbe5e0; border-radius: 16px; background: linear-gradient(145deg,#fff,#f3f8f5); box-shadow: 0 7px 22px rgba(18,48,36,.06); }
.courier-field-summary > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.courier-field-summary > header > div { display: flex; flex-direction: column; gap: 2px; }.courier-field-summary > header strong { color: #173a2f; font-size: 15px; }
.courier-field-live { min-height: 30px; padding: 0 10px; display: inline-flex; align-items: center; gap: 6px; border-radius: 99px; background: #eef3f0; color: #6a7d74; font-size: 10px; font-weight: 850; white-space: nowrap; }.courier-field-live i { width: 7px; height: 7px; border-radius: 50%; background: #99a79f; }.courier-field-live.active { background: #e5f5ec; color: #176f50; }.courier-field-live.active i { background: #20a86f; box-shadow: 0 0 0 4px rgba(32,168,111,.12); }.courier-field-live.error { background: #fff0ed; color: #a8463d; }.courier-field-live.error i { background: #d55349; }
.courier-field-metrics { margin-top: 12px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; }.courier-field-metrics > div { min-width: 0; min-height: 55px; padding: 9px; display: flex; align-items: center; gap: 8px; border: 1px solid #e2e9e5; border-radius: 11px; background: #fff; color: #247252; }.courier-field-metrics > div > span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }.courier-field-metrics small { overflow: hidden; color: #819088; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.courier-field-metrics strong { overflow: hidden; color: #203a30; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.courier-open-route { width: 100%; min-height: 46px; margin-top: 9px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 11px; background: #173a32; color: #fff; text-align: left; cursor: pointer; }.courier-open-route > span { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }.courier-open-route strong { font-size: 11px; }.courier-open-route small { overflow: hidden; color: #b6cdc4; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.courier-greeting { display: flex; align-items: center; justify-content: space-between; }
.courier-greeting span { color: #7c8a83; font-size: 10px; }
.courier-greeting h1 { margin: 3px 0 0; font: 700 22px/1.2 "Manrope", sans-serif; }
.courier-today { min-width: 79px; padding: 8px 11px; display: grid; grid-template-columns: 1fr auto; border: 1px solid #dfe6e2; border-radius: 11px; background: white; }
.courier-today span { grid-column: 1 / -1; font-size: 7px; }
.courier-today strong { margin-top: 2px; font: 700 18px/1 "Manrope", sans-serif; }
.courier-today small { align-self: end; color: #89968f; font-size: 7px; }
.courier-speed-status { margin-top: 15px; padding: 10px 12px; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px; border: 1px solid #dce6e1; border-radius: 12px; background: white; }
.courier-speed-status > div { display: flex; align-items: center; gap: 9px; color: #23805a; }
.courier-speed-status > div + div { padding-left: 12px; border-left: 1px solid #e7ece9; }
.courier-speed-status strong, .courier-speed-status small { display: block; }
.courier-speed-status strong { color: #20332a; font-size: 10px; }
.courier-speed-status small { margin-top: 2px; color: #87948e; font-size: 7px; }
.courier-speed-status.empty > div:last-child { color: #74847c; }.courier-speed-status.empty > div:last-child strong { color: #53665d; }
.courier-summary { margin-top: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.courier-summary > div { min-height: 61px; padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #e0e6e3; border-radius: 11px; background: white; color: #287455; }
.courier-summary strong, .courier-summary small { display: block; }
.courier-summary strong { color: #1b2c24; font: 700 13px/1.1 "Manrope", sans-serif; }
.courier-summary small { margin-top: 3px; color: #8a9790; font-size: 7px; }
.courier-alert { margin-top: 14px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #efcb8a; border-radius: 11px; background: #fff8e9; color: #9e6f19; }
.courier-alert > div { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: #f9dfaa; }
.courier-alert strong, .courier-alert small { display: block; }
.courier-alert strong { font-size: 10px; }
.courier-alert small { margin-top: 2px; font-size: 8px; }
.courier-tasks-section { margin-top: 22px; }
.courier-section-title { display: flex; align-items: flex-end; justify-content: space-between; }
.courier-section-title strong, .courier-section-title span { display: block; }
.courier-section-title strong { margin-top: 2px; font-size: 12px; }
.courier-section-title > span { color: #7e8c85; font-size: 8px; }
.courier-task-list { margin-top: 10px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; align-items: start; }
.courier-priority-list { grid-template-columns: minmax(0, 1fr); }
.courier-priority-list .courier-task { border-color: #78b99e; box-shadow: 0 0 0 2px rgba(45,156,109,.08), 0 12px 32px rgba(22,53,40,.08); }
.courier-more-tasks { margin-top: 12px; border: 1px solid #dfe6e2; border-radius: 11px; background: white; }
.courier-more-tasks > summary { padding: 11px 13px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; color: #3f5d4f; font-size: 9px; font-weight: 800; list-style: none; }
.courier-more-tasks > summary::-webkit-details-marker { display: none; }
.courier-more-tasks > summary span { color: #8a9790; font-size: 7px; font-weight: 600; }
.courier-more-tasks[open] > summary { border-bottom: 1px solid #e5eae7; }
.courier-more-tasks .courier-task-list { padding: 0 11px 11px; }
.courier-task { overflow: hidden; border: 1px solid #dfe6e2; border-radius: 13px; background: white; box-shadow: 0 8px 28px rgba(22,53,40,.045); }
.courier-task.current { border-color: #2d9c6d; box-shadow: 0 0 0 2px rgba(45,156,109,.1), 0 10px 30px rgba(22,53,40,.08); }
.task-order-number { padding: 12px 13px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #e6ebe8; }
.task-order-number > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #183d2f; color: white; font-size: 10px; font-weight: 800; }
.task-order-number > div:nth-child(2) { min-width: 0; flex: 1; }
.task-order-number small, .task-order-number strong { display: block; }
.task-order-number small { color: #2b9367; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.task-order-number strong { margin-top: 2px; font-size: 11px; }
.task-reorder { display: flex; gap: 4px; }
.task-reorder button { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #e0e6e3; border-radius: 6px; background: white; color: #65746d; }
.task-reorder button:disabled { opacity: .28; cursor: not-allowed; }
.task-progress { height: 25px; padding: 0 22px; display: flex; align-items: center; }
.task-progress i { width: 7px; height: 7px; border: 2px solid #cbd5d0; border-radius: 50%; background: white; }
.task-progress i.done { border-color: #20a66f; background: #20a66f; }
.task-progress span { flex: 1; height: 1px; background: #d9e1dd; }
.task-stops { padding: 3px 13px 10px; }
.task-stops > div { display: flex; gap: 9px; margin: 7px 0; }
.stop-icon { width: 29px; height: 29px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; }
.stop-icon.shop { background: #fff2dc; color: #b47817; }
.stop-icon.customer { background: #e8f5ef; color: #21855d; }
.task-stops span { min-width: 0; }
.task-stops small, .task-stops strong, .task-stops p { display: block; }
.task-stops small { color: #93a099; font-size: 6px; font-weight: 800; letter-spacing: .1em; }
.task-stops strong { margin-top: 2px; font-size: 9px; }
.task-stops p { margin: 2px 0 0; color: #7d8a84; font-size: 7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.task-meta { padding: 8px 13px; display: flex; align-items: center; gap: 12px; border-top: 1px solid #e5eae7; border-bottom: 1px solid #e5eae7; background: #f8faf8; }
.task-meta span { display: flex; align-items: center; gap: 4px; color: #75837c; font-size: 7px; }
.task-meta strong { margin-left: auto; font-size: 9px; }
.task-note { margin: 9px 13px 0; padding: 7px 8px; border-left: 2px solid #eab049; background: #fff9ec; color: #80652d; font-size: 7px; }
.courier-primary { border: 0; border-radius: 8px; background: #159864; color: white; font-size: 9px; font-weight: 800; }
.seen-button { width: calc(100% - 26px); height: 38px; margin: 11px 13px 13px; display: flex; align-items: center; justify-content: center; gap: 7px; }
.task-actions { padding: 11px 13px 13px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 7px; }
.task-actions a, .task-actions button { height: 37px; display: flex; align-items: center; justify-content: center; gap: 6px; border-radius: 8px; font-size: 8px; font-weight: 700; text-decoration: none; }
.task-actions a { border: 1px solid #dbe5e0; color: #2d6e53; }
.picked-confirmation { margin: 11px 13px 13px; padding: 9px; display: flex; align-items: center; gap: 8px; border-radius: 8px; background: #eaf7f1; color: #237652; }
.picked-confirmation strong, .picked-confirmation small { display: block; }
.picked-confirmation strong { font-size: 8px; }
.picked-confirmation small { margin-top: 2px; font-size: 7px; }
.delivery-actions { padding: 11px 13px 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.delivery-actions a, .delivery-actions button { height: 35px; display: flex; align-items: center; justify-content: center; gap: 5px; border-radius: 8px; font-size: 8px; font-weight: 700; text-decoration: none; }
.delivery-actions a { border: 1px solid #dfe6e2; color: #436456; }
.delivery-actions button.delivered { border: 0; background: #159864; color: white; }
.delivery-actions button.failed { border: 1px solid #ead2d0; background: #fff6f5; color: #b84e48; }
.delivery-actions button:disabled { opacity: .42; cursor: not-allowed; }
.waiting-turn { grid-column: 1 / -1; color: #9a771f; font-size: 7px; text-align: center; }
.route-start-bar { position: sticky; bottom: 68px; z-index: 15; max-width: 1080px; margin: 15px auto 0; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #d7e3dd; border-radius: 12px; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); box-shadow: 0 12px 35px rgba(18,49,36,.13); }
.route-start-bar > div { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1; color: #227a56; }
.route-start-bar strong, .route-start-bar small { display: block; }
.route-start-bar strong { color: #203329; font-size: 9px; }
.route-start-bar small { margin-top: 2px; color: #7f8d86; font-size: 7px; }
.route-start-bar button { height: 37px; padding: 0 14px; display: flex; align-items: center; gap: 7px; border: 0; border-radius: 8px; background: #163c2d; color: white; font-size: 8px; font-weight: 800; }
.route-start-bar button:disabled { opacity: .45; cursor: not-allowed; }
.courier-empty { margin-top: 10px; padding: 45px 20px; display: flex; flex-direction: column; align-items: center; border: 1.5px dashed #ccd8d2; border-radius: 14px; background: white; text-align: center; }
.courier-empty > div { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 18px; background: #eaf5ef; color: #27825c; }
.courier-empty h2 { margin: 10px 0 0; font: 800 16px/1.25 "Manrope", sans-serif; color: #183d2f; }
.courier-empty p { max-width: 330px; margin: 6px 0 0; color: #6e8077; font-size: 10px; line-height: 1.6; }
.courier-empty a { margin-top: 13px; padding: 8px 11px; border-radius: 8px; background: #173d2e; color: white; font-size: 8px; font-weight: 700; text-decoration: none; }

/* Çevrim Dışı Kırmızı Durum */
.courier-empty.is-offline { border-color: #fca5a5; background: #fffcfb; }
.courier-empty.is-offline .empty-icon-offline { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 18px; background: #fee2e2; color: #dc2626; }
.courier-offline-badge-red { margin-top: 12px; display: inline-block; padding: 4px 12px; border-radius: 99px; background: #fee2e2; border: 1.5px solid #f87171; color: #b91c1c; font-size: 10px; font-weight: 900; letter-spacing: .06em; animation: pulse-red-badge 2s infinite ease-in-out; }
.courier-go-online-btn { margin-top: 16px; min-height: 44px; padding: 0 24px; border: 0; border-radius: 11px; background: #16875b; color: white; font-size: 12px; font-weight: 850; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; box-shadow: 0 4px 14px rgba(22,135,91,.25); }
.courier-go-online-btn:hover { background: #13754e; }
.courier-go-online-btn:disabled { opacity: .6; cursor: wait; }

/* Mola Durumu */
.courier-empty.is-break { border-color: #fde68a; background: #fffef9; }
.courier-empty.is-break .empty-icon-break { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 18px; background: #fef3c7; color: #d97706; }
.courier-break-badge-amber { margin-top: 12px; display: inline-block; padding: 4px 12px; border-radius: 99px; background: #fef3c7; border: 1.5px solid #fbbf24; color: #b45309; font-size: 10px; font-weight: 900; letter-spacing: .06em; }
.courier-end-break-btn { margin-top: 16px; min-height: 44px; padding: 0 24px; border: 0; border-radius: 11px; background: #16875b; color: white; font-size: 12px; font-weight: 850; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; box-shadow: 0 4px 14px rgba(22,135,91,.25); }

/* Çevrim İçi Yeşil Durum */
.courier-empty.is-online .courier-online-badge-green { margin-top: 12px; display: inline-block; padding: 4px 12px; border-radius: 99px; background: #eaf7f1; border: 1.5px solid #6ee7b7; color: #065f46; font-size: 10px; font-weight: 900; letter-spacing: .06em; }
.courier-bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1300; height: 65px; display: flex; justify-content: center; border-top: 1px solid #dfe6e2; background: rgba(255,255,255,.96); backdrop-filter: blur(13px); }
.courier-bottom-nav button, .courier-bottom-nav a { width: min(160px, 25%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 0; background: transparent; color: #8a9790; font-size: 7px; font-weight: 600; text-decoration: none; }
.courier-bottom-nav .active { color: #16895b; }
.courier-menu-backdrop { position: fixed; z-index: 4000; inset: 0; background: rgba(8,20,15,.55); backdrop-filter: blur(3px); }.courier-menu-drawer { width: min(340px,88vw); height: 100%; padding: max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom)); display: flex; flex-direction: column; background: #fff; box-shadow: 18px 0 50px rgba(5,21,14,.24); }.courier-menu-drawer > header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; }.courier-menu-drawer > header > button { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 10px; background: #f0f4f2; color: #52665c; }.courier-menu-profile { margin-top: 22px; padding: 14px; display: flex; align-items: center; gap: 11px; border-radius: 13px; background: #173d2f; color: #fff; }.courier-menu-profile span { min-width: 0; }.courier-menu-profile strong,.courier-menu-profile small { display: block; }.courier-menu-profile strong { font-size: 14px; }.courier-menu-profile small { margin-top: 3px; color: #b9cfc5; font-size: 10px; }.courier-menu-stats { margin-top: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.courier-menu-stats > div { padding: 11px; display: flex; align-items: center; gap: 8px; border: 1px solid #dfe7e3; border-radius: 11px; color: #b17b1d; }.courier-menu-stats small,.courier-menu-stats strong { display: block; }.courier-menu-stats small { color: #839088; font-size: 8px; }.courier-menu-stats strong { margin-top: 2px; color: #2d4339; font-size: 11px; }.courier-menu-shift { margin-top: 9px; padding: 12px; display: flex; flex-direction: column; gap: 3px; border-radius: 11px; background: #f2f6f4; }.courier-menu-shift small { color: #7f9188; font-size: 8px; font-weight: 900; letter-spacing: .08em; }.courier-menu-shift strong { color: #254438; font-size: 13px; }.courier-menu-shift span { color: #72827a; font-size: 9px; }.courier-menu-drawer > nav { margin-top: 18px; }.courier-menu-drawer > nav a { min-height: 46px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border: 1px solid #dfe7e3; border-radius: 10px; color: #315143; font-size: 11px; font-weight: 850; text-decoration: none; }.courier-menu-logout { min-height: 44px; margin-top: auto; border: 1px solid #edd4cf; border-radius: 10px; background: #fff6f4; color: #a3483c; font-size: 11px; font-weight: 900; }
.courier-nav-current { width: min(160px, 25%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 7px; }
.courier-nav-current small { font-size: inherit; }
.courier-nav-disabled { width: min(160px, 25%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #bcc5c0; font-size: 7px; }
.courier-nav-disabled small { font-size: inherit; }
.courier-failure-dialog { position: relative; }
.failure-close { position: absolute; right: 15px; top: 15px; width: 30px; height: 30px; display: grid; place-items: center; border: 0; background: transparent; color: #7b8982; }
.failure-detail { margin-top: 12px; }
.failure-detail textarea { width: 100%; min-height: 75px; margin-top: 7px; padding: 9px; resize: vertical; border: 1px solid #dde5e1; border-radius: 9px; outline: 0; font-size: 10px; }

/* Giriş ekranı */
.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .9fr) minmax(480px, 1.1fr); background: white; }
.login-story { position: relative; min-height: 100vh; overflow: hidden; padding: 42px 48px; display: flex; flex-direction: column; background: radial-gradient(circle at 77% 32%, rgba(44,183,127,.2), transparent 25%), linear-gradient(145deg, #0f2c22 0%, #123d2d 55%, #0b251c 100%); color: white; }
.login-brand { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; }
.login-brand > div { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #27b979; box-shadow: 0 10px 25px rgba(39,185,121,.25); }
.login-brand strong, .login-brand small { display: block; font-family: "Manrope", sans-serif; line-height: 1; }
.login-brand strong { font-size: 18px; letter-spacing: .14em; }
.login-brand small { margin-top: 4px; color: #89b6a5; font-size: 7px; font-weight: 700; letter-spacing: .32em; }
.login-story-copy { position: relative; z-index: 2; margin: auto 0; }
.login-kicker { color: #4dd297; font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.login-story-copy h1 { margin: 15px 0 0; font: 700 clamp(31px, 3.2vw, 49px)/1.1 "Manrope", sans-serif; letter-spacing: -.05em; }
.login-story-copy > p { max-width: 470px; margin: 18px 0 0; color: #a8c0b7; font-size: 13px; line-height: 1.7; }
.login-benefits { margin-top: 30px; display: flex; flex-direction: column; gap: 12px; }
.login-benefits span { display: flex; align-items: center; gap: 9px; color: #d5e5de; font-size: 11px; }
.login-benefits svg { padding: 2px; border-radius: 50%; background: #2ab779; color: white; }
.login-story-footer { position: relative; z-index: 2; display: flex; align-items: center; gap: 8px; color: #79978c; font-size: 9px; }
.login-story-footer i { width: 7px; height: 7px; border-radius: 50%; background: #2cc384; box-shadow: 0 0 0 5px rgba(44,195,132,.1); }
.login-orbit { position: absolute; border: 1px solid rgba(95,218,166,.12); border-radius: 50%; }
.orbit-one { width: 440px; height: 440px; right: -240px; top: 13%; }
.orbit-two { width: 650px; height: 650px; right: -340px; top: 3%; }
.login-panel { min-height: 100vh; padding: 42px; display: grid; place-items: center; }
.login-box { width: min(390px, 100%); }
.login-box h2 { margin: 7px 0 0; font: 700 27px/1.2 "Manrope", sans-serif; letter-spacing: -.04em; }
.login-box > p { margin: 8px 0 26px; color: #7c8983; font-size: 11px; }
.login-box form > label { display: block; margin-top: 15px; color: #53625a; font-size: 9px; font-weight: 700; }
.login-input { height: 43px; margin-top: 7px; padding: 0 11px; display: flex; align-items: center; gap: 8px; border: 1px solid #dce4e0; border-radius: 9px; color: #7d8b84; transition: .16s ease; }
.login-input:focus-within { border-color: #35a978; box-shadow: 0 0 0 3px rgba(53,169,120,.1); color: #27815d; }
.login-input input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #1b2b23; font-size: 11px; }
.login-input button { width: 28px; height: 28px; display: grid; place-items: center; border: 0; background: transparent; color: #87948e; }
.login-error { margin-top: 12px; padding: 9px 10px; display: flex; align-items: center; gap: 7px; border-radius: 8px; background: #fff0ef; color: #b94d47; font-size: 9px; font-weight: 600; }
.login-submit { width: 100%; height: 43px; margin-top: 19px; padding: 0 13px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 9px; background: #14875a; color: white; font-size: 10px; font-weight: 800; box-shadow: 0 8px 19px rgba(20,135,90,.2); }
.login-submit svg { margin-left: auto; }
.login-submit:disabled { opacity: .6; cursor: wait; }
.demo-divider { margin: 25px 0 13px; display: flex; align-items: center; gap: 10px; color: #9aa59f; font-size: 8px; }
.demo-divider::before, .demo-divider::after { content: ""; flex: 1; height: 1px; background: #e5e9e7; }
.demo-accounts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.demo-accounts > button { position: relative; min-width: 0; padding: 8px; display: flex; align-items: center; gap: 7px; border: 1px solid #e1e7e4; border-radius: 9px; background: white; color: #26372f; text-align: left; }
.demo-accounts > button.selected { border-color: #2e9c6c; background: #f2faf6; }
.demo-accounts button > div { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; }
.demo-accounts .green { background: #e5f5ed; color: #20825b; }
.demo-accounts .amber { background: #fff2dc; color: #ad7416; }
.demo-accounts .blue { background: #e8f0f8; color: #39739c; }
.demo-accounts button > span { min-width: 0; }
.demo-accounts strong, .demo-accounts small { display: block; }
.demo-accounts strong { font-size: 8px; }
.demo-accounts small { margin-top: 2px; color: #8b9791; font-size: 6px; }
.demo-accounts button > svg { position: absolute; right: 5px; top: 5px; color: #23905f; }
.demo-note { display: block; margin-top: 11px; color: #89958f; font-size: 8px; text-align: center; }

.settings-page { min-height: 100vh; padding: 38px 22px; background: #f3f6f4; color: #203128; }
.settings-shell { width: min(880px, 100%); margin: 0 auto; }
.settings-back { width: max-content; margin-bottom: 25px; display: flex; align-items: center; gap: 7px; color: #4c6257; font-size: 10px; font-weight: 700; }
.settings-shell > header h1 { margin: 5px 0 7px; font: 800 29px/1.1 "Manrope", sans-serif; letter-spacing: -.04em; }
.settings-shell > header p { margin: 0; color: #74827b; font-size: 10px; }
.settings-grid { margin-top: 25px; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; align-items: start; }
.profile-card, .password-card { border: 1px solid #e0e7e3; border-radius: 15px; background: white; box-shadow: 0 9px 25px rgba(33, 60, 48, .05); }
.profile-card { padding: 18px; display: grid; grid-template-columns: 45px 1fr auto; gap: 11px; align-items: center; }
.settings-avatar { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 13px; background: #e3f5ec; color: #16794f; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.profile-card div:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.profile-card strong { font-size: 11px; }
.profile-card span, .profile-card small { overflow: hidden; color: #7e8b85; font-size: 8px; text-overflow: ellipsis; }
.profile-card > svg { color: #26986a; }
.password-card { padding: 21px; display: grid; gap: 13px; }
.password-heading { margin-bottom: 2px; display: flex; gap: 10px; align-items: center; }
.password-heading > div { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #ecf7f1; color: #278b62; }
.password-heading span { display: grid; gap: 3px; }
.password-heading strong { font-size: 12px; }
.password-heading small { color: #85928c; font-size: 8px; }
.password-card label { display: grid; gap: 6px; color: #596860; font-size: 9px; font-weight: 700; }
.password-card input { height: 40px; padding: 0 11px; border: 1px solid #dce4e0; border-radius: 9px; outline: 0; color: #23342b; }
.password-card input:focus { border-color: #2a9a6c; box-shadow: 0 0 0 3px rgba(42, 154, 108, .1); }
.password-visibility { width: max-content; padding: 0; display: flex; align-items: center; gap: 6px; border: 0; background: transparent; color: #66766e; font-size: 8px; }
.settings-result { padding: 10px 11px; display: flex; align-items: center; gap: 7px; border-radius: 9px; font-size: 9px; }
.settings-result.success { background: #e9f7f0; color: #247958; }
.settings-result.error { background: #fff0ef; color: #b54c46; }
.settings-submit { height: 41px; border: 0; border-radius: 9px; background: #16875b; color: white; font-size: 9px; font-weight: 800; }
.settings-submit:disabled { opacity: .6; cursor: wait; }

@media (max-width: 800px) {
  .login-page { grid-template-columns: 1fr; }
  .login-story { min-height: 285px; padding: 28px; }
  .login-story-copy { margin: 42px 0 30px; }
  .login-story-copy h1 { font-size: 30px; }
  .login-benefits, .login-story-footer { display: none; }
  .login-panel { min-height: auto; padding: 35px 22px 50px; }
  .settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .login-story { min-height: 250px; padding: 22px; }
  .login-story-copy { margin-top: 32px; }
  .login-story-copy h1 { font-size: 27px; }
  .login-story-copy > p { font-size: 10px; }
  .demo-accounts { grid-template-columns: 1fr; }
}

/* iOS ana-ekran PWA: form her zaman dokunulabilir ve klavye odaklanabilir kalır. */
@media (display-mode: standalone) and (max-width: 800px) {
  .login-page { min-height: 100dvh; display: block; overflow: auto; background: var(--background,#fff); }
  .login-story { display: none; }
  .login-panel { position: relative; z-index: 10; min-height: 100dvh; padding: max(72px,calc(env(safe-area-inset-top) + 52px)) 22px max(34px,env(safe-area-inset-bottom)); display: grid; place-items: center; pointer-events: auto; }
  .login-box, .login-box form, .login-box label, .login-input, .login-input input { position: relative; z-index: 1; pointer-events: auto; }
  .login-input { min-height: 52px; height: 52px; cursor: text; touch-action: manipulation; }
  .login-input svg { pointer-events: none; }
  .login-input input { width: 100%; min-height: 44px; font-size: 16px !important; line-height: 1.2; -webkit-user-select: text; user-select: text; touch-action: auto; -webkit-appearance: none; }
}

@media (max-width: 980px) {
  .dispatch-layout { grid-template-columns: 290px minmax(0, 1fr); }
  .candidate-list { grid-template-columns: 1fr 1fr; }
  .candidate-list > button:last-child { display: none; }
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .ops-sidebar { display: none; }
  .ops-main { width: 100%; margin-left: 0; }
  .ops-stats { grid-template-columns: 1fr 1fr; }
  .dispatch-layout { height: auto; grid-template-columns: 1fr; }
  .dispatch-orders { height: 440px; }
  .dispatch-map-panel { min-height: 610px; }
  .dispatch-map-panel.quick-mode { min-height: 430px; }
  .quick-assign-summary { grid-template-columns: 1fr; }
  .courier-task-list { grid-template-columns: 1fr; }
}

/* Dükkan bağlantıları artık dükkan ayarlarının içinde yönetim özeti olarak görünür. */
.shop-settings-dialog { width: min(780px,calc(100vw - 24px)); }
.admin-shop-settings-section { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-shop-settings-section h3 { margin-top: 3px; color: #203e33; font-size: 15px; }
.admin-shop-settings-section > span { color: #587066; font-size: 11px; font-weight: 800; }
.admin-shop-connections { margin-top: 18px; padding-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; border-top: 1px solid #e2ebe6; }
.admin-shop-connections > .admin-shop-settings-section,.admin-shop-connections > .admin-official-pending,.admin-shop-connections > .admin-connection-note { grid-column: 1 / -1; }
.admin-shop-connections .admin-connection-cell { min-height: 72px; }
.admin-connection-note { margin: 1px 0 0; padding: 9px 10px; display: flex; align-items: center; gap: 7px; border-radius: 9px; background: #eef7f2; color: #41665a; font-size: 10px; }
.admin-shop-row-actions .shop-settings-button { padding: 8px 10px; border-color: #bddbcd; background: #eaf6f0; color: #156c4d; font-size: 11px; }

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-map-couriers { right: 8px; left: 8px; width: auto; max-height: 174px; padding: 10px; }
  .admin-map-couriers .candidate-list { max-height: 105px; display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; }
  .admin-map-couriers .candidate-list > button,.admin-map-couriers .candidate-list > button:nth-child(n+3) { width: min(285px,82vw); height: 68px; display: flex; flex: 0 0 auto; scroll-snap-align: start; }
  .admin-map-couriers .candidate-package-summary { max-width: 145px; }
}

/* Tema, erişilebilirlik ve hızlı çizim altyapısı */
.theme-toggle {
  width: 36px; height: 36px; flex: 0 0 auto; padding: 0; display: inline-grid; place-items: center;
  border: 1px solid var(--line); border-radius: 10px; background: #fff; color: #50645b;
  box-shadow: 0 4px 14px rgba(19,48,36,.06); cursor: pointer;
}
.theme-toggle > span { display: none; }
.theme-toggle:hover { border-color: #96b8a8; color: #167653; }
.sidebar-theme-toggle { width: 29px; height: 29px; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.06); color: #a9beb5; box-shadow: none; }
.sidebar-theme-toggle:hover { color: #fff; background: rgba(255,255,255,.1); }
.shop-shell-mobile-bar > .theme-toggle { margin-left: auto; }
.login-panel { position: relative; }
.login-theme-toggle { position: absolute; top: max(18px,env(safe-area-inset-top)); right: 20px; }
.settings-top-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.client-launcher-card { position: relative; }
.client-launcher-theme { position: absolute; top: 16px; right: 16px; }
.tracking-header-actions { display: flex; align-items: center; gap: 10px; }
.brand strong, .brand span, .login-brand strong, .login-brand small, .courier-brand strong, .courier-brand small,
h1, h2, h3, .order-footer strong, .platform-logo, .ops-stats strong, .dispatch-card > strong,
.courier-summary strong, .courier-today strong, .client-test-code strong, .nova-permanent-map-label {
  font-family: var(--font-display);
}
.tracking-header .theme-toggle { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.09); color: #fff; box-shadow: none; }
.order-card, .admin-shops-list article, .admin-courier-list article, .report-panel, .shop-integration-card {
  content-visibility: auto; contain-intrinsic-size: auto 260px;
}


@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  input, select, textarea { font-size: 16px !important; }
  .theme-toggle { width: 40px; height: 40px; }
  .sidebar-theme-toggle { width: 36px; height: 36px; }
  .admin-mobile-nav .mobile-nav-theme { width: auto; height: 100%; flex: 1; display: flex; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #87958e; }
  .admin-mobile-nav .mobile-nav-theme > span { display: block; font-size: 8px; font-weight: 800; }
  .admin-mobile-nav .mobile-nav-theme svg { width: 20px; }
  .tracking-header-actions > small { display: none; }
}

@media (pointer: coarse) {
  button, a, select { touch-action: manipulation; }
  .order-actions button, .filter-tabs button, .range-switch button { min-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 600px) {
  .admin-shop-connections { grid-template-columns: 1fr; }
  .admin-shop-connections > .admin-shop-settings-section,.admin-shop-connections > .admin-official-pending,.admin-shop-connections > .admin-connection-note { grid-column: 1; }
}

/* Dükkan sipariş kartı: kurye süreci tek bakışta */
.shop-courier-progress { margin: 10px 12px 0; padding: 10px 11px; display: flex; align-items: center; gap: 9px; border-radius: 10px; background: #f2f6f4; color: #52675e; }
.shop-courier-progress > div { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(23,52,41,.07); }
.shop-courier-progress > span { min-width: 0; flex: 1; }
.shop-courier-progress strong, .shop-courier-progress small { display: block; }
.shop-courier-progress strong { font-size: 11px; line-height: 1.3; }
.shop-courier-progress small { margin-top: 2px; overflow: hidden; color: currentColor; opacity: .72; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.shop-courier-progress em { padding: 4px 7px; border-radius: 99px; background: rgba(255,255,255,.75); font-size: 8px; font-style: normal; font-weight: 900; }
.shop-courier-progress.waiting { background: #fff6e5; color: #856019; }
.shop-courier-progress.assigned { background: #eef2ff; color: #425fa4; }
.shop-courier-progress.coming { background: #e9f2ff; color: #2865ad; }
.shop-courier-progress.picked { background: #e8f7ef; color: #177451; }
.shop-courier-progress.route { background: #e4f5ff; color: #176b9b; }
.shop-courier-progress.failed { background: #fff0ed; color: #a84337; }

/* Dükkan canlı haritası */
.shop-map-page { position: relative; height: calc(100dvh - 78px); min-height: 610px; overflow: hidden; background: #e8eee9; }
.shop-full-live-map, .shop-full-live-map .live-route-map-canvas { width: 100%; height: 100%; min-height: 100%; }
.shop-map-floating-panel { position: absolute; z-index: 600; top: 18px; bottom: 18px; left: 18px; width: 350px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(214,226,220,.95); border-radius: 16px; background: rgba(255,255,255,.95); box-shadow: 0 18px 48px rgba(22,45,36,.18); backdrop-filter: blur(14px); }
.shop-map-floating-panel > header { min-height: 68px; padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e5ece8; }
.shop-map-floating-panel > header strong, .shop-map-floating-panel > header span { display: block; }
.shop-map-floating-panel > header strong { margin-top: 4px; font-size: 14px; }
.shop-map-live { padding: 6px 9px; display: flex !important; align-items: center; gap: 6px; border-radius: 99px; background: #e8f7ef; color: #167652; font-size: 9px; font-weight: 900; }
.shop-map-live i { width: 7px; height: 7px; border-radius: 50%; background: #21ad72; box-shadow: 0 0 0 4px rgba(33,173,114,.12); }
.shop-map-order-list { min-height: 0; flex: 1; padding: 9px; overflow-y: auto; }
.shop-map-order-list > button { width: 100%; min-height: 66px; margin-bottom: 7px; padding: 10px 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid #e3eae6; border-radius: 10px; background: #fff; color: #20382e; text-align: left; }
.shop-map-order-list > button:hover, .shop-map-order-list > button.selected { border-color: #70ae93; background: #f2faf6; box-shadow: 0 4px 12px rgba(24,79,56,.08); }
.shop-map-order-list button div { min-width: 0; }
.shop-map-order-list button strong, .shop-map-order-list button span { display: block; }
.shop-map-order-list button strong { font-size: 12px; }
.shop-map-order-list button span { margin-top: 3px; overflow: hidden; color: #78877f; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.shop-map-order-list button > small { max-width: 145px; padding: 5px 7px; border-radius: 7px; background: #f1f4f2; color: #5e7168; font-size: 8px; font-weight: 850; line-height: 1.3; text-align: right; }
.shop-map-order-list button > small.route, .shop-map-order-list button > small.coming { background: #e8f2ff; color: #2965a9; }
.shop-map-order-list button > small.picked { background: #e8f7ef; color: #177451; }
.shop-map-order-list button > small.failed { background: #fff0ed; color: #a84337; }
.shop-map-empty { height: 100%; min-height: 230px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; color: #91a099; text-align: center; }
.shop-map-empty strong { color: #53675e; font-size: 12px; }.shop-map-empty span { font-size: 10px; }
.shop-map-current-state { margin: 0 9px 9px; padding: 11px; display: flex; align-items: center; gap: 9px; border-radius: 11px; background: #edf5ff; color: #245f9d; }
.shop-map-courier-avatar { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: #2877e8; color: #fff; }
.shop-map-current-state > span { min-width: 0; flex: 1; }.shop-map-current-state small, .shop-map-current-state strong { display: block; }.shop-map-current-state small { opacity: .7; font-size: 7px; font-weight: 900; letter-spacing: .1em; }.shop-map-current-state strong { margin-top: 3px; font-size: 11px; }.shop-map-current-state p { margin: 2px 0 0; overflow: hidden; opacity: .75; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.shop-map-current-state > a { padding: 7px 9px; border-radius: 8px; background: #fff; color: inherit; font-size: 9px; font-weight: 900; text-decoration: none; }
.shop-map-page .route-info-pill { top: 18px; left: 386px; }.shop-map-page .map-legend { right: 18px; bottom: 18px; }

/* Admin canlı operasyon: harita ana yüzey, kontroller yüzen katmanlar */
.admin-map-main { position: relative; height: calc(100dvh - var(--app-banner-height, 0px)); min-height: 0 !important; overflow: hidden; background: #dfe8e2; }
.admin-map-topbar { position: absolute; z-index: 850; top: 14px; right: 14px; left: 14px; height: 60px; padding: 0 18px; border: 1px solid rgba(216,227,221,.95); border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 10px 32px rgba(22,45,36,.14); backdrop-filter: blur(14px); }
.admin-map-content { position: absolute; inset: 0; padding: 0 !important; }
.admin-map-layout { position: absolute; inset: 0; height: 100%; min-height: 0; margin: 0; display: block; }
.admin-map-canvas { position: absolute; inset: 0; display: block; overflow: hidden; border: 0; border-radius: 0; background: #e4ebe7; box-shadow: none; }
.admin-full-live-map, .admin-full-live-map .live-route-map-canvas { width: 100%; height: 100%; min-height: 100%; border: 0; }
.admin-map-orders { position: absolute; z-index: 720; top: 142px; bottom: 18px; left: 16px; width: 350px; overflow: hidden; border: 1px solid rgba(215,226,220,.96); border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 15px 42px rgba(22,45,36,.17); backdrop-filter: blur(13px); }
.admin-map-orders .dispatch-list { height: calc(100% - 66px); }
.admin-map-stats { position: absolute; z-index: 730; top: 84px; right: 16px; left: 378px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; pointer-events: none; }
.admin-map-stats > div { min-height: 48px; padding: 7px 10px; display: grid; grid-template-columns: 1fr auto; align-items: center; border-color: rgba(215,226,220,.96); border-radius: 11px; background: rgba(255,255,255,.94); box-shadow: 0 8px 23px rgba(22,45,36,.1); backdrop-filter: blur(12px); }
.admin-map-stats span { grid-column: 1; font-size: 9px; }.admin-map-stats strong { grid-column: 2; grid-row: 1 / 3; margin: 0; font-size: 19px; }.admin-map-stats small { grid-column: 1; margin: 2px 0 0; font-size: 8px; }
.admin-map-toolbar { position: absolute; z-index: 720; top: 142px; left: 378px; min-width: 240px; min-height: 52px; padding: 8px 12px; border: 1px solid rgba(215,226,220,.96); border-radius: 12px; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(22,45,36,.12); backdrop-filter: blur(12px); }
.admin-route-plan { position: absolute; z-index: 720; top: 204px; left: 378px; min-width: 320px; min-height: 54px; padding: 9px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(193,214,204,.96); border-radius: 12px; background: rgba(255,255,255,.95); color: #21664c; box-shadow: 0 8px 24px rgba(22,45,36,.12); backdrop-filter: blur(12px); }
.admin-route-plan > span { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 2px; }.admin-route-plan strong { overflow: hidden; color: #173a32; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.admin-route-plan small { color: #61776d; font-size: 8px; }.admin-route-plan > b { padding: 5px 7px; border-radius: 7px; background: #e9f5ef; color: #176f50; font-size: 9px; white-space: nowrap; }
.admin-map-couriers { position: absolute; z-index: 720; right: 18px; bottom: 18px; width: min(590px,calc(100% - 410px)); padding: 13px; overflow: hidden; border: 1px solid rgba(215,226,220,.96); border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 16px 45px rgba(22,45,36,.18); backdrop-filter: blur(14px); }
.admin-map-couriers .candidate-list > button { background: rgba(255,255,255,.9); }
.admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { top: 204px; left: 710px; }
.admin-map-canvas > .map-legend { right: 18px; bottom: 260px; }

@media (max-width: 1120px) {
  .admin-map-orders { width: 315px; }.admin-map-stats { left: 343px; }.admin-map-toolbar, .admin-route-plan { left: 343px; }.admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { left: 675px; }.admin-map-couriers { width: 390px; }.admin-map-couriers .candidate-list { grid-template-columns: 1fr; }.admin-map-couriers .candidate-list > button { height: 54px; }
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .shop-map-page { height: calc(100dvh - 78px); min-height: 540px; }.shop-map-floating-panel { top: auto; right: 10px; bottom: 10px; left: 10px; width: auto; max-height: 43%; }.shop-map-order-list { min-height: 120px; }.shop-map-current-state { flex: 0 0 auto; }.shop-map-page .route-info-pill { top: 12px; left: 50px; }.shop-map-page .map-legend { top: 12px; right: 10px; bottom: auto; }
  .admin-map-main { height: calc(100dvh - 66px - var(--app-banner-height, 0px)); min-height: 0 !important; padding-bottom: 0 !important; }.admin-map-topbar { top: 8px; right: 8px; left: 8px; height: 56px; padding: 0 11px; }.admin-map-topbar h1 { font-size: 15px; }.admin-map-topbar .live-operation, .admin-map-topbar .shift-admin-shortcut { display: none; }.admin-map-stats { top: 72px; right: 8px; left: 8px; grid-template-columns: repeat(4,1fr); }.admin-map-stats > div { min-width: 0; padding: 6px; }.admin-map-stats small { display: none; }.admin-map-stats span { overflow: hidden; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }.admin-map-stats strong { font-size: 16px; }.admin-map-orders { top: auto; right: 8px; bottom: 8px; left: 8px; width: auto; height: min(245px,31%); }.admin-map-orders .panel-heading { height: 52px; }.admin-map-orders .dispatch-list { height: calc(100% - 52px); }.admin-map-toolbar { top: 127px; left: 8px; min-width: 210px; min-height: 46px; }.admin-route-plan { top: 181px; left: 8px; min-width: 270px; }.admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { top: 241px; left: 8px; }.admin-map-couriers { right: 8px; bottom: calc(min(245px,31%) + 18px); width: min(310px,calc(100% - 16px)); max-height: min(192px,25%); }.admin-map-couriers .candidate-list { grid-template-columns: 1fr; }.admin-map-couriers .candidate-list > button:nth-child(n+3) { display: none; }.admin-map-canvas > .map-legend { right: 8px; bottom: calc(min(245px,31%) + min(192px,25%) + 30px); }
}

@media (max-width: 480px) {
  .shop-map-floating-panel > header { min-height: 58px; }.shop-map-order-list > button { min-height: 58px; }.shop-map-current-state { padding: 8px; }
  .admin-map-topbar .eyebrow { display: none; }.admin-map-top-actions { gap: 5px; }.admin-map-couriers { width: 260px; }.admin-map-couriers .candidate-title span { display: none; }
}

@media (max-width: 520px) {
  .ops-content { padding: 16px 13px 25px; }
  .ops-topbar { padding: 0 14px; }
  .ops-topbar h1 { font-size: 15px; }
  .ops-stats { gap: 7px; }
  .ops-stats > div { padding: 10px; }
  .dispatch-map-panel { grid-template-rows: 50px 300px auto; }
  .dispatch-map-panel.quick-mode { min-height: 0; grid-template-rows: 58px auto auto; }
  .map-toolbar { padding: 0 10px; }
  .map-toolbar strong { max-width: 175px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .quick-assign-summary { padding: 10px; }
  .candidate-list { grid-template-columns: 1fr; }
  .candidate-list > button:last-child { display: flex; }
  .courier-app > main { padding: 20px 13px 100px; }
  .courier-header { padding: 0 13px; }
  .courier-speed-status { grid-template-columns: 90px minmax(0, 1fr); }
  .route-start-bar { bottom: 71px; }
}


/* Parolasız giriş ve sade hesap yönetimi */
.login-change-phone,.login-resend{border:0;background:transparent;color:#187653;font-weight:800}.login-change-phone{margin:-4px 0 12px;padding:0;display:flex;align-items:center;gap:5px;font-size:11px}.login-resend{width:100%;margin-top:12px;padding:8px;font-size:11px}.login-resend:disabled{color:#98a59f;cursor:not-allowed}.login-code-input input{font-size:21px;letter-spacing:.28em;font-weight:800;text-align:center}.login-dev-code{margin-top:10px;padding:9px 11px;border-radius:8px;background:#fff7df;color:#795713;font-size:11px;text-align:center}.login-security-note{margin-top:22px;padding:12px;display:flex;align-items:flex-start;gap:9px;border-radius:10px;background:#eff7f3;color:#567168;font-size:11px;line-height:1.45}.login-security-note svg{flex:0 0 auto;color:#18805a}.sms-security-card{display:flex;flex-direction:column;gap:16px}.settings-phone-row{padding:14px;display:flex;align-items:center;gap:11px;border:1px solid #dce7e2;border-radius:11px;background:#f7faf8;color:#176b4d}.settings-phone-row>span{display:flex;flex-direction:column;gap:3px}.settings-phone-row small{color:#7c8b84;font-size:10px}.settings-phone-row strong{font-size:15px}.sms-security-card>p{margin:0;color:#697b73;font-size:12px;line-height:1.55}
.admin-shops-list article.disabled,.admin-courier-list article.disabled{opacity:.7;background:#f8f9f8}.admin-shop-row-actions,.courier-row-actions{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.admin-shop-row-actions a,.admin-shop-row-actions button,.courier-row-actions button,.account-toggle{border:0;background:transparent;color:#176b4d;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}.admin-shop-row-actions button,.courier-row-actions button,.account-toggle{padding:6px 8px;display:flex;align-items:center;gap:4px;border:1px solid #d7e4de;border-radius:7px;background:#fff}.admin-courier-list{max-width:1060px;margin:0 auto;padding:0 20px;display:grid;gap:10px}.admin-courier-list article{padding:14px;display:grid;grid-template-columns:42px minmax(180px,1fr) minmax(160px,.55fr) auto;align-items:center;gap:13px;border:1px solid #dce6e1;border-radius:12px;background:#fff}.courier-account-state{display:flex;align-items:center;gap:8px;color:#177653}.courier-account-state>span{display:flex;flex-direction:column;gap:2px}.courier-account-state strong{font-size:11px}.courier-account-state small{font-size:10px;color:#87948f}.admin-account-empty{max-width:1060px;margin:20px auto;padding:35px;display:flex;align-items:center;flex-direction:column;gap:6px;color:#76877f}.admin-account-empty strong{color:#28473b}.admin-account-empty span{font-size:12px}.compact-dialog{width:min(480px,calc(100vw - 24px))}.admin-shop-form-grid.single-column{grid-template-columns:1fr}.admin-shop-form-grid select{height:40px;padding:0 11px;border:1px solid #cfdbd5;border-radius:9px;background:#fff}.admin-mobile-nav a{flex:1;width:auto}
.shop-connection-steps{max-width:1080px;margin:0 auto 14px;padding:0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.shop-connection-steps>div{padding:12px;display:flex;align-items:flex-start;gap:9px;border:1px solid #dfe8e3;border-radius:11px;background:#fff}.shop-connection-steps b{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#e6f5ed;color:#177653;font-size:11px}.shop-connection-steps span{display:flex;flex-direction:column;gap:3px}.shop-connection-steps strong{font-size:11px}.shop-connection-steps small{color:#7b8983;font-size:10px;line-height:1.35}
@media(max-width:800px){.admin-shop-row-actions{grid-column:3;grid-row:1/4}.admin-courier-list article{grid-template-columns:42px 1fr auto}.courier-account-state{grid-column:2}.admin-courier-list .courier-row-actions{grid-column:3;grid-row:1/3}}
@media(max-width:680px){.shop-connection-steps{padding:0 14px;grid-template-columns:1fr}}
@media(max-width:560px){.admin-shop-row-actions{grid-column:2;grid-row:auto;align-items:flex-start}.admin-courier-list{padding:0 14px}.admin-courier-list article{grid-template-columns:38px 1fr}.admin-courier-list .courier-row-actions{grid-column:2;grid-row:auto;align-items:flex-start}}

/* Geliştirici test merkezi */
.developer-shell{min-height:100vh;padding-bottom:45px;background:#f3f6f4;color:#18352c}.developer-mark{background:#6d4bd1}.developer-heading{max-width:1180px;margin:0 auto;padding:28px 20px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.developer-heading h1{margin:4px 0;font-size:28px}.developer-heading p{margin:0;color:#718079;font-size:13px}.developer-lock{padding:11px 13px;display:flex;align-items:center;gap:9px;border:1px solid #ded7f4;border-radius:11px;background:#f8f5ff;color:#6848bf}.developer-lock span{display:flex;flex-direction:column;gap:2px}.developer-lock strong{font-size:11px}.developer-lock small{font-size:9px;color:#8576ae}.developer-grid{max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:12px}.developer-side{display:grid;align-content:start;gap:12px}.developer-card{padding:17px;border:1px solid #dce6e1;border-radius:14px;background:#fff}.developer-card>header{margin-bottom:15px;display:flex;align-items:center;gap:10px}.developer-card>header>div{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eee9fb;color:#6848bf}.developer-card>header>span{display:flex;flex-direction:column;gap:3px}.developer-card>header strong{font-size:14px}.developer-card>header small{color:#7d8b84;font-size:10px}.developer-platforms{margin-bottom:14px;display:flex;gap:6px;flex-wrap:wrap}.developer-platforms button{padding:7px 9px;border:1px solid #dce5e1;border-radius:8px;background:#f8faf9;color:#64756d;font-size:10px;font-weight:800}.developer-platforms button.active{border-color:#6848bf;background:#eee9fb;color:#5b3db0}.developer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.developer-form-grid label,.developer-card form>label{display:flex;flex-direction:column;gap:5px;color:#53675e;font-size:11px;font-weight:800}.developer-form-grid label.wide{grid-column:1/-1}.developer-form-grid label span small{margin-left:4px;color:#89968f;font-weight:500}.developer-form-grid input,.developer-form-grid select,.developer-form-grid textarea,.developer-card form>label input,.developer-card form>label textarea{width:100%;padding:9px 10px;border:1px solid #d3ded8;border-radius:9px;background:#fff;color:#20372d;font-size:12px}.developer-form-grid input,.developer-form-grid select,.developer-card form>label input{height:40px}.developer-form-grid textarea,.developer-card form>label textarea{resize:vertical;line-height:1.4}.developer-map{margin-top:14px}.developer-map>strong{margin-bottom:7px;display:flex;align-items:center;gap:6px;font-size:11px}.developer-map .location-picker{min-height:280px}.developer-map .location-picker-canvas{height:280px}.developer-primary,.developer-secondary{min-height:42px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;background:#6848bf;color:#fff;font-size:11px;font-weight:900}.developer-order-card>.developer-primary,.developer-order-card form>.developer-primary{width:100%;margin-top:12px}.developer-primary:disabled,.developer-secondary:disabled{opacity:.5;cursor:not-allowed}.developer-secondary{width:100%;background:#eff6f2;color:#187653;border:1px solid #d6e6de}.developer-created{margin-top:10px;padding:10px;display:flex;align-items:center;gap:8px;border-radius:9px;background:#ebf7f1;color:#177653}.developer-created>span{display:flex;flex-direction:column}.developer-created strong{font-size:11px}.developer-created small{font-size:9px}.developer-created a{margin-left:auto;color:#176b4d;font-size:10px;font-weight:800}.developer-provider-state{margin-bottom:13px;padding:10px;display:flex;align-items:center;gap:8px;border-radius:9px}.developer-provider-state.ready{background:#e9f7f0;color:#177653}.developer-provider-state.missing{background:#fff5e6;color:#8b621c}.developer-provider-state span{display:flex;flex-direction:column;gap:2px}.developer-provider-state strong{font-size:10px}.developer-provider-state small{font-size:9px}.developer-card form{display:grid;gap:10px}.developer-empty{padding:35px;display:flex;align-items:center;flex-direction:column;gap:8px;color:#74857d}.developer-empty a{color:#177653;font-weight:800;font-size:11px}
@media(max-width:900px){.developer-grid{grid-template-columns:1fr}.developer-side{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.developer-heading{padding:22px 14px 15px;align-items:flex-start;flex-direction:column}.developer-lock{width:100%}.developer-grid{padding:0 14px}.developer-side{grid-template-columns:1fr}.developer-form-grid{grid-template-columns:1fr}.developer-form-grid label.wide{grid-column:auto}}

/* Kurye vardiyası, mola ve çalışma durumu */
.shift-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.input-with-unit{position:relative}.input-with-unit input{padding-right:38px}.input-with-unit b{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#87958e;font-size:10px}.shift-rule-note{padding:11px;display:flex;align-items:flex-start;gap:8px;border-radius:9px;background:#fff7e8;color:#76551c;font-size:10px;line-height:1.45}.shift-rule-note svg{flex:0 0 auto}.courier-work-card{margin-bottom:12px;padding:12px;display:grid;grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:12px;border:1px solid #dce6e1;border-radius:13px;background:#fff}.courier-work-state,.courier-break-balance{display:flex;align-items:center;gap:9px}.courier-work-state>i{width:10px;height:10px;border-radius:50%;background:#9aa7a1;box-shadow:0 0 0 4px #eef1ef}.courier-work-card.online .courier-work-state>i{background:#21a66c;box-shadow:0 0 0 4px #e4f5ec}.courier-work-card.busy .courier-work-state>i{background:#2877e8;box-shadow:0 0 0 4px #e7f0fd}.courier-work-card.on-break .courier-work-state>i{background:#e39a28;box-shadow:0 0 0 4px #fff2dc}.courier-work-state>span,.courier-break-balance>span{display:flex;flex-direction:column;gap:2px}.courier-work-state strong{font-size:12px}.courier-work-state small,.courier-break-balance small{color:#7d8c85;font-size:9px}.courier-break-balance{padding:7px 9px;border-radius:9px;background:#f6f8f7;color:#5d7168}.courier-break-balance strong{font-size:13px}.courier-work-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.courier-work-actions button{min-height:38px;padding:0 10px;display:flex;align-items:center;gap:6px;border:1px solid #d5e2dc;border-radius:9px;background:#fff;color:#496258;font-size:10px;font-weight:900}.courier-work-actions .go-online{border-color:#bce3d0;background:#e9f7f0;color:#187653}.courier-work-actions .start-break{border-color:#f0d8ad;background:#fff6e6;color:#8a5e18}.courier-work-actions .go-offline{border-color:#ead1cc;color:#9d4e3f}.courier-work-actions button:disabled{opacity:.45}.work-locked{max-width:220px;display:flex;align-items:center;gap:6px;color:#6f7f77;font-size:9px;line-height:1.35}.candidate-avatar svg{color:#fff}.courier-account-state>span{min-width:0}.courier-account-state small{white-space:normal;line-height:1.35}
.shift-admin-shortcut{min-height:36px;padding:0 10px;display:flex;align-items:center;gap:6px;border:1px solid #cfe2d8;border-radius:9px;background:#edf8f2;color:#176f51;font-size:10px;font-weight:900;text-decoration:none}.shift-management-guide{max-width:1060px;margin:0 auto 12px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid #cfe3d9;border-radius:12px;background:#eef8f3;color:#197653}.shift-management-guide>div{display:flex;flex-direction:column;gap:2px}.shift-management-guide strong{font-size:12px}.shift-management-guide span{color:#668077;font-size:10px}.shift-management-guide>svg:last-child{margin-left:auto}.courier-row-actions .shift-edit-button{border-color:#b9ddcc;background:#eaf7f0;color:#146e4e;font-size:11px}
@media(max-width:720px){.courier-work-card{grid-template-columns:1fr auto}.courier-work-actions{grid-column:1/-1;justify-content:stretch}.courier-work-actions button{flex:1;justify-content:center}}
@media(max-width:480px){.shift-time-grid{grid-template-columns:1fr}.courier-work-card{grid-template-columns:1fr}.courier-break-balance{width:max-content}.courier-work-actions{grid-column:auto;flex-direction:column}.courier-work-actions button{width:100%}}

/* Gerçek, sade teslimat haritası */
.live-route-map { position: relative; min-height: 300px; overflow: hidden; background: #e8eee9; isolation: isolate; }
.live-route-map-canvas { position: absolute; inset: 0; z-index: 0; min-height: 300px; }
.live-route-map .leaflet-control-zoom { border: 0; box-shadow: 0 4px 15px rgba(25,45,36,.16); }
.live-route-map .leaflet-control-zoom a { color: #173a32; border-color: #edf1ef; }
.live-route-map .leaflet-control-attribution { font-size: 8px; }
.nova-leaflet-icon { border: 0 !important; background: transparent !important; }
.nova-leaflet-icon > span { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 3px solid white; border-radius: 12px; box-shadow: 0 4px 14px rgba(20,44,34,.25); color: white; }
.nova-leaflet-icon > span.shop { background: #34495e; }
.nova-leaflet-icon > span.customer { background: #e85d3f; border-radius: 50%; }
.nova-leaflet-icon > span.courier { background: #2877e8; border-radius: 50%; }
.nova-leaflet-icon > span svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nova-leaflet-icon > span > b { position: absolute; top: -8px; right: -8px; min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; border: 2px solid white; border-radius: 10px; background: #173a32; color: white; box-shadow: 0 2px 7px rgba(17,42,33,.25); font: 900 9px/1 "Manrope",sans-serif; }
.route-info-pill { position: absolute; z-index: 500; top: 10px; left: 50px; display: flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 10px; background: rgba(255,255,255,.94); box-shadow: 0 4px 15px rgba(25,45,36,.13); color: #173a32; font-size: 10px; }
.route-info-pill span { color: #718079; }
.route-error-pill { position: absolute; z-index: 500; top: 10px; left: 50px; padding: 8px 10px; border-radius: 9px; background: rgba(255,244,237,.95); box-shadow: 0 4px 15px rgba(25,45,36,.1); color: #a6512f; font-size: 9px; font-weight: 800; }
.map-legend { position: absolute; z-index: 500; right: 9px; bottom: 19px; display: flex; gap: 10px; padding: 7px 9px; border-radius: 9px; background: rgba(255,255,255,.92); box-shadow: 0 3px 12px rgba(25,45,36,.1); color: #40534a; font-size: 8px; font-weight: 800; }
.map-legend span { display: flex; align-items: center; gap: 4px; }
.map-legend i { width: 7px; height: 7px; border-radius: 50%; }
.map-legend i.courier { background: #2877e8; }.map-legend i.shop { background: #34495e; }.map-legend i.customer { background: #e85d3f; }
.location-accuracy { padding: 6px 8px; border-radius: 8px; font-weight: 800; }
.location-accuracy.exact { background: #e6f6ed; color: #197450 !important; }
.location-accuracy.missing { background: #fff0e9; color: #a44b27 !important; }
.admin-live-map { min-height: 280px; border-bottom: 1px solid #e4e8e6; }
.courier-location-toggle { margin-left: auto; display: flex; align-items: center; gap: 5px; padding: 7px 9px; border: 1px solid #dce5e0; border-radius: 9px; background: white; color: #738078; font-size: 8px; font-weight: 900; cursor: pointer; }
.courier-location-toggle.active { border-color: #bce5d2; background: #e9f8f0; color: #16875b; }
.courier-location-toggle.error { border-color: #f0cbc3; color: #b24d37; }
.courier-map-card { margin-top: 14px; overflow: hidden; border: 1px solid #dce5e0; border-radius: 13px; background: white; }
.courier-map-card > div:first-child { height: 42px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; }
.courier-map-card > div:first-child strong { font-size: 11px; }
.courier-map-card > div:first-child button { display: flex; align-items: center; gap: 4px; border: 0; background: transparent; color: #718079; font-size: 8px; font-weight: 800; cursor: pointer; }
.courier-live-map { min-height: 330px; }
.map-location-warning { margin: 0; padding: 9px 12px; display: flex; align-items: center; gap: 6px; background: #fff4ed; color: #a6512f; font-size: 9px; font-weight: 700; }
.customer-live-map { min-height: 300px; margin: 18px 0; border: 1px solid #dfe8e3; border-radius: 14px; }

@media (max-width: 700px) {
  .admin-live-map, .courier-live-map { min-height: 300px; }
  .map-legend { left: 8px; right: auto; }
  .location-accuracy { font-size: 7px !important; }
}

/* Okunabilirlik ve ortak panel düzeni */
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(24,135,91,.24); outline-offset: 2px; }
.section-kicker, .eyebrow { font-size: 10px; line-height: 1.3; letter-spacing: .12em; }
.side-nav button, .side-nav a { min-height: 44px; font-size: 13px; }
.side-nav p, .ops-sidebar nav > span { font-size: 10px; }
.sidebar-status div, .sidebar-user strong { font-size: 13px; }.sidebar-status small, .sidebar-user span { font-size: 11px; }
.topbar-title h1, .ops-topbar h1 { font-size: 22px; }.store-live, .live-operation { font-size: 12px; }
.shop-focus-bar p, .page-hero p { font-size: 13px; }.shop-focus-bar > button, .shop-focus-actions button { min-height: 42px; font-size: 12px; }
.shop-focus-actions { display: flex; align-items: center; gap: 8px; }
.shop-focus-actions > button { padding: 0 14px; display: flex; align-items: center; gap: 7px; border: 1px solid #d7e4de; border-radius: 9px; background: #f5faf7; color: #2e6f55; font-weight: 800; white-space: nowrap; }
.shop-focus-actions .manual-order-button { border-color: #16875b; background: #16875b; color: white; }
.filter-tabs button { min-height: 40px; font-size: 12px; }.filter-tabs button b { font-size: 10px; }.search-box { height: 40px; }.search-box input { font-size: 13px; }
.order-platform span { font-size: 11px; }.order-platform strong { font-size: 15px; }.countdown span { font-size: 10px; }.countdown strong { font-size: 14px; }.preparing-badge { font-size: 11px; }
.customer-avatar { width: 34px; height: 34px; font-size: 11px; }.customer-row strong { font-size: 13px; }.customer-row span, .customer-row time { font-size: 11px; }
.items-list { min-height: 132px; }.order-item > b, .order-item strong, .order-contact-info strong { font-size: 13px; }.order-item span, .order-note, .delivery-row span, .order-contact-info small { font-size: 11px; line-height: 1.45; }
.order-footer > div:first-child span { font-size: 10px; }.order-footer > div:first-child strong { font-size: 18px; }.order-actions button, .receipt-button, .tracking-button, .dialog-actions button { min-height: 38px; font-size: 12px; }
.empty-state p, .table-platform span, .connection-badge, .platform-quick-toggle { font-size: 11px; }.table-platform strong { font-size: 13px; }.platform-quick-toggle { min-height: 40px; }
.ops-sidebar { width: 240px; }.ops-main { width: calc(100% - 240px); margin-left: 240px; }.ops-sidebar nav button, .ops-sidebar nav > a { min-height: 44px; font-size: 12px; }.ops-links a, .admin-profile small { font-size: 11px; }.admin-profile strong { font-size: 12px; }
.admin-mobile-nav { display: none; }
.ops-stats span { font-size: 11px; }.ops-stats small { font-size: 10px; }.ops-stats strong { font-size: 24px; }
.dispatch-layout { grid-template-columns: 380px minmax(0,1fr); }.panel-heading { height: 66px; }.panel-heading strong, .map-toolbar strong { font-size: 13px; }.panel-heading label { width: 150px; height: 35px; }.panel-heading input { font-size: 11px; }
.dispatch-card { padding: 13px; }.source-badge, .dispatch-card time { font-size: 10px; }.dispatch-card > strong { font-size: 15px; }.dispatch-card > p { font-size: 11px; }.assignment-state strong { font-size: 11px; }.assignment-state small { font-size: 10px; }
.dispatch-map-panel { grid-template-rows: 60px minmax(300px,1fr) 225px; }.map-toolbar > span { font-size: 10px; }.candidate-title strong { font-size: 13px; }.candidate-title span { font-size: 10px; }.candidate-list > button { height: 66px; }.candidate-avatar { width: 34px; height: 34px; font-size: 11px; }.candidate-list strong, .candidate-distance strong { font-size: 11px !important; }.candidate-list span { font-size: 10px; }.assign-button { height: 42px; font-size: 12px; }
.courier-brand strong { font-size: 15px; }.courier-brand small { font-size: 9px; }.courier-location-toggle { min-height: 38px; font-size: 11px; }.courier-greeting span { font-size: 12px; }.courier-greeting h1 { font-size: 25px; }
.courier-today span, .courier-today small { font-size: 10px; }.courier-speed-status strong { font-size: 13px; }.courier-speed-status small { font-size: 11px; }.courier-alert strong { font-size: 13px; }.courier-alert small { font-size: 11px; }
.courier-section-title strong { font-size: 16px; }.courier-section-title > span, .courier-more-tasks > summary span { font-size: 11px; }.courier-more-tasks > summary { min-height: 46px; font-size: 12px; }
.courier-route-tools { display: flex; align-items: center; gap: 9px; }.courier-route-tools span { color: #7e8c85; font-size: 10px; }.courier-route-tools button { min-height: 38px; padding: 0 11px; display: flex; align-items: center; gap: 6px; border: 1px solid #cfe1d8; border-radius: 9px; background: #eef8f3; color: #197653; font-size: 11px; font-weight: 800; }.courier-route-tools button:disabled { opacity: .5; }
.task-order-number > span { width: 34px; height: 34px; font-size: 13px; }.task-order-number small { font-size: 10px; }.task-order-number strong { font-size: 14px; }.task-reorder button { width: 34px; height: 34px; }
.task-stops small { font-size: 9px; }.task-stops strong { font-size: 13px; }.task-stops p { font-size: 11px; }.task-meta span { font-size: 10px; }.task-meta strong { font-size: 13px; }.task-note { font-size: 11px; }
.courier-primary { font-size: 12px; }.seen-button { height: 44px; }.task-actions a, .task-actions button, .delivery-actions a, .delivery-actions button { min-height: 44px; font-size: 11px; }.picked-confirmation strong { font-size: 12px; }.picked-confirmation small, .waiting-turn { font-size: 10px; }.route-start-bar strong { font-size: 12px; }.route-start-bar small { font-size: 10px; }.route-start-bar button { height: 44px; font-size: 11px; }.courier-bottom-nav button, .courier-bottom-nav a, .courier-nav-current, .courier-nav-disabled { font-size: 11px; }
.login-kicker, .login-brand small { font-size: 10px; }.login-story-copy > p { font-size: 15px; }.login-benefits span { font-size: 13px; }.login-box > p { font-size: 13px; }.login-box form > label { font-size: 12px; }.login-input { height: 48px; }.login-input input { font-size: 14px; }.login-submit { height: 48px; font-size: 13px; }.demo-divider, .demo-note { font-size: 11px; }.demo-accounts strong { font-size: 11px; }.demo-accounts small { font-size: 9px; }
.settings-back, .settings-shell > header p { font-size: 13px; }.profile-card strong { font-size: 14px; }.profile-card span, .profile-card small { font-size: 11px; }.password-heading strong { font-size: 15px; }.password-heading small, .password-card label, .password-visibility, .settings-result { font-size: 12px; }.password-card input { height: 46px; font-size: 14px; }.settings-submit { height: 46px; font-size: 13px; }
.notification-center .notification-button i { font-size: 9px; }.notification-popover > header strong { font-size: 14px; }.notification-popover > header span { font-size: 11px; }.notification-list article strong { font-size: 12px; }.notification-list article p { font-size: 12px; }.notification-list article span { font-size: 10px; }.notification-empty strong { font-size: 13px; }.notification-empty span { font-size: 11px; }
.dialog > p { font-size: 13px; }.dialog label { font-size: 12px; }.dialog select { font-size: 13px; }.toast { font-size: 13px; }.courier-empty p { font-size: 12px; }.courier-empty a { font-size: 11px; }.route-error-pill, .map-location-warning { font-size: 11px; }.map-legend { font-size: 10px; }

/* Hızlı manuel sipariş */
.manual-order-backdrop { padding: 20px; z-index: 100; }
.manual-order-dialog { width: min(980px,100%); max-height: calc(100vh - 40px); padding: 0; overflow-y: auto; }
.manual-order-dialog > header { padding: 20px 22px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e1e8e4; }
.manual-order-dialog > header h2 { margin: 5px 0; font-size: 22px; }.manual-order-dialog > header p { margin: 0; color: #718078; font-size: 13px; }
.manual-order-grid { padding: 20px 22px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 20px; }
.manual-order-fields { display: grid; gap: 13px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.manual-order-dialog label { display: grid; gap: 6px; color: #44574e; font-size: 12px; font-weight: 800; }.manual-order-dialog label small { margin-left: 4px; color: #8a9790; font-size: 10px; font-weight: 500; }
.manual-order-dialog input, .manual-order-dialog select, .manual-order-dialog textarea { width: 100%; padding: 10px 11px; border: 1px solid #d8e2dd; border-radius: 9px; outline: 0; background: white; color: #1e3027; font-size: 13px; }.manual-order-dialog input, .manual-order-dialog select { height: 44px; }.manual-order-dialog textarea { resize: vertical; line-height: 1.45; }
.manual-order-dialog input:focus, .manual-order-dialog select:focus, .manual-order-dialog textarea:focus { border-color: #2a9a6c; box-shadow: 0 0 0 3px rgba(42,154,108,.1); }
.manual-location-field { min-width: 0; }.manual-location-field > div:first-child { margin-bottom: 8px; display: flex; flex-direction: column; gap: 3px; }.manual-location-field strong { font-size: 13px; }.manual-location-field span { color: #7c8a83; font-size: 11px; }
.location-picker { position: relative; min-height: 390px; overflow: hidden; border: 1px solid #d8e2dd; border-radius: 12px; background: #e8eee9; }.location-picker-canvas { position: absolute; inset: 0; }.location-picker-help { position: absolute; z-index: 500; left: 50%; bottom: 16px; transform: translateX(-50%); width: max-content; padding: 9px 12px; display: flex; align-items: center; gap: 6px; border-radius: 9px; background: rgba(23,58,50,.94); color: white; font-size: 11px; font-weight: 800; box-shadow: 0 5px 18px rgba(22,49,39,.2); }.location-picker-help.selected { background: rgba(22,135,91,.95); }
.manual-order-error { margin: 0 22px 15px; padding: 10px 12px; display: flex; align-items: center; gap: 7px; border-radius: 9px; background: #fff0ef; color: #b94d47; font-size: 12px; font-weight: 700; }
.manual-order-dialog > footer { padding: 14px 22px; display: flex; justify-content: flex-end; gap: 9px; border-top: 1px solid #e1e8e4; }.manual-order-dialog > footer button { min-height: 42px; padding: 0 16px; display: flex; align-items: center; gap: 7px; border-radius: 9px; font-size: 12px; font-weight: 800; }.manual-order-dialog > footer .secondary { border: 1px solid #d8e2dd; background: white; color: #586961; }
.address-find-button { width: 100%; min-height: 42px; margin: 0 0 9px; padding: 0 13px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #cde1d7; border-radius: 9px; background: #edf8f2; color: #167653; font-size: 11px; font-weight: 900; cursor: pointer; }.address-find-button:disabled { opacity: .5; cursor: wait; }
.address-location-placeholder { min-height: 300px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px dashed #cbd8d2; border-radius: 12px; background: #f7faf8; color: #819089; text-align: center; }.address-location-placeholder svg { margin-bottom: 3px; color: #9aaba3; }.address-location-placeholder strong { color: #53675e; font-size: 12px; }.address-location-placeholder span { font-size: 10px; }
.location-preview { min-height: 300px; }.location-preview .location-picker-canvas { height: 300px; }.resolved-address { margin-top: 7px; padding: 8px 10px; display: block; border-radius: 8px; background: #eef7f2; color: #47675a; font-size: 10px; line-height: 1.45; }.address-privacy-note { margin: 0 !important; color: #7a8982 !important; font-size: 9px !important; font-weight: 500 !important; line-height: 1.35; }.developer-map-help { margin: -3px 0 8px; display: block; color: #7c8a83; font-size: 10px; }
.location-picker-help.approximate { background: rgba(150,99,19,.95); }.resolved-address.approximate { background: #fff6e7; color: #805b1f; }
.address-autocomplete { position: relative; width: 100%; }
.address-autocomplete-input { position: relative; }
.address-autocomplete-input > svg:first-child { position: absolute; z-index: 2; top: 13px; left: 12px; color: #809087; pointer-events: none; }
.address-autocomplete-input > input,
.address-autocomplete-input > textarea { padding-left: 38px !important; padding-right: 38px !important; }
.address-autocomplete-input .address-search-state { position: absolute; z-index: 2; top: 13px; right: 12px; color: #6e8177; }
.address-autocomplete-input .address-search-state.resolved { color: #17805a; }
.address-suggestion-list { position: absolute; z-index: 1300; top: calc(100% + 5px); right: 0; left: 0; max-height: 276px; padding: 5px; overflow-y: auto; border: 1px solid #d5e0da; border-radius: 11px; background: #fff; box-shadow: 0 14px 35px rgba(22,47,37,.2); }
.address-suggestion-list button { width: 100%; min-height: 52px; padding: 7px 9px; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 8px; background: transparent; color: #243b31; text-align: left; cursor: pointer; }
.address-suggestion-list button:hover,
.address-suggestion-list button.active { background: #edf7f2; color: #176e4e; }
.address-suggestion-list button > svg { flex: 0 0 auto; }
.address-suggestion-list button > span { min-width: 0; display: block; }
.address-suggestion-list strong,
.address-suggestion-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.address-suggestion-list strong { color: currentColor; font-size: 12px; }
.address-suggestion-list small { margin-top: 3px; color: #74857c; font-size: 9px; font-weight: 550; }

/* Kurye: zorunlu görev onayı ve yalnızca haritadan oluşan tam ekran rota */
.courier-fullscreen-map { position: fixed; z-index: 1200; inset: var(--app-banner-height, 0px) 0 calc(65px + env(safe-area-inset-bottom)) 0; overflow: hidden; background: #dde6e1; }
.courier-fullscreen-live-map,
.courier-fullscreen-live-map .live-route-map-canvas { width: 100%; height: 100%; min-height: 100%; }
.courier-fullscreen-map .map-legend,
.courier-fullscreen-map .leaflet-control-zoom { display: none; }
.courier-fullscreen-map .route-info-pill,
.courier-fullscreen-map .route-error-pill { top: 14px; left: 50%; transform: translateX(-50%); }
.courier-map-empty-info { position: absolute; z-index: 1500; top: max(14px,env(safe-area-inset-top)); left: 14px; min-height: 48px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(211,222,216,.96); border-radius: 12px; background: rgba(255,255,255,.96); color: #39705a; box-shadow: 0 8px 24px rgba(17,42,33,.16); backdrop-filter: blur(10px); }.courier-map-empty-info strong,.courier-map-empty-info small { display: block; }.courier-map-empty-info strong { font-size: 11px; }.courier-map-empty-info small { margin-top: 2px; color: #718078; font-size: 8px; }
.courier-map-back { position: absolute; z-index: 1500; top: max(14px,env(safe-area-inset-top)); right: 14px; min-height: 44px; padding: 0 15px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(211,222,216,.96); border-radius: 12px; background: rgba(255,255,255,.96); color: #18392e; box-shadow: 0 8px 24px rgba(17,42,33,.2); font-size: 12px; font-weight: 900; cursor: pointer; backdrop-filter: blur(10px); }
.courier-history-page { padding-bottom: 65px; }.courier-history-page > .reports-shell { min-height: calc(100vh - 64px); padding-bottom: 30px; background: #f7f9f7; }.courier-history-page > .reports-shell > .reports-header { display: none; }
.courier-seen-modal { position: fixed; z-index: 3000; inset: 0; padding: max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom)); display: grid; place-items: center; overflow-y: auto; background: rgba(0,0,0,.82); backdrop-filter: blur(5px); }
.courier-seen-box { width: min(390px,100%); max-height: calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding: 24px; overflow-y: auto; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: #fff; color: #172b23; box-shadow: 0 25px 75px rgba(0,0,0,.45); text-align: center; }
.courier-seen-box > .section-kicker { color: #168158; font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.courier-seen-box h2 { margin: 5px 0 8px; font-size: 25px; }
.courier-seen-box > p { margin: 0; color: #51655c; font-size: 13px; line-height: 1.45; }
.courier-seen-meta { margin: 12px 0 18px; padding: 9px 10px; display: grid; gap: 6px; border-radius: 9px; background: #f2f5f3; color: #697a72; font-size: 10px; line-height: 1.4; }
.courier-seen-meta > span { display: flex; align-items: center; justify-content: center; gap: 6px; }
.courier-seen-btn { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; background: #168158; color: #fff; font-size: 15px; font-weight: 950; cursor: pointer; touch-action: manipulation; }
.courier-seen-btn:disabled { opacity: .65; cursor: wait; }
.courier-assignment-pending { min-height: 44px; margin-top: 6px; padding: 7px 9px; display: flex; align-items: center; gap: 8px; border: 1px solid #e0c982; border-radius: 8px; background: #fff8df; color: #806018; }
.courier-assignment-pending span { min-width: 0; }.courier-assignment-pending strong,.courier-assignment-pending small { display: block; }.courier-assignment-pending strong { font-size: 10px; }.courier-assignment-pending small { margin-top: 2px; font-size: 8px; }
.developer-map .address-location-placeholder { min-height: 280px; }.developer-map .location-preview { min-height: 280px; }

/* Entegrasyon merkezi de diğer panellerle aynı görünümde */
.integrations-shell { background: #f3f6f4; color: #173027; }.integrations-header { height: 60px; padding: 0 max(22px,calc((100vw - 1120px)/2)); border-bottom: 1px solid #dde6e1; background: white; color: #173a32; }.integrations-brand > span { color: #789087; font-size: 10px; }.integrations-header-actions a { color: #527066; font-size: 12px; }
.integrations-hero { max-width: 1120px; padding: 30px 20px 20px; align-items: center; }.integrations-hero h1 { margin: 5px 0; font-size: 28px; }.integrations-hero p { color: #718078; font-size: 13px; }.integration-security { padding: 11px 13px; border-radius: 11px; }.integration-security small { font-size: 11px; }
.integration-grid { max-width: 1120px; padding: 0 20px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }.integration-card { min-height: 0; padding: 17px; gap: 13px; border-color: #dfe7e3; border-radius: 13px; box-shadow: none; }.integration-icon { background: #e7f4ed; color: #16875b; }.integration-state { font-size: 11px; }.integration-card h2 { font-size: 17px; }.integration-card > div > p, .integration-detail { font-size: 12px; }.integration-card dt { font-size: 10px; }.integration-card dd { font-size: 12px; }.integration-sync { min-height: 42px; background: #16875b; font-size: 12px; }.integration-automation { max-width: 1080px; border: 1px solid #dfe7e3; background: white; color: #173027; }.integration-automation p { color: #718078; font-size: 12px; }.integration-automation > span { color: #16875b; }

@media (max-width: 980px) {
  .dispatch-layout { grid-template-columns: 330px minmax(0,1fr); }
  .manual-order-grid { grid-template-columns: 1fr; }.location-picker { min-height: 320px; }
}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .ops-main { width: 100%; margin-left: 0; padding-bottom: 66px; }.shop-focus-actions { width: 100%; flex-wrap: wrap; }.shop-focus-actions button { flex: 1; justify-content: center; }
  .admin-mobile-nav { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; height: 66px; display: flex; justify-content: center; border-top: 1px solid #dfe6e2; background: rgba(255,255,255,.97); }.admin-mobile-nav a { width: 30%; max-width: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #7e8c85; font-size: 10px; font-weight: 800; text-decoration: none; }.admin-mobile-nav a.active { color: #16875b; }
  .manual-order-backdrop { padding: 0; align-items: stretch; }.manual-order-dialog { width: 100%; max-height: 100vh; border-radius: 0; }.manual-order-grid { padding: 16px; }.form-row { grid-template-columns: 1fr; }.location-picker { min-height: 300px; }.manual-order-dialog > header, .manual-order-dialog > footer { padding-left: 16px; padding-right: 16px; }
  .integrations-header { padding: 0 14px; }.integrations-hero { padding: 22px 14px 16px; flex-direction: column; align-items: flex-start; }.integration-security { width: 100%; min-width: 0; }.integration-grid { padding: 0 14px; grid-template-columns: 1fr; }.integration-automation { margin: 12px 14px 0; flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .location-accuracy { font-size: 10px !important; }
  .courier-header { gap: 8px; }.courier-location-toggle { width: 36px; padding: 0; justify-content: center; }.courier-location-toggle span { display: none; }
  .order-footer { align-items: flex-start; gap: 10px; flex-direction: column; }.order-actions, .order-complete-actions { width: 100%; }.order-actions button, .order-complete-actions a, .order-complete-actions button { flex: 1; }
  .courier-section-title { align-items: flex-start; gap: 10px; }.courier-route-tools { align-items: flex-end; flex-direction: column; gap: 4px; }.courier-route-tools span { display: none; }
}
.test-environment-banner {
  position: sticky;
  top: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  min-height: 28px;
  padding: 4px 12px;
  background: #fff2c6;
  color: #704e00;
  border-bottom: 1px solid #e7cb68;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
}
.has-test-environment-banner { --app-banner-height: 28px; }

/* Developer şifre girişi */
.developer-login-story { background: radial-gradient(circle at 76% 30%, rgba(142,105,255,.24), transparent 27%), linear-gradient(145deg,#171229 0%,#2b1c50 58%,#151027 100%); }
.developer-login-story .login-kicker { color: #bda8ff; }
.developer-login-story .login-brand > div { background: #7254d6; box-shadow: 0 10px 25px rgba(114,84,214,.3); }
.developer-login-story .login-benefits svg { background: #7254d6; }
.developer-login-story .login-story-footer i { background: #9d82f6; box-shadow: 0 0 0 5px rgba(157,130,246,.12); }
.developer-login-submit { background: #6848bf; box-shadow: 0 8px 19px rgba(104,72,191,.22); }
.developer-password-toggle { flex: 0 0 auto; }
.developer-admin-login-link { width: max-content; margin: 18px auto 0; display: flex; align-items: center; gap: 6px; color: #687970; font-size: 11px; font-weight: 800; text-decoration: none; }

@media (max-width: 560px) {
  .dialog-backdrop { padding: 10px; place-items: center; }
  .dialog-backdrop > .admin-shop-dialog { width: 100%; max-height: calc(100dvh - 20px); }
}

/* İzole dört istemci başlatıcısı */
.client-launcher-page { min-height: 100vh; padding: 28px; display: grid; place-items: center; background: radial-gradient(circle at 50% 0,rgba(42,178,121,.14),transparent 38%),#edf3f0; color: #18352c; }
.client-launcher-card { width: min(720px,100%); padding: 34px; border: 1px solid #dbe6e1; border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(20,50,38,.12); text-align: center; }
.client-launcher-icon { width: 58px; height: 58px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 17px; background: #e4f5ec; color: #16875b; }
.client-launcher-card h1 { margin: 7px 0; font: 800 30px/1.15 "Manrope",sans-serif; }
.client-launcher-card > p { max-width: 570px; margin: 0 auto; color: #6e8078; font-size: 13px; line-height: 1.55; }
.client-launcher-grid { margin: 24px 0 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; text-align: left; }
.client-launcher-grid article { padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid #e0e8e4; border-radius: 11px; background: #f8faf9; color: #2d7256; }
.client-launcher-grid article span { display: flex; flex-direction: column; gap: 2px; }
.client-launcher-grid strong { color: #213b31; font-size: 12px; }.client-launcher-grid small { color: #7c8b84; font-size: 10px; }
.client-launcher-card > button { min-height: 46px; margin: 0 auto; padding: 0 17px; display: flex; align-items: center; gap: 8px; border: 0; border-radius: 11px; background: #16875b; color: #fff; font-size: 12px; font-weight: 900; }
.client-launcher-result { display: block; margin-top: 13px; color: #27805e; font-size: 11px; font-weight: 800; }
.client-test-code { margin: 0 0 18px; padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #f0d7a0; border-radius: 12px; background: #fff8e8; color: #9a6812; text-align: left; }
.client-test-code > span { display: flex; flex-direction: column; gap: 1px; }.client-test-code small { font-size: 8px; font-weight: 900; letter-spacing: .08em; }.client-test-code strong { color: #68460c; font: 900 20px/1 "Manrope",sans-serif; letter-spacing: .12em; }.client-test-code p { margin: 0 0 0 auto; color: #8b744b; font-size: 9px; }
.client-mobile-access { margin: -10px 0 18px; padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #c9dfd4; border-radius: 12px; background: #eff8f3; color: #197653; text-align: left; }
.client-mobile-access > span { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 3px; }
.client-mobile-access strong { color: #173a2f; font-size: 11px; }.client-mobile-access a { overflow: hidden; color: #126a9d; font-size: 12px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }.client-mobile-access small { color: #6b7d74; font-size: 9px; }
.client-mobile-access > button { min-height: 34px; padding: 0 9px; display: flex; align-items: center; gap: 5px; border: 1px solid #b9d4c7; border-radius: 8px; background: #fff; color: #176f50; font-size: 9px; font-weight: 900; cursor: pointer; }
@media(max-width:560px){.client-launcher-page{padding:12px}.client-launcher-card{padding:24px 16px}.client-launcher-grid{grid-template-columns:1fr}}

/* Bu kurallar dosyanın sonunda kalarak tüm eski sayfa kabuklarını tek admin kabuğuna bağlar. */
.admin-shell-layout { min-height: calc(100dvh - var(--app-banner-height, 0px)); display: block; }
.admin-shell-content { min-height: calc(100dvh - var(--app-banner-height, 0px)); overflow-x: hidden; }
.admin-shell-content > .ops-shell { display: block; min-height: calc(100dvh - var(--app-banner-height, 0px)); }
.admin-shell-content > .ops-shell > .ops-sidebar,
.admin-shell-content > .ops-shell > .admin-mobile-nav { display: none !important; }
.admin-shell-content > .ops-shell > .ops-main { width: 100%; margin-left: 0; }
.admin-shell-content > .admin-shops-shell,
.admin-shell-content > .integrations-shell,
.admin-shell-content > .reports-shell,
.admin-shell-content > .developer-shell,
.admin-shell-content > .settings-page { min-height: 100vh; background: #f4f6f8; }
.admin-shell-content > .admin-shops-shell > .integrations-header,
.admin-shell-content > .integrations-shell > .integrations-header,
.admin-shell-content > .reports-shell > .reports-header,
.admin-shell-content > .developer-shell > .integrations-header { display: none; }
.admin-shell-content > .settings-page { padding-top: 34px; }
.admin-shell-content > .settings-page .settings-back { display: none; }

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-shell-content { width: 100%; margin-left: 0; padding-bottom: 66px; }
  .admin-shell-layout:has(.admin-map-main),
  .admin-shell-content:has(.admin-map-main) { height: calc(100dvh - var(--app-banner-height, 0px)); min-height: 0; overflow: hidden; }
  .admin-shell-content:has(.admin-map-main) { padding-bottom: 0; }
  .admin-shell-layout > .admin-mobile-nav a { min-width: 0; max-width: none; }
}

/* Dükkan alt ekranlarında aynı sol panel korunur. */
.shop-shell-content { overflow-x: hidden; }
.shop-shell-mobile-bar { display: none; }
.shop-shell-content > .reports-shell,
.shop-shell-content > .shop-integrations-shell,
.shop-shell-content > .settings-page { min-height: 100vh; background: var(--cream); }
.shop-shell-content > .reports-shell > .reports-header,
.shop-shell-content > .shop-integrations-shell > .shop-integrations-header { display: none; }
.shop-shell-content > .settings-page .settings-back { display: none; }
.side-nav a.active { color: #fff; background: #1b4938; box-shadow: inset 3px 0 #2bc285; }

.courier-empty-page { min-height: 100vh; display: grid; grid-template-rows: 64px 1fr; background: #f4f7f5; color: #18352c; }
.courier-empty-page > header { padding: 0 22px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #dfe8e3; background: #fff; }
.courier-empty-page > header > div { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #173a32; color: #fff; }
.courier-empty-page > header span { color: #789087; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.courier-empty-page > section { width: min(520px, calc(100% - 28px)); margin: auto; padding: 42px; display: flex; align-items: center; flex-direction: column; border: 1px solid #dfe7e3; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 15px 44px rgba(24,52,41,.08); }
.courier-empty-icon { width: 68px; height: 68px; margin-bottom: 18px; display: grid; place-items: center; border-radius: 20px; background: #e5f5ec; color: #16875b; }
.courier-empty-page h1 { margin: 7px 0; font-size: 25px; }
.courier-empty-page p { max-width: 420px; margin: 0; color: #718078; font-size: 13px; line-height: 1.55; }
.courier-empty-page a { min-height: 42px; margin-top: 20px; padding: 0 15px; display: flex; align-items: center; gap: 7px; border-radius: 10px; background: #16875b; color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; }

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .shop-shell-content { width: 100%; margin-left: 0; }
  .shop-shell-mobile-bar { height: 58px; padding: 0 14px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #dfe8e3; background: #fff; }
  .shop-shell-mobile-bar .mobile-menu { display: grid; flex: 0 0 auto; }
  .shop-shell-mobile-bar > div { display: flex; flex-direction: column; gap: 2px; }
  .shop-shell-mobile-bar strong { font-size: 12px; }
  .shop-shell-mobile-bar span { color: #7c8c84; font-size: 10px; }
  .courier-empty-page > section { padding: 30px 20px; }
}

/* Planlı sipariş, zil uyarısı ve kurye puanı */
.order-special-flags { margin: 9px 12px 0; display: flex; gap: 7px; flex-wrap: wrap; }
.order-special-flags > span { min-height: 38px; padding: 7px 9px; display: flex; align-items: center; gap: 6px; border-radius: 9px; font-size: 9px; }
.order-special-flags strong, .order-special-flags small { display: block; }.order-special-flags small { opacity: .75; }
.order-special-flags .scheduled { background: #edf2ff; color: #3d5da3; }.order-special-flags .no-ring { background: #fff0e9; color: #a54d2c; }

.manual-order-options { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.manual-order-dialog .manual-option-card { min-height: 62px; padding: 10px 11px; display: flex; grid-template-columns: auto auto 1fr; align-items: center; gap: 9px; border: 1px solid #dae4df; border-radius: 10px; background: #f9fbfa; color: #53675e; cursor: pointer; }
.manual-order-dialog .manual-option-card.selected { border-color: #719e89; background: #edf8f2; color: #176f50; box-shadow: 0 0 0 2px rgba(35,126,88,.08); }
.manual-order-dialog .manual-option-card.no-ring.selected { border-color: #dda88d; background: #fff3ed; color: #9b4b2d; }
.manual-order-dialog .manual-option-card input { width: 18px; height: 18px; margin: 0; padding: 0; accent-color: #17805a; box-shadow: none; }
.manual-option-card > span { display: flex; flex-direction: column; gap: 2px; }.manual-option-card strong { font-size: 11px; }.manual-option-card small { margin: 0 !important; font-size: 9px !important; }
.manual-scheduled-field { padding: 11px; border: 1px solid #dbe4ef; border-radius: 10px; background: #f4f7ff; color: #3d568c !important; }

.admin-order-flags { margin-top: 8px; display: grid; gap: 5px; }
.admin-order-flags span { padding: 6px 7px; display: flex; align-items: center; gap: 5px; border-radius: 7px; font-size: 9px; font-weight: 850; }
.admin-order-flags .scheduled { background: #edf2ff; color: #3d5da3; }.admin-order-flags .no-ring { background: #fff0e9; color: #a54d2c; }
.courier-rating-line { margin-top: 4px !important; color: #986710 !important; }.courier-rating-line b { font-size: 11px; }

.courier-greeting-metrics { display: flex; align-items: stretch; gap: 8px; }
.courier-rating { min-width: 112px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid #eadbad; border-radius: 11px; background: #fff9e9; color: #d19320; }
.courier-rating > span { display: flex; flex-direction: column; }.courier-rating small { color: #8d7950; font-size: 8px; }.courier-rating strong { color: #604817; font-size: 17px; line-height: 1.1; }.courier-rating strong i { margin-left: 2px; color: #9a8a68; font-size: 9px; font-style: normal; }
.courier-critical-flags { margin: 11px 13px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.courier-critical-flags > div { min-height: 58px; padding: 10px; display: flex; align-items: center; gap: 9px; border: 2px solid; border-radius: 11px; }
.courier-critical-flags span { min-width: 0; }.courier-critical-flags small, .courier-critical-flags strong { display: block; }.courier-critical-flags small { font-size: 8px; font-weight: 900; letter-spacing: .08em; }.courier-critical-flags strong { margin-top: 3px; font-size: 13px; }
.courier-critical-flags .scheduled { border-color: #a9bce8; background: #edf2ff; color: #314f94; }.courier-critical-flags .no-ring { border-color: #efad8d; background: #fff0e9; color: #9c4023; }
.courier-kitchen-state.priority-ready { min-height: 58px; padding: 11px 13px; border: 2px solid #e53935; background: #fff0ef; box-shadow: 0 5px 15px rgba(229,57,53,.15); color: #b71c1c; }
.courier-kitchen-state.priority-ready strong { font-size: 13px; color: #c62828; }
.courier-kitchen-state.priority-ready small { font-size: 10px; color: #a93226; }
.courier-kitchen-state.priority-ready svg { color: #d32f2f; }

@media (max-width: 620px) {
  .manual-order-options, .courier-critical-flags { grid-template-columns: 1fr; }
  .courier-greeting { align-items: flex-start; }.courier-greeting-metrics { flex-direction: column; }.courier-rating { min-width: 0; }.courier-today { min-width: 112px; }
}

/* Tüm sipariş kaynaklarında ortak teslim alma ve teslimat süreleri */
.order-sla-badge { min-height: 52px; margin: 10px 12px 0; padding: 9px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid #b8d9ca; border-radius: 10px; background: #edf8f3; color: #176f50; }
.order-sla-badge > span { min-width: 0; display: flex; align-items: center; justify-content: space-between; flex: 1; gap: 10px; }
.order-sla-badge small { color: inherit; font-size: 9px; font-weight: 850; line-height: 1.25; }
.order-sla-badge strong { flex: 0 0 auto; color: inherit; font-size: 18px; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.order-sla-badge.ready-pickup { border-color: #ef9a9a; background: #fff0ef; color: #b71c1c; }
.order-sla-badge.warning { border-color: #e5a348; background: #fff0d8; color: #9a5812; }
.order-sla-badge.late { border-color: #e38e87; background: #fff0ef; color: #b23e36; }
.order-sla-badge.compact { min-height: 39px; margin: 7px 0 0; padding: 6px 8px; border-radius: 8px; }
.order-sla-badge.compact small { font-size: 8px; }.order-sla-badge.compact strong { font-size: 13px; }
.courier-task .order-sla-badge { min-height: 52px; margin: 8px 0 0; border-width: 1.5px; }
.courier-task .order-sla-badge small { font-size: 9px; }.courier-task .order-sla-badge strong { font-size: 18px; }

/* Kurye görevleri: tek sütunda, tıklamayla genişleyen kompakt paket satırları */
.courier-compact-list { grid-template-columns: 1fr; gap: 8px; }
.courier-tasks-section { margin-top: 0; }.courier-package-toolbar { min-height: 38px; margin-bottom: 7px; padding: 5px 8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid #dfe7e3; border-radius: 9px; background: #fff; color: #6e8178; font-size: 9px; }.courier-package-toolbar button { min-height: 28px; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; border: 0; border-radius: 7px; background: #eaf6f0; color: #176f50; font-size: 9px; font-weight: 850; }
.courier-compact-list .courier-task { border-radius: 12px; box-shadow: 0 4px 14px rgba(22,53,40,.04); transition: border-color .18s ease, box-shadow .18s ease; cursor: pointer; }
.courier-compact-list .courier-task.is-compact:hover { border-color: #9eccb8; box-shadow: 0 6px 20px rgba(22,53,40,.08); }
.courier-compact-list .task-order-number { min-height: 42px; padding: 5px 8px; gap: 6px; }
.courier-compact-list .task-order-number > span { width: 30px; height: 30px; border-radius: 8px; font-size: 12px; }
.courier-compact-list .task-order-number small { font-size: 8px; }.courier-compact-list .task-order-number strong { margin-top: 1px; font-size: 12px; }
.courier-compact-list .task-reorder button { width: 28px; height: 28px; }
.task-expand-chevron { width: 32px; height: 32px; margin-left: auto; display: grid; place-items: center; border: 0; background: transparent; color: #5f756a; border-radius: 8px; transition: transform .22s ease, background-color .15s ease; cursor: pointer; }
.task-expand-chevron:hover { background: #eef3f0; color: #173b2d; }
.task-expand-chevron svg.rotated { transform: rotate(180deg); }

/* Paket hazır dikkat çekici kırmızı etiket */
.courier-ready-badge-red { margin-left: 4px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 6px; background: #ffebee; border: 1.5px solid #ef5350; color: #c62828; font-size: 10px; font-weight: 900; letter-spacing: .03em; animation: pulse-red-badge 2s infinite ease-in-out; }
.courier-prep-badge { margin-left: 4px; display: inline-flex; align-items: center; gap: 4px; padding: 3px 7px; border-radius: 6px; background: #fff8e1; color: #8d6e63; font-size: 9px; font-weight: 700; }
@keyframes pulse-red-badge {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,83,80,0.45); }
  50% { box-shadow: 0 0 0 4px rgba(239,83,80,0); }
}

/* Kompakt görünüm tek satırlık rota ve fiyat özeti */
.courier-compact-summary { padding: 5px 8px 7px; display: flex; flex-direction: column; gap: 3px; background: #fbfdfc; border-top: 1px solid #f0f4f2; }
.compact-route-line { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 750; color: #1e3a2e; }
.compact-arrow { color: #8fa39a; font-size: 9px; }
.compact-shop, .compact-customer { display: inline-flex; align-items: center; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-meta-line { display: flex; align-items: center; gap: 9px; font-size: 10px; color: #6b7f75; }
.compact-meta-line strong { color: #173b2d; font-size: 12px; }
.compact-expand-hint { margin-left: auto; color: #197b54; font-size: 9px; font-weight: 800; }

.courier-expanded-details { border-top: 1px solid #e7edea; cursor: default; }
.courier-task-compact-body { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(270px,.8fr); }
.courier-task-compact-info { min-width: 0; border-right: 1px solid #e5eae7; }
.courier-task-compact-info .task-stops { padding: 8px 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.courier-task-compact-info .task-stops > div { min-width: 0; margin: 0; gap: 7px; }
.courier-task-compact-info .stop-icon { width: 28px; height: 28px; border-radius: 7px; }
.courier-task-compact-info .task-stops small { font-size: 7px; }.courier-task-compact-info .task-stops strong { font-size: 11px; }.courier-task-compact-info .task-stops p { font-size: 9px; }
.courier-task-compact-info .task-meta { min-height: 32px; padding: 6px 10px; border-bottom: 0; gap: 8px; }.courier-task-compact-info .task-meta span { font-size: 9px; }.courier-task-compact-info .task-meta strong { font-size: 11px; }
.courier-task-compact-info .task-note { margin: 0; padding: 7px 10px; border-top: 1px solid #f0e2be; border-left: 0; font-size: 9px; }
.courier-task-compact-actions { min-width: 0; padding: 8px 10px; display: flex; flex-direction: column; justify-content: center; }
.courier-task-compact-actions .courier-kitchen-state, .courier-task-compact-actions .courier-kitchen-state.priority-ready { min-height: 42px; margin: 0; padding: 7px 9px; border-width: 1.5px; border-radius: 9px; }
.courier-task-compact-actions .courier-kitchen-state.red-alert { border-color: #e53935; background: #fff0ef; color: #b71c1c; box-shadow: 0 4px 14px rgba(229,57,53,.15); }
.courier-task-compact-actions .courier-kitchen-state strong, .courier-task-compact-actions .courier-kitchen-state.priority-ready strong { font-size: 11px; }.courier-task-compact-actions .courier-kitchen-state small, .courier-task-compact-actions .courier-kitchen-state.priority-ready small { font-size: 8px; }
.courier-task-compact-actions .seen-button { width: 100%; min-height: 36px; height: 36px; margin: 6px 0 0; font-size: 10px; }
.courier-task-compact-actions .task-actions, .courier-task-compact-actions .delivery-actions { padding: 0; margin-top: 6px; gap: 5px; }.courier-task-compact-actions .task-actions a, .courier-task-compact-actions .task-actions button, .courier-task-compact-actions .delivery-actions a, .courier-task-compact-actions .delivery-actions button { min-height: 36px; height: 36px; font-size: 9px; }
.courier-task-compact-actions .picked-confirmation { min-height: 38px; margin: 6px 0 0; padding: 6px 8px; }.courier-task-compact-actions .picked-confirmation strong { font-size: 10px; }.courier-task-compact-actions .picked-confirmation small, .courier-task-compact-actions .waiting-turn { font-size: 8px; }
.courier-task-compact-actions .action-row { margin-top: 6px; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }.courier-task-compact-actions .action-row a { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid #dce5e0; border-radius: 8px; color: #2d6e53; font-size: 9px; font-weight: 800; text-decoration: none; }.courier-task-compact-actions .button-group { margin-top: 6px; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }.courier-task-compact-actions .button-group button { min-height: 36px; border-radius: 8px; font-size: 9px; font-weight: 850; }.courier-task-compact-actions .button-group .primary { border: 0; background: #16875b; color: #fff; }.courier-task-compact-actions .button-group .secondary { border: 1px solid #eccdca; background: #fff6f5; color: #ad453d; }.courier-assignment-inline { grid-column: 1/-1; min-height: 35px; padding: 7px 8px; display: flex; align-items: center; gap: 6px; border-radius: 8px; background: #fff6de; color: #85601a; font-size: 9px; }.courier-assignment-inline.picked { background: #e9f6ef; color: #18714f; }
.courier-compact-list .courier-critical-flags { margin: 6px 9px; gap: 6px; }.courier-compact-list .courier-critical-flags > div { min-height: 40px; padding: 6px 8px; border-width: 1px; border-radius: 8px; }.courier-compact-list .courier-critical-flags svg { width: 17px; }.courier-compact-list .courier-critical-flags small { font-size: 7px; }.courier-compact-list .courier-critical-flags strong { margin-top: 1px; font-size: 10px; }

/* Hamburger Menü İçi Durum ve Mola Stilleri */
.courier-menu-work { margin-top: 12px; padding: 14px; border-radius: 13px; background: #f3f7f5; border: 1px solid #dfe7e3; }
.courier-menu-work-status { display: flex; align-items: center; gap: 10px; }
.courier-status-indicator { width: 9px; height: 9px; border-radius: 50%; background: #9daea6; flex-shrink: 0; }
.courier-menu-work.online .courier-status-indicator { background: #1bb778; box-shadow: 0 0 0 4px rgba(27,183,120,.2); }
.courier-menu-work.busy .courier-status-indicator { background: #2563eb; box-shadow: 0 0 0 4px rgba(37,99,235,.2); }
.courier-menu-work.on-break .courier-status-indicator { background: #f59e0b; box-shadow: 0 0 0 4px rgba(245,158,11,.2); }
.courier-menu-work.offline .courier-status-indicator { background: #9ca3af; }
.courier-menu-work-status strong { display: block; font-size: 13px; color: #17382c; }
.courier-menu-work-status small { display: block; margin-top: 2px; color: #6e8278; font-size: 10px; }
.courier-menu-break-info { display: flex; align-items: center; gap: 7px; margin-top: 10px; padding: 8px 10px; border-radius: 8px; background: #fff; border: 1px solid #e3eae6; color: #4b6257; font-size: 11px; }
.courier-menu-work-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.courier-menu-work-actions button { flex: 1; min-height: 40px; border: 0; border-radius: 9px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: 11px; font-weight: 800; cursor: pointer; }
.courier-menu-work-actions .go-online { background: #17875b; color: white; }
.courier-menu-work-actions .start-break { background: #fff8e8; border: 1px solid #ecd59b; color: #8c6412; }
.courier-menu-work-actions .go-offline { background: #f1f5f3; color: #4f635a; }
.courier-menu-work-actions .end-break-btn { background: #17875b; color: white; }
.courier-menu-work-actions .work-locked { width: 100%; display: flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 7px; background: #edf2f0; color: #5f756b; font-size: 10px; }
.courier-menu-greeting { color: #8db7a5; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; display: block; }
.courier-menu-profile strong { font-size: 15px; margin: 2px 0; display: block; }
.courier-menu-profile span { color: #a3c4b5; font-size: 10px; display: block; }
.courier-menu-nav { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.courier-menu-nav a { min-height: 42px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border: 1px solid #dfe7e3; border-radius: 9px; color: #2e4a3d; font-size: 11px; font-weight: 800; text-decoration: none; }

@media (max-width: 720px) {
  .courier-task-compact-body { grid-template-columns: 1fr; }
  .courier-task-compact-info { border-right: 0; border-bottom: 1px solid #e5eae7; }
  .courier-task-compact-info .task-stops { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 430px) {
  .courier-task-compact-info .task-stops { grid-template-columns: 1fr; gap: 6px; }
  .courier-task-compact-actions .task-actions { grid-template-columns: .7fr 1.3fr; }
  .courier-app > main { padding-top: 10px; }.courier-ready-badge-red,.courier-prep-badge { max-width: 86px; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.compact-route-line { font-size: 9px; }.compact-meta-line { gap: 6px; font-size: 8px; }.compact-meta-line strong { font-size: 10px; }.compact-expand-hint { font-size: 8px; }
}

@media (max-width: 700px) {
  .courier-field-summary { margin-bottom: 10px; padding: 11px; border-radius: 13px; }.courier-field-summary > header strong { font-size: 13px; }.courier-field-live { min-height: 28px; padding: 0 8px; font-size: 9px; }
  .courier-field-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.courier-field-metrics > div:last-child { grid-column: 1 / -1; }.courier-field-metrics > div { min-height: 49px; padding: 7px; }.courier-open-route { min-height: 44px; }
  .courier-fullscreen-map .route-info-pill,.courier-fullscreen-map .route-error-pill { top: 72px; }
}

/* Admin canlı operasyon: küçük dikkat kuyruğu ve kurye bazlı paket yükleri */
.admin-map-orders { width: 318px; }
.admin-map-orders .dispatch-list { height: calc(100% - 54px); padding: 6px; display: flex; flex-direction: column; }
.dispatch-quick-filters { position: sticky; z-index: 4; top: -6px; margin: -1px -1px 6px; padding: 6px 1px 5px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; background: rgba(255,255,255,.97); backdrop-filter: blur(8px); }.dispatch-quick-filters button { min-width: 0; min-height: 30px; padding: 0 5px; display: flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid #e0e7e3; border-radius: 7px; background: #f7f9f8; color: #718078; font-size: 8px; font-weight: 800; cursor: pointer; }.dispatch-quick-filters button b { min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border-radius: 9px; background: #e9eeeb; color: #51665c; font-size: 7px; }.dispatch-quick-filters button.active { border-color: #5fa184; background: #e8f6ef; color: #176f50; }.dispatch-quick-filters button.active b { background: #16875b; color: #fff; }
.admin-map-orders .dispatch-empty { min-height: 120px; height: auto; flex: 1; }
.admin-map-orders .dispatch-card { flex: 0 0 auto; }
.admin-map-orders .panel-heading { height: 54px; padding: 0 9px; }.admin-map-orders .panel-heading label { width: 104px; height: 30px; }.admin-map-orders .panel-heading strong { font-size: 10px; }
.admin-map-orders .dispatch-card { margin-bottom: 5px; padding: 7px 8px; border-radius: 8px; }
.admin-map-orders .dispatch-card-top { gap: 5px; }.admin-map-orders .dispatch-card-top time { margin-left: auto; font-size: 8px; }
.admin-map-orders .source-badge { padding: 2px 5px; font-size: 8px; }.dispatch-queue-label { padding: 2px 5px; border-radius: 5px; font-size: 7px; letter-spacing: .04em; }.dispatch-queue-label.assign { background: #e8f6ef; color: #197653; }.dispatch-queue-label.attention { background: #fff0e8; color: #b35631; }
.admin-map-orders .dispatch-card > strong { margin-top: 4px; font-size: 12px; }.admin-map-orders .dispatch-card > p { margin-top: 3px; font-size: 9px; }
.admin-map-orders .admin-order-flags { margin-top: 4px; gap: 3px; }.admin-map-orders .admin-order-flags span { padding: 4px 5px; font-size: 8px; }
.admin-map-orders .admin-kitchen-state { width: max-content; min-height: 25px; margin-top: 4px; padding: 4px 6px; font-size: 8px; }
.admin-map-orders .order-sla-badge.compact { min-height: 31px; margin-top: 4px; padding: 4px 6px; }.admin-map-orders .order-sla-badge.compact strong { font-size: 11px; }
.admin-map-orders .assignment-state { min-height: 32px; margin-top: 4px; padding: 5px 6px; gap: 5px; }.admin-map-orders .assignment-state strong { font-size: 9px; }.admin-map-orders .assignment-state small { margin-top: 1px; font-size: 8px; }.admin-map-orders .assignment-state a { width: 24px; height: 24px; }
.admin-map-stats { left: 346px; }.admin-map-toolbar, .admin-route-plan { left: 346px; }.admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { left: 678px; }

.admin-map-couriers { width: min(720px,calc(100% - 370px)); }
.admin-map-couriers .candidate-list { max-height: 148px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; overflow-y: auto; scrollbar-width: thin; }
.admin-map-couriers .candidate-list > button { height: 68px; padding: 6px 7px; align-items: flex-start; }.admin-map-couriers .candidate-list > button.unavailable { opacity: .62; }
.admin-map-couriers .candidate-avatar { position: relative; width: 31px; height: 31px; margin-top: 2px; }.admin-map-couriers .candidate-avatar > b { position: absolute; top: -6px; right: -6px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border: 2px solid white; border-radius: 9px; background: #173a32; color: white; font-size: 8px; }
.admin-map-couriers .candidate-list button > div:nth-child(2) { align-self: center; }.admin-map-couriers .candidate-list strong { font-size: 10px !important; }.admin-map-couriers .candidate-list span { font-size: 8px; }
.admin-map-couriers .candidate-package-summary { max-width: 215px; margin-top: 3px; display: block; overflow: hidden; color: #5f756a; font-size: 8px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.admin-map-couriers .candidate-distance { align-self: center; }.admin-map-couriers .candidate-distance strong { font-size: 9px !important; }.admin-map-couriers .candidate-distance span { font-size: 8px; }

@media (max-width: 1120px) {
  .admin-map-orders { width: 300px; }.admin-map-stats { left: 328px; }.admin-map-toolbar, .admin-route-plan { left: 328px; }.admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { left: 660px; }
  .admin-map-couriers { width: 420px; }.admin-map-couriers .candidate-list { max-height: 150px; grid-template-columns: 1fr; }.admin-map-couriers .candidate-package-summary { max-width: 245px; }
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-map-orders { width: auto; }.admin-map-orders .dispatch-list { height: calc(100% - 48px); }.admin-map-orders .panel-heading { height: 48px; }
  .admin-map-stats { left: 8px; }.admin-map-toolbar { left: 8px; }.admin-route-plan { left: 8px; }.admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { left: 8px; }
  .admin-map-couriers { width: 310px; max-height: 192px; }.admin-map-couriers .candidate-list { max-height: 108px; }.admin-map-couriers .candidate-list > button { height: 62px; }.admin-map-couriers .candidate-package-summary { max-width: 150px; }
}

/* Teslim edilemeyen paket: aranabilir kişiler ve dükkan karar akışı */
.failed-delivery-contacts { margin-top: 5px; display: grid; gap: 4px; }
.failed-delivery-contacts > a,
.failed-delivery-contacts > span { min-height: 34px; padding: 5px 7px; display: flex; align-items: center; gap: 7px; border: 1px solid #ecd1cc; border-radius: 7px; background: #fff9f7; color: #9b3e35; text-decoration: none; }
.failed-delivery-contacts > a:last-child { border-color: #cbdcd5; background: #f5faf7; color: #26664f; }
.failed-delivery-contacts svg { flex: 0 0 auto; }
.failed-delivery-contacts span span { min-width: 0; }
.failed-delivery-contacts small,
.failed-delivery-contacts strong { display: block; line-height: 1.2; }
.failed-delivery-contacts small { font-size: 7px; font-weight: 900; letter-spacing: .06em; }
.failed-delivery-contacts strong { margin-top: 1px; font-size: 10px; font-variant-numeric: tabular-nums; }
.failed-delivery-contacts > a:hover { border-color: currentColor; }

.shop-failed-decision-note { margin: 7px 12px 0; padding: 8px 10px; display: flex; align-items: center; gap: 8px; border: 1px solid #edb8b1; border-radius: 9px; background: #fff7f5; color: #a43f35; }
.shop-failed-decision-note svg { flex: 0 0 auto; }
.shop-failed-decision-note strong,
.shop-failed-decision-note small { display: block; }
.shop-failed-decision-note strong { font-size: 10px; }
.shop-failed-decision-note small { margin-top: 2px; font-size: 8px; line-height: 1.35; }
.failed-resolution-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.failed-resolution-actions button { min-height: 38px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; border-radius: 9px; font-size: 10px; font-weight: 850; cursor: pointer; }
.failed-resolution-actions button:disabled { opacity: .6; cursor: wait; }
.failed-resolution-actions .retry-delivery-button { border: 1px solid #168158; background: #168158; color: #fff; }
.failed-resolution-actions .cancel-failed-button { border: 1px solid #e4b4ae; background: #fff7f5; color: #a33c33; }
.failed-resolution-actions .refund-failed-button { border: 1px solid #d8bd72; background: #fff9e9; color: #775917; }
.dialog-icon.success { background: #e5f6ed; color: #157451; }
.failed-resolution-dialog { max-width: 460px; }
.dialog-actions .retry-confirm-button { border: 1px solid #168158; background: #168158; color: #fff; }

/* Admin harita: sipariş durumu işaretleri ve birbirinden ayrılan rota etapları */
.nova-leaflet-icon > span.order-assigned { background: #e5a51a; border-radius: 11px; transform: translate(18px,-15px); }
.nova-leaflet-icon > span.order-unassigned { background: #d93f36; border-radius: 50%; box-shadow: 0 4px 16px rgba(176,38,31,.42); transform: translate(18px,-15px); }
.nova-leaflet-icon > span.order-unassigned::before { content: ""; position: absolute; inset: -7px; border: 3px solid rgba(217,63,54,.82); border-radius: 50%; animation: nova-order-alert-pulse 1.8s ease-out infinite; pointer-events: none; }
.nova-leaflet-icon > span.selected-order::after { content: ""; position: absolute; inset: -7px; border: 3px solid currentColor; border-radius: inherit; opacity: .55; }
@keyframes nova-order-alert-pulse { 0% { transform: scale(.9); opacity: .92; } 85%,100% { transform: scale(1.65); opacity: 0; } }
.map-legend i.order-assigned { background: #e5a51a; }
.map-legend i.order-unassigned { background: #d93f36; }
.show-all-map-button { min-height: 31px; padding: 0 9px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid #cbdad3; border-radius: 8px; background: #fff; color: #28634d; font-size: 9px; font-weight: 850; cursor: pointer; }
.show-all-map-button:hover { border-color: #7ea792; background: #f1f8f4; }
.route-stage-swatches { display: flex; align-items: center; gap: 3px; }
.route-stage-swatches i { width: 18px; height: 18px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; box-shadow: 0 1px 4px rgba(19,43,34,.18); font-size: 7px; font-style: normal; font-weight: 900; }
.route-stage-swatches i:nth-child(6n+1) { background: #1261d8; }
.route-stage-swatches i:nth-child(6n+2) { background: #e37817; }
.route-stage-swatches i:nth-child(6n+3) { background: #7a3fc5; }
.route-stage-swatches i:nth-child(6n+4) { background: #07856d; }
.route-stage-swatches i:nth-child(6n+5) { background: #c23f70; }
.route-stage-swatches i:nth-child(6n+6) { background: #5968c7; }
.live-route-map .nova-permanent-map-label { max-width: 150px; padding: 4px 7px; overflow: hidden; border: 1px solid rgba(200,213,207,.95); border-radius: 7px; background: rgba(255,255,255,.96); color: #173a32; box-shadow: 0 3px 10px rgba(20,44,34,.16); font: 850 9px/1.2 "Manrope",sans-serif; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
.live-route-map .leaflet-tooltip-top.nova-permanent-map-label::before { border-top-color: rgba(255,255,255,.96); }
.live-route-map .nova-map-popup .leaflet-popup-content-wrapper { border: 1px solid rgba(206,219,213,.96); border-radius: 14px; background: rgba(255,255,255,.97); box-shadow: 0 14px 34px rgba(20,44,34,.2); backdrop-filter: blur(12px); }
.live-route-map .nova-map-popup .leaflet-popup-content { width: auto !important; min-width: 190px; margin: 11px 13px; }
.live-route-map .nova-map-popup .leaflet-popup-tip { background: rgba(255,255,255,.97); }
.nova-map-popup-card > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nova-map-popup-card strong { color: #173a32; font-size: 12px; line-height: 1.25; }
.nova-map-popup-badge { padding: 4px 6px; border-radius: 99px; background: #e8f5ef; color: #187653; font-size: 8px; font-weight: 900; white-space: nowrap; }
.nova-map-popup-card section { margin-top: 8px; display: grid; gap: 4px; }
.nova-map-popup-card section span { color: #64776e; font-size: 10px; line-height: 1.35; }
.nova-map-popup-action { width: 100%; min-height: 34px; margin-top: 9px; border: 0; border-radius: 9px; background: #173a32; color: #fff; font-size: 9px; font-weight: 900; }

@media (max-width: 560px) {
  .failed-resolution-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .failed-resolution-actions .retry-delivery-button { grid-column: 1 / -1; }
  .route-stage-swatches { display: none; }
}

/* =========================================================================
   YOLA ÇIKINCA SIRALI SLIDER (1-2-3) & KOCAMAN TEK SİPARİŞ EKRANI
   ========================================================================= */
.courier-huge-delivery-section { margin-top: 8px; display: flex; flex-direction: column; gap: 14px; }

/* Üst Yuvarlak Slider (1 - 2 - 3) */
.courier-circle-slider { background: #ffffff; border: 1.5px solid #dbe5e0; border-radius: 16px; padding: 14px 16px; box-shadow: 0 4px 14px rgba(18,48,36,0.05); }
.circle-slider-track { display: flex; align-items: center; justify-content: center; gap: 12px; }
.circle-step-item { display: flex; flex-direction: column; align-items: center; position: relative; }
.circle-step-line { position: absolute; top: 18px; right: 50%; width: 48px; height: 3px; background: #e0e8e4; z-index: 1; transform: translateX(-16px); }
.circle-step-line.is-filled { background: #16875b; }

.circle-step-btn { width: 38px; height: 38px; border-radius: 50%; border: 2.5px solid #d4dfda; background: #f3f7f5; color: #435e53; font-size: 15px; font-weight: 900; display: grid; place-items: center; cursor: pointer; transition: all 0.2s ease; position: relative; z-index: 2; }
.circle-step-btn.is-active { width: 44px; height: 44px; border-color: #16875b; background: #16875b; color: white; box-shadow: 0 4px 14px rgba(22,135,91,0.35); transform: scale(1.08); }
.circle-step-btn:not(.is-active):hover { border-color: #8faea1; background: #eaf1ee; }

.circle-step-label { margin-top: 6px; font-size: 10px; font-weight: 800; color: #7f9188; transition: all 0.2s ease; }
.circle-step-label.is-active { color: #16875b; font-weight: 900; font-size: 11px; }

/* KOCAMAN ODAKLANMIŞ SİPARİŞ KARTI */
.courier-huge-card { background: #ffffff; border: 2px solid #bcd1c7; border-radius: 18px; padding: 18px; box-shadow: 0 10px 30px rgba(18,48,36,0.1); display: flex; flex-direction: column; gap: 16px; }

.huge-card-header { display: flex; align-items: center; justify-content: space-between; border-bottom: 1.5px solid #eef3f0; padding-bottom: 12px; }
.huge-step-pill { display: flex; align-items: center; gap: 8px; }
.huge-step-circle { width: 26px; height: 26px; border-radius: 50%; background: #16875b; color: white; font-size: 13px; font-weight: 900; display: grid; place-items: center; }
.huge-step-title { font-size: 13px; font-weight: 900; letter-spacing: 0.04em; color: #16875b; }
.huge-order-meta { text-align: right; }
.huge-order-meta small { display: block; font-size: 9px; color: #7e8f87; }
.huge-order-code { display: block; font-size: 16px; color: #19382c; }

/* Kritik İkazlar */
.huge-warning-section { display: flex; flex-direction: column; gap: 8px; }
.huge-alert-banner { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: 10px; }
.huge-alert-banner.no-ring-banner { background: #fee2e2; border: 1.5px solid #f87171; color: #991b1b; }
.huge-alert-banner.no-ring-banner strong { display: block; font-size: 13px; font-weight: 900; }
.huge-alert-banner.no-ring-banner p { font-size: 11px; margin-top: 2px; line-height: 1.35; }
.huge-alert-banner.scheduled-banner { background: #fef3c7; border: 1.5px solid #fbbf24; color: #92400e; font-size: 12px; }
.huge-alert-banner.note-banner { background: #fffbe8; border: 1.5px dashed #e2c044; border-radius: 10px; padding: 10px 14px; }
.huge-alert-banner.note-banner small { font-size: 9px; font-weight: 900; color: #854d0e; display: block; }
.huge-alert-banner.note-banner p { font-size: 13px; font-weight: 700; color: #422006; margin-top: 2px; }

/* Adres ve Müşteri Alanı */
.huge-address-box { background: #f5f9f7; border: 1.5px solid #d3e2db; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 14px; }
.huge-box-kicker { font-size: 10px; font-weight: 900; letter-spacing: .08em; color: #5a7368; display: block; }
.huge-customer-name { font-size: 22px; font-weight: 900; color: #143628; margin: 0; }
.huge-address-line { font-size: 15px; line-height: 1.45; color: #284c3e; margin: 0; }

.huge-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }
.huge-nav-button { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 9px; background: #16875b; color: white; border-radius: 12px; font-size: 13px; font-weight: 900; text-decoration: none; box-shadow: 0 4px 14px rgba(22,135,91,0.25); }
.huge-nav-button:hover { background: #12724c; }
.huge-call-button { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 9px; background: #0284c7; color: white; border-radius: 12px; font-size: 13px; font-weight: 900; text-decoration: none; box-shadow: 0 4px 14px rgba(2,132,199,0.25); }
.huge-call-button:hover { background: #0369a1; }

/* Detaylar ve Sipariş İçeriği */
.huge-details-box { background: #ffffff; border: 1px solid #e1e9e5; border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.huge-pay-row { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px dashed #e1e9e5; padding-bottom: 10px; }
.huge-pay-left small, .huge-pay-right small { font-size: 9px; color: #7f9188; font-weight: 800; display: block; margin-bottom: 3px; }
.huge-pay-badge { background: #eaf3ef; color: #165b43; font-size: 12px; font-weight: 900; padding: 4px 10px; border-radius: 6px; }
.huge-pay-amount { font-size: 20px; font-weight: 950; color: #143628; }

.huge-items-list-box { display: flex; flex-direction: column; gap: 6px; }
.huge-items-title { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #4e685c; font-weight: 800; }
.huge-items-ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; font-size: 12px; }
.huge-items-ul li { display: flex; align-items: center; gap: 7px; background: #f8faf9; padding: 6px 10px; border-radius: 8px; }
.huge-item-qty { font-weight: 900; color: #16875b; }
.huge-item-name { font-weight: 700; color: #213c32; }
.huge-item-opt { color: #8a9992; }

/* Kocaman Butonlar */
.huge-footer-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.huge-deliver-btn { min-height: 56px; width: 100%; border: 0; border-radius: 14px; background: #16875b; color: white; font-size: 16px; font-weight: 950; letter-spacing: 0.02em; display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; box-shadow: 0 6px 20px rgba(22,135,91,0.35); }
.huge-deliver-btn:hover { background: #12724c; }
.huge-deliver-btn:disabled { opacity: .6; cursor: wait; }
.huge-fail-btn { min-height: 40px; width: 100%; border: 1.5px solid #fca5a5; border-radius: 10px; background: #fff8f7; color: #b91c1c; font-size: 12px; font-weight: 850; display: flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; }
.huge-fail-btn:hover { background: #fee2e2; }

/* Kurye görev akışı: sade rota listesi, tek teslimat odağı ve sabit işlem alanı. */
.courier-app > main { padding-bottom: 155px; }
.courier-simple-route-list { display: grid; gap: 12px; }
.courier-route-card { min-height: 142px; padding: 15px; display: grid; grid-template-columns: 42px minmax(0,1fr) 38px; align-items: stretch; gap: 13px; border: 1px solid #d8e4de; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(18,48,36,.07); }
.courier-route-card-number { width: 42px; height: 42px; display: grid; place-items: center; align-self: center; border-radius: 13px; background: #173d2f; color: #fff; font-size: 17px; font-weight: 950; }
.courier-route-card-main { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr); align-items: center; gap: 8px; }
.courier-route-point { min-width: 0; display: flex; align-items: flex-start; gap: 9px; color: #1c7756; }
.courier-route-point.customer { color: #2869a8; }
.courier-route-point > svg { margin-top: 3px; flex: 0 0 auto; }
.courier-route-point > span { min-width: 0; }
.courier-route-point small,.courier-route-point strong,.courier-route-point p { display: block; }
.courier-route-point small { margin-bottom: 3px; color: #829189; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.courier-route-point strong { color: #1c372d; font-size: 15px; line-height: 1.25; }
.courier-route-point p { margin-top: 4px; overflow: hidden; color: #6c7d75; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; }
.courier-route-connector { display: flex; align-items: center; justify-content: center; color: #91a49b; }
.courier-route-connector i { height: 1px; flex: 1; background: #cfdbd5; }
.courier-route-card .order-sla-badge { grid-column: 1 / -1; min-height: 36px; margin: 8px 0 0; }
.courier-route-reorder { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; }
.courier-route-reorder button { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #d6e2dc; border-radius: 10px; background: #f4f8f6; color: #275f49; }
.courier-route-reorder button:disabled { opacity: .3; }
.courier-focused-task { max-width: 780px; margin: 0 auto; }
.courier-focused-task .courier-huge-card { min-height: calc(100dvh - 245px); }
.huge-route-progress { padding: 6px 9px; border-radius: 99px; background: #edf5f1; color: #4f6c60; font-size: 10px; font-weight: 850; }
.huge-origin-box { padding: 14px 16px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid #cce0d6; border-radius: 13px; background: #eef8f3; color: #177452; }
.huge-origin-box > span { min-width: 0; }
.huge-origin-box small,.huge-origin-box strong,.huge-origin-box p { display: block; }
.huge-origin-box small { color: #668277; font-size: 9px; font-weight: 900; letter-spacing: .09em; }
.huge-origin-box strong { margin-top: 2px; color: #173b2e; font-size: 16px; }
.huge-origin-box p { margin-top: 3px; color: #587167; font-size: 11px; }
.courier-flow-actions { position: fixed; z-index: 1500; right: 50%; bottom: calc(76px + env(safe-area-inset-bottom)); width: min(620px,calc(100vw - 24px)); min-height: 62px; padding: 8px; transform: translateX(50%); border: 1px solid rgba(205,221,213,.95); border-radius: 17px; background: rgba(255,255,255,.97); box-shadow: 0 14px 40px rgba(11,36,25,.24); backdrop-filter: blur(14px); }
.courier-flow-actions button { min-height: 54px; border-radius: 12px; font-size: 15px; font-weight: 950; cursor: pointer; }
.courier-flow-actions button:disabled { opacity: .58; cursor: wait; }
.courier-flow-primary { width: 100%; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; background: #16875b; color: #fff; }
.courier-flow-primary.confirming { background: #0c5e3d; box-shadow: 0 0 0 3px rgba(22,135,91,.18); }
.courier-result-actions { display: grid; grid-template-columns: 1.2fr 1fr; gap: 8px; }
.courier-flow-failed { border: 1px solid #e7b6b1; background: #fff3f1; color: #ad4038; }
.courier-flow-failed.confirming { border-color: #b52f2a; background: #b93631; color: #fff; box-shadow: 0 0 0 3px rgba(185,54,49,.15); }

@media (max-width: 700px) {
  .courier-route-card { min-height: 180px; padding: 13px; grid-template-columns: 36px minmax(0,1fr) 36px; gap: 9px; }
  .courier-route-card-number { width: 36px; height: 36px; border-radius: 11px; font-size: 15px; }
  .courier-route-card-main { grid-template-columns: 1fr; gap: 5px; }
  .courier-route-connector { height: 18px; justify-content: flex-start; padding-left: 2px; }
  .courier-route-connector i { display: none; }
  .courier-route-connector svg { transform: rotate(90deg); }
  .courier-route-point strong { font-size: 14px; }
  .courier-route-point p { font-size: 10px; }
  .courier-route-reorder button { width: 34px; height: 34px; }
  .courier-focused-task .courier-huge-card { min-height: auto; padding: 14px; border-radius: 15px; }
  .courier-flow-actions { bottom: calc(72px + env(safe-area-inset-bottom)); }
  .courier-flow-actions button { min-height: 52px; font-size: 14px; }
}

/* Dar telefonlarda uzun dükkan/müşteri adları ve form alanları yatay taşma üretmez. */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .courier-page, .courier-app, .courier-app > main, .courier-simple-route-list,
  .courier-route-card, .courier-route-card-main, .courier-route-point,
  .shop-integrations-shell, .shop-integrations-intro, .shop-integration-list,
  .shop-integration-card, .shop-integration-card-head, .shop-credential-form,
  .shop-advanced-fields { min-width: 0; max-width: 100%; }
  .courier-route-card, .shop-integration-card { overflow: hidden; }
  .courier-route-point strong, .courier-route-point p,
  .shop-integrations-intro p, .shop-integration-card-head p,
  .shop-integration-card-head h2, .integration-field-help { overflow-wrap: anywhere; }
  .shop-integration-card-head > div:nth-child(2) { min-width: 0; }
  .shop-credential-form input, .shop-credential-form select { min-width: 0; max-width: 100%; }
}

/* Telefon ekranında kurye seçimi her zaman erişilebilir ve yatay kaydırılabilir. */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-map-couriers { right: 8px; left: 8px; width: auto; max-height: 174px; padding: 10px; }
  .admin-map-couriers .candidate-list { max-height: 105px; display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; }
  .admin-map-couriers .candidate-list > button,
  .admin-map-couriers .candidate-list > button:nth-child(n+3),
  .admin-map-couriers .candidate-list > button:last-child { width: min(285px,82vw); height: 68px; display: flex; flex: 0 0 auto; scroll-snap-align: start; }
  .admin-map-couriers .candidate-package-summary { max-width: 145px; }
}

/* Restaurant operations */
.restaurant-page{padding:30px;max-width:1500px;margin:0 auto}.restaurant-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:22px}.restaurant-hero h1{font-size:34px;margin:5px 0}.restaurant-hero p{color:var(--text-muted);margin:0}.restaurant-hero-stats{display:flex;gap:10px}.restaurant-hero-stats span{min-width:110px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);display:flex;flex-direction:column}.restaurant-hero-stats strong{font-size:22px}.restaurant-hero-stats small{color:var(--text-muted)}
.restaurant-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px;margin-bottom:20px}.restaurant-tabs button{display:flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:12px}.restaurant-tabs button.active{background:var(--text);color:var(--background)}.restaurant-notice{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(34,197,94,.12);margin-bottom:18px}.restaurant-notice.error{background:rgba(239,68,68,.12)}.restaurant-notice button{border:0;background:transparent;color:inherit}
.restaurant-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.restaurant-action-grid>button{min-height:150px;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:20px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.restaurant-action-grid>button strong{font-size:20px}.restaurant-action-grid>button small{color:var(--text-muted)}.restaurant-action-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--surface-strong)}
.restaurant-two-col{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:18px}.section-title{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.section-title h2{margin:2px 0}.restaurant-table-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.restaurant-table-grid button{min-height:105px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:5px}.restaurant-table-grid button.occupied{box-shadow:inset 0 0 0 1px rgba(239,68,68,.35)}.restaurant-table-grid button.selected{outline:2px solid currentColor}.restaurant-table-grid button small{color:var(--text-muted)}.restaurant-table-grid button span{margin-top:auto;font-weight:700}
.restaurant-check-panel,.pos-card,.restaurant-form{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:18px}.check-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.check-row>div:first-child{display:flex;flex-direction:column}.check-row small{color:var(--text-muted)}.check-row>div:last-child{display:flex;gap:6px}.check-row button,.menu-admin-list button,.simple-list button{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);border-radius:9px;padding:7px 10px}.check-row button.danger{color:#ef4444}.menu-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.menu-picker button{display:flex;align-items:center;gap:9px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);padding:11px;border-radius:12px;text-align:left}.menu-picker span{display:flex;flex-direction:column}.menu-picker small{color:var(--text-muted)}
.inline-form{display:flex;gap:8px;flex-wrap:wrap}.inline-form input,.inline-form select,.restaurant-form input,.restaurant-form select,.restaurant-form textarea{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);border-radius:10px;padding:10px 12px;min-width:0}.inline-form button,.restaurant-form button,.dialog-actions button{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);background:var(--text);color:var(--background);border-radius:10px;padding:10px 13px;font-weight:700}.restaurant-form{display:flex;flex-direction:column;gap:10px}.restaurant-form h3{margin:0 0 4px}.restaurant-form textarea{min-height:80px;resize:vertical}.restaurant-form small,.hint{color:var(--text-muted)}
.menu-admin-list,.simple-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.menu-admin-list>div,.simple-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:11px 12px}.menu-admin-list span,.simple-list span{display:flex;flex-direction:column}.menu-admin-list small,.simple-list small{color:var(--text-muted)}.simple-list em{font-style:normal;color:var(--text-muted)}
.kitchen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.kitchen-grid article{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:16px}.kitchen-grid article.done{opacity:.65}.kitchen-grid header{display:flex;justify-content:space-between}.kitchen-grid h3{font-size:21px;margin:15px 0 8px}.kitchen-grid p{color:var(--text-muted)}.kitchen-grid button{width:100%;display:flex;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px;font-weight:700}.restaurant-empty{padding:30px;border:1px dashed var(--border);border-radius:14px;color:var(--text-muted)}
.pos-card{max-width:760px;margin:12px 0 22px}.pos-card>div{display:flex;align-items:center;gap:12px}.pos-card>div span{display:flex;flex-direction:column}.pos-card p{color:var(--text-muted)}.caller-pop{display:flex;gap:14px;align-items:center;border:1px solid var(--border);background:var(--surface);padding:16px;border-radius:16px;margin:12px 0 18px}.caller-pop h3{font-size:23px;margin:2px 0}.caller-pop p{margin:0;color:var(--text-muted)}.delivery-mode-switch{display:flex;gap:7px}.delivery-mode-switch button{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 12px;border-radius:10px}.delivery-mode-switch button.active{background:var(--text);color:var(--background)}
.courier-fixed-opportunities{margin:12px 14px;border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow:hidden}.courier-fixed-title{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.courier-fixed-title span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.courier-fixed-opportunities article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.courier-fixed-opportunities article:last-child{border-bottom:0}.courier-fixed-opportunities article>div{display:flex;flex-direction:column;gap:3px}.courier-fixed-opportunities article>div:last-child{align-items:flex-end}.courier-fixed-opportunities small,.courier-fixed-opportunities span{color:var(--text-muted)}.courier-fixed-opportunities button{border:0;border-radius:9px;padding:8px 12px;font-weight:800}
.waiter-login{min-height:100dvh;display:grid;place-items:center;padding:20px;background:var(--background)}.waiter-login-card{width:min(420px,100%);border:1px solid var(--border);background:var(--surface);border-radius:22px;padding:26px}.waiter-logo{display:flex;gap:9px;align-items:center}.waiter-login-card h1{margin:22px 0 7px}.waiter-login-card p{color:var(--text-muted)}.waiter-login-card form{display:flex;flex-direction:column;gap:10px}.waiter-login-card input{font-size:24px;text-align:center;letter-spacing:5px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);border-radius:12px;padding:12px}.waiter-login-card button{border:0;border-radius:11px;padding:12px;font-weight:800}.waiter-error{background:rgba(239,68,68,.13);padding:10px 12px;border-radius:10px;color:#ef4444}
.waiter-app{min-height:100dvh;background:var(--background);padding-bottom:72px}.waiter-app>header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface)}.waiter-app>header>div{display:flex;flex-direction:column}.waiter-app>header span,.waiter-app>header small{font-size:11px;color:var(--text-muted)}.waiter-app>header button{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);width:38px;height:38px;border-radius:10px}.waiter-tables,.waiter-order{padding:14px}.waiter-tables h2,.waiter-order h2{margin:0 0 10px}.waiter-tables>div{display:flex;gap:8px;overflow:auto;padding-bottom:3px}.waiter-tables button{min-width:95px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:13px;padding:11px;display:flex;flex-direction:column;text-align:left}.waiter-tables button.active{outline:2px solid currentColor}.waiter-tables button.occupied{box-shadow:inset 0 0 0 1px rgba(239,68,68,.4)}.waiter-tables small{color:var(--text-muted)}.waiter-order{border-top:1px solid var(--border)}.waiter-order-head{display:flex;justify-content:space-between;align-items:end}.waiter-order-head span{color:var(--text-muted);font-size:12px}.waiter-order-head>strong{font-size:20px}.waiter-line{display:grid;grid-template-columns:35px 1fr;gap:6px;padding:9px 0;border-bottom:1px solid var(--border)}
.waiter-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.waiter-menu button{min-height:72px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:13px;padding:11px;text-align:left}.waiter-menu span{display:flex;flex-direction:column}.waiter-menu small{color:var(--text-muted)}.waiter-send{position:sticky;bottom:76px;width:100%;margin-top:14px;border:0;border-radius:12px;padding:13px;font-weight:800;display:flex;justify-content:center;gap:8px}.waiter-bottom{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:var(--surface);border-top:1px solid var(--border)}.waiter-bottom span{display:flex;align-items:center;gap:7px;font-weight:700}.waiter-bottom small{color:var(--text-muted)}
@media(max-width:900px){.restaurant-page{padding:18px 14px}.restaurant-hero{align-items:flex-start;flex-direction:column}.restaurant-hero-stats{width:100%;overflow:auto}.restaurant-hero-stats span{min-width:100px}.restaurant-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-two-col{grid-template-columns:1fr}.restaurant-table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kitchen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form{flex-direction:column}.inline-form input,.inline-form select{width:100%}}
@media(max-width:560px){.restaurant-action-grid,.kitchen-grid{grid-template-columns:1fr 1fr}.restaurant-action-grid>button{min-height:125px;padding:15px}.restaurant-table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-picker{grid-template-columns:1fr}.restaurant-hero h1{font-size:28px}.check-row{grid-template-columns:1fr auto}.check-row>div:last-child{grid-column:1/-1}.waiter-menu{grid-template-columns:1fr 1fr}}
.restaurant-page,.waiter-app,.waiter-login,.courier-fixed-opportunities{--background:var(--cream);--surface:#fff;--surface-strong:var(--soft);--border:var(--line);--text:var(--ink);--text-muted:var(--muted)}
html[data-theme="dark"] :is(.restaurant-page,.waiter-app,.waiter-login,.courier-fixed-opportunities){--background:var(--nova-dark-canvas);--surface:var(--nova-dark-surface);--surface-strong:var(--nova-dark-raised);--border:var(--nova-dark-line);--text:var(--nova-dark-ink);--text-muted:var(--nova-dark-muted)}
html[data-theme="dark"] :is(.restaurant-page,.waiter-app,.waiter-login){background:var(--nova-dark-canvas);color:var(--nova-dark-ink)}
.admin-shop-form-grid select{height:40px;border:1px solid #cfdbd5;border-radius:9px;padding:0 11px;background:#fff;color:#18352c}

.admin-fixed-team{margin-top:14px;padding:14px;border:1px solid #dce6e1;border-radius:12px;background:#f8faf9}.admin-fixed-list,.admin-fixed-candidates{display:grid;gap:8px;margin-top:10px}.admin-fixed-list>div,.admin-fixed-candidates>button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #dce6e1;border-radius:10px;background:#fff}.admin-fixed-list span,.admin-fixed-candidates button>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.admin-fixed-list small,.admin-fixed-candidates small{font-size:10px;color:#72827a}.admin-fixed-list button,.admin-fixed-candidates button{font-size:11px;font-weight:800}.admin-fixed-list>div>button{border:0;border-radius:8px;padding:7px 9px;background:#fff0ed;color:#a63b30}.admin-fixed-candidates>strong{font-size:12px;margin-top:4px}.admin-fixed-candidates>button{cursor:pointer;text-align:left;color:#244c3d}.admin-fixed-candidates>button>svg{margin-left:auto}.admin-fixed-empty{margin:0;color:#7b8983;font-size:12px}
html[data-theme="dark"] :is(.admin-fixed-team,.admin-fixed-list>div,.admin-fixed-candidates>button){background:var(--surface);border-color:var(--line);color:var(--ink)}

.bridge-key-card{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft);display:grid;gap:10px}.bridge-key-card>div:first-child{display:flex;flex-direction:column;gap:3px}.bridge-key-card small{color:var(--muted);font-size:11px}.bridge-key-card>button,.bridge-key-once>button{border:0;border-radius:9px;padding:9px 11px;background:#177653;color:white;font-weight:800}.bridge-key-once{padding:10px;border-radius:10px;background:#fff7df;display:grid;gap:7px}.bridge-key-once code{overflow:auto;padding:9px;border-radius:8px;background:#18231f;color:#e8fff5;font-size:11px}.bridge-key-error{color:#b23f38!important}
html[data-theme="dark"] .bridge-key-card{background:var(--surface);border-color:var(--line)}html[data-theme="dark"] .bridge-key-once{background:#514733}
.dialog-actions .danger{background:#fff0ed;color:#a63b30;border:1px solid #efcbc6}

.restaurant-finance-grid,.restaurant-cash-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 22px}.restaurant-finance-grid>div,.restaurant-cash-summary>span{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:5px}.restaurant-finance-grid small,.restaurant-cash-summary small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.restaurant-finance-grid strong,.restaurant-cash-summary strong{font-size:16px}.restaurant-cash-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.caller-actions{margin-left:auto;display:flex;gap:7px}.caller-actions button,.menu-admin-list>div>div button{border:0;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;background:var(--soft);color:var(--ink)}.menu-admin-list>div>div{display:flex;gap:6px}
html[data-theme="dark"] :is(.restaurant-finance-grid>div,.restaurant-cash-summary>span){background:var(--surface);border-color:var(--line)}
@media(max-width:850px){.restaurant-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-cash-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.restaurant-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-cash-summary{grid-template-columns:1fr 1fr}.caller-actions{width:100%;margin-left:0}.caller-pop{flex-wrap:wrap}}

.table-transfer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.table-transfer span{font-size:11px;font-weight:800}.table-transfer select{min-width:170px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 9px;color:var(--ink)}.waiter-line strong{display:flex;flex:1;flex-direction:column;gap:2px}.waiter-line strong small{font-size:10px;font-weight:500;color:var(--muted)}.waiter-line>button{border:0;border-radius:8px;padding:7px 10px;background:#edf3f0;color:#285846;font-size:11px;font-weight:800}
html[data-theme="dark"] .table-transfer select{background:var(--surface-input);color:var(--ink);border-color:var(--line)}
@media(max-width:520px){.table-transfer{align-items:stretch;flex-direction:column}.table-transfer select{width:100%}}

.restaurant-embedded{max-width:none;margin:0;padding-top:24px}.restaurant-settings-card{grid-column:2;padding:18px;display:flex;flex-direction:column;gap:14px}.restaurant-table-count-setting{display:flex;align-items:center;justify-content:space-between;gap:16px}.restaurant-table-count-setting span{font-weight:800}.restaurant-table-count-setting input{width:110px;border:1px solid #d9e2dd;border-radius:10px;padding:10px 12px;background:var(--card,#fff);color:inherit}.settings-save-button{align-self:flex-start;display:flex;align-items:center;gap:7px;border:0;border-radius:10px;padding:10px 13px;background:#177653;color:#fff;font-weight:800}.settings-save-button:disabled{opacity:.45}.caller-phone-setup{margin-bottom:18px}
.restaurant-printer-settings{min-width:0}.restaurant-printer-settings form,.restaurant-printer-settings fieldset{display:flex;flex-direction:column;gap:18px;min-width:0}.restaurant-printer-settings fieldset{border:0;padding:0;margin:0}.restaurant-printer-settings h3,.restaurant-printer-settings p{margin:0}.restaurant-printer-settings p,.restaurant-printer-settings small{font-size:13px;line-height:1.6;color:var(--muted,#66766d)}.restaurant-printer-settings .restaurant-auto-print{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:inherit;padding:14px;border:1px solid var(--border,#d9e2dd);border-radius:12px;cursor:pointer}.restaurant-auto-print input{flex:none;width:20px;height:20px;margin:2px 0;accent-color:#177653}.restaurant-auto-print span{display:flex;flex-direction:column;gap:5px;min-width:0}.restaurant-printer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.restaurant-printer-add{display:flex;align-items:center;gap:6px;min-height:42px;border:1px solid var(--border,#d9e2dd);border-radius:10px;padding:8px 12px;background:transparent;color:inherit;font-weight:700}.restaurant-printer-list{display:grid;gap:12px}.restaurant-printer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--border,#d9e2dd);border-radius:12px}.restaurant-printer-row label,.restaurant-printer-routes label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px;font-weight:700}.restaurant-printer-settings input:not([type=checkbox]),.restaurant-printer-settings select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid var(--border,#d9e2dd);border-radius:9px;padding:9px 10px;background:var(--card,#fff);color:inherit;font:inherit}.restaurant-printer-remove{justify-self:end;grid-column:1/-1;display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--border,#d9e2dd);border-radius:9px;background:transparent;color:inherit}.restaurant-printer-routes{display:grid;gap:14px}.restaurant-station-printers{border-top:1px solid var(--border,#d9e2dd);padding-top:16px}.restaurant-station-printers summary{font-weight:700;cursor:pointer;min-height:36px}.restaurant-station-printers p{margin:10px 0 16px}.restaurant-print-error{color:#da655e!important;overflow-wrap:anywhere}.restaurant-printer-settings .settings-save-button{min-height:44px;white-space:normal}
@media(max-width:480px){.restaurant-printer-row{grid-template-columns:minmax(0,1fr)}.restaurant-printer-heading{flex-wrap:wrap}.restaurant-printer-settings{padding:14px}.restaurant-printer-settings .settings-save-button{align-self:stretch;justify-content:center}}
@media(max-width:900px){.restaurant-settings-card{grid-column:auto}.restaurant-embedded{padding-top:16px}}

.admin-project-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--cream);color:var(--ink)}
.admin-project-gate>div{width:min(520px,100%);padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(20,40,32,.12)}
.admin-project-gate h1{margin:10px 0 8px;font-size:34px}.admin-project-gate p{color:var(--muted);line-height:1.6}.admin-project-gate form{display:flex;gap:10px;margin-top:22px}.admin-project-gate input{flex:1;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font:inherit}.admin-project-gate button{display:flex;align-items:center;gap:7px;border:0;border-radius:12px;padding:13px 16px;background:#177653;color:#fff;font-weight:800}
.admin-top-project{display:flex;align-items:center;gap:7px;margin-left:auto;padding:6px 9px;border:1px solid var(--line);border-radius:11px;background:#fff}.admin-top-project select{max-width:160px;border:0;outline:0;background:transparent;color:var(--ink);font-weight:800}
.admin-courier-mini{position:relative;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#fff}.admin-courier-mini>strong{display:flex;align-items:center;gap:5px;padding:0 7px;font-size:11px;white-space:nowrap}.admin-courier-mini>div>button{display:flex;align-items:center;gap:5px;border:0;border-radius:8px;padding:7px 8px;background:var(--soft);color:var(--ink);font-size:10px;font-weight:800}.admin-courier-mini>div>button b{min-width:17px;text-align:center;border-radius:6px;background:#fff;padding:2px 4px}
.admin-courier-mini-list{position:absolute;z-index:50;top:calc(100% + 7px);right:0;width:245px;display:grid;gap:5px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(20,40,32,.16)}.admin-courier-mini-list>span{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;padding:8px;border-radius:8px;background:var(--soft)}.admin-courier-mini-list i{width:7px;height:7px;border-radius:50%;background:#87958f}.admin-courier-mini-list i.available{background:#23a36d}.admin-courier-mini-list i.road{background:#ef9f27}.admin-courier-mini-list em{font-style:normal;font-size:11px;font-weight:800}.admin-courier-mini-list small{font-size:9px;color:var(--muted)}
.admin-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-project-grid article{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}.admin-project-grid article>div:nth-child(2){display:flex;flex-direction:column}.admin-project-grid article>div:nth-child(2) span{font-size:11px;color:var(--muted)}.admin-project-grid article>button{grid-column:1/-1;border:1px solid var(--line);border-radius:9px;padding:8px;background:var(--soft);font-weight:800}.project-metrics{grid-column:1/-1;display:flex;gap:8px}.project-metrics small{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:var(--soft);color:var(--muted)}.project-select{min-width:180px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;color:var(--ink)}
@media(max-width:1100px){.admin-courier-mini>strong{display:none}.admin-courier-mini>div>button span{display:none}.admin-top-project select{max-width:110px}.admin-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-project-gate form{flex-direction:column}.admin-project-grid{grid-template-columns:1fr}.admin-courier-mini{display:none}.admin-top-project{margin-left:0}.admin-top-project select{max-width:140px}}
html[data-theme="dark"] :is(.admin-project-gate,.admin-project-grid,.admin-courier-mini,.admin-top-project){--line:var(--nova-dark-line);--soft:var(--nova-dark-raised);--ink:var(--nova-dark-ink);--muted:var(--nova-dark-muted)}html[data-theme="dark"] .admin-project-gate{background:var(--nova-dark-canvas)}html[data-theme="dark"] :is(.admin-project-gate>div,.admin-project-grid article,.admin-courier-mini,.admin-top-project,.admin-courier-mini-list,.project-select){background:var(--nova-dark-surface);color:var(--nova-dark-ink)}

/* Restaurant POS home: touch-first, simple daily operation screen */
.restaurant-pos-home{min-height:calc(100vh - 88px);padding:28px 32px 20px;background:linear-gradient(180deg,var(--page-bg),var(--panel-soft));display:flex;flex-direction:column;gap:22px}
.restaurant-pos-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:24px 28px;box-shadow:0 12px 32px rgba(0,0,0,.06)}
.restaurant-pos-welcome h2{margin:7px 0 5px;font-size:30px;letter-spacing:-.03em}.restaurant-pos-welcome p{margin:0;color:var(--muted)}
.restaurant-pos-welcome>div:last-child{min-width:180px;text-align:right}.restaurant-pos-welcome>div:last-child strong{display:block;font-size:26px}.restaurant-pos-welcome>div:last-child small{color:var(--muted)}
.restaurant-pos-tiles{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px;flex:1;align-content:start}
.pos-tile{min-height:148px;border:1px solid var(--border);border-radius:22px;background:var(--panel);padding:20px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;box-shadow:0 10px 24px rgba(0,0,0,.05);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.pos-tile:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.08)}.pos-tile:active{transform:scale(.985)}
.pos-tile>span{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--panel-soft);border:1px solid var(--border)}
.pos-tile strong{font-size:20px;letter-spacing:-.02em}.pos-tile small{color:var(--muted);font-size:13px;line-height:1.35}
.pos-tile.tables>span,.pos-tile.cashier>span{color:#16875b}.pos-tile.orders>span,.pos-tile.couriers>span{color:#1677d2}.pos-tile.kitchen>span{color:#d07a00}.pos-tile.caller>span{color:#c54949}.pos-tile.menu>span,.pos-tile.waiters>span{color:#7c4bc7}.pos-tile.platforms>span{color:#0f8d91}
.restaurant-pos-footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;padding:0 4px}
@media(max-width:1100px){.restaurant-pos-tiles{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){.restaurant-pos-home{padding:16px}.restaurant-pos-welcome{padding:18px;align-items:flex-start}.restaurant-pos-welcome>div:last-child{min-width:auto}.restaurant-pos-welcome h2{font-size:24px}.restaurant-pos-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pos-tile{min-height:128px;padding:16px}.restaurant-pos-footer{flex-wrap:wrap;gap:8px}}
@media(max-width:430px){.restaurant-pos-welcome{flex-direction:column}.restaurant-pos-welcome>div:last-child{text-align:left}.pos-tile{min-height:116px}.pos-tile strong{font-size:17px}.pos-tile>span{width:44px;height:44px;border-radius:13px}}


/* One install card position is shared by every mobile page. */
.pwa-install-card { --pwa-surface:#fff; --pwa-line:#d7e1dd; --pwa-ink:#173a32; --pwa-muted:#64776e; --pwa-soft:#f3f7f5; position:fixed; right:18px; bottom:18px; z-index:1200; width:min(360px,calc(100vw - 28px)); display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:14px 16px; border:1px solid var(--pwa-line); border-radius:18px; background:var(--pwa-surface); color:var(--pwa-ink); box-shadow:0 18px 50px rgba(17,49,41,.18); }
.pwa-install-card strong { display:block; font-size:14px; }
.pwa-install-card small { display:block; margin-top:3px; color:var(--pwa-muted); font-size:12px; line-height:1.35; }
.pwa-install-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#173a32; color:#fff; }
.pwa-install-action { border:0; border-radius:12px; padding:9px 11px; background:#173a32; color:#fff; font-weight:800; font-size:12px; white-space:nowrap; }
.pwa-install-close { position:absolute; top:-8px; right:-8px; width:26px; height:26px; padding:0; border:1px solid var(--pwa-line); border-radius:50%; background:var(--pwa-surface); display:grid; place-items:center; color:var(--pwa-muted); }
.pwa-install-help { grid-column:1/-1; margin:2px 0 0; padding:10px 12px; border-radius:12px; background:var(--pwa-soft); color:var(--pwa-ink); font-size:12px; line-height:1.45; }
.pwa-install-help b { font-weight:800; }
.pwa-install-card button:focus-visible { outline:2px solid #16875b; outline-offset:3px; }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) { .pwa-install-card { display:none; } }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .pwa-install-card { left:8px; right:8px; bottom:calc(62px + env(safe-area-inset-bottom)); width:auto; min-height:48px; grid-template-columns:30px minmax(0,1fr) auto; gap:7px; padding:8px 24px 8px 8px; border-radius:12px; box-shadow:0 9px 28px rgba(17,49,41,.16); }
 .pwa-install-card strong { font-size:10px; line-height:1.25; }
 .pwa-install-card small { display:none; }
 .pwa-install-icon { width:30px; height:30px; border-radius:9px; }
 .pwa-install-icon svg { width:16px; height:16px; }
 .pwa-install-action { min-height:32px; padding:0 8px; border-radius:8px; font-size:9px; }
 .pwa-install-close { top:-6px; right:-3px; width:22px; height:22px; }
 .pwa-install-close svg { width:13px; height:13px; }
 .pwa-install-help { position:absolute; right:0; bottom:calc(100% + 7px); left:0; max-height:calc(100svh - 170px); overflow:auto; margin:0; padding:10px; border:1px solid var(--pwa-line); box-shadow:0 8px 24px rgba(17,49,41,.14); font-size:11px; }
 .pwa-install-card[data-pwa-context="live"] { bottom:calc(102px + env(safe-area-inset-bottom) + var(--nova-queue-height,38px)); }
}

/* UI audit: local theme controls; no global floating theme button. */
.waiter-login{position:relative}.waiter-theme-toggle{position:fixed;top:calc(var(--app-banner-height,0px) + 14px);right:14px;z-index:40}
@media(max-width:600px){.waiter-theme-toggle{top:calc(var(--app-banner-height,0px) + 10px);right:10px}}

.admin-project-gate{position:relative}.admin-project-theme{position:fixed;top:calc(var(--app-banner-height,0px) + 14px);right:14px;z-index:40}


/* Admin mobile workspace v2 */
.admin-mobile-ops-tabs { display: none; }
.admin-courier-filters { margin: 8px 0; display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; }
.admin-courier-filters::-webkit-scrollbar { display: none; }
.admin-courier-filters button { min-height: 30px; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; border: 1px solid #dce6e1; border-radius: 8px; background: #f6f8f7; color: #60736a; font-size: 9px; font-weight: 850; }
.admin-courier-filters button b { min-width: 18px; height: 18px; padding: 0 4px; display: grid; place-items: center; border-radius: 9px; background: #e9efec; font-size: 8px; }
.admin-courier-filters button.active { border-color: #64a88c; background: #e7f6ef; color: #146f4e; }
.admin-courier-filters button.active b { background: #16875b; color: #fff; }

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-shell-layout { min-height: calc(100dvh - var(--app-banner-height, 0px)); }
  .admin-shell-layout > .admin-mobile-nav { z-index: 3000; height: calc(52px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); justify-content: stretch; box-shadow: 0 -8px 24px rgba(18,48,36,.08); }
  .admin-shell-layout > .admin-mobile-nav a,
  .admin-shell-layout > .admin-mobile-nav .mobile-nav-theme { min-width: 0; flex: 1 1 0; max-width: none; padding: 5px 1px; gap: 3px; }
  .admin-shell-layout > .admin-mobile-nav a { font-size: 8px; }
  .admin-shell-layout > .admin-mobile-nav a svg,
  .admin-shell-layout > .admin-mobile-nav .mobile-nav-theme svg { width: 18px; height: 18px; }
  .admin-shell-layout > .admin-mobile-nav .mobile-nav-theme > span { font-size: 0; }
  .admin-shell-layout > .admin-mobile-nav .mobile-nav-theme > span::after { content: "Tema"; font-size: 8px; font-weight: 800; }
  .admin-shell-content { padding-bottom: calc(52px + env(safe-area-inset-bottom)); }

  .admin-map-main { height: calc(100dvh - 64px - var(--app-banner-height, 0px)); }
  .admin-map-topbar { top: 7px; height: 50px; padding: 0 8px; gap: 6px; border-radius: 12px; }
  .admin-map-topbar > div:first-child { display: none; }
  .admin-map-topbar .admin-top-project { min-width: 0; flex: 1; margin: 0; padding: 4px 7px; }
  .admin-map-topbar .admin-top-project svg { flex: 0 0 auto; }
  .admin-map-topbar .admin-top-project select { width: 100%; max-width: none; min-width: 0; font-size: 12px !important; }
  .admin-map-topbar .admin-courier-mini { display: none; }
  .admin-map-topbar .ops-top-actions { margin-left: auto; gap: 4px; }
  .admin-map-topbar .ops-top-actions .theme-toggle,
  .admin-map-topbar .ops-top-actions > button { width: 36px; height: 36px; }
  .admin-map-topbar .ops-top-actions .live-operation,
  .admin-map-topbar .ops-top-actions .shift-admin-shortcut { display: none; }

  .admin-mobile-ops-tabs { position: absolute; z-index: 860; top: 63px; right: 8px; left: 8px; height: 40px; padding: 3px; display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; border: 1px solid rgba(215,226,220,.97); border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 7px 22px rgba(22,45,36,.11); backdrop-filter: blur(12px); }
  .admin-mobile-ops-tabs button { min-width: 0; border: 0; border-radius: 8px; background: transparent; color: #718078; display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 10px; font-weight: 900; }
  .admin-mobile-ops-tabs button b { min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border-radius: 9px; background: #edf1ef; font-size: 8px; }
  .admin-mobile-ops-tabs button.active { background: #e7f6ef; color: #146f4e; }
  .admin-mobile-ops-tabs button.active b { background: #16875b; color: #fff; }

  .admin-map-stats { top: 109px; right: 8px; left: 8px; height: 38px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; overflow: visible; pointer-events: auto; }
  .admin-map-stats > div { min-width: 0; min-height: 38px; padding: 4px 6px; display: flex; align-items: center; justify-content: space-between; gap: 4px; border-radius: 8px; }
  .admin-map-stats span { min-width: 0; overflow: hidden; font-size: 6.5px; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }
  .admin-map-stats strong { flex: 0 0 auto; font-size: 12px; line-height: 1; }
  .admin-map-stats small { display: none; }

  .admin-map-toolbar { top: 153px; left: 8px; min-width: 190px; max-width: calc(100% - 16px); min-height: 42px; padding: 6px 9px; }
  .admin-map-toolbar .section-kicker { font-size: 7px; }
  .admin-map-toolbar strong { max-width: 210px; font-size: 10px; }
  .admin-route-plan { top: 201px; right: 8px; left: 8px; min-width: 0; min-height: 46px; }
  .admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { top: 253px; left: 8px; }

  .admin-map-orders,
  .admin-map-couriers { transition: opacity .12s ease, transform .12s ease; }
  .mobile-view-map .admin-map-orders,
  .mobile-view-map .admin-map-couriers { display: none; }
  .mobile-view-map .admin-map-canvas > .map-legend { right: 8px; bottom: 16px; }

  .mobile-view-queue .admin-map-toolbar,
  .mobile-view-queue .admin-route-plan,
  .mobile-view-queue .admin-map-couriers,
  .mobile-view-queue .admin-map-canvas > .map-legend { display: none; }
  .mobile-view-queue .admin-map-orders { top: 153px; right: 8px; bottom: 8px; left: 8px; height: auto; width: auto; border-radius: 13px; }
  .mobile-view-queue .admin-map-orders .panel-heading { height: 50px; }
  .mobile-view-queue .admin-map-orders .dispatch-list { height: calc(100% - 50px); }
  .mobile-view-queue .admin-map-orders .dispatch-card { padding: 10px; }

  .mobile-view-couriers .admin-map-toolbar,
  .mobile-view-couriers .admin-route-plan,
  .mobile-view-couriers .admin-map-orders,
  .mobile-view-couriers .admin-map-canvas > .map-legend { display: none; }
  .mobile-view-couriers .admin-map-couriers { top: 153px; right: 8px; bottom: 8px; left: 8px; width: auto; max-height: none; padding: 9px; overflow: auto; border-radius: 12px; }
  .mobile-view-couriers .admin-map-couriers .candidate-title strong { font-size: 11px; }
  .mobile-view-couriers .admin-map-couriers .candidate-title span { display: none; }
  .mobile-view-couriers .admin-courier-filters { margin: 6px 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 3px; overflow: visible; }
  .mobile-view-couriers .admin-courier-filters button { width: 100%; min-width: 0; min-height: 26px; padding: 0 2px; justify-content: center; gap: 2px; font-size: 7px; }
  .mobile-view-couriers .admin-courier-filters button b { min-width: 14px; height: 14px; padding: 0 3px; font-size: 7px; }
  .mobile-view-couriers .admin-map-couriers .candidate-list { max-height: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; overflow: visible; }
  .mobile-view-couriers .admin-map-couriers .candidate-list > button,
  .mobile-view-couriers .admin-map-couriers .candidate-list > button:nth-child(n+3),
  .mobile-view-couriers .admin-map-couriers .candidate-list > button:last-child { width: 100%; height: 46px; padding: 5px 6px; gap: 5px; display: flex; border-radius: 7px; }
  .mobile-view-couriers .admin-map-couriers .candidate-avatar { width: 24px; height: 24px; border-radius: 7px; }
  .mobile-view-couriers .admin-map-couriers .candidate-avatar svg { width: 13px; height: 13px; }
  .mobile-view-couriers .admin-map-couriers .candidate-list strong { font-size: 8px; }
  .mobile-view-couriers .admin-map-couriers .candidate-list span { margin-top: 1px; font-size: 6.5px; }
  .mobile-view-couriers .admin-map-couriers .candidate-distance { display: none; }
  .mobile-view-couriers .admin-map-couriers .candidate-list button > svg { width: 13px; height: 13px; }
  .mobile-view-couriers .admin-map-couriers .candidate-package-summary { display: none; }
  .mobile-view-couriers .admin-map-couriers .assign-button { position: sticky; bottom: 0; margin-top: 10px; min-height: 48px; box-shadow: 0 -8px 18px rgba(255,255,255,.96); }

  .admin-shops-shell, .reports-shell, .admin-projects-shell { padding-bottom: 84px; }
  .admin-shops-heading { padding: 18px 14px 12px; align-items: stretch; gap: 12px; flex-direction: column; }
  .admin-shops-heading h1 { font-size: 24px; }
  .admin-shops-heading p { font-size: 11px; line-height: 1.45; }
  .admin-shops-heading > button { width: 100%; min-height: 44px; justify-content: center; }
  .shift-management-guide { margin: 0 14px 12px; padding: 10px 11px; }
  .admin-shops-list, .admin-courier-list { padding: 0 14px; }
  .admin-shops-list article, .admin-courier-list article { padding: 12px; border-radius: 12px; }
  .admin-shop-main strong { font-size: 13px; }
  .admin-shop-main span, .admin-shop-main small { font-size: 10px; }
  .admin-shop-numbers { gap: 6px; }
  .admin-shop-numbers span { padding: 6px 8px; font-size: 9px; }
  .courier-account-state strong { font-size: 11px; }
  .courier-account-state small { font-size: 9px; }
  .courier-row-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .courier-row-actions button { min-height: 38px; justify-content: center; white-space: normal; }
  .courier-row-actions .shift-edit-button { grid-column: 1 / -1; }

  .reports-shell { padding-bottom: 84px; }
  .reports-hero { padding: 18px 14px 12px; gap: 12px; align-items: flex-start; flex-direction: column; }
  .reports-hero h1 { font-size: 24px; }
  .range-switch { width: 100%; }
  .range-switch button { flex: 1; min-height: 40px; }
  .report-metrics { padding: 0 14px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .report-metric { min-height: 76px; padding: 10px; }
  .report-metric > span { width: 30px; height: 30px; }
  .report-metric small { font-size: 9px; }
  .report-metric strong { font-size: 17px; }
  .report-layout { padding: 0 14px; grid-template-columns: 1fr; }
  .history-panel { margin: 12px 14px 0; }
  .simple-history article { grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .simple-history article > div:last-child { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; }

  .admin-shop-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  .admin-shop-dialog > header { padding: 14px; }
  .admin-shop-dialog form { overflow-y: auto; }
  .admin-shop-form-grid { grid-template-columns: 1fr; padding: 14px; }
  .admin-shop-form-grid .wide { grid-column: auto; }
  .admin-shop-dialog footer { padding: 12px 14px; gap: 8px; }
}

@media (max-width: 420px) {
  .admin-shell-layout > .admin-mobile-nav a,
  .admin-shell-layout > .admin-mobile-nav .mobile-nav-theme { font-size: 7px; }
  .admin-shell-layout > .admin-mobile-nav a span,
  .admin-shell-layout > .admin-mobile-nav .mobile-nav-theme > span { max-width: 54px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .admin-map-stats > div { min-width: 96px; flex-basis: 96px; }
  .admin-map-topbar .ops-top-actions .theme-toggle { display: none; }
}

/* Admin mobil canlı operasyon: tek ekran + yüzen kurye accordion */
.admin-mobile-courier-float { display: none; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-map-topbar .admin-courier-mini { display: none; }
  .admin-map-stats { top: 63px; right: 8px; left: 8px; height: 34px; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; }
  .admin-map-stats > div { min-height: 34px; padding: 4px 5px; border-radius: 8px; }
  .admin-map-stats span { font-size: 6px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
  .admin-map-stats strong { font-size: 11px; }
  .admin-map-toolbar { top: 103px; left: 8px; min-width: 154px; max-width: 176px; min-height: 38px; padding: 5px 8px; }
  .admin-map-toolbar .section-kicker { font-size: 6px; }
  .admin-map-toolbar strong { max-width: 150px; font-size: 9px; }
  .admin-route-plan, .admin-full-live-map > .route-info-pill, .admin-full-live-map > .route-error-pill { display: none; }
  .admin-map-orders { top: auto; right: 8px; bottom: 8px; left: 8px; width: auto; height: min(238px,31%); border-radius: 12px; }
  .admin-map-orders .panel-heading { height: 38px; padding: 0 7px; }
  .admin-map-orders .panel-heading .section-kicker { display: none; }
  .admin-map-orders .panel-heading strong { font-size: 9px; }
  .admin-map-orders .panel-heading label { width: 96px; height: 26px; }
  .admin-map-orders .dispatch-list { height: calc(100% - 38px); padding: 4px; }
  .dispatch-quick-filters { margin: 0 0 4px; padding: 3px 0; gap: 3px; }
  .dispatch-quick-filters button { min-height: 24px; padding: 0 3px; font-size: 7px; }
  .dispatch-quick-filters button b { min-width: 14px; height: 14px; font-size: 6px; }
  .admin-map-orders .dispatch-card { margin-bottom: 3px; padding: 5px 6px; border-radius: 7px; }
  .admin-map-orders .dispatch-card > strong { margin-top: 2px; font-size: 10px; }
  .admin-map-orders .dispatch-card > p { margin-top: 1px; font-size: 7.5px; line-height: 1.2; }
  .admin-map-orders .dispatch-card-top time { font-size: 7px; }
  .admin-map-orders .source-badge, .admin-map-orders .dispatch-queue-label { font-size: 6.5px; padding: 2px 4px; }
  .admin-map-orders .admin-order-flags, .admin-map-orders .admin-kitchen-state, .admin-map-orders .order-sla-badge.compact { display: none; }
  .admin-map-orders .assignment-state { min-height: 25px; margin-top: 3px; padding: 3px 5px; gap: 4px; }
  .admin-map-orders .assignment-state svg { width: 12px; height: 12px; }
  .admin-map-orders .assignment-state strong { font-size: 7.5px; }
  .admin-map-orders .assignment-state small { display: none; }
  .admin-map-couriers { display: none !important; }
  .admin-map-canvas > .map-legend { right: 8px; bottom: calc(min(238px,31%) + 18px); }
  .admin-mobile-courier-float { position: absolute; z-index: 920; top: 103px; right: 8px; width: 152px; display: block; overflow: hidden; border: 1px solid rgba(215,226,220,.97); border-radius: 11px; background: rgba(255,255,255,.96); box-shadow: 0 10px 28px rgba(22,45,36,.16); backdrop-filter: blur(13px); }
  .admin-mobile-courier-float > header { height: 30px; padding: 0 8px; display: flex; align-items: center; gap: 5px; color: #24493b; }
  .admin-mobile-courier-float > header strong { flex: 1; font-size: 9px; }
  .admin-mobile-courier-float > header b { min-width: 18px; height: 18px; display: grid; place-items: center; border-radius: 9px; background: #e7f4ee; color: #187553; font-size: 7px; }
  .admin-mobile-courier-groups { border-top: 1px solid #e5ece8; }
  .admin-mobile-courier-group-button { width: 100%; height: 27px; padding: 0 7px; display: grid; grid-template-columns: 1fr auto 12px; align-items: center; gap: 4px; border: 0; border-bottom: 1px solid #edf1ef; background: transparent; color: #536b60; text-align: left; font-size: 8px; font-weight: 850; }
  .admin-mobile-courier-group-button b { min-width: 17px; text-align: center; color: #1a7554; font-size: 7px; }
  .admin-mobile-courier-group-button i { color: #839188; font-size: 11px; font-style: normal; text-align: center; }
  .admin-mobile-courier-group-list { max-height: 150px; overflow-y: auto; background: #f8faf9; }
  .admin-mobile-courier-group-list > button { width: 100%; min-height: 34px; padding: 4px 7px; display: flex; align-items: center; gap: 5px; border: 0; border-bottom: 1px solid #e8eeeb; background: transparent; color: #304b40; text-align: left; }
  .admin-mobile-courier-group-list > button.selected { background: #e6f5ee; }
  .admin-mobile-courier-group-list > button span { min-width: 0; flex: 1; }
  .admin-mobile-courier-group-list > button strong, .admin-mobile-courier-group-list > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .admin-mobile-courier-group-list > button strong { font-size: 8px; }
  .admin-mobile-courier-group-list > button small { margin-top: 1px; color: #7f8d86; font-size: 6.5px; }
  .admin-mobile-courier-group-list > button > b { flex: 0 0 auto; color: #52695e; font-size: 6.5px; }
  .admin-mobile-courier-empty { display: block; padding: 7px; color: #8a9690; font-size: 7px; text-align: center; }
  .admin-mobile-courier-assign { width: calc(100% - 10px); min-height: 30px; margin: 5px; padding: 0 7px; display: flex; align-items: center; justify-content: center; gap: 5px; border: 0; border-radius: 7px; background: #177d59; color: #fff; font-size: 7.5px; font-weight: 900; }
  .admin-mobile-courier-assign:disabled { opacity: .45; }
}

/* Admin mobile: kompakt konum rozeti */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-map-toolbar .location-accuracy { max-width: 92px; padding: 3px 5px; display: inline-flex; align-items: center; gap: 2px; overflow: hidden; font-size: 7px; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
  .admin-map-toolbar .location-accuracy svg { width: 10px; height: 10px; flex: 0 0 auto; }
}

/* Operations management: courier issues + weekly schedule */
.courier-issues-box{max-width:1060px;margin:0 auto 12px;border:1px solid #dce6e1;border-radius:11px;background:#fff;overflow:hidden}.courier-issues-box>button{width:100%;min-height:38px;padding:0 12px;display:flex;align-items:center;gap:7px;border:0;background:#f7faf8;color:#52675e;text-align:left}.courier-issues-box>button strong{flex:1;font-size:11px}.courier-issues-box.has-issues{border-color:#efd6a2}.courier-issues-box.has-issues>button{background:#fff8e9;color:#865d17}.courier-issues-box.has-issues>button svg:first-child{color:#d8901e}.courier-issues-box>div{border-top:1px solid #e8eeeb}.courier-issues-box>div>p{margin:0;padding:12px;color:#84928b;font-size:10px}.courier-issues-box article{padding:10px 12px;display:flex;align-items:center;gap:10px;border-top:1px solid #edf1ef}.courier-issues-box article:first-child{border-top:0}.courier-issues-box article>span{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.courier-issues-box article strong{font-size:11px}.courier-issues-box article small{color:#7d8c85;font-size:9px;line-height:1.4}.courier-issues-box article>div{display:flex;gap:6px}.courier-issues-box article a,.courier-issues-box article button{min-height:30px;padding:0 9px;display:flex;align-items:center;gap:5px;border:1px solid #d9e4de;border-radius:8px;background:#fff;color:#4e665b;font-size:9px;font-weight:850;text-decoration:none}.courier-issues-box article button{border-color:#cce5d9;background:#eef8f3;color:#176f51}.weekly-shift-dialog{width:min(860px,calc(100vw - 24px))}.weekly-shift-dialog>header small{display:block;margin-top:3px;color:#7f8d86;font-size:9px}.weekly-shift-nav{padding:10px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border-bottom:1px solid #e6ece9;background:#f7faf8}.weekly-shift-nav strong{text-align:center;font-size:11px}.weekly-shift-nav button{min-height:32px;padding:0 9px;border:1px solid #d7e2dc;border-radius:8px;background:#fff;color:#52685e;font-size:9px;font-weight:800}.weekly-shift-list{padding:12px 16px;display:grid;gap:7px}.weekly-shift-list>p{margin:0;padding:20px;color:#7c8a83;text-align:center}.weekly-shift-list article{min-height:58px;padding:8px 10px;display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.6fr);align-items:center;gap:10px;border:1px solid #dfe7e3;border-radius:10px;background:#fff}.weekly-shift-list article.off{background:#f7f8f7;opacity:.72}.weekly-shift-enable{display:flex;align-items:center;gap:9px;cursor:pointer}.weekly-shift-enable input{width:17px;height:17px;accent-color:#16875b}.weekly-shift-enable>span{display:flex;flex-direction:column;gap:2px}.weekly-shift-enable strong{font-size:11px}.weekly-shift-enable small{color:#87948e;font-size:8px}.weekly-shift-fields{display:grid;grid-template-columns:1fr auto 1fr .7fr .7fr;align-items:end;gap:6px}.weekly-shift-fields>input,.weekly-shift-fields label input{width:100%;height:34px;padding:0 7px;border:1px solid #d4dfd9;border-radius:8px;background:#fff;color:#284138;font-size:10px}.weekly-shift-fields>span{padding-bottom:8px;color:#84918b}.weekly-shift-fields label{min-width:0;display:flex;flex-direction:column;gap:3px}.weekly-shift-fields label small{color:#85928c;font-size:7px}.weekly-shift-fields input:disabled{background:#f1f3f2;color:#a3ada8}.weekly-shift-dialog>.shift-rule-note{margin:0 16px 12px}.weekly-shift-dialog>footer{padding:12px 16px;border-top:1px solid #e5ece8}.courier-week-schedule{margin:0 0 12px;padding:10px;border:1px solid #d8e6df;border-radius:12px;background:#fff}.courier-week-schedule>header{display:flex;align-items:center;gap:6px;color:#31584a}.courier-week-schedule>header strong{font-size:10px}.courier-week-schedule>header small{margin-left:auto;color:#89968f;font-size:7px}.courier-week-schedule>div{margin-top:8px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.courier-week-schedule>div>span{min-width:0;padding:7px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:8px;background:#edf8f2;color:#176d4e;text-align:center}.courier-week-schedule>div>span.off{background:#f3f5f4;color:#98a39e}.courier-week-schedule b{font-size:8px}.courier-week-schedule small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6.5px}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){.courier-issues-box{margin:0 14px 10px}.courier-issues-box article{align-items:flex-start;flex-direction:column}.courier-issues-box article>div{width:100%}.courier-issues-box article a,.courier-issues-box article button{flex:1;justify-content:center}.weekly-shift-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.weekly-shift-list{padding:9px}.weekly-shift-list article{grid-template-columns:1fr}.weekly-shift-fields{grid-template-columns:1fr auto 1fr .65fr .65fr}.weekly-shift-nav{padding:8px 9px}.weekly-shift-dialog>.shift-rule-note{margin:0 9px 9px}.weekly-shift-dialog>footer{padding:9px}.courier-week-schedule{margin:0 12px 10px;padding:8px}.courier-week-schedule>div{grid-template-columns:repeat(4,minmax(0,1fr))}.courier-week-schedule>div>span{padding:6px 3px}.courier-week-schedule b{font-size:7.5px}.courier-week-schedule small{font-size:6.5px}}
@media(max-width:430px){.weekly-shift-fields{grid-template-columns:1fr auto 1fr}.weekly-shift-fields label{grid-column:span 1}.weekly-shift-nav strong{font-size:9px}.weekly-shift-nav button{padding:0 7px;font-size:8px}}
/* Entegrasyon kartları form içeriğini kaydırırken boş render etmesin */
.shop-integration-card{content-visibility:visible;contain-intrinsic-size:none}

/* Admin modalları mobil alt navın daima üstünde kalsın */
.admin-shell-layout .dialog-backdrop{z-index:4000}
body:has(.dialog-backdrop) .pwa-install-card{visibility:hidden;pointer-events:none}

/* Canlı operasyon: kurye sorunları */
.live-operation-issues{max-width:none;margin:0 0 10px;position:relative;z-index:12}
.live-operation-issues>button{min-height:34px;padding:0 10px}
.live-operation-issues>button strong{font-size:10px}
.live-operation-issues article{padding:8px 10px}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .live-operation-issues{margin:0 0 8px}
  .live-operation-issues article{padding:8px;gap:7px}
  .live-operation-issues article strong{font-size:10px}
  .live-operation-issues article small{font-size:8px}
}

/* UI audit: kapalı mobil sidebar gerçekten etkileşimsiz olsun */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .sidebar{visibility:hidden;pointer-events:none}
  .sidebar.sidebar-open{visibility:visible;pointer-events:auto}
}

/* Canlı operasyon sorun kutusu harita katmanlarını bozmasın */
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none){
  .admin-map-content>.live-operation-issues{position:absolute;z-index:745;top:142px;right:16px;width:min(420px,calc(100% - 760px));margin:0}
}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-map-content>.live-operation-issues{position:absolute;z-index:760;top:127px;right:8px;left:8px;margin:0}
  .admin-map-content>.live-operation-issues+ .admin-mobile-courier-float{top:171px}
}

/* UI audit: mobil login dekoratif taşmaları kaldır */
@media(max-width:640px){
  .login-orbit{display:none!important}
}

/* Canlı operasyon mobil: sorunlar ve kuryeler birbirine binmesin */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-map-content>.live-operation-issues{top:149px;right:auto;left:8px;width:214px;max-height:220px;overflow:auto}
  .admin-map-content>.live-operation-issues+.admin-mobile-courier-float{top:103px}
}

/* Responsive audit: admin content never overflows the shell */
.admin-shell-content{min-width:0;overflow-x:hidden}
.admin-shell-content :is(.admin-shops-shell,.reports-shell,.accounting-shell,.admin-projects-shell){width:100%;min-width:0;overflow-x:hidden}
.admin-shell-content>.admin-shops-shell>.integrations-header{display:none}
.admin-project-grid{width:100%;max-width:1060px;margin:0 auto;padding:0 20px}

/* Courier schedule lives in the hamburger menu, not the task feed */
.courier-schedule-page{min-height:100vh;background:#f4f7f5;color:#18352c}
.courier-schedule-main{width:min(760px,100%);margin:0 auto;padding:22px 16px 92px}
.courier-schedule-hero{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #dce6e1;border-radius:16px;background:#fff}
.courier-schedule-hero>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#e8f6ef;color:#177653}
.courier-schedule-hero small{color:#82918a;font-size:8px;font-weight:900;letter-spacing:.12em}.courier-schedule-hero h1{margin:3px 0;font-size:22px}.courier-schedule-hero p{margin:0;color:#6f8078;font-size:11px}
.courier-schedule-week{margin-top:12px;padding:14px;border:1px solid #dce6e1;border-radius:16px;background:#fff}.courier-schedule-week>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #e8eeeb}.courier-schedule-week>header strong{font-size:13px}.courier-schedule-week>header span{color:#85928c;font-size:9px}
.courier-schedule-week>div{margin-top:10px;display:grid;gap:7px}.courier-schedule-week article{min-width:0;padding:11px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid #e2e9e5;border-radius:11px;background:#f9fbfa}.courier-schedule-week article>div{min-width:0}.courier-schedule-week article b,.courier-schedule-week article small{display:block}.courier-schedule-week article b{font-size:12px}.courier-schedule-week article small{margin-top:2px;color:#8a9690;font-size:8px}.courier-schedule-week article>strong{font-size:12px}.courier-schedule-week article>span{display:flex;align-items:center;gap:5px;color:#60756b;font-size:9px}.courier-schedule-week article.off{background:#f5f6f5;color:#98a39e}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){.admin-project-grid{padding:0 14px}.courier-schedule-main{padding:14px 12px 86px}.courier-schedule-hero{padding:13px}.courier-schedule-week{padding:10px}.courier-schedule-week article{grid-template-columns:minmax(0,1fr) auto;gap:6px}.courier-schedule-week article>span{grid-column:1/-1}.admin-map-toolbar{right:168px;left:8px;width:auto;max-width:none;min-width:0}.admin-map-toolbar>div{min-width:0;flex:1}.admin-map-toolbar strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-map-toolbar .show-all-map-button{width:34px;min-width:34px;height:32px;padding:0;display:grid;place-items:center;flex:0 0 34px}.admin-map-toolbar .show-all-map-button span{display:none}}

/* Canlı Operasyon v5: kompakt kuyruk, hızlı atama ve zoom-duyarlı markerlar */
.admin-map-stats{display:none!important}
.admin-map-orders{top:84px}
.admin-map-toolbar{top:84px}
.admin-route-plan{top:146px}
.admin-full-live-map>.route-info-pill,.admin-full-live-map>.route-error-pill{top:146px}
.admin-map-topbar{z-index:1400}
.admin-map-topbar .notification-center{z-index:1600}
.notification-popover{z-index:5000}
.nova-leaflet-icon>span{transform:scale(var(--nova-marker-scale,1));transform-origin:center;transition:box-shadow .14s ease,outline .14s ease}
.nova-leaflet-icon>span.order-assigned,.nova-leaflet-icon>span.order-unassigned{transform:translate(18px,-15px) scale(var(--nova-marker-scale,1));transform-origin:center}
.nova-courier-drop-target{cursor:crosshair}
.nova-courier-drop-target.drag-over>span{outline:5px solid rgba(22,135,91,.28);box-shadow:0 0 0 8px rgba(22,135,91,.15),0 5px 18px rgba(20,44,34,.28)}
.dispatch-card.compact{padding:0;overflow:hidden;cursor:grab}
.dispatch-card.compact.dragging{opacity:.45;cursor:grabbing}
.dispatch-card-summary{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch}
.dispatch-card-select{min-width:0;padding:7px 8px;border:0;background:transparent;color:inherit;text-align:left}
.dispatch-card-primary{margin-top:5px;display:grid;grid-template-columns:minmax(0,1fr) minmax(84px,.8fr);gap:8px;align-items:center}
.dispatch-card-primary>span{min-width:0}
.dispatch-card-primary strong,.dispatch-card-primary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dispatch-card-primary strong{font-size:10px}
.dispatch-card-primary small{margin-top:2px;color:#77877f;font-size:7px}
.dispatch-expand-button{width:34px;border:0;border-left:1px solid #edf1ef;background:#fafcfb;color:#708178;display:grid;place-items:center}
.dispatch-expand-button svg{transition:transform .15s ease}
.dispatch-expand-button[aria-expanded="true"] svg{transform:rotate(180deg)}
.dispatch-card-details{padding:0 8px 8px;border-top:1px solid #edf1ef;background:#fbfdfc}
.dispatch-card-details>p{margin:7px 0 0;display:flex;align-items:center;gap:5px;color:#687b72;font-size:8px}

.dispatch-assign-popover-backdrop{position:absolute;z-index:1700;inset:0;display:grid;place-items:center;padding:18px;background:rgba(20,38,31,.18);backdrop-filter:blur(2px)}
.dispatch-assign-popover{width:min(390px,calc(100vw - 24px));max-height:min(560px,calc(100dvh - 36px));overflow:hidden;border:1px solid #d8e4de;border-radius:16px;background:#fff;box-shadow:0 22px 70px rgba(17,43,33,.26)}
.dispatch-assign-popover>header{padding:14px;display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #e8eeeb}
.dispatch-assign-popover>header>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.dispatch-assign-popover>header small{color:#8a9790;font-size:8px;font-weight:900;letter-spacing:.1em}
.dispatch-assign-popover>header strong{font-size:16px}
.dispatch-assign-popover>header span{overflow:hidden;color:#708078;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.dispatch-assign-popover>header>button{width:32px;height:32px;border:0;border-radius:9px;background:#f3f6f4;color:#6f7e77;display:grid;place-items:center}
.dispatch-assign-courier-list{max-height:450px;padding:8px;overflow:auto}
.dispatch-assign-courier-list>button{width:100%;min-height:58px;padding:8px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e3e9e6;border-radius:10px;background:#fff;color:#30463d;text-align:left}
.dispatch-assign-courier-list>button+button{margin-top:6px}
.dispatch-assign-courier-list>button.recommended{border-color:#93c9b1;background:#f0faf5}
.dispatch-assign-courier-list>button.current{background:#f4f6f5}
.dispatch-assign-courier-list>button:disabled{opacity:.48}
.dispatch-assign-courier-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e7f3ed;color:#207453}
.dispatch-assign-courier-list>button>span:nth-child(2){min-width:0}
.dispatch-assign-courier-list strong,.dispatch-assign-courier-list small{display:block}
.dispatch-assign-courier-list>button>span:nth-child(2) strong{font-size:10px}
.dispatch-assign-courier-list>button>span:nth-child(2) small{margin-top:2px;color:#829087;font-size:8px}
.dispatch-assign-distance{text-align:right}
.dispatch-assign-distance strong{font-size:10px}
.dispatch-assign-distance small{margin-top:2px;color:#84928b;font-size:7px}
.admin-map-couriers{display:none!important}
.admin-map-canvas>.map-legend{bottom:18px}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-map-toolbar{top:63px;right:168px;left:8px;max-width:none;min-width:0}
  .admin-mobile-courier-float{top:63px}
  .admin-map-orders{top:auto!important;height:min(190px,26%);right:8px;bottom:68px;left:8px}
  .admin-map-orders .panel-heading{height:34px}
  .admin-map-orders .dispatch-list{height:calc(100% - 34px)}
  .dispatch-quick-filters{display:grid;grid-template-columns:1fr 1fr;gap:4px}
  .dispatch-quick-filters button{min-height:25px}
  .admin-map-canvas>.map-legend{bottom:calc(min(190px,26%) + 76px)}
  .admin-map-content>.live-operation-issues{top:105px;left:8px;width:210px;z-index:1100}
  .dispatch-assign-popover-backdrop{align-items:end;padding:8px 8px 76px}
  .dispatch-assign-popover{width:100%;max-height:62dvh;border-radius:16px 16px 12px 12px}
  .admin-map-orders .dispatch-card.compact{margin-bottom:3px}
  .admin-map-orders .dispatch-card-select{padding:5px 6px}
  .admin-map-orders .dispatch-card-primary{margin-top:3px}
  .admin-map-orders .dispatch-card-primary strong{font-size:8.5px}
  .admin-map-orders .dispatch-card-primary small{font-size:6.5px}
  .admin-map-orders .dispatch-card.expanded .admin-order-flags,.admin-map-orders .dispatch-card.expanded .admin-kitchen-state,.admin-map-orders .dispatch-card.expanded .order-sla-badge.compact{display:flex}
  .admin-map-orders .dispatch-card.expanded .assignment-state small{display:block}
  .admin-map-topbar .notification-popover{position:fixed;top:62px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 142px);z-index:5000}
}

/* Canlı Operasyon v6: alt kuyruk + yumuşak harita odak geçişleri */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-map-orders{top:auto!important;right:8px;bottom:68px;left:8px;height:min(230px,34%)!important}
  .admin-map-orders .panel-heading{height:34px}
  .admin-map-orders .dispatch-list{height:calc(100% - 34px)}
  .admin-map-canvas>.map-legend{right:8px!important;bottom:calc(min(230px,34%) + 76px)!important;left:auto!important;max-width:calc(100% - 16px)}
  .admin-map-canvas>.map-legend span{font-size:7px}
  .admin-map-canvas>.map-legend i{width:8px;height:8px}
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-map-canvas .map-legend{right:8px!important;bottom:calc(min(230px,34%) + 76px)!important;left:auto!important;max-width:calc(100% - 16px)}
}

/* Canlı Operasyon v7: iOS stabil viewport + nav'a oturan kuyruk + kesintisiz Leaflet animasyonu */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-shell-layout:has(.admin-map-main),
  .admin-shell-content:has(.admin-map-main){
    height:calc(var(--nova-admin-stable-vh, 100svh) - var(--app-banner-height,0px)) !important;
    min-height:0 !important;
    max-height:calc(var(--nova-admin-stable-vh, 100svh) - var(--app-banner-height,0px)) !important;
    overflow:hidden !important;
  }
  .admin-shell-content:has(.admin-map-main) > .ops-shell{
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .admin-map-main{
    --nova-mobile-queue-h:clamp(224px,28svh,248px);
    height:calc(var(--nova-admin-stable-vh, 100svh) - 64px - var(--app-banner-height,0px)) !important;
    min-height:0 !important;
    max-height:calc(var(--nova-admin-stable-vh, 100svh) - 64px - var(--app-banner-height,0px)) !important;
  }
  .admin-map-orders{
    top:auto !important;
    right:8px !important;
    bottom:8px !important;
    left:8px !important;
    height:var(--nova-mobile-queue-h) !important;
  }
  .admin-map-orders .panel-heading{height:34px !important}
  .admin-map-orders .dispatch-list{height:calc(100% - 34px) !important}
  .admin-map-canvas .map-legend{
    right:8px !important;
    bottom:calc(var(--nova-mobile-queue-h) + 16px) !important;
    left:auto !important;
    max-width:calc(100% - 16px) !important;
  }
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  html:has(.admin-map-main),
  body:has(.admin-map-main){
    height:var(--nova-admin-stable-vh,100svh) !important;
    min-height:var(--nova-admin-stable-vh,100svh) !important;
    max-height:var(--nova-admin-stable-vh,100svh) !important;
    overflow:hidden !important;
    overscroll-behavior:none;
  }
}

/* Canlı Operasyon v7: iOS stabil viewport + alt panel hiyerarşisi */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-shell-layout:has(.admin-map-main),
  .admin-shell-content:has(.admin-map-main),
  .admin-shell-content>.ops-shell:has(.admin-map-main),
  .admin-map-main{
    height:calc(100svh - var(--app-banner-height,0px))!important;
    min-height:calc(100svh - var(--app-banner-height,0px))!important;
    max-height:calc(100svh - var(--app-banner-height,0px))!important;
  }
  .admin-shell-layout:has(.admin-map-main),
  .admin-shell-content:has(.admin-map-main),
  .admin-shell-content>.ops-shell:has(.admin-map-main){overflow:hidden!important}

  .admin-map-orders{
    top:auto!important;
    right:8px!important;
    bottom:68px!important;
    left:8px!important;
    height:232px!important;
    max-height:232px!important;
  }
  .admin-map-canvas .map-legend{
    right:8px!important;
    bottom:308px!important;
    left:auto!important;
  }
  .admin-map-content,
  .admin-map-canvas,
  .admin-full-live-map,
  .live-route-map,
  .live-route-map-canvas{overscroll-behavior:none}
}


/* Map positions belong to Leaflet. Opacity belongs to separate entity panes. */
.live-route-map .nova-entity-pane { opacity:1; transition:opacity .28s ease; }
.nova-map-focus-active .nova-context-pane { opacity:0; }
.nova-map-focus-active .nova-context-pane .leaflet-interactive { pointer-events:none; }
.live-route-map .nova-marker-leaving { opacity:0!important; pointer-events:none!important; transition:opacity .26s ease; }
@media(prefers-reduced-motion:reduce){
  .live-route-map .nova-entity-pane,.live-route-map .nova-marker-leaving{transition:none}
}

/* One queue toolbar, content-sized drawer, at most three compact cards. */
.admin-map-orders {
  bottom:auto;
  height:auto!important;
  max-height:calc(100% - 100px)!important;
  display:flex;
  flex-direction:column;
}
.admin-map-orders .panel-heading {
  flex:0 0 40px;
  height:40px!important;
  padding:0 7px;
  gap:6px;
  display:grid;
  grid-template-columns:auto auto minmax(40px,1fr);
}
.admin-map-orders .panel-heading .dispatch-pending-count { margin:0; font-size:9px; white-space:nowrap; }
.admin-map-orders .panel-heading .dispatch-quick-filters {
  position:static;
  display:flex;
  margin:0;
  padding:0;
  gap:3px;
  background:transparent;
  backdrop-filter:none;
}
.admin-map-orders .dispatch-quick-filters button { min-height:28px; padding:0 4px; gap:3px; font-size:8px; white-space:nowrap; }
.admin-map-orders .dispatch-quick-filters button b { min-width:14px; height:14px; padding:0 3px; font-size:7px; }
.admin-map-orders .panel-heading label { min-width:0; width:auto; height:28px; padding:0 4px; gap:3px; }
.admin-map-orders .panel-heading label svg { flex-shrink:0; width:12px; }
.admin-map-orders .panel-heading input { font-size:10px; }
.admin-map-orders .dispatch-list {
  flex:0 1 auto;
  height:auto!important;
  min-height:0;
  max-height:var(--nova-queue-list-cap,260px);
  padding:4px;
  display:flex;
  flex-direction:column;
  gap:4px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.admin-map-orders .dispatch-list .dispatch-card.compact { margin:0; }
.admin-map-orders .dispatch-empty { min-height:36px; height:36px; flex:0 0 36px; flex-direction:row; gap:6px; font-size:9px; }
.admin-map-orders .dispatch-empty svg { width:17px; height:17px; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-map-orders {
    top:auto!important;
    bottom:calc(68px + env(safe-area-inset-bottom))!important;
    height:auto!important;
    max-height:calc(100% - 210px - env(safe-area-inset-bottom))!important;
  }
  .admin-map-canvas .map-legend {
    bottom:calc(76px + env(safe-area-inset-bottom) + var(--nova-queue-height,84px))!important;
  }
}
@media(max-width:360px){
  .admin-map-orders .panel-heading { gap:4px; padding:0 5px; }
  .admin-map-orders .panel-heading .dispatch-pending-count { font-size:8px; }
  .admin-map-orders .dispatch-quick-filters button { font-size:7px; padding:0 3px; gap:2px; }
}

/* Keep map zoom controls reachable below floating panels. */
.admin-full-live-map .leaflet-top.leaflet-left { top:auto; bottom:18px; left:8px; }
.admin-full-live-map .leaflet-control-zoom { margin:0; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-full-live-map .leaflet-top.leaflet-left { bottom:calc(76px + env(safe-area-inset-bottom) + var(--nova-queue-height,84px)); }
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px){
  .admin-full-live-map .leaflet-control-zoom { display:flex; }
  .admin-full-live-map .leaflet-control-zoom a { border-bottom:0; }
  .admin-full-live-map .leaflet-control-zoom-in { border-right:1px solid #edf1ef; border-radius:4px 0 0 4px; }
  .admin-full-live-map .leaflet-control-zoom-out { border-radius:0 4px 4px 0; }
}

/* Account-scoped desktop operation panels. */
.operation-drag-handle { min-width:0; padding:0; display:flex; align-items:center; gap:4px; border:0; background:transparent; color:inherit; text-align:left; }
.operation-resize-handle { display:none; }
.operation-layout-tools { margin-left:auto; display:flex; align-items:center; gap:8px; color:#788c80; font-size:10px; white-space:nowrap; }
.operation-layout-tools button { width:30px; height:30px; display:grid; place-items:center; border:1px solid #dce7e0; border-radius:8px; background:var(--surface,#fff); color:var(--ink,#274738); cursor:pointer; }
.operation-dock-targets { position:absolute; z-index:1250; pointer-events:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; }
.operation-dock-targets>div { display:grid; place-items:center; border:2px dashed rgba(24,121,82,.25); border-radius:16px; background:rgba(241,251,245,.28); transition:background .18s ease,border-color .18s ease; }
.operation-dock-targets>div>span { padding:8px 14px; border-radius:9px; background:rgba(255,255,255,.92); color:#1a7051; font-size:12px; font-weight:800; }
.operation-dock-targets>div.active { border-color:#1b9665; background:rgba(90,198,146,.22); box-shadow:inset 0 0 0 2px rgba(33,159,106,.15); }
.admin-mobile-courier-float>header .operation-drag-handle { flex:1; }
.nova-leaflet-icon>span.courier-available,.map-legend i.courier-available { background:#16965c; }
.nova-leaflet-icon>span.courier-loaded,.map-legend i.courier-loaded { background:#e4ae20; color:#fff; }
.nova-leaflet-icon>span.courier-road,.map-legend i.courier-road { background:#dc423b; color:#fff; }
.nova-leaflet-icon>span.courier-break,.map-legend i.courier-break { background:#808b88; }
.nova-leaflet-icon>span.courier-offline,.map-legend i.courier-offline { background:#202624; }
.nova-leaflet-icon>span.courier-offline { opacity:.5; }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) {
  .admin-map-orders { left:50%; top:auto; bottom:18px; transform:translateX(-50%); width:min(520px,calc(100% - 32px)); }
  .admin-map-orders .dispatch-card-select { padding:10px; }
  .admin-map-orders .dispatch-card-primary strong { font-size:12px; }
  .admin-map-orders .dispatch-card-primary small { font-size:9px; }
  .admin-map-orders .dispatch-card-top time,.admin-map-orders .source-badge,.admin-map-orders .dispatch-queue-label { font-size:9px; }
  .admin-map-orders .panel-heading { flex-basis:46px; height:46px!important; padding:0 9px; }
  .admin-map-orders .panel-heading .dispatch-pending-count { font-size:10px; }
  .admin-map-orders .dispatch-quick-filters button { font-size:9px; }
  .admin-map-toolbar { left:16px; min-width:250px; }
  .admin-map-content>.live-operation-issues { top:84px; right:16px; width:290px; }
  .admin-mobile-courier-float { position:absolute; display:flex; flex-direction:column; z-index:920; top:132px; right:16px; width:290px; max-height:360px; overflow:hidden; border:1px solid #d7e2dc; border-radius:14px; background:rgba(255,255,255,.97); box-shadow:0 12px 35px rgba(22,45,36,.17); }
  .admin-mobile-courier-float>header { flex:0 0 40px; display:flex; align-items:center; gap:8px; padding:0 12px; color:#24493b; }
  .admin-mobile-courier-float>header strong { flex:1; font-size:12px; }
  .admin-mobile-courier-float>header b { min-width:22px; padding:3px; border-radius:9px; background:#e7f4ee; color:#187553; text-align:center; font-size:10px; }
  .admin-mobile-courier-groups { min-height:0; overflow:auto; overscroll-behavior:contain; border-top:1px solid #e4ece7; }
  .admin-mobile-courier-group-button { width:100%; min-height:36px; padding:0 12px; display:grid; grid-template-columns:1fr auto 14px; gap:8px; align-items:center; border:0; border-bottom:1px solid #e8efeb; background:transparent; color:#405e50; text-align:left; font-size:11px; font-weight:800; cursor:pointer; }
  .admin-mobile-courier-group-button b { color:#227456; }
  .admin-mobile-courier-group-button i { font-style:normal; color:#80988a; }
  .admin-mobile-courier-group-list { max-height:220px; overflow:auto; background:#f7faf8; }
  .admin-mobile-courier-group-list>button { width:100%; min-height:48px; padding:8px 12px; display:flex; gap:8px; align-items:center; border:0; border-bottom:1px solid #e3ece6; background:transparent; color:#304b40; text-align:left; cursor:pointer; }
  .admin-mobile-courier-group-list>button.selected { background:#e6f5ee; }
  .admin-mobile-courier-group-list>button span { min-width:0; flex:1; }
  .admin-mobile-courier-group-list>button strong,.admin-mobile-courier-group-list>button small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .admin-mobile-courier-group-list>button strong { font-size:11px; }
  .admin-mobile-courier-group-list>button small { margin-top:3px; color:#7e9085; font-size:9px; }
  .admin-mobile-courier-group-list>button>b { flex-shrink:0; font-size:9px; }
  .admin-mobile-courier-empty { display:block; padding:10px; text-align:center; color:#85968b; font-size:10px; }
  .admin-mobile-courier-assign { margin:6px; padding:8px; display:flex; justify-content:center; gap:6px; border:0; border-radius:8px; background:#177d59; color:#fff; font-size:10px; }
}
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) {
  .admin-map-main [data-operation-panel] {
    left:var(--dock-x)!important; top:var(--dock-y)!important; right:auto!important; bottom:auto!important;
    width:var(--dock-w)!important; height:auto!important; max-height:var(--dock-h)!important; transform:none;
    transition:left .3s cubic-bezier(.22,.61,.36,1),top .3s cubic-bezier(.22,.61,.36,1),width .2s ease,max-height .2s ease;
  }
  .admin-map-main [data-operation-panel][data-dragging="true"] { transition:none; z-index:1300; box-shadow:0 20px 55px rgba(16,60,38,.28); }
  .admin-map-main [data-operation-panel][data-sized="true"] { height:var(--dock-h)!important; }
  .admin-map-orders[data-sized="true"] .dispatch-list { flex:1 1 auto; max-height:none; }
  .operation-drag-handle { cursor:grab; touch-action:none; user-select:none; }
  [data-dragging="true"] .operation-drag-handle { cursor:grabbing; }
  .operation-panel-titlebar { cursor:grab; touch-action:none; user-select:none; }
  .operation-resize-handle { position:absolute; z-index:30; display:block; padding:0; border:0; background:transparent; touch-action:none; border-radius:0; }
  .operation-resize-handle:focus-visible { outline:2px solid #298b65; outline-offset:-2px; }
  .resize-n,.resize-s { left:12px; right:12px; width:calc(100% - 24px); height:6px; cursor:ns-resize; }
  .resize-n { top:0; bottom:auto; } .resize-s { top:auto; bottom:0; }
  .resize-e,.resize-w { top:12px; bottom:12px; height:calc(100% - 24px); width:6px; cursor:ew-resize; }
  .resize-e { right:0; left:auto; } .resize-w { left:0; right:auto; }
  .resize-ne,.resize-nw,.resize-se,.resize-sw { width:12px; height:12px; }
  .resize-ne { top:0; right:0; left:auto; bottom:auto; cursor:nesw-resize; }
  .resize-nw { top:0; left:0; right:auto; bottom:auto; cursor:nwse-resize; }
  .resize-se { bottom:0; right:0; left:auto; top:auto; cursor:nwse-resize; }
  .resize-sw { bottom:0; left:0; right:auto; top:auto; cursor:nesw-resize; }
  .admin-map-toolbar { display:none; }
  .admin-map-content>.live-operation-issues { right:auto; left:calc(50% - 145px); }

}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) { .operation-layout-tools { display:none; } .operation-drag-handle>svg:first-child { display:none; } }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-map-orders { transform:none; }
  .admin-map-orders .panel-heading .operation-drag-handle { cursor:default; }
  .admin-map-canvas .map-legend { max-width:calc(100% - 86px)!important; flex-wrap:wrap; justify-content:flex-end; }
}
@media(prefers-reduced-motion:reduce) { .admin-map-main [data-operation-panel],.operation-dock-targets>div { transition:none; } }

.desktop-route-close { display:none!important; }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none){ .ops-top-actions>.desktop-route-close { display:grid!important; } }

/* Internal order dragging and route details travel with the courier panel. */
.dispatch-card { user-select:none; -webkit-user-drag:none; }
.dispatch-card-summary { cursor:grab; }
.dispatch-card.dragging { opacity:.45; }
.order-drag-ghost { position:fixed; z-index:10000; pointer-events:none; max-width:240px; padding:11px 15px; border:1px solid #bed0c5; border-radius:12px; background:var(--surface,#fff); color:var(--ink,#254b39); box-shadow:0 12px 32px #173b382e; }
.order-drag-ghost strong,.order-drag-ghost span { display:block; }
.order-drag-ghost strong { font-size:12px; }
.order-drag-ghost span { margin-top:4px; font-size:10px; color:#74897b; }
.order-drag-ghost.can-drop { border-color:#198b60; background:#eefaf3; }
.order-drop-hover { outline:3px solid #25a676!important; outline-offset:4px; border-radius:12px; }
.nova-leaflet-icon.order-drop-hover>span { box-shadow:0 0 0 7px #31b58236,0 6px 18px #173b3833; }
.admin-mobile-courier-float .operation-route-summary { position:static!important; flex:0 0 auto; min-width:0; min-height:0; width:auto; margin:6px; padding:9px; display:flex!important; flex-wrap:wrap; gap:7px; border-radius:9px; box-shadow:none; }
.operation-route-summary>svg { flex:0 0 16px; }
.operation-route-summary>span { min-width:0; }
.operation-route-summary strong { font-size:10px; overflow-wrap:anywhere; }
.operation-route-summary small { font-size:9px; }
.operation-route-metrics { flex:0 0 100%; padding-left:23px; color:#28744f; }
.operation-route-summary .route-stage-swatches { display:none; }
.ops-top-actions .operation-layout-tools { margin-left:0; }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) {
 .admin-map-orders .panel-heading { flex-wrap:wrap; height:auto!important; flex-basis:auto; min-height:46px; padding-top:5px; padding-bottom:5px; gap:5px; }
 .admin-map-orders .panel-heading label { flex:1 1 65px; min-width:65px; }
 .admin-map-orders .dispatch-quick-filters { flex-shrink:0; }
 .admin-mobile-courier-groups { flex:1 1 auto; }
}

.admin-map-shell:has(.order-drag-ghost.can-drop) .nova-map-focus-active .nova-focus-pane [data-order-courier] { outline:3px solid #25a676; outline-offset:4px; border-radius:12px; }

.admin-mobile-courier-float .operation-route-summary { display:grid!important; grid-template-columns:16px minmax(0,1fr); max-height:115px; overflow:auto; }
.operation-route-summary>span strong,.operation-route-summary>span small { white-space:normal; overflow:visible; text-overflow:clip; }
.operation-route-summary>b { grid-column:2; justify-self:start; }
.operation-route-summary .operation-route-metrics { grid-column:2; padding-left:0; }

/* Live operation details: one courier scroll area and centered shop labels. */
.admin-mobile-courier-float .admin-mobile-courier-group-list { max-height:none; overflow:visible; }
.admin-mobile-courier-float .admin-mobile-courier-groups>section { flex-shrink:0; }
.nova-map-label-stack { display:flex; flex-direction:column; align-items:center; text-align:center; gap:2px; }
.nova-map-label-stack>small { font-size:8px; font-weight:700; color:#49705b; }
.nova-map-label-stack>span { display:block; max-width:175px; overflow:hidden; text-overflow:ellipsis; }
.live-route-map .nova-permanent-map-label { max-width:190px; font-size:8.5px; padding:3px 6px; }
.nova-leaflet-icon>span.courier-available::after { content:""; position:absolute; inset:-5px; border:3px solid #16965c; border-radius:50%; pointer-events:none; animation:nova-available-pulse 1.8s ease-out infinite; }
@keyframes nova-available-pulse { 0%{transform:scale(.9);opacity:.6} 85%,100%{transform:scale(1.65);opacity:0} }
.dispatch-card-route { display:flex; align-items:flex-start; gap:4px; margin-top:5px; color:#345443; text-align:left; font-size:10px; line-height:1.35; }
.dispatch-card-route>svg { flex:0 0 12px; margin-top:1px; }
.dispatch-card-route>span { min-width:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dispatch-card-distance { display:flex; justify-content:space-between; gap:6px; margin-top:4px; color:#789080; font-size:9px; }
.admin-map-orders .dispatch-card-primary { justify-content:space-between; }
.admin-map-orders .dispatch-card-primary>strong { min-width:0; font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dispatch-package-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:9px 0; }
.dispatch-package-info dt { color:#819187; font-size:9px; }
.dispatch-package-info dd { margin:3px 0 0; color:#365343; font-size:10px; overflow-wrap:anywhere; }
.dispatch-package-info dd>a { display:flex; align-items:center; gap:4px; margin-top:3px; color:#277b57; }
.dispatch-card-details>p { overflow-wrap:anywhere; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .dispatch-card-route { font-size:9px; margin-top:3px; }
 .dispatch-card-distance { font-size:8px; margin-top:2px; }
}
@media(prefers-reduced-motion:reduce) { .nova-leaflet-icon>span.courier-available::after { animation:none; opacity:.25; } }

/* Live dispatch: independent groups, pool return and courier package list. */
.courier-pool-target { width:100%; flex:0 0 auto; min-height:34px; display:flex; align-items:center; gap:7px; padding:7px 12px; border:0; border-top:1px solid #e4ece7; background:#f1f8f4; color:#287653; text-align:left; cursor:pointer; font-size:10px; font-weight:750; }
.courier-pool-target>span { flex:1; }
.courier-pool-target>b { font-size:9px; }
.dispatch-assign-courier-list>.dispatch-pool-option { border-style:dashed; background:#f5faf7; }
.dispatch-status-tags { display:flex; flex-wrap:wrap; align-items:center; gap:3px; min-width:0; }
.dispatch-status-tags .dispatch-queue-label { white-space:nowrap; }
.dispatch-queue-label.ready { background:#dff5e8; color:#16794c; }
.admin-map-orders .dispatch-card-primary { grid-template-columns:minmax(60px,.55fr) minmax(0,1fr); }
.dispatch-pickup-status { font-size:9px; line-height:1.35; text-align:right; color:#718478; }
.dispatch-pickup-status.ready { color:#16815a; }
.dispatch-pickup-status.late { color:#bf4c35; font-weight:750; }
.dispatch-package-info { text-align:center; }
.dispatch-package-info dd>a { justify-content:center; }
.dispatch-card-details>p { justify-content:center; text-align:center; }
.courier-load-panel { position:absolute; z-index:910; left:10px; top:84px; width:min(310px,calc(100% - 20px)); max-height:min(370px,calc(100% - 120px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid #d7e2dc; border-radius:13px; background:rgba(255,255,255,.97); box-shadow:0 10px 30px rgba(22,45,36,.16); color:#2c4b3c; }
.courier-load-panel>header { display:flex; align-items:center; gap:9px; flex:0 0 auto; padding:11px 12px; border-bottom:1px solid #e7eeea; }
.courier-load-panel>header>div { min-width:0; flex:1; }
.courier-load-panel>header strong { display:block; font-size:12px; overflow-wrap:anywhere; }
.courier-load-panel>header small { display:block; margin-top:3px; color:#799184; font-size:10px; }
.courier-load-panel>header button { display:grid; place-items:center; flex:0 0 24px; height:24px; padding:0; border:0; background:transparent; color:#719182; cursor:pointer; }
.courier-load-panel>ol { margin:0; padding:7px 10px; list-style:none; overflow:auto; overscroll-behavior:contain; }
.courier-load-panel li { display:flex; align-items:flex-start; gap:8px; padding:9px 0; }
.courier-load-panel li+li { border-top:1px solid #edf2ef; }
.courier-load-panel li>b { flex:0 0 22px; height:22px; display:grid; place-items:center; border-radius:7px; background:#e6f3ec; color:#248156; font-size:10px; }
.courier-load-panel li>div { min-width:0; }
.courier-load-panel li strong { display:block; font-size:10px; }
.courier-load-panel li span { display:block; margin-top:3px; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.courier-load-panel li small { display:block; margin-top:3px; font-size:9px; color:#7b8e82; }
.courier-load-panel>p { margin:14px 12px; font-size:11px; color:#7b8e82; }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) { .dispatch-pickup-status { font-size:10px; } }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .courier-pool-target { min-height:27px; padding:5px 7px; gap:4px; font-size:8px; }
 .courier-pool-target>svg { width:12px; }
 .courier-load-panel { top:63px; left:8px; width:calc(100% - 176px); max-height:min(260px,calc(100% - var(--nova-queue-height,240px) - 140px)); border-radius:10px; }
 .courier-load-panel>header { padding:8px 7px; gap:5px; }
 .courier-load-panel>header>svg { display:none; }
 .courier-load-panel>header strong { font-size:10px; }
 .courier-load-panel>header small { font-size:8px; }
 .courier-load-panel>ol { padding:4px 7px; }
 .courier-load-panel li { gap:5px; padding:7px 0; }
 .courier-load-panel li span { font-size:8px; }
 .courier-load-panel li small { font-size:8px; }
 .courier-load-panel li>b { flex-basis:18px; height:18px; }
 .dispatch-pickup-status { font-size:8px; }
 .admin-map-orders .dispatch-card-top { align-items:flex-start; }
}

.nova-popup-offset .leaflet-popup-tip-container { display:none; }

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-mobile-courier-float { display:flex; flex-direction:column; max-height:max(170px,calc(100% - var(--nova-queue-height,240px) - 154px)); }
 .admin-mobile-courier-float>header { flex:0 0 30px; }
 .admin-mobile-courier-groups { min-height:0; overflow:auto; overscroll-behavior:contain; }
}

/* Persistent dispatch alerts and multi-package assignment. */
.dispatch-card-controls { display:grid; grid-template-rows:1fr 1fr; border-left:1px solid #e5ece8; background:#fafcfb; }
.dispatch-check-control { display:grid; place-items:center; min-height:33px; cursor:pointer; border-bottom:1px solid #e5ece8; }
.dispatch-check-control input { width:16px; height:16px; margin:0; accent-color:#16845a; cursor:pointer; }
.dispatch-card-controls .dispatch-expand-button { width:100%; min-height:33px; height:100%; border:0; }
.admin-map-orders .dispatch-card.checked { box-shadow:inset 3px 0 #16845a; }
.admin-map-orders .dispatch-card.critical { border-color:#e38d80; background:#fff4f1; }
.dispatch-status-tags .dispatch-queue-label.late { background:#ffe1dc; color:#b83d2b; }
.dispatch-card-alerts { padding:0 7px 6px; }
.dispatch-card-alerts:empty { display:none; }
.admin-map-orders .dispatch-card-alerts .order-sla-badge.compact { display:flex; margin:3px 0 0; padding:5px 7px; font-size:9px; }
.dispatch-card-alerts .assignment-state { margin:3px 0 0; padding:5px 7px; min-height:29px; font-size:9px; }
.dispatch-card-alerts .assignment-state strong { font-size:9px; }
.dispatch-card-alerts .assignment-state small { display:block; font-size:8px; }
.dispatch-card-alerts .pickup-overdue { background:#ffe4de; color:#b94330; }
.dispatch-selection-toolbar { display:flex; align-items:center; justify-content:space-between; gap:7px; flex:0 0 28px; padding:3px 9px; border-top:1px solid #edf2ef; border-bottom:1px solid #edf2ef; color:#70867a; font-size:9px; }
.dispatch-selection-toolbar>span { display:flex; align-items:center; gap:8px; min-width:0; }
.dispatch-selection-toolbar button { border:0; background:transparent; padding:3px 0; color:#26734f; cursor:pointer; font-size:9px; font-weight:750; }
.dispatch-selection-toolbar button:disabled { opacity:.45; cursor:default; }
.dispatch-selection-toolbar .dispatch-select-all { flex-shrink:0; }
.dispatch-bulk-footer { flex:0 0 auto; padding:5px 8px; border-top:1px solid #e0ebe4; background:#f5faf7; }
.dispatch-bulk-footer>button { width:100%; min-height:31px; display:flex; justify-content:center; align-items:center; gap:7px; border:0; border-radius:7px; background:#16845a; color:white; font-size:10px; font-weight:800; cursor:pointer; }
.dispatch-bulk-footer>button:disabled { opacity:.55; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .dispatch-selection-toolbar { flex-basis:25px; padding:2px 6px; font-size:8px; }
 .dispatch-selection-toolbar button { font-size:8px; }
 .dispatch-check-control input { width:14px; height:14px; }
 .dispatch-card-alerts { padding:0 5px 4px; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact { font-size:8px; padding:4px 5px; }
 .dispatch-card-alerts .assignment-state { padding:4px 5px; }
 .dispatch-card-alerts .assignment-state strong { font-size:8px; }
 .dispatch-card-alerts .assignment-state small { font-size:7px; }
 .dispatch-bulk-footer { padding:4px 5px; }
 .dispatch-bulk-footer>button { min-height:28px; font-size:9px; }
}

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-map-orders { max-height:min(360px,44svh)!important; }
 body:has(.pwa-install-card) .admin-mobile-courier-float { max-height:max(135px,calc(100% - var(--nova-queue-height,240px) - 254px)); }
 .admin-map-shell .toast { bottom:calc(92px + env(safe-area-inset-bottom) + var(--nova-queue-height,84px)); }
}

/* Package details respond to the floating panel's width, including manual resize. */
.admin-map-orders { container: dispatch-panel / inline-size; }
.admin-map-orders .dispatch-card-details { padding:8px 10px; }
.admin-map-orders .dispatch-card-details>p { margin:0 0 8px; line-height:1.4; }
.dispatch-package-info { gap:8px; margin:6px 0 9px; align-items:start; }
.dispatch-package-info>div { min-width:0; }
.dispatch-package-info dd { line-height:1.45; }
.dispatch-detail-statuses { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.dispatch-detail-statuses .admin-kitchen-state { width:auto; margin:0; padding:5px 7px; font-size:9px; }
.dispatch-detail-statuses .assignment-state { flex:1 1 170px; min-height:0; margin:0; padding:6px 8px; }
.dispatch-detail-statuses .assignment-state strong { font-size:9px; }
.dispatch-detail-statuses .assignment-state small { font-size:8px; }
@container dispatch-panel (min-width:580px) {
 .dispatch-package-info { display:flex; flex-wrap:nowrap; gap:0; margin:8px 0 10px; }
 .dispatch-package-info>div { flex:1 1 0; padding:0 8px; }
 .dispatch-package-info>div+div { border-left:1px solid var(--line); }
 .dispatch-package-info dt { white-space:nowrap; }
 .dispatch-package-info dd>a { font-size:9px; }
 .dispatch-card-alerts { display:flex; flex-wrap:wrap; gap:4px; }
 .dispatch-card-alerts>* { flex:1 1 230px; }
}
.courier-load-panel li { display:block; padding:0; }
.courier-load-order { width:100%; display:flex; align-items:flex-start; gap:8px; padding:9px 3px; border:0; border-radius:8px; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.courier-load-order:hover { background:#eef7f2; }
.courier-load-order:disabled { opacity:.6; cursor:wait; }
.courier-load-order>b { flex:0 0 22px; height:22px; display:grid; place-items:center; border-radius:7px; background:#e6f3ec; color:#248156; font-size:10px; }
.courier-load-order>span { flex:1; min-width:0; margin:0!important; }
.courier-load-order>svg { margin-top:4px; color:#719182; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .courier-load-order { gap:5px; padding:7px 0; }
 .courier-load-order>b { flex-basis:18px; height:18px; }
 .courier-load-order>svg { width:10px; }
}

/* A compact notification inbox with readable event cards and device controls. */
.notification-center,.notification-panel {
 --notification-surface:#fff; --notification-raised:#f4f7f6; --notification-line:#e2ebe6;
 --notification-ink:#203e30; --notification-muted:#728379; --notification-accent:#18815b;
 --notification-active:#eef8f2; --notification-danger:#c45144; --notification-danger-bg:#fff0ed;
 --notification-ready:#a7751c; --notification-ready-bg:#fff5db;
}
.notification-popover.notification-panel { width:min(410px,calc(100vw - 24px)); max-height:calc(100svh - 120px); display:flex; flex-direction:column; border:1px solid var(--notification-line); border-radius:18px; background:var(--notification-surface); color:var(--notification-ink); box-shadow:0 22px 64px #102f3229; }
.notification-panel>header { flex:0 0 auto; padding:16px; border-color:var(--notification-line); }
.notification-panel>header .notification-heading { display:flex; align-items:center; gap:11px; }
.notification-panel>header .notification-heading-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:var(--notification-active); color:var(--notification-accent); }
.notification-panel>header strong { font-size:16px; letter-spacing:-.25px; color:var(--notification-ink); }
.notification-panel>header span { color:var(--notification-muted); font-size:11px; }
.notification-panel>header button { width:30px; height:30px; background:var(--notification-raised); color:var(--notification-muted); cursor:pointer; }
.notification-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 14px; border-bottom:1px solid var(--notification-line); flex:0 0 auto; }
.notification-controls>[role=tablist] { display:flex; align-items:center; gap:4px; }
.notification-controls button { display:flex; align-items:center; gap:5px; border:0; border-radius:8px; background:transparent; color:var(--notification-muted); min-height:31px; padding:6px 10px; font:inherit; font-size:11px; font-weight:700; line-height:1.2; cursor:pointer; }
.notification-controls button[aria-selected=true] { background:var(--notification-active); color:var(--notification-accent); }
.notification-controls b { font-size:9px; color:inherit; }
.notification-controls .notification-mark-all { padding:7px; }
.notification-controls button:disabled { opacity:.35; cursor:default; }
.notification-list.notification-feed { flex:1 1 auto; min-height:0; max-height:min(410px,calc(100svh - 310px)); padding:6px 8px 10px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.notification-date-group { padding:9px 8px 6px; color:var(--notification-muted); font-size:9px; font-weight:750; letter-spacing:.25px; }
.notification-entry { width:100%; display:flex; align-items:flex-start; gap:10px; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--notification-ink); padding:12px 9px; text-align:left; font:inherit; cursor:pointer; }
.notification-entry+.notification-entry { margin-top:3px; }
.notification-entry:hover { background:var(--notification-raised); }
.notification-entry.unread { background:var(--notification-active); border-color:var(--notification-line); }
.notification-kind-icon { flex:0 0 34px; height:34px; display:grid; place-items:center; border-radius:11px; background:var(--notification-raised); color:var(--notification-accent); }
.notification-entry.alert .notification-kind-icon { background:var(--notification-danger-bg); color:var(--notification-danger); }
.notification-entry.package-ready .notification-kind-icon { background:var(--notification-ready-bg); color:var(--notification-ready); }
.notification-copy { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.notification-title { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.notification-title strong { font-size:12px; line-height:1.35; color:var(--notification-ink); overflow-wrap:anywhere; }
.notification-title>i { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:var(--notification-accent); box-shadow:0 0 0 3px var(--notification-surface); }
.notification-message { color:var(--notification-muted); font-size:11px; line-height:1.55; overflow-wrap:anywhere; }
.notification-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:var(--notification-muted); font-size:9px; }
.notification-meta>b { padding:3px 5px; border:1px solid var(--notification-line); border-radius:5px; background:var(--notification-surface); font-size:8px; font-weight:650; color:var(--notification-accent); }
.notification-entry>svg { flex:0 0 14px; margin-top:10px; color:var(--notification-muted); opacity:.5; }
.notification-settings { padding:11px 14px 13px; border-top:1px solid var(--notification-line); background:var(--notification-surface); flex:0 0 auto; }
.notification-settings>div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.notification-settings button { cursor:pointer; font:inherit; }
.notification-sound-toggle { display:flex; align-items:center; gap:7px; padding:5px 0; border:0; background:transparent; color:var(--notification-ink); font-size:10px!important; }
.notification-sound-toggle[aria-pressed=true]>svg { color:var(--notification-accent); }
.notification-sound-test { padding:5px 7px; border:1px solid var(--notification-line); border-radius:7px; background:var(--notification-raised); color:var(--notification-muted); font-size:9px!important; }
.notification-background { width:100%; display:flex; align-items:center; gap:7px; min-height:35px; margin-top:8px; padding:7px 9px; border:1px solid var(--notification-line); border-radius:9px; background:var(--notification-active); color:var(--notification-accent); font-size:10px!important; }
.notification-background>span { flex:1; text-align:left; }
.notification-background.enabled { background:transparent; color:var(--notification-muted); cursor:default; }
.notification-background.enabled>svg { color:var(--notification-accent); }
.notification-panel .notification-push-error { margin:8px 0 0; color:var(--notification-danger); font-size:10px; }
.notification-panel .notification-empty { min-height:180px; color:var(--notification-muted); }
.notification-panel .notification-empty>span:first-child { display:grid; place-items:center; width:54px; height:54px; border-radius:18px; margin-bottom:6px; background:var(--notification-active); color:var(--notification-accent); }
.notification-panel .notification-empty strong { color:var(--notification-ink); font-size:12px; }
.notification-panel .notification-empty>span:last-child { font-size:10px; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .notification-popover.notification-panel { max-height:calc(100svh - 150px); }
 .notification-panel>header { padding:13px; }
 .notification-entry { padding:10px 8px; }
 .notification-list.notification-feed { max-height:calc(100svh - 330px); }
}
@media(prefers-reduced-motion:no-preference) {
 .notification-popover.notification-panel { animation:notification-appear .18s ease-out; transform-origin:top right; }
 .notification-entry { transition:background .15s ease,border-color .15s ease; }
 @keyframes notification-appear { from{opacity:0;transform:translateY(-5px) scale(.98)} to{opacity:1;transform:none} }
}

/* Mobile operation: small controls, one drawer at a time, unobstructed routes. */
.admin-map-main .mobile-only,.admin-map-main .mobile-route-bar { display:none; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-map-main .mobile-only { display:inline-flex; }
 .admin-map-topbar { top:6px; left:8px; right:8px; height:40px; padding:0 6px; gap:5px; border-radius:11px; }
 .admin-map-topbar .admin-top-project { padding:3px 5px; height:30px; }
 .admin-map-topbar .admin-top-project select { font-size:11px!important; }
 .admin-map-topbar .ops-top-actions>button,.admin-map-topbar .ops-bell { width:30px; height:30px; min-height:30px; border-radius:9px; }
 .admin-map-topbar .ops-top-actions svg { width:16px; height:16px; }
 .admin-map-shell .admin-mobile-nav { height:calc(52px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); }
 .admin-map-shell .admin-mobile-nav a { gap:3px; font-size:8px; }
 .admin-map-shell .admin-mobile-nav svg { width:18px; height:18px; }
 .admin-map-main .admin-mobile-courier-float { top:54px!important; right:8px; width:136px; max-height:32px; border-radius:10px; }
 .admin-mobile-courier-float>header { height:32px; flex-basis:32px; padding:0 7px; gap:5px; }
 .admin-mobile-courier-float>header button { min-height:32px; flex:1; min-width:0; }
 .admin-mobile-courier-float>header strong { font-size:10px; }
 .admin-mobile-courier-float .operation-panel-titlebar .operation-drag-handle>svg:first-child { display:none; }
 .admin-mobile-courier-float .mobile-only { margin-left:auto; transition:transform .18s ease; }
 .mobile-couriers-open .mobile-only { transform:rotate(180deg); }
 .mobile-couriers-closed .courier-pool-target,.mobile-couriers-closed .admin-mobile-courier-groups { display:none; }
 .admin-map-main .mobile-couriers-open { width:min(230px,calc(100% - 16px)); max-height:min(330px,48svh); z-index:1110; }
 .admin-mobile-courier-float .operation-route-summary { display:none!important; }
 .admin-mobile-courier-group-button { min-height:32px; height:32px; font-size:10px; }
 .admin-mobile-courier-group-list>button { min-height:38px; padding:5px 8px; }
 .admin-mobile-courier-group-list>button strong { font-size:10px; }
 .admin-mobile-courier-group-list>button small { font-size:8px; }
 .admin-mobile-courier-group-list>button>b { font-size:9px; }
 .admin-map-main .courier-pool-target { min-height:32px; font-size:10px; }
 .admin-map-content>.live-operation-issues { top:54px!important; left:8px!important; right:auto!important; width:118px; max-height:min(300px,43svh); border-radius:10px; z-index:1090; }
 .live-operation-issues>button { min-height:32px; padding:0 7px; gap:5px; }
 .live-operation-issues>button strong { font-size:9px; }
 .live-operation-issues>button svg { width:13px; height:13px; }
 .admin-map-content>.live-operation-issues:has(>div) { width:calc(100% - 16px); }
 .admin-map-main .courier-load-panel { top:94px; left:8px; width:calc(100% - 16px); max-height:40px; z-index:1050; border-radius:10px; }
 .courier-load-panel>header { min-height:38px; padding:5px 8px; gap:8px; }
 .courier-load-panel>header strong { font-size:10px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
 .courier-load-panel>header small { font-size:8px; margin-top:2px; }
 .courier-load-panel>header button { flex-basis:32px; height:30px; }
 .courier-load-panel.mobile-load-closed>ol,.courier-load-panel.mobile-load-closed>p { display:none; }
 .admin-map-main .courier-load-panel.mobile-load-open { max-height:min(280px,36svh); }
 .mobile-load-open .mobile-load-toggle svg { transform:rotate(180deg); }
 .courier-load-panel .courier-load-order { padding:6px 2px; gap:7px; min-height:44px; }
 .courier-load-panel .courier-load-order>span>span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
 .courier-load-panel .courier-load-order strong { font-size:10px; }
 .admin-map-main .admin-map-orders { bottom:calc(56px + env(safe-area-inset-bottom))!important; left:8px!important; right:8px!important; max-height:min(190px,27svh)!important; border-radius:12px; }
 .admin-map-main .admin-map-orders .panel-heading { height:36px!important; flex-basis:36px; padding:0 6px; grid-template-columns:auto auto minmax(35px,1fr); gap:5px; }
 .admin-map-orders .desktop-pending-label,.admin-map-orders .mobile-operation-toggle>svg:first-child { display:none; }
 .admin-map-orders .mobile-operation-toggle { min-height:34px; display:flex; align-items:center; justify-content:flex-start; gap:4px; padding:0; border:0; background:transparent; color:inherit; }
 .admin-map-orders .dispatch-pending-count { font-size:10px!important; }
 .admin-map-orders .dispatch-quick-filters button { min-height:27px; font-size:8px; }
 .admin-map-orders .panel-heading label { height:27px; }
 .admin-map-orders .panel-heading input { font-size:16px; }
 .admin-map-main .admin-map-orders.mobile-queue-peek .dispatch-list { max-height:132px; }
 .admin-map-main .admin-map-orders.mobile-queue-open { max-height:min(340px,48svh)!important; }
 .admin-map-main .admin-map-orders.mobile-queue-open .dispatch-list { flex:1 1 auto; max-height:none; }
 .admin-map-orders.mobile-queue-open .mobile-operation-toggle>svg:last-child { transform:rotate(180deg); }
 .admin-map-orders.mobile-queue-closed .dispatch-list,.admin-map-orders.mobile-queue-closed .dispatch-selection-toolbar,.admin-map-orders.mobile-queue-closed .dispatch-bulk-footer { display:none; }
 .admin-map-main .admin-map-orders.mobile-queue-closed { max-height:38px!important; }
 .admin-map-orders.mobile-queue-closed .panel-heading label { display:none; }
 .admin-map-main .admin-map-orders.mobile-queue-closed .panel-heading { grid-template-columns:1fr auto; }
 .admin-map-orders.mobile-queue-peek:not(.has-selection) .dispatch-selection-toolbar { display:none; }
 .admin-map-orders .dispatch-selection-toolbar { min-height:26px; flex-basis:26px; font-size:9px; }
 .admin-map-orders .dispatch-list { padding:4px; gap:4px; }
 .admin-map-orders .dispatch-card-select { padding:5px 6px; }
 .admin-map-orders .dispatch-card-top { gap:4px; align-items:center; }
 .admin-map-orders .dispatch-card-top .source-badge { display:none; }
 .admin-map-orders .dispatch-status-tags { gap:3px; min-width:0; }
 .admin-map-orders .dispatch-queue-label { padding:2px 4px; font-size:7px; line-height:1.2; }
 .admin-map-orders .dispatch-card-top time { font-size:7px; }
 .admin-map-orders .dispatch-card-primary { display:block; margin-top:4px; }
 .admin-map-orders .dispatch-card-primary>strong { font-size:10px; }
 .admin-map-orders .dispatch-pickup-status { display:none; }
 .admin-map-orders .dispatch-card-route { font-size:9px; margin-top:3px; }
 .admin-map-orders .dispatch-card-route>span { -webkit-line-clamp:1; }
 .admin-map-orders .dispatch-card-distance { font-size:8px; margin-top:2px; }
 .admin-map-orders .dispatch-card-summary { grid-template-columns:minmax(0,1fr) 32px; }
 .admin-map-orders .dispatch-check-control,.admin-map-orders .dispatch-expand-button { min-height:30px; }
 .admin-map-orders .dispatch-check-control input { width:15px; height:15px; }
 .admin-map-orders .dispatch-card-alerts { padding:0 5px 4px; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact { min-height:20px; gap:4px; margin:2px 0 0; padding:3px 5px; font-size:8px; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact svg { width:12px; height:12px; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact strong { font-size:8px; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 .admin-map-orders .dispatch-card-alerts .assignment-state { min-height:22px; gap:5px; margin-top:2px; padding:3px 5px; }
 .admin-map-orders .dispatch-card-alerts .assignment-state>svg { width:12px; height:12px; flex-basis:12px; }
 .admin-map-orders .dispatch-card-alerts .assignment-state>span { display:flex; align-items:center; flex-wrap:wrap; gap:2px 6px; min-width:0; }
 .admin-map-orders .dispatch-card-alerts .assignment-state strong { font-size:8px; }
 .admin-map-orders .dispatch-card-alerts .assignment-state small { font-size:7px; }
 .admin-map-orders .dispatch-card-alerts .assignment-state>a { width:28px; height:28px; }
 .admin-map-orders .dispatch-card-details { padding:6px 8px; }
 .admin-map-main .admin-map-toolbar { display:none; }
 .admin-map-main .mobile-route-bar { position:absolute; z-index:950; bottom:calc(64px + env(safe-area-inset-bottom) + var(--nova-queue-height,38px)); left:62px; right:8px; min-height:36px; display:flex; align-items:center; gap:7px; padding:4px 7px; border:1px solid var(--border,#d7e2dc); border-radius:10px; background:var(--surface,#fff); color:var(--ink,#2c4b3c); box-shadow:0 4px 15px rgba(22,45,36,.12); }
 .mobile-route-bar>span { min-width:0; flex:1; display:flex; align-items:center; gap:6px; }
 .mobile-route-bar strong { font-size:9px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
 .mobile-route-bar small { flex:0 0 auto; font-size:8px; color:var(--muted,#799184); }
 .mobile-route-bar button { border:0; border-radius:8px; background:transparent; color:inherit; width:30px; height:30px; display:grid; place-items:center; }
 .mobile-route-active .admin-map-canvas .map-legend { display:none; }
 .admin-map-main .admin-full-live-map .leaflet-top.leaflet-left { bottom:calc(64px + env(safe-area-inset-bottom) + var(--nova-queue-height,38px)); }
 .admin-map-main .admin-map-canvas .map-legend { bottom:calc(64px + env(safe-area-inset-bottom) + var(--nova-queue-height,38px))!important; left:64px!important; right:8px!important; width:auto; padding:5px; gap:6px; border-radius:8px; }
 .admin-map-canvas .map-legend span { font-size:6px; }
 .admin-map-main~.toast { bottom:calc(72px + env(safe-area-inset-bottom) + var(--nova-queue-height,38px)); }
 .admin-map-shell .dispatch-assign-popover-backdrop { padding-bottom:calc(60px + env(safe-area-inset-bottom)); }
}

/* Mobile touch gestures: quick list swipe, stationary hold to assign. */
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-map-orders .dispatch-card { touch-action:none; -webkit-touch-callout:none; }
 .admin-map-orders .dispatch-card-select { touch-action:none; -webkit-touch-callout:none; }
 .admin-map-orders .dispatch-list { overscroll-behavior:none; }
 .admin-map-main .admin-mobile-courier-float,
 .admin-map-main .mobile-couriers-open { width:164px; }
 .admin-map-main .mobile-couriers-open { max-height:calc(100% - var(--nova-queue-height,170px) - 126px - env(safe-area-inset-bottom)); }
 .admin-mobile-courier-group-list>button small { display:none; }
 .admin-mobile-courier-group-list>button { min-height:34px; gap:5px; padding:6px 7px; }
 .admin-mobile-courier-group-list>button strong { white-space:normal; line-height:1.3; font-size:10px; }
 .admin-mobile-courier-group-list>button>b { font-size:8px; white-space:nowrap; }
 .admin-mobile-courier-groups>section { flex-shrink:0; }
 .admin-mobile-courier-float>header .operation-drag-handle { gap:5px; }
 .admin-map-content>.live-operation-issues { width:136px; }
 .live-operation-issues>button { width:100%; display:flex; align-items:center; gap:5px; padding:0 7px; }
 .live-operation-issues>button strong { flex:1; font-size:10px; white-space:nowrap; }
 .live-operation-issues>button svg { flex-shrink:0; }
 .admin-map-content>.live-operation-issues:has(>div) { width:calc(100% - 16px); }
 .live-operation-issues article { min-width:0; flex-direction:row; flex-wrap:wrap; align-items:center; gap:7px; }
 .live-operation-issues article>span { min-width:0; flex:1 1 160px; overflow-wrap:anywhere; }
 .live-operation-issues article>div { flex:0 0 auto; width:auto; }
 .order-drag-ghost.touch-drag { max-width:160px; padding:8px 10px; border-radius:10px; }
 .order-drag-ghost.touch-drag strong { font-size:10px; }
 .order-drag-ghost.touch-drag span { font-size:9px; }
 html.nova-order-drag-active,html.nova-order-drag-active body { overscroll-behavior:none; touch-action:none; }
 .nova-order-drag-active .admin-map-orders .dispatch-list { overflow:hidden!important; scroll-behavior:auto; }
 .nova-order-drag-active .dispatch-card-select { cursor:grabbing; }
 .nova-order-drag-active .admin-map-orders .dispatch-card { -webkit-user-select:none; user-select:none; }
}

/* Operation feedback is separate from the notification inbox. */
.admin-map-shell .operation-toast { z-index:6500; width:360px; max-width:calc(100vw - 32px); padding:14px; gap:11px; border:1px solid var(--border,#d7e2dc); border-radius:16px; background:var(--surface,#fff); color:var(--ink,#244b39); overflow:hidden; box-shadow:0 12px 38px rgba(16,40,30,.2); }
.operation-toast-icon { flex:0 0 36px; height:36px; display:grid; place-items:center; border-radius:12px; background:#def4e8; color:#16845a; }
.operation-toast.error .operation-toast-icon { background:#ffe3df; color:#c84b3c; }
.operation-toast-copy { min-width:0; flex:1; display:grid; gap:4px; }
.operation-toast-copy>strong { font-size:12px; }
.operation-toast-copy>span { font-size:11px; font-weight:500; line-height:1.45; overflow-wrap:anywhere; color:var(--muted,#6f8379); }
.operation-toast>button { flex:0 0 28px; height:28px; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:var(--muted,#6f8379); cursor:pointer; }
.operation-toast-progress { position:absolute; bottom:0; left:0; width:100%; height:3px; background:#23a875; transform-origin:left; animation:operation-toast-time 4.5s linear forwards; }
.operation-toast.error .operation-toast-progress { background:#d85948; }
@keyframes operation-toast-time { to { transform:scaleX(0); } }
@media(prefers-reduced-motion:reduce) { .operation-toast-progress { animation:none; } }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-map-main .mobile-couriers-open { max-height:min(236px,32svh,calc(100% - var(--nova-queue-height,210px) - 126px - env(safe-area-inset-bottom)))!important; }
 .admin-mobile-courier-float>header,.admin-map-main .courier-pool-target { flex-shrink:0; }
 .admin-map-main .admin-mobile-courier-groups { flex:1 1 auto; min-height:0; overflow-y:scroll; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:#79a38f transparent; scrollbar-gutter:stable; }
 .admin-mobile-courier-groups::-webkit-scrollbar { width:5px; }
 .admin-mobile-courier-groups::-webkit-scrollbar-thumb { background:#79a38f; border-radius:5px; }
 .admin-mobile-courier-groups::-webkit-scrollbar-track { background:transparent; }
 .admin-mobile-courier-group-list { overflow:visible; max-height:none; }
 .admin-map-main .admin-map-canvas .map-legend { left:auto!important; right:8px!important; width:max-content!important; max-width:184px!important; flex-wrap:wrap; justify-content:flex-start; gap:4px 8px; padding:6px 8px; }
 .admin-map-canvas .map-legend span { font-size:7px; white-space:nowrap; }
 .admin-map-canvas .map-legend i { width:6px; height:6px; }
 .admin-map-main .admin-map-orders.mobile-queue-peek { max-height:min(calc(var(--nova-mobile-queue-list-cap,180px) + 36px),38svh)!important; }
 .admin-map-main .admin-map-orders.mobile-queue-peek .dispatch-list { max-height:var(--nova-mobile-queue-list-cap,180px); }
 .admin-map-main .admin-map-orders.mobile-queue-open { max-height:min(calc(var(--nova-mobile-queue-list-cap,180px) + 112px),44svh)!important; }
 .admin-map-orders .dispatch-card-select { padding:3px 5px; }
 .admin-map-orders .dispatch-card-top { gap:3px; }
 .admin-map-orders .dispatch-queue-label { padding:1px 3px; font-size:6.5px; }
 .admin-map-orders .dispatch-card-primary { margin-top:1px; line-height:1.15; }
 .admin-map-orders .dispatch-card-primary>strong { font-size:9px; }
 .admin-map-orders .dispatch-card-route { margin-top:1px; font-size:9px; line-height:1.25; gap:4px; }
 .admin-map-orders .dispatch-card-route>svg { width:12px; height:12px; }
 .admin-map-orders .dispatch-card-distance { margin-top:1px; font-size:7px; line-height:1.2; }
 .admin-map-orders .dispatch-card-summary { grid-template-columns:minmax(0,1fr) 30px; }
 .admin-map-orders .dispatch-check-control,.admin-map-orders .dispatch-expand-button { min-height:25px; }
 .admin-map-orders .dispatch-card-alerts { padding:0 4px 3px; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact { min-height:16px; margin-top:1px; padding:1px 4px; gap:3px; border-radius:5px; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact>span { display:flex; align-items:center; justify-content:space-between; gap:4px; min-width:0; flex:1; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact small { font-size:7px; line-height:1.2; }
 .admin-map-orders .dispatch-card-alerts .order-sla-badge.compact strong { font-size:7px; line-height:1.2; }
 .admin-map-orders .dispatch-card-alerts .assignment-state { min-height:18px; padding:1px 4px; gap:3px; margin-top:1px; border-radius:5px; }
 .admin-map-orders .dispatch-card-alerts .assignment-state>span { flex-wrap:nowrap; gap:4px; }
 .admin-map-orders .dispatch-card-alerts .assignment-state strong { flex-shrink:0; font-size:7px; line-height:1.2; }
 .admin-map-orders .dispatch-card-alerts .assignment-state small { min-width:0; font-size:6.5px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
 .admin-map-orders .dispatch-card-alerts .assignment-state>a { width:22px; height:20px; flex-basis:22px; border-radius:5px; }
 .admin-map-orders .dispatch-card-alerts .assignment-state svg,.admin-map-orders .dispatch-card-alerts .order-sla-badge svg { width:10px; height:10px; flex-basis:10px; }
 .admin-map-shell .operation-toast { left:auto; right:8px; bottom:calc(64px + env(safe-area-inset-bottom) + var(--nova-queue-height,38px)); width:min(300px,calc(100vw - 16px)); max-width:none; padding:10px; gap:8px; border-radius:12px; }
 .operation-toast-icon { flex-basis:30px; height:30px; border-radius:9px; }
 .operation-toast-copy>strong { font-size:10px; }
 .operation-toast-copy>span { font-size:9px; }
}

.courier-scroll-indicator { display:none; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-map-main .admin-mobile-courier-groups { scrollbar-width:none; scrollbar-gutter:auto; padding-right:7px; }
 .admin-mobile-courier-groups::-webkit-scrollbar { display:none; }
 .courier-scroll-indicator:not([hidden]) { display:block; position:absolute; right:3px; width:3px; background:rgba(121,163,143,.18); border-radius:3px; pointer-events:none; }
 .courier-scroll-indicator>i { display:block; width:3px; background:#79a38f; border-radius:3px; }
}

/* Simple inbox; device preferences live under account settings. */
.notification-popover.simple-notifications { border-radius:12px; }
.simple-notifications>header { padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.simple-notifications>header>strong { display:flex; align-items:center; gap:7px; font-size:13px; }
.simple-notifications>header small { font-size:9px; font-weight:600; color:var(--notification-muted); }
.simple-notifications>header>div { display:flex; gap:5px; }
.simple-notifications>header button { width:28px; height:28px; display:grid; place-items:center; }
.simple-notifications>header button:disabled { opacity:.3; cursor:default; }
.simple-notifications .notification-feed { padding:4px 6px; max-height:min(340px,52svh); }
.simple-notifications .notification-entry { padding:9px 7px; gap:8px; border-radius:8px; align-items:flex-start; }
.simple-notification-icon { flex:0 0 18px; color:var(--notification-accent); margin-top:2px; }
.simple-notifications .notification-copy>strong { font-size:11px; line-height:1.4; }
.simple-notifications .notification-message { font-size:10px; line-height:1.45; }
.simple-notifications .notification-copy>time { font-size:8px; color:var(--notification-muted); margin-top:3px; }
.notification-unread-dot { flex:0 0 5px; height:5px; margin-top:5px; border-radius:50%; background:var(--notification-accent); }
.simple-notification-empty { margin:20px 12px; font-size:11px; color:var(--notification-muted); text-align:center; }
.simple-notification-error { margin:8px 12px; font-size:10px; color:var(--notification-danger); }
.notification-account-settings { border:1px solid var(--line); border-radius:14px; background:var(--surface,#fff); padding:18px; color:var(--ink); }
.settings-grid>.notification-account-settings { grid-column:1 / -1; }
.notification-account-settings .notification-push-enable { width:auto; min-height:28px; margin:0; display:block; }
.notification-account-settings>h2 { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:16px; }
.notification-preference-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; }
.notification-preference-row+.notification-preference-row { border-top:1px solid var(--line); }
.notification-preference-row>span { display:flex; align-items:center; gap:10px; min-width:0; }
.notification-preference-row>span>span { display:grid; gap:4px; }
.notification-preference-row strong { font-size:12px; }
.notification-preference-row small { font-size:11px; color:var(--muted); }
.notification-sound-switch { width:40px; height:23px; padding:3px; flex:0 0 40px; border:0; border-radius:20px; background:#a9b7b0; }
.notification-sound-switch>i { display:block; width:17px; height:17px; border-radius:50%; background:#fff; transform:translateX(0); transition:transform .18s ease; }
.notification-sound-switch[aria-checked=true] { background:#16875c; }
.notification-sound-switch[aria-checked=true]>i { transform:translateX(17px); }
.notification-push-enable { flex:0 0 auto; border:1px solid var(--line); border-radius:8px; background:var(--soft); color:var(--ink); font-size:10px; font-weight:700; padding:7px 9px; }
.notification-account-settings>p { margin:8px 0 0; font-size:11px; color:var(--red); }
.dispatch-status-tags .dispatch-queue-label.assign { display:inline-flex; align-items:center; gap:3px; text-transform:none; }
.dispatch-detail-statuses:empty { display:none; }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) { .admin-mobile-courier-groups { flex:1 1 auto; } }

.admin-map-topbar .ops-top-actions>.operation-test-order { width:auto; display:flex; align-items:center; gap:6px; padding:0 10px; font-size:10px; font-weight:700; white-space:nowrap; }
.operation-test-order:disabled { opacity:.55; cursor:wait; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-map-topbar .ops-top-actions>.operation-test-order { width:30px; padding:0; justify-content:center; }
 .operation-test-order>span { display:none; }
}

/* Docked desktop drawers and an unobstructed courier load list. */
.operation-panel-toggle,.operation-panel-reopen { display:none; }
.operation-map-settings { position:relative; display:flex; }
.operation-map-settings>button { width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:10px; background:var(--operation-surface,#fff); color:var(--ink); cursor:pointer; }
.map-settings-popover { position:absolute; z-index:2500; top:calc(100% + 9px); right:0; width:224px; padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--operation-surface,#fff); color:var(--ink); box-shadow:0 10px 28px #102f3229; }
.map-settings-popover>strong { display:block; margin-bottom:10px; font-size:12px; }
.map-settings-popover>label { display:flex; align-items:center; gap:8px; padding:8px 0; font-size:11px; cursor:pointer; }
.map-settings-popover input { width:15px; height:15px; margin:0; accent-color:#16875b; }
.assignment-state .test-courier-call { display:flex; flex:0 0 auto; align-items:center; justify-content:center; gap:4px; height:30px; padding:0 8px; border:0; border-radius:8px; background:#c95048; color:#fff; font-size:10px; cursor:pointer; }
.dispatch-status-tags .dispatch-queue-label.attention:has(+ .ready) { flex-shrink:0; }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) {
 .admin-map-main [data-operation-panel] { transition:left .24s ease,top .24s ease,width .2s ease,height .2s ease,transform .28s ease,opacity .22s ease; }
 .admin-map-main [data-operation-panel][data-collapsed=true] { transform:translate(var(--hide-x),var(--hide-y)); opacity:0; pointer-events:none; }
 .operation-panel-toggle { display:grid; place-items:center; width:24px; min-width:24px; height:26px; flex:0 0 24px; margin-left:3px; padding:0; border:0; border-radius:6px; background:var(--soft); color:var(--muted); cursor:pointer; }
 .operation-panel-toggle.direction-left>svg { transform:rotate(180deg); }
 .operation-panel-toggle.direction-up>svg { transform:rotate(-90deg); }
 .operation-panel-toggle.direction-down>svg { transform:rotate(90deg); }
 .operation-panel-reopen { position:absolute; z-index:1250; display:flex; align-items:center; gap:6px; height:30px; padding:0 8px; border:1px solid var(--line); border-radius:8px; background:var(--operation-surface,#fff); color:var(--ink); box-shadow:0 4px 15px #102f321a; font-size:10px; cursor:pointer; }
 .operation-panel-reopen.direction-left>svg { transform:none; }
 .operation-panel-reopen.direction-right>svg { transform:rotate(180deg); }
 .operation-panel-reopen.direction-up>svg { transform:rotate(90deg); }
 .operation-panel-reopen.direction-down>svg { transform:rotate(-90deg); }
 .operation-panel-reopen.direction-right { transform:translateX(calc(-100% + 30px)); }
 .courier-load-panel { left:var(--load-x,10px); top:var(--load-y,84px); width:var(--load-w,310px); max-height:var(--load-h,330px); z-index:1450; transition:left .25s ease,top .25s ease; }
}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .operation-map-settings>button { width:30px; height:30px; border-radius:8px; }
 .assignment-state .test-courier-call { height:21px; padding:0 5px; font-size:8px; }
 .assignment-state .test-courier-call svg { width:11px; height:11px; }
}
@media(prefers-reduced-motion:reduce) { .admin-map-main [data-operation-panel],.courier-load-panel { transition:none; } }

@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) { .admin-mobile-courier-float>header .operation-panel-toggle { display:grid; flex:0 0 24px; min-height:26px; height:26px; } }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) { .admin-map-main .operation-panel-toggle,.admin-map-main .operation-panel-reopen { display:none!important; } }

@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) {
 .admin-map-orders>.panel-heading { grid-template-columns:auto auto minmax(35px,1fr) 24px; }
}

/* Waiting packages occupy the shop marker; GPS collisions use screen offsets only. */
.nova-leaflet-icon>span.order-unassigned { transform:scale(var(--nova-marker-scale,1)); }
.nova-leaflet-icon>span.shop-unassigned { background:#d93f36; border-radius:50%; box-shadow:0 4px 16px rgba(176,38,31,.42); }
.nova-leaflet-icon>span.shop-unassigned::before { content:""; position:absolute; inset:-7px; border:3px solid rgba(217,63,54,.82); border-radius:50%; animation:nova-order-alert-pulse 1.8s ease-out infinite; pointer-events:none; }
.nova-map-label-stack>small { color:inherit; opacity:.8; }
.nova-map-label-stack>.nova-map-waiting-label { color:#c43c32; opacity:1; font-weight:800; }
[data-theme="dark"] .nova-map-label-stack>.nova-map-waiting-label { color:#ffaaa1; }
@media(prefers-reduced-motion:reduce) { .nova-leaflet-icon { transition:none; } .nova-leaflet-icon>span.shop-unassigned::before { animation:none; opacity:.4; } }

/* Measure saved dock geometry before exposing desktop panels; only user actions ease. */
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) {
 .admin-map-main [data-operation-panel][data-layout-ready="false"] { visibility:hidden; pointer-events:none; }
 .admin-map-main [data-operation-panel][data-layout-animated="false"] { transition:none; }
}
.nova-map-drag-active.nova-map-focus-active .nova-context-pane { opacity:1; }
.nova-map-drag-active.nova-map-focus-active .nova-context-pane .leaflet-interactive { pointer-events:auto; }
.live-route-map .nova-leaflet-icon { transition:opacity .26s ease; }
.live-route-map .leaflet-tooltip { transition:opacity .26s ease; }
.live-route-map .nova-marker-muted { opacity:0!important; pointer-events:none!important; }
/* Preserve Leaflet's own zoom timing; operation-panel easing must not override map transforms. */
@media(prefers-reduced-motion:no-preference) {
 .live-route-map .leaflet-zoom-anim .nova-leaflet-icon.leaflet-zoom-animated,
 .live-route-map .leaflet-zoom-anim .leaflet-tooltip.leaflet-zoom-animated {
  transition:transform .25s cubic-bezier(0,0,.25,1),opacity .26s ease;
 }
}
@media(prefers-reduced-motion:reduce) {
 .live-route-map .nova-leaflet-icon,.live-route-map .leaflet-tooltip { transition:none; }
}

/* Courier map quick settings use the native modal layer above docked panels. */
.nova-map-popup-settings { margin-top:6px; border:1px solid #d7e3dd; background:#edf3ef; color:#274738; }
.courier-quick-settings { width:min(340px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); margin:auto; padding:17px; overflow:auto; border:1px solid var(--line); border-radius:16px; background:var(--cream); color:var(--ink); box-shadow:0 20px 70px rgba(15,35,26,.3); }
.courier-quick-settings::backdrop { background:rgba(10,24,18,.36); }
.courier-quick-settings>header { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.courier-quick-settings>header>div { flex:1; min-width:0; }
.courier-quick-settings h2 { margin:0 0 4px; font-size:16px; }
.courier-quick-settings header strong { display:block; overflow-wrap:anywhere; font-size:12px; }
.courier-quick-settings header small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }
.courier-quick-settings header>button { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:8px; background:var(--soft); color:var(--ink); }
.courier-quick-settings-actions { display:grid; gap:8px; }
.courier-quick-settings-actions>button { display:flex; align-items:center; gap:9px; min-height:40px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:var(--soft); color:var(--ink); text-align:left; font-size:12px; font-weight:700; }
.courier-quick-settings-actions>button:first-child { color:var(--green-dark); }
.courier-quick-settings-actions>button:disabled { opacity:.5; cursor:default; }
.courier-quick-settings-actions>button:focus-visible,.courier-quick-settings>header>button:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.courier-quick-settings p { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.courier-quick-settings .courier-settings-error { color:var(--red); }
.courier-quick-settings>a { display:block; margin-top:14px; padding-top:12px; border-top:1px solid var(--line); color:var(--green-dark); text-decoration:none; font-size:11px; font-weight:700; }
html[data-theme="dark"] .courier-quick-settings { border-color:var(--nova-dark-line); background:var(--nova-dark-surface); color:var(--nova-dark-ink); }
html[data-theme="dark"] .courier-quick-settings :is(header>button,.courier-quick-settings-actions>button) { border-color:var(--nova-dark-line); background:var(--nova-dark-raised); color:var(--nova-dark-ink); }
html[data-theme="dark"] .courier-quick-settings :is(header small,p) { color:var(--nova-dark-muted); }
html[data-theme="dark"] .courier-quick-settings :is(a,.courier-quick-settings-actions>button:first-child) { color:#7ee2b5; border-color:var(--nova-dark-line); }
html[data-theme="dark"] .courier-quick-settings .courier-settings-error { color:#ff9b94; }

/* Courier labels stay at one height; offline opacity still composes with context fades. */
.live-route-map .nova-map-courier-label { z-index:5; }
.live-route-map .leaflet-tooltip.nova-courier-offline-label:not(.nova-marker-muted):not(.nova-marker-leaving) { opacity:.5!important; }
.nova-leaflet-icon>span.courier-break { opacity:1; }

/* Compact package actions stay above a bounded courier selection list. */
.dispatch-assign-popover { display:flex; flex-direction:column; min-height:0; }
.dispatch-assign-popover>header,.admin-package-actions { flex-shrink:0; }
.dispatch-assign-courier-list { flex:1; min-height:0; }
.admin-package-actions { padding:10px 12px; border-bottom:1px solid var(--line); background:var(--cream); color:var(--ink); }
.admin-package-action-row { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.admin-package-action-row+.admin-package-action-row { margin-top:6px; }
.admin-package-action-row :is(a,button) { min-height:32px; display:flex; align-items:center; justify-content:center; gap:6px; padding:6px; border:1px solid var(--line); border-radius:8px; background:var(--soft); color:var(--ink); font-size:10px; font-weight:750; text-decoration:none; }
.admin-package-action-row .package-destructive { color:var(--red); }
.admin-package-actions button:disabled { opacity:.45; cursor:default; }
.admin-package-actions form>div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.admin-package-actions form strong { font-size:12px; }
.admin-package-actions form>div:first-child button { display:grid; place-items:center; width:26px; height:26px; padding:0; border:0; border-radius:6px; background:var(--soft); color:inherit; }
.admin-package-actions label { display:grid; gap:5px; margin-top:8px; font-size:10px; }
.admin-package-actions textarea { width:100%; min-height:54px; max-height:90px; resize:vertical; border:1px solid var(--line); border-radius:7px; padding:7px; background:var(--soft); color:inherit; font-size:11px; }
.admin-package-actions p { margin:7px 0 0; font-size:10px; line-height:1.4; color:var(--muted); }
.admin-package-actions p[role="alert"] { color:var(--red); }
.admin-package-confirm { display:flex; justify-content:flex-end; gap:7px; margin-top:8px; }
.admin-package-confirm button { border:1px solid var(--line); border-radius:7px; padding:7px 12px; background:var(--soft); color:inherit; font-size:10px; font-weight:750; }
.admin-package-confirm button[type="submit"] { background:#16875b; border-color:#16875b; color:white; }
html[data-theme="dark"] .admin-package-actions { background:var(--nova-dark-surface); border-color:var(--nova-dark-line); color:var(--nova-dark-ink); }
html[data-theme="dark"] .admin-package-actions :is(a,button,textarea) { background:var(--nova-dark-raised); border-color:var(--nova-dark-line); color:var(--nova-dark-ink); }
html[data-theme="dark"] .admin-package-actions :is(.package-destructive,p[role="alert"]) { color:#ff9b94; }
html[data-theme="dark"] .admin-package-actions p { color:var(--nova-dark-muted); }
html[data-theme="dark"] .admin-package-confirm button[type="submit"] { background:#16875b; border-color:#16875b; }
.nova-map-popup-card>div>strong { flex:1; min-width:0; overflow-wrap:anywhere; }
.nova-map-popup-phone { display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:8px; background:#e8f5ef; color:#187653; }
.nova-map-popup-phone svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.live-route-map .nova-map-label-inspected { z-index:100; }
.live-route-map .nova-map-label-hovered { z-index:1000!important; }
.nova-courier-progress-label { display:flex; align-items:center; gap:5px; }
.nova-courier-progress-label>span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.nova-courier-progress-label>small { flex-shrink:0; font-size:8px; font-weight:700; opacity:.85; }
.live-route-map .nova-permanent-map-label:has(.nova-courier-progress-label) { max-width:260px; }

/* Shared map pulse phase: marker creation and status changes cannot restart a ring. */
.live-route-map .nova-leaflet-icon>span.courier-available::after,
.live-route-map .nova-leaflet-icon>span.order-unassigned::before,
.live-route-map .nova-leaflet-icon>span.shop-unassigned::before {
  animation:none;
  transform:scale(var(--nova-pulse-scale,1));
  opacity:calc(var(--nova-pulse-opacity,.4) * .92);
}
.live-route-map .nova-leaflet-icon>span.courier-available::after { opacity:calc(var(--nova-pulse-opacity,.4) * .6); }
.courier-load-panel>header>a.courier-load-call { display:grid; place-items:center; flex:0 0 24px; height:24px; color:inherit; text-decoration:none; }
.admin-mobile-courier-group-list .courier-list-identity { display:flex; align-items:center; flex-wrap:wrap; column-gap:5px; row-gap:2px; }
.admin-mobile-courier-group-list .courier-list-identity>em { color:var(--muted); font-style:normal; font-size:9px; line-height:1.4; }
.courier-quick-settings-actions>button>.courier-break-summary { margin-left:auto; min-width:0; text-align:right; }
.courier-quick-settings-actions>button.break-exhausted { color:#b9342b; background:#fff1ef; border-color:#e6a19a; }
.courier-quick-settings-actions>button>small { margin-left:auto; font-size:10px; font-weight:500; }
html[data-theme="dark"] .courier-quick-settings-actions>button.break-exhausted { color:#ffaaa3; background:#4c2c32; border-color:#a75252; }
html[data-theme="dark"] .admin-mobile-courier-group-list .courier-list-identity>em { color:var(--nova-dark-muted); }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .admin-mobile-courier-group-list .courier-list-identity>em { font-size:7px; }
  .courier-load-panel>header>a.courier-load-call { flex-basis:22px; height:24px; }
}

.courier-quick-settings-actions>button.break-active { background:#fff2bf; border-color:#e4bb4e; color:#765000; }
html[data-theme="dark"] .courier-quick-settings-actions>button.break-active { background:#544316; border-color:#c6a043; color:#ffe18b; }

.auto-assignment-filter { min-width:0; margin:16px 0 0; padding:12px; border:1px solid var(--line); border-radius:12px; color:var(--ink); }
.auto-assignment-filter legend { padding:0 5px; font-size:12px; font-weight:750; }
.auto-assignment-filter p { margin:0 0 10px; color:var(--muted); font-size:11px; line-height:1.5; }
.auto-assignment-filter .auto-filter-search { display:grid; gap:5px; margin:0 0 8px; }
.auto-filter-search>span { font-size:11px; font-weight:600; }
.auto-filter-search input { width:100%; min-width:0; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:var(--cream); color:var(--ink); font-size:12px; }
.auto-filter-summary { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:8px 0; font-size:11px; color:var(--muted); }
.auto-filter-summary>button { padding:3px 0; border:0; background:none; color:var(--green-dark); font-size:11px; cursor:pointer; }
.auto-filter-options { display:grid; gap:5px; max-height:190px; overflow:auto; overscroll-behavior:contain; }
.auto-assignment-filter .auto-filter-option,.auto-filter-exclusive { display:flex; align-items:flex-start; gap:9px; padding:8px; margin:0; border-radius:8px; font-size:12px; text-align:left; background:var(--soft); color:var(--ink); cursor:pointer; }
.auto-assignment-filter input[type="checkbox"],.auto-filter-exclusive input[type="checkbox"] { width:16px; height:16px; min-height:16px; flex:0 0 16px; margin:2px 0 0; padding:0; accent-color:var(--green); }
.auto-assignment-filter .auto-filter-option>span,.auto-filter-exclusive>span { display:block; min-width:0; font-size:12px; line-height:1.45; font-weight:600; overflow-wrap:anywhere; }
.auto-assignment-filter .auto-filter-option small,.auto-filter-exclusive small { display:block; margin-top:3px; color:var(--muted); font-size:10px; font-weight:400; }
.auto-assignment-filter .auto-filter-exclusive { margin-top:12px; border:1px solid var(--line); }
.auto-assignment-save { display:block; width:100%; margin-top:12px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:var(--green-dark); color:white; font-size:12px; font-weight:700; cursor:pointer; }
.auto-assignment-save:disabled,.auto-assignment-filter:disabled { opacity:.6; }
.admin-map-topbar .operation-auto-assignment-control>button.enabled { color:var(--green-dark); border-color:var(--green); background:var(--soft); }
html[data-theme="dark"] .auto-assignment-filter { border-color:var(--nova-dark-line); color:var(--nova-dark-ink); }
html[data-theme="dark"] :is(.auto-filter-option,.auto-filter-exclusive,.auto-filter-search input) { border-color:var(--nova-dark-line); background:var(--nova-dark-raised); color:var(--nova-dark-ink); }
html[data-theme="dark"] :is(.auto-filter-summary,.auto-assignment-filter p,.auto-filter-exclusive small,.auto-filter-option small) { color:var(--nova-dark-muted); }
html[data-theme="dark"] .auto-filter-summary>button,html[data-theme="dark"] .admin-map-topbar .operation-auto-assignment-control>button.enabled { color:#7ee2b5; }

.admin-map-topbar .operation-auto-assignment-control>button { width:auto; height:34px; display:flex; align-items:center; justify-content:center; gap:6px; padding:0 10px; font-size:10px; font-weight:700; white-space:nowrap; }
.auto-assignment-popover { right:calc(-1 * var(--auto-popover-shift,0px)); width:var(--auto-popover-width,min(300px,calc(100vw - 16px))); max-height:var(--auto-popover-height,calc(100dvh - 90px)); overflow:auto; overscroll-behavior:contain; }
.auto-assignment-popover-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:10px; }
.auto-assignment-popover-heading strong { display:block; font-size:12px; }
.auto-assignment-popover-heading small { display:block; margin-top:4px; font-size:10px; color:var(--muted); }
.auto-assignment-popover-heading>button { display:grid; place-items:center; padding:3px; border:0; border-radius:6px; background:var(--soft); color:var(--ink); cursor:pointer; }
.auto-assignment-popover p { margin:9px 0 0; font-size:11px; line-height:1.5; color:var(--muted); }
.auto-assignment-popover .courier-settings-error { color:var(--red); }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) { .admin-map-topbar .operation-auto-assignment-control>button { width:30px; height:30px; padding:0; border-radius:8px; } }
html[data-theme="dark"] .auto-assignment-popover { background:var(--nova-dark-surface); border-color:var(--nova-dark-line); color:var(--nova-dark-ink); }
html[data-theme="dark"] .auto-assignment-popover-heading>button { background:var(--nova-dark-raised); color:var(--nova-dark-ink); }
html[data-theme="dark"] .auto-assignment-popover :is(p,small) { color:var(--nova-dark-muted); }
html[data-theme="dark"] .auto-assignment-popover .courier-settings-error { color:#ff9b94; }

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-mobile-nav.admin-shared-nav { box-sizing:border-box; height:calc(52px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); }
 .admin-mobile-nav.admin-shared-nav>a,.admin-mobile-nav.admin-shared-nav>.mobile-nav-theme { flex:1 1 0; min-width:0; width:auto; max-width:none; height:100%; padding:5px 1px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; font-size:8px; }
 .admin-mobile-nav.admin-shared-nav svg { width:18px; height:18px; flex-shrink:0; }
 .admin-mobile-nav.admin-shared-nav>.mobile-nav-theme>span { font-size:0; }
 .admin-mobile-nav.admin-shared-nav>.mobile-nav-theme>span::after { content:"Tema"; font-size:8px; font-weight:800; }
}
@media(max-width:380px) {
 .admin-mobile-nav.admin-shared-nav>a { font-size:7px; }
 .admin-mobile-nav.admin-shared-nav>a>span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}

/* Courier filter editing stays in the existing settings window. */
.courier-settings-home[hidden] { display:none; }
.courier-filter-entry { display:flex; align-items:center; gap:9px; width:100%; min-height:40px; padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:var(--soft); color:var(--ink); font-size:12px; font-weight:700; text-align:left; cursor:pointer; }
.courier-filter-entry>svg:last-child { margin-left:auto; }
.courier-filter-entry:disabled { opacity:.5; cursor:default; }
.courier-filter-entry:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.courier-quick-settings>header>.courier-settings-back,.admin-shop-dialog>header>.courier-settings-back { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:4px; width:auto; height:30px; padding:0 7px; border:0; border-radius:8px; background:var(--soft); color:var(--ink); font-size:11px; font-weight:700; cursor:pointer; }
.courier-settings-back:disabled { opacity:.5; cursor:default; }
.courier-settings-back:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.courier-shop-filter-page .auto-assignment-filter { margin-top:0; }
.courier-filter-save-note { margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.admin-shop-dialog>header>div>small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }
html[data-theme="dark"] :is(.courier-filter-entry,.courier-quick-settings>header>.courier-settings-back,.admin-shop-dialog>header>.courier-settings-back) { background:var(--nova-dark-raised); border-color:var(--nova-dark-line); color:var(--nova-dark-ink); }
html[data-theme="dark"] :is(.courier-filter-save-note,.admin-shop-dialog>header>div>small) { color:var(--nova-dark-muted); }

/* Automatic dispatch feedback uses its own layer, preserving Leaflet transforms. */
.auto-assignment-animation-layer { position:fixed; inset:0; z-index:9998; pointer-events:none; }
.order-drag-ghost.auto-assignment-flight { left:0; top:0; display:flex; align-items:center; gap:10px; width:min(220px,calc(100vw - 32px)); max-width:none; padding:11px 13px; border-color:#45b28c; background:var(--management-surface,#fff); color:var(--management-ink); box-shadow:0 14px 34px #0d302538,0 1px 4px #0d302514; transform-origin:center; will-change:transform,opacity; }
.auto-assignment-flight>i { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border-radius:9px; background:#16885e18; color:#16885e; }
.auto-assignment-flight>div { flex:1; min-width:0; }
.auto-assignment-flight :is(strong,span,small) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.auto-assignment-flight>div>strong { font-size:12px; }
.auto-assignment-flight>div>span { margin-top:3px; font-size:10px; color:var(--management-muted); }
.auto-assignment-flight>div>small { display:block; margin-top:5px; font-size:10px; font-weight:650; color:#16885e; }
.auto-assignment-drop { position:absolute; left:0; top:0; display:grid; place-items:center; width:27px; height:27px; border:2px solid var(--management-surface,#fff); border-radius:50%; background:#16885e; color:#fff; box-shadow:0 3px 12px #0d302530; will-change:transform,opacity; }
.auto-assignment-drop::after { content:""; position:absolute; inset:-8px; border:2px solid #27a577; border-radius:50%; animation:auto-assignment-land .28s cubic-bezier(.22,1,.36,1) both; }
@keyframes auto-assignment-land { from { transform:scale(.55); opacity:.8; } to { transform:scale(1.35); opacity:0; } }
.auto-assignment-drop.reduced::after { display:none; }
html[data-theme="dark"] .auto-assignment-flight>i { background:#7ee2b51a; color:#7ee2b5; }
html[data-theme="dark"] .auto-assignment-flight>div>small { color:#7ee2b5; }
@media(prefers-reduced-motion:reduce) { .auto-assignment-drop::after { animation:none; display:none; } }

.order-drag-ghost.auto-assignment-flight-group { box-shadow:3px 3px 0 var(--management-surface,#fff),4px 4px 0 #45b28c88,6px 6px 0 var(--management-surface,#fff),7px 7px 0 #45b28c55,0 14px 34px #0d302538; }

/* Map name surfaces exist on creation, before hover or inspection. */
.live-route-map .leaflet-tooltip.nova-entity-label { --nova-label-surface:#fff; --nova-label-line:#c8d5cf; --nova-label-ink:#173a32; background:var(--nova-label-surface); border-color:var(--nova-label-line); color:var(--nova-label-ink); }
.live-route-map .nova-entity-label .nova-map-name { color:var(--nova-label-ink); }
.live-route-map .nova-entity-label.leaflet-tooltip-top::before { border-top-color:var(--nova-label-surface); }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-map-main .live-route-map .nova-permanent-map-label { max-width:170px; padding:3px 5px; font-size:10px; line-height:1.25; }
 .admin-map-main .nova-map-label-stack>small,.admin-map-main .nova-courier-progress-label>small { font-size:9px; }
 .admin-map-main .live-route-map .nova-permanent-map-label:has(.nova-courier-progress-label) { max-width:230px; }
}

/* Automatic mode keeps package information and native list scrolling available. */
.dispatch-card[data-auto-assignment-read-only="true"],
.dispatch-card[data-auto-assignment-read-only="true"] .dispatch-card-select { touch-action:pan-y; }
.dispatch-card[data-auto-assignment-read-only="true"] .dispatch-card-summary,
.dispatch-card[data-auto-assignment-read-only="true"] .dispatch-card-select:disabled { cursor:default; }
.dispatch-card[data-auto-assignment-read-only="true"] .dispatch-card-select:disabled { opacity:1; color:inherit; }

.auto-assignment-timing { flex:0 0 auto; padding:7px 9px 8px; border-top:1px solid var(--line,#d7e1dd); background:var(--surface,#fff); color:var(--ink,#173a32); }
.auto-assignment-timing>header { display:flex; align-items:center; justify-content:space-between; gap:7px; min-height:14px; margin-bottom:5px; }
.auto-assignment-timing strong { overflow:hidden; font-size:9px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.auto-assignment-timing small { flex-shrink:0; color:var(--muted,#64776e); font-size:9px; font-variant-numeric:tabular-nums; }
.auto-assignment-timing-track { height:4px; overflow:hidden; border-radius:99px; background:var(--soft,#edf3ef); }
.auto-assignment-timing-fill { position:relative; display:block; width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#16885e,#42c691); transform:scaleX(0); transform-origin:left center; will-change:transform; }
.auto-assignment-timing[data-phase="idle"] .auto-assignment-timing-fill { background:var(--muted,#64776e); }
.auto-assignment-timing[data-phase="waiting-courier"] .auto-assignment-timing-track { display:none; }
.auto-assignment-timing[data-phase="waiting-courier"] small { color:var(--muted,#64776e); white-space:normal; text-align:right; }
.content-dialog-panel.auto-assignment-warning { width:min(440px,calc(100vw - 32px)); padding:28px; color:var(--text,#162c24); background:var(--surface,#fff); border:1px solid var(--line,#dbe5e0); border-radius:20px; }
.auto-assignment-warning-icon { display:grid; place-items:center; width:54px; height:54px; margin-bottom:18px; border-radius:16px; color:#95640c; background:#fff3d6; }
.auto-assignment-warning h2 { margin:0 0 12px; font-size:22px; line-height:1.3; }
.auto-assignment-warning p { margin:0 0 14px; color:var(--muted,#64776e); font-size:14px; line-height:1.65; }
.auto-assignment-warning>button { display:block; width:100%; min-height:46px; margin-top:22px; border:0; border-radius:12px; font:inherit; font-weight:700; cursor:pointer; color:#fff; background:var(--primary,#16885e); }
html[data-theme="dark"] .content-dialog-panel.auto-assignment-warning { color:var(--nova-dark-ink); background:var(--nova-dark-surface); border-color:var(--nova-dark-line); }
html[data-theme="dark"] .auto-assignment-warning p { color:var(--nova-dark-muted); }
html[data-theme="dark"] .auto-assignment-warning-icon { color:#f6d47f; background:#f6d47f18; }
.auto-assignment-drop.auto-assignment-drop-fallback { display:flex; justify-content:center; gap:5px; width:max-content; max-width:min(190px,calc(100vw - 24px)); height:30px; padding:0 8px; border-radius:99px; }
.auto-assignment-drop-fallback>svg { width:14px; height:14px; flex-shrink:0; }
.auto-assignment-drop-fallback>span { min-width:0; overflow:hidden; font-size:11px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.auto-assignment-drop-fallback::after { border-radius:inherit; }
html[data-theme="dark"] .auto-assignment-timing { background:var(--nova-dark-surface); border-color:var(--nova-dark-line); color:var(--nova-dark-ink); }
html[data-theme="dark"] .auto-assignment-timing small { color:var(--nova-dark-muted); }
html[data-theme="dark"] .auto-assignment-timing-track { background:var(--nova-dark-raised); }
html[data-theme="dark"] .auto-assignment-timing-fill { background:linear-gradient(90deg,#2aa879,#7ee2b5); }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .auto-assignment-timing { padding:6px 8px 7px; }
 .admin-map-main .admin-map-orders.mobile-queue-closed[data-auto-assignment-enabled="true"] { max-height:76px!important; }
 .admin-map-main .admin-map-orders.mobile-queue-peek[data-auto-assignment-enabled="true"] { max-height:min(calc(var(--nova-mobile-queue-list-cap,180px) + 76px),38svh)!important; }
 .admin-map-main .admin-map-orders.mobile-queue-peek[data-auto-assignment-enabled="true"] .dispatch-list { max-height:110px; }
}
@media(prefers-reduced-motion:no-preference) {
 .auto-assignment-timing[data-phase="assigning"] .auto-assignment-timing-fill::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,#ffffff99,transparent); animation:auto-assignment-timing-glint .8s ease-in-out infinite; }
 @keyframes auto-assignment-timing-glint { from { transform:translateX(-100%); } to { transform:translateX(100%); } }
}

/* The size preference is confined to map glyphs and their Leaflet labels. */
.live-route-map[data-marker-size-controlled="true"] .leaflet-tooltip.nova-entity-label {
 max-width:var(--nova-label-max-width,190px);
 padding:var(--nova-label-padding-y,3px) var(--nova-label-padding-x,6px);
 border-radius:var(--nova-label-radius,7px);
 font-size:var(--nova-label-font-size,8.5px);
 line-height:1.2;
}
.live-route-map[data-marker-size-controlled="true"] .nova-entity-label:has(.nova-courier-progress-label) { max-width:var(--nova-label-progress-max-width,260px); }
.live-route-map[data-marker-size-controlled="true"] .nova-entity-label :is(.nova-map-label-stack,.nova-courier-progress-label)>small { font-size:var(--nova-label-small-font-size,8px); }
.live-route-map[data-marker-size-controlled="true"] .nova-entity-label .nova-map-label-stack { gap:calc(2px * var(--nova-marker-size-factor,1)); }
.live-route-map[data-marker-size-controlled="true"] .nova-entity-label .nova-map-label-stack>span { max-width:100%; }
.live-route-map[data-marker-size-controlled="true"] .nova-entity-label .nova-courier-progress-label { gap:calc(4px * var(--nova-marker-size-factor,1)); }
.live-route-map[data-marker-size-controlled="true"] .nova-entity-label.leaflet-tooltip-top { margin-top:calc(-1 * var(--nova-label-arrow,6px)); }
.live-route-map[data-marker-size-controlled="true"] .nova-entity-label.leaflet-tooltip-top::before {
 border-width:var(--nova-label-arrow,6px);
 margin-left:calc(-1 * var(--nova-label-arrow,6px));
 margin-bottom:calc(-2 * var(--nova-label-arrow,6px));
}
.live-route-map[data-marker-size-controlled="true"] .nova-leaflet-icon>span.order-assigned {
 transform:translate(var(--nova-order-shift-x,18px),var(--nova-order-shift-y,-15px)) scale(var(--nova-marker-scale,1));
}
.operation-map-settings .map-marker-size-control { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; margin-top:6px; padding-top:10px; border-top:1px solid var(--management-line,#d7e1dd); }
.operation-map-settings .map-marker-size-control>span { min-width:0; font-size:9px; line-height:1.3; }
.operation-map-settings .map-marker-size-actions { display:grid; grid-template-columns:26px 36px 26px; align-items:center; gap:3px; }
.operation-map-settings .map-marker-size-actions>button { display:grid; place-items:center; width:26px; height:28px; padding:0; border:1px solid var(--management-line,#d7e1dd); border-radius:7px; background:var(--management-raised,#f3f7f5); color:var(--management-ink,#173a32); box-shadow:none; }
.operation-map-settings .map-marker-size-actions>button svg { width:14px; height:14px; }
.operation-map-settings .map-marker-size-actions>button:disabled { opacity:.4; cursor:default; }
.operation-map-settings .map-marker-size-actions>button:not(:disabled):hover { border-color:#16875b; }
.operation-map-settings .map-marker-size-actions>button:focus-visible { outline:2px solid #16875b; outline-offset:2px; }
.operation-map-settings .map-marker-size-actions>output { min-width:0; text-align:center; font-size:10px; font-weight:800; font-variant-numeric:tabular-nums; }

/* Courier-only connection feedback; existing admin and shop layouts are unchanged. */
.courier-page .courier-fixed-title>button { display:flex; align-items:center; gap:6px; min-height:40px; }
.courier-page .courier-fixed-opportunities article>div:first-child { min-width:0; flex:1; overflow-wrap:anywhere; }
.courier-page .courier-fixed-opportunities article>div:last-child { flex-shrink:0; }
.courier-page .courier-fixed-opportunities article button { min-height:44px; white-space:nowrap; }
.courier-page .courier-sync-status { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:12px auto; padding:10px 12px; max-width:620px; border:1px solid #e4c988; border-radius:10px; background:#fff7e5; color:#674900; font-size:12px; line-height:1.45; }
.courier-page .courier-sync-status span { min-width:0; overflow-wrap:anywhere; }
.courier-page .courier-sync-status button { flex-shrink:0; border:1px solid currentColor; border-radius:7px; padding:6px 9px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
html[data-theme="dark"] .courier-page .courier-sync-status { background:var(--nova-dark-surface,#262626); border-color:#77603b; color:#f4d794; }
@media(max-width:400px) { .courier-page .courier-sync-status { align-items:flex-start; flex-wrap:wrap; } }

/* Shared theme surfaces. Loaded after layout styles so dark controls stay consistent. */
.courier-route-card-main { padding: 0; border: 0; background: transparent; text-align: left; font: inherit; color: inherit; cursor: pointer; border-radius: 8px; }
.courier-detail-hint { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; padding-top: 6px; color: #32634e; font-size: 12px; font-weight: 650; }
.courier-card-ack { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--line); padding-top: 10px; }
.courier-card-ack > span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #546558; }
.courier-card-ack > button { min-height: 44px; padding: 10px 24px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 11px; background: #176448; color: #fff; font-size: 14px; font-weight: 750; cursor: pointer; }
.courier-card-ack > button:disabled { opacity: .6; }
.courier-flow-actions .courier-unseen-prompt { width: 100%; min-height: 40px; margin-bottom: 7px; padding: 6px 10px; display: flex; justify-content: center; align-items: center; gap: 7px; background: #fff1d5; color: #754b0c; border: 1px solid #e1c493; font-size: 12px; }
.courier-page:has(.courier-unseen-prompt) .courier-app > main { padding-bottom: 220px; }
.huge-origin-box > span { flex: 1; }
.courier-stop-map-link { display: flex; flex: 0 0 64px; align-items: center; flex-direction: column; gap: 5px; padding: 8px 4px; background: #dbefe5; color: #145238; border-radius: 10px; text-align: center; text-decoration: none; }
.huge-origin-box .courier-stop-map-link small { color: inherit; font-size: 10px; letter-spacing: 0; line-height: 1.4; }
.courier-contact-pin { padding-top: 12px; font-size: 14px; }
.courier-package-preview { --preview-surface: #fff; --preview-bg: #f2f6f4; --preview-muted: #51645b; position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: var(--preview-bg); color: var(--ink); overflow: hidden; }
.courier-package-preview[open] { display: flex; flex-direction: column; }
.courier-package-preview::backdrop { background: #20392f99; }
.package-preview-header { flex: 0 0 auto; padding: calc(14px + env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 14px max(18px, env(safe-area-inset-left)); display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid var(--line); background: var(--preview-surface); }
.package-preview-header > div > span { font-size: 11px; font-weight: 750; letter-spacing: .1em; color: var(--preview-muted); }
.package-preview-header h2 { margin: 4px 0 0; font-size: 23px; }
.package-preview-header > button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 13px; display: grid; place-items: center; background: var(--preview-bg); color: inherit; cursor: pointer; }
.package-preview-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.package-preview-layout { width: min(1200px,100%); margin: 0 auto; padding: 20px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.95fr); gap: 20px; align-items: start; }
.package-preview-information { min-width: 0; }
.package-preview-information > .order-sla-badge { margin: 0 0 12px; }
.package-preview-information .courier-huge-card { padding: 20px; min-height: 0; gap: 18px; }
.package-preview-information .huge-customer-name { font-size: 26px; }
.package-preview-information .huge-address-line { font-size: 16px; line-height: 1.55; }
.package-preview-route { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--preview-surface); position: sticky; top: 20px; }
.package-preview-route > header { padding: 17px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.package-preview-route > header > span { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.package-preview-route > header > small { font-size: 12px; color: var(--preview-muted); }
.package-preview-map { height: 430px; min-height: 320px; }
.package-preview-map-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 14px; }
.package-preview-map-actions a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 8px; min-height: 48px; border: 1px solid var(--line); border-radius: 12px; color: inherit; background: var(--preview-bg); font-size: 13px; font-weight: 650; text-decoration: none; }
.package-preview-location-note { padding: 14px; font-size: 13px; line-height: 1.5; color: var(--preview-muted); }
.package-preview-footer { flex: 0 0 auto; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: center; gap: 24px; background: var(--preview-surface); }
.package-preview-footer > p { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--preview-muted); }
.package-preview-footer > button { width: min(360px,100%); min-height: 50px; border-radius: 12px; font-size: 15px; font-weight: 750; cursor: pointer; }
html[data-theme="dark"] .courier-package-preview { --preview-surface: var(--nova-dark-surface); --preview-bg: var(--nova-dark-canvas); --preview-muted: var(--nova-dark-muted); }
html[data-theme="dark"] :is(.courier-detail-hint,.courier-card-ack > span) { color: var(--nova-dark-muted); }
html[data-theme="dark"] :is(.courier-card-ack > button,.courier-stop-map-link) { background: #a0e2c8; color: #173c31; }
html[data-theme="dark"] .huge-origin-box .courier-stop-map-link small { color: #173c31; }
html[data-theme="dark"] .route-info-pill { background: var(--nova-dark-surface); border-color: var(--nova-dark-line); color: var(--nova-dark-ink); }
html[data-theme="dark"] .route-info-pill :is(strong,span,svg) { color: var(--nova-dark-ink); }
html[data-theme="dark"] .courier-flow-actions .courier-unseen-prompt { background: var(--nova-dark-raised); border-color: var(--nova-dark-line); color: #ffe0a3; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .package-preview-layout { grid-template-columns: minmax(0,1fr); gap: 16px; padding: 14px; }
  .package-preview-route { position: static; }
  .package-preview-map { height: 340px; }
  .package-preview-information .courier-huge-card { padding: 14px; }
  .package-preview-information .huge-action-grid { grid-template-columns: 1fr; }
  .package-preview-footer { flex-direction: column; gap: 7px; }
  .package-preview-footer > button { width: 100%; }
  .package-preview-header h2 { font-size: 21px; }
  .package-preview-map-actions { gap: 8px; padding: 10px; }
  .package-preview-map-actions a { font-size: 12px; }
}
html[data-theme="dark"] {
  color-scheme: dark;
  --ink: var(--nova-dark-ink);
  --muted: var(--nova-dark-muted);
  --line: var(--nova-dark-line);
  --soft: var(--nova-dark-raised);
  --cream: var(--nova-dark-canvas);
  --green: #237453;
  --green-dark: #1c6045;
  --green-soft: #29483f;
  --red: #ffb0aa;
  --red-soft: #51363e;
  --amber: #f4cf86;
  --sidebar: var(--nova-dark-surface);
  --shadow: 0 16px 44px rgba(10,20,35,.18);
}
html[data-theme="dark"] body { background: var(--nova-dark-canvas); color: var(--ink); }
html[data-theme="dark"] :is(
  .app-shell, .main-content, .ops-shell, .ops-main, .courier-page, .courier-app,
  .reports-shell, .shop-integrations-shell, .admin-shops-shell, .developer-shell,
  .settings-page, .client-launcher-page, .integrations-shell, .admin-shell-content,
  .shop-shell-content, .admin-map-main, .shop-map-page
) { background-color: var(--nova-dark-canvas); color: var(--ink); }
html[data-theme="dark"] :is(.sidebar, .ops-sidebar) { background: var(--nova-dark-surface); border-right-color: var(--nova-dark-line); }
html[data-theme="dark"] :is(
  .topbar, .ops-topbar, .shop-shell-mobile-bar, .reports-header, .shop-integrations-header,
  .order-card, .platform-quick-item, .notification-popover, .dialog, .admin-shop-dialog,
  .admin-shops-list article, .admin-courier-list article, .courier-work-card,
  .shop-integration-card, .shop-connection-steps > div, .admin-shop-integration,
  .admin-integration-foot, .developer-card, .profile-card, .password-card,
  .report-metric, .report-panel, .tracking-card, .client-launcher-card,
  .courier-header, .courier-route-card, .courier-huge-card, .huge-details-box, .courier-flow-actions,
  .courier-menu-drawer, .courier-bottom-nav, .receipt-modal, .location-picker,
  .courier-empty, .courier-menu-stats > div, .courier-field-metrics > div,
  .courier-speed-status, .courier-summary > div, .courier-more-tasks, .courier-task,
  .task-reorder button, .dispatch-card, .dispatch-orders, .dispatch-map-panel,
  .shop-focus-bar, .empty-state,
  .admin-map-orders, .admin-map-stats > div, .admin-map-toolbar, .admin-route-plan,
  .admin-map-couriers, .shop-map-floating-panel, .courier-map-empty-info, .courier-map-back
) { background-color: var(--nova-dark-surface); border-color: var(--nova-dark-line); color: var(--ink); box-shadow: var(--shadow); }
html[data-theme="dark"] :is(.topbar, .ops-topbar, .admin-map-topbar, .admin-map-orders, .admin-map-stats > div, .admin-map-toolbar, .admin-route-plan, .admin-map-couriers, .shop-map-floating-panel, .courier-flow-actions, .courier-bottom-nav) { background-color: var(--nova-dark-surface); }
html[data-theme="dark"] :is(
  input, select, textarea, .search-box, .range-switch, .filter-tabs, .panel-heading label,
  .admin-shop-form-grid input, .admin-shop-form-grid select, .shop-credential-form input,
  .shop-credential-form select, .developer-form-grid input, .developer-form-grid select,
  .developer-form-grid textarea
) { background-color: var(--nova-dark-input); border-color: var(--nova-dark-line); color: var(--nova-dark-ink); }
html[data-theme="dark"] :is(input,textarea)::placeholder { color: var(--nova-dark-muted); }
html[data-theme="dark"] :is(
  .items-list, .delivery-row, .order-header, .customer-row, .platform-quick-item.pending,
  .shop-connected-summary > div:not(.shop-integration-actions), .shop-credential-form details,
  .admin-connection-cell, .admin-shop-numbers span, .breakdown-list > div,
  .tracking-info > div, .notification-list article.unread, .courier-menu-shift,
  .courier-break-balance, .huge-address-box, .huge-items-ul li, .courier-route-reorder button,
  .dispatch-quick-filters, .dispatch-quick-filters button, .candidate-list > button,
  .admin-map-couriers .candidate-list > button
) { background-color: var(--nova-dark-raised); border-color: var(--nova-dark-line); }
html[data-theme="dark"] :is(
  h1,h2,h3,strong,.topbar-title h1,.ops-topbar h1,.page-hero h2,.shop-focus-bar h2,
  .table-platform strong,.order-item strong,.customer-row strong,.tracking-order strong,
  .tracking-feedback > h2,.tracking-feedback-thanks strong,.huge-customer-name,
  .huge-pay-amount,.huge-item-name,.courier-route-point strong,.huge-origin-box strong,
  .admin-route-plan strong,.courier-empty h2,.courier-summary strong
) { color: var(--nova-dark-ink); }
html[data-theme="dark"] :is(
  p,small,.eyebrow,.section-kicker,.table-platform span,.customer-row span,.order-item span,
  .shop-integration-card-head p,.shop-connected-summary > p,.shop-integrations-intro p,
  .admin-shop-main span,.admin-shop-owner span,.developer-heading p,.tracking-status p,
  .tracking-info small,.tracking-timeline small,.courier-route-point p,.huge-origin-box p,
  .huge-box-kicker,.huge-pay-left small,.huge-pay-right small,.huge-item-opt
) { color: var(--nova-dark-muted); }
html[data-theme="dark"] :is(.theme-toggle,.icon-button,.mobile-menu,.ops-top-actions > button) { background: var(--nova-dark-raised); border-color: var(--nova-dark-line); color: var(--nova-dark-ink); }
html[data-theme="dark"] :is(.store-live,.tracking-button,.receipt-button,.shop-form-actions button.plain,.shop-integration-actions button.plain) { background: #304a44; border-color: #48695f; color: #a1ebca; }
html[data-theme="dark"] :is(.empty-state,.admin-account-empty,.address-location-placeholder) { background: var(--nova-dark-surface); border-color: var(--nova-dark-line); color: var(--nova-dark-muted); }
html[data-theme="dark"] :is(.notification-popover > header,.notification-list article,.tracking-timeline,.order-header,.customer-row,.delivery-row,.huge-pay-row) { border-color: var(--nova-dark-line); }
html[data-theme="dark"] .tracking-shell { background: linear-gradient(180deg,var(--nova-dark-raised) 0,var(--nova-dark-raised) 32%,var(--nova-dark-canvas) 32%); }
html[data-theme="dark"] .tracking-progress span { background: var(--nova-dark-surface); border-color: var(--nova-dark-line); }
html[data-theme="dark"] .tracking-progress i { background: var(--nova-dark-line); }
html[data-theme="dark"] .tracking-feedback { border-color: #466c61; background: linear-gradient(145deg,#304942,#2b403d); }
html[data-theme="dark"] .login-panel { background: var(--nova-dark-input); }
html[data-theme="dark"] .login-box { color: var(--nova-dark-ink); }
html[data-theme="dark"] .login-input { background: var(--nova-dark-input); border-color: var(--nova-dark-line); }
html[data-theme="dark"] .login-input input { background: transparent; }
html[data-theme="dark"] .courier-empty.is-offline { background: #3d3542; border-color: #785562; }
html[data-theme="dark"] .courier-empty.is-break { background: #413e39; border-color: #7c6a48; }
html[data-theme="dark"] .courier-empty.is-online { background: #2b4144; border-color: #456d63; }
html[data-theme="dark"] :is(.dispatch-card:hover,.dispatch-card.selected,.candidate-list > button.selected,.candidate-list > button.recommended) { background: #34584f; }
html[data-theme="dark"] .admin-map-canvas,
html[data-theme="dark"] .shop-map-page,
html[data-theme="dark"] .admin-map-main { background: var(--nova-dark-canvas); }
html[data-theme="dark"] .leaflet-tile-pane { filter: brightness(.76) contrast(1.04) saturate(.65); }
html[data-theme="dark"] .live-route-map .nova-permanent-map-label { background: var(--nova-dark-surface); border-color: var(--nova-dark-line); color: var(--nova-dark-ink); }
html[data-theme="dark"] .live-route-map .nova-map-popup .leaflet-popup-content-wrapper,
html[data-theme="dark"] .live-route-map .nova-map-popup .leaflet-popup-tip { background: var(--nova-dark-surface); border-color: var(--nova-dark-line); color: var(--nova-dark-ink); }
html[data-theme="dark"] .nova-map-popup-card strong { color: var(--nova-dark-ink); }
html[data-theme="dark"] .nova-map-popup-card section span { color: var(--nova-dark-muted); }
html[data-theme="dark"] .nova-map-popup-badge { background: #34584f; color: #a9efd0; }
html[data-theme="dark"] .leaflet-control-zoom a { background: var(--nova-dark-raised); border-color: var(--nova-dark-line); color: var(--nova-dark-ink); }
html[data-theme="dark"] .leaflet-control-attribution { background: var(--nova-dark-surface); color: var(--nova-dark-muted); }
html[data-theme="dark"] .leaflet-control-attribution a { color: #a1ebca; }
html[data-theme="dark"] .admin-map-stats > div { background: var(--nova-dark-surface); border-color: var(--nova-dark-line); color: var(--ink); }
html[data-theme="dark"] .admin-mobile-nav { background: var(--nova-dark-surface); border-color: var(--nova-dark-line); }
html[data-theme="dark"] .admin-mobile-nav a,
html[data-theme="dark"] .admin-mobile-nav .mobile-nav-theme { color: var(--nova-dark-muted); }
html[data-theme="dark"] .admin-mobile-nav a.active { color: #95e8c7; }
html[data-theme="dark"] .dispatch-quick-filters { background: var(--nova-dark-surface); }
html[data-theme="dark"] .dispatch-quick-filters button { background: var(--nova-dark-raised); border-color: var(--nova-dark-line); color: var(--nova-dark-muted); }
html[data-theme="dark"] .dispatch-quick-filters button.active { background: #355c50; border-color: #699f8b; color: #d5f8e8; }

/* Icon sizing is independent of the length of the adjacent label. */
svg.lucide { flex-shrink: 0; vertical-align: middle; }
button, a { -webkit-tap-highlight-color: transparent; }
:is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid #438dcb; outline-offset: 3px; }
:is(.courier-menu-button, .courier-header-actions > button, .courier-header-actions .theme-toggle, .icon-button, .mobile-menu) {
  width: 40px; height: 40px; min-width: 40px; flex: 0 0 auto; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
}
.courier-header-actions .courier-location-toggle { width: auto; padding: 0 12px; gap: 7px; }
.courier-header-actions { gap: 8px; }
.courier-location-toggle svg { width: 18px; height: 18px; }
.huge-action-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.huge-action-grid.single-action { grid-template-columns: minmax(0,1fr); }
.huge-action-grid > a {
  min-width: 0; min-height: 64px; padding: 12px 14px; display: flex;
  align-items: center; justify-content: flex-start; gap: 12px; text-align: left;
  line-height: 1.35; box-shadow: none; border: 1px solid transparent;
}
.huge-action-grid > a > svg { width: 22px; height: 22px; flex: 0 0 22px; }
.huge-action-grid > a > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.huge-action-grid > a strong { color: inherit; font-size: 14px; font-weight: 750; }
.huge-action-grid > a small { color: inherit; font-size: 12px; font-weight: 500; }
.huge-nav-button { background: #176448; color: #fff; }
.huge-call-button { background: #edf4fc; color: #225481; border-color: #bfd3e5 !important; }
.huge-call-button:hover { background: #dfeefb; }
.huge-alert-banner.note-banner { flex-direction: column; gap: 4px; }
.huge-alert-banner p { line-height: 1.55; }
.huge-alert-banner > svg, .huge-origin-box > svg { margin-top: 2px; }
.huge-pay-row { gap: 16px; flex-wrap: wrap; }
.huge-pay-right { margin-left: auto; text-align: right; }
.huge-pay-badge { display: inline-flex; line-height: 1.4; }
.huge-items-ul li { flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 10px 12px; }
.huge-item-name { flex: 1; min-width: 100px; overflow-wrap: anywhere; }
.huge-item-opt { flex-basis: 100%; padding-left: 25px; line-height: 1.5; }
.huge-address-line, .huge-origin-box p, .huge-customer-name { overflow-wrap: anywhere; }
.courier-menu-nav a, .courier-menu-logout { min-height: 44px; }
.courier-bottom-nav :is(a,button) { gap: 5px; line-height: 1.2; }
.courier-route-card:not(:has(.courier-route-reorder)) { grid-template-columns: 42px minmax(0,1fr); }
.courier-route-point p { line-height: 1.5; }
.courier-flow-actions { box-shadow: 0 8px 24px rgba(20,35,48,.14); }
.courier-page .courier-tasks-section { margin-top: 0; }
.courier-failure-dialog { width: min(480px,100%); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow); }
.courier-failure-dialog h2 { margin: 8px 24px 10px 0; font-size: 22px; line-height: 1.3; }
.courier-failure-dialog > p { font-size: 14px; line-height: 1.5; color: #56665e; }
.failure-reasons { margin: 18px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.failure-chip { min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid #cedbd5; border-radius: 10px; background: #f4f7f5; color: #374f43; font-size: 13px; line-height: 1.4; text-align: left; cursor: pointer; }
.failure-chip.active { border-color: #238258; background: #e1f3e9; color: #155036; box-shadow: inset 3px 0 #238258; }
.failure-detail { display: block; font-size: 14px; }
.courier-failure-dialog .failure-close { width: 36px; height: 36px; padding: 0; }
.courier-failure-dialog .dialog-actions { flex-wrap: wrap; }
.courier-failure-dialog .dialog-actions > button { min-height: 44px; flex: 1; }
.courier-change-dialog { width: min(420px,100%); padding: 24px; display: flex; align-items: center; justify-content: center; }
.courier-change-dialog > button { width: 100%; min-height: 52px; border: 0; border-radius: 12px; }
.order-sla-badge.ready-pickup:not(.late) { border-color: hsl(var(--sla-hue) 58% 55%); background: hsl(var(--sla-hue) 62% 95%); color: hsl(var(--sla-hue) 68% 30%); }

/* Shared charcoal surfaces, with semantic colors for actionable/selected states. */
html[data-theme="dark"] {
  --surface: var(--nova-dark-surface);
  --surface-raised: var(--nova-dark-raised);
  --surface-input: var(--nova-dark-input);
  --success-bg: #304d45;
  --success-text: #a9efd0;
  --warning-bg: var(--nova-dark-raised);
  --warning-text: #ffe0a3;
  --danger-bg: #2d252d;
  --danger-text: #ffc0bc;
  --info-bg: var(--nova-dark-raised);
  --info-text: var(--nova-dark-accent);
}
html[data-theme="dark"] :is(
  .summary-stats, .platform-strip, .platform-table, .ops-stats > div,
  .integration-card, .integration-automation, .integrations-header, .admin-empty-integrations,
  .courier-history-page > .reports-shell, .courier-empty-page, .courier-empty-page > header,
  .courier-empty-page > section, .courier-package-toolbar, .courier-menu-work,
  .courier-menu-break-info, .courier-seen-box, .courier-candidates, .courier-map-card,
  .dialog-card, .manual-order-dialog, .address-suggestion-list, .courier-circle-slider,
  .admin-shell-content > .admin-shops-shell, .admin-shell-content > .reports-shell,
  .admin-shell-content > .developer-shell, .admin-shell-content > .settings-page
) { background: var(--surface); color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] :is(
  .platform-pill, .platform-pill.muted, .platform-table-head, .source-badge,
  .capabilities span, .filter-tabs button b, .dispatch-quick-filters button b,
  .integration-card dl div, .quick-assign-summary, .quick-assign-summary > div,
  .client-launcher-grid article, .settings-phone-row, .task-meta, .courier-seen-meta,
  .huge-route-progress, .huge-details-box, .huge-items-ul li, .huge-origin-box,
  .huge-address-box, .courier-menu-stats > div, .courier-menu-work-actions .work-locked,
  .manual-order-dialog .manual-option-card, .shop-map-order-list > button,
  .shop-map-order-list button > small, .shop-courier-progress > div,
  .circle-step-btn, .courier-compact-summary, .candidate-avatar
) { background: var(--surface-raised); color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] :is(
  .theme-toggle, .icon-button, .mobile-menu, .courier-menu-button, .courier-notification-toggle,
  .courier-location-toggle, .courier-logout, .courier-menu-drawer > header > button,
  .notification-popover > header button, .admin-shop-dialog > header > button,
  .dialog-actions .secondary, .manual-order-dialog > footer .secondary,
  .admin-shop-row-actions button, .courier-row-actions button, .account-toggle,
  .map-toggle, .show-all-map-button, .courier-route-reorder button,
  .courier-work-actions button, .courier-menu-work-actions .go-offline,
  .developer-secondary, .developer-platforms button, .client-mobile-access > button,
  .tracking-feedback-tags button, .tracking-feedback-selected span, .failure-chip
) { background: var(--surface-raised); color: var(--nova-dark-ink); border-color: var(--nova-dark-line); box-shadow: none; }
html[data-theme="dark"] :is(
  .manual-order-dialog input, .manual-order-dialog select, .manual-order-dialog textarea,
  .developer-card form > label input, .developer-card form > label textarea,
  .tracking-feedback textarea, .failure-detail textarea, .dialog input, .dialog select
) { background: var(--surface-input); border-color: var(--nova-dark-line); color: var(--ink); }
html[data-theme="dark"] :is(
  .shop-credential-form label, .admin-shop-form-grid label, .developer-form-grid label,
  .profile-card label, .password-card label, .manual-order-dialog label,
  .failure-detail, .huge-address-line, .huge-items-title, .courier-menu-nav a,
  .courier-menu-profile > svg, .courier-menu-work-status small, .courier-menu-break-info,
  .courier-route-point > svg, .courier-route-connector, .task-stops p, .task-stops small,
  .simple-history .history-payment, .simple-history .history-shop-name,
  .admin-shop-main > span, .admin-shop-owner > span, .shop-connected-summary span,
  .platform-table-head, .platform-quick-item > div > span, .capabilities,
  .filter-tabs button, .range-switch button, .dispatch-address, .candidate-distance,
  .integration-detail, .integration-card dt, .tracking-order, .report-empty,
  .settings-top-actions a, .settings-back, .courier-header-title
) { color: var(--nova-dark-ink); }
html[data-theme="dark"] :is(
  .huge-customer-name, .huge-pay-amount, .huge-item-name, .courier-menu-profile strong,
  .courier-menu-work-status strong, .admin-shop-numbers strong, .settings-phone-row strong,
  .courier-route-point strong, .huge-origin-box strong, .courier-header-title
) { color: var(--nova-dark-ink); }
html[data-theme="dark"] :is(
  .huge-box-kicker, .huge-origin-box small, .huge-pay-left small, .huge-pay-right small,
  .huge-item-opt, .courier-route-point small, .courier-route-point p, .courier-menu-profile span,
  .courier-menu-greeting, .courier-menu-stats small, .courier-package-toolbar > span,
  .report-panel-title span, .report-metric small, .simple-history small,
  .settings-phone-row span, .shop-connected-summary > p, .integration-field-help
) { color: var(--nova-dark-muted); }

/* Paired status backgrounds and text prevent pale badges with pale text. */
html[data-theme="dark"] :is(
  .shop-security, .integration-security, .integration-state.ready, .integration-message.success,
  .shop-integration-notice.success, .shop-connection-state.connected, .admin-kitchen-state.ready,
  .notification-push-enable, .live-operation, .connection-badge.connected, .capabilities span.yes,
  .platform-quick-toggle.open, .assignment-state.seen, .quick-assign-summary > div.recommended-line,
  .courier-online, .courier-field-live.active, .picked-confirmation, .courier-online-badge-green,
  .settings-result.success, .admin-connection-note, .login-security-note, .developer-created,
  .developer-provider-state.ready, .shift-management-guide, .location-accuracy.exact,
  .resolved-address, .courier-assignment-inline.picked, .dispatch-queue-label.assign,
  .huge-pay-badge, .report-metric.green > span, .courier-rank, .tracking-status,
  .tracking-progress .done span, .tracking-feedback-tags button.selected,
  .shop-map-live, .shop-courier-progress.picked, .courier-notification-toggle.enabled,
  .courier-location-toggle.active, .shop-map-order-list button > small.picked,
  .store-live, .receipt-button, .tracking-button, .courier-package-toolbar button,
  .address-find-button, .shift-admin-shortcut, .shop-focus-actions > button,
  .shop-focus-bar > button, .courier-route-tools button, .sync-result span
) { background: var(--success-bg); color: var(--success-text); border-color: #527768; }
html[data-theme="dark"] :is(
  .integration-state.waiting, .integration-state.pending, .missing-fields span,
  .integration-warning, .integration-pending-action, .shop-connection-state,
  .shop-connection-state.attention, .admin-official-pending, .admin-kitchen-state,
  .courier-kitchen-state, .order-note, .preparing-badge, .countdown.urgent,
  .connection-badge.pending, .assignment-state.waiting, .assignment-state.unseen,
  .courier-alert, .task-note, .courier-break-badge-amber, .demo-accounts .amber,
  .login-dev-code, .client-test-code, .developer-provider-state.missing,
  .shift-rule-note, .courier-work-actions .start-break, .resolved-address.approximate,
  .courier-assignment-pending, .courier-prep-badge, .courier-assignment-inline,
  .courier-menu-work-actions .start-break, .huge-alert-banner.scheduled-banner,
  .huge-alert-banner.note-banner, .shop-courier-progress.waiting, .courier-rating,
  .live-operation.connecting
) { background: var(--warning-bg); color: var(--warning-text); border-color: var(--nova-dark-line); }
html[data-theme="dark"] :is(
  .integration-message.error, .shop-integration-notice.error, .shop-integration-actions button.delete,
  .order-live-actions .cancel-button, .platform-quick-toggle.closed, .connection-badge.attention,
  .bulk-actions button.danger-ghost, .assignment-state.unseen.critical, .courier-field-live.error,
  .delivery-actions button.failed, .courier-offline-badge-red, .courier-menu-logout,
  .login-error, .settings-result.error, .manual-order-error, .shop-courier-progress.failed,
  .location-accuracy.missing, .map-location-warning, .order-special-flags .no-ring,
  .admin-order-flags .no-ring, .courier-critical-flags .no-ring, .courier-ready-badge-red,
  .courier-kitchen-state.ready, .courier-kitchen-state.priority-ready, .live-operation.offline,
  .dispatch-queue-label.attention, .shop-failed-decision-note, .failed-delivery-contacts > a,
  .failed-delivery-contacts > span, .failed-resolution-actions .cancel-failed-button,
  .huge-alert-banner.no-ring-banner, .huge-fail-btn, .courier-flow-failed,
  .tracking-status.rejected, .tracking-status.delivery-failed, .toast.error
) { background: var(--danger-bg); color: var(--danger-text); border-color: var(--nova-dark-line); }
html[data-theme="dark"] :is(
  .order-contact-info, .order-special-flags .scheduled, .admin-order-flags .scheduled,
  .courier-critical-flags .scheduled, .manual-scheduled-field, .shop-courier-progress.assigned,
  .shop-courier-progress.coming, .shop-courier-progress.route, .shop-map-current-state,
  .shop-map-order-list button > small.route, .shop-map-order-list button > small.coming,
  .integration-icon, .demo-accounts .blue
) { background: var(--info-bg); color: var(--info-text); border-color: var(--nova-dark-line); }
html[data-theme="dark"] :is(.huge-alert-banner, .courier-kitchen-state, .shop-security, .integration-security, .tracking-status, .order-note, .courier-alert, .login-security-note, .developer-created) :is(strong,p,small) { color: inherit; }
html[data-theme="dark"] .shop-connection-state.connected { background: var(--success-bg); color: var(--success-text); }
html[data-theme="dark"] .admin-kitchen-state.ready { background: var(--success-bg); color: var(--success-text); }
html[data-theme="dark"] .huge-action-grid > a.huge-nav-button { background: #a0e2c8; color: #173c31; border-color: #b0eed6; }
html[data-theme="dark"] .huge-action-grid > a.huge-nav-button:hover { background: #b3eed8; }
html[data-theme="dark"] .huge-action-grid > a.huge-call-button { background: var(--nova-dark-raised); color: var(--nova-dark-ink); border-color: var(--nova-dark-line) !important; }
html[data-theme="dark"] .huge-action-grid > a.huge-call-button:hover { background: var(--nova-dark-raised); }
html[data-theme="dark"] .huge-action-grid > a :is(strong,small) { color: inherit; }
html[data-theme="dark"] :is(.courier-flow-primary, .courier-go-online-btn) { background: #a0e2c8; color: #173c31; box-shadow: none; }
html[data-theme="dark"] .courier-flow-primary.confirming { background: #c2f1df; color: #173c31; }
html[data-theme="dark"] .courier-flow-failed.confirming { background: #f2b6b0; color: #4e242a; }
html[data-theme="dark"] .courier-empty:is(.is-online,.is-offline,.is-break) { background: var(--surface); border: 1px solid var(--nova-dark-line); }
html[data-theme="dark"] .courier-empty > div { background: var(--success-bg); color: var(--success-text); }
html[data-theme="dark"] .courier-empty.is-offline .empty-icon-offline { background: var(--danger-bg); color: var(--danger-text); }
html[data-theme="dark"] .courier-empty.is-break .empty-icon-break { background: var(--warning-bg); color: var(--warning-text); }
html[data-theme="dark"] :is(.courier-bottom-nav, .admin-mobile-nav) :is(a,button) { color: var(--nova-dark-muted); }
html[data-theme="dark"] :is(.courier-bottom-nav, .admin-mobile-nav) :is(a,button).active { color: #a5efd0; }
html[data-theme="dark"] :is(.filter-tabs button.active, .range-switch button.active, .failure-chip.active) { background: #4a705f; color: #f2fff8; }
html[data-theme="dark"] :is(.huge-step-title, .huge-item-qty, .courier-menu-stats svg) { color: #a5efd0; }
html[data-theme="dark"] :is(.huge-card-header, .huge-pay-row, .simple-history > article, .courier-menu-profile, .courier-menu-nav, .courier-menu-drawer > header, .shop-credential-form, .admin-shop-dialog > header) { border-color: var(--nova-dark-line); }
html[data-theme="dark"] .shop-focus-bar.urgent { background: var(--surface); }
html[data-theme="dark"] .toast { background: var(--success-bg); color: #e0faed; border-color: #719485; }
html[data-theme="dark"] .test-environment-banner { background: #4a4236; color: #ffe0a3; border-color: #7c6a48; }

/* Secondary labels must meet the same contrast target as body copy. */
html[data-theme="dark"] :is(
  .ops-sidebar nav > span, .side-nav > span, .sidebar-user small,
  .shop-shell-mobile-bar > div > span, .admin-map-stats span,
  .dispatch-empty p, .dispatch-empty > span, .candidate-title > span, .admin-shop-numbers span,
  .admin-shop-settings-section > span, .admin-shop-settings-section > header > span,
  .admin-connection-cell span, .admin-connection-cell time, .admin-shop-dialog footer > span,
  .shop-form-actions .show-secret, .developer-map-help, .location-preview > span,
  .location-preview > small, .profile-card > header span, .profile-heading span,
  .integrations-brand > span, .integrations-header-actions a, .developer-card form > label,
  .shift-management-guide p, .courier-rating-line, .courier-rating-line b,
  .courier-menu-nav a, .status-open
) { color: var(--nova-dark-muted); }
html[data-theme="dark"] .address-privacy-note { color: var(--nova-dark-muted) !important; }
html[data-theme="dark"] .location-preview > div:first-child + div > span,
html[data-theme="dark"] .location-preview > div > span { color: var(--nova-dark-muted); }
html[data-theme="dark"] :is(.admin-shop-settings-section, .manual-order-dialog > header, .manual-order-dialog > footer, .courier-menu-nav a) { border-color: var(--nova-dark-line); }
html[data-theme="dark"] :is(.developer-lock, .developer-platforms button.active) { background: #41425e; border-color: #686c97; color: #e2e3ff; }
html[data-theme="dark"] .developer-lock :is(strong,p,small,span) { color: inherit; }
html[data-theme="dark"] :is(.admin-shop-avatar, .shop-platform-icon, .report-metric > span, .settings-avatar, .password-heading > div, .customer-avatar, .client-launcher-icon) { background: #35554c; color: #b7efd9; }
html[data-theme="dark"] .ops-bell { background: var(--surface-raised); color: var(--nova-dark-ink); border-color: var(--nova-dark-line); }
html[data-theme="dark"] :is(.ops-bell i, .notification-button i) { background: #b63b48; color: white; }
html[data-theme="dark"] .admin-shell-content > :is(.admin-shops-shell, .reports-shell, .developer-shell, .settings-page, .integrations-shell) { background: var(--cream); }
html[data-theme="dark"] .manual-location-field > div:first-child > span { color: var(--nova-dark-muted); }
html[data-theme="dark"] .customer-row time,
html[data-theme="dark"] .order-footer > div:first-child > span { color: var(--nova-dark-ink); }
html[data-theme="dark"] .order-platform span { color: var(--nova-dark-muted); }
html[data-theme="dark"] .order-item > b { color: #a5efd0; }
html[data-theme="dark"] .delivery-row span { color: var(--nova-dark-muted); }
html[data-theme="dark"] .platform-logo.small { color: #2b1808; }
html[data-theme="dark"] :is(.profile-card span, .sidebar-user span, .shift-management-guide span, .location-picker-help, .address-location-placeholder span) { color: var(--nova-dark-muted); }
html[data-theme="dark"] .courier-rating-line { color: #ffe0a3 !important; }
html[data-theme="dark"] .courier-rating-line b { color: inherit; }
html[data-theme="dark"] .order-sla-badge { background: var(--success-bg); color: var(--success-text); border-color: #527768; }
html[data-theme="dark"] .order-sla-badge.warning { background: var(--warning-bg); color: var(--warning-text); border-color: var(--nova-dark-line); }
html[data-theme="dark"] .order-sla-badge.late { background: var(--danger-bg); color: var(--danger-text); border-color: var(--nova-dark-line); }
html[data-theme="dark"] .order-sla-badge.ready-pickup:not(.late) { background: hsl(var(--sla-hue) 18% 26%); color: hsl(var(--sla-hue) 70% 83%); border-color: hsl(var(--sla-hue) 30% 52%); }
html[data-theme="dark"] .order-sla-badge :is(strong,small) { color: inherit; }
html[data-theme="dark"] .courier-failure-dialog .failure-close { color: var(--nova-dark-ink); }
html[data-theme="dark"] .danger-button { background: #f2b6b0; border-color: #f2b6b0; color: #4e242a; }

@media (max-width: 700px) {
  .courier-header { padding: 0 14px; }
  .courier-header-actions .courier-location-toggle { width: 40px; padding: 0; }
  .courier-route-point p { font-size: 12px; }
  .courier-route-point small { font-size: 10px; }
  .courier-route-card:not(:has(.courier-route-reorder)) { grid-template-columns: 36px minmax(0,1fr); }
  .huge-origin-box p { font-size: 13px; line-height: 1.5; }
  .huge-pay-left small, .huge-pay-right small { font-size: 11px; }
  .huge-items-ul { font-size: 14px; }
  .huge-items-title { font-size: 13px; }
  .huge-alert-banner.no-ring-banner p { font-size: 13px; line-height: 1.5; }
  .courier-package-toolbar { align-items: flex-start; gap: 10px; flex-wrap: wrap; }
}
@media (max-width: 420px) {
  .huge-action-grid { grid-template-columns: minmax(0,1fr); }
  .huge-card-header { gap: 8px; flex-wrap: wrap; }
  .huge-step-title { font-size: 11px; }
  .huge-address-box { padding: 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  .huge-action-grid > a, .theme-toggle { transition: background-color .15s ease, border-color .15s ease; }
}

/* Live operation floating surfaces and status contrasts. */
html[data-theme="dark"] :is(.admin-mobile-courier-float,.courier-load-panel,.dispatch-assign-popover) { background:var(--surface); border-color:var(--line); color:var(--ink); box-shadow:0 12px 34px #0b162950; }
html[data-theme="dark"] :is(.admin-mobile-courier-float>header,.admin-mobile-courier-groups,.admin-mobile-courier-group-button,.admin-mobile-courier-group-list>button,.courier-load-panel>header,.courier-load-panel li+li,.dispatch-assign-popover>header) { border-color:var(--line); color:var(--ink); }
html[data-theme="dark"] :is(.admin-mobile-courier-group-list,.dispatch-card-controls,.dispatch-bulk-footer) { background:var(--surface-input); border-color:var(--line); }
html[data-theme="dark"] .admin-mobile-courier-group-list>button.selected { background:var(--success-bg); }
html[data-theme="dark"] :is(.admin-mobile-courier-float>header b,.courier-load-order>b,.courier-pool-target,.dispatch-pool-option) { background:var(--success-bg); color:var(--success-text); border-color:#527768; }
html[data-theme="dark"] :is(.admin-mobile-courier-group-button b,.dispatch-selection-toolbar button,.dispatch-package-info dd>a) { color:var(--success-text); }
html[data-theme="dark"] :is(.admin-mobile-courier-group-button i,.admin-mobile-courier-group-list>button small,.admin-mobile-courier-group-list>button>b,.admin-mobile-courier-empty,.courier-load-panel>header small,.courier-load-panel>p,.courier-load-panel li small,.courier-load-order>svg,.courier-load-panel>header button,.dispatch-card-distance,.dispatch-package-info dt,.dispatch-selection-toolbar,.dispatch-pickup-status) { color:var(--muted); }
html[data-theme="dark"] .courier-load-order:hover { background:var(--surface-raised); }
html[data-theme="dark"] :is(.dispatch-card-route,.dispatch-package-info dd,.dispatch-card-details>p) { color:#d5e4de; }
html[data-theme="dark"] :is(.dispatch-card-controls,.dispatch-check-control,.dispatch-selection-toolbar,.dispatch-bulk-footer,.dispatch-card-details) { border-color:var(--line); }
html[data-theme="dark"] .dispatch-expand-button { background:transparent; color:var(--muted); }
html[data-theme="dark"] .admin-map-orders .dispatch-card.critical { background:#44323d; border-color:#a96d77; }
html[data-theme="dark"] .admin-map-orders .dispatch-card.warning { background:var(--warning-bg); border-color:#8a7552; }
html[data-theme="dark"] .dispatch-queue-label.ready { background:var(--success-bg); color:var(--success-text); }
html[data-theme="dark"] :is(.dispatch-queue-label.late,.dispatch-card-alerts .pickup-overdue) { background:var(--danger-bg); color:var(--danger-text); }
html[data-theme="dark"] .dispatch-pickup-status.ready { color:var(--success-text); }
html[data-theme="dark"] .dispatch-pickup-status.late { color:var(--danger-text); }
html[data-theme="dark"] :is(.dispatch-card-alerts,.dispatch-detail-statuses) .assignment-state :is(strong,small) { color:inherit; }
html[data-theme="dark"] .dispatch-detail-statuses .admin-kitchen-state strong { color:inherit; }
html[data-theme="dark"] .dispatch-assign-popover>header :is(span,small) { color:var(--muted); }
html[data-theme="dark"] .dispatch-assign-popover>header button { background:var(--surface-raised); color:var(--muted); }
html[data-theme="dark"] .dispatch-assign-courier-list>button { background:var(--surface-input); border-color:var(--line); color:var(--ink); }
html[data-theme="dark"] .dispatch-assign-courier-list>button.recommended { background:var(--success-bg); border-color:#65947e; }
html[data-theme="dark"] .dispatch-assign-courier-list>.dispatch-pool-option { background:var(--surface-raised); }
html[data-theme="dark"] .dispatch-assign-courier-icon { background:var(--success-bg); color:var(--success-text); }
html[data-theme="dark"] .dispatch-assign-distance :is(strong,small) { color:var(--success-text); }
html[data-theme="dark"] .operation-route-metrics { color:var(--success-text); }
html[data-theme="dark"] .order-drag-ghost.can-drop { background:var(--success-bg); color:var(--success-text); border-color:#6ccaa3; }
html[data-theme="dark"] .nova-map-label-stack>small { color:#bcebd2; }
html[data-theme="dark"] .nova-map-popup-action { background:#a9efd0; color:#173c31; }
html[data-theme="dark"] .nova-leaflet-icon>span.courier-available { background:#1bbd77; }
html[data-theme="dark"] .nova-leaflet-icon>span.courier-available::after { border-color:#54f5a3; box-shadow:0 0 0 1px #c1ffdf80,0 0 10px #54f5a366; }
html[data-theme="dark"] .map-legend i.courier-available { background:#54f5a3; }
html[data-theme="dark"] .operation-drag-handle { color:var(--ink); }

html[data-theme="dark"] :is(.notification-center,.notification-panel) {
 --notification-surface:var(--nova-dark-surface); --notification-raised:var(--nova-dark-raised); --notification-line:var(--nova-dark-line);
 --notification-ink:var(--nova-dark-ink); --notification-muted:var(--nova-dark-muted); --notification-accent:#85e5b8;
 --notification-active:#2c4944; --notification-danger:#ffb2a7; --notification-danger-bg:#513b45;
 --notification-ready:#ffdda0; --notification-ready-bg:#4d4638;
}
html[data-theme="dark"] .notification-popover.notification-panel { background:var(--notification-surface); color:var(--notification-ink); border-color:var(--notification-line); }
html[data-theme="dark"] .notification-panel :is(header strong,.notification-title strong) { color:var(--notification-ink); }
html[data-theme="dark"] .notification-panel>header .notification-heading-icon { color:var(--notification-accent); }
html[data-theme="dark"] .notification-panel>header button { background:var(--notification-raised); color:var(--notification-muted); border:0; }

html[data-theme="dark"] .admin-map-orders .dispatch-card-details { background:var(--surface-input); border-color:var(--line); }
html[data-theme="dark"] .map-legend { background:var(--surface); color:var(--ink); border:1px solid var(--line); }
html[data-theme="dark"] .map-legend i.shop { background:var(--nova-dark-muted); }
html[data-theme="dark"] .courier-issues-box { background:var(--warning-bg); color:var(--warning-text); border-color:#8a7552; }
html[data-theme="dark"] .courier-issues-box :is(strong,small,button) { color:inherit; }
html[data-theme="dark"] .courier-issues-box article { background:var(--surface); border-color:var(--line); color:var(--ink); }

/* Action messages use the same neutral surface as the operation panels. */
html[data-theme="dark"] .admin-map-shell .operation-toast { background:var(--surface); color:var(--ink); border-color:var(--line); }
html[data-theme="dark"] .operation-toast-icon { background:#244d3e; color:#7fe6b6; }
html[data-theme="dark"] .operation-toast.error .operation-toast-icon { background:#543831; color:#ffb2a6; }

/* Operation popovers and restore tabs must cover the map in both themes. */
.admin-map-shell { --operation-surface:#fff; }
html[data-theme="dark"] .admin-map-shell { --operation-surface:var(--nova-dark-surface); }

/* Issue header and actions share the charcoal surfaces, including their nested buttons. */
html[data-theme="dark"] .courier-issues-box { background:var(--surface); border-color:var(--line); color:var(--ink); }
html[data-theme="dark"] .courier-issues-box>button { background:var(--surface-raised); color:var(--ink); }
html[data-theme="dark"] .courier-issues-box.has-issues>button { background:var(--surface-raised); color:var(--warning-text); }
html[data-theme="dark"] .courier-issues-box>div { border-color:var(--line); }
html[data-theme="dark"] .courier-issues-box article small { color:var(--muted); }
html[data-theme="dark"] .courier-issues-box article a { background:var(--surface-raised); border-color:var(--line); color:var(--ink); }
html[data-theme="dark"] .courier-issues-box article button { background:var(--success-bg); border-color:#527768; color:var(--success-text); }


/* Operation surfaces use the exact opaque sidebar background, including list interiors. */
html[data-theme="dark"] .admin-map-shell :is(.admin-map-topbar,.admin-map-orders,.admin-mobile-courier-float,.courier-load-panel,.map-legend,.courier-issues-box) {
  background:var(--nova-dark-surface); border-color:var(--nova-dark-line);
  backdrop-filter:none; box-shadow:0 8px 28px rgba(0,0,0,.2);
}
html[data-theme="dark"] .admin-map-shell :is(.admin-map-orders>.panel-heading,.dispatch-list,.dispatch-selection-toolbar,.dispatch-empty,.admin-mobile-courier-float>header,.admin-mobile-courier-groups,.admin-mobile-courier-group-list) {
  background:var(--nova-dark-surface);
}
html[data-theme="dark"] .admin-map-orders :is(.panel-heading,.dispatch-list,.dispatch-selection-toolbar,.dispatch-bulk-footer,.dispatch-card-summary,.dispatch-card-controls,.dispatch-check-control,.dispatch-expand-button) {
  border-color:var(--nova-dark-line);
}
html[data-theme="dark"] :is(.admin-map-orders .dispatch-list,.admin-mobile-courier-groups) {
  scrollbar-color:var(--nova-dark-muted) var(--nova-dark-surface);
}
html[data-theme="dark"] .nova-admin-sidebar .nova-admin-account-actions>.theme-toggle {
  background:var(--nav-surface); border-color:var(--nav-line); color:var(--nav-ink);
}

/* Noninteractive SVG layers stay in Leaflet's native zoom/move coordinate system. */
.live-route-map .nova-district-fog { fill:#e5e7eb; fill-opacity:.08; pointer-events:none; }
.live-route-map .nova-district-border { stroke:#667080; pointer-events:none; }
html[data-theme="dark"] .live-route-map .nova-district-fog { fill:var(--nova-dark-surface); fill-opacity:.08; }
html[data-theme="dark"] .live-route-map .nova-district-border { stroke:#9fa7b6; }

/* Map popup controls use the same dark surfaces as the popup itself. */
html[data-theme="dark"] .nova-map-popup-phone,
html[data-theme="dark"] .nova-map-popup-settings {
  background:var(--nova-dark-raised); color:var(--nova-dark-ink); border:1px solid var(--nova-dark-line);
}
html[data-theme="dark"] .nova-map-popup-phone:hover,
html[data-theme="dark"] .nova-map-popup-settings:hover { background:var(--nova-dark-active); color:var(--nova-dark-accent); }
html[data-theme="dark"] .nova-map-popup-phone:focus-visible,
html[data-theme="dark"] .nova-map-popup-settings:focus-visible { outline:2px solid var(--nova-dark-accent); outline-offset:2px; }

/* Hover and permanent Leaflet names use the same dark surface and arrow. */
html[data-theme="dark"] .live-route-map .leaflet-tooltip { background:var(--nova-dark-surface); border-color:var(--nova-dark-line); color:var(--nova-dark-ink); box-shadow:0 3px 12px #00000040; }
html[data-theme="dark"] .live-route-map .leaflet-tooltip-top::before { border-top-color:var(--nova-dark-surface); }
html[data-theme="dark"] .live-route-map .leaflet-tooltip-bottom::before { border-bottom-color:var(--nova-dark-surface); }
html[data-theme="dark"] .live-route-map .leaflet-tooltip-left::before { border-left-color:var(--nova-dark-surface); }
html[data-theme="dark"] .live-route-map .leaflet-tooltip-right::before { border-right-color:var(--nova-dark-surface); }

/* GPS incidents keep the existing operation layout and use red priority. */
.courier-issues-box.has-gps-issue{border-color:#dc4545!important}
.courier-issues-box.has-gps-issue>button{background:#fff0f0!important;color:#b51f2a!important}
.courier-issues-box.has-gps-issue>button svg:first-child{color:inherit!important}
.courier-issues-box article.gps-issue{background:#fff5f5!important;border-left:3px solid #dc4545!important}
.courier-issues-box article.gps-issue strong{color:#b51f2a!important}
.notification-entry.critical{border-color:#e88a90!important;border-left:3px solid #dc4545!important;background:#fff3f3!important}
.notification-entry.critical :is(.simple-notification-icon,.notification-copy>strong){color:#b51f2a!important}
.notification-button.has-critical{color:#cf2637!important}
html[data-theme="dark"] .courier-issues-box.has-gps-issue>button{background:#42282d!important;color:#ff969e!important}
html[data-theme="dark"] .courier-issues-box article.gps-issue,
html[data-theme="dark"] .notification-entry.critical{background:#35242a!important}
html[data-theme="dark"] .courier-issues-box article.gps-issue strong,
html[data-theme="dark"] .notification-entry.critical :is(.simple-notification-icon,.notification-copy>strong){color:#ff969e!important}

.connection-status { position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 28px);display:flex;gap:12px;align-items:center;padding:12px 16px;background:#173a32;color:#fff;border-radius:12px;box-shadow:0 4px 24px #0003; }
.connection-status.offline { background:#b42318; }
.connection-status button { color:inherit;background:transparent;border:1px solid currentColor;border-radius:8px;padding:5px 10px;white-space:nowrap; }

html[data-theme="dark"] .pwa-install-card { --pwa-surface:var(--nova-dark-surface); --pwa-line:var(--nova-dark-line); --pwa-ink:var(--nova-dark-ink); --pwa-muted:var(--nova-dark-muted); --pwa-soft:var(--nova-dark-raised); }
html[data-theme="dark"] .pwa-install-card :is(.pwa-install-icon,.pwa-install-action) { background:var(--nova-dark-active); color:var(--nova-dark-accent); }
html[data-theme="dark"] .live-route-map .leaflet-tooltip.nova-entity-label { --nova-label-surface:var(--nova-dark-surface); --nova-label-line:var(--nova-dark-line); --nova-label-ink:var(--nova-dark-ink); }

/* Reports, accounting and management forms share one neutral surface system. */
:root {
  --management-surface:#fff; --management-canvas:#f4f6f8; --management-raised:#f3f5f8;
  --management-input:#fff; --management-line:#dfe4eb; --management-ink:#252b36;
  --management-muted:#737d8d; --management-accent:#3156db; --management-active:#eef2ff;
}
html[data-theme="dark"] {
  --management-surface:var(--nova-dark-surface); --management-canvas:var(--nova-dark-canvas);
  --management-raised:var(--nova-dark-raised); --management-input:var(--nova-dark-input);
  --management-line:var(--nova-dark-line); --management-ink:var(--nova-dark-ink);
  --management-muted:var(--nova-dark-muted); --management-accent:var(--nova-dark-accent);
  --management-active:var(--nova-dark-active);
}
.report-layout,.report-layout>.report-panel,.report-metric,.report-metric>div { min-width:0; }
.report-metric strong { overflow-wrap:anywhere; }
.accounting-overview { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.accounting-overview>.report-panel { height:100%; }
.accounting-filters { align-items:end; }
.accounting-filters label.report-date-field,.history-filter-grid label.report-date-field {
  min-width:0; height:auto; padding:0; display:flex; flex-direction:column; align-items:stretch; gap:5px;
  border:0; border-radius:0; background:transparent; color:var(--management-muted); font-size:10px; font-weight:650;
}
.report-date-control {
  min-width:0; height:40px; padding:0 10px; display:flex; align-items:center; gap:8px;
  border:1px solid var(--management-line); border-radius:10px; background:var(--management-input); color:var(--management-muted);
}
.report-date-control>svg { flex:0 0 auto; }
.accounting-filters .report-date-control input,.history-filter-grid .report-date-control input {
  min-width:0; width:100%; height:38px; padding:0; border:0; border-radius:0; outline:0;
  background:transparent; color:var(--management-ink); font:inherit; font-size:12px;
}
.report-date-control:focus-within { border-color:var(--management-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--management-accent) 14%,transparent); }
.history-filter-grid input,.history-filter-grid select,.history-search>div {
  height:40px; border-radius:10px; border-color:var(--management-line); background:var(--management-input); color:var(--management-ink);
}
.history-search>div>input { height:36px; }
.history-filter-grid>button { height:40px; }
.history-order-link { padding:0; border:0; background:transparent; color:inherit; font:inherit; font-weight:750; text-align:left; cursor:pointer; }
.history-order-link:focus-visible { outline:2px solid var(--management-accent); outline-offset:4px; }
.report-inline-error { margin:12px auto; padding:12px; border-radius:10px; background:#fff0ef; color:#b13b34; font-size:12px; line-height:1.5; }
.reports-shell>.report-inline-error { max-width:1080px; }
html[data-theme="dark"] .report-inline-error { background:var(--danger-bg); color:var(--danger-text); }
.report-loading { display:flex; align-items:center; gap:8px; color:var(--management-muted); font-size:12px; }
.report-retry { min-height:36px; padding:0 12px; border:1px solid var(--management-line); border-radius:9px; background:var(--management-raised); color:var(--management-ink); }
.accounting-table-wrap td,.history-table-wrap td { overflow-wrap:anywhere; }
.accounting-table-wrap th,.accounting-table-wrap td { white-space:nowrap; }
.report-panel-title { gap:12px; }
.report-panel-title>div { min-width:0; }
.breakdown-list strong { overflow-wrap:anywhere; }
html[data-theme="dark"] :is(.accounting-filters>select,.accounting-filters label,.range-switch,.accounting-table-wrap table,.history-table-wrap table) {
  background:var(--management-surface); color:var(--management-ink); border-color:var(--management-line);
}
html[data-theme="dark"] :is(.accounting-summary-list>div,.breakdown-list>div,.accounting-table-wrap th,.history-table-wrap th,.accounting-table-wrap button,.history-table-wrap tbody tr:hover) {
  background:var(--management-raised); color:var(--management-ink); border-color:var(--management-line);
}
html[data-theme="dark"] :is(.accounting-filters input,.accounting-filters select,.accounting-table-wrap td,.history-table-wrap td,.breakdown-list strong,.breakdown-list b) { color:var(--management-ink); border-color:var(--management-line); }
html[data-theme="dark"] :is(.history-filter-grid label,.history-table-wrap td small,.accounting-summary-list span,.breakdown-list small) { color:var(--management-muted); }
html[data-theme="dark"] :is(.accounting-table-wrap,.history-table-wrap) { border-color:var(--management-line); }

/* Only the page content is covered; desktop navigation keeps its own surface. */
.content-dialog-backdrop {
  position:fixed; inset:var(--app-banner-height,0px) 0 0; z-index:5000; padding:24px;
  display:flex; justify-content:center; align-items:center; overflow:hidden;
  background:rgba(17,22,32,.22); backdrop-filter:blur(4px); animation:management-fade .18s ease-out;
}
.content-dialog-backdrop.right { justify-content:flex-end; align-items:stretch; padding:0; }
.content-dialog-panel {
  width:min(520px,100%); min-width:0; max-height:100%; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--management-line); border-radius:18px; background:var(--management-surface);
  color:var(--management-ink); box-shadow:0 16px 64px rgba(0,0,0,.18); outline:0;
}
.content-dialog-backdrop.right>.content-dialog-panel {
  width:min(620px,100%); height:100%; max-height:100%; border-radius:18px 0 0 18px; animation:management-slide .22s ease-out;
}
.content-dialog-panel>header {
  flex:0 0 auto; padding:20px; display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  border-bottom:1px solid var(--management-line); background:var(--management-surface);
}
.content-dialog-panel>header>div { min-width:0; }
.content-dialog-panel>header span { font-size:10px; font-weight:700; color:var(--management-muted); overflow-wrap:anywhere; }
.content-dialog-panel>header h2 { margin:6px 0; font-size:22px; line-height:1.3; overflow-wrap:anywhere; }
.content-dialog-panel>header small { color:var(--management-muted); font-size:12px; }
.content-dialog-panel>header>button {
  flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--management-line);
  border-radius:10px; background:var(--management-raised); color:var(--management-ink); cursor:pointer;
}
.content-dialog-body { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--management-muted) transparent; }
.content-dialog-panel>form { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.content-dialog-panel footer {
  flex:0 0 auto; margin:0; padding:16px 20px; display:flex; justify-content:flex-end; gap:8px;
  border-top:1px solid var(--management-line); background:var(--management-surface);
}
.content-dialog-panel footer>button {
  min-height:40px; padding:0 16px; display:flex; align-items:center; justify-content:center; gap:7px;
  border:1px solid transparent; border-radius:10px; background:#3156db; color:#fff; font-weight:650; cursor:pointer;
}
.content-dialog-panel footer>button.secondary { border-color:var(--management-line); background:var(--management-raised); color:var(--management-ink); }
.content-dialog-panel button:disabled { opacity:.55; cursor:default; }
.content-dialog-panel :is(input,select,button):focus-visible { outline:2px solid var(--management-accent); outline-offset:2px; }
.history-detail-dialog .history-detail-grid { padding:20px; gap:10px; }
.history-detail-dialog .history-detail-grid>div { min-width:0; padding:12px; border:1px solid var(--management-line); border-radius:10px; background:var(--management-raised); }
.history-detail-grid>.wide { grid-column:1/-1; }
.history-detail-dialog .history-detail-grid small { color:var(--management-muted); font-size:10px; }
.history-detail-dialog .history-detail-grid strong { color:var(--management-ink); font-size:13px; overflow-wrap:anywhere; }
.history-detail-dialog .content-dialog-body>section { padding:0 20px 24px; }
.history-detail-dialog section h3 { margin:0 0 12px; color:var(--management-ink); font-size:14px; }
.history-detail-dialog section h3>small { color:var(--management-muted); font-weight:500; }
.history-detail-dialog section p { margin:8px 0; color:var(--management-muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.history-detail-dialog .history-events>div { min-width:0; grid-template-columns:100px minmax(0,1fr); padding:12px 0; border-color:var(--management-line); }
.history-detail-dialog .history-events time,.history-detail-dialog .history-events small { color:var(--management-muted); font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.history-detail-dialog .history-events strong { color:var(--management-ink); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
body:has(.content-dialog-backdrop) .pwa-install-card { visibility:hidden; pointer-events:none; }
@keyframes management-fade { from{opacity:0} to{opacity:1} }
@keyframes management-slide { from{transform:translateX(24px);opacity:0} to{transform:translateX(0);opacity:1} }
@media (min-width: 1025px), (min-width: 761px) and (min-height: 501px) and (pointer: fine), (min-width: 761px) and (min-height: 501px) and (pointer: none) {
  .content-dialog-backdrop.admin-scoped,.admin-shell-layout .dialog-backdrop { left:var(--nova-admin-nav-width); }
}
@media(max-width:1100px) { .accounting-overview { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .accounting-overview { grid-template-columns:minmax(0,1fr); }
  .accounting-table-wrap td { white-space:normal; }
  html[data-theme="dark"] :is(.accounting-table-wrap tr,.history-table-wrap tr) { background:var(--management-surface); border-color:var(--management-line); }
  .content-dialog-backdrop { padding:12px; }
  .content-dialog-backdrop.admin-scoped { bottom:calc(52px + env(safe-area-inset-bottom)); }
  .content-dialog-backdrop.right>.content-dialog-panel { width:100%; border-radius:0; }
  .content-dialog-panel>header { padding:16px; }
  .content-dialog-panel>header h2 { font-size:20px; }
  .history-detail-dialog .history-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; }
  .history-detail-dialog .content-dialog-body>section { padding:0 16px 20px; }
  .history-detail-dialog .history-events>div { grid-template-columns:minmax(0,1fr); gap:4px; }
}
@media(prefers-reduced-motion:reduce) { .content-dialog-backdrop,.content-dialog-backdrop.right>.content-dialog-panel { animation:none; } }

/* Existing account/project/shop forms use the same dark palette throughout. */
html[data-theme="dark"] :is(.admin-project-grid>article,.project-metrics small,.admin-shop-settings-section,.admin-shop-numbers span,.shift-rule-note,.weekly-shift-nav,.weekly-shift-list article,.courier-week-schedule) {
  background:var(--management-surface); color:var(--management-ink); border-color:var(--management-line);
}
html[data-theme="dark"] :is(.project-metrics,.admin-project-grid>article>div>span,.courier-account-state small,.weekly-shift-enable small,.weekly-shift-fields label small,.admin-shop-form-grid small) { color:var(--management-muted); }
html[data-theme="dark"] :is(.admin-project-grid button,.weekly-shift-nav button,.weekly-shift-fields input,.admin-shop-settings-section input,.admin-shop-settings-section select) {
  background:var(--management-input); color:var(--management-ink); border-color:var(--management-line);
}
html[data-theme="dark"] :is(.courier-week-schedule>div>span.off,.weekly-shift-list article.off) { background:var(--management-raised); color:var(--management-muted); }
.admin-project-grid>article>button.project-action {
  min-height:40px; padding:9px 12px; display:flex; align-items:center; justify-content:center; gap:7px;
  border:1px solid var(--management-line); border-radius:10px; background:var(--management-raised);
  color:var(--management-ink); font:inherit; font-size:12px; font-weight:650; cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
.admin-project-grid>article>button.project-action>svg { flex:0 0 auto; }
.admin-project-grid>article>button.project-action:hover:not(:disabled) {
  background:var(--management-active); border-color:var(--management-accent); color:var(--management-accent);
}
.admin-project-grid>article>button.project-action:focus-visible { outline:2px solid var(--management-accent); outline-offset:3px; }
.admin-project-grid>article>button.project-action:disabled { opacity:.5; cursor:wait; }
.admin-shop-dialog>header>div { min-width:0; }
.admin-shop-dialog h2 { overflow-wrap:anywhere; }
.admin-shop-form-grid>label { min-width:0; }
.admin-shop-form-grid :is(input,select) { width:100%; min-width:0; }

.admin-courier-tabs { max-width:1060px; margin:0 auto 16px; padding:0 20px; display:flex; gap:8px; }
.admin-courier-tabs>button {
  min-height:42px; padding:0 14px; display:flex; align-items:center; gap:8px;
  border:1px solid var(--management-line); border-radius:10px; background:var(--management-surface);
  color:var(--management-muted); font-size:12px; font-weight:650; cursor:pointer;
}
.admin-courier-tabs>button.active { background:var(--management-active); border-color:var(--management-accent); color:var(--management-accent); }
.admin-courier-tabs small { font-size:10px; padding:3px 6px; border-radius:6px; background:var(--management-raised); color:var(--management-muted); }
.operation-week-planner {
  max-width:1020px; margin:0 auto 24px; overflow:hidden; border:1px solid var(--management-line);
  border-radius:16px; background:var(--management-surface); color:var(--management-ink);
}
.operation-week-planner>header { padding:22px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.operation-week-planner>header>div { min-width:0; }
.operation-week-planner>header span { font-size:10px; letter-spacing:.08em; font-weight:650; color:var(--management-muted); }
.operation-week-planner>header h2 { margin:6px 0; font-size:22px; }
.operation-week-planner>header p { margin:0; color:var(--management-muted); font-size:12px; line-height:1.6; }
.operation-week-planner>header>.operation-week-count { flex:0 0 auto; display:flex; align-items:center; gap:6px; padding:8px 10px; border-radius:9px; background:var(--management-raised); font-size:11px; letter-spacing:0; }
.operation-week-nav { margin:0 22px 18px; display:flex; justify-content:center; align-items:center; gap:16px; }
.operation-week-nav>strong { min-width:0; text-align:center; font-size:14px; }
.operation-week-nav>button {
  flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--management-line);
  border-radius:10px; background:var(--management-raised); color:var(--management-ink); cursor:pointer;
}
.operation-week-days { padding:0 22px 18px; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
.operation-week-days>button {
  min-width:0; min-height:86px; padding:10px 5px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  border:1px solid var(--management-line); border-radius:11px; background:var(--management-surface); color:var(--management-muted); cursor:pointer;
}
.operation-week-days>button>b { max-width:100%; font-size:12px; overflow:hidden; text-overflow:ellipsis; }
.operation-week-days>button>span { font-size:11px; }
.operation-week-days>button>small { max-width:100%; font-size:9px; line-height:1.4; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.operation-week-days>button.active { border-color:var(--management-accent); background:var(--management-active); color:var(--management-accent); }
.operation-week-days .short-day { display:none; }
.operation-week-day-panel { padding:0 22px 18px; }
.operation-day-heading { margin:0 0 12px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.operation-day-heading>div { min-width:0; display:flex; align-items:center; gap:8px; }
.operation-day-heading strong { font-size:14px; }
.operation-day-heading>small { color:var(--management-muted); font-size:10px; white-space:nowrap; }
.operation-week-columns,.operation-shift-row { display:grid; grid-template-columns:minmax(180px,1.7fr) repeat(2,minmax(100px,1fr)) repeat(2,minmax(82px,.85fr)); gap:12px; align-items:center; }
.operation-week-columns { padding:0 12px 8px; color:var(--management-muted); font-size:10px; }
.operation-shift-row { min-width:0; margin-bottom:8px; padding:12px; border:1px solid var(--management-line); border-radius:11px; background:var(--management-surface); }
.operation-shift-row.off { background:var(--management-raised); }
.operation-shift-row label { min-width:0; display:flex; flex-direction:column; gap:6px; }
.operation-shift-row>label>span { display:none; font-size:10px; color:var(--management-muted); }
.operation-shift-row input:not([type="checkbox"]) {
  width:100%; min-width:0; max-width:100%; height:38px; padding:0 8px; border:1px solid var(--management-line);
  border-radius:9px; background:var(--management-input); color:var(--management-ink); font-size:12px;
}
.operation-shift-row label.operation-shift-enable { display:flex; flex-direction:row; align-items:center; gap:10px; cursor:pointer; }
.operation-shift-enable>input { width:17px; height:17px; flex:0 0 auto; accent-color:var(--management-accent); }
.operation-shift-row .operation-shift-enable>span { display:flex; flex-direction:column; gap:4px; min-width:0; }
.operation-shift-enable strong { font-size:12px; color:var(--management-ink); overflow-wrap:anywhere; }
.operation-shift-enable small { color:var(--management-muted); font-size:10px; }
.operation-shift-row input:disabled { opacity:.5; cursor:default; }
.operation-week-planner :is(button,input):focus-visible { outline:2px solid var(--management-accent); outline-offset:2px; }
.operation-week-planner button:disabled { opacity:.45; cursor:default; }
.operation-week-planner>footer {
  padding:16px 22px; display:flex; align-items:center; justify-content:space-between; gap:12px;
  border-top:1px solid var(--management-line); background:var(--management-surface);
}
.operation-week-planner>footer>span { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--management-muted); }
.operation-week-planner>footer small { font-size:10px; line-height:1.5; }
.operation-week-planner>footer>div { display:flex; gap:8px; flex:0 0 auto; }
.operation-week-planner>footer button {
  min-height:42px; padding:0 14px; display:flex; align-items:center; justify-content:center; gap:7px;
  border:1px solid transparent; border-radius:10px; background:#3156db; color:#fff; font-size:12px; font-weight:650; cursor:pointer;
}
.operation-week-planner>footer button.secondary { border-color:var(--management-line); background:var(--management-raised); color:var(--management-muted); }
.operation-week-loading { margin:0; padding:48px 16px; display:flex; align-items:center; justify-content:center; gap:9px; color:var(--management-muted); font-size:12px; }
.operation-week-planner>.report-inline-error { margin:0 22px 14px; }
.operation-week-saved { margin:0 22px 14px; padding:12px; border-radius:10px; background:#eaf5ef; color:#216844; font-size:12px; }
html[data-theme="dark"] .operation-week-saved { background:#243b30; color:#a7e0bf; }
@media(max-width:1100px) {
  .operation-week-planner { margin-left:20px; margin-right:20px; }
  .operation-week-columns,.operation-shift-row { grid-template-columns:minmax(160px,1.5fr) repeat(4,minmax(70px,1fr)); gap:8px; }
  .operation-week-days .full-day { display:none; }
  .operation-week-days .short-day { display:block; }
}
@media(max-width:960px) {
  .operation-week-columns { display:none; }
  .operation-shift-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
  .operation-shift-row>.operation-shift-enable { grid-column:1/-1; }
  .operation-shift-row>label>span { display:block; }
}
@media(max-width:560px) {
  .admin-courier-tabs { padding:0 14px; }
  .admin-courier-tabs>button { flex:1; justify-content:center; padding:0 8px; font-size:11px; }
  .operation-week-planner { margin:0 14px 16px; border-radius:13px; }
  .operation-week-planner>header { padding:16px; flex-direction:column; gap:10px; }
  .operation-week-planner>header h2 { font-size:20px; }
  .operation-week-nav { margin:0 16px 14px; gap:12px; }
  .operation-week-nav>strong { font-size:12px; }
  .operation-week-days { padding:0 12px 14px; gap:4px; }
  .operation-week-days>button { min-height:76px; padding:8px 2px; gap:5px; border-radius:8px; }
  .operation-week-days>button>b { font-size:11px; }
  .operation-week-days>button>span { font-size:9px; }
  .operation-week-days>button>small { font-size:8px; }
  .operation-week-day-panel { padding:0 12px 14px; }
  .operation-day-heading strong { font-size:12px; }
  .operation-day-heading>small { display:none; }
  .operation-shift-row { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; }
  .operation-week-planner>footer { padding:14px; flex-direction:column; align-items:stretch; }
  .operation-week-planner>footer>div { justify-content:flex-end; }
  .operation-week-planner>footer>div>button { flex:1; }
  .operation-week-planner>.report-inline-error,.operation-week-saved { margin-left:12px; margin-right:12px; }
}

.admin-shell-layout .dialog-backdrop>.admin-shop-dialog { max-width:100%; }
html[data-theme="dark"] :is(.admin-fixed-team,.admin-fixed-list>div,.admin-fixed-candidates>button) { background:var(--management-surface); border-color:var(--management-line); color:var(--management-ink); }
html[data-theme="dark"] :is(.admin-fixed-list small,.admin-fixed-candidates small,.admin-fixed-empty) { color:var(--management-muted); }
@media(max-width:700px) {
  .accounting-table-wrap td[data-label]:before { content:attr(data-label); }
}

.operation-week-planner>.report-retry { margin:0 22px 16px; }
.admin-shell-layout .dialog-backdrop { top:var(--app-banner-height,0px); }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .content-dialog-backdrop.admin-scoped { bottom:calc(52px + env(safe-area-inset-bottom)); }
}

.courier-operation-picker { max-width:1060px; margin:0 auto 16px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.courier-operation-picker label { display:flex; align-items:center; gap:12px; color:var(--management-ink); font-size:12px; font-weight:700; }
.courier-operation-picker select { min-width:180px; border:1px solid var(--management-line); border-radius:10px; background:var(--management-raised); color:var(--management-ink); padding:10px 12px; font:inherit; }
.courier-operation-picker>span { color:var(--management-muted); font-size:12px; }
.courier-operation-picker select:focus-visible { outline:2px solid var(--management-accent); outline-offset:2px; }
@media(max-width:700px) { .courier-operation-picker { padding:0 14px; flex-wrap:wrap; gap:8px; } .courier-operation-picker label { flex:1; } .courier-operation-picker select { min-width:0; flex:1; } }

.admin-shell-tools { min-height:58px; padding:12px 24px 6px; display:flex; align-items:center; justify-content:flex-end; gap:10px; flex:0 0 auto; }
.admin-shell-tools>span { font-size:11px; color:var(--management-muted); }
.admin-shell-tools .notification-button { display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid var(--management-line); border-radius:10px; background:var(--management-surface); color:var(--management-ink); }
.admin-shell-tools .notification-button:hover { background:var(--management-raised); }
.admin-shell-tools .notification-button:focus-visible { outline:2px solid var(--management-accent); outline-offset:3px; }
.admin-shell-tools .notification-center .notification-button i { right:-3px; top:-3px; border-color:var(--management-surface); }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) { .admin-shell-tools { min-height:54px; padding:10px 16px 4px; } }

.account-selection-wrap { max-width:1060px; padding:0 20px; margin:0 auto 12px; }
.account-selection-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:48px; padding:10px 12px; background:var(--management-surface); border:1px solid var(--management-line); border-radius:12px; }
.account-selection-toolbar>label { display:flex; align-items:center; gap:8px; color:var(--management-ink); font-size:12px; cursor:pointer; }
.account-selection-toolbar small,.account-selection-count { font-size:11px; color:var(--management-muted); }
.account-selection-actions { margin-left:auto; display:flex; flex-wrap:wrap; gap:6px; }
.account-selection-actions button { padding:8px 10px; border:1px solid var(--management-line); border-radius:8px; background:var(--management-raised); color:var(--management-ink); font-size:11px; }
.account-selection-actions .secondary { background:transparent; color:var(--management-muted); }
.account-selection-actions button:disabled { opacity:.5; cursor:wait; }
.account-row-check { display:grid; place-items:center; flex:0 0 28px; min-width:28px; align-self:center; cursor:pointer; }
.account-row-check input,.account-selection-toolbar input { width:16px; height:16px; accent-color:var(--management-accent); cursor:pointer; }
.admin-shops-list>article.account-selected,.admin-courier-list>article.account-selected { border-color:var(--management-accent); background:var(--management-active); opacity:1; }
@media(max-width:700px) { .account-selection-wrap { padding:0 14px; } .account-selection-actions { width:100%; margin-left:0; } .account-selection-actions button { flex:1; } .account-row-check { flex-basis:22px; min-width:22px; } }

/* Explicit grid areas keep checkbox and account information in place at every width. */
.admin-shops-list>article { grid-template-columns:28px 42px minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr) auto; grid-template-areas:"select avatar main owner counts actions"; }
.admin-courier-list>article { grid-template-columns:28px 42px minmax(0,1fr) minmax(0,.65fr) auto; grid-template-areas:"select avatar main state actions"; }
:is(.admin-shops-list,.admin-courier-list)>article>.account-row-check { grid-area:select; }
:is(.admin-shops-list,.admin-courier-list)>article>.admin-shop-avatar { grid-area:avatar; }
:is(.admin-shops-list,.admin-courier-list)>article>.admin-shop-main { grid-area:main; }
.admin-shops-list>article>.admin-shop-owner { grid-area:owner; }
.admin-shops-list>article>.admin-shop-numbers { grid-area:counts; }
.admin-shops-list>article>.admin-shop-row-actions,.admin-courier-list>article>.courier-row-actions { grid-area:actions; }
.admin-courier-list>article>.courier-account-state { grid-area:state; min-width:0; }
:is(.admin-shops-list,.admin-courier-list)>article .admin-shop-main>strong { overflow-wrap:anywhere; }
html[data-theme="dark"] :is(.admin-shops-list,.admin-courier-list)>article.account-selected { background:var(--management-active); border-color:var(--management-accent); }
@media(max-width:1200px) {
 .admin-shops-list>article { grid-template-columns:28px 42px minmax(0,1fr) auto; grid-template-areas:"select avatar main actions" ". . owner actions" ". . counts actions"; }
 .admin-courier-list>article { grid-template-columns:28px 42px minmax(0,1fr) auto; grid-template-areas:"select avatar main actions" ". . state actions"; }
}
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
 .admin-shops-list>article { grid-template-columns:22px 38px minmax(0,1fr); gap:10px; grid-template-areas:"select avatar main" ". . owner" ". . counts" ". . actions"; }
 .admin-courier-list>article { grid-template-columns:22px 38px minmax(0,1fr); gap:10px; grid-template-areas:"select avatar main" ". . state" ". . actions"; }
 .admin-shops-list>article>.admin-shop-row-actions,.admin-courier-list>article>.courier-row-actions { align-items:flex-start; }
}

.admin-shop-dialog .delivery-mode-switch { padding:4px; gap:4px; border:1px solid var(--management-line); border-radius:12px; background:var(--management-raised); }
.admin-shop-dialog .delivery-mode-switch>button { display:flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:8px 12px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--management-muted); font-weight:700; }
.admin-shop-dialog .delivery-mode-switch>button[aria-pressed="true"] { border-color:var(--management-accent); background:var(--management-active); color:var(--management-accent); box-shadow:0 1px 4px #00000014; }
.admin-shop-dialog .delivery-mode-switch>button:focus-visible { outline:2px solid var(--management-accent); outline-offset:2px; }
.admin-shop-dialog .delivery-mode-switch>button:disabled { opacity:.6; cursor:wait; }
.operation-week-nav { justify-content:center; }
.operation-shift-row:has(input:disabled) input:disabled { cursor:default; }


/* Compact selections open the existing content-scoped dialog. */
.account-selection-actions>button { display:flex; align-items:center; justify-content:center; gap:6px; }
.account-selection-actions>button.selection-clear { flex:0 0 32px; width:32px; padding:0; }
.account-bulk-fields { padding:20px; display:grid; gap:18px; }
.account-bulk-fields>label { display:grid; gap:7px; color:var(--management-ink); font-size:12px; font-weight:650; }
.account-bulk-fields :is(input,select) { min-width:0; width:100%; min-height:42px; padding:10px 12px; border:1px solid var(--management-line); border-radius:10px; background:var(--management-input); color:var(--management-ink); font:inherit; }
.account-bulk-fields :is(input,select):focus-visible { outline:2px solid var(--management-accent); outline-offset:2px; }
.account-bulk-fields small { font-size:11px; line-height:1.5; color:var(--management-muted); font-weight:400; }
.account-bulk-dialog .report-inline-error { margin:0; }
.courier-load-selection { flex:0 0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:5px 9px; border-bottom:1px solid var(--management-line); background:var(--management-surface); color:var(--management-ink); font-size:10px; }
.courier-load-selection>label { display:flex; align-items:center; gap:5px; min-height:28px; cursor:pointer; }
.courier-load-selection input,.courier-load-checkbox input { width:14px; height:14px; margin:0; accent-color:var(--management-accent); cursor:pointer; }
.courier-load-selection>button { display:flex; align-items:center; justify-content:center; gap:4px; min-height:28px; padding:4px 6px; margin-left:auto; border:1px solid var(--management-line); border-radius:7px; background:var(--management-raised); color:inherit; font-size:9px; font-weight:650; cursor:pointer; }
.courier-load-selection>button.clear { margin-left:0; padding:4px; }
.courier-load-selection button:disabled { opacity:.5; cursor:default; }
.courier-load-panel li { display:flex; align-items:stretch; min-width:0; gap:3px; }
.courier-load-panel .courier-load-order { flex:1; width:auto; min-width:0; }
.courier-load-checkbox { display:flex; flex:0 0 22px; align-items:center; justify-content:center; min-height:40px; cursor:pointer; }
.courier-load-panel li.load-order-selected { background:var(--management-active); border-radius:8px; }
.courier-load-panel :is(button,input):focus-visible { outline:2px solid var(--management-accent); outline-offset:2px; }
@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .courier-load-panel.mobile-load-closed>.courier-load-selection { display:none; }
  .courier-load-selection { gap:4px; padding:3px 7px; font-size:9px; }
  .courier-load-selection>button { font-size:9px; }
  .courier-load-checkbox { flex-basis:24px; min-height:44px; }
  .account-bulk-fields { padding:16px; }
}
/* Province, district and neighborhood setup shares the management theme. */
.operation-region-picker { display:grid;gap:12px;padding:16px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-raised); }
.operation-region-title { color:var(--management-ink);font-size:14px;font-weight:650; }
.operation-region-picker>p { margin:0;color:var(--management-muted);font-size:12px;line-height:1.6; }
.operation-region-picker>small { font-size:10px;color:var(--management-muted); }.operation-region-picker>small a { color:inherit; }
.region-levels { display:flex;gap:5px;padding:4px;border-radius:10px;background:var(--management-surface); }
.region-levels>button { flex:1;min-height:36px;border:0;border-radius:8px;background:transparent;color:var(--management-muted);font:600 12px var(--font-sans);cursor:pointer; }
.region-levels>button[aria-pressed="true"] { background:var(--management-active);color:var(--management-accent); }
.operation-region-picker label { display:grid;gap:6px;font-size:12px;color:var(--management-muted); }
.region-search { display:flex;gap:8px; }.region-search>input { flex:1;min-width:0; }
.region-search>button { display:flex;align-items:center;justify-content:center;gap:6px;min-width:68px;border:0;border-radius:10px;background:var(--primary);color:#fff;font:600 12px var(--font-sans);cursor:pointer; }
.region-results { display:grid;gap:5px;max-height:180px;overflow-y:auto; }
.region-results>button { display:grid;gap:4px;text-align:left;padding:10px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-ink);cursor:pointer; }
.region-results span { color:var(--management-muted);font-size:11px; }
.region-boundary-preview { display:block;width:100%;height:140px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-surface); }
.region-boundary-preview path { fill:var(--management-active);stroke:var(--management-accent);stroke-width:1.5; }
.region-selected { display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-surface);color:var(--management-ink);font-size:12px; }
.region-selected>span { flex:1;min-width:0; }.region-selected small { display:block;margin-top:4px;color:var(--management-muted);font-size:10px; }
.region-selected>button { display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:0;border-radius:7px;background:var(--management-raised);color:var(--management-ink);cursor:pointer; }
.operation-region-picker .region-error { color:var(--management-ink);border-left:3px solid var(--management-accent);padding:8px 10px;background:var(--management-surface); }
.shop-settings-tabs { display:flex;gap:4px;padding:8px 24px;border-bottom:1px solid var(--management-line);overflow-x:auto;flex-shrink:0; }
.shop-settings-tabs>button { flex:1;white-space:nowrap;border:0;border-radius:9px;padding:11px 12px;background:transparent;color:var(--management-muted);font:600 12px var(--font-sans);cursor:pointer; }
.shop-settings-tabs>button[aria-selected="true"] { color:var(--management-accent);background:var(--management-active); }
.shop-settings-dialog [role="tabpanel"][hidden] { display:none; }
.shop-settings-card { padding:18px;margin-bottom:14px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-raised); }
.shop-settings-card h3 { margin:0 0 14px;color:var(--management-ink);font-size:15px; }
.shop-settings-card p,.shop-settings-card small { color:var(--management-muted);font-size:12px;line-height:1.6; }
.shop-settings-card label,.shop-location-input label { display:grid;gap:7px;color:var(--management-ink);font-size:12px; }
.shop-settings-card :is(input,select,textarea) { width:100%;min-width:0;padding:11px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-ink);font:13px var(--font-sans); }
.shop-settings-card textarea { resize:vertical; }
.shop-settings-card .admin-shop-settings-section { margin:0;border:0;padding:0; }
.shop-location-input { display:grid;gap:12px; }
.shop-location-input>.secondary-button { justify-self:start;display:flex;align-items:center;gap:6px;padding:9px 14px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-ink);cursor:pointer; }
.shop-location-status { display:flex;align-items:center;gap:7px;margin:0;padding:10px;border-radius:9px;background:var(--management-surface);overflow-wrap:anywhere; }
.shop-location-status.ready { color:var(--management-accent);background:var(--management-active); }
.shop-location-results { display:grid;gap:6px;max-height:220px;overflow-y:auto; }
.shop-location-results>button { display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-ink);cursor:pointer; }
.shop-location-results small { display:block;margin-top:4px; }
.auto-filter-shop { border:1px solid var(--management-line);border-radius:10px;background:var(--management-surface); }
.auto-assignment-filter .auto-filter-options { max-height:min(50dvh,420px);padding:3px; }
.auto-filter-rule { padding:0 12px 12px 36px; }
.auto-filter-modes { display:flex;gap:6px;margin-bottom:10px; }
.auto-filter-modes>button { flex:1;min-height:34px;border:1px solid var(--management-line);border-radius:7px;background:var(--management-raised);color:var(--management-muted);font:600 11px var(--font-sans);cursor:pointer; }
.auto-filter-modes>button[aria-pressed="true"] { background:var(--management-active);color:var(--management-accent);border-color:var(--management-accent); }
.auto-filter-rule .auto-filter-exclusive { margin:0;padding:8px; }
.courier-archive-dialog { max-width:500px;padding:24px;color:var(--management-ink);background:var(--management-surface); }
.courier-archive-dialog header,.courier-archive-dialog footer { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.courier-archive-dialog h2 { margin:0;font-size:20px; }.courier-archive-dialog p { line-height:1.7;font-size:13px; }
.courier-archive-dialog button { border:1px solid var(--management-line);border-radius:8px;padding:10px 14px;color:var(--management-ink);background:var(--management-raised);cursor:pointer; }
.courier-row-actions .courier-delete-button,.courier-archive-dialog .courier-delete-button { color:var(--danger,#b42332); }
.notification-welcome { width:min(440px,calc(100vw - 24px));padding:28px;text-align:center;background:var(--management-surface);color:var(--management-ink); }
.notification-welcome-icon { display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:20px;background:var(--management-active);color:var(--management-accent); }
.notification-welcome h2 { margin:0 0 12px;font-size:23px;line-height:1.3; }.notification-welcome p { font-size:14px;line-height:1.7;color:var(--management-muted); }
.notification-welcome>small { display:flex;align-items:center;justify-content:center;gap:6px;line-height:1.6;color:var(--management-muted); }
.notification-welcome footer { display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px; }
.notification-welcome button { min-height:42px;border:1px solid var(--management-line);border-radius:9px;padding:10px 15px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer; }
.notification-welcome footer>button:last-child:not(:first-child) { background:var(--management-accent);color:#fff;border-color:transparent; }
.content-dialog-panel.notification-welcome footer>button { background:var(--management-raised);color:var(--management-ink); }
.content-dialog-panel.notification-welcome footer>button:last-child:not(:first-child) { background:#4262df;color:#fff; }
@media(max-width:600px) { .shop-settings-tabs { padding:6px 10px; }.shop-settings-tabs>button { padding:10px 8px; }.shop-settings-card { padding:14px; }.shop-settings-dialog form { padding:14px; } }

/* Shared viewport fixes. Business flows and saved desktop layouts are unchanged. */
html, body { overscroll-behavior:none; touch-action:pan-x pan-y; }
/* Clipping the horizontal edge must not create an empty vertical scroller.
   With overflow-x:hidden, overflow-y becomes auto and overscroll containment
   stops touch gestures on body before they can reach the document scroller. */
body.nova-app-theme { overflow-x:clip; overflow-y:visible; }
:where(body.nova-app-theme *) { touch-action:pan-x pan-y; }
.sidebar {
  overflow-y: auto;
  overscroll-behavior-y: contain;
  padding-left: max(16px, env(safe-area-inset-left));
}
.sidebar > * { flex-shrink: 0; }
.sidebar-user { margin-bottom: env(safe-area-inset-bottom); }
body:has(.sidebar.sidebar-open, .content-dialog-backdrop, dialog[open]) .pwa-install-card {
  visibility: hidden;
  pointer-events: none;
}
.ops-main, .main-content { min-width: 0; }
/* Preserve native value centering while Safari controls shrink in narrow grids. */
body.nova-app-theme input:is([type="time"], [type="date"], [type="datetime-local"]) {
  display: flex;
  align-items: center;
  min-width: 0;
  min-inline-size: 0;
  max-width: 100%;
  max-inline-size: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
body.nova-app-theme input:is([type="time"], [type="date"], [type="datetime-local"])::-webkit-date-and-time-value {
  min-width: 0;
  min-height: 1.2em;
  margin: 0;
  text-align: left;
}
body.nova-app-theme input:is([type="time"], [type="date"], [type="datetime-local"])::-webkit-datetime-edit {
  min-width: 0;
  padding: 0;
}
.accounting-filters { min-inline-size: 0; border: 0; }
.tracking-sync-error { margin: 0 0 16px; padding: 12px; border-radius: 10px; background: var(--card, #f3f6f4); color: inherit; line-height: 1.5; overflow-wrap: anywhere; }
.logout-error { position: fixed; z-index: 6000; right: 12px; bottom: calc(80px + env(safe-area-inset-bottom)); left: 12px; width: fit-content; max-width: calc(100vw - 24px); margin: 0 auto; padding: 12px 16px; border: 1px solid #e7baba; border-radius: 10px; background: #fff1ef; color: #8c2d2d; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.notification-popover { display: flex; flex-direction: column; }
.notification-popover > header, .notification-push-enable { flex-shrink: 0; }
.notification-list { flex: 1 1 auto; min-height: 0; overscroll-behavior: contain; }
.notification-list.notification-feed { max-height: none; }

.dialog-backdrop, .admin-shell-layout .dialog-backdrop, .content-dialog-backdrop {
  top: calc(var(--nova-visible-top, 0px) + var(--app-banner-height, 0px));
  bottom: auto;
  height: calc(var(--nova-visible-height, 100dvh) - var(--app-banner-height, 0px) - var(--dialog-nav-space, 0px));
  padding-top: max(12px, env(safe-area-inset-top));
  padding-right: max(12px, env(safe-area-inset-right));
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  padding-left: max(12px, env(safe-area-inset-left));
}
.dialog-backdrop > .admin-shop-dialog,
.weekly-shift-dialog, .courier-settings-dialog {
  max-height: 100%;
  min-height: 0;
  overscroll-behavior: contain;
}
.admin-shop-dialog > header, .admin-shop-dialog footer { flex-shrink: 0; }
.content-dialog-backdrop.right { padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
.content-dialog-backdrop.right.admin-scoped { padding-bottom:0; }
.content-dialog-panel :is(.account-bulk-fields, .report-detail-body) { min-height: 0; overflow-y: auto; }

dialog:is(.courier-menu-backdrop, .courier-change-backdrop, .courier-failure-backdrop, .courier-gps-backdrop) {
  inset: var(--nova-visible-top, 0px) 0 auto;
  width: 100%;
  height: var(--nova-visible-height, 100dvh);
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  color: inherit;
  background: transparent;
  backdrop-filter: none;
  overflow: hidden;
}
dialog.courier-menu-backdrop { padding: 0; outline:0; }
dialog.courier-menu-backdrop[open] { display: block; }
dialog:is(.courier-menu-backdrop, .courier-change-backdrop, .courier-failure-backdrop, .courier-gps-backdrop):not([open]) { display: none; }
dialog:is(.courier-menu-backdrop, .courier-change-backdrop, .courier-failure-backdrop, .courier-gps-backdrop)::backdrop {
  background: rgba(8, 20, 15, .55);
  backdrop-filter: blur(3px);
}
.courier-menu-drawer {
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-left: max(18px, env(safe-area-inset-left));
}
.courier-menu-drawer > * { flex-shrink: 0; }
.courier-menu-user, .courier-menu-user > div { min-width: 0; overflow-wrap: anywhere; }
.courier-change-dialog, .courier-failure-dialog {
  min-width: 0;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.courier-change-dialog { flex-direction: column; gap: 10px; }
.courier-dialog-feedback { min-width: 0; margin: 6px 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.5; }
.courier-dialog-feedback.error { color: var(--red, #bc3c3c); }
.courier-dialog-feedback.success { color: var(--green, #16875b); }
.courier-bottom-nav {
  height: calc(65px + env(safe-area-inset-bottom));
  padding: 0 max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));
}
.courier-bottom-nav > * { min-width: 0; min-height: 44px; }
.courier-bottom-nav :is(a, button):focus-visible { outline: 2px solid var(--green, #16875b); outline-offset: -4px; }

.waiter-app { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
.waiter-app > header {
  grid-template-columns: minmax(0, 1fr) repeat(3, auto);
  padding-left: max(14px, env(safe-area-inset-left));
  padding-right: max(14px, env(safe-area-inset-right));
}
.waiter-app > header > div { min-width: 0; overflow-wrap: anywhere; }
.waiter-app > header button { flex-shrink: 0; }
.waiter-line { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
.waiter-line strong { min-width: 0; overflow-wrap: anywhere; }
.waiter-line > button { white-space: normal; }
.waiter-bottom {
  gap: 8px;
  padding: 13px max(16px, env(safe-area-inset-right)) calc(13px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}
.waiter-bottom > * { min-width: 0; }
.waiter-bottom small { overflow-wrap: anywhere; }
.waiter-send { bottom: calc(76px + env(safe-area-inset-bottom)); }

.restaurant-two-col { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.restaurant-two-col > *, .restaurant-card, .restaurant-check-row > *, .restaurant-menu-picker > * { min-width: 0; }
.restaurant-form > label { display: grid; gap: 6px; min-width: 0; }
.restaurant-form > label > input,
.restaurant-form > label > select,
.restaurant-form > label > textarea { width: 100%; box-sizing: border-box; }
.restaurant-form .caller-actions { margin-left: 0; flex-wrap: wrap; }
.restaurant-table-grid { grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr)); }
.restaurant-pos-tiles { grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); }
.restaurant-check-row, .restaurant-menu-picker button { overflow-wrap: anywhere; }
.restaurant-check-actions, .restaurant-order-actions, .restaurant-check-toolbar { flex-wrap: wrap; }
.restaurant-page .check-row > *, .restaurant-page .menu-picker button > span,
.restaurant-page .menu-admin-list > div > span, .restaurant-page .simple-list > div > span { min-width: 0; overflow-wrap: anywhere; }
.restaurant-page .check-row > div:last-child, .restaurant-page .dialog-actions { flex-wrap: wrap; }
.restaurant-page .check-row button { min-height: 36px; }
.restaurant-check-editor { min-width: 0; }
.restaurant-check-editor button { min-height: 36px; border: 1px solid var(--border); border-radius: 9px; padding: 7px 10px; background: var(--surface-strong); color: var(--text); font-size: 12px; font-weight: 700; }
.restaurant-check-editor > button { display: flex; align-items: center; gap: 6px; }
.restaurant-check-editor.is-open { flex: 1 1 100%; width: 100%; }
.restaurant-page .check-row:has(.restaurant-inline-editor) { grid-template-columns: minmax(0, 1fr) auto; }
.restaurant-page .check-row > div:last-child:has(.restaurant-inline-editor) { grid-column: 1 / -1; }
.restaurant-inline-editor { display: grid; gap: 9px; width: 100%; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-strong); }
.restaurant-inline-editor > label { display: grid; gap: 7px; min-width: 0; font-size: 13px; font-weight: 600; }
.restaurant-inline-editor textarea { width: 100%; min-width: 0; box-sizing: border-box; resize: vertical; border: 1px solid var(--border); border-radius: 8px; padding: 10px; background: var(--surface); color: var(--text); font: inherit; }
.restaurant-inline-editor > div { display: flex; flex-wrap: wrap; gap: 8px; justify-content: end; }
.restaurant-inline-editor > small[role="alert"] { color: #ef4444; }
.restaurant-page .table-transfer label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.restaurant-page .table-transfer select { max-width: 100%; }
.restaurant-product-picker { margin-block: 14px; min-width: 0; }
.restaurant-product-filters, .restaurant-kitchen-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.restaurant-product-filters > label { min-width: 0; flex: 1 1 160px; }
.restaurant-control-label { display: block; color: var(--text-muted, var(--muted)); font-size: 12px; margin-bottom: 5px; }
.restaurant-product-filters select, .restaurant-kitchen-toolbar select {
  width: 100%; min-width: 0; max-width: 100%; min-height: 42px; border: 1px solid var(--border); border-radius: 10px;
  padding: 9px 11px; background: var(--surface-strong); color: var(--text);
}
.restaurant-product-filters .restaurant-product-search {
  flex: 2 1 220px; display: flex; align-items: center; gap: 8px; min-height: 42px; border: 1px solid var(--border);
  padding-inline: 11px; border-radius: 10px; background: var(--surface-strong); color: var(--text-muted, var(--muted));
}
.restaurant-product-search > input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); padding-block: 10px; }
.restaurant-product-search > input::-webkit-search-cancel-button { -webkit-appearance: none; }
.restaurant-product-search:focus-within { outline: 2px solid var(--text); outline-offset: 2px; }
.restaurant-product-search > button { display: grid; place-items: center; flex-shrink: 0; padding: 4px; border: 0; background: transparent; color: inherit; }
.restaurant-product-count { display: block; margin-top: 8px; color: var(--text-muted, var(--muted)); }
.restaurant-product-picker .menu-picker, .restaurant-product-picker .waiter-menu { margin-top: 8px; }
.restaurant-product-picker .waiter-menu button > span { min-width: 0; overflow-wrap: anywhere; }
.restaurant-kitchen-toolbar { justify-content: space-between; margin-bottom: 16px; }
.restaurant-kitchen-toolbar > label { flex: 0 1 230px; min-width: 0; }
.restaurant-kitchen-filters { display: flex; flex-wrap: wrap; gap: 7px; }
.restaurant-kitchen-filters button { min-height: 40px; border: 1px solid var(--border); border-radius: 10px; padding: 8px 11px; background: var(--surface); color: var(--text); }
.restaurant-kitchen-filters button[aria-pressed="true"] { background: var(--text); color: var(--background); }
.restaurant-page .kitchen-grid { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); align-items: start; }
.restaurant-kitchen-check > header { align-items: start; gap: 10px; flex-wrap: wrap; }
.restaurant-kitchen-check > header > div { display: grid; gap: 4px; min-width: 0; }
.restaurant-kitchen-check > header small, .restaurant-kitchen-line small { color: var(--text-muted); overflow-wrap: anywhere; }
.restaurant-kitchen-payment { font-size: 12px; border: 1px solid var(--border); padding: 4px 7px; border-radius: 7px; }
.restaurant-kitchen-line { padding-top: 14px; margin-top: 14px; border-top: 1px solid var(--border); overflow-wrap: anywhere; }
.restaurant-kitchen-line.done { opacity: .7; }
.restaurant-kitchen-line h3 { margin: 0 0 5px; }
.restaurant-kitchen-line p { white-space: pre-wrap; }
.restaurant-kitchen-line > button { margin-top: 12px; }
.waiter-line:has(.restaurant-inline-editor) { grid-template-columns: auto minmax(0, 1fr); }
.waiter-line > .restaurant-check-editor.is-open { grid-column: 1 / -1; }
.waiter-line .restaurant-inline-editor > div > button { width: auto; }
@media (max-width: 1100px) { .restaurant-two-col { grid-template-columns: minmax(0, 1fr); } }

@media (max-width: 760px), (max-width: 1024px) and (pointer: coarse), (max-width: 1024px) and (max-height: 500px) {
  .content-dialog-backdrop.right > .content-dialog-panel { width: 100%; border-radius: 0; }
  .content-dialog-backdrop.admin-scoped { --dialog-nav-space: calc(52px + env(safe-area-inset-bottom)); }
  .courier-schedule-main, .courier-history-main { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .admin-shell-layout:has(.admin-map-main),
  .admin-shell-content:has(.admin-map-main),
  .admin-shell-content > .ops-shell:has(.admin-map-main),
  .admin-map-main {
    height: calc(var(--nova-visible-height, 100dvh) - var(--app-banner-height, 0px)) !important;
    min-height: 0 !important;
    max-height: calc(var(--nova-visible-height, 100dvh) - var(--app-banner-height, 0px)) !important;
  }
  .admin-map-topbar {
    left: max(8px, env(safe-area-inset-left));
    right: max(8px, env(safe-area-inset-right));
    top: max(6px, env(safe-area-inset-top));
  }
  .admin-map-main .admin-map-orders {
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
  }
  .admin-map-main .admin-mobile-courier-float { right: max(8px, env(safe-area-inset-right)); }
  .admin-map-main .live-operation-issues { left: max(8px, env(safe-area-inset-left)) !important; }
  .sidebar { max-width: calc(100vw - max(24px, env(safe-area-inset-right))); }
  .notification-list { max-height: min(380px, calc(var(--nova-visible-height, 100dvh) - 150px)); }
  :is(.page-content, .admin-shops-shell, .waiter-app, .courier-page, .content-dialog-panel, .admin-shop-dialog)
    :is(input:not([type=checkbox]):not([type=radio]), textarea, select) { font-size: 16px; }
}
@media (max-height: 500px) {
  .admin-shop-dialog > header, .content-dialog-panel > header { padding: 10px 14px; }
  .admin-shop-dialog footer, .content-dialog-panel footer { padding: 10px 14px; }
  .courier-failure-dialog { padding: 18px; }
  .courier-change-dialog { padding: 16px; }
  .pwa-install-card { max-height: calc(var(--nova-visible-height, 100dvh) - 100px); }
}

/* Every role uses the admin surface and navigation system. Status colors retain their meaning. */
html .nova-app-theme {
  --ink:var(--management-ink); --muted:var(--management-muted); --line:var(--management-line);
  --cream:var(--management-canvas); --soft:var(--management-raised);
  --background:var(--management-canvas); --surface:var(--management-surface); --surface-strong:var(--management-raised);
  --border:var(--management-line); --text:var(--management-ink); --text-muted:var(--management-muted);
  --page-bg:var(--management-canvas); --panel:var(--management-surface); --panel-soft:var(--management-raised);
  --primary:#3156db; --primary-foreground:#fff;
  --content-icon-color:var(--management-ink);
  background:var(--management-canvas); color:var(--management-ink);
}
html[data-theme="dark"] .nova-app-theme { --primary:#486bdc; }
.nova-panel-sidebar .nova-admin-link { width:100%; text-align:left; font-family:inherit; }
.nova-panel-sidebar .nova-admin-link>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html .nova-panel-sidebar .nova-admin-nav-section>h2 { color:var(--nav-muted); }
.nova-nav-badge { min-width:18px; padding:2px 5px; border-radius:6px; background:var(--management-active); color:var(--management-accent); font-size:10px; text-align:center; }
.nova-panel-context { flex-shrink:0; min-width:0; margin:0 4px 20px; padding:12px 8px; border-top:1px solid var(--nav-line); border-bottom:1px solid var(--nav-line); }
.nova-panel-context :is(strong,span,small) { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nova-panel-context strong { color:var(--nav-ink); font-size:12px; font-weight:600; }
.nova-panel-context span { margin-top:4px; color:var(--nav-muted); font-size:10px; }
.nova-panel-context small { margin-top:7px; color:var(--nav-accent); font-size:10px; }
.nova-panel-close { display:none; }
nav.nova-panel-mobile-nav { background:var(--management-surface); border-color:var(--management-line); box-shadow:0 -4px 18px rgb(24 32 52 / 5%); }
nav.admin-mobile-nav.nova-panel-mobile-nav>.nova-nav-action,
nav.admin-mobile-nav.nova-panel-mobile-nav>.mobile-nav-theme {
  position:relative; flex:1 0 40px; min-width:40px; max-width:none; width:auto; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:5px 2px;
  border:0; border-radius:0; background:transparent; color:var(--management-muted); box-shadow:none;
  text-decoration:none; font:600 8px/1.25 var(--font-sans);
}
nav.nova-panel-mobile-nav>.nova-nav-action>span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
nav.nova-panel-mobile-nav>.nova-nav-action.active { color:var(--management-accent); background:var(--management-active); }
nav.nova-panel-mobile-nav .nova-nav-badge { position:absolute; top:2px; right:2px; padding:1px 3px; min-width:14px; font-size:8px; }
nav.nova-panel-mobile-nav>.mobile-nav-theme>span { font-size:0; }
nav.nova-panel-mobile-nav>.mobile-nav-theme>span::after { content:"Tema"; font:600 8px/1.25 var(--font-sans); }
nav.nova-panel-mobile-nav :is(a,button):focus-visible { outline:2px solid var(--management-accent); outline-offset:-3px; }

/* Neutral canvases, cards, inputs and primary actions shared with management pages. */
html .nova-app-theme :is(.nova-shop-shell,.nova-shop-shell>.main-content,.courier-page,.courier-app,.settings-page,.shop-integrations-shell,.restaurant-pos-home,.waiter-login,.waiter-app,.tracking-shell,.client-launcher-page,.login-page,.login-panel) {
  background:var(--management-canvas); color:var(--management-ink);
}
html .nova-app-theme :is(.restaurant-page,.waiter-app,.waiter-login,.courier-fixed-opportunities) {
  --background:var(--management-canvas); --surface:var(--management-surface); --surface-strong:var(--management-raised);
  --border:var(--management-line); --text:var(--management-ink); --text-muted:var(--management-muted);
}
html .nova-app-theme :is(.topbar,.shop-shell-mobile-bar,.courier-header,.waiter-app>header,.tracking-header,.shop-integrations-header) {
  background:var(--management-surface); border-color:var(--management-line); color:var(--management-ink); box-shadow:none;
}
html .nova-app-theme :is(.order-card,.platform-quick-item,.platform-strip,.platform-table,.summary-stats,.shop-focus-bar,.empty-state,
  .shop-integration-card,.shop-security,.profile-card,.password-card,.notification-settings,.restaurant-pos-welcome,.pos-tile,
  .restaurant-check-panel,.restaurant-form,.restaurant-hero-stats>span,.restaurant-action-grid>button,.restaurant-table-grid>button,
  .restaurant-finance-grid>div,.restaurant-cash-summary>span,.pos-card,.kitchen-card,.waiter-login-card,.waiter-tables button,
  .waiter-menu button,.courier-route-card,.courier-huge-card,.courier-empty,.courier-summary>div,.courier-field-metrics>div,
  .courier-speed-status,.courier-map-card,.courier-menu-drawer,.courier-menu-stats>div,.courier-flow-actions,.courier-schedule-card,
  .tracking-card,.client-launcher-card,.notification-popover,.dialog-card,.manual-order-dialog,.courier-schedule-hero,.courier-schedule-week,
  .courier-empty-page>header,.courier-empty-page>section,.kitchen-grid>article,.menu-admin-list>div,.waiter-admin-list>div) {
  background:var(--management-surface); border-color:var(--management-line); color:var(--management-ink);
  border-radius:12px; box-shadow:none;
}
html .nova-app-theme :is(.restaurant-pos-welcome,.pos-tile,.restaurant-action-grid>button) { border:1px solid var(--management-line); }
html .nova-app-theme :is(.pos-tile>span,.restaurant-action-icon,.settings-avatar,.password-heading>div,.client-launcher-icon,.shop-platform-icon,
  .shop-connected-summary>div:not(.shop-integration-actions),.shop-credential-form details,.courier-menu-profile,.courier-menu-break-info,.courier-menu-work,.courier-menu-shift,
  .huge-details-box,.login-security-note,.tracking-feedback,.client-launcher-grid article) {
  background:var(--management-raised); color:var(--management-ink); border-color:var(--management-line);
}
html .nova-app-theme :is(.pos-tile>span,.restaurant-action-icon,.settings-avatar,.password-heading>div,.client-launcher-icon,.shop-platform-icon,.login-security-note svg) { color:var(--management-ink); }
html .nova-app-theme :is(.manual-order-button,.shop-form-actions button[type=submit],.shop-integration-actions button:not(.plain):not(.delete),
  .integration-settings-link,.restaurant-form button[type=submit],.inline-form button,.waiter-login-card button[type=submit],.waiter-login-card form>button:first-of-type,.waiter-send,
  .courier-flow-primary,.courier-card-ack>button,.courier-acknowledge-button,.courier-task-compact-actions .button-group .primary,
  .client-launcher-card>button,.login-submit,.tracking-feedback-submit) {
  --content-icon-color:#fff; background:var(--primary); border-color:var(--primary); color:#fff; box-shadow:none; border-radius:10px;
}
html .nova-app-theme :is(.order-filters button.active,.restaurant-tabs button.active,.restaurant-table-grid button.selected,.waiter-tables button.active) {
  background:var(--management-active); border-color:var(--management-accent); color:var(--management-accent);
}
html .nova-app-theme :is(.restaurant-table-grid button.selected,.waiter-tables button.active) { outline-color:var(--management-accent); }
html .nova-app-theme :is(.order-search,.search-box,.login-input,.shop-credential-form input,.shop-credential-form select,
  .restaurant-form input,.restaurant-form select,.restaurant-form textarea,.inline-form input,.inline-form select,.waiter-login-card input,
  .restaurant-table-count-setting input) {
  background:var(--management-input); color:var(--management-ink); border-color:var(--management-line);
}
html .nova-app-theme :is(.login-input input,.login-box,.client-launcher-grid strong,.tracking-status h1,.tracking-info strong,.tracking-feedback h2,
  .courier-menu-stats strong,.courier-menu-profile strong,.huge-customer-name,.courier-header-title) { color:var(--management-ink); }
html .nova-app-theme :is(.shop-credential-form label,.shop-credential-form label small,.login-box>p,.login-box form>label,.login-security-note,
  .client-launcher-card>p,.client-launcher-grid small,.courier-menu-profile :is(small,span),.courier-menu-stats small,.courier-detail-hint,
  .tracking-header small,.tracking-feedback p,.tracking-info small,.courier-card-ack>span) { color:var(--management-muted); }
html .nova-app-theme :is(.login-change-phone,.login-resend,.settings-back,.courier-stop-map-link,.courier-detail-hint>svg) { color:var(--management-accent); }
html .nova-app-theme :is(.tracking-button,.receipt-button,.shop-form-actions button.plain,.shop-integration-actions button.plain,
  .waiter-line>button,.courier-menu-drawer>header>button,.courier-menu-button,.courier-menu-nav a,.courier-map-back,.tracking-header .theme-toggle) {
  background:var(--management-raised); border-color:var(--management-line); color:var(--management-ink); box-shadow:none;
}
html .nova-app-theme :is(.login-input,.shop-credential-form input,.restaurant-form input,.restaurant-form textarea,.waiter-login-card input):focus-within {
  border-color:var(--management-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--management-accent) 14%,transparent);
}
html .nova-app-theme :is(.tracking-card,.client-launcher-card,.waiter-login-card) { border:1px solid var(--management-line); }
html .nova-app-theme .login-box { padding:28px; width:min(440px,100%); border:1px solid var(--management-line); border-radius:12px; background:var(--management-surface); }
html .nova-app-theme .login-story { background:var(--management-surface); color:var(--management-ink); border-right:1px solid var(--management-line); }
html .nova-app-theme :is(.login-story-copy>p,.login-benefits span,.login-story-footer) { color:var(--management-muted); }
html .nova-app-theme :is(.login-kicker,.login-brand small) { color:var(--management-accent); }
html .nova-app-theme .tracking-header { max-width:none; padding-left:max(18px,calc((100vw - 720px)/2)); padding-right:max(18px,calc((100vw - 720px)/2)); border-bottom:1px solid var(--management-line); }
html .nova-app-theme .tracking-header>div>span { background:transparent; color:var(--management-ink); }
html .nova-app-theme .tracking-feedback { border:1px solid var(--management-line); }
html .nova-app-theme .tracking-info>div { background:var(--management-raised); }
html .nova-app-theme .courier-package-preview { --preview-surface:var(--management-surface); --preview-bg:var(--management-canvas); --preview-muted:var(--management-muted); }
html .nova-app-theme .courier-menu-drawer { border-radius:0; }
html .nova-app-theme .courier-menu-nav a { font-size:12px; font-weight:500; }
html .nova-app-theme .courier-brand>span>strong { color:var(--management-ink); }
html .nova-app-theme .courier-brand small { color:var(--management-muted); }
html .nova-app-theme .courier-header { height:calc(64px + env(safe-area-inset-top)); padding-top:env(safe-area-inset-top); padding-left:max(20px,env(safe-area-inset-left)); padding-right:max(20px,env(safe-area-inset-right)); flex-shrink:0; }
html .nova-app-theme .courier-app { padding-bottom:0; }
html:has(.courier-page),html:has(.courier-page)>body.nova-app-theme,
html[data-theme] body.nova-app-theme :is(.courier-page,.courier-app) { background:var(--management-surface); }
.courier-page { --courier-nav-height:0px; }
html .nova-app-theme .courier-history-page>.reports-shell { min-height:calc(100dvh - var(--app-banner-height,0px) - 64px - env(safe-area-inset-top) - var(--courier-nav-height)); }
html .nova-app-theme .nova-courier-account>.settings-page { min-height:calc(100dvh - var(--app-banner-height,0px) - var(--courier-nav-height)); }
html .nova-app-theme .courier-app-empty { display:flex; flex-direction:column; }
html .nova-app-theme .courier-app-empty>main { width:100%; flex:1 0 auto; display:flex; flex-direction:column; gap:12px; padding:16px 20px; }
html .nova-app-theme .courier-app-empty>main>.courier-empty { flex:1 0 auto; justify-content:center; margin:0; padding:clamp(24px,6dvh,48px) 20px; }
html .nova-app-theme .courier-app-empty>main>:not(.courier-empty) { flex-shrink:0; }
html .nova-app-theme .courier-empty-page { background:var(--management-canvas); color:var(--management-ink); }
html .nova-app-theme .courier-schedule-week article { background:var(--management-raised); border-color:var(--management-line); }
html .nova-app-theme .courier-schedule-hero>span { background:var(--management-raised); color:var(--management-ink); }
html .nova-app-theme :is(.restaurant-form button,.inline-form button,.restaurant-page .dialog-actions button:not(.danger)) { --content-icon-color:#fff; background:var(--primary); color:#fff; border-color:var(--primary); }
html .nova-app-theme .waiter-bottom { position:static; flex-wrap:wrap; background:transparent; color:var(--management-muted); border-color:var(--management-line); padding:16px; font-size:12px; }
html .nova-app-theme .waiter-app { min-width:0; padding-bottom:20px; }
html .nova-app-theme .waiter-app>:is(.waiter-tables,.waiter-order) { max-width:1120px; margin:0 auto; scroll-margin-top:100px; }
html .nova-app-theme .waiter-send { bottom:12px; }
html .nova-app-theme .restaurant-pos-welcome h2 { font-size:26px; }
html .nova-app-theme .pos-tile strong { font-size:18px; font-weight:650; }
html .nova-app-theme .theme-toggle:not(.nova-admin-theme):not(.mobile-nav-theme) { background:var(--management-surface); border-color:var(--management-line); color:var(--management-muted); box-shadow:none; }
html .nova-app-theme .pwa-install-card { background:var(--management-surface); border-color:var(--management-line); color:var(--management-ink); box-shadow:0 4px 18px rgb(24 32 52 / 8%); }
html .nova-app-theme .pwa-install-card :is(small,.pwa-install-help) { color:var(--management-muted); }
html .nova-app-theme .pwa-install-icon { background:var(--management-raised); color:var(--management-ink); }
html .nova-app-theme .pwa-install-action { --content-icon-color:#fff; background:var(--primary); color:#fff; }

/* Selections and actions use the same blue accent in both themes. Green is reserved for status. */
html[data-theme] .nova-app-theme :is(
  .filter-tabs button.active,.range-switch button.active,.failure-chip.active,
  .dispatch-quick-filters button.active,.admin-courier-filters button.active,.admin-mobile-ops-tabs button.active,
  .candidate-list>button.selected,.candidate-list>button.recommended,
  .dispatch-card.selected:not(.critical):not(.warning),.dispatch-card:hover:not(.critical):not(.warning),
  .dispatch-assign-courier-list>button.recommended,.admin-mobile-courier-group-list>button.selected,
  .shop-map-order-list>button.selected,.shop-map-order-list>button:hover,.manual-option-card.selected,
  .tracking-feedback-tags button.selected,.developer-platforms button.active,.demo-accounts>button.selected,
  .admin-map-topbar .operation-auto-assignment-control>button.enabled
) { background:var(--management-active); color:var(--management-accent); border-color:var(--management-accent); box-shadow:none; }
html[data-theme] .nova-app-theme .failure-chip.active { box-shadow:inset 3px 0 var(--management-accent); }
html[data-theme] .nova-app-theme :is(
  .filter-tabs button.active b,.dispatch-quick-filters button.active b,.admin-courier-filters button.active b,
  .admin-mobile-ops-tabs button.active b,.notification-sound-switch[aria-checked=true],.switch.on
) { background:var(--primary); color:#fff; border-color:var(--primary); }
html[data-theme] .nova-app-theme :is(
  .bulk-actions button:not(.danger-ghost),.notification-push-enable,.receipt-button,.tracking-button,
  .shift-admin-shortcut,.address-find-button,.shop-focus-actions>button:not(.manual-order-button),
  .shop-focus-bar>button,.courier-route-tools button,.courier-package-toolbar button,.courier-stop-map-link,
  .courier-location-toggle.active,.courier-notification-toggle.enabled,.courier-row-actions .shift-edit-button,
  .admin-shop-row-actions .shop-settings-button,.client-mobile-access>button,.courier-pool-target,.dispatch-pool-option,
  .admin-mobile-courier-float>header b,.courier-load-order>b,
  .shop-security,.integration-security,.login-security-note,.shift-management-guide,
  .notification-list article.unread,.notification-entry.unread
) { background:var(--management-active); color:var(--management-accent); border-color:var(--management-line); }
html[data-theme] .nova-app-theme :is(
  .shop-connection-steps b,.huge-item-qty,
  .huge-step-title,.order-item>b,.dispatch-selection-toolbar button,
  .dispatch-package-info dd>a,.dispatch-assign-distance :is(strong,small),.operation-route-metrics,
  .auto-filter-summary>button,.courier-quick-settings>a,.courier-quick-settings-actions>button:first-child:not(.break-exhausted):not(.break-active),
  .circle-step-label.is-active,.admin-mobile-courier-group-button b,.notification-list article.unread>i
) { color:var(--management-accent); }
/* Content icons and their tiles stay monochrome; navigation retains its blue selection. */
html[data-theme] .nova-app-theme :is(
  .admin-shop-avatar,.customer-avatar,.settings-avatar,.courier-rank,.report-metric>span,.report-metric.green>span,
  .dispatch-assign-courier-icon,.courier-empty.is-online>div,.courier-empty-icon,.courier-schedule-hero>span,
  .pos-tile>span,.restaurant-action-icon,.password-heading>div,.client-launcher-icon,.shop-platform-icon,.pwa-install-icon
) { background:var(--management-raised); color:var(--management-ink); border-color:var(--management-line); }
html[data-theme] .nova-app-theme :is(
  .accept,.order-actions .accept,.assign-button,.auto-assignment-save,.route-start-bar button,
  .huge-action-grid>a.huge-nav-button,.courier-go-online-btn,.courier-end-break-btn,
  .courier-menu-work-actions .go-online,.courier-fixed-opportunities button,
  .bridge-key-card>button,.bridge-key-once>button,.settings-save-button,.admin-project-gate button,
  .dispatch-bulk-footer>button,.admin-package-confirm button[type=submit],.circle-step-btn.is-active,
  .dialog-actions .retry-confirm-button,.failed-resolution-actions .retry-delivery-button,
  .admin-shops-heading>button,.admin-shop-dialog footer>button,.accounting-filters>button,.history-filter-grid>button,
  .order-live-actions .ready-button,.delivery-actions button.delivered,.courier-primary,.admin-mobile-courier-assign
) { --content-icon-color:#fff; background:var(--primary); color:#fff; border-color:var(--primary); box-shadow:none; }
html[data-theme] .nova-app-theme .huge-action-grid>a.huge-nav-button:hover { background:var(--primary); color:#fff; filter:brightness(1.08); }
html[data-theme] .nova-app-theme .courier-stop-map-link :is(strong,small) { color:inherit; }
html[data-theme] .nova-app-theme :is(.courier-flow-primary.confirming,.nova-map-popup-action) { --content-icon-color:#fff; background:var(--primary); color:#fff; }
html[data-theme] .nova-app-theme :is(.nova-shop-shell .store-live,.admin-mobile-courier-group-button) {
  background:var(--management-raised); color:var(--management-ink); border-color:var(--management-line);
}
html[data-theme] .nova-app-theme .store-live.closed { color:var(--management-muted); }
html[data-theme] .nova-app-theme .admin-map-topbar .live-operation.connecting { background:var(--warning-bg,#fff4dc); color:var(--warning-text,#8a6219); }
html[data-theme] .nova-app-theme .admin-map-topbar .live-operation.offline { background:var(--danger-bg,#fff0ef); color:var(--danger-text,#ab4942); }
html[data-theme] .nova-app-theme :is(.platform-dot.nova-manual,.login-story-footer i) { background:var(--primary); }
html[data-theme] .nova-app-theme .login-benefits svg { background:var(--management-raised); }
html[data-theme] .nova-app-theme :is(.notification-center,.notification-panel) {
  --notification-accent:var(--management-accent); --notification-active:var(--management-active);
  --notification-surface:var(--management-surface); --notification-raised:var(--management-raised);
  --notification-line:var(--management-line); --notification-ink:var(--management-ink); --notification-muted:var(--management-muted);
}
html[data-theme] .nova-app-theme .operation-toast:not(.error) .operation-toast-icon { background:var(--management-raised); color:var(--management-ink); }
html[data-theme] .nova-app-theme .live-operation:not(.connecting):not(.offline) { background:var(--management-raised); color:var(--management-ink); border-color:var(--management-line); }
html[data-theme] .nova-app-theme .connection-status:not(.offline) { background:var(--primary); color:#fff; }
html[data-theme] .nova-app-theme :is(input[type=checkbox],input[type=radio]) { accent-color:var(--primary); }
html[data-theme] .nova-app-theme :is(.address-suggestion-list button.active,.address-suggestion-list button:hover) { background:var(--management-active); color:var(--management-accent); }
html[data-theme] .nova-app-theme :is(.courier-quick-settings-actions>button,.courier-quick-settings>header>button,.courier-filter-entry,.courier-settings-back,.pwa-install-card button):focus-visible { outline-color:var(--management-accent); }
html[data-theme] .nova-app-theme .operation-map-settings .map-marker-size-actions>button:not(:disabled):is(:hover,:focus-visible) { border-color:var(--management-accent); outline-color:var(--management-accent); }
html[data-theme] .nova-app-theme .leaflet-control-attribution a { color:var(--management-accent); }
html[data-theme] .nova-app-theme :is(.admin-shop-row-actions a,.admin-shop-row-actions button,.courier-row-actions button,.account-toggle) { color:var(--management-accent); border-color:var(--management-line); }
html[data-theme] .nova-app-theme :is(.operation-drag-handle,.history-order-link) { color:var(--management-ink); }
html[data-theme] .nova-app-theme .shop-form-actions .show-secret { color:var(--management-muted); }
html[data-theme] .nova-app-theme nav.nova-panel-mobile-nav>.nova-nav-action.active { color:var(--management-accent); }
html[data-theme] .nova-app-theme .connection-status { --content-icon-color:#fff; }
html[data-theme] .nova-app-theme :is(.content-dialog-panel footer>button,.operation-week-planner>footer button):not(.secondary) { --content-icon-color:#fff; }
html[data-theme] .nova-app-theme :is(.danger-button,.courier-flow-failed.confirming) { --content-icon-color:currentColor; }
html[data-theme] body.nova-app-theme svg.lucide:not(:where(.nova-panel-sidebar *, .nova-panel-mobile-nav *, .leaflet-container *)) { color:var(--content-icon-color); }
html .courier-page { --courier-location-error:#b42318; --courier-location-ok:#12834b; --courier-location-pending:#946200; }
html[data-theme="dark"] .courier-page { --courier-location-error:#ffaaa3; --courier-location-ok:#79dfac; --courier-location-pending:#f4ce78; }
html[data-theme] body.nova-app-theme button.courier-location-toggle { --content-icon-color:currentColor; color:var(--courier-location-error); border-color:color-mix(in srgb,currentColor 35%,transparent); background:color-mix(in srgb,var(--courier-location-error) 10%,var(--management-surface)); }
html[data-theme] body.nova-app-theme button.courier-location-toggle.active { color:var(--courier-location-ok); background:color-mix(in srgb,var(--courier-location-ok) 10%,var(--management-surface)); }
html[data-theme] body.nova-app-theme button.courier-location-toggle.pending { color:var(--courier-location-pending); background:color-mix(in srgb,var(--courier-location-pending) 10%,var(--management-surface)); }
html[data-theme] .nova-app-theme .courier-menu-drawer>header>button:focus-visible { outline:2px solid var(--management-muted); outline-offset:2px; }

.live-route-map .nova-courier-route-popup .leaflet-popup-content { min-width:0; margin:8px 24px 8px 10px; }
.live-route-map .nova-courier-route-popup .leaflet-popup-content-wrapper { border-radius:10px; }
.nova-map-popup-route>.nova-map-popup-action { width:auto; min-width:104px; min-height:36px; margin:0; padding:6px 10px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; font-size:11px; font-weight:650; line-height:1.25; }
.nova-map-popup-route>.nova-map-popup-action small { color:inherit; font-size:9px; font-weight:500; opacity:.85; }

@media(min-width:1025px), (min-width:761px) and (min-height:501px) and (pointer:fine), (min-width:761px) and (min-height:501px) and (pointer:none) {
  .nova-shop-shell>.main-content { margin-left:var(--nova-admin-nav-width); width:calc(100% - var(--nova-admin-nav-width)); }
  .nova-shop-shell .mobile-menu { display:none; }
  .nova-shop-shell .topbar-title { margin-right:auto; }
  .courier-page { padding-left:var(--nova-admin-nav-width); }
  .nova-waiter-layout { padding-left:var(--nova-admin-nav-width); }
  html .nova-app-theme .courier-flow-actions { right:calc((100% - var(--nova-admin-nav-width))/2); bottom:16px; max-width:calc(100% - var(--nova-admin-nav-width) - 32px); }
  html .nova-app-theme .courier-fullscreen-map { left:var(--nova-admin-nav-width); bottom:0; }
  html .nova-app-theme .courier-page .settings-back { display:none; }
  html .nova-app-theme .courier-app>main { padding-top:24px; }
  .courier-page :is(.courier-header,.settings-top-actions)>.theme-toggle,.courier-page .courier-header-actions>.theme-toggle { display:none; }
}
@media(max-width:760px), (max-width:1024px) and (pointer:coarse), (max-width:1024px) and (max-height:500px) {
  nav.nova-panel-mobile-nav { display:flex; z-index:3000; height:calc(52px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); }
  nav.nova-shop-mobile-nav>.nova-nav-action,nav.nova-shop-mobile-nav>.mobile-nav-theme { flex:1 0 56px; min-width:56px; }
  .nova-shop-shell>.main-content { margin-left:0; width:100%; padding-bottom:calc(20px + env(safe-area-inset-bottom)); }
  .courier-page,.nova-waiter-layout { padding-left:0; padding-bottom:calc(52px + env(safe-area-inset-bottom)); }
  .courier-page { --courier-nav-safe-bottom:min(12px,env(safe-area-inset-bottom)); --courier-nav-height:calc(52px + var(--courier-nav-safe-bottom)); padding-bottom:var(--courier-nav-height); }
  .courier-page nav.nova-panel-mobile-nav { height:calc(52px + var(--courier-nav-safe-bottom)); padding:0 env(safe-area-inset-right) var(--courier-nav-safe-bottom) env(safe-area-inset-left); }
  html .nova-app-theme .courier-app { min-height:calc(100dvh - var(--app-banner-height,0px) - 52px - var(--courier-nav-safe-bottom)); }
  html .nova-app-theme .courier-app>main { padding-bottom:88px; }
  html .nova-app-theme .courier-app-empty>main { padding:16px max(13px,env(safe-area-inset-right)) 6px max(13px,env(safe-area-inset-left)); }
  html .nova-app-theme .courier-schedule-main { padding-bottom:16px; }
  html .nova-app-theme .courier-flow-actions { bottom:calc(64px + var(--courier-nav-safe-bottom)); }
  html .nova-app-theme .courier-fullscreen-map { bottom:calc(52px + var(--courier-nav-safe-bottom)); }
  html .nova-app-theme .waiter-send { bottom:calc(64px + env(safe-area-inset-bottom)); }
  .ops-sidebar.nova-panel-sidebar.nova-panel-open {
    position:fixed; inset:var(--app-banner-height,0px) auto auto 0; z-index:4000; display:flex;
    width:min(280px,calc(100vw - max(24px,env(safe-area-inset-right))));
    height:calc(var(--nova-visible-height,100dvh) - var(--app-banner-height,0px));
    padding-top:max(14px,env(safe-area-inset-top)); padding-bottom:max(14px,env(safe-area-inset-bottom));
  }
  .nova-panel-sidebar.nova-panel-open>.nova-admin-brand { height:96px; margin-bottom:12px; }
  .nova-panel-sidebar.nova-panel-open .nova-admin-logo { width:48px; height:48px; }
  .nova-panel-sidebar.nova-panel-open .nova-panel-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--nav-line); border-radius:9px; color:var(--nav-ink); background:var(--nav-surface); }
  .nova-shop-shell>.sidebar-backdrop { z-index:3900; }
  body:has(.nova-panel-open) .pwa-install-card { display:none; }
  .nova-panel-open .nova-panel-context { margin-bottom:12px; padding-top:8px; padding-bottom:8px; }
  .nova-panel-open .nova-admin-footer { margin-top:10px; padding-top:10px; }
  html .nova-app-theme .login-box { padding:24px 20px; }
}
@media(max-height:500px) {
  .nova-panel-sidebar.nova-panel-open>.nova-admin-brand { height:56px; flex-direction:row; }
  .nova-panel-sidebar.nova-panel-open .nova-panel-context { display:none; }
  .nova-panel-sidebar.nova-panel-open .nova-admin-account { display:none; }
  .nova-panel-sidebar.nova-panel-open .nova-admin-account-actions { margin-top:0; }
}
/* Large home shortcuts use the available panel width in three balanced columns. */
html .nova-app-theme .restaurant-pos-home { min-height:calc(100dvh - 88px);gap:20px; }
html .nova-app-theme .restaurant-pos-tiles { grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(150px,1fr);align-content:stretch;gap:18px; }
html .nova-app-theme .restaurant-pos-tiles .pos-tile { min-height:150px;padding:24px;gap:10px; }
html .nova-app-theme .restaurant-pos-tiles .pos-tile strong { font-size:22px; }
html .nova-app-theme .restaurant-pos-tiles .pos-tile>span { width:58px;height:58px; }
@media(max-width:760px) {
  html .nova-app-theme .restaurant-pos-tiles { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
  html .nova-app-theme .restaurant-pos-tiles .pos-tile { padding:18px;min-height:150px; }
  html .nova-app-theme .restaurant-pos-tiles .pos-tile strong { font-size:19px; }
}

.courier-gps-notice{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:17px;border:1px solid color-mix(in srgb,var(--courier-location-error) 30%,var(--management-line));border-radius:12px;background:color-mix(in srgb,var(--courier-location-error) 7%,var(--management-surface));color:var(--management-ink)}.courier-gps-notice>svg{flex-shrink:0;color:var(--courier-location-error)}.courier-gps-notice>div{flex:1;min-width:0}.courier-gps-notice strong{font-size:14px}.courier-gps-notice p{margin:5px 0 0;font-size:12px;line-height:1.65;color:var(--management-muted)}.courier-gps-notice button{min-height:40px;padding:9px 12px;flex-shrink:0;border:1px solid var(--management-line);border-radius:8px;background:var(--management-surface);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer}.courier-gps-notice.pending{border-color:var(--management-line);background:var(--management-surface)}.courier-gps-notice.pending>svg{color:var(--courier-location-pending)}
html .courier-page>.toast{z-index:1600;bottom:calc(var(--courier-nav-height,0px) + 104px);max-width:min(420px,calc(100vw - 32px));background:var(--management-surface);color:var(--management-ink);border-color:var(--management-line);font-size:13px}
.courier-gps-backdrop{padding:20px}.courier-gps-dialog{max-width:100%;max-height:calc(100dvh - 40px);overflow:auto;width:min(480px,calc(100vw - 28px));padding:25px;border:1px solid var(--management-line);border-radius:17px;background:var(--management-surface);color:var(--management-ink);text-align:left}.courier-gps-dialog header{display:flex;align-items:center;gap:10px}.courier-gps-dialog header h2{flex:1;margin:0;font-size:21px}.courier-gps-dialog header>button{padding:7px;background:transparent;border:0;color:inherit;cursor:pointer}.courier-gps-dialog p,.courier-gps-dialog li{font-size:13px;line-height:1.8;color:var(--management-muted)}.courier-gps-dialog ol{padding-left:22px;display:grid;gap:10px;margin:20px 0}.courier-gps-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.courier-gps-dialog footer button{min-height:42px;padding:10px 15px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer}.courier-gps-dialog footer button:last-child{background:#4262df;color:#fff;border-color:transparent}
@media(max-width:500px){.courier-gps-notice{flex-wrap:wrap;padding:14px}.courier-gps-notice>div{flex-basis:calc(100% - 35px)}.courier-gps-notice>button{margin-left:33px}.courier-gps-dialog{padding:20px}html .courier-page>.toast{right:16px;left:16px}}

.courier-today-history{max-width:920px;margin:0 auto;padding:28px 24px 50px;color:var(--management-ink)}.courier-today-history>header{margin-bottom:24px}.courier-today-history h1{font-size:28px;margin:7px 0}.courier-today-history>header p{font-size:13px;color:var(--management-muted);line-height:1.7}.courier-today-list{display:grid;gap:12px}.courier-today-list>details{padding:18px;border:1px solid var(--management-line);border-radius:13px;background:var(--management-surface)}.courier-today-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.courier-today-list summary::-webkit-details-marker{display:none}.courier-today-list summary>span:first-child{flex:1;min-width:0}.courier-today-list summary>span:last-child{text-align:right;flex-shrink:0}.courier-today-list summary strong{font-size:15px;overflow-wrap:anywhere}.courier-today-list summary small{display:block;font-size:12px;line-height:1.6;color:var(--management-muted);margin-top:5px}.courier-today-list summary b{font-size:11px;color:var(--management-accent)}.courier-today-list summary .delivery-failed{color:var(--courier-location-error)}.courier-today-list time{display:block;font-size:11px;color:var(--management-muted);margin-top:9px}.courier-today-order-detail{padding-top:18px;margin-top:18px;border-top:1px solid var(--management-line)}.courier-today-order-detail ul{display:grid;gap:10px;list-style:none;margin:0;padding:0}.courier-today-order-detail li{display:flex;gap:12px;font-size:13px}.courier-today-order-detail small{display:block;font-size:11px;margin-top:4px;color:var(--management-muted)}.courier-today-order-detail p{font-size:12px;line-height:1.7;color:var(--management-muted)}.courier-today-order-detail footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;font-size:13px}.courier-today-order-detail footer span{font-size:12px;color:var(--management-muted)}.courier-today-empty{display:grid;justify-items:center;align-content:center;min-height:300px;text-align:center;color:var(--management-muted)}.courier-today-empty h2{font-size:18px;color:var(--management-ink);margin:18px 0 5px}.courier-today-empty p{font-size:13px;line-height:1.7}@media(max-width:500px){.courier-today-history{padding:24px 16px 35px}.courier-today-list>details{padding:16px}.courier-today-list summary{gap:10px}.courier-today-list summary strong{font-size:13px}.courier-today-list summary b{font-size:10px}}

html .nova-app-theme .login-kicker{display:inline-block;font:600 12px/1.5 "Segoe UI",Arial,sans-serif;letter-spacing:.08em;font-synthesis:none;text-rendering:optimizeLegibility}

.caller-time { color:var(--call-muted,var(--management-muted,#748094)); font-size:11px; line-height:1.6; margin:9px 0 0; font-variant-numeric:tabular-nums; }
.caller-order-history { text-align:left; margin-top:18px; padding:15px; border:1px solid var(--call-line,var(--management-line,#e5e9ef)); border-radius:12px; background:var(--call-raised,var(--management-raised,#f5f7fa)); }
.caller-order-history>header,.caller-order-history>footer { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.caller-order-history>header strong { font-size:12px; }.caller-order-history>header>span { font-size:10px; color:var(--call-muted,var(--management-muted)); overflow-wrap:anywhere; text-align:right; }
.caller-history-summary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; font-size:10px; line-height:1.6; color:var(--call-muted,var(--management-muted)); margin:8px 0 0; }
.caller-history-summary>span { font-weight:600; color:var(--call-accent,var(--management-accent)); }
.caller-history-items { list-style:none; padding:0; margin:13px 0; display:grid; gap:9px; }.caller-history-items li { display:flex; gap:8px; align-items:start; font-size:12px; line-height:1.5; }.caller-history-items b { min-width:22px; font-variant-numeric:tabular-nums; }.caller-history-items small { display:block; font-size:10px; color:var(--call-muted,var(--management-muted)); margin-top:2px; }
.caller-order-history>footer { border-top:1px solid var(--call-line,var(--management-line,#e5e9ef)); padding-top:10px; font-size:11px; }.caller-order-history>footer strong { font-size:15px; }.caller-order-history>footer span { color:var(--call-muted,var(--management-muted)); text-align:right; }
.caller-history-note { font-size:11px; line-height:1.6; margin:11px 0 0; padding-top:9px; border-top:1px solid var(--call-line,var(--management-line,#e5e9ef)); overflow-wrap:anywhere; }.caller-history-note strong { font-weight:600; }
.caller-history-empty { font-size:11px; color:var(--call-muted,var(--management-muted,#748094)); line-height:1.6; margin:13px 0 0; }
.caller-order-heading .caller-time { font-size:10px; margin-top:7px; }
.caller-basket .caller-order-history { padding:12px; background:var(--call-surface); }.caller-basket .caller-history-summary { display:grid; gap:3px; }
.restaurant-form>.caller-time { margin:-4px 0 0; }.restaurant-form>.caller-order-history { margin-top:10px; margin-bottom:14px; }
@media(max-width:700px) { .caller-order-history { padding:13px; }.caller-incoming-body .caller-order-history { margin-top:15px; } }


.caller-overlay {
  --call-surface:var(--management-surface,#fff); --call-raised:var(--management-raised,#f5f7fa);
  --call-line:var(--management-line,#e5e9ef); --call-ink:var(--management-ink,#182338); --call-muted:var(--management-muted,#748094);
  --call-accent:#297963; --call-accent-soft:color-mix(in srgb,var(--call-accent) 10%,var(--call-surface));
  position:fixed; inset:0; z-index:12000; display:grid; place-items:center;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  background:rgb(12 21 32 / 54%); backdrop-filter:blur(5px); animation:caller-fade 120ms ease-out;
}
.caller-dialog { width:min(1020px,100%); max-height:calc(100dvh - 32px); display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--call-line); border-radius:22px; background:var(--call-surface); color:var(--call-ink); box-shadow:0 24px 90px #0004; outline:none; animation:caller-enter 160ms cubic-bezier(.2,.8,.2,1); }
.caller-dialog :is(button,input,textarea,select) { font:inherit; }
.caller-dialog button { cursor:pointer; touch-action:manipulation; }
.caller-dialog button:disabled { cursor:default; opacity:.45; }
.caller-dialog button:focus-visible { outline:2px solid var(--call-accent); outline-offset:3px; }
.caller-header { display:flex; align-items:center; justify-content:space-between; padding:17px 23px; border-bottom:1px solid var(--call-line); flex-shrink:0; }
.caller-wordmark { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:800; letter-spacing:.8px; }
.caller-wordmark b { color:var(--call-muted); font-size:10px; font-weight:600; margin-left:6px; }
.caller-brand-icon { display:grid; place-items:center; width:31px; height:31px; color:var(--call-accent); background:var(--call-accent-soft); border-radius:10px; }
.caller-icon-button { border:0; background:transparent; color:var(--call-muted); padding:6px; display:grid; place-items:center; border-radius:8px; }
.caller-incoming { width:min(450px,100%); }
.caller-incoming-body { padding:20px; text-align:left; overflow-y:auto; }
.caller-incoming-body { min-height:0; }
.caller-incoming-actions { flex-shrink:0; padding:16px 30px 20px; border-top:1px solid var(--call-line); text-align:center; background:var(--call-surface); }
.caller-ring { position:relative; display:grid; place-items:center; width:78px; height:78px; border-radius:50%; color:var(--call-accent); background:var(--call-accent-soft); margin:0 auto 22px; }
.caller-ring::before,.caller-ring::after { content:""; position:absolute; inset:-8px; border:1px solid color-mix(in srgb,var(--call-accent) 24%,transparent); border-radius:50%; animation:caller-ring 1.8s ease-out 2; }
.caller-ring::after { inset:-16px; animation-delay:180ms; }
.caller-live { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:800; letter-spacing:1.5px; color:var(--call-accent); }
.caller-live i { width:6px; height:6px; background:currentColor; border-radius:50%; }
.caller-incoming h2 { font-size:27px; line-height:1.2; margin:10px 0 7px; overflow-wrap:anywhere; }
.caller-phone { font-size:23px; font-variant-numeric:tabular-nums; color:var(--call-muted); margin:0; letter-spacing:.3px; }
.caller-saved { display:flex; gap:10px; text-align:left; padding:12px; margin:16px 0 0; border:1px solid var(--call-line); background:var(--call-raised); border-radius:10px; }
.caller-saved>svg { color:var(--call-accent); flex-shrink:0; margin-top:1px; }
.caller-saved strong { font-size:12px; }.caller-saved p { font-size:13px; line-height:1.6; color:var(--call-muted); margin:6px 0 0; overflow-wrap:anywhere; }.caller-saved small { display:block; font-size:12px; margin-top:8px; }
.caller-primary,.caller-secondary { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:12px 18px; border:1px solid transparent; border-radius:10px; font-weight:700; font-size:13px; min-height:44px; }
.caller-dialog .caller-primary { color:#fff; background:var(--call-accent); }.caller-dialog .caller-primary:hover:not(:disabled) { filter:brightness(1.08); }
.caller-dialog .caller-secondary { background:var(--call-surface); color:var(--call-ink); border-color:var(--call-line); }
.caller-take-order { width:100%; }.caller-take-order>svg:last-child { margin-left:auto; }.caller-take-order>svg:first-child { margin-right:auto; }
.caller-text-button { color:var(--call-muted); background:none; border:0; padding:15px 10px 0; font-size:12px; }
.caller-order-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:20px 25px 16px; flex-shrink:0; }
.caller-order-heading h2 { font-size:22px; margin:5px 0 0; }.caller-order-heading p { font-size:13px; color:var(--call-muted); margin:5px 0 0; }
.caller-mode { display:inline-flex; gap:6px; align-items:center; font-size:11px; font-weight:600; color:var(--call-muted); padding:8px 10px; border:1px solid var(--call-line); border-radius:8px; }
.caller-steps { display:flex; align-items:center; gap:12px; padding:0 25px 18px; border-bottom:1px solid var(--call-line); flex-shrink:0; }
.caller-steps>button,.caller-steps>span { display:flex; align-items:center; gap:7px; font-size:11px; font-weight:600; white-space:nowrap; color:var(--call-muted); background:none; border:0; padding:0; }
.caller-steps>div { height:1px; background:var(--call-line); flex:1; }.caller-steps button>span { width:22px; height:22px; display:grid; place-items:center; background:var(--call-raised); border-radius:50%; }
.caller-steps .active,.caller-steps .done { color:var(--call-accent); }.caller-steps .active>span,.caller-steps .done>span { background:var(--call-accent); color:#fff; }
.caller-products-step { display:grid; grid-template-columns:minmax(0,1fr) 285px; min-height:0; overflow:auto; animation:caller-step 130ms ease-out; }
.caller-menu { padding:22px 25px; min-width:0; }.caller-search { display:flex; align-items:center; gap:9px; border:1px solid var(--call-line); border-radius:10px; background:var(--call-raised); padding:0 12px; color:var(--call-muted); }
.caller-search input { width:100%; min-width:0; border:0; padding:12px 0; background:transparent; color:var(--call-ink); outline:none; font-size:13px; }
.caller-categories { display:flex; gap:7px; overflow:auto; margin:16px 0; padding-bottom:3px; }.caller-categories button { flex-shrink:0; background:var(--call-surface); border:1px solid var(--call-line); color:var(--call-muted); font-size:11px; font-weight:600; padding:7px 12px; border-radius:7px; }.caller-categories .active { background:var(--call-accent-soft); border-color:var(--call-accent); color:var(--call-accent); }
.caller-menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.caller-dialog .caller-product { display:flex; flex-direction:column; align-items:stretch; gap:8px; min-width:0; min-height:72px; padding:12px; text-align:left; border:1px solid var(--call-line); border-radius:10px; color:var(--call-ink); background:var(--call-surface); transition:border-color 100ms,background 100ms,transform 100ms; }
.caller-dialog .caller-product:active { transform:scale(.97); }.caller-dialog .caller-product.selected { border-color:var(--call-accent); background:var(--call-accent-soft); }
.caller-product-icon { width:35px; height:35px; display:grid; place-items:center; background:var(--call-raised); border-radius:10px; color:var(--call-muted); }.caller-product strong { font-size:12px; line-height:1.4; flex:1; overflow-wrap:anywhere; }.caller-product>span:last-child { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:600; gap:4px; }.caller-product i { display:grid; place-items:center; width:25px; height:25px; background:var(--call-accent-soft); color:var(--call-accent); border-radius:7px; font-style:normal; }
.caller-basket { background:var(--call-raised); border-left:1px solid var(--call-line); padding:22px 20px; }.caller-basket h3 { font-size:14px; margin:0; display:flex; justify-content:space-between; gap:8px; }.caller-basket h3>span { color:var(--call-muted); font-size:11px; font-weight:500; }.caller-basket-phone { color:var(--call-muted); font-size:11px; display:flex; align-items:center; gap:6px; margin:8px 0 20px; }
.caller-basket-item { display:flex; flex-direction:column; gap:10px; padding:13px 0; border-bottom:1px solid var(--call-line); }.caller-basket-item>div:first-child { display:flex; justify-content:space-between; align-items:start; gap:10px; font-size:12px; }.caller-basket-item strong { font-weight:600; }.caller-basket-item>div:first-child>span { white-space:nowrap; color:var(--call-muted); }
.caller-quantity { display:flex; align-items:center; gap:12px; font-size:12px; }.caller-quantity button { width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--call-line); border-radius:7px; color:var(--call-ink); background:var(--call-surface); }
.caller-basket-total { display:flex; justify-content:space-between; align-items:center; font-size:13px; margin-top:22px; }.caller-basket-total strong { font-size:19px; }
.caller-empty { color:var(--call-muted); text-align:center; font-size:12px; line-height:1.7; padding:28px 10px; }
.caller-footer { border-top:1px solid var(--call-line); padding:16px 25px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-shrink:0; }.caller-footer>div { display:flex; align-items:center; gap:24px; }.caller-footer>div>span { font-size:10px; color:var(--call-muted); }.caller-footer strong { display:block; color:var(--call-ink); font-size:19px; margin-top:2px; }
.caller-customer-step { display:grid; grid-template-columns:minmax(0,1fr) 285px; overflow:auto; min-height:0; animation:caller-step 130ms ease-out; }.caller-customer-step>section { padding:23px 25px; }.caller-section-title { display:flex; align-items:center; gap:12px; margin-bottom:20px; }.caller-section-title>svg { color:var(--call-accent); flex-shrink:0; }.caller-section-title h3 { margin:0 0 5px; font-size:15px; }.caller-section-title p { margin:0; color:var(--call-muted); font-size:11px; line-height:1.5; }
.caller-customer-step label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:600; margin-bottom:15px; }.caller-customer-step label small { font-size:10px; color:var(--call-muted); font-weight:400; }.caller-customer-step :is(input,textarea,select) { background:var(--call-surface); color:var(--call-ink); width:100%; min-width:0; border:1px solid var(--call-line); border-radius:8px; padding:11px 12px; font-size:13px; }.caller-customer-step :is(input,textarea,select):focus { outline:2px solid color-mix(in srgb,var(--call-accent) 30%,transparent); border-color:var(--call-accent); }.caller-customer-step input[readonly] { background:var(--call-raised); color:var(--call-muted); }.caller-customer-step textarea { resize:vertical; min-height:74px; }.caller-fields-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.caller-checkout { border-left:1px solid var(--call-line); background:var(--call-raised); padding:24px 20px; }.caller-checkout-summary { padding-bottom:15px; margin-bottom:19px; border-bottom:1px solid var(--call-line); }.caller-checkout h3 { font-size:15px; margin:0 0 18px; }.caller-checkout-summary p { display:flex; justify-content:space-between; align-items:start; gap:10px; font-size:12px; color:var(--call-muted); line-height:1.5; }.caller-checkout-summary strong { white-space:nowrap; color:var(--call-ink); font-weight:500; }.caller-delivery-info { margin-top:23px; padding:17px; border:1px solid var(--call-line); border-radius:10px; }.caller-delivery-info>svg { color:var(--call-accent); }.caller-delivery-info strong { display:block; font-size:12px; line-height:1.6; margin-top:9px; }.caller-delivery-info p { font-size:11px; color:var(--call-muted); line-height:1.6; margin-bottom:0; }
.caller-queue-note { padding:10px 24px; margin:0; background:var(--call-accent-soft); color:var(--call-accent); font-size:11px; text-align:center; flex-shrink:0; }.caller-error { margin:0; padding:10px 25px; background:var(--danger-bg,#fff0ef); color:var(--danger-text,#ad4036); font-size:12px; flex-shrink:0; }
.caller-completed { width:min(510px,100%); }.caller-success { text-align:center; padding:24px; overflow:auto; }.caller-success-icon { display:grid; place-items:center; color:var(--call-accent); width:65px; height:65px; margin:0 auto 15px; border-radius:50%; background:var(--call-accent-soft); }.caller-success>.caller-live { display:block; }.caller-success h2 { font-size:23px; margin:10px 0; }.caller-success>p { margin:0 auto 22px; max-width:370px; font-size:12px; line-height:1.7; color:var(--call-muted); }.caller-receipt { text-align:left; width:min(300px,100%); box-sizing:border-box; border:1px solid #e8e8e8; box-shadow:0 4px 14px #0001; }.caller-success-actions { display:flex; justify-content:center; gap:12px; margin-top:24px; }
.caller-footer>.caller-draft-actions { align-items:flex-start; flex-direction:column; gap:6px; }
.caller-draft-actions .caller-text-button { padding:0 3px; font-size:11px; }
.caller-discard { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:8px; flex-shrink:0; padding:10px 20px; border-top:1px solid var(--call-line); background:var(--call-raised); font-size:12px; }
.caller-discard>span { flex:1 1 180px; }.caller-discard .caller-secondary { min-height:36px; padding:7px 10px; font-size:12px; }
html[data-theme] .nova-app-theme .caller-receipt strong { color:#111; }
.caller-customer-review { display:grid; gap:8px; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.caller-success-actions { flex-wrap:wrap; gap:8px; margin-top:16px; }.caller-success-actions .caller-primary { order:-1; flex-basis:100%; }
.caller-success-icon { width:48px; height:48px; margin-bottom:10px; }.caller-success h2 { font-size:20px; margin:8px 0; }.caller-success>p { margin-bottom:14px; }
.caller-customer-review>strong { font-size:18px; }.caller-customer-review>span,.caller-customer-review>small { color:var(--call-muted); font-size:12px; }
.caller-customer-review p { margin:2px 0; }.caller-customer-review .caller-secondary { justify-self:start; margin-top:6px; }
.caller-customer-review .caller-customer-note { border-left:3px solid var(--call-accent); padding:8px 10px; background:var(--call-raised); border-radius:0 7px 7px 0; font-size:13px; }
.caller-history-compact { margin-top:14px; padding:12px; background:var(--call-raised); border:1px solid var(--call-line); border-radius:10px; text-align:left; }
.caller-history-compact>summary { display:grid; gap:6px; cursor:pointer; list-style:none; font-size:12px; }
.caller-history-compact>summary::-webkit-details-marker { display:none; }.caller-history-compact-title { display:flex; justify-content:space-between; gap:8px; }
.caller-history-compact small,.caller-history-preview { color:var(--call-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.caller-history-expand { color:var(--call-accent); font-size:11px; font-weight:600; }.caller-history-expand::after { content:" ⌄"; }
.caller-history-compact>.caller-order-history { margin:10px 0 0; padding:12px 0 0; border:0; border-top:1px solid var(--call-line); border-radius:0; background:none; }
.caller-resume { position:fixed; bottom:calc(80px + env(safe-area-inset-bottom)); right:max(20px,env(safe-area-inset-right)); z-index:11000; display:flex; align-items:center; gap:10px; padding:14px 18px; max-width:calc(100vw - 40px); border:1px solid #ffffff30; border-radius:14px; background:#297963; color:#fff; box-shadow:0 6px 25px #0003; font:600 12px inherit; cursor:pointer; }.caller-resume span { overflow-wrap:anywhere; }
@keyframes caller-fade { from { opacity:0; } to { opacity:1; } }
@keyframes caller-enter { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes caller-step { from { opacity:.4; transform:translateX(5px); } to { opacity:1; transform:translateX(0); } }
@keyframes caller-ring { 0% { opacity:0; transform:scale(.95); } 20% { opacity:1; } 100% { opacity:0; transform:scale(1.12); } }
@media(max-width:700px) {
  .caller-overlay { padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
  .caller-dialog { max-height:calc(100dvh - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom))); border-radius:16px; }.caller-header { padding:12px 16px; }.caller-order-heading { padding:16px; }.caller-order-heading h2 { font-size:18px; }.caller-mode { font-size:10px; padding:6px; }.caller-steps { padding:0 16px 14px; gap:7px; }.caller-steps>button,.caller-steps>span { font-size:10px; gap:5px; }.caller-products-step,.caller-customer-step { grid-template-columns:1fr; }.caller-menu { padding:16px; }.caller-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.caller-basket { border-left:0; border-top:1px solid var(--call-line); padding:18px 16px; }.caller-basket .caller-empty { padding:6px; }.caller-basket-item { flex-direction:row; justify-content:space-between; align-items:center; gap:10px; }.caller-basket-item>div:first-child { flex:1; flex-direction:column; gap:5px; }.caller-basket-total { margin-top:15px; }.caller-footer { padding:12px; gap:7px; }.caller-footer>div { gap:9px; }.caller-footer .caller-secondary { font-size:10px; padding:9px; }.caller-footer .caller-primary { font-size:11px; padding:10px; gap:6px; }.caller-footer strong { font-size:15px; }.caller-customer-step>section { padding:18px 16px 6px; }.caller-checkout { border-left:0; border-top:1px solid var(--call-line); padding:18px 16px; }.caller-delivery-info { margin-top:12px; }.caller-incoming-body { padding:26px 20px 20px; }.caller-incoming h2 { font-size:24px; }.caller-phone { font-size:21px; }.caller-ring { width:66px; height:66px; }.caller-saved { margin-top:22px; }.caller-fields-row { gap:10px; }.caller-success { padding:20px 16px; }
}
@media(prefers-reduced-motion:reduce) { .caller-overlay,.caller-dialog,.caller-ring::before,.caller-ring::after,.caller-products-step,.caller-customer-step { animation:none; }.caller-dialog .caller-product { transition:none; } }
@media(max-width:700px) { .caller-incoming-actions { padding:12px 20px 16px; } }
@media(max-width:700px) { .caller-incoming-body { padding:18px; }.caller-incoming h2 { font-size:24px; margin:8px 0; }.caller-phone { font-size:20px; }.caller-saved { margin-top:14px; }.caller-order-heading { padding:12px 16px; }.caller-steps { padding-bottom:12px; }.caller-product strong { font-size:13px; }.caller-delivery-info { display:flex; align-items:center; gap:10px; padding:10px; }.caller-delivery-info strong { margin:0; }.caller-checkout-summary { padding-bottom:8px; margin-bottom:12px; }.caller-section-title { margin-bottom:14px; } }
@media print { .caller-overlay { position:static; display:block; padding:0; background:none; backdrop-filter:none; }.caller-dialog { max-height:none; overflow:visible; border:0; box-shadow:none; }.caller-header,.caller-success-actions { display:none; }.caller-receipt { width:80mm; border:0; box-shadow:none; } }

/* Keep the ordering frame stable; the menu and the compact basket own their scroll. */
.caller-dialog.caller-order{width:min(1080px,100%);height:min(780px,calc(100dvh - 32px));max-height:calc(100dvh - 32px)}.caller-order>.caller-products-step,.caller-order>.caller-customer-step{flex:1;min-height:0}.caller-order .caller-products-step{grid-template-columns:minmax(0,1fr) 340px;overflow:hidden}.caller-order .caller-menu{min-height:0;overflow:auto;overscroll-behavior:contain}.caller-product-tabs{display:none}.caller-order .caller-basket{min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:18px 16px}.caller-basket h3,.caller-basket-phone,.caller-basket-total{flex-shrink:0}.caller-basket .caller-basket-phone{margin:8px 0 12px}.caller-basket-items{flex:1;min-height:65px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.caller-basket .caller-basket-item{display:grid;grid-template-columns:minmax(0,1fr) 80px 64px;align-items:center;gap:8px;padding:10px 0;min-height:48px}.caller-basket-item>.caller-basket-product{display:block;min-width:0;font-size:12px}.caller-basket-product strong{display:block;font:600 12px/1.45 var(--font-sans);overflow-wrap:anywhere}.caller-basket .caller-quantity{gap:4px;justify-content:center;font-size:11px}.caller-basket .caller-quantity button{width:25px;height:27px;border-radius:6px;padding:0}.caller-basket .caller-quantity>span{min-width:18px;text-align:center;font-variant-numeric:tabular-nums}.caller-line-total{font:600 11px/1.4 var(--font-sans);text-align:right;white-space:nowrap}.caller-basket .caller-basket-total{margin-top:12px;padding-top:14px;border-top:1px solid var(--call-line)}.caller-basket-total strong{font-size:18px}.caller-basket>.caller-history-compact{flex-shrink:0;max-height:150px;overflow:auto;padding:10px;margin-top:14px}.caller-basket .caller-history-preview{display:none}
.caller-order .caller-customer-step{grid-template-columns:minmax(0,1fr) 340px;overflow:hidden}.caller-customer-step>section{min-height:0;overflow:auto;overscroll-behavior:contain}.caller-order .caller-checkout{min-height:0;display:flex;flex-direction:column;overflow:auto}.caller-checkout-summary{min-height:70px;overflow:auto;flex:1}.caller-checkout-summary h3{position:sticky;top:0;background:var(--call-raised);padding-bottom:10px;margin-bottom:0}.caller-checkout-summary p{margin:0;padding:9px 0;border-bottom:1px solid var(--call-line);font-size:12px}.caller-checkout-summary p:last-child{border-bottom:0}
@media(max-width:700px){.caller-dialog.caller-order{height:calc(var(--nova-visible-height,100dvh) - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)));max-height:calc(var(--nova-visible-height,100dvh) - max(10px,env(safe-area-inset-top)) - max(10px,env(safe-area-inset-bottom)))}.caller-order .caller-products-step{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.caller-product-tabs{grid-column:1/-1;display:flex;gap:5px;padding:9px 14px;border-bottom:1px solid var(--call-line);background:var(--call-surface)}.caller-product-tabs button{flex:1;min-height:35px;padding:7px;border:0;border-radius:7px;background:var(--call-raised);color:var(--call-muted);font:600 11px var(--font-sans)}.caller-product-tabs button[aria-pressed=true]{background:var(--call-accent-soft);color:var(--call-accent)}.caller-products-step[data-mobile-pane=menu]>.caller-basket,.caller-products-step[data-mobile-pane=basket]>.caller-menu{display:none}.caller-order .caller-menu{padding:14px}.caller-order .caller-basket{border:0;padding:14px}.caller-basket .caller-basket-item{grid-template-columns:minmax(0,1fr) 80px 64px;gap:6px}.caller-order .caller-footer{display:grid;grid-template-columns:1fr;padding:10px 12px;gap:10px}.caller-footer>.caller-draft-actions{justify-content:space-between}.caller-footer>div:last-child{justify-content:space-between}.caller-footer .caller-text-button{padding:8px;font-size:10px}.caller-order .caller-customer-step{display:block;overflow:auto}.caller-order .caller-customer-step>section{overflow:visible}.caller-order .caller-checkout{overflow:visible}.caller-order .caller-checkout-summary{max-height:230px;overflow:auto;flex:none}.caller-order-heading .caller-mode{max-width:100px;white-space:normal}.caller-order-heading h2{font-size:17px}.caller-order-heading p{font-size:11px}}
@media(max-height:600px) and (min-width:701px){.caller-order-heading{padding:10px 20px}.caller-steps{padding-bottom:10px}.caller-header{padding:10px 20px}.caller-footer{padding:10px 20px}}

/* The paper palette is deliberately independent of the app's light/dark theme. */
html[data-theme] .nova-app-theme .receipt-sheet.order-receipt,
html[data-theme] .nova-app-theme .receipt-sheet.order-receipt * {
  color:#111;
  text-shadow:none;
}
.receipt-sheet.order-receipt {
  width:min(350px,100%); max-width:350px; box-sizing:border-box; margin:0 auto; padding:22px 20px;
  border:1px solid #e3e3e3; border-radius:0; background:#fff; box-shadow:0 5px 18px #0000000d;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif; font-size:14px; line-height:1.5;
  font-variant-numeric:tabular-nums; text-align:left; overflow-wrap:anywhere; word-break:normal;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.order-receipt-header { text-align:center; padding-bottom:15px; border-bottom:2px solid #111; }
.order-receipt-brand { display:block; font-size:11px; font-weight:800; letter-spacing:1.8px; }
.order-receipt-shop { display:block; margin:8px 0 6px; font-size:21px; font-weight:800; line-height:1.25; }
.order-receipt-channel { display:block; font-size:12px; line-height:1.4; }
.order-receipt-reference { display:flex; flex-direction:column; align-items:center; gap:5px; padding:14px 0; border-bottom:1px dashed #777; }
.order-receipt-reference>strong { font-size:18px; font-weight:800; line-height:1.3; letter-spacing:.2px; }
.order-receipt-reference>time { font-size:12px; }
.order-receipt-section { padding:16px 0; border-bottom:1px dashed #777; }
.order-receipt-label { margin:0 0 12px; font-size:11px; line-height:1.4; font-weight:800; letter-spacing:1px; }
.order-receipt-items { display:grid; gap:15px; }
.order-receipt-item { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:10px; }
.order-receipt-item>b { font-size:20px; line-height:1.3; font-weight:800; }
.order-receipt-item>div>strong { display:block; font-size:16px; line-height:1.4; font-weight:750; }
.order-receipt-item p { margin:5px 0 0; font-size:13px; line-height:1.5; white-space:pre-wrap; }
.order-receipt-name { display:block; font-size:19px; line-height:1.35; font-weight:800; }
.order-receipt-phone { margin:10px 0; display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px; }
.order-receipt-phone>span { font-size:12px; }.order-receipt-phone>strong { font-size:16px; font-weight:750; }
.order-receipt-pin { margin:8px 0; font-size:13px; }
.order-receipt-address { margin:12px 0 4px; font-size:15px; line-height:1.6; font-weight:600; white-space:pre-wrap; }
.order-receipt-district { margin:0; font-size:13px; font-weight:600; }
.order-receipt-scheduled { display:flex; flex-direction:column; gap:3px; margin:12px 0 0; font-size:13px; }
.order-receipt-ring { margin:12px 0 0; padding:8px 0 0; border-top:1px solid #111; font-size:13px; line-height:1.5; font-weight:800; }
.order-receipt-note { margin:16px 0 0; padding:12px; border:2px solid #111; }
.order-receipt-note .order-receipt-label { margin-bottom:7px; font-size:10px; letter-spacing:.8px; }
.order-receipt-note p { margin:0; font-size:14px; line-height:1.6; font-weight:650; white-space:pre-wrap; }
.order-receipt-total { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 14px; margin-top:17px; padding:14px 0; border-top:2px solid #111; border-bottom:2px solid #111; }
.order-receipt-total>span { font-size:13px; font-weight:800; letter-spacing:.6px; }.order-receipt-total>strong { font-size:25px; line-height:1.2; font-weight:800; white-space:nowrap; }
.order-receipt-footer { display:grid; gap:10px; margin-top:15px; }
.order-receipt-footer>div { display:flex; justify-content:space-between; align-items:baseline; gap:14px; }
.order-receipt-footer span { flex-shrink:0; font-size:10px; font-weight:700; letter-spacing:.6px; }
.order-receipt-footer strong { font-size:13px; line-height:1.4; font-weight:750; text-align:right; }
@media(max-width:380px) {
  .receipt-sheet.order-receipt { padding:18px 15px; }
  .order-receipt-shop { font-size:19px; }.order-receipt-reference>strong { font-size:16px; }
  .order-receipt-item { grid-template-columns:29px minmax(0,1fr); gap:8px; }
  .order-receipt-item>div>strong { font-size:15px; }.order-receipt-address { font-size:14px; }
  .order-receipt-total>strong { font-size:23px; }
}
@media print {
  /* Remove non-receipt layout so long orders can continue on the paper roll. */
  body:has(.order-receipt) { margin:0!important; padding:0!important; min-height:0!important; background:#fff!important; }
  body:has(.order-receipt) *:not(.order-receipt):not(.order-receipt *):not(:has(.order-receipt)) { display:none!important; }
  body *:has(.order-receipt) { position:static!important; display:block!important; width:auto!important; min-width:0!important; height:auto!important; min-height:0!important; max-height:none!important; margin:0!important; padding:0!important; overflow:visible!important; transform:none!important; border:0!important; box-shadow:none!important; background:#fff!important; }
  .receipt-sheet.order-receipt { position:static; display:block; visibility:visible!important; width:80mm; max-width:80mm; margin:0; padding:4mm; border:0; box-shadow:none; font-size:10pt; }
  .order-receipt-section,.order-receipt-note,.order-receipt-reference,.order-receipt-total,.order-receipt-footer>div,.order-receipt-item { break-inside:avoid; }
  .order-receipt-items { display:block; }.order-receipt-item+.order-receipt-item { margin-top:4mm; }
  .order-receipt-shop { font-size:15pt; }.order-receipt-reference>strong { font-size:13pt; }
  .order-receipt-item>div>strong { font-size:12pt; }.order-receipt-name { font-size:14pt; }
  .order-receipt-phone>strong { font-size:12pt; }.order-receipt-address { font-size:11pt; }
  .order-receipt-note p { font-size:10.5pt; }.order-receipt-total>strong { font-size:18pt; }
}

.detected-receipt-backdrop{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(16,29,23,.48);backdrop-filter:blur(3px)}
.detected-receipt-dialog{display:flex;flex-direction:column;width:min(1080px,100%);max-height:calc(100dvh - 48px);min-height:0;border:1px solid var(--border,#dfe6e2);border-radius:20px;background:var(--card,#fff);box-shadow:0 24px 90px #091b2338;overflow:hidden;color:var(--text,#1c3027);outline:none}
.detected-receipt-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border,#e5eae7);flex-shrink:0}.detected-receipt-dialog>header span{display:flex;align-items:center;gap:7px;color:#198259;font-size:12px;font-weight:700}.detected-receipt-dialog h2{margin:5px 0 0;font-size:23px;line-height:1.25}.detected-receipt-dialog>header>button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border,#dfe6e2);border-radius:10px;background:transparent;cursor:pointer;color:inherit}
.detected-receipt-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:0;overflow:hidden}.detected-receipt-preview{overflow:auto;min-width:0;padding:24px;background:#eef1f3;overscroll-behavior:contain}.detected-receipt-preview img{display:block;width:100%;height:auto;border:1px solid #e1e6e3;border-radius:4px;box-shadow:0 4px 18px #1c30270a;background:white}
.detected-receipt-form{min-width:0;overflow:auto;padding:24px;overscroll-behavior:contain}.detected-receipt-form fieldset{margin:0;padding:0;border:0;min-width:0}.detected-receipt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detected-receipt-fields label{display:grid;gap:7px;font-size:12px;font-weight:600;color:var(--muted,#68796f)}.detected-receipt-fields input,.detected-receipt-fields textarea,.detected-receipt-product input{box-sizing:border-box;min-width:0;width:100%;border:1px solid var(--border,#dce4df);border-radius:9px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.4;color:var(--text,#1c3027);background:var(--card,#fff);min-height:41px}.detected-receipt-fields input:focus,.detected-receipt-product input:focus{outline:2px solid #19825930;border-color:#198259}.detected-receipt-address{grid-column:1/-1}.detected-receipt-address .address-autocomplete-input{min-width:0}.detected-receipt-address textarea{resize:vertical;min-height:75px;padding-left:38px}.detected-receipt-products{margin-top:20px}.detected-receipt-products>strong{display:block;font-size:13px;margin-bottom:10px}.detected-receipt-product{display:grid;grid-template-columns:minmax(0,1fr) 64px 32px;gap:8px;align-items:start;margin:9px 0}.detected-receipt-product small{display:block;color:var(--muted,#68796f);font-size:11px;margin:4px 0 0 4px}.detected-receipt-product>button{height:40px;border:0;background:transparent;color:var(--muted,#68796f);cursor:pointer}.detected-receipt-add{display:flex;align-items:center;gap:5px;padding:6px 0;border:0;background:none;color:#198259;font-size:12px;font-weight:600;cursor:pointer}
.detected-receipt-form>footer{position:sticky;bottom:-24px;background:var(--card,#fff);padding:18px 0 8px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border,#e6ebe8);margin-top:18px}.detected-receipt-form>footer button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid var(--border,#dbe4de);border-radius:10px;background:var(--card,#fff);padding:10px 16px;font:600 14px system-ui;cursor:pointer;color:inherit}.detected-receipt-form>footer .detected-receipt-create{background:#17815a;color:white;border-color:#17815a;min-width:160px}.detected-receipt-form button:disabled{opacity:.55;cursor:wait}.detected-receipt-notice,.detected-receipt-error{font-size:13px;line-height:1.45;padding:10px 12px;border-radius:8px;margin:0 0 14px;background:#fff4df;color:#825619}.detected-receipt-error{margin:14px 0 0;background:#fff0ec;color:#9b4034}
.manual-receipt-waiting{display:flex;align-items:center;gap:9px;padding:10px 13px;margin:0 0 18px;border:1px solid var(--border,#dce7e0);background:var(--card,#f5faf7);border-radius:10px;font-size:12px;color:var(--muted,#68796f)}.manual-receipt-waiting-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#198259;box-shadow:0 0 0 4px #19825912}
.receipt-auto-create{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.receipt-auto-create input{width:18px;height:18px;margin-top:2px;accent-color:#17815a}.receipt-auto-create span{display:grid;gap:6px}.receipt-auto-create strong{font-size:14px}.receipt-auto-create small{font-size:12px;line-height:1.5;color:var(--muted,#68796f)}.receipt-capture-downloads{margin-top:22px;font-size:12px}.receipt-capture-downloads summary{cursor:pointer;color:var(--muted,#68796f)}.receipt-capture-downloads button{display:inline-flex;gap:6px;align-items:center;margin:12px 8px 0 0;padding:9px 12px;border:1px solid var(--border,#dbe4df);border-radius:8px;background:var(--card,#fff);font:inherit;cursor:pointer;color:inherit}
html[data-theme=dark] .detected-receipt-preview{background:#17201e}
.content-dialog-panel.manual-order-modal { width:min(980px,calc(100vw - 24px));padding:0;max-height:calc(100dvh - 32px);background:var(--management-surface); }
.manual-order-modal .manual-order-dialog { width:100%;max-height:inherit;margin:0;border:0;border-radius:inherit;background:var(--management-surface);color:var(--management-ink); }
.manual-order-modal .manual-order-grid { padding:22px; }
.manual-order-modal :is(header,footer) { border-color:var(--management-line); }
.manual-order-modal :is(label,header h2,.manual-location-field strong) { color:var(--management-ink); }
.manual-order-modal :is(header p,label small,.manual-location-field span,.address-privacy-note) { color:var(--management-muted); }
.manual-order-modal :is(input,textarea,select),.detected-receipt-dialog :is(input,textarea,select) { background:var(--management-input);color:var(--management-ink);border-color:var(--management-line); }
.manual-order-modal .manual-option-card,.manual-order-modal .address-location-placeholder,.manual-order-modal footer .secondary { background:var(--management-raised);border-color:var(--management-line);color:var(--management-ink); }
.manual-order-modal .manual-option-card.selected { background:var(--management-active);border-color:var(--management-accent);color:var(--management-accent); }
.manual-order-modal .manual-order-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
.manual-order-modal .manual-receipt-waiting { margin:14px 22px 0;background:var(--management-raised);color:var(--management-muted);border-color:var(--management-line); }
.detected-receipt-dialog { background:var(--management-surface);color:var(--management-ink);border-color:var(--management-line); }
.detected-receipt-dialog :is(header,footer) { background:var(--management-surface);border-color:var(--management-line); }
.detected-receipt-dialog :is(label,.detected-receipt-products>strong) { color:var(--management-ink); }
.detected-receipt-dialog .detected-receipt-preview { background:var(--management-raised); }
.detected-receipt-dialog .detected-receipt-notice { background:var(--management-raised);color:var(--management-ink);border-left:3px solid var(--management-accent); }
.detected-receipt-dialog .detected-receipt-form>footer>button:not(.detected-receipt-create) { background:var(--management-raised);color:var(--management-ink);border-color:var(--management-line); }
html[data-theme="dark"] .nova-app-theme :is(.shop-courier-progress,.shop-courier-progress.waiting,.shop-courier-progress.assigned,.shop-courier-progress.coming,.shop-courier-progress.picked,.shop-courier-progress.route,.order-note) { background:var(--management-raised);color:var(--management-ink);border-color:var(--management-accent); }
html[data-theme="dark"] .nova-app-theme .shop-courier-progress :is(div,em) { background:var(--management-surface);color:var(--management-accent); }
.content-dialog-panel.receipt-preview-modal { padding:0;width:min(460px,calc(100vw - 24px));background:var(--management-surface); }
.receipt-preview-modal .receipt-dialog { width:100%;margin:0;max-height:calc(100dvh - 48px);overflow:auto;background:var(--management-surface);color:var(--management-ink); }
.detected-receipt-list-dialog { width:min(640px,calc(100vw - 24px));padding:24px;background:var(--management-surface);color:var(--management-ink); }
.detected-receipt-list-dialog>header { display:flex;justify-content:space-between;gap:16px; }.detected-receipt-list-dialog h2 { margin:0;font-size:22px; }.detected-receipt-list-dialog p { color:var(--management-muted);font-size:13px;line-height:1.6; }
.detected-receipt-drafts { display:grid;gap:8px;max-height:60dvh;overflow:auto;margin-top:16px; }
.detected-receipt-drafts>button { display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border:1px solid var(--management-line);border-radius:11px;background:var(--management-raised);color:var(--management-ink);cursor:pointer; }
.detected-receipt-drafts>button>span:first-of-type { flex:1;min-width:0; }.detected-receipt-drafts strong { display:block;font-size:14px; }.detected-receipt-drafts small { display:block;margin-top:6px;color:var(--management-muted);font-size:11px; }
.detected-receipts-button { display:flex;align-items:center;gap:7px; }.detected-receipts-button b { padding:2px 7px;border-radius:7px;background:var(--management-surface); }
@media(max-width:650px) { .manual-order-modal .manual-order-grid { padding:16px;grid-template-columns:1fr; }.manual-order-modal .manual-order-options { grid-template-columns:1fr; }.manual-order-modal .manual-order-dialog>header { padding:16px; }.manual-order-modal .manual-order-grid :is(input,select,textarea) { font-size:16px; }.detected-receipt-list-dialog { padding:18px; } }
@media(max-width:650px){.detected-receipt-backdrop{padding:8px}.detected-receipt-dialog{max-height:calc(100dvh - 16px);border-radius:14px}.detected-receipt-dialog>header{padding:14px 16px}.detected-receipt-dialog h2{font-size:20px}.detected-receipt-body{display:flex;flex-direction:column;overflow:auto}.detected-receipt-preview{padding:14px;max-height:240px;min-height:140px;flex-shrink:0}.detected-receipt-preview img{max-width:420px;margin:auto}.detected-receipt-form{overflow:visible;padding:16px;flex-shrink:0}.detected-receipt-fields{gap:12px}.detected-receipt-form>footer{bottom:-16px}.detected-receipt-form>footer .detected-receipt-create{flex:1}.detected-receipt-fields input,.detected-receipt-fields textarea,.detected-receipt-product input{font-size:16px}}
.receipt-menu-products{margin-top:20px;min-width:0}.receipt-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.receipt-menu-heading>span{font-size:11px;color:var(--management-muted)}.receipt-menu-help{font-size:12px;line-height:1.5;color:var(--management-muted);margin:8px 0 14px}.receipt-menu-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 32px;gap:8px;align-items:center;margin:12px 0}.receipt-menu-row label{min-width:0;display:grid;gap:5px}.receipt-menu-row small{font-size:11px;line-height:1.4;color:var(--management-muted);overflow-wrap:anywhere}.receipt-menu-row :is(select,input){width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--management-line);border-radius:8px;padding:10px 8px;font:inherit;font-size:13px;background:var(--management-input);color:var(--management-ink);min-height:42px}.receipt-menu-row>button{border:0;background:transparent;color:var(--management-muted);padding:8px;cursor:pointer}.receipt-menu-row .receipt-menu-unmatched{color:var(--management-accent)}.receipt-menu-products .receipt-menu-add{display:flex;align-items:center;gap:6px;min-height:40px;padding:8px 0;background:transparent;border:0;color:var(--management-accent);font:600 12px var(--font-sans);cursor:pointer}.receipt-menu-picker{padding:12px;border:1px solid var(--management-line);border-radius:12px;background:var(--management-raised);margin-top:8px}.receipt-menu-picker>div:first-child{display:flex;align-items:center;gap:8px}.receipt-menu-picker label{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.receipt-menu-picker input{width:100%;min-width:0;padding:10px;background:var(--management-input);color:var(--management-ink);border:1px solid var(--management-line);border-radius:8px;font:inherit;font-size:13px}.receipt-menu-picker button{cursor:pointer}.receipt-menu-picker>div>button{background:none;border:0;color:var(--management-muted)}.receipt-menu-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;margin-top:12px}.receipt-menu-choices>button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:45px;padding:10px;border:1px solid var(--management-line);border-radius:8px;background:var(--management-surface);color:var(--management-ink);text-align:left;font:500 12px var(--font-sans)}.receipt-menu-choices span{overflow-wrap:anywhere}.receipt-menu-products button:disabled{opacity:.5;cursor:default}
.receipt-review .receipt-menu-products{grid-column:1/-1}.receipt-import-fields{background:var(--management-surface);color:var(--management-ink);border-color:var(--management-line)}.receipt-import-fields :is(input,select,textarea,button){background:var(--management-input);color:var(--management-ink);border-color:var(--management-line)}.receipt-import-original pre{background:var(--management-raised);color:var(--management-ink);border-color:var(--management-line)}.detected-receipt-dialog .detected-receipt-error{background:var(--danger-bg);color:var(--danger-text)}.detected-receipt-dialog>header span{color:var(--management-accent)}.capture-page :is(.capture-counts>div,.capture-list,.capture-tools,.capture-row){background:var(--management-surface);color:var(--management-ink);border-color:var(--management-line)}.capture-page :is(.capture-tools input,.capture-tools select){background:var(--management-input);color:var(--management-ink);border-color:var(--management-line)}.capture-page .capture-state,.capture-page .capture-source{background:var(--management-raised);color:var(--management-accent);border-color:var(--management-line)}.capture-success{background:var(--management-active);color:var(--management-accent)}@media(max-width:650px){.receipt-menu-row :is(input,select){font-size:16px}.receipt-menu-heading{align-items:flex-start;flex-direction:column;gap:5px}}

.detected-receipt-draft-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--management-line);border-radius:11px;background:var(--management-surface)}.detected-receipt-draft-row>button{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:0;border:0;text-align:left;background:transparent;color:var(--management-ink);cursor:pointer}.detected-receipt-draft-row>button>span:first-of-type{flex:1;min-width:0}
.receipt-delete-control{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.receipt-delete-control small[role=alert]{max-width:180px;color:var(--danger-text);font-size:11px}.receipt-delete-button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 10px;border:1px solid var(--management-line);border-radius:8px;background:var(--management-raised);color:var(--danger-text,#be5261)!important;cursor:pointer;font:600 11px var(--font-sans);--content-icon-color:currentColor}.receipt-delete-button:disabled{opacity:.6;cursor:wait}.detected-receipt-form>footer{flex-wrap:wrap}.detected-receipt-form>footer>.receipt-delete-button{margin-right:auto}
.capture-row-wrapper{display:flex;align-items:center;gap:12px;padding-right:14px;border-bottom:1px solid var(--management-line)}.capture-row-wrapper>.capture-row{flex:1;min-width:0;border-bottom:0}.capture-row-wrapper>.receipt-delete-control{max-width:120px}
@media(max-width:650px){.detected-receipt-draft-row{gap:8px;padding:10px}.detected-receipt-draft-row>button>svg{display:none}.detected-receipt-draft-row strong{font-size:12px}.capture-row-wrapper{gap:6px;padding-right:8px}.capture-row-wrapper>.receipt-delete-control{max-width:80px}}

.table-selection-screen { color:var(--management-ink); }
.table-selection-screen>header { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px; }.table-selection-screen h2 { margin:6px 0;font-size:28px; }.table-selection-screen header :is(p,span:last-child) { color:var(--management-muted);font-size:13px;line-height:1.6; }
.table-selection-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px; }
.table-selection-card { position:relative;border:1px solid var(--management-line);border-radius:16px;background:var(--management-surface);overflow:hidden; }
.table-selection-card.occupied { border-color:var(--management-accent); }.table-selection-card.occupied .table-open-button>b { color:var(--management-accent);background:var(--management-active); }
.table-open-button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;min-height:190px;padding:24px 16px;border:0;background:transparent;color:var(--management-ink);cursor:pointer; }
.table-open-button>svg { color:var(--management-muted); }.table-open-button>strong { font-size:20px; }.table-open-button>small { font-size:12px;color:var(--management-muted); }.table-open-button>b { padding:6px 12px;border-radius:8px;font-size:13px;background:var(--management-raised); }.table-open-button>em { font-size:11px; }
.table-options-button { position:absolute;right:8px;top:8px;display:grid;place-items:center;min-width:34px;min-height:34px;border:0;border-radius:8px;background:var(--management-raised);color:var(--management-ink);cursor:pointer; }
.restaurant-page[data-table-active="true"] { max-width:none;padding:16px; }.table-workspace { color:var(--management-ink);display:flex;flex-direction:column;gap:16px; }
.table-workspace-header { display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface); }.table-workspace-header h2 { margin:3px 0;font-size:22px; }.table-workspace-header>div { flex:1; }.table-workspace-header>strong { font-size:22px;white-space:nowrap; }
.table-workspace-header button,.table-action-dialog button { display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer; }
.table-workspace-mobile-tabs { display:none; }.table-workspace-body { display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;height:calc(100dvh - 220px);min-height:460px; }
.table-menu-panel { min-width:0;overflow:auto;padding:20px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface);overscroll-behavior:contain; }.table-menu-panel .restaurant-product-filters { display:flex; }.table-menu-panel .restaurant-product-search { flex:1;min-width:0; }
.table-menu-categories { display:flex;gap:8px;overflow-x:auto;margin:16px 0 12px;padding-bottom:5px; }.table-menu-categories>button { flex-shrink:0;min-height:38px;padding:9px 15px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-muted);font:600 12px var(--font-sans);cursor:pointer; }.table-menu-categories>button[aria-pressed="true"] { background:var(--management-active);color:var(--management-accent);border-color:var(--management-accent); }
.table-product-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px;margin-top:16px; }.table-product-grid>button { position:relative;display:flex;align-items:flex-end;min-width:0;width:100%;min-height:140px;aspect-ratio:1.08;padding:18px;text-align:left;border:1px solid var(--management-line);border-radius:14px;background:var(--management-raised);color:var(--management-ink);cursor:pointer;transition:transform .15s ease,background .15s ease; }.table-product-grid>button:hover { background:var(--management-active);transform:translateY(-2px); }.table-product-grid>button>svg { position:absolute;top:14px;right:14px;color:var(--management-accent); }.table-product-grid strong { display:block;font-size:15px;line-height:1.5; }.table-product-grid small { display:block;margin-top:8px;color:var(--management-accent);font-size:14px; }
.table-check-panel { display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface); }.table-check-panel>header { display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--management-line); }.table-check-panel h3 { margin:0;font-size:17px; }.table-check-panel>header>span { color:var(--management-muted);font-size:12px; }
.table-check-items { flex:1;min-height:130px;overflow:auto;overscroll-behavior:contain;padding:0 18px; }.table-check-empty { display:grid;justify-items:center;gap:12px;padding:50px 15px;text-align:center;color:var(--management-muted);font-size:13px; }.table-check-empty p { margin:0; }
.table-check-item { padding:16px 0;border-bottom:1px solid var(--management-line); }.table-check-item>div:first-child { display:flex;gap:8px;flex-wrap:wrap;align-items:center; }.table-check-item strong { flex:1;font-size:14px; }.table-check-item small { order:2;width:100%;font-size:11px;color:var(--management-muted); }.table-check-item span { font-size:13px; }
.table-item-controls { display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:12px; }.table-item-controls>div:first-child { display:flex;gap:9px;align-items:center;margin-right:auto; }.table-item-controls b { font-size:13px; }.table-item-controls button,.table-check-footer button { display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 9px;border:1px solid var(--management-line);border-radius:7px;background:var(--management-raised);color:var(--management-ink);font:600 11px var(--font-sans);cursor:pointer; }.table-item-controls .is-open { flex-basis:100%; }.table-item-controls .restaurant-inline-editor { width:100%; }
.table-check-footer { padding:16px 18px;border-top:1px solid var(--management-line);display:grid;gap:10px; }.table-check-total { display:flex;align-items:center;justify-content:space-between;gap:16px; }.table-check-total strong { font-size:23px; }.table-check-footer .table-send-button { min-height:42px;background:#4262df;color:white; }.table-payment-actions { display:flex;gap:8px; }.table-payment-actions>button { flex:1;min-height:40px; }.table-check-footer .restaurant-cancel-editor>button { background:transparent;color:var(--management-muted);border:0; }
.table-action-dialog { width:min(460px,calc(100vw - 24px));padding:24px;background:var(--management-surface);color:var(--management-ink); }.table-action-dialog header { display:flex;align-items:center;justify-content:space-between;gap:12px; }.table-action-dialog h2 { margin:0;font-size:21px; }.table-action-dialog p { color:var(--management-muted);font-size:13px;line-height:1.6; }.table-action-choices { display:grid;gap:10px;margin-top:20px; }.table-action-choices>button { min-height:48px; }.table-action-dialog form { display:grid;gap:18px;margin-top:20px; }.table-action-dialog label { display:grid;gap:8px;font-size:13px; }.table-action-dialog select { min-height:42px;width:100%;padding:9px;border:1px solid var(--management-line);border-radius:8px;background:var(--management-input);color:var(--management-ink); }.table-action-dialog footer { display:flex;gap:8px;margin-top:20px; }.table-action-dialog footer>button { flex:1; }
@media(max-width:1100px) { .table-workspace-body { grid-template-columns:minmax(0,1fr) 310px; }.table-menu-panel { padding:16px; }.table-product-grid { grid-template-columns:repeat(auto-fill,minmax(115px,1fr)); }.table-workspace-header { gap:10px; }.table-workspace-header>button:last-child>span { display:none; } }
@media(max-width:760px) { .table-selection-screen>header { align-items:flex-start;flex-direction:column;gap:8px; }.table-selection-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }.table-open-button { min-height:170px;padding:20px 10px; }.table-workspace-header { flex-wrap:wrap;padding:12px; }.table-workspace-header>div { order:-1;flex-basis:calc(100% - 120px); }.table-workspace-header>strong { order:-1;font-size:20px; }.table-workspace-header>.table-back { margin-right:auto; }.table-workspace-body { display:block;height:auto;min-height:0; }.table-workspace-mobile-tabs { display:flex;gap:6px;padding:4px;border-radius:11px;background:var(--management-raised); }.table-workspace-mobile-tabs>button { flex:1;min-height:42px;border:0;border-radius:8px;background:transparent;color:var(--management-muted);font:600 12px var(--font-sans); }.table-workspace-mobile-tabs>button[aria-pressed="true"] { background:var(--management-surface);color:var(--management-accent); }.table-workspace[data-pane="menu"] .table-check-panel,.table-workspace[data-pane="check"] .table-menu-panel { display:none; }.table-menu-panel { overflow:visible; }.table-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.table-product-grid>button { min-height:135px; }.table-check-items { max-height:none;overflow:visible; }.restaurant-page[data-table-active="true"] { padding:12px; } }
@media(prefers-reduced-motion:reduce) { .table-product-grid>button { transition:none; }.table-product-grid>button:hover { transform:none; } }
@media(min-width:761px) {
  .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active="true"]) { display:flex;flex-direction:column;height:100dvh;min-height:0; }
  .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active="true"])>.topbar { flex-shrink:0; }
  .nova-shop-shell .restaurant-page[data-table-active="true"] { flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden; }
  .nova-shop-shell .restaurant-page[data-table-active="true"]>.restaurant-notice { flex-shrink:0; }
  .nova-shop-shell .table-workspace { flex:1;min-height:0; }
  .nova-shop-shell .table-workspace-body { flex:1;min-height:0;height:auto; }
}

html .nova-app-theme .waiter-workspace-layout{padding:0;min-height:100dvh;background:var(--management-bg)}html .nova-app-theme .waiter-workspace-layout .waiter-app{max-width:none;min-height:100dvh;padding:0;margin:0}.waiter-workspace-layout .waiter-app>header{position:relative;padding:15px 24px;display:flex;align-items:center;gap:14px;flex-wrap:nowrap;border-bottom:1px solid var(--management-line);background:var(--management-surface)}.waiter-workspace-layout .waiter-app>header>.waiter-workspace-brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.waiter-workspace-brand>svg,.waiter-workspace-brand>img{width:38px;height:38px;flex-shrink:0}.waiter-workspace-brand>div{display:grid;gap:3px}.waiter-workspace-brand span{font-size:9px;color:var(--management-muted);letter-spacing:.08em}.waiter-workspace-brand strong{font-size:16px;color:var(--management-ink)}.waiter-workspace-brand small{font-size:11px;color:var(--management-muted)}.waiter-live-state{font-size:11px;color:var(--management-muted)}.waiter-workspace-content{padding:26px;max-width:1600px;width:100%;margin:0 auto}.waiter-workspace-content>.waiter-error{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:10px;margin-bottom:15px}.waiter-workspace-content>.waiter-error>button{padding:8px 12px;border:1px solid var(--management-line);border-radius:8px;background:var(--management-surface);color:var(--management-ink)}
@media(min-width:761px){.waiter-workspace-layout[data-table-active=true] .waiter-app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.waiter-workspace-layout[data-table-active=true] .waiter-app>header{flex-shrink:0}.waiter-workspace-layout[data-table-active=true] .waiter-workspace-content{flex:1;min-height:0;display:flex;flex-direction:column;padding:18px 24px}.waiter-workspace-layout[data-table-active=true] .table-workspace{flex:1;min-height:0}.waiter-workspace-layout[data-table-active=true] .table-workspace-body{height:auto;flex:1;min-height:0}}
@media(max-width:760px){.waiter-workspace-layout .waiter-app>header{padding:13px 16px;gap:10px}.waiter-workspace-content{padding:20px 16px 25px}.waiter-workspace-brand strong{font-size:14px}.waiter-workspace-brand>svg,.waiter-workspace-brand>img{width:29px;height:29px}.waiter-live-state{display:none}.waiter-workspace-layout[data-table-active=true] .waiter-workspace-content{padding:12px}.waiter-workspace-content>.waiter-error{flex-wrap:wrap}}

.waiter-workspace-brand>.nova-logo{width:38px;height:38px;flex-shrink:0}.waiter-workspace-brand>.nova-logo img{width:100%;height:100%;object-fit:contain}

/* A touch hold opens actions; moving the finger still scrolls the table grid. */
.table-selection-card{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.table-workspace-header h2{margin:0}
.table-menu-panel .restaurant-product-count{display:none}
.table-workspace-header{padding:10px 14px;gap:12px}
.table-menu-categories{margin:10px 0;padding-bottom:2px}
@media(max-width:760px),(max-width:1024px) and (pointer:coarse),(max-width:1024px) and (max-height:500px){
 html .nova-app-theme .nova-shop-shell>.main-content{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
 html .nova-app-theme .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active=true]){display:flex;flex-direction:column;height:calc(var(--nova-visible-height,100dvh) - var(--app-banner-height,0px));min-height:0;padding-bottom:env(safe-area-inset-bottom);overflow:hidden}
 .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active=true])>.topbar{position:relative;flex:0 0 54px;height:54px;padding:7px 12px;gap:10px}
 .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active=true])>.topbar .eyebrow{display:none}
 .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active=true])>.topbar h1{margin:0;font-size:16px}
 .nova-shop-shell .restaurant-page[data-table-active=true]{display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 10px;overflow:hidden}
 .nova-shop-shell .table-workspace{flex:1;min-height:0;gap:8px}
 .table-selection-screen>header{margin-bottom:16px;gap:4px}
 .table-selection-screen h2{font-size:22px;margin:0}
 .table-selection-screen header p{font-size:12px;margin:5px 0 0}
 .table-workspace-header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;flex-shrink:0;gap:9px;padding:8px;border-radius:11px}
 .table-workspace-header>div{order:0;min-width:0}
 .table-workspace-header h2{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .table-workspace-header>strong,.table-workspace-header .table-back>span,.table-workspace-header>button:last-child>span{display:none}
 .table-workspace-header>button{width:40px;min-height:40px;padding:8px}
 .nova-shop-shell .table-workspace-mobile-tabs{display:flex;flex-shrink:0;gap:6px;padding:4px;border-radius:11px;background:var(--management-raised)}
 .nova-shop-shell .table-workspace-mobile-tabs>button{flex:1;min-height:42px;border:0;border-radius:8px;background:transparent;color:var(--management-muted);font:600 12px var(--font-sans)}
 .nova-shop-shell .table-workspace-mobile-tabs>button[aria-pressed=true]{background:var(--management-surface);color:var(--management-accent)}
 .nova-shop-shell .table-workspace[data-pane=menu] .table-check-panel,.nova-shop-shell .table-workspace[data-pane=check] .table-menu-panel{display:none}
 .nova-shop-shell .table-workspace-body{display:block;flex:1;min-height:0;height:auto;overflow:hidden}
 .nova-shop-shell .table-menu-panel{height:100%;min-height:0;overflow:auto;padding:12px;overscroll-behavior:contain}
 .nova-shop-shell .table-check-panel{height:100%;min-height:0;overflow:hidden}
 .nova-shop-shell .table-check-panel>header{display:none}
 .nova-shop-shell .table-check-items{flex:1;min-height:0;max-height:none;overflow:auto;padding:0 13px;overscroll-behavior:contain}
 .nova-shop-shell .table-check-footer{flex-shrink:0;padding:12px 13px;gap:8px}
 .table-item-controls button{min-height:40px;min-width:36px}
 .table-product-grid>button{min-height:112px}
 body:has(.nova-shop-shell .restaurant-page[data-table-active=true]) .pwa-install-card,
 body:has(.nova-shop-shell .integration-editor:not([hidden])) .pwa-install-card{display:none}
}

.table-action-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.table-workspace{--table-product-green:#176d42;--table-product-green-bg:#e7f5ec}
html[data-theme=dark] .table-workspace{--table-product-green:#93e3b4;--table-product-green-bg:#1b3329}
.table-product-card{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;min-height:140px;aspect-ratio:1.08;overflow:hidden;border:1px solid var(--management-line);border-radius:14px;background:var(--management-raised);color:var(--management-ink);transition:border-color .15s,background .15s}
.table-product-card.selected{background:var(--table-product-green-bg);border-color:var(--table-product-green);--content-icon-color:var(--table-product-green)}
.table-product-add{position:relative;flex:1;display:flex;align-items:flex-end;min-width:0;min-height:78px;width:100%;padding:18px;text-align:left;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer}
.table-product-add>span{min-width:0;overflow-wrap:anywhere}
.table-product-add>svg{position:absolute;top:13px;right:13px}
.table-product-card.selected small{color:var(--table-product-green)}
.table-product-quantity{display:flex;align-items:center;gap:4px;min-height:44px;padding:4px 6px;border-top:1px solid color-mix(in srgb,var(--table-product-green) 30%,transparent)}
.table-product-quantity button{display:grid;place-items:center;flex:0 0 36px;min-height:36px;padding:6px;border:1px solid color-mix(in srgb,var(--table-product-green) 25%,transparent);border-radius:8px;background:var(--management-surface);color:var(--table-product-green)}
.table-product-quantity output{flex:1;min-width:0;white-space:nowrap;text-align:center;color:var(--table-product-green);font:600 11px/1.4 var(--font-sans);font-variant-numeric:tabular-nums;animation:table-quantity-feedback .22s ease-out}
.table-product-card button:disabled{cursor:wait}
@keyframes table-quantity-feedback{from{transform:scale(1.14)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.table-product-card,.table-product-quantity output{animation:none;transition:none}}
@media(max-width:760px){.table-product-card{min-height:140px}.table-product-add{padding:14px}}

.public-menu-page { --menu-bg:#f8f7f3;--menu-card:#fff;--menu-text:#252b29;--menu-muted:#737b76;--menu-line:#e3e6de;min-height:100dvh;background:var(--menu-bg);color:var(--menu-text);padding-bottom:32px; }
.public-menu-page[data-menu-theme="dark"] { --menu-bg:#131817;--menu-card:#1c2421;--menu-text:#f1f4ef;--menu-muted:#a6b2aa;--menu-line:#34423a;color-scheme:dark; }
html .nova-app-theme .public-menu-page :is(h1,h2,h3,p,span,strong,a,small,button,input) { color:inherit;text-shadow:none; }
.public-menu-hero { position:relative;overflow:hidden;background:var(--menu-accent);color:var(--menu-hero-text);padding:28px max(24px,calc((100vw - 1080px)/2)); }
.public-menu-top { position:relative;z-index:1;display:flex;align-items:center;gap:14px;max-width:1080px;margin:auto;font-size:13px; }.public-menu-monogram { display:grid;place-items:center;width:45px;height:45px;border:1px solid currentColor;border-radius:50%;font-size:16px;letter-spacing:1px; }.public-menu-top>button { margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer; }
.public-menu-intro { position:relative;z-index:1;max-width:1080px;margin:70px auto 42px; }.public-menu-kicker { font-size:11px;letter-spacing:2.5px;opacity:.8; }.public-menu-intro h1 { max-width:750px;margin:20px 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,6vw,76px);font-weight:400;letter-spacing:-2px;line-height:1.08;overflow-wrap:anywhere; }.public-menu-intro p { max-width:580px;font-size:16px;line-height:1.8;opacity:.85; }.public-menu-intro a { display:inline-flex;align-items:center;gap:8px;margin-top:14px;text-decoration:none;font-size:14px; }.public-menu-decoration { position:absolute;right:4vw;bottom:-80px;width:380px;height:380px;opacity:.07;transform:rotate(-20deg); }
.public-menu-content { max-width:1130px;padding:28px 24px;margin:auto; }.public-menu-browser { position:sticky;z-index:2;top:0;padding:16px 0 12px;background:var(--menu-bg); }.public-menu-browser>label { display:flex;align-items:center;gap:10px;border:1px solid var(--menu-line);border-radius:12px;padding:0 16px;background:var(--menu-card); }.public-menu-browser input { width:100%;min-width:0;height:48px;border:0;outline:0;background:transparent;color:var(--menu-text);font:14px var(--font-sans); }.public-menu-browser>nav { display:flex;gap:9px;padding-top:18px;overflow-x:auto;scrollbar-width:thin; }.public-menu-browser a { display:inline-flex;flex-shrink:0;align-items:center;gap:10px;padding:11px 16px;border:1px solid var(--menu-line);border-radius:10px;background:var(--menu-card);text-decoration:none;font-size:13px; }.public-menu-browser a>small { opacity:.6;font-size:11px; }
.public-menu-categories>section { padding-top:30px;scroll-margin-top:170px; }.public-menu-categories section>header { display:flex;align-items:baseline;gap:14px;margin-bottom:20px; }.public-menu-categories section>header>span { color:var(--menu-muted);font-size:12px; }.public-menu-categories h2 { margin:0;flex:1;font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:400; }.public-menu-categories section>header>small { font-size:12px;color:var(--menu-muted); }
.public-menu-products { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }.public-menu-products>article { display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px;border:1px solid var(--menu-line);border-radius:16px;background:var(--menu-card); }.public-product-symbol { display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--menu-bg);color:var(--menu-muted); }.public-menu-products h3 { font-size:17px;line-height:1.5;margin:0 0 5px;overflow-wrap:anywhere; }.public-menu-products article small { font-size:11px;color:var(--menu-muted); }.public-menu-products article>strong { font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums; }
.public-menu-footer { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:70px;padding-top:25px;border-top:1px solid var(--menu-line);font-size:12px;color:var(--menu-muted); }.public-menu-empty { padding:65px 15px;text-align:center;color:var(--menu-muted); }.public-menu-empty h2 { color:var(--menu-text);font-size:22px; }
.menu-management-tools { display:flex;gap:14px;margin:22px 0; }.menu-management-tools>label { display:grid;gap:6px;font-size:12px;color:var(--management-muted);flex:1; }.menu-management-tools :is(input,select) { min-height:44px;padding:10px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-input);color:var(--management-ink); }.menu-management-body { display:grid;gap:16px; }.menu-create-panel { padding:16px;border:1px solid var(--management-line);border-radius:12px;background:var(--management-surface);margin-bottom:12px; }.menu-create-panel>summary { display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--management-accent);font-size:14px;font-weight:600; }.menu-create-panel .restaurant-form { margin-top:16px;box-shadow:none; }.menu-advanced { display:grid;gap:14px; }.menu-advanced>summary { color:var(--management-muted);font-size:12px;cursor:pointer;margin-bottom:14px; }.menu-advanced>label { margin-bottom:12px; }
.menu-management-body .menu-admin-list>div { padding:16px; }.menu-product-dialog { max-width:540px;background:var(--management-surface);padding:8px;color:var(--management-ink); }.menu-product-dialog .restaurant-form { border:0;box-shadow:none; }
.menu-share-button { display:flex;align-items:center;gap:7px;min-height:42px;border:1px solid var(--management-line);border-radius:9px;padding:10px 14px;background:var(--management-active);color:var(--management-accent);font:600 13px var(--font-sans);cursor:pointer; }
.menu-sharing-dialog { width:min(610px,calc(100vw - 24px));padding:26px;background:var(--management-surface);color:var(--management-ink); }.menu-sharing-dialog>header { display:flex;align-items:flex-start;justify-content:space-between;gap:16px; }.menu-sharing-dialog h2 { font-size:24px;margin:0; }.menu-sharing-dialog p { font-size:13px;line-height:1.7;color:var(--management-muted); }.menu-sharing-dialog button,.menu-share-actions a { display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid var(--management-line);border-radius:9px;padding:9px 13px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer;text-decoration:none; }.menu-sharing-dialog>nav { display:flex;gap:8px;margin:18px 0; }.menu-sharing-dialog>nav>button { flex:1; }.menu-sharing-dialog>nav>button[aria-pressed="true"] { background:var(--management-active);color:var(--management-accent); }
.menu-share-link { display:flex;gap:8px; }.menu-share-link>input { min-width:0;flex:1;padding:10px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-input);color:var(--management-ink);font-size:12px; }.menu-qr { display:flex;justify-content:center;margin:20px 0; }.menu-qr>img { width:240px;height:240px;max-width:100%;object-fit:contain;border:1px solid var(--management-line);border-radius:12px;background:white; }.menu-share-actions { display:flex;justify-content:center;gap:10px;flex-wrap:wrap; }.menu-appearance-form fieldset { display:grid;gap:16px;border:0;padding:0;margin:0; }.menu-appearance-form label { display:grid;gap:7px;font-size:13px; }.menu-appearance-form :is(input,textarea,select) { min-width:0;width:100%;min-height:40px;padding:10px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-input);color:var(--management-ink);font:13px var(--font-sans); }.menu-appearance-row { display:flex;gap:14px; }.menu-appearance-row>label { flex:1; }.menu-appearance-form input[type="color"] { padding:4px; }.menu-appearance-form .menu-checkbox { display:flex;align-items:center;gap:10px; }.menu-appearance-form input[type="checkbox"] { width:18px;height:18px;min-height:0; }.menu-appearance-form>button { margin-top:20px;width:100%;background:#4262df;color:white; }.menu-share-message { text-align:center; }
@media(max-width:700px) { .public-menu-hero { padding:22px; }.public-menu-intro { margin-top:50px;margin-bottom:25px; }.public-menu-intro h1 { letter-spacing:-1px; }.public-menu-content { padding:14px; }.public-menu-products { grid-template-columns:1fr;gap:10px; }.public-menu-products>article { padding:18px;gap:12px; }.public-menu-categories h2 { font-size:28px; }.menu-sharing-dialog { padding:20px; }.menu-management-tools { flex-direction:column; }.menu-share-link { flex-wrap:wrap; }.menu-share-link>input { flex-basis:100%; }.public-menu-footer { align-items:flex-start;flex-direction:column;gap:8px; } }
.public-menu-page { --content-icon-color:var(--menu-muted); }.public-menu-hero { --content-icon-color:var(--menu-hero-text); }

.public-product-photo{display:block;width:86px;height:86px;object-fit:cover;border-radius:12px;flex-shrink:0}.public-menu-products article>div:has(h3){min-width:0;flex:1}.public-menu-products article p{font-size:12px;line-height:1.6;margin:8px 0 0;opacity:.72}.public-menu-products article:has(.public-product-photo){align-items:center}@media(max-width:600px){.public-product-photo{width:66px;height:66px;border-radius:9px}.public-menu-products article:has(.public-product-photo){flex-wrap:wrap}.public-menu-products article:has(.public-product-photo)>div{flex:1;min-width:120px}.public-menu-products article:has(.public-product-photo)>strong{margin-left:auto}}

.hardware-settings-card { grid-column:1/-1;padding:24px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface);color:var(--management-ink);scroll-margin-top:25px; }
.hardware-settings-card>header { display:flex;align-items:center;gap:12px; }.hardware-settings-card>header>div { flex:1; }.hardware-settings-card h2 { margin:0;font-size:20px; }.hardware-settings-card p { margin:8px 0;color:var(--management-muted);font-size:12px;line-height:1.7; }.hardware-settings-card>header>span { font-size:11px;color:var(--management-muted); }
.hardware-settings-section { margin-top:14px;padding:16px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-raised); }.hardware-settings-section>summary { cursor:pointer;font-size:13px;font-weight:600; }.hardware-settings-section form { margin-top:18px; }.hardware-settings-section fieldset { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0;padding:0;margin:0; }.hardware-settings-section label { display:grid;gap:7px;font-size:12px; }.hardware-settings-section input { min-width:0;width:100%;min-height:40px;border:1px solid var(--management-line);border-radius:8px;padding:9px;background:var(--management-input);color:var(--management-ink); }
.hardware-settings-section button { min-height:38px;padding:8px 12px;border:1px solid var(--management-line);border-radius:8px;background:var(--management-surface);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer; }.hardware-settings-section form>div { display:flex;flex-wrap:wrap;gap:8px;margin-top:14px; }.hardware-settings-section .simple-list { margin-top:14px; }.hardware-settings-section code { overflow-wrap:anywhere; }
@media(max-width:600px){.hardware-settings-card { padding:18px; }.hardware-settings-card>header { flex-wrap:wrap; }.hardware-settings-section { padding:13px; }.hardware-settings-section fieldset { grid-template-columns:1fr; }}
.hardware-settings-card>.report-inline-error>button { margin-top:6px;padding:7px 10px;border:1px solid var(--management-line);border-radius:7px;background:var(--management-raised);color:var(--management-ink);font:600 11px var(--font-sans);cursor:pointer; }
.waiter-management>header { display:flex;align-items:center;justify-content:space-between;gap:16px; }.waiter-management h2 { margin:5px 0;font-size:26px; }.waiter-management p { color:var(--management-muted);font-size:13px;line-height:1.7; }
.waiter-management :is(button,a),.waiter-editor-dialog button { display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);text-decoration:none;cursor:pointer; }
.waiter-management>header>button,.waiter-editor-dialog button[type="submit"] { background:#4262df;color:white;border-color:transparent; }
.waiter-access-card,.waiter-issued-pin { display:flex;align-items:center;gap:14px;padding:20px;margin:22px 0;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface);color:var(--management-ink); }.waiter-access-card>div,.waiter-issued-pin>div { flex:1; }.waiter-access-card p,.waiter-issued-pin p { margin:5px 0 0; }.waiter-issued-pin { background:var(--management-active); }.waiter-issued-pin code { font:600 25px ui-monospace,monospace;letter-spacing:3px; }
.waiter-management-tools { display:flex;align-items:center;gap:16px;margin-bottom:18px; }.waiter-management-tools>input { flex:1;min-width:0;min-height:42px;padding:10px 13px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-input);color:var(--management-ink); }.waiter-management-tools>div { display:flex;gap:5px; }.waiter-management-tools button[aria-pressed="true"] { background:var(--management-active);color:var(--management-accent);border-color:var(--management-accent); }
.waiter-management-list { display:grid;gap:10px; }.waiter-management-list>article { display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--management-line);border-radius:12px;background:var(--management-surface);color:var(--management-ink); }.waiter-initials { display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--management-raised);font-size:14px; }.waiter-management-list article>div { flex:1;min-width:0; }.waiter-management-list strong { font-size:15px; }.waiter-management-list small { display:block;margin-top:5px;color:var(--management-muted);font-size:11px; }.waiter-permissions-note { margin-top:22px; }
.waiter-editor-dialog { width:min(480px,calc(100vw - 24px));padding:24px;background:var(--management-surface);color:var(--management-ink); }.waiter-editor-dialog>header { display:flex;align-items:center;justify-content:space-between;gap:14px; }.waiter-editor-dialog h2 { font-size:22px;margin:0; }.waiter-editor-dialog form { margin-top:22px; }.waiter-editor-dialog fieldset { display:grid;gap:18px;border:0;margin:0;padding:0; }.waiter-editor-dialog label { display:grid;gap:8px;font-size:13px; }.waiter-editor-dialog input { min-width:0;width:100%;min-height:43px;padding:11px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-input);color:var(--management-ink);font:14px var(--font-sans); }.waiter-pin-field { display:flex;gap:8px; }.waiter-pin-field>input { flex:1; }.waiter-editor-dialog small { color:var(--management-muted);line-height:1.6;font-size:12px; }.waiter-editor-dialog footer { display:flex;gap:8px;justify-content:flex-end;margin-top:24px; }.waiter-editor-dialog .waiter-generate-pin { justify-self:start; }
@media(max-width:650px){.waiter-access-card,.waiter-issued-pin { flex-wrap:wrap;padding:16px; }.waiter-access-card>div,.waiter-issued-pin>div { flex-basis:calc(100% - 55px); }.waiter-management-tools { align-items:stretch;flex-direction:column;gap:10px; }.waiter-management-tools>div>button { flex:1; }.waiter-management-list>article { flex-wrap:wrap;padding:14px; }.waiter-management-list article>div { flex-basis:calc(100% - 60px); }.waiter-management-list article>button { flex:1; }.waiter-management>header { align-items:flex-start; }.waiter-editor-dialog { padding:20px; }}

.customer-management>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.customer-management h2{margin:5px 0;font-size:26px}.customer-management p{color:var(--management-muted);font-size:13px;line-height:1.65}
.customer-management button,.customer-detail-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:9px 13px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer}.customer-management>header>button,.customer-detail-dialog button[type=submit]{background:#4262df;color:#fff;border-color:transparent}
.customer-search{display:flex;align-items:center;gap:10px;margin:24px 0 18px;padding:0 13px;min-height:48px;border:1px solid var(--management-line);border-radius:12px;background:var(--management-input);color:var(--management-muted)}.customer-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--management-ink);font:14px var(--font-sans)}.customer-search>span{font-size:12px;white-space:nowrap}
.customer-list{display:grid;gap:10px}.customer-list>button{justify-content:stretch;text-align:left;padding:18px;background:var(--management-surface);gap:16px}.customer-list>button:hover{border-color:var(--management-accent);background:var(--management-active)}.customer-avatar{display:grid;place-items:center;flex:0 0 42px;height:42px;background:var(--management-raised);border-radius:13px}.customer-list>button>span:nth-child(2){flex:1;min-width:0}.customer-list strong{font-size:14px}.customer-list small{display:flex;align-items:center;gap:5px;margin-top:6px;color:var(--management-muted);font-size:11px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.customer-order-stat{text-align:right;flex:0 0 180px}.customer-order-stat small{justify-content:flex-end}.customer-empty{display:grid;justify-items:center;padding:45px 20px;color:var(--management-muted);text-align:center}.customer-empty h3{color:var(--management-ink);margin:15px 0 0}.customer-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:20px;font-size:12px}
.customer-detail-dialog{width:min(700px,calc(100vw - 24px));padding:26px;background:var(--management-surface);color:var(--management-ink)}.customer-detail-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.customer-detail-dialog h2{font-size:23px;margin:5px 0}.customer-detail-dialog form{margin-top:20px}.customer-detail-dialog fieldset{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0;margin:0;border:0}.customer-detail-dialog label{display:grid;gap:7px;font-size:12px}.customer-detail-dialog label:has(textarea){grid-column:1/-1}.customer-detail-dialog :is(input,textarea){width:100%;min-width:0;min-height:42px;padding:11px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-input);color:var(--management-ink);font:14px var(--font-sans)}.customer-detail-dialog textarea{min-height:72px;resize:vertical}.customer-detail-dialog form>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.customer-help{font-size:11px;color:var(--management-muted);line-height:1.6}
.customer-profile{display:flex;align-items:flex-start;gap:15px;padding:20px 0;margin-top:10px;border-bottom:1px solid var(--management-line)}.customer-profile>div{flex:1;min-width:0}.customer-profile a{display:inline-flex;align-items:center;gap:7px;color:var(--management-accent);text-decoration:none;font-size:15px}.customer-profile p{color:var(--management-muted);font-size:13px;line-height:1.65;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.customer-profile .customer-profile-note{color:var(--management-ink);background:var(--management-raised);padding:10px;border-radius:8px}.customer-history-heading{margin:25px 0 16px}.customer-history-heading h3{font-size:17px;margin:0 0 7px}.customer-history-heading h3>span{font-size:12px;margin-left:5px;color:var(--management-muted)}.customer-history-heading small{color:var(--management-muted);font-size:11px}
.customer-history{display:grid;gap:12px}.customer-history article{padding:17px;border:1px solid var(--management-line);border-radius:12px;background:var(--management-raised)}.customer-history header,.customer-history footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.customer-history header strong{font-size:13px;overflow-wrap:anywhere}.customer-history header span{font-size:11px;color:var(--management-accent)}.customer-history time,.customer-history small{font-size:11px;color:var(--management-muted)}.customer-history time{display:block;margin:7px 0}.customer-history ul{list-style:none;padding:0;margin:15px 0;display:grid;gap:8px}.customer-history li{display:flex;gap:10px;font-size:13px}.customer-history li b{font-size:12px;color:var(--management-muted)}.customer-history li small{display:block;margin-top:3px}.customer-history p{font-size:12px;color:var(--management-muted);line-height:1.5}.customer-history footer{padding-top:12px;border-top:1px solid var(--management-line);font-size:14px}.customer-more{width:100%;margin-top:15px}.caller-pair-confirm{padding:12px;border:1px solid var(--management-line);border-radius:10px;margin-top:15px}.caller-pair-confirm button+button{margin-left:8px}.caller-settings-card .bridge-key-once{margin-top:15px;display:grid;gap:8px}.caller-settings-card code{font-size:12px;user-select:all}
@media(max-width:650px){.customer-management>header{align-items:flex-start}.customer-management>header>button{flex-shrink:0}.customer-management>header p{font-size:12px}.customer-list>button{padding:15px;gap:12px;flex-wrap:wrap}.customer-list>button>span:nth-child(2){flex-basis:calc(100% - 60px)}.customer-order-stat{flex:1 1 100%;text-align:left;padding-left:54px;display:flex;align-items:center;justify-content:space-between;gap:8px}.customer-order-stat small{margin:0}.customer-order-stat small:last-child{display:none}.customer-order-stat strong{font-size:12px}.customer-detail-dialog{padding:20px}.customer-detail-dialog fieldset{grid-template-columns:1fr}.customer-profile{flex-wrap:wrap}.customer-profile>div{flex-basis:100%}.customer-history header{flex-wrap:wrap}.customer-search>span{font-size:10px}}

.order-center-view-switch{display:flex;gap:5px;width:fit-content;padding:5px;margin-bottom:20px;border:1px solid var(--management-line);border-radius:12px;background:var(--management-surface)}.order-center-view-switch button{display:flex;align-items:center;gap:8px;min-height:41px;padding:9px 17px;border:0;border-radius:8px;background:transparent;color:var(--management-muted);font:600 13px var(--font-sans);cursor:pointer}.order-center-view-switch button[aria-pressed=true]{background:var(--management-active);color:var(--management-accent)}
.order-map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;height:calc(100dvh - 208px);min-height:560px;overflow:hidden;border:1px solid var(--management-line);border-radius:17px;background:var(--management-surface);color:var(--management-ink)}.order-map-canvas{position:relative;min-width:0;min-height:0;background:var(--management-raised)}.order-center-live-map,.order-center-live-map .live-route-map-canvas{height:100%;min-height:100%;width:100%}.order-map-connection{position:absolute;top:15px;right:15px;z-index:450;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-muted);font-size:11px;box-shadow:0 5px 20px #0001}.order-map-connection i{width:6px;height:6px;border-radius:50%;background:currentColor}.order-map-connection.live{color:var(--management-accent)}
.order-map-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;border-left:1px solid var(--management-line)}.order-map-sidebar>header{padding:20px 18px 13px}.order-map-sidebar h2{font-size:22px;margin:5px 0}.order-map-sidebar p{font-size:12px;line-height:1.6;color:var(--management-muted);margin:5px 0}.order-map-filters{display:flex;gap:5px;padding:0 14px 14px;border-bottom:1px solid var(--management-line)}.order-map-filters button{flex:1;padding:8px 7px;min-height:34px;border:1px solid var(--management-line);border-radius:8px;background:var(--management-surface);color:var(--management-muted);font:600 11px var(--font-sans);cursor:pointer}.order-map-filters button[aria-pressed=true]{background:var(--management-active);color:var(--management-accent);border-color:var(--management-accent)}
.order-map-list{flex:1;min-height:90px;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.order-map-list>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 12px;border:1px solid var(--management-line);border-radius:11px;background:var(--management-surface);color:var(--management-ink);text-align:left;cursor:pointer}.order-map-list>button[aria-pressed=true]{background:var(--management-active);border-color:var(--management-accent)}.order-map-list>button>span{min-width:0}.order-map-list strong{display:block;font-size:13px;overflow-wrap:anywhere}.order-map-list small{display:block;margin-top:5px;font-size:11px;color:var(--management-muted);overflow-wrap:anywhere}.order-map-state{flex-shrink:0;max-width:115px;padding:6px 8px;border-radius:7px;font-size:10px;line-height:1.4;background:var(--management-raised);color:var(--management-muted)}.order-map-state:is(.route,.coming,.picked){background:var(--management-active);color:var(--management-accent)}.order-map-state.failed{color:var(--management-danger,#e87786)}.order-map-empty{display:grid;justify-items:center;align-content:center;flex:1;padding:25px 12px;text-align:center;color:var(--management-muted);gap:8px}.order-map-empty strong{font-size:13px}
.order-map-selected{padding:17px;border-top:1px solid var(--management-line);background:var(--management-raised)}.order-map-selected>header{display:flex;align-items:center;gap:10px}.order-map-selected>header>div{flex:1;min-width:0}.order-map-selected strong{font-size:14px}.order-map-selected a{display:grid;place-items:center;flex:0 0 35px;height:35px;border:1px solid var(--management-line);border-radius:10px;color:var(--management-accent);background:var(--management-surface)}.order-map-selected header p{font-size:11px}.order-map-stages{display:flex;list-style:none;padding:0;margin:20px 0 14px}.order-map-stages li{flex:1;font-size:9px;color:var(--management-muted);position:relative;text-align:center;padding-top:18px}.order-map-stages li:before{content:"";position:absolute;top:4px;left:0;right:0;height:2px;background:var(--management-line)}.order-map-stages li:first-child:before{left:50%}.order-map-stages li:last-child:before{right:50%}.order-map-stages i{position:absolute;top:0;left:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:var(--management-line)}.order-map-stages li[data-complete=true]{color:var(--management-accent)}.order-map-stages li[data-complete=true]:before,.order-map-stages li[data-complete=true] i{background:var(--management-accent)}.order-map-selected .order-map-gps{font-size:10px;margin:8px 0 0}.order-map-selected .order-map-gps.stale{color:var(--management-danger,#da8390)}.order-map-provider-note{padding:10px 16px;border-top:1px solid var(--management-line)}
@media(max-width:1050px){.order-map-workspace{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:700px){.order-center-view-switch{width:100%}.order-center-view-switch button{justify-content:center;flex:1;padding:9px 10px;font-size:12px}.order-map-workspace{height:auto;min-height:0;grid-template-columns:1fr}.order-map-canvas{height:350px}.order-map-sidebar{border-left:0;border-top:1px solid var(--management-line)}.order-map-list{max-height:280px}.order-map-sidebar>header{padding:17px}.order-map-provider-note{padding:12px 17px}.order-map-selected{padding:17px}.order-map-list>button{min-height:80px}}

@media(min-width:701px) and (max-width:1100px){.order-map-workspace{height:auto;min-height:0;grid-template-columns:1fr}.order-map-canvas{height:420px}.order-map-sidebar{border-left:0;border-top:1px solid var(--management-line)}.order-map-list{max-height:280px}}

.order-connections-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-ink);font:600 12px var(--font-sans);text-decoration:none}

.integration-platform-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.integration-platform-picker>button{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface);color:var(--management-ink);text-align:left;cursor:pointer;transition:transform .18s,border-color .18s}.integration-platform-picker>button:hover{transform:translateY(-2px);border-color:var(--management-accent)}.integration-platform-picker>button[aria-pressed=true]{border-color:var(--management-accent);background:var(--management-active)}.integration-choice-logo{display:grid;place-items:center;flex:0 0 47px;height:47px;border-radius:13px;color:white;font:700 17px var(--font-sans)}.integration-platform-picker button>span:nth-child(2){flex:1;min-width:0}.integration-platform-picker strong{display:block;font-size:15px}.integration-platform-picker small{display:block;font-size:12px;color:var(--management-muted);margin-top:7px;line-height:1.5}.integration-connected-picker{margin:18px 0 25px;padding:16px 20px;border:1px solid var(--management-line);border-radius:12px;color:var(--management-ink);background:var(--management-surface)}.integration-connected-picker>summary{font-size:13px;font-weight:600;cursor:pointer}.integration-connected-picker .integration-platform-picker{margin:18px 0 0}.integration-all-ready{display:flex;align-items:center;gap:10px;color:var(--management-accent);font-size:14px}.integration-editor[hidden],.integration-wizard-form [hidden]{display:none!important}.integration-editor{animation:integration-step-enter .22s ease-out}.integration-back-selection{display:inline-flex;align-items:center;gap:7px;padding:10px 0;margin-bottom:12px;border:0;background:transparent;color:var(--management-muted);font:600 12px var(--font-sans);cursor:pointer}
.integration-setup-page .shop-integration-card{background:var(--management-surface);color:var(--management-ink);border-color:var(--management-line)}.integration-setup-page .shop-integration-card-head{border-color:var(--management-line)}.integration-setup-page .shop-integration-card-head p{color:var(--management-muted)}.integration-setup-page .shop-platform-icon{background:var(--management-raised);color:var(--management-accent)}.integration-wizard-form{display:block!important}.integration-wizard-steps{display:flex;list-style:none;margin:0 0 28px;padding:0;border-bottom:1px solid var(--management-line)}.integration-wizard-steps li{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:0 8px 18px;color:var(--management-muted);font-size:12px}.integration-wizard-steps li>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--management-line);border-radius:50%;font-size:11px}.integration-wizard-steps li[aria-current=step]{color:var(--management-accent);border-bottom:2px solid var(--management-accent);margin-bottom:-1px}.integration-wizard-steps li[aria-current=step]>span,.integration-wizard-steps li[data-complete=true]>span{background:var(--management-active);color:var(--management-accent);border-color:var(--management-accent)}
.integration-step-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0;margin:0;border:0;animation:integration-step-enter .22s ease-out}.integration-step-fields legend{font-size:20px;font-weight:650;margin-bottom:8px}.integration-step-fields>p{font-size:13px;line-height:1.7;color:var(--management-muted);margin:0 0 10px}.integration-step-fields .wide{grid-column:1/-1}.integration-step-fields label{display:grid;gap:8px;font-size:12px}.integration-step-fields :is(input,select){min-width:0;min-height:44px;width:100%;border:1px solid var(--management-line);border-radius:9px;padding:11px;background:var(--management-input);color:var(--management-ink);font:14px var(--font-sans)}.integration-webhook-help{display:grid;gap:9px;padding:17px;border:1px solid var(--management-line);border-radius:11px;background:var(--management-raised)}.integration-webhook-help strong{font-size:12px}.integration-webhook-help code{font-size:11px;line-height:1.7;overflow-wrap:anywhere;user-select:all}.integration-webhook-help p{color:var(--management-muted);font-size:12px;line-height:1.6;margin:3px 0}
.integration-review{animation:integration-step-enter .22s ease-out}.integration-review h3{font-size:20px;margin:0}.integration-review p{font-size:13px;line-height:1.7;color:var(--management-muted)}.integration-review dl{display:grid;gap:0;padding:0;margin:20px 0}.integration-review dl>div{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--management-line);padding:13px 0;font-size:13px}.integration-review dt{color:var(--management-muted)}.integration-review dd{display:flex;align-items:center;gap:6px;min-width:0;margin:0;text-align:right;overflow-wrap:anywhere}.integration-wizard-actions{display:flex!important;flex-wrap:wrap;gap:9px;margin-top:28px!important;padding-top:18px;border-top:1px solid var(--management-line)}.integration-wizard-actions button{min-height:40px}.integration-setup-page .shop-credential-form button.plain,.integration-wizard-actions .show-secret{color:var(--management-ink);background:var(--management-raised);border:1px solid var(--management-line)}.integration-setup-page .shop-connected-summary{color:var(--management-ink)}.integration-setup-page .shop-connected-summary span,.integration-setup-page .shop-connected-summary p{color:var(--management-muted)}
@keyframes integration-step-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.integration-editor,.integration-step-fields,.integration-review{animation:none}.integration-platform-picker>button{transition:none}}
@media(max-width:650px){.integration-platform-picker{grid-template-columns:1fr}.integration-platform-picker>button{padding:17px}.integration-step-fields{grid-template-columns:1fr}.integration-wizard-steps li{gap:5px;padding:0 4px 15px;font-size:11px}.integration-wizard-steps li>span{width:24px;height:24px}.integration-wizard-actions>button{flex:1}.integration-review dl>div{align-items:flex-start;gap:12px;font-size:12px}.integration-review dd{max-width:65%}.integration-setup-page .shop-integration-card-head{flex-wrap:wrap}.integration-setup-page .shop-integration-card-head>div:nth-child(2){flex:1 1 calc(100% - 60px)}}

.account-settings-tabs{display:flex;gap:5px;padding:5px;margin:25px 0;border:1px solid var(--management-line);border-radius:12px;background:var(--management-surface)}.account-settings-tabs button{flex:1;min-height:44px;padding:10px 13px;border:0;border-radius:8px;color:var(--management-muted);background:transparent;font:600 12px var(--font-sans);cursor:pointer}.account-settings-tabs button[aria-selected=true]{background:var(--management-active);color:var(--management-accent)}.settings-section-content[hidden]{display:none!important}.settings-section-content.devices{grid-template-columns:1fr}.settings-section-content.devices>section{margin:0}.settings-section-content :is(#masalar,#bildirimler){grid-column:1/-1}.settings-section-content :is(#masalar,#bildirimler)>section{margin:0}.settings-detail-group{padding:22px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface);color:var(--management-ink);scroll-margin-top:20px}.settings-detail-group>summary{font-size:15px;font-weight:650;cursor:pointer}.settings-detail-group>summary>span{display:block;font-size:12px;font-weight:400;margin:8px 0 0 16px;line-height:1.6;color:var(--management-muted)}.settings-detail-group>section{margin:20px 0 0;border:0;padding:0;box-shadow:none}.settings-section-content.devices .hardware-settings-card{padding:22px}
@media(max-width:600px){.account-settings-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px}.account-settings-tabs button{font-size:12px;padding:10px 7px}.settings-detail-group,.settings-section-content.devices .hardware-settings-card{padding:18px}}

/* Keep the selected setup in view on touch screens; steps are real controls. */
.integration-setup-page :is(.shop-integrations-intro,.integration-platform-picker,.integration-connected-picker)[hidden]{display:none!important}
.integration-editor{scroll-margin-top:80px}
.integration-wizard-steps li{padding:0}
.integration-wizard-steps li>button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 8px 16px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.integration-wizard-steps li>button>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid var(--management-line);border-radius:50%;font-size:11px}
.integration-wizard-steps li:is([aria-current=step],[data-complete=true])>button>span{background:var(--management-active);color:var(--management-accent);border-color:var(--management-accent)}
.integration-wizard-steps button:disabled{cursor:wait;opacity:.6}
@media(max-width:650px){.integration-editor{scroll-margin-top:76px}.integration-setup-page .shop-integrations-header{display:none}.integration-platform-picker>button{min-height:80px;touch-action:manipulation}.integration-wizard-steps li{padding:0}.integration-wizard-steps li>button{gap:5px;padding:8px 3px 13px}.integration-wizard-steps li>button>span{flex-basis:24px;height:24px}}

@media(hover:none){.integration-platform-picker>button:hover{transform:none}}

@media(max-width:760px),(max-width:1024px) and (pointer:coarse),(max-width:1024px) and (max-height:500px){
 html .nova-app-theme .nova-shop-shell>.main-content{padding-top:calc(58px + env(safe-area-inset-top))}
 .nova-shop-shell .shop-shell-mobile-bar,.nova-shop-shell>.main-content>.topbar{position:fixed;inset:var(--app-banner-height,0px) 0 auto;z-index:40;width:100%;height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
 html .nova-app-theme .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active=true]){padding-top:0}
 .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active=true])>.topbar{position:relative;inset:auto;width:auto;height:54px;padding-top:7px}
}

/* Home is a single app screen; its six shortcuts divide the available space. */
html .nova-app-theme .nova-shop-shell[data-shop-view=home]{height:calc(var(--nova-visible-height,100dvh) - var(--app-banner-height,0px));min-height:0;overflow:clip}
html .nova-app-theme .nova-shop-shell[data-shop-view=home]>.main-content{display:flex;flex-direction:column;height:100%;min-height:0;padding-bottom:env(safe-area-inset-bottom);overflow:clip}
.nova-shop-shell[data-shop-view=home]>.main-content>.topbar{flex-shrink:0}
html .nova-app-theme .nova-shop-shell[data-shop-view=home] .restaurant-pos-home{flex:1;min-height:0;padding:clamp(10px,2dvh,24px);gap:10px;overflow:clip}
html .nova-app-theme .nova-shop-shell[data-shop-view=home] .restaurant-pos-tiles{flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:clamp(8px,1.8dvh,16px)}
html .nova-app-theme .nova-shop-shell[data-shop-view=home] .pos-tile{min-height:0;min-width:0;padding:clamp(10px,2dvh,24px);gap:clamp(5px,1dvh,10px)}
html .nova-app-theme .nova-shop-shell[data-shop-view=home] .pos-tile>span{width:clamp(34px,6dvh,58px);height:clamp(34px,6dvh,58px);flex-shrink:0}
html .nova-app-theme .nova-shop-shell[data-shop-view=home] .pos-tile strong{font-size:clamp(16px,2.5dvh,22px);line-height:1.25}
html .nova-app-theme .nova-shop-shell[data-shop-view=home] .pos-tile small{font-size:clamp(11px,1.6dvh,13px);line-height:1.35}
body:has(.nova-shop-shell[data-shop-view=home]) .pwa-install-card{display:none}
@media(max-width:760px),(max-width:1024px) and (pointer:coarse),(max-width:1024px) and (max-height:500px){
 html .nova-app-theme .nova-shop-shell[data-shop-view=home] .restaurant-pos-tiles{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
}
@media(orientation:landscape) and (min-width:600px) and (max-height:600px){
 html .nova-app-theme .nova-shop-shell[data-shop-view=home] .restaurant-pos-tiles{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px),(max-width:1024px) and (pointer:coarse),(max-width:1024px) and (max-height:500px){
 html .nova-app-theme .nova-shop-shell>.main-content{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .nova-shop-shell .shop-shell-mobile-bar,.nova-shop-shell>.main-content>.topbar{padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}
 .nova-shop-shell>.main-content:has(.restaurant-page[data-table-active=true])>.topbar{height:calc(54px + env(safe-area-inset-top));flex-basis:calc(54px + env(safe-area-inset-top));padding-top:calc(7px + env(safe-area-inset-top))}
}


/* Keep account setup comfortably centered within the desktop content area. */
html .nova-app-theme .shop-shell-content>.integration-setup-page{width:min(920px,calc(100% - 48px));margin-inline:auto;padding:36px 0 48px;min-width:0}
.integration-setup-page .shop-integrations-intro{max-width:none;margin:0;padding:0 0 12px}
.integration-setup-page .integration-editors{width:100%;max-width:760px;margin-inline:auto}
.integration-setup-page .shop-integration-card{padding:26px}
.integration-setup-page .shop-credential-form{margin-left:0;margin-top:24px}
.integration-setup-page .integration-platform-picker{margin:20px 0}
@media(max-width:650px){html .nova-app-theme .shop-shell-content>.integration-setup-page{width:calc(100% - 24px);padding:20px 0 32px}.integration-setup-page .shop-integration-card{padding:18px}.integration-setup-page .shop-integrations-intro h1{font-size:25px;line-height:1.3}}


.customer-detail-dialog.content-dialog-panel{display:flex;flex-direction:column;width:min(600px,calc(100vw - 24px));max-height:calc(var(--nova-visible-height,100dvh) - 32px);padding:0;overflow:hidden}
.customer-detail-dialog>header{flex-shrink:0;padding:18px 20px;border-bottom:1px solid var(--management-line)}
.customer-detail-dialog h2{font-size:20px;margin:3px 0;overflow-wrap:anywhere}
.customer-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 20px;scrollbar-gutter:stable}
.customer-profile{padding:16px 0;margin-top:0;gap:12px}.customer-profile a{font-size:14px}.customer-profile p{font-size:12px;line-height:1.5;margin:6px 0}
.customer-history-heading{margin:18px 0 12px}.customer-history-heading h3{font-size:15px}.customer-history{gap:8px}
.customer-order{min-width:0;border:1px solid var(--management-line);border-radius:10px;background:var(--management-raised);overflow:hidden}
.customer-order>summary{display:flex;align-items:center;gap:10px;list-style:none;padding:12px;cursor:pointer;min-height:64px}
.customer-order>summary::-webkit-details-marker{display:none}.customer-order>summary>span:nth-child(2){flex:1;min-width:0}
.customer-order>summary strong{display:block;font-size:12px;overflow-wrap:anywhere}.customer-order time{margin:5px 0 0;font-size:10px}
.customer-order-expand{display:grid;place-items:center;flex:0 0 27px;height:27px;border:1px solid var(--management-line);border-radius:7px;color:var(--management-ink)}
.customer-order .when-open,.customer-order[open] .when-closed{display:none}.customer-order[open] .when-open{display:block}
.customer-order-summary{text-align:right;flex-shrink:0}.customer-order-summary b{display:block;font-size:13px}.customer-order-summary small{display:block;margin-top:5px;font-size:10px;color:var(--management-muted)}
.customer-order-content{padding:0 14px 12px;border-top:1px solid var(--management-line)}.customer-order-content ul{margin:14px 0}.customer-order-content footer{padding-top:8px}
.customer-order>summary:focus-visible{outline:2px solid var(--management-accent);outline-offset:-3px}
@media(max-width:650px){.customer-detail-dialog>header{padding:15px}.customer-dialog-body{padding:0 15px 16px}.customer-detail-dialog>header .eyebrow{display:none}.customer-detail-dialog{max-height:calc(var(--nova-visible-height,100dvh) - 24px)}}

.caller-app-download{display:flex;align-items:center;gap:12px;padding:15px;margin-top:18px;border:1px solid var(--management-line);border-radius:11px;background:var(--management-raised)}.caller-app-download>div{flex:1;min-width:0}.caller-app-download strong{display:block;font-size:12px}.caller-app-download small{display:block;font-size:10px;line-height:1.5;color:var(--management-muted);margin-top:5px}.caller-app-download>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:40px;padding:10px 13px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-surface);color:var(--management-ink);text-decoration:none;font:600 12px var(--font-sans)}@media(max-width:450px){.caller-app-download{flex-wrap:wrap}.caller-app-download>a{width:100%}}

.customer-detail-dialog.content-dialog-panel{max-height:min(760px,100%,calc(var(--nova-visible-height,100dvh) - 32px))}
html .nova-app-theme .customer-detail-dialog .customer-order>summary{background:transparent;color:var(--management-ink);-webkit-tap-highlight-color:transparent}
html .nova-app-theme .customer-detail-dialog .customer-order-content>footer{background:transparent;color:var(--management-muted)}

.restaurant-menu-manager{max-width:1240px;margin-inline:auto;color:var(--management-ink)}
.menu-manager-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.menu-manager-header h2{font-size:30px;letter-spacing:-.7px;margin:7px 0 8px}.menu-manager-header p{font-size:13px;line-height:1.65;color:var(--management-muted);margin:0}
.menu-manager-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.restaurant-menu-manager button,.menu-editor-dialog button,.menu-category-dialog button{font-family:var(--font-sans);cursor:pointer}
.menu-manager-actions>button,.menu-editor-dialog footer>button,.menu-photo-actions>button,.menu-category-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 15px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-surface);color:var(--management-ink);font-size:12px;font-weight:600}
.restaurant-menu-manager .menu-primary,.menu-editor-dialog .menu-primary,.menu-category-dialog .menu-primary{background:var(--primary);border-color:var(--primary);color:#fff;--content-icon-color:#fff}
.menu-manager-summary{display:flex;align-items:center;gap:22px;margin:22px 0 26px;color:var(--management-muted);font-size:12px}.menu-manager-summary>span{display:flex;align-items:center;gap:5px}.menu-manager-summary b{color:var(--management-ink);font-weight:650}.menu-status-dot{width:6px;height:6px;border-radius:50%;background:#27a46c;margin-right:2px}
.menu-manager-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
.menu-category-sidebar{position:sticky;top:20px;min-width:0;padding:14px 10px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface)}
.menu-category-sidebar>header{display:flex;align-items:center;justify-content:space-between;padding:3px 8px 14px;gap:8px}.menu-category-sidebar>header strong{display:flex;align-items:center;gap:8px;font-size:12px}.menu-category-sidebar>header>button{display:grid;place-items:center;width:27px;height:27px;padding:3px;border:1px solid var(--management-line);border-radius:7px;background:transparent;color:var(--management-muted)}
.menu-category-sidebar nav{display:grid;gap:4px}.menu-category-sidebar nav>button{display:flex;align-items:center;gap:8px;min-height:42px;padding:10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--management-muted);font-size:12px;text-align:left}.menu-category-sidebar nav>button>span{flex:1;min-width:0;overflow-wrap:anywhere}.menu-category-sidebar nav b{font-size:10px;font-weight:500;min-width:23px;padding:3px;border-radius:6px;background:var(--management-raised);text-align:center}.menu-category-sidebar nav>button[aria-pressed=true]{background:var(--management-active);color:var(--management-accent);border-color:color-mix(in srgb,var(--management-accent) 18%,transparent)}
.menu-category-add{display:flex;align-items:center;gap:7px;margin-top:12px;padding:14px 8px 3px;border:0;border-top:1px solid var(--management-line);background:transparent;color:var(--management-muted);width:100%;font-size:11px}
.menu-manager-products{min-width:0}.menu-manager-toolbar{display:flex;align-items:center;gap:12px}.menu-search{display:flex;align-items:center;gap:9px;flex:1;min-width:0;min-height:44px;padding:0 13px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-surface);color:var(--management-muted)}.menu-search input{border:0;background:transparent;color:var(--management-ink);width:100%;min-width:0;outline:none;font:13px var(--font-sans);height:42px}.menu-search>button{display:grid;place-items:center;padding:4px;border:0;background:transparent;color:var(--management-muted)}.menu-search:focus-within{outline:2px solid var(--management-accent);outline-offset:2px}
.menu-status-filter{display:flex;flex-shrink:0;gap:3px;padding:4px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-surface)}.menu-status-filter>button{min-height:34px;padding:7px 12px;border:0;border-radius:7px;background:transparent;color:var(--management-muted);font-size:11px}.menu-status-filter>button[aria-pressed=true]{background:var(--management-raised);color:var(--management-ink)}
.menu-results-heading{display:flex;align-items:center;justify-content:space-between;margin:23px 0 14px}.menu-results-heading h3{font-size:15px;margin:0}.menu-results-heading small{font-size:11px;color:var(--management-muted)}
.menu-product-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.menu-product-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--management-line);border-radius:14px;background:var(--management-surface);overflow:hidden;transition:border-color .18s,transform .18s}.menu-product-card:hover{border-color:color-mix(in srgb,var(--management-ink) 28%,transparent)}
.menu-product-visual{position:relative;display:block;width:100%;padding:0;aspect-ratio:1.65;border:0;background:var(--management-raised);color:var(--management-muted);overflow:hidden;text-align:center}.menu-product-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.menu-product-visual:hover img{transform:scale(1.025)}
.menu-product-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--management-muted);background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--management-accent) 5%,var(--management-raised)),var(--management-raised))}.menu-product-placeholder>svg{opacity:.55}.menu-product-placeholder small{display:flex;align-items:center;gap:5px;font-size:10px}
.menu-sale-badge{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:4px;min-height:23px;padding:4px 7px;border-radius:6px;font:600 9px var(--font-sans);background:var(--management-surface);color:var(--management-muted);box-shadow:0 1px 5px #00000010}.menu-sale-badge.on{background:#e8f7ed;color:#176c43;--content-icon-color:#176c43}html[data-theme=dark] .menu-sale-badge.on{background:#19392a;color:#98e3b5;--content-icon-color:#98e3b5}
.menu-product-info{flex:1;padding:16px}.menu-product-info>small{display:block;color:var(--management-muted);font-size:10px;margin-bottom:9px}.menu-product-info>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.menu-product-info h4{font-size:14px;font-weight:650;margin:0;line-height:1.5;overflow-wrap:anywhere}.menu-product-info strong{white-space:nowrap;font-size:14px;font-weight:650;line-height:1.5}.menu-product-info p{color:var(--management-muted);font-size:11px;line-height:1.65;margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.menu-product-card>footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;border-top:1px solid var(--management-line)}.menu-product-card>footer>button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:0;padding:4px 0;background:transparent;color:var(--management-muted);font-size:10px}.menu-product-card>footer>button:first-child{color:var(--management-ink)}.menu-sale-toggle>span{position:relative;width:25px;height:15px;border-radius:99px;background:var(--management-line)}.menu-sale-toggle>span::after{content:"";position:absolute;top:3px;left:3px;width:9px;height:9px;border-radius:50%;background:var(--management-surface);transition:transform .15s}.menu-sale-toggle[aria-pressed=true]>span{background:#268459}.menu-sale-toggle[aria-pressed=true]>span::after{transform:translateX(10px);background:#fff}
.menu-manager-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 20px;border:1px dashed var(--management-line);border-radius:14px;color:var(--management-muted)}.menu-manager-empty h3{font-size:19px;margin:18px 0 8px;color:var(--management-ink)}.menu-manager-empty p{font-size:12px;line-height:1.7;max-width:330px;margin:0 0 18px}
.menu-editor-dialog.content-dialog-panel{width:min(880px,calc(100vw - 24px));max-height:calc(var(--nova-visible-height,100dvh) - 32px);padding:0;overflow:hidden;background:var(--management-surface);color:var(--management-ink)}
.menu-product-editor{display:flex;flex-direction:column;max-height:inherit;min-height:0;width:100%}.menu-product-editor>header,.menu-category-dialog>header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:16px;padding:22px 24px;border-bottom:1px solid var(--management-line)}.menu-product-editor h2{margin:5px 0 0;font-size:23px;letter-spacing:-.4px;overflow-wrap:anywhere}.menu-product-editor>header>button,.menu-category-dialog>header>button{display:grid;place-items:center;flex:0 0 34px;height:34px;padding:6px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-ink)}
.menu-editor-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px;scrollbar-gutter:stable}.menu-product-editor fieldset{min-width:0;margin:0;padding:0;border:0}.menu-editor-main{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px}.menu-editor-photo{min-width:0}.menu-product-editor label{display:block;font-size:12px;color:var(--management-ink);font-weight:550}.menu-editor-photo>label{margin-bottom:10px}.menu-photo-drop{display:block;aspect-ratio:1;width:100%;padding:0;border:1px dashed var(--management-line);border-radius:12px;overflow:hidden;background:var(--management-raised);color:var(--management-muted)}.menu-photo-drop img{display:block;width:100%;height:100%;object-fit:cover}.menu-photo-drop>span{display:flex;height:100%;padding:20px;flex-direction:column;align-items:center;justify-content:center;gap:12px}.menu-photo-drop strong{font-size:12px;color:var(--management-ink)}.menu-photo-drop small{font-size:11px;line-height:1.65;max-width:160px}.menu-photo-actions{display:flex;gap:7px;margin-top:10px}.menu-photo-actions>button{flex:1;font-size:11px;min-height:37px;padding:8px}.menu-photo-actions>button:last-child:not(:first-child){flex:0 0 37px}.menu-photo-help{display:block;font-size:10px;line-height:1.6;color:var(--management-muted);margin-top:9px}.menu-editor-photo>p{display:flex;align-items:center;gap:7px;font-size:11px}
.menu-editor-fields{display:grid;align-content:start;gap:19px;min-width:0}.menu-editor-field-row{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}.menu-product-editor label>small{font-size:10px;font-weight:400;color:var(--management-muted);margin-left:5px}.menu-product-editor :is(input:not([type=checkbox]):not([type=file]),select,textarea),.menu-category-dialog input{display:block;min-width:0;width:100%;min-height:43px;margin-top:8px;padding:11px 12px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-input);color:var(--management-ink);font:13px var(--font-sans)}.menu-product-editor textarea{resize:vertical;min-height:90px;max-height:220px;line-height:1.6}.menu-product-editor .menu-editor-availability{display:flex;align-items:center;gap:20px;padding:12px;border:1px solid var(--management-line);border-radius:10px;background:var(--management-raised)}.menu-editor-availability>span{flex:1}.menu-editor-availability strong{display:block;font-size:12px;font-weight:600}.menu-editor-availability small{display:block;font-size:10px;line-height:1.5;color:var(--management-muted);margin-top:5px}.menu-editor-availability input{width:19px;height:19px;accent-color:var(--primary);flex-shrink:0}
.menu-editor-advanced{margin-top:22px;border-top:1px solid var(--management-line);padding-top:18px}.menu-editor-advanced>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:12px;color:var(--management-muted)}.menu-editor-advanced>summary::after{content:"+";font-size:19px;margin-left:auto}.menu-editor-advanced[open]>summary::after{content:"−"}.menu-editor-advanced>div{margin-top:18px}.menu-editor-error{font-size:12px;line-height:1.6;color:var(--management-danger,#c85862);padding:10px 0;margin:0}
.menu-product-editor>footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;flex-shrink:0;padding:16px 24px;border-top:1px solid var(--management-line);background:var(--management-surface)}.menu-product-editor>footer>span{flex:1;color:var(--management-muted);font-size:10px;line-height:1.6}
.menu-category-dialog{width:min(460px,calc(100vw - 24px));padding:0;max-height:calc(var(--nova-visible-height,100dvh) - 32px);overflow:auto;color:var(--management-ink);background:var(--management-surface)}.menu-category-dialog>header{padding:20px}.menu-category-dialog h2{font-size:21px;margin:0}.menu-category-dialog p{font-size:12px;line-height:1.6;color:var(--management-muted);margin:7px 0 0}.menu-category-list{display:flex;flex-wrap:wrap;gap:7px;padding:20px 20px 0}.menu-category-list>span{display:flex;align-items:center;gap:6px;border:1px solid var(--management-line);border-radius:8px;padding:8px;background:var(--management-raised);font-size:11px}.menu-category-dialog form{display:grid;gap:15px;padding:20px}.menu-category-dialog label{font-size:12px}.menu-category-dialog form>button{justify-self:end}
.restaurant-menu-manager button:disabled,.menu-editor-dialog button:disabled{opacity:.6;cursor:wait}.restaurant-menu-manager :is(button,a):focus-visible,.menu-editor-dialog :is(button,summary):focus-visible{outline:2px solid var(--management-accent);outline-offset:3px}
@media(max-width:1250px){.menu-manager-layout{grid-template-columns:175px minmax(0,1fr);gap:18px}.menu-product-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.menu-manager-header{align-items:flex-start;flex-direction:column;gap:16px}.menu-manager-header h2{font-size:26px}.menu-manager-header p{font-size:12px}.menu-manager-actions{width:100%}.menu-manager-actions>button{flex:1}.menu-manager-summary{gap:17px;font-size:11px;margin:18px 0}.menu-manager-layout{display:flex;flex-direction:column;gap:18px}.menu-category-sidebar{position:static;width:100%;border:0;border-radius:0;padding:0;background:transparent}.menu-category-sidebar>header{padding:0 0 9px}.menu-category-sidebar nav{display:flex;overflow-x:auto;padding:3px 2px 7px;gap:7px;overscroll-behavior-x:contain}.menu-category-sidebar nav>button{flex-shrink:0;white-space:nowrap;min-height:38px;padding:8px 11px;border-color:var(--management-line);background:var(--management-surface);font-size:11px}.menu-category-sidebar nav>button b{font-size:9px}.menu-category-add{display:none}.menu-manager-products{width:100%}.menu-manager-toolbar{flex-wrap:wrap;gap:10px}.menu-search{flex-basis:100%}.menu-status-filter{width:100%}.menu-status-filter>button{flex:1}.menu-results-heading{margin:19px 0 13px}.menu-product-cards{gap:12px}.menu-product-info{padding:12px}.menu-product-info>div{display:block}.menu-product-info strong{display:block;margin-top:6px;font-size:14px}.menu-product-info h4{font-size:13px}.menu-product-card>footer{flex-wrap:wrap;padding:8px 12px;gap:3px}.menu-product-card>footer>button{font-size:10px}.menu-product-placeholder{gap:6px}.menu-product-placeholder>svg{width:24px;height:24px}.menu-product-placeholder small{font-size:9px}.menu-sale-badge{top:7px;left:7px;font-size:8px;min-height:20px;padding:3px 6px}}
@media(max-width:650px){.menu-editor-dialog.content-dialog-panel{max-height:calc(var(--nova-visible-height,100dvh) - 20px)}.menu-product-editor>header{padding:16px}.menu-product-editor h2{font-size:20px}.menu-editor-scroll{padding:16px}.menu-editor-main{grid-template-columns:minmax(0,1fr);gap:23px}.menu-editor-photo{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px 14px;align-items:start}.menu-editor-photo>label{grid-column:1/-1;margin:0 0 2px}.menu-photo-drop{grid-row:2/5}.menu-photo-drop>span{padding:10px;gap:7px}.menu-photo-drop>span strong{font-size:10px}.menu-photo-drop>span small{display:none}.menu-photo-actions{margin-top:0;flex-wrap:wrap}.menu-photo-actions>button{flex-basis:100%;min-height:35px}.menu-photo-actions>button:last-child:not(:first-child){flex-basis:35px}.menu-photo-help{margin:0;font-size:9px}.menu-editor-photo>p{grid-column:1/-1}.menu-editor-fields{gap:16px}.menu-editor-field-row{grid-template-columns:1fr 1.2fr;gap:10px}.menu-product-editor>footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.menu-product-editor>footer>span{display:none}.menu-product-editor>footer>button{flex:1;min-height:43px;padding:10px 8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.menu-product-card,.menu-product-visual img,.menu-sale-toggle>span::after{transition:none}}

.menu-editor-dialog.content-dialog-panel{display:flex;flex-direction:column;max-height:min(100%,calc(var(--nova-visible-height,100dvh) - 32px))}.menu-product-editor{flex:1}
@media(max-width:650px){.menu-editor-dialog.content-dialog-panel{max-height:min(100%,calc(var(--nova-visible-height,100dvh) - 20px))}}


html .nova-app-theme .tracking-shell{min-height:100dvh;padding-bottom:35px;background:var(--management-bg);background-image:none;color:var(--management-ink)}html .nova-app-theme .tracking-header{background:var(--management-surface);border-color:var(--management-line);color:var(--management-ink);height:76px;padding-top:10px;padding-bottom:10px}.tracking-header .nova-logo,.tracking-header .nova-logo img{background:transparent!important;filter:none!important}.tracking-header>div>span{border:0!important;border-radius:0!important;box-shadow:none!important}.tracking-header strong{font:700 17px var(--font-sans);letter-spacing:.1em}.tracking-header-actions small{font-size:9px}
html .nova-app-theme .tracking-card{width:calc(100% - 32px);max-width:720px;padding:28px;margin:20px auto 0;border:1px solid var(--management-line);border-radius:17px;background:var(--management-surface);color:var(--management-ink)}html .nova-app-theme .tracking-feedback-hero{width:calc(100% - 32px);max-width:720px;padding:27px;margin:25px auto 0;border:1px solid var(--management-line);border-radius:17px;background:var(--management-surface);color:var(--management-ink);box-shadow:0 9px 30px #00000004;scroll-margin-top:20px}.tracking-feedback-hero h2{font:700 25px var(--font-sans);margin:8px 0}.tracking-feedback-hero>p{margin:8px 0 0;line-height:1.7;font-size:13px;color:var(--management-muted)}
html .nova-app-theme .tracking-feedback-stars{display:flex;justify-content:center;gap:12px;margin:24px 0 10px}.tracking-feedback-hero .tracking-feedback-stars button{display:grid;place-items:center;width:57px;height:57px;padding:10px;border:1px solid var(--management-line);border-radius:14px;background:var(--management-raised);color:#b6a577;cursor:pointer;transition:transform .16s,background .16s,box-shadow .16s;animation:review-star-enter .5s both}.tracking-feedback-stars button:nth-child(2){animation-delay:.06s}.tracking-feedback-stars button:nth-child(3){animation-delay:.12s}.tracking-feedback-stars button:nth-child(4){animation-delay:.18s}.tracking-feedback-stars button:nth-child(5){animation-delay:.24s}html .nova-app-theme .tracking-feedback-stars button.filled{background:color-mix(in srgb,#f3bf48 12%,var(--management-surface));border-color:#ddb04b;color:#edb839}html .nova-app-theme .tracking-feedback-stars button.filled svg,html .nova-app-theme .tracking-feedback-stars.readonly .filled{fill:#edb839;stroke:#edb839}.tracking-feedback-stars button:not(:disabled):hover{transform:translateY(-3px) scale(1.06);box-shadow:0 5px 15px #d6aa3d20}.tracking-feedback-stars button:disabled{opacity:.65;cursor:default}.tracking-feedback-hero .tracking-feedback-tags{margin-top:23px;display:flex;flex-wrap:wrap;gap:8px}.tracking-feedback-tags button{min-height:35px;display:flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid var(--management-line);border-radius:20px;background:var(--management-raised);color:var(--management-muted);font:500 11px var(--font-sans);cursor:pointer}html .nova-app-theme .tracking-feedback-tags button.selected{background:var(--management-active);color:var(--management-accent);border-color:var(--management-accent)}.tracking-feedback-hero textarea{width:100%;min-height:80px;margin:17px 0 10px;padding:12px;resize:vertical;border:1px solid var(--management-line);border-radius:11px;background:var(--management-input);color:var(--management-ink);font:13px var(--font-sans)}html .nova-app-theme .tracking-feedback-submit{min-height:44px;width:100%;border:0;border-radius:10px;background:#4262df;color:white;font:650 13px var(--font-sans);cursor:pointer}
html .nova-app-theme .tracking-status>span{background:var(--management-active);color:var(--management-accent)}.tracking-status p,.tracking-info small,.tracking-card>footer{color:var(--management-muted)}.tracking-order>span{color:var(--management-muted);font-size:12px}.tracking-order>strong{color:var(--management-ink);font-size:13px}html .nova-app-theme .tracking-info>div{background:var(--management-raised);border-color:var(--management-line)}.tracking-info strong{color:var(--management-ink)}html .nova-app-theme .tracking-progress .done>span{background:var(--management-accent);color:var(--management-bg)}html .nova-app-theme .tracking-progress>div>span{border-color:var(--management-line)}html .nova-app-theme .tracking-progress>div:not(.done)>span{background:var(--management-raised);color:var(--management-muted)}.tracking-not-received{display:block;margin:16px 0 20px;padding:0;min-height:32px;border:0;border-bottom:1px dashed var(--management-muted);background:transparent;color:var(--management-muted);font:550 12px var(--font-sans);cursor:pointer}.tracking-feedback-hero .tracking-feedback-error{display:block;font-size:12px;line-height:1.6;margin-top:12px;color:var(--management-danger,#d46477)}.tracking-feedback-thanks{display:flex;align-items:center;gap:12px}.tracking-feedback-thanks strong{font-size:17px}.tracking-feedback-thanks small{display:block;margin-top:5px;line-height:1.6;color:var(--management-muted);font-size:12px}.tracking-feedback-selected{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.tracking-feedback-selected>span{padding:7px 10px;border-radius:15px;background:var(--management-active);color:var(--management-accent);font-size:11px}
.tracking-help-dialog{width:min(460px,calc(100vw - 24px));padding:24px;background:var(--management-surface);color:var(--management-ink)}.tracking-help-dialog>header{display:flex;align-items:flex-start;gap:12px}.tracking-help-dialog h2{flex:1;font-size:21px;line-height:1.4;margin:0}.tracking-help-dialog header button{border:0;background:transparent;color:inherit;cursor:pointer}.tracking-help-dialog p{font-size:13px;line-height:1.8;color:var(--management-muted)}.tracking-help-dialog .tracking-call-shop{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;margin:20px 0 12px;border-radius:10px;background:#4262df;color:white;text-decoration:none;font:600 13px var(--font-sans)}.tracking-help-dialog>button{width:100%;min-height:42px;padding:10px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-raised);color:var(--management-ink);font:600 12px var(--font-sans);cursor:pointer}
.restaurant-contact-settings{grid-column:1/-1}.restaurant-contact-settings label{display:grid;gap:8px;margin-top:20px;font-size:12px}.restaurant-contact-settings input{min-height:44px;max-width:350px;width:100%;padding:11px;border:1px solid var(--management-line);border-radius:9px;background:var(--management-input);color:var(--management-ink);font:14px var(--font-sans)}.restaurant-contact-settings form p{font-size:12px;line-height:1.7;color:var(--management-muted)}
@keyframes review-star-enter{from{opacity:.2;transform:translateY(8px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.tracking-feedback-hero .tracking-feedback-stars button{animation:none;transition:none}}@media(max-width:500px){html .nova-app-theme .tracking-feedback-hero,html .nova-app-theme .tracking-card{width:calc(100% - 24px);padding:20px;margin-top:17px;border-radius:15px}.tracking-feedback-hero h2{font-size:22px}html .nova-app-theme .tracking-feedback-stars{gap:8px;margin:20px 0 5px}.tracking-feedback-hero .tracking-feedback-stars button{width:45px;height:47px;padding:8px;border-radius:12px}.tracking-feedback-hero .tracking-feedback-stars svg{width:28px;height:28px}.tracking-header-actions small{display:none}.tracking-status h1{font-size:21px;line-height:1.35}.tracking-info>div{min-width:0}.tracking-help-dialog{padding:20px}}

html .nova-app-theme .tracking-header .theme-toggle{background:var(--management-raised)!important;border:1px solid var(--management-line);color:var(--management-ink);box-shadow:none}html .nova-app-theme .tracking-header .theme-toggle>span{display:none!important}html[data-theme=dark] .nova-app-theme .tracking-header .nova-logo img{filter:brightness(0) invert(1)!important}

/* Final semantic surfaces apply to private panels and their portalled dialogs. */
html[data-theme="dark"] .nova-app-theme{
 --warning-bg:var(--management-raised);--warning-text:#f2d08b;
 --danger-bg:#2d252d;--danger-text:#ffc0bc;
 --success-bg:#20342e;--success-text:#a9efd0;
}
html[data-theme="dark"] .nova-app-theme :is(.courier-sync-status,.courier-unseen-prompt,.login-dev-code,.preparing-badge,.live-operation.connecting){
 background:var(--management-raised);color:var(--warning-text);border-color:var(--management-line);
}
html[data-theme="dark"] .nova-app-theme :is(.live-route-map,.location-picker-canvas,.detected-receipt-dialog .detected-receipt-preview){
 background-color:var(--management-raised);
}
html[data-theme="dark"] .nova-app-theme :is(.restaurant-error,.waiter-error,.receipt-import-error,.login-error){
 background:var(--danger-bg);color:var(--danger-text);border-color:var(--management-line);
}
html .nova-app-theme .login-input input{background:transparent;color:var(--management-ink)}
html .nova-app-theme .waiter-workspace-brand{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:0}
.waiter-workspace-brand>div{min-width:0}.waiter-workspace-brand strong{overflow-wrap:anywhere}
html .nova-app-theme :is(.eyebrow,.section-kicker,.login-eyebrow){font-weight:600;letter-spacing:.1em;font-synthesis:none}
html .nova-app-theme :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--management-accent);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
 .content-dialog-panel[open],.detected-receipt-dialog{animation:nova-panel-appear 150ms ease-out}
 .account-settings-section:not([hidden]),.table-workspace-detail{animation:nova-content-appear 130ms ease-out}
}
@keyframes nova-panel-appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes nova-content-appear{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important}
}


/* Restaurant order cards share one neutral dark palette. */
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card{background:var(--management-surface);border-color:var(--management-line);color:var(--management-ink);box-shadow:none}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card :is(.card-header,.customer-row,.items-list,.delivery-row,.order-footer){background:transparent;border-color:var(--management-line);color:var(--management-ink)}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card :is(.platform-info strong,.customer-row strong,.order-item strong,.order-contact-info strong,.order-footer strong,.shop-courier-progress strong){color:var(--management-ink)}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card :is(.platform-info small,.customer-row span,.customer-row time,.order-item span,.delivery-row span,.order-footer>div>span,.shop-courier-progress small){color:var(--management-muted)}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card .order-item>b{color:var(--management-muted)}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card :is(.customer-avatar,.order-contact-info,.shop-courier-progress){background:var(--management-raised);border-color:var(--management-line);color:var(--management-ink)}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card .order-note{padding:9px 11px;border-left:2px solid var(--management-muted);border-radius:0 8px 8px 0;background:var(--management-raised);color:var(--management-ink);font-style:normal}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card .shop-courier-progress>div{background:var(--management-surface);color:var(--management-ink)}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card .preparing-badge{background:var(--management-raised);color:var(--management-muted);border:1px solid var(--management-line);border-radius:7px;padding:6px 8px}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card.order-ready .preparing-badge{background:#1b3329;color:#9de2ba;border-color:#2c5140}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card :is(.receipt-button,.tracking-button){background:var(--management-raised);color:var(--management-ink);border:1px solid var(--management-line)}
html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card .cancel-button{background:transparent;border:1px solid #634048;color:#f3acb5;--content-icon-color:#f3acb5}

html[data-theme=dark] .nova-app-theme .nova-shop-shell .order-card .items-list .order-item>b{color:var(--management-muted)}
