/* Centralized theme tokens and polished UI styles - generated by Copilot */
:root{
  --bg: #F8FAFC;
  --surface:#FFFFFF;
  --border:#E2E8F0;
  --text-primary:#0F172A;
  --text-secondary:#64748B;
  --muted:#94A3B8;
  --primary:#3B82F6;
  --primary-hover:#2563EB;
  --success:#22C55E;
  --warning:#F59E0B;
  --danger:#EF4444;
  --info:#06B6D4;
  --radius-button:12px;
  --radius-input:12px;
  --radius-card:16px;
  --shadow-sm: 0 1px 2px rgba(2,6,23,0.05);
  --shadow-md: 0 4px 12px rgba(2,6,23,0.08);
  --shadow-lg: 0 10px 30px rgba(2,6,23,0.12);
  --font-stack: Inter, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
}
:root.dark{
  --bg:#0F172A;
  --surface:#111827;
  --card:#1E293B;
  --border:#334155;
  --text-primary:#F8FAFC;
  --text-secondary:#CBD5E1;
}
html,body{font-family:var(--font-stack);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg)!important;color:var(--text-primary)!important;}
body{line-height:1.45}
button,input,select,textarea{transition:all 180ms ease;border-radius:var(--radius-button)}
input,select,textarea{border-radius:var(--radius-input)!important}
.rounded-lg{border-radius:var(--radius-button)!important}
.rounded-2xl,.rounded-3xl{border-radius:var(--radius-card)!important}
.bg-white{background-color:var(--surface)!important}
.bg-gray-50{background-color:var(--bg)!important}
.bg-gray-100{background-color:rgba(15,23,42,0.03)!important}
.bg-gray-900{background-color:var(--card)!important}
.text-gray-900,.dark .text-gray-100{color:var(--text-primary)!important}
.text-gray-600{color:var(--text-secondary)!important}
.text-gray-500{color:var(--muted)!important}
.border-gray-200{border-color:var(--border)!important}
.dark .border-gray-700,.border-gray-700{border-color:var(--border)!important}
.shadow,.shadow-lg,.shadow-2xl{box-shadow:var(--shadow-md)!important}
.shadow-lg:hover,.hover\:shadow-xl:hover{box-shadow:var(--shadow-lg)!important}
button.bg-blue-600,.bg-blue-600{background-color:var(--primary)!important}
button.bg-blue-600:hover,.bg-blue-600:hover{background-color:var(--primary-hover)!important}
input:focus,textarea:focus,select:focus{outline:none!important;box-shadow:0 0 0 4px rgba(59,130,246,0.12)!important;border-color:var(--primary)!important}
input,textarea,select{border:1px solid var(--border)!important;background-color:var(--surface)!important;color:var(--text-primary)!important;padding:0.5rem}
.kbd,.chip{border-radius:999px;padding:0.25rem 0.5rem;font-size:0.75rem;background:rgba(2,6,23,0.03);border:1px solid var(--border)}
.table-header{background-color:rgba(15,23,42,0.03);font-weight:600;color:var(--text-secondary)}
.modal{border-radius:20px;box-shadow:var(--shadow-lg)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Scrollbar polish */
.scrollbox::-webkit-scrollbar{width:10px}
.scrollbox::-webkit-scrollbar-track{background:var(--border);border-radius:8px}
.scrollbox::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:8px}
.dark .scrollbox::-webkit-scrollbar-track{background:#1f2937}
.dark .scrollbox::-webkit-scrollbar-thumb{background:#4b5563}
/* Component-specific helpers */
.drop-zone{border:2px dashed var(--primary);border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all 0.3s}
.drop-zone:hover{background:rgba(59,130,246,0.05)}
.drop-zone.drag-over{background:rgba(59,130,246,0.15);border-color:#1e40af}
.log-entry{padding:0.75rem;margin-bottom:0.5rem;border-radius:6px;font-size:0.875rem;display:flex;align-items:flex-start;gap:0.5rem}
.log-pending{background:#fef3c7;color:#92400e;border-left:4px solid var(--warning)}
.log-processing{background:#dbeafe;color:#0c4a6e;border-left:4px solid var(--primary)}
.log-success{background:#dcfce7;color:#166534;border-left:4px solid var(--success)}
.log-error{background:#fee2e2;color:#991b1b;border-left:4px solid var(--danger)}
.dark .log-pending{background:#78350f;color:#fef3c7}
.dark .log-processing{background:#082f49;color:#bfdbfe}
.dark .log-success{background:#15803d;color:#dcfce7}
.dark .log-error{background:#7f1d1d;color:#fee2e2}
.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:50;align-items:center;justify-content:center}
.modal-overlay.show{display:flex}
