/* Custom polish on top of Tailwind */

.gradient-hero {
  background: radial-gradient(1200px 400px at 10% -10%, #eef2ff 0%, transparent 60%),
              radial-gradient(900px 400px at 100% 0%, #eafff3 0%, transparent 55%),
              linear-gradient(180deg, #fbfcff 0%, #f8fafc 100%);
}

.auth-panel {
  background: linear-gradient(160deg, #4f6df5 0%, #3b52d9 55%, #2f41ad 100%);
}

.card-hover {
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.card-hover:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px -8px rgba(59, 82, 217, 0.18);
  border-color: #c3d3ff;
}

.sidebar-link.active {
  background: linear-gradient(90deg, #eef2ff, #f5f7ff);
  color: #3b52d9;
  font-weight: 600;
  border-left: 3px solid #4f6df5;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

.spreadsheet-grid table { border-collapse: collapse; }
.spreadsheet-grid td, .spreadsheet-grid th {
  border: 1px solid #e2e8f0;
  min-width: 90px;
}
.spreadsheet-grid td[contenteditable="true"]:focus {
  outline: 2px solid #4f6df5;
  outline-offset: -2px;
  background: #f5f7ff;
}
.spreadsheet-grid th {
  background: #f8fafc;
  font-weight: 600;
  color: #475569;
  text-align: center;
  padding: 4px;
}

@keyframes fadeIn { from { opacity: 0; transform: translateY(4px);} to { opacity: 1; transform: translateY(0);} }
.fade-in { animation: fadeIn .25s ease both; }
