/* DuwyEngineRAG — UI styles */

html, body { height: 100%; }
body { font-feature-settings: 'cv11', 'ss01'; }

/* Sidebar nav */
.nav-link {
    color: var(--bs-body-color);
    border-radius: 0.4rem;
    padding: 0.45rem 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.92rem;
    transition: background-color 120ms ease;
}
.nav-link:hover { background-color: var(--bs-secondary-bg); }
.nav-link.active { background-color: var(--bs-primary); color: #fff; }
.nav-link.active i { color: #fff; }
.nav-link i { color: var(--bs-secondary-color); width: 1.1em; text-align: center; }

/* Status dot */
.status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.04);
}

/* Chunk content blocks: preformatted but with line-break and reasonable max-height */
.chunk-content {
    background: var(--bs-tertiary-bg);
    border-left: 3px solid var(--bs-primary-border-subtle);
    padding: 0.6rem 0.8rem;
    border-radius: 0.35rem;
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.84rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 240px;
    overflow-y: auto;
}

/* Cards subtle */
.card { border-color: var(--bs-border-color-translucent); }
.card.shadow-sm { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 6px rgba(0, 0, 0, 0.04) !important; }

/* Code spans inline */
code { background-color: var(--bs-tertiary-bg); padding: 0.05em 0.4em; border-radius: 0.25rem; color: var(--bs-emphasis-color); }

/* Topbar */
.navbar-brand { font-size: 1rem; letter-spacing: 0.02em; }

/* Table cells with .text-truncate need explicit width */
.table td.text-truncate, .table th.text-truncate { max-width: 320px; }

/* Pagination */
.pagination .page-link { padding: 0.25rem 0.6rem; }

/* Form labels más compactos */
.form-label { margin-bottom: 0.25rem; }
.form-label.small { font-size: 0.78rem; color: var(--bs-secondary-color); }

/* Toast container z-index sobre modal */
.toast-container { z-index: 1090; }

/* Details/summary marker */
details summary { cursor: pointer; user-select: none; padding: 0.3rem 0; }
details[open] summary { margin-bottom: 0.3rem; }
