:root { --brand: #382b73; --brand-2: #7058d7; --surface: #f6f5fa; --border: #e6e2f0; }
body { background: var(--surface); color: #262330; }
.bg-brand { background: linear-gradient(105deg, var(--brand), #4d3b96); }
.navbar-brand { letter-spacing: -.02em; }
.card { border-color: var(--border); border-radius: 1rem; }
.btn { border-radius: .65rem; }
.btn-primary { --bs-btn-bg: var(--brand-2); --bs-btn-border-color: var(--brand-2); --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand); }
.kpi-card { background: #fff; border: 1px solid var(--border); border-radius: 1rem; padding: 1.1rem 1.2rem; height: 100%; display: flex; flex-direction: column; gap: .25rem; }
.kpi-card span { color: #716b7f; font-size: .84rem; }
.kpi-card strong { font-size: 1.75rem; line-height: 1.15; }
.empty-state { color: #716b7f; text-align: center; padding: 2.5rem 1rem; }
.filter-bar { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(3, minmax(140px, 1fr)) auto auto; gap: .6rem; }
.group-card { transition: transform .15s, box-shadow .15s; }
.group-card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1.5rem rgb(41 31 83 / 9%); }
.clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.action-row { display: flex; flex-wrap: wrap; gap: .5rem; align-items: start; }
.action-row form { display: inline-flex; }
.table > :not(caption) > * > * { padding: .9rem 1rem; }
code { color: #503bb0; word-break: break-all; }
.code-block { background: #211d31; color: #f3efff; padding: 1.25rem; border-radius: .75rem; overflow: auto; }
.login-shell { min-height: calc(100vh - 3rem); display: grid; place-items: center; }
.login-card { width: min(100%, 440px); }
.brand-mark { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: .9rem; color: #fff; font-weight: 800; background: linear-gradient(135deg, var(--brand), var(--brand-2)); }
.gone-page { max-width: 650px; margin: 14vh auto; text-align: center; }
.funnel div { display: flex; justify-content: space-between; padding: .7rem 0; border-bottom: 1px solid var(--border); }
.funnel dt { font-weight: 500; }.funnel dd { margin: 0; font-weight: 700; }
.draft-stage { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid var(--border); border-radius: .75rem; padding: .8rem 1rem; background: #fff; }
form input:not([type=checkbox]):not([type=radio]), form select, form textarea { display: block; width: 100%; padding: .55rem .75rem; border: 1px solid #ced4da; border-radius: .5rem; background: #fff; }
form input:focus, form select:focus, form textarea:focus { outline: 0; border-color: #9b89e9; box-shadow: 0 0 0 .2rem rgb(112 88 215 / 15%); }
@media (max-width: 992px) { .filter-bar { grid-template-columns: 1fr 1fr; } }
@media (max-width: 576px) { .filter-bar { grid-template-columns: 1fr; } .action-row { width: 100%; } .action-row > * { flex: 1 1 auto; } }

