*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#fafafa;color:#111;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.mono{font-family:ui-monospace,JetBrains Mono,SF Mono,Cascadia Code,Consolas,monospace;font-variant-numeric:tabular-nums}.app-shell{min-height:100vh}.app-sider{border-right:1px solid #e5e5e5;background:#fff}.app-sider-brand{display:flex;align-items:center;gap:8px;padding:16px 20px;font-weight:600;border-bottom:1px solid #e5e5e5}.app-sider-brand-mark{width:26px;height:26px;background:#2f6feb;border-radius:6px;display:grid;place-items:center;color:#fff;font-family:ui-monospace,monospace;font-size:12px;font-weight:700}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid #e5e5e5}.app-content{padding:24px}.risk-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;font-family:ui-monospace,monospace;letter-spacing:.04em}.risk-A{color:#dc2626;background:#fde7e5}.risk-B{color:#8b6b0e;background:#fdf3cf}.risk-C{color:#17a34a;background:#def5e4}.kpi-mini{background:#0a1622;color:#fff;padding:16px;border-radius:6px;position:relative;overflow:hidden}.kpi-mini:after{content:"";position:absolute;top:0;right:0;width:40px;height:40px;background:linear-gradient(135deg,transparent 50%,#2f6feb 50%);opacity:.4}.kpi-mini .label{font-family:ui-monospace,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8aa3b8}.kpi-mini .value{font-size:28px;font-weight:600;line-height:1;margin-top:4px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-header h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.page-header .lead{color:#6b6b6b;font-size:13px;margin-top:4px;max-width:60ch}
