:root { --sidebar:#172033; --accent:#0d6efd; }
body { background:#f4f6f9; color:#1f2937; }
.sidebar { width:250px; background:var(--sidebar); color:#fff; display:flex; flex-direction:column; min-height:100vh; position:sticky; top:0; }
.sidebar .nav-link { color:#aeb8c8; border-radius:.6rem; padding:.7rem .85rem; }
.sidebar .nav-link:hover,.sidebar .nav-link.active { color:#fff; background:rgba(255,255,255,.1); }
.sidebar .nav-link i { width:1.5rem; display:inline-block; }
.topbar { background:#fff; border-bottom:1px solid #e5e7eb; position:sticky; top:0; z-index:1030; }
.stat-card { border:0; box-shadow:0 .15rem .7rem rgba(0,0,0,.05); }
.stat-icon { font-size:1.4rem; color:var(--accent); margin-bottom:.3rem; }
.login-shell { background:linear-gradient(135deg,#172033 0%,#243b64 100%); }
.login-card { width:min(460px,100%); border-radius:1rem; }
.login-icon { width:64px;height:64px;border-radius:18px;background:#eaf2ff;color:#0d6efd;display:inline-grid;place-items:center;font-size:2rem; }
.pdf-frame { height:calc(100vh - 190px); min-height:650px; background:#202124; }
.pdf-frame iframe { width:100%; height:100%; border:0; }
.finding-card { border-left:4px solid #dfe3e8 !important; }
.evidence-box { background:#f7f8fa; border:1px solid #e8ebef; border-radius:.5rem; padding:.65rem .75rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85rem; white-space:pre-wrap; }
.table thead th { background:#f8fafc; color:#667085; font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; }
@media (max-width:991.98px){.sidebar{width:78px}.brand-logo-wrap{padding:.45rem}.brand-logo{max-width:52px}.sidebar .nav-link{font-size:0}.sidebar .nav-link i{font-size:1.25rem}.sidebar .mt-auto{display:none}}
.drs-status-option { cursor:pointer; transition:.15s ease; background:#fff; }
.drs-status-option:hover { border-color:#9ca3af !important; background:#fafafa; }
.drs-status-option.selected { border-color:#0d6efd !important; box-shadow:0 0 0 .18rem rgba(13,110,253,.12); }
.internal-drs-comment:last-child { border-bottom:0 !important; }

.brand-logo-wrap {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:72px;
    padding:.7rem .8rem;
    background:#fff;
    border-radius:.75rem;
    text-decoration:none;
    box-shadow:0 .15rem .55rem rgba(0,0,0,.12);
}
.brand-logo {
    display:block;
    width:100%;
    max-width:190px;
    height:auto;
    object-fit:contain;
}

/* V3.2 review workspace */
.review-page-shell { min-width:0; }
.review-heading h3 { font-size:1.25rem; }
.review-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.65rem; }
.review-kpi { background:#fff; border:1px solid #e8ebef; border-radius:.75rem; padding:.65rem .85rem; box-shadow:0 .1rem .35rem rgba(16,24,40,.04); display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.review-kpi span { font-size:.78rem; color:#667085; }
.review-kpi strong { font-size:1.25rem; }
.review-split-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(420px,.95fr); gap:1rem; align-items:start; }
.review-pdf-pane, .review-findings-pane { min-width:0; }
.review-pdf-pane { position:sticky; top:78px; height:calc(100vh - 96px); overflow:hidden; }
.review-pdf-frame { height:auto; min-height:0; flex:1; }
.review-pdf-pane { display:flex; flex-direction:column; }
.review-pdf-pane .pdf-frame { flex:1; }
.pdf-page-nav #pdfPageInput { width:58px; }
.pdf-viewing-bar { display:flex; align-items:center; gap:.4rem; padding:.45rem .8rem; background:#f8fafc; border-top:1px solid #e5e7eb; font-size:.78rem; }
.finding-toolbar { position:sticky; top:78px; z-index:10; }
.findings-scroll { height:calc(100vh - 285px); min-height:460px; overflow-y:auto; padding:.15rem .35rem 1rem .1rem; scroll-behavior:smooth; }
.finding-card { transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease; }
.finding-card.severity-critical { border-left-color:#dc3545 !important; }
.finding-card.severity-major { border-left-color:#f59f00 !important; }
.finding-card.severity-minor { border-left-color:#6c757d !important; }
.finding-card.severity-info { border-left-color:#0dcaf0 !important; }
.finding-card.page-active { box-shadow:0 0 0 2px rgba(13,110,253,.2),0 .35rem 1rem rgba(16,24,40,.08) !important; }
.finding-card.finding-focus { transform:translateX(-2px); box-shadow:0 0 0 3px rgba(13,110,253,.14) !important; }
.finding-card.finding-saved-flash { background:#f1fff7; }
.finding-message { line-height:1.45; }
.recommendation-box { display:flex; gap:.55rem; background:#fff8e6; border:1px solid #ffe4a3; border-radius:.55rem; padding:.6rem .7rem; font-size:.86rem; }
.recommendation-box i { color:#d99000; margin-top:.05rem; }
.finding-action-panel { background:#f8fafc; border:1px solid #e8ebef; border-radius:.6rem; padding:.75rem; }
.finding-status-badge { font-weight:600; }
.finding-save-state { min-width:70px; text-align:right; }
.finding-toolbar .form-control,.finding-toolbar .form-select { border-color:#dfe3e8; }
.findings-scroll::-webkit-scrollbar { width:10px; }
.findings-scroll::-webkit-scrollbar-thumb { background:#c9d0da; border-radius:10px; border:2px solid #f4f6f9; }
.findings-scroll::-webkit-scrollbar-track { background:transparent; }
.min-w-0 { min-width:0; }

@media (max-width:1399.98px){
    .review-split-layout { grid-template-columns:minmax(0,1.2fr) minmax(390px,.9fr); }
    .review-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1199.98px){
    .review-split-layout { display:block; }
    .review-pdf-pane { position:relative; top:auto; height:720px; margin-bottom:1rem; }
    .finding-toolbar { position:relative; top:auto; }
    .findings-scroll { height:auto; min-height:0; overflow:visible; }
}
@media (max-width:767.98px){
    .review-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .review-pdf-pane { height:620px; }
    .pdf-viewing-bar .text-secondary { display:none; }
}
