:root{font-family:system-ui,Segoe UI,sans-serif;color:#1a1a2e;background:#f4f6fb}body{margin:0}.layout{min-height:100vh}.header{background:#16213e;color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header h1{margin:0;font-size:1.25rem}.header nav{display:flex;gap:1rem}.header a{color:#e8eefc;text-decoration:none}.header a:hover{text-decoration:underline}.api-key-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:#fff;border-bottom:1px solid #dde3f0}.api-key-bar input{min-width:240px}.main{padding:1.5rem;max-width:1200px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.card{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #00000014}.metric{font-size:1.75rem;margin:.25rem 0 0;font-weight:700}table{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff}th,td{border:1px solid #dde3f0;padding:.5rem .75rem;text-align:left}label{display:block;margin:.75rem 0}label.checkbox{display:flex;align-items:center;gap:.5rem}label.label-disabled{opacity:.55}h3{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem}input[type=text],input[type=number],input[type=password]{display:block;margin-top:.25rem;padding:.4rem .5rem;width:100%;max-width:320px}button{margin-top:.75rem;padding:.5rem 1rem;background:#0f3460;color:#fff;border:none;border-radius:6px;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#b00020}.hint{color:#4a5568;font-size:.875rem}.json{background:#111827;color:#e5e7eb;padding:1rem;border-radius:8px;overflow:auto;max-height:480px}.cards-compact .metric{font-size:1.35rem}.card-highlight{border-left:4px solid #0f3460}.progress-block{margin:1rem 0}.progress-bar{height:10px;background:#dde3f0;border-radius:6px;overflow:hidden}.progress-bar-inline{width:100px;display:inline-block;vertical-align:middle;margin-right:.5rem}.progress-fill{height:100%;background:#0f3460;transition:width .3s ease}.status-badge{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.8rem;font-weight:600}.status-pending,.status-queued{background:#fef3c7;color:#92400e}.status-processing,.status-running{background:#dbeafe;color:#1e40af}.status-ok,.status-done{background:#d1fae5;color:#065f46}.status-error,.status-failed{background:#fee2e2;color:#991b1b}.status-skipped,.status-cancelled{background:#f3f4f6;color:#4b5563}.toolbar{display:flex;align-items:flex-end;gap:1rem;margin:1rem 0}.toolbar label{margin:0}select{display:block;margin-top:.25rem;padding:.4rem .5rem}.btn-link{background:none;color:#0f3460;border:none;padding:0;margin:0;text-decoration:underline;cursor:pointer}.result-panel{margin-top:1.5rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014}.active-jobs{margin-top:2rem}.error-list{margin-top:1rem;padding:1rem;background:#fff5f5;border-radius:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-panel{background:#fff;border-radius:10px;width:min(900px,100%);max-height:85vh;overflow:auto;padding:1.25rem;box-shadow:0 12px 40px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-header h3{margin:0}.modal-close{margin:0;background:#e5e7eb;color:#111827;border-radius:6px;font-size:1.25rem;line-height:1;padding:.25rem .6rem}.result-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:.9rem}.modal-json{max-height:55vh}.action-cell{white-space:nowrap}.action-sep{color:#9ca3af;margin:0 .25rem}.text-link{color:#0f3460;text-decoration:underline;font-size:.875rem}.text-link:hover{color:#16213e}.modal-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dde3f0}.auditoria-control{margin:1.25rem 0;padding:1rem 1.25rem;border-radius:8px;background:#fff;box-shadow:0 1px 3px #00000014}.auditoria-on{border-left:4px solid #059669}.auditoria-off{border-left:4px solid #dc2626}.auditoria-control h3{margin-top:0}.btn-start{background:#059669}.btn-stop{background:#dc2626}.status-on{color:#059669}.status-off{color:#dc2626}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;flex-wrap:wrap}.pagination-actions{display:flex;gap:.5rem}.pagination-actions button{margin-top:0}
