.utcait-avatar-button {
	position: relative; display: block; width: 52px; height: 52px; padding: 2px;
	border: 1px solid #b8d1df; border-radius: 50%; background: #fff;
	box-shadow: 0 8px 18px rgba(4,35,54,.14); transition: transform .16s, box-shadow .16s;
}
.utcait-item:hover .utcait-avatar-button,
.utcait-item:focus-visible .utcait-avatar-button {
	transform: translateY(-3px); box-shadow: 0 12px 24px rgba(4,35,54,.22);
	outline: 3px solid rgba(18,134,194,.18);
}
.utcait-avatar-status {
	position: absolute; right: 1px; bottom: 3px; width: 9px; height: 9px;
	border: 2px solid #fff; border-radius: 50%; background: #2db67c;
	box-shadow: 0 0 0 3px rgba(45,182,124,.15);
}
.utcait-mock-badge {
	display: inline-block; margin: 0 9px 3px 0; padding: 3px 7px;
	border: 1px solid #e1b84d; border-radius: 999px; background: #fff8dc;
	color: #765600; font-size: 10px; font-weight: 800; letter-spacing: .06em; vertical-align: middle;
}
.utcait-item:focus-visible { background: #f2f8fb; outline: 3px solid rgba(18,134,194,.22); outline-offset: -3px; }
.utcait-dialog [hidden] { display: none !important; }

/* This shell deliberately mirrors the production UTC Insight conversation contract. */
.utcait-app-header {
	align-items: center; background: #fff; border-bottom: 1px solid #dbe5ea; color: #172f42;
	box-sizing: content-box; display: flex; flex: 0 0 auto; justify-content: space-between; min-height: 100px; padding: 14px 22px;
}
.utcait-trader-identity { align-items: center; display: flex; gap: 14px; min-width: 0; }
.utcait-trader-identity > img {
	border: 3px solid rgba(255,255,255,.75); border-radius: 22px; box-shadow: 0 7px 20px rgba(3,23,39,.24);
	flex: 0 0 72px; height: 72px; object-fit: cover; width: 72px;
}
.utcait-trader-identity > div { min-width: 0; }
.utcait-trader-identity h2 { color: #172f42; font-size: 21px !important; line-height: 1.25; margin: 0; }
.utcait-trader-identity h2 small { color: #607789; font-size: 12px; font-weight: 650; }
.utcait-trader-identity p { color: #607789; font-size: 12px; margin: 5px 0 0; }
.utcait-trader-identity p i { background: #38bb7d; border-radius: 50%; display: inline-block; height: 7px; margin-right: 6px; width: 7px; }
.utcait-language-button {
	align-items: center; background: rgba(255,255,255,.95) !important; border: 1px solid #cfdae1 !important;
	border-radius: 11px !important; color: #22455d !important; display: flex; flex: 0 0 auto; gap: 7px;
	min-height: 42px; opacity: 1 !important; padding: 0 13px !important;
}
.utcait-language-button small { color: #7690a0; }
.utcait-progress {
	background: #fafcfd; border-bottom: 1px solid #e7edf1; display: grid; flex: 0 0 auto; gap: 4px;
	grid-template-columns: repeat(4,1fr); padding: 14px 24px;
}
.utcait-progress span { color: #8496a2; font-size: 11px; line-height: 1.1; padding-top: 8px; position: relative; text-align: center; }
.utcait-progress span::before { background: #d8e2e7; border-radius: 4px; content: ""; height: 3px; left: 3px; position: absolute; right: 3px; top: 0; }
.utcait-progress span.is-current { color: #0b70ad; font-weight: 750; }
.utcait-progress span.is-current::before { background: #3b99c8; }
.utcait-progress span.is-complete { color: #23825f; }
.utcait-progress span.is-complete::before { background: #42aa83; }
.utcait-signal-context {
	background: #f7fafb; border: 0; border-bottom: 1px solid #edf1f3; color: #587486; flex: 0 0 auto;
	font-size: 12px; line-height: 1.45; margin: 0; min-height: 18px; padding: 10px 24px; white-space: pre-line;
}
.utcait-stage-workspace { flex: 1 1 auto; min-height: 0; overflow-y: auto; scroll-behavior: smooth; }
.utcait-welcome { padding: 28px 34px 8px; }
.utcait-welcome-log { display: flex; flex-direction: column; gap: 19px; padding: 0; }
.utcait-welcome-message { align-items: flex-start; display: flex; gap: 11px; margin: 0; }
.utcait-welcome-message img,
.utcait-chat .utcait-message img {
	border-radius: 15px; box-shadow: 0 4px 12px rgba(9,55,83,.14); flex: 0 0 54px;
	height: 54px; object-fit: cover; width: 54px;
}
.utcait-welcome-message > div,
.utcait-chat .utcait-message-body {
	background: #eef4f7; border-radius: 4px 16px 16px 16px; color: #193a50; font-size: 15px;
	line-height: 1.55; max-width: min(82%,820px); padding: 13px 16px;
}
.utcait-welcome-message p { margin: 0; }
.utcait-auth,.utcait-chat { padding: 28px 34px 34px; }
.utcait-auth { margin: 0 auto; max-width: 760px; }
.utcait-auth h3 { color: #172f42; font-size: 24px; margin: 0 0 8px; }
.utcait-auth > p { color: #607789; line-height: 1.5; }
.utcait-auth label { color: #2d4057; display: block; font-size: 12px; font-weight: 750; margin-top: 16px; }
.utcait-auth input[type="email"],.utcait-auth input[type="text"] {
	border: 1px solid #c6d2df; border-radius: 8px; box-sizing: border-box; display: block; font-size: 16px;
	margin-top: 6px; min-height: 48px; padding: 9px 11px; width: 100%;
}
.utcait-verify-row { align-items: center; display: flex; gap: 12px; margin-top: 12px; }
.utcait-verify-row button { background: #e9f2ff; border: 0; border-radius: 7px; color: #0b70ad; cursor: pointer; font-weight: 750; padding: 10px 13px; }
.utcait-verify-row span { color: #35735b; font-size: 12px; }
.utcait-auth > .utcait-primary-button { background: #087db8; border: 0; border-radius: 8px; color: #fff; cursor: pointer; margin-top: 18px; padding: 10px 15px; }
.utcait-status { color: #b42318; font-size: 12px; line-height: 1.45; margin: 0; min-height: 0; }
.utcait-chat { padding-bottom: 18px; }
.utcait-chat .utcait-messages { background: #fff; display: flex; flex-direction: column; gap: 14px; height: auto; margin: 0; min-height: 220px; padding: 2px 2px 20px; }
.utcait-chat .utcait-message { border-radius: 12px; display: block; margin: 0; max-width: 88%; padding: 12px 14px; }
.utcait-chat .utcait-message strong { display: block; font-size: 10px; letter-spacing: .06em; margin-bottom: 4px; text-transform: uppercase; }
.utcait-chat .utcait-message p { font-size: 14px; line-height: 1.5; margin: 0; white-space: pre-wrap; }
.utcait-chat .utcait-message.trader { align-self: flex-start; background: #eef4fa; color: #243b56; }
.utcait-chat .utcait-message.user { align-self: flex-end; background: #155bd5; color: #fff; }
.utcait-chat-actions {
	align-items: center; display: flex; flex: 0 0 auto; gap: 10px; justify-content: center; min-height: 50px; padding: 4px 24px 8px;
}
.utcait-chat-actions button {
	background: #087db8 !important; border: 0; border-radius: 8px !important; color: #fff !important; cursor: pointer;
	font-size: 13px !important; font-weight: 750; padding: 10px 15px !important;
}
.utcait-chat-actions button:disabled { background: #b7c5ce !important; cursor: not-allowed; }
.utcait-chat-actions span { color: #35735b; font-size: 11px; }
.utcait-composer {
	align-items: flex-end; background: #fff; border: 1px solid #c7d5dd; border-radius: 16px; box-shadow: 0 7px 22px rgba(9,37,61,.07);
	display: flex !important; flex: 0 0 auto; gap: 8px; grid-template-columns: none !important; margin: 0 22px; padding: 8px;
}
.utcait-composer:focus-within { border-color: #3d98c5; box-shadow: 0 0 0 3px rgba(61,152,197,.12); }
.utcait-composer textarea {
	background: transparent !important; border: 0 !important; box-shadow: none !important; box-sizing: border-box; flex: 1;
	font: inherit; height: 112px; line-height: 1.4; max-height: 30vh; min-height: 112px; outline: 0; padding: 10px 6px !important; resize: vertical;
}
.utcait-composer textarea:disabled { color: #7f909b; cursor: not-allowed; }
.utcait-composer button {
	align-self: flex-end; background: #087db8 !important; border: 0; border-radius: 12px !important; color: #fff !important;
	cursor: pointer; display: grid; flex: 0 0 42px; height: 42px !important; padding: 0 !important; place-items: center; width: 42px;
}
.utcait-composer button:disabled { background: #b7c5ce !important; cursor: not-allowed; }
.utcait-composer svg { fill: none; height: 22px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 22px; }
.utcait-conversation-disclaimer { color: #788595; flex: 0 0 auto; font-size: 10px; line-height: 1.45; margin: 9px 26px 12px; text-align: center; }
.utcait-conversation-disclaimer strong { color: #587080; }

@media(max-width:640px) {
	.utcait-app-header { min-height: 82px; padding: 10px 12px; }
	.utcait-trader-identity > img { flex-basis: 58px; height: 58px; width: 58px; }
	.utcait-trader-identity h2 { font-size: 17px !important; }
	.utcait-trader-identity h2 small { display: block; margin-top: 2px; }
	.utcait-language-button { padding: 0 9px !important; }
	.utcait-language-button > span:first-child,.utcait-language-button small { display: none; }
	.utcait-progress { padding: 12px 8px; }
	.utcait-signal-context { padding: 9px 14px; }
	.utcait-welcome,.utcait-auth,.utcait-chat { padding-left: 16px; padding-right: 16px; }
	.utcait-welcome-message img,.utcait-chat .utcait-message img { flex-basis: 44px; height: 44px; width: 44px; }
	.utcait-welcome-message > div,.utcait-chat .utcait-message-body { max-width: calc(100% - 55px); }
	.utcait-chat-actions { flex-wrap: wrap; padding-left: 12px; padding-right: 12px; }
	.utcait-composer { margin-left: 10px; margin-right: 10px; }
	.utcait-composer textarea { height: 96px; min-height: 96px; }
}
