.ombox-rich-text-editor {
    display: grid;
    gap: var(--space-1, .25rem);
    min-width: 0;
}

.ombox-rich-text-label {
    color: var(--color-text-primary, #172033);
    font-size: var(--widget-label-font-size, 14px);
    font-weight: 700;
    line-height: var(--widget-label-line-height, 1.571);
}

.ombox-rich-text-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    padding: .35rem;
    background: var(--color-surface-muted, #f8fafc);
    border: var(--border-width-thin, 1px) solid var(--color-border, #dce3ec);
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
}

.ombox-rich-text-command {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 26px;
    padding: 0 .45rem;
    color: var(--color-text-primary, #172033);
    background: var(--color-white, #fff);
    border: var(--border-width-thin, 1px) solid var(--color-border, #dce3ec);
    border-radius: 4px;
    font-size: var(--font-size-xs, .75rem);
    font-weight: 700;
    line-height: 1;
}

.ombox-rich-text-command:hover,
.ombox-rich-text-command:focus-visible {
    color: var(--color-primary, #0087f7);
    border-color: var(--color-primary, #0087f7);
}

.ombox-rich-text-surface {
    min-height: 160px;
    padding: .65rem .75rem;
    overflow: auto;
    color: var(--color-text-primary, #172033);
    font-size: var(--widget-font-size, 14px);
    line-height: 1.6;
    background: var(--color-white, #fff);
    border: var(--border-width-thin, 1px) solid var(--color-border, #dce3ec);
    border-radius: 0 0 6px 6px;
    outline: 0;
}

.ombox-rich-text-surface:focus {
    border-color: var(--color-primary, #0087f7);
    box-shadow: none;
}

.ombox-rich-text-editor.is-invalid .ombox-rich-text-surface,
.ombox-rich-text-surface.is-invalid,
.ombox-rich-text-surface[aria-invalid="true"] {
    border-color: var(--color-border, #dee2e6);
    box-shadow: none;
}

.ombox-rich-text-editor.is-invalid .ombox-rich-text-surface:focus,
.ombox-rich-text-surface.is-invalid:focus,
.ombox-rich-text-surface[aria-invalid="true"]:focus {
    border-color: var(--color-primary, #0087f7);
    box-shadow: none;
}

.ombox-rich-text-surface:empty::before {
    color: var(--color-text-muted, #64748b);
    content: attr(data-placeholder);
}

.ombox-rich-text-help {
    color: var(--color-text-muted, #64748b);
    font-size: var(--widget-small-font-size, 12px);
    line-height: var(--widget-small-line-height, 1.5);
}

body.eye-protection .ombox-rich-text-toolbar,
body.eye-protection .ombox-rich-text-command,
body.eye-protection .ombox-rich-text-surface {
    background: #faf8f3;
    border-color: #d9cbb8;
    color: #4a3c28;
}

body.eye-protection .ombox-rich-text-toolbar {
    background: #f5f1e8;
}

body.eye-protection .ombox-rich-text-help,
body.eye-protection .ombox-rich-text-surface:empty::before {
    color: #6b5d4f;
}
