html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    background-color: #343a40;
    color: #f8f9fa;
    margin-bottom: 60px;
}

a {
    color: #6ea8fe;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Login Page Styles */
.min-vh-75 {
    min-height: 75vh;
}

.login-card {
    border-radius: 1rem;
}

.form-floating > .form-control.bg-dark {
    color: #f8f9fa;
}

.form-floating > .form-control.bg-dark:focus {
    background-color: #3b4248;
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(37, 140, 251, 0.25);
}

.form-floating > label.text-muted {
    color: #6c757d !important;
}

.form-floating > .form-control:focus ~ label.text-muted,
.form-floating > .form-control:not(:placeholder-shown) ~ label.text-muted {
    color: #adb5bd !important;
}

/* Dashboard Styles */
.bg-success-subtle {
    background-color: rgba(25, 135, 84, 0.1) !important;
}

.bg-info-subtle {
    background-color: rgba(13, 202, 240, 0.1) !important;
}

.bg-warning-subtle {
    background-color: rgba(255, 193, 7, 0.1) !important;
}

.bg-danger-subtle {
    background-color: rgba(220, 53, 69, 0.1) !important;
}

.bg-primary-subtle {
    background-color: rgba(13, 110, 253, 0.1) !important;
}

.bg-secondary-subtle {
    background-color: rgba(108, 117, 125, 0.1) !important;
}

.border-end-md {
    border-right: 1px solid #dee2e6;
}

@media (max-width: 767.98px) {
    .border-end-md {
        border-right: none;
    }
}

/* Quill Editor Dark Theme - Reusable Component Styles */
.quill-editor-container {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.quill-editor,
#quill-editor {
    background-color: #212529;
    border: 1px solid #495057;
    border-top: none;
    color: #fff;
    height: calc(100vh - 350px);
    min-height: 400px;
    overflow-y: auto;
}

.quill-editor .ql-editor,
#quill-editor .ql-editor {
    color: #fff;
    min-height: 100%;
    height: auto;
    overflow-y: visible;
}

.quill-editor .ql-editor.ql-blank::before,
#quill-editor .ql-editor.ql-blank::before {
    color: #6c757d;
    font-style: italic;
}

/* Toolbar dark theme */
.quill-editor-container > div[id^="quill-toolbar"],
#quill-toolbar {
    background-color: #343a40;
    border: 1px solid #495057;
    border-bottom: none;
}

.quill-editor-container .ql-toolbar .ql-stroke,
#quill-toolbar .ql-stroke {
    stroke: #fff;
}

.quill-editor-container .ql-toolbar .ql-fill,
#quill-toolbar .ql-fill {
    fill: #fff;
}

.quill-editor-container .ql-toolbar .ql-picker,
#quill-toolbar .ql-picker {
    color: #fff;
}

.quill-editor-container .ql-toolbar .ql-picker-label,
#quill-toolbar .ql-picker-label {
    color: #fff;
}

.quill-editor-container .ql-toolbar .ql-picker-label::before,
#quill-toolbar .ql-picker-label::before {
    color: #fff;
}

.quill-editor-container .ql-toolbar .ql-picker-options,
#quill-toolbar .ql-picker-options {
    background-color: #343a40;
    border: 1px solid #495057;
}

.quill-editor-container .ql-toolbar .ql-picker-item,
#quill-toolbar .ql-picker-item {
    color: #fff;
}

.quill-editor-container .ql-toolbar .ql-picker-item:hover,
#quill-toolbar .ql-picker-item:hover {
    color: #0d6efd;
}

.quill-editor-container .ql-toolbar button:hover .ql-stroke,
.quill-editor-container .ql-toolbar .ql-picker-label:hover .ql-stroke,
#quill-toolbar button:hover .ql-stroke,
#quill-toolbar .ql-picker-label:hover .ql-stroke {
    stroke: #0d6efd;
}

.quill-editor-container .ql-toolbar button:hover .ql-fill,
.quill-editor-container .ql-toolbar .ql-picker-label:hover .ql-fill,
#quill-toolbar button:hover .ql-fill,
#quill-toolbar .ql-picker-label:hover .ql-fill {
    fill: #0d6efd;
}

.quill-editor-container .ql-toolbar button.ql-active .ql-stroke,
#quill-toolbar button.ql-active .ql-stroke {
    stroke: #0d6efd;
}

.quill-editor-container .ql-toolbar button.ql-active .ql-fill,
#quill-toolbar button.ql-active .ql-fill {
    fill: #0d6efd;
}

.quill-editor-container .ql-toolbar .ql-picker-label:hover,
.quill-editor-container .ql-toolbar button:hover,
#quill-toolbar .ql-picker-label:hover,
#quill-toolbar button:hover {
    color: #0d6efd;
}

/* Code block styling */
.quill-editor .ql-code-block-container,
#quill-editor .ql-code-block-container {
    background-color: #1a1d21;
    color: #e9ecef;
    border: 1px solid #495057;
}

/* Blockquote styling */
.quill-editor blockquote,
#quill-editor blockquote {
    border-left: 4px solid #0d6efd;
    color: #adb5bd;
}

/* Link color */
.quill-editor a,
#quill-editor a {
    color: #0d6efd;
}

/* Quill Editor Styles */
.quill-editor .ql-editor {
    font-size: 20px;
}
