/*
 * Stock Sentinel platform-neutral design tokens.
 *
 * Current Streamlit pages load this file through utils/ui.py. A future web
 * frontend should import the same file at its application root; component
 * behavior and financial meaning must not depend on Streamlit selectors.
 */
:root {
  --ss-color-bg: #0b1220;
  --ss-color-panel: #0f172a;
  --ss-color-panel-raised: #111c31;
  --ss-color-panel-subtle: rgba(15, 23, 42, 0.55);
  --ss-color-border: rgba(148, 163, 184, 0.18);
  --ss-color-text: #e5e7eb;
  --ss-color-text-muted: #a8b5c7;
  --ss-color-action: #38bdf8;
  --ss-color-action-hover: #22aee8;
  --ss-color-action-rest-end: #0891b2;
  --ss-color-action-pressed: #0e7490;
  --ss-color-action-ink: #001018;
  --ss-color-positive: #22c55e;
  --ss-color-negative: #ef4444;
  --ss-color-caution: #f59e0b;
  --ss-color-focus: rgba(56, 189, 248, 0.8);

  /* Feedback surfaces are product states, not host-framework theme colors. */
  --ss-color-info-surface: rgba(56, 189, 248, 0.07);
  --ss-color-info-border: rgba(56, 189, 248, 0.34);
  --ss-color-success-surface: rgba(34, 197, 94, 0.07);
  --ss-color-success-border: rgba(34, 197, 94, 0.34);
  --ss-color-warning-surface: rgba(245, 158, 11, 0.07);
  --ss-color-warning-border: rgba(245, 158, 11, 0.34);
  --ss-color-error-surface: rgba(239, 68, 68, 0.07);
  --ss-color-error-border: rgba(239, 68, 68, 0.34);

  /* Product semantics, intentionally separate from framework widget states. */
  --ss-color-sentiment-bullish: #7dd3fc;
  --ss-color-sentiment-bearish: #fca5a5;
  --ss-color-sentiment-neutral: #cbd5e1;
  --ss-color-recommendation-buy: #38bdf8;
  --ss-color-recommendation-watch: #f59e0b;
  --ss-color-recommendation-avoid: #f87171;

  --ss-radius-control: 10px;
  --ss-radius-panel: 16px;
  --ss-control-min-height: 44px;
  /* One desktop canvas prevents the shell from resizing between routes. */
  --ss-shell-max-width: 1100px;
  --ss-shell-gutter: clamp(16px, 4vw, 28px);
  --ss-content-max-width: var(--ss-shell-max-width);
  --ss-reading-max-width: 760px;
  --ss-workspace-max-width: var(--ss-shell-max-width);
  --ss-marketing-max-width: var(--ss-shell-max-width);
  --ss-font-display: clamp(2.65rem, 5vw, 4.3rem);
  --ss-font-page-title: clamp(2rem, 4vw, 2.85rem);
  --ss-space-control: 0.75rem;
  --ss-space-section: clamp(1.5rem, 3vw, 2.5rem);
  --ss-shadow-panel: 0 14px 36px rgba(2, 6, 23, 0.28);
  --ss-shadow-focus-panel: 0 22px 60px rgba(2, 6, 23, 0.36);

  /* Backward-compatible aliases used by the current adapter. */
  --bg: var(--ss-color-bg);
  --panel: var(--ss-color-panel);
  --panel2: var(--ss-color-panel-subtle);
  --border: var(--ss-color-border);
  --text: var(--ss-color-text);
  --muted: var(--ss-color-text-muted);
  --accent: var(--ss-color-action);
  --good: var(--ss-color-positive);
  --bad: var(--ss-color-negative);
  --warn: var(--ss-color-caution);
  --focus-ring: var(--ss-color-focus);
  --radius-control: var(--ss-radius-control);
  --radius-panel: var(--ss-radius-panel);
}
