/* Student Chatbot Builder: builds on frontend.css (same palette and controls). */

.ee-cb-builder .ee-cb-b-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; margin: 14px 0 12px; }
.ee-cb-builder .ee-cb-b-head > div { flex: 1 1 320px; min-width: 0; }
.ee-cb-builder .ee-cb-back { margin: 12px 0 0; font-size: 0.88em; }
.ee-cb-builder .ee-cb-back a { color: var(--ee-cb-accent); }
.ee-cb-subheading { font-size: 1.02em; margin: 22px 0 8px; }

.ee-cb-badge { display: inline-block; font-size: 0.62em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 2px 8px; border-radius: 999px; vertical-align: middle; background: var(--ee-cb-surface); color: var(--ee-cb-muted); border: 1px solid var(--ee-cb-border); }
.ee-cb-badge.is-live { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.ee-cb-badge.is-paused { background: var(--ee-cb-warning-soft); color: var(--ee-cb-warning); border-color: #fcd34d; }

.ee-cb-bot-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.ee-cb-bot-list li { margin: 0; }
.ee-cb-bot-card { display: block; border: 1px solid var(--ee-cb-border); border-radius: 8px; padding: 12px 14px; text-decoration: none !important; color: var(--ee-cb-text) !important; background: #fff; height: 100%; }
.ee-cb-bot-card:hover, .ee-cb-bot-card:focus { border-color: var(--ee-cb-accent); }
.ee-cb-bot-card-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.ee-cb-bot-card-name { font-weight: 700; overflow-wrap: anywhere; }
.ee-cb-bot-card-meta { display: block; font-size: 0.8em; color: var(--ee-cb-muted); margin-top: 4px; }

.ee-cb-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--ee-cb-border); margin: 0 0 16px; }
.ee-cb-tab { padding: 8px 14px; border: 1px solid transparent; border-bottom: 0; border-radius: 6px 6px 0 0; text-decoration: none !important; color: var(--ee-cb-muted) !important; font-weight: 600; font-size: 0.92em; margin-bottom: -1px; }
.ee-cb-tab.is-active { color: var(--ee-cb-accent) !important; border-color: var(--ee-cb-border); background: #fff; }

.ee-cb-builder textarea, .ee-cb-builder input[type=text], .ee-cb-builder input[type=number], .ee-cb-builder input[type=date], .ee-cb-builder select { width: 100%; }
.ee-cb-starter-input { margin-bottom: 6px; }
.ee-cb-builder fieldset { border: 0; padding: 0; margin: 0 0 14px; min-width: 0; }
.ee-cb-builder legend { font-weight: 600; font-size: 0.92em; margin-bottom: 6px; padding: 0; }
.ee-cb-status-choice label { display: flex; gap: 8px; align-items: center; font-weight: 400; margin: 4px 0; }
.ee-cb-app .ee-cb-status-choice input[type=radio] { width: auto; height: auto; margin: 0; flex: 0 0 auto; }

.ee-cb-rules { list-style: none; margin: 0; padding: 0; }
.ee-cb-rule { border: 1px solid var(--ee-cb-border); border-radius: 6px; padding: 8px 12px; margin: 0 0 6px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; font-size: 0.9em; }
.ee-cb-rule-q { grid-column: 1; color: var(--ee-cb-muted); font-style: italic; overflow-wrap: anywhere; }
.ee-cb-rule-fix { grid-column: 1; overflow-wrap: anywhere; }
.ee-cb-rule-delete { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 0.85em; }
.ee-cb-rewrite { margin-top: 22px; border: 1px solid var(--ee-cb-border); border-radius: 8px; padding: 8px 14px; }
.ee-cb-rewrite summary { cursor: pointer; font-weight: 700; color: var(--ee-cb-accent); }
.ee-cb-rewrite form { margin-top: 12px; }

.ee-cb-sources { width: 100%; border-collapse: collapse; font-size: 0.9em; margin: 8px 0 4px; }
.ee-cb-sources th, .ee-cb-sources td { text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--ee-cb-border); vertical-align: top; overflow-wrap: anywhere; }
.ee-cb-sources th { font-size: 0.82em; color: var(--ee-cb-muted); }
.ee-cb-sources tr.is-error .ee-cb-source-status { color: var(--ee-cb-danger); }
.ee-cb-sources tr.is-processing .ee-cb-source-status { color: var(--ee-cb-accent); }
.ee-cb-kb-add { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }

.ee-cb-sandbox { border: 1px solid var(--ee-cb-border); border-radius: 8px; padding: 6px 12px 12px; }
.ee-cb-msg.is-welcome { border-style: dashed; }
.ee-cb-msg-src { font-size: 0.75em; color: var(--ee-cb-muted); margin: 6px 0 0; }
.ee-cb-fix-form { margin-top: 8px; border-top: 1px dashed var(--ee-cb-border); padding-top: 8px; }
.ee-cb-fix-form label { display: block; font-size: 0.82em; font-weight: 600; margin-bottom: 4px; }
.ee-cb-fix-form textarea { width: 100%; }
.ee-cb-fix-bar { display: flex; gap: 10px; align-items: center; margin-top: 6px; }
.ee-cb-ask-again { margin-top: 6px; }

.ee-cb-copy-row { display: flex; gap: 6px; align-items: flex-start; }
.ee-cb-copy-row input, .ee-cb-copy-row textarea { flex: 1 1 auto; min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.82em; }
.ee-cb-budget-meter { margin: 6px 0 12px; }
.ee-cb-budget-bar { height: 8px; background: var(--ee-cb-surface); border-radius: 999px; overflow: hidden; border: 1px solid var(--ee-cb-border); }
.ee-cb-budget-bar span { display: block; height: 100%; background: var(--ee-cb-accent); }
.ee-cb-budget-text { font-size: 0.82em; color: var(--ee-cb-muted); margin: 4px 0 0; }

.ee-cb-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ee-cb-stats div { background: var(--ee-cb-surface); border-radius: 8px; padding: 10px 12px; }
.ee-cb-stats strong { display: block; font-size: 1.5em; }
.ee-cb-stats span { font-size: 0.8em; color: var(--ee-cb-muted); }
.ee-cb-report { border: 1px solid var(--ee-cb-border); border-radius: 8px; padding: 10px 14px; margin-bottom: 10px; }
.ee-cb-report-body:empty { display: none; }
.ee-cb-convo-list { list-style: none; margin: 0; padding: 0; }
.ee-cb-convo-list li { margin: 0 0 6px; }
.ee-cb-convo-open { display: block; width: 100%; text-align: left; background: #fff !important; border: 1px solid var(--ee-cb-border); border-radius: 6px; padding: 8px 12px; cursor: pointer; color: var(--ee-cb-text) !important; }
.ee-cb-convo-open:hover { border-color: var(--ee-cb-accent); }
.ee-cb-convo-first { display: block; font-weight: 600; font-size: 0.92em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ee-cb-convo-meta { display: block; font-size: 0.75em; color: var(--ee-cb-muted); }
.ee-cb-convo-view-head { display: flex; justify-content: space-between; align-items: center; }

@media (max-width: 600px) {
	.ee-cb-stats { grid-template-columns: 1fr; }
	.ee-cb-tab { padding: 6px 9px; font-size: 0.85em; }
	.ee-cb-copy-row { flex-wrap: wrap; }
}
.ee-cb-test-reset { font-size: 0.85em !important; }
