/*
  Stock Agent visual adapter based on the Rental System UI Kit.
  This intentionally avoids grid/layout rules so dashboard structure remains unchanged.
*/

:root {
  --rs-bg: #e8eef6;
  --rs-panel: #ffffff;
  --rs-panel-muted: #eef4fb;
  --rs-text: #102a43;
  --rs-text-soft: #43596f;
  --rs-accent: #0d9fd1;
  --rs-accent-deep: #087da8;
  --rs-accent-soft: #cdeefa;
  --rs-pill-bg: #fff8d9;
  --rs-pill-border: #9fc0df;
  --rs-pill-text: #5f4b18;
  --rs-warn: #d97706;
  --rs-danger: #cf2e2e;
  --rs-success: #0f9f6e;
  --rs-border: #aebfd1;
  --rs-border-strong: #869db4;
  --rs-table-head: #d7edf8;
  --rs-table-row-alt: #e7edf4;
  --rs-table-row-hover: #ddeef8;
  --rs-shadow: 0 18px 42px rgba(16, 42, 67, 0.14);
  --rs-radius: 0.35rem;
  --rs-font: "Segoe UI", Tahoma, sans-serif;

  --xero-blue: var(--rs-accent);
  --xero-blue-deep: var(--rs-accent-deep);
  --xero-blue-soft: var(--rs-accent-soft);
  --xero-blue-tint: var(--rs-panel-muted);
  --xero-ink: var(--rs-text);
  --xero-text: var(--rs-text);
  --xero-muted: var(--rs-text-soft);
  --xero-line: var(--rs-border);
  --xero-line-strong: var(--rs-border-strong);
  --xero-panel: var(--rs-panel);
  --xero-surface: var(--rs-bg);
  --xero-success: var(--rs-success);
  --xero-danger: var(--rs-danger);
  --xero-warning: var(--rs-warn);
  --xero-shadow: var(--rs-shadow);
  --xero-table-head: var(--rs-table-head);
  --xero-table-row: var(--rs-table-row-alt);
}

html {
  -webkit-text-size-adjust: 100%;
  scrollbar-gutter: stable;
}

body {
  color: var(--rs-text);
  font-family: var(--rs-font);
  line-height: 1.45;
  background:
    radial-gradient(circle at top left, rgba(13, 159, 209, 0.18), transparent 28%),
    linear-gradient(180deg, #f8fbfd 0%, var(--rs-bg) 100%);
}

.card,
.sidebar-card,
.right-rail-note,
.company-modal-card,
.action-card,
.hero-stat,
.company-options-subcard,
.company-price-stat,
.article-modal-preview,
.company-premium-launch,
.kpi-tooltip-panel,
.system-ticker-panel,
.analyst-panel,
.ticker-news-tooltip,
.sidebar-chart-tooltip {
  border: 1px solid rgba(214, 184, 88, 0.42);
  border-radius: 0.45rem;
  background: #fffdf0;
  box-shadow: 0 14px 30px rgba(88, 70, 22, 0.12);
  color: #4f4216;
}

.analyst-panel.score-panel {
  width: min(430px, calc(100vw - 32px));
}

.card p,
.card span,
.sidebar-card p,
.right-rail-note p,
.company-modal-copy,
.action-card-subtitle,
.system-summary,
.page-subtitle,
.section-head p,
.company-ai-summary p {
  color: var(--rs-text-soft);
}

.company-modal-panel,
.article-modal-panel,
.page-busy-panel {
  border: 1px solid var(--rs-border);
  border-radius: 0.55rem;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
  box-shadow: 0 24px 60px rgba(16, 42, 67, 0.28);
}

input,
select,
textarea,
.sidebar-select,
.system-form-field input,
.system-form-field select,
.watchlist-field input,
.search-shell,
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border: 1px solid var(--rs-border-strong);
  border-radius: var(--rs-radius);
  background: #fff;
  color: var(--rs-text);
  box-shadow: inset 0 0 0 1px rgba(134, 157, 180, 0.18);
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(19, 181, 234, 0.8);
  box-shadow: 0 0 0 4px rgba(19, 181, 234, 0.12);
}

.primary-action,
.sidebar-save,
.action-btn.primary,
.article-modal-link {
  border: 1px solid var(--rs-accent-deep);
  border-radius: var(--rs-radius);
  background: linear-gradient(135deg, var(--rs-accent-deep), var(--rs-accent));
  color: #fff;
  font-weight: 700;
  box-shadow: 0 12px 24px rgba(8, 125, 168, 0.18);
}

.secondary-action,
.action-btn.secondary,
.utility-btn,
.article-modal-close,
.sidebar-toggle,
.right-rail-toggle,
.company-price-range-btn,
.dt-button {
  border: 1px solid rgba(8, 125, 168, 0.18) !important;
  border-radius: var(--rs-radius) !important;
  background: #dbeefa !important;
  color: #075f81 !important;
  box-shadow: inset 0 0 0 1px rgba(8, 125, 168, 0.18) !important;
}

.action-btn.danger,
.action-icon-danger {
  border-color: rgba(207, 46, 46, 0.28);
  background: #fde8e8;
  color: #a52727;
  box-shadow: none;
}

.top-nav-tab,
.company-modal-tab,
.system-tab-btn {
  border: 1px solid rgba(134, 157, 180, 0.28);
  border-bottom: 2px solid rgba(134, 157, 180, 0.34);
  border-radius: var(--rs-radius) var(--rs-radius) 0 0;
  background: #f3f6fa;
  color: var(--rs-text-soft);
  box-shadow: none;
  font-weight: 600;
}

.top-nav-tab.active,
.top-nav-tab:hover,
.company-modal-tab.is-active,
.company-modal-tab:hover,
.system-tab-btn.is-active,
.system-tab-btn:hover {
  background: var(--rs-accent-soft);
  color: var(--rs-accent-deep);
  border-bottom-color: var(--rs-accent-deep);
  box-shadow: inset 0 0 0 1px rgba(19, 181, 234, 0.18);
}

.company-modal-tab.is-active,
.system-tab-btn.is-active {
  color: var(--rs-accent-deep);
}

.nav-item,
.quick-links li,
.pill,
.bottom-status-pill,
.article-modal-pill,
.ai-action-pill,
.company-ticker-button,
.rec-priority,
.rec-ticker-chip,
.system-ticker-label,
.system-ticker-trigger,
.analyst-pill {
  border: 1px solid var(--rs-pill-border);
  border-radius: 999px;
  background: var(--rs-pill-bg);
  color: var(--rs-pill-text);
}

.nav-item.active,
.nav-item:hover,
.company-ticker-button:hover,
.company-ticker-button:focus-visible {
  background: var(--rs-accent-soft);
  color: var(--rs-accent-deep);
  box-shadow: inset 0 0 0 1px rgba(19, 181, 234, 0.18);
}

.ai-action-pill.increase,
.ai-action-pill.add {
  background: #ddf7ea;
  color: #0c684a;
}

.ai-action-pill.hold {
  background: #eef4fb;
  color: var(--rs-text-soft);
}

.ai-action-pill.has-trade-intent {
  flex-direction: column;
  gap: 1px;
  line-height: 1.05;
}

.ai-action-intent-marker {
  font-size: 0.5em;
  line-height: 1;
  letter-spacing: 0.08em;
  opacity: 0.78;
}

.ai-action-pill.sell,
.ai-action-pill.avoid {
  background: #fde8e8;
  color: #9a2424;
}

.system-table,
.company-valuation-table,
.company-options-table,
table.dataTable {
  border: 1px solid var(--rs-border) !important;
  border-radius: var(--rs-radius) !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(16, 42, 67, 0.08) !important;
}

.system-table th,
.company-valuation-table th,
.company-options-table th,
table.dataTable thead th {
  background: var(--rs-table-head) !important;
  color: #34627f !important;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.system-table td,
.company-valuation-table td,
.company-options-table td,
table.dataTable tbody td {
  border-bottom: 1px solid #ccd9e6 !important;
}

.system-table tbody tr:nth-child(even),
table.dataTable tbody tr:nth-child(even) {
  background: var(--rs-table-row-alt) !important;
}

.system-table tbody tr:hover,
table.dataTable tbody tr:hover {
  background: var(--rs-table-row-hover) !important;
}

.page-busy,
.article-modal,
.company-modal {
  background: rgba(16, 42, 67, 0.42);
}

@media (max-width: 760px) {
  .card,
  .sidebar-card,
  .right-rail-note,
  .company-modal-card,
  .action-card {
    padding: 0.85rem;
  }

  .company-modal-panel,
  .article-modal-panel {
    border-radius: 0.55rem;
  }
}
