
* { box-sizing: border-box; }
html { background:#f3f7f7; }
body { margin:0; background:#f3f7f7; color:#344054; }
button,input { font:inherit; }
button { cursor:pointer; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.app-shell h1,.app-shell h2,.app-shell h3 { max-width:100%; }
.app-stage { min-height:100vh; padding:24px; display:grid; place-items:start center; }
.app-shell { width:min(460px,100%); min-height:100vh; overflow:hidden; border:1px solid #dbe3ed; border-radius:24px; background:#fff; box-shadow:0 18px 54px rgba(32,42,99,.13); }
.brandbar { min-height:68px; padding:0 22px; border-bottom:1px solid #dbe3ed; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.brand { flex:0 0 auto; display:flex; align-items:center; gap:9px; color:#202a63; font-size:18px; font-weight:750; letter-spacing:-.035em; white-space:nowrap; }
.brand-mark { flex:0 0 auto; display:flex; gap:4px; }.brand-mark i { width:12px; height:12px; border-radius:3px; }.brand-mark i:nth-child(1){background:#c8cbc6}.brand-mark i:nth-child(2){background:#df4f51}.brand-mark i:nth-child(3){background:#f0a11c}.brand-mark i:nth-child(4){background:#9ac65b}
.brand-actions { flex:0 0 auto; display:flex; align-items:center; gap:10px; }
.brand-actions button { padding:6px 0; border:0; background:transparent; color:#657187; font-size:10px; font-weight:750; white-space:nowrap; }
.brand-actions button:first-child { color:#087f79; }
.locationbar { min-height:64px; padding:9px 22px; border-bottom:1px solid #dbe3ed; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.locationbar>div:first-child { min-width:0; }.locationbar span,.locationbar b { display:block; }.locationbar span { color:#748091; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.locationbar b { margin-top:2px; overflow:visible; color:#087f79; font-size:13px; line-height:1.15; overflow-wrap:anywhere; text-overflow:clip; white-space:normal; }
.locationbar button { min-height:40px; padding:0 13px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; font-size:11px; font-weight:800; }
.location-actions { flex:0 0 auto; display:flex; gap:5px; }.location-actions button { min-height:36px; padding:0 9px; font-size:9px; }
.content { padding:18px 18px 40px; }
.strip { overflow:hidden; border:2px solid #202a63; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(32,42,99,.09); }
.strip-viewport { display:flex; align-items:flex-start; gap:8px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none; transition:height .18s ease; }
.strip-viewport::-webkit-scrollbar { display:none; }
.strip-slide { flex:0 0 calc(100% - 18px); min-width:0; min-height:0; padding:20px 18px 16px; display:flex; flex-direction:column; gap:14px; scroll-snap-align:start; scroll-snap-stop:always; }
.strip-slide:last-child { margin-right:18px; }
.slide-head { min-height:56px; display:flex; align-items:end; justify-content:space-between; gap:12px; }
.slide-head>div { min-width:0; }.slide-head span { display:block; color:#087f79; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.slide-head h1 { margin:4px 0 0; overflow:visible; color:#202a63; font-size:24px; line-height:1.04; letter-spacing:-.04em; overflow-wrap:anywhere; text-overflow:clip; white-space:normal; }.slide-head>b { padding-bottom:3px; color:#748091; font-size:10px; white-space:nowrap; }
.route-status { margin-top:-7px; padding:8px 10px; border-left:4px solid #087f79; background:#eef7f6; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#657187; font-size:10px; }.route-status b { overflow:hidden; color:#202a63; font-size:15px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }.route-status span { flex:0 0 auto; white-space:nowrap; }
.quantity { display:grid; grid-template-columns:minmax(62px,1fr) 34px 48px 34px; align-items:center; gap:5px; }
.quantity>span { color:#748091; font-size:9px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.quantity button,.quantity input { min-width:0; height:38px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:16px; font-weight:800; }
.quantity input { padding:0 4px; text-align:center; }.quantity button { color:#087f79; }.floor-quantity>small { grid-column:1/-1; padding:7px 9px; border-left:4px solid #087f79; background:#eef7f6; color:#526075; font-size:8px; line-height:1.35; }
.floor-setup-intro { margin:0; padding:12px; border-left:4px solid #087f79; background:#eef7f6; display:grid; gap:3px; color:#526075; font-size:9px; line-height:1.4; }.floor-setup-intro b { color:#202a63; font-size:12px; }.floor-name-editor { border:1px solid #a8c9c7; border-radius:10px; background:#f8fbfb; }.floor-name-editor>header { min-height:38px; padding:0 11px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#202a63; }.floor-name-editor>header span { font-size:10px; font-weight:900; }.floor-name-editor>header b { color:#087f79; font-size:8px; text-transform:uppercase; }.floor-name-editor>p { margin:0; padding:0 11px 9px; color:#657187; font-size:8px; line-height:1.4; }.floor-name-editor>div { max-height:260px; padding:0 10px 10px; overflow-y:auto; display:grid; gap:6px; }.floor-name-editor label { display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:7px; }.floor-name-editor label span { overflow:hidden; color:#657187; font-size:8px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.floor-name-editor input { min-width:0; height:36px; padding:0 8px; border:1px solid #a8c9c7; border-radius:7px; background:#fff; color:#202a63; font-size:10px; font-weight:800; }
.foundation-room-choices { margin-top:2px; scroll-margin-top:18px; }.foundation-room-selection-note { margin:0 0 9px; color:#526075; font-size:9px; line-height:1.4; }.foundation-room-select-prompt { margin:0; padding:13px; border:1px dashed #087f79; border-radius:9px; background:#f8fafc; display:grid; gap:3px; text-align:center; }.foundation-room-select-prompt b { color:#202a63; font-size:11px; }.foundation-room-select-prompt span { color:#657187; font-size:8px; }.foundation-no-water-rooms { margin:0; padding:12px; border:1px dashed #a8c9c7; border-radius:9px; color:#657187; font-size:9px; text-align:center; }.foundation-change-count { justify-self:start; min-height:30px; padding:0; border:0; border-bottom:1px solid #087f79; background:transparent; color:#087f79; font-size:8px; font-weight:900; }
.floor-special { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.floor-special button,.floor-special span { min-height:36px; padding:0 9px; border:1px dashed #087f79; border-radius:8px; background:#fff; display:grid; place-items:center; color:#087f79; font-size:9px; font-weight:850; text-align:center; }.floor-special button.is-added,.floor-special span { border-style:solid; background:#eef7f6; color:#202a63; }
.outside-outlet-direct { padding:18px; border:2px solid #087f79; border-radius:14px; background:#eef7f6; }.outside-outlet-direct span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.outside-outlet-direct h2 { margin:8px 0 7px; color:#202a63; font-size:22px; line-height:1.12; }.outside-outlet-direct p { margin:0; color:#526075; font-size:11px; line-height:1.45; }
.floor-map-editor { padding:10px; border:1px solid #aebbd0; border-radius:10px; background:#f8fafc; display:grid; gap:8px; }.floor-map-editor>header { padding-bottom:8px; border-bottom:1px solid #dbe3ed; display:flex; align-items:end; justify-content:space-between; gap:8px; }.floor-map-editor>header span { color:#087f79; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.floor-map-editor>header b { color:#748091; font-size:7px; text-align:right; }.floor-map-levels { display:flex; flex-direction:column; gap:7px; }.floor-map-levels label { min-height:40px; padding:0; border:0; background:transparent; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:7px; }.floor-map-levels input { min-width:0; height:36px; padding:0 7px; border:1px solid transparent; border-radius:6px; background:transparent; color:#202a63; font-size:10px; font-weight:850; outline:none; }.floor-map-levels label.is-active input,.floor-map-levels input:focus { border-color:#087f79; background:#fff; }.floor-map-levels button { min-width:0; height:36px; padding:0; border:0; background:transparent; }.floor-map-levels i,.floor-map-outside i { width:100%; height:36px; border:1px solid #202a63; border-radius:4px; background:#eef1f4; display:block; }.floor-map-outside { width:100%; min-height:49px; margin-top:2px; padding-top:9px; border-top:1px dashed #087f79; display:grid; grid-template-columns:minmax(0,1fr) 38px; align-items:center; gap:7px; color:#087f79; }.floor-map-outside>button:first-child { min-width:0; padding:0; border:0; background:transparent; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:7px; color:inherit; text-align:left; }.floor-map-outside b { padding:0 7px; font-size:10px; }.floor-map-outside i { border-style:dashed; }.floor-map-outside.is-active i { border-width:2px; }.floor-map-outside .floor-map-outside-delete { width:38px; height:38px; padding:0; border:1px solid #df4f51; border-radius:8px; background:#fff; color:#b6323a; font-size:22px; font-weight:800; line-height:1; }
.setup-breadcrumb>div { width:100%; }.setup-breadcrumb b { display:flex; align-items:center; gap:5px; }.setup-breadcrumb b button { min-width:0; min-height:28px; padding:0; overflow:hidden; border:0; background:transparent; color:#087f79; font-size:12px; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }.setup-breadcrumb b button:disabled { color:#748091; cursor:default; }.setup-breadcrumb b i { flex:0 0 auto; color:#9aa4b2; font-style:normal; }
.foundation-explainer { padding:14px; border-left:5px solid #087f79; border-radius:0 10px 10px 0; background:#eef7f6; }.foundation-explainer>span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.foundation-explainer h2 { margin:5px 0 6px; color:#202a63; font-size:17px; line-height:1.15; }.foundation-explainer p { margin:0; color:#526075; font-size:10px; line-height:1.45; }
.foundation-building-map { padding:10px; border:1px solid #aebbd0; border-radius:11px; background:#f8fafc; display:grid; gap:8px; }.foundation-building-map>header { padding-bottom:8px; border-bottom:1px solid #dbe3ed; display:flex; justify-content:space-between; gap:8px; }.foundation-building-map>header span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.foundation-building-map>header b { color:#748091; font-size:8px; text-align:right; }.foundation-building-map>div { display:flex; flex-direction:column; gap:6px; }.foundation-building-map>footer { padding-top:7px; border-top:1px solid #dbe3ed; display:flex; align-items:center; justify-content:space-between; gap:8px; color:#657187; font-size:7px; font-weight:800; }.foundation-building-map>footer span { flex:1; text-align:center; }.foundation-building-map>footer button { flex:0 0 auto; min-height:24px; padding:0 7px; border:1px solid #df4f51; border-radius:6px; background:#fff; color:#b6323a; font-size:7px; font-weight:850; }.foundation-map-row { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:7px; }.foundation-map-row.is-outside { margin-top:3px; padding-top:7px; border-top:1px dashed #a8c9c7; }.foundation-floor-label { min-width:0; padding:3px 4px; border:0; border-radius:6px; background:transparent; display:grid; gap:1px; color:#202a63; text-align:left; }.foundation-floor-label b { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.foundation-floor-label span { color:#748091; font-size:6px; }.foundation-floor-label:disabled { color:#8b95a5; cursor:not-allowed; }.foundation-map-row.is-active .foundation-floor-label { background:#e8ebef; color:#202a63; }.foundation-floor-track { min-width:0; min-height:42px; display:flex; align-items:center; justify-content:center; }.foundation-room-strip { min-height:42px; padding:0; border:0; background:transparent; display:flex; align-items:center; justify-content:center; gap:3px; }.foundation-room-strip i,.foundation-room-strip button { flex:1 1 46px; width:100%; max-width:58px; min-width:2px; min-height:42px; padding:3px 2px; border:1px solid #aeb7b8; border-radius:5px; background:#c8cbc6; display:grid; place-items:center; }.foundation-room-strip button span { max-width:100%; overflow:hidden; color:#202a63; font-size:8px; font-weight:950; line-height:1.08; overflow-wrap:normal; -webkit-hyphens:auto; hyphens:auto; }.foundation-building-map.is-room-selection .foundation-room-strip button.needs-choice { border-style:dashed; border-color:#6fa9a5; background:#fff; }.foundation-building-map.is-room-selection .foundation-room-strip button.needs-choice span { color:#087f79; font-size:14px; }.foundation-building-map.is-room-selection .foundation-room-strip button.is-chosen { border-color:#6fa9a5; background:#d7eae7; }.foundation-building-map.is-room-selection .foundation-room-strip button.is-selected { border-color:#202a63; outline:2px solid #202a63; outline-offset:2px; }.foundation-outlet-strip i { border-color:#6fa9a5; background:#9ec7c3; }.foundation-room-strip button:hover,.foundation-room-strip button:focus-visible { background:#d7eae7; outline:2px solid #202a63; outline-offset:1px; }.foundation-floor-placeholder { height:18px; min-height:18px; border-radius:4px; background:#eef1f4!important; }.foundation-add-outside-floor { width:72%; min-height:30px; padding:5px 8px; border:1px dashed #087f79; border-radius:7px; background:#fff; color:#087f79; font-size:8px; font-weight:900; }.foundation-add-outside-floor:disabled { border-color:#cbd4dd; color:#8b95a5; cursor:not-allowed; }
.foundation-building-map.is-compact>div { gap:2px; }.foundation-building-map.is-compact .foundation-map-row { min-height:9px; }.foundation-building-map.is-compact .foundation-floor-label { padding:0 4px; display:flex; justify-content:space-between; align-items:center; gap:5px; }.foundation-building-map.is-compact .foundation-floor-label b { font-size:6px; }.foundation-building-map.is-compact .foundation-floor-label span { font-size:5px; }.foundation-building-map.is-compact .foundation-floor-track { min-height:7px; }.foundation-floor-band { min-width:4%; height:7px; padding:0; border:1px solid #aeb7b8; border-radius:2px; background:#c8cbc6; }.foundation-map-row:not(.is-reviewed) .foundation-floor-band { border-style:dashed; background:#fff; }
.foundation-map-complete { padding:13px; border:2px solid #087f79; border-radius:11px; background:#eef7f6; display:grid; gap:4px; }.foundation-map-complete>span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.foundation-map-complete h2 { margin:0; color:#202a63; font-size:16px; line-height:1.2; }.foundation-map-complete p { margin:0; color:#526075; font-size:9px; line-height:1.45; }
.foundation-floor-entry { padding:12px; border:2px solid #087f79; border-radius:11px; background:#fff; display:grid; gap:10px; }.foundation-floor-entry>header { display:flex; justify-content:space-between; gap:10px; }.foundation-floor-entry>header span { color:#202a63; font-size:15px; font-weight:900; }.foundation-floor-entry>header b { color:#087f79; font-size:8px; text-transform:uppercase; }.water-room-quantity { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }.water-room-quantity label { display:grid; gap:4px; }.water-room-quantity label span { color:#526075; font-size:9px; font-weight:850; }.water-room-quantity input { width:100%; height:42px; padding:0 9px; border:1px solid #a8c9c7; border-radius:8px; color:#202a63; font-size:18px; font-weight:900; }.water-room-quantity>div { display:grid; grid-template-columns:34px 38px 34px; align-items:center; }.water-room-quantity button,.water-room-quantity b { height:42px; border:1px solid #a8c9c7; background:#fff; display:grid; place-items:center; color:#087f79; font-size:18px; }.water-room-quantity button:first-child { border-radius:8px 0 0 8px; }.water-room-quantity button:last-child { border-radius:0 8px 8px 0; }.water-room-quantity b { border-left:0; border-right:0; color:#202a63; font-size:13px; }.foundation-floor-entry details { padding-top:7px; border-top:1px solid #dbe3ed; }.foundation-floor-entry summary { color:#657187; font-size:8px; font-weight:850; cursor:pointer; }.foundation-floor-entry details .rename-control { margin-top:8px; }.foundation-next { min-height:48px; padding:8px 11px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:10px; font-weight:950; }.foundation-next:disabled { background:#d9ddde; color:#7b8493; }
.water-map-instruction { margin:0; padding:12px; border-left:4px solid #087f79; background:#eef7f6; display:grid; gap:3px; color:#526075; font-size:9px; line-height:1.4; }.water-map-instruction b { color:#202a63; font-size:11px; }.foundation-add-missing { border:1px dashed #087f79; border-radius:9px; }.foundation-add-missing summary { padding:11px; color:#087f79; font-size:9px; font-weight:900; cursor:pointer; list-style:none; }.foundation-add-missing>div { padding:0 10px 10px; display:grid; gap:8px; }.foundation-add-missing p { margin:0; color:#657187; font-size:8px; }.records-skip { min-height:38px; border:0; background:transparent; color:#087f79; font-size:9px; font-weight:900; }.optional-name { padding:9px; border:1px solid #dbe3ed; border-radius:9px; background:#f8fafc; }.outlet-rename input { min-width:0; height:32px; padding:0 7px; border:1px solid transparent; border-radius:6px; background:transparent; color:#202a63; font-size:10px; font-weight:850; }.outlet-rename input:focus { border-color:#087f79; background:#fff; outline:0; }
.outlet-assignment-guide { padding:14px; border-left:4px solid #087f79; background:#eef7f6; display:grid; gap:4px; }.outlet-assignment-guide>span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.outlet-assignment-guide h2 { margin:0; color:#202a63; font-size:18px; line-height:1.15; }.outlet-assignment-guide p { margin:0; color:#526075; font-size:9px; line-height:1.45; }.foundation-building-map.is-outlet-assignment { border:2px solid #202a63; background:#fff; }.foundation-building-map.is-outlet-assignment .foundation-map-row.is-active .foundation-floor-label { background:transparent; }.foundation-building-map.is-outlet-assignment .foundation-room-strip button.needs-outlets { border-style:dashed; border-color:#8b98aa; background:#fff; }.foundation-building-map.is-outlet-assignment .foundation-room-strip button.has-outlets,.foundation-building-map.is-outlet-assignment .foundation-outlet-strip button { border-color:#6fa9a5; background:#9ec7c3; }.foundation-building-map.is-outlet-assignment .foundation-room-strip button.is-selected { border-color:#202a63; outline:2px solid #202a63; outline-offset:2px; }.outlet-room-select { margin:0; padding:13px; border:1px dashed #087f79; border-radius:9px; background:#f8fafc; display:grid; gap:3px; text-align:center; }.outlet-room-select b { color:#202a63; font-size:11px; }.outlet-room-select span { color:#657187; font-size:8px; }.outlet-room-editor { scroll-margin-top:18px; padding:13px; border:2px solid #202a63; border-radius:12px; background:#fff; display:grid; gap:12px; }
.outlet-work-heading { min-height:28px; display:flex; align-items:center; justify-content:space-between; gap:10px; }.outlet-work-heading span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.outlet-work-heading b { color:#202a63; font-size:11px; text-align:right; }
.outlet-assignment-map { overflow:hidden; border:1px solid #d7dee7; border-radius:11px; background:#f3f5f8; }
.outlet-map-band,.outlet-outside-band { width:100%; min-height:46px; padding:7px 10px; border:0; border-bottom:1px solid #d7dee7; background:#f3f5f8; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#202a63; text-align:left; }
.outlet-map-band>span,.outlet-outside-band>span,.outlet-focus-floor>header>span { display:flex; align-items:center; gap:8px; }.outlet-map-band i,.outlet-outside-band i,.outlet-focus-floor>header i { width:28px; height:28px; border:1px solid #aeb9c9; border-radius:7px; background:#fff; display:grid; place-items:center; color:#202a63; font-size:10px; font-style:normal; font-weight:950; }.outlet-map-band b,.outlet-outside-band b,.outlet-focus-floor>header b { font-size:10px; }.outlet-map-band em,.outlet-outside-band em,.outlet-focus-floor>header em { color:#657187; font-size:8px; font-style:normal; font-weight:800; text-align:right; }
.outlet-map-band:hover,.outlet-map-band:focus-visible { background:#e9edf2; outline:2px solid #087f79; outline-offset:-2px; }
.outlet-focus-floor { padding:8px 10px 11px; border-bottom:1px solid #d7dee7; background:#fff; display:grid; gap:7px; }.outlet-focus-floor>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.outlet-focus-floor>header i { border-color:#202a63; }
.outlet-focus-rooms { width:100%; display:flex; align-items:center; justify-content:center; gap:4px; }.outlet-focus-rooms button { position:relative; flex:0 0 var(--outlet-room-size); width:var(--outlet-room-size); aspect-ratio:1; padding:0; border:1px solid #aeb7b3; border-radius:7px; background:#c8cbc6; display:grid; place-items:center; color:#202a63; }.outlet-focus-rooms button.is-complete { background:#d9dbd7; }.outlet-focus-rooms button.is-selected { border-color:#202a63; background:#202a63; color:#fff; outline:2px solid #087f79; outline-offset:1px; }.outlet-focus-rooms button:focus-visible { outline:2px solid #087f79; outline-offset:1px; }.outlet-focus-rooms button>b { max-width:100%; overflow:hidden; font-size:8px; line-height:1; }.outlet-focus-rooms button>span { position:absolute; top:-4px; right:-4px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:7px; font-weight:950; }
.outlet-outside-band { border-bottom:0; background:#e4e7e3; }.outlet-outside-band.is-selected { background:#202a63; color:#fff; }.outlet-outside-band.is-selected i { border-color:#fff; background:transparent; color:#fff; }.outlet-outside-band.is-selected em { color:#fff; }
.compact-outlet-editor { scroll-margin-top:14px; padding-top:10px; border-top:2px solid #087f79; display:grid; gap:9px; }.compact-outlet-editor>header { display:flex; align-items:end; justify-content:space-between; gap:10px; }.compact-outlet-editor>header span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.compact-outlet-editor>header h2 { margin:2px 0 0; color:#202a63; font-size:19px; font-weight:500; line-height:1.1; }.compact-outlet-editor>header>b { padding-bottom:2px; color:#657187; font-size:9px; }
.compact-outlet-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }.compact-outlet-grid button { min-width:0; min-height:58px; padding:5px 3px; border:1px solid #c5d0dd; border-radius:9px; background:#fff; display:grid; place-items:center; align-content:center; gap:2px; color:#202a63; text-align:center; }.compact-outlet-grid button>span { color:#087f79; font-size:14px; line-height:1; }.compact-outlet-grid button>b { max-width:100%; overflow:hidden; font-size:8px; line-height:1.1; overflow-wrap:anywhere; }.compact-outlet-grid button.is-added { border:2px solid #087f79; background:#eef7f6; }.compact-outlet-grid button.is-added>span { font-size:13px; }.compact-outlet-grid button.is-more { border-style:dashed; }
.compact-outlet-tools { margin:0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px 10px; color:#657187; font-size:8px; }.compact-outlet-tools button { padding:2px 0; border:0; border-bottom:1px solid #087f79; background:transparent; color:#087f79; font:inherit; font-weight:850; }.compact-outlet-tools button:disabled { border-color:transparent; color:#aeb7b3; }.compact-outlet-review { padding:7px 0; border-top:1px solid #dbe3ed; border-bottom:1px solid #dbe3ed; }.compact-outlet-review>summary { color:#087f79; font-size:8px; font-weight:900; cursor:pointer; }.compact-outlet-review>.attached-rooms { margin-top:8px; }.compact-outlet-save { min-height:46px; }.compact-outlet-note { margin:-3px 0 0; color:#087f79; font-size:8px; line-height:1.35; text-align:center; }
.completed-outlet-map { scroll-margin-top:16px; display:grid; gap:10px; }
.completed-map-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.completed-map-heading span,.completed-map-selection>header span,.completed-map-future>span { color:#087f79; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.completed-map-heading b,.completed-floor-heading>b,.completed-map-outside-heading>b,.completed-map-selection>header>b { color:#657187; font-size:11px; text-align:right; }
.completed-map-building { overflow:hidden; border:1px solid #d7dee7; border-radius:11px; background:#f3f5f8; }
.completed-map-floor { min-height:52px; padding:6px 9px; border-bottom:1px solid #d7dee7; display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:6px; }
.completed-floor-heading,.completed-map-outside-heading { width:100%; min-width:0; min-height:0; padding:0; border:0; background:transparent; display:grid; justify-content:stretch; align-content:center; gap:2px; color:#202a63; text-align:left; }
.completed-floor-heading>span,.completed-map-outside-heading>span { display:flex; align-items:center; gap:0; font-size:11px; font-weight:850; }
.completed-floor-heading i,.completed-map-outside-heading i { display:none; }
.completed-floor-heading>b,.completed-map-outside-heading>b { font-size:8px; text-align:left; }
.completed-map-floor.is-selected-floor .completed-floor-heading i,.completed-map-outside.is-selected-floor .completed-map-outside-heading i { border-color:#202a63; background:#202a63; color:#fff; }
.completed-rooms-row { width:100%; min-width:0; margin:0; padding:0; display:flex; align-items:center; justify-content:center; gap:4px; }
.completed-rooms-row button { flex:0 0 var(--completed-room-size); width:var(--completed-room-size); aspect-ratio:1; padding:0; border:1px solid #aeb7b3; border-radius:6px; background:#c8cbc6; }
.completed-rooms-row button:hover,.completed-rooms-row button:focus-visible,.completed-outlets-row button:hover,.completed-outlets-row button:focus-visible { outline:2px solid #087f79; outline-offset:1px; }
.completed-rooms-row button.is-selected,.completed-outlets-row button.is-selected { border-color:#202a63; background:#202a63; outline:0; }
.completed-map-outside { min-height:52px; padding:6px 9px; background:#e4e7e3; display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:6px; }
.completed-outside-row { grid-column:2; grid-row:1; }
.completed-outlet-map.is-live .completed-rooms-row button.status-grey,.completed-outlet-map.is-live .completed-outlets-row button.status-grey { border-color:#aeb7b3; background:#c8cbc6; }
.completed-outlet-map.is-live .completed-rooms-row button.status-green,.completed-outlet-map.is-live .completed-outlets-row button.status-green { border-color:#6f9d35; background:#9ac65b; }
.completed-outlet-map.is-live .completed-rooms-row button.status-orange,.completed-outlet-map.is-live .completed-outlets-row button.status-orange { border-color:#d78600; background:#f0a11c; }
.completed-outlet-map.is-live .completed-rooms-row button.status-red,.completed-outlet-map.is-live .completed-outlets-row button.status-red { border-color:#b8363c; background:#df4f51; }
.completed-outlet-map.is-live .completed-rooms-row button.is-selected,.completed-outlet-map.is-live .completed-outlets-row button.is-selected { outline:3px solid #202a63; outline-offset:2px; }
.completed-map-hint { margin:0; color:#657187; font-size:12px; line-height:1.35; text-align:center; }
.completed-map-selection { padding-top:10px; border-top:2px solid #087f79; display:grid; gap:8px; }
.completed-map-selection>header { display:flex; align-items:end; justify-content:space-between; gap:10px; }
.completed-map-selection h2 { margin:2px 0 0; color:#202a63; font-size:20px; font-weight:500; line-height:1.15; }
.completed-outlets-row { display:flex; align-items:center; justify-content:center; gap:7px; }
.completed-outlets-row button { flex:1 1 42px; width:100%; max-width:42px; min-width:10px; aspect-ratio:1; padding:0; border:1px solid #aeb7b3; border-radius:7px; background:#c8cbc6; }
.completed-outlet-name { min-height:22px; margin:0; color:#202a63; font-size:13px; font-weight:850; text-align:center; }
.live-outlet-controls { margin-top:3px; padding-top:10px; border-top:1px solid #dbe3ed; display:grid; gap:8px; }
.live-outlet-controls>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.live-outlet-controls>header span { color:#087f79; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.live-outlet-controls>header b { color:#657187; font-size:10px; }
.live-control-drop { overflow:hidden; border:1px solid #c5d0dd; border-radius:11px; background:#fff; }
.live-control-drop.status-red { border-color:#df4f51; }.live-control-drop.status-orange { border-color:#f0a11c; }.live-control-drop.status-green { border-color:#7daa45; }
.live-control-drop.is-open { border-width:2px; }
.live-control-drop-head { width:100%; min-height:62px; padding:10px 12px; border:0; background:#fff; display:grid; grid-template-columns:13px minmax(0,1fr) 20px; align-items:center; gap:10px; color:#202a63; text-align:left; }
.live-control-drop-head>i { width:13px; height:13px; border-radius:4px; background:#c8cbc6; }
.status-red>.live-control-drop-head>i { background:#df4f51; }.status-orange>.live-control-drop-head>i { background:#f0a11c; }.status-green>.live-control-drop-head>i { background:#9ac65b; }
.live-control-drop-head>span { min-width:0; display:grid; gap:4px; }
.live-control-drop-head b { font-size:13px; line-height:1.2; }
.live-control-drop-head small { color:#657187; font-size:9px; line-height:1.3; }
.live-control-drop-head strong { color:#087f79; font-size:21px; font-weight:500; text-align:center; }
.live-control-drop-body { padding:0 10px 10px; border-top:1px solid #dbe3ed; }
.outlet-action-page.is-embedded { min-height:0; padding:10px 0 0; gap:8px; }
.outlet-action-page.is-embedded .outlet-work-strip { border:0; border-radius:0; }
.outlet-action-page.is-embedded .outlet-work-strip>* { margin-right:0; margin-left:0; }
.embedded-control-purpose { padding:0 2px 9px; color:#526075; font-size:10px; line-height:1.4; }
.outlet-action-page.is-embedded .outlet-work-strip>.action-choice-buttons { position:static; margin:10px 0 0; box-shadow:none; }
.outlet-action-page.is-embedded .strip-support summary { padding-right:6px; padding-left:6px; }
.outlet-action-page.is-embedded .strip-support>div { padding-right:6px; padding-left:6px; }
.inline-optional-controls { margin-top:10px!important; padding:9px; border:1px solid #c5d0dd; border-radius:10px; background:#f7f9f9; display:grid; gap:7px; }
.inline-optional-controls>header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.inline-optional-controls>header span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.inline-optional-controls>header b { color:#657187; font-size:8px; text-align:right; }
.inline-optional-control { overflow:hidden; border:1px solid #c5d0dd; border-radius:8px; background:#fff; }
.inline-optional-control.status-red { border-color:#df4f51; }
.inline-optional-control>button { width:100%; min-height:48px; padding:8px 9px; border:0; background:#fff; display:grid; grid-template-columns:11px minmax(0,1fr) 18px; align-items:center; gap:8px; color:#202a63; text-align:left; }
.inline-optional-control>button>i { width:11px; height:11px; border-radius:3px; background:#c8cbc6; }
.inline-optional-control.status-green>button>i { background:#9ac65b; }.inline-optional-control.status-red>button>i { background:#df4f51; }
.inline-optional-control>button>span { min-width:0; display:grid; gap:2px; }
.inline-optional-control>button b { font-size:11px; }.inline-optional-control>button small { color:#657187; font-size:8px; }
.inline-optional-control>button strong { color:#087f79; font-size:18px; font-weight:500; text-align:center; }
.inline-optional-control>div { padding:0 8px 8px; border-top:1px solid #dbe3ed; }
.compact-method ol { margin:0; padding:0; display:grid; gap:8px; list-style:none; }
.compact-method li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; }
.compact-method li>i { width:24px; height:24px; border-radius:50%; background:#087f79; display:grid; place-items:center; color:#fff; font-size:9px; font-style:normal; font-weight:900; }
.compact-method li b { color:#202a63; font-size:11px; }.compact-method li p { margin:3px 0 0; color:#526075; font-size:10px; line-height:1.4; }
.control-locationbar { min-height:50px; padding-top:6px; padding-bottom:6px; }
.control-strip .control-page { padding:10px; }
.completed-outlet-map.is-live { gap:6px; }
.completed-outlet-map.is-live .completed-map-heading span { font-size:10px; }
.completed-outlet-map.is-live .completed-map-heading b { font-size:9px; }
.completed-outlet-map.is-live .completed-map-building { background:#fff; }
.completed-outlet-map.is-live .completed-map-floor,.completed-outlet-map.is-live .completed-map-outside { min-height:52px; padding:6px 9px; display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:6px; }
.completed-outlet-map.is-live .completed-map-floor.is-selected-floor,.completed-outlet-map.is-live .completed-map-outside.is-selected-floor { background:#eef7f6; }
.completed-outlet-map.is-live .completed-floor-heading,.completed-outlet-map.is-live .completed-map-outside-heading { min-width:0; min-height:0; display:grid; justify-content:stretch; align-content:center; gap:2px; }
.completed-outlet-map.is-live .completed-floor-heading>span,.completed-outlet-map.is-live .completed-map-outside-heading>span { gap:0; font-size:11px; }
.completed-outlet-map.is-live .completed-floor-heading i,.completed-outlet-map.is-live .completed-map-outside-heading i { display:none; }
.completed-outlet-map.is-live .completed-floor-heading>b,.completed-outlet-map.is-live .completed-map-outside-heading>b { font-size:8px; text-align:left; }
.completed-outlet-map.is-live .completed-rooms-row { min-width:0; margin:0; padding:0; justify-content:center; gap:4px; }
.completed-outlet-map.is-live .completed-rooms-row button { border-radius:5px; }
.completed-outlet-map.is-live .completed-outside-row { grid-column:2; grid-row:1; }
.completed-outlet-map.is-live .completed-map-hint { display:none; }
.completed-outlet-map.is-live .completed-map-selection { padding-top:6px; border-top-width:1px; gap:5px; }
.completed-outlet-map.is-live .completed-map-selection h2 { font-size:16px; }
.completed-outlet-map.is-live .completed-map-selection>header span,.completed-outlet-map.is-live .completed-map-selection>header>b { font-size:8px; }
.completed-outlet-map.is-live .completed-outlets-row { gap:5px; }
.completed-outlet-map.is-live .completed-outlets-row button { flex-basis:32px; max-width:32px; border-radius:5px; }
.completed-outlet-map.is-live .completed-outlet-name { min-height:16px; font-size:11px; }
.completed-map-future { margin-top:3px; padding-left:11px; border-left:4px solid #087f79; }
.completed-map-future>span { font-size:17px; line-height:1.2; letter-spacing:0; text-transform:none; }
.completed-map-future p { max-width:46ch; margin:6px 0 0; color:#526075; font-size:14px; line-height:1.5; }
.completed-map-future button { min-height:42px; padding:7px 0 0; border:0; background:transparent; color:#087f79; font-size:14px; font-weight:850; text-align:left; }
.entity-tabs { display:flex; gap:7px; overflow-x:auto; padding:1px 0 3px; scrollbar-width:none; }.entity-tabs::-webkit-scrollbar { display:none; }.entity-tabs button { flex:0 0 auto; min-width:92px; max-width:150px; min-height:48px; padding:6px 9px; border:1px solid #b8c5d5; border-radius:9px; background:#fff; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:center; gap:5px; color:#202a63; text-align:left; }.entity-tabs button[aria-current="true"] { border:3px solid #202a63; }.entity-tabs span { width:18px; height:18px; display:grid; place-items:center; border-radius:5px; background:#eef1f4; color:#748091; font-size:8px; font-weight:850; }.entity-tabs b { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.attached-rooms { display:grid; gap:7px; }.attached-room { min-width:0; min-height:50px; overflow:hidden; border:1px solid #c5d0dd; border-radius:9px; background:#fff; display:grid; grid-template-columns:minmax(0,1fr) auto; }.attached-room.is-active { border:2px solid #202a63; }.attached-room-name { min-width:0; padding:7px 10px; border:0; background:transparent; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:8px; color:#202a63; text-align:left; }.attached-room-name span { width:24px; height:24px; border-radius:7px; background:#eef1f4; display:grid; place-items:center; color:#748091; font-size:9px; font-weight:900; }.attached-room-name b { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.attached-room-name i { color:#087f79; font-size:18px; font-style:normal; font-weight:850; }.attached-room-delete { min-width:64px; padding:0 10px; border:0; border-left:1px solid #ead4d6; background:#fff7f7; color:#9b343b; font-size:9px; font-weight:850; }.attached-rooms-empty { margin:0; padding:14px; border:1px dashed #aebbd0; border-radius:9px; color:#657187; font-size:10px; text-align:center; }.room-add-action { min-height:44px; padding:8px 10px; border:2px solid #087f79; border-radius:9px; background:#087f79; color:#fff; font-size:11px; font-weight:900; }.room-add-action[aria-expanded="true"] { border-style:dashed; background:#fff; color:#087f79; }.room-add-panel { padding:10px; border:1px solid #a8c9c7; border-radius:10px; background:#f8fbfb; display:grid; gap:9px; }.room-add-panel>header { padding-bottom:8px; border-bottom:1px solid #dbe3ed; display:flex; align-items:end; justify-content:space-between; gap:8px; }.room-add-panel>header span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.room-add-panel>header b { color:#748091; font-size:8px; }.room-add-panel>p { margin:0; color:#657187; font-size:8px; line-height:1.4; }
.attached-room.needs-system-type { border:2px solid #f0a11c; background:#fffaf0; grid-template-columns:minmax(0,1fr) auto; }.attached-room.needs-system-type>.attached-room-name { grid-column:1; }.attached-room.needs-system-type>.attached-room-delete { grid-column:2; grid-row:1; }.map-system-identifier { grid-column:1/-1; padding:11px; border-top:1px solid #efd19a; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.map-system-identifier>header { grid-column:1/-1; display:grid; gap:3px; }.map-system-identifier>header span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.map-system-identifier>header b { color:#202a63; font-size:13px; }.map-system-identifier>button { min-height:55px; padding:9px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; display:grid; align-content:center; gap:3px; color:#202a63; text-align:left; }.map-system-identifier>button b { font-size:10px; }.map-system-identifier>button small { color:#657187; font-size:8px; }.map-system-identifier>p { grid-column:1/-1; margin:0; color:#8d5d00; font-size:8px; font-weight:850; }
.attached-room-name>small { overflow:hidden; color:#657187; font-size:7px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }.sentinel-selector { grid-column:1/-1; padding:10px; border-top:1px solid #dbe3ed; background:#f4fbfa; display:grid; grid-template-columns:minmax(0,1fr) minmax(155px,.75fr); align-items:center; gap:10px; }.sentinel-selector>span { display:grid; gap:3px; }.sentinel-selector b { color:#202a63; font-size:9px; }.sentinel-selector small { color:#657187; font-size:8px; line-height:1.35; }.sentinel-selector select { width:100%; min-height:38px; padding:0 8px; border:1px solid #75aaa6; border-radius:8px; background:#fff; color:#202a63; font-size:9px; font-weight:800; }
.rename-control { display:grid; gap:5px; }.rename-control span { color:#748091; font-size:9px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.rename-control input { width:100%; min-width:0; height:43px; padding:0 11px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#202a63; font-size:16px; font-weight:750; outline-color:#087f79; }
.picker { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.picker button { min-width:0; min-height:53px; padding:8px 10px; border:1px solid #c5d0dd; border-radius:10px; background:#fff; display:flex; align-items:center; gap:8px; color:#202a63; font-size:11px; font-weight:750; text-align:left; }.picker button span { color:#087f79; font-size:17px; font-weight:500; }.picker button.picked { border:2px solid #087f79; background:#fff; }.picker button.picked span { width:18px; height:18px; border-radius:50%; background:#087f79; display:grid; place-items:center; color:#fff; font-size:11px; }
.empty-note { margin:0; padding:12px; border-left:4px solid #087f79; background:#eef7f6; color:#526075; font-size:10px; line-height:1.45; }
.empty-action { flex:1; display:grid; place-items:center; align-content:center; gap:12px; text-align:center; }.empty-action p { margin:0; color:#657187; font-size:13px; }.empty-action button { min-height:42px; padding:0 14px; border:0; border-radius:8px; background:#202a63; color:#fff; font-size:11px; font-weight:850; }
.issue-list { display:grid; gap:8px; }.issue-list button { min-height:56px; padding:9px 10px; border:1px solid #efd19a; border-radius:9px; background:#fffaf0; display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:8px; color:#202a63; text-align:left; }.issue-list span { width:26px; height:26px; border-radius:50%; background:#f0a11c; display:grid; place-items:center; color:#fff; font-weight:900; }.issue-list b { font-size:10px; }.issue-list i { color:#087f79; font-size:9px; font-style:normal; font-weight:850; }
.map-overview { display:grid; gap:8px; }.map-legend { display:flex; align-items:center; justify-content:flex-end; gap:6px; color:#748091; font-size:8px; }.map-legend i { width:24px; height:8px; border:1px solid #202a63; border-radius:2px; background:#eef1f4; }.band-site-map { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); align-items:end; gap:10px; }.band-building { min-width:0; padding:10px; border:1px solid #aebbd0; border-radius:10px; background:#f8fafc; }.band-building-head { width:100%; padding:0 0 9px; border:0; border-bottom:1px solid #dbe3ed; background:transparent; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 8px; color:#202a63; text-align:left; }.band-building-head span { grid-column:1/-1; color:#087f79; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.band-building-head b { overflow:hidden; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }.band-building-head i { align-self:center; color:#748091; font-size:7px; font-style:normal; font-weight:700; white-space:nowrap; }.band-stack { padding-top:10px; display:grid; gap:7px; }.band-row { min-width:0; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:7px; }.band-floor-label { min-width:0; padding:0; border:0; background:transparent; display:grid; color:#202a63; text-align:left; }.band-floor-label b { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.band-floor-label span { margin-top:2px; color:#748091; font-size:6px; line-height:1.15; }.band-track { min-width:0; min-height:38px; display:flex; align-items:stretch; justify-content:center; }.floor-band { min-width:0; min-height:38px; overflow:hidden; border:1px solid #202a63; border-radius:4px; background:#eef1f4; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; }.floor-band>button { min-width:0; padding:4px 3px; border:0; border-right:1px solid #aebbd0; background:transparent; display:grid; place-items:center; align-content:center; color:#202a63; }.floor-band>button:last-child { border-right:0; }.floor-band b { max-width:100%; overflow:hidden; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.floor-band span { margin-top:1px; color:#657187; font-size:6px; }.floor-band.is-empty { border-style:dashed; background:#fff; }.floor-band.is-empty>button { color:#087f79; font-size:7px; font-weight:800; white-space:nowrap; }.map-empty { width:calc(100% - 20px); min-height:34px; margin:10px; padding:0 9px; border:1px dashed #aebbd0; border-radius:7px; background:#fff; color:#087f79; font-size:9px; font-weight:850; }
.band-row.is-outside { margin-top:5px; padding-top:8px; border-top:1px dashed #087f79; }.band-row.is-outside .band-floor-label b { color:#087f79; }.band-row.is-outside .floor-band { border-style:dashed; }
.all-clear { padding:10px; border:1px solid #a8c9c7; border-radius:9px; background:#eef7f6; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:9px; }.all-clear>span { width:34px; height:34px; border-radius:9px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:17px; }.all-clear b { color:#202a63; font-size:13px; }.all-clear p { margin:2px 0 0; color:#657187; font-size:9px; line-height:1.35; }
.stage-route { min-height:70px; padding:9px 6px 8px; border-bottom:1px solid #dbe3ed; display:grid; grid-template-columns:repeat(8,1fr); gap:1px; }.stage-route button { min-width:0; padding:3px 0; border:0; border-radius:7px; background:transparent; display:grid; place-items:center; align-content:center; gap:3px; color:#8b95a5; }.stage-route span { width:22px; height:22px; border-radius:7px; background:#e8ebef; display:grid; place-items:center; font-size:9px; font-weight:900; }.stage-route b { overflow:hidden; max-width:100%; font-size:6px; text-overflow:ellipsis; }.stage-route button[aria-current="step"] { color:#202a63; }.stage-route button[aria-current="step"] span { border:2px solid #202a63; background:#fff; }.stage-route button[aria-current="step"] b { font-size:7px; }
.detail-panel { margin-top:14px; padding:16px; border:1px solid #dbe3ed; border-radius:12px; background:#fff; }.detail-panel>span { color:#087f79; font-size:9px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.detail-panel h2 { margin:4px 0 11px; color:#202a63; font-size:21px; }.detail-panel>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }.detail-panel input { min-width:0; height:44px; padding:0 10px; border:1px solid #a8c9c7; border-radius:8px; color:#202a63; font-size:16px; }.detail-panel div button { padding:0 14px; border:0; border-radius:8px; background:#087f79; color:#fff; font-size:11px; font-weight:850; }.detail-panel .cancel { margin-top:8px; padding:4px 0; border:0; background:transparent; color:#748091; font-size:10px; }
.custom-outlet-panel { display:grid; gap:10px; }.custom-outlet-panel h2 { margin:0; }.custom-outlet-panel>p { margin:0; color:#657187; font-size:10px; line-height:1.45; }.custom-outlet-panel>.custom-outlet-name { display:block; }.custom-outlet-name input { width:100%; }.custom-outlet-panel>.custom-cadence-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.custom-cadence-fields label { display:grid; gap:5px; }.custom-cadence-fields label>span { color:#202a63; font-size:9px; font-weight:850; }.custom-cadence-fields select { min-width:0; height:44px; padding:0 9px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:13px; }.custom-outlet-panel>.custom-outlet-add { min-height:44px; padding:0 12px; border:0; border-radius:8px; background:#087f79; color:#fff; font-size:11px; font-weight:900; }.custom-outlet-panel>.custom-outlet-add:disabled { background:#d9dee3; color:#748091; }

/* Evidence-first setup and pre-monitoring status */
.locationbar b { font-size:16px; line-height:1.15; }
.floor-band { border-color:#aeb7b8; background:#dfe3e3; }
.floor-band>button { border-right-color:rgba(32,42,99,.18); color:#202a63; }
.floor-band span { color:#526075; }
.floor-band>button.room-band-inactive { min-height:38px; transition:background .16s ease; }
.floor-band>button.room-band-inactive:hover,.floor-band>button.room-band-inactive:focus-visible { background:#f4f6f6; outline:2px solid #087f79; outline-offset:-2px; }
.control-not-evidenced { padding:10px; border:1px solid #d77a81; border-radius:9px; background:#fff2f3; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:9px; }
.control-not-evidenced>span { width:34px; height:34px; border-radius:9px; background:#c83f49; display:grid; place-items:center; color:#fff; font-size:17px; font-weight:900; }
.control-not-evidenced b { color:#7f2028; font-size:12px; }
.control-not-evidenced p { margin:2px 0 0; color:#7b5659; font-size:9px; line-height:1.35; }
.evidence-choice { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.evidence-choice button { min-height:46px; padding:8px; border:1px solid #b8c5d5; border-radius:9px; background:#fff; color:#202a63; font-size:10px; font-weight:850; }
.evidence-choice button.chosen { border:2px solid #202a63; }
.evidence-choice button:disabled { background:#eef1f4; color:#8b95a5; cursor:not-allowed; }
.evidence-upload { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.evidence-upload label { min-width:0; display:grid; gap:5px; }
.evidence-upload label>span { color:#748091; font-size:8px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.evidence-upload select { min-width:0; height:42px; padding:0 8px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:10px; font-weight:750; }
.file-button { position:relative; min-height:42px; margin-top:16px; border:0; border-radius:8px; background:#087f79; display:grid!important; place-items:center; overflow:hidden; }
.file-button>span { color:#fff!important; letter-spacing:0!important; text-transform:none!important; }
.file-button input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.evidence-message { margin:0; color:#087f79; font-size:9px; font-weight:750; }
.evidence-list { max-height:150px; overflow:auto; display:grid; gap:6px; }
.evidence-list>div { min-width:0; padding:8px 34px 8px 9px; border:1px solid #dbe3ed; border-radius:8px; position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 8px; }
.evidence-list span { grid-column:1/-1; color:#087f79; font-size:7px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.evidence-list b { overflow:hidden; color:#202a63; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.evidence-list small { color:#748091; font-size:7px; }
.evidence-list button { width:25px; height:25px; padding:0; border:0; border-radius:7px; background:#eef1f4; position:absolute; right:6px; top:50%; translate:0 -50%; color:#657187; font-size:16px; }
.plan-file { margin-top:0; }
.plan-intake { padding:10px; border:1px solid #a8c9c7; border-radius:9px; background:#eef7f6; display:grid; gap:3px; }
.plan-intake b { color:#202a63; font-size:12px; }.plan-intake span { overflow:hidden; color:#087f79; font-size:9px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.plan-intake p { margin:4px 0; color:#526075; font-size:8px; line-height:1.4; }.plan-intake button { min-height:34px; border:0; border-radius:7px; background:#202a63; color:#fff; font-size:9px; font-weight:850; }
.clone-action { min-height:38px; padding:0 10px; border:1px dashed #087f79; border-radius:8px; background:#fff; color:#087f79; font-size:10px; font-weight:850; }
.forgot-room-action { min-height:40px; padding:8px 10px; border:2px dashed #087f79; border-radius:9px; background:#fff; color:#087f79; font-size:10px; font-weight:900; }
.forgot-room-chooser { padding:11px; border:2px solid #087f79; border-radius:10px; background:#f8fbfb; display:grid; gap:5px; }
.forgot-room-chooser>span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.forgot-room-chooser>b { color:#202a63; font-size:14px; }
.forgot-room-chooser>p { margin:0 0 4px; color:#657187; font-size:8px; line-height:1.4; }
.forgot-room-floors { max-height:154px; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.forgot-room-floors button { min-width:0; min-height:44px; padding:7px 8px; border:1px solid #b8c5d5; border-radius:8px; background:#fff; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1px 6px; color:#202a63; text-align:left; }
.forgot-room-floors small { grid-column:1/-1; overflow:hidden; color:#748091; font-size:6px; text-overflow:ellipsis; white-space:nowrap; }
.forgot-room-floors strong { overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.forgot-room-floors i { color:#087f79; font-size:11px; font-style:normal; font-weight:900; }
.forgot-room-cancel { width:max-content; padding:4px 0; border:0; background:transparent; color:#657187; font-size:8px; font-weight:800; }
.outside-default-note { margin:0; padding:9px 10px; border-left:4px solid #087f79; background:#eef7f6; display:grid; gap:2px; }.outside-default-note b { color:#202a63; font-size:10px; }.outside-default-note span { color:#657187; font-size:8px; line-height:1.35; }
.outside-separate-action { min-height:42px; padding:8px 10px; border:1px dashed #087f79; border-radius:8px; background:#fff; color:#087f79; font-size:9px; font-weight:850; }
.outside-separate-note { margin:0; padding:8px 10px; border:1px solid #efd19a; border-radius:8px; background:#fffaf0; color:#6f624a; font-size:8px; font-weight:700; line-height:1.4; }
.clone-message { margin:0; padding:8px 10px; border-left:4px solid #c83f49; background:#fff2f3; color:#7f2028; font-size:8px; font-weight:750; line-height:1.35; }
.clone-panel { margin-top:14px; padding:16px; border:1px solid #dbe3ed; border-radius:12px; background:#fff; display:grid; gap:11px; }
.clone-panel>span { color:#087f79; font-size:9px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.clone-panel h2 { margin:-7px 0 0; color:#202a63; font-size:21px; }.clone-summary { padding:8px 10px; border-left:4px solid #087f79; background:#eef7f6; display:grid; gap:2px; }.clone-summary b { color:#202a63; font-size:10px; }.clone-summary span { color:#657187; font-size:8px; }
.clone-floor-head { display:flex; align-items:center; justify-content:space-between; }.clone-floor-head b { color:#748091; font-size:8px; letter-spacing:.05em; text-transform:uppercase; }.clone-floor-head button { padding:3px 0; border:0; background:transparent; color:#087f79; font-size:8px; font-weight:850; }
.clone-floors { max-height:105px; overflow:auto; display:flex; flex-wrap:wrap; gap:5px; }.clone-floors button { min-height:30px; padding:0 8px; border:1px solid #c5d0dd; border-radius:7px; background:#fff; color:#202a63; font-size:8px; font-weight:750; }.clone-floors button.chosen { border:2px solid #202a63; }
.clone-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.clone-fields label { display:grid; gap:4px; }.clone-fields span { color:#748091; font-size:8px; font-weight:850; text-transform:uppercase; }.clone-fields input { width:100%; min-width:0; height:40px; padding:0 9px; border:1px solid #a8c9c7; border-radius:8px; color:#202a63; font-size:16px; font-weight:750; }.clone-panel>p { margin:0; color:#657187; font-size:8px; line-height:1.4; }.clone-actions { display:grid; grid-template-columns:.7fr 1.3fr; gap:7px; }.clone-actions button { min-height:40px; border:1px solid #b8c5d5; border-radius:8px; background:#fff; color:#202a63; font-size:9px; font-weight:850; }.clone-actions button:last-child { border-color:#202a63; background:#202a63; color:#fff; }.clone-actions button:disabled { border-color:#dbe3ed; background:#eef1f4; color:#8b95a5; }
.floor-group { display:grid; gap:5px; }.floor-group-overview { width:100%; min-height:48px; padding:7px 8px; border:1px solid #c83f49; border-radius:7px; background:#fff2f3; display:grid; grid-template-columns:75px minmax(0,1fr) auto; align-items:center; gap:7px; color:#7f2028; text-align:left; }.floor-group-overview>span { min-width:0; display:grid; }.floor-group-overview b { overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.floor-group-overview small { margin-top:2px; color:#9b343b; font-size:6px; }.floor-group-overview i { min-width:0; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; align-items:end; gap:1px; height:26px; }.floor-group-overview em { min-width:1px; height:35%; border-radius:1px; background:#e1a8ac; }.floor-group-overview em.has-rooms { height:100%; background:#c83f49; }.floor-group-overview strong { font-size:7px; white-space:nowrap; }.expanded-floors { padding:7px; border-left:2px solid #e1a8ac; display:grid; gap:5px; }
.orientation-door { padding:15px; border-left:5px solid #087f79; background:#eef7f6; display:grid; gap:8px; }
.orientation-door p { margin:0; color:#202a63; font-size:18px; font-weight:800; line-height:1.22; letter-spacing:-.025em; }
.orientation-door span { color:#526075; font-size:10px; line-height:1.5; }
.orientation-actions { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.orientation-actions button { min-height:48px; padding:8px 10px; border:1px solid #202a63; border-radius:9px; background:#fff; color:#202a63; font-size:11px; font-weight:850; }
.orientation-actions button:first-child { background:#202a63; color:#fff; }
.orientation-footnote { margin:-6px 0 0; color:#8b95a5; font-size:8px; text-align:center; }
.site-finder-intro { margin:0; color:#526075; font-size:10px; line-height:1.45; }.postcode-search { display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:end; gap:7px; }.postcode-search label { min-width:0; display:grid; gap:5px; }.postcode-search span { color:#748091; font-size:8px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.postcode-search input { width:100%; min-width:0; height:46px; padding:0 11px; border:2px solid #087f79; border-radius:9px; color:#202a63; font-size:16px; font-weight:850; text-transform:uppercase; }.postcode-search button { height:46px; padding:0 9px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:9px; font-weight:900; }.postcode-search button:disabled { background:#d9ddde; color:#7b8493; }.site-lookup-error { margin:0; padding:9px; border-left:4px solid #df4f51; background:#fff0f1; color:#912b32; font-size:9px; font-weight:750; }
.manual-site-form { display:grid; gap:11px; }.manual-site-name { display:grid; gap:5px; }.manual-site-name span,.optional-map-controls label>span { color:#748091; font-size:8px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.manual-site-name input,.optional-map-controls input { width:100%; min-width:0; height:46px; padding:0 11px; border:2px solid #087f79; border-radius:9px; color:#202a63; font-size:16px; font-weight:850; }.site-building-count { min-height:54px; padding:7px 8px 7px 11px; border:1px solid #c5d0dd; border-radius:9px; background:#f8fafb; display:flex; align-items:center; justify-content:space-between; gap:10px; }.site-building-count>span { min-width:0; display:grid; gap:2px; }.site-building-count>span b { color:#202a63; font-size:10px; }.site-building-count>span small { color:#748091; font-size:7px; }.site-building-count>div { flex:0 0 auto; display:flex; align-items:center; gap:7px; }.site-building-count button { width:38px; height:38px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#087f79; font-size:17px; font-weight:850; }.site-building-count output { min-width:22px; color:#202a63; font-size:14px; font-weight:900; text-align:center; }.optional-map-trigger { width:100%; min-height:48px; margin-top:3px; padding:11px 0 0; border:0; border-top:1px solid #dbe3ed; background:transparent; display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; }.optional-map-trigger>span { min-width:0; display:grid; gap:2px; }.optional-map-trigger b { color:#202a63; font-size:9px; }.optional-map-trigger small { color:#748091; font-size:7px; line-height:1.3; }.optional-map-trigger strong { flex:0 0 auto; color:#087f79; font-size:8px; font-weight:900; }.optional-map-panel { margin-top:3px; padding-top:12px; border-top:1px solid #dbe3ed; display:grid; gap:9px; }.optional-map-panel>header { display:flex; align-items:start; justify-content:space-between; gap:10px; }.optional-map-panel>header>span { min-width:0; display:grid; gap:2px; }.optional-map-panel>header b { color:#202a63; font-size:10px; }.optional-map-panel>header small { color:#748091; font-size:7px; line-height:1.3; }.optional-map-panel>header button { flex:0 0 auto; min-height:30px; padding:4px 7px; border:0; background:transparent; color:#087f79; font-size:8px; font-weight:900; }.optional-map-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:7px; }.optional-map-controls label { min-width:0; display:grid; gap:5px; }.optional-map-controls input { border-width:1px; text-transform:uppercase; }.optional-map-controls>button { min-height:46px; padding:7px 11px; border:1px solid #087f79; border-radius:9px; background:#fff; color:#087f79; font-size:8px; font-weight:900; }.optional-map-controls>button:disabled { border-color:#cdd4da; background:#f1f3f4; color:#8b95a5; }.optional-map-footnote { margin:0; color:#748091; font-size:7px; line-height:1.4; }.embedded-map-check { display:grid; gap:9px; }.embedded-map-heading { display:flex; align-items:end; justify-content:space-between; gap:10px; }.embedded-map-heading>span { min-width:0; display:grid; gap:2px; }.embedded-map-heading b { color:#202a63; font-size:15px; }.embedded-map-heading small { color:#657187; font-size:7px; }.embedded-map-heading em { color:#087f79; font-size:7px; font-style:normal; font-weight:900; text-transform:uppercase; }.embedded-map-check iframe { width:100%; height:min(50vh,360px); min-height:260px; border:1px solid #dbe3ed; border-radius:12px; background:#eef1f4; }.map-check-status { margin:0; min-height:78px; padding:14px; border-left:4px solid #087f79; background:#eef7f6; display:grid; align-content:center; gap:3px; }.map-check-status b { color:#202a63; font-size:10px; }.map-check-status span { color:#657187; font-size:8px; }.map-check-boundary { margin:0; padding:9px 10px; border-left:4px solid #087f79; background:#eef7f6; display:grid; gap:3px; }.map-check-boundary b { color:#202a63; font-size:9px; }.map-check-boundary span { color:#657187; font-size:8px; line-height:1.4; }.site-lookup-error button { display:block; margin-top:7px; min-height:34px; padding:5px 9px; border:1px solid #912b32; border-radius:7px; background:#fff; color:#912b32; font-size:8px; font-weight:900; }.site-building-count.is-compact { background:#fff; }
.site-manual-fallback { padding:12px; border:1px solid #a8c9c7; border-radius:11px; background:#f5faf9; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 10px; }.site-manual-fallback.is-needed { border:2px solid #087f79; background:#eef7f6; }.site-manual-fallback span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }.site-manual-fallback p { grid-column:1; margin:0; color:#526075; font-size:8px; line-height:1.4; }.site-manual-fallback button { grid-column:2; grid-row:1/3; min-height:42px; padding:7px 11px; border:0; border-radius:8px; background:#087f79; color:#fff; font-size:9px; font-weight:900; white-space:nowrap; }.site-manual-fallback button:disabled { background:#d9ddde; color:#7b8493; }
.site-sweep { display:grid; gap:9px; }.site-sweep>header { display:flex; align-items:end; justify-content:space-between; gap:10px; }.site-sweep>header span { min-width:0; display:grid; }.site-sweep>header b { color:#202a63; font-size:17px; }.site-sweep>header small { color:#657187; font-size:8px; }.site-map-frame { position:relative; }.manual-osm-map { width:100%; height:min(55vh,430px); min-height:300px; overflow:hidden; border:1px solid #dbe3ed; border-radius:12px; background:#e8edea; z-index:0; }.manual-osm-map .leaflet-tile-pane { filter:grayscale(.62) saturate(.58) brightness(1.04); }.manual-osm-map .leaflet-control-attribution { font-size:7px; background:rgba(255,255,255,.78); }.site-map-help,.site-map-empty { margin:0; color:#657187; font-size:9px; line-height:1.4; }.site-map-help b { color:#202a63; }.site-map-empty { padding:12px; border:1px dashed #a8c9c7; border-radius:9px; background:#f8fafb; }.site-map-selection-action { position:absolute; left:8px; right:8px; top:8px; z-index:500; padding:8px 9px; border:2px solid #087f79; border-radius:10px; background:rgba(255,255,255,.96); box-shadow:0 5px 18px rgba(32,42,99,.16); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; }.site-map-selection-action span { min-width:0; display:grid; }.site-map-selection-action b { color:#202a63; font-size:10px; }.site-map-selection-action small { color:#087f79; font-size:7px; font-weight:850; }.site-map-selection-action button { min-height:38px; padding:7px 11px; border:0; border-radius:8px; background:#202a63; color:#fff; font-size:9px; font-weight:900; white-space:nowrap; }
.site-setup-continue { width:100%; min-height:50px; padding:9px 12px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:11px; font-weight:900; }.site-setup-continue:disabled { background:#d9ddde; color:#7b8493; cursor:not-allowed; }
.building-record-name { margin-top:2px; }.building-record { padding-top:12px; border-top:1px solid #dbe3ed; display:grid; gap:10px; }.building-record>header { display:flex; align-items:start; justify-content:space-between; gap:10px; }.building-record>header>span { min-width:0; display:grid; gap:2px; }.building-record>header b { color:#202a63; font-size:12px; }.building-record>header small { color:#657187; font-size:8px; }.building-record>header em { color:#087f79; font-size:8px; font-style:normal; font-weight:900; }.building-record>p { margin:0; color:#526075; font-size:9px; line-height:1.45; }.building-record-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.building-record-destinations article { min-height:58px; padding:8px; border:1px solid #dbe3ed; border-radius:8px; background:#f8fafb; display:grid; align-content:start; gap:4px; }.building-record-destinations article.is-active { border-color:#a8c9c7; background:#eef7f6; }.building-record-destinations span { color:#087f79; font-size:8px; font-weight:900; }.building-record-destinations b { color:#657187; font-size:7px; line-height:1.3; }.building-record-upload { width:max-content; min-height:38px; padding:7px 11px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; display:grid; place-items:center; font-size:8px; font-weight:900; cursor:pointer; }.building-record-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.building-record-empty { min-height:52px; padding:10px 12px; border-left:4px solid #087f79; background:#eef7f6; display:grid; align-content:center; gap:2px; }.building-record-empty b { color:#202a63; font-size:9px; }.building-record-empty span { color:#657187; font-size:8px; }.building-record-documents { display:grid; gap:5px; }.building-record-documents>div { min-height:44px; padding:7px 8px 7px 10px; border-left:4px solid #087f79; background:#eef7f6; display:flex; align-items:center; justify-content:space-between; gap:8px; }.building-record-documents>div>span { min-width:0; display:grid; gap:2px; }.building-record-documents b { overflow-wrap:anywhere; color:#202a63; font-size:8px; }.building-record-documents small { color:#657187; font-size:7px; }.building-record-documents button { flex:0 0 auto; width:28px; height:28px; border:0; border-radius:50%; background:#fff; color:#912b32; font-size:15px; }.building-record-add { min-height:36px; border:0; background:transparent; color:#087f79; font-size:8px; font-weight:900; }
.setup-progress { padding:10px 12px; border-left:4px solid #087f79; background:#eef7f6; color:#657187; }.setup-progress div { display:flex; align-items:center; justify-content:space-between; gap:10px; }.setup-progress b { color:#202a63; font-size:11px; }.setup-progress span { flex:0 0 auto; color:#087f79; font-size:9px; font-weight:900; }.setup-progress p { margin:5px 0 0; font-size:9px; line-height:1.35; }
.outlet-picker-note,.room-picker-note { margin:9px 0 0; color:#657187; font-size:9px; line-height:1.35; }
.site-selection-continue,.site-manual-continue { min-height:46px; padding:8px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:10px; font-weight:900; }.site-manual-continue { border:1px solid #087f79; background:#fff; color:#087f79; }.osm-attribution { color:#8b95a5; font-size:6px; line-height:1.35; text-align:center; }
.pitch-demo-entry { min-height:40px; padding:8px 10px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; font-size:9px; font-weight:850; }
.orientation-lead { margin:0; color:#526075; font-size:11px; line-height:1.5; }
.premises-intro { margin:0; color:#526075; font-size:10px; line-height:1.45; }
.premises-picker { display:grid; gap:7px; }
.premises-picker button { width:100%; min-height:54px; padding:7px 10px; border:1px solid #c5d0dd; border-radius:9px; background:#fff; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; color:#202a63; text-align:left; }
.premises-picker button>i { width:34px; height:34px; border-radius:8px; background:#eef7f6; display:grid; place-items:center; font-size:17px; font-style:normal; }
.premises-picker button>span { min-width:0; display:grid; gap:2px; }.premises-picker b { font-size:10px; line-height:1.2; }.premises-picker small { color:#748091; font-size:7px; line-height:1.25; }.premises-picker strong { color:#087f79; font-size:17px; }
.premises-boundary { margin:0; padding:7px 9px; border-left:3px solid #087f79; background:#eef7f6; color:#657187; font-size:7px; line-height:1.4; }
.premises-summary { padding:8px 9px; border:1px solid #a8c9c7; border-radius:9px; background:#eef7f6; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.premises-summary>span { min-width:0; display:flex; align-items:center; gap:7px; }.premises-summary i { font-size:15px; font-style:normal; }.premises-summary b { overflow:hidden; color:#202a63; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.premises-summary button { padding:4px 0; border:0; background:transparent; color:#087f79; font-size:8px; font-weight:850; }
.water-map-rule { padding:9px 10px; border:2px solid #087f79; border-radius:9px; background:#eef7f6; display:grid; gap:3px; }
.water-map-rule>span { color:#087f79; font-size:7px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.water-map-rule>b { color:#202a63; font-size:12px; line-height:1.25; }
.water-map-rule>p { margin:0; color:#526075; font-size:8px; line-height:1.4; }
.water-map-reminder { margin:0; padding:8px 10px; border-left:4px solid #087f79; background:#eef7f6; display:grid; gap:2px; }
.water-map-reminder>b { color:#202a63; font-size:10px; }
.water-map-reminder>span { color:#657187; font-size:8px; line-height:1.35; }
.water-map-reminder>button { width:max-content; margin-top:3px; padding:3px 0; border:0; background:transparent; color:#087f79; font-size:8px; font-weight:850; text-align:left; }
.flow-review-slide { gap:12px; }.flow-review-intro { margin:0; padding:12px; border-left:5px solid #087f79; background:#eef7f6; display:grid; gap:4px; color:#526075; font-size:9px; line-height:1.45; }.flow-review-intro b { color:#202a63; font-size:11px; }.flow-review-intro span { display:block; }.flow-review-section { padding:13px; border:1px solid #a8c9c7; border-radius:12px; background:#f8fbfb; display:grid; gap:11px; }.flow-review-section>header { display:flex; align-items:end; justify-content:space-between; gap:10px; }.flow-review-section>header span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.flow-review-section>header b { color:#657187; font-size:8px; }.flow-review-question { margin:0; padding:0; border:0; display:grid; gap:8px; }.flow-review-question legend { color:#202a63; font-size:12px; font-weight:900; line-height:1.3; }.flow-review-question>div { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.flow-review-question button { min-height:42px; padding:8px 10px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#526075; font-size:9px; font-weight:900; }.flow-decision .flow-review-question>div { grid-template-columns:1fr; }.flow-decision .flow-review-question button { min-height:46px; text-align:left; }.flow-review-question button.is-selected { border:2px solid #087f79; background:#eef7f6; color:#087f79; }.flow-low-use-reveal { padding-top:10px; border-top:1px solid #dbe3ed; display:grid; gap:10px; }.flow-low-use-reveal>p { margin:0; display:grid; gap:2px; color:#526075; font-size:8px; line-height:1.4; }.flow-low-use-reveal>p b { color:#202a63; font-size:10px; }.flow-map-picker { padding:8px; border:1px solid #aebbd0; border-radius:10px; background:#fff; }.flow-map-picker .band-building { padding:8px; }.flow-map-picker .band-building-head { pointer-events:none; }.flow-map-picker .floor-band>button span { color:#087f79; font-weight:850; }.flow-map-picker .floor-band>button.is-selected-room { background:#eef7f6; outline:2px solid #087f79; outline-offset:-2px; }.flow-map-room { padding:11px; border:2px solid #087f79; border-radius:11px; background:#fff; display:grid; gap:9px; }.flow-map-room>header { display:grid; gap:2px; }.flow-map-room>header span { color:#657187; font-size:7px; }.flow-map-room>header b { color:#202a63; font-size:14px; }.flow-map-room>p { margin:0; color:#526075; font-size:9px; }.flow-map-room>div { display:flex; flex-wrap:wrap; gap:7px; }.flow-map-room>div button { min-height:38px; padding:7px 10px; border:1px solid #cbd6e2; border-radius:8px; background:#fff; display:flex; align-items:center; gap:7px; color:#202a63; font-size:9px; font-weight:850; }.flow-map-room>div button span { width:19px; height:19px; border-radius:5px; background:#eef1f0; display:grid; place-items:center; color:#657187; }.flow-map-room>div button.is-low-use { border-color:#087f79; background:#eef7f6; color:#087f79; }.flow-map-room>div button.is-low-use span { background:#087f79; color:#fff; }.flow-return-map { min-height:38px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; font-size:8px; font-weight:900; }.flow-selection-needed { padding:8px; border-left:4px solid #f0a11c; background:#fffaf0; color:#8d5d00!important; font-weight:850; }.flow-review-detail { display:grid; gap:5px; }.flow-review-detail>span { color:#202a63; font-size:9px; font-weight:900; }.flow-review-detail i { color:#657187; font-style:normal; font-weight:500; }.flow-review-detail textarea { min-height:68px; padding:9px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#202a63; font:inherit; resize:vertical; }.flow-review-summary { padding:13px; border:2px solid #087f79; border-radius:12px; background:#eef7f6; display:grid; gap:8px; }.flow-review-summary>span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.flow-review-summary p { margin:0; padding:8px; border-radius:8px; background:#fff; display:grid; gap:2px; }.flow-review-summary b { color:#202a63; font-size:10px; }.flow-review-summary small { color:#657187; font-size:8px; line-height:1.35; }.flow-review-boundary { padding:11px 12px; border:1px solid #a8c9c7; border-radius:11px; background:#fff; }.flow-review-boundary summary { cursor:pointer; color:#202a63; font-size:9px; font-weight:900; }.flow-review-boundary p { margin:9px 0 8px; color:#526075; font-size:9px; line-height:1.45; }.flow-review-boundary a { color:#087f79; font-size:8px; font-weight:900; }.map-flow-finding { width:100%; min-height:62px; padding:11px 13px; border:2px solid #f0a11c; border-radius:11px; background:#fffaf0; display:grid; gap:3px; color:#202a63; text-align:left; }.map-flow-finding span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.map-flow-finding b { font-size:12px; }.map-flow-finding small { color:#657187; font-size:8px; line-height:1.35; }
.routine-steps { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:7px; list-style:none; }
.routine-steps li { min-width:0; padding:9px; border:1px solid #dbe3ed; border-radius:9px; display:grid; grid-template-columns:23px minmax(0,1fr); gap:1px 7px; align-items:center; }
.routine-steps span { grid-row:1/3; width:23px; height:23px; border-radius:7px; background:#eef7f6; display:grid; place-items:center; color:#087f79; font-size:9px; font-weight:900; }
.routine-steps b { color:#202a63; font-size:10px; }.routine-steps small { overflow:hidden; color:#748091; font-size:7px; line-height:1.25; }
.orientation-actions-final { margin-top:auto; grid-template-columns:.8fr 1.2fr; }.orientation-actions-final button:first-child { background:#fff; color:#202a63; }.orientation-actions-final button:last-child { border-color:#202a63; background:#202a63; color:#fff; }
.duty-panel,.routine-preview { margin-top:14px; padding:17px; border:1px solid #dbe3ed; border-radius:13px; background:#fff; }
.duty-page { min-height:calc(100vh - 68px); padding:18px; background:#f3f7f7; }
.duty-page .duty-panel { min-height:calc(100vh - 104px); margin:0; border-color:#202a63; box-shadow:0 8px 24px rgba(32,42,99,.09); }
.duty-panel>header { display:flex; align-items:start; justify-content:space-between; gap:10px; }.duty-panel>header span,.routine-preview>span { color:#087f79; font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.duty-panel h2,.routine-preview h2 { margin:4px 0 0; color:#202a63; font-size:22px; line-height:1.05; letter-spacing:-.035em; }.duty-panel>header>button { width:30px; height:30px; padding:0; border:0; border-radius:8px; background:#eef1f4; color:#657187; font-size:19px; }
.duty-intro { margin:13px 0; padding:10px; border-left:4px solid #087f79; background:#eef7f6; color:#526075; font-size:9px; line-height:1.45; }
.duty-stats { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.duty-stats div { padding:10px; border-radius:9px; background:#202a63; display:grid; gap:2px; color:#fff; }.duty-stats strong { font-size:22px; line-height:1; }.duty-stats span { color:#e5e8f4; font-size:7px; line-height:1.25; }
.duty-section { margin-top:15px; }.duty-section>span,.duty-sources>span { display:block; margin-bottom:7px; color:#087f79; font-size:8px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.duty-section ol { margin:0; padding:0; display:grid; gap:7px; list-style:none; counter-reset:duty; }.duty-section li { padding-left:28px; position:relative; display:grid; gap:2px; counter-increment:duty; }.duty-section li::before { content:counter(duty); width:20px; height:20px; border-radius:6px; background:#eef7f6; position:absolute; left:0; top:0; display:grid; place-items:center; color:#087f79; font-size:8px; font-weight:900; }.duty-section b { color:#202a63; font-size:9px; }.duty-section small { color:#657187; font-size:8px; line-height:1.35; }
.duty-myths { display:grid; gap:7px; }.duty-myths>span { margin-bottom:0; }.duty-myths p { margin:0; padding:8px 9px; border:1px solid #dbe3ed; border-radius:8px; color:#657187; font-size:8px; line-height:1.4; }.duty-myths b { color:#202a63; }
.duty-sources { margin-top:15px; padding-top:12px; border-top:1px solid #dbe3ed; display:grid; gap:5px; }.duty-sources>span { margin-bottom:1px; }.duty-sources a { overflow-wrap:anywhere; color:#087f79; font-size:7px; font-weight:750; line-height:1.3; }
.duty-panel>footer { margin-top:15px; display:grid; gap:9px; }.duty-panel>footer b { color:#202a63; font-size:13px; }.duty-panel>footer button,.routine-preview>button { min-height:40px; border:0; border-radius:8px; background:#202a63; color:#fff; font-size:9px; font-weight:850; }
.routine-preview { display:grid; gap:11px; }.routine-preview h2 { margin-top:-6px; }.routine-preview>div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.routine-preview>div p { margin:0; padding:9px; border:1px solid #dbe3ed; border-radius:9px; display:grid; gap:3px; }.routine-preview b { color:#202a63; font-size:9px; }.routine-preview small { color:#657187; font-size:7px; line-height:1.35; }.routine-preview-note { margin:0; padding:9px; border-left:4px solid #f0a11c; background:#fffaf0; color:#65583f; font-size:8px; line-height:1.4; }
.control-page { min-height:calc(100vh - 68px); padding:18px; background:#f3f7f7; display:grid; align-content:start; gap:12px; }
.control-strip .control-page { min-height:calc(100vh - 196px); padding:16px; background:#fff; }
.operational-map-home { min-height:calc(100vh - 196px); padding:20px 18px; display:grid; align-content:start; gap:14px; }
.operational-map-home.is-map-reveal { gap:16px; }
.map-first-centrepiece .band-site-map { grid-template-columns:1fr; }
.map-first-centrepiece .band-building { padding:14px; border:2px solid #202a63; border-radius:14px; background:#fff; box-shadow:0 10px 28px rgba(32,42,99,.08); }
.map-first-centrepiece .band-building-head { padding-bottom:12px; }
.map-first-centrepiece .band-building-head span { font-size:9px; }
.map-first-centrepiece .band-building-head b { font-size:19px; }
.map-first-centrepiece .band-building-head i { font-size:8px; }
.map-first-centrepiece .band-stack { padding-top:14px; gap:11px; }
.map-first-centrepiece .band-row { grid-template-columns:82px minmax(0,1fr); gap:10px; }
.map-first-centrepiece .band-floor-label b { font-size:11px; }
.map-first-centrepiece .band-floor-label span { font-size:7px; }
.map-first-centrepiece .band-track,.map-first-centrepiece .floor-band { min-height:48px; }
.map-first-centrepiece .floor-band b { font-size:9px; }
.map-first-centrepiece .floor-band span { font-size:7px; }
.map-navigationbar { padding-left:14px; padding-right:14px; }
.location-actions.map-location-actions { width:100%; min-width:0; flex:1 1 auto; display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:5px; }
.map-location-actions button { min-width:0; flex:0 0 auto; padding:0 9px; white-space:nowrap; }
.map-location-actions .map-edit-link { border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; text-decoration:none; }
.map-first-reveal { padding:14px; border:1px solid #a8c9c7; border-left:5px solid #087f79; border-radius:10px; background:#eef7f6; }.map-first-reveal header { margin-bottom:11px; padding-bottom:9px; border-bottom:1px solid #cfe0df; display:flex; align-items:center; justify-content:space-between; gap:8px; }.map-first-reveal header span { color:#087f79; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.map-first-reveal header b { color:#657187; font-size:8px; }.map-first-reveal h2 { margin:0; color:#202a63; font-size:16px; line-height:1.15; }.map-first-reveal>p { margin:6px 0 10px; color:#526075; font-size:10px; line-height:1.45; }
.map-complete-fork { margin-top:12px; display:grid; gap:9px; }.map-complete-fork button { position:relative; width:100%; min-height:94px; margin:0; padding:12px 38px 12px 13px; border:1.5px solid #087f79; border-radius:10px; background:#fff; color:#202a63; text-align:left; display:grid; align-content:center; gap:3px; }.map-complete-fork button>span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.map-complete-fork button>b { font-size:14px; line-height:1.1; }.map-complete-fork button>small { color:#657187; font-size:8px; font-weight:650; line-height:1.4; }.map-complete-fork button>strong { position:absolute; right:14px; top:50%; transform:translateY(-50%); color:#087f79; font-size:18px; }.map-complete-fork button.is-primary { border-color:#202a63; background:#202a63; color:#fff; }.map-complete-fork button.is-primary>span,.map-complete-fork button.is-primary>strong { color:#9acb59; }.map-complete-fork button.is-primary>small { color:#e7ebf3; }
.essential-assets-backdrop { position:fixed; inset:0; z-index:100; padding:18px; overflow-y:auto; background:rgba(18,28,65,.72); display:grid; place-items:center; }.essential-assets-prompt { position:relative; width:min(430px,100%); padding:22px 18px 18px; border:3px solid #202a63; border-radius:18px; background:#fff; box-shadow:0 22px 70px rgba(13,22,58,.28); }.essential-assets-close { position:absolute; right:13px; top:12px; width:34px; height:34px; padding:0; border:1px solid #a8c9c7; border-radius:50%; background:#fff; color:#087f79; font-size:24px; line-height:1; }.essential-assets-prompt>header { padding-right:35px; }.essential-assets-prompt>header>span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.essential-assets-prompt h2 { margin:7px 0 0; color:#202a63; font-size:24px; line-height:1.08; letter-spacing:-.035em; }.essential-assets-prompt>header p { margin:9px 0 0; color:#526075; font-size:11px; line-height:1.48; }.essential-assets-list { margin-top:15px; display:grid; gap:9px; }.essential-assets-list article { padding:13px; border:1px solid #a8c9c7; border-radius:12px; background:#f8fbfb; display:grid; grid-template-columns:29px minmax(0,1fr); gap:10px; }.essential-assets-list article>i { width:29px; height:29px; border-radius:8px; background:#f0a11c; display:grid; place-items:center; color:#202a63; font-size:11px; font-style:normal; font-weight:950; }.essential-assets-list b { color:#202a63; font-size:13px; }.essential-assets-list p { margin:5px 0 9px; color:#526075; font-size:9px; line-height:1.45; }.essential-assets-list label { padding:9px; border-radius:8px; background:#fff; display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:8px; color:#46536a; font-size:8px; font-weight:750; line-height:1.4; cursor:pointer; }.essential-assets-list input { width:18px; height:18px; margin:0; accent-color:#087f79; }.essential-assets-actions { margin-top:14px; display:grid; gap:8px; }.essential-assets-actions button { min-height:47px; padding:9px 12px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:10px; font-weight:900; }.essential-assets-actions button+button { border:1px solid #087f79; background:#fff; color:#087f79; }.essential-assets-actions button:disabled { border-color:#d7dcdf; background:#eef1f3; color:#8993a0; cursor:not-allowed; }.essential-assets-review { width:100%; margin-top:10px; padding:5px; border:0; background:transparent; color:#657187; font-size:9px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.map-explanation-page { min-height:calc(100vh - 196px); padding:22px 18px; display:grid; align-content:start; gap:16px; }.map-explanation-head>span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }.map-explanation-head h1 { margin:6px 0 0; color:#202a63; font-size:30px; line-height:1.05; }.map-explanation-head p { margin:8px 0 0; color:#526075; font-size:13px; line-height:1.45; }.map-explanation-preview .band-site-map { grid-template-columns:1fr; }.map-explanation-preview .band-building { padding:14px; border:2px solid #202a63; border-radius:14px; background:#fff; }.map-explanation-preview .band-building-head { padding-bottom:10px; }.map-explanation-preview .band-building-head span { font-size:9px; }.map-explanation-preview .band-building-head b { font-size:18px; }.map-explanation-preview .band-building-head i { font-size:8px; }.map-explanation-preview .band-stack { padding-top:12px; gap:9px; }.map-explanation-preview .band-row { grid-template-columns:78px minmax(0,1fr); gap:9px; }.map-explanation-preview .band-floor-label b { font-size:10px; }.map-explanation-preview .band-floor-label span { font-size:7px; }.map-explanation-preview .band-track,.map-explanation-preview .floor-band { min-height:44px; }
.map-explanation-steps { display:grid; gap:9px; }.map-explanation-steps>article { padding:13px; border:1px solid #c9d8e1; border-radius:11px; background:#fff; display:grid; grid-template-columns:31px minmax(0,1fr); gap:10px; }.map-explanation-steps>article>i { width:31px; height:31px; border-radius:8px; background:#e8f4f3; color:#087f79; font-size:14px; font-style:normal; font-weight:950; display:grid; place-items:center; }.map-explanation-steps h2 { margin:1px 0 0; color:#202a63; font-size:14px; line-height:1.15; }.map-explanation-steps p { margin:5px 0 0; color:#526075; font-size:9px; line-height:1.5; }.map-explanation-key { margin-top:9px; display:grid; grid-template-columns:repeat(2,1fr); gap:5px; }.map-explanation-key span { padding:6px; border-radius:7px; background:#f4f6f8; color:#46536a; font-size:7px; font-weight:850; display:flex; align-items:center; gap:5px; }.map-explanation-key span>i { width:10px; height:10px; border-radius:3px; }.map-explanation-key .status-grey>i { background:#c5c9c7; }.map-explanation-key .status-green>i { background:#9acb59; }.map-explanation-key .status-orange>i { background:#f0a11c; }.map-explanation-key .status-red>i { background:#e64f52; }.map-explanation-activation { padding:13px; border-left:5px solid #087f79; background:#eef7f6; }.map-explanation-activation b { color:#202a63; font-size:11px; }.map-explanation-activation p { margin:4px 0 0; color:#526075; font-size:9px; line-height:1.45; }.map-explanation-actions { display:grid; gap:8px; }.map-explanation-actions button { min-height:48px; padding:10px; border:1.5px solid #202a63; border-radius:10px; background:#fff; color:#202a63; font-size:11px; font-weight:900; }.map-explanation-actions button:first-child { border-color:#202a63; background:#202a63; color:#fff; }
.map-activation-note { padding:12px 14px; border-left:5px solid #087f79; background:#eef7f6; display:grid; gap:4px; }.map-activation-note b { color:#202a63; font-size:12px; }.map-activation-note span { color:#526075; font-size:9px; line-height:1.4; }.map-edit-secondary { justify-self:center; padding:4px; border:0; background:transparent; color:#087f79; font-size:9px; font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.map-priority-note { padding:12px 14px; border-left:5px solid #087f79; background:#eef7f6; display:grid; gap:4px; }.map-priority-note b { color:#202a63; font-size:11px; }.map-priority-note span { color:#526075; font-size:9px; line-height:1.45; }
.routine-work-launcher { padding:14px; border:1px solid #a8c9c7; border-radius:13px; background:#f8fafc; display:grid; gap:10px; }.routine-work-launcher>header span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.routine-work-launcher>header h2 { margin:4px 0 0; color:#202a63; font-size:18px; line-height:1.12; }.routine-work-launcher>p { margin:0; color:#526075; font-size:9px; line-height:1.45; }.routine-work-launcher>div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.routine-work-launcher>div button { position:relative; min-width:0; min-height:82px; padding:10px 26px 10px 10px; border:1px solid #c7d2df; border-radius:10px; background:#fff; color:#202a63; text-align:left; display:grid; align-content:center; gap:3px; }.routine-work-launcher>div button span { color:#087f79; font-size:7px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }.routine-work-launcher>div button b { font-size:10px; line-height:1.25; }.routine-work-launcher>div button strong { position:absolute; right:10px; top:50%; transform:translateY(-50%); color:#087f79; font-size:16px; }.routine-work-launcher>div button:disabled { background:#edf0f2; color:#7a8492; cursor:not-allowed; }.routine-work-launcher>div button:disabled span,.routine-work-launcher>div button:disabled strong { color:#8d98a5; }.routine-work-launcher.is-active { border-color:#087f79; background:#eef7f6; }.routine-work-setup { width:100%; min-height:42px; padding:8px 10px; border:0; border-radius:8px; background:#202a63; color:#fff; font-size:9px; font-weight:900; }
.activation-map-prompt { padding:4px; border:2px dashed #087f79; border-radius:12px; background:#f7fbfb; }.activation-map-prompt .floor-summary-silhouette { cursor:pointer; }.activation-map-prompt .floor-summary-silhouette:focus-visible { outline:3px solid #087f79; outline-offset:3px; }
.controls-activation-gate,.formal-record-gate { padding:18px; border:2px solid #202a63; border-radius:15px; background:#fff; }.controls-activation-gate>span,.formal-record-gate>span,.initial-control-progress>span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.controls-activation-gate h2,.formal-record-gate h2,.initial-control-progress h2 { margin:7px 0 0; color:#202a63; font-size:22px; line-height:1.15; letter-spacing:-.025em; }.controls-activation-gate>p,.formal-record-gate>p,.initial-control-progress>p { margin:9px 0 0; color:#526075; font-size:13px; line-height:1.48; }.controls-activation-gate>button,.formal-record-gate>button { width:100%; min-height:52px; margin-top:16px; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:13px; font-weight:900; }.controls-activation-gate>div { margin-top:9px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.controls-activation-gate>div button { min-height:42px; border:1px solid #087f79; border-radius:9px; background:#fff; color:#087f79; font-size:10px; font-weight:900; }.controls-activation-gate>small,.formal-record-gate>small { margin-top:12px; display:block; color:#748091; font-size:9px; line-height:1.42; }.formal-record-gate { border-color:#087f79; background:#eef7f6; }
.initial-control-progress { padding:16px; border:1px solid #a8c9c7; border-radius:13px; background:#fff; }.initial-control-progress>div { height:8px; margin-top:14px; overflow:hidden; border-radius:999px; background:#dfe3e3; }.initial-control-progress>div i { height:100%; display:block; border-radius:inherit; background:#087f79; transition:width .2s ease; }
.floor-summary-map .band-stack { gap:10px; }.floor-summary-row { display:grid; grid-template-columns:82px minmax(0,1fr); align-items:center; gap:7px 10px; }.floor-summary-row.is-outside { padding-top:10px; border-top:1px dashed #087f79; }.floor-summary-label { min-width:0; display:grid; gap:2px; color:#202a63; }.floor-summary-label b { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.floor-summary-label span { color:#748091; font-size:7px; }.floor-summary-track { min-width:0; min-height:48px; display:flex; align-items:stretch; justify-content:center; }.floor-summary-silhouette { min-width:25%; min-height:48px; padding:0; overflow:hidden; border:1px solid #aeb7b8; border-radius:4px; background:#c8cbc6; }.floor-summary-silhouette>span { width:100%; height:100%; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; }.floor-summary-silhouette i { min-width:0; border-right:1px solid rgba(32,42,99,.18); }.floor-summary-silhouette i:last-child { border-right:0; }.floor-summary-row.is-outside .floor-summary-silhouette { border-style:dashed; }.floor-summary-silhouette.status-red { background:#df4f51; color:#fff; }.floor-summary-silhouette.status-orange { background:#f0a11c; }.floor-summary-silhouette.status-green { background:#9ac65b; }.floor-summary-silhouette.status-grey { background:#c8cbc6; }.floor-summary-silhouette:focus-visible { outline:2px solid #087f79; outline-offset:2px; }
.site-calendar-page { min-height:calc(100vh - 196px); padding:20px 18px 28px; display:grid; align-content:start; gap:16px; }
.calendar-head { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.calendar-head span,.calendar-agenda>header span { display:block; color:#087f79; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.calendar-head h1 { margin:5px 0 3px; color:#202a63; font-size:32px; line-height:1; letter-spacing:-.045em; }
.calendar-head p { margin:0; color:#657187; font-size:10px; line-height:1.4; }
.calendar-head>button { min-height:38px; padding:0 14px; border:1px solid #087f79; border-radius:999px; background:#fff; color:#087f79; font-size:10px; font-weight:900; }
.calendar-key { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.calendar-key>span { min-height:39px; padding:7px 9px; border:1px solid #dbe3ed; border-radius:9px; background:#fff; display:flex; align-items:center; gap:7px; color:#202a63; font-size:9px; font-weight:900; }
.calendar-key i { width:22px; height:22px; flex:0 0 22px; border-radius:7px; display:grid; place-items:center; color:#202a63; font-size:10px; font-style:normal; }
.calendar-key .status-green i { background:#9ac65b; }.calendar-key .status-orange i { background:#f0a11c; }.calendar-key .status-red i { background:#df4f51; color:#fff; }
.calendar-month { overflow:hidden; border:1px solid #aebbd0; border-radius:14px; background:#fff; }
.calendar-month>header { min-height:54px; padding:0 10px; border-bottom:1px solid #dbe3ed; display:grid; grid-template-columns:38px 1fr 38px; align-items:center; }
.calendar-month>header h2 { margin:0; color:#202a63; font-size:20px; letter-spacing:-.025em; text-align:center; }
.calendar-month>header button { width:34px; height:34px; padding:0; border:1px solid #dbe3ed; border-radius:999px; background:#fff; color:#087f79; font-size:16px; font-weight:900; }
.calendar-weekdays { min-height:31px; border-bottom:1px solid #dbe3ed; background:#f8fafc; display:grid; grid-template-columns:repeat(7,1fr); align-items:center; }
.calendar-weekdays span { color:#657187; font-size:8px; font-weight:900; text-align:center; text-transform:uppercase; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.calendar-grid>button { min-width:0; min-height:62px; padding:5px 3px; border:0; border-right:1px solid #edf0f4; border-bottom:1px solid #edf0f4; background:#fff; display:grid; place-items:center; align-content:center; gap:4px; color:#202a63; }
.calendar-grid>button:nth-child(7n) { border-right:0; }
.calendar-grid>button:nth-last-child(-n+7) { border-bottom:0; }
.calendar-grid>button b { width:25px; height:25px; border-radius:999px; display:grid; place-items:center; font-size:11px; line-height:1; }
.calendar-grid>button>span { width:100%; min-height:16px; display:grid; gap:2px; }
.calendar-grid>button>span i { width:100%; min-height:13px; padding:2px 1px; border-radius:3px; display:grid; place-items:center; color:#202a63; font-size:5px; font-style:normal; font-weight:950; letter-spacing:.02em; line-height:1; text-transform:uppercase; }
.calendar-grid .outside-month { background:#fbfcfd; color:#aeb6c2; }
.calendar-grid .is-today b { border:1px solid #087f79; color:#087f79; }
.calendar-grid .is-selected { background:#eef7f6; box-shadow:inset 0 0 0 2px #087f79; }
.calendar-grid .is-selected b { background:#087f79; color:#fff; }
.calendar-grid .status-red,.calendar-agenda button.status-red>i { background:#df4f51; color:#fff; }.calendar-grid .status-orange,.calendar-agenda button.status-orange>i { background:#f0a11c; color:#202a63; }.calendar-grid .status-green,.calendar-agenda button.status-green>i { background:#9ac65b; color:#202a63; }
.calendar-agenda { display:grid; gap:10px; }
.calendar-agenda>header { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.calendar-agenda>header h2 { margin:3px 0 0; color:#202a63; font-size:18px; line-height:1.15; }
.calendar-agenda>header>b { color:#657187; font-size:9px; }
.calendar-agenda>div { display:grid; gap:8px; }
.calendar-agenda>div>button { width:100%; min-height:78px; padding:10px 12px; border:1px solid #dbe3ed; border-radius:11px; background:#fff; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; color:#202a63; text-align:left; }
.calendar-agenda>div>button.status-green { border-left:6px solid #9ac65b; }.calendar-agenda>div>button.status-orange { border-left:6px solid #f0a11c; background:#fffaf0; }.calendar-agenda>div>button.status-red { border-left:6px solid #df4f51; background:#fff5f5; }
.calendar-agenda>div>button>i { width:38px; height:38px; border-radius:10px; display:grid; place-items:center; color:#202a63; font-size:16px; font-style:normal; font-weight:950; }
.calendar-agenda>div>button.status-red>i { color:#fff; }
.calendar-agenda>div>button>span { min-width:0; display:grid; gap:2px; }
.calendar-agenda>div>button b { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.calendar-agenda>div>button small { overflow:hidden; color:#657187; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.calendar-agenda>div>button em { color:#087f79; font-size:8px; font-style:normal; font-weight:850; }
.calendar-agenda>div>button strong { color:#202a63; font-size:9px; white-space:nowrap; }
.calendar-agenda>p { margin:0; padding:18px; border-left:5px solid #087f79; background:#eef7f6; color:#33415d; font-size:12px; line-height:1.45; }
.room-action-page { min-height:calc(100vh - 196px); padding:22px 18px 18px; display:flex; flex-direction:column; gap:14px; }
.outlet-action-page { min-height:calc(100vh - 196px); padding:18px; display:flex; flex-direction:column; gap:12px; }
.room-action-head { min-height:58px; display:flex; align-items:end; justify-content:space-between; gap:12px; }
.room-action-head span { display:block; color:#087f79; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.room-action-head h1 { margin:4px 0 0; color:#202a63; font-size:28px; line-height:1.04; letter-spacing:-.04em; }
.room-action-head>b { padding-bottom:4px; color:#748091; font-size:10px; white-space:nowrap; }
.room-action-outlets { display:grid; gap:9px; }
.room-action-outlets>button { min-height:62px; padding:10px 12px; border:1px solid #aeb7b8; border-radius:10px; background:#dfe3e3; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:10px; color:#202a63; text-align:left; }
.room-action-outlets>button>span { width:28px; height:28px; border-radius:8px; background:rgba(255,255,255,.58); display:grid; place-items:center; color:#657187; font-size:9px; font-weight:900; }
.room-action-outlets>button>b { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.room-action-outlets>button>small { color:#087f79; font-size:9px; font-weight:900; white-space:nowrap; }
.room-action-outlets>button.has-control.status-green { border-color:#6f9d35; background:#9ac65b; }
.room-action-outlets>button.has-control.status-orange { border-color:#d78600; background:#f0a11c; }
.room-action-outlets>button.has-control.status-red { border-color:#b8363c; background:#df4f51; color:#fff; }
.room-action-outlets>button.has-control>span { background:#fff; color:#507a25; font-size:14px; }
.room-action-outlets>button.has-control.status-red>span { color:#b8363c; }
.room-action-outlets>button.has-control>small { display:grid; justify-items:end; gap:2px; color:#202a63; }
.room-action-outlets>button.has-control.status-red>small { color:#fff; }
.room-action-outlets>button.has-control>small strong { font-size:9px; }
.room-action-outlets>button.has-control>small em { color:inherit; font-size:7px; font-style:normal; font-weight:800; }
.room-action-page>.control-back { margin-top:auto; }
.horizontal-control-page { padding:18px; display:flex; flex-direction:column; gap:14px; }
.horizontal-control-page.is-action-stage { padding:0; }
.horizontal-level-head { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.horizontal-level-head>div { min-width:0; }
.horizontal-level-head span { color:#087f79; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.horizontal-level-head h1 { margin:4px 0 0; color:#202a63; font-size:30px; line-height:1; letter-spacing:-.04em; }
.horizontal-level-head p { max-width:520px; margin:7px 0 0; color:#526075; font-size:10px; line-height:1.4; }
.horizontal-level-head>b { flex:0 0 auto; padding-bottom:4px; color:#748091; font-size:10px; white-space:nowrap; }
.horizontal-container-strip { --strip-count:1; width:100%; padding:2px; display:grid; grid-template-columns:repeat(var(--strip-count),minmax(0,1fr)); gap:6px; }
.horizontal-container-box { min-width:0; min-height:46px; padding:8px 9px; border:1px solid #aeb7b8; border-radius:6px; background:#c8cbc6; display:grid; align-content:space-between; gap:5px; color:#202a63; text-align:left; }
.horizontal-container-strip.is-outside .horizontal-container-box { border-style:dashed; }
.horizontal-container-box>b { overflow:hidden; font-size:clamp(7px,2.6vw,12px); line-height:1.12; text-overflow:ellipsis; white-space:nowrap; }
.horizontal-container-box>small { display:grid; gap:2px; color:#202a63; font-size:7px; font-weight:850; line-height:1.25; }
.horizontal-container-box>small em { color:inherit; font-size:7px; font-style:normal; }
.horizontal-container-box.status-green,.horizontal-container-box.has-control.status-green { background:#9ac65b; }
.horizontal-container-box.status-orange,.horizontal-container-box.has-control.status-orange { background:#f0a11c; }
.horizontal-container-box.status-red,.horizontal-container-box.has-control.status-red { background:#df4f51; color:#fff; }
.horizontal-container-box.status-red>small,.horizontal-container-box.has-control.status-red>small { color:#fff; }
.horizontal-control-page>.control-back { margin-top:2px; align-self:flex-start; }
.operational-status-key { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.operational-status-key>span { min-height:36px; padding:7px; border:1px solid #dbe3ed; border-radius:9px; background:#fff; display:flex; align-items:center; gap:6px; color:#526075; font-size:8px; font-weight:850; line-height:1.2; }
.operational-status-key i { width:12px; height:12px; flex:0 0 12px; border-radius:4px; }
.operational-status-key .status-red i { background:#df4f51; }.operational-status-key .status-orange i { background:#f0a11c; }.operational-status-key .status-green i { background:#9ac65b; }.operational-status-key .status-grey i { background:#c8cbc6; }
.outlet-task-heading { padding:2px 0 5px; }.outlet-task-heading>span { color:#087f79; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.outlet-task-heading h1 { margin:3px 0 0; color:#202a63; font-size:30px; line-height:1.05; letter-spacing:-.04em; }
.outlet-work-strip { overflow:hidden; border:2px solid #202a63; border-radius:18px; background:#fff; display:grid; }.outlet-work-strip>* { margin:0 16px; }.outlet-action-now { margin:0; padding:18px 16px; background:#eef7f6; border-bottom:1px solid #a8c9c7; }.outlet-action-now>span,.strip-method>header span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.outlet-action-now h2 { margin:7px 0 5px; color:#202a63; font-size:25px; line-height:1.08; letter-spacing:-.03em; }.outlet-action-now p { margin:0; color:#526075; font-size:11px; line-height:1.4; }.outlet-work-strip>.action-assignee { margin-top:16px; }.outlet-work-strip>.action-choice-buttons { margin-top:12px; padding:10px; position:sticky; bottom:8px; z-index:3; border:1px solid #dbe3ed; border-radius:12px; background:rgba(255,255,255,.96); box-shadow:0 8px 24px rgba(32,42,99,.12); }.strip-method { margin-top:18px; padding:18px 0; border-top:1px solid #dbe3ed; }.strip-method ol { margin:12px 0 0; padding:0; display:grid; gap:10px; list-style:none; }.strip-method li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; }.strip-method i { width:30px; height:30px; border-radius:50%; background:#087f79; display:grid; place-items:center; color:#fff; font-size:11px; font-style:normal; font-weight:950; }.strip-method b { color:#202a63; font-size:13px; }.strip-method p { margin:4px 0 0; color:#526075; font-size:12px; line-height:1.45; }.strip-support { margin:0; border-top:1px solid #dbe3ed; }.strip-support summary { min-height:54px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; color:#087f79; font-size:13px; font-weight:900; cursor:pointer; list-style:none; }.strip-support summary::after { content:"+"; font-size:22px; font-weight:500; }.strip-support[open] summary::after { content:"−"; }.strip-support>div { padding:0 16px 18px; color:#526075; }.strip-support>div>b { color:#202a63; font-size:15px; }.strip-support article { margin-top:10px; padding:12px; border-radius:10px; background:#f7f9f9; }.strip-support article b { color:#202a63; font-size:12px; }.strip-support p { margin:5px 0 0; font-size:12px; line-height:1.45; }.strip-support a,.strip-support button { margin-top:12px; padding:0; border:0; background:transparent; color:#087f79; font-size:11px; font-weight:900; }.outlet-work-strip>.action-record-created,.outlet-work-strip>.record-again,.outlet-work-strip>.control-not-recordable,.outlet-work-strip>.record-error,.outlet-work-strip>.action-evidence-fields { margin-top:14px; }
.outlet-cadence { padding:16px; border:2px solid #c8cbc6; border-radius:15px; background:#f3f5f5; display:grid; gap:9px; transition:border-color .2s,background .2s; }
.outlet-cadence.status-green { border-color:#7daa45; background:#f1f8e7; }.outlet-cadence.status-orange { border-color:#f0a11c; background:#fff7e7; }.outlet-cadence.status-red { border-color:#df4f51; background:#fff0f1; }
.outlet-cadence.is-identification-required { border-color:#f0a11c; background:#fffaf0; }
.outlet-cadence>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.outlet-cadence>header span { color:#087f79; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.outlet-cadence>header b { color:#526075; font-size:10px; }.outlet-cadence>strong { color:#202a63; font-size:19px; line-height:1.2; }.outlet-cadence>p { margin:0; color:#526075; font-size:10px; line-height:1.4; }
.hot-water-system-choice { display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; gap:8px; }.hot-water-system-choice>span { padding:9px; border:1px solid #efd49e; border-radius:9px; background:#fff; }.hot-water-system-choice b { display:block; color:#202a63; font-size:10px; }.hot-water-system-choice small { display:block; margin-top:4px; color:#526075; font-size:8px; line-height:1.35; }.hot-water-system-choice>i { align-self:center; color:#087f79; font-size:8px; font-style:normal; font-weight:900; text-transform:uppercase; }.identify-system-footer { padding-top:8px; border-top:1px solid #efd49e; color:#8d5d00; font-size:9px; font-weight:900; }
.cadence-lifecycle { height:116px; position:relative; margin-top:3px; }
.cadence-track { height:10px; border-radius:999px; background:linear-gradient(90deg,#7daa45 0 var(--cadence-amber),#f0a11c var(--cadence-amber) var(--cadence-due),#df4f51 var(--cadence-due) 100%); position:absolute; inset:10px 0 auto; box-shadow:inset 0 0 0 1px rgba(32,42,99,.08); }
.cadence-track>span { position:absolute; top:50%; z-index:2; translate:-50% -50%; }
.cadence-completed-marker { left:8%; width:26px; height:26px; border:3px solid #fff; border-radius:999px; background:#7daa45; display:grid; place-items:center; color:#fff; font-size:12px; font-weight:950; box-shadow:0 0 0 1px rgba(80,122,37,.3); }
.cadence-now-marker { left:var(--cadence-now); width:8px; height:8px; border-radius:999px; background:#202a63; box-shadow:0 0 0 3px #fff; }
.cadence-now-marker::after { content:""; width:1px; height:71px; background:#202a63; position:absolute; left:50%; top:5px; }
.cadence-amber-marker,.cadence-due-marker { width:22px; height:22px; border:4px solid #fff; border-radius:999px; background:#fff; }
.cadence-amber-marker { left:var(--cadence-amber); box-shadow:0 0 0 3px #f0a11c; }.cadence-due-marker { left:var(--cadence-due); box-shadow:0 0 0 3px #df4f51; }
.cadence-completed-label,.cadence-amber-label,.cadence-due-label { position:absolute; top:38px; display:grid; gap:2px; color:#202a63; line-height:1.15; text-align:center; }
.cadence-completed-label { left:0; }.cadence-amber-label { left:var(--cadence-amber); translate:-50% 0; }.cadence-due-label { left:var(--cadence-due); translate:-50% 0; }
.cadence-lifecycle span>b { font-size:8px; }.cadence-lifecycle span>small { font-size:8px; font-weight:900; }
.cadence-now-label { width:max-content; max-width:70%; position:absolute; left:clamp(18%,var(--cadence-now),82%); bottom:2px; translate:-50% 0; color:#087f79; font-size:8px; font-weight:950; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }
.cadence-summary { padding-top:11px; border-top:1px solid rgba(32,42,99,.12); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cadence-summary>strong { color:#202a63; font-size:18px; line-height:1.1; }.cadence-summary>button { padding:7px 0; border:0; background:transparent; color:#087f79; font-size:9px; font-weight:900; white-space:nowrap; }
.outlet-swipe-section { min-width:0; display:grid; gap:9px; }
.outlet-swipe-section>header { display:flex; align-items:center; justify-content:space-between; gap:12px; }.outlet-swipe-section>header span { color:#087f79; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.outlet-swipe-section>header b { color:#657187; font-size:8px; }
.outlet-strip-face { width:100%; min-width:0; padding:2px 0 4px; touch-action:pan-y; }
.outlet-main-face { width:100%; min-width:0; }
.outlet-cadence.outlet-main-face { height:246px; min-height:246px; padding:16px; align-content:start; gap:9px; }
.outlet-element-slide { --face:#087f79; height:92px; display:grid; place-items:center; padding:14px; border:2px solid var(--face); border-radius:15px; background:#fff; color:#202a63; text-align:center; box-shadow:none; }
.outlet-element-slide[data-face="law"] { --face:#202a63; }.outlet-element-slide[data-face="training"] { --face:#78a943; }
.outlet-element-slide>b { color:var(--face); font-size:22px; line-height:1; letter-spacing:-.02em; }
.outlet-strip-navigation { min-height:32px; display:grid; grid-template-columns:32px 1fr 32px; align-items:center; gap:10px; }
.outlet-strip-navigation>button { width:32px; height:32px; padding:0; border:1px solid #a8c9c7; border-radius:999px; background:#fff; display:grid; place-items:center; color:#087f79; font-size:17px; font-weight:900; line-height:1; }
.outlet-strip-navigation>button:disabled { visibility:hidden; }
.outlet-swipe-dots { display:flex; justify-content:center; gap:6px; }.outlet-swipe-dots>button { width:7px; height:7px; padding:0; border:0; border-radius:999px; background:#c8cbc6; transition:width .15s,background .15s; }.outlet-swipe-dots>button.is-current { width:22px; background:#087f79; }
.outlet-face-detail { padding:20px 0 5px; border-top:1px solid #dbe3ed; display:grid; gap:16px; }
.outlet-face-detail>header span { display:block; color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.outlet-face-detail>header h2 { margin:5px 0 0; color:#202a63; font-size:22px; line-height:1.1; letter-spacing:-.03em; }
.face-detail-lead { margin:0; color:#33415d; font-size:16px; line-height:1.55; }
.face-detail-list { margin:0; padding:0; display:grid; gap:10px; list-style:none; }.face-detail-list>li,.face-detail-list>article { padding:15px; border:1px solid #a8c9c7; border-radius:14px; background:#f8fbfb; display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; }.face-detail-list i { width:32px; height:32px; border-radius:999px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:11px; font-style:normal; font-weight:950; }.face-detail-list b { color:#202a63; font-size:15px; line-height:1.3; }.face-detail-list p { margin:6px 0 0; color:#33415d; font-size:15px; line-height:1.5; }
.face-cadence-answer { padding:18px; border:2px solid #087f79; border-radius:16px; background:#eef7f6; }.face-cadence-answer>span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.face-cadence-answer>strong { display:block; margin-top:7px; color:#202a63; font-size:24px; }
.action-assignee>span,.flush-stopwatch>header span,.action-record-created span,.logbook-record>span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.action-screen { gap:18px; }.action-screen-back { width:max-content; padding:7px 0; border:0; background:transparent; color:#087f79; font-size:13px; font-weight:850; }.action-screen-head span { display:block; color:#087f79; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.action-screen-head h1 { margin:7px 0 0; color:#202a63; font-size:32px; line-height:1.05; letter-spacing:-.04em; }.action-screen-head p { margin:7px 0 0; color:#657187; font-size:14px; font-weight:750; }
.training-topics { margin:0; padding:0; display:grid; gap:12px; list-style:none; }.training-topic { overflow:hidden; border:1px solid #a8c9c7; border-radius:28px; background:#fff; }.training-topic.is-open { border-color:#087f79; border-radius:22px; background:#f4faf9; }.training-topic>button { width:100%; min-height:58px; padding:10px 16px; border:0; background:transparent; display:flex; align-items:center; gap:12px; color:#202a63; text-align:left; }.training-topic>button i { width:34px; height:34px; flex:0 0 34px; border-radius:999px; background:#eef7f6; display:grid; place-items:center; color:#087f79; font-size:14px; font-style:normal; font-weight:900; }.training-topic>button b { flex:1; font-size:15px; line-height:1.2; }.training-topic>button span { color:#087f79; font-size:22px; font-weight:700; line-height:1; }.training-topic-answer { padding:4px 18px 22px; }.training-topic-answer p { margin:0; color:#33415d; font-size:16px; line-height:1.55; }.training-topic.is-open>button b { color:#087f79; }
.training-boundary { padding:16px; border-left:5px solid #f0a11c; background:#fffaf0; }.training-boundary b { color:#202a63; font-size:14px; line-height:1.35; }.training-boundary p { margin:7px 0 0; color:#526075; font-size:13px; line-height:1.48; }
.cadence-answer { padding:24px 20px; border:2px solid #087f79; border-radius:18px; background:#eef7f6; }.cadence-answer>span { color:#087f79; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.cadence-answer>strong { display:block; margin-top:12px; color:#202a63; font-size:27px; line-height:1.15; }.cadence-answer>p { margin:12px 0 0; color:#33415d; font-size:17px; line-height:1.5; letter-spacing:-.01em; }.cadence-calendar { margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.cadence-calendar>div { padding:14px 10px; border:1px solid #dbe3ed; border-radius:10px; background:#fff; }.cadence-calendar dt { color:#657187; font-size:10px; font-weight:850; text-transform:uppercase; }.cadence-calendar dd { margin:6px 0 0; color:#202a63; font-size:14px; font-weight:900; line-height:1.25; }.cadence-calendar.status-orange>div:last-child { border-color:#f0a11c; background:#fff7e7; }.cadence-calendar.status-red>div:last-child { border-color:#df4f51; background:#fff0f1; }.cadence-start-note { margin:0; padding:16px; border-left:5px solid #087f79; background:#eef7f6; color:#33415d; font-size:15px; line-height:1.5; }.cadence-note { padding:18px; border-left:5px solid #f0a11c; background:#fffaf0; }.cadence-note b { color:#202a63; font-size:15px; }.cadence-note p { margin:8px 0 0; color:#4d5870; font-size:14px; line-height:1.5; }
.action-screen-primary { min-height:54px; margin-top:auto; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:14px; font-weight:900; }.action-screen-primary:disabled { background:#d9ddde; color:#7b8493; }
.record-next-actions { margin-top:auto; display:grid; gap:9px; }.record-next-actions .action-screen-primary { margin-top:0; }.record-next-actions>button:last-child { min-height:48px; border:1px solid #087f79; border-radius:10px; background:#fff; color:#087f79; font-size:13px; font-weight:900; }
.law-guidance-content { display:grid; gap:12px; }.action-source-link { min-height:54px; padding:0 16px; border:1px solid #087f79; border-radius:999px; display:flex; align-items:center; justify-content:space-between; color:#087f79; font-size:13px; font-weight:850; text-decoration:none; }
.action-assignee { display:grid; gap:6px; }.action-assignee select { width:100%; height:46px; padding:0 10px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#202a63; font-size:11px; font-weight:750; }.action-assignee>small { color:#657187; font-size:7px; line-height:1.4; }
.control-not-recordable { padding:16px; border-left:5px solid #f0a11c; background:#fffaf0; }.control-not-recordable b { color:#202a63; font-size:14px; }.control-not-recordable p { margin:7px 0 0; color:#526075; font-size:13px; line-height:1.48; }
.action-evidence-fields { padding:14px; border:1px solid #a8c9c7; border-radius:12px; background:#f8fbfb; display:grid; gap:12px; }.action-evidence-fields>header { display:flex; align-items:end; justify-content:space-between; gap:10px; }.action-evidence-fields>header span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.action-evidence-fields>header b { color:#657187; font-size:8px; }.action-evidence-fields label { display:grid; gap:5px; }.action-evidence-fields label>span { color:#202a63; font-size:11px; font-weight:900; }.action-evidence-fields label>div { display:flex; align-items:center; overflow:hidden; border:1px solid #a8c9c7; border-radius:9px; background:#fff; }.action-evidence-fields input { width:100%; min-width:0; height:44px; padding:0 11px; border:0; background:transparent; color:#202a63; font-size:16px; font-weight:800; outline:0; }.action-evidence-fields label>div>b { padding:0 11px; color:#087f79; font-size:13px; }.action-evidence-fields small { color:#657187; font-size:9px; line-height:1.35; }.action-evidence-fields .evidence-example { width:max-content; min-height:30px; padding:0 10px; border:1px solid #087f79; border-radius:999px; background:#fff; color:#087f79; font-size:9px; font-weight:900; }
.action-evidence-fields fieldset { margin:2px 0 0; padding:0; border:0; display:grid; gap:7px; }.action-evidence-fields legend { color:#202a63; font-size:11px; font-weight:900; }.action-evidence-fields fieldset>div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.action-evidence-fields fieldset button { min-height:42px; padding:7px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#526075; font-size:9px; font-weight:900; }.action-evidence-fields fieldset button.is-selected { border-color:#78a943; background:#f2f8e9; color:#42651f; }.action-evidence-fields fieldset button.is-failed { border-color:#df4f51; background:#fff0f1; color:#912b32; }
.action-choice-buttons { display:grid; gap:8px; }.action-choice-buttons button { min-height:50px; border-radius:10px; font-size:10px; font-weight:900; }.confirm-action { border:0; background:#202a63; color:#fff; }.timer-aid-action { border:1px solid #087f79; background:#fff; color:#087f79; }.action-choice-buttons button:disabled { border-color:#d9ddde; background:#d9ddde; color:#7b8493; }
.flush-screen { gap:16px; }.flush-stopwatch { padding:18px 14px; border:2px solid #202a63; border-radius:12px; background:#f7f8fc; display:grid; gap:16px; }
.flush-stopwatch>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.flush-stopwatch>header b { color:#657187; font-size:8px; }
.flush-stopwatch>strong { padding:18px 0 8px; color:#202a63; font-size:64px; font-variant-numeric:tabular-nums; letter-spacing:.04em; line-height:1; text-align:center; }
.stopwatch-progress { height:8px; overflow:hidden; border-radius:999px; background:#d9ddde; }.stopwatch-progress i { width:0; height:100%; border-radius:inherit; background:#f0a11c; display:block; transition:width .25s linear; }
.flush-stopwatch>p { min-height:26px; margin:0; color:#526075; font-size:11px; line-height:1.45; text-align:center; }
.stopwatch-controls { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.stopwatch-controls button { min-height:48px; border:1px solid #202a63; border-radius:9px; background:#fff; color:#202a63; font-size:10px; font-weight:850; }
.stopwatch-complete { min-height:54px; margin-top:auto; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:11px; font-weight:900; }.stopwatch-complete:disabled { background:#d9ddde; color:#7b8493; cursor:not-allowed; }
.flush-stopwatch.target-met { border-color:#087f79; background:#eef7f6; }.flush-stopwatch.target-met .stopwatch-progress i { background:#9ac65b; }
.confirm-screen { gap:16px; }.confirmation-summary { margin:0; padding:16px; border:2px solid #202a63; border-radius:12px; display:grid; gap:12px; background:#f7f8fc; }.confirmation-summary>div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }.confirmation-summary dt { color:#657187; font-size:9px; font-weight:850; }.confirmation-summary dd { margin:0; color:#202a63; font-size:14px; font-weight:900; text-align:right; }
.immutable-notice { padding:16px; border-left:5px solid #087f79; background:#eef7f6; display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; }.immutable-notice>i { width:36px; height:36px; border-radius:9px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:17px; font-style:normal; font-weight:900; }.immutable-notice b { color:#202a63; font-size:13px; }.immutable-notice p { margin:6px 0 0; color:#526075; font-size:10px; line-height:1.5; }
.record-error { margin:0; padding:11px 12px; border-left:4px solid #df4f51; background:#fff0f1; color:#912b32; font-size:9px; font-weight:750; line-height:1.4; }
.action-record-created { padding:11px; border:1px solid #a8c9c7; border-radius:10px; background:#eef7f6; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:9px; }.action-record-created>i { width:32px; height:32px; border-radius:8px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:16px; font-style:normal; font-weight:900; }.action-record-created>div { min-width:0; display:grid; gap:2px; }.action-record-created b { overflow:hidden; color:#202a63; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.action-record-created small { color:#657187; font-size:7px; }.action-record-created>button { padding:6px 7px; border:0; border-radius:6px; background:#202a63; color:#fff; font-size:7px; font-weight:850; }
.logbook-record { padding:12px; border:1px solid #aebbd0; border-radius:10px; background:#f8fafc; }.logbook-record dl { margin:8px 0 0; display:grid; gap:7px; }.logbook-record dl>div { display:grid; grid-template-columns:62px minmax(0,1fr); gap:8px; }.logbook-record dt { color:#748091; font-size:7px; font-weight:850; }.logbook-record dd { margin:0; color:#202a63; font-size:8px; line-height:1.35; }
.record-screen-head p { color:#087f79; }.full-record { padding:16px; }.full-record dl { gap:12px; }.full-record dl>div { grid-template-columns:86px minmax(0,1fr); gap:12px; }.full-record dt { font-size:9px; }.full-record dd { font-size:10px; line-height:1.45; }
.record-again { min-height:38px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; font-size:9px; font-weight:850; }
.formal-record-page { min-height:calc(100vh - 196px); padding:20px 18px 28px; display:flex; flex-direction:column; gap:16px; }.formal-record-head>span,.formal-stage-head>span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.formal-record-head h1,.formal-stage-head h1 { margin:6px 0 7px; color:#202a63; font-size:34px; line-height:1.02; letter-spacing:-.045em; }.formal-record-head p,.formal-stage-head p { margin:0; color:#526075; font-size:14px; line-height:1.48; }
.formal-record-chain { display:grid; gap:9px; }.formal-record-chain>button { width:100%; min-height:86px; padding:12px; border:1px solid #a8c9c7; border-radius:14px; background:#fff; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:11px; color:#202a63; text-align:left; }.formal-record-chain>button>i { width:38px; height:38px; border-radius:11px; background:#eef1f4; display:grid; place-items:center; color:#202a63; font-size:15px; font-style:normal; font-weight:950; }.formal-record-chain>button>span { min-width:0; display:grid; gap:2px; }.formal-record-chain small { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.formal-record-chain b { font-size:16px; line-height:1.2; }.formal-record-chain em { color:#657187; font-size:11px; font-style:normal; }.formal-record-chain strong { color:#087f79; font-size:19px; }.formal-record-chain>button.is-current { border-color:#78a943; background:#f2f8e9; }.formal-record-chain>button.is-current>i { background:#9ac65b; }.formal-record-chain>button.needs-review { border-color:#f0a11c; background:#fffaf0; }.formal-record-chain>button.needs-review>i { background:#f0a11c; }.formal-record-chain>button.is-locked { background:#f1f3f4; color:#7b8493; }.formal-record-chain>button.is-available { border-color:#087f79; background:#eef7f6; }
.formal-authority-chain { padding:14px; border-left:5px solid #087f79; background:#eef7f6; display:grid; gap:10px; }.formal-authority-chain>span { display:grid; grid-template-columns:1fr 1fr; align-items:baseline; gap:8px; }.formal-authority-chain b { color:#202a63; font-size:11px; }.formal-authority-chain small { color:#526075; font-size:9px; text-align:right; }.formal-record-boundary { padding:14px; border-top:1px solid #dbe3ed; }.formal-record-boundary b { color:#202a63; font-size:12px; }.formal-record-boundary p { margin:6px 0 0; color:#657187; font-size:10px; line-height:1.45; }
.formal-record-simple { gap:20px; }.formal-record-simple .formal-record-head h1 { font-size:31px; }.formal-record-simple .formal-record-head p { max-width:420px; font-size:15px; }.formal-record-simple .formal-record-chain { gap:10px; }.formal-record-simple .formal-record-chain>button { min-height:72px; padding:12px 14px; border:2px solid #087f79; border-radius:14px; grid-template-columns:42px minmax(0,1fr) auto; background:#fff; }.formal-record-simple .formal-record-chain>button>i { width:42px; height:42px; border-radius:12px; background:#eef7f6; color:#087f79; font-size:16px; }.formal-record-simple .formal-record-chain b { font-size:18px; line-height:1.15; }.formal-record-simple .formal-record-chain strong { font-size:22px; }
.formal-evidence-home { gap:14px; }.formal-evidence-home .formal-record-head h1 { max-width:430px; font-size:31px; }.formal-evidence-home .formal-record-head p { max-width:470px; font-size:14px; }.formal-threshold-summary { padding:11px 12px; border-left:5px solid #f0a11c; background:#fffaf0; display:flex; align-items:center; justify-content:space-between; gap:12px; }.formal-threshold-summary.is-statutory { border-color:#087f79; background:#eef7f6; }.formal-threshold-summary>div { min-width:0; display:grid; gap:2px; }.formal-threshold-summary span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.formal-threshold-summary b { color:#202a63; font-size:13px; }.formal-threshold-summary small { color:#526075; font-size:9px; line-height:1.3; }.formal-threshold-summary select { flex:0 0 116px; min-height:38px; padding:0 8px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#202a63; font-size:9px; font-weight:850; }.formal-evidence-stack { display:grid; gap:9px; }.formal-evidence-block { width:100%; padding:14px; border:2px solid #a8c9c7; border-radius:14px; background:#fff; display:grid; gap:7px; color:#202a63; text-align:left; }.formal-evidence-block.assessment { min-height:132px; }.formal-evidence-block.scheme { min-height:116px; }.formal-evidence-block.implementation { min-height:146px; border-color:#087f79; background:#eef7f6; }.formal-evidence-block.needs-action { border-color:#f0a11c; background:#fffaf0; }.formal-evidence-block>header,.formal-evidence-block>footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }.formal-evidence-block>header span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.formal-evidence-block>header em { flex:0 0 auto; padding:4px 7px; border-radius:999px; background:#eef1f4; color:#526075; font-size:8px; font-style:normal; font-weight:900; }.formal-evidence-block.is-current>header em { background:#dfeecb; color:#416d18; }.formal-evidence-block.needs-action>header em { background:#f0a11c; color:#202a63; }.formal-evidence-block h2 { margin:0; overflow:hidden; color:#202a63; font-size:17px; line-height:1.25; text-overflow:ellipsis; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.formal-evidence-block p { margin:0; color:#526075; font-size:10px; line-height:1.4; }.formal-evidence-block footer small { color:#657187; font-size:9px; line-height:1.35; }.formal-evidence-block footer strong { color:#087f79; font-size:20px; }.formal-evidence-pack { width:100%; min-height:58px; padding:11px 14px; border:1px solid #202a63; border-radius:12px; background:#fff; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#202a63; text-align:left; }.formal-evidence-pack span { display:grid; gap:3px; }.formal-evidence-pack b { font-size:14px; }.formal-evidence-pack small { color:#657187; font-size:9px; line-height:1.35; }.formal-evidence-pack strong { color:#087f79; font-size:20px; }
.formal-survey-document { display:grid; gap:14px; padding:16px; border:1px solid #b8c7da; border-radius:16px; background:#fff; }.formal-survey-document>header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding-bottom:13px; border-bottom:1px solid #dbe3ed; }.formal-survey-document>header span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.formal-survey-document>header h2 { margin:3px 0; color:#202a63; font-size:22px; }.formal-survey-document>header p,.formal-survey-document>section p { margin:0; color:#526075; font-size:11px; line-height:1.5; }.formal-survey-document>header button { min-height:38px; padding:0 12px; border:1px solid #087f79; border-radius:10px; background:#fff; color:#087f79; font-size:10px; font-weight:900; }.formal-survey-document>section { display:grid; gap:7px; padding-top:3px; }.formal-survey-document>section>b { color:#202a63; font-size:13px; }.formal-survey-document>section>small { color:#657187; font-size:9px; }.formal-survey-document ul { margin:0; padding-left:18px; color:#526075; font-size:10px; }
.formal-survey-totals { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }.formal-survey-totals>span { min-width:0; min-height:64px; padding:9px 4px; border:1px solid #dbe3ed; border-radius:10px; display:grid; place-items:center; align-content:center; gap:4px; color:#657187; font-size:8px; font-weight:850; text-transform:uppercase; }.formal-survey-totals b { color:#202a63; font-size:21px; line-height:1; }.formal-review-block { padding:15px; border:1px solid #a8c9c7; border-radius:13px; background:#f8fbfb; }.formal-review-block>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.formal-review-block>header b { color:#202a63; font-size:13px; }.formal-review-block>header span { color:#087f79; font-size:9px; font-weight:900; }.formal-review-block p { margin:9px 0 0; color:#526075; font-size:12px; line-height:1.45; }.formal-review-block ul { margin:10px 0 0; padding-left:18px; display:grid; gap:6px; color:#33415d; font-size:11px; line-height:1.4; }.formal-review-block>small { margin-top:10px; display:block; color:#748091; font-size:9px; line-height:1.42; }
.formal-approval-form { padding:16px; border:2px solid #202a63; border-radius:14px; background:#fff; }.formal-approval-form>span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.formal-approval-form>label:not(.formal-attestation),.formal-conclusion { margin-top:12px; display:grid; gap:6px; }.formal-approval-form label>b,.formal-conclusion>span { color:#202a63; font-size:11px; font-weight:900; }.formal-approval-form input[type="text"],.formal-approval-form input:not([type]) { width:100%; min-height:46px; padding:0 11px; border:1px solid #a8c9c7; border-radius:9px; color:#202a63; font-size:14px; }.formal-attestation { margin:14px 0; padding:12px; border-radius:10px; background:#eef7f6; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:10px; }.formal-attestation input { width:19px; height:19px; margin:0; accent-color:#087f79; }.formal-attestation b { color:#33415d; font-size:11px; line-height:1.45; }.formal-approval-form>button { width:100%; min-height:50px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:12px; font-weight:900; }.formal-approval-form>button:disabled { background:#d9ddde; color:#7b8493; }
.formal-stage-locked { padding:18px; border:2px solid #f0a11c; border-radius:14px; background:#fffaf0; }.formal-stage-locked b { color:#202a63; font-size:16px; }.formal-stage-locked p { margin:7px 0 13px; color:#526075; font-size:12px; line-height:1.45; }.formal-stage-locked button { min-height:42px; padding:0 13px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:11px; font-weight:900; }.assessment-evidence-chain { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.assessment-evidence-chain>span { min-width:0; padding:10px 5px; border:1px solid #dbe3ed; border-radius:10px; display:grid; place-items:center; gap:5px; text-align:center; }.assessment-evidence-chain i { width:24px; height:24px; border-radius:8px; background:#eef7f6; display:grid; place-items:center; color:#087f79; font-size:11px; font-style:normal; font-weight:950; }.assessment-evidence-chain b { color:#202a63; font-size:8px; line-height:1.25; }.formal-question { margin:0; padding:15px; border:1px solid #a8c9c7; border-radius:13px; }.formal-question legend { padding:0 5px; color:#202a63; font-size:12px; font-weight:900; line-height:1.35; }.formal-question>div { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.formal-question button { min-height:42px; padding:7px 4px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#526075; font-size:9px; font-weight:900; }.formal-question button.is-selected { border:2px solid #087f79; background:#eef7f6; color:#087f79; }.formal-conclusion textarea { min-height:120px; padding:11px; resize:vertical; border:1px solid #a8c9c7; border-radius:10px; color:#202a63; font:inherit; font-size:13px; line-height:1.45; }.formal-report-status { padding:12px 14px; border-left:5px solid #f0a11c; background:#fffaf0; display:grid; gap:4px; }.formal-report-status.is-complete { border-color:#78a943; background:#f2f8e9; }.formal-report-status b { color:#202a63; font-size:12px; }.formal-report-status span { color:#526075; font-size:10px; line-height:1.42; }.report-formal-basis { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.report-formal-basis>span { padding:9px 5px; border:1px solid #dbe3ed; border-radius:9px; display:grid; gap:3px; color:#657187; font-size:8px; text-align:center; }.report-formal-basis b { color:#202a63; font-size:9px; }.report-formal-basis .is-current { border-color:#78a943; background:#f2f8e9; }.report-formal-basis .is-incomplete { border-color:#f0a11c; background:#fffaf0; }
.open-written-scheme { min-height:54px; padding:0 16px; border:1px solid #202a63; border-radius:999px; background:#fff; color:#202a63; font-size:13px; font-weight:900; }
.written-scheme-page { min-height:calc(100vh - 196px); padding:20px 18px 28px; display:flex; flex-direction:column; gap:18px; }
.scheme-title>span,.scheme-approval>span,.scheme-legal-basis>span { color:#087f79; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.scheme-title h1 { margin:6px 0 8px; color:#202a63; font-size:34px; line-height:1.02; letter-spacing:-.045em; }.scheme-title p { margin:0; color:#526075; font-size:15px; line-height:1.48; }
.scheme-status { padding:18px; border:2px solid #202a63; border-radius:16px; display:grid; gap:10px; }.scheme-status.is-current { border-color:#087f79; background:#eef7f6; }.scheme-status.is-draft { background:#fffaf0; }.scheme-status span { color:#087f79; font-size:11px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.scheme-status h2 { margin:5px 0 0; color:#202a63; font-size:22px; line-height:1.15; }.scheme-status p { margin:0; color:#526075; font-size:14px; line-height:1.45; }
.scheme-production { padding:18px; border:1px solid #a8c9c7; border-radius:16px; background:#f7fbfa; }.scheme-production>h2 { margin:0 0 14px; color:#202a63; font-size:20px; line-height:1.2; }.scheme-production>div { display:grid; gap:10px; }.scheme-production article { display:grid; grid-template-columns:34px minmax(0,1fr); gap:2px 10px; }.scheme-production article i { grid-row:1 / 3; width:34px; height:34px; border-radius:10px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:14px; font-style:normal; font-weight:900; }.scheme-production article b { color:#202a63; font-size:14px; }.scheme-production article p { margin:2px 0 0; color:#526075; font-size:13px; line-height:1.42; }.scheme-production>aside { margin-top:16px; padding:14px; border-left:5px solid #087f79; background:#fff; }.scheme-production>aside b { color:#202a63; font-size:14px; }.scheme-production>aside p { margin:6px 0 0; color:#526075; font-size:13px; line-height:1.45; }
.scheme-distinction { padding:14px; border:1px solid #a8c9c7; border-radius:16px; background:#f7fbfa; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; }.scheme-distinction article { min-width:0; display:grid; gap:4px; }.scheme-distinction span { color:#087f79; font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.scheme-distinction b { color:#202a63; font-size:15px; }.scheme-distinction p { margin:0; color:#526075; font-size:11px; line-height:1.4; }.scheme-distinction>i { color:#087f79; font-size:22px; font-style:normal; font-weight:900; }
.scheme-readiness { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.scheme-readiness>span { min-height:62px; padding:10px 12px; border:1px solid #dbe3ed; border-radius:11px; background:#fff; display:flex; flex-direction:column; justify-content:center; gap:4px; color:#748091; font-size:10px; font-weight:850; text-transform:uppercase; }.scheme-readiness b { color:#202a63; font-size:12px; line-height:1.25; text-transform:none; }.scheme-readiness .ready { border-color:#9ac65b; background:#f6faef; }.scheme-readiness .needs-review { border-color:#f0a11c; background:#fffaf0; }
.scheme-sections { display:grid; gap:10px; }.scheme-section { overflow:hidden; border:1px solid #a8c9c7; border-radius:28px; background:#fff; }.scheme-section.is-open { border-color:#087f79; border-radius:18px; background:#f8fbfb; }.scheme-section>button { width:100%; min-height:62px; padding:11px 16px; border:0; background:transparent; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#202a63; text-align:left; }.scheme-section>button>span { min-width:0; display:grid; gap:3px; }.scheme-section>button b { font-size:15px; line-height:1.2; }.scheme-section>button small { color:#657187; font-size:11px; line-height:1.25; }.scheme-section>button i { color:#087f79; font-size:22px; font-style:normal; font-weight:800; }.scheme-section-body { padding:2px 16px 20px; }.scheme-lead { margin:0 0 15px; color:#33415d; font-size:15px; line-height:1.5; }
.scheme-map-tree { display:grid; gap:12px; }.scheme-map-tree>article { padding:14px; border:1px solid #dbe3ed; border-radius:12px; background:#fff; }.scheme-map-tree>article>b { color:#202a63; font-size:16px; }.scheme-map-tree p { margin:10px 0 0; display:grid; gap:3px; }.scheme-map-tree p span { color:#087f79; font-size:13px; font-weight:900; }.scheme-map-tree p small { color:#526075; font-size:12px; line-height:1.4; }
.scheme-role-summary { margin:0; display:grid; gap:8px; }.scheme-role-summary>div { padding:12px; border-radius:10px; background:#fff; display:grid; gap:4px; }.scheme-role-summary dt { color:#657187; font-size:11px; font-weight:850; text-transform:uppercase; }.scheme-role-summary dd { margin:0; color:#202a63; font-size:16px; font-weight:900; }
.scheme-controls { display:grid; gap:12px; }.scheme-controls article { padding:15px; border:1px solid #dbe3ed; border-radius:12px; background:#fff; }.scheme-controls header { display:flex; align-items:start; justify-content:space-between; gap:10px; }.scheme-controls header b { color:#202a63; font-size:16px; line-height:1.25; }.scheme-controls header span { flex:0 0 auto; padding:4px 7px; border-radius:999px; background:#eef7f6; color:#087f79; font-size:10px; font-weight:900; }.scheme-controls p { margin:12px 0 0; color:#526075; font-size:13px; line-height:1.45; }.scheme-controls strong { display:block; margin-bottom:3px; color:#087f79; font-size:10px; letter-spacing:.07em; text-transform:uppercase; }.scheme-controls a { margin-top:12px; display:inline-block; color:#087f79; font-size:12px; font-weight:850; }
.scheme-control-instruction { margin-top:12px; display:grid; gap:9px; }.scheme-control-instruction p { margin:0; }.scheme-control-instruction strong { margin-bottom:2px; }
.scheme-principles,.scheme-remedial { display:grid; gap:9px; }.scheme-principles p,.scheme-remedial p { margin:0; padding:13px; border-radius:10px; background:#fff; display:grid; gap:4px; }.scheme-principles b,.scheme-remedial b { color:#202a63; font-size:14px; }.scheme-principles span,.scheme-remedial span { color:#526075; font-size:13px; line-height:1.45; }
.scheme-review-triggers { margin:0; padding:0 0 0 20px; display:grid; gap:8px; color:#33415d; font-size:14px; line-height:1.4; }.scheme-history { margin-top:16px; padding-top:14px; border-top:1px solid #dbe3ed; display:grid; gap:8px; }.scheme-history p { margin:0; padding:11px; border-radius:9px; background:#fff; display:grid; grid-template-columns:auto 1fr; gap:3px 10px; }.scheme-history b { color:#202a63; font-size:13px; }.scheme-history span { color:#526075; font-size:11px; text-align:right; }.scheme-history small { grid-column:1 / -1; color:#087f79; font-size:10px; font-weight:850; }
.scheme-approval { padding:18px; border:2px solid #202a63; border-radius:16px; background:#fff; }.scheme-approval h2 { margin:6px 0 8px; color:#202a63; font-size:23px; line-height:1.15; }.scheme-approval>p { margin:0 0 16px; color:#526075; font-size:14px; line-height:1.5; }.scheme-approval>label:not(.scheme-attestation) { margin-top:11px; display:grid; gap:6px; }.scheme-approval>label>span { color:#202a63; font-size:12px; font-weight:850; }.scheme-approval input[type="text"],.scheme-approval input:not([type]) { width:100%; min-height:48px; padding:0 12px; border:1px solid #a8c9c7; border-radius:9px; color:#202a63; font-size:15px; }.scheme-attestation { margin:16px 0; padding:13px; border-radius:10px; background:#eef7f6; display:grid; grid-template-columns:22px minmax(0,1fr); align-items:start; gap:10px; }.scheme-attestation input { width:20px; height:20px; margin:0; accent-color:#087f79; }.scheme-attestation span { color:#33415d!important; font-size:13px!important; line-height:1.45; font-weight:700!important; }.scheme-approval>button { width:100%; min-height:54px; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:14px; font-weight:900; }.scheme-approval>button:disabled { background:#d9ddde; color:#7b8493; }
.scheme-assessment-gate { border-color:#f0a11c; background:#fffaf0; }.scheme-assessment-gate>button { background:#087f79; }
.scheme-current-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.scheme-current-actions button { min-height:50px; border:1px solid #087f79; border-radius:10px; background:#fff; color:#087f79; font-size:12px; font-weight:900; }.scheme-current-actions .scheme-open-map { border-color:#202a63; background:#202a63; color:#fff; }.scheme-message { margin:0; padding:13px; border-left:5px solid #087f79; background:#eef7f6; color:#202a63; font-size:13px; font-weight:800; line-height:1.45; }.scheme-legal-basis { padding:16px; border-top:1px solid #dbe3ed; }.scheme-legal-basis p { margin:7px 0 10px; color:#526075; font-size:13px; line-height:1.5; }.scheme-legal-basis a { color:#087f79; font-size:13px; font-weight:850; }
@media print { .brandbar,.locationbar,.action-screen-back,.scheme-current-actions { display:none!important; }.app-shell,.content,.strip,.control-strip,.written-scheme-page { width:100%!important; min-height:0!important; max-height:none!important; overflow:visible!important; border:0!important; box-shadow:none!important; }.scheme-section { break-inside:avoid; }.scheme-section-body { display:block!important; } }
.control-page-head { padding:15px; border:2px solid #202a63; border-radius:13px; background:#fff; }.control-page-head span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.control-page-head h1 { margin:5px 0 7px; color:#202a63; font-size:25px; line-height:1.04; letter-spacing:-.04em; }.control-page-head p { margin:0; color:#657187; font-size:9px; line-height:1.45; }
.control-demo-note { padding:7px 9px; border-radius:8px; background:#eef7f6; color:#087f79; font-size:8px; font-weight:850; text-align:center; }
.control-view-switch { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.control-view-switch button { min-height:46px; padding:7px 9px; border:1px solid #b8c5d5; border-radius:9px; background:#fff; display:grid; grid-template-columns:21px minmax(0,1fr); align-items:center; gap:7px; color:#202a63; text-align:left; }.control-view-switch button.chosen { border:2px solid #202a63; }.control-view-switch span { width:21px; height:21px; border-radius:6px; background:#eef1f4; display:grid; place-items:center; font-size:8px; font-weight:900; }.control-view-switch b { font-size:9px; line-height:1.2; }
.control-legend { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }.control-legend>div { min-width:0; padding:7px 5px; border:1px solid #dbe3ed; border-radius:8px; background:#fff; display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:3px; }.control-legend i { width:9px; height:9px; border-radius:3px; }.control-legend b { overflow:hidden; color:#202a63; font-size:6px; text-overflow:ellipsis; white-space:nowrap; }.control-legend span { color:#657187; font-size:7px; font-weight:850; }.control-legend .red i { background:#df4f51; }.control-legend .orange i { background:#f0a11c; }.control-legend .green i { background:#9ac65b; }.control-legend .grey i { background:#c8cbc6; }
.control-map-card { padding:11px; border:1px solid #aebbd0; border-radius:11px; background:#fff; }.control-map-card>header { margin-bottom:8px; display:flex; align-items:center; justify-content:space-between; gap:7px; }.control-map-card>header b { color:#202a63; font-size:12px; }.control-map-card>header span { color:#748091; font-size:7px; text-align:right; }
.monitoring-map .map-legend { color:#087f79; }.monitoring-map .floor-band { border-color:#202a63; background:#eef1f4; }.monitoring-map .floor-band>button { border-right-color:rgba(32,42,99,.2); transition:background .2s,color .2s; }.monitoring-map .floor-band>button.status-red { background:#df4f51; color:#fff; }.monitoring-map .floor-band>button.status-orange { background:#f0a11c; color:#202a63; }.monitoring-map .floor-band>button.status-green { background:#9ac65b; color:#202a63; }.monitoring-map .floor-band>button.status-grey { background:#c8cbc6; color:#202a63; }.monitoring-map .floor-band>button.status-red span { color:#fff; }.monitoring-map .floor-band>button.status-orange span,.monitoring-map .floor-band>button.status-green span,.monitoring-map .floor-band>button.status-grey span { color:#202a63; }
.monitoring-map .floor-band.has-revealed-room { min-height:138px; display:flex; align-items:stretch; }
.monitoring-map .floor-band.has-revealed-room>button { flex:1 1 25%; }
.room-reveal-tile { flex:3 1 75%; min-width:0; padding:9px; display:grid; align-content:center; gap:4px; color:#202a63; text-align:left; }
.room-reveal-tile.status-red { background:#df4f51; color:#fff; }.room-reveal-tile.status-orange { background:#f0a11c; }.room-reveal-tile.status-green { background:#9ac65b; }.room-reveal-tile.status-grey { background:#c8cbc6; }
.room-reveal-tile>header { display:flex; align-items:center; justify-content:space-between; gap:6px; }.room-reveal-tile>header b { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.room-reveal-tile>header i { padding:3px 5px; border-radius:5px; background:rgba(255,255,255,.88); color:#202a63; font-size:6px; font-style:normal; font-weight:900; white-space:nowrap; }
.room-reveal-tile>strong { font-size:9px; line-height:1.2; }.room-reveal-tile>span { margin:0; color:inherit!important; font-size:7px; line-height:1.3; }.room-reveal-tile>em { padding:4px 5px; border-radius:5px; background:rgba(255,255,255,.86); color:#087f79; font-size:6px; font-style:normal; font-weight:850; line-height:1.25; }.room-reveal-tile>button { min-height:29px; padding:5px 7px; border:0; border-radius:6px; background:#202a63; color:#fff; font-size:7px; font-weight:900; }
.show-working-map { min-height:44px; border:0; border-radius:9px; background:#202a63; color:#fff; font-size:10px; font-weight:850; }.control-back { padding:7px 0; border:0; background:transparent; color:#657187; font-size:9px; font-weight:800; }
.law-payoff,.kieran-payoff,.record-payoff { padding:14px; border-radius:11px; background:#fff; }
.law-payoff { border:2px solid #202a63; }.law-payoff>span,.kieran-payoff>span,.signup-lane>span { color:#087f79; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.law-payoff h2 { margin:5px 0 7px; color:#202a63; font-size:17px; line-height:1.12; }.law-payoff p,.kieran-payoff p,.record-payoff p { margin:0; color:#526075; font-size:9px; line-height:1.45; }.law-payoff>div { margin-top:11px; display:grid; grid-template-columns:repeat(7,auto); align-items:center; justify-content:space-between; color:#087f79; }.law-payoff>div b { font-size:8px; }.law-payoff>div i { color:#aebbd0; font-size:9px; font-style:normal; }
.kieran-payoff { border-left:5px solid #087f79; }.kieran-payoff p { margin-top:5px; color:#202a63; font-size:10px; font-weight:750; }
.record-payoff { border:1px solid #a8c9c7; background:#eef7f6; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; }.record-payoff>i { width:38px; height:38px; border-radius:10px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:20px; font-style:normal; font-weight:900; }.record-payoff b { color:#202a63; font-size:11px; }.record-payoff p { margin-top:3px; }
.show-report-example { min-height:50px; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:11px; font-weight:900; }
.report-example { overflow:hidden; border:1px solid #aebbd0; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(32,42,99,.08); }.report-example>header { padding:15px; border-bottom:3px solid #087f79; }.report-example>header>div { display:flex; align-items:center; gap:7px; }.report-example>header>div b { color:#202a63; font-size:12px; }.report-example>header>div span { padding:3px 5px; border-radius:4px; background:#eef1f4; color:#657187; font-size:6px; font-weight:900; text-transform:uppercase; }.report-example>header>small { display:block; margin-top:10px; color:#087f79; font-size:7px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.report-example>header h2 { margin:3px 0 5px; color:#202a63; font-size:22px; }.report-example>header p { margin:0; color:#657187; font-size:8px; line-height:1.4; }
.report-meta { padding:10px 14px; border-bottom:1px solid #dbe3ed; background:#f8fafb; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.report-meta span,.report-section>span,.report-roles span,.report-stats span { display:block; color:#748091; font-size:6px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }.report-meta b { display:block; margin-top:2px; color:#202a63; font-size:8px; line-height:1.3; }
.report-section { padding:13px 14px; border-bottom:1px solid #dbe3ed; }.report-section h3 { margin:0 0 8px; color:#202a63; font-size:12px; }.report-note { margin:0 0 9px; padding:8px; border-left:4px solid #087f79; background:#eef7f6; color:#526075; font-size:7px; line-height:1.4; }.report-note b { color:#202a63; }.report-roles { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.report-roles>div { padding:8px; border:1px solid #dbe3ed; border-radius:7px; }.report-roles b { display:block; margin:3px 0; color:#202a63; font-size:8px; }.report-roles small { color:#657187; font-size:6px; line-height:1.35; }
.report-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.report-stats>div { padding:8px; border-radius:7px; background:#202a63; color:#fff; }.report-stats b { display:block; font-size:16px; }.report-stats span { color:#dfe3f1; font-size:5px; }.report-states { margin-top:7px; display:grid; grid-template-columns:1fr 1fr; gap:5px; }.report-states span { padding:6px; border-radius:6px; font-size:7px; font-weight:850; }.report-states .green { background:#edf6df; color:#507a25; }.report-states .orange { background:#fff5df; color:#8a5a00; }.report-states .red { background:#fff0f1; color:#912b32; }.report-states .grey { background:#eef1f0; color:#626862; }
.report-activity { padding:9px; border:1px solid #b8c5d5; border-radius:8px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 8px; }.report-activity>span { color:#087f79; font-size:7px; font-weight:850; }.report-activity>b { overflow:hidden; color:#202a63; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.report-activity p,.report-activity small { grid-column:1/-1; margin:0; }.report-activity p { color:#507a25; font-size:8px; font-weight:850; }.report-activity small { color:#748091; font-size:6px; line-height:1.35; }.report-evidence>div { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.report-evidence p { margin:0; padding:7px; border:1px solid #dbe3ed; border-radius:7px; }.report-evidence b,.report-evidence span { display:block; }.report-evidence b { color:#202a63; font-size:7px; }.report-evidence span { margin-top:2px; color:#657187; font-size:6px; line-height:1.35; }.report-example>footer { padding:9px 14px; display:flex; justify-content:space-between; gap:8px; color:#748091; font-size:6px; font-weight:800; }
.signup-lane { padding:17px; border:3px solid #202a63; border-radius:12px; background:#fff; box-shadow:0 10px 24px rgba(32,42,99,.12); }.signup-lane h2 { margin:5px 0 7px; color:#202a63; font-size:21px; line-height:1.08; }.signup-lane p { margin:0 0 13px; color:#526075; font-size:9px; line-height:1.45; }.signup-lane a { min-height:54px; padding:8px 12px; border-radius:9px; background:#202a63; display:grid; place-items:center; color:#fff; font-size:12px; font-weight:900; text-align:center; text-decoration:none; }.signup-lane small { display:block; margin-top:7px; color:#748091; font-size:7px; text-align:center; }
@media (max-width:480px) { .app-stage { padding:0; }.app-shell { width:100%; border:0; border-radius:0; box-shadow:none; }.brandbar { padding-left:14px; padding-right:14px; gap:8px; }.brand { gap:7px; font-size:16px; }.brand-mark { gap:3px; }.brand-mark i { width:10px; height:10px; }.brand-actions { gap:8px; }.brand-actions button { font-size:9px; }.content { padding:15px 12px 32px; }.strip-slide { padding-left:16px; padding-right:16px; }.locationbar { padding-left:14px; padding-right:14px; gap:7px; }.locationbar b { max-width:none; }.location-actions { gap:3px; }.location-actions button { min-height:34px; padding:0 6px; font-size:8px; }.calendar-key>span { padding:6px; font-size:8px; }.calendar-key i { width:20px; height:20px; flex-basis:20px; }.calendar-grid>button { min-height:58px; }.calendar-agenda>div>button { grid-template-columns:34px minmax(0,1fr); }.calendar-agenda>div>button>i { width:34px; height:34px; }.calendar-agenda>div>button>strong { grid-column:2; } }

@media (orientation:landscape) and (max-height:600px) {
  html,body { width:100%; min-width:100%; overflow-x:hidden; }
  .app-stage { width:100vw; max-width:100vw; min-height:100vh; padding:0; grid-template-columns:minmax(0,1fr); place-items:start stretch; }
  .app-shell { width:100vw; max-width:100vw; min-height:0; border-right:0; border-left:0; border-radius:0; box-shadow:none; }
  .brandbar { min-height:52px; padding:0 18px; }
  .locationbar { min-height:50px; padding:6px 18px; }
  .content { width:100%; min-width:0; padding:0 0 18px; }
  .strip { width:100%; border-right:0; border-left:0; border-radius:0; box-shadow:none; }
  .stage-route { min-height:54px; padding:5px 10px; }
  .stage-route span { width:20px; height:20px; }
  .strip-slide { padding:14px 18px; gap:10px; }
  .rooms-slide { flex-basis:100%; padding-right:18px; padding-left:18px; }
  .rooms-slide>.foundation-rooms-head { padding-right:18px; padding-left:18px; }
  .rooms-slide>.foundation-room-map-card { width:100%; padding:10px; border:2px solid #087f79; border-radius:12px; }
  .rooms-slide>.foundation-room-map-card .foundation-floor-entry { padding:12px 0 0; }
  .rooms-slide>.foundation-room-hint,.rooms-slide>.foundation-add-missing { margin-right:18px; margin-left:18px; }
  .slide-head { min-height:44px; }
}

@supports (width:100dvw) {
  @media (orientation:landscape) and (max-height:600px) {
    .app-stage,.app-shell { width:100dvw; max-width:100dvw; }
  }
}

.report-output-note { margin-top:14px; padding:18px; border:2px solid #202a63; border-radius:15px; background:#fff; }
.report-output-note>span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.report-output-note h2 { margin:8px 0 10px; color:#202a63; font-size:21px; }
.report-output-note p { margin:0; color:#526075; font-size:14px; line-height:1.48; }
.report-actions button:first-child { border:0; background:#202a63; color:#fff; }
.report-actions button:last-child { border:1px solid #087f79; background:#fff; color:#087f79; }

/* Duty, data and evidence workspace */
.guided-example-link { width:100%; padding:10px; border:0; background:transparent; color:#087f79; font-size:12px; font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.duty-page { padding:24px; background:#f5f8f8; }.duty-workspace { width:min(940px,100%); min-height:calc(100vh - 145px); margin:0 auto; padding:26px; border:3px solid #202a63; border-radius:24px; background:#fff; box-shadow:0 16px 42px rgba(32,42,99,.08); }.duty-workspace>header { margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid #dbe3ed; display:flex; align-items:start; justify-content:space-between; gap:18px; }.duty-workspace>header span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }.duty-workspace>header h2 { margin:6px 0 0; color:#202a63; font-size:38px; line-height:1.02; letter-spacing:-.04em; }.duty-workspace>header>button { width:44px; height:44px; border:1px solid #a8c9c7; border-radius:50%; background:#fff; color:#087f79; font-size:24px; }.duty-workspace .duty-intro { max-width:750px; margin:0 0 24px; color:#526075; font-size:18px; line-height:1.55; }
.duty-workspace>header.duty-hub-frame-head { margin-bottom:14px; padding-bottom:0; border-bottom:0; }.duty-hub-frame-head>div>span { font-size:13px; }.product-journey { min-width:0; display:grid; gap:9px; }.product-journey>header { display:flex; align-items:center; justify-content:space-between; gap:12px; }.product-journey>header span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.product-journey>header b { color:#657187; font-size:11px; }.product-journey-face { width:100%; min-width:0; touch-action:pan-y; }.product-journey article { width:100%; min-height:300px; padding:28px; border:2px solid #202a63; border-radius:20px; display:flex; flex-direction:column; justify-content:center; }.product-journey article>span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.product-journey h3 { max-width:740px; margin:15px 0; color:#202a63; font-size:42px; line-height:1.03; letter-spacing:-.04em; }.product-journey p { max-width:700px; margin:0; color:#526075; font-size:18px; line-height:1.5; }.journey-overview { background:#eef7f6; border-color:#087f79!important; }.journey-problem { background:#fff4f3; border-color:#df4f51!important; }.journey-system { background:#eef7f6; border-color:#087f79!important; }.journey-result { background:#f2f8e9; border-color:#78a943!important; }.journey-strip-navigation { min-height:32px; display:grid; grid-template-columns:32px 1fr 32px; align-items:center; gap:10px; }.journey-strip-navigation>button { width:32px; height:32px; padding:0; border:1px solid #a8c9c7; border-radius:999px; background:#fff; display:grid; place-items:center; color:#087f79; font-size:17px; font-weight:900; line-height:1; }.journey-strip-navigation>button:disabled { visibility:hidden; }.journey-strip-navigation>span { display:flex; justify-content:center; gap:6px; }.journey-strip-navigation>span>button { width:7px; height:7px; padding:0; border:0; border-radius:999px; background:#c8cbc6; transition:width .15s,background .15s; }.journey-strip-navigation>span>button.is-current { width:22px; background:#087f79; }.journey-reveal { margin-top:12px; padding-top:20px; border-top:1px solid #dbe3ed; }.journey-reveal>span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.journey-reveal>h2 { margin:8px 0 16px; color:#202a63; font-size:30px; line-height:1.08; letter-spacing:-.03em; }.journey-overview-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.journey-overview-flow article { min-height:120px; padding:16px; border:1px solid #a8c9c7; border-radius:15px; display:grid; grid-template-columns:35px 1fr; align-content:start; gap:5px 10px; }.journey-overview-flow i { grid-row:1/3; width:35px; height:35px; border-radius:50%; background:#087f79; display:grid; place-items:center; color:#fff; font-style:normal; font-weight:950; }.journey-overview-flow b { color:#202a63; font-size:17px; }.journey-overview-flow small { color:#657187; font-size:12px; line-height:1.4; }.journey-reveal .duty-module-grid { margin-top:0; }.journey-result-modules { grid-template-columns:repeat(2,1fr); }
.duty-module-grid { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.duty-module-grid button { min-height:145px; padding:18px; border:1px solid #a8c9c7; border-radius:16px; background:#fff; display:flex; flex-direction:column; align-items:flex-start; gap:7px; color:#202a63; text-align:left; }.duty-module-grid span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.duty-module-grid b { font-size:18px; line-height:1.2; }.duty-module-grid small { color:#657187; font-size:12px; line-height:1.4; }
.explain-hero { padding:26px; border-radius:20px; background:#202a63; color:#fff; }.explain-hero span,.explain-chain>span { color:#8ad9d4; font-size:11px; font-weight:950; letter-spacing:.1em; text-transform:uppercase; }.explain-hero h1 { max-width:760px; margin:10px 0 14px; font-size:42px; line-height:1.03; letter-spacing:-.045em; }.explain-hero p { max-width:780px; margin:0; color:#eef1f8; font-size:18px; line-height:1.55; }.explain-boundaries { margin-top:16px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }.explain-boundaries article { padding:22px; border:2px solid #087f79; border-radius:17px; }.explain-boundaries article:last-child { border-color:#df4f51; }.explain-boundaries b { color:#202a63; font-size:22px; }.explain-boundaries p { margin:8px 0 0; color:#526075; font-size:16px; line-height:1.5; }.explain-chain { margin-top:16px; padding:24px; border-radius:18px; background:#eef7f6; }.explain-chain>span { color:#087f79; }.explain-chain ol { margin:18px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:8px; list-style:none; }.explain-chain li { min-height:165px; padding:15px; border-radius:13px; background:#fff; }.explain-chain b,.explain-chain small { display:block; }.explain-chain b { color:#202a63; font-size:15px; line-height:1.25; }.explain-chain small { margin-top:8px; color:#657187; font-size:12px; line-height:1.45; }.explainer-actions { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }.explainer-actions button { min-height:54px; border:1px solid #087f79; border-radius:12px; background:#fff; color:#087f79; font-size:14px; font-weight:900; }.explainer-actions button:first-child { border:0; background:#202a63; color:#fff; }
.problem-explanation>span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.problem-explanation>h2 { margin:8px 0 16px; color:#202a63; font-size:30px; line-height:1.08; letter-spacing:-.03em; }.problem-definition { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.problem-definition article { padding:22px; border-radius:17px; background:#202a63; color:#fff; }.problem-definition b { font-size:22px; }.problem-definition p { margin:8px 0 0; color:#eef1f8; font-size:16px; line-height:1.5; }.problem-not { margin-top:16px; padding:22px; border-left:6px solid #df4f51; background:#fff4f3; }.problem-not b { color:#202a63; font-size:20px; }.problem-not p { margin:7px 0 0; color:#526075; font-size:16px; line-height:1.55; }.problem-explanation .duty-sources { margin-top:18px; padding:18px; border:1px solid #a8c9c7; border-radius:15px; }.problem-explanation .duty-sources>span { font-size:11px; }.problem-explanation .duty-sources a { min-height:42px; padding:10px 12px; border:1px solid #a8c9c7; border-radius:9px; display:flex; align-items:center; font-size:13px; }
.people-role-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.people-role-flow article { padding:18px; border:1px solid #a8c9c7; border-radius:15px; display:grid; grid-template-columns:36px 1fr; gap:4px 10px; }.people-role-flow i { grid-row:1/3; width:36px; height:36px; border-radius:50%; background:#087f79; display:grid; place-items:center; color:#fff; font-style:normal; font-weight:950; }.people-role-flow b { color:#202a63; font-size:16px; }.people-role-flow small { color:#657187; font-size:12px; line-height:1.4; }.people-form { margin-top:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.people-form section { padding:18px; border:1px solid #dbe3ed; border-radius:15px; background:#f8fafb; }.people-form section>span,.finding-form>span { display:block; margin-bottom:14px; color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.people-form label,.finding-form label { margin-top:11px; display:grid; gap:6px; }.people-form label>b,.finding-form label>b { color:#202a63; font-size:12px; }.people-form input,.people-form select,.people-form textarea,.finding-form input,.finding-form select { width:100%; min-height:44px; padding:10px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#202a63; font-size:14px; }.people-form textarea { min-height:84px; resize:vertical; }.people-form .people-check { grid-template-columns:20px 1fr; align-items:start; }.people-check input { width:20px; min-height:20px; accent-color:#087f79; }.people-check span { color:#526075; font-size:12px; line-height:1.4; }.role-history-note { margin-top:15px; padding:16px; border-left:5px solid #087f79; background:#eef7f6; }.role-history-note b { color:#202a63; }.role-history-note p { margin:6px 0 0; color:#526075; font-size:13px; line-height:1.45; }
.employee-band-field>small { color:#657187; font-size:10px; line-height:1.4; }.employee-recording-position { margin-top:12px; padding:13px; border-left:5px solid #f0a11c; background:#fffaf0; display:grid; gap:4px; }.employee-recording-position.is-statutory { border-color:#087f79; background:#eef7f6; }.employee-recording-position>span { color:#087f79; font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.employee-recording-position b { color:#202a63; font-size:12px; }.employee-recording-position p { margin:0; color:#526075; font-size:10px; line-height:1.45; }.review-recording-position { margin-top:0; }
.same-person-check span { display:grid; gap:3px; }.same-person-check span b { color:#202a63; font-size:12px; }.same-person-check span small { color:#657187; font-size:10px; line-height:1.35; }.people-source { margin-top:15px; padding:16px; border-left:5px solid #087f79; background:#eef7f6; display:grid; gap:5px; }.people-source b { color:#202a63; }.people-source span { color:#526075; font-size:13px; line-height:1.45; }.people-source a { color:#087f79; font-size:12px; font-weight:900; }.people-return { width:100%; min-height:52px; margin-top:15px; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:14px; font-weight:900; }.people-return:disabled { background:#d9ddde; color:#7b8493; }
.monitoring-duty-handover { margin-bottom:15px; padding:20px; border:3px solid #202a63; border-radius:17px; background:#fff; box-shadow:inset 7px 0 0 #087f79; }.monitoring-duty-handover>span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.monitoring-duty-handover h2 { margin:8px 0; color:#202a63; font-size:28px; line-height:1.08; letter-spacing:-.03em; }.monitoring-duty-handover p { max-width:760px; margin:0; color:#526075; font-size:15px; line-height:1.5; }.monitoring-duty-handover small { margin-top:10px; display:block; color:#202a63; font-size:12px; font-weight:900; }
.people-live-value { padding:20px; border:2px solid #087f79; border-radius:17px; background:#eef7f6; }.people-live-value>span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.people-live-value h3 { margin:7px 0; color:#202a63; font-size:24px; line-height:1.1; }.people-live-value p { max-width:720px; margin:0; color:#526075; font-size:14px; line-height:1.5; }.people-live-value>div { margin-top:14px; display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }.people-live-value>div span { min-height:34px; padding:7px; border-radius:8px; background:#fff; color:#087f79; font-size:10px; font-weight:900; display:grid; place-items:center; }.people-form-live { grid-template-columns:1fr; }.people-form-live section { max-width:720px; width:100%; }.role-record-preview { margin-top:12px; padding:14px 16px; border:1px solid #a8c9c7; border-radius:12px; background:#fff; }.role-record-preview summary { color:#087f79; font-size:13px; font-weight:900; cursor:pointer; }.role-record-preview p { margin:9px 0 0; color:#526075; font-size:13px; line-height:1.5; }.duty-more { margin:18px auto 0; padding:8px; border:0; background:transparent; display:block; color:#087f79; font-size:12px; font-weight:900; text-decoration:underline; text-underline-offset:4px; }
.people-decision-flow { max-width:720px; margin-top:16px; display:grid; gap:12px; }
.people-decision-card { padding:18px; border:1px solid #a8c9c7; border-radius:15px; background:#f8fbfb; display:grid; gap:12px; }
.people-decision-card>header { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:11px; }
.people-decision-card>header i { width:40px; height:40px; border-radius:12px; background:#087f79; display:grid; place-items:center; color:#fff; font-size:17px; font-style:normal; font-weight:950; }
.people-decision-card>header div { min-width:0; display:grid; gap:3px; }
.people-decision-card>header span,.people-generated-summary>header span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.people-decision-card h3 { margin:0; color:#202a63; font-size:20px; line-height:1.15; }
.people-decision-card>p { margin:0; color:#526075; font-size:11px; line-height:1.45; }
.people-choice-grid { display:grid; gap:7px; }.people-choice-grid.two { grid-template-columns:repeat(2,1fr); }.people-choice-grid.three { grid-template-columns:repeat(3,1fr); }.people-choice-grid.four { grid-template-columns:repeat(2,1fr); }
.people-choice-grid button { min-height:45px; padding:8px; border:1px solid #087f79; border-radius:9px; background:#fff; color:#087f79; font-size:10px; font-weight:900; }
.people-choice-grid button.is-selected { border-color:#202a63; background:#202a63; color:#fff; }.people-choice-grid button:disabled { border-color:#d9ddde; background:#eef1f4; color:#7b8493; }
.people-decision-card>label { display:grid; gap:6px; }.people-decision-card>label>b { color:#202a63; font-size:11px; }.people-decision-card>label>input:not([type="checkbox"]) { width:100%; min-height:45px; padding:0 11px; border:1px solid #a8c9c7; border-radius:9px; background:#fff; color:#202a63; font-size:14px; }
.people-decision-card .people-confirm { padding:11px; border-radius:10px; background:#eef7f6; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:9px; }.people-confirm input { width:19px; height:19px; margin:0; accent-color:#087f79; }.people-confirm span { color:#33415d; font-size:10px; font-weight:800; line-height:1.4; }
.people-gap-note { padding:10px 12px; border-left:4px solid #f0a11c; background:#fffaf0; color:#526075; font-size:10px; line-height:1.45; }
.people-generated-summary { max-width:720px; margin-top:14px; padding:18px; border:2px solid #202a63; border-radius:15px; background:#fff; display:grid; gap:13px; }.people-generated-summary>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.people-generated-summary>header b { color:#202a63; font-size:11px; }.people-generated-summary dl { margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.people-generated-summary dl div { min-width:0; padding:10px; border-radius:9px; background:#eef7f6; display:grid; gap:3px; }.people-generated-summary dt { color:#087f79; font-size:8px; font-weight:950; text-transform:uppercase; }.people-generated-summary dd { margin:0; overflow:hidden; color:#202a63; font-size:11px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }.people-generated-summary>aside { padding:11px; border-left:4px solid #087f79; background:#f8fbfb; }.people-generated-summary>aside b { color:#202a63; font-size:10px; }.people-generated-summary>aside p { margin:4px 0 0; color:#526075; font-size:10px; line-height:1.45; }.people-generated-summary>small { color:#657187; font-size:9px; line-height:1.45; }
.people-step-head { max-width:720px; display:flex; align-items:end; justify-content:space-between; gap:14px; }.people-step-head>div { min-width:0; }.people-step-head span,.people-complete>span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.people-step-head h3 { margin:5px 0 0; color:#202a63; font-size:24px; line-height:1.1; }.people-step-head>b { flex:0 0 auto; color:#657187; font-size:11px; }
.people-step-progress { max-width:720px; margin:13px 0 18px; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }.people-step-progress i { height:5px; border-radius:999px; background:#d9ddde; }.people-step-progress i.is-active { background:#087f79; }
.people-decision-stage { max-width:720px; }.people-decision-stage .people-decision-card { min-height:320px; align-content:start; }.people-decision-stage .people-decision-card>header { grid-template-columns:1fr; }.people-decision-stage .people-decision-card>header div { gap:4px; }.people-decision-stage .people-decision-card h3 { font-size:24px; }
.people-duty-boundary { margin-top:2px; padding:11px 0 0 11px; border-left:4px solid #087f79; display:grid; gap:3px; }.people-duty-boundary b { color:#202a63; font-size:11px; }.people-duty-boundary span { color:#526075; font-size:10px; line-height:1.45; }
.people-step-actions { max-width:720px; margin-top:14px; padding-top:13px; border-top:1px solid #dbe3ed; display:flex; align-items:center; justify-content:space-between; gap:10px; }.people-step-actions button { min-height:48px; padding:0 16px; border-radius:999px; font-size:11px; font-weight:900; }.people-step-back { border:0; background:transparent; color:#087f79; }.people-step-back:disabled { visibility:hidden; }.people-step-next { border:0; background:#202a63; color:#fff; }.people-step-next:disabled { background:#d9ddde; color:#7b8493; }
.people-complete { min-height:320px; padding:18px 0 0; }.people-complete>h3 { max-width:620px; margin:7px 0; color:#202a63; font-size:28px; line-height:1.08; }.people-complete>p { max-width:620px; margin:0; color:#526075; font-size:13px; line-height:1.5; }.people-complete .people-generated-summary { margin-top:16px; }
.logbook-head { display:grid; gap:12px; }.logbook-head>div { min-width:0; }.logbook-head span,.live-report>header span,.report-sections article>span,.report-control-table>header span { color:#087f79; font-size:11px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.logbook-head span { white-space:nowrap; }.logbook-head h1,.live-report>header h1 { margin:7px 0; color:#202a63; font-size:35px; line-height:1.05; }.logbook-head p,.live-report>header p { max-width:650px; margin:0; color:#526075; font-size:15px; line-height:1.48; }.logbook-head> b { width:max-content; padding:9px 12px; border-radius:999px; background:#eef7f6; color:#087f79; font-size:13px; }
.logbook-filter-panel { margin:17px 0 12px; border-bottom:1px solid #dbe3ed; }.logbook-filter-panel summary { width:max-content; margin-bottom:12px; color:#087f79; font-size:11px; font-weight:900; cursor:pointer; }.logbook-filters { margin:0 0 14px; display:grid; grid-template-columns:2fr 1fr; gap:10px; }.logbook-filters label { display:grid; gap:5px; }.logbook-filters span { color:#657187; font-size:10px; font-weight:900; text-transform:uppercase; }.logbook-filters input,.logbook-filters select { min-height:46px; min-width:0; padding:0 12px; border:1px solid #a8c9c7; border-radius:10px; background:#fff; color:#202a63; font-size:14px; }
.logbook-view-toggle { margin-top:17px; padding:4px; border:1px solid #a8c9c7; border-radius:10px; background:#eef3f4; display:grid; grid-template-columns:1fr 1fr; gap:4px; }.logbook-view-toggle button { min-height:39px; padding:7px; border:0; border-radius:7px; background:transparent; color:#657187; font-size:10px; font-weight:900; }.logbook-view-toggle button[aria-pressed="true"] { background:#202a63; color:#fff; box-shadow:0 2px 7px rgba(32,42,99,.18); }
.logbook-table-wrap { max-height:min(62vh,680px); margin-top:16px; overflow-x:auto; overflow-y:auto; border:1px solid #a8c9c7; border-radius:13px; background:#fff; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-x pan-y; }.logbook-table { width:100%; min-width:930px; border-collapse:collapse; color:#202a63; font-size:9px; }.logbook-table caption { padding:11px 12px; border-bottom:1px solid #dbe3ed; color:#657187; font-size:8px; font-weight:800; text-align:left; }.logbook-table th { position:sticky; top:0; z-index:1; padding:9px 10px; border-bottom:2px solid #202a63; background:#f2f5f7; color:#202a63; font-size:8px; letter-spacing:.04em; text-align:left; text-transform:uppercase; white-space:nowrap; }.logbook-table td { max-width:230px; padding:10px; border-bottom:1px solid #dbe3ed; color:#526075; line-height:1.35; vertical-align:top; }.logbook-table tbody tr:last-child td { border-bottom:0; }.logbook-table tbody tr.is-selected { background:#eef7f6; }.logbook-table td:nth-child(2),.logbook-table td:nth-child(3),.logbook-table td:nth-child(6),.logbook-table td:nth-child(7),.logbook-table td:nth-child(8) { white-space:nowrap; }.logbook-table td:first-child i { width:18px; height:12px; border-radius:4px; background:#9ac65b; display:block; }.logbook-table tr.logbook-status-due td:first-child i { background:#f0a11c; }.logbook-table tr.logbook-status-action td:first-child i { background:#df4f51; }.logbook-table td:last-child button { min-height:31px; padding:0 10px; border:1px solid #087f79; border-radius:7px; background:#fff; color:#087f79; font-size:8px; font-weight:900; }
.logbook-spine { margin-top:16px; padding:13px; border:1px solid #a8c9c7; border-radius:13px; background:#fff; }.logbook-spine>header { padding-bottom:9px; border-bottom:1px solid #dbe3ed; display:flex; align-items:end; justify-content:space-between; gap:9px; }.logbook-spine>header div { display:grid; gap:2px; }.logbook-spine>header b { color:#202a63; font-size:11px; text-transform:uppercase; }.logbook-spine>header span,.logbook-spine>header strong { color:#657187; font-size:8px; font-weight:750; }.logbook-spine-row { min-width:0; padding:8px 0; border-bottom:1px solid #e8edef; display:grid; grid-template-columns:92px minmax(0,1fr) 16px; align-items:center; gap:8px; }.logbook-spine-row>b { color:#202a63; font-size:9px; line-height:1.2; }.logbook-spine-row>span { color:#657187; font-size:9px; font-variant-numeric:tabular-nums; text-align:right; }.logbook-index { min-width:0; padding:4px 3px 6px; overflow-x:auto; display:flex; gap:6px; overscroll-behavior-inline:contain; scrollbar-width:thin; touch-action:pan-x; }.logbook-index button { flex:0 0 32px; min-width:32px; height:20px; padding:0; border:2px solid #778782; border-radius:6px; background:#d9dfdc; box-shadow:none; }.logbook-index button.logbook-status-current { border-color:#56872d; background:#9ac65b; }.logbook-index button.logbook-status-due { border-color:#a76509; background:#f0a11c; }.logbook-index button.logbook-status-action { border-color:#9f2727; background:#df4f51; }.logbook-index button[aria-pressed="true"] { outline:3px solid rgba(32,42,99,.25); outline-offset:2px; }.logbook-spine>footer { padding-top:10px; display:flex; flex-wrap:wrap; gap:7px 11px; }.logbook-spine>footer div { display:flex; align-items:center; gap:4px; color:#657187; font-size:7px; font-weight:750; }.logbook-spine>footer i { width:13px; height:8px; border-radius:3px; background:#d9dfdc; }.logbook-spine>footer i.is-current { background:#9ac65b; }.logbook-spine>footer i.is-due { background:#f0a11c; }.logbook-spine>footer i.is-action { background:#df4f51; }
.logbook-selected { margin-top:12px; padding:14px; border:1px solid #a8c9c7; border-top:6px solid #9ac65b; border-radius:13px; background:#fff; }.logbook-selected.logbook-status-due { border-top-color:#f0a11c; }.logbook-selected.logbook-status-action { border-top-color:#df4f51; }.logbook-selected>header { display:flex; align-items:start; justify-content:space-between; gap:10px; }.logbook-selected>header div { min-width:0; display:grid; gap:3px; }.logbook-selected>header span,.logbook-selected dt { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }.logbook-selected>header b { color:#202a63; font-size:13px; line-height:1.3; }.logbook-selected>header small { max-width:110px; color:#657187; font-size:8px; line-height:1.35; text-align:right; }.logbook-entry-primary { margin:13px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:7px; }.logbook-entry-primary>div { min-width:0; min-height:66px; padding:10px; border:1px solid #dbe3ed; border-radius:9px; background:#f8fafb; }.logbook-entry-primary>div.is-wide { grid-column:1/-1; }.logbook-selected dt,.logbook-selected dd { margin:0; }.logbook-selected dd { margin-top:5px; overflow-wrap:anywhere; color:#202a63; font-size:11px; font-weight:800; line-height:1.35; }.logbook-entry-audit { margin:12px 0 0; padding-top:12px; border-top:1px solid #dbe3ed; display:grid; gap:9px; }.logbook-entry-audit>div { display:grid; gap:2px; }.logbook-entry-audit dd { color:#526075; font-size:10px; font-weight:650; }.logbook-selected>button { width:100%; min-height:42px; margin-top:13px; border:1px solid #087f79; border-radius:9px; background:#fff; color:#087f79; font-size:10px; font-weight:900; }.empty-logbook { margin-top:15px; padding:28px; border:1px dashed #a8c9c7; border-radius:15px; color:#657187; font-size:15px; text-align:center; }
.finding-form { padding:20px; border:2px solid #087f79; border-radius:17px; background:#eef7f6; display:grid; grid-template-columns:repeat(2,1fr); gap:0 12px; }.finding-form>span,.finding-form>button { grid-column:1/-1; }.finding-form>button { min-height:50px; margin-top:16px; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:14px; font-weight:900; }.finding-form>button:disabled { background:#d9ddde; color:#7b8493; }.finding-list { margin-top:16px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.finding-list article { padding:18px; border:2px solid #f0a11c; border-radius:15px; background:#fffaf0; }.finding-list article.finding-resolved { border-color:#78a943; background:#f2f8e9; }.finding-list header { display:flex; justify-content:space-between; color:#087f79; font-size:10px; font-weight:950; text-transform:uppercase; }.finding-list h3 { margin:10px 0 5px; color:#202a63; font-size:19px; }.finding-list p { margin:0; color:#526075; font-size:14px; }.finding-list>article>small { display:block; margin-top:9px; color:#657187; }.finding-list button { min-height:40px; margin-top:13px; border:1px solid #087f79; border-radius:9px; background:#fff; color:#087f79; font-weight:900; }.finding-list blockquote { margin:13px 0 0; padding:12px; border-left:4px solid #78a943; background:#fff; color:#33415d; }.finding-list blockquote small { display:block; margin-top:5px; color:#657187; }
.live-report>header { display:flex; align-items:start; justify-content:space-between; gap:16px; }.live-report>header button { min-height:46px; padding:0 16px; border:1px solid #087f79; border-radius:10px; background:#fff; color:#087f79; font-weight:900; }.report-actions { display:grid; gap:7px; }.report-actions button:last-child { border:0; background:#202a63; color:#fff; }.report-actions button:disabled { background:#d9ddde; color:#7b8493; }.report-summary { margin:20px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.report-summary div { padding:16px; border-radius:13px; background:#eef1f0; }.report-summary div:nth-child(1) { background:#edf6df; }.report-summary div:nth-child(2) { background:#fff5df; }.report-summary div:nth-child(3) { background:#fff0f1; }.report-summary span { color:#526075; font-size:11px; font-weight:900; text-transform:uppercase; }.report-summary b { display:block; margin-top:6px; color:#202a63; font-size:28px; }.report-sections { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.report-sections article { padding:18px; border:1px solid #dbe3ed; border-radius:15px; background:#f8fafb; }.report-sections h2 { margin:8px 0 10px; color:#202a63; font-size:21px; }.report-sections p { margin:0; color:#526075; font-size:14px; line-height:1.48; }.report-sections dl { margin:0; display:grid; gap:7px; }.report-sections dl div { display:flex; justify-content:space-between; gap:10px; }.report-sections dt { color:#657187; }.report-sections dd { margin:0; color:#202a63; font-weight:900; text-align:right; }.report-sections button { min-height:40px; margin-top:12px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; font-weight:900; }.report-sections ul { margin:0; padding-left:18px; }.report-sections li { margin-top:8px; color:#526075; }.report-sections li b,.report-sections li span { display:block; }.report-control-table { margin-top:14px; border:1px solid #a8c9c7; border-radius:15px; overflow:hidden; }.report-control-table>header { padding:14px; background:#202a63; display:flex; justify-content:space-between; color:#fff; }.report-control-table>header span { color:#8ad9d4; }.report-control-table>div { padding:12px 14px; border-top:1px solid #dbe3ed; display:grid; grid-template-columns:12px minmax(0,1fr) auto minmax(160px,1fr); align-items:center; gap:12px; }.report-control-table i { width:12px; height:28px; border-radius:999px; background:#c9ceca; }.report-control-table .status-green i { background:#9ac65b; }.report-control-table .status-orange i { background:#f0a11c; }.report-control-table .status-red i { background:#df4f51; }.report-control-table span b,.report-control-table span small { display:block; }.report-control-table span b { color:#202a63; }.report-control-table span small { color:#657187; }.report-control-table strong { font-size:12px; }.report-control-table em { color:#657187; font-size:12px; font-style:normal; }.report-snapshot-history { margin-top:14px; padding:16px; border:1px solid #a8c9c7; border-radius:15px; }.report-snapshot-history>header { display:flex; justify-content:space-between; }.report-snapshot-history p { margin:9px 0 0; padding:10px; border-radius:8px; background:#f8fafb; display:grid; grid-template-columns:1fr auto; gap:2px 10px; }.report-snapshot-history b { color:#202a63; }.report-snapshot-history span { color:#526075; }.report-snapshot-history small { grid-column:1/-1; color:#657187; }.live-report>footer { margin-top:16px; padding:15px; border-left:5px solid #087f79; background:#eef7f6; }.live-report>footer b { color:#202a63; }.live-report>footer p { margin:5px 0 0; color:#526075; font-size:13px; line-height:1.45; }.scheme-findings { margin-top:14px; }.scheme-findings h3 { color:#202a63; }.scheme-findings p { padding:10px; border-radius:8px; background:#fff; display:grid; gap:3px; }.scheme-findings b { color:#202a63; }.scheme-findings span { color:#657187; font-size:12px; }
@media (max-width:700px) { .duty-page { padding:12px; }.duty-workspace { min-height:calc(100vh - 110px); padding:18px 16px; border-width:2px; border-radius:18px; }.duty-workspace>header h2 { font-size:30px; }.duty-module-grid,.people-role-flow,.people-form,.explain-chain ol,.journey-overview-flow,.problem-definition { grid-template-columns:1fr; }.product-journey article { min-height:310px; padding:24px; }.product-journey h3 { font-size:38px; }.product-journey p { font-size:17px; }.journey-overview-flow article { min-height:92px; }.journey-result-modules { grid-template-columns:1fr; }.duty-module-grid button { min-height:110px; }.explain-hero { padding:20px; }.explain-hero h1 { font-size:32px; }.explain-hero p { font-size:16px; }.explain-boundaries,.explainer-actions,.finding-form,.finding-list,.report-sections { grid-template-columns:1fr; }.problem-definition article,.problem-not,.explain-boundaries article,.explain-chain { padding:18px; }.problem-explanation>h2 { font-size:28px; }.finding-form>span,.finding-form>button { grid-column:auto; }.logbook-head,.live-report>header { display:grid; }.logbook-filters { grid-template-columns:1fr; }.report-summary { grid-template-columns:1fr 1fr; }.report-control-table>div { grid-template-columns:10px minmax(0,1fr) auto; }.report-control-table>div>em { grid-column:2/-1; }.location-actions { flex-wrap:wrap; justify-content:flex-end; }.location-actions button { min-height:32px; padding:0 6px; font-size:8px; } }
@media print { .duty-workspace>header>button,.duty-more,.live-report>header button { display:none!important; }.duty-page,.duty-workspace { padding:0!important; border:0!important; box-shadow:none!important; }.report-control-table>div { break-inside:avoid; } }

/* Six-swipe opening: the problem */
.problem-story-page { background:#f7f9f9; }
.journey-result-page { min-height:calc(100vh - 130px); padding:18px; background:#f7f9f9; }.journey-result-content { padding:22px; border:2px solid #202a63; border-radius:20px; background:#fff; display:grid; gap:16px; box-shadow:0 8px 24px rgba(32,42,99,.09); }.journey-result-head>span,.journey-result-evidence article>header span,.journey-result-report span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }.journey-result-head h1 { margin:7px 0 9px; color:#202a63; font-size:34px; line-height:1.02; letter-spacing:-.045em; }.journey-result-head p { margin:0; color:#526075; font-size:14px; line-height:1.48; }.journey-result-error { margin:0; padding:12px; border-left:5px solid #f0a11c; background:#fff8e8; color:#795400; font-size:11px; font-weight:800; line-height:1.4; }.journey-result-evidence { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.journey-result-evidence article { min-height:142px; padding:14px; border:2px solid #cbd5df; border-radius:14px; background:#f8fafb; display:grid; align-content:start; gap:9px; }.journey-result-evidence article.map { grid-column:1/-1; min-height:112px; }.journey-result-evidence article.implementation { grid-column:1/-1; min-height:150px; }.journey-result-evidence article.is-present { border-color:#087f79; background:#eef7f6; }.journey-result-evidence article>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.journey-result-evidence article>header em { flex:0 0 auto; padding:4px 7px; border-radius:99px; background:#eef1f4; color:#657187; font-size:8px; font-style:normal; font-weight:900; }.journey-result-evidence article.is-present>header em { background:#dfeecb; color:#416d18; }.journey-result-evidence h2 { margin:0; color:#202a63; font-size:17px; line-height:1.2; }.journey-result-evidence p { margin:0; color:#657187; font-size:10px; line-height:1.42; }.journey-result-report { padding:14px; border:1px solid #202a63; border-radius:13px; background:#fff; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }.journey-result-report.is-ready { border:2px solid #087f79; background:#f2f8e9; }.journey-result-report h2 { margin:5px 0 4px; color:#202a63; font-size:17px; line-height:1.2; }.journey-result-report p { margin:0; color:#657187; font-size:10px; line-height:1.4; }.journey-result-report strong { color:#087f79; font-size:24px; }.journey-result-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.journey-result-actions button { min-height:50px; padding:9px 12px; border:1px solid #087f79; border-radius:10px; background:#fff; color:#087f79; font-size:11px; font-weight:900; }.journey-result-actions button:first-child { border:0; background:#202a63; color:#fff; }.journey-result-actions button:only-child { grid-column:1/-1; }
.problem-story-content { padding:18px 18px 30px; }.problem-story-head { min-height:31px; display:flex; align-items:start; justify-content:space-between; gap:12px; }.problem-story-head span { color:#087f79; font-size:10px; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }.problem-story-head b { color:#748091; font-size:10px; white-space:nowrap; }
.problem-story-face { width:100%; touch-action:pan-y; }.problem-story-card { min-height:500px; padding:26px 24px; border:2px solid #087f79; border-radius:22px; background:#fff; display:flex; flex-direction:column; justify-content:center; }.problem-story-card>span { color:#087f79; font-size:10px; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }.problem-story-card h1 { margin:12px 0 18px; color:#202a63; font-size:30px; line-height:1.04; letter-spacing:-.035em; white-space:nowrap; }.problem-story-card p { margin:0; color:#526075; font-size:14px; line-height:1.5; }.problem-story-card>a { width:fit-content; margin-top:18px; color:#087f79; font-size:10px; font-weight:850; line-height:1.4; text-underline-offset:3px; }
.problem-story-cases h1 { font-size:34px; line-height:1.04; letter-spacing:-.035em; }
.problem-stat-pair { margin:4px 0 18px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }.problem-stat-pair div { padding:18px 14px; border-radius:14px; background:#202a63; color:#fff; }.problem-stat-pair strong,.problem-stat-pair b { display:block; }.problem-stat-pair strong { font-size:48px; line-height:1; }.problem-stat-pair b { margin-top:5px; color:#dfe3f1; font-size:10px; }
.problem-stat-pair .is-deaths { background:#202a63; }.problem-community-stat { margin-bottom:13px; padding:11px 13px; border-left:5px solid #087f79; background:#eef7f6; display:flex; align-items:center; gap:12px; }.problem-community-stat strong { color:#202a63; font-size:33px; }.problem-community-stat span { color:#526075; font-size:11px; font-weight:750; line-height:1.3; }
.problem-story-duty { justify-content:flex-start; }.problem-story-duty h1 { margin-bottom:12px; }.problem-duty-line { margin-bottom:14px; padding:12px 14px; border-radius:12px; background:#202a63; color:#fff; font-size:14px; line-height:1.35; }.problem-story-duty blockquote { margin:14px 0 0; padding:12px 13px; border-left:4px solid #087f79; background:#eef7f6; color:#202a63; font-size:12px; font-weight:800; line-height:1.4; }.problem-story-duty cite { display:block; margin-top:4px; color:#657187; font-size:9px; font-style:normal; font-weight:650; }.problem-story-duty .problem-written-scheme { margin-top:12px; font-size:11px; }.problem-source-links { margin-top:12px; display:grid; gap:6px; }.problem-source-links a { color:#087f79; font-size:9px; font-weight:850; text-underline-offset:3px; }
.problem-story-breathing { justify-content:flex-start; }.problem-story-breathing h1 { margin-bottom:13px; font-size:35px; }.breathing-payoff { margin-bottom:14px; padding:12px 14px; border-radius:12px; background:#202a63; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; color:#fff; text-align:center; }.breathing-payoff strong { font-size:12px; line-height:1.2; }.breathing-payoff i { color:#8ad9d4; font-size:20px; font-style:normal; font-weight:900; }.problem-risk-chain { display:grid; grid-template-columns:1fr 16px 1fr 16px 1fr; align-items:stretch; gap:4px; }.problem-risk-chain div { min-width:0; padding:12px 9px; border-radius:12px; background:#eef7f6; }.problem-risk-chain i { width:25px; height:25px; border-radius:50%; background:#087f79; display:grid; place-items:center; color:#fff; font-size:10px; font-style:normal; font-weight:900; }.problem-risk-chain b,.problem-risk-chain small { display:block; }.problem-risk-chain b { margin-top:9px; color:#202a63; font-size:11px; line-height:1.15; }.problem-risk-chain small { margin-top:5px; color:#657187; font-size:8px; line-height:1.35; }.problem-risk-chain em { align-self:center; color:#087f79; font-size:16px; font-style:normal; font-weight:900; }.problem-story-breathing blockquote { margin:14px 0 0; padding:11px 12px; border-left:4px solid #087f79; background:#eef7f6; color:#202a63; font-size:10px; font-weight:800; line-height:1.4; }.problem-story-breathing cite { display:block; margin-top:3px; color:#657187; font-size:8px; font-style:normal; font-weight:650; }
.problem-story-record { justify-content:flex-start; border-color:#f0a11c; }.problem-story-record h1 { margin-bottom:14px; font-size:30px; }.problem-no-log { padding:12px 14px; border-radius:12px; background:#202a63; color:#fff; font-size:14px; line-height:1.25; letter-spacing:-.01em; }.problem-story-record p { margin-top:16px; }.problem-record-fields { margin:16px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }.problem-record-fields span { padding:11px 4px; border-radius:9px; background:#eef1f4; color:#202a63; font-size:10px; font-weight:900; text-align:center; }.problem-story-record blockquote { margin:0; padding:13px 14px; border-left:4px solid #f0a11c; background:#fff8e8; color:#202a63; font-size:12px; font-weight:850; line-height:1.4; }
.problem-story-routine { border-color:#78a943; background:#f2f8e9; }.problem-story-routine ol { margin:0 0 15px; padding:0; display:grid; gap:8px; list-style:none; }.problem-story-routine li { padding:11px; border:1px solid #c4d7ad; border-radius:12px; background:#fff; display:grid; grid-template-columns:32px 1fr; gap:10px; }.problem-story-routine li i { width:32px; height:32px; border-radius:50%; background:#087f79; display:grid; place-items:center; color:#fff; font-style:normal; font-weight:900; }.problem-story-routine li b,.problem-story-routine li small { display:block; }.problem-story-routine li b { color:#202a63; font-size:13px; }.problem-story-routine li small { margin-top:3px; color:#657187; font-size:9px; line-height:1.4; }.problem-story-routine>p { font-size:11px; }
.problem-story-founder { justify-content:flex-start; border-color:#202a63; }.problem-story-founder h1 { margin-bottom:14px; font-size:30px; white-space:nowrap; }.problem-founder-profile { margin-bottom:14px; border-radius:14px; overflow:hidden; background:#202a63; display:grid; grid-template-columns:112px 1fr; align-items:stretch; }.problem-founder-profile img { width:112px; height:112px; object-fit:cover; object-position:center 28%; }.problem-founder-profile div { padding:14px; display:flex; flex-direction:column; justify-content:center; }.problem-founder-profile strong,.problem-founder-profile b { display:block; color:#fff; }.problem-founder-profile strong { font-size:15px; }.problem-founder-profile b { margin-top:5px; color:#8ad9d4; font-size:9px; line-height:1.35; }.problem-story-founder p+p { margin-top:10px; }.problem-story-founder>a { margin-top:13px; }.problem-story-founder>button { min-height:50px; margin-top:16px; border:0; border-radius:10px; background:#202a63; color:#fff; font-size:12px; font-weight:900; }
.problem-story-navigation { min-height:46px; margin-top:12px; display:grid; grid-template-columns:38px 1fr 38px; align-items:center; gap:10px; }.problem-story-navigation>button { width:38px; height:38px; padding:0; border:1px solid #a8c9c7; border-radius:50%; background:#fff; color:#087f79; font-size:19px; font-weight:900; }.problem-story-navigation>button:disabled { visibility:hidden; }.problem-story-navigation>span { display:flex; justify-content:center; gap:7px; }.problem-story-navigation>span>button { width:8px; height:8px; padding:0; border:0; border-radius:99px; background:#c8cbc6; transition:width .15s,background .15s; }.problem-story-navigation>span>button.is-current { width:28px; background:#087f79; }
@media (max-width:460px) { .journey-result-evidence { grid-template-columns:1fr; }.journey-result-evidence article.map,.journey-result-evidence article.implementation { grid-column:auto; }.journey-result-actions { grid-template-columns:1fr; } }
@media (max-width:380px) { .problem-story-content { padding:14px 12px 24px; }.problem-story-card { min-height:485px; padding:22px 18px; }.problem-story-card h1,.problem-story-cases h1,.problem-story-breathing h1,.problem-story-record h1,.problem-story-founder h1 { font-size:25px; }.problem-stat-pair strong { font-size:42px; }.problem-risk-chain { grid-template-columns:1fr; gap:5px; }.problem-risk-chain div { display:grid; grid-template-columns:25px 1fr; gap:0 9px; }.problem-risk-chain div i { grid-row:1/3; }.problem-risk-chain div b { margin-top:0; }.problem-risk-chain em { display:none; }.journey-result-page { padding:12px; }.journey-result-content { padding:18px 14px; }.journey-result-evidence { grid-template-columns:1fr; }.journey-result-evidence article.map,.journey-result-evidence article.implementation { grid-column:auto; }.journey-result-actions { grid-template-columns:1fr; } }
/* Low-use map handoff */
.flow-low-use-next { padding:10px; border:2px solid #087f79; border-radius:10px; background:#eef7f6; display:grid; gap:8px; }
.flow-low-use-next p { margin:0; display:grid; gap:2px; }
.flow-low-use-next p b { color:#202a63; font-size:10px; }
.flow-low-use-next p span { color:#526075; font-size:8px; }
.flow-low-use-next button { min-height:42px; border:0; border-radius:8px; background:#202a63; color:#fff; font-size:9px; font-weight:900; }

/* Assessment-led control activation and measurement provenance */
.measurement-equipment-form { margin-top:14px; padding-top:16px!important; border-top:2px solid #dbe3ed; }
.measurement-equipment-form>p { margin:-3px 0 4px; color:#657187; font-size:10px; line-height:1.45; }
.measurement-date-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.assessment-assembled-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.assessment-assembled-grid article { min-height:126px; padding:14px; border:1px solid #a8c9c7; border-radius:12px; background:#f8fbfb; display:grid; align-content:start; gap:7px; }
.assessment-assembled-grid article.needs-action { border-color:#f0a11c; background:#fffaf0; }
.assessment-assembled-grid span,.sentinel-assignment>header span,.action-instrument>span,.open-control-failure>span,.automatic-control-result>span,.formal-survey-source>span,.scheme-measurement-basis>span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }
.assessment-assembled-grid b { color:#202a63; font-size:13px; line-height:1.25; }
.assessment-assembled-grid p { margin:0; color:#657187; font-size:10px; line-height:1.4; }
.assessment-assembled-grid select { width:100%; min-height:36px; padding:6px 8px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:9px; font-weight:800; }
.assessment-assembled-grid button { margin-top:auto; padding:0; border:0; background:transparent; color:#087f79; font-size:10px; font-weight:900; text-align:left; }
.sentinel-assignment { padding:16px; border:2px solid #087f79; border-radius:14px; background:#eef7f6; display:grid; gap:12px; }
.sentinel-assignment>header { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.sentinel-assignment h2 { margin:3px 0 0; color:#202a63; font-size:22px; }
.sentinel-assignment>header>b { color:#087f79; font-size:11px; }
.sentinel-assignment>p { margin:0; color:#526075; font-size:10px; line-height:1.45; }
.sentinel-assignment>div { display:grid; gap:8px; }
.sentinel-assignment label { padding:11px; border:1px solid #a8c9c7; border-radius:10px; background:#fff; display:grid; grid-template-columns:minmax(0,1fr) minmax(125px,.75fr); align-items:center; gap:10px; }
.sentinel-assignment label>span { display:grid; gap:2px; min-width:0; }
.sentinel-assignment label b { color:#202a63; font-size:11px; }
.sentinel-assignment label small { overflow:hidden; color:#657187; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.sentinel-assignment select { width:100%; min-height:38px; padding:7px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:9px; font-weight:800; }
.sentinel-review-list article { padding:11px; border:1px solid #a8c9c7; border-radius:10px; background:#fff; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }.sentinel-review-list article>span { min-width:0; display:grid; gap:2px; }.sentinel-review-list article b { color:#202a63; font-size:11px; }.sentinel-review-list article small { overflow:hidden; color:#657187; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.sentinel-review-list article strong { color:#087f79; font-size:9px; text-align:right; }.formal-system-boundary { margin:0; padding:11px; border-left:4px solid #087f79; background:#fff; color:#526075; font-size:9px; line-height:1.45; }
.assessment-equipment { padding:16px; border:2px solid #f0a11c; border-radius:14px; background:#fffaf0; display:grid; gap:11px; }.assessment-equipment>header { display:grid; gap:3px; }.assessment-equipment>header span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.assessment-equipment h2 { margin:0; color:#202a63; font-size:20px; }.assessment-equipment>p { margin:0; color:#526075; font-size:10px; line-height:1.45; }.assessment-equipment>div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.assessment-equipment label { display:grid; gap:5px; }.assessment-equipment label b { color:#202a63; font-size:9px; }.assessment-equipment input,.assessment-equipment select { width:100%; min-height:40px; padding:7px 9px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:10px; }.assessment-equipment>small { color:#657187; font-size:8px; line-height:1.4; }
.formal-survey-source { width:100%; padding:13px 15px; border:0; border-left:5px solid #087f79; background:#eef7f6; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 14px; color:inherit; font:inherit; text-align:left; }
.formal-survey-source>span,.formal-survey-source>b,.formal-survey-source>small { grid-column:1; }
.formal-survey-source>strong { grid-column:2; grid-row:1/4; align-self:center; color:#087f79; font-size:11px; }
@media (max-width:700px) { .scheme-current-actions { grid-template-columns:1fr; } }
.formal-survey-source b { color:#202a63; font-size:12px; }
.formal-survey-source small { color:#657187; font-size:9px; }
.outlet-duty-picker { margin:0 0 12px; display:grid; gap:8px; }
.outlet-duty-picker>header { padding:2px 1px 4px; display:grid; gap:2px; }.outlet-duty-picker>header span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.outlet-duty-picker>header b { color:#202a63; font-size:12px; }
.outlet-duty-picker button { min-height:72px; padding:11px 13px; border:1px solid #a8c9c7; border-radius:11px; background:#fff; display:grid; grid-template-columns:1fr auto; gap:3px 8px; color:#202a63; text-align:left; }
.outlet-duty-picker button.is-selected { border:2px solid #087f79; background:#eef7f6; }
.outlet-duty-picker span { grid-column:1/-1; color:#087f79; font-size:8px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.outlet-duty-picker b { font-size:12px; }
.outlet-duty-picker small { color:#657187; font-size:8px; }
.action-instrument,.open-control-failure,.automatic-control-result,.remedy-note,.scheme-measurement-basis { padding:13px; border:1px solid #a8c9c7; border-radius:11px; background:#f8fbfb; display:grid; gap:5px; }
.action-instrument.needs-action,.open-control-failure,.automatic-control-result.is-failed { border-color:#f0a11c; background:#fffaf0; }
.action-instrument b,.open-control-failure b,.automatic-control-result b,.scheme-measurement-basis b { color:#202a63; font-size:11px; line-height:1.35; }
.action-instrument small,.open-control-failure p,.scheme-measurement-basis p { margin:0; color:#657187; font-size:9px; line-height:1.4; }
.action-instrument label { margin-top:5px; display:grid; gap:4px; }.action-instrument label span { color:#526075; font-size:8px; font-weight:850; }.action-instrument select { min-height:40px; padding:7px 9px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:9px; font-weight:800; }.action-instrument-actions { margin-top:4px; display:grid; grid-template-columns:1fr 1fr; gap:7px; }.action-instrument-actions button { min-height:39px; padding:7px; border:1px solid #087f79; border-radius:8px; background:#fff; color:#087f79; font-size:9px; font-weight:900; }.action-instrument-actions button:only-child { grid-column:1/-1; background:#202a63; color:#fff; border-color:#202a63; }
.action-equipment-editor { padding:14px; border:2px solid #087f79; border-radius:12px; background:#eef7f6; display:grid; gap:12px; }.action-equipment-editor>header { display:grid; gap:4px; }.action-equipment-editor>header span { color:#087f79; font-size:8px; font-weight:950; letter-spacing:.07em; text-transform:uppercase; }.action-equipment-editor h3 { margin:0; color:#202a63; font-size:17px; }.action-equipment-editor>header p { margin:0; color:#526075; font-size:9px; line-height:1.45; }.equipment-existing,.equipment-fields label { display:grid; gap:5px; }.equipment-existing b,.equipment-fields b { color:#202a63; font-size:9px; }.equipment-existing select,.equipment-fields input,.equipment-fields select { width:100%; min-height:42px; padding:8px 9px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font-size:10px; }.equipment-fields { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.equipment-certificate { grid-column:1/-1; }.equipment-editor-actions { display:grid; grid-template-columns:1fr auto; gap:7px; }.equipment-editor-actions button { min-height:43px; padding:8px 11px; border:1px solid #202a63; border-radius:8px; background:#202a63; color:#fff; font-size:9px; font-weight:900; }.equipment-editor-actions button+button { background:#fff; color:#202a63; }
.open-control-failure button { min-height:40px; border:0; border-radius:8px; background:#202a63; color:#fff; font-size:9px; font-weight:900; }
.remedy-note span { color:#202a63; font-size:10px; font-weight:900; }
.remedy-note textarea { min-height:78px; padding:9px; border:1px solid #a8c9c7; border-radius:8px; background:#fff; color:#202a63; font:inherit; resize:vertical; }
.automatic-control-result.is-passed { border-color:#95c654; background:#f2f8e9; }
.scheme-measurement-basis { margin:10px 0; }
@media (max-width:620px) {
  .sentinel-selector { grid-template-columns:1fr; }
  .custom-outlet-panel>.custom-cadence-fields { grid-template-columns:1fr; }
  .assessment-assembled-grid { grid-template-columns:1fr; }
  .sentinel-assignment label { grid-template-columns:1fr; }
  .assessment-equipment>div { grid-template-columns:1fr; }
  .equipment-fields { grid-template-columns:1fr; }
  .equipment-certificate { grid-column:auto; }
  .people-decision-card { padding:14px; }
  .people-choice-grid.three { grid-template-columns:1fr; }
  .people-generated-summary dl { grid-template-columns:1fr; }
  .sentinel-review-list article { grid-template-columns:1fr; }
  .sentinel-review-list article strong { text-align:left; }
}

/* Public Legionella Ready site */
.marketing-site { --marketing-navy:#202a63; --marketing-navy-deep:#151c4a; --marketing-teal:#087f79; --marketing-ink:#344054; --marketing-muted:#6c7889; --marketing-line:#dbe3ed; --marketing-paper:#fff; --marketing-soft:#f3f8f7; --marketing-grey:#c8cbc6; --marketing-green:#9ac65b; --marketing-amber:#f0a11c; --marketing-red:#df4f51; min-height:100vh; background:var(--marketing-paper); color:var(--marketing-ink); }
.marketing-site * { box-sizing:border-box; }
.marketing-site a { color:inherit; }
.marketing-header { width:min(1180px,calc(100% - 48px)); min-height:88px; margin:0 auto; border-bottom:1px solid var(--marketing-line); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.marketing-brand { display:inline-flex; align-items:center; gap:13px; color:var(--marketing-navy); text-decoration:none; }
.marketing-brand>span { display:flex; gap:5px; }
.marketing-brand i { display:block; width:17px; height:17px; border-radius:5px; }
.marketing-brand i:nth-child(1) { background:var(--marketing-grey); }
.marketing-brand i:nth-child(2) { background:var(--marketing-red); }
.marketing-brand i:nth-child(3) { background:var(--marketing-amber); }
.marketing-brand i:nth-child(4) { background:var(--marketing-green); }
.marketing-brand b { font-size:1.22rem; letter-spacing:-.035em; }
.marketing-header nav,.marketing-footer nav { display:flex; align-items:center; gap:25px; }
.marketing-header nav a,.marketing-footer nav a { color:var(--marketing-ink); font-size:.92rem; font-weight:700; text-decoration:none; }
.marketing-header nav a:hover,.marketing-header nav a:focus-visible,.marketing-footer nav a:hover,.marketing-footer nav a:focus-visible { color:var(--marketing-teal); text-decoration:underline; text-underline-offset:6px; }
.marketing-header nav .marketing-login { color:var(--marketing-teal); text-decoration:underline; text-underline-offset:7px; text-decoration-color:#a8c9c7; }
.marketing-home>main { width:min(1180px,calc(100% - 48px)); margin:0 auto; overflow:hidden; border-radius:0 0 28px 28px; box-shadow:0 24px 70px rgba(21,28,74,.1); }
.marketing-hero { padding:clamp(54px,8vw,105px) clamp(0px,1vw,12px); display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); align-items:center; gap:clamp(44px,7vw,86px); }
.marketing-eyebrow { margin:0 0 18px; color:var(--marketing-teal); font-size:.77rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.marketing-hero h1,.marketing-subpage h1 { margin:0; color:var(--marketing-navy); font-size:clamp(3.5rem,7.2vw,6.8rem); line-height:.92; letter-spacing:-.065em; }
.marketing-hero h1 em { color:var(--marketing-teal); font-style:normal; }
.marketing-lede { max-width:38rem; margin:28px 0 0; color:var(--marketing-ink); font-size:clamp(1.05rem,2vw,1.28rem); line-height:1.55; }
.marketing-hero-product { min-width:0; }
.marketing-actions { margin-top:32px; display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.marketing-primary,.marketing-secondary { min-height:52px; padding:0 20px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:14px; font-size:.94rem; font-weight:850; text-decoration:none; }
.marketing-primary { background:var(--marketing-navy-deep); color:#fff!important; }
.marketing-primary span { color:var(--marketing-green); }
.marketing-secondary { border:1px solid var(--marketing-line); color:var(--marketing-navy)!important; background:#fff; }
.marketing-primary:hover,.marketing-primary:focus-visible { background:#202a63; transform:translateY(-1px); }
.marketing-secondary:hover,.marketing-secondary:focus-visible { border-color:var(--marketing-teal); color:var(--marketing-teal)!important; }
.marketing-home .marketing-secondary { border:2px solid var(--marketing-teal); background:var(--marketing-soft); color:var(--marketing-teal)!important; }
.marketing-home .marketing-secondary span { color:var(--marketing-teal); }
.marketing-home .marketing-secondary:hover,.marketing-home .marketing-secondary:focus-visible { background:#e5f2f0; color:var(--marketing-navy)!important; }
.marketing-price-line { margin:20px 0 0; display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 12px; }
.marketing-price-line strong { color:var(--marketing-navy); font-size:1.15rem; }
.marketing-price-line span { color:var(--marketing-muted); font-size:.98rem; }
.marketing-app-preview { overflow:hidden; border:1px solid var(--marketing-line); border-radius:22px; background:#fff; box-shadow:0 25px 60px rgba(21,28,74,.18); }
.marketing-preview-bar { min-height:44px; padding:0 17px; background:var(--marketing-navy-deep); color:#fff; display:flex; align-items:center; gap:7px; }
.marketing-preview-bar span { margin-right:auto; font-size:.77rem; font-weight:750; }
.marketing-preview-body { padding:25px; }
.marketing-preview-body>header { padding-bottom:19px; border-bottom:1px solid var(--marketing-line); }
.marketing-preview-body>header>span { color:var(--marketing-teal); font-size:.67rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.marketing-preview-body>header>div { margin-top:6px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:12px; }
.marketing-preview-body h2 { margin:0; color:var(--marketing-navy); font-size:1.3rem; letter-spacing:-.025em; }
.marketing-preview-body header small { color:var(--marketing-muted); font-size:.72rem; }
.marketing-floor-strips { padding:24px 0; display:grid; gap:15px; }
.marketing-floor-strips>div { display:grid; grid-template-columns:86px 1fr; align-items:center; gap:13px; }
.marketing-floor-strips b,.marketing-floor-strips b small { display:block; }
.marketing-floor-strips b { color:var(--marketing-navy); font-size:.84rem; }
.marketing-floor-strips b small { margin-top:3px; color:var(--marketing-muted); font-size:.64rem; font-weight:500; }
.marketing-floor-strips span { height:39px; justify-self:center; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:2px; }
.marketing-floor-strips span.rooms-5 { width:100%; }
.marketing-floor-strips span.rooms-2 { width:40%; }
.marketing-floor-strips span.rooms-1 { width:20%; }
.marketing-floor-strips i { border-radius:5px; }
.marketing-site i.inactive { background:var(--marketing-grey); }
.marketing-site i.current { background:var(--marketing-green); }
.marketing-site i.soon { background:var(--marketing-amber); }
.marketing-site i.now { background:var(--marketing-red); }
.marketing-status-key { padding-top:16px; border-top:1px solid var(--marketing-line); display:flex; flex-wrap:wrap; gap:9px 16px; }
.marketing-status-key span { display:flex; align-items:center; gap:6px; color:var(--marketing-muted); font-size:.68rem; }
.marketing-status-key i { width:10px; height:10px; border-radius:3px; }
.marketing-preview-explainer { margin:15px 0 0; padding:10px 12px; border-left:3px solid var(--marketing-teal); background:var(--marketing-soft); color:var(--marketing-muted); font-size:.68rem; line-height:1.45; }
.marketing-founder-testimonial { padding:clamp(28px,4vw,50px); background:var(--marketing-soft); display:grid; grid-template-columns:210px minmax(0,1fr); align-items:center; gap:clamp(28px,5vw,58px); }
.marketing-founder-testimonial figure { margin:0; }
.marketing-founder-testimonial img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 28%; border-radius:24px 24px 7px; }
.marketing-founder-testimonial figcaption { margin-top:12px; display:grid; gap:2px; }
.marketing-founder-testimonial figcaption b { color:var(--marketing-navy); font-size:.95rem; }
.marketing-founder-testimonial figcaption span { color:var(--marketing-muted); font-size:.7rem; line-height:1.35; }
.marketing-founder-testimonial blockquote { margin:0; padding-left:24px; border-left:4px solid var(--marketing-red); }
.marketing-founder-testimonial blockquote p { margin:0; color:var(--marketing-navy); font-size:clamp(1.35rem,2.5vw,2.1rem); font-weight:750; line-height:1.27; letter-spacing:-.03em; }
.marketing-video-bridge { margin:clamp(20px,3vw,36px) clamp(20px,3vw,36px) 0; }
.marketing-video-bridge a { min-height:92px; padding:18px 24px; border:1px solid var(--marketing-line); border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(21,28,74,.08); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; color:var(--marketing-navy)!important; text-decoration:none; }
.marketing-video-bridge a:hover,.marketing-video-bridge a:focus-visible { border-color:var(--marketing-teal); box-shadow:0 18px 44px rgba(21,28,74,.13); transform:translateY(-2px); }
.marketing-video-play { width:54px; height:54px; border-radius:50%; background:var(--marketing-teal); color:#fff; display:grid; place-items:center; font-size:1rem; line-height:1; padding-left:3px; box-shadow:0 0 0 8px var(--marketing-soft); }
.marketing-video-bridge a>span:nth-child(2) { display:grid; gap:3px; }
.marketing-video-bridge small { color:var(--marketing-muted); font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.marketing-video-bridge strong { color:var(--marketing-navy); font-size:clamp(1.25rem,2.4vw,1.7rem); line-height:1.1; letter-spacing:-.025em; }
.marketing-video-arrow { color:var(--marketing-teal); font-size:1.8rem; }
.marketing-operational-conversion { margin:clamp(20px,3vw,36px); padding:clamp(26px,4vw,44px); border-radius:26px; background:var(--marketing-navy-deep); color:#fff; }
.marketing-operational-why { display:flex; align-items:center; justify-content:space-between; gap:18px; color:#8bdad3!important; font-size:.95rem; font-weight:850; text-decoration:none; }
.marketing-operational-why:hover,.marketing-operational-why:focus-visible { color:#fff!important; text-decoration:underline; text-underline-offset:5px; }
.marketing-operational-intro { padding:28px 0 24px; border-bottom:1px solid rgba(255,255,255,.18); }
.marketing-operational-intro h2 { margin:0; color:#fff; font-size:clamp(2rem,4vw,3.7rem); line-height:1; letter-spacing:-.05em; }
.marketing-operational-intro>p { max-width:650px; margin:14px 0 0; color:#dbe3ed; font-size:1rem; line-height:1.5; }
.marketing-operational-status { margin-top:24px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.marketing-operational-status>div { min-width:0; display:grid; gap:7px; color:#dbe3ed; font-size:.72rem; }
.marketing-operational-status i { width:100%; height:20px; border-radius:5px; display:block; }
.marketing-operational-commercial { padding-top:24px; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,1.25fr); align-items:end; gap:30px; }
.marketing-operational-commercial .marketing-price-line { margin:0; display:block; }
.marketing-operational-commercial .marketing-price-line strong { color:#fff; font-size:clamp(1.2rem,2.5vw,1.65rem); }
.marketing-operational-commercial .marketing-price-line span { display:block; margin-top:5px; color:#dbe3ed; }
.marketing-operational-actions { display:grid; gap:5px; }
.marketing-operational-primary { min-height:52px; padding:0 18px; border-radius:12px; background:#fff; color:var(--marketing-navy-deep)!important; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:.94rem; font-weight:850; text-decoration:none; }
.marketing-operational-primary span:last-child { color:var(--marketing-teal); }
.marketing-operational-primary:hover,.marketing-operational-primary:focus-visible { background:#f3f8f7; transform:translateY(-1px); }
.marketing-operational-secondary { width:max-content; min-height:40px; padding:8px 3px; color:#8bdad3!important; display:flex; align-items:center; gap:12px; font-size:.9rem; font-weight:850; text-decoration:none; }
.marketing-operational-secondary:hover,.marketing-operational-secondary:focus-visible { color:#fff!important; text-decoration:underline; text-underline-offset:5px; }
.marketing-footer { width:min(1180px,calc(100% - 48px)); min-height:122px; margin:45px auto 0; padding:25px 0; border-top:1px solid var(--marketing-line); display:grid; grid-template-columns:1fr; align-items:center; gap:25px; }
.marketing-footer p { max-width:500px; margin:0; color:var(--marketing-muted); font-size:.76rem; line-height:1.45; }

.marketing-subpage>main { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.marketing-subpage h1 { font-size:clamp(3rem,6.6vw,6.2rem); }
.marketing-story { padding:clamp(52px,8vw,105px) 0; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr); align-items:start; gap:clamp(52px,8vw,100px); }
.marketing-story-copy>p:not(.marketing-eyebrow) { max-width:42rem; color:var(--marketing-ink); font-size:1.12rem; line-height:1.68; }
.marketing-story-copy .marketing-large-copy { margin:35px 0 28px; padding-left:24px; border-left:4px solid var(--marketing-red); color:var(--marketing-navy)!important; font-size:clamp(1.45rem,3vw,2.35rem)!important; font-weight:750; line-height:1.25!important; }
.marketing-proof-quote { max-width:42rem; margin:32px 0 0; padding:22px 24px; border-left:4px solid var(--marketing-teal); background:var(--marketing-soft); }
.marketing-proof-quote p { margin:0; color:var(--marketing-navy); font-size:1.3rem; font-weight:750; line-height:1.4; }
.marketing-proof-quote cite { display:block; margin-top:12px; color:var(--marketing-teal); font-size:.82rem; font-style:normal; font-weight:850; }
.marketing-why-story { display:block; }
.marketing-why-story .marketing-story-copy { max-width:850px; }
.marketing-proof-quote-map { width:min(1100px,100%); max-width:none; margin:48px auto 0; padding:0 4.55%; overflow:hidden; border:0; border-radius:32px; background:var(--marketing-navy-deep); display:grid; grid-template-columns:minmax(0,500fr) minmax(0,432fr); align-items:stretch; gap:6.18%; }
.marketing-proof-copy { padding:clamp(25px,5.35vw,64px) 0 clamp(22px,3vw,36px); }
.marketing-proof-quote-map .marketing-proof-copy>p { color:#fff; font-size:clamp(1rem,4.02vw,3rem); line-height:1.39; letter-spacing:-.025em; }
.marketing-proof-quote-map .marketing-proof-person { margin-top:clamp(18px,2.35vw,28px); display:flex; align-items:center; gap:clamp(9px,2.25vw,27px); }
.marketing-proof-person img { display:block; width:clamp(48px,10.7vw,128px); height:clamp(48px,10.7vw,128px); flex:0 0 clamp(48px,10.7vw,128px); border:4px solid #fff; border-radius:50%; aspect-ratio:1; object-fit:cover; object-position:center 24%; }
.marketing-proof-person span { display:grid; gap:3px; }
.marketing-proof-person b { color:var(--marketing-green); font-size:clamp(.78rem,2.67vw,2rem); }
.marketing-proof-person small { color:#e8edf4; font-size:clamp(.62rem,2.5vw,1.85rem); font-weight:500; line-height:1.55; }
.marketing-proof-map { position:relative; min-width:0; min-height:100%; overflow:hidden; }
.marketing-proof-map>.marketing-app-preview { position:absolute; top:clamp(18px,5vw,60px); right:0; left:0; border-radius:30px 30px 0 0; box-shadow:none; }
.marketing-app-preview-embedded .marketing-preview-body { padding:28px; }
.marketing-app-preview-embedded .marketing-preview-body>header { padding-bottom:28px; }
.marketing-app-preview-embedded .marketing-preview-body>header>div { grid-template-columns:1fr; align-items:start; }
.marketing-app-preview-embedded .marketing-preview-body h2 { font-size:1.5rem; }
.marketing-app-preview-embedded .marketing-preview-body header small { margin-top:10px; }
.marketing-app-preview-embedded .marketing-floor-strips { padding:32px 0; gap:20px; }
.marketing-app-preview-embedded .marketing-floor-strips>div { grid-template-columns:86px 1fr; gap:13px; }
.marketing-app-preview-embedded .marketing-floor-strips b { font-size:1rem; }
.marketing-app-preview-embedded .marketing-floor-strips b small { font-size:.72rem; }
.marketing-app-preview-embedded .marketing-floor-strips span { height:48px; }
.marketing-app-preview-embedded .marketing-status-key { padding-top:18px; gap:10px 16px; }
.marketing-app-preview-embedded .marketing-status-key span { font-size:.78rem; }
.marketing-app-preview-embedded .marketing-status-key i { width:12px; height:12px; }
.marketing-app-preview-embedded .marketing-preview-explainer { margin-top:18px; padding:14px 16px; font-size:.76rem; }
.marketing-why-actions { max-width:670px; }
.marketing-why-shell { min-height:100vh; padding:8px 12px 24px; background:#f7f8fa; display:flex; justify-content:center; }
.marketing-why-card { width:min(100%,430px); overflow:hidden; border:1px solid var(--marketing-line); border-radius:30px; background:#fff; box-shadow:0 20px 55px rgba(21,28,74,.14); }
.marketing-why-header { min-height:74px; padding:0 22px; border-bottom:1px solid var(--marketing-line); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.marketing-why-header>.marketing-brand { gap:10px; }
.marketing-why-header>.marketing-brand i { width:11px; height:11px; border-radius:3px; }
.marketing-why-header>.marketing-brand b { font-size:17px; }
.marketing-why-header>a:last-child { color:var(--marketing-teal); font-size:14px; font-weight:800; text-decoration:none; }
.marketing-why-body { padding:38px 22px 30px; color:var(--marketing-ink); }
.marketing-why-opening { padding:0 2px 30px; }
.marketing-why-label { margin:0 0 13px; color:var(--marketing-teal); font-size:12px; font-weight:900; letter-spacing:.14em; line-height:1.35; text-transform:uppercase; }
.marketing-why-opening h1 { margin:0; color:var(--marketing-navy); font-size:clamp(38px,11vw,49px); line-height:1.01; letter-spacing:-.055em; }
.marketing-why-opening h1 em { color:var(--marketing-teal); font-style:normal; }
.marketing-why-lead { margin:25px 0 10px; color:var(--marketing-navy); font-size:18px; font-weight:700; line-height:1.48; }
.marketing-why-opening>p:last-child { margin:0; font-size:16px; line-height:1.58; }
.marketing-why-gap { margin:0 -22px; padding:30px 24px 32px; border-top:1px solid #d6e8e5; border-bottom:1px solid #d6e8e5; background:var(--marketing-soft); }
.marketing-why-body h2 { margin:0; color:var(--marketing-navy); font-size:27px; line-height:1.12; letter-spacing:-.035em; }
.marketing-why-questions { margin:22px 0 20px; display:grid; gap:9px; }
.marketing-why-questions>div { min-height:48px; padding:10px 13px; border:1px solid var(--marketing-line); border-radius:12px; background:#fff; display:flex; align-items:center; gap:12px; }
.marketing-why-questions i { width:18px; height:18px; flex:0 0 18px; border-radius:5px; }
.marketing-why-questions b { color:var(--marketing-navy); font-size:15px; }
.marketing-why-gap>p:last-child { margin:0; font-size:15px; line-height:1.5; }
.marketing-why-answer { padding:34px 2px 30px; }
.marketing-why-answer>p:not(.marketing-why-label):not(.marketing-why-boundary) { margin:16px 0 0; font-size:16px; line-height:1.55; }
.marketing-why-chain { margin:20px 0; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.marketing-why-chain span { min-height:43px; padding:0 10px; border-radius:9px; background:var(--marketing-navy); color:#fff; display:grid; place-items:center; font-size:13px; font-weight:800; }
.marketing-why-chain span:nth-child(2),.marketing-why-chain span:nth-child(3) { background:var(--marketing-teal); }
.marketing-why-answer ul { margin:0; padding:0; display:grid; gap:10px; list-style:none; }
.marketing-why-answer li { position:relative; padding-left:25px; font-size:15px; line-height:1.45; }
.marketing-why-answer li::before { content:"\2713"; position:absolute; left:0; color:var(--marketing-teal); font-weight:900; }
.marketing-why-boundary { margin:24px 0 0; padding:16px 16px 16px 18px; border-left:4px solid var(--marketing-amber); background:#fff9ee; font-size:14px; line-height:1.5; }
.marketing-why-boundary b { display:block; color:var(--marketing-navy); }
.marketing-why-quote { margin:0 -4px; padding:22px 18px; border:0; border-radius:18px; background:var(--marketing-navy-deep); color:#fff; }
.marketing-why-quote p { margin:0; color:#fff; font-size:17px; font-weight:750; line-height:1.42; }
.marketing-why-quote cite { margin-top:16px; display:flex; align-items:center; gap:10px; font-size:12px; font-style:normal; line-height:1.3; }
.marketing-why-quote cite img { width:46px; height:46px; flex:0 0 46px; border:2px solid #fff; border-radius:50%; object-fit:cover; object-position:center 24%; }
.marketing-why-quote cite span { display:grid; gap:2px; }
.marketing-why-quote cite b { color:var(--marketing-green); }
.marketing-why-quote cite small { color:#dbe3ed; font-size:10px; font-weight:500; }
.marketing-why-actions { max-width:none; margin-top:26px; display:grid; gap:10px; }
.marketing-why-actions a { min-height:54px; border-radius:12px; display:flex; align-items:center; justify-content:center; gap:18px; color:var(--marketing-navy); font-size:16px; font-weight:850; text-decoration:none; }
.marketing-why-actions a:first-child { background:var(--marketing-navy-deep); color:#fff; }
.marketing-why-actions a:first-child span { color:var(--marketing-green); }
.marketing-why-actions a:last-child { border:2px solid var(--marketing-teal); background:var(--marketing-soft); color:var(--marketing-teal); }
@media (max-width:360px) {
  .marketing-why-body { padding-right:18px; padding-left:18px; }
  .marketing-why-gap { margin-right:-18px; margin-left:-18px; padding-right:20px; padding-left:20px; }
  .marketing-why-quote { padding-right:15px; padding-left:15px; }
  .marketing-why-quote p { font-size:15px; }
}
.marketing-story figure { position:relative; margin:0; overflow:hidden; border-radius:30px 30px 8px; background:var(--marketing-soft); }
.marketing-story img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 28%; }
.marketing-story figcaption { position:absolute; right:0; bottom:0; left:0; padding:70px 22px 22px; background:linear-gradient(transparent,rgba(17,29,54,.78)); color:#fff; display:grid; gap:4px; }
.marketing-story figcaption span { font-size:.85rem; }
.marketing-tour { padding:clamp(52px,8vw,100px) 0; }
.marketing-tour>header { max-width:800px; }
.marketing-tour>header>p:last-child { max-width:600px; margin:28px 0 0; font-size:1.2rem; line-height:1.55; }
.marketing-tour-grid { margin-top:58px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.marketing-tour-grid article { min-height:250px; padding:25px; border:1px solid #a8c9c7; border-radius:18px; background:#fff; display:flex; flex-direction:column; }
.marketing-tour-grid article>i { width:38px; height:38px; border-radius:50%; background:var(--marketing-teal); color:#fff; display:grid; place-items:center; font-style:normal; font-weight:850; }
.marketing-tour-grid h2 { margin:32px 0 12px; color:var(--marketing-navy); font-size:1.35rem; }
.marketing-tour-grid p { margin:0; color:var(--marketing-muted); font-size:.93rem; line-height:1.55; }
.marketing-tour-end { margin-top:70px; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:65px; }
.marketing-tour-end>.marketing-app-preview { transform:none; }
.marketing-tour-end>div:last-child h2 { margin:0; color:var(--marketing-navy); font-size:2.25rem; line-height:1.12; }
.marketing-tour-end>div:last-child p { margin:20px 0 25px; color:var(--marketing-muted); line-height:1.55; }
.marketing-pricing { padding:clamp(52px,8vw,100px) 0; display:grid; grid-template-columns:1fr minmax(370px,.72fr); align-items:start; gap:clamp(55px,9vw,110px); }
.marketing-price-panel { padding:34px; border:2px solid var(--marketing-navy); border-radius:24px; background:#fff; box-shadow:0 25px 60px rgba(21,28,74,.12); display:grid; }
.marketing-price-panel>div>span { color:var(--marketing-teal); font-size:.75rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.marketing-price-panel strong { display:block; margin-top:13px; color:var(--marketing-navy); font-size:4.3rem; line-height:1; letter-spacing:-.06em; }
.marketing-price-panel>div>p { margin:7px 0 0; color:var(--marketing-muted); }
.marketing-price-panel ul { margin:30px 0; padding:24px 0; border-top:1px solid var(--marketing-line); border-bottom:1px solid var(--marketing-line); display:grid; gap:12px; list-style:none; }
.marketing-price-panel li { color:var(--marketing-ink); font-size:.9rem; }
.marketing-price-panel li::before { content:"✓"; margin-right:9px; color:var(--marketing-teal); font-weight:900; }
.marketing-price-panel .marketing-primary { width:100%; }
.marketing-price-panel>small { margin-top:15px; color:var(--marketing-muted); font-size:.7rem; line-height:1.4; text-align:center; }
.marketing-login-page { min-height:620px; padding:clamp(70px,12vw,150px) 0; display:grid; place-items:center; }
.marketing-login-page>section { width:min(720px,100%); padding:45px; border:1px solid var(--marketing-line); border-radius:24px; background:var(--marketing-soft); }
.marketing-login-page h1 { font-size:clamp(3rem,7vw,5.4rem); }
.marketing-login-page section>p:not(.marketing-eyebrow) { max-width:570px; margin:25px 0 0; color:var(--marketing-muted); font-size:1rem; line-height:1.6; }

@media (max-width:900px) {
  .marketing-header nav a:not(.marketing-login) { display:none; }
  .marketing-hero,.marketing-story,.marketing-tour-end,.marketing-pricing { grid-template-columns:1fr; }
  .marketing-hero { padding-right:0; padding-left:0; }
  .marketing-app-preview { transform:none; }
  .marketing-story figure { width:min(560px,100%); }
  .marketing-tour-grid { grid-template-columns:1fr 1fr; }
  .marketing-pricing header { max-width:700px; }
  .marketing-price-panel { width:min(560px,100%); }
  .marketing-footer { grid-template-columns:1fr; align-items:start; }
  .marketing-footer nav { justify-self:start; }
}
@media (max-width:580px) {
  .marketing-header,.marketing-home>main,.marketing-footer,.marketing-subpage>main { width:calc(100% - 30px); }
  .marketing-header { min-height:74px; }
  .marketing-brand { gap:8px; }
  .marketing-brand i { width:12px; height:12px; border-radius:3px; }
  .marketing-brand b { font-size:1rem; }
  .marketing-header nav { gap:0; }
  .marketing-hero { padding-top:46px; gap:52px; }
  .marketing-hero h1,.marketing-subpage h1 { font-size:clamp(2.75rem,13vw,4rem); }
  .marketing-actions { align-items:stretch; flex-direction:column; }
  .marketing-primary,.marketing-secondary { width:100%; }
  .marketing-operational-conversion { margin:18px 0; padding:24px 18px 26px; border-radius:20px; }
  .marketing-operational-status { gap:5px; }
  .marketing-operational-status>div { font-size:.62rem; }
  .marketing-operational-commercial { grid-template-columns:1fr; align-items:stretch; gap:20px; }
  .marketing-preview-body { padding:20px; }
  .marketing-preview-body>header>div { grid-template-columns:1fr; }
  .marketing-floor-strips>div { grid-template-columns:70px 1fr; }
  .marketing-founder-testimonial { padding:24px 20px 30px; grid-template-columns:1fr; gap:22px; }
  .marketing-founder-testimonial figure { display:grid; grid-template-columns:82px minmax(0,1fr); align-items:center; gap:14px; }
  .marketing-founder-testimonial img { width:82px; height:82px; aspect-ratio:1; border-radius:50%; object-position:center 24%; }
  .marketing-founder-testimonial figcaption { margin:0; }
  .marketing-founder-testimonial blockquote { padding-left:16px; }
  .marketing-founder-testimonial blockquote p { font-size:1.22rem; }
  .marketing-founder-testimonial a { margin:20px 0 0 20px; }
  .marketing-video-bridge { margin:18px 0 0; }
  .marketing-video-bridge a { min-height:82px; padding:15px 16px; border-radius:17px; gap:14px; }
  .marketing-video-play { width:46px; height:46px; box-shadow:0 0 0 6px var(--marketing-soft); }
  .marketing-video-arrow { font-size:1.45rem; }
  .marketing-footer nav { align-items:flex-start; flex-direction:column; gap:12px; }
  .marketing-tour-grid { grid-template-columns:1fr; }
  .marketing-tour-grid article { min-height:220px; }
  .marketing-story-copy .marketing-large-copy { padding-left:17px; }
  .marketing-story img { aspect-ratio:5/4; }
  .marketing-app-preview-embedded .marketing-preview-body { padding:12px; }
  .marketing-app-preview-embedded .marketing-preview-body>header { padding-bottom:10px; }
  .marketing-app-preview-embedded .marketing-preview-body>header>span { font-size:.48rem; letter-spacing:.08em; }
  .marketing-app-preview-embedded .marketing-preview-body>header>div { margin-top:4px; }
  .marketing-app-preview-embedded .marketing-preview-body h2 { font-size:.85rem; }
  .marketing-app-preview-embedded .marketing-preview-body header small { font-size:.5rem; }
  .marketing-app-preview-embedded .marketing-floor-strips { padding:11px 0; gap:7px; }
  .marketing-app-preview-embedded .marketing-floor-strips>div { grid-template-columns:41px 1fr; gap:5px; }
  .marketing-app-preview-embedded .marketing-floor-strips b { font-size:.56rem; }
  .marketing-app-preview-embedded .marketing-floor-strips b small { margin-top:1px; font-size:.44rem; }
  .marketing-app-preview-embedded .marketing-floor-strips span { height:19px; gap:1px; }
  .marketing-app-preview-embedded .marketing-floor-strips i { border-radius:3px; }
  .marketing-app-preview-embedded .marketing-status-key { padding-top:8px; gap:4px 6px; }
  .marketing-app-preview-embedded .marketing-status-key span { gap:3px; font-size:.42rem; }
  .marketing-app-preview-embedded .marketing-status-key i { width:6px; height:6px; }
  .marketing-app-preview-embedded .marketing-preview-explainer { margin-top:7px; padding:6px 7px; border-left-width:2px; font-size:.42rem; }
  .marketing-price-panel,.marketing-login-page>section { padding:25px 20px; }
  .marketing-price-panel strong { font-size:3.8rem; }
}

/* Commercial onboarding and billing readiness */
.marketing-vat-explainer { max-width:620px; margin:30px 0 0; color:var(--marketing-muted); font-size:1rem; line-height:1.55; }
.marketing-vat-explainer b { display:block; color:var(--marketing-navy); }
.commercial-start { padding:clamp(52px,8vw,100px) 0; display:grid; grid-template-columns:minmax(280px,.68fr) minmax(500px,1fr); align-items:start; gap:clamp(45px,8vw,100px); }
.commercial-start>header { position:sticky; top:30px; }
.commercial-start>header h1 { font-size:clamp(3rem,5.8vw,5.4rem); }
.commercial-start>header>p:last-child { max-width:500px; color:var(--marketing-muted); font-size:1.05rem; line-height:1.6; }
.commercial-start-form { display:grid; gap:16px; }
.commercial-start-form>section { padding:26px; border:1px solid var(--marketing-line); border-radius:20px; background:#fff; box-shadow:0 13px 35px rgba(21,28,74,.06); }
.commercial-step { margin-bottom:22px; display:flex; align-items:flex-start; gap:14px; }
.commercial-step>i { flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:var(--marketing-teal); color:#fff; display:grid; place-items:center; font-style:normal; font-weight:900; }
.commercial-step span { color:var(--marketing-teal); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.commercial-step h2 { margin:5px 0 0; color:var(--marketing-navy); font-size:1.42rem; line-height:1.15; }
.commercial-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.commercial-start-form label { color:var(--marketing-navy); font-size:.85rem; display:grid; gap:7px; }
.commercial-start-form input:not([type=checkbox]) { width:100%; height:50px; padding:0 14px; border:1px solid #99bdbc; border-radius:10px; background:#fff; color:var(--marketing-navy); font:inherit; }
.commercial-start-form input:focus { border-color:var(--marketing-teal); outline:3px solid rgba(8,127,121,.14); }
.commercial-start-form label small { color:var(--marketing-muted); font-size:.7rem; line-height:1.4; }
.commercial-note { margin:14px 0 0; padding:12px 14px; border-left:4px solid var(--marketing-teal); background:var(--marketing-soft); color:var(--marketing-muted); font-size:.76rem; line-height:1.5; }
.commercial-order { border:2px solid var(--marketing-navy)!important; }
.commercial-order>div:first-child { display:flex; justify-content:space-between; align-items:baseline; gap:20px; }
.commercial-order>div:first-child span { color:var(--marketing-teal); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.commercial-order>div:first-child strong { color:var(--marketing-navy); font-size:2.5rem; }
.commercial-order dl { margin:22px 0 14px; padding:16px 0; border-top:1px solid var(--marketing-line); border-bottom:1px solid var(--marketing-line); display:grid; gap:10px; }
.commercial-order dl>div { display:flex; justify-content:space-between; gap:15px; }
.commercial-order dt { color:var(--marketing-muted); }
.commercial-order dd { margin:0; color:var(--marketing-navy); font-weight:900; }
.commercial-order>p { color:var(--marketing-muted); font-size:.75rem; line-height:1.45; }
.commercial-terms { margin:18px 0; grid-template-columns:20px 1fr!important; align-items:start; }
.commercial-terms input { width:18px; height:18px; accent-color:var(--marketing-teal); }
.commercial-terms a { color:var(--marketing-teal); font-weight:850; }
.commercial-order>.marketing-primary { width:100%; border:0; }
.commercial-order aside { margin-top:14px; padding:13px; border-radius:10px; background:#fff5df; display:grid; gap:4px; }
.commercial-order aside b { color:#9d6500; font-size:.72rem; text-transform:uppercase; }
.commercial-order aside span { color:var(--marketing-muted); font-size:.72rem; line-height:1.45; }
.commercial-message { padding:12px; border-radius:9px; background:#fff0f1; color:#a62e35!important; font-weight:750; }
.commercial-welcome { min-height:650px; padding:80px 0; display:grid; place-items:center; }
.commercial-welcome>section { max-width:780px; padding:45px; border:1px solid var(--marketing-line); border-radius:24px; background:var(--marketing-soft); }
.commercial-welcome h1 { font-size:clamp(3rem,7vw,5.4rem); }
.commercial-welcome section>p:not(.marketing-eyebrow) { margin:25px 0; color:var(--marketing-muted); font-size:1rem; line-height:1.65; }
.commercial-legal { padding:clamp(52px,8vw,100px) 0; }
.commercial-legal h1 { max-width:850px; }
.commercial-legal>aside { max-width:850px; margin:28px 0; padding:18px; border-left:5px solid var(--marketing-amber); background:#fff5df; }
.commercial-legal>aside p { margin:5px 0 0; color:var(--marketing-muted); }
.commercial-legal>section { max-width:850px; margin-top:42px; display:grid; gap:8px; }
.commercial-legal h2 { margin:25px 0 0; color:var(--marketing-navy); font-size:1.35rem; }
.commercial-legal section p { margin:4px 0; color:var(--marketing-muted); font-size:1rem; line-height:1.65; }
@media (max-width:900px) {
  .commercial-start { grid-template-columns:1fr; }
  .commercial-start>header { position:static; }
  .commercial-start>header>p:last-child { max-width:700px; }
}
@media (max-width:580px) {
  .commercial-start { padding-top:42px; }
  .commercial-fields { grid-template-columns:1fr; }
  .commercial-start-form>section,.commercial-welcome>section { padding:22px 18px; }
  .commercial-order>div:first-child { align-items:flex-start; flex-direction:column; gap:6px; }
}

/* Customer identity and account workspace */
.customer-login { min-height:650px; padding:clamp(65px,10vw,130px) 0; display:grid; place-items:center; }
.customer-login>section { width:min(720px,100%); padding:45px; border:1px solid var(--marketing-line); border-radius:24px; background:var(--marketing-soft); }
.customer-login h1 { font-size:clamp(3rem,7vw,5.4rem); }
.customer-login>section>p:not(.marketing-eyebrow) { max-width:590px; margin:25px 0 0; color:var(--marketing-muted); font-size:1rem; line-height:1.65; }
.customer-login-form { margin-top:30px; display:grid; gap:14px; }
.customer-login-form label { display:grid; gap:8px; color:var(--marketing-navy); }
.customer-login-form input { width:100%; height:54px; padding:0 15px; border:1px solid #99bdbc; border-radius:10px; background:#fff; color:var(--marketing-navy); font:inherit; }
.customer-login-form input:focus { border-color:var(--marketing-teal); outline:3px solid rgba(8,127,121,.14); }
.customer-login-form .marketing-primary { width:100%; border:0; }
.customer-login-form aside { padding:13px; border-radius:10px; background:#fff5df; display:grid; gap:4px; }
.customer-login-form aside b { color:#9d6500; font-size:.72rem; text-transform:uppercase; }
.customer-login-form aside span,.customer-login-form>small { color:var(--marketing-muted); font-size:.73rem; line-height:1.45; }
.customer-auth-success,.customer-auth-error { margin:0; padding:13px; border-radius:9px; font-weight:750; }
.customer-auth-success { background:#edf6df; color:#557e27; }
.customer-auth-error { background:#fff0f1; color:#a62e35; }
.customer-account,.customer-account-empty { padding:clamp(52px,8vw,100px) 0; }
.customer-test-banner { margin:0 0 22px; padding:13px 16px; border-radius:10px; background:#fff5df; color:#73551a; line-height:1.45; }
.customer-test-banner b { color:#9d6500; text-transform:uppercase; letter-spacing:.06em; }
.customer-account>header { padding-bottom:30px; border-bottom:1px solid var(--marketing-line); display:flex; align-items:flex-start; justify-content:space-between; gap:25px; }
.customer-account h1,.customer-account-empty h1 { font-size:clamp(3rem,6vw,5.7rem); }
.customer-account>header p:last-child { color:var(--marketing-muted); text-transform:capitalize; }
.customer-account>header button { min-height:42px; padding:0 16px; border:1px solid var(--marketing-teal); border-radius:9px; background:#fff; color:var(--marketing-teal); font-weight:850; }
.customer-site-card { margin-top:32px; padding:30px; border:2px solid var(--marketing-navy); border-radius:22px; background:#fff; display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:25px; box-shadow:0 20px 50px rgba(21,28,74,.1); }
.customer-site-card>div>span,.customer-site-card aside>span { color:var(--marketing-teal); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.customer-site-card h2 { margin:8px 0; color:var(--marketing-navy); font-size:2.3rem; }
.customer-site-card>div>p { color:var(--marketing-muted); line-height:1.6; }
.customer-site-card aside { padding:18px; border-radius:14px; display:grid; align-content:start; gap:7px; }
.customer-site-card aside.is-active { background:#edf6df; }
.customer-site-card aside.is-readonly { background:#eef1f0; }
.customer-site-card aside b { color:var(--marketing-navy); font-size:1.05rem; }
.customer-site-card aside small { color:var(--marketing-muted); line-height:1.4; }
.customer-billing-action { margin-top:8px; display:grid; gap:7px; }
.customer-billing-action button { min-height:38px; padding:0 10px; border:1px solid var(--marketing-navy); border-radius:8px; background:#fff; color:var(--marketing-navy); font-weight:850; }
.customer-billing-action button:disabled { opacity:.65; }
.customer-billing-action small[role="alert"] { color:#a62e35; }
.customer-site-card>.marketing-primary { grid-column:1/-1; width:100%; }
.customer-account-boundary { margin:24px 0 0; padding:18px 20px; border-left:5px solid var(--marketing-teal); background:var(--marketing-soft); color:var(--marketing-muted); line-height:1.55; }
.customer-account-boundary b { color:var(--marketing-navy); }
.customer-members { margin-top:28px; padding:28px; border:1px solid var(--marketing-line); border-radius:20px; background:#fff; }
.customer-members>header { display:grid; grid-template-columns:1fr minmax(260px,.8fr); align-items:end; gap:25px; }
.customer-members h2 { margin:5px 0 0; color:var(--marketing-navy); font-size:2rem; }
.customer-members>header>p { margin:0; color:var(--marketing-muted); line-height:1.5; }
.customer-members ul { margin:25px 0 0; padding:0; list-style:none; border-top:1px solid var(--marketing-line); }
.customer-members li { padding:14px 2px; border-bottom:1px solid var(--marketing-line); display:flex; justify-content:space-between; gap:15px; }
.customer-members li span { color:var(--marketing-navy); }
.customer-members li b { color:var(--marketing-teal); font-size:.72rem; text-transform:capitalize; }
.customer-invite-form { margin-top:24px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; }
.customer-invite-form label { color:var(--marketing-navy); font-size:.8rem; font-weight:750; display:grid; gap:7px; }
.customer-invite-form input { width:100%; height:48px; padding:0 14px; border:1px solid #99bdbc; border-radius:10px; color:var(--marketing-navy); font:inherit; }
.customer-invite-form button { min-height:48px; }
.customer-invite-form p { grid-column:1/-1; }
.customer-test-invite { grid-column:1/-1; padding:12px 14px; border:1px dashed var(--marketing-teal); border-radius:9px; color:var(--marketing-teal); font-weight:850; overflow-wrap:anywhere; }
.customer-account-empty { min-height:600px; display:grid; place-items:center; }
.customer-account-empty>section { width:min(800px,100%); padding:40px; border:1px solid var(--marketing-line); border-radius:22px; background:var(--marketing-soft); }
.cloud-save-state { margin-left:auto; padding:6px 10px; border-radius:999px; background:#eef1f0; color:#526075; font-size:10px; font-weight:850; white-space:nowrap; }
.cloud-save-state.cloud-saved { background:#edf6df; color:#557e27; }
.cloud-save-state.cloud-saving { background:#fff5df; color:#9d6500; }
.cloud-save-state.cloud-conflict,.cloud-save-state.cloud-error { background:#fff0f1; color:#a62e35; }
.workspace-readonly-notice { padding:10px 18px; background:#eef1f0; display:flex; align-items:center; justify-content:center; gap:8px; color:#526075; font-size:12px; }
.workspace-readonly-notice b { color:#202a63; }
@media (max-width:700px) {
  .customer-login>section,.customer-account-empty>section { padding:28px 20px; }
  .customer-account>header { display:grid; }
  .customer-site-card { grid-template-columns:1fr; padding:22px 18px; }
  .customer-site-card>.marketing-primary { grid-column:auto; }
  .customer-members { padding:22px 18px; }
  .customer-members>header,.customer-invite-form { grid-template-columns:1fr; }
  .cloud-save-state { order:3; width:100%; margin:0; text-align:center; }
  .workspace-readonly-notice { align-items:flex-start; flex-direction:column; }
}

/* Approved Rooms flow: the accumulating building map is the primary control. */
.foundation-rooms-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.foundation-rooms-head span { color:#087f79; font-size:9px; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }
.foundation-rooms-head b { color:#202a63; font-size:9px; }
.foundation-room-map-card { padding:10px; border:2px solid #087f79; border-radius:12px; background:#fff; display:grid; gap:0; }
.foundation-room-map-card .foundation-building-map { padding:0; border:1px solid #dfe3ea; border-radius:10px; background:#f2f4f7; overflow:hidden; }
.foundation-room-map-card .foundation-building-map>div { gap:0; }
.foundation-room-map-card .foundation-map-row { min-height:46px; padding:8px 9px; grid-template-columns:26px minmax(0,1fr); gap:9px; }
.foundation-room-map-card .foundation-map-row + .foundation-map-row { border-top:1px solid #dfe3ea; }
.foundation-room-map-card .foundation-map-row.is-outside { margin:0; padding-top:8px; border-top:1px dashed #a8c9c7; }
.foundation-room-map-card .foundation-map-row.is-active .foundation-floor-label { background:transparent; }
.foundation-room-map-card .foundation-floor-label.foundation-lift-button { width:26px; min-height:26px; padding:0; place-items:center; color:#8a90a4; text-align:center; }
.foundation-room-map-card .foundation-lift-button b { font-size:11px; }
.foundation-room-map-card .foundation-floor-track { min-height:0; justify-content:flex-start; }
.foundation-room-map-card .foundation-room-strip { width:100%; min-height:0; justify-content:flex-start; flex-wrap:nowrap; gap:6px; overflow:hidden; container-type:inline-size; }
.foundation-room-map-card .foundation-room-strip i,.foundation-room-map-card .foundation-room-strip button { flex:0 0 var(--foundation-room-size); width:var(--foundation-room-size); min-width:var(--foundation-room-size); max-width:var(--foundation-room-size); min-height:0; aspect-ratio:1; padding:2px; border-radius:5px; }
.foundation-room-map-card .foundation-room-strip button span { font-size:clamp(8px, calc(min((100cqi - (var(--foundation-room-count, 6) - 1) * 6px) / var(--foundation-room-count, 6), 64px) * 0.22), 13px); line-height:1.08; }
.foundation-room-map-card .foundation-building-map.is-room-selection .foundation-room-strip button.is-chosen,
.foundation-room-map-card .foundation-building-map.is-room-selection .foundation-room-strip button.is-chosen:hover,
.foundation-room-map-card .foundation-building-map.is-room-selection .foundation-room-strip button.is-chosen:focus-visible { border-color:#aeb7b8; background:#c8cbc6; }
.foundation-room-map-card .foundation-building-map.is-room-selection .foundation-room-strip button.needs-choice { border-style:solid; border-color:#aeb7b8; background:#c8cbc6; }
.foundation-room-map-card .foundation-building-map.is-room-selection .foundation-room-strip button.needs-choice span { color:#202a63; font-size:8px; }
.foundation-room-map-card .foundation-no-water-band { color:#a0a6b5; font-size:8px; font-weight:800; }
.foundation-room-map-card .foundation-building-map>footer { padding:6px 8px; background:#fff; }
.foundation-room-map-card .foundation-building-map>footer span { font-size:6px; }
.foundation-room-map-card .foundation-floor-entry { padding:12px 0 0; border:0; border-radius:0; background:transparent; gap:9px; }
.foundation-room-map-card .water-room-quantity { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
.foundation-room-map-card .water-room-quantity>span { min-width:0; display:grid; gap:2px; color:#526075; }
.foundation-room-map-card .water-room-quantity>span b { color:#202a63; font-size:10px; }
.foundation-room-map-card .water-room-quantity>span small { font-size:7px; line-height:1.25; }
.foundation-room-map-card .water-room-quantity>div { width:120px; display:grid; grid-template-columns:repeat(3,40px); }
.foundation-room-map-card .water-room-quantity button,.foundation-room-map-card .water-room-quantity output { width:100%; height:40px; border:1px solid #a8c9c7; border-radius:0; background:#fff; display:grid; place-items:center; color:#087f79; font-size:18px; font-weight:850; }
.foundation-room-map-card .water-room-quantity button:first-child { border-radius:9px 0 0 9px; }
.foundation-room-map-card .water-room-quantity button:last-child { border-radius:0 9px 9px 0; }
.foundation-room-map-card .water-room-quantity output { border-right:0; border-left:0; color:#202a63; font-size:14px; }
.foundation-room-map-card .foundation-next { margin-top:1px; }
.foundation-room-map-card .foundation-identify-room { padding-top:10px; }
.foundation-room-map-card .foundation-room-choices { margin:0; }
.foundation-room-type-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.foundation-room-type-grid button { appearance:none; min-width:0; min-height:58px; padding:5px 3px; border:1px solid #c5d0dd; border-radius:8px; background:#fff; display:grid; grid-template-rows:auto 1fr; place-items:center; gap:3px; color:#202a63; text-align:center; }
.foundation-room-type-grid button b { color:#087f79; font-size:11px; line-height:1; }
.foundation-room-type-grid button span { max-width:100%; overflow:hidden; font-size:7px; font-weight:850; line-height:1.08; overflow-wrap:anywhere; }
.foundation-room-type-grid button.is-picked { padding:4px 2px; border:2px solid #087f79; background:#f3faf9; }
.foundation-room-type-grid button.is-more b { letter-spacing:.08em; }
.foundation-room-map-card .foundation-room-choices>header { align-items:baseline; }
.foundation-room-map-card .foundation-room-choices>header span { font-size:11px; }
.foundation-room-map-card .foundation-room-choices>header b { font-size:7px; }
.foundation-room-map-card .foundation-identify-room { gap:7px; }
.foundation-room-map-card .foundation-save-room-type { position:sticky; bottom:max(8px,env(safe-area-inset-bottom)); z-index:5; box-shadow:0 7px 18px rgba(32,42,99,.16); }
.foundation-room-review { padding:10px 0 0; display:grid; gap:8px; }
.foundation-room-review>p { min-height:44px; margin:0; padding:10px; border:1px solid #d6dde7; border-radius:8px; background:#f7f9fb; display:grid; place-items:center; color:#657187; font-size:8px; font-weight:800; text-align:center; }
.foundation-room-check { min-height:48px; padding:7px 8px; border:1px solid #d6dde7; border-radius:9px; background:#f7f9fb; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:8px; }
.foundation-room-check>b { width:34px; height:34px; border:1px solid #aeb7b8; border-radius:6px; background:#c8cbc6; display:grid; place-items:center; color:#202a63; font-size:9px; }
.foundation-room-check>span { min-width:0; }
.foundation-room-check strong,.foundation-room-check small { display:block; }
.foundation-room-check strong { overflow:hidden; color:#202a63; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.foundation-room-check small { margin-top:2px; color:#748091; font-size:7px; }
.foundation-room-check button { min-height:32px; padding:0 8px; border:1px solid #087f79; border-radius:7px; background:#fff; color:#087f79; font-size:7px; font-weight:900; }
.foundation-room-map-card.is-review .foundation-building-map { background:#f2f4f7; }
.foundation-room-map-card .foundation-building-map .foundation-room-strip button.is-selected,
.foundation-room-map-card .foundation-building-map .foundation-room-strip button.is-selected:hover,
.foundation-room-map-card .foundation-building-map .foundation-room-strip button.is-selected:focus-visible { border-color:#202a63; background:#202a63; outline:0; }
.foundation-room-map-card .foundation-building-map .foundation-room-strip button.is-selected span { color:#fff; }
.foundation-room-hint { padding:0 4px; color:#6b7188; font-size:8px; line-height:1.45; }
.foundation-room-hint summary { display:flex; align-items:baseline; gap:4px; cursor:pointer; list-style:none; }
.foundation-room-hint summary::-webkit-details-marker { display:none; }
.foundation-room-hint summary span { font-weight:750; }
.foundation-room-hint summary b { color:#087f79; font-size:8px; text-decoration:underline; text-underline-offset:2px; }
.foundation-room-hint p { margin:5px 0 0; }

/* On a phone, the screen is the frame: remove the two nested presentation shells. */
@media (max-width:480px) {
  html,body { width:100%; max-width:100%; min-width:0; overflow-x:hidden; }
  .app-stage { width:100%; max-width:100%; min-width:0; min-height:100vh; padding:0; grid-template-columns:minmax(0,1fr); place-items:start stretch; }
  .app-shell { width:100%; max-width:100%; min-width:0; min-height:100vh; border:0; border-radius:0; box-shadow:none; }
  .content { padding-right:0; padding-left:0; }
  .strip { border:0; border-radius:0; box-shadow:none; }
  .strip-slide { flex-basis:100%; }
  .strip-slide:last-child { margin-right:0; }
  .rooms-slide { flex-basis:100%; padding-right:14px; padding-left:14px; }
  .rooms-slide>.foundation-room-map-card { width:100%; padding:10px; border:2px solid #087f79; border-radius:12px; }
  .duty-page,.journey-result-page { padding-right:0; padding-left:0; }
  .duty-page .duty-workspace,.journey-result-content { width:100%; border:0; border-radius:0; box-shadow:none; }
  .duty-page .duty-workspace { padding-right:14px; padding-left:14px; }
  .monitoring-duty-handover { padding:14px 0 14px 12px; border:0; border-left:4px solid #087f79; border-radius:0; background:transparent; box-shadow:none; }
  .problem-story-content { padding-right:0; padding-left:0; }
  .problem-story-card { padding-right:14px; padding-left:14px; border:0; border-radius:0; }
  .outlet-work-strip { border:0; border-radius:0; }
}

/* Base font (was set by next/font in the old build) */
body { font-family:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
