/* WCM Check-in — organizer door console. Mobile-first; colours inherit from the
 * theme where possible and fall back to neutral defaults. */

.wcm-checkin {
	--wcm-ci-accent: var( --primary, #2563eb );
	--wcm-ci-ok: #1e7e34;
	--wcm-ci-line: #e2e5ea;
	max-width: 32rem;
	margin: 0 auto;
}

/* Door progress */
.wcm-ci-stats { display: flex; gap: 0.75rem; margin-bottom: 1rem; }
.wcm-ci-stat {
	flex: 1;
	padding: 0.6rem 0.85rem;
	border-radius: 10px;
	background: rgba( 0, 0, 0, 0.04 );
}
.wcm-ci-num { display: block; font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.wcm-ci-stat.is-checkedin .wcm-ci-num { color: var( --wcm-ci-ok ); }
.wcm-ci-lbl { font-size: 0.8rem; opacity: 0.7; }

/* Search + scan */
.wcm-ci-searchrow { display: flex; gap: 0.5rem; }
.wcm-ci-search {
	flex: 1;
	padding: 0.65em 0.85em;
	border: 1px solid #cbd2d9;
	border-radius: 8px;
	font: inherit;
}
.wcm-ci-scan {
	flex: 0 0 auto;
	width: 3rem;
	border: 1px solid #cbd2d9;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	display: grid;
	place-items: center;
}
.wcm-ci-scan:hover { background: rgba( 0, 0, 0, 0.04 ); }
.wcm-ci-scan-icon {
	width: 18px; height: 18px;
	border: 2px solid currentColor;
	border-radius: 4px;
	position: relative;
	opacity: 0.8;
}
.wcm-ci-scan-icon::after {
	content: ""; position: absolute; left: -2px; right: -2px; top: 50%;
	height: 2px; background: currentColor; transform: translateY( -50% );
}

/* Scanner surface */
.wcm-ci-scanner { margin-top: 0.85rem; }
.wcm-ci-reader { width: 100%; border-radius: 10px; overflow: hidden; }
.wcm-ci-scan-cancel {
	margin-top: 0.6rem; width: 100%;
	padding: 0.55em; border: 1px solid #cbd2d9; border-radius: 8px;
	background: #fff; cursor: pointer; font: inherit;
}

/* Messages */
.wcm-ci-msg { margin: 0.85rem 0 0; font-size: 0.9rem; min-height: 1.2em; }
.wcm-ci-msg.is-error { color: #c0392b; }
.wcm-ci-msg.is-success { color: var( --wcm-ci-ok ); }
.wcm-ci-msg.is-pending { opacity: 0.7; }

/* Results */
.wcm-ci-results { margin-top: 0.5rem; display: flex; flex-direction: column; gap: 0.6rem; }

.wcm-ci-card {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var( --wcm-ci-line );
	border-radius: 10px;
	flex-wrap: wrap;
}
.wcm-ci-card.is-checkedin { background: rgba( 30, 126, 52, 0.08 ); border-color: rgba( 30, 126, 52, 0.3 ); }
.wcm-ci-card.is-busy { opacity: 0.6; }

.wcm-ci-avatar {
	flex: 0 0 auto;
	width: 2.4rem; height: 2.4rem;
	border-radius: 50%;
	display: grid; place-items: center;
	background: rgba( 37, 99, 235, 0.12 );
	color: var( --wcm-ci-accent );
	font-size: 0.85rem; font-weight: 600;
}
.wcm-ci-info { flex: 1; min-width: 0; }
.wcm-ci-name { font-weight: 600; line-height: 1.25; }
.wcm-ci-sub { font-size: 0.82rem; opacity: 0.7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wcm-ci-action { flex: 0 0 auto; margin-left: auto; }

.wcm-ci-done { display: flex; align-items: center; gap: 0.6rem; }
.wcm-ci-done-lbl { font-size: 0.82rem; color: var( --wcm-ci-ok ); font-weight: 600; }

/* Buttons */
.wcm-ci-btn, .wcm-ci-undo {
	font: inherit; cursor: pointer;
	padding: 0.5em 0.9em;
	border-radius: 8px;
	border: 1px solid #cbd2d9;
	background: #fff;
}
.wcm-ci-btn.is-primary { background: var( --wcm-ci-accent ); border-color: var( --wcm-ci-accent ); color: #fff; }
.wcm-ci-btn:hover, .wcm-ci-undo:hover { filter: brightness( 0.97 ); }
.wcm-ci-undo { padding: 0.35em 0.7em; font-size: 0.82rem; opacity: 0.8; }
.wcm-ci-link { background: none; border: 0; cursor: pointer; font: inherit; color: inherit; opacity: 0.7; text-decoration: underline; }
button:disabled { cursor: default; opacity: 0.6; }

/* Empty state */
.wcm-ci-empty {
	padding: 1rem; border: 1px dashed var( --wcm-ci-line ); border-radius: 10px;
	text-align: center;
}
.wcm-ci-empty p { margin: 0 0 0.75rem; opacity: 0.75; }

/* Walk-up form (expands inside a card / empty state) */
.wcm-ci-walkup { flex: 1 0 100%; margin-top: 0.5rem; padding-top: 0.85rem; border-top: 1px solid var( --wcm-ci-line ); }
.wcm-ci-walkup-head { font-weight: 600; margin-bottom: 0.75rem; }
.wcm-ci-field { display: block; margin-bottom: 0.75rem; }
.wcm-ci-field > span { display: block; margin-bottom: 0.3rem; font-weight: 500; font-size: 0.9rem; }
.wcm-ci-field input, .wcm-ci-field select, .wcm-ci-field textarea {
	width: 100%; padding: 0.55em 0.7em; border: 1px solid #cbd2d9; border-radius: 6px; font: inherit;
}
.wcm-ci-radio { border: 0; margin: 0 0 0.75rem; padding: 0; }
.wcm-ci-radio > legend { font-weight: 500; font-size: 0.9rem; margin-bottom: 0.3rem; }
.wcm-ci-radio label { display: inline-flex; align-items: center; gap: 0.4em; margin-right: 1.25rem; }
.wcm-ci-cond.is-hidden { display: none; }
.wcm-ci-walkup-nav { display: flex; align-items: center; gap: 0.75rem; margin-top: 0.5rem; }

/* Access notice */
.wcm-ci-notice { padding: 1rem 1.25rem; border-radius: 8px; background: rgba( 0, 0, 0, 0.04 ); }
