.jaimec-page { background: #f6f8f5; color: #10231f; }
.jaimec-shell { display: grid; gap: 2rem; max-width: 980px; padding-bottom: 5rem; padding-top: 5rem; }
.jaimec-intro { max-width: 760px; }
.jaimec-intro h1 { font-size: clamp(2.5rem, 6vw, 5rem); letter-spacing: -0.06em; line-height: 0.98; margin: 0.75rem 0 1.5rem; }
.jaimec-lead { color: #38534a; font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.65; max-width: 680px; }
.jaimec-boundary { color: #6f4b1e; font-size: 0.95rem; line-height: 1.55; margin-top: 1.25rem; }
.jaimec-status { align-items: center; color: #4b665d; display: flex; font-size: 0.85rem; gap: 0.5rem; margin-top: 1.25rem; }
.jaimec-status::before { background: #a9b9b1; border-radius: 999px; content: ''; display: inline-block; height: 0.6rem; width: 0.6rem; }
.jaimec-status[data-state='ready']::before { background: #1b8a5a; }
.jaimec-status[data-state='error']::before { background: #b95d3e; }
.jaimec-chat-card { background: rgba(255, 255, 255, 0.88); border: 1px solid rgba(16, 35, 31, 0.12); border-radius: 2rem; box-shadow: 0 24px 70px -45px rgba(16, 35, 31, 0.65); padding: clamp(1.25rem, 4vw, 2.25rem); }
.jaimec-chat-heading, .jaimec-form-footer { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.jaimec-chat-heading h2 { font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -0.03em; margin: 0.35rem 0 0; }
.jaimec-private-note { color: #6a7c74; font-size: 0.78rem; text-align: right; }
.jaimec-suggestions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.5rem 0; }
.jaimec-suggestion, .jaimec-cta { background: #f1f5f1; border: 1px solid #d8e2db; border-radius: 999px; color: #23443a; cursor: pointer; font: inherit; font-size: 0.86rem; padding: 0.65rem 0.9rem; text-align: left; }
.jaimec-suggestion:hover, .jaimec-suggestion:focus-visible { background: #e8f1e9; border-color: #9bb7a5; }
.jaimec-messages { display: grid; gap: 0.9rem; max-height: 31rem; overflow-y: auto; padding: 0.2rem; }
.jaimec-message { border-radius: 1.25rem; line-height: 1.6; max-width: 85%; padding: 0.9rem 1.1rem; }
.jaimec-message p { margin: 0.35rem 0 0; white-space: pre-wrap; }
.jaimec-message--assistant { background: #edf4ee; color: #203a31; justify-self: start; }
.jaimec-message--user { background: #10231f; color: white; justify-self: end; }
.jaimec-message-label { display: block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; opacity: 0.72; text-transform: uppercase; }
.jaimec-form { border-top: 1px solid #e2eae3; margin-top: 1.5rem; padding-top: 1.5rem; }
.jaimec-form textarea { background: #fbfdfb; border: 1px solid #c9d7ce; border-radius: 1rem; color: #10231f; display: block; font: inherit; line-height: 1.5; padding: 0.9rem 1rem; resize: vertical; width: 100%; }
.jaimec-form textarea:focus { border-color: #3d8063; box-shadow: 0 0 0 3px rgba(61, 128, 99, 0.15); outline: none; }
.jaimec-form-footer { margin-top: 0.85rem; }
.jaimec-error { color: #9a3d2e; font-size: 0.85rem; }
.jaimec-disclaimer { color: #6a7c74; font-size: 0.78rem; line-height: 1.5; margin: 1rem 0 0; }
.jaimec-sr-only { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); }
@media (max-width: 640px) { .jaimec-shell { padding-bottom: 3rem; padding-top: 3rem; } .jaimec-chat-heading { align-items: flex-start; flex-direction: column; } .jaimec-private-note { text-align: left; } .jaimec-message { max-width: 94%; } }
