.clai-chat{max-width:900px;margin:28px auto;background:#fffdf8;color:#123653;border:1px solid #e0d2bc;border-radius:19px;box-shadow:0 12px 35px rgba(11,44,77,.08);padding:28px;font-family:inherit}
.clai-chat h2{font-size:clamp(1.3rem,2.8vw,2rem);color:#09325d;margin:0 0 12px}.clai-chat p{line-height:1.65}.clai-chat .clai-intro{color:#4a6379}
.clai-chat .clai-state{background:#f4ede2;padding:13px 16px;border-radius:9px}.clai-chat .clai-link{color:#064d76;text-decoration:underline}.clai-chat .clai-quota{font-size:.92rem;color:#27516c}
.clai-chat .clai-messages{max-height:380px;min-height:70px;overflow:auto;padding:12px 0;display:flex;flex-direction:column;gap:12px}
.clai-chat .clai-bubble{max-width:95%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;padding:12px 16px;border-radius:12px;background:#f4f0e9;color:#153951}
.clai-chat .clai-bubble.clai-user{background:#0b335e;color:white;align-self:flex-end}.clai-chat .clai-bubble.clai-assistant{align-self:flex-start}
.clai-chat .clai-chat-form{margin-top:14px}.clai-chat .clai-chat-form label{font-weight:600;color:#123c60;display:block}
.clai-chat textarea.clai-question{display:block;width:100%;max-width:100%;box-sizing:border-box;margin:10px 0 12px;padding:12px 14px;border:1px solid #b8c7d0;border-radius:12px;background:#fff;color:#17354b;font:inherit;resize:vertical;min-height:98px}
.clai-chat .clai-actions{display:flex;gap:12px;flex-wrap:wrap}.clai-chat button{cursor:pointer;border-radius:10px;font:inherit;padding:11px 18px;border:1px solid #a8bac8}.clai-chat button.clai-send{background:#0b335e;color:white;border-color:#0b335e}.clai-chat button.clai-reset{background:white;color:#0b335e}
.clai-chat button[disabled]{cursor:wait;opacity:.6}.clai-chat .clai-notice{min-height:20px;font-size:.92rem;color:#5e7180}
@media(max-width:660px){.clai-chat{padding:17px;margin:20px auto;border-radius:13px}}

/* v0.4.3: proportionate but legible AI disclosure */
.clai-chat .clai-intro{font-size:.99rem}
.clai-chat .clai-small-disclosure{font-size:.8rem;line-height:1.6;color:#65778a;margin:18px 0 0}
.clai-chat{scroll-margin-top:106px}
.clai-account button[type="submit"]{background:#07325f;color:white;padding:11px 18px;border:0;border-radius:9px;font:inherit;cursor:pointer}
.clai-account label{line-height:1.65}

/* v0.4.4: self-service onboarding, isolated from the theme. */
.clai-register-panel{border:1px solid #ded0bc;border-radius:14px;background:#fff;padding:22px;margin:20px 0;color:#153951}
.clai-register-panel h3{font-size:clamp(1.15rem,2.4vw,1.55rem);margin:0 0 7px;color:#09325d}
.clai-register-panel p{margin:10px 0 16px;color:#486276;line-height:1.55}
.clai-signup-form{display:grid;gap:12px}
.clai-signup-form label{display:block;font-weight:600;font-size:.9rem;color:#123c60}
.clai-signup-form input:not([type=hidden]),.clai-signup-form select{display:block;width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #bccbd6;border-radius:9px;background:#fff;color:#163850;padding:11px 12px;font:inherit}
.clai-signup-form input:focus-visible,.clai-signup-form select:focus-visible{outline:3px solid #e5c583;outline-offset:2px}
.clai-signup-form button.clai-register-submit{background:#0b335e;color:#fff;border:0;border-radius:9px;padding:13px 18px;font-weight:650;cursor:pointer}
.clai-register-panel .clai-signup-privacy{font-size:.78rem;color:#647b89;margin:3px 0 0}
.clai-register-panel .clai-register-error{border-left:4px solid #bb352f;background:#fff0ed;color:#792824;padding:12px 14px}
.clai-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.clai-account form.clai-checkout-selected{border:2px solid #c59b56;border-radius:10px;padding:10px;background:#fff9ed}
@media(max-width:600px){.clai-register-panel{padding:15px}}
