:root{font-family:Segoe UI,system-ui,sans-serif;color:#1a1a2e;background:#f4f6fb;line-height:1.5}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh}.demo-banner{background:#f59e0b;color:#1a1a2e;text-align:center;padding:.45rem 1rem;font-size:.875rem;font-weight:600;letter-spacing:.02em}.app-header{background:#1a1a2e;color:#fff;padding:1rem 1.5rem 0}.app-header h1{margin:0;font-size:1.4rem}.app-header .subtitle{color:#b8c0d8;margin:.25rem 0 1rem}.app-nav{display:flex;flex-wrap:wrap;gap:.35rem}.nav-link{color:#c8d0e8;text-decoration:none;padding:.45rem .75rem;border-radius:8px 8px 0 0;font-size:.9rem}.nav-link.active{background:#f4f6fb;color:#1a1a2e}.app-main{padding:1.5rem;max-width:1200px;margin:0 auto}.subtitle{color:#5c6478}.card,.tile{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 8px 24px #1a1a2e14}.toolbar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;align-items:end}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.field input,.field select{padding:.4rem .5rem;border:1px solid #ccd2e0;border-radius:6px;min-width:180px}.field-row{display:flex;gap:1rem;flex-wrap:wrap}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.tile header{display:flex;justify-content:space-between;align-items:center}.tile-risk{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.tile-risk-meta{flex:1;min-width:0}.tile-risk-label{margin:0;font-size:.75rem;color:#5c6478;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.tile-risk-driver{margin:.15rem 0 .25rem;font-size:.8rem;color:#3d4460}.tile-risk-empty{margin:0;font-size:.85rem;color:#5c6478;width:120px;text-align:center}.tile-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.75rem 0 0}.tile-metrics dt{font-size:.75rem;color:#5c6478}.tile-metrics dd{margin:0;font-size:1.25rem;font-weight:600}.badge{font-size:.75rem;padding:.2rem .5rem;border-radius:999px}.badge.ok{background:#d4f5e4;color:#1a7a45}.badge.warn{background:#fde8d8;color:#a04a12}.data-table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff;border-radius:8px;overflow:hidden}.data-table th,.data-table td{padding:.5rem .75rem;border-bottom:1px solid #e8ebf2;text-align:left}.chart-row{display:flex;gap:1rem;flex-wrap:wrap}.summary-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.error{color:#b42318}
