*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:#f5f5f7;color:#222}.app{display:flex;flex-direction:column;min-height:100vh}.top{background:#1a365d;color:#fff;padding:12px 20px}.top h1{margin:0 0 10px;font-size:20px}.top nav{display:flex;gap:20px}.top nav a{color:#cfe1ff;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}.top nav a.active{color:#fff;border-bottom-color:#fff}main{flex:1;padding:20px;width:100%;margin:0}.bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.bar h2{margin:0;font-size:22px}.bar select,.bar input,.bar button,.btn{padding:6px 12px;border:1px solid #ccc;background:#fff;border-radius:4px;font:inherit;margin-left:6px}.bar button,.btn{background:#1a365d;color:#fff;border-color:#1a365d;cursor:pointer;text-decoration:none}.bar button:hover,.btn:hover{background:#2c5282}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}.card{background:#fff;padding:14px;border-radius:6px;box-shadow:0 1px 3px #00000014}.card-label{font-size:12px;color:#666;text-transform:uppercase}.card-value{font-size:22px;font-weight:600;margin-top:4px}.card small{color:#888;font-size:11px}.tabla{width:100%;background:#fff;border-collapse:collapse;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #00000014}.tabla th,.tabla td{padding:8px 12px;text-align:left;border-bottom:1px solid #eee;font-size:14px}.tabla th{background:#f7f9fc;font-weight:600;color:#444}.tabla tr:hover{background:#fafbfc}.tabla tr.warn{background:#fff5f5}.tabla tr.warn td{color:#9b2c2c}.tabla tr.ok td{color:#22543d}.timeline{list-style:none;padding:0}.timeline li{background:#fff;padding:12px;margin-bottom:8px;border-left:3px solid #1a365d;border-radius:0 4px 4px 0}.timeline time{color:#666;font-size:12px;display:block}.timeline strong{display:block;margin:4px 0}.mesa-link{color:#0284c7;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:600;text-decoration:underline dotted #7dd3fc;text-underline-offset:2px;cursor:pointer;padding:1px 4px;border-radius:3px;transition:background .12s,color .12s}.mesa-link:hover{background:#e0f2fe;color:#0369a1;text-decoration-color:#0284c7}.mesa-link:active{background:#bae6fd}
