:root {
  color: #17132b;
  background: #f7f7fb;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body {
  color: #17132b;
  background:
    radial-gradient(circle at 8% 2%, rgba(109,40,217,.07), transparent 28rem),
    radial-gradient(circle at 94% 18%, rgba(20,184,166,.08), transparent 26rem),
    #f7f7fb;
}
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: rgba(109,40,217,.45); }
.app-header { border-bottom-color: rgba(109,40,217,.1); background: rgba(255,255,255,.88); box-shadow: 0 8px 30px rgba(30,24,66,.045); backdrop-filter: blur(20px) saturate(1.35); }
.brand, h1, h2, h3 { color: #17132b; }
.brand-mark { border-radius: 11px; background: linear-gradient(145deg, #6d28d9, #7c3aed 58%, #14b8a6); box-shadow: 0 8px 20px rgba(109,40,217,.22); }
.connection::before { background: #14b8a6; }
.back-button, .text-button, .eyebrow { color: #6d28d9; }
.action-card, .project-card, .form-card, .paste-choice, .table-scroll, .response-cell, .empty-state, .camera-frame, .calibration-result img {
  border-color: rgba(109,40,217,.11);
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 1px 2px rgba(25,23,55,.04), 0 8px 22px rgba(38,30,92,.06);
}
.action-card:hover, .project-card:hover { border-color: rgba(109,40,217,.24); box-shadow: 0 18px 38px rgba(40,31,92,.11); transform: translateY(-2px); }
.action-card.primary, .button.primary { color: #fff; border-color: #6d28d9; background: linear-gradient(135deg, #6d28d9, #7c3aed); }
.button.primary:hover { background: linear-gradient(135deg, #5b21b6, #6d28d9); }
.button { border-radius: 11px; }
.button.secondary, .icon-button { color: #6d28d9; border-color: rgba(109,40,217,.28); }
.button.secondary:hover, .icon-button:hover { color: #5b21b6; border-color: #6d28d9; background: #f5f3ff; }
.action-icon, .empty-icon { color: #5b21b6; border-radius: 11px; background: #ede9fe; }
.primary .action-icon { color: #6d28d9; background: #fff; }
.count-pill, .filter-button.active, .status-badge { color: #5b21b6; background: #ede9fe; }
.filter-button.active { border-color: #ddd6fe; }
.progress-track span { background: linear-gradient(90deg, #6d28d9, #14b8a6); }
.import-choice { color: #44336e; border-color: rgba(109,40,217,.34); border-radius: 14px; background: #f5f3ff; }
.import-choice:hover { background: #ede9fe; }
.form-card input, .form-card select, .calibration-controls input, .search-field input, .table-input, .response-cell select, .paste-choice textarea { border-color: #ddd8eb; border-radius: 9px; }
.form-card input:focus, .form-card select:focus, .calibration-controls input:focus, .search-field input:focus, .table-input:focus, .response-cell select:focus, .paste-choice textarea:focus { border-color: #6d28d9; box-shadow: 0 0 0 3px rgba(109,40,217,.11); outline: none; }
th { color: #51486c; background: #f5f3ff; }
tbody tr:hover { background: #faf8ff; }
.scanner-view { background: #100c24; }
.scanner-header, .scanner-actions p { color: #ddd6fe; }
.scan-guide span { background: rgba(16,12,36,.78); }
.toast { border-radius: 13px; background: #21164b; box-shadow: 0 18px 42px rgba(22,14,57,.3); }
