/* Refined Legal AI workspace; brand colors and existing design tokens. */
.legal_ai .legal_ai_body {
    padding: var(--space-after-h2);
    background: linear-gradient(145deg, color-mix(in srgb, var(--color-bg-tint-purple) 45%, var(--color-white)), var(--color-white) 60%);
    border-color: color-mix(in srgb, var(--color-primary-disabled) 25%, var(--color-gray));
    border-radius: var(--radius-xl); box-shadow: var(--shadow-sm);
}
.legal_ai .legal-ai-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-after-paragraph); margin-bottom: var(--space-after-h2); }
.legal_ai .legal-ai-intro { display: flex; align-items: center; gap: calc(var(--space-after-paragraph) * .75); min-width: 0; }
.legal_ai .legal-ai-mark { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 var(--h-touch); width: var(--h-touch); height: var(--h-touch); border-radius: var(--radius-md); background: var(--color-bg-tint-purple); color: var(--color-primary); }
.legal_ai .legal_ai_body .legal-ai-greeting { margin: 0; font-size: var(--sub-h); letter-spacing: var(--tracking-tight); line-height: var(--leading-heading); }
.legal_ai .legal-ai-has-history .legal-ai-intro { display: none; }
.legal_ai .legal-ai-has-history .legal-ai-toolbar { margin-bottom: var(--space-after-paragraph); }
.legal_ai .legal-ai-toolbar .box_info { margin: 0; gap: calc(var(--space-after-paragraph) / 2); flex: 0 1 auto; }
.legal_ai .legal-ai-has-history .box_info { width: 100%; }
.legal_ai #access_law { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: calc(var(--space-after-paragraph) / 4); width: auto; min-height: var(--h-small); padding: calc(var(--space-after-paragraph) / 4) calc(var(--space-after-paragraph) * .75); margin: 0; border: var(--legal-ai-border-width) solid var(--color-gray); border-radius: var(--radius-xl); background: var(--color-white); color: var(--color-muted); font-size: var(--text-sm); white-space: nowrap; }
.legal_ai #used_available { color: var(--color-heading); font-weight: var(--weight-bold); }
.legal_ai #access_law.not_access, .legal_ai .not_access #used_available { color: var(--color-danger); }
.legal_ai .legal-ai-has-history #access_law { margin-left: auto; }
.legal_ai #info_market { position: relative; inset: auto; }
.legal_ai #legal-ai-quota-note { color: var(--color-danger); font-size: var(--text-sm); padding: calc(var(--space-after-paragraph) * .75) var(--space-after-paragraph); background: var(--color-danger-light); border-radius: var(--radius-sm); margin: 0 0 var(--space-after-paragraph); }
.legal_ai .legal-ai-composer { background: transparent; }
.legal_ai #legal_ai_query { border-color: var(--color-gray-border); border-radius: var(--radius-lg); padding: calc(var(--space-after-paragraph) * .75); box-shadow: var(--shadow-sm); transition: border-color var(--transition), box-shadow var(--transition); }
.legal_ai #legal_ai_query:focus-within { border-color: var(--color-primary); box-shadow: 0 0 0 var(--legal-ai-focus-offset) color-mix(in srgb, var(--color-primary) 10%, transparent); }
.legal_ai textarea.legal_ai_textarea { padding: calc(var(--space-after-paragraph) / 2) calc(var(--space-after-paragraph) / 4); font-size: var(--text-md); line-height: var(--leading-normal); }
.legal_ai .legal-ai-query-actions { gap: calc(var(--space-after-paragraph) / 2); margin-top: calc(var(--space-after-paragraph) / 2); }
.legal_ai .legal-ai-query-tools { display: flex; align-items: center; gap: calc(var(--space-after-paragraph) / 2); min-width: 0; flex: 1; }
.legal_ai #legal-ai-counter { min-width: 0; color: var(--color-muted); font-size: var(--text-xs); line-height: var(--leading-snug); }
.legal_ai #legal-ai-counter.legal-ai-over-limit { color: var(--color-danger); }
.legal_ai button.legal_ai_submit, .legal_ai #upload-button-ai { border-radius: var(--radius-xl); border-color: transparent; }
.legal_ai #upload-button-ai { color: var(--color-primary); background: var(--color-blend); }
.legal_ai #upload-button-ai::after { content: none; }
.legal_ai #upload-button-ai svg { display: block; }
.legal_ai button.legal_ai_submit { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-white); box-shadow: var(--shadow-sm); }
.legal_ai button.legal_ai_submit:disabled { background: var(--color-gray-disabled); border-color: var(--color-gray-disabled); color: var(--color-primary-disabled); box-shadow: none; }
.legal_ai button.legal_ai_submit:not(:disabled) path, .legal_ai button.legal_ai_submit:disabled path { fill: none; }
.legal_ai .legal-ai-composer-meta { margin: 0; }
.legal_ai #legal-ai-draft-note:empty { display: none; }
.legal_ai #legal-ai-draft-note:not(:empty) { display: block; margin-top: calc(var(--space-after-paragraph) / 2); }
.legal_ai #legal-ai-status:not(:empty) { margin-top: calc(var(--space-after-paragraph) / 2); }
.legal_ai .wrapper_cases_top { margin-top: var(--space-after-h3); }
.legal_ai .cases_top { gap: calc(var(--space-after-paragraph) / 2); }
.legal_ai .cases_top button { background: var(--color-white); border-color: var(--color-gray); font-size: var(--text-base); border-radius: var(--radius-md); color: var(--color-text-primary); }
.legal_ai .cases_top button:hover:not(:disabled) { background: var(--color-bg-tint-purple); border-color: var(--color-primary-disabled); color: var(--color-primary); }
.legal_ai #legal-ai-template-toggle { background: transparent; border-color: var(--color-gray); border-radius: var(--radius-md); font-weight: var(--weight-regular); }
.legal_ai .legal_ai_answer_you { max-width: var(--max-width-wide); margin-left: auto; background: var(--color-bg-tint-blue); }
.legal_ai .legal_ai_answer_ai { border-color: var(--color-gray); box-shadow: none; }
.legal_ai .legal-ai-answer-actions { margin-top: 0; margin-left: auto; }
.legal_ai .legal_ai_answer_copy, .legal_ai .legal-ai-refine { background: var(--color-blend); border-color: transparent; font-weight: var(--weight-regular); }
.legal_ai .legal_ai_answer_top { align-items: center; }
.legal_ai_question.page-block { overflow: visible; border-radius: 0; margin-top: var(--space-section); }
.legal_ai_question > h2 { font-size: var(--section-h); line-height: var(--leading-heading); letter-spacing: var(--tracking-tight); margin: 0 0 var(--space-after-h2); color: var(--color-heading); }
.legal_ai_question .information-wrap-column { border: var(--legal-ai-border-width) solid var(--color-gray); border-radius: var(--radius-lg); overflow: hidden; background: var(--color-white); }
.legal_ai_question .question-ask-pub { background: var(--color-white); margin: 0; }
.legal_ai_question .question-ask-pub + .question-ask-pub { border-top: var(--legal-ai-border-width) solid var(--color-gray); }
.legal_ai_question .question-ask-pub .information-header-wrapper { padding: var(--space-after-h3) var(--space-after-h2); border-radius: 0; background: var(--color-white); }
.legal_ai_question .question-ask-pub .information-header-wrapper.active { background: var(--color-blend); }
.legal_ai_question .question-ask-pub .information-header-wrapper p { line-height: var(--leading-normal); }
.legal_ai_question .question-ask-pub .information-dropdown-body { padding-left: var(--space-after-h2); padding-right: var(--space-after-h2); line-height: var(--leading-normal); }
.legal_ai_question .question-ask-pub .panel { background: var(--color-white); border-radius: 0; }
@media (max-width: 768px) {
    .legal_ai .legal_ai_body { padding: var(--space-after-paragraph); }
    .legal_ai .legal_ai_body .legal-ai-greeting { font-size: var(--text-xl); }
    .legal_ai .legal-ai-toolbar { gap: calc(var(--space-after-paragraph) * .75); margin-bottom: var(--space-after-h3); }
    .legal_ai .legal-ai-has-history .legal-ai-composer { background: var(--color-white); }
    .legal_ai .cases_top button { font-size: var(--text-sm); }
    .legal_ai_question .question-ask-pub .information-header-wrapper { padding: var(--space-after-paragraph); }
    .legal_ai_question .question-ask-pub .information-dropdown-body { padding-inline: var(--space-after-paragraph); }
}
@media (max-width: 540px) {
    .legal_ai .legal-ai-toolbar { flex-wrap: wrap; align-items: flex-start; }
    .legal_ai .legal-ai-toolbar .box_info { width: 100%; justify-content: space-between; }
    .legal_ai #access_law { margin: 0; width: auto; }
    .legal_ai .legal-ai-has-history #access_law { margin-left: auto; }
    .legal_ai #legal-ai-counter { max-width: calc(var(--space-section) * 2.5); }
    .legal_ai .legal-ai-intro { gap: calc(var(--space-after-paragraph) / 2); }
    .legal_ai .legal-ai-mark { flex-basis: var(--h-small); width: var(--h-small); height: var(--h-small); border-radius: var(--radius-sm); }
    .legal_ai .legal-ai-mark svg { width: var(--legal-ai-icon-size); height: var(--legal-ai-icon-size); }
    .legal_ai #legal_ai_query { padding: calc(var(--space-after-paragraph) / 2); }
}
