/* ── CSS Variables ───────────────────────────────── */
:root {
    --prome-sidebar-bg:         #f5f5f5;
    --prome-sidebar-border:     #e0e0e0;
    --prome-link-hover:         #ebebeb;
    --prome-link-active-bg:     #e8f0fe;
    --prome-link-active-color:  #0D6EFD;
    --prome-pages-bg:           #ffffff;
    --prome-page-link-color:    #555;
    --prome-page-link-hover:    #f0f4ff;
    --prome-new-link-color:     #aaa;
    --prome-title-color:        #1a1a1a;
    --prome-meta-color:         #aaa;
    --prome-empty-color:        #bbb;
    --prome-title-border:       #eee;
    --prome-body-bg:            #ffffff;
    --prome-note-toolbar:       #f8f9fa;
    --prome-note-editable-bg:   #ffffff;
    --prome-note-editable-color:#212529;
    --prome-note-border:        #dee2e6;
}

[data-bs-theme="dark"] {
    --prome-sidebar-bg:         #1c1c1e;
    --prome-sidebar-border:     #2c2c2e;
    --prome-link-hover:         #2a2a2c;
    --prome-link-active-bg:     #1c2d4f;
    --prome-link-active-color:  #5b96ff;
    --prome-pages-bg:           #18181a;
    --prome-page-link-color:    #999;
    --prome-page-link-hover:    #1c2d4f;
    --prome-new-link-color:     #555;
    --prome-title-color:        #f0f0f0;
    --prome-meta-color:         #666;
    --prome-empty-color:        #444;
    --prome-title-border:       #333;
    --prome-body-bg:            #111113;
    --prome-note-toolbar:       #2a2a2c;
    --prome-note-editable-bg:   #1e1e20;
    --prome-note-editable-color:#e0e0e0;
    --prome-note-border:        #3a3a3c;
}

/* ── Base ─────────────────────────────────────────── */
body {
    font-family: 'Lato', sans-serif;
    background: var(--prome-body-bg);
    margin: 0;
    overflow: hidden;
}

/* ── Layout ──────────────────────────────────────── */
.app-wrapper { height: 100vh; overflow: hidden; }

.main-content {
    height: 100vh;
    overflow-y: auto;
}

.content-inner {
    max-width: 860px;
    padding: 2.5rem 2rem;
}

/* ── Sidebar ─────────────────────────────────────── */
.prome-sidebar {
    width: 270px !important;
    min-width: 270px;
    background: var(--prome-sidebar-bg) !important;
    border-right: 1px solid var(--prome-sidebar-border) !important;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

@media (min-width: 992px) {
    .prome-sidebar {
        position: relative !important;
        transform: none !important;
        visibility: visible !important;
    }
    .offcanvas-backdrop { display: none !important; }
}

.sidebar-brand { height: 56px; flex-shrink: 0; }
.sidebar-content { overflow-y: auto; }
.sidebar-footer { flex-shrink: 0; }

/* ── Project items ───────────────────────────────── */
.project-link {
    color: var(--bs-body-color);
    transition: background 0.12s;
    text-decoration: none !important;
    font-size: 0.9rem;
}
.project-link:hover  { background: var(--prome-link-hover); color: var(--bs-body-color); }
.project-link.active { background: var(--prome-link-active-bg); color: var(--prome-link-active-color); }

/* ── Page items ──────────────────────────────────── */
.pages-list {
    background: var(--prome-pages-bg);
    border-bottom: 1px solid var(--prome-sidebar-border);
}

.page-link {
    color: var(--prome-page-link-color);
    font-size: 0.85rem;
    text-decoration: none !important;
    transition: background 0.12s;
    padding-left: 2.8rem !important;
}
.page-link:hover  { background: var(--prome-page-link-hover); color: var(--prome-link-active-color); }
.page-link.active { background: var(--prome-link-active-bg); color: var(--prome-link-active-color); font-weight: 600; }

.new-page-link {
    color: var(--prome-new-link-color);
    font-size: 0.82rem;
    text-decoration: none !important;
    padding-left: 2.8rem !important;
    transition: color 0.12s, background 0.12s;
}
.new-page-link:hover { color: var(--prome-link-active-color); background: var(--prome-page-link-hover); }

.color-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

/* ── Mobile topbar ───────────────────────────────── */
.mobile-topbar {
    height: 56px;
    z-index: 1040;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
    background: var(--bs-body-bg) !important;
    border-color: var(--prome-sidebar-border) !important;
}

/* ── Theme toggle button ─────────────────────────── */
.btn-theme {
    width: 32px; height: 32px;
    padding: 0;
    display: flex; align-items: center; justify-content: center;
    border-radius: 8px;
    font-size: 1rem;
    transition: background 0.15s, color 0.15s;
    color: var(--bs-body-color);
    background: transparent;
    border: 1px solid var(--prome-sidebar-border);
}
.btn-theme:hover { background: var(--prome-link-hover); color: #0D6EFD; border-color: #0D6EFD; }

/* ── Page view ───────────────────────────────────── */
.page-title-heading {
    font-size: 2rem;
    font-weight: 700;
    color: var(--prome-title-color);
    line-height: 1.2;
}

.page-meta { font-size: 0.8rem; color: var(--prome-meta-color); }

.page-content-body {
    font-size: 0.97rem;
    line-height: 1.7;
}
.page-content-body img   { max-width: 100%; border-radius: 6px; }
.page-content-body a     { color: var(--prome-link-active-color); }
.page-content-body table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.page-content-body table td,
.page-content-body table th { border: 1px solid var(--prome-sidebar-border); padding: .4rem .6rem; }

/* ── Title input (new/edit page) ─────────────────── */
.page-title-input {
    border: none !important;
    border-bottom: 2px solid var(--prome-title-border) !important;
    border-radius: 0 !important;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--prome-title-color);
    padding-left: 0 !important;
    box-shadow: none !important;
    font-family: 'Lato', sans-serif;
    background: transparent !important;
}
.page-title-input:focus { border-bottom-color: var(--prome-link-active-color) !important; }

/* ── Icon picker ─────────────────────────────────── */
.icon-picker { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.icon-option input[type="radio"] { display: none; }
.icon-btn {
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px;
    border: 2px solid var(--bs-border-color);
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.2rem;
    color: var(--bs-body-color);
    transition: all 0.15s;
    background: var(--bs-body-bg);
}
.icon-option input:checked + .icon-btn {
    border-color: #0D6EFD;
    background: var(--prome-link-active-bg);
    color: var(--prome-link-active-color);
}
.icon-btn:hover { border-color: #0D6EFD; background: var(--prome-page-link-hover); }

/* ── Color picker ────────────────────────────────── */
.color-option input[type="radio"] { display: none; }
.color-swatch {
    display: inline-block;
    width: 30px; height: 30px;
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid transparent;
    transition: transform 0.15s, outline 0.15s;
}
.color-option input:checked + .color-swatch {
    outline: 2px solid #0D6EFD;
    outline-offset: 2px;
    transform: scale(1.15);
}

/* ── Project color bar ───────────────────────────── */
.project-color-bar {
    height: 4px;
    border-radius: 2px;
    margin-bottom: 1.5rem;
}

/* ── Empty state ─────────────────────────────────── */
.empty-state {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    min-height: 60vh;
    text-align: center;
    color: var(--prome-empty-color);
}

/* ── Summernote dark mode ────────────────────────── */
[data-bs-theme="dark"] .note-editor.note-frame {
    border-color: var(--prome-note-border) !important;
}
[data-bs-theme="dark"] .note-toolbar {
    background: var(--prome-note-toolbar) !important;
    border-color: var(--prome-note-border) !important;
}
[data-bs-theme="dark"] .note-editing-area .note-editable {
    background: var(--prome-note-editable-bg) !important;
    color: var(--prome-note-editable-color) !important;
}
[data-bs-theme="dark"] .note-statusbar {
    background: var(--prome-note-toolbar) !important;
    border-color: var(--prome-note-border) !important;
}
[data-bs-theme="dark"] .note-btn { color: var(--prome-note-editable-color); }
[data-bs-theme="dark"] .note-color-btn .note-current-color-button { border-color: #555; }

/* ── Misc ────────────────────────────────────────── */
.btn-primary { background-color: #0D6EFD; border-color: #0D6EFD; }
.text-primary { color: #0D6EFD !important; }

.card { border-radius: 12px; }
.form-control:focus, .form-select:focus {
    border-color: #0D6EFD;
    box-shadow: 0 0 0 0.2rem rgba(13,110,253,.15);
}

/* login page scroll */
body.login-page { overflow: auto; }
