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

*{box-sizing:border-box}body{margin:0;color:#172033;background:#f6f8fb;font-family:system-ui,-apple-system,'Segoe UI','Malgun Gothic',sans-serif;font-size:15px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .15s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7aa5ee;outline-offset:3px}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.35;letter-spacing:-1px;margin-bottom:12px}h2{font-size:19px;line-height:1.45;margin-bottom:18px}p{color:#526174}small{font-size:12px;color:#566478}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}input,select{border:1px solid #d7dfe9;border-radius:9px;padding:12px 14px;background:white;color:#172033;min-width:0;width:100%}form{display:grid;gap:18px}.primary,.secondary{border:0;border-radius:9px;min-height:45px;padding:11px 18px;font-weight:650}.primary{color:#fff;background:#244c93}.primary:hover{background:#193b77}.secondary{background:#ebf0f7;color:#284674;border:1px solid #d9e2ee}.secondary:hover{background:#e2e9db}.compact{min-height:35px;padding:6px 12px;font-size:13px}.text-button{border:0;background:transparent;color:#3c6950;padding:10px;font-size:13px}.pill{display:inline-flex;border-radius:6px;background:#e9f2e6;color:#527448;padding:4px 9px;font-size:11px;white-space:nowrap;font-weight:600}.pill.warning{background:#fff0cd;color:#906a18}.pill.muted{background:#f0f1ed;color:#8a9186}.notice{background:#e9f3e8;border:1px solid #d2e4ce;padding:12px 16px;border-radius:9px;margin-bottom:22px;color:#3e6538;font-size:14px}.notice.error{background:#fff0eb;border-color:#f1d1c5;color:#9c4b34}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1px;color:#7e9179;display:block;margin-bottom:12px}.mark{height:43px;width:43px;display:inline-grid;place-items:center;background:#e3edff;color:#20417a;border-radius:12px;font-weight:750;font-size:21px;flex-shrink:0}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.intro{background:#eef4ff;color:#172033;padding:11vh 9vw;position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100dvh}.intro .eyebrow{color:#244c93;letter-spacing:1px}.intro h1{font-size:clamp(34px,3.4vw,54px);line-height:1.4;letter-spacing:-2px;margin:20px 0 30px}.intro p{color:#526174;line-height:2}.intro-bottom{display:flex;align-items:center;gap:15px;margin-top:75px;font-size:13px;line-height:1.7}.intro-bottom small{color:#526174}.auth-panel{display:grid;place-items:center;padding:55px 35px;background:#fcfdf9}.auth-inner{width:100%;max-width:360px}.auth-inner h2{font-size:29px;margin:22px 0 10px;letter-spacing:-1px}.auth-inner>p{font-size:14px;margin-bottom:30px}.auth-inner .text-button{display:block;margin:15px auto}.help{font-size:12px!important;text-align:center;margin-top:28px;color:#899182}.workspace{display:grid;grid-template-columns:245px 1fr;min-height:100dvh}aside{background:#ffffff;color:#172033;padding:35px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:14px;font-weight:650;line-height:1.55}.env{font-size:11px;color:#a8bc9b;margin:20px 4px 35px}nav{display:grid;gap:8px}nav button{border:0;background:transparent;color:#344561;text-align:left;padding:13px 17px;border-radius:8px;font-size:14px}nav button.selected,nav button:hover{background:#e9f0fd;color:#193b77}.aside-bottom{margin-top:auto;display:flex;flex-direction:column;gap:6px;font-size:13px;padding:20px 4px 0}.aside-bottom span{font-size:11px;color:#5a6c85;overflow-wrap:anywhere}.aside-bottom button{color:#344561;border:1px solid #d7e0ed;background:transparent;border-radius:6px;padding:6px;margin-top:12px}.main-area{min-width:0}header{height:82px;background:#fff;border-bottom:1px solid #e6eae2;display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:12px}.company-selector select{border:0;font-weight:650;padding-left:0;width:auto;max-width:330px}.header-actions{display:flex;gap:9px;align-items:center}main{max-width:1250px;margin:auto;padding:40px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:28px}.section-heading p{margin-bottom:0;font-size:14px}.panel{background:white;border:1px solid #e0e6ef;border-radius:14px;padding:27px;margin-bottom:24px;min-width:0}.panel p{font-size:13px;margin-bottom:22px}.grid{display:grid;gap:24px}.grid.two{grid-template-columns:1fr 1fr}.grid>.panel{height:calc(100% - 24px)}.empty{background:#f7f9f4;border:1px dashed #e1e6d9;border-radius:9px;padding:30px 20px;color:#8a9483;text-align:center;font-size:13px;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:27px}.stats>div{padding:23px 25px;background:white;border:1px solid #e1e7f0;border-radius:12px}.stats span{display:block;color:#7e8a76;font-size:12px;margin-bottom:12px}.stats strong{font-size:31px;font-weight:650;line-height:1.3}.stats strong small{font-size:13px;font-weight:400;margin-left:7px}.stats .small-value{font-size:21px}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.module-grid>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 0;border-top:1px solid #eff1ea;font-size:13px}.event-list,.site-list{list-style:none;padding:0;margin:0}.event-list li{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid #f0f2ec;padding:12px 0;font-size:13px}.event-list time{color:#8d9687;font-size:11px}.site-list li{display:flex;flex-direction:column;border-bottom:1px solid #e8edf4;padding:12px 0}.site-list li span{font-size:12px;color:#89937f}.site-list{margin-bottom:20px}.invite-code{margin-top:22px;padding:16px;background:#f5f8ef;border-radius:8px}.invite-code input{font-family:monospace;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;white-space:nowrap}th{color:#87917d;font-weight:500;padding:11px 14px;border-bottom:1px solid #e9ede4}td{padding:15px 14px;border-bottom:1px solid #f0f3ec}footer{font-size:11px;color:#9aa38f;padding:0 40px 24px}.loading{padding:60px;text-align:center;color:#87937c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1050px){.workspace{grid-template-columns:205px 1fr}main{padding:28px}header{padding:0 28px}.grid.two{grid-template-columns:1fr}.grid>.panel{height:auto;margin-bottom:0}.grid{margin-bottom:24px}.module-grid{grid-template-columns:1fr}.stats{gap:12px}.stats>div{padding:18px}.intro{padding:8vh 6vw}}@media(max-width:700px){.auth-layout{grid-template-columns:1fr}.intro{min-height:auto;padding:35px 28px}.intro h1{font-size:31px;margin:12px 0 18px}.intro p,.intro-bottom{display:none}.auth-panel{padding:35px 26px}.workspace{display:block}aside{height:auto;position:static;padding:18px 20px}.brand{font-size:12px}.brand .mark{height:35px;width:35px;font-size:18px}.env{margin:10px 0;font-size:10px}nav{display:flex;flex-wrap:wrap;gap:5px}nav button{padding:8px 12px;font-size:12px}.aside-bottom{display:none}header{height:auto;min-height:70px;padding:12px 20px;flex-wrap:wrap}.company-selector select{font-size:13px;max-width:270px}.header-actions{gap:6px}.header-actions button{font-size:11px;padding:6px 9px}main{padding:25px 18px}h1{font-size:25px}.section-heading{gap:10px}.section-heading .pill{font-size:10px}.panel{padding:21px}.stats{gap:8px}.stats>div{padding:14px 11px}.stats span{font-size:10px}.stats strong{font-size:24px}.stats .small-value{font-size:17px}.event-list li{flex-direction:column;gap:2px}footer{padding:0 18px 20px}.module-grid>div{font-size:12px}input,select{font-size:16px}}
main.auth-layout{max-width:none;margin:0;padding:0;width:100%}
.mobile-only{display:none}@media(max-width:700px){.mobile-only{display:inline-block}}
.header-actions button{white-space:nowrap}@media(max-width:700px){.main-area>header{gap:10px}.header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.header-actions>.role-switch{flex-basis:100%}.header-actions>.text-button{flex:0 0 auto}}

.business-footer{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:11px;line-height:1.8;color:#74816d}.auth-layout>.business-footer{grid-column:1/-1;padding:18px 26px;background:#f6f8fb;justify-content:center}.auth-layout .intro{min-height:calc(100dvh - 62px)}@media(max-width:700px){.auth-layout .intro{min-height:auto}.business-footer{flex-direction:column;gap:2px}.auth-layout>.business-footer{align-items:center;text-align:center}}
.site-map-editor{border-top:1px solid #e8edf4;margin-top:26px;padding-top:22px}.site-map-editor h3{font-size:16px}.site-results{display:grid;gap:4px}.address-result{width:100%;text-align:left;border:1px solid #e1e7f0;border-radius:8px;background:#f7f9fc;padding:9px 12px;color:#34513c;font-size:13px}.address-result:hover{background:#eef4fd}#site-map{height:360px;width:100%;border:1px solid #d7dfe9;border-radius:9px;z-index:0}.site-pin span{display:block;width:28px;height:28px;background:#c13530;border:3px solid #fff;box-shadow:0 2px 7px #0005;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.leaflet-container a{color:#126cb4}.leaflet-control-attribution{white-space:normal!important}@media(max-width:700px){#site-map{height:300px}}
.contract-editor-form details{border:1px solid #e1e7f0;border-radius:10px;background:#f8fafc;padding:0 16px}.contract-editor-form summary{cursor:pointer;padding:14px 0;font-weight:700;color:#2c4162}.contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:4px 0 18px}.contract-preview{white-space:pre-wrap;max-height:260px;overflow:auto;padding:16px;border:1px solid #e4e8e1;border-radius:8px;background:#f8fafc}.install-button{white-space:nowrap}@media(max-width:700px){.contract-grid{grid-template-columns:1fr}.install-button{order:-1}}
.inline-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.request-card{padding:17px 0;border-bottom:1px solid #e8edf4}.request-card strong{margin-right:12px}.request-card p{margin:8px 0}.request-card label{max-width:420px}.request-actions{display:flex;gap:10px;margin-top:10px}@media(max-width:700px){.inline-fields{grid-template-columns:1fr}}
.check-grid{display:flex;flex-wrap:wrap;gap:10px 18px}.check{flex-direction:row;align-items:center;font-weight:500}.check input{width:auto}.panel details{border-bottom:1px solid #e8edf4;padding:12px 0}.panel details summary{cursor:pointer}.panel details form{margin-top:16px}
.business-footer button{border:0;background:none;color:#52654f;text-decoration:underline;padding:0;font-size:11px}.legal-page{max-width:900px;margin:0 auto;background:#fff;border:1px solid #e0e6ef;border-radius:12px;padding:38px}.legal-page h1{margin:24px 0}.legal-page h2{font-size:18px;margin:28px 0 8px}.legal-page p{line-height:1.9}.public-legal{min-height:calc(100dvh - 70px);padding:32px;background:#f6f8fb}.public-legal+.business-footer{padding:18px;justify-content:center;background:#f6f8fb}textarea{width:100%;border:1px solid #dce2d8;border-radius:8px;padding:12px;font:inherit;line-height:1.6;resize:vertical}.action-bar,.check-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.inline-form{display:flex;gap:6px;align-items:center}.inline-form input{min-width:100px}.request-card.read{opacity:.68}.request-card time{float:right;color:#7b8778;font-size:11px}aside{overflow-y:auto}nav{padding-bottom:18px}@media(max-width:700px){.legal-page{padding:22px}.public-legal{padding:14px}.inline-form{display:grid}.request-card time{float:none;display:block;margin-top:4px}}
.approval-steps{display:grid;gap:7px;margin:12px 0;padding-left:22px}.approval-steps li{padding:8px 10px;border-radius:8px;background:#f5f8f2}.approval-steps span{margin-left:8px;color:#60715f;font-size:12px}.approval-steps small{display:block}
.warning-box,.join-note{padding:15px 17px;border:1px solid #ead9ad;border-radius:9px;background:#fff9e8;color:#68572e;margin-bottom:18px;font-size:13px}.warning-box p{margin:7px 0 0;color:#786b4b}.join-note{border-color:#d3e4cf;background:#f2f8ef;color:#3f6240}.check-result{padding:12px 14px;border-radius:8px;background:#edf6eb;color:#3d6a3d;font-size:13px}.check-result.error{background:#fff0eb;color:#984930}.check-line{flex-direction:row;align-items:flex-start;font-weight:500;line-height:1.6}.check-line input{width:auto;margin-top:4px}.invite-code{display:grid;gap:10px}.invite-code small{display:block}

.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-menu-button{display:none;border:1px solid #496655;background:transparent;color:#edf3e6;border-radius:8px;padding:7px 10px;font-size:12px}.nav-group{display:grid;gap:4px;margin-top:20px}.nav-group:first-child{margin-top:28px}.nav-group-label{padding:0 14px 5px;color:#596c86;font-size:10px;font-weight:700;letter-spacing:1px}.nav-group button{padding:10px 15px}.role-switch{display:inline-flex;padding:3px;border:1px solid #dce4da;border-radius:9px;background:#eef2f7}.role-switch button{border:0;background:transparent;color:#647267;border-radius:6px;padding:6px 11px;font-size:12px}.role-switch button.active{background:#244c93;color:#fff;box-shadow:0 1px 3px #1b38241f}
.priority-panel>.panel{border-color:#cbdcc8;box-shadow:0 8px 28px #18375e15}.priority-panel>.panel h2{font-size:22px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-action{min-height:92px;border:1px solid #dfe7dc;border-radius:11px;background:#f7f9fc;color:#294535;padding:16px;text-align:left}.quick-action:hover{background:#eef4fd;border-color:#bfd2ba}.quick-action strong,.quick-action span{display:block}.quick-action strong{font-size:14px;margin-bottom:5px}.quick-action span{font-size:11px;color:#788578}.compact-list{display:grid;gap:7px}.compact-list span{padding-top:7px;border-top:1px solid #e8edf4;color:#637064;font-size:12px}
.home-grid>.panel{margin-bottom:0}.setup-list,.task-list{display:grid;gap:8px}.setup-list button,.task-list button{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #e0e6ef;border-radius:10px;background:#f8fafc;color:#2c4162;padding:13px 14px;text-align:left}.setup-list button:hover,.task-list button:hover{background:#f0f6ed}.setup-list button>span:first-child{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff1d6;color:#8b671b;font-weight:700;flex:0 0 auto}.setup-list button.done>span:first-child{background:#e6f2e3;color:#3f7342}.setup-list strong,.setup-list small{display:block}.setup-list small{margin-top:2px;font-weight:400}.task-list button{justify-content:space-between}.task-list button span{font-size:12px;color:#56705c}.success-empty{background:#f1f8ef;color:#477248;border-color:#d8e8d4}
.flow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.flow-steps>div{display:grid;grid-template-columns:32px 1fr;column-gap:10px;align-items:center;border:1px solid #e0e6ef;border-radius:11px;background:#fff;padding:14px}.flow-steps>div>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf2f8;color:#607260;font-weight:700}.flow-steps>div.active{border-color:#b9d0b5;background:#f5faf3}.flow-steps>div.active>span{background:#244c93;color:#fff}.flow-steps strong{font-size:13px}.flow-steps small{font-weight:400}.invite-send-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border-radius:11px;background:#eef4ff;color:#193b77;margin-bottom:18px}.invite-send-card .eyebrow{color:#244c93;margin-bottom:4px}.large-code{display:block;font:700 25px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:2px}.message-preview{border:1px solid #e0e7dc;border-radius:10px;background:#f7f9fc;padding:16px;margin:16px 0}.message-preview p{margin:8px 0 0;line-height:1.75;color:#536156}.danger-text{color:#9a4b3f}
@media(max-width:1050px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-steps{grid-template-columns:1fr}}
@media(max-width:700px){.mobile-menu-button{display:inline-block}.brand-row{width:100%}aside nav{display:none!important;padding:10px 0 0}aside nav.open{display:grid!important;gap:2px}.nav-group{margin-top:12px}.nav-group:first-child{margin-top:6px}.nav-group-label{padding-left:10px}.nav-group button{padding:10px 12px}.role-switch{order:5;width:100%}.role-switch button{flex:1}.quick-grid{grid-template-columns:1fr 1fr;gap:8px}.quick-action{min-height:82px;padding:13px}.flow-steps>div{padding:11px}.invite-send-card{align-items:flex-start;flex-direction:column}.large-code{font-size:21px}.action-bar>.primary,.action-bar>.secondary{width:100%}.home-grid>.panel{margin-bottom:0}}
/* Workspace feedback and calendar */
.loading-overlay{position:fixed;inset:0;background:#102f2455;z-index:5000;display:grid;place-items:center;backdrop-filter:blur(2px)}
.loading-dialog{background:#fff;min-width:260px;border-radius:16px;padding:32px;display:grid;justify-items:center;gap:14px;box-shadow:0 18px 60px #0003;color:#183b2d}
.loading-spinner{width:32px;height:32px;border:3px solid #dce7df;border-top-color:#255d49;border-radius:50%;animation:workspace-spin .8s linear infinite}
.postcode-dialog{width:min(520px,95vw);height:560px;border:0;border-radius:12px;padding:12px}.postcode-dialog::backdrop{background:#0006}.postcode-embed{height:490px;width:100%}
.postcode-embed>div,.postcode-embed iframe{width:100%!important;height:100%!important}
@keyframes workspace-spin{to{transform:rotate(360deg)}}
.attendance-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:16px}.calendar-day{min-height:110px;padding:8px;border:1px solid #e0e5df;border-radius:6px;overflow-wrap:anywhere}.calendar-day small{display:block;font-size:11px;margin-top:4px;background:#edf5ef}.calendar-day .leave-tag{background:#e9eaff}.calendar-day .late-tag{background:#fff0dc;color:#90491b}.pre-wrap{white-space:pre-wrap}#staff-import-preview:empty{display:none}.request-card small{display:block}
@media(max-width:700px){.calendar-day{min-height:85px;padding:3px}.calendar-day small{font-size:9px}.attendance-calendar{gap:2px}.loading-dialog{min-width:220px}}
/* Company workspace, expandable navigation and contextual help. */
nav .nav-group{border:0;padding:0;margin:6px 0;background:transparent;color:inherit}
nav .nav-group>summary{cursor:pointer;padding:12px 14px;font-size:13px;font-weight:700;color:#d2e2d4;list-style:none;display:flex;justify-content:space-between}
nav .nav-group>summary:after{content:'+'}nav .nav-group[open]>summary:after{content:'−'}
nav .nav-group>button{padding-left:24px}nav .nav-group>summary:hover{background:#ffffff0d}
.help-icon{display:inline-flex;align-items:center;justify-content:center;min-width:21px;width:21px;height:21px;padding:0;margin-left:8px;border:1px solid #85958d;border-radius:50%;font-size:12px;color:#51657f;background:white;vertical-align:middle}
.context-help{font-size:13px;font-weight:400;line-height:1.7;background:#edf4fc;border-left:3px solid #668a72;padding:12px 14px;border-radius:5px;margin:10px 0 18px;color:#334d40}.context-help[hidden]{display:none}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.dashboard-grid>.panel{margin:0;min-width:0}
.dashboard-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.dashboard-counts strong{display:block;font-size:30px;color:#24634b}.dashboard-counts span{font-size:13px;color:#617568}
.dashboard-list{max-height:255px;overflow:auto;padding-left:0;list-style:none}.dashboard-list li{border-bottom:1px solid #e6ece7;padding:10px 0;font-size:14px}
.hours-breakdown{font-size:13px;line-height:1.7;color:#51657f}.schedule-scroll{overflow:auto}.schedule-board{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:720px;border-left:1px solid #e1e7f0}
.schedule-day{min-height:110px;padding:12px 8px;border-right:1px solid #e1e7f0;border-bottom:1px solid #e1e7f0}.schedule-day>strong{font-size:13px}.schedule-day p{font-size:12px;padding:5px;margin:6px 0;background:#edf4fc;border-radius:4px}.schedule-day small{font-size:11px;color:#8a978e}.schedule-day.outside{background:#f8faf8}
.weekday-label{text-align:center;padding:10px;background:#eef3ef;border-bottom:1px solid #dce6de;font-size:13px}.company-logo-preview{display:block;max-width:180px;max-height:130px;object-fit:contain;margin:15px 0}
@media(min-width:1600px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-counts strong{font-size:25px}.dashboard-counts{gap:5px}.schedule-day{min-height:90px}.section-heading>label{min-width:150px}}
nav .nav-group>button{display:block;width:100%;text-align:left}
.main-area>main:has(.dashboard-grid){max-width:1600px;padding:30px}
.dashboard-list table{min-width:0;width:100%}.dashboard-list td,.dashboard-list th{padding:10px 6px;white-space:normal;font-size:12px}
@media(max-width:700px){.main-area>main:has(.dashboard-grid){padding:24px 16px}}

/* Requests are distinct tasks; the inbox contains only employee submissions. */
.approval-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.approval-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.approval-card{background:#fff;border:1px solid #dce3da;border-radius:14px;padding:22px;min-width:0}.approval-card h2{font-size:18px;margin:0}.card-title{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:16px}.request-meta{display:grid;grid-template-columns:100px 1fr;gap:7px 12px;font-size:13px;border-bottom:1px solid #e4e9e2;padding-bottom:14px}.request-meta dt{color:#6b796e}.request-meta dd{margin:0;overflow-wrap:anywhere}.approval-card .request-card{padding:0;border:0;margin:0}.approval-card .request-card>strong,.approval-card .request-card>.pill{display:none}.approval-card .request-actions{margin-top:16px}.approval-card small{display:block;margin-top:12px}.device-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px}.device-actions small{display:block}.rest-day{background:#e9ede8!important;color:#657364}.schedule-day.rest-day small{font-weight:700}.rest-row{background:#f0f3f8}.day-state{display:block;font-size:12px;color:#687968;margin-top:3px}.rest-row input:disabled{color:#8d978c;background:#f0f3f8;border-color:transparent}.seat-summary{padding:18px;border-radius:10px;background:#eef3e9;margin:20px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.seat-summary p{width:100%;margin:0}.login-account-option{border:1px solid #d7e2d1;border-radius:10px;padding:20px;margin:24px 0}.login-account-option p,.field-note{font-size:13px;color:#52647b}.password-layout{max-width:620px;margin:60px auto;padding:20px}.panel>form>button{margin-top:8px}#correction-history{scroll-margin-top:24px}
@media(min-width:1700px){.approval-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.approval-grid{grid-template-columns:1fr}.approval-card{padding:18px}.approval-tabs{gap:6px}.request-meta{grid-template-columns:90px 1fr}.password-layout{margin:20px auto}}
.holiday-day{background:#fff5f3}.schedule-day .holiday-tag,.calendar-day .holiday-tag{display:block;color:#b2302d;font-weight:700;margin:5px 0}.site-map-editor{display:grid;gap:12px}
.payroll-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:12px 26px;align-items:start}.payroll-controls{min-width:0}.payroll-controls>form,.payroll-controls>details{margin:0 0 12px}.payroll-controls>button{width:100%}#pay-preview{position:sticky;top:20px;min-width:0;margin:0}.pay-slip-paper,.contract-live-preview{background:#fff;border:1px solid #dfe4dd;box-shadow:0 8px 24px #183c2410;border-radius:10px;padding:24px;color:#22332a}.pay-slip-paper h3,.contract-live-preview h3{margin:0 0 12px;font-size:18px}.pay-slip-paper table{width:100%;border-collapse:collapse;margin:18px 0}.pay-slip-paper td,.pay-slip-paper th{border-bottom:1px solid #e7ece6;padding:7px;text-align:left}.pay-slip-paper td:last-child{text-align:right}.pay-slip-paper .total{background:#eef4ee;font-weight:700}.net-pay{display:block;border-top:2px solid #234833;padding-top:12px;font-size:18px}.pay-slip-paper small{display:block;margin-top:12px}.contract-editor-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.9fr);gap:16px 26px}.contract-editor-form>*:not(.contract-live-preview){grid-column:1}.contract-live-preview{grid-column:2;grid-row:1/span 16;position:sticky;top:20px;max-height:75vh;overflow:auto}.contract-live-preview>div{white-space:pre-wrap;line-height:1.6;font-size:13px}.contract-editor-form .contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.payroll-editor,.contract-editor-form{display:block}#pay-preview,.contract-live-preview{position:static;margin:16px 0;max-height:none}.contract-editor-form .contract-grid{grid-template-columns:1fr}}
.header-company{display:flex;align-items:center;gap:9px;min-width:0}.header-company-logo{width:38px;height:38px;object-fit:contain;border-radius:7px;border:1px solid #dfe6db;background:#fff}#staff-clock-map{height:240px;width:100%;margin:10px 0;border:1px solid #d7dfe9;border-radius:9px;z-index:0}.site-address-search{border:1px solid #d7dfe9;border-radius:9px;padding:12px}.site-address-search summary{cursor:pointer;font-weight:600}.site-address-search label{margin-top:12px}.site-address-search button{margin-top:8px}.site-results:empty{display:none}@media(max-width:700px){#staff-clock-map{height:220px}}
/* Compact records and consistent actions */
.site-list .record-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}.record-info{display:grid;gap:5px;min-width:0}.record-info span{overflow-wrap:anywhere}.record-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.record-actions button{min-height:38px;white-space:nowrap}.staff-actions{min-width:260px;justify-content:flex-start}.staff-actions .departure-field{width:155px;margin:0;font-size:11px}.staff-actions .departure-field input{margin-top:3px;padding:8px}.danger-button{color:#9a3f39!important;border-color:#e9cbc7!important;background:#fff8f7!important}.import-actions,.site-picker-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}.import-actions button,.site-picker-actions button{width:auto;min-width:175px;margin:0}.attendance-export{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.attendance-export label{min-width:150px}.schedule-entry,.schedule-more{display:block;width:100%;text-align:left;margin:6px 0;padding:6px;border:1px solid #dce9dd;border-radius:6px;background:#f3f8f2;color:#254c39;font-size:12px}.schedule-more{background:#fff;color:#325946}.schedule-modal{width:min(560px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:14px;padding:25px;box-shadow:0 20px 70px #0004}.schedule-modal::backdrop{background:#14234390}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.modal-heading h2{margin:0}.schedule-modal-list{display:grid;gap:8px}.schedule-history{margin:20px 0}.schedule-history>summary{cursor:pointer;padding:12px}.public-home{min-height:100vh;background:#f6f8fb;padding:0!important;max-width:none!important}.public-top{display:flex;align-items:center;justify-content:space-between;padding:24px max(5vw,24px);background:#fff}.public-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:#244c93}.public-hero{padding:clamp(70px,11vh,140px) max(6vw,24px);background:linear-gradient(120deg,#eaf2ff,#fff);min-height:510px}.public-hero h1{font-size:clamp(35px,5vw,65px);line-height:1.2;letter-spacing:-.04em;margin:18px 0}.public-hero p{max-width:570px;font-size:18px;line-height:1.7}.public-actions{display:flex;gap:12px;margin-top:32px}.public-actions button{width:auto;min-width:145px}.public-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:55px max(6vw,24px)}.public-features article{padding:30px;border:1px solid #dce4ef;border-radius:16px;background:#fff}.public-features strong{font-size:19px}.public-features p{line-height:1.7;color:#526174}.public-home>.business-footer{padding:25px;justify-content:center}@media(max-width:700px){.site-list .record-row{align-items:flex-start;flex-direction:column}.record-actions,.staff-actions{min-width:0;justify-content:flex-start}.import-actions button,.site-picker-actions button{width:100%}.public-features{grid-template-columns:1fr;padding-top:24px}.public-hero{min-height:400px}.public-hero p{font-size:15px}}
.org-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.org-flow>section{padding:18px;border:1px solid #e0e6ef;border-radius:12px;background:#f8fafc;min-width:0}.org-flow h3{margin:0 0 6px}.org-flow p{min-height:36px;color:#657568;font-size:13px}.management-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.management-cards .request-card{padding:18px;border:1px solid #e2e9e0;border-radius:10px}.management-cards .request-card p{overflow-wrap:anywhere}@media(max-width:900px){.org-flow{grid-template-columns:1fr}.org-flow p{min-height:0}}
.install-guide{width:min(430px,calc(100vw - 32px));border:0;border-radius:16px;padding:25px;box-shadow:0 18px 60px #0004;color:#172033}.install-guide::backdrop{background:#14234399}.install-guide p{line-height:1.8}.install-url{padding:12px;border:1px solid #d7dfe9;border-radius:8px;overflow-wrap:anywhere;margin:16px 0;background:#f6f8fb}.install-guide .record-actions{justify-content:flex-end}
/* 월간 출퇴근 기록: 직원은 세로, 날짜는 가로 */
.attendance-grid{max-width:100%;overflow:auto;border:1px solid #dce4dd;border-radius:9px;margin:16px 0;overscroll-behavior-inline:contain}
.attendance-grid table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.attendance-grid th,.attendance-grid td{box-sizing:border-box;border-right:1px solid #e1e7f0;border-bottom:1px solid #e1e7f0;padding:0;text-align:center;min-width:57px;height:56px}
.attendance-grid thead th,.attendance-grid tfoot th,.attendance-grid tfoot td{height:38px;background:#f6f8fb;font-weight:700}
.attendance-grid thead th{position:sticky;top:0;z-index:2}
.attendance-grid thead th small{display:block;color:#607268;font-weight:400}
.attendance-grid thead th.weekend{color:#b34040}
.attendance-grid tbody th,.attendance-grid thead th:first-child,.attendance-grid tfoot th{position:sticky;left:0;z-index:3;min-width:145px;max-width:145px;padding:10px;text-align:left;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attendance-grid thead th:first-child{z-index:4;background:#f6f8fb}.attendance-grid tfoot th{background:#f6f8fb}
.attendance-grid td:last-child,.attendance-grid th:last-child{min-width:72px}.attendance-grid td button{display:block;width:100%;height:100%;padding:5px 2px;border:0;border-radius:0;background:transparent;color:#273f34;font-size:11px;line-height:1.6;white-space:nowrap}
.attendance-grid td button:hover,.attendance-grid td button:focus-visible{outline:2px solid #377658;outline-offset:-2px;background:#e8f4ea}
.attendance-grid .cell-worked{background:#e8f4ea}.attendance-grid .cell-open{background:#fff4de}.attendance-grid .cell-leave{background:#e9eef8}.attendance-grid .cell-off{background:#f7f8f8;color:#7b8984}.attendance-grid .cell-missing{color:#a85536}.attendance-grid .attendance-total{font-weight:700}
.attendance-dialog{width:min(560px,94vw)}.attendance-dialog form{display:grid;gap:14px}.attendance-dialog .inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-dialog textarea{min-height:90px}
@media(max-width:650px){.attendance-dialog .inline-fields{grid-template-columns:1fr}.attendance-grid tbody th,.attendance-grid thead th:first-child,.attendance-grid tfoot th{min-width:95px;max-width:95px}.attendance-grid th,.attendance-grid td{min-width:52px}}
/* Mobile side drawer, compact month grid and reliable map pin. */
.staff-site-marker span{display:block;width:26px;height:26px;background:#c13530;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 3px 8px #0006;transform:rotate(-45deg)}
.staff-location-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.staff-location-actions button{flex:0 0 auto}.staff-location-actions small{min-width:0;overflow-wrap:anywhere}
.header-home-button,.aside-home{border:1px solid #d9e2ee;border-radius:8px;background:#ebf0f7;color:#284674;padding:7px 12px;white-space:nowrap}.header-menu-button{display:none}.aside-home,.mobile-menu-backdrop,.schedule-day-open{display:none}
@media(max-width:700px){
 .workspace aside{display:flex;position:fixed;top:0;bottom:0;left:0;width:min(305px,84vw);height:100dvh;z-index:72;padding:20px 18px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 35px #0003;overflow:auto}
 .workspace aside.drawer-open{transform:translateX(0)}.workspace aside nav,.workspace aside nav.open{display:grid!important;gap:2px;padding-bottom:20px}.workspace aside .aside-bottom{display:flex}
 .workspace .mobile-menu-backdrop.open{display:block;position:fixed;inset:0;z-index:71;border:0;background:#081a1399}
 .header-menu-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:38px;font-size:20px}
 .header-company{flex-wrap:wrap;gap:7px}.header-home-button{padding:6px 9px;font-size:12px}
 .aside-home{display:block;width:100%;text-align:left;margin:18px 0 5px;color:#eaf2ff;background:#edf3ff;border-color:#d5e2f8}
 .schedule-scroll{overflow:visible}.schedule-board{min-width:0;width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-label{font-size:10px;padding:4px 0}.schedule-day{min-width:0;min-height:65px;padding:3px 2px;overflow:hidden}.schedule-day>strong{font-size:10px;white-space:nowrap}.schedule-day .holiday-tag{font-size:9px;line-height:1.2;margin:0}.schedule-day .schedule-entry,.schedule-day .schedule-more{display:none}.schedule-day-open{display:block;width:100%;margin-top:4px;padding:2px 0;border:1px solid #d9e8d8;border-radius:5px;background:#eef5ee;color:#315743;font-size:10px}
 .schedule-day p{margin:2px 0;padding:2px;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-day p:nth-of-type(n+2){display:none}.schedule-day small{font-size:9px;line-height:1.2}
 .schedule-board+.field-note{font-size:11px}
}
.annual-layout{display:grid;grid-template-columns:minmax(245px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.annual-layout>.panel{margin-bottom:18px}.annual-settings{display:grid;gap:13px}.annual-settings .field-note{margin:0}.annual-year-list{display:grid;gap:9px}.annual-year-row{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:12px;align-items:center;padding:12px;border:1px solid #e1e8db;border-radius:10px;background:#fafbf9}.annual-year-row strong,.annual-year-row small{display:block}.annual-year-row small{line-height:1.4;margin-top:3px}.annual-year-row label{font-size:11px}.annual-year-row input{padding:7px 8px}.special-grant-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.special-grant-form button{margin:0}
@media(max-width:1000px){.annual-layout{grid-template-columns:1fr}.special-grant-form{grid-template-columns:repeat(2,minmax(0,1fr))}.special-grant-form button{grid-column:span 2}}
@media(max-width:700px){.annual-year-row{grid-template-columns:minmax(0,1fr) 88px;gap:8px}.annual-year-row button{grid-column:1/-1;width:100%}.annual-year-row small{font-size:10px}}

.aside-home{display:block;width:100%;text-align:left;margin:18px 0 10px;color:#eaf2ff;background:#edf3ff;border-color:#d5e2f8}.header-home-button{display:none}.feedback-dialog{border:1px solid #dce6d9;border-radius:16px;box-shadow:0 18px 60px #14234350;padding:26px;width:min(380px,calc(100vw - 32px));color:#172033}.feedback-dialog::backdrop{background:#12251c80}.feedback-dialog p{font-size:16px;line-height:1.6;margin:0 0 22px}.feedback-dialog .record-actions{justify-content:flex-end}.boot-loading{min-height:100dvh;display:grid;place-items:center}.approval-team-list{display:grid;gap:12px}.approval-team-list fieldset{border:1px solid #e0e8dd;border-radius:10px;display:grid;gap:8px}.approval-team-list .check{flex-direction:row;align-items:center;gap:10px}.approval-team-list .check input[type=checkbox]{width:auto}.approval-team-list .check span{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.approval-team-list .check span input{width:66px;padding:5px}.annual-year-picker{max-width:200px;margin-bottom:12px}.working-tag{color:#206c46!important;font-weight:700}.working-day{border-color:#75bb8b!important;background:#f0fbf1!important}
@media(max-width:700px){.main-area>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:9px 12px;gap:6px}.header-company{min-width:0;flex-wrap:nowrap}.company-selector select{max-width:37vw;overflow:hidden;text-overflow:ellipsis}.header-actions{width:auto;display:flex;flex-wrap:nowrap;justify-content:flex-end;grid-column:2}.header-actions .install-button{font-size:10px;padding:5px 7px;min-height:32px}.header-actions .mobile-only{display:inline-flex}.header-actions .role-switch,.header-actions [data-new-company]{display:none}.schedule-day p{font-size:8px}.schedule-day strong,.schedule-day small,.schedule-day-open{font-size:9px}}

.date-short{display:none}@media(max-width:700px){.header-menu-button{color:#254b37;border-color:#c8d7c8;background:#f4f7fb;font-size:19px}.schedule-day .date-full{display:none}.schedule-day .date-short{display:inline;font-size:10px}.schedule-day .schedule-entry{display:block;width:100%;font-size:8px;line-height:1.15;padding:2px 1px;min-height:0;border:0;background:#eaf4e9;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-day .schedule-entry:nth-of-type(n+2),.schedule-day .schedule-more{display:none}.schedule-day .schedule-day-open{margin-top:2px}}

.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35em;padding:.1em .35em;margin-left:.4em;border-radius:999px;background:#ecf3dc;color:#244b39;font-size:.8em;font-weight:700}.annual-year-row{display:grid;grid-template-columns:auto minmax(12rem,1fr) minmax(7rem,9rem);align-items:center;gap:1rem}.annual-year-row .check{white-space:nowrap}@media(max-width:650px){.annual-year-row{grid-template-columns:auto 1fr}.annual-year-row>label:last-child{grid-column:2}}

.field-invalid{border:2px solid #c43d34!important;background:#fff5f3!important;outline-color:#c43d34!important}

[hidden]{display:none!important}.leave-calendar{margin:1rem 0;padding:1rem;border:1px solid #d8e0eb;border-radius:12px}.leave-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.leave-day-grid>strong{text-align:center;font-size:.8rem}.leave-day-grid label{display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:2.3rem;border:1px solid #d8e0eb;border-radius:8px}.leave-day-grid label:has(input:checked){background:#256048;color:white}.leave-day-grid input{position:absolute;opacity:0;width:1px;height:1px}.leave-balance{margin:.7rem 0;color:#345a47}

@media(min-width:1050px){.payslip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.payslip-grid>.panel{margin:0;min-width:0}.payslip-grid .compact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}}

/* Administrators must be able to switch between employee and admin views on mobile. */
@media(max-width:700px){.main-area>header .header-actions .role-switch{display:inline-flex;width:auto;min-width:142px;order:0}.main-area>header .header-actions .role-switch button{padding:5px 7px;font-size:10px}.main-area>header .signed-in-as{display:none}.main-area>header .header-actions{flex-wrap:wrap;max-width:190px}}

.temporal-localized{display:block;margin-top:.25rem;color:#52647b;font-size:.78rem;font-weight:500}
.payroll-syncing{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.65rem 1rem;min-height:96px}
.payroll-syncing .loading-spinner{grid-row:1/3}.payroll-syncing small{grid-column:2}

.temporal-control{position:relative;display:block;min-width:0;width:100%}.temporal-native{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;min-height:0!important}.temporal-trigger{display:block;text-align:left;width:100%;min-height:42px;border:1px solid #d9dfe8;border-radius:8px;padding:10px 12px;background:#fff;color:#172033;font:inherit}.temporal-control:has(input:disabled) .temporal-trigger{background:#f2f4f7;color:#788295;cursor:not-allowed}.temporal-picker{width:min(390px,calc(100vw - 32px));border:0;border-radius:16px;padding:22px;color:#172033}.temporal-picker::backdrop{background:#16203370}.temporal-picker h2{margin:0 0 16px;font-size:18px}.temporal-month,.temporal-clock{display:grid;grid-template-columns:1fr 1fr;gap:12px}.temporal-picker label{display:grid;gap:5px;font-size:13px}.temporal-picker input,.temporal-picker select{width:100%;min-width:0;padding:9px;border:1px solid #d9dfe8;border-radius:8px;font:inherit}.temporal-nav{display:flex;justify-content:space-between;margin-top:8px}.temporal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:10px 0 16px;text-align:center}.temporal-days>span{font-size:12px;color:#738096;padding:5px}.temporal-days button{border:0;border-radius:7px;background:#f4f6fa;color:#172033;min-height:36px;font:inherit}.temporal-days button[aria-pressed=true]{background:#2857d6;color:#fff}.temporal-days button:disabled{opacity:.3}.temporal-clock{margin:10px 0 18px}.temporal-error{font-size:13px;color:#b52626}.temporal-picker .record-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:14px}

/* Shared workspace surfaces, record lists and document layouts. */
:root{--surface:#fff;--surface-muted:#f6f8fb;--line:#dce4ef;--ink:#172033;--muted:#526174;--accent:#244c93;--accent-soft:#e9f0fd}
.workspace>aside{background:var(--surface);color:var(--ink);border-right:1px solid var(--line)}
.workspace>aside .brand small,.workspace>aside .aside-bottom span{color:var(--muted)}
.workspace>aside nav button,.workspace>aside nav summary{color:#344561}
.workspace>aside nav button.selected,.workspace>aside nav button:hover,.workspace>aside .aside-home{background:var(--accent-soft);color:#193b77}
.workspace>aside .mobile-menu-button{color:var(--ink);border-color:var(--line)}
.main-area>header,.panel,.quick-action,.checkbox-dropdown,.record-table-scroll{background:var(--surface);border-color:var(--line)}
.quick-action{color:#284674}.quick-action span{color:var(--muted)}.quick-action:hover{background:var(--accent-soft);border-color:#c7d7f2}
.secondary{color:#284674}.secondary:hover{background:var(--accent-soft)}
.request-list{display:grid;gap:10px}
.request-list>.request-card{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.request-card>strong,.request-card>p,.request-card>small{overflow-wrap:anywhere}
.request-card small{display:block;color:var(--muted)}
.request-card>.pill{margin:0 0 4px}
.request-card .request-actions,.request-card .record-actions{margin-top:10px}
.request-card .pill,.record-table .pill{background:var(--accent-soft);color:#24457b}
.request-card .pill.muted{background:#edf0f4;color:#47576d}
.checkbox-dropdown{border:1px solid var(--line);border-radius:9px;padding:0}
.checkbox-dropdown summary{padding:10px 13px;color:#284674;font-weight:650;cursor:pointer}
.checkbox-options{display:grid;gap:8px;padding:9px 13px 12px;border-top:1px solid var(--line);max-height:260px;overflow:auto}
.checkbox-options .check{align-items:center;min-width:0;margin:0}
.checkbox-options .check>input{flex:none}
.checkbox-options span{overflow-wrap:anywhere}
.approval-order{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:12px;flex:none}
.approval-order input{width:64px;padding:5px 6px}
.promotion-choice small{display:block}
.record-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.record-table,.calculation-table,.contract-terms{width:100%;border-collapse:collapse}
.record-table th,.record-table td,.calculation-table th,.calculation-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.record-table thead th,.calculation-table .subtotal,.calculation-table .total{background:var(--surface-muted)}
.record-table tbody tr:last-child>*{border-bottom:0}
.backup-list .record-actions{align-items:flex-start;gap:8px}
.backup-list details{flex:1;min-width:105px}
.backup-list summary{padding:6px 0;color:var(--accent);cursor:pointer}
.backup-list form{margin-top:8px}
.payroll-delivery{display:grid;gap:12px}
.payroll-delivery>form[data-workspace="payroll-payment-date"]{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0}
.payroll-delivery .action-bar,.payroll-settings-link{margin:0;flex-wrap:wrap}
.payroll-settings-link{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.payroll-advanced[open]>label,.payroll-advanced[open]>.check-row,.payroll-advanced[open]>details{margin-top:12px}
.payroll-total{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--surface-muted);border-radius:8px;margin-bottom:10px}
.payroll-total strong{font-size:17px;color:var(--ink)}
.payslip-grid{display:grid;gap:12px}.payslip-grid>.panel{box-shadow:none;margin:0}
.calculation-table{font-size:13px;margin:10px 0}.calculation-table td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.calculation-table th{font-weight:500}.calculation-table .subtotal th,.calculation-table .total th{font-weight:700}
.calculation-table .total{background:var(--accent-soft);color:#193b77;font-weight:700}
.contract-document{margin-top:10px}.contract-paper{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:clamp(12px,3vw,28px);min-width:0}
.contract-paper h3{text-align:center;font-size:clamp(18px,3vw,26px);margin:4px 0 20px;color:var(--ink)}
.contract-copy,.contract-terms td{white-space:pre-wrap;overflow-wrap:anywhere}
.contract-terms{margin:16px 0;font-size:13px;table-layout:fixed}
.contract-terms caption{text-align:left;font-weight:700;color:#284674;padding:0 0 7px}
.contract-terms th,.contract-terms td{border:1px solid var(--line);padding:8px;vertical-align:top;text-align:left;overflow-wrap:anywhere}
.contract-terms th{background:var(--surface-muted);width:34%}
#contract-live-preview{white-space:normal}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){
 .record-table th,.record-table td{padding:8px}
 .backup-list,.backup-list tbody,.backup-list tr{display:block}
 .backup-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .backup-list tr{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:12px}
 .backup-list tbody tr+tr{border-top:1px solid var(--line)}
 .backup-list tr>*{border:0;padding:0}
 .backup-list tbody td:last-child{grid-column:1/-1;padding-top:5px}
 .request-list>.request-card{padding:12px}
 .payroll-delivery .action-bar>button{width:100%}
}

/* FLOIN color themes */
:root{
 color-scheme:light;
 --surface:#f9fafc;--surface-muted:#edf1f7;--line:#d4deeb;
 --ink:#1d2b3e;--muted:#4c5f75;--accent:#264d8e;--accent-soft:#e4edfb;
 --button-text:#234a83;--warning-ink:#744b0c;--warning-surface:#fff0d5;
 --danger-ink:#922b31;--danger-surface:#ffeaec;--success-ink:#205d46;--success-surface:#e6f3ed;
}
:root[data-theme="dark"]{
 color-scheme:dark;
 --surface:#202d40;--surface-muted:#162032;--line:#3c4c63;
 --ink:#eef3fb;--muted:#bccae0;--accent:#92b9ff;--accent-soft:#263e65;
 --button-text:#dce9ff;--warning-ink:#ffdfa2;--warning-surface:#533d25;
 --danger-ink:#ffb6bb;--danger-surface:#4e2c39;--success-ink:#a6e9cf;--success-surface:#204639;
}
body,.workspace,.public-home,.auth-panel{background:var(--surface-muted);color:var(--ink)}
body :is(p,small,.field-note,.signed-in-as,.business-footer,.temporal-localized){color:var(--muted)}
.workspace>aside,.main-area>header,.public-top,.panel,.quick-action,.request-list>.request-card,.checkbox-dropdown,.record-table-scroll,.contract-paper,
.feedback-dialog,.schedule-modal,.temporal-picker,.legal-page,.loading-dialog,.approval-card{background:var(--surface);color:var(--ink);border-color:var(--line)}
.public-hero,.intro{background:linear-gradient(135deg,var(--accent-soft),var(--surface));color:var(--ink)}
.intro p,.intro-bottom small,.public-features p,.quick-action span{color:var(--muted)}
.public-features article,.invite-send-card,.org-flow>section,.contract-live-preview,.contract-live-preview h3,.week-toolbar,.empty,.payroll-total,.temporal-trigger,
.table-wrap,.attendance-grid,.schedule-board,.schedule-day,.schedule-week,.calendar-day,.annual-year-row,.leave-grant-card,.leave-totals>span,
.record-row,.record-table th,.record-table td,.calculation-table th,.calculation-table td,.contract-terms th,.contract-terms td{
 color:var(--ink);border-color:var(--line)
}
.record-table thead th,.calculation-table .subtotal,.contract-terms th,.payroll-total,.empty,.invite-send-card,.annual-year-row,.leave-grant-card,.leave-totals>span{background:var(--surface-muted)}
button.secondary,.temporal-trigger,.workplace-select,button.text-button{color:var(--button-text)}
button.secondary,.temporal-trigger,input,select,textarea{background:var(--surface);color:var(--ink);border-color:var(--line)}
button.secondary:hover,.temporal-trigger:hover,.quick-action:hover,.workplace-select:hover,.workplace-select[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)}
.workspace>aside nav button,.workspace>aside nav summary{color:var(--muted)}
.workspace>aside nav button.selected,.workspace>aside nav button:hover,.workspace>aside .aside-home,.calculation-table .total{background:var(--accent-soft);color:var(--button-text)}
.checkbox-dropdown summary,.contract-terms caption,.backup-list summary,.intro .eyebrow,.invite-send-card .eyebrow,.public-brand{color:var(--accent)}
.payroll-total strong,.contract-paper h3,.workspace>aside .mobile-menu-button{color:var(--ink)}
.brand-art{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{flex:none}.brand-art{color:#162b53}[data-theme="dark"] .brand-art{color:#eef3fb}.brand-wordmark{width:98px;max-width:100%;height:auto}
.brand-row .brand{min-width:0}.theme-toggle{min-height:34px;white-space:nowrap}
.workplace-select{background:transparent;border:1px solid transparent;border-radius:8px;padding:8px;text-align:left;flex:1;min-width:0}
.workplace-select strong,.workplace-select span{display:block}
.record-actions{align-items:center;justify-content:flex-end;gap:8px}
.record-actions :is(button.secondary,button.primary),.request-actions :is(button.secondary,button.primary),.danger-button{min-height:34px;padding:6px 12px;border-radius:8px}
button.danger-button{color:var(--danger-ink);background:var(--danger-surface);border-color:var(--line)}
.leave-history-header{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.leave-totals,.leave-grant-grid{display:grid;gap:12px;margin:12px 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr))}
.leave-totals>span,.leave-grant-card{border:1px solid var(--line);border-radius:10px;padding:12px}
.leave-totals strong{display:block}
.leave-grant-card dl{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:12px 0}
.leave-grant-card dd{margin:0;text-align:right;font-weight:600}
:is(.request-card,.approval-card) .pill.warning,.temporal-error{background:var(--warning-surface);color:var(--warning-ink)}
.field-invalid{color:var(--ink)!important;background:var(--danger-surface)!important;border:2px solid var(--danger-ink)!important;outline-color:var(--danger-ink)!important}

[data-theme="dark"] :is(.schedule-day,.attendance-grid th,.attendance-grid td,.role-switch,.public-features article,.check-grid label,.schedule-entry,.approval-card,.flow-steps>div,.task-list button,.setup-list button,.notice,.header-menu-button){background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(.dashboard-counts>div,.calendar-day,.compact-list>span,.site-map-editor,.contract-live-preview,.temporal-days button,.payslip-grid>.panel){background:var(--surface-muted);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(.calendar-day .leave-tag,.leave-tag,.working-tag,.schedule-day.working-day,.cell-worked,.pill){color:var(--success-ink);background:var(--success-surface)}
[data-theme="dark"] :is(.cell-missing,.late-tag,.warning,.holiday-tag,.cell-open){background:var(--warning-surface);color:var(--warning-ink)}
[data-theme="dark"] :is(.attendance-grid button,.check,.record-info span,.nav-count,.schedule-day strong,.brand small){color:var(--ink)}
[data-theme="dark"] .role-switch button.selected,[data-theme="dark"] .temporal-days button[aria-pressed="true"]{color:var(--button-text);background:var(--accent-soft)}
[data-theme="dark"] .mobile-menu-backdrop.open{background:#050b18aa}
@media(max-width:700px){
 .main-area>header .theme-toggle{font-size:11px;padding:5px 7px;min-height:27px}
 .main-area>header .header-actions{max-width:205px}
 .public-top .public-actions{margin-top:0;gap:6px;flex-wrap:wrap;justify-content:flex-end}
 .public-top .public-actions button{min-width:auto}
 .brand-mark{width:32px;height:32px}.brand-wordmark{width:85px}
 .leave-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Shared form, record and action alignment across screen sizes. */
.panel,.request-card,.approval-card,.section-heading>div,.record-actions>*{min-width:0}
input,select,textarea{max-width:100%;min-width:0}
.panel>form{max-width:100%}
.record-actions,.request-actions,.action-bar{align-items:center;gap:10px}
.record-actions button,.request-actions button{margin:0;min-height:40px}
.section-heading h1,.panel h2,.panel h3,.request-card strong{overflow-wrap:anywhere}
.payslip-recipients{margin:0 0 16px}
.payslip-recipients .checkbox-options .check{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;text-align:left}
.payslip-recipients .check input{margin-top:5px}
.payslip-recipients .check:has(input:disabled){color:var(--muted)}
.payslip-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}
.payslip-grid>.panel{margin:0;min-width:0}
.removed-payslips{margin-top:20px}
.removed-payslips .event-list li{align-items:center;gap:12px}
[data-workflow-fields]:empty{display:none}
[data-workflow-fields] label{min-width:0}
@media(max-width:980px){
}
@media(max-width:700px){
 .inline-fields,.contract-grid{grid-template-columns:minmax(0,1fr)}
 .section-heading{align-items:stretch;gap:12px}
 .section-heading>label{width:100%}
 input,select,textarea,.temporal-trigger{font-size:16px}
 .panel .record-actions,.request-actions{display:flex;flex-wrap:wrap;justify-content:flex-start}
 .panel .record-actions>button,.request-actions>button{flex:1 1 120px}
 .feedback-dialog,.install-guide{max-width:calc(100vw - 32px);box-sizing:border-box}
 .payslip-recipients .checkbox-dropdown{width:100%}
 .event-list li{flex-wrap:wrap}
}
@media(max-width:700px){
 .section-heading{flex-direction:column;align-items:stretch}
 .section-heading>div,.section-heading>label{width:100%;min-width:0}
 .section-heading h1{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
 .section-heading h1 .help-icon{flex:none;margin-left:0}
}

.greeting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.greeting-grid form{margin:0}
.employee-picker-groups{display:grid;gap:.25rem;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--line,#cfd9e6)}
.employee-picker-options{display:grid;gap:.25rem}
.payroll-hours{margin:1rem 0 1.25rem;padding:.9rem 1rem;border:1px solid var(--line,#cfd9e6);border-radius:.75rem}
.payroll-hours h3{margin:0 0 .65rem;font-size:1rem}
.payroll-hours dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.2rem,1fr));gap:.6rem;margin:0}
.payroll-hours dl>div{padding:.5rem;border:1px solid var(--line,#cfd9e6);border-radius:.5rem}
.payroll-hours dt{font-size:.82rem}
.payroll-hours dd{margin:.2rem 0 0;font-size:1.05rem;font-weight:700}
.payroll-hours p{margin:.6rem 0 0}
@media(max-width:640px){.greeting-grid{grid-template-columns:1fr}}

.contract-live-preview iframe{display:block;width:100%;height:55vh;border:0}

.signup-documents p{margin:.25rem 0}
.signup-documents a,.business-footer a{color:inherit;text-decoration:underline;text-underline-offset:.15em}
.signup-documents .check{margin:.5rem 0}
