/* TitanTrades shared product upgrade layer */
:root {
  --tt-ink: #102a43;
  --tt-ink-soft: #52606d;
  --tt-teal: #087f8c;
  --tt-teal-deep: #05636d;
  --tt-mint: #0f9d78;
  --tt-sky: #e8f4f5;
  --tt-canvas: #f4f7fb;
  --tt-surface: rgba(255,255,255,.94);
  --tt-line: #d9e2ec;
  --tt-shadow: 0 16px 38px rgba(16,42,67,.08);
  --tt-radius: 18px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--tt-canvas); color: var(--tt-ink); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, .btn, a.btn, input, select { min-height: 42px; }
:focus-visible { outline: 3px solid rgba(8,127,140,.35); outline-offset: 3px; }
.card, .panel, .section-card, .summary-card, .market-card, .history-card, .feature-card, .plan-card, .signal-card {
  border: 1px solid var(--tt-line);
  border-radius: var(--tt-radius);
  box-shadow: var(--tt-shadow);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover, .panel:hover, .summary-card:hover, .market-card:hover, .feature-card:hover, .plan-card:hover, .signal-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8,127,140,.36);
  box-shadow: 0 20px 44px rgba(16,42,67,.12);
}
.btn-primary, .button-primary, .action-button:not(.secondary) {
  background: linear-gradient(135deg, var(--tt-teal), var(--tt-teal-deep));
  border-color: var(--tt-teal);
  box-shadow: 0 8px 18px rgba(8,127,140,.18);
}
.btn-primary:hover, .button-primary:hover, .action-button:not(.secondary):hover { filter: brightness(1.06); }
.status-badge, .badge-soft, .status, .tag { border-radius: 999px; font-weight: 700; letter-spacing: .01em; }
.skeleton { background: linear-gradient(90deg,#edf2f7 25%,#f8fafc 37%,#edf2f7 63%); background-size: 400% 100%; animation: tt-shimmer 1.4s ease infinite; border-radius: 10px; }
.reveal { animation: tt-rise .55s cubic-bezier(.2,.7,.2,1) both; }
.reveal:nth-child(2) { animation-delay: .06s; } .reveal:nth-child(3) { animation-delay: .12s; } .reveal:nth-child(4) { animation-delay: .18s; }
.toast, .notification { border-radius: 12px; box-shadow: 0 18px 40px rgba(16,42,67,.18); }
.table-responsive, .table-wrap, .history-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
img, canvas, svg { max-width: 100%; }
@keyframes tt-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes tt-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
@media (max-width: 768px) {
  .card, .panel, .summary-card, .market-card, .feature-card, .plan-card, .signal-card { border-radius: 14px; }
  .row, .grid, .plans-grid, .search-row { min-width: 0; }
  .plans-grid, .market-grid, .summary-cards { grid-template-columns: minmax(0, 1fr) !important; }
  .chart-controls, .news-controls { flex-wrap: wrap; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
