:root { --ink: #17202a; --muted: #667085; --brand: #6658d3; --brand-dark: #5144b6; --surface: #f6f7fb; --mint: #daf7ea; }
body { background: radial-gradient(circle at 90% -10%, #eeeaff 0, transparent 33rem), var(--surface); color: var(--ink); min-height: 100vh; }
.navbar { backdrop-filter: blur(12px); background-color: rgba(255,255,255,.92)!important; }
.navbar-brand { color: var(--ink); font-weight: 750; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .65rem; color: #fff; background: linear-gradient(135deg, var(--brand), #9c73ed); }
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark); }
.eyebrow { color: var(--brand); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.page-heading h1, h1, h2, h3 { letter-spacing: -.025em; }
.project-card { color: inherit; transition: transform .18s ease, box-shadow .18s ease; }
.project-card:hover { transform: translateY(-3px); box-shadow: 0 1rem 2rem rgba(30, 34, 70, .10)!important; }
.status-pill { display: inline-flex; padding: .28rem .65rem; border-radius: 99rem; background: #eceef3; color: #475467; font-size: .76rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.status-completed { background: var(--mint); color: #087443; }.status-failed,.status-cancelled { background: #ffe4e4; color: #b42318; }.status-running,.status-pending { background: #ece8ff; color: #5944b2; }
.progress { height: .45rem; background: #e7e8ef; }.progress-lg { height: .7rem; }.progress-bar { background: linear-gradient(90deg, var(--brand), #9f78f1); }
.empty-state { background: rgba(255,255,255,.6); border-style: dashed!important; }.empty-state p { max-width: 36rem; }.empty-icon { display:grid; place-items:center; width:4rem; height:4rem; border-radius:1.2rem; background:#ece8ff; color:var(--brand); font-size:2rem; }
.auth-shell { display: grid; place-items: center; min-height: calc(100vh - 11rem); }.auth-card { width: min(100%, 31rem); }
.stacked-form p { margin-bottom: 1.15rem; }.stacked-form label { display:block; font-weight:650; margin-bottom:.38rem; }.stacked-form input:not([type=checkbox]),.stacked-form select,.stacked-form textarea { display:block; width:100%; padding:.7rem .85rem; border:1px solid #cfd3dc; border-radius:.55rem; background:#fff; }.stacked-form input:focus,.stacked-form select:focus,.stacked-form textarea:focus { border-color:#8b7ee3; outline:0; box-shadow:0 0 0 .22rem rgba(102,88,211,.14); }.stacked-form .helptext { color:var(--muted); font-size:.82rem; }.stacked-form ul.errorlist { color:#b42318; padding-left:1.2rem; }.stacked-form p:has(input[type="checkbox"]) { display:flex; align-items:center; gap:.5rem; }.stacked-form p:has(input[type="checkbox"]) label { order:2; margin:0; }.stacked-form p:has(input[type="checkbox"]) input { order:1; }
.back-link { color: var(--muted); text-decoration: none; font-weight: 650; }.back-link:hover { color: var(--brand); }
.callout { padding: 1rem 1.15rem; border: 1px solid #d9d4ff; border-radius: .75rem; background: #f2f0ff; color: #463b83; }
.topic-card { overflow: hidden; }.topic-card::before { content:""; display:block; height:.25rem; background:linear-gradient(90deg,var(--brand),#c0a7ff); }.timestamp { color:#6557bc; font-variant-numeric:tabular-nums; font-size:.82rem; font-weight:750; }.chunk-row { padding:.85rem 0; border-top:1px solid #eceef2; }.score { color:#087443; font-size:.8rem; font-weight:750; }.token-display { display:block; padding:1rem; border-radius:.6rem; overflow-wrap:anywhere; background:#fff; color:#17202a; }.htmx-indicator { display:none; }.htmx-request .htmx-indicator,.htmx-request.htmx-indicator { display:block; }
@media (max-width: 576px) { main.container { padding-left: 1rem; padding-right: 1rem; }.chunk-row { flex-wrap:wrap; }.chunk-row p { flex-basis: calc(100% - 4rem); } }
