*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,Helvetica,Arial,sans-serif;background:#0f1117;color:#e2e8f0;min-height:100vh}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s,opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}#root{display:flex;min-height:100vh}.app-layout{display:flex;width:100%;min-height:100vh}.sidebar{width:220px;min-height:100vh;background:#161b27;border-right:1px solid #1e2535;display:flex;flex-direction:column;gap:24px;padding:24px 0;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 20px;font-size:18px;font-weight:700;color:#fff}.brand-icon{font-size:22px;color:#4f8ef7}.cliente-selector{padding:0 16px;display:flex;flex-direction:column;gap:6px}.cliente-selector label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.cliente-selector select{background:#1e2535;border:1px solid #2d3748;color:#e2e8f0;border-radius:6px;padding:8px 10px;font-size:14px;font-family:inherit;cursor:pointer;width:100%}nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;font-size:14px;color:#94a3b8;transition:background .15s,color .15s}.nav-item:hover{background:#1e2535;color:#e2e8f0}.nav-item.active{background:#1e3a5f;color:#4f8ef7;font-weight:600}.nav-icon{font-size:16px;width:20px;text-align:center}.main-content{flex:1;padding:32px;overflow-y:auto}.card{background:#161b27;border:1px solid #1e2535;border-radius:10px;padding:20px 24px}.page-header{margin-bottom:28px}.page-header h1{font-size:24px;font-weight:700;color:#f1f5f9}.page-header p{color:#64748b;font-size:14px;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:#161b27;border:1px solid #1e2535;border-radius:10px;padding:20px}.stat-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:8px}.stat-value{font-size:32px;font-weight:700;color:#f1f5f9}.stat-value.green{color:#22c55e}.stat-value.red{color:#ef4444}.stat-value.blue{color:#4f8ef7}.btn-primary{background:#4f8ef7;color:#fff}.btn-primary:hover:not(:disabled){background:#3b7de0}.btn-danger{background:#ef4444;color:#fff;padding:4px 10px;font-size:12px}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-ghost{background:transparent;color:#94a3b8;border:1px solid #2d3748}.btn-ghost:hover:not(:disabled){background:#1e2535;color:#e2e8f0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-bottom:1px solid #1e2535}td{padding:12px 14px;border-bottom:1px solid #1a2030;color:#cbd5e1;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#1a2030}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge-green{background:#14532d;color:#4ade80}.badge-red{background:#450a0a;color:#f87171}.badge-blue{background:#1e3a5f;color:#93c5fd}.badge-yellow{background:#422006;color:#fbbf24}.badge-gray{background:#1e2535;color:#94a3b8}.log-box{background:#0d1117;border:1px solid #1e2535;border-radius:8px;padding:16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.7;color:#a8d8a8;height:480px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.log-line-error{color:#f87171}.log-line-warn{color:#fbbf24}.log-line-info{color:#a8d8a8}.input-row{display:flex;gap:10px;margin-bottom:20px}.input-row input{flex:1;background:#1e2535;border:1px solid #2d3748;color:#e2e8f0;border-radius:6px;padding:9px 14px;font-size:14px;font-family:inherit}.input-row input:focus{outline:none;border-color:#4f8ef7}.empty{text-align:center;padding:48px;color:#475569;font-size:14px}.running-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:6px;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}
