:root {
	--hb-ai-navy: #071d33;
	--hb-ai-blue: #103c64;
	--hb-ai-red: #ef3340;
	--hb-ai-mint: #63d9b6;
	--hb-ai-paper: #f5f3ef;
	--hb-ai-ink: #0a1118;
	--hb-ai-line: #d8dde2;
}

.hb-ai-offline {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--hb-ai-line);
	background: #fff;
}

.hb-ai-coach {
	max-width: 920px;
	margin: 1.5rem auto;
	border: 1px solid #22384d;
	background: #fff;
	box-shadow: 0 28px 70px rgba(4, 21, 38, .14);
	color: var(--hb-ai-ink);
}

.hb-ai-coach__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem;
	background: var(--hb-ai-navy);
	color: #fff;
}

.hb-ai-coach__head p,
.hb-ai-admin__hero p {
	margin: 0 0 .35rem;
	color: var(--hb-ai-mint);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.hb-ai-coach__head h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.45rem, 3vw, 2.4rem);
}

.hb-ai-coach__head > span {
	display: flex;
	align-items: center;
	gap: .5rem;
	max-width: 240px;
	font-size: .75rem;
	color: #b9c8d5;
}

.hb-ai-coach__head i,
.hb-ai-status i {
	width: .65rem;
	height: .65rem;
	border-radius: 50%;
	background: var(--hb-ai-mint);
	box-shadow: 0 0 0 .22rem rgba(99, 217, 182, .16);
}

.hb-ai-coach__notice {
	padding: .8rem 1.5rem;
	border-bottom: 1px solid var(--hb-ai-line);
	background: #fff8e8;
	font-size: .8rem;
}

.hb-ai-coach__messages {
	display: flex;
	flex-direction: column;
	gap: .9rem;
	min-height: 260px;
	max-height: 52vh;
	overflow: auto;
	padding: 1.5rem;
	background: var(--hb-ai-paper);
}

.hb-ai-coach__messages article {
	max-width: 82%;
	padding: .9rem 1rem;
	border: 1px solid var(--hb-ai-line);
	background: #fff;
}

.hb-ai-coach__messages article.is-user {
	align-self: flex-end;
	border-color: var(--hb-ai-blue);
	background: var(--hb-ai-blue);
	color: #fff;
}

.hb-ai-coach__messages b,
.hb-ai-coach__messages small {
	display: block;
	font-size: .7rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hb-ai-coach__messages p {
	margin: .35rem 0 0;
	white-space: pre-wrap;
}

.hb-ai-coach__messages small {
	margin-top: .55rem;
	color: #687581;
}

.hb-ai-coach__form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .75rem;
	padding: 1rem 1.5rem;
	border-top: 1px solid var(--hb-ai-line);
}

.hb-ai-coach__form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 74px;
	padding: .8rem;
	border: 1px solid #aeb9c2;
	font: inherit;
	resize: vertical;
}

.hb-ai-coach__form button,
.hb-ai-launcher {
	border: 0;
	background: var(--hb-ai-red);
	color: #fff;
	font-weight: 800;
	padding: .8rem 1.1rem;
	cursor: pointer;
}

.hb-ai-coach__form button:disabled { opacity: .55; cursor: wait; }
.hb-ai-coach > footer { padding: .7rem 1.5rem; color: #65717c; font-size: .72rem; }

.hb-ai-launcher {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 9997;
	border-radius: 999px;
	box-shadow: 0 14px 40px rgba(4, 21, 38, .28);
}

.hb-ai-launcher-panel {
	position: fixed;
	right: 1rem;
	bottom: 4.5rem;
	z-index: 9998;
	width: min(520px, calc(100vw - 2rem));
}

.hb-ai-launcher-panel .hb-ai-coach { margin: 0; }
.hb-ai-launcher-panel .hb-ai-coach__messages { min-height: 210px; max-height: 44vh; }

.hb-ai-admin { max-width: 1180px; }
.hb-ai-admin__hero { display: flex; justify-content: space-between; gap: 2rem; margin: 1.5rem 0; padding: 2rem; background: var(--hb-ai-navy); color: #fff; }
.hb-ai-admin__hero h1 { margin: 0; color: #fff; font-size: 2.6rem; }
.hb-ai-admin__hero span { color: #b9c8d5; }
.hb-ai-status { display: grid; grid-template-columns: auto 1fr; align-content: center; gap: .25rem .7rem; min-width: 230px; }
.hb-ai-status small { grid-column: 2; color: #b9c8d5; }
.hb-ai-status.is-off i { background: var(--hb-ai-red); }
.hb-ai-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 1.5rem 0; }
.hb-ai-stat-grid article { padding: 1.2rem; border: 1px solid var(--hb-ai-line); background: #fff; }
.hb-ai-stat-grid span { display: block; color: #687581; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.hb-ai-stat-grid b { font-size: 2rem; }
.hb-ai-settings section,
.hb-ai-admin__test,
.hb-ai-admin__jobs { margin: 1rem 0; padding: 1.5rem; border: 1px solid var(--hb-ai-line); background: #fff; }
.hb-ai-settings h2 { margin-top: 0; }
.hb-ai-toggle { display: grid; grid-template-columns: 42px 1fr; gap: .15rem .8rem; margin: 1rem 0; }
.hb-ai-toggle input { position: absolute; opacity: 0; }
.hb-ai-toggle > span { grid-row: 1 / span 2; width: 38px; height: 22px; margin-top: .1rem; border-radius: 999px; background: #aeb9c2; position: relative; }
.hb-ai-toggle > span::after { content: ''; position: absolute; width: 16px; height: 16px; top: 3px; left: 3px; border-radius: 50%; background: #fff; transition: .18s; }
.hb-ai-toggle input:checked + span { background: var(--hb-ai-blue); }
.hb-ai-toggle input:checked + span::after { transform: translateX(16px); }
.hb-ai-toggle small { color: #687581; }
.hb-ai-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.hb-ai-fields label span { display: block; margin-bottom: .4rem; font-weight: 700; }
.hb-ai-fields input { width: 100%; }

@media (max-width: 720px) {
	.hb-ai-coach__head,
	.hb-ai-admin__hero { align-items: flex-start; flex-direction: column; }
	.hb-ai-coach__head > span { max-width: none; }
	.hb-ai-coach__messages article { max-width: 92%; }
	.hb-ai-coach__form { grid-template-columns: 1fr; }
	.hb-ai-coach__form button { min-height: 48px; }
	.hb-ai-stat-grid { grid-template-columns: repeat(2, 1fr); }
	.hb-ai-fields { grid-template-columns: 1fr; }
	.hb-ai-launcher-panel { right: .5rem; bottom: 4.2rem; width: calc(100vw - 1rem); }
	.hb-ai-launcher { right: .75rem; bottom: .75rem; }
}



/* A focused planned-workout conversation, shared by web and Club app. */
.hb-ai-coach.hb-ai-workout{max-width:920px;width:100%;margin:0 auto;border:1px solid #dce3e9;border-radius:12px;box-shadow:none;overflow:hidden;font-family:"Nimbus Sans",Arial,sans-serif;color:#123954;background:#fff;box-sizing:border-box}
.hb-ai-workout *{box-sizing:border-box}
.hb-ai-workout .hb-ai-workout__back{display:block;padding:16px 22px;color:#123954;font-size:14px;font-weight:600;text-decoration:none;background:#f4f7f9}
.hb-ai-workout .hb-ai-workout__head{padding:28px 24px;background:linear-gradient(120deg,#0c2b47,#164c72);color:#fff}
.hb-ai-workout .hb-ai-workout__head p{margin:0 0 12px;color:#f697a5;text-transform:uppercase;letter-spacing:.1em;font-size:12px;line-height:1.5;font-weight:700}
.hb-ai-workout .hb-ai-workout__head h1{margin:0 0 14px;color:#fff;font-family:inherit;font-size:28px;line-height:1.18;font-weight:700;letter-spacing:-.02em}
.hb-ai-workout .hb-ai-workout__head span{display:block;color:#f2f6fa;font-size:15px;line-height:1.5}
.hb-ai-workout .hb-ai-workout__head small{display:block;margin-top:6px;color:#c0d2df;font-size:13px;line-height:1.5}
.hb-ai-workout .hb-ai-workout__body{padding:24px}
.hb-ai-workout .hb-ai-workout__intro{margin:0 0 18px;font-size:16px;line-height:1.5;color:inherit}
.hb-ai-workout .hb-ai-workout__suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.hb-ai-workout .hb-ai-workout__suggestions button{max-width:100%;min-height:44px;padding:10px 14px;border:1px solid #ccdce7;border-radius:6px;background:#edf4f8;color:#123954;cursor:pointer;font:600 14px/1.4 "Nimbus Sans",Arial,sans-serif;text-transform:none;white-space:normal}
.hb-ai-workout .hb-ai-workout__suggestions button:hover{background:#123954;color:#fff;border-color:#123954}
.hb-ai-workout .hb-ai-coach__form{display:grid;grid-template-columns:1fr;gap:10px;padding:0;border:0;margin:0}
.hb-ai-workout .hb-ai-coach__form label{font-size:14px;font-weight:700;line-height:1.5;margin:0}
.hb-ai-workout .hb-ai-coach__form textarea{min-height:104px;max-width:100%;border:1px solid #bbcbd7;border-radius:6px;padding:14px;font:400 16px/1.5 "Nimbus Sans",Arial,sans-serif;background:#fff;color:#123954;margin:0}
.hb-ai-workout .hb-ai-coach__form button{min-height:48px;width:100%;padding:12px 18px;background:#e9344c;color:#fff;border:0;border-radius:6px;font:700 16px/1.5 "Nimbus Sans",Arial,sans-serif;text-transform:none;cursor:pointer}
.hb-ai-workout .hb-ai-coach__form button:hover{background:#c9253c}
.hb-ai-workout .hb-ai-workout__hint{margin:0 0 10px;color:#637786;font-size:12px;line-height:1.5}
.hb-ai-workout .hb-ai-coach__messages{padding:0;margin:20px 0 0;min-height:0;max-height:none;overflow:visible;background:transparent;gap:14px}
.hb-ai-workout .hb-ai-coach__messages[hidden]{display:none}
.hb-ai-workout .hb-ai-coach__messages article{max-width:100%;width:100%;padding:16px;border-radius:6px}
.hb-ai-workout .hb-ai-coach__messages p{font-size:16px;line-height:1.5;overflow-wrap:anywhere;color:inherit}
.hb-ai-workout .hb-ai-workout__source{margin-top:22px;padding-top:18px;border-top:1px solid #dce3e9;font-size:14px;line-height:1.5}
.hb-ai-workout .hb-ai-workout__source summary{cursor:pointer;font-weight:600;padding:4px 0}
.hb-ai-workout .hb-ai-workout__source h2{font-family:inherit;font-size:16px;line-height:1.4;margin:18px 0 6px;color:inherit}
.hb-ai-workout .hb-ai-workout__source p{font-size:14px;line-height:1.5;margin:0;color:inherit}
.hb-ai-workout :is(a,button,textarea,summary):focus-visible{outline:3px solid #438ab8;outline-offset:3px}
.club-app[data-theme="dark"] .hb-ai-workout{background:#0e293c;border-color:#28475c;color:#e8f1f6}
.club-app[data-theme="dark"] .hb-ai-workout .hb-ai-workout__back{background:#102d43;color:#e8f1f6}
.club-app[data-theme="dark"] .hb-ai-workout .hb-ai-workout__suggestions button{background:#173c56;color:#e8f1f6;border-color:#36566b}
.club-app[data-theme="dark"] .hb-ai-workout .hb-ai-workout__hint{color:#adc2d0}
.club-app[data-theme="dark"] .hb-ai-workout .hb-ai-coach__messages article.is-assistant{background:#15394e;color:#e8f1f6;border-color:#36566b}
@media(max-width:600px){.hb-ai-workout .hb-ai-workout__body{padding:20px 16px}.hb-ai-workout .hb-ai-workout__head{padding:26px 20px}.hb-ai-workout .hb-ai-workout__back{padding:14px 20px}.hb-ai-coach.hb-ai-workout{border-radius:10px}}
