/* Editing tools for Legal AI; loaded after the designer layer. */
.legal_ai #legal-ai-counter:not([hidden]) { display: block; max-width: none; margin-top: calc(var(--space-after-paragraph) / 2); }
.legal_ai #legal-ai-expand-input {
    display: none; flex: 0 0 var(--h-touch); align-items: center; justify-content: center;
    width: var(--h-touch); height: var(--h-touch); padding: 0; margin: 0;
    border: var(--legal-ai-border-width) solid transparent; border-radius: var(--radius-xl);
    background: var(--color-blend); color: var(--color-primary); cursor: pointer;
}
.legal_ai #legal-ai-expand-input svg { width: var(--legal-ai-icon-size); height: var(--legal-ai-icon-size); }
.legal_ai #legal-ai-expand-input:disabled { opacity: .5; cursor: not-allowed; }
.legal_ai .legal-ai-submit-wrap { position: relative; display: flex; flex: 0 0 var(--h-touch); }
.legal_ai #legal-ai-send-shortcut {
    position: absolute; right: 0; bottom: calc(100% + var(--space-after-paragraph) / 2);
    width: max-content; max-width: var(--max-width-text); padding: calc(var(--space-after-paragraph) / 2) calc(var(--space-after-paragraph) * .75);
    border-radius: var(--radius-sm); background: var(--color-primary); color: var(--color-white);
    font-family: var(--font-family); font-size: var(--text-xs); line-height: var(--leading-normal); box-shadow: var(--shadow-sm);
    visibility: hidden; opacity: 0; pointer-events: none; z-index: var(--legal-ai-layer);
}
.legal_ai #legal-ai-edit-note, .legal_ai .legal-ai-edit-confirm {
    display: flex; align-items: center; flex-wrap: wrap; gap: calc(var(--space-after-paragraph) / 2);
    padding: calc(var(--space-after-paragraph) / 2) var(--space-after-paragraph); margin-bottom: calc(var(--space-after-paragraph) / 2);
    border-radius: var(--radius-md); color: var(--color-heading); background: var(--color-bg-tint-purple);
    font-family: var(--font-family); font-size: var(--text-sm); line-height: var(--leading-normal);
}
.legal_ai .legal-ai-edit-note-text { flex: 1 1 var(--legal-ai-input-max); }
.legal_ai .legal-ai-edit-question, .legal_ai .legal-ai-edit-cancel, .legal_ai .legal-ai-edit-confirm button {
    display: inline-flex; align-items: center; justify-content: center; min-height: var(--h-touch);
    padding: calc(var(--space-after-paragraph) / 2) calc(var(--space-after-paragraph) * .75); margin: 0;
    border: var(--legal-ai-border-width) solid transparent; border-radius: var(--radius-sm);
    background: var(--color-white); color: var(--color-primary); font-family: var(--font-family);
    font-size: var(--text-sm); font-weight: var(--weight-regular); line-height: var(--leading-snug); cursor: pointer;
}
.legal_ai .legal-ai-edit-question { margin-left: auto; background: var(--color-white); }
.legal_ai .legal-ai-edit-question:disabled, .legal_ai .legal-ai-edit-confirm button:disabled { opacity: .5; cursor: not-allowed; }
.legal_ai #legal-ai-expand-input:focus-visible, .legal_ai .legal-ai-edit-question:focus-visible,
.legal_ai .legal-ai-edit-cancel:focus-visible, .legal_ai .legal-ai-edit-confirm button:focus-visible,
.legal_ai #legal-ai-expanded-editor button:focus-visible, .legal_ai #legal-ai-expanded-input:focus-visible {
    outline: var(--legal-ai-focus-width) solid var(--color-primary); outline-offset: var(--legal-ai-focus-offset);
}
.legal_ai #legal-ai-expanded-editor {
    display: none; position: fixed; box-sizing: border-box; inset: auto; top: var(--space-after-paragraph);
    width: calc(100% - var(--space-after-h1)); max-width: var(--max-width-wide);
    height: calc(var(--legal-ai-editor-height, 100dvh) - var(--space-after-h1)); max-height: none;
    margin: 0 auto; padding: var(--space-after-paragraph); border: var(--legal-ai-border-width) solid var(--color-gray);
    border-radius: var(--radius-lg); color: var(--color-heading); background: var(--color-white); box-shadow: var(--shadow-modal);
    font-family: var(--font-family); overflow: hidden;
}
.legal_ai #legal-ai-expanded-editor[open] { display: flex; flex-direction: column; left: 0; right: 0; }
.legal_ai #legal-ai-expanded-editor::backdrop { background: color-mix(in srgb, var(--color-primary) 45%, transparent); }
.legal_ai .legal-ai-expanded-header { display: flex; align-items: center; flex: 0 0 auto; gap: calc(var(--space-after-paragraph) / 2); padding-bottom: var(--space-after-paragraph); border-bottom: var(--legal-ai-border-width) solid var(--color-gray); }
.legal_ai #legal-ai-expanded-title { flex: 1; min-width: 0; margin: 0; padding: 0; font-size: var(--text-lg); font-weight: var(--weight-bold); line-height: var(--leading-heading); }
.legal_ai #legal-ai-expanded-editor button { display: inline-flex; align-items: center; justify-content: center; min-width: var(--h-touch); min-height: var(--h-touch); margin: 0; padding: calc(var(--space-after-paragraph) / 2) calc(var(--space-after-paragraph) * .75); border: 0; border-radius: var(--radius-md); font-family: var(--font-family); font-size: var(--text-md); line-height: var(--leading-snug); cursor: pointer; }
.legal_ai #legal-ai-expanded-close { background: var(--color-blend); color: var(--color-primary); font-size: var(--text-xl); }
.legal_ai #legal-ai-expanded-done { background: var(--color-primary); color: var(--color-white); }
.legal_ai #legal-ai-expanded-input { flex: 1 1 auto; min-height: 0; width: 100%; margin: var(--space-after-paragraph) 0; padding: calc(var(--space-after-paragraph) / 2); border: var(--legal-ai-border-width) solid transparent; border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-heading); font-family: var(--font-family); font-size: var(--text-md); line-height: var(--leading-normal); resize: none; overflow-y: auto; }
.legal_ai #legal-ai-expanded-input[aria-invalid="true"] { border-color: var(--color-danger); }
.legal_ai #legal-ai-expanded-hint { flex: 0 0 auto; margin: 0; padding: calc(var(--space-after-paragraph) / 2); color: var(--color-danger); font-size: var(--text-sm); line-height: var(--leading-normal); }
@media (hover: hover) and (pointer: fine) {
    .legal_ai .legal-ai-submit-wrap:hover #legal-ai-send-shortcut,
    .legal_ai .legal_ai_submit:focus-visible + #legal-ai-send-shortcut { visibility: visible; opacity: 1; }
    .legal_ai #legal-ai-expand-input:hover:not(:disabled), .legal_ai .legal-ai-edit-question:hover:not(:disabled),
    .legal_ai .legal-ai-edit-cancel:hover, .legal_ai .legal-ai-edit-confirm button:hover { background: var(--color-bg-tint-purple); border-color: var(--color-primary-disabled); }
    .legal_ai #legal-ai-expanded-done:hover { background: var(--color-primary-hover); }
    .legal_ai #legal-ai-expanded-close:hover { background: var(--color-bg-tint-purple); }
}
@media (max-width: 768px) {
    .legal_ai #legal-ai-expand-input { display: inline-flex; }
    .legal_ai #legal-ai-send-shortcut { display: none; }
    .legal_ai #legal-ai-expanded-editor { top: var(--legal-ai-editor-top, 0px); width: 100%; max-width: none; height: var(--legal-ai-editor-height, 100dvh); margin: 0; border: 0; border-radius: 0; padding: max(var(--space-after-paragraph), env(safe-area-inset-top)) max(var(--space-after-paragraph), env(safe-area-inset-right)) max(var(--space-after-paragraph), env(safe-area-inset-bottom)) max(var(--space-after-paragraph), env(safe-area-inset-left)); }
    .legal_ai .legal-ai-expanded-header { gap: calc(var(--space-after-paragraph) / 2); }
    .legal_ai #legal-ai-expanded-title { font-size: var(--text-md); }
}
