.hb-chat-action { margin: 12px 0 22px; padding: 20px; border: 1px solid #c7dcd4; border-radius: 14px; background: #f5faf7; color: #163b32; }
.hb-chat-action h3 { margin: 0 0 8px; }
.hb-chat-action label { display: grid; gap: 5px; margin: 10px 0; font-size: 14px; }
.hb-chat-action input:not([type=checkbox]), .hb-chat-action textarea, .hb-chat-action select { width: 100%; min-width: 0; padding: 10px; border: 1px solid #b6cbc3; border-radius: 8px; background: white; color: #163b32; }
.hb-chat-action textarea { min-height: 95px; }
.hb-chat-action select[multiple] { height: 112px; }
.hb-chat-action .hb-check { display: flex; align-items: flex-start; gap: 9px; }
.hb-chat-action details { margin: 12px 0; }
.hb-chat-action blockquote { margin: 8px 0; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 180px; overflow: auto; }
.hb-chat-warning { color: #6c3b07; background: #fff2d9; border-radius: 8px; padding: 10px; margin: 8px 0; }
.hb-chat-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hb-chat-action .hb-chat-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.hb-chat-action [role=alert] { white-space: pre-wrap; color: #a02d21; }
.composer-actions .hb-chat-mic { min-width: 100px; min-height: 40px; border-radius: 8px; padding: 8px 12px; background: #e6f2ed; color: #174d3d; border: 1px solid #b6cbc3; }
.composer-actions .hb-chat-mic[aria-pressed=true] { color: white; background: #b53327; }
.hb-voice-status { font-size: 13px; padding: 6px 0; color: #275c4a; white-space: pre-wrap; }
.hb-voice-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.hb-voice-controls button { padding: 7px 10px; border-radius: 7px; }
.hb-chat-action small { display: block; }
.hb-chat-task-page { max-width: 1080px; margin: 0 auto; }
.hb-chat-task-page .page-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; scroll-margin-top: 90px; }
.hb-chat-task-page .page-heading h1 { margin: 0; }
.hb-chat-task-page .hb-chat-action { background: white; padding: clamp(16px, 3vw, 32px); }
.hb-chat-task-page .hb-chat-action form { display: grid; grid-template-columns: minmax(0,1fr); }
.hb-chat-task-page .hb-chat-action textarea { min-height: 150px; resize: vertical; }
.hb-chat-task-page .hb-chat-buttons { position: sticky; bottom: 0; padding: 14px 0; background: white; border-top: 1px solid #dce8e2; z-index: 2; }
.hb-chat-task-page .hb-chat-buttons button { min-height: 44px; }
.hb-chat-task-page h1:focus { outline: none; }
@media(max-width: 700px) { .hb-chat-fields { grid-template-columns: 1fr; gap: 0; } .hb-chat-action { padding: 12px; } .composer-actions small { display: none; } }
@media(max-width: 900px) { .chat-page .chat-grid { grid-template-columns: minmax(0,1fr); } .chat-page .sources { max-height: 180px; } }
.chat-page .mode-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.chat-page .mode-tabs button { min-width: 145px; flex: 1 1 160px; border-radius: 8px; padding: 8px; height: auto; min-height: 42px; }
.chat-page { height: auto; min-height: calc(100dvh - 70px); overflow: visible; }
.chat-page .chat-grid { grid-template-columns: minmax(0,2fr) minmax(220px,1fr); flex: none; }
.chat-page .conversation { min-height: 320px; max-height: 62dvh; }
.chat-page .sources { min-height: 0; max-height: 62dvh; }
.chat-page .composer { position: sticky; bottom: 0; z-index: 4; }
