/* BusCompare NI — public styles. Everything scoped under .bcni so it
   sits cleanly inside any WordPress theme. Departure-board aesthetic:
   ink-black, signal-amber accent, wide industrial type. */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Spline+Sans+Mono:wght@500;600&display=swap');

.bcni, .bcni * { box-sizing: border-box; }

.bcni {
	--bcni-ink: #0c0e12;
	--bcni-ink-2: #14171d;
	--bcni-amber: #ffb300;
	--bcni-amber-soft: rgba(255,179,0,.14);
	--bcni-line: rgba(255,255,255,.10);
	--bcni-text: #e7e9ee;
	--bcni-muted: #9aa0a6;
	--bcni-radius: 16px;
	font-family: 'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	color: var(--bcni-text);
	max-width: 880px;
	margin: 0 auto;
	line-height: 1.5;
}

/* Board / hero panel */
.bcni-board {
	background: var(--bcni-ink);
	border: 1px solid var(--bcni-line);
	border-radius: var(--bcni-radius) var(--bcni-radius) 0 0;
	padding: 38px 34px 30px;
	border-bottom: 3px solid var(--bcni-amber);
}
.bcni-board--sm { border-radius: var(--bcni-radius); padding: 30px; }
.bcni-board__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--bcni-amber);
	font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
	margin-bottom: 18px;
}
.bcni-dot {
	width: 9px; height: 9px; border-radius: 50%;
	background: var(--bcni-amber);
	box-shadow: 0 0 0 0 rgba(255,179,0,.7);
	animation: bcni-pulse 2s infinite;
}
@keyframes bcni-pulse {
	0% { box-shadow: 0 0 0 0 rgba(255,179,0,.6); }
	70% { box-shadow: 0 0 0 10px rgba(255,179,0,0); }
	100% { box-shadow: 0 0 0 0 rgba(255,179,0,0); }
}
.bcni-board__title {
	font-size: clamp(30px, 5vw, 50px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.5px;
	margin: 0 0 16px;
	color: #fff;
	text-transform: uppercase;
}
.bcni-board__title span { color: var(--bcni-amber); }
.bcni-board__sub {
	color: var(--bcni-muted);
	font-size: 16px;
	max-width: 52ch;
	margin: 0;
}

/* Form panel */
.bcni-form {
	background: var(--bcni-ink-2);
	border: 1px solid var(--bcni-line);
	border-top: none;
	border-radius: 0 0 var(--bcni-radius) var(--bcni-radius);
	padding: 30px 34px 34px;
}
.bcni-form--login {
	border-top: 1px solid var(--bcni-line);
	border-radius: var(--bcni-radius);
	margin-top: 16px;
	max-width: 460px;
}

/* Compact mode: form shown without the hero board (e.g. embedded on a homepage) */
.bcni-quote--compact .bcni-form {
	border-top: 1px solid var(--bcni-line);
	border-radius: var(--bcni-radius);
}
.bcni-form__title { margin-bottom: 20px; }
.bcni-form__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--bcni-amber);
	font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
	margin-bottom: 10px;
}
.bcni-form__title h3 {
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 800; text-transform: uppercase; color: #fff; margin: 0; letter-spacing: -0.3px;
}
.bcni-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.bcni-field { display: flex; flex-direction: column; gap: 7px; }
.bcni-col-2 { grid-column: 1 / -1; }
.bcni-label {
	font-size: 12px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase;
	color: var(--bcni-muted);
}
.bcni-label em { color: var(--bcni-amber); font-style: normal; }
.bcni-label small { letter-spacing: 0; text-transform: none; color: #6b7280; font-weight: 400; }

.bcni-field input,
.bcni-field textarea {
	width: 100%;
	background: var(--bcni-ink);
	border: 1px solid var(--bcni-line);
	border-radius: 10px;
	padding: 13px 14px;
	color: #fff;
	font-size: 15px;
	font-family: inherit;
	transition: border-color .15s, box-shadow .15s;
}
.bcni-field input::placeholder,
.bcni-field textarea::placeholder { color: #5b616b; }
.bcni-field input:focus,
.bcni-field textarea:focus {
	outline: none;
	border-color: var(--bcni-amber);
	box-shadow: 0 0 0 3px var(--bcni-amber-soft);
}
.bcni-field textarea { resize: vertical; }

.bcni-submit {
	margin-top: 22px;
	width: 100%;
	background: var(--bcni-amber);
	color: var(--bcni-ink);
	border: none;
	border-radius: 11px;
	padding: 16px 20px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .4px;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform .08s ease, filter .15s ease;
}
.bcni-submit:hover { filter: brightness(1.06); }
.bcni-submit:active { transform: translateY(1px); }
.bcni-fineprint { color: #6b7280; font-size: 12px; margin: 14px 0 0; text-align: center; }
.bcni-fineprint em { color: var(--bcni-amber); font-style: normal; }

/* Alerts */
.bcni-alert {
	background: rgba(220,38,38,.12);
	border: 1px solid rgba(220,38,38,.4);
	color: #fca5a5;
	border-radius: 10px;
	padding: 12px 16px;
	margin-bottom: 18px;
	font-size: 14px;
}
.bcni-alert ul { margin: 8px 0 0; padding-left: 18px; }
.bcni-alert--ok {
	background: var(--bcni-amber-soft);
	border-color: rgba(255,179,0,.4);
	color: var(--bcni-amber);
}

/* Thanks panel */
.bcni-thanks {
	background: var(--bcni-ink);
	border: 1px solid var(--bcni-line);
	border-top: 3px solid var(--bcni-amber);
	border-radius: var(--bcni-radius);
	padding: 40px 36px;
	position: relative;
	overflow: hidden;
}
/* Subtle radial glow top-left */
.bcni-thanks::before {
	content: '';
	position: absolute;
	top: -80px; left: -80px;
	width: 340px; height: 340px;
	background: radial-gradient(circle, rgba(255,179,0,0.07) 0%, transparent 70%);
	pointer-events: none;
}

/* Two-column grid */
.bcni-thanks__grid {
	display: grid !important;
	grid-template-columns: minmax(0,1fr) minmax(0,1fr);
	gap: 36px;
	align-items: start;
	text-align: left;
}

/* Left column */
.bcni-thanks__left { text-align: left; }
.bcni-thanks__badge {
	position: relative;
	width: 80px; height: 80px;
	flex: none;
	margin-bottom: 22px;
}
.bcni-thanks__badge-ring {
	width: 80px; height: 80px; max-width: 80px; max-height: 80px; display: block;
	animation: bcni-ring-spin 2.4s linear infinite;
}
@keyframes bcni-ring-spin {
	to { transform: rotate(360deg); }
}
.bcni-thanks__checkmark {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: 32px; height: 32px; max-width: 32px; max-height: 32px; display: block;
}
.bcni-thanks__eyebrow {
	display: flex; align-items: center; gap: 8px;
	font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;
	color: var(--bcni-amber); font-weight: 700; margin-bottom: 10px;
}
.bcni-thanks__heading {
	font-size: 38px; font-weight: 800; line-height: 1.05;
	color: #fff; text-transform: uppercase;
	letter-spacing: -0.5px; margin: 0 0 14px;
}
.bcni-thanks__sub {
	color: var(--bcni-muted); font-size: 14.5px; line-height: 1.65;
	max-width: 30ch; margin: 0;
}

/* Right column */
.bcni-thanks__right { text-align: left; }
.bcni-thanks__refblock {
	background: var(--bcni-ink-2);
	border: 1px solid rgba(255,179,0,0.22);
	border-radius: 12px;
	padding: 20px 22px;
	margin-bottom: 22px;
}
.bcni-thanks__reflabel {
	font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
	color: var(--bcni-muted); margin-bottom: 8px;
}
.bcni-thanks__refcode {
	font-family: 'Spline Sans Mono', monospace;
	font-size: 32px; font-weight: 600; letter-spacing: 4px;
	color: var(--bcni-amber); line-height: 1;
}
.bcni-thanks__refhint {
	font-size: 12px; color: var(--bcni-muted); margin-top: 8px;
}

/* Progress steps */
.bcni-thanks__steps {
	list-style: none !important; margin: 0 0 20px !important; padding: 0 !important;
	display: flex; flex-direction: column; gap: 0;
}
.bcni-thanks__steps li {
	display: flex; align-items: flex-start; gap: 14px;
	padding: 11px 0;
	border-bottom: 1px solid rgba(255,255,255,0.05);
	position: relative;
}
.bcni-thanks__steps li:last-child { border-bottom: 0; }
.bcni-thanks__step-dot {
	flex: none; width: 10px; height: 10px; border-radius: 50%;
	border: 2px solid rgba(255,255,255,.2);
	background: transparent; margin-top: 4px;
}
.bcni-thanks__steps li.is-done .bcni-thanks__step-dot {
	background: var(--bcni-amber); border-color: var(--bcni-amber);
}
.bcni-thanks__steps li.is-active .bcni-thanks__step-dot {
	background: transparent; border-color: var(--bcni-amber);
	box-shadow: 0 0 0 3px rgba(255,179,0,0.18);
	animation: bcni-pulse 1.6s ease-in-out infinite;
}
@keyframes bcni-pulse {
	0%, 100% { box-shadow: 0 0 0 3px rgba(255,179,0,0.18); }
	50%       { box-shadow: 0 0 0 6px rgba(255,179,0,0.08); }
}
.bcni-thanks__steps li div { display: flex; flex-direction: column; gap: 2px; }
.bcni-thanks__steps li strong { font-size: 13.5px; color: #fff; font-weight: 600; }
.bcni-thanks__steps li span  { font-size: 12px; color: var(--bcni-muted); }
.bcni-thanks__steps li:not(.is-done):not(.is-active) strong,
.bcni-thanks__steps li:not(.is-done):not(.is-active) span { opacity: .45; }

.bcni-thanks__email-note {
	font-size: 13.5px; color: var(--bcni-muted); margin: 0; line-height: 1.6;
}
.bcni-thanks__email-note strong { color: #fff; }
.bcni-thanks__email-note a { color: var(--bcni-amber); text-decoration: none; }
.bcni-thanks__email-note a:hover { text-decoration: underline; }

/* Responsive: stack on mobile */
@media (max-width: 480px) {
	.bcni-thanks { padding: 24px 18px; }
	.bcni-thanks__grid { grid-template-columns: 1fr !important; gap: 24px; }
	.bcni-thanks__badge { width: 60px; height: 60px; margin-bottom: 16px; }
	.bcni-thanks__badge-ring { width: 60px; height: 60px; max-width: 60px; max-height: 60px; }
	.bcni-thanks__checkmark { width: 24px; height: 24px; max-width: 24px; max-height: 24px; }
	.bcni-thanks__heading { font-size: 28px; }
	.bcni-thanks__refcode { font-size: 24px; letter-spacing: 2px; }
}
.bcni-refcard, .bcni-pricecard {
	display: inline-flex; flex-direction: column; align-items: center;
	background: var(--bcni-ink-2); border: 1px solid var(--bcni-line);
	border-radius: 12px; padding: 16px 30px; margin: 8px 0 18px;
}
.bcni-refcard span, .bcni-pricecard span {
	font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--bcni-muted);
}
.bcni-refcard strong {
	font-family: 'Spline Sans Mono', monospace;
	font-size: 30px; color: var(--bcni-amber); letter-spacing: 3px; margin-top: 4px;
}

/* Customer portal */
.bcni-portal__head {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
	margin-bottom: 18px;
}
.bcni-portal__name { font-size: 26px; font-weight: 800; color: #fff; margin: 6px 0 0; }
.bcni-logout {
	color: var(--bcni-muted); font-size: 13px; text-decoration: none;
	border: 1px solid var(--bcni-line); padding: 7px 13px; border-radius: 8px; white-space: nowrap;
}
.bcni-logout:hover { color: var(--bcni-amber); border-color: var(--bcni-amber); }
.bcni-status {
	background: var(--bcni-ink-2); border: 1px solid var(--bcni-line);
	border-left: 4px solid var(--bcni-amber);
	border-radius: 12px; padding: 20px 22px; margin-bottom: 16px;
}
.bcni-status__badge {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
	color: var(--bcni-ink); background: var(--bcni-amber); padding: 5px 12px; border-radius: 30px; margin-bottom: 10px;
}
.bcni-status p { margin: 0; color: var(--bcni-text); }
.bcni-status--sent { border-left-color: #22c55e; }
.bcni-status--sent .bcni-status__badge { background: #22c55e; }
.bcni-pricecard { display: flex; width: 100%; }
.bcni-pricecard strong { font-size: 38px; color: var(--bcni-amber); margin: 4px 0; }
.bcni-pricecard small { color: var(--bcni-muted); font-size: 13px; }
.bcni-summary {
	background: var(--bcni-ink-2); border: 1px solid var(--bcni-line);
	border-radius: 12px; padding: 22px;
}
.bcni-summary h3 { margin: 0 0 14px; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--bcni-muted); }
.bcni-summary dl, .bcni-op__job dl { display: grid; grid-template-columns: 150px 1fr; gap: 10px 16px; margin: 0; }
.bcni-summary dt, .bcni-op__job dt { color: var(--bcni-muted); font-size: 14px; }
.bcni-summary dd, .bcni-op__job dd { margin: 0; color: #fff; font-size: 15px; }

/* Operator standalone page */
.bcni-op-body { margin: 0; background: var(--bcni-ink, #0c0e12); min-height: 100vh; padding: 24px 16px; }
.bcni-op { max-width: 600px; }
.bcni-op__header { text-align: center; margin-bottom: 20px; }
.bcni-op__brand { color: var(--bcni-amber); font-weight: 800; letter-spacing: 3px; text-transform: uppercase; font-size: 14px; }
.bcni-op__card {
	background: var(--bcni-ink-2); border: 1px solid var(--bcni-line);
	border-top: 3px solid var(--bcni-amber); border-radius: var(--bcni-radius); padding: 30px;
}
.bcni-op__card--ok { text-align: center; }
.bcni-op__tick {
	width: 58px; height: 58px; line-height: 58px; margin: 0 auto 16px; border-radius: 50%;
	background: #22c55e; color: #06270f; font-size: 28px; font-weight: 800;
}
.bcni-op__card h1 { font-size: 24px; font-weight: 800; color: #fff; margin: 0 0 8px; text-transform: uppercase; }
.bcni-op__lead { color: var(--bcni-muted); margin: 0 0 20px; }
.bcni-op__job { background: var(--bcni-ink); border: 1px solid var(--bcni-line); border-radius: 12px; padding: 18px 20px; margin-bottom: 22px; }
.bcni-op__job h2 { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--bcni-muted); margin: 0 0 12px; }
.bcni-op .bcni-field { margin-bottom: 14px; }
.bcni-op__foot { text-align: center; color: #5b616b; font-size: 12px; margin-top: 18px; }

/* Responsive */
@media (max-width: 640px) {
	.bcni-grid { grid-template-columns: 1fr; }
	.bcni-board, .bcni-form { padding-left: 20px; padding-right: 20px; }
	.bcni-summary dl, .bcni-op__job dl { grid-template-columns: 1fr; gap: 2px 0; }
	.bcni-summary dd, .bcni-op__job dd { margin-bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
	.bcni-dot { animation: none; }
	.bcni-submit { transition: none; }
}

/* v1.2: operator payment note on the "you won" page */
.bcni-op__pay {
	margin: 16px 0;
	padding: 14px 16px;
	background: #fffaf0;
	border: 1px solid #ffe2a8;
	border-radius: 10px;
	color: #5b4708;
	font-size: 14px;
	line-height: 1.55;
}
.bcni-op__pay a { color: #b7791f; font-weight: 700; }

/* Trip-type toggle on the request form — compact dark pills */
.bcni-triptype .bcni-segment {
	display: inline-flex;
	gap: 8px;
	margin-top: 6px;
	flex-wrap: wrap;
}
.bcni-triptype .bcni-segment label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 20px;
	border: 1px solid var(--bcni-line);
	border-radius: 9px;
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
	line-height: 1;
	color: var(--bcni-muted);
	background: var(--bcni-ink-2);
	transition: border-color .15s, background .15s, color .15s;
}
.bcni-triptype .bcni-segment label:hover { border-color: rgba(255,179,0,.5); color: var(--bcni-text); }
.bcni-triptype .bcni-segment label:has(input:checked) {
	border-color: var(--bcni-amber);
	background: var(--bcni-amber);
	color: var(--bcni-ink);
}
/* Hide the native radio dot; the pill itself shows the state */
.bcni-triptype .bcni-segment input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
}

/* Read-only price comparison on the track screen — dark, matches the portal */
.bcni-compare {
	margin: 16px 0;
	padding: 22px;
	background: var(--bcni-ink-2);
	border: 1px solid var(--bcni-line);
	border-radius: 12px;
}
.bcni-compare__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}
.bcni-compare__head h3 {
	margin: 0;
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--bcni-muted);
}
.bcni-compare__count {
	font-size: 12px;
	color: var(--bcni-muted);
	background: rgba(255,255,255,.06);
	padding: 4px 11px;
	border-radius: 999px;
}
.bcni-comparetable { width: 100%; border-collapse: collapse; }
.bcni-comparetable th {
	text-align: left;
	font-size: 11px;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--bcni-muted);
	font-weight: 600;
	padding: 6px 8px;
	border-bottom: 1px solid var(--bcni-line);
}
.bcni-comparetable td {
	padding: 13px 8px;
	border-bottom: 1px solid rgba(255,255,255,.06);
	font-size: 15px;
	color: var(--bcni-text);
}
.bcni-comparetable tr:last-child td { border-bottom: none; }
.bcni-comparetable .bcni-compare__price { text-align: right; font-weight: 700; color: #fff; white-space: nowrap; }
.bcni-comparetable .bcni-compare__when { color: var(--bcni-muted); font-size: 14px; white-space: nowrap; }
.bcni-comparetable tr.is-lowest td { background: var(--bcni-amber-soft); }
.bcni-comparetable tr.is-lowest .bcni-compare__price { color: var(--bcni-amber); }
.bcni-comparetable tr.is-lowest td:first-child { border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
.bcni-comparetable tr.is-lowest td:last-child { border-top-right-radius: 8px; border-bottom-right-radius: 8px; }
.bcni-compare__tag {
	display: inline-block;
	margin-left: 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--bcni-ink);
	background: var(--bcni-amber);
	padding: 2px 8px;
	border-radius: 999px;
	vertical-align: middle;
}
.bcni-compare__note { margin: 14px 0 0; font-size: 12px; color: var(--bcni-muted); line-height: 1.5; }

/* v1.5: customer payment card on the track screen */
.bcni-paycard {
	background: var(--bcni-ink-2);
	border: 1px solid var(--bcni-line);
	border-left: 4px solid var(--bcni-amber);
	border-radius: 12px;
	padding: 20px 22px;
	margin-bottom: 16px;
}
.bcni-paycard__amt { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.bcni-paycard__amt span { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--bcni-muted); }
.bcni-paycard__amt strong { font-size: 30px; color: #fff; }
.bcni-paycard__due { margin: 8px 0 0; color: var(--bcni-text); font-size: 14px; }
.bcni-paycard__btn {
	display: inline-block;
	margin: 16px 0 0;
	background: var(--bcni-amber);
	color: var(--bcni-ink);
	text-decoration: none;
	font-weight: 700;
	padding: 13px 24px;
	border-radius: 9px;
	letter-spacing: .3px;
}
.bcni-paycard__btn:hover { filter: brightness(1.05); }
.bcni-paycard__note { margin: 12px 0 0; font-size: 12px; color: var(--bcni-muted); line-height: 1.5; }
.bcni-paycard--paid { border-left-color: #22c55e; }
.bcni-paycard__badge {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
	color: #06240f; background: #22c55e; padding: 5px 12px; border-radius: 30px; margin-bottom: 8px;
}
.bcni-paycard--paid p { margin: 0; color: var(--bcni-text); }

/* v1.13: operator portal (polished) + messaging */
.bcni-portal { max-width: 920px; margin: 0 auto; color: #1f2430; }
.bcni-btn { display: inline-block; border: 0; border-radius: 9px; font-weight: 700; cursor: pointer; padding: 13px 22px; font-size: 15px; text-decoration: none; text-align: center; transition: transform .05s ease, filter .15s ease; }
.bcni-btn:active { transform: translateY(1px); }
.bcni-btn--primary { background: #ffb300; color: #0c0e12; }
.bcni-btn--primary:hover { filter: brightness(1.05); }
.bcni-btn--dark { background: #0c0e12; color: #ffb300; }
.bcni-btn--ghost { background: transparent; border: 1px solid rgba(255,255,255,.4); color: #fff; }
.bcni-btn--sm { padding: 8px 16px; font-size: 13px; border-radius: 8px; }

/* Login */
.bcni-portal__login { max-width: 440px; margin: 24px auto; background: #0f1218; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 30px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.bcni-portal__login h2 { margin: 0 0 8px; color: #fff; font-size: 22px; }
.bcni-portal__login .bcni-label { color: #c7ccd6; }
.bcni-portal__login input { width: 100%; box-sizing: border-box; }
.bcni-portal__login .bcni-btn { width: 100%; margin-top: 6px; }

/* Header bar */
.bcni-portal__bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: linear-gradient(135deg, #14171d, #0c0e12); border-radius: 14px; padding: 16px 20px; margin-bottom: 18px; }
.bcni-portal__brand { color: #fff; font-weight: 800; font-size: 18px; line-height: 1.1; }
.bcni-portal__brand span { display: block; font-weight: 500; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #ffb300; margin-top: 3px; }
.bcni-portal__user { display: flex; align-items: center; gap: 14px; }
.bcni-portal__name { color: #c7ccd6; font-size: 14px; }
.bcni-portal__welcome h2 { margin: 0 0 4px; font-size: 22px; }
.bcni-portal__welcome { margin-bottom: 16px; }

/* Tabs (hidden until JS enables) */
.bcni-portal__tabs { display: none; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.bcni-tab { background: #f1f3f6; border: 1px solid #e3e6eb; color: #4b5563; border-radius: 999px; padding: 8px 15px; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.bcni-tab span { display: inline-block; min-width: 18px; margin-left: 4px; padding: 0 6px; background: #fff; border-radius: 999px; font-size: 12px; color: #6b7280; }
.bcni-tab.is-active { background: #0c0e12; color: #fff; border-color: #0c0e12; }
.bcni-tab.is-active span { background: #ffb300; color: #0c0e12; }

/* Groups — when tabbed, group heading hides (tab shows the label) */
.bcni-portal__group { margin-bottom: 22px; }
.bcni-portal__group h3 { display: flex; align-items: center; gap: 8px; font-size: 14px; text-transform: uppercase; letter-spacing: .5px; color: #6b7280; margin: 0 0 12px; }
.bcni-portal__groups.is-tabbed .bcni-portal__group h3 { display: none; }
.bcni-portal__count { font-size: 12px; background: #eef0f4; color: #4b5563; border-radius: 999px; padding: 1px 9px; letter-spacing: 0; }
.bcni-portal__empty { font-size: 14px; padding: 18px; background: #f8f9fb; border-radius: 10px; text-align: center; }

/* Request cards */
.bcni-reqcard { background: #fff; border: 1px solid #e7eaef; border-radius: 14px; padding: 18px 20px; margin-bottom: 14px; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.bcni-reqcard__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.bcni-reqcard__ref { font-weight: 800; font-size: 16px; letter-spacing: .4px; }
.bcni-reqcard__date { display: block; font-size: 13px; color: #6b7280; margin-top: 2px; }
.bcni-tag { flex: none; font-size: 11.5px; font-weight: 700; padding: 4px 11px; border-radius: 999px; white-space: nowrap; }
.bcni-tag--won { background: #e3f7ec; color: #1f7a45; }
.bcni-tag--lost { background: #f3f4f6; color: #6b7280; }
.bcni-tag--pending { background: #eaf1fe; color: #2c5fb3; }
.bcni-tag--awaiting { background: #fff1cf; color: #95680a; }
.bcni-reqcard__deadline { background: #fff8e8; border: 1px solid #f7e3ad; color: #8a6207; font-size: 13px; padding: 8px 12px; border-radius: 8px; margin-bottom: 12px; }
.bcni-reqcard__trip { display: grid; grid-template-columns: 92px 1fr; gap: 4px 14px; margin: 0 0 4px; font-size: 14px; }
.bcni-reqcard__trip dt { color: #8a91a0; }
.bcni-reqcard__trip dd { margin: 0; color: #1f2430; }
.bcni-reqcard__form { margin-top: 14px; padding-top: 14px; border-top: 1px solid #eef0f3; }
.bcni-reqcard__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bcni-reqcard__price { margin-top: 12px; padding-top: 12px; border-top: 1px solid #f1f2f4; font-size: 15px; }
.bcni-reqcard__price strong { font-size: 17px; }
.bcni-reqcard__msg { margin: 10px 0 0; font-size: 13.5px; color: #1f7a45; background: #f0fbf4; padding: 10px 12px; border-radius: 8px; }
.bcni-money { display: flex; align-items: center; border: 1px solid #d7dbe2; border-radius: 9px; overflow: hidden; }
.bcni-money > span { padding: 0 10px; color: #6b7280; background: #f6f7f9; align-self: stretch; display: flex; align-items: center; }
.bcni-money input { border: 0 !important; flex: 1; }

/* Message thread */
.bcni-thread { margin-top: 14px; border-top: 1px solid #eef0f3; padding-top: 10px; }
.bcni-thread > summary { cursor: pointer; list-style: none; font-size: 13.5px; font-weight: 600; color: #4b5563; display: flex; align-items: center; gap: 8px; }
.bcni-thread > summary::-webkit-details-marker { display: none; }
.bcni-thread__count { background: #eef0f4; color: #6b7280; border-radius: 999px; padding: 0 8px; font-size: 12px; }
.bcni-thread__new { background: #ffb300; color: #0c0e12; border-radius: 999px; padding: 0 8px; font-size: 11px; font-weight: 700; }
.bcni-thread__body { margin-top: 12px; }
.bcni-thread__msgs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.bcni-msg { max-width: 85%; padding: 8px 12px; border-radius: 12px; font-size: 13.5px; }
.bcni-msg__who { font-size: 11px; opacity: .7; margin-bottom: 2px; }
.bcni-msg__who span { margin-left: 4px; }
.bcni-msg--me { align-self: flex-end; background: #0c0e12; color: #fff; border-bottom-right-radius: 4px; }
.bcni-msg--them { align-self: flex-start; background: #f1f3f6; color: #1f2430; border-bottom-left-radius: 4px; }
.bcni-thread__form { display: flex; gap: 8px; align-items: flex-end; }
.bcni-thread__form textarea { flex: 1; }

@media (max-width: 600px) {
	.bcni-reqcard__fields { grid-template-columns: 1fr; }
	.bcni-portal__bar { flex-direction: column; align-items: flex-start; }
}

/* v1.14: compliance documents (portal) */
.bcni-compliance { border-radius: 14px; padding: 18px 20px; margin-bottom: 22px; border: 1px solid #e7eaef; background: #fff; }
.bcni-compliance.is-incomplete { border-color: #f3d28a; background: #fffdf6; }
.bcni-compliance.is-complete { border-color: #bfe8cd; background: #f6fcf8; }
.bcni-compliance__banner { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; margin-bottom: 14px; }
.bcni-compliance__icon { flex: none; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; color: #fff; }
.is-incomplete .bcni-compliance__icon { background: #e0a008; }
.is-complete .bcni-compliance__icon { background: #2e9e5b; }
.bcni-checklist { list-style: none; margin: 0 0 12px; padding: 0; }
.bcni-check { display: grid; grid-template-columns: 26px 1fr auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid #eef0f3; }
.bcni-check:last-child { border-bottom: 0; }
.bcni-check__box { width: 22px; height: 22px; border-radius: 6px; border: 2px solid #cdd2da; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: 14px; }
.bcni-check--approved .bcni-check__box { background: #2e9e5b; border-color: #2e9e5b; }
.bcni-check__label { font-weight: 600; }
.bcni-check__status { font-size: 13px; color: #4b5563; margin-top: 2px; }
.bcni-check__upload { grid-column: 2 / 4; display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: #6b7280; margin-top: 6px; }
.bcni-check__upload span { flex: none; }
.bcni-check__upload input[type="file"] { font-size: 12px; }
.bcni-check--approved .bcni-check__upload { display: none; }
.bcni-pill { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 999px; }
.bcni-pill--ok { background: #e3f7ec; color: #1f7a45; }
.bcni-pill--wait { background: #fff1cf; color: #95680a; }
.bcni-pill--bad { background: #fdecea; color: #b3302a; }
.bcni-pill--none { background: #eef0f4; color: #6b7280; }
.bcni-combined { margin: 4px 0 14px; border: 1px dashed #d7dbe2; border-radius: 10px; padding: 10px 14px; }
.bcni-combined > summary { cursor: pointer; font-size: 13.5px; font-weight: 600; color: #4b5563; }
.bcni-combined__body { margin-top: 10px; }
.bcni-compliance__hint { font-size: 12px; margin: 10px 0 0; }
.bcni-compliance .bcni-btn { margin-top: 4px; }

/* =========================================================
   Operator Gateway — split-panel login (v1.17.1)
   ========================================================= */

.bcni.bcni-opgate {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	font-family: 'Archivo', system-ui, sans-serif;
}

.bcni-opgate__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 520px;
	margin: 0 auto;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 32px 80px rgba(0,0,0,.55);
	border: 1px solid rgba(255,255,255,.07);
}

/* Left brand panel */
.bcni-opgate__left {
	background: linear-gradient(160deg, #0f1218 0%, #14171d 60%, #1a1e26 100%);
	border-right: 1px solid rgba(255,255,255,.07);
	padding: 48px 44px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.bcni-opgate__left::after {
	content: '';
	position: absolute;
	bottom: -80px;
	left: -80px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(255,179,0,.1) 0%, transparent 70%);
	pointer-events: none;
}
.bcni-opgate__brand {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #ffb300;
	margin-bottom: 32px;
}
.bcni-opgate__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ffb300;
	box-shadow: 0 0 0 0 rgba(255,179,0,.7);
	animation: bcni-pulse 2s infinite;
	flex-shrink: 0;
}
.bcni-opgate__heading {
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.5px;
	color: #fff;
	text-transform: uppercase;
	margin: 0 0 18px;
}
.bcni-opgate__heading span { color: #ffb300; }
.bcni-opgate__sub {
	font-size: 14px;
	line-height: 1.65;
	color: #8a909c;
	margin: 0 0 28px;
}
.bcni-opgate__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 11px;
}
.bcni-opgate__features li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: #c7ccd6;
	font-weight: 500;
}
.bcni-opgate__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(255,179,0,.15);
	color: #ffb300;
	font-size: 11px;
	font-weight: 800;
	flex-shrink: 0;
}

/* Right sign-in panel */
.bcni-opgate__right {
	background: #0c0e12;
	padding: 48px 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bcni-opgate__card { width: 100%; max-width: 340px; }
.bcni-opgate__card-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #ffb300;
	margin: 0 0 10px;
}
.bcni-opgate__card-title {
	font-size: 26px;
	font-weight: 800;
	color: #fff;
	line-height: 1.1;
	margin: 0 0 24px;
	text-transform: uppercase;
	letter-spacing: -0.3px;
}
.bcni-opgate__field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-bottom: 12px;
}
.bcni-opgate__fieldlabel {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #6b7280;
}
.bcni-opgate__input {
	width: 100%;
	box-sizing: border-box;
	background: #14171d;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 10px;
	padding: 13px 14px;
	color: #fff;
	font-size: 15px;
	font-family: 'Archivo', system-ui, sans-serif;
	transition: border-color .15s, box-shadow .15s;
}
.bcni-opgate__input::placeholder { color: #3d4250; }
.bcni-opgate__input:focus {
	outline: none;
	border-color: #ffb300;
	box-shadow: 0 0 0 3px rgba(255,179,0,.14);
}
.bcni-opgate__btn {
	width: 100%;
	background: #ffb300;
	color: #0c0e12;
	border: none;
	border-radius: 10px;
	padding: 15px 20px;
	font-family: 'Archivo', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .4px;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .15s, transform .08s;
}
.bcni-opgate__btn:hover { filter: brightness(1.08); }
.bcni-opgate__btn:active { transform: translateY(1px); }
.bcni-opgate__hint {
	margin: 12px 0 0;
	font-size: 12px;
	color: #3d4250;
	text-align: center;
	line-height: 1.5;
}

/* Responsive */
@media (max-width: 680px) {
	.bcni-opgate__inner { grid-template-columns: 1fr; }
	.bcni-opgate__left {
		padding: 36px 28px;
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,.07);
	}
	.bcni-opgate__right { padding: 36px 28px; }
}

/* =========================================================
   Operator Dashboard — dark premium reskin (v1.17.2)
   Logged-in view. Overrides the original light-theme cards
   to match the dark sign-in screen. CSS only.
   ========================================================= */

/* Centre + constrain the whole portal */
.bcni.bcni-portal {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	color: var(--bcni-text);
}

/* Welcome heading + subtitle */
.bcni-portal__welcome h2 { color: #fff; }
.bcni-portal .bcni-muted { color: #8a909c; opacity: 1; }

/* ---- Tabs ---- */
.bcni-portal__tabs { gap: 8px; }
.bcni-portal .bcni-tab {
	background: #14171d;
	border: 1px solid rgba(255,255,255,.1);
	color: #c7ccd6;
}
.bcni-portal .bcni-tab span {
	background: #0c0e12;
	color: #8a909c;
}
.bcni-portal .bcni-tab.is-active {
	background: var(--bcni-amber);
	border-color: var(--bcni-amber);
	color: #0c0e12;
}
.bcni-portal .bcni-tab.is-active span {
	background: rgba(0,0,0,.18);
	color: #0c0e12;
}

/* ---- Group headings + empty state ---- */
.bcni-portal__group h3 { color: #8a909c; }
.bcni-portal .bcni-portal__count {
	background: rgba(255,255,255,.08);
	color: #c7ccd6;
}
.bcni-portal .bcni-portal__empty {
	background: #14171d;
	border: 1px solid rgba(255,255,255,.07);
	color: #8a909c;
}

/* ---- Request cards ---- */
.bcni-portal .bcni-reqcard {
	background: #14171d;
	border: 1px solid rgba(255,255,255,.08);
	box-shadow: 0 8px 24px rgba(0,0,0,.3);
}
.bcni-portal .bcni-reqcard__ref { color: #fff; }
.bcni-portal .bcni-reqcard__date { color: #8a909c; }
.bcni-portal .bcni-reqcard__trip dt { color: #6b7280; }
.bcni-portal .bcni-reqcard__trip dd { color: #e7e9ee; }
.bcni-portal .bcni-reqcard__form,
.bcni-portal .bcni-reqcard__price { border-top-color: rgba(255,255,255,.08); }
.bcni-portal .bcni-reqcard__deadline {
	background: rgba(255,179,0,.1);
	border: 1px solid rgba(255,179,0,.3);
	color: #ffc955;
}

/* ---- Status tags ---- */
.bcni-portal .bcni-tag--won { background: rgba(34,197,94,.15); color: #4ade80; }
.bcni-portal .bcni-tag--lost { background: rgba(255,255,255,.08); color: #9aa0a6; }
.bcni-portal .bcni-tag--pending { background: rgba(96,165,250,.15); color: #93c5fd; }
.bcni-portal .bcni-tag--awaiting { background: rgba(255,179,0,.15); color: #ffc955; }

/* ---- Money input ---- */
.bcni-portal .bcni-money {
	border: 1px solid rgba(255,255,255,.12);
	background: #0c0e12;
}
.bcni-portal .bcni-money > span {
	background: #1a1e26;
	color: #8a909c;
}
.bcni-portal .bcni-money input { background: #0c0e12; color: #fff; }

/* ---- Message thread ---- */
.bcni-portal .bcni-thread { border-top-color: rgba(255,255,255,.08); }
.bcni-portal .bcni-thread > summary { color: #c7ccd6; }
.bcni-portal .bcni-thread__count {
	background: rgba(255,255,255,.08);
	color: #8a909c;
}
.bcni-portal .bcni-msg--me { background: var(--bcni-amber); color: #0c0e12; }
.bcni-portal .bcni-msg--them { background: #1a1e26; color: #e7e9ee; }

/* ---- Compliance / documents panel ---- */
.bcni-portal .bcni-compliance {
	background: #14171d;
	border: 1px solid rgba(255,255,255,.08);
}
.bcni-portal .bcni-compliance.is-incomplete {
	border-color: rgba(255,179,0,.35);
	background: linear-gradient(160deg, #16181d, #14171d);
}
.bcni-portal .bcni-compliance.is-complete {
	border-color: rgba(34,197,94,.35);
	background: linear-gradient(160deg, #141916, #14171d);
}
.bcni-portal .bcni-compliance__banner { color: #e7e9ee; }
.bcni-portal .bcni-check { border-bottom-color: rgba(255,255,255,.07); }
.bcni-portal .bcni-check__box {
	border: 2px solid rgba(255,255,255,.2);
	background: transparent;
}
.bcni-portal .bcni-check--approved .bcni-check__box {
	background: #22c55e;
	border-color: #22c55e;
}
.bcni-portal .bcni-check__label { color: #fff; }
.bcni-portal .bcni-check__status { color: #8a909c; }
.bcni-portal .bcni-check__upload { color: #8a909c; }
.bcni-portal .bcni-check__upload input[type="file"] { color: #8a909c; }

/* File "Browse" buttons + native inputs in the dark panel */
.bcni-portal .bcni-compliance input[type="file"]::file-selector-button {
	background: #1a1e26;
	color: #e7e9ee;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 8px;
	padding: 6px 12px;
	margin-right: 10px;
	cursor: pointer;
}

/* Pills */
.bcni-portal .bcni-pill--ok { background: rgba(34,197,94,.15); color: #4ade80; }
.bcni-portal .bcni-pill--wait { background: rgba(255,179,0,.15); color: #ffc955; }
.bcni-portal .bcni-pill--bad { background: rgba(239,68,68,.15); color: #fca5a5; }
.bcni-portal .bcni-pill--none { background: rgba(255,255,255,.08); color: #9aa0a6; }

/* Combined-policy disclosure */
.bcni-portal .bcni-combined {
	border: 1px dashed rgba(255,255,255,.15);
}
.bcni-portal .bcni-combined > summary { color: #c7ccd6; }

/* Document checklist primary button already amber via .bcni-btn--primary;
   ensure dark-on-amber text */
.bcni-portal .bcni-btn--primary { background: var(--bcni-amber); color: #0c0e12; }
.bcni-portal .bcni-compliance__hint { color: #6b7280; }

/* Operator standalone — portal CTA after price submission */
.bcni-op__card--ok p { color: var(--bcni-muted); margin: 0 0 0; }
.bcni-op__portal-cta {
	margin-top: 28px; padding: 22px 24px; text-align: left;
	background: var(--bcni-ink); border: 1px solid var(--bcni-line);
	border-left: 3px solid var(--bcni-amber); border-radius: 12px;
}
.bcni-op__portal-cta h2 {
	font-size: 15px; font-weight: 800; color: #fff;
	text-transform: uppercase; letter-spacing: 1px; margin: 0 0 8px;
}
.bcni-op__portal-cta > p { color: var(--bcni-muted); font-size: 14px; margin: 0 0 16px; }
.bcni-op__portal-btn {
	display: inline-block; background: var(--bcni-amber); color: #0c0e12 !important;
	font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: 1px;
	text-decoration: none; padding: 12px 22px; border-radius: 8px; margin-bottom: 14px;
}
.bcni-op__portal-btn:hover { background: #ffc933; color: #0c0e12 !important; }
.bcni-op__portal-hint { color: #5b616b; font-size: 12px; margin: 0; }

/* Documents box — compact in portal */
.bcni-portal .bcni-compliance { padding: 12px 14px; margin-bottom: 14px; border-radius: 10px; }
.bcni-portal .bcni-compliance__banner { font-size: 12.5px; gap: 8px; margin-bottom: 10px; }
.bcni-portal .bcni-compliance__icon { width: 20px; height: 20px; font-size: 11px; }
.bcni-portal .bcni-checklist { margin-bottom: 8px; }
.bcni-portal .bcni-check { padding: 8px 0; gap: 8px; grid-template-columns: 20px 1fr auto; }
.bcni-portal .bcni-check__box { width: 18px; height: 18px; font-size: 11px; border-radius: 4px; }
.bcni-portal .bcni-check__label { font-size: 13px; }
.bcni-portal .bcni-check__status { font-size: 12px; }
.bcni-portal .bcni-check__upload { font-size: 11.5px; margin-top: 4px; gap: 6px; }
.bcni-portal .bcni-combined { padding: 7px 10px; margin: 2px 0 10px; }
.bcni-portal .bcni-combined > summary { font-size: 12px; }
.bcni-portal .bcni-compliance__hint { font-size: 11px; margin: 6px 0 0; }
.bcni-portal .bcni-compliance .bcni-btn { padding: 8px 16px; font-size: 13px; margin-top: 2px; }
