/*
	Cheshire Hike Track
*/

/* CSS Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

/* Overall */
:root { --brand: #36277D; --brand-dark: #291D62; --brand-soft: #EEEAF8; --brand-soft-hover: #E3DDF4; --brand-border: #AFA4D5; --brand-pulse: #6C5BB8; --row-hover: #FAF9FD; --panel-border: #CBD5E1; --panel-divider: #E2E8F0; --panel-padding: 24px; --panel-gap: 20px; --section-gap: 28px; --panel-header-min-height: 82px; }
body { font-family: 'Nunito Sans'; background: #F8FAFC; font-size: 16px; line-height: 1.4; color: #111; }
html.dialog-open, body.dialog-open { overflow: hidden; }
body::before { content: ""; position: fixed; z-index: 89; inset: 0; background: rgba(226,232,240,0.68); opacity: 0; visibility: hidden; backdrop-filter: grayscale(100%) blur(1px); -webkit-backdrop-filter: grayscale(100%) blur(1px); pointer-events: none; transition: opacity 0.2s ease, visibility 0s linear 0.2s; }
body.dialog-open::before { opacity: 1; visibility: visible; transition: opacity 0.2s ease; }
body[class^="log-in"], body[class^="register"] { min-height: 100vh; padding: 40px 20px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #F8FAFC 0%, var(--brand-soft) 100%); }
input:focus, select:focus, textarea:focus, button:focus { outline: none; }
input, select, button { font-family: 'Nunito Sans'; font-size: 16px; }
strong { font-weight: 700; }

.grey_text { color: #64748B; }

.toast { background: #ED3F23; padding: 20px; color: #fff; margin: -5px 0 30px 0; }
.toast.response { display: none; color: #EF4444; background: #ffe4e4; }
.toast.green { color: #10B981; background: #d7f5eb; }
.toast.welcome { color: #fff; background: var(--brand); margin: 0; padding: 30px; }
.toast.welcome.closed { width: min(680px, 100%); margin: 0 auto; padding: 17px 18px; display: flex; align-items: flex-start; gap: 12px; box-sizing: border-box; color: #991B1B; background: #FEF2F2; border: 1px solid #FECACA; border-left: 4px solid #DC2626; font-size: 14px; line-height: 20px; }
.toast.welcome.closed > i { margin-top: 2px; flex: 0 0 auto; color: #DC2626; font-size: 16px; }
.toast.welcome.closed strong, .toast.welcome.closed span { display: block; }
.toast.welcome.closed strong { margin-bottom: 2px; color: #7F1D1D; font-size: 14px; font-weight: 800; }
.toast.welcome.closed span { color: #991B1B; }
.toast.negative { color: #EF4444; background: #ffe4e4; margin: 0; padding: 30px; }
.staging { display: none; position: fixed; z-index: 100; bottom: 20px; right: 20px; background: #b72525; color: #fff; font-size: 14px; line-height: 14px; padding: 14px 20px; text-decoration: none; margin: 2px 0 0 20px; }
.pop { position: fixed; z-index: 100; bottom: -100px; left: 50%; transform: translateX(-50%); background: var(--brand); color: #fff; padding: 15px 25px; text-decoration: none; text-align: center; width: 80%; }
.pop.green { background: #10B981; }
.pop.blue { background: var(--brand); }
.pop.red { color: #EF4444; background: #ffe4e4; }
body.track .pop, body.scan .pop, body.scanner .pop { width: min(680px, calc(100vw - 30px)); padding: 14px 17px; box-sizing: border-box; color: var(--brand-dark); background: var(--brand-soft); border: 1px solid var(--brand-border); border-left: 4px solid var(--brand); box-shadow: 0 12px 30px rgba(15,23,42,0.14); font-size: 14px; font-weight: 700; line-height: 20px; text-align: left; }
body.track .pop.green, body.scan .pop.green, body.scanner .pop.green { color: #065F46; background: #ECFDF5; border-color: #A7F3D0; border-left-color: #059669; }
body.track .pop.blue, body.scan .pop.blue, body.scanner .pop.blue { color: var(--brand-dark); background: var(--brand-soft); border-color: var(--brand-border); border-left-color: var(--brand); }
body.track .pop.red, body.scan .pop.red, body.scanner .pop.red { color: #991B1B; background: #FEF2F2; border-color: #FECACA; border-left-color: #DC2626; }
body.track .pop.scan-updated, body.scan .pop.scan-updated, body.scanner .pop.scan-updated { animation: scanner-pop-updated 0.4s ease; }
.background-save-toast { padding: 12px 16px; position: fixed; z-index: 120; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 9px; color: #065F46; background: #ECFDF5; border: 1px solid #A7F3D0; border-left: 4px solid #059669; box-shadow: 0 12px 28px rgba(15,23,42,.16); font-size: 13px; font-weight: 800; opacity: 0; transform: translateY(12px); visibility: hidden; transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s; }
.background-save-toast.visible { opacity: 1; transform: translateY(0); visibility: visible; transition-delay: 0s; }
.background-save-toast i { color: #059669; font-size: 15px; }
@keyframes scanner-pop-updated { 0% { opacity: 0.65; transform: translateX(-50%) translateY(8px); } 55% { opacity: 1; transform: translateX(-50%) translateY(-2px); box-shadow: 0 16px 34px rgba(5,150,105,0.2); } 100% { opacity: 1; transform: translateX(-50%) translateY(0); } }

input[readonly], select[readonly] { background-color: #eee; color: #777; cursor: not-allowed; }
.null { cursor: default; }

/* Animations */
.live i { animation: blinker 2s linear infinite }
.live.refresh i { animation: none; }
@keyframes blinker { 50% { transform: scale(1.2); } }
@keyframes pulse-ring { 0% { transform: scale(.33); } 80%, 100% { opacity: 0; } }

.issue.blood-red { animation: blood-red-blinker 1s linear infinite }
@keyframes blood-red-blinker { 50% { background: #8c2020; } }

@keyframes shimmer { 100% { transform: translateX(100%); } }

.notification.new { animation: notify 0.4s linear; animation-fill-mode: forwards; }
@keyframes notify { 0% { height: 0px; opacity: 0; } }
@keyframes notify { 100% { opacity: 1; height: 100px; } }
.notification.new span { animation: fadein 1s linear; animation-fill-mode: forwards; }
@keyframes fadein { 0% { opacity: 0; } }
@keyframes fadein { 100% { opacity: 0.6; } }

.loader {
  width: 20px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 3px solid;
  border-color: #000 #0000;
  animation: l1 1s infinite;
}
@keyframes l1 {to{transform: rotate(.5turn)}}

.page-loading { display: flex; position: fixed; z-index: 1000; inset: 0; box-sizing: border-box; padding: 30px; background: #F8FAFC; align-items: center; justify-content: center; flex-direction: column; text-align: center; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.25s ease, visibility 0s linear 0.25s; }
.page-loading.active { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 0.25s ease; }
.page-loading .loader { width: 30px; border: 4px solid #d8d8d8; border-top-color: #111; margin-bottom: 30px; animation: page-loading-spinner 0.8s linear infinite; }
.page-loading p { margin: 0; color: #111; font-size: 20px; font-weight: 600; }
@keyframes page-loading-spinner { to { transform: rotate(360deg); } }

/* TV */
.tv { box-sizing: border-box; padding: 40px 50px; width: 100%; height: 100%; position: absolute; top: 0; left: 0; bottom: 0; background: #833AB4; background: linear-gradient(90deg,rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 50%, rgba(252, 176, 69, 1) 100%); }
.tv h3 { color: #fff; font-weight: 900; font-size: 40px; margin: 0 0 20px 0; }
.tv .blocks { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; align-items: stretch; }
.tv .block { background: #fff; padding: 20px; text-align: center; }
.tv .block h4 { font-weight: 900; font-size: 30px; color: 111; }
.tv .block h5 { font-size: 20px; color: 111; }
.tv.pathfinder-plus { background: #2A7B9B; background: linear-gradient(90deg, rgba(42, 123, 155, 1) 0%, rgba(87, 199, 133, 1) 50%, rgba(237, 221, 83, 1) 100%); }
.tv.explorer { background: #020024; background: linear-gradient(90deg, rgba(2, 0, 36, 1) 0%, rgba(9, 9, 121, 1) 35%, rgba(0, 212, 255, 1) 100%); }

/* Dialog */
.whiteout { display: none; position: fixed; z-index: 90; inset: 0; background: transparent; cursor: default; }
.blackout { display: none; position: fixed; z-index: 90; background: #111; opacity: 0.9; width: 100%; height: 100vh; top: 0; left: 0; z-index: 199; }
.dialog { display: none; position: fixed; z-index: 100; top: 50%; left: 50%; transform: translate(-50%,-50%); width: min(440px, calc(100vw - 40px)); max-height: calc(100vh - 40px); overflow-y: auto; box-sizing: border-box; padding: 32px; background: #fff; border: 1px solid #CBD5E1; border-top: 3px solid var(--brand); box-shadow: 0 20px 50px rgba(15,23,42,0.22); text-align: left; }
.dialog p { margin: 0 0 24px 0; color: #475569; font-size: 15px; line-height: 1.5; }
.dialog h3 { margin: 0 0 10px 0; color: #1E293B; font-weight: 750; font-size: 22px; line-height: 28px; }
.dialog h3 { padding-right: 40px; }
.dialog .dialog-close { width: 32px; height: 32px; position: absolute; top: 18px; right: 18px; display: flex; align-items: center; justify-content: center; color: #64748B; background: #F8FAFC; border: 1px solid #CBD5E1; font-family: inherit; font-size: 22px; font-weight: 400; line-height: 1; cursor: pointer; }
.dialog .dialog-close:hover { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-border); }
.dialog label { display: block; margin: 0 0 7px 0; width: 100%; color: #475569; font-size: 13px; font-weight: 700; text-align: left; }
.dialog .hint { padding: 20px; color: #fff; margin: -5px 0 20px 0; color: #EF4444; background: #ffe4e4; }
.dialog small { margin: 0 0 20px 0; display: block; background: #F8FAFC; padding: 20px; }
.dialog input, .dialog select, .dialog textarea { display: inline-block; margin: 0 0 18px 0; width: 100%; border: 1px solid #CBD5E1; background: #fff; padding: 12px; box-sizing: border-box; }
.dialog input:focus, .dialog select:focus, .dialog textarea:focus { outline: 0; border-color: var(--brand); box-shadow: inset 3px 0 0 var(--brand-soft); }
.dialog input[readonly] { color: #64748B; background: #F1F5F9; }
.dialog .or { margin-bottom: 20px; display: block; width: 100%; background: #f1f1f1; padding: 10px 0; text-align: center; }
.dialog input.identifier { background: #CBD5E1; font-family: 'SF Mono', 'Segoe UI Mono', 'Menlo', 'Consolas', 'Courier New', monospace; }
.dialog input.sunday_start_time { background: #eee; font-family: 'SF Mono', 'Segoe UI Mono', 'Menlo', 'Consolas', 'Courier New', monospace; pointer-events: none; }
.dialog .location-notification-choice { margin: 2px 0 22px; padding: 13px 14px; display: flex; align-items: flex-start; gap: 11px; box-sizing: border-box; color: #334155; background: #F8FAFC; border: 1px solid #E2E8F0; cursor: pointer; }
.dialog .location-notification-choice input { width: 17px; height: 17px; margin: 2px 0 0; padding: 0; flex: 0 0 auto; accent-color: var(--brand); }
.dialog .location-notification-choice span { min-width: 0; }
.dialog .location-notification-choice strong { display: block; color: #1E293B; font-size: 13px; }
.dialog .location-notification-choice small { margin: 3px 0 0; padding: 0; display: block; color: #64748B; background: none; font-size: 12px; font-weight: 500; line-height: 17px; }
.dialog-basecamp-checks .basecamp-check-person { margin-bottom: 20px; }
.dialog-basecamp-checks .dialog-check-question { min-width: 0; margin: 0 0 22px 0; padding: 0; border: 0; }
.dialog-basecamp-checks .dialog-check-heading { margin-bottom: 8px; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.dialog-basecamp-checks .dialog-check-heading h4 { margin: 0; padding: 0; color: #334155; font-size: 14px; font-weight: 750; }
.dialog-basecamp-checks .dialog-check-heading > span { color: #64748B; font-size: 11px; line-height: 16px; white-space: nowrap; }
.dialog-basecamp-checks .dialog-check-heading > span strong { color: var(--brand); }
.dialog-basecamp-checks .dialog-check-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dialog-basecamp-checks .dialog-check-options label { margin: 0; position: relative; cursor: pointer; }
.dialog-basecamp-checks .dialog-check-options input { width: 1px; height: 1px; margin: 0; padding: 0; position: absolute; opacity: 0; pointer-events: none; }
.dialog-basecamp-checks .dialog-check-options label > span { min-height: 66px; padding: 10px 10px 10px 42px; display: flex; flex-direction: column; justify-content: center; position: relative; border-top: 1px solid #E2E8F0; border-right: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; box-sizing: border-box; }
.dialog-basecamp-checks .dialog-check-options label:first-child > span { border-left: 3px solid #E2E8F0; }
.dialog-basecamp-checks .dialog-check-options label > span::before { content: ""; width: 14px; height: 14px; position: absolute; left: 15px; top: 50%; box-sizing: border-box; border: 1px solid #94A3B8; border-radius: 50%; transform: translateY(-50%); }
.dialog-basecamp-checks .dialog-check-options span strong { color: #1E293B; font-size: 14px; }
.dialog-basecamp-checks .dialog-check-options span small { margin: 2px 0 0 0; padding: 0; display: block; color: #64748B; background: none; font-size: 11px; font-weight: 500; line-height: 16px; }
.dialog-basecamp-checks .dialog-check-options input:checked + span { color: var(--brand); background: var(--brand-soft); border-left: 3px solid var(--brand); }
.dialog-basecamp-checks .dialog-check-options input:checked + span::before { background: var(--brand); border-color: var(--brand); box-shadow: inset 0 0 0 3px #fff; }
.dialog-basecamp-checks .dialog-check-options input:focus + span { outline: 2px solid var(--brand-border); outline-offset: 2px; z-index: 1; }
.dialog-track .dialog-track-intro { margin-bottom: 15px; }
.dialog-track .dialog-track-context { margin: 0 0 22px 0; display: grid; grid-template-columns: 0.8fr 1.2fr; background: #F8FAFC; border: 1px solid #CBD5E1; border-top: 3px solid var(--brand); }
.dialog-track .dialog-track-context > div { min-width: 0; padding: 12px 14px 13px 14px; box-sizing: border-box; }
.dialog-track .dialog-track-context > div + div { border-left: 1px solid #E2E8F0; }
.dialog-track .dialog-track-context span, .dialog-track .dialog-track-context strong { display: block; }
.dialog-track .dialog-track-context span { margin-bottom: 3px; color: #64748B; font-size: 10px; font-weight: 800; line-height: 14px; letter-spacing: 0.06em; text-transform: uppercase; }
.dialog-track .dialog-track-context strong { color: #1E293B; font-size: 14px; font-weight: 750; line-height: 20px; overflow-wrap: anywhere; }
.dialog-track .dialog-track-context > div:first-child strong { color: var(--brand-dark); font-size: 18px; line-height: 22px; }
.dialog-track .dialog-track-context b { font-weight: 850; }
.dialog-track .basecamp-skills-warning { margin: 0 0 22px 0; padding: 14px; display: flex; align-items: flex-start; gap: 11px; color: #92400E; background: #FFFBEB; border: 1px solid #FCD34D; border-left: 3px solid #D97706; }
.dialog-track .basecamp-skills-warning[hidden] { display: none; }
.dialog-track .basecamp-skills-warning > i { margin-top: 2px; flex: 0 0 auto; color: #D97706; font-size: 15px; }
.dialog-track .basecamp-skills-warning strong { display: block; color: #78350F; font-size: 13px; }
.dialog-track .basecamp-skills-warning p { margin: 3px 0 0 0; color: #92400E; font-size: 12px; line-height: 18px; }
.dialog-track .basecamp-skills-warning span { font-weight: 750; }
.dialog-track .basecamp-departure-destination { margin: 0 0 20px 0; }
.dialog-track .basecamp-departure-destination > span, .dialog-track .basecamp-departure-destination > small { display: block; }
.dialog-track .basecamp-departure-destination > span { margin-bottom: 8px; color: #334155; font-size: 14px; font-weight: 750; line-height: 20px; }
.dialog-track .basecamp-departure-destination > small { margin: 7px 0 0 0; padding: 0; color: #64748B; background: none; font-size: 11px; line-height: 16px; }
.dialog-track .track-obs-options { margin: 0 0 8px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(105px, 1fr)); }
.dialog-track .track-obs-options label { margin: 0; position: relative; cursor: pointer; }
.dialog-track .track-obs-options input { width: 1px; height: 1px; margin: 0; padding: 0; position: absolute; opacity: 0; pointer-events: none; }
.dialog-track .track-obs-options label > span { min-height: 66px; padding: 10px 10px 10px 37px; display: flex; flex-direction: column; justify-content: center; position: relative; border-top: 1px solid #E2E8F0; border-right: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; box-sizing: border-box; }
.dialog-track .track-obs-options label:first-child > span { border-left: 3px solid #E2E8F0; }
.dialog-track .track-obs-options label > span::before { content: ""; width: 14px; height: 14px; position: absolute; left: 13px; top: 50%; box-sizing: border-box; border: 1px solid #94A3B8; transform: translateY(-50%); }
.dialog-track .track-obs-options span strong { color: #1E293B; font-size: 13px; }
.dialog-track .track-obs-options span small { margin: 2px 0 0 0; padding: 0; display: block; color: #64748B; background: none; font-size: 10px; font-weight: 500; line-height: 14px; }
.dialog-track .track-obs-options input:checked + span { color: var(--brand); background: var(--brand-soft); border-left: 3px solid var(--brand); }
.dialog-track .track-obs-options input:checked + span::before { background: var(--brand); border-color: var(--brand); box-shadow: inset 0 0 0 3px #fff; }
.dialog-track .track-obs-options input:focus + span { outline: 2px solid var(--brand-border); outline-offset: 2px; z-index: 1; }
.dialog-track .track-route-options label > span::before { border-radius: 50%; }
.dialog-track .track-binary-options { margin-bottom: 18px; }
.dialog-track .track-binary-options label > span::before { border-radius: 50%; }
.dialog-track .obs .track-obs-options { margin-bottom: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.dialog-track .obs .track-obs-options label > span { min-height: 76px; padding: 12px 10px 12px 38px; background: #fff; border: 1px solid #CBD5E1; border-left: 3px solid #CBD5E1; }
.dialog-track .obs .track-obs-options label:first-child > span { border-left: 3px solid #CBD5E1; }
.dialog-track .obs .track-obs-options label > span::before { width: 16px; height: 16px; left: 13px; }
.dialog-track .obs .track-obs-options span strong { font-size: 15px; line-height: 19px; }
.dialog-track .obs .track-obs-options span small { font-size: 10px; line-height: 14px; }
.dialog-track .obs .track-obs-options label:hover > span { border-color: var(--brand-border); background: #FAF9FF; }
.dialog-track .obs .track-obs-options input:checked + span { background: var(--brand-soft); border-color: var(--brand); border-left-color: var(--brand); }
.dialog-track .track-obs-help { margin: 0 0 20px 0; padding: 0; color: #64748B; background: none; font-size: 11px; line-height: 17px; }
.dialog textarea { height: 100px; }
.dialog-send-extended-route-email textarea { height: 320px; }
.dialog .buttons { display: flex; justify-content: flex-end; gap: 10px; }
.dialog .button { line-height: 16px; margin: 0; text-decoration: none; width: auto; background: #10B981; color: #fff; font-weight: 700; border: 0; padding: 15px 18px; cursor: pointer; }
.dialog .button.close { background: #F1F5F9; color: #475569; }
.dialog .button:hover { background: #1e9d73; }
.dialog .button.close:hover { background: #F1F5F9; opacity: 0.75; }
.dialog .button:disabled { background: #ccc; }
.dialog .button.red { background: #EF4444; color: #fff; }
.dialog .button.red:hover { background: #d24a4a; }
.dialog .toast.response { margin: 0 0 20px 0; padding: 13px 14px; color: #991B1B; background: #FEF2F2; border: 1px solid #FECACA; border-left: 3px solid #DC2626; font-size: 13px; font-weight: 700; line-height: 19px; }
.dialog .toast.response.green { color: #065F46; background: #ECFDF5; border-color: #A7F3D0; border-left-color: #059669; }
.dialog .list .item { text-decoration: none; display: inline-block; width: 142px; margin: 0 0 10px 0; background: #F1F5F9; color: #475569; padding: 20px 25px; }
.dialog .list .item:hover { background: #f7fbff; }
.dialog .list .item p { margin: 0; color: #000; }
.dialog .list .item p.sub { opacity: 0.75; font-size: 13px; }
.dialog-initiate-new-team .list .team-route-choice-summary { clear: both; margin: 0 0 12px; padding: 10px 12px; color: #475569; background: #F8FAFC; border-left: 3px solid var(--brand); font-size: 13px; }
.dialog-initiate-new-team .list { margin-bottom: 10px; }
.dialog-initiate-new-team .list .item { width: 100%; min-height: 58px; margin: 0 0 8px; padding: 10px 14px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 14px; align-items: center; box-sizing: border-box; }
.dialog-initiate-new-team .list .item > p:first-child { grid-column: 1; grid-row: 1; }
.dialog-initiate-new-team .list .item > p.sub:not(.route-choice) { grid-column: 1; grid-row: 2; }
.dialog-initiate-new-team .list .item p > i { margin-left: 4px; color: #64748B; font-size: 10px; }
.dialog-initiate-new-team .list .item p.route-choice { grid-column: 2; grid-row: 1 / 3; margin: 0; opacity: 1; font-weight: 800; text-align: right; }
.dialog-initiate-new-team .list .item p.route-choice.extended { color: #047857; }
.dialog-initiate-new-team .list .item p.route-choice.standard { color: #475569; }
.dialog-initiate-new-team .list .item p.route-choice.awaiting { color: #B45309; }
.dialog .list .item:last-child { margin-bottom: 20px; }
.dialog .list .item:nth-child(2n) { margin-right: 10px; }
.dialog-initiate-new-team .list .item:last-child { margin-bottom: 8px; }
.dialog-initiate-new-team .list .item:nth-child(2n) { margin-right: 0; }
.dialog .list .item.selection { width: auto; padding: 11px 12px; margin-right: 10px!important; }
.dialog .list .item.selected { background: #10B981; }
.dialog .list .item.selected p { color: #fff; }
.dialog-check-in-a-team form[data-check-in-mode="onboarding"] .list { margin: 0 0 12px; }
.dialog-check-in-a-team .team-check-in-summary { margin: 2px 0 17px; padding: 0 0 13px; border-bottom: 1px solid #E2E8F0; }
.dialog-check-in-a-team .team-check-in-summary strong { display: block; color: #1E293B; font-size: 20px; line-height: 26px; }
.dialog-check-in-a-team .team-check-in-summary span { display: block; margin-top: 2px; color: #64748B; font-size: 13px; font-weight: 600; }
.dialog-check-in-a-team form[data-check-in-mode="onboarding"] .list > label.team-check-in-instruction { margin: 0 0 10px; color: #334155; }
.dialog-check-in-a-team form[data-check-in-mode="onboarding"] .list .item.selection { width: 100%; min-height: 48px; margin: 0 0 8px!important; padding: 12px 48px 12px 14px; display: flex; align-items: center; position: relative; box-sizing: border-box; border: 1px solid #E2E8F0; }
.dialog-check-in-a-team .team-check-in-person strong { display: block; color: #1E293B; font-size: 14px; line-height: 19px; }
.dialog-check-in-a-team .team-check-in-person small { margin: 2px 0 0; padding: 0; display: block; color: #64748B; background: none; font-size: 11px; font-weight: 600; line-height: 15px; }
.dialog-check-in-a-team form[data-check-in-mode="onboarding"] .list .item.selection::after { content: ""; width: 19px; height: 19px; position: absolute; top: 50%; right: 14px; box-sizing: border-box; border: 2px solid #94A3B8; border-radius: 50%; transform: translateY(-50%); }
.dialog-check-in-a-team form[data-check-in-mode="onboarding"] .list .item.selection.selected { border-color: #059669; }
.dialog-check-in-a-team form[data-check-in-mode="onboarding"] .list .item.selection.selected::after { background: #fff; border-color: #fff; box-shadow: inset 0 0 0 5px #10B981; }
.check-in-attendance-list.attendance-list-refreshed { animation: attendance-list-refresh 0.65s ease-out; }
@keyframes attendance-list-refresh { 0% { background: var(--brand-soft); } 100% { background: transparent; } }
.dialog-team-attendance { width: min(680px, calc(100vw - 40px)); }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list .team-check-in-summary, .dialog-team-attendance form[data-check-in-mode="onboarding"] .list .team-check-in-instruction { grid-column: 1 / -1; }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list .item.selection.person-card { width: 100%; min-height: 82px; margin: 0!important; padding: 9px 42px 9px 9px; gap: 12px; color: #334155; background: #fff; border: 1px solid #E2E8F0; border-left: 3px solid #E2E8F0; }
.dialog-team-attendance .team-check-in-photo { width: 60px; height: 62px; position: relative; flex: 0 0 60px; display: flex; align-items: center; justify-content: center; overflow: hidden; color: #94A3B8; background: #F1F5F9; }
.dialog-team-attendance .team-check-in-photo i { font-size: 26px; opacity: 0.55; }
.dialog-team-attendance .team-check-in-photo img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list .item.selection.person-card::after { right: 13px; border-color: #94A3B8; }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list .item.selection.person-card.selected { color: var(--brand); background: var(--brand-soft); border-color: var(--brand); }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list .item.selection.person-card.selected::after { background: var(--brand); border-color: var(--brand); box-shadow: inset 0 0 0 4px #fff; }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list .item.selection.person-card.selected .team-check-in-person strong { color: var(--brand-dark); }
.dialog-team-attendance form[data-check-in-mode="onboarding"] .list .item.selection.person-card.selected .team-check-in-person small { color: var(--brand); }
.dialog .hide { display: none; }
.dialog.message { display: none; background: #111; z-index: 200; }
.dialog.message h3, .dialog.message p { color: #fff; }
.dialog.message .button { margin-left: 0; }
.dialog.message .dialog-close { color: #fff; background: #1E293B; border-color: #475569; }
.dialog.message .dialog-close:hover { color: #fff; background: #334155; border-color: #64748B; }

/* Guided instructions */
.onboarding-tour[hidden] { display: none; }
.onboarding-tour { display: contents; }
.onboarding-tour-shade { position: fixed; z-index: 290; inset: 0; background: rgba(15, 23, 42, 0.72); pointer-events: auto; }
.onboarding-tour-card { width: min(520px, calc(100vw - 30px)); min-height: 190px; padding: 26px; position: fixed; z-index: 310; right: 24px; bottom: 24px; box-sizing: border-box; color: #334155; background: #fff; border-top: 3px solid var(--brand); box-shadow: 0 20px 55px rgba(15, 23, 42, 0.35); pointer-events: auto; }
.onboarding-tour-card .onboarding-tour-progress { margin: 0 40px 7px 0; color: var(--brand); font-size: 12px; font-weight: 800; }
.onboarding-tour-card h3 { margin: 0 40px 7px 0; color: #1E293B; font-size: 21px; line-height: 27px; }
.onboarding-tour-card .onboarding-tour-copy { margin: 0 0 22px; color: #475569; font-size: 14px; line-height: 21px; }
.onboarding-tour-close { width: 32px; height: 32px; position: absolute; top: 18px; right: 18px; display: flex; align-items: center; justify-content: center; color: #64748B; background: #F8FAFC; border: 1px solid #CBD5E1; cursor: pointer; }
.onboarding-tour-close:hover { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-border); }
.onboarding-tour-buttons { display: flex; justify-content: flex-end; gap: 9px; }
.onboarding-tour-buttons button { padding: 11px 16px; color: #fff; background: var(--brand); border: 0; font-family: inherit; font-weight: 800; cursor: pointer; }
.onboarding-tour-buttons button:hover { background: var(--brand-dark); }
.onboarding-tour-buttons .onboarding-tour-back { color: #475569; background: #F1F5F9; }
.onboarding-tour-buttons .onboarding-tour-back:hover { background: #E2E8F0; }
.onboarding-tour-buttons button:disabled { color: #94A3B8; background: #F8FAFC; cursor: default; }
.onboarding-tour-tab-preview[hidden] { display: none; }
.onboarding-tour-tab-preview { margin: -4px 0 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #E2E8F0; }
.onboarding-tour-tab-preview span { min-height: 42px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; box-sizing: border-box; color: #475569; background: #F8FAFC; border-right: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; font-size: 12px; font-weight: 700; }
.onboarding-tour-tab-preview span:nth-child(2n) { border-right: 0; }
.onboarding-tour-tab-preview span:nth-last-child(-n+2) { border-bottom: 0; }
.onboarding-tour-tab-preview i { width: 17px; color: var(--brand); text-align: center; font-size: 15px; }
.onboarding-tour-highlight { position: relative!important; z-index: 300!important; outline: 0!important; box-shadow: none!important; pointer-events: none!important; }
.open-dialog-check-in-a-team.onboarding-tour-highlight { outline: 2px solid #fff!important; outline-offset: 4px; }
.dialog-check-in-a-team.onboarding-tour-highlight, .dialog-track.onboarding-tour-highlight, .dialog-basecamp-checks.onboarding-tour-highlight { position: fixed!important; }
.dialog-check-in-a-team.onboarding-tour-context, .dialog-track.onboarding-tour-context, .dialog-basecamp-checks.onboarding-tour-context { z-index: 300; pointer-events: none; }
.dialog-check-in-a-team.onboarding-tour-context .onboarding-tour-highlight, .dialog-track.onboarding-tour-context .onboarding-tour-highlight, .dialog-basecamp-checks.onboarding-tour-context .onboarding-tour-highlight { z-index: auto!important; }
.onboarding-tour-active { overflow: hidden; }
.onboarding-tour-active .dialog-check-in-a-team .dialog-close, .onboarding-tour-active .dialog-track .dialog-close, .onboarding-tour-active .dialog-basecamp-checks .dialog-close { visibility: hidden; }
.control-navigation-tour .sidebar { z-index: 300; transform: translateX(0); }
.control-navigation-tour .sidebar h3, .control-navigation-tour .sidebar .item { opacity: 0.18; transition: opacity 0.15s ease; }
.control-navigation-tour .sidebar .onboarding-tour-highlight { opacity: 1; }
.control-navigation-tour:not(.control-navigation-tour-compact) .onboarding-tour-card { transition: top 0.18s ease; }
.control-navigation-tour:not(.control-navigation-tour-compact) .onboarding-tour-card::before { content: ""; width: 0; height: 0; position: absolute; top: var(--control-tour-pointer-top, 50%); left: -13px; border-top: 11px solid transparent; border-right: 13px solid var(--brand); border-bottom: 11px solid transparent; transform: translateY(-50%); }
.dialog-track .track-binary-options label.tour-choice-demo > span, .dialog-track .obs label.tour-choice-demo > span, .dialog-basecamp-checks .dialog-check-options label.tour-choice-demo > span { animation: tour-choice-demo 0.7s ease-out; }
@keyframes tour-choice-demo { 0% { transform: scale(1); } 35% { transform: scale(0.97); } 65% { box-shadow: 0 0 0 4px var(--brand-border); transform: scale(1.01); } 100% { box-shadow: none; transform: scale(1); } }

/* Log In */
.log_in { width: 100%; max-width: 480px; max-height: calc(100vh - 80px); overflow-y: auto; box-sizing: border-box; padding: 40px; background: #fff; border: 1px solid #CBD5E1; border-top: 3px solid var(--brand); box-shadow: 0 18px 45px rgba(15,23,42,0.12); text-align: left; }
.log_in img { width: 82px; margin: 0 0 20px 24px; float: right; }
.log_in h1 { color: #1E293B; font-weight: 750; font-size: 26px; line-height: 32px; margin: 0 0 14px 0; }
.log_in h1 span { font-weight: 900; }
.log_in .alert { line-height: 18px; margin: 0 0 30px 0; background: #ed3f23; padding: 10px; color: #fff; font-weight: 700; font-size: 12px; }
.log_in p { color: #475569; font-size: 15px; line-height: 23px; margin: 0 0 28px 0; }
.log_in p.auth-step { margin: 0 0 8px 0; color: var(--brand); font-size: 12px; font-weight: 800; line-height: 16px; }
.log_in p.bottom { margin-bottom: 0; font-size: 15px; margin: 25px 0 0 0; }
.log_in p.bottom a { color: var(--brand); font-weight: 700; }
.log_in p.bottom.second { margin-top: 5px; }
.log_in label { display: block; margin: 0 0 7px 0; width: 100%; color: #475569; font-size: 13px; font-weight: 700; text-align: left; }
.log_in label a { float: right; color: var(--brand); font-size: 13px; text-decoration: none; border-bottom: 1px solid var(--brand-border); }
.log_in label a:hover { color: var(--brand-dark); border-bottom-color: var(--brand); }
.log_in input, .log_in select { display: inline-block; margin: 0 0 18px 0; width: 100%; border: 1px solid #CBD5E1; background: #fff; padding: 12px; box-sizing: border-box; }
.log_in input:focus, .log_in select:focus { outline: 0; border-color: var(--brand); box-shadow: inset 3px 0 0 var(--brand-soft); }
.log_in input[readonly] { color: #64748B; background: #F1F5F9; }
.log_in input[name="code"], .log_in input[name="sms"] { font-size: 20px; font-weight: 700; letter-spacing: 0.25em; text-align: center; }
.log_in .auth-code-destination { margin: -8px 0 24px 0; padding: 14px 16px; display: flex; align-items: center; gap: 14px; background: var(--brand-soft); border: 1px solid var(--brand-border); border-left: 3px solid var(--brand); }
.log_in .auth-code-destination i { width: 24px; flex: 0 0 24px; color: var(--brand); font-size: 20px; text-align: center; }
.log_in .auth-code-destination strong, .log_in .auth-code-destination span { display: block; }
.log_in .auth-code-destination strong { margin-bottom: 2px; color: #1E293B; font-size: 14px; line-height: 19px; }
.log_in .auth-code-destination span { color: #475569; font-size: 13px; line-height: 18px; overflow-wrap: anywhere; }
.log_in .button { background: var(--brand); color: #fff; font-weight: 700; border: 0; padding: 15px 0; cursor: pointer; margin-bottom: 0; }
.log_in .button:hover { background: var(--brand-dark); }
.log_in .button:disabled { color: #94A3B8; background: #E2E8F0; }
.log_in .toast { margin: 0 0 24px 0; }

/* Participant portal */
.participant-button { width: fit-content; margin-top: 20px; padding: 13px 17px; display: inline-flex; align-items: center; gap: 9px; color: #fff; background: var(--brand); border: 0; text-decoration: none; font-weight: 750; cursor: pointer; }
.participant-button:hover { background: var(--brand-dark); }
.participant-options { margin-top: 20px; border-top: 1px solid #E2E8F0; }
.participant-options label { position: relative; cursor: pointer; }
.participant-options input { position: absolute; opacity: 0; pointer-events: none; }
.participant-options span { min-height: 70px; padding: 13px 14px 13px 44px; display: flex; flex-direction: column; justify-content: center; position: relative; border-right: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; border-left: 3px solid #E2E8F0; box-sizing: border-box; }
.participant-options span:before { content: ""; width: 14px; height: 14px; position: absolute; left: 15px; top: 50%; box-sizing: border-box; border: 1px solid #94A3B8; border-radius: 50%; transform: translateY(-50%); }
.participant-options strong { color: #1E293B; font-size: 15px; }
.participant-options small { margin-top: 3px; color: #64748B; font-size: 13px; line-height: 18px; }
.participant-options input:checked + span { color: var(--brand); background: var(--brand-soft); border-left-color: var(--brand); }
.participant-options input:checked + span:before { background: var(--brand); border-color: var(--brand); box-shadow: inset 0 0 0 3px #fff; }
.participant-options input:focus + span { outline: 2px solid var(--brand-border); outline-offset: 2px; }
.participant-privacy { padding: 0 8px; color: #64748B; font-size: 12px; line-height: 18px; text-align: center; }
.participant-privacy i { margin-right: 6px; }

/* Header Bar */
.local-environment-banner { height: 34px; padding: 0 18px; box-sizing: border-box; position: fixed; z-index: 30; top: 0; left: 0; width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; color: #7C2D12; background: #FED7AA; border-bottom: 1px solid #FDBA74; font-size: 13px; }
.local-environment-banner strong { font-weight: 900; }
.local-environment[class^="log-in"], .local-environment[class^="register"] { padding-top: 74px; }
.local-environment .header_bar { top: 34px; }
.local-environment .container { padding-top: 149px; }
.local-environment .sidebar { padding-top: 124px; }
.header_bar { height: 72px; background: #fff; border-bottom: 3px solid var(--brand); box-sizing: border-box; z-index: 20; position: fixed; top: 0; left: 0; width: 100%; display: flex; align-items: stretch; font-weight: 600; }
.header_bar .identity { display: flex; align-items: stretch; }
.header_bar .product { width: 225px; box-sizing: border-box; display: flex; align-items: center; margin: 0; padding: 0 22px; color: #0F172A; font-size: 17px; white-space: nowrap; }
.header_bar .product strong { margin-left: 5px; color: var(--brand); font-weight: 900; }
.header_bar .product strong.local { color: #DC2626; }
.header_bar .right { margin-left: auto; padding-right: 22px; display: flex; align-items: stretch; }
.header_bar .name { margin: 14px 0 14px 16px; padding: 0 14px; display: flex; align-items: center; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; font-size: 14px; }
.header_bar .right .links { height: 100%; display: flex; align-items: stretch; }
.header_bar .app-clock { min-width: 136px; margin: auto 12px auto 0; padding: 6px 11px; box-sizing: border-box; display: flex; align-items: center; gap: 8px; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; }
.header_bar .app-clock > i { color: var(--brand); font-size: 13px; }
.header_bar .app-clock > span { display: flex; flex-direction: column; }
.header_bar .app-clock small { color: #64748B; font-size: 8px; font-weight: 900; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
.header_bar .app-clock time { color: #1E293B; font-size: 11px; font-variant-numeric: tabular-nums; font-weight: 800; line-height: 1.35; white-space: nowrap; }
.header_bar .local-josh-access-switch { margin: auto 12px auto 0; display: flex; align-items: center; }
.header_bar .local-josh-access-switch label { display: flex; align-items: center; gap: 8px; color: #475569; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.header_bar .local-josh-access-switch input[type="checkbox"] { position: absolute; opacity: 0; pointer-events: none; }
.header_bar .local-josh-access-switch i { width: 34px; height: 19px; padding: 2px; box-sizing: border-box; position: relative; display: block; background: #CBD5E1; border-radius: 10px; transition: background-color 0.15s ease; }
.header_bar .local-josh-access-switch i::after { content: ""; width: 15px; height: 15px; position: absolute; top: 2px; left: 2px; background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(15,23,42,0.25); transition: transform 0.15s ease; }
.header_bar .local-josh-access-switch input:checked + i { background: #16A34A; }
.header_bar .local-josh-access-switch input:checked + i::after { transform: translateX(15px); }
.header_bar .local-josh-access-switch input:focus-visible + i { outline: 2px solid var(--brand); outline-offset: 2px; }
.header_bar a { box-sizing: border-box; padding: 0 18px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #475569; text-decoration: none; }
.header_bar a:hover { color: var(--brand); background: var(--brand-soft); }
.header_bar a.header-instructions { height: 40px; margin: auto 10px auto 0; padding: 0 13px; color: #475569; background: #fff; border: 1px solid #CBD5E1; font-size: 13px; font-weight: 700; }
.header_bar a.header-instructions:hover, .header_bar a.header-instructions.active { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-border); }
.header_bar a.header-instructions i { font-size: 14px; }
.header_bar a.log-out { height: 40px; margin: auto 0 auto 8px; padding: 0 16px; color: var(--brand); background: #fff; border: 1px solid var(--brand-border); font-size: 14px; font-weight: 700; }
.header_bar a.log-out:hover { color: var(--brand-dark); background: var(--brand-soft); }
.header_bar .header-role-switcher { margin: auto 0; position: relative; }
.header_bar .header-current-role { height: 40px; max-width: 180px; box-sizing: border-box; margin: auto 0; padding: 0 12px; display: flex; align-items: center; overflow: hidden; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.header_bar .role-dropdown-toggle { height: 40px; max-width: 180px; padding: 0 12px; display: flex; align-items: center; gap: 10px; color: #334155; background: #fff; border: 1px solid #CBD5E1; font-size: 14px; font-weight: 700; cursor: pointer; }
.header_bar .role-dropdown-toggle span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header_bar .role-dropdown-toggle i { color: #94A3B8; font-size: 10px; }
.header_bar .role-dropdown-toggle:hover, .header_bar .role-dropdown-toggle[aria-expanded="true"] { color: var(--brand); border-color: var(--brand-border); }
.header_bar .role-dropdown-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.header_bar .role-dropdown-menu { width: 250px; position: absolute; top: calc(100% + 14px); right: 0; padding: 18px; box-sizing: border-box; background: #fff; border: 1px solid #CBD5E1; border-top: 3px solid var(--brand); box-shadow: 0 12px 30px rgba(15,23,42,0.14); }
.header_bar .role-dropdown-menu h3 { margin: 0 0 12px 0; color: #0F172A; font-size: 15px; font-weight: 700; }
.header_bar .role-options { margin-bottom: 14px; border-top: 1px solid #E2E8F0; }
.header_bar .role-option { padding: 10px; display: flex; align-items: center; gap: 9px; color: #475569; border-right: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; border-left: 3px solid #E2E8F0; font-size: 13px; cursor: pointer; }
.header_bar .role-option input { position: absolute; opacity: 0; pointer-events: none; }
.header_bar .role-option-marker { width: 10px; height: 10px; box-sizing: border-box; border: 1px solid #94A3B8; }
.header_bar .role-option:hover { color: #0F172A; background: #F8FAFC; }
.header_bar .role-option.selected { color: var(--brand); background: var(--brand-soft); border-left-color: var(--brand); font-weight: 700; }
.header_bar .role-option.selected .role-option-marker { background: var(--brand); border-color: var(--brand); box-shadow: inset 0 0 0 2px #fff; }
.header_bar .role-dropdown-menu .change-role { width: 100%; padding: 11px 14px; color: #fff; background: var(--brand); border: 0; font-weight: 700; cursor: pointer; }
.header_bar .role-dropdown-menu .change-role:hover { background: var(--brand-dark); }
.header_bar .role-dropdown-menu .change-role:disabled { color: #94A3B8; background: #E2E8F0; cursor: default; }
.header_bar .right .links i { color: inherit; font-size: 12px; }
.header_bar .mobile-nav-toggle { display: none; }

/* Side Bar */
.mobile-nav-backdrop, .sidebar-mobile-header { display: none; }
.sidebar { height: 100vh; overflow-y: scroll; background: #fff; position: fixed; left: 0; top: 0; width: 225px; z-index: 5; border-right: 1px solid #E2E8F0; box-sizing: border-box; padding: 90px 10px 25px 10px; font-weight: 600; }
.sidebar h3 { padding: 0 12px; color: #64748B; margin: 28px 2px 10px 2px; display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; line-height: 1; }
.sidebar h3::after { content: ""; height: 1px; flex: 1; background: #D8D2EA; }
.sidebar h3:first-of-type { margin-top: 20px; }
.sidebar .item { color: #334155; text-decoration: none; padding: 9px 12px; margin: 2px 0; display: block; transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease; }
.sidebar .item i { display: none; font-size: 13px; float: left; line-height: 22px; min-width: 20px; color: #111; text-align: center; margin-right: 10px; }
.sidebar .item p { padding-top: 2px; font-size: 15px; }
.sidebar .item:not(.disabled):hover { color: #0F172A; background: #F1F5F9; }
.sidebar .item.active { color: var(--brand); background: var(--brand-soft); box-shadow: inset 3px 0 0 var(--brand); }
.sidebar .item.overview { color: var(--brand); background: #fff; border: 1px solid var(--brand-border); font-weight: 750; }
.sidebar .item.overview:not(.disabled):hover { color: var(--brand-dark); background: var(--brand-soft-hover); }
.sidebar .item.overview.active { color: #fff; background: var(--brand); border-color: var(--brand); box-shadow: none; }
.sidebar .item.disabled { pointer-events: none; opacity: 0.25; }
.sidebar .item.restricted { cursor: not-allowed; opacity: 0.45; }
.sidebar .item.sub { padding-left: 42px; font-weight: normal; padding-top: 8px; padding-bottom: 8px; }
.sidebar h3.imports-heading { color: #92400E; }
.sidebar .item.import-action { margin-top: 6px; color: #78350F; background: #FFFBEB; border: 1px dashed #F59E0B; font-weight: 750; }
.sidebar .item.import-action p { display: flex; align-items: center; gap: 8px; }
.sidebar .item.import-action p span { padding: 2px 5px; color: #fff; background: #B45309; font-size: 9px; font-weight: 850; letter-spacing: .06em; line-height: 13px; text-transform: uppercase; }
.sidebar .item.import-action:not(.disabled):hover { color: #78350F; background: #FEF3C7; border-color: #D97706; }

/* Container */
.container { padding: 115px 50px 50px 275px; }
.container h1 { font-size: 27px; font-weight: 750; line-height: 1.25; margin: 0 0 12px 0; width: 50%; }
.container h1::before { content: "Cheshire Hike 2026"; margin: 0 0 7px; display: block; color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.container .action { text-decoration: none; background: var(--brand); color: #fff; font-weight: 700; padding: 15px 20px; float: right; box-sizing: border-box; }
.container .action:hover { background: var(--brand-dark); }
.container .action.gap { margin-left: 10px; }
.container .action.blue { background: var(--brand); }
.container .action.blue:hover { background: var(--brand-dark); }
.container .local-team-reset-form { float: right; margin-left: 10px; }
.container .local-team-reset-form .action { float: none; border: 0; font: inherit; font-weight: 700; cursor: pointer; background: #64748B; }
.container .local-team-reset-form .action:hover { background: #475569; }
.container .local-team-reset-success { margin: 24px 0 0 0; }
.container .teams-page-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 24px 32px; }
.container .teams-page-heading-copy { min-width: min(100%, 420px); flex: 1 1 420px; }
.container .teams-page-heading h1 { width: 100%; }
.container .teams-page-actions { flex: 0 1 auto; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-end; gap: 10px; }
.container .teams-page-actions .action { margin: 0; float: none; white-space: nowrap; }
.container .teams-page-actions .local-team-reset-form { margin: 0; float: none; }
.container .intro { max-width: 760px; padding-left: 14px; color: #475569; border-left: 2px solid #D8D2EA; font-size: 15px; line-height: 1.55; }
.container .intro.cache-note { width: fit-content; max-width: 800px; box-sizing: border-box; font-size: 14px; color: #475569; background: var(--brand-soft); border-left: 3px solid var(--brand); padding: 18px 20px 18px 52px; margin: 24px 0 0 0; position: relative; }
.container .intro.cache-note i { font-size: 20px; position: absolute; left: 20px; top: 50%; transform: translateY(-50%); }
.container .intro.cache-note .link { color: inherit; }
.container .intro.cache-note form { display: inline; }
.container .intro.cache-note button.link { margin: 0; padding: 0; color: var(--brand); background: none; border: 0; border-bottom: 1px solid var(--brand-border); font: inherit; font-weight: 700; line-height: inherit; cursor: pointer; }
.container .intro.cache-note button.link:hover { color: var(--brand-dark); border-bottom-color: var(--brand); }

.container.instructions h1 { width: 100%; }
.container.instructions h3 { font-size: 22px; font-weight: 700; margin: 30px 0 5px 0; }
.container.instructions p { color: #64748B; color: #334155; margin: 0 0 20px 0; }
.container.instructions ul { list-style-type: square; padding: 0 0 0 20px; }
.container.instructions ul li { color: #334155; padding: 0 0 0 10px; margin: 0 0 10px 0;}

/* Search */
.container .search { margin-top: 24px; position: relative; width: 300px; display: inline-block; vertical-align: top; }
.container .search input { width: 100%; height: 50px; border: 1px solid #CBD5E1; background: #fff; padding: 0 15px 0 40px; box-sizing: border-box; }
.container .search input:focus { border-color: #94A3B8; box-shadow: none; }
.container .search i { position: absolute; top: 18px; left: 15px; color: #94A3B8; }

/* Filter */
.container .filter { margin: 24px 0 0 6px; position: relative; width: 300px; display: inline-block; vertical-align: top; }
.container .filter select { width: 100%; border: 1px solid #CBD5E1; background: #fff; padding: 0 15px; box-sizing: border-box; height: 50px; }
.container .filter select:focus { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }

/* Counter */
.container .counter { display: inline-block; margin-top: 24px; padding: 15px 0 0 24px; color: #64748B; font-size: 14px; vertical-align: top; }
.container .counter span { color: #0F172A; font-weight: 700; }

/* Refresh */
.container .import { float: right; margin-top: 45px; color: #aaa; text-decoration: underline; }

/* Tabs */
.container .tabs { margin: 28px 0 0 0; border-bottom: 1px solid #CBD5E1; float: left; width: 100%; }
.container .tabs a { padding: 14px 18px; float: left; border-bottom: 3px solid transparent; color: #64748B; text-decoration: none; }
.container .tabs a:hover { color: #0F172A; background: #F1F5F9; }
.container .tabs a.active { color: var(--brand); border-bottom-color: var(--brand); background: none; }
.container .tabs a.active.red { color: #EF4444; border-bottom-color: #EF4444; background: none; }
.container .tabs a.right { float: right; }
.container .tabs a span { margin: 3px 0 0 0; float: left; }
.container .tabs a i { font-size: 22px; float: left; margin: 2px 10px 0 0; }
.container .check-in-section-filters { width: 100%; margin: 20px 0 -4px; display: flex; flex-wrap: wrap; gap: 8px; float: left; }
.container .check-in-section-filters a { padding: 8px 12px; color: #475569; background: #F1F5F9; border: 1px solid #E2E8F0; text-decoration: none; font-size: 13px; font-weight: 700; }
.container .check-in-section-filters a:hover { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-border); }
.container .check-in-section-filters a.active { color: #fff; background: var(--brand); border-color: var(--brand); }
.container .missing-hiker-names { width: 100%; display: flex; flex-wrap: wrap; gap: 6px; }
.container .missing-hiker-names span { padding: 4px 7px; color: #334155; background: #F8FAFC; border: 1px solid #E2E8F0; font-size: 12px; line-height: 16px; }
.container .missing-status-column { gap: 6px; }
.container .row p.absence-approved-tag[hidden] { display: none; }
.container .absence-notified-column { flex: 0 0 145px; position: relative; justify-content: center; align-content: center; text-align: center; }
.container .absence-notified-column select { width: 100%; padding: 8px 28px 8px 9px; box-sizing: border-box; color: #334155; background-color: #fff; border: 1px solid #CBD5E1; font: inherit; font-size: 12px; font-weight: 700; }
.container .absence-notified-column select:focus { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.container .absence-notified-column select:disabled { opacity: .6; cursor: wait; }
.container .bka-decision-column { flex: 0 0 190px; position: relative; justify-content: center; align-content: center; text-align: center; }
.container .bka-decision-column select { width: 100%; padding: 8px 28px 8px 9px; box-sizing: border-box; color: #334155; background-color: #fff; border: 1px solid #CBD5E1; font: inherit; font-size: 12px; font-weight: 700; }
.container .bka-decision-column select:focus { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.container .bka-decision-column select:disabled { opacity: .6; cursor: wait; }
.container .bka-profile-link { color: inherit; text-decoration: none; }
.container .bka-profile-link:hover { background: var(--row-hover); }
.container .bka-communication-group strong, .container .bka-communication-group small { display: block; }
.container .bka-communication-group small { margin-top: 3px; color: #64748B; font-size: 11px; line-height: 15px; }
.container .bka-communication-email { min-width: 0; flex: 2.25; }
.container .bka-communication-email p { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Silent Disco */
.silent-disco-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.silent-disco-page-heading > div { min-width: 0; }
.silent-disco-page-heading h1 { width: auto; }
.silent-disco-page-heading .live-status { flex: 0 0 auto; }
.silent-disco-page .silent-disco-scanner { min-height: 0; margin: 28px 0 34px; justify-content: flex-start; }
.silent-disco-page .silent-disco-scanner .narrow_inner { width: min(680px, 100%); }
.silent-disco-manual-scan { padding: 15px 28px 18px; background: #F8FAFC; }
.silent-disco-manual-scan label { display: block; margin-bottom: 6px; color: #475569; font-size: 12px; font-weight: 800; }
.silent-disco-manual-scan > div { display: flex; }
.silent-disco-manual-scan input { min-width: 0; padding: 10px 12px; flex: 1; box-sizing: border-box; border: 1px solid #CBD5E1; font: inherit; }
.silent-disco-manual-scan button { padding: 10px 14px; color: #fff; background: var(--brand); border: 0; font-weight: 800; cursor: pointer; }
.silent-disco-section + .silent-disco-section { margin-top: 38px; }
.silent-disco-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.silent-disco-section-heading h2 { color: #1E293B; font-size: 20px; font-weight: 800; }
.silent-disco-section-heading p { margin-top: 4px; color: #64748B; font-size: 13px; }
.silent-disco-section-heading > strong { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; color: var(--brand); background: var(--brand-soft); border: 1px solid var(--brand-border); font-size: 18px; }
.silent-disco-history .row.normal .column p small { display: block; margin-top: 3px; color: #64748B; font-size: 10px; line-height: 13px; }
.silent-disco-dialog .silent-disco-person { margin: 0 0 18px; color: #475569; }
.silent-disco-dialog .silent-disco-allocation-fields label { display: block; margin-bottom: 7px; color: #334155; font-weight: 700; }
.silent-disco-dialog .silent-disco-allocation-fields input { width: 100%; padding: 13px 14px; box-sizing: border-box; border: 1px solid #CBD5E1; font: inherit; }
.silent-disco-return-details { margin: 0 0 6px; padding: 18px; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; border-left: 4px solid var(--brand); }
.silent-disco-return-details span, .silent-disco-return-details strong { display: block; }
.silent-disco-return-details span { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.silent-disco-return-details strong { margin-top: 3px; color: #1E293B; font-size: 25px; }

/* Tables */
.container .list { margin-top: 24px; display: flex; flex-direction: column; width: 100%; border-top: 3px solid var(--brand); }
.container .toast.missing-peak-empty { margin-top: 24px; }
.container .results-empty-state { width: 100%; margin-top: 24px; padding: 17px 18px; display: flex; align-items: center; gap: 12px; box-sizing: border-box; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; border-left: 4px solid var(--brand); font-size: 14px; line-height: 20px; }
.container .results-empty-state i { flex: 0 0 auto; color: var(--brand); font-size: 17px; }
.container .row { display: flex; color: inherit; text-decoration: none; }
.container .row:hover .column { background: var(--row-hover); }
.container .row.button { cursor: pointer; }
.container .row.button:hover .column { background: var(--row-hover); }
.container .control-profile-row:focus { outline: none; }
.container .row .column { flex: 1; display: flex; align-items: center; flex-wrap: wrap; padding: 14px 15px; box-sizing: border-box; border-left: 1px solid #E2E8F0; }
.container .row .column:last-child { border-right: 1px solid #E2E8F0; }
.container .row .column.large { flex: 1.5; }
.container .row .column.mini { flex: 0.5; }
.container .row .column.width-a { flex: 1; }
.container .row .column.width-b { flex: 1.5; }
.container .row .column.width-c { flex: 3; }
.container .row.top .column { color: #475569; background: #F8FAFC; border-bottom: 1px solid #CBD5E1; font-size: 14px; font-weight: 700; }
.container .row.top .column.sort { cursor: pointer; user-select: none; }
.container .row.top .column.sort::after { content: ""; width: 14px; height: 14px; flex: 0 0 14px; margin-left: auto; background-color: #94A3B8; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 2v12M2 5l3-3 3 3M11 14V2M8 11l3 3 3-3' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 2v12M2 5l3-3 3 3M11 14V2M8 11l3 3 3-3' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.container .row.top .column.sort:hover, .container .row.top .column.sort:focus { color: var(--brand); background: var(--brand-soft); }
.container .row.top .column.sort:focus { outline: none; box-shadow: inset 0 0 0 1px var(--brand-border); }
.container .row.top .column.sort[aria-sort="ascending"]::after { background-color: var(--brand); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 10l5-5 5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 10l5-5 5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.container .row.top .column.sort[aria-sort="descending"]::after { background-color: var(--brand); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.container .row.top .column.tags { text-indent: 0; }
.container .row .column.tags { gap: 6px; }
.container .row.normal { background: #fff; border-bottom: 1px solid #E2E8F0; font-weight: normal; }
.container .row.normal .column { padding: 14px 15px; }
.container .row p { float: left; padding: 8px 10px; margin: 5px 10px 5px 0; border: 1px solid transparent; }
.container .row .column > p:not(.tag) { float: none; padding: 0; margin: 0; border: 0; }
.container .row p.tag { float: left; display: inline-block; margin: 0; padding: 4px 7px; border: 1px solid #A7F3D0; color: #047857; background: #ECFDF5; font-size: 12px; font-weight: 700; line-height: 16px; }
.container .row p.tag.button { background: var(--brand); border-color: var(--brand); color: #fff; }
.container .row p.tag.grey { color: #475569; background: #F8FAFC; border-color: #CBD5E1; }
.container .row p.tag.red { color: #B91C1C; background: #FEF2F2; border-color: #FECACA; }
.container .row p.tag.orange { color: #9A3412; background: #FFF7ED; border-color: #FED7AA; }
.container .row p.tag.outline { border-color: #CBD5E1; color: #334155; background: #fff; font-weight: 600; }
.container .row p.tag.more { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-border); }
.container .row .row-action { padding: 1px 0 2px 0; display: inline-block; color: var(--brand); border-bottom: 1px solid var(--brand-border); font-size: 14px; font-weight: 700; line-height: 20px; text-decoration: none; }
.container .row .column.validation-column { justify-content: center; text-align: center; }
.container .row .validation-status { font-size: 18px; }
.container .row .validation-status.valid { color: #10B981; }
.container .row .validation-status.invalid { color: #EF4444; }
.container .row .validation-status.pending { color: #64748B; }
.container .row .validation-status.unavailable { color: #64748B; }
.container .row .volunteer-profile-completion { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.container .row .volunteer-profile-completion .validation-status { font-size: 16px; }
.container .row .column.route-choice-column { flex: 0 0 150px; justify-content: center; text-align: center; white-space: nowrap; }
.container .row .extended-route-indicator { color: #475569; font-size: 17px; }
.container .row .column.team-summary-column { flex: 0 0 190px; }
.container .row.normal .column.team-summary-column { flex-direction: column; align-items: flex-start; justify-content: center; }
.container .row .team-summary-number { font-weight: 750; }
.container .row .team-summary-column small { display: block; margin-top: 3px; color: #64748B; font-size: 12px; line-height: 16px; white-space: nowrap; }
.container .row .column.start-status-column { flex: 0 0 135px; justify-content: center; text-align: center; white-space: nowrap; }
.container .row .team-start-status { color: #64748B; font-size: 18px; }
.container .row .team-start-status i { color: #64748B; }
.container .row .team-start-status .start-arrived-icon { font-size: 18px; }
.container .row .team-eod-eta { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.container .row .team-eod-eta.after-dark, .container .row .team-eod-eta.ceremony-warning { color: var(--brand-dark); font-weight: 800; }
.container .row .team-eod-eta span { display: inline-flex; align-items: baseline; gap: 4px; }
.container .row .team-eod-eta small { color: #64748B; font-size: 9px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.container .row .team-eod-eta i { width: 23px; height: 23px; display: inline-flex; align-items: center; justify-content: center; color: var(--brand); background: var(--brand-soft); border: 1px solid var(--brand-border); border-radius: 50%; font-size: 10px; }
.container .row:hover .row-action { color: var(--brand-dark); border-bottom-color: var(--brand); }
.container .row p.tag.button:hover { background: var(--brand-dark); border-color: var(--brand-dark); }

/* Communications */
.container .team-reminder-notice { margin-top: 24px; }
.container .team-reminder-form { margin-top: 28px; }
.container .team-reminder-form > label { display: block; margin: 20px 0 7px; color: #334155; font-weight: 700; }
.container .team-reminder-form > input,
.container .team-reminder-form > textarea { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1px solid #CBD5E1; background: #fff; color: #0F172A; font: inherit; }
.container .team-reminder-form > textarea { resize: vertical; line-height: 1.5; }
.container .team-reminder-form > input:focus,
.container .team-reminder-form > textarea:focus { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.container .team-reminder-form > p { margin: 12px 0 20px; color: #475569; }
.container .team-reminder-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 34px; }
.container .team-reminder-actions .button,
.container .team-reminder-send { box-sizing: border-box; padding: 13px 17px; border: 0; background: var(--brand); color: #fff; font-weight: 700; line-height: 20px; text-decoration: none; cursor: pointer; }
.container .team-reminder-actions a.button { background: #E2E8F0; color: #334155; }
.container .team-reminder-send:disabled { opacity: 0.5; cursor: not-allowed; }
.container .row p.tag.orange.button:hover { background: #FFEDD5; }
.team-issue-list .team-issue-group p { display: flex; flex-direction: column; gap: 3px; }
.team-issue-list .team-issue-group strong { color: #0F172A; font-weight: 750; }
.team-issue-list .team-issue-group small { color: #64748B; font-size: 12px; overflow-wrap: anywhere; }
.team-issue-list .team-issue-group small a { color: inherit; text-decoration: none; }
.team-issue-list .team-issue-group small a:hover { color: var(--brand); text-decoration: underline; }
.team-issue-list .team-issue-members { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 7px; text-align: left; }
.team-issue-list .team-issue-members a { width: 100%; box-sizing: border-box; padding: 8px 10px; color: #0F172A; background: #F8FAFC; border-left: 3px solid #CBD5E1; text-align: left; text-decoration: none; }
.team-issue-list .team-issue-members a:hover { color: var(--brand); background: var(--brand-soft); border-left-color: var(--brand); }
.team-issue-list .team-issue-members a strong, .team-issue-list .team-issue-members a span { display: block; width: 100%; text-align: left; }
.team-issue-list .team-issue-members a strong { font-size: 14px; font-weight: 750; }
.team-issue-list .team-issue-members a span { margin-top: 2px; color: #64748B; font-size: 12px; }
.team-issue-list .team-issue-members a span.age-boundary-summary { margin-top: 5px; color: var(--brand); font-weight: 700; }
.team-issue-list .team-issue-actions { flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; }
.team-issue-list .team-issue-actions form { margin: 0; }
.team-issue-list .team-issue-awaiting { margin: 0 auto; color: #64748B; font-size: 11px; font-weight: 700; text-align: center; }
.team-issue-list .team-issue-category-form { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.team-issue-list .team-issue-category-button { padding: 3px 7px; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; border-radius: 4px; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.team-issue-list .team-issue-category-button:hover, .team-issue-list .team-issue-category-button.selected { color: #FFF; background: var(--brand); border-color: var(--brand); }
.team-issue-list .team-issue-category-button.clear { margin-top: 3px; color: #64748B; background: transparent; border-color: transparent; }
.team-issue-list .team-issue-category-button.clear:hover { color: #991B1B; background: #FEF2F2; border-color: #FECACA; }
.team-issue-list .team-issue-reviewed { opacity: 0.25; }
.team-issue-list .team-issue-reviewed:hover { opacity: 0.75; }
.dialog-initiate-new-team .team-category-override-note { margin: -4px 0 12px; padding: 8px 10px; color: #5B21B6; background: #F5F3FF; border-left: 3px solid #7C3AED; font-size: 12px; font-weight: 700; }

.report > h1 { width: 100%; }
.report > .intro { margin: 0; }
.report .columns { display: flex; gap: var(--panel-gap); align-items: flex-start; }
.report .column { flex: 1; margin: var(--section-gap) 0 0 0; width: 100%; background: #fff; box-sizing: border-box; border: 1px solid var(--panel-border); border-top: 3px solid var(--brand); font-weight: normal; }
.report .column .table { width: 100%; }
.report .column h3 { min-height: var(--panel-header-min-height); position: relative; margin: 0; padding: 18px var(--panel-padding); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; box-sizing: border-box; color: #1E293B; border-bottom: 1px solid var(--panel-divider); font-size: 21px; font-weight: 700; line-height: 27px; }
.report .column h3::before { content: attr(data-eyebrow); margin-bottom: 1px; display: block; color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.report .column .table.wide .line { grid-template-columns: repeat(12, 1fr); }
.report .column .table.wider .line { grid-template-columns: repeat(13, 1fr); }
.report .column .table.col-8 .line { grid-template-columns: repeat(8, 1fr); }
.report .column .table.col-9 .line { grid-template-columns: repeat(9, 1fr); }
.report .column .table.col-10 .line { grid-template-columns: repeat(10, 1fr); }
.report .column .table.col-11 .line { grid-template-columns: repeat(11, 1fr); }
.report .column .table.col-12 .line { grid-template-columns: repeat(12, 1fr); }
.report .column .table.col-13 .line { grid-template-columns: repeat(13, 1fr); }
.report .column .table.col-14 .line { grid-template-columns: repeat(14, 1fr); }
.report .column .table.col-15 .line { grid-template-columns: repeat(15, 1fr); }
.report .column .table.col-16 .line { grid-template-columns: repeat(16, 1fr); }
.report .column .table.col-17 .line { grid-template-columns: repeat(17, 1fr); }
.report .column .table.col-18 .line { grid-template-columns: repeat(18, 1fr); }
.report .column .table.col-19 .line { grid-template-columns: repeat(19, 1fr); }
.report .column .line { display: grid; grid-template-columns: repeat(3, 1fr); }
.report .column .line p { box-sizing: border-box; width: 100%; min-height: 42px; display: flex; align-items: center; border-right: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; padding: 11px 12px; font-size: 14px; }
.report .column .line p:last-child { border-right: 0; }
.report .column .line p a { color: inherit; position: relative; text-decoration: none; }
.report .column .line p a i { color: #111; position: absolute; font-size: 12px; right: -22px; top: 1px;  margin: 2px 0 0 0; }

.report .column .line.header p { color: #475569; font-size: 14px; font-weight: 700; background: #F8FAFC; padding-top: 12px; padding-bottom: 10px; }
.report .column .line.header p.sort { cursor: pointer; user-select: none; }
.report .column .line.header p.sort::after { content: ""; width: 14px; height: 14px; flex: 0 0 14px; margin-left: auto; background-color: #94A3B8; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 2v12M2 5l3-3 3 3M11 14V2M8 11l3 3 3-3' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 2v12M2 5l3-3 3 3M11 14V2M8 11l3 3 3-3' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.report .column .line.header p.sort:hover, .report .column .line.header p.sort:focus { color: var(--brand); background: var(--brand-soft); }
.report .column .line.header p.sort:focus { outline: none; box-shadow: inset 0 0 0 1px var(--brand-border); }
.report .column .line.header p.sort[aria-sort="ascending"]::after { background-color: var(--brand); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 10l5-5 5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 10l5-5 5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.report .column .line.header p.sort[aria-sort="descending"]::after { background-color: var(--brand); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.report .column .line:last-child p { border-bottom: 0; }
.report .column .line i { color: #10B981; margin-left: 5px; }
.report .column .line .start-arrived-icon { color: #64748B; margin-left: 5px; font-size: 18px; }
.start-departures-report .column .line .start-team-cell .start-arrived-icon { margin-left: auto; }
.report .column .table a.team-report-row, .report .column .table a.start-team-report-row { color: inherit; text-decoration: none; }
.report .column .table a.team-report-row:hover p, .report .column .table a.start-team-report-row:hover p { background: var(--row-hover); }
.report .intro .start-waiting-icon { color: #64748B; margin: 0 3px; font-size: 16px; vertical-align: -0.08em; }
.report .column .line .start-letter-separator { margin: 0 5px; color: #94A3B8; }
.report .column .line .start-letter { width: 22px; height: 22px; display: inline-flex; flex: 0 0 22px; align-items: center; justify-content: center; color: #fff; border-radius: 50%; font-size: 12px; font-weight: 400; line-height: 1; }
.report .column .line .start-letter.start-a { background: #2563EB; }
.report .column .line .start-letter.start-b { background: #D97706; }
.report .column .line .start-letter.start-c { background: #7C3AED; }
.report .column .line .start-letter.start-d { background: #0891B2; }
.report .column .line .start-letter.start-e { background: #DB2777; }
.report .column .line .start-letter.start-f { background: #4D7C0F; }
.report .column .line .progress-team-number { display: flex; align-items: center; gap: 7px; }
.report .column .line .start-letter.progress-completion-marker { width: 19px; height: 19px; flex-basis: 19px; color: #059669; background: transparent; border-radius: 0; }
.report .column .line .start-letter.progress-completion-marker i { margin: 0; color: inherit; font-size: 14px; }
.progress-status-key { margin: 18px 0 -8px; display: flex; flex-wrap: wrap; gap: 8px; }
.progress-mobile-message { display: none; }
.progress-status-key span { padding: 5px 8px; color: #475569; background: #F8FAFC; border: 1px solid #E2E8F0; border-radius: 999px; font-size: 11px; font-weight: 600; }
.progress-status-key span.missed { color: #C2410C; background: #FBE4DB; border-color: #FBE4DB; }
.progress-status-key span.off-route { color: #B91C1C; background: #FEF2F2; border-color: #FECACA; }
.progress-status-key span.extra-leg { color: #6D28D9; background: #F3E8FF; border-color: #DDD6FE; }
.report .column .line p.progress-team-cell { align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }
.report .column .line .progress-off-route-summary { max-width: 100%; color: #B91C1C; font-size: 10px; font-weight: 700; line-height: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report .column .line.header p.extra-leg { color: #6D28D9; background: #F5F3FF; flex-wrap: nowrap; }
.report .column .line.header p.extra-leg small { margin-left: 4px; color: #7C3AED; font-size: 9px; font-weight: 600; line-height: 12px; }
.report .column .line p.extra-leg:not(.not-used):not(.off-route):not(.missed) { background: #FAF5FF; }
.report .column .line p.not-used { background: #F1F5F9; color: #94A3B8; }
.report .column .line p.off-route { align-items: flex-start; flex-direction: column; justify-content: center; gap: 2px; background: #FEF2F2; color: #B91C1C; font-weight: 700; }
.report .column .line p.off-route span { font-size: 9px; line-height: 11px; }
.report .column .line p.missed { background: #fbe4db; color: #C2410C; }
.report .column .line .report-assumed-time { margin-left: 6px; color: #64748B; font-size: 10px; font-weight: 600; }
.progress-report .column { min-width: 0; }
.progress-report .progress-table-scroll { width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.progress-report .route-progress-table .line { grid-template-columns: 130px repeat(var(--progress-role-columns), minmax(110px, 1fr)) !important; }
.progress-report .route-progress-table .line > p:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 #E2E8F0; }
.progress-report .route-progress-table .line.header > p:first-child { z-index: 2; background: #F8FAFC; }
.progress-report .route-progress-table a.team-report-row:hover > p:first-child { background: var(--row-hover); }

.report .column .table.medium-small-large-large-small .line { grid-template-columns: 1fr 0.6fr 2fr 2fr 0.6fr; }
.report .column .table.medium-small-large-small .line { grid-template-columns: 1fr 0.6fr 2fr 0.6fr; }
.report .column .table.winner-district .line { grid-template-columns: 1fr 0.6fr 2fr 2fr 0.6fr; }
.report .column .table.winner-county .line { grid-template-columns: 1fr 0.6fr 2fr 2fr 1.2fr 0.6fr; }

.report .column.girlguiding h3 { color: #F050A0; }

.report.single-rows .columns { display: grid; grid-template-columns: repeat(1, 1fr); }
.report.single-rows .column { flex: none; margin-top: 0; }
.report.single-rows .column:first-child { margin-top: var(--section-gap); }
.report.single-rows .column .line { grid-template-columns: repeat(4, 1fr); }

.issues .column { min-height: calc(100vh - 300px); position: relative; padding: var(--panel-padding); }
.issues .column h3 { margin: calc(var(--panel-padding) * -1) calc(var(--panel-padding) * -1) 0; padding: 18px var(--panel-padding); }
.issues .column .loader { position: absolute; top: 21px; right: var(--panel-padding); z-index: 1; opacity: 0.25; }
.issues .card { display: block; text-decoration: none; color: #111; position: relative; z-index: 2; margin: 16px 0 0; width: 100%; background: #fff; box-sizing: border-box; border: 1px solid var(--panel-divider); padding: 18px; }
.issues .card h4 { font-size: 18px; font-weight: 700; margin: 0 0 5px 0; }
.issues .card small { float: right; color: #999; }
.issues .card .pen { float: right; color: #999; text-decoration: none; font-size: 14px; cursor: pointer; }
.issues .card .watching { float: right; color: #999; text-decoration: none; font-size: 14px; }
.issues .card .watching i { margin: 0 0 0 3px; }
.issues .card .watching span { display: none; color: #10B981; }
.issues .card .watching.selected { color: #10B981; }
.issues .card .watching.selected span { display: inline; }
.issues .card p { font-size: 16px; color: #64748B; }
.issues .card p.watched { font-size: 14px; margin-top: 7px; opacity: 0.7; }
.issues .card .tag { font-size: 12px; font-weight: 700; line-height: 16px; display: inline-block; padding: 4px 7px; margin: 0 0 10px 0; color: #475569; background: #F1F5F9; }
.issues .card.grade-1 { background: #ffe4e4; }
.issues .card.grade-1 .tag { color: #fff; background: #EF4444; }
.issues .card.grade-2 .tag { color: #EF4444; background: #ffe4e4; }
.issues .card.grade-3 .tag { color: #C2410C; background: #FFEDD5; }
/* Control dashboard */
.operational-dashboard { padding-bottom: 90px; }
.operational-dashboard h1 { width: auto; }
.dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.dashboard-heading > div { min-width: 0; }
.dashboard-heading .intro { margin-bottom: 0; }
.live-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.live-page-heading > div { min-width: 0; }
.live-page-heading h1 { width: auto; }
.live-page-heading .intro { margin-bottom: 0; }
.live-page-heading > .live-status { margin-top: 3px; }
.live-status { min-width: 190px; margin: 0; padding: 11px 15px; flex: 0 0 auto; display: grid; grid-template-columns: 12px auto; align-items: center; column-gap: 10px; box-sizing: border-box; color: #047857; background: #ECFDF5; border: 1px solid #A7F3D0; border-left: 4px solid #10B981; box-shadow: 0 5px 14px rgba(15, 23, 42, .07); font-size: 13px; font-weight: 800; line-height: 1.25; white-space: nowrap; }
.live-status > span { display: block; }
.live-status > small { margin-top: 2px; grid-column: 2; display: block; color: #64748B; font-size: 10px; font-weight: 700; }
.live-status-dot { width: 10px; height: 10px; position: relative; display: block; background: #10B981; border-radius: 50%; }
.live-status-dot::after { content: ""; position: absolute; inset: -4px; border: 1px solid rgba(16, 185, 129, .55); border-radius: 50%; animation: live-status-pulse 1.8s ease-out infinite; }
.live-status.disconnected { color: #B45309; background: #FFF7ED; border-color: #FED7AA; border-left-color: #F59E0B; }
.live-status.disconnected .live-status-dot { background: #F59E0B; }
.live-status.disconnected .live-status-dot::after { border-color: rgba(245, 158, 11, .55); }
@keyframes live-status-pulse { 0% { opacity: 1; transform: scale(.55); } 75%, 100% { opacity: 0; transform: scale(1.45); } }
.live-heading-actions { display: flex; align-items: flex-start; gap: 12px; flex: 0 0 auto; }
.live-heading-actions .live-status, .container .live-heading-actions .action { margin-top: 3px; flex: 0 0 auto; float: none; }
.dashboard-eyebrow { margin: 0 0 7px; color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.dashboard-refresh { margin: 3px 0 0; flex: 0 0 auto; white-space: nowrap; }
.dashboard-refresh.disconnected { color: #B45309; }
.dashboard-refresh.disconnected i { color: #B45309; }
.dashboard-critical-alert { margin-top: var(--section-gap); overflow: hidden; color: #fff; background: #991B1B; border: 3px solid #7F1D1D; box-shadow: 0 14px 30px rgba(127, 29, 29, .28); }
.dashboard-critical-alert > header { min-height: 104px; padding: 20px 24px; display: flex; align-items: center; gap: 18px; box-sizing: border-box; background: #B91C1C; }
.dashboard-critical-alert-icon { width: 58px; height: 58px; display: flex; flex: 0 0 58px; align-items: center; justify-content: center; color: #991B1B; background: #fff; border-radius: 50%; box-shadow: 0 0 0 7px rgba(255, 255, 255, .16); font-size: 27px; }
.dashboard-critical-alert header span:last-child { min-width: 0; }
.dashboard-critical-alert header small { display: block; color: #FECACA; font-size: 12px; font-weight: 900; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; }
.dashboard-critical-alert header strong { margin-top: 3px; display: block; color: #fff; font-size: 29px; font-weight: 900; letter-spacing: -.02em; line-height: 1.15; }
.dashboard-critical-alert-list { background: #fff; }
.dashboard-critical-alert-list a { min-height: 68px; padding: 13px 20px; display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; gap: 16px; box-sizing: border-box; color: #7F1D1D; border-bottom: 1px solid #FECACA; text-decoration: none; }
.dashboard-critical-alert-list a:last-child { border-bottom: 0; }
.dashboard-critical-alert-list a:hover { background: #FEF2F2; }
.dashboard-critical-alert-list a > b { font-size: 17px; font-weight: 900; }
.dashboard-critical-alert-list a > span { color: #991B1B; font-size: 14px; font-weight: 750; line-height: 1.4; }
.dashboard-critical-alert-list a > strong { white-space: nowrap; color: #B91C1C; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.dashboard-critical-alert-list a > strong i { margin-left: 5px; }
@keyframes dashboard-critical-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
.dashboard-critical-alert-icon { animation: dashboard-critical-pulse 1.25s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .dashboard-critical-alert-icon { animation: none; } }
.dashboard-stat-groups { margin-top: var(--section-gap); display: flex; flex-direction: column; gap: var(--section-gap); }
.dashboard-stat-group-heading { margin-bottom: 14px; padding-left: 12px; border-left: 3px solid var(--brand); }
.dashboard-stat-group-heading h2 { margin: 0; color: #1E293B; font-size: 20px; font-weight: 800; line-height: 25px; }
.dashboard-stat-group-heading p { margin: 2px 0 0; color: #64748B; font-size: 12px; line-height: 18px; }
.dashboard-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--panel-gap); }
.dashboard-stat { min-height: 160px; padding: 20px; position: relative; display: flex; flex-direction: column; box-sizing: border-box; color: #334155; background: #fff; border: 1px solid var(--panel-border); border-top: 3px solid var(--panel-border); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.dashboard-stat:hover { border-color: var(--brand-border); box-shadow: 0 10px 24px rgba(15, 23, 42, .08); transform: translateY(-2px); }
.dashboard-stat.live { border-top-color: #10B981; }
.dashboard-stat.attention { border-top-color: #F59E0B; }
.dashboard-stat.urgent { border-top-color: #EF4444; }
.dashboard-stat-icon { width: 34px; height: 34px; position: absolute; top: 18px; right: 18px; display: flex; align-items: center; justify-content: center; color: var(--brand); background: var(--brand-soft); border-radius: 50%; font-size: 14px; }
.dashboard-stat.attention .dashboard-stat-icon { color: #B45309; background: #FFF7ED; }
.dashboard-stat.urgent .dashboard-stat-icon { color: #B91C1C; background: #FEE2E2; }
.dashboard-stat strong { margin: 7px 44px 0 0; color: #0F172A; font-size: 34px; font-weight: 800; line-height: 1; }
.dashboard-stat strong em { margin-left: 2px; color: #94A3B8; font-size: 17px; font-style: normal; font-weight: 700; }
.dashboard-stat > span:not(.dashboard-stat-icon) { margin-top: 8px; color: #334155; font-size: 14px; font-weight: 800; }
.dashboard-stat small { margin-top: auto; padding-top: 14px; color: #64748B; font-size: 13px; line-height: 1.4; }
.dashboard-issues-summary { min-height: 104px; margin-top: var(--section-gap); padding: 20px var(--panel-padding); display: grid; grid-template-columns: 46px minmax(0, 1fr) auto 18px; align-items: center; gap: 16px; box-sizing: border-box; color: inherit; background: #fff; border: 1px solid var(--panel-border); border-left: 4px solid #10B981; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.dashboard-issues-summary:hover { border-color: var(--brand-border); box-shadow: 0 8px 20px rgba(15, 23, 42, .07); }
.dashboard-issues-summary.restricted { cursor: default; }
.dashboard-issues-summary.restricted:hover { border-color: var(--panel-border); box-shadow: none; }
.dashboard-issues-summary.urgent { background: #FFF8F7; border-left-color: #EF4444; }
.dashboard-issues-icon { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; color: #047857; background: #D1FAE5; font-size: 18px; }
.dashboard-issues-summary.urgent .dashboard-issues-icon { color: #B91C1C; background: #FEE2E2; }
.dashboard-issues-copy { min-width: 0; display: block; }
.dashboard-issues-copy .dashboard-eyebrow { display: block; margin-bottom: 3px; }
.dashboard-issues-copy > strong { display: block; color: #1E293B; font-size: 17px; font-weight: 800; }
.dashboard-issues-copy > small { display: block; margin-top: 4px; color: #64748B; font-size: 11px; }
.dashboard-issues-total { color: #047857; font-size: 30px; font-weight: 800; }
.dashboard-issues-summary.urgent .dashboard-issues-total { color: #B91C1C; }
.dashboard-issues-arrow { color: var(--brand); font-size: 14px; }
.dashboard-main-grid, .dashboard-secondary-grid { margin-top: var(--panel-gap); display: grid; gap: var(--panel-gap); }
.dashboard-main-grid { grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); }
.dashboard-secondary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-panel { min-width: 0; padding: 0; overflow: hidden; box-sizing: border-box; background: #fff; border: 1px solid var(--panel-border); border-top: 3px solid var(--brand); }
.dashboard-panel-heading { min-height: var(--panel-header-min-height); padding: 18px var(--panel-padding); display: flex; align-items: center; justify-content: space-between; gap: var(--panel-gap); box-sizing: border-box; border-bottom: 1px solid var(--panel-divider); }
.dashboard-panel-heading > div, .route-board-header > div { display: flex; flex-direction: column; justify-content: center; gap: 1px; }
.dashboard-panel-heading .dashboard-eyebrow { margin: 0; }
.dashboard-panel-heading h2 { margin: 0; color: #1E293B; font-size: 21px; font-weight: 700; line-height: 27px; }
.dashboard-panel-heading > a { margin-top: 0; flex: 0 0 auto; color: var(--brand); border-bottom: 1px solid var(--brand-border); font-size: 12px; font-weight: 800; text-decoration: none; }
.dashboard-panel-heading > a:hover { color: var(--brand-dark); border-color: var(--brand); }
.dashboard-panel-heading > a i { margin-left: 4px; }
.dashboard-chart-legend { padding: 18px var(--panel-padding) 4px; display: flex; justify-content: flex-end; gap: 16px; color: #64748B; font-size: 11px; font-weight: 700; }
.dashboard-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.dashboard-chart-legend i { width: 8px; height: 8px; display: inline-block; background: #CBD5E1; border-radius: 2px; }
.dashboard-chart-legend .on-route i { background: #7C5CC4; }
.dashboard-chart-legend .complete i { background: #10B981; }
.dashboard-progress-chart { padding: 0 var(--panel-padding) 10px; }
.dashboard-progress-row { min-height: 64px; display: grid; grid-template-columns: 110px minmax(120px, 1fr) 98px; align-items: center; gap: 15px; color: inherit; border-bottom: 1px solid #F1F5F9; text-decoration: none; }
.dashboard-progress-row:last-child { border-bottom: 0; }
.dashboard-progress-row:hover { background: #FAFAFC; }
.dashboard-chart-label strong, .dashboard-location-list strong { display: block; color: #1E293B; font-size: 13px; }
.dashboard-chart-label small, .dashboard-location-list small { display: block; margin-top: 3px; color: #94A3B8; font-size: 10px; }
.dashboard-stacked-bar { height: 15px; display: flex; overflow: hidden; background: #F1F5F9; border-radius: 2px; }
.dashboard-stacked-bar i { min-width: 0; height: 100%; display: block; }
.dashboard-stacked-bar .awaiting { background: #CBD5E1; }
.dashboard-stacked-bar .on-route { background: #7C5CC4; }
.dashboard-stacked-bar .complete { background: #10B981; }
.dashboard-chart-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; color: #64748B; font-size: 11px; text-align: center; }
.dashboard-chart-values b { font-weight: 800; }
.dashboard-activity-list { padding: 0 0 10px; display: flex; flex-direction: column; }
.dashboard-activity-list > a { min-height: 59px; padding: 0 var(--panel-padding); display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 11px; box-sizing: border-box; color: inherit; border-bottom: 1px solid #F1F5F9; text-decoration: none; }
.dashboard-activity-list > a:last-child { border-bottom: 0; }
.dashboard-activity-list > a:hover { background: #FAFAFC; }
.dashboard-activity-panel { display: flex; flex-direction: column; }
.dashboard-activity-panel .dashboard-activity-list { flex: 1; }
.dashboard-team-number { width: 40px; padding: 5px 3px; box-sizing: border-box; color: var(--brand); background: var(--brand-soft); font-size: 11px; font-weight: 800; text-align: center; }
.dashboard-activity-list strong { display: block; overflow: hidden; color: #1E293B; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-activity-list small { display: block; margin-top: 3px; color: #94A3B8; font-size: 10px; }
.dashboard-activity-list time { color: #64748B; font-size: 11px; font-weight: 700; }
.dashboard-activity-list .dashboard-empty-state { min-height: 150px; padding: 24px; display: flex; flex: 1; align-items: center; justify-content: center; box-sizing: border-box; color: #64748B; background: transparent; text-align: center; }
.dashboard-activity-list .dashboard-empty-state strong, .dashboard-activity-list .dashboard-empty-state small { color: inherit; }
.dashboard-location-list { padding: 8px var(--panel-padding) 10px; }
.dashboard-location-item { min-height: 61px; display: grid; grid-template-columns: 120px minmax(100px, 1fr) 74px; align-items: center; gap: 14px; color: inherit; border-bottom: 1px solid #F1F5F9; }
.dashboard-location-item:last-child { border-bottom: 0; }
.dashboard-location-item > i { height: 9px; display: block; overflow: hidden; background: #EEF2F6; border-radius: 2px; }
.dashboard-location-item > i b { height: 100%; display: block; background: #10B981; }
.dashboard-location-list em { color: #475569; font-size: 11px; font-style: normal; font-weight: 800; text-align: right; }
.dashboard-location-list em { color: #B45309; }
.dashboard-location-list em.all-open { color: #047857; }
.dashboard-size-legend { padding: 15px var(--panel-padding) 3px; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px 13px; color: #64748B; font-size: 10px; font-weight: 700; }
.dashboard-size-legend span { display: inline-flex; align-items: center; gap: 5px; }
.dashboard-size-legend i { width: 8px; height: 8px; display: inline-block; border-radius: 2px; }
.dashboard-size-chart { padding: 0 var(--panel-padding) 10px; }
.dashboard-size-row { min-height: 61px; display: grid; grid-template-columns: 110px minmax(90px, 1fr) 100px; align-items: center; gap: 13px; color: inherit; border-bottom: 1px solid #F1F5F9; text-decoration: none; }
.dashboard-size-row:last-child { border-bottom: 0; }
.dashboard-size-row:hover { background: #FAFAFC; }
.dashboard-size-row > span:first-child strong { display: block; color: #1E293B; font-size: 13px; }
.dashboard-size-row > span:first-child small { display: block; margin-top: 3px; color: #94A3B8; font-size: 10px; }
.dashboard-size-bar { height: 15px; display: flex; overflow: hidden; background: #F1F5F9; border-radius: 2px; }
.dashboard-size-bar i { min-width: 0; height: 100%; display: block; }
.dashboard-size-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; color: #64748B; font-size: 11px; text-align: center; }
.dashboard-size-values b { font-weight: 800; }
.dashboard-size-legend .size-2 i, .dashboard-size-bar .size-2 { background: #38BDF8; }
.dashboard-size-legend .size-3 i, .dashboard-size-bar .size-3 { background: #7C5CC4; }
.dashboard-size-legend .size-4 i, .dashboard-size-bar .size-4 { background: #F59E0B; }
.dashboard-size-legend .size-5 i, .dashboard-size-bar .size-5 { background: #10B981; }
.dashboard-insights { margin-top: var(--section-gap); }
.dashboard-insights > .dashboard-stat-group-heading { margin-bottom: var(--panel-gap); }
.dashboard-insights-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--panel-gap); align-items: stretch; }
.dashboard-order-overdue { order: 1; }
.dashboard-order-pacing { order: 2; }
.dashboard-order-expected { order: 3; }
.dashboard-order-pressure { order: 4; }
.dashboard-insight-panel { display: flex; flex-direction: column; }
.dashboard-insight-panel.alert-panel { border-top-color: #EF4444; }
.dashboard-insight-key { min-height: 32px; padding: 8px var(--panel-padding) 0; display: grid; grid-template-columns: minmax(150px, 1fr) 148px; gap: 11px; box-sizing: border-box; color: #94A3B8; font-size: 9px; font-weight: 800; text-align: center; text-transform: uppercase; }
.dashboard-window-labels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.dashboard-window-labels b { font-weight: 800; }
.dashboard-insight-list { display: flex; flex: 1; flex-direction: column; }
.dashboard-insight-row { min-height: 58px; padding: 9px var(--panel-padding); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; box-sizing: border-box; color: inherit; border-bottom: 1px solid #F1F5F9; text-decoration: none; }
.dashboard-insight-row:last-child { border-bottom: 0; }
.dashboard-insight-row:hover { background: #FAFAFC; }
.dashboard-insight-row.alert { background: #FFF8F7; border-left: 3px solid #EF4444; }
.dashboard-insight-row.alert:hover { background: #FEF2F2; }
.dashboard-insight-row strong, .dashboard-insight-row small { display: block; }
.dashboard-insight-row strong { overflow: hidden; color: #1E293B; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-insight-row small { margin-top: 3px; color: #64748B; font-size: 10px; line-height: 1.35; }
.dashboard-insight-row > i { color: var(--brand); font-size: 11px; }
.dashboard-insight-list.arrivals .dashboard-insight-row { grid-template-columns: minmax(150px, 1fr) 148px; }
.dashboard-window-counts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; color: #475569; font-size: 12px; text-align: center; }
.dashboard-window-counts b { padding: 5px 3px; background: #F1F5F9; font-weight: 800; }
.dashboard-insight-list.pressure .dashboard-insight-row { grid-template-columns: minmax(0, 1fr) auto; }
.dashboard-pressure-total { min-width: 76px; color: var(--brand-dark); font-size: 20px; text-align: right; }
.dashboard-pressure-total small { display: inline; color: #64748B; font-size: 10px; }
.dashboard-insight-empty { width: 100%; min-height: 116px; padding: 24px; display: flex; flex: 1; align-items: center; justify-content: center; box-sizing: border-box; color: #64748B; background: transparent; font-size: 12px; text-align: center; }
.dashboard-forecast-list { padding: 10px var(--panel-padding) 13px; display: flex; flex: 1; flex-direction: column; }
.dashboard-forecast-row { min-height: 39px; display: grid; grid-template-columns: 90px minmax(80px, 1fr) 70px; align-items: center; gap: 13px; color: #64748B; border-bottom: 1px solid #F1F5F9; font-size: 11px; }
.dashboard-forecast-row:last-child { border-bottom: 0; }
.dashboard-forecast-row > i { height: 9px; display: block; overflow: hidden; background: #EEF2F6; border-radius: 2px; }
.dashboard-forecast-row > i b { height: 100%; display: block; background: #7C5CC4; }
.dashboard-forecast-row > strong { color: #475569; font-size: 11px; text-align: right; }
.dashboard-forecast-row.peak > i b { background: #F59E0B; }
.dashboard-forecast-row.peak > strong { color: #B45309; }
.dashboard-vehicle-groups { padding: 5px var(--panel-padding) 10px; }
.dashboard-vehicle-legend { min-height: 34px; display: flex; align-items: center; justify-content: flex-end; gap: 13px; color: #64748B; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.dashboard-vehicle-legend span { display: inline-flex; align-items: center; gap: 5px; }
.dashboard-vehicle-legend i { width: 8px; height: 8px; display: inline-block; border-radius: 50%; }
.dashboard-vehicle-legend .available i { background: #10B981; }
.dashboard-vehicle-legend .assigned i { background: #7C5CC4; }
.dashboard-vehicle-legend .inactive i { background: #CBD5E1; }
.dashboard-vehicle-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dashboard-vehicle-chart { min-height: 116px; padding: 14px 20px; display: flex; align-items: center; gap: 13px; box-sizing: border-box; color: inherit; background: #FAFAFC; border: 1px solid #EEF2F6; text-decoration: none; }
.dashboard-vehicle-chart:hover { border-color: var(--brand-border); background: #fff; }
.dashboard-vehicle-donut { width: 66px; height: 66px; position: relative; display: flex; flex: 0 0 66px; align-items: center; justify-content: center; background: conic-gradient(#10B981 0 var(--available-end), #7C5CC4 var(--available-end) var(--assigned-end), #CBD5E1 var(--assigned-end) 100%); border-radius: 50%; }
.dashboard-vehicle-donut::after { width: 40px; height: 40px; position: absolute; content: ''; background: #fff; border-radius: 50%; }
.dashboard-vehicle-donut > b { position: relative; z-index: 1; color: #1E293B; font-size: 15px; }
.dashboard-vehicle-chart-copy { min-width: 0; }
.dashboard-vehicle-chart-copy > strong { display: block; color: #1E293B; font-size: 13px; }
.dashboard-vehicle-chart-copy > small { margin-top: 5px; display: block; color: #64748B; font-size: 9px; line-height: 1.45; }
.dashboard-vehicle-chart-copy > small b { font-weight: 900; }
.dashboard-vehicle-chart-copy > small b.available { color: #047857; }
.dashboard-vehicle-chart-copy > small b.assigned { color: #6D28D9; }
.dashboard-vehicle-chart-copy > small b.inactive { color: #64748B; }
.dashboard-district-panel { grid-column: 1 / -1; display: flex; flex-direction: column; }
.dashboard-lower-grid .dashboard-secondary-forecast { order: 1; }
.dashboard-lower-grid .dashboard-size-panel { order: 2; }
.dashboard-lower-grid .dashboard-secondary-vehicles { order: 3; }
.dashboard-lower-grid .dashboard-locations-panel { order: 4; }
.dashboard-lower-grid .dashboard-district-panel { order: 5; }
.dashboard-district-list { padding: 5px var(--panel-padding) 10px; display: flex; flex: 1; flex-direction: column; }
.dashboard-district-row { min-height: 52px; display: grid; grid-template-columns: minmax(180px, 1fr) 105px 105px 135px; align-items: center; gap: 20px; border-bottom: 1px solid #F1F5F9; }
.dashboard-district-row:last-child { border-bottom: 0; }
.dashboard-district-row > strong { color: #1E293B; font-size: 13px; }
.dashboard-district-row > span { color: #64748B; font-size: 11px; }
.dashboard-district-row > span b { color: #1E293B; font-size: 16px; font-weight: 800; }
.dashboard-district-row > span small { margin-left: 4px; color: #94A3B8; font-size: 10px; }
.dashboard-district-head { min-height: 36px; color: #94A3B8; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.dashboard-district-head > span { color: inherit; font-size: inherit; }
.dashboard-district-head > span.sorted { color: var(--brand); }
.dashboard-district-head > span.sorted i { margin-left: 3px; font-size: 8px; }
.dashboard-district-empty { min-height: 116px; padding: 24px 0; display: flex; flex: 1; align-items: center; justify-content: center; box-sizing: border-box; color: #64748B; background: transparent; font-size: 12px; text-align: center; }
.activity-page { padding-bottom: 90px; }
.activity-heading { margin-bottom: var(--section-gap); display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.activity-heading h1 { width: auto; margin: 0; }
.activity-heading .intro { margin: 8px 0 0; }
.activity-refresh { margin: 3px 0 0; flex: 0 0 auto; white-space: nowrap; }
.container .activity-filters { width: auto; margin: -8px 0 var(--section-gap); float: none; }
.activity-feed-panel { border-top-color: var(--brand); }
.activity-feed-header, .activity-feed-row { display: grid; grid-template-columns: 110px minmax(220px, 1fr) 120px 86px 14px; align-items: center; gap: 18px; }
.activity-feed-header { min-height: 42px; padding: 0 var(--panel-padding); box-sizing: border-box; color: #64748B; background: #F8FAFC; border-bottom: 1px solid var(--panel-divider); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.activity-feed-row { min-height: 72px; padding: 10px var(--panel-padding); box-sizing: border-box; color: inherit; border-bottom: 1px solid var(--panel-divider); text-decoration: none; }
.activity-feed-row:last-child { border-bottom: 0; }
.activity-feed-row.is-filtered-out { display: none; }
.activity-feed-row:hover { background: var(--row-hover); }
.activity-feed-row > i { color: var(--brand); font-size: 12px; }
.activity-feed-row strong, .activity-feed-row small { display: block; }
.activity-team { display: flex; align-items: center; gap: 9px; }
.activity-team .dashboard-team-number { flex: 0 0 auto; }
.activity-type-badge { width: 40px; height: 31px; display: flex; flex: 0 0 40px; align-items: center; justify-content: center; box-sizing: border-box; color: var(--brand); background: var(--brand-soft); font-size: 13px; }
.activity-kind-location .activity-type-badge { color: #047857; background: #ECFDF5; }
.activity-kind-vehicle .activity-type-badge { color: #1D4ED8; background: #EFF6FF; }
.activity-kind-onboarding .activity-type-badge { color: #7C3AED; background: #F5F3FF; }
.activity-kind-silent_disco .activity-type-badge { color: #BE185D; background: #FDF2F8; }
.activity-team small, .activity-movement small, .activity-feed-row time small { margin-top: 3px; color: #94A3B8; font-size: 10px; }
.activity-team small { margin-top: 0; }
.activity-movement { min-width: 0; }
.activity-movement strong { overflow: hidden; color: #1E293B; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.activity-category { color: #475569; font-size: 11px; font-weight: 750; }
.activity-feed-row time { color: #1E293B; font-size: 12px; }
.activity-feed-row time strong { font-variant-numeric: tabular-nums; }
.activity-empty-state { min-height: 220px; padding: 32px; display: flex; align-items: center; justify-content: center; flex-direction: column; box-sizing: border-box; color: #64748B; text-align: center; }
.activity-empty-state i { margin-bottom: 14px; color: var(--brand); font-size: 24px; }
.activity-empty-state strong { color: #1E293B; font-size: 15px; }
.activity-empty-state span { margin-top: 5px; font-size: 12px; }
.activity-filter-empty { min-height: 180px; padding: 30px; align-items: center; justify-content: center; flex-direction: column; box-sizing: border-box; color: #64748B; text-align: center; }
.activity-filter-empty:not([hidden]) { display: flex; }
.activity-filter-empty i { margin-bottom: 12px; color: var(--brand); font-size: 21px; }
.activity-filter-empty strong { color: #1E293B; font-size: 14px; }
.activity-filter-empty span { margin-top: 4px; font-size: 11px; }
.activity-load-more { padding: 18px var(--panel-padding); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; background: #F8FAFC; border-top: 1px solid var(--panel-divider); }
.activity-load-earlier { padding: 10px 16px; color: var(--brand); background: #fff; border: 1px solid var(--brand-border); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.activity-load-earlier:hover { color: #fff; background: var(--brand); border-color: var(--brand); }
.activity-load-earlier:disabled { color: #94A3B8; background: #F1F5F9; border-color: #E2E8F0; cursor: wait; }
.activity-load-more small { color: #64748B; font-size: 10px; }
.issues-page .issue-heading-count { min-width: 24px; position: absolute; top: 50%; right: var(--panel-padding); padding: 3px 7px; float: none; color: #64748B; background: #F1F5F9; font-size: 11px; line-height: 16px; text-align: center; transform: translateY(-50%); }
.issues-page .empty-state { color: #64748B; font-size: 14px; }

/* Control log */
.control-log { padding-bottom: 90px; }
.control-log h1 { width: auto; margin: 0; }
.control-log h2 { margin: 0 0 18px; color: #1E293B; font-size: 19px; line-height: 25px; }
.log-topline { margin: 0 0 18px; display: flex; justify-content: space-between; gap: 16px; color: #64748B; font-size: 13px; font-weight: 700; }
.log-topline a { color: var(--brand); text-decoration: none; }
.log-topline a:hover { text-decoration: underline; }
.log-heading { margin: 0 0 var(--section-gap); display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.log-heading .intro { margin: 8px 0 0; }
.log-heading-actions { display: flex; align-items: flex-start; gap: 12px; }
.log-heading-actions .action { margin: 3px 0 0; flex: 0 0 auto; float: none; }
.log-refresh { min-width: 178px; }
.container .log-heading .action { float: none; white-space: nowrap; }
.log-detail-heading { margin-bottom: 16px; }
.log-level-banner { margin: 0 0 var(--section-gap); padding: 14px 18px; display: flex; align-items: center; gap: 16px; box-sizing: border-box; color: var(--level-text); background: var(--level-soft); border: 1px solid var(--level-border); border-left: 5px solid var(--level-accent); }
.log-level-banner-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.log-level-banner-copy span { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.log-level-banner-copy strong { font-size: 19px; line-height: 1.2; }
.log-level-banner .log-status { margin-left: auto; border: 1px solid var(--level-border); }
.log-form-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 11px 18px; box-sizing: border-box; color: #fff; background: var(--brand); border: 1px solid var(--brand); font: inherit; font-size: 13px; font-weight: 800; text-decoration: none; cursor: pointer; }
.log-form-actions button:hover { background: var(--brand-dark); }
.log-summary { margin-bottom: var(--section-gap); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--panel-gap); }
.log-summary-card { min-height: 95px; padding: 17px 20px; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; color: inherit; background: #fff; border: 1px solid var(--panel-border); text-decoration: none; }
.log-summary-card strong { color: #1E293B; font-size: 27px; line-height: 1.1; }
.log-summary-card span { margin-top: 4px; color: #64748B; font-size: 12px; font-weight: 750; }
a.log-summary-card:hover { border-color: var(--brand-border); }
.log-tabs { margin-bottom: 0; display: flex; gap: 22px; border-bottom: 1px solid var(--panel-border); }
.log-tabs a { padding: 0 2px 13px; color: #64748B; border-bottom: 3px solid transparent; font-size: 13px; font-weight: 800; text-decoration: none; }
.log-tabs a.active { color: var(--brand); border-color: var(--brand); }
.log-level-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--panel-gap); }
.log-board-guidance { margin: 18px 0 30px; overflow: hidden; background: #fff; border: 1px solid #CBD5E1; box-shadow: 0 5px 14px rgba(15, 23, 42, .05); }
.log-board-guidance-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.log-board-guidance-content > div { min-height: 86px; padding: 15px 17px; display: flex; align-items: flex-start; gap: 13px; box-sizing: border-box; }
.log-board-guidance-content > div + div { border-left: 1px solid #E2E8F0; }
.log-board-guidance-content > div > i { width: 32px; height: 32px; display: flex; flex: 0 0 32px; align-items: center; justify-content: center; color: #475569; background: #F1F5F9; border-radius: 50%; font-size: 14px; }
.log-board-guidance span, .log-board-guidance strong, .log-board-guidance small { display: block; }
.log-board-guidance-content strong { color: #1E293B; font-size: 13px; font-weight: 850; }
.log-board-guidance-content small { margin-top: 4px; color: #475569; font-size: 11px; font-weight: 650; line-height: 1.5; }
.log-board-error { margin: 12px 0 0; padding: 11px 13px; color: #991B1B; background: #FEF2F2; border: 1px solid #FECACA; font-size: 12px; }
.log-board-error[hidden] { display: none; }
.log-level-lane { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--panel-gap); }
.log-lane-heading { grid-column: 1 / -1; min-height: 42px; padding: 9px 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; box-sizing: border-box; color: #475569; background: #FAF5FF; border: 1px solid #E9D5FF; border-left: 3px solid #7C3AED; }
.log-level-lane:last-child .log-lane-heading { background: #F0F9FF; border-color: #BAE6FD; border-left-color: #0284C7; }
.log-lane-heading strong { color: #4C1D95; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.log-level-lane:last-child .log-lane-heading strong { color: #075985; }
.log-lane-heading span { color: #64748B; font-size: 11px; }
.log-level-panel { min-width: 0; background: #fff; border: 1px solid var(--panel-border); border-top: 3px solid var(--level-accent); }
.log-level-panel.is-drop-target .log-level-header { border-bottom: 1px dashed #94A3B8; }
.log-level-panel.is-drop-target .log-list { background: #F8FAFC; }
.log-level-list .log-board-card { position: relative; border-bottom: 1px solid var(--panel-divider); }
.log-level-list .log-board-card:last-child { border-bottom: 0; }
.log-level-list .log-board-card .log-list-row { padding-right: 52px; border-bottom: 0; }
.log-level-list .log-board-card.has-upgrade .log-list-row { padding-right: 100px; }
.log-level-list .log-board-card.is-dragging { opacity: .45; }
.log-level-list .log-board-card.drop-before { box-shadow: inset 0 3px 0 var(--level-accent); }
.log-level-list .log-board-card.drop-after { box-shadow: inset 0 -3px 0 var(--level-accent); }
.log-drag-handle { width: 34px; height: 36px; padding: 6px 9px; position: absolute; z-index: 1; top: 10px; right: 9px; color: #64748B; background: #F1F5F9; border: 0; cursor: grab; -webkit-user-drag: element; }
.log-drag-handle:active { cursor: grabbing; }
.log-drag-handle:hover, .log-drag-handle:focus-visible { color: var(--level-text); background: var(--level-soft); }
.log-drag-handle:focus-visible { outline: 2px solid var(--level-accent); outline-offset: 1px; }
.log-drag-handle span { width: 16px; height: 24px; display: block; background-image: radial-gradient(circle, currentColor 1.5px, transparent 1.8px); background-size: 8px 8px; }
.log-upgrade-button { min-height: 31px; padding: 6px 9px; position: absolute; z-index: 1; top: 11px; right: 9px; color: #5B21B6; background: #F5F3FF; border: 1px solid #DDD6FE; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.log-upgrade-button:hover, .log-upgrade-button:focus-visible { color: #fff; background: #5B21B6; border-color: #5B21B6; }
.log-upgrade-button span { margin-right: 3px; font-size: 14px; line-height: 0; }
.log-move-dialog { width: min(440px, calc(100% - 32px)); padding: 24px; box-sizing: border-box; color: #1E293B; background: #fff; border: 1px solid var(--panel-border); box-shadow: 0 20px 60px #0F172A33; }
.log-move-dialog::backdrop { background: #0F172A88; }
.log-move-dialog h2 { margin: 0 0 9px; font-size: 20px; }
.log-move-dialog p { margin: 0 0 18px; color: #475569; font-size: 13px; line-height: 1.5; }
.log-move-dialog label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; }
.log-move-dialog select { width: 100%; min-height: 40px; margin-bottom: 17px; padding: 8px 10px; box-sizing: border-box; border: 1px solid #CBD5E1; background: #fff; font: inherit; font-size: 13px; }
.log-move-dialog textarea { width: 100%; padding: 10px 12px; box-sizing: border-box; border: 1px solid #CBD5E1; font: inherit; font-size: 13px; resize: vertical; }
.log-move-actions { margin-top: 18px; display: flex; justify-content: flex-end; gap: 9px; }
.log-move-actions button { padding: 9px 14px; color: #fff; background: var(--brand); border: 1px solid var(--brand); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.log-move-actions button[type="button"] { color: #475569; background: #fff; border-color: #CBD5E1; }
.log-level-panel.grade-1, .log-level-banner.grade-1 { --level-accent: #DC2626; --level-soft: #FEF2F2; --level-text: #991B1B; --level-border: #FECACA; }
.log-level-panel.grade-2, .log-level-banner.grade-2 { --level-accent: #EA580C; --level-soft: #FFF7ED; --level-text: #9A3412; --level-border: #FED7AA; }
.log-level-panel.grade-3, .log-level-banner.grade-3 { --level-accent: #D97706; --level-soft: #FFFBEB; --level-text: #92400E; --level-border: #FDE68A; }
.log-level-panel.grade-4, .log-level-banner.grade-4 { --level-accent: #64748B; --level-soft: #F8FAFC; --level-text: #334155; --level-border: #CBD5E1; }
.log-level-header { min-height: 60px; padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; box-sizing: border-box; background: var(--level-soft); border-bottom: 1px solid var(--panel-divider); }
.control-log .log-level-header h2 { margin: 0; color: var(--level-text); font-size: 17px; line-height: 1.3; }
.log-level-header strong { min-width: 28px; padding: 5px 7px; box-sizing: border-box; color: var(--level-text); background: #fff; font-size: 12px; line-height: 1.2; text-align: center; }
.log-level-panel .log-list { margin: 0; border: 0; }
.log-level-list .log-list-row { min-height: 0; padding: 14px; grid-template-columns: 4px minmax(0, 1fr); align-items: stretch; gap: 0 11px; }
.log-level-list .log-list-marker { height: auto; min-height: 90px; grid-row: auto; }
.log-level-list .log-list-title { font-size: 15px; }
.log-level-list .log-list-description { display: -webkit-box; max-height: 2.8em; overflow: hidden; font-size: 12px; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.log-level-list .log-list-badges, .log-level-list .log-list-row > i { display: none; }
.log-level-list .log-empty-panel { padding: 28px 15px; font-size: 12px; }
.log-level-panel .log-level-pagination { margin: 0; padding: 13px 14px; border-top: 1px solid var(--panel-divider); font-size: 11px; }
.log-list { margin-top: 14px; background: #fff; border: 1px solid var(--panel-border); }
.log-list-row { min-height: 115px; padding: 18px 20px; display: grid; grid-template-columns: 5px minmax(0, 1fr) auto 14px; align-items: center; gap: 17px; color: inherit; border-bottom: 1px solid var(--panel-divider); text-decoration: none; }
.log-list-row:last-child { border-bottom: 0; }
.log-list-row:hover { background: #FAFAFC; }
.log-list-marker { height: 100%; min-height: 75px; background: #94A3B8; }
.log-list-row.grade-1 .log-list-marker { background: #DC2626; }
.log-list-row.grade-2 .log-list-marker { background: #EA580C; }
.log-list-row.grade-3 .log-list-marker { background: #D97706; }
.log-list-row.grade-4 .log-list-marker { background: #64748B; }
.log-list-content { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.log-list-title { display: inline-flex; align-items: baseline; gap: 7px; color: #1E293B; font-size: 17px; font-weight: 800; }
.log-unread-dot { width: 8px; height: 8px; flex: 0 0 8px; align-self: center; background: #4F46E5; border-radius: 50%; box-shadow: 0 0 0 3px #EEF2FF; }
.log-list-subject { color: #334155; font-size: 13px; font-weight: 750; }
.log-list-description { overflow: hidden; color: #475569; font-size: 13px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.log-list-meta { margin-top: 6px; color: #64748B; font-size: 11px; font-weight: 650; }
.log-list-badges { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.log-list-row > i { color: #94A3B8; font-size: 12px; }
.log-level, .log-status { display: inline-block; width: fit-content; padding: 5px 9px; color: #475569; background: #F1F5F9; font-size: 11px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.log-level.grade-1 { color: #991B1B; background: #FEE2E2; }
.log-level.grade-2 { color: #9A3412; background: #FFEDD5; }
.log-level.grade-3 { color: #92400E; background: #FEF3C7; }
.log-level.grade-4 { color: #334155; background: #E2E8F0; }
.log-status.status-closed { color: #047857; background: #D1FAE5; }
.log-empty-panel { padding: 35px 20px; color: #64748B; font-size: 14px; }
.log-list-limit { margin-top: 12px; color: #64748B; font-size: 12px; }
.log-message { margin-bottom: 18px; padding: 12px 15px; font-size: 13px; font-weight: 750; }
.log-message.error { color: #991B1B; background: #FEF2F2; border-left: 3px solid #DC2626; }
.log-message.success { color: #065F46; background: #ECFDF5; border-left: 3px solid #059669; }
.log-panel { min-width: 0; padding: 24px; box-sizing: border-box; background: #fff; border: 1px solid var(--panel-border); }
.log-detail-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); align-items: start; gap: var(--panel-gap); }
.log-detail-main, .log-detail-side { min-width: 0; display: flex; flex-direction: column; gap: var(--panel-gap); }
.log-report p, .log-event p { margin: 0; overflow-wrap: anywhere; color: #334155; font-size: 14px; line-height: 1.65; }
.log-report small { margin-top: 20px; display: block; color: #64748B; font-size: 11px; }
.log-context dl { margin: 0; display: grid; grid-template-columns: 92px 1fr; gap: 12px 10px; font-size: 13px; }
.log-context dt { color: #64748B; font-weight: 750; }
.log-context dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #1E293B; font-weight: 750; }
.log-context a { color: var(--brand); }
.log-timeline { padding-bottom: 12px; }
.log-event { padding: 0 0 25px 19px; position: relative; border-left: 2px solid #E2E8F0; }
.log-event:last-child { padding-bottom: 8px; border-color: transparent; }
.log-event-dot { width: 11px; height: 11px; position: absolute; top: 4px; left: -7px; box-sizing: border-box; background: var(--brand); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px #C4B5FD; }
.log-event-meta { margin-bottom: 6px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; }
.log-event-meta strong { color: #1E293B; font-size: 13px; }
.log-event-meta time { color: #64748B; font-size: 11px; }
.log-empty { color: #64748B; font-size: 13px; }
.log-form { max-width: 900px; }
.log-update-form { max-width: none; }
.log-form p { margin: -8px 0 20px; color: #64748B; font-size: 13px; line-height: 1.5; }
.log-form-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.4fr); gap: 0 16px; }
.log-form-grid > label { min-width: 0; }
.log-form-grid > .log-assignment-field { grid-column: 1 / -1; }
.log-form label { margin: 0 0 18px; display: block; color: #334155; font-size: 12px; font-weight: 800; }
.log-form input:not([type="hidden"]), .log-form select, .log-form textarea { width: 100%; margin-top: 7px; padding: 11px 12px; display: block; box-sizing: border-box; color: #1E293B; background: #fff; border: 1px solid #CBD5E1; border-radius: 0; font: inherit; font-size: 14px; font-weight: 500; }
.log-form textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.log-form input:focus, .log-form select:focus, .log-form textarea:focus { outline: 2px solid var(--brand-border); outline-offset: 1px; }
.log-form select.log-grade-select { padding-left: 16px; color: var(--level-text); background-color: var(--level-background); border-color: var(--level-border); box-shadow: inset 4px 0 0 var(--level-accent); font-weight: 800; }
.log-form select.log-grade-select:focus { outline-color: var(--level-accent); }
.log-form select.log-grade-select option { color: #1E293B; background: #fff; }
.log-grade-select[data-grade="1"] { --level-text: #991B1B; --level-background: #FEF2F2; --level-border: #FCA5A5; --level-accent: #DC2626; }
.log-grade-select[data-grade="2"] { --level-text: #9A3412; --level-background: #FFF7ED; --level-border: #FDBA74; --level-accent: #EA580C; }
.log-grade-select[data-grade="3"] { --level-text: #92400E; --level-background: #FFFBEB; --level-border: #FCD34D; --level-accent: #D97706; }
.log-grade-select[data-grade="4"] { --level-text: #334155; --level-background: #F8FAFC; --level-border: #CBD5E1; --level-accent: #64748B; }
.log-subject-choice[hidden] { display: none; }
.log-subject-choice { min-width: 0; margin-bottom: 18px; }
.log-subject-choice > label { margin-bottom: 0; }
.log-subject-picker { position: relative; }
.log-search-results { max-height: 292px; position: absolute; z-index: 20; top: calc(100% + 3px); left: 0; right: 0; overflow-y: auto; background: #fff; border: 1px solid #CBD5E1; box-shadow: 0 12px 24px rgba(15,23,42,.16); }
.log-search-results[hidden] { display: none; }
.log-search-option { width: 100%; padding: 10px 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; color: #1E293B; background: #fff; border: 0; border-bottom: 1px solid #E2E8F0; font: inherit; text-align: left; cursor: pointer; }
.log-search-option:last-child { border-bottom: 0; }
.log-search-option:hover, .log-search-option[aria-selected="true"] { background: var(--brand-soft); }
.log-search-option strong { font-size: 13px; }
.log-search-option small { color: #64748B; font-size: 11px; }
.log-search-message { padding: 13px 12px; color: #64748B; font-size: 12px; }
.log-assignment-field { min-width: 0; margin: 0 0 18px; padding: 0; border: 0; }
.log-assignment-field legend { margin-bottom: 8px; padding: 0; color: #334155; font-size: 12px; font-weight: 800; }
.log-assignment-field legend span { color: #64748B; font-weight: 500; }
.log-inline-vehicles, .log-inline-assignments { min-height: 28px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.log-vehicle-tag, .log-assignment-tag { min-height: 27px; padding: 5px 8px; display: inline-flex; align-items: center; color: #4C1D95; background: #EDE9FE; border: 1px solid #C4B5FD; font: inherit; font-size: 11px; font-weight: 800; line-height: 1.2; }
.log-assignment-combobox { position: relative; }
.log-assignment-entry { min-height: 44px; padding: 5px 7px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; box-sizing: border-box; background: #fff; border: 1px solid #CBD5E1; cursor: text; }
.log-assignment-entry:focus-within { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-border); }
.log-assignment-chip { min-height: 27px; padding: 3px 4px 3px 8px; display: inline-flex; align-items: center; gap: 5px; color: #4C1D95; background: #EDE9FE; border: 1px solid #C4B5FD; font-size: 11px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.log-assignment-chip button { width: 19px; height: 19px; padding: 0; display: inline-flex; align-items: center; justify-content: center; color: #5B21B6; background: transparent; border: 0; font: inherit; font-size: 16px; line-height: 1; cursor: pointer; }
.log-assignment-chip button:hover { color: #fff; background: #5B21B6; }
.log-assignment-chip button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.log-form .log-assignment-entry input.log-assignment-input { width: auto; min-width: 125px; margin: 0; padding: 5px 3px; flex: 1 1 125px; border: 0; outline: 0; box-shadow: none; }
.log-form .log-assignment-entry input.log-assignment-input:focus { outline: 0; }
.log-assignment-suggestions { max-height: 242px; padding: 4px; position: absolute; z-index: 20; top: calc(100% + 3px); left: 0; right: 0; overflow-y: auto; background: #fff; border: 1px solid #CBD5E1; box-shadow: 0 12px 24px rgba(15,23,42,.16); }
.log-assignment-suggestions[hidden], .log-assignment-suggestion[hidden] { display: none; }
.log-assignment-suggestion { width: 100%; padding: 9px 10px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: #334155; background: #fff; border: 0; font: inherit; font-size: 12px; font-weight: 700; text-align: left; cursor: pointer; }
.log-assignment-suggestion small { flex: 0 0 auto; color: #64748B; font-size: 10px; font-weight: 650; }
.log-assignment-suggestion:hover, .log-assignment-suggestion[aria-selected="true"] { color: #4C1D95; background: var(--brand-soft); }
.log-form .log-assignment-no-matches { margin: 7px; color: #64748B; font-size: 12px; }
.log-list-assignments { margin-top: 4px; color: #4C1D95; font-size: 11px; font-weight: 750; }
.vehicles-roster { margin-top: 24px; }
.vehicles-roster h2 { margin: 0 0 16px; color: #1E293B; font-size: 18px; }
.vehicle-list .column.vehicle-callsign-column { flex: 0 0 160px; }
.vehicle-list .column.vehicle-response-column { flex: 2; }
.vehicle-list .column.vehicle-status-column { flex: 0 0 125px; }
.vehicle-edit-button, .vehicle-status-button { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
.status-management-note { max-width: 680px; margin: 16px 0 0; padding: 11px 14px; display: flex; align-items: flex-start; gap: 10px; box-sizing: border-box; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; font-size: 12px; line-height: 1.45; }
.locations-page .status-management-note + .search, .vehicles-page .status-management-note + .search { margin-top: 14px; }
.status-management-note i { margin-top: 2px; color: #64748B; }
.status-management-note span, .status-management-note strong { display: block; }
.status-management-note strong { margin-bottom: 2px; color: #334155; font-weight: 850; }
.vehicle-edit-button, .vehicle-edit-label { color: #1E293B; font-weight: 800; text-align: left; }
.vehicle-edit-button:hover, .vehicle-edit-button:focus-visible { color: var(--brand); text-decoration: underline; }
.response-issue-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.response-issue-tag { padding: 5px 8px; color: #9A3412; background: #FFF7ED; border: 1px solid #FED7AA; font-size: 11px; font-weight: 800; line-height: 1.2; text-decoration: none; }
.response-issue-tag.grade-1 { color: #991B1B; background: #FEF2F2; border-color: #FECACA; }
.response-issue-tag:hover, .response-issue-tag:focus-visible { text-decoration: underline; }
.response-empty { color: #64748B; font-size: 12px; }
.location-list .column.location-response-column { flex: 2; }
.location-list .column.mini { flex: 0 0 100px; }
.location-edit-button, .location-status-button { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
.location-edit-button, .location-edit-label { color: #1E293B; font-weight: 800; text-align: left; }
.location-edit-button:hover, .location-edit-button:focus-visible { color: var(--brand); text-decoration: underline; }
.location-status-tag { display: inline-block; padding: 5px 8px; color: #047857; background: #ECFDF5; border: 1px solid #A7F3D0; font-size: 12px; font-weight: 800; line-height: 16px; }
.location-status-tag.closed { color: #9A3412; background: #FFF7ED; border-color: #FED7AA; }
.location-status-button:hover .location-status-tag, .location-status-button:focus-visible .location-status-tag { text-decoration: underline; }
.vehicle-status-tag { display: inline-block; padding: 5px 8px; color: #047857; background: #ECFDF5; border: 1px solid #A7F3D0; font-size: 12px; font-weight: 800; line-height: 16px; }
.vehicle-status-tag.inactive { color: #475569; background: #F8FAFC; border-color: #CBD5E1; }
.vehicle-status-button:hover .vehicle-status-tag, .vehicle-status-button:focus-visible .vehicle-status-tag { text-decoration: underline; }
@media (max-width: 760px) {
	.location-list .row.top { display: none; }
	.location-list .row.normal { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
	.location-list .row.normal .column { min-width: 0; border-right: 0; }
	.location-list .row.normal .column:first-child { grid-column: 1; grid-row: 1; }
	.location-list .row.normal .column.large.hide { display: none; }
	.location-list .row.normal .column:nth-child(3) { grid-column: 1; grid-row: 2; padding-top: 0; border-top: 0; }
	.location-list .row.normal .column.location-response-column { grid-column: 1 / -1; grid-row: 3; border-top: 1px solid #F1F5F9; }
	.location-list .row.normal .column.mini { grid-column: 2; grid-row: 1 / 3; border-right: 1px solid #E2E8F0; }
	.vehicle-list .row.top { display: none; }
	.vehicle-list .row.normal { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
	.vehicle-list .row.normal .column { min-width: 0; border-right: 0; }
	.vehicle-list .row.normal .column:first-child { grid-column: 1; grid-row: 1; }
	.vehicle-list .row.normal .column.vehicle-callsign-column { grid-column: 1; grid-row: 2; padding-top: 0; border-top: 0; }
	.vehicle-list .row.normal .column.vehicle-callsign-column::before { margin-right: 5px; content: 'Callsign:'; color: #64748B; font-size: 11px; }
	.vehicle-list .row.normal .column.vehicle-response-column { grid-column: 1 / -1; grid-row: 3; border-top: 1px solid #F1F5F9; }
	.vehicle-list .row.normal .column.vehicle-status-column { grid-column: 2; grid-row: 1 / 3; border-right: 1px solid #E2E8F0; }
}
.log-form .log-form-hint { margin: -5px 0 15px; font-size: 11px; }
.log-form-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px 18px; }
.log-form-actions button[name="promote"] { background: #C2410C; border-color: #C2410C; }
.log-form-actions button[name="promote"]:hover { background: #9A3412; border-color: #9A3412; }
.log-form-actions a { color: #64748B; font-size: 13px; font-weight: 750; text-decoration: none; }
.visually-hidden { width: 1px; height: 1px; padding: 0; position: absolute; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.manual-entry-page { padding-bottom: 90px; }
.manual-entry-page h1 { width: auto; }
.manual-entry-form { max-width: 1180px; padding: 0; overflow: hidden; }
.manual-entry-setup { padding: 20px 22px; display: grid; grid-template-columns: 160px minmax(280px, 1fr) 180px; gap: 16px; background: #F8FAFC; border-bottom: 1px solid var(--panel-divider); }
.manual-entry-setup label { color: #334155; font-size: 12px; font-weight: 800; }
.manual-entry-setup select, .manual-entry-setup input { width: 100%; height: 44px; margin-top: 7px; padding: 9px 11px; box-sizing: border-box; color: #1E293B; background: #fff; border: 1px solid #CBD5E1; font: inherit; font-size: 13px; }
.manual-entry-setup select:focus, .manual-entry-setup input:focus, .manual-entry-table input:focus, .manual-entry-table select:focus { border-color: var(--brand); outline: 0; box-shadow: 0 0 0 2px var(--brand-border); }
.manual-entry-context { min-height: 48px; padding: 10px 22px; display: flex; align-items: baseline; gap: 10px; box-sizing: border-box; color: #475569; background: #fff; border-bottom: 1px solid var(--panel-divider); font-size: 12px; }
.manual-entry-context strong { color: #1E293B; font-size: 13px; }
.manual-entry-table-wrap { width: 100%; overflow-x: auto; }
.manual-entry-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.manual-entry-table th { padding: 10px 9px; color: #64748B; background: #F8FAFC; border-bottom: 1px solid #CBD5E1; font-size: 10px; font-weight: 850; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.manual-entry-table th:nth-child(1) { width: 19%; }
.manual-entry-table th:nth-child(2) { width: 13%; }
.manual-entry-table th:nth-child(3) { width: 29%; }
.manual-entry-table th:nth-child(4) { width: 10%; }
.manual-entry-table th:nth-child(5) { width: 21%; }
.manual-entry-table th:nth-child(6) { width: 42px; }
.manual-entry-table td { padding: 8px 9px; vertical-align: middle; border-bottom: 1px solid var(--panel-divider); }
.manual-entry-table tbody tr:last-child td { border-bottom: 0; }
.manual-entry-table tbody tr.has-error { background: #FFF7F7; }
.manual-entry-table input, .manual-entry-table select { width: 100%; height: 40px; padding: 7px 9px; box-sizing: border-box; color: #1E293B; background: #fff; border: 1px solid #CBD5E1; font: inherit; font-size: 13px; }
.manual-entry-table select:disabled { color: #94A3B8; background: #F8FAFC; }
.manual-team-field { position: relative; }
.manual-team-field > span { position: absolute; top: 50%; left: 10px; color: #64748B; font-size: 12px; font-weight: 750; transform: translateY(-50%); }
.manual-team-field input { padding-left: 47px; font-variant-numeric: tabular-nums; }
.manual-team-field small { display: none; }
.manual-row-status { display: block; color: #64748B; font-size: 11px; font-weight: 700; line-height: 1.3; }
.manual-row-status.valid { color: #047857; }
.manual-row-status.error { color: #B91C1C; }
.manual-entry-remove-row { width: 32px; height: 32px; padding: 0; display: inline-flex; align-items: center; justify-content: center; color: #94A3B8; background: transparent; border: 0; font-size: 14px; cursor: pointer; }
.manual-entry-remove-row:hover { color: #B91C1C; background: #FEF2F2; }
.manual-entry-add { padding: 13px 18px; border-top: 1px solid var(--panel-divider); }
.manual-entry-add-row { padding: 8px 10px; color: var(--brand); background: var(--brand-soft); border: 1px solid var(--brand-border); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.manual-entry-add-row i { margin-right: 6px; }
.manual-entry-actions { padding: 17px 22px; background: #F8FAFC; border-top: 1px solid var(--panel-divider); }
.manual-entry-actions .button { width: auto; min-height: 0; margin: 0; padding: 15px 18px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; color: #fff; background: #10B981; border: 0; font: inherit; font-size: 13px; font-weight: 700; line-height: 16px; text-decoration: none; cursor: pointer; }
.manual-entry-actions .button:hover { color: #fff; background: #1E9D73; }
.manual-entry-actions .button.cancel { color: #475569; background: #F1F5F9; }
.manual-entry-actions .button.cancel:hover { color: #475569; background: #F1F5F9; opacity: .75; }
.manual-entry-actions button:disabled { background: #CCC; opacity: 1; cursor: wait; }
.manual-entry-message { max-width: 1180px; margin: 0 0 16px; padding: 12px 15px; box-sizing: border-box; color: #065F46; background: #ECFDF5; border-left: 3px solid #059669; font-size: 13px; font-weight: 750; }
.manual-entry-message.error { color: #991B1B; background: #FEF2F2; border-left-color: #DC2626; }
.manual-entry-message[hidden] { display: none; }
.log-watch-bar { margin: -6px 0 var(--section-gap); padding: 13px 16px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; background: #fff; border: 1px solid var(--panel-border); }
.log-watch-bar form { margin: 0; }
.log-watch-button { min-height: 38px; padding: 8px 12px; display: inline-flex; align-items: center; gap: 8px; color: var(--brand); background: var(--brand-soft); border: 1px solid var(--brand-border); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.log-watch-button.active { color: #fff; background: var(--brand); border-color: var(--brand); }
.log-watch-button:hover { filter: brightness(.96); }
.log-watch-summary { min-width: 0; display: inline-flex; align-items: center; gap: 9px; color: #475569; font-size: 12px; font-weight: 700; line-height: 1.4; }
.log-watcher-avatars { display: inline-flex; align-items: center; flex: 0 0 auto; padding-left: 4px; }
.log-watcher-avatar { width: 27px; height: 27px; margin-left: -4px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 27px; color: #fff; background: #5B21B6; border: 2px solid #fff; border-radius: 50%; font-size: 9px; font-weight: 850; letter-spacing: -.02em; }
.log-watcher-avatar.color-0 { background: #6D28D9; }
.log-watcher-avatar.color-1 { background: #0F766E; }
.log-watcher-avatar.color-2 { background: #1D4ED8; }
.log-watcher-avatar.color-3 { background: #B91C1C; }
.log-watcher-avatar.color-4 { background: #047857; }
.log-watcher-avatar.color-5 { background: #A21CAF; }
.log-watcher-avatar.color-6 { background: #4338CA; }
.log-watcher-avatar.color-7 { background: #92400E; }
.log-watcher-avatar.color-8 { background: #0369A1; }
.log-watcher-avatar.color-9 { background: #7E22CE; }
.log-watcher-avatar.color-10 { background: #BE123C; }
.log-watcher-avatar.color-11 { background: #334155; }
.log-watch-empty { color: #64748B; font-size: 12px; }
.log-list-watchers { margin-top: 6px; }
.log-list-watchers.compact { gap: 0; }
@media (max-width: 1300px) { .log-level-lane { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .log-detail-grid { grid-template-columns: 1fr; } .log-detail-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } .log-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .log-form-grid > .log-subject-choice { grid-column: 1 / -1; } }
@media (max-width: 780px) { .log-level-grid, .log-board-guidance-content { grid-template-columns: 1fr; } .log-board-guidance-content > div + div { border-top: 1px solid #E2E8F0; border-left: 0; } }
@media (max-width: 650px) { .log-heading { align-items: flex-start; flex-direction: column; gap: 15px; } .log-heading-actions { width: 100%; flex-direction: column; } .log-refresh { width: 100%; } .log-summary { gap: 7px; } .log-summary-card { min-height: 78px; padding: 12px; } .log-summary-card strong { font-size: 23px; } .log-list-row { padding: 14px; grid-template-columns: 4px minmax(0, 1fr); gap: 9px 13px; } .log-list-marker { grid-row: 1 / 3; min-height: 88px; } .log-list-badges { grid-column: 2; flex-direction: row; align-items: flex-start; } .log-list-row > i { display: none; } .log-list-description { white-space: normal; } .log-detail-side { display: flex; } .log-form-grid { grid-template-columns: 1fr; } .log-panel { padding: 18px; } }
@media (max-width: 760px) {
	.manual-entry-form { padding: 0; }
	.manual-entry-setup { grid-template-columns: 1fr; }
	.manual-entry-context { align-items: flex-start; flex-direction: column; gap: 2px; }
	.manual-entry-table thead { display: none; }
	.manual-entry-table, .manual-entry-table tbody, .manual-entry-table tr, .manual-entry-table td { width: 100%; display: block; box-sizing: border-box; }
	.manual-entry-table tr { padding: 12px 42px 12px 12px; position: relative; border-bottom: 1px solid #CBD5E1; }
	.manual-entry-table td { padding: 5px 0; border: 0; }
	.manual-entry-table td[data-label]::before { margin-bottom: 4px; display: block; content: attr(data-label); color: #64748B; font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
	.manual-entry-table td:last-child { width: 32px; position: absolute; top: 11px; right: 8px; }
	.manual-entry-actions { justify-content: space-between; }
}
@media (max-width: 650px) { .log-level-list .log-board-card.has-upgrade .log-list-row { padding-right: 14px; padding-bottom: 50px; } .log-board-card.has-upgrade .log-upgrade-button { top: auto; bottom: 10px; } }

.route-overview { padding-bottom: 80px; }
.route-board { width: 100%; margin: var(--section-gap) 0 0; box-sizing: border-box; overflow: hidden; background: #fff; border: 1px solid var(--panel-border); border-top: 3px solid var(--brand); }
.route-board-header { min-height: var(--panel-header-min-height); padding: 18px var(--panel-padding); display: flex; align-items: center; justify-content: space-between; gap: var(--panel-gap); box-sizing: border-box; border-bottom: 1px solid var(--panel-divider); }
.route-board-header h2 { margin: 0; color: #1E293B; font-size: 21px; font-weight: 700; line-height: 27px; }
.route-board-day { display: block; color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.route-status-key { display: flex; align-items: center; gap: 15px; color: #64748B; font-size: 12px; font-weight: 700; }
.route-status-key span, .route-location-status { display: inline-flex; align-items: center; gap: 6px; }
.route-status-key i, .route-location-status i { width: 8px; height: 8px; display: inline-block; flex: 0 0 8px; border-radius: 50%; background: #94A3B8; }
.route-status-key .open i, .route-milestone.is-open .route-location-status i { background: #10B981; }
.route-status-key .closed i, .route-milestone.is-closed .route-location-status i { background: #EF4444; }
@keyframes route-open-status-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); } 50% { box-shadow: 0 0 0 4px rgba(16, 185, 129, .18); } }
.route-milestone.is-open .route-location-status i { animation: route-open-status-pulse 1.8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .route-milestone.is-open .route-location-status i { animation: none; } }
.route-path-list { padding: 6px 0 20px; }
.route-path { padding: 18px var(--panel-padding) 4px; }
.route-path.secondary { margin: 14px var(--panel-padding) 0; padding: 17px 18px 15px; background: #F8FAFC; border: 1px solid var(--panel-divider); }
.route-path-label { margin: 0 0 12px; color: #475569; font-size: 12px; font-weight: 800; }
.route-path.secondary .route-path-label { color: var(--brand); }
.route-flow { padding: 4px 2px 10px; display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #CBD5E1 transparent; }
.route-flow::-webkit-scrollbar { height: 7px; }
.route-flow::-webkit-scrollbar-thumb { background: #CBD5E1; }
.route-milestone { width: 126px; min-height: 72px; padding: 13px 14px 11px; display: flex; flex: 0 0 126px; flex-direction: column; justify-content: space-between; box-sizing: border-box; color: #334155; background: #fff; border: 1px solid #CBD5E1; border-top: 3px solid #94A3B8; }
.route-milestone.is-open { border-top-color: #10B981; }
.route-milestone.is-closed { border-top-color: #EF4444; background: #FFF7F7; }
.route-milestone strong { font-size: 16px; line-height: 21px; }
.route-milestone.has-icon strong { display: flex; align-items: center; gap: 5px; font-size: 14px; }
.route-milestone.has-icon strong i { width: 14px; flex: 0 0 14px; color: #64748B; font-size: 13px; text-align: center; }
.route-milestone-meta { margin-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 5px; }
.route-location-status { color: #64748B; font-size: 11px; font-weight: 700; }
.route-location-progress { color: #64748B; font-size: 10px; line-height: 13px; white-space: nowrap; }
.route-location-progress b { color: #334155; font-weight: 800; }
.route-leg { width: 142px; min-width: 142px; position: relative; display: flex; align-items: center; justify-content: center; }
.route-leg-line { height: 2px; position: absolute; left: 0; right: 0; top: 50%; background: #CBD5E1; transform: translateY(-50%); }
.route-leg-line::before, .route-leg-line::after { content: ""; width: 7px; height: 7px; position: absolute; top: 50%; box-sizing: border-box; border: 2px solid #94A3B8; border-radius: 50%; background: #fff; transform: translateY(-50%); }
.route-leg-line::before { left: -4px; }
.route-leg-line::after { right: -4px; }
.route-leg-detail { min-width: 92px; padding: 7px 10px; position: relative; z-index: 1; box-sizing: border-box; text-align: center; background: #fff; border: 1px solid #E2E8F0; }
.route-path.secondary .route-leg-detail { background: #F8FAFC; }
.route-leg-detail strong, .route-leg-detail span { display: block; white-space: nowrap; }
.route-leg-detail strong { color: #64748B; font-size: 11px; font-weight: 500; line-height: 15px; }
.route-leg-detail span { margin-top: 2px; color: #334155; font-size: 12px; font-weight: 800; line-height: 16px; }
.route-leg.has-teams .route-leg-detail { border-color: var(--brand-border); box-shadow: inset 0 -2px 0 var(--brand); }
.route-leg.has-teams .route-leg-detail span { color: var(--brand); font-weight: 800; }
.route-path-joins { margin: 2px 0 0; color: #64748B; font-size: 11px; font-weight: 600; }
.route-map-mobile-message { display: none; }
.route-map { width: 100%; min-width: 0; padding: 32px 28px 38px; display: flex; align-items: center; box-sizing: border-box; overflow-x: auto; }
.route-map .route-milestone { width: 112px; flex-basis: 112px; }
.route-map .route-milestone.role-81 { width: 120px; flex-basis: 120px; }
.route-map-opening { width: 390px; height: 230px; position: relative; flex: 0 0 390px; }
.route-map-opening svg { width: 100%; height: 100%; position: absolute; inset: 0; overflow: visible; }
.route-map-opening path { fill: none; stroke: #CBD5E1; stroke-width: 2; vector-effect: non-scaling-stroke; }
.route-map-start { position: absolute; left: 0; display: flex; flex-direction: column; align-items: center; }
.route-map-start .route-milestone { height: 72px; min-height: 72px; flex: 0 0 72px; }
.route-map-start.start-1 { top: 18px; }
.route-map-start.start-2 { bottom: 18px; }
.route-map-opening > .route-leg-detail { position: absolute; transform: translate(-50%, -50%); }
.route-map-opening > .route-leg-detail.branch-a { left: 50%; top: 32%; }
.route-map-opening > .route-leg-detail.branch-b { left: 50%; top: 68%; }
.route-leg-detail em { margin-bottom: 3px; display: block; color: #64748B; font-size: 10px; font-style: normal; font-weight: 700; white-space: nowrap; }
.route-map-join { position: absolute; top: 79px; right: 0; }
.route-map-opening-pathfinder-plus-saturday { width: 594px; flex-basis: 594px; }
.route-map-opening-pathfinder-plus-sunday { width: 604px; flex-basis: 604px; }
.route-map-branch-milestone, .route-map-origin { position: absolute; }
.route-map-opening-pathfinder-plus-saturday .route-map-branch-milestone.rc31 { left: 232px; top: 18px; }
.route-map-opening-pathfinder-plus-saturday > .route-leg-detail.leg-start-c { left: 172px; top: 54px; }
.route-map-opening-pathfinder-plus-saturday > .route-leg-detail.leg-rc31 { left: 413px; top: 84px; }
.route-map-opening-pathfinder-plus-saturday > .route-leg-detail.leg-start-d { left: 228px; top: 176px; }
.route-map-opening-pathfinder-plus-sunday .route-map-origin { left: 0; top: 79px; }
.route-map-opening-pathfinder-plus-sunday .route-map-branch-milestone.rc41 { left: 250px; top: 18px; }
.route-map-opening-pathfinder-plus-sunday .route-map-branch-milestone.rc42 { left: 250px; bottom: 18px; }
.route-map-opening-pathfinder-plus-sunday > .route-leg-detail.leg-rc41 { left: 185px; top: 69px; }
.route-map-opening-pathfinder-plus-sunday > .route-leg-detail.leg-rc42 { left: 185px; top: 161px; }
.route-map-opening-pathfinder-plus-sunday > .route-leg-detail.leg-rc41-merge { left: 427px; top: 84px; }
.route-map-opening-pathfinder-plus-sunday > .route-leg-detail.leg-rc42-merge { left: 427px; top: 146px; }
.route-map-shared-route { display: flex; flex: 0 0 auto; align-items: center; }
.route-map-horizontal-leg { width: 120px; min-width: 120px; height: 90px; position: relative; display: flex; align-items: center; justify-content: center; }
.route-map-horizontal-line { height: 2px; position: absolute; left: 0; right: 0; top: 50%; background: #CBD5E1; transform: translateY(-50%); }
.route-map-horizontal-leg .route-leg-detail { position: relative; z-index: 1; }
.route-map .route-leg-detail.has-teams { border-color: var(--brand-border); box-shadow: inset 0 -2px 0 var(--brand); }
.route-map .route-leg-detail.has-teams span { color: var(--brand); font-weight: 800; }
.route-map-choice { width: 520px; height: 400px; position: relative; flex: 0 0 520px; }
.route-map-choice svg { width: 100%; height: 100%; position: absolute; inset: 0; overflow: visible; }
.route-map-choice path { fill: none; stroke: #CBD5E1; stroke-width: 2; vector-effect: non-scaling-stroke; }
.route-map-choice path.optional { stroke: var(--brand); stroke-dasharray: 7 5; }
.route-map-choice > .route-leg-detail { position: absolute; transform: translate(-50%, -50%); }
.route-map-choice > .route-leg-detail.standard-leg { left: 204px; top: 200px; }
.route-map-choice > .route-leg-detail.optional-leg-out { left: 68px; top: 110px; border-color: var(--brand-border); }
.route-map-choice > .route-leg-detail.optional-leg-out em { color: var(--brand); }
.route-map-choice > .route-leg-detail.optional-leg-back { left: 328px; top: 110px; border-color: var(--brand-border); }
.route-map-choice .route-map-choice-node { position: absolute; left: 135px; top: 0; }
.route-map-choice .route-map-choice-join { position: absolute; left: 408px; top: 164px; }
.route-map-closure { width: 220px; padding: 10px 12px; position: absolute; left: 8px; bottom: 26px; z-index: 2; box-sizing: border-box; background: #F8FAFC; border: 1px solid #CBD5E1; border-left: 3px solid var(--brand); }
.route-map-closure span, .route-map-closure small { display: block; color: #64748B; font-size: 10px; font-weight: 700; line-height: 14px; }
.route-map-closure strong { margin: 2px 0; display: block; color: #334155; font-size: 18px; line-height: 22px; }
.route-map-split { width: 942px; height: 250px; position: relative; flex: 0 0 942px; }
.route-map-split svg { width: 100%; height: 100%; position: absolute; inset: 0; overflow: visible; }
.route-map-split path { fill: none; stroke: #CBD5E1; stroke-width: 2; vector-effect: non-scaling-stroke; }
.route-map-split > .route-leg-detail { position: absolute; transform: translate(-50%, -50%); }
.route-map-split .route-map-branch-milestone.cp63 { left: 130px; top: 10px; }
.route-map-split .route-map-branch-milestone.rc65 { left: 362px; top: 10px; }
.route-map-split .route-map-branch-milestone.rc67 { left: 594px; top: 10px; }
.route-map-split .route-map-branch-milestone.rc64 { left: 250px; top: 168px; }
.route-map-split .route-map-branch-milestone.cp66 { left: 550px; top: 168px; }
.route-map-split .route-map-split-join { position: absolute; left: 830px; top: 89px; }
.route-map-split > .route-leg-detail.leg-62-63 { left: 65px; top: 80px; }
.route-map-split > .route-leg-detail.leg-63-65 { left: 302px; top: 46px; }
.route-map-split > .route-leg-detail.leg-65-67 { left: 534px; top: 46px; }
.route-map-split > .route-leg-detail.leg-67-68 { left: 768px; top: 80px; }
.route-map-split > .route-leg-detail.leg-62-64 { left: 125px; top: 170px; }
.route-map-split > .route-leg-detail.leg-64-66 { left: 456px; top: 204px; }
.route-map-split > .route-leg-detail.leg-66-68 { left: 746px; top: 170px; }

.narrow { display: flex; justify-content: center; align-items: center; height: 100%; }
.narrow .narrow_inner { width: 600px; display: flex; flex-direction: column; gap: var(--panel-gap); }
.narrow .narrow_box { background: #fff; padding: var(--panel-padding); border: 1px solid var(--panel-border); box-sizing: border-box; }
.narrow .narrow_box.profile { border-top: 3px solid var(--brand); display: flow-root; }
.narrow .narrow_box .photo { width: 120px; height: 120px; overflow: hidden; border-radius: 200px; margin-right: 30px; display: inline-block; float: left; display: flex; align-items: center; justify-content: center; background: #F8FAFC; }
.narrow .narrow_box .photo i { font-size: 50px; opacity: 0.3; position: absolute; z-index: 5; }
.narrow .narrow_box .photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; position: relative; z-index: 10; }
.narrow .narrow_box h2 { font-size: 26px; font-weight: 750; margin: 13px 0 0 0; color: #1E293B; }
.narrow .narrow_box h2.standalone { margin-top: 0; margin-bottom: 15px; float: left; clear: left; position: relative; }
.narrow .narrow_box p { margin: 5px 0 0 0; }
.narrow .narrow_box p.clear { clear: left; }
.narrow .narrow_box p a { color: #64748B; }
.narrow .narrow_box .button { line-height: 18px; margin: 29px 0 0 0; float: right; color: var(--brand); font-weight: 700; }
.narrow .narrow_box.detail .action { float: right; line-height: 16px; margin: 0 0 0 10px; text-decoration: none; width: auto; background: #10B981; color: #fff; font-weight: 700; border: 0; padding: 15px 18px; cursor: pointer; }
.narrow .narrow_box.detail .action:hover { background: #1e9d73; }
.narrow .narrow_box.detail .action.grey { margin: 1px 0 0 16px; padding: 0 0 2px 0; color: var(--brand); background: none; border-bottom: 1px solid var(--brand-border); font-size: 14px; line-height: 20px; }
.narrow .narrow_box.detail .action.grey:hover { color: var(--brand-dark); background: none; border-bottom-color: var(--brand); }
.narrow .narrow_box.detail .action.disabled { background: #ccc; }
.narrow .narrow_box.detail .action.red { background: #EF4444; color: #fff; }
.narrow .narrow_box.detail .action.red:hover { background: #d24a4a; }
.narrow .narrow_box.detail .action.working { pointer-events: none; opacity: 0.3; }
.narrow .narrow_box.detail .note:last-child { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
.narrow .narrow_box.detail .note h5 { margin-bottom: 0; max-width: 430px; }
.narrow .narrow_box.detail .note { float: left; width: 100%; border-bottom: 1px solid #E2E8F0; padding: 0 0 20px 0; margin-bottom: 20px; }
.narrow .narrow_box.detail h3 { font-size: 17px; font-weight: 700; color: #1E293B; margin-bottom: 18px; float: left; clear: left; position: relative; }
.narrow .narrow_box.detail h3.margin { margin-bottom: 30px; }
.narrow .narrow_box.detail h6 { color: #64748B; font-size: 13px; font-weight: 600; line-height: 20px; float: left; clear: left; }
.narrow .narrow_box.detail p { color: #64748B; font-size: 15px; line-height: 22px; float: left; clear: left; max-width: 60%; }
.narrow .narrow_box.detail h5 { color: #334155; margin-bottom: 15px; float: left; clear: left; position: relative; }
.narrow .narrow_box.detail h5.no_margin { margin-bottom: 0; }
.narrow .narrow_box.detail h5.block { background: #F8FAFC; height: 20px; width: 200px; position: relative; overflow: hidden; }
.narrow .narrow_box.detail h5.block:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, #f1f1f1, transparent); transform: translateX(-100%); animation: shimmer 1.2s infinite; }
.narrow .narrow_box.detail h5 i { font-size: 18px; position: absolute; right: -27px; top: 2px; }
.narrow .narrow_box.detail h5.issue { font-weight: 600; color: #EF4444; }
.narrow .narrow_box.detail h5.issue i { color: #EF4444; }
.narrow .narrow_box.detail h5.valid-check { font-weight: 600; }
.narrow .narrow_box.detail h5.valid-check i { margin-left: 3px; color: #10B981; }
.narrow .narrow_box.detail h5 .bonus-status { white-space: nowrap; }
.narrow .narrow_box.detail h5 .bonus-status i { margin: 0 5px 0 2px; position: static; right: auto; color: inherit; font-size: 12px; }
.narrow .narrow_box.detail h5 .bonus-status.awarded { color: #047857; }
.narrow .narrow_box.detail h5 .bonus-status.not-awarded { color: #B91C1C; }
.narrow .narrow_box.detail h5 .bonus-status.awaiting { color: #64748B; }
.narrow .narrow_box.detail h5.pending-check { font-weight: 600; }
.narrow .narrow_box.detail h5.pending-check i { margin-left: 3px; color: #64748B; }
.narrow .narrow_box.detail h5.none { margin-bottom: 0; }
.narrow .narrow_box.detail h5 a { color: inherit; }
.narrow .narrow_box.detail h5 a i { font-size: 12px; margin: 4px 0 0 0; }
.narrow .narrow_box.detail .edit { color: #10B981; text-decoration: none; margin-top: -10px; float: right; }
.narrow .narrow_box.detail .item { display: block; float: left; width: 100%; }
.narrow .narrow_box.detail > .item:not(.progress):not(.note):not(.hide):not(:has(> h3)) { padding: 12px 0; border-top: 1px solid #E2E8F0; box-sizing: border-box; }
.narrow .narrow_box.detail > .item:not(.progress):not(.note):not(.hide):not(:has(> h3)) h5 { margin-bottom: 0; }
.narrow .narrow_box.detail .obs-score-breakdown { width: 100%; margin-top: 10px; padding: 10px 12px; float: left; clear: both; box-sizing: border-box; background: #F8FAFC; border: 1px solid #E2E8F0; }
.narrow .narrow_box.detail .obs-score-breakdown p { max-width: 100%; margin: 0; float: none; clear: none; font-size: 13px; line-height: 20px; }
.narrow .narrow_box.detail .obs-score-breakdown p + p { margin-top: 3px; }
.narrow .narrow_box.detail .obs-score-breakdown strong { color: #334155; }
.narrow .narrow_box.detail .obs-extra-status { margin-left: 5px; padding: 2px 6px; color: #64748B; background: #E2E8F0; border-radius: 3px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.narrow .narrow_box.detail .obs-extra-status.included { color: var(--brand-dark); background: var(--brand-soft); }
.narrow .narrow_box.detail > .participant-pack-download { position: relative; padding-right: 44px; text-decoration: none; }
.narrow .narrow_box.detail > .participant-pack-download:hover h5 { text-decoration: underline; }
.narrow .narrow_box.detail > .participant-pack-download > i { position: absolute; top: 50%; right: 4px; color: var(--brand); font-size: 18px; transform: translateY(-50%); }
.narrow .narrow_box.detail .item.hide { display: none; }
.narrow .narrow_box.detail .detail-subheading { width: 100%; margin: 22px 0 12px 0; float: left; clear: both; color: #1E293B; font-size: 14px; font-weight: 800; }
.narrow .narrow_box.detail.contact-details .item .action.grey { margin-top: 9px; }
.narrow .narrow_box.detail .item.age-boundary { padding-bottom: 18px; }
.narrow .narrow_box.detail .participant-bka-description { max-width: 100%; margin-top: 5px; }
.narrow .narrow_box.detail.participant-question > p { max-width: 100%; }
.narrow .bka-save-notice, .narrow .save-notice { width: 100%; padding: 14px 15px; display: flex; align-items: flex-start; gap: 11px; box-sizing: border-box; color: #065F46; background: #ECFDF5; border: 1px solid #A7F3D0; border-left: 4px solid #059669; }
.narrow .bka-save-notice > i, .narrow .save-notice > i { margin-top: 2px; flex: 0 0 auto; color: #059669; font-size: 17px; }
.narrow .bka-save-notice strong, .narrow .bka-save-notice span, .narrow .save-notice strong, .narrow .save-notice span { display: block; }
.narrow .bka-save-notice strong, .narrow .save-notice strong { margin-bottom: 2px; color: #065F46; font-size: 14px; font-weight: 800; }
.narrow .bka-save-notice span, .narrow .save-notice span { color: #047857; font-size: 13px; line-height: 19px; }
.narrow .bka-covid-notice { width: 100%; margin: 16px 0 10px; padding: 14px 15px; display: flex; align-items: flex-start; gap: 11px; float: left; clear: both; box-sizing: border-box; color: #7C2D12; background: #FFF7ED; border: 1px solid #FDBA74; border-left: 4px solid #EA580C; }
.narrow .bka-covid-notice > i { margin-top: 2px; flex: 0 0 auto; color: #EA580C; font-size: 17px; }
.narrow .bka-covid-notice strong, .narrow .bka-covid-notice span { display: block; }
.narrow .bka-covid-notice strong { margin-bottom: 3px; font-size: 14px; }
.narrow .bka-covid-notice span { font-size: 13px; line-height: 19px; }
.narrow .narrow_box.detail .participant-question-form { width: 100%; float: left; clear: both; }
.narrow .portal-form { width: 100%; display: flex; flex-direction: column; gap: 20px; }
.narrow .portal-form .item select { width: min(280px, 100%); margin: 6px 0 0; padding: 11px 12px; float: left; clear: both; box-sizing: border-box; color: #334155; background: #fff; border: 1px solid #CBD5E1; }
.narrow .portal-form .item select:focus { border-color: var(--brand); box-shadow: inset 3px 0 0 var(--brand-soft); }
.narrow .leader-person-tabs { width: 100%; padding: 9px; position: sticky; top: 100px; z-index: 12; display: flex; gap: 8px; overflow-x: auto; box-sizing: border-box; background: #F8FAFC; border: 1px solid #CBD5E1; box-shadow: 0 5px 14px rgba(15, 23, 42, 0.08); scrollbar-width: none; }
.local-environment .narrow .leader-person-tabs { top: 134px; }
.narrow .leader-person-tabs::-webkit-scrollbar { display: none; }
.narrow .leader-person-tab { min-width: 145px; padding: 10px 12px; display: flex; align-items: flex-start; flex-direction: column; gap: 2px; color: #475569; background: #fff; border: 1px solid #CBD5E1; font: inherit; text-align: left; cursor: pointer; }
.narrow .leader-person-tab strong { max-width: 100%; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.narrow .leader-person-tab small { color: #64748B; font-size: 10px; font-weight: 750; }
.narrow .leader-person-tab.active { color: var(--brand-dark); background: var(--brand-soft); border-color: var(--brand); box-shadow: inset 0 -3px 0 var(--brand); }
.narrow .leader-person-tab.complete small { color: #047857; }
.narrow .leader-tabs-ready .leader-person-panel[hidden] { display: none; }
.narrow .leader-person-panel { scroll-margin-top: 190px; }
.narrow .portal-submit > p { max-width: 100%; }
.narrow .leader-person-navigation { width: 100%; margin-top: 18px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; float: left; clear: both; }
.narrow .leader-person-navigation button { min-height: 42px; padding: 9px 13px; color: var(--brand); background: var(--brand-soft); border: 1px solid var(--brand-border); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.narrow .leader-person-navigation button:last-child { justify-self: end; }
.narrow .leader-person-navigation button:disabled { color: #94A3B8; background: #F8FAFC; border-color: #E2E8F0; cursor: default; }
.narrow .leader-person-navigation span { color: #64748B; font-size: 12px; white-space: nowrap; }
.narrow .portal-submit .participant-button { float: left; clear: both; }
.narrow .portal-submit .participant-button:disabled { background: #94A3B8; cursor: wait; }
.narrow .narrow_box.detail.participant-portal-admin .portal-admin-action { float: right; }
.narrow .narrow_box.detail.participant-portal-admin .portal-admin-action .action { float: none; }
.narrow .narrow_box.detail .portal-admin-message { width: 100%; margin: 0 0 12px; padding: 12px 14px; float: left; clear: both; box-sizing: border-box; font-size: 13px; font-weight: 700; }
.narrow .narrow_box.detail .portal-admin-message.success { color: #047857; background: #D1FAE5; }
.narrow .narrow_box.detail .portal-admin-message.error { color: #B91C1C; background: #FEE2E2; }
.narrow .narrow_box.detail .portal-link-control { width: 100%; margin: 8px 0 10px; display: flex; gap: 8px; float: left; clear: both; }
.narrow .narrow_box.detail .portal-link-control input { min-width: 0; margin: 0; padding: 11px 12px; flex: 1; box-sizing: border-box; color: #334155; background: #F8FAFC; border: 1px solid #CBD5E1; font: inherit; font-size: 15px; }
.narrow .narrow_box.detail .portal-copy-link { padding: 0 14px; display: inline-flex; align-items: center; gap: 7px; color: #fff; background: var(--brand); border: 0; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.narrow .narrow_box.detail .portal-copy-link:hover { background: var(--brand-dark); }
.narrow .narrow_box.detail .portal-copy-link.copied { background: #047857; }
.narrow .narrow_box.detail .portal-admin-link > a { float: left; clear: both; color: var(--brand); font-size: 15px; font-weight: 700; }
.narrow .narrow_box.detail .portal-admin-link > a i { position: static; margin-left: 4px; font-size: 11px; }
.narrow .narrow_box.detail .age-boundary-visual { width: 100%; float: left; clear: both; padding-top: 11px; }
.narrow .narrow_box.detail .age-boundary-track { position: relative; display: flex; width: 100%; height: 10px; background: #E2E8F0; border-radius: 10px; }
.narrow .narrow_box.detail .age-boundary-band { height: 100%; border-right: 2px solid #fff; box-sizing: border-box; }
.narrow .narrow_box.detail .age-boundary-band.pathfinder { width: 26.67%; background: #BFDBFE; border-radius: 10px 0 0 10px; }
.narrow .narrow_box.detail .age-boundary-band.pathfinder-plus { width: 13.33%; background: #BBF7D0; }
.narrow .narrow_box.detail .age-boundary-band.flexible { width: 13.33%; background: #CBD5E1; }
.narrow .narrow_box.detail .age-boundary-band.explorer { width: 46.67%; background: #FBCFE8; border: 0; border-radius: 0 10px 10px 0; }
.narrow .narrow_box.detail .age-boundary-marker { position: absolute; top: 50%; width: 16px; height: 16px; background: var(--brand); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--brand); transform: translate(-50%, -50%); box-sizing: border-box; }
.narrow .narrow_box.detail .age-boundary-labels { position: relative; width: 100%; height: 22px; margin-top: 7px; color: #64748B; font-size: 11px; font-weight: 700; }
.narrow .narrow_box.detail .age-boundary-labels span { position: absolute; transform: translateX(-50%); font-weight: normal; }
.narrow .narrow_box.detail .age-boundary-labels span:first-child { transform: none; }
.narrow .narrow_box.detail .age-boundary-labels span:last-child { transform: translateX(-100%); }
.narrow .narrow_box.detail .age-boundary-visual p { max-width: 100%; margin: 2px 0 0 0; color: #475569; font-size: 13px; line-height: 18px; }
.narrow .narrow_box.detail.emergency-contacts > .item.emergency-contact:not(.progress):not(.note):not(.hide) { margin-bottom: 0; padding: 15px 16px; background: #F8FAFC; border: 1px solid #E2E8F0; }
.narrow .narrow_box.detail.emergency-contacts > .item.emergency-contact + .item.emergency-contact { margin-top: 10px; }
.narrow .narrow_box.detail.emergency-contacts .emergency-contact h6 { float: none; clear: none; margin-bottom: 9px; color: #64748B; font-size: 12px; font-weight: 700; }
.narrow .narrow_box.detail .emergency-contact-details { display: grid; gap: 7px; clear: both; }
.narrow .narrow_box.detail .emergency-contact-line { display: flex; align-items: center; width: fit-content; max-width: 100%; color: #475569; font-size: 15px; line-height: 20px; text-decoration: none; }
.narrow .narrow_box.detail .emergency-contact-line i { position: static; width: 18px; margin-right: 9px; flex: 0 0 18px; color: #94A3B8; font-size: 13px; text-align: center; }
.narrow .narrow_box.detail .emergency-contact-line span { min-width: 0; overflow-wrap: anywhere; }
.narrow .narrow_box.detail .emergency-contact-name { color: #1E293B; font-size: 16px; font-weight: 700; }
.narrow .narrow_box.detail .item.progress { padding-left: 25px; position: relative; height: 100px; }
.narrow .narrow_box.detail .item.progress .dot { position: absolute; top: 8px; left: 0; width: 12px; height: 12px; background: #64748B; border-radius: 100px; z-index: 1; }
.narrow .narrow_box.detail .item.progress .line { position: absolute; top: 10px; left: 5px; width: 2px; height: 100px; border-left: 2px solid #ddd; }
.narrow .narrow_box.detail .item.progress:last-child .line { display: none; }
.narrow .narrow_box.detail .item.progress h6 { font-size: 16px; float: left; margin-right: 20px; }
.narrow .narrow_box.detail .item.progress h5 { font-size: 14px; color: #C2410C; background: #FFEDD5; padding: 6px 8px; clear: none; }
.narrow .narrow_box.detail .item.progress.complete .dot { background: #10B981; }
.narrow .narrow_box.detail .item.progress.complete .line { border-left-color: #84dabd; }
.narrow .narrow_box.detail .item.progress.complete h5 { color: #10B981; background: #d7f5eb; }
.narrow .narrow_box.detail .item.progress.missed h5 { background: #C2410C; color: #fff; }
.narrow .narrow_box.detail .item.progress.missed .dot { background: #C2410C; }
.narrow .narrow_box.detail .item.progress.missed .line { border-left-style: dashed; }
.narrow .narrow_box.detail .item.progress:has(+ .item.progress.missed) .line { border-left-style: dashed; border-left-color: #ddd; }
.narrow .narrow_box.detail .item.progress span.distance { position: absolute; top: -51px; left: 25px; font-size: 13px; padding: 3px 8px 2px 8px; background: #eee; color: #64748B; }
.narrow .narrow_box.detail .item.progress span.vehicle { position: absolute; top: 44px; left: -12px; background: #fff; color: var(--brand); padding: 7px 5px 6px 5px; border-radius: 100%; z-index: 1; font-size: 21px; line-height: 17px; }
.narrow .narrow_box.detail .item.progress span.vehicle span { display: block; position: absolute; top: 3px; right: 50px; background: var(--brand); color: #fff; font-size: 14px; padding: 7px 5px 7px 10px; white-space: nowrap; }
.narrow .narrow_box.detail .item.progress span.vehicle:hover span { display: block; }
.narrow .narrow_box.detail .item.progress span.vehicle span::after { content: ""; position: absolute; top: 50%; right: -15px; transform: translateY(-50%); width: 0; height: 0; border-top: 15px solid transparent; border-bottom: 15px solid transparent; border-left: 15px solid var(--brand); }
.narrow .narrow_box.detail .item.progress span.vehicle.first-aid i { color: #C2410C; }
.narrow .narrow_box.detail .item.progress span.vehicle.first-aid span { background: #C2410C; color: #FFEDD5; }
.narrow .narrow_box.detail .item.progress span.vehicle.first-aid span::after { border-left-color: #C2410C; }
.narrow .narrow_box.detail .item.progress:last-child { height: auto; }
.team-detail .tracking-summary { display: flow-root; background: #fff; border-color: var(--brand-border); border-left: 3px solid var(--brand); }
.team-detail .team-status-banner { display: flex; align-items: center; gap: 18px; padding: 22px 26px; box-sizing: border-box; border: 1px solid; border-left-width: 5px; }
.team-detail .team-status-banner > i { width: 36px; flex: 0 0 36px; font-size: 29px; text-align: center; }
.team-detail .team-status-banner strong { display: block; margin-bottom: 3px; font-size: 22px; line-height: 27px; }
.team-detail .team-status-banner span { display: block; font-size: 14px; font-weight: 600; line-height: 20px; }
.team-detail .team-status-banner.finished { color: #047857; background: #ECFDF5; border-color: #A7F3D0; border-left-color: #10B981; }
.team-detail .team-status-banner.basecamp { color: #047857; background: #ECFDF5; border-color: #A7F3D0; border-left-color: #10B981; }
.team-detail .team-status-banner.extended-route-warning { color: #334155; background: #F8FAFC; border-color: #CBD5E1; border-left-color: #64748B; }
.team-detail .team-status-banner.withdrawn { color: #991B1B; background: #FEF2F2; border-color: #FECACA; border-left-color: #EF4444; }
.team-detail .tracking-summary > h3 { width: 100%; }
.team-detail .narrow_box.detail > h3.margin { float: none; width: 100%; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid #E2E8F0; box-sizing: border-box; }
.team-detail .narrow_box.detail > h3 + .item.note { padding-top: 18px; border-top: 1px solid #E2E8F0; }
.team-detail .narrow_box.detail > h3 + h5.none, .team-detail .scan-time-panel > h3 + .team-admin-help { width: 100%; padding-top: 18px; border-top: 1px solid #E2E8F0; box-sizing: border-box; }
.team-detail .system-detail .item > h3 { width: 100%; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid #E2E8F0; box-sizing: border-box; }
.team-detail .tracking-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); float: left; clear: left; width: 100%; border-bottom: 1px solid #E2E8F0; }
.team-detail .tracking-grid.tracking-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.team-detail .tracking-grid .item { box-sizing: border-box; padding: 13px 14px; border-top: 1px solid #E2E8F0; min-height: 72px; }
.team-detail .tracking-grid > .item { border-right: 1px solid #E2E8F0; }
.team-detail .tracking-grid > .item:nth-child(3n), .team-detail .tracking-grid > .item:last-of-type { border-right: 0; }
.team-detail .tracking-grid.tracking-grid-two > .item:nth-child(2) { border-right: 0; }
.team-detail .tracking-estimates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; }
.team-detail .tracking-estimates .item:only-child { grid-column: 1 / -1; }
.team-detail .tracking-estimates .item:first-child:not(:last-child) { border-right: 1px solid #E2E8F0; }
.team-detail .tracking-grid .item h5 { margin-bottom: 0; }
.team-detail .tracking-grid .item h5 .sunset-offset { margin-left: 7px; color: #64748B; font-size: 11px; font-weight: 600; white-space: nowrap; }
.team-detail .tracking-grid .item p.description { max-width: 100%; margin-top: 7px; font-size: 13px; line-height: 19px; }
.team-detail .tracking-grid .item p.tracking-overdue { max-width: 100%; margin-top: 7px; color: #B45309; font-size: 12px; font-weight: 700; line-height: 17px; }
.team-detail .tracking-grid .item.pace-slowing { background: #FFFBEB; }
.team-detail .tracking-grid .item.pace-slowing h6, .team-detail .tracking-grid .item p.tracking-pace-warning { color: #B45309; }
.team-detail .tracking-grid .item p.tracking-pace-warning { max-width: 100%; margin-top: 7px; font-size: 12px; font-weight: 700; line-height: 17px; }
.team-detail .tracking-grid .item p.tracking-pace-warning i { margin-right: 4px; }
.team-detail .tracking-grid .item.tracking-late-concern h6, .team-detail .tracking-grid .item.tracking-late-concern p.tracking-overdue { color: #B91C1C; }
.team-detail .narrow_box.detail .item.progress { min-height: 82px; height: 82px; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); align-items: start; column-gap: 16px; row-gap: 6px; padding-left: 28px; padding-bottom: 20px; box-sizing: border-box; }
.team-detail .narrow_box.detail .item.progress .dot { top: 5px; }
.team-detail .narrow_box.detail .item.progress .line { top: 10px; bottom: -10px; height: auto; }
.team-detail .narrow_box.detail .item.progress h6 { grid-column: 1; float: none; clear: none; margin: 0; line-height: 22px; }
.team-detail .narrow_box.detail .item.progress h5 { grid-column: 2; justify-self: end; max-width: 100%; float: none; clear: none; margin: 0; top: -5px; line-height: 20px; }
.team-detail .narrow_box.detail .item.progress .route-option-label { margin-left: 7px; padding: 1px 7px; display: inline-flex; align-items: center; vertical-align: 2px; color: #6D28D9; background: #F3E8FF; border: 1px solid #DDD6FE; border-radius: 999px; font-size: 10px; font-weight: 600; line-height: 16px; white-space: nowrap; }
.team-detail .narrow_box.detail .route-forecast-note { margin: -8px 0 28px; padding: 10px 12px; max-width: none; color: #475569; background: #F8FAFC; border-left: 3px solid #94A3B8; font-size: 13px; line-height: 19px; }
.team-detail .narrow_box.detail .item.progress:last-child { min-height: 0; height: auto; padding-bottom: 0; }
.team-detail .narrow_box.detail .item.progress.upcoming h5 { color: #475569; background: #F1F5F9; }
.team-detail .narrow_box.detail .item.progress.next .dot { background: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }
.team-detail .narrow_box.detail .item.progress.next h6 { color: var(--brand); font-weight: 700; }
.team-detail .narrow_box.detail .item.progress.next h5 { color: var(--brand); background: var(--brand-soft); }
.team-detail .narrow_box.detail .item.progress.overdue .dot { background: #F59E0B; box-shadow: 0 0 0 4px #FEF3C7; }
.team-detail .narrow_box.detail .item.progress.overdue h6 { color: #B45309; }
.team-detail .narrow_box.detail .item.progress.overdue h5 { color: #92400E; background: #FEF3C7; font-weight: 700; }
.team-detail .narrow_box.detail .item.progress.overdue-concern .dot { background: #DC2626; box-shadow: 0 0 0 4px #FEE2E2; }
.team-detail .narrow_box.detail .item.progress.overdue-concern h6 { color: #B91C1C; }
.team-detail .narrow_box.detail .item.progress.overdue-concern h5 { color: #fff; background: #DC2626; }
.team-detail .narrow_box.detail .item.progress h5.stale { color: #64748B; background: #F8FAFC; font-weight: 500; }
.team-detail .narrow_box.detail .item.progress span.distance { top: 38px; left: 25px; padding: 2px 6px; color: #64748B; background: #fff; border: 1px solid #E2E8F0; font-size: 12px; }
.team-detail .secondary-detail { background: #F8FAFC; border-color: #E2E8F0; }
.team-detail .secondary-detail h3 { color: #475569; }
.team-detail .system-detail h5 { max-width: 100%; overflow-wrap: anywhere; color: #64748B; font-size: 13px; }
.team-detail .team-admin-form { clear: both; display: grid; gap: 12px; width: 100%; margin-top: 18px; padding: 20px; box-sizing: border-box; border: 1px solid #CBD5E1; background: #F8FAFC; }
.team-detail .team-admin-form h3 { float: none; width: 100%; margin: 0; padding: 0; font-size: 17px; line-height: 24px; }
.team-detail .team-admin-form p, .team-detail .team-admin-help { float: none; width: 100%; max-width: none; margin: 0; color: #64748B; font-size: 13px; line-height: 21px; }
.team-detail .team-admin-form label { display: block; color: #334155; font-size: 13px; font-weight: 700; }
.team-detail .team-admin-form input:not([type="hidden"]), .team-detail .team-admin-form textarea { display: block; width: 100%; min-width: 0; padding: 11px 12px; box-sizing: border-box; border: 1px solid #CBD5E1; border-radius: 0; background: #fff; color: #1E293B; font: inherit; font-size: 14px; }
.team-detail .team-admin-form textarea { resize: vertical; }
.team-detail .team-admin-form input:focus-visible, .team-detail .team-admin-form textarea:focus-visible, .team-detail summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.team-detail .narrow_box.detail .team-admin-form .action { float: none; justify-self: start; margin: 4px 0 0; padding: 12px 16px; font: inherit; font-size: 14px; font-weight: 700; }
.team-detail .scan-time-panel { scroll-margin-top: 90px; }
.team-detail .scan-time-panel > .team-admin-help { clear: both; }
.team-detail .scan-time-panel > .team-admin-help + .team-admin-help, .team-detail .scan-time-panel > .team-admin-help + .scan-time-row { margin-top: 18px; }
.team-detail .scan-time-row { clear: both; display: grid; gap: 6px; padding: 16px 0; border-top: 1px solid #E2E8F0; }
.team-detail .scan-time-row > strong { color: #334155; font-size: 14px; }
.team-detail .scan-time-row > span { color: #64748B; font-size: 13px; }
.team-detail .scan-time-editor summary { width: fit-content; margin-top: 6px; color: var(--brand); font-size: 13px; font-weight: 700; cursor: pointer; }
@media (max-width: 600px) { .team-detail .team-admin-form { padding: 14px; } .team-detail .narrow_box.detail .team-admin-form .action { width: 100%; justify-self: stretch; } }

.narrow .narrow_box.detail .item:last-child h5 { margin-bottom: 5px; }
.narrow .narrow_box h4 { font-size: 20px; font-weight: 600; margin: 5px 0; }
.narrow .narrow_box p.intro { margin: 10px 0 30px 0; max-width: 400px; }
.narrow .narrow_box p.no_margin { margin-bottom: 0; }
.narrow .narrow_box .department { float: left; width: 100%; margin: 0 0 20px 0; }
.narrow .narrow_box .department.disable { opacity: 0.5; pointer-events: none; }
.narrow .narrow_box .department.box { border: 1px solid #E2E8F0; background: #F8FAFC; padding: 30px; box-sizing: border-box; }
.narrow .narrow_box .department h4 { font-size: 18px; margin-bottom: 5px; }
.narrow .narrow_box .department.box h4 { margin-top: 0; }
.narrow .narrow_box .heading { width: 100%; float: left; margin: 40px 0 20px 0; font-weight: 600; }
.narrow .narrow_box .heading:first-child { margin-top: 15px; }
.narrow .narrow_box .tags { margin: 10px 0 0 0; float: left; width: 100%; }
.narrow .narrow_box .tag { cursor: pointer; float: left; padding: 6px 8px; margin: 4px 6px 4px 0; color: #475569; background: #F8FAFC; border: 1px solid #CBD5E1; font-size: 13px; font-weight: 600; line-height: 16px; }
.narrow .narrow_box .tag.green { color: #fff; background: #10B981; border-color: #10B981; }
.narrow .narrow_box.roles { display: flow-root; }
.narrow .narrow_box.roles .department.box { margin-bottom: 12px; padding: 18px; background: #fff; border-color: #CBD5E1; }
.narrow .narrow_box.roles .department.box h4 { margin-bottom: 12px; color: #1E293B; font-size: 15px; font-weight: 700; }
.narrow .narrow_box.roles .tags.selectable { margin: 0; display: grid; grid-template-columns: 1fr; gap: 7px; }
.narrow .narrow_box.roles .tags.selectable .heading { grid-column: 1 / -1; width: auto; margin: 12px 0 2px 0; padding-top: 12px; float: none; color: #64748B; border-top: 1px solid #E2E8F0; font-size: 12px; font-weight: 700; }
.narrow .narrow_box.roles .tags.selectable .heading:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.narrow .narrow_box.roles .tags.selectable .tag { min-height: 38px; margin: 0; padding: 8px 9px; display: flex; align-items: center; float: none; box-sizing: border-box; color: #475569; background: #fff; border-color: #E2E8F0; border-left-width: 3px; }
.narrow .narrow_box.roles .tags.selectable .tag::before { content: ""; width: 10px; height: 10px; margin-right: 8px; flex: 0 0 10px; box-sizing: border-box; border: 1px solid #94A3B8; }
.narrow .narrow_box.roles .tags.selectable .tag:hover { color: #0F172A; background: #F8FAFC; }
.narrow .narrow_box.roles .tags.selectable .tag.green { color: var(--brand); background: var(--brand-soft); border-color: #E2E8F0; border-left-color: var(--brand); font-weight: 700; }
.narrow .narrow_box.roles .tags.selectable .tag.green::before { background: var(--brand); border-color: var(--brand); box-shadow: inset 0 0 0 2px #fff; }
.narrow .narrow_box .save { text-decoration: none; float: right; padding: 15px 18px; margin: 0 0 0 50px; background: #10B981; color: #fff; font-weight: 700; }
.narrow .narrow_box .save.waiting { color: #475569; background: #F1F5F9; }
.narrow .narrow_box p.intro.alt { max-width: none; margin: 15px 0 0 0; }
.narrow .narrow_box small { border: 1px solid #E2E8F0; margin: 20px 0 0 0; max-width: 800px; line-height: 26px; padding: 10px 15px; background: #fff; display: inline-block; }
.narrow .narrow_box .video_container { position: relative; margin: 15px 0 0 0; }
.narrow .narrow_box .video_container video { width: 100%; height: auto; }
.narrow .narrow_box .video_container i { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 150px; opacity: 0.75; color: #fff; }
.scanner { height: auto; min-height: calc(100vh - 170px); align-items: flex-start; }
.scanner .narrow_inner { width: 680px; }
.scanner .scanner-panel { padding: 0; overflow: hidden; border-top: 3px solid var(--brand); }
.scanner .scanner-heading { padding: 24px 28px 4px 28px; }
.scanner .scanner-heading h2 { margin: 10px 0 7px 0; color: #1E293B; font-size: 27px; line-height: 34px; }
.scanner .scanner-heading p { max-width: 570px; margin: 0; color: #64748B; font-size: 15px; line-height: 23px; }
.scanner .scanner-status { display: inline-flex; align-items: center; gap: 7px; color: var(--brand); font-size: 11px; font-weight: 800; line-height: 16px; letter-spacing: 0.07em; text-transform: uppercase; }
.scanner .scanner-status i { font-size: 12px; transform: translateY(-1px); }
.scanner .video_container { height: auto; aspect-ratio: 4 / 3; margin: 15px 0 0 0; overflow: hidden; background: #111827; border-top: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; }
.narrow.scanner .scanner-panel .video_container video { width: 100%; height: 100%; display: block; object-fit: cover; }
.scanner .video_container > i { z-index: 2; color: #fff; font-size: 54px; opacity: 0.18; }
.scanner .video_container::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; box-shadow: inset 0 0 80px rgba(15,23,42,0.45); }
.scanner .scanner-guide { width: 210px; height: 210px; position: absolute; top: 50%; left: 50%; z-index: 3; transform: translate(-50%, -50%); box-sizing: border-box; border: 2px solid rgba(255,255,255,0.9); box-shadow: 0 0 0 999px rgba(15,23,42,0.16); pointer-events: none; }
.scanner .scanner-guide::before, .scanner .scanner-guide::after { content: ""; width: 38px; height: 38px; position: absolute; box-sizing: border-box; }
.scanner .scanner-guide::before { top: -5px; left: -5px; border-top: 5px solid #fff; border-left: 5px solid #fff; }
.scanner .scanner-guide::after { right: -5px; bottom: -5px; border-right: 5px solid #fff; border-bottom: 5px solid #fff; }
.scanner .scanner-camera-help { position: absolute; left: 50%; bottom: 18px; z-index: 4; transform: translateX(-50%); padding: 8px 11px; color: #fff; background: rgba(15,23,42,0.82); font-size: 12px; font-weight: 700; line-height: 16px; white-space: nowrap; }
.scanner .scanner-support { padding: 15px 28px 17px 28px; display: flex; align-items: center; gap: 9px; color: #64748B; background: #F8FAFC; }
.scanner .scanner-support i { color: var(--brand); font-size: 14px; }
.scanner .scanner-support p { margin: 0; font-size: 13px; line-height: 19px; transform: translateY(1px); }
.scanner .scanner-support strong { color: #334155; }
.scanner .scanner-support a { color: var(--brand); font-weight: 750; text-decoration: none; border-bottom: 1px solid var(--brand-border); }
.scanner .scanner-support a:hover { color: var(--brand-dark); border-bottom-color: var(--brand); }

/* Responsive */

@media only screen and (max-width: 1150px) {
	:root { --panel-padding: 20px; --section-gap: 24px; }
	body { width: 100%; font-size: 14px; }
	input, select, .log_in p.bottom { font-size: 14px; }
	.toast { padding: 15px; }
	body[class^="log-in"], body[class^="register"] { padding: 20px 15px; align-items: flex-start; }
	.log_in { max-height: none; padding: 28px 24px; }
	.log_in img { width: 65px; margin-left: 18px; }
	.dialog { top: 20px; transform: translate(-50%, 0); width: calc(100vw - 30px); max-width: none; max-height: calc(100vh - 40px); padding: 25px; }
	.onboarding-tour-card { width: calc(100vw - 30px); right: 15px; bottom: 15px; padding: 22px; }
	.header_bar { height: 85px; }
	.header_bar .mobile-nav-toggle { width: 58px; padding: 0; flex: 0 0 58px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--brand); background: #fff; border: 0; border-right: 1px solid #E2E8F0; font-size: 10px; font-weight: 800; cursor: pointer; }
	.header_bar .mobile-nav-toggle i { font-size: 20px; }
	.header_bar .mobile-nav-toggle[aria-expanded="true"] { color: #fff; background: var(--brand); }
	.header_bar .identity { min-width: 0; }
	.header_bar .product { width: auto; padding: 0 16px; font-size: 0; }
	.header_bar .product strong { margin: 0; font-size: 15px; }
	.header_bar .name { display: none; }
	.header_bar .right { width: auto; flex: 0 0 auto; }
	.header_bar .right .links { margin-top: 0; }
	.header_bar .app-clock { min-width: 91px; margin-right: 7px; padding: 6px 8px; }
	.header_bar .app-clock > i { display: none; }
	.header_bar .app-clock time { font-size: 10px; }
	.header_bar a { padding: 0 12px; }
	.header_bar a.header-instructions { width: 40px; margin-right: 7px; padding: 0; flex: 0 0 40px; }
	.header_bar a.header-instructions span { display: none; }
	.header_bar a.header-instructions i { font-size: 16px; }
	.header_bar a.log-out span { display: none; }
	.header_bar .role-dropdown-toggle { max-width: 115px; padding: 0 9px; gap: 7px; font-size: 12px; }
	.header_bar .header-current-role { max-width: 115px; padding: 0 9px; font-size: 12px; }
	.container { width: 100%; padding-left: 25px; padding-right: 25px; padding-top: 115px; box-sizing: border-box; }
	.local-environment .container { padding-top: 149px; }
	.local-environment .sidebar { padding: 0 14px 28px 14px; }
	.narrow .narrow_inner { max-width: 500px; width: 100%; }
	.container h1 { font-size: 24px; }
	.container .search { margin-top: 25px; width: 100%; }
	.container .search input { font-size: 14px; }
	.container .filter { display: none; }
	.container .counter { padding: 0; text-align: right; width: 100%; margin-top: 20px; }
	.container .row .column.width-a { flex: 1; }
	.container .row .column.width-b { flex: 1; }
	.container .row .column.width-c { flex: 1; }
	.container .row .column.hide { display: none; }
	.container .row.top .column.tags { text-indent: 0; }
	.container .row p { margin: 2px; padding: 0; }
	.container .tabs { overflow-x: scroll; white-space: nowrap; -webkit-overflow-scrolling: touch; display: flex; margin-top: 20px; }
	.container .tabs a { padding-left: 13px; padding-right: 15px; text-align: center; }
	.container .tabs a i { font-size: 18px; margin: 0 0 7px 0; float: none; display: block; text-align: center; width: 100%; }
	.container .tabs::-webkit-scrollbar { display: none; }
	.container .import { display: none; }
	.narrow .narrow_box { padding: var(--panel-padding); }
	.scanner .scanner-panel { padding: 0; }
	.scanner .scanner-heading { padding: 21px 20px 4px 20px; }
	.scanner .scanner-support { padding: 14px 20px 16px 20px; }
	.narrow .narrow_box .photo { width: 75px; height: 75px; margin-right: 20px; margin-bottom: 0; }
	.narrow .narrow_box h2 { margin-top: 0; font-size: 20px; }
	.narrow .narrow_box.detail h6 { font-size: 13px; line-height: 24px; }
	.team-detail .tracking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.team-detail .tracking-grid > .item { border-right: 1px solid #E2E8F0; }
	.team-detail .tracking-grid > .item:nth-child(2n), .team-detail .tracking-grid > .item:last-of-type { border-right: 0; }
	.team-detail .narrow_box.detail .item.progress { height: auto; grid-template-columns: 1fr; }
	.team-detail .narrow_box.detail .item.progress h6, .team-detail .narrow_box.detail .item.progress h5 { grid-column: 1; }
	.narrow .narrow_box h4 { font-size: 18px; }
	.narrow .narrow_box p.intro { margin-bottom: 25px; }
	.narrow .narrow_box .department.box { padding: 20px; }
	.narrow .narrow_box.roles .tags.selectable { grid-template-columns: 1fr; }
	.narrow .narrow_box .department h4 { margin-bottom: 0; }
	.narrow .narrow_box .department.box h4 { font-size: 16px; }
	html.mobile-nav-open, body.mobile-nav-open { overflow: hidden; }
	.mobile-nav-backdrop { width: 100%; height: 100%; position: fixed; inset: 0; z-index: 49; display: block; visibility: hidden; opacity: 0; background: rgba(15,23,42,0.52); border: 0; pointer-events: none; transition: opacity 0.2s ease, visibility 0s linear 0.2s; }
	body.mobile-nav-open .mobile-nav-backdrop { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity 0.2s ease; }
	.sidebar { width: min(340px, 88vw); height: 100dvh; top: 0; left: 0; z-index: 50; padding: 0 14px 28px 14px; display: block; overflow-x: hidden; overflow-y: auto; white-space: normal; border-right: 1px solid #CBD5E1; box-shadow: 12px 0 35px rgba(15,23,42,0.18); transform: translateX(-105%); transition: transform 0.22s ease; }
	body.mobile-nav-open .sidebar { transform: translateX(0); }
	.sidebar-mobile-header { min-height: 72px; margin: 0 -14px 12px -14px; padding: 0 14px 0 20px; position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; color: #0F172A; background: #fff; border-bottom: 3px solid var(--brand); }
	.sidebar-mobile-header strong { font-size: 18px; font-weight: 800; }
	.sidebar-mobile-header .mobile-nav-close { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; color: var(--brand); background: var(--brand-soft); border: 1px solid var(--brand-border); font-size: 20px; cursor: pointer; }
	.sidebar .item { float: none; margin: 2px 0; padding: 11px 13px; display: block; font-weight: 700; }
	.sidebar .item.overview { color: var(--brand); background: #fff; border: 1px solid var(--brand-border); }
	.sidebar .item.active, .sidebar .item.overview.active { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-border); box-shadow: inset 3px 0 0 var(--brand); }
	.sidebar .item.sub { display: block; }
	.sidebar .item i { display: none; }
	.sidebar .item p { display: block; }
	.sidebar .fade-left, .sidebar .fade-right { display: none; }
	.sidebar h3 { margin-top: 24px; display: flex; }
	.sidebar h3:first-of-type { margin-top: 28px; }
	.report .columns { flex-direction: column; }
	.dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dashboard-main-grid, .dashboard-secondary-grid { grid-template-columns: 1fr; }
	.narrow .narrow_box.detail .item.progress span.vehicle span { display: none!important; }
}

@media only screen and (max-width: 600px) {
	.header_bar .product { display: none; }
	.header_bar .right { padding-right: 8px; }
	.header_bar .app-clock { min-width: 62px; justify-content: center; }
	.header_bar .app-clock small { display: none; }
	.header_bar .app-clock time { font-size: 0; }
	.header_bar .app-clock time::after { content: attr(data-time-short); font-size: 11px; }
	.header_bar .local-josh-access-switch label > span { display: none; }
	.header_bar .local-josh-access-switch { margin-right: 8px; }
	.header_bar .role-dropdown-toggle, .header_bar .header-current-role { max-width: 105px; }
	.check-in-attendance-list .missing-section-column, .check-in-attendance-list .missing-status-column { display: none; }
}

@media only screen and (max-width: 420px) {
	.header_bar .right { padding-right: 4px; }
	.header_bar .app-clock { min-width: 56px; margin-right: 4px; padding-right: 5px; padding-left: 5px; }
	.header_bar .local-josh-access-switch { margin-right: 4px; }
	.header_bar a.header-instructions { width: 36px; margin-right: 4px; flex-basis: 36px; }
	.header_bar .role-dropdown-toggle, .header_bar .header-current-role { max-width: 82px; }
	.header_bar a.log-out { margin-left: 4px; padding-right: 12px; padding-left: 12px; }
}

@media only screen and (max-width: 900px) {
	.container .row .column.hide-tablet { display: none; }
	.check-in-live-heading { flex-direction: column; gap: 16px; }
	.check-in-live-heading .live-heading-actions { width: 100%; }
	.route-map-board .route-map, .route-map-board .route-status-key { display: none; }
	.route-map-board .route-map-mobile-message { padding: 30px 20px; display: block; color: #475569; background: #F8FAFC; font-weight: 700; text-align: center; }
	.progress-report .progress-status-key, .progress-report .columns { display: none; }
	.progress-report .progress-mobile-message { margin-top: 24px; padding: 30px 20px; display: block; color: #475569; background: #F8FAFC; font-weight: 700; text-align: center; }
}

@media only screen and (max-width: 600px) {
	:root { --panel-padding: 16px; --panel-gap: 16px; --section-gap: 22px; }
	.local-environment-banner { padding: 0 10px; gap: 6px; font-size: 11px; }
	.container .teams-page-heading { gap: 20px; }
	.container .teams-page-actions { width: 100%; justify-content: flex-start; gap: 10px; }
	.container > .action { margin: 0 8px 16px 0; display: inline-block; float: none; }
	.container > .action.gap { margin-left: 0; }
	.live-heading-actions { width: 100%; flex-direction: column; gap: 10px; }
	.live-heading-actions .live-status { width: 100%; }
	.container > .local-team-reset-form { margin: 0 8px 16px 0; display: inline-block; float: none; }
	.container > .local-team-reset-form .action { margin: 0; }
	.scanner { min-height: 0; }
	.scanner .scanner-heading { padding: 18px 16px 4px 16px; }
	.scanner .scanner-heading h2 { font-size: 22px; line-height: 28px; }
	.scanner .video_container { aspect-ratio: 1 / 1; }
	.scanner .scanner-guide { width: 165px; height: 165px; }
	.scanner .scanner-camera-help { width: calc(100% - 32px); bottom: 14px; box-sizing: border-box; text-align: center; white-space: normal; }
	.scanner .scanner-support { padding: 13px 16px 15px 16px; }
	.silent-disco-page-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
	.silent-disco-page-heading .live-status { align-self: stretch; }
	.silent-disco-page .silent-disco-scanner { margin-top: 22px; margin-bottom: 30px; }
	.silent-disco-manual-scan { padding: 13px 16px 15px; }
	.silent-disco-section-heading h2 { font-size: 18px; }
	.dashboard-heading, .live-page-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
	.dashboard-refresh, .live-status { white-space: normal; }
	.dashboard-critical-alert > header { min-height: 0; padding: 18px 16px; align-items: flex-start; gap: 14px; }
	.dashboard-critical-alert-icon { width: 44px; height: 44px; flex-basis: 44px; font-size: 20px; }
	.dashboard-critical-alert header strong { font-size: 21px; }
	.dashboard-critical-alert-list a { padding: 14px 16px; grid-template-columns: 1fr auto; gap: 5px 12px; }
	.dashboard-critical-alert-list a > b { font-size: 15px; }
	.dashboard-critical-alert-list a > span { grid-column: 1 / -1; grid-row: 2; }
	.dashboard-critical-alert-list a > strong { grid-column: 2; grid-row: 1; }
	.dashboard-stats { grid-template-columns: 1fr; }
	.dashboard-stat { min-height: 145px; }
	.dashboard-panel { padding: 0; }
	.dashboard-panel-heading { padding: 16px; align-items: flex-start; flex-direction: column; gap: 12px; }
	.dashboard-panel-heading > a { margin-top: 0; }
	.dashboard-chart-legend { justify-content: flex-start; flex-wrap: wrap; }
	.dashboard-progress-row { padding: 12px 0; grid-template-columns: 92px minmax(90px, 1fr); gap: 10px; }
	.dashboard-chart-values { grid-column: 2; }
	.dashboard-location-item { padding: 9px 0; grid-template-columns: 100px minmax(70px, 1fr); gap: 10px; }
	.dashboard-location-list em { grid-column: 2; text-align: left; }
	.dashboard-size-legend { padding-right: 16px; padding-left: 16px; justify-content: flex-start; }
	.dashboard-size-chart { padding-right: 16px; padding-left: 16px; }
	.dashboard-size-row { padding: 10px 0; grid-template-columns: 92px minmax(80px, 1fr); gap: 10px; }
	.dashboard-size-values { grid-column: 2; }
	.dashboard-insights-grid { grid-template-columns: 1fr; }
	.dashboard-insight-key { padding-right: 16px; padding-left: 16px; grid-template-columns: minmax(105px, 1fr) 128px; }
	.dashboard-insight-row { padding-right: 16px; padding-left: 16px; }
	.dashboard-insight-list.arrivals .dashboard-insight-row { grid-template-columns: minmax(105px, 1fr) 128px; }
	.dashboard-forecast-list, .dashboard-vehicle-groups { padding-right: 16px; padding-left: 16px; }
	.dashboard-forecast-row { grid-template-columns: 78px minmax(60px, 1fr) 62px; gap: 9px; }
	.dashboard-vehicle-legend { justify-content: flex-start; flex-wrap: wrap; }
	.dashboard-vehicle-chart-grid { grid-template-columns: 1fr; }
	.dashboard-district-list { padding-right: 16px; padding-left: 16px; }
	.dashboard-district-row { grid-template-columns: minmax(100px, 1fr) 48px 48px 68px; gap: 8px; }
	.dashboard-district-head { font-size: 8px; letter-spacing: .03em; }
	.dashboard-district-row > span small { display: none; }
	.dashboard-issues-summary { padding: 16px; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; }
	.dashboard-issues-total { font-size: 25px; }
	.dashboard-issues-arrow { display: none; }
	.activity-heading { flex-direction: column; gap: 14px; }
	.activity-refresh { white-space: normal; }
	.activity-feed-header { display: none; }
	.activity-feed-row { min-height: 82px; grid-template-columns: 75px minmax(0, 1fr) 64px 10px; gap: 10px; }
	.activity-category { display: none; }
	.activity-team { align-items: flex-start; flex-direction: column; gap: 3px; }
	.activity-feed-row time { text-align: right; }
	.route-board-header { padding: 16px; align-items: flex-start; flex-direction: column; gap: 12px; }
	.report .column h3 { padding: 16px; }
	.route-path { padding-left: 16px; padding-right: 16px; }
	.route-path.secondary { margin-left: 16px; margin-right: 16px; padding-left: 14px; padding-right: 14px; }
	.route-status-key { gap: 12px; }
	.participant-button { width: 100%; justify-content: center; box-sizing: border-box; }
	.container .row .column.hide-mobile { display: none; }
	.container .row .column { min-width: 0; padding-left: 10px; padding-right: 10px; }
	.container .row.normal .column { padding-left: 10px; padding-right: 10px; }
	.container .row .column > p { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
	.live-status-dot::after { animation: none; }
}

.team-detail .team-maintenance-action { float: right; }
.team-detail .narrow_box.detail .team-maintenance-action .action { float: none; }
