.admin-sidebar {
    width: 250px;
    min-height: 100vh;
    flex-shrink: 0;
}

.admin-sidebar .nav-link.active {
    background-color: rgba(255,255,255,0.1);
    border-radius: 0.25rem;
}

.admin-sidebar .nav-link:hover:not(.disabled) {
    background-color: rgba(255,255,255,0.05);
    border-radius: 0.25rem;
}

.prompt-editor {
    font-family: 'Monaco', 'Courier New', monospace;
    font-size: 14px;
    line-height: 1.6;
    resize: vertical;
}

.version-badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 0.25rem;
}

.version-badge.current {
    background-color: #28a745;
    color: white;
}

.version-badge.bg-secondary {
    background-color: #6c757d;
}

.variable-tag {
    display: inline-block;
    background-color: #e3f2fd;
    color: #1976d2;
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    font-family: monospace;
}

.macro-tag {
    display: inline-block;
    background-color: #fff3e0;
    color: #e65100;
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    font-family: monospace;
}

main {
    min-width: 0;
}

/* Admin prompts show */
.admin-prompt-pre {
    max-height: 600px;
    overflow-y: auto;
}

.admin-prompt-pre code {
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.85rem;
    line-height: 1.5;
}

.admin-prompt-pre-medium {
    max-height: 500px;
    overflow-y: auto;
}

.admin-badge-component {
    font-size: 0.9rem;
    padding: 0.5rem 0.75rem;
}

.admin-badge-variable {
    font-size: 0.85rem;
    font-weight: 500;
}

.admin-badge-macro {
    font-size: 0.85rem;
}

/* ── Quill editor overrides (admin/legal/edit) ──────────────────────────── */
#quill-editor {
    min-height: 420px;
    font-size: 0.95rem;
    background: #fff;
}
.ql-toolbar.ql-snow {
    border-radius: 0.375rem 0.375rem 0 0;
    border-color: #dee2e6;
}
.ql-container.ql-snow {
    border-radius: 0 0 0.375rem 0.375rem;
    border-color: #dee2e6;
}
.ql-container.ql-snow.is-invalid,
.is-invalid ~ .ql-toolbar {
    border-color: #dc3545;
}

/* ── Legal accept page (legal/accept) ───────────────────────────────────── */
.accept-container {
    max-width: 800px;
    margin: 2rem auto;
}
.legal-accept-content {
    max-height: 400px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.change-log {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 0.375rem;
    padding: 1rem;
    margin-bottom: 1.5rem;
}

/* ── Public legal page (public/legal/show) ──────────────────────────────── */
.legal-public-body {
    padding: 2rem;
    max-width: 900px;
    margin: 0 auto;
    font-family: system-ui, -apple-system, sans-serif;
}
.legal-meta {
    color: #6c757d;
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 1rem;
}
