.asc-dashboard { background: #eef3f7; }
.asc-app-shell { min-height: 100vh; display: flex; width: 100%; flex: 1 0 auto; }
.asc-sidebar { position: fixed; inset: 16px auto 16px 16px; width: 280px; border-radius: 24px; padding: 20px; background: #071d3d; color: #fff; box-shadow: var(--asc-shadow); }
.asc-sidebar-brand { display: flex; align-items: center; gap: 12px; color: #fff; margin-bottom: 24px; }
.asc-sidebar-brand img { width: 50px; height: 50px; object-fit: contain; border-radius: 15px; background: #fff; padding: 4px; }
.asc-sidebar nav { display: grid; gap: 7px; }
.asc-sidebar nav a { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.78); padding: 12px 14px; border-radius: 14px; font-weight: 750; }
.asc-sidebar nav a:hover { color: #fff; background: rgba(255,255,255,.08); }
.asc-main { width: 100%; padding: 26px 26px 48px 320px; }
.asc-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 26px; }
.asc-topbar h1 { font-weight: 900; color: var(--asc-blue-900); margin: 5px 0 0; }
.asc-topbar-actions { display: flex; align-items: center; gap: 10px; }
.asc-search { width: min(420px, 34vw); border-radius: 14px; border: 1px solid var(--asc-line); min-height: 46px; }
.asc-dash-kpi { padding: 22px; min-height: 180px; }
.asc-dash-kpi i { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--asc-blue), var(--asc-green)); }
.asc-dash-kpi span { display: block; margin-top: 18px; color: var(--asc-muted); font-weight: 750; }
.asc-dash-kpi strong { display: block; font-size: 2rem; font-weight: 900; color: var(--asc-blue-900); }
.asc-dash-kpi small { color: var(--asc-green); font-weight: 800; }
.asc-table { --bs-table-bg: transparent; }
.asc-progress-row { margin-bottom: 18px; }
.asc-progress-row span { font-weight: 750; }
.asc-progress-row strong { float: right; color: var(--asc-orange); }
.asc-progress-row .progress { clear: both; height: 9px; border-radius: 999px; background: #e6edf3; }
.asc-progress-row .progress-bar { background: linear-gradient(90deg, var(--asc-green), var(--asc-orange)); }
.asc-empty-state { min-height: 420px; display: grid; place-items: center; text-align: center; align-content: center; }
.asc-empty-state i { font-size: 3rem; color: var(--asc-orange); margin-bottom: 18px; }
.asc-chat-full { max-width: 980px; }
.asc-chat-stream { min-height: 360px; max-height: 520px; background: #f7fafc; border-radius: 18px; border: 1px solid var(--asc-line); }
.asc-prompt-grid { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0 4px; }
.asc-prompt-chip { border: 1px solid var(--asc-line); background: #fff; border-radius: 999px; padding: 10px 14px; color: var(--asc-blue); font-weight: 750; }
@media (max-width: 991px) {
    .asc-app-shell { display: block; }
    .asc-sidebar { position: static; width: auto; margin: 12px; }
    .asc-main { padding: 18px; }
    .asc-topbar { display: block; }
    .asc-topbar-actions { margin-top: 14px; flex-wrap: wrap; }
    .asc-search { width: 100%; }
}
