:root { --space-blue: #1265c5; --ink: #1c2836; --muted: #66778a; --surface: #f4f7fb; }
body { background: var(--surface); color: var(--ink); font-family: "Segoe UI", Tahoma, sans-serif; }
.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 240px; background: #102c4b; padding: 26px 16px; flex: 0 0 240px; }
.brand { color: white; font-weight: 700; font-size: 1.45rem; text-decoration: none; display: block; margin: 0 10px 34px; }
.brand span { color: #6dc6ff; }.brand small { display: block; color: #a7c1dd; font-size: .7rem; font-weight: 500; letter-spacing: .08em; margin-top: 3px; }
.sidebar .nav-link { color: #c9d8e8; border-radius: 6px; padding: .7rem .8rem; margin-bottom: .2rem; }.sidebar .nav-link:hover,.sidebar .nav-link.active { background: #1e568d; color: white; }.sidebar hr { border-color: #42729e; }
.main-content { min-width: 0; flex: 1; }.topbar { height: 68px; background: white; border-bottom: 1px solid #e0e7ef; display: flex; align-items: center; padding: 0 28px; }.content-wrap { max-width: 1440px; padding: 30px; margin: auto; }
.page-title { font-size: 1.65rem; font-weight: 700; margin: 0; }.page-subtitle { color: var(--muted); margin: .35rem 0 1.4rem; }
.metric { background: white; border: 1px solid #e1e8ef; border-radius: 7px; padding: 18px; height: 100%; }.metric-label { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }.metric-value { font-size: 1.8rem; font-weight: 700; margin-top: 6px; }
.panel { background: white; border: 1px solid #e1e8ef; border-radius: 7px; padding: 20px; }.table { margin-bottom: 0; }.table th { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }.table td { vertical-align: middle; }.object-cell { max-width: 360px; }.object-cell a { color: var(--ink); font-weight: 600; text-decoration: none; }.object-cell a:hover { color: var(--space-blue); }
.badge-score-high { background: #0d6b48; }.badge-score-good { background: #1265c5; }.badge-score-mid { background: #9a6500; }.badge-score-low { background: #6b7280; }.badge-urgency-CRITICAL { background: #b42318; }.badge-urgency-HIGH { background: #c65d00; }.badge-urgency-MEDIUM { background: #9a6500; }.badge-urgency-LOW,.badge-urgency-UNKNOWN { background: #4b667d; }.badge-urgency-EXPIRED { background: #59636e; }.badge-workflow { background: #355775; }
.evidence-positive { border-left: 3px solid #198754; }.evidence-penalty { border-left: 3px solid #c58a00; }.evidence-exclude { border-left: 3px solid #b42318; }.evidence-item { background: #f8fafc; padding: 10px 12px; margin-bottom: 8px; }
.filters { background: #fff; border: 1px solid #e1e8ef; border-radius: 7px; padding: 14px; margin-bottom: 16px; }.empty { color: var(--muted); padding: 38px 12px; text-align: center; }
@media (max-width: 991px) { .sidebar { display: none; }.content-wrap { padding: 20px 16px; }.topbar { padding: 0 16px; }.object-cell { max-width: 220px; } }