.ck.ck-editor__editable_inline {
    min-height: 400px;
    color: var(--text);
    background: var(--input-bg);
}

.ck.ck-editor {
    width: 100%;
    max-width: none;
}

.ck.ck-toolbar {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
}

.ck.ck-button {
    color: var(--accent) !important;
}

.ck.ck-button:hover {
    color: var(--hover-text) !important;
    background: var(--accent) !important;
}

.ck.ck-button.ck-on {
    color: var(--hover-text) !important;
    background: var(--accent) !important;
}

.ck.ck-dropdown__panel {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
}

.ck.ck-list__item .ck-button {
    color: var(--text) !important;
}

.ck.ck-list__item .ck-button:hover,
.ck.ck-list__item .ck-button.ck-on {
    color: var(--hover-text) !important;
    background: var(--accent) !important;
}

.ck.ck-input-text {
    background: var(--input-bg) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

.ck.ck-link-form {
    background: var(--surface-2) !important;
}

.ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-input-text {
    background: var(--input-bg) !important;
    color: var(--text) !important;
}

.ck.ck-balloon-panel {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
}

.ck-editor__editable {
    border-radius: 0px 0px 20px 20px !important;
    border: 1px solid var(--border) !important;
}

.ck.ck-toolbar.ck-toolbar_grouping {
    border-radius: 10px 10px 0px 0px !important;
    border-top: 1px solid var(--border) !important;
    border-left: 1px solid var(--border) !important;
    border-right: 1px solid var(--border) !important;
}

.ck.ck-editor__main>.ck-editor__editable {
    background: var(--surface) !important;
}

.ck.ck-editor__main>.ck-editor__editable p:last-child {
    border-bottom: 2px dashed var(--border) !important;
}

/* --- v48 new elements dark theme --- */

.ck.ck-table-form {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
}

.ck.ck-table-form .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-input-text {
    background: var(--input-bg) !important;
    color: var(--text) !important;
}

.ck.ck-table-cell-properties-form {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
}

.ck-content .table {
    margin: 1em 0;
}

.ck-content .table table {
    border-color: var(--border-strong);
}

.ck-content .table table td,
.ck-content .table table th {
    border-color: var(--border-strong);
    padding: 8px;
    min-width: 2em;
}

.ck-content .table table th {
    background: var(--surface-2);
}

.ck.ck-code-block-dropdown .ck-dropdown__panel {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
}

.ck.ck-source-editing-area {
    background: var(--surface) !important;
    border-color: var(--border) !important;
}

.ck.ck-source-editing-area textarea {
    background: var(--surface) !important;
    color: var(--text) !important;
    font-family: var(--font-mono) !important;
}

.ck-content pre {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 1em !important;
    font-family: var(--font-mono) !important;
}

.ck-content code {
    background: var(--surface);
    border-radius: 3px;
    padding: 1px 4px;
    font-family: var(--font-mono);
}

.ck-content .marker {
    background: var(--border-strong);
}

.ck-content .todo-list li .todo-list__label > input:before {
    border-color: var(--accent) !important;
}

.ck-content .todo-list li .todo-list__label > input:checked:before {
    background: var(--accent) !important;
}

.ck.ck-media-form {
    background: var(--surface-2) !important;
    border-color: var(--border) !important;
}

.ck.ck-media-form .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-input-text {
    background: var(--input-bg) !important;
    color: var(--text) !important;
}

.ck-content .media {
    margin: 1em 0;
}

.ck-content hr {
    border-color: var(--accent) !important;
}

.ck-content .image {
    border-radius: 8px;
    overflow: hidden;
}

.ck-content .image img {
    border-radius: 8px;
}

.ck.ck-fullscreen .ck.ck-editor {
    max-width: none !important;
}

.ck.ck-fullscreen .ck.ck-editor__main>.ck-editor__editable {
    min-height: 80vh !important;
}

/* CKEditor Style rewrites */
.ck-content a {
    
    color: var(--accent-strong) !important;
    text-decoration: underline !important;
}
.ck-content a:hover {
  text-decoration: none !important;
  cursor: pointer !important;
  color: var(--hover-text) !important;
  background: var(--accent-strong) !important;
}

.ck-content a.ck-link_selected {
  color: var(--hover-text) !important;
  background: var(--accent-strong) !important;
}

.ck-content blockquote {
    border-left: 5px solid var(--accent) !important;
}

.ck.ck-editor__top {
    position: sticky;
    top: 0px;
}

.ck.ck-sticky-panel__content.ck-sticky-panel__content_sticky {
    transform: translateY(-10px);
}

.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content {
    border: 0px !important;
}

.ck-content hr {
    background: var(--accent) !important;
}

.ck-content ul, .ck-content ol {
    color: var(--muted);
}

.ck-content ul strong, .ck-content ol strong {
    color: var(--accent);
}

ul.todo-list input[type="checkbox"] {
    width: auto !important;
    min-height: 32px !important;
}

:is(.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input)[checked]:before
{
    display: none !important;
}

:is(.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input):before {
    display: none !important;
}

:is(.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input)[checked]:after {
    transform: none;
    border: none !important;
    content: "✔";
    font-size: x-large;
    left: 7px;
    top: 0px;
    width: 10px;
    height: 10px;
}

:is(.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input):after {
    transform: none;
    border: none !important;
}

.ck-content figure.table table td {
    border: 2px solid var(--accent) !important;
}

.ck-content figure.table table th {
    border: 2px solid var(--accent-strong) !important;
}

.ck-content pre {
    color: var(--accent) !important;
    border: 2px solid var(--border-color) !important;
}

.ck.ck-editor__editable pre[data-language]:after {
    background: var(--surface-2) !important;
    color: var(--accent) !important;
    border: 1px solid var(--border) !important;
}

.ck.ck-editor__editable_inline {
    color: var(--text) !important;
}

.ck.ck-editor__editable p strong {
    color: var(--accent) !important;
}

table td.ck-editor__editable strong {
    color: var(--accent) !important;
}

table th.ck-editor__editable strong {
    color: var(--accent-strong) !important;
}

.ck-content code {
    color: var(--accent) !important;
    padding: 5px 5px !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
}

form.ck-link-form h2.ck-form__header__label {
    color: var(--accent) !important;
}

form.ck-link-form button.ck-button-action {
    background: var(--panel-bg) !important;
    border: 2px solid var(--accent) !important;
}

form.ck-link-form input.ck-input:focus {
    border: 2px solid var(--accent) !important;
    box-shadow: none !important;
}

form.ck-link-form div.ck-form__header {
    border-bottom: 1px solid var(--accent) !important;
}

form.ck-link-form div.ck-labeled-field-view label.ck-label {
    background: var(--surface-2) !important;
    color: var(--accent) !important;
}

.ck.ck-balloon-panel {
    border: 2px solid var(--ck-color-panel-border) !important;
}

.ck.ck-toolbar.ck-toolbar_grouping {
    border-radius: 0px !important;
    border-bottom: 1px solid var(--border) !important;
}

/* Hide CKEditor toolbar when text is locked (read-only/display mode) */
.ck-read-only .ck.ck-editor__top {
    display: none;
}

/* CKEditor Heading dropdown styles */
.ck.ck-reset.ck-dropdown__panel.ck-dropdown__panel_se.ck-dropdown__panel-visible ul.ck-list {
    background: var(--accent);
}

.ck.ck-reset.ck-dropdown__panel.ck-dropdown__panel_se.ck-dropdown__panel-visible ul.ck-list button.ck-list-item-button {
    background: var(--surface);
}

:is(.ck.ck-button,:where(a).ck.ck-button):active, :is(.ck.ck-button,:where(a).ck.ck-button):focus {
    border: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent), 0 0 !important;
}
