:root {
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
  background: #f3f5f1;
  color: #18211f;
  --bg: #f3f5f1;
  --surface: #ffffff;
  --surface-2: #f7f8f6;
  --line: #d9dfd9;
  --copy: #18211f;
  --muted: #64716b;
  --accent: #126756;
  --accent-soft: #e2f1eb;
  --positive: #167a58;
  --caution: #b56b17;
  --warning-soft: #fff1da;
  --danger-soft: #fee5dc;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--copy);
}

select {
  font: inherit;
}

button,
input {
  font: inherit;
}

.app-shell {
  min-height: 100vh;
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-card {
  width: min(100%, 420px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 28px;
}

.login-card h1 {
  margin: 0;
}

.login-form {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.login-hint {
  margin-top: 18px;
  padding: 14px;
  border-radius: 8px;
  background: var(--surface-2);
  display: grid;
  gap: 4px;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 16px 22px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.topbar-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.brand h1 {
  font-size: 30px;
  line-height: 1;
}

.brand h1,
.hero-copy h2,
.section-head h2,
.company-main h2,
.panel h3 {
  margin: 0;
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.subtle,
.company span,
.trend-head p,
.signal p,
.metric-copy span,
.snapshot-metrics small,
.section-head p,
.topbar p {
  color: var(--muted);
}

.actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.topnav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.topnav-btn {
  background: transparent;
  color: var(--copy);
  border-color: var(--line);
}

.topnav-btn.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: transparent;
}

.user-chip {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 12px;
  background: var(--surface-2);
}

.user-chip strong,
.user-chip span {
  display: block;
}

.user-chip span {
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}

button {
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--accent);
  color: #ffffff;
  font-weight: 700;
  padding: 11px 15px;
  cursor: pointer;
}

button:disabled {
  opacity: 0.6;
  cursor: wait;
}

.app-layout {
  display: grid;
  grid-template-columns: 312px minmax(0, 1fr);
  min-height: calc(100vh - 81px);
}

.app-layout.admin-mode {
  grid-template-columns: 1fr;
}

.sidebar {
  background: var(--surface);
  border-right: 1px solid var(--line);
  padding: 14px 12px;
}

.sidebar-block + .sidebar-block {
  margin-top: 20px;
}

.search-panel {
  display: grid;
  gap: 8px;
}

.search-panel label {
  margin-bottom: 0;
}

.search-caption {
  margin: 2px 0 4px;
  line-height: 1.35;
}

.sidebar-modules {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.sidebar-modules article,
.sidebar-module-btn {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: var(--surface-2);
  color: var(--copy);
  text-align: left;
}

.sidebar-module-btn {
  width: 100%;
}

.sidebar-module-btn.is-active {
  background: var(--accent-soft);
  border-color: transparent;
  color: var(--accent);
}

.sidebar-modules strong,
.sidebar-module-btn strong {
  display: block;
  font-size: 16px;
  line-height: 1.15;
}

.sidebar-modules span,
.sidebar-module-btn span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
}

input {
  width: 100%;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: var(--surface-2);
}

select {
  width: 100%;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: var(--surface-2);
}

.company-list {
  display: grid;
  gap: 8px;
  align-content: start;
}

.company {
  display: block;
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: var(--surface-2);
  color: var(--copy);
}

.company-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 6px;
}

.company strong,
.leader-copy strong,
.metric-copy strong,
.snapshot-card strong {
  display: block;
}

.company span {
  display: block;
  font-size: 12px;
  margin-top: 3px;
}

.company-price {
  color: var(--accent);
  font-weight: 700;
}

.content {
  padding: 24px;
}

.content.admin-content {
  width: min(100%, 1180px);
  margin: 0 auto;
}

.hero-band {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 22px;
}

.hero-copy {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
}

.hero-copy h2 {
  font-size: 32px;
  line-height: 1.1;
}

.hero-copy .subtle {
  margin-top: 10px;
  max-width: 70ch;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hero-stat,
.scorecard,
.panel,
.snapshot-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.hero-stat {
  min-height: 120px;
  padding: 16px;
}

.hero-stat span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 12px;
  text-transform: uppercase;
}

.hero-stat strong {
  font-size: 24px;
  line-height: 1.1;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
}

.section-head.compact {
  margin-bottom: 12px;
}

.dashboard-view,
.company-view section + section {
  margin-top: 24px;
}

.company-module-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.company-module-tab {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #36534c;
  font-size: 14px;
  font-weight: 800;
}

.company-module-tab.is-active {
  background: var(--accent);
  color: #ffffff;
}

.company-panel {
  min-width: 0;
}

.leaderboard-grid,
.detail-grid,
.screening-grid,
.admin-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.screening-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--copy);
  padding: 14px 16px;
  text-align: left;
}

.symbol-only-card {
  min-height: 54px;
  display: flex;
  align-items: center;
  font-weight: 800;
  font-size: 17px;
}

.screening-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.screening-card p,
.screening-card small {
  margin: 0;
}

.screening-card p {
  margin-top: 10px;
}

.screening-card small {
  display: block;
  margin-top: 10px;
  color: var(--muted);
}

.screening-workspace {
  display: grid;
  gap: 18px;
}

.screening-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.screening-overview > div,
.scan-panel,
.screening-filter-card,
.scan-board-card,
.scan-area-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.screening-overview > div {
  padding: 16px;
}

.screening-overview span,
.screening-filter-card span,
.scan-board-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.screening-overview strong {
  display: block;
  margin-top: 8px;
  font-size: 24px;
}

.scan-panel {
  padding: 18px;
}

.scan-panel-wide {
  background:
    linear-gradient(135deg, rgba(18, 103, 86, 0.08), rgba(255, 255, 255, 0) 42%),
    var(--surface);
}

.screening-filter-grid,
.scan-board-grid,
.scan-area-grid {
  display: grid;
  gap: 12px;
}

.screening-filter-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.scan-board-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.scan-area-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.screening-filter-card {
  padding: 16px;
  min-height: 420px;
  max-height: 520px;
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  align-content: start;
  gap: 12px;
}

.screening-filter-card strong {
  font-size: 22px;
}

.screening-filter-card small,
.scan-board-card small {
  color: var(--muted);
}

.screening-bound-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.screening-bound-row input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--copy);
  padding: 9px 10px;
}

.screening-bound-row small {
  white-space: nowrap;
  font-weight: 700;
  color: var(--muted);
}

.filter-track {
  height: 8px;
  border-radius: 999px;
  background: #e5ebe6;
  overflow: hidden;
}

.filter-track i {
  display: block;
  width: 64%;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.scan-result-list {
  display: grid;
  gap: 8px;
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
}

.scan-result-row {
  width: 100%;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--copy);
  text-align: left;
}

.scan-result-row span {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 800;
  font-size: 12px;
}

.scan-result-row strong {
  min-width: 0;
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.scan-result-row b {
  font-size: 14px;
  white-space: nowrap;
}

.tone-valuation .filter-track i {
  width: 46%;
}

.tone-margin .filter-track i {
  width: 72%;
  background: var(--positive);
}

.tone-risk .filter-track i {
  width: 38%;
  background: var(--caution);
}

.scan-board-card {
  padding: 14px;
  display: grid;
  gap: 14px;
}

.scan-board-card strong {
  font-size: 17px;
}

.scan-board-card b {
  display: block;
  font-size: 20px;
}

.scan-area-card {
  padding: 16px;
}

.scan-area-card strong {
  display: block;
  font-size: 18px;
  margin-bottom: 12px;
}

.scan-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.scan-chip-list span {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--copy);
  font-size: 12px;
}

.panel,
.leaderboard-panel {
  padding: 16px;
}

.leaderboard-list {
  display: grid;
  gap: 8px;
}

.leader-row {
  width: 100%;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--copy);
}

.leader-rank {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 700;
}

.leader-copy small,
.leader-value small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
}

.leader-value {
  text-align: right;
  font-weight: 700;
}

.home-scoreboards {
  margin-bottom: 26px;
}

.home-scoreboards .section-head {
  align-items: flex-start;
}

.home-scoreboards h2,
.senet-hero h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.12;
}

.home-leaderboards {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.home-leaderboards .leaderboard-panel {
  padding: 14px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.home-leaderboards .leaderboard-list {
  max-height: 632px;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-gutter: stable;
}

.home-leaderboards .leaderboard-list::-webkit-scrollbar {
  width: 8px;
}

.home-leaderboards .leaderboard-list::-webkit-scrollbar-thumb {
  background: #c5d2cb;
  border-radius: 999px;
}

.home-leaderboards .leader-row {
  grid-template-columns: 30px minmax(0, 1fr) minmax(70px, auto);
  padding: 9px 10px;
}

.home-leaderboards .leader-rank {
  width: 30px;
  height: 30px;
}

.senet-home {
  display: grid;
  gap: 18px;
  margin-top: 8px;
}

.senet-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 24px;
  align-items: stretch;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(18, 103, 86, 0.08), transparent 55%),
    var(--surface);
}

.senet-hero-copy {
  align-self: center;
}

.senet-hero-copy .subtle {
  max-width: 70ch;
}

.senet-visual {
  min-height: 190px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 14px;
  padding: 22px;
  border-radius: 8px;
  background: #eef3f5;
  border: 1px solid #d5e0e4;
}

.senet-visual span {
  width: 36px;
  min-height: 34px;
  border-radius: 8px 8px 0 0;
  background: #126756;
  box-shadow: inset 0 10px 0 rgba(255, 255, 255, 0.18);
}

.senet-visual span:nth-child(2),
.senet-visual span:nth-child(5) {
  background: #b56b17;
}

.senet-visual span:nth-child(3) {
  background: #234e73;
}

.home-kpi-strip,
.senet-feature-grid,
.senet-flow {
  display: grid;
  gap: 12px;
}

.home-kpi-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-kpi-strip > div,
.senet-feature-grid article,
.senet-flow > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.home-kpi-strip > div {
  padding: 16px;
}

.home-kpi-strip span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.home-kpi-strip strong {
  font-size: 24px;
}

.senet-feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.senet-feature-grid article {
  padding: 18px;
}

.senet-feature-grid strong {
  display: block;
  font-size: 18px;
}

.senet-feature-grid p {
  margin: 10px 0 0;
  color: var(--muted);
}

.senet-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.senet-flow > div {
  padding: 16px;
  display: grid;
  gap: 8px;
}

.senet-flow span {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 700;
}

.senet-flow small {
  color: var(--muted);
  line-height: 1.35;
}

.company-header {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 248, 246, 0.92)),
    var(--surface);
  border: 1px solid #cfd8d2;
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(30, 44, 39, 0.08);
}

.company-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 28px;
  align-items: stretch;
  padding: 28px;
  position: relative;
}

.company-profile-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 3px solid #c9a95f;
  pointer-events: none;
}

.company-profile-copy {
  display: grid;
  align-content: center;
  min-width: 0;
}

.company-profile-kicker {
  width: fit-content;
  margin: 0 0 12px;
  padding: 5px 10px;
  border: 1px solid #d9c891;
  border-radius: 999px;
  color: #7b6330;
  background: #fbf6e6;
  font-size: 11px;
  font-weight: 800;
  text-transform: none;
}

.company-profile-copy h2 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: baseline;
  margin: 0;
  font-size: 28px;
  line-height: 1.16;
  letter-spacing: 0;
}

.company-profile-copy h2 span {
  color: #0d2f2b;
  font-weight: 900;
}

.company-profile-copy h2 strong {
  color: #1f2a27;
  font-weight: 750;
}

.company-activity {
  max-width: 78ch;
  margin: 14px 0 0;
  color: #394741;
  line-height: 1.58;
  font-size: 15px;
  text-transform: none;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.company-profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.company-profile-links a,
.company-profile-links span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid #d7e0dc;
  background: rgba(255, 255, 255, 0.82);
  color: #31554d;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.company-profile-links a {
  background: #0f6a57;
  border-color: #0f6a57;
  color: #ffffff;
}

.company-profile-side {
  display: grid;
  gap: 14px;
  align-content: center;
  justify-items: center;
  min-width: 0;
}

.company-logo-box {
  width: 100%;
  min-height: 172px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d5ddd7;
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff, #f4f7f5);
  padding: 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 12px 28px rgba(42, 55, 49, 0.07);
}

.company-logo-box img {
  max-width: 100%;
  max-height: 118px;
  object-fit: contain;
}

.company-logo-fallback {
  width: 92px;
  height: 92px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--accent);
  color: #ffffff;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0;
}

.empty-panel {
  padding: 26px;
}

.analysis-landing {
  display: grid;
  gap: 18px;
}

.analysis-search-card {
  margin-bottom: 18px;
}

.analysis-search-results {
  margin-top: 12px;
}

.analysis-landing-hero,
.analysis-start-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.analysis-landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(240px, 0.85fr);
  gap: 22px;
  align-items: stretch;
  padding: 26px;
}

.analysis-landing-hero h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.15;
}

.analysis-landing-hero .subtle {
  max-width: 72ch;
}

.analysis-visual {
  min-height: 170px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 14px;
  padding: 22px;
  border: 1px solid #d5e0e4;
  border-radius: 8px;
  background: #eef3f5;
}

.analysis-visual span {
  width: 44px;
  min-height: 36px;
  border-radius: 8px 8px 0 0;
  background: var(--accent);
}

.analysis-visual span:nth-child(2) {
  background: #234e73;
}

.analysis-visual span:nth-child(3) {
  background: #b56b17;
}

.analysis-module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.analysis-module-grid article {
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.analysis-module-grid strong,
.analysis-start-panel strong {
  display: block;
  font-size: 18px;
}

.analysis-module-grid p,
.analysis-start-panel p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.4;
}

.analysis-start-panel {
  padding: 18px;
}

.company-main {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-end;
}

.company-badges,
.scorecard-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.company-badges {
  justify-content: center;
}

.company-badges .badge {
  background: #e6f2ed;
  color: #0f6a57;
  border: 1px solid #d3e3dc;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
}

.scorecard-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.scorecard {
  padding: 16px;
}

.scorecard-top {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.scorecard-top span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.scorecard-top strong {
  font-size: 25px;
  line-height: 1.1;
}

.scorecard-meta {
  margin-top: 12px;
  justify-content: space-between;
}

.scorecard-meta small {
  color: var(--muted);
}

.scorebar {
  height: 8px;
  border-radius: 999px;
  background: #edf1ec;
  overflow: hidden;
  margin-top: 14px;
}

.scorebar span,
.metric-bar span {
  display: block;
  height: 100%;
  background: var(--accent);
}

.bilanco-chart-stack {
  margin-top: 18px;
  display: grid;
  gap: 16px;
}

.bilanco-chart-empty {
  margin-top: 14px;
}

.excel-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.excel-wide-chart-grid {
  display: grid;
  gap: 14px;
}

.analysis-assets-grid,
.analysis-compact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.analysis-assets-grid .excel-chart-card,
.analysis-compact-grid .excel-chart-card {
  background: #ffffff;
}

.excel-chart-card {
  min-width: 0;
  padding: 10px 12px 8px;
  border: 1px solid #c9d1c8;
  border-radius: 0;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(32, 42, 36, 0.05);
}

.excel-chart-card h3 {
  margin: 0 0 4px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #2e3833;
}

.excel-chart-wide h3 {
  color: #2e3833;
  font-size: 14px;
  letter-spacing: 0;
}

.excel-chart-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.excel-grid-line {
  stroke: #e2e7e1;
  stroke-width: 1;
}

.excel-axis {
  stroke: #9ea9a1;
  stroke-width: 1.2;
}

.excel-axis-label {
  fill: #56615b;
  font-size: 9px;
  dominant-baseline: middle;
}

.excel-axis-label-right {
  text-anchor: start;
}

.excel-axis-label-left {
  text-anchor: end;
}

.excel-zero-line {
  stroke: #74639c;
  stroke-width: 1.6;
}

.excel-chart-value {
  font-size: 10px;
  font-weight: 700;
  dominant-baseline: middle;
  paint-order: stroke;
  stroke: #ffffff;
  stroke-width: 2.4;
}

.excel-chart-value-positive {
  text-anchor: start;
}

.excel-chart-value-negative {
  text-anchor: end;
}

.excel-chart-line-value {
  text-anchor: middle;
}

.excel-chart-value-dark {
  fill: #2e3833;
}

.excel-chart-bar,
.excel-chart-hit {
  cursor: default;
}

.excel-chart-hit {
  fill: transparent;
  stroke: transparent;
}

.excel-chart-x {
  fill: #56615b;
  font-size: 9px;
  text-anchor: start;
}

.excel-chart-legend {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: -6px;
  color: #48534d;
  font-size: 11px;
}

.excel-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.excel-chart-legend em {
  color: #69756f;
  font-style: normal;
  font-size: 10px;
}

.excel-chart-legend i {
  width: 18px;
  height: 3px;
  display: inline-block;
}

.excel-chart-dark {
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.18), transparent 58%),
    linear-gradient(135deg, #202322 0%, #565957 52%, #202322 100%);
  border-color: #2e3431;
  box-shadow: 0 10px 26px rgba(20, 28, 24, 0.18);
}

.excel-chart-dark h3 {
  color: #f4f6f1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.excel-chart-dark .excel-grid-line {
  stroke: rgba(238, 242, 236, 0.16);
}

.excel-chart-dark .excel-axis,
.excel-chart-dark .excel-zero-line {
  stroke: rgba(255, 255, 255, 0.58);
}

.excel-chart-dark .excel-chart-x,
.excel-chart-dark .excel-chart-legend {
  color: #eef2ec;
  fill: #eef2ec;
}

.excel-chart-dark .excel-chart-value {
  stroke: rgba(30, 34, 32, 0.88);
}

.excel-chart-dark .excel-chart-value-dark {
  fill: #f4f6f1;
}

.scorecard-caution .scorebar span,
.signal-caution {
  background: var(--warning-soft);
}

.scorecard-caution .scorecard-top strong {
  color: var(--caution);
}

.scorecard-positive .scorecard-top strong {
  color: var(--positive);
}

.insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 18px;
}

.radar-wrap {
  min-height: 320px;
}

.radar-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 18px;
  align-items: center;
}

.radar-chart {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  display: block;
}

.radar-rings polygon,
.radar-axes line {
  fill: none;
  stroke: #d6ddd8;
  stroke-width: 1;
}

.radar-axes text {
  fill: var(--muted);
  font-size: 11px;
  text-anchor: middle;
}

.radar-area {
  fill: rgba(18, 103, 86, 0.16);
}

.radar-line {
  fill: none;
  stroke: var(--accent);
  stroke-width: 2;
}

.radar-dots circle {
  fill: var(--accent);
}

.radar-legend {
  display: grid;
  gap: 10px;
}

.radar-legend-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ebeeea;
}

.signal-stack,
.metric-stack {
  display: grid;
  gap: 10px;
}

.signal {
  border-radius: 8px;
  padding: 14px;
}

.signal strong,
.signal p {
  display: block;
  margin: 0;
}

.signal p {
  margin-top: 6px;
  line-height: 1.45;
}

.signal-positive {
  background: var(--accent-soft);
}

.signal-caution {
  background: var(--warning-soft);
}

.trend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.trend-card {
  padding: 16px;
}

.trend-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.trend-head strong {
  font-size: 20px;
  line-height: 1.1;
}

.sparkline-wrap {
  overflow: hidden;
}

.sparkline {
  width: 100%;
  display: block;
}

.sparkline-area {
  fill: rgba(18, 103, 86, 0.12);
}

.sparkline-line {
  fill: none;
  stroke: var(--accent);
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sparkline-dots circle {
  fill: var(--accent);
}

.trend-footer {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 12px;
  margin-top: 10px;
}

.trend-footer strong {
  color: var(--copy);
}

.metric-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px 48px;
  gap: 12px;
  align-items: center;
}

.metric-copy span {
  display: block;
  margin-top: 4px;
}

.metric-bar {
  height: 8px;
  border-radius: 999px;
  background: #edf1ec;
  overflow: hidden;
}

.metric-row small {
  color: var(--muted);
  text-align: right;
}

.admin-form {
  display: grid;
  gap: 10px;
}

.check-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  font-weight: 700;
}

.check-row input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.form-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.threshold-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.threshold-grid label {
  display: grid;
  gap: 6px;
}

.button-secondary,
.button-danger {
  border-color: var(--line);
}

.button-secondary {
  background: var(--surface-2);
  color: var(--copy);
}

.button-danger {
  background: #fff1f2;
  color: #b42318;
  border-color: #fecdd3;
}

.admin-actions-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.telegram-alarm-layout {
  align-items: start;
  margin-bottom: 18px;
}

.telegram-alarm-lists {
  align-items: start;
}

.telegram-alarm-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.telegram-alarm-list,
.telegram-event-list {
  display: grid;
  gap: 10px;
}

.telegram-alarm-card,
.telegram-event-row {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.telegram-alarm-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.telegram-alarm-card.compact-card {
  margin-bottom: 10px;
}

.telegram-alarm-card p,
.telegram-alarm-card small,
.telegram-event-row p,
.telegram-event-row small {
  margin: 0;
  color: var(--muted);
}

.telegram-alarm-card small {
  display: block;
  margin-top: 5px;
}

.telegram-alarm-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.alarm-active,
.alarm-passive {
  padding: 7px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.alarm-active {
  background: var(--accent-soft);
  color: var(--accent);
}

.alarm-passive {
  background: #edf1ec;
  color: var(--muted);
}

.telegram-event-list h4,
.telegram-alarm-list h4 {
  margin: 14px 0 4px;
}

.telegram-event-empty {
  margin-top: 12px;
}

.admin-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  width: fit-content;
}

.admin-nav-btn {
  min-width: 120px;
  padding: 10px 14px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-weight: 600;
}

.admin-nav-btn.is-active {
  background: var(--surface-2);
  color: var(--copy);
}

.admin-section-head {
  align-items: center;
}

.admin-home-btn {
  white-space: nowrap;
}

.admin-page {
  display: grid;
  gap: 18px;
}

.admin-action-card,
.access-form-card,
.access-list-card {
  min-height: 100%;
}

.admin-action-card {
  display: grid;
  gap: 14px;
  align-content: start;
}

.admin-action-card button,
.access-form-card button {
  width: 100%;
}

.access-layout {
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  align-items: start;
}

.admin-status-panel {
  margin-top: 0;
}

.admin-status-box {
  margin: 0;
  padding: 14px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--copy);
  font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  word-break: break-word;
}

.operation-history {
  display: grid;
  gap: 8px;
  max-height: 360px;
  overflow: auto;
  padding-right: 4px;
}

.operation-history-note {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
}

.operation-card {
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  overflow: hidden;
}

.operation-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
}

.operation-summary::-webkit-details-marker {
  display: none;
}

.operation-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  font-size: 13px;
}

.operation-summary-side {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 8px;
  min-width: 0;
}

.operation-telegram-badge {
  max-width: 230px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(0, 113, 94, 0.1);
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
}

.access-user-list {
  display: grid;
  gap: 10px;
}

.access-user-card {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  display: grid;
  gap: 12px;
}

.access-user-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.access-user-role {
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
}

.access-user-meta {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}

.access-user-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.access-user-actions button:disabled {
  cursor: default;
}

.bilanco-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.bilanco-shell {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.bilanco-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.bilanco-summary-card {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.bilanco-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 6px;
}

.bilanco-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workbook-tabs {
  max-height: 220px;
  overflow: auto;
  align-content: flex-start;
  padding-right: 4px;
}

.bilanco-tab {
  background: var(--surface);
  color: var(--copy);
  border-color: var(--line);
}

.workbook-tabs .bilanco-tab {
  min-width: 0;
  font-size: 12px;
  padding: 9px 12px;
}

.bilanco-tab.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: transparent;
}

.bilanco-content {
  display: grid;
  gap: 18px;
}

.bilanco-section {
  display: grid;
  gap: 10px;
}

.bilanco-table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.bilanco-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
  background: var(--surface);
}

.bilanco-table th,
.bilanco-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.bilanco-table th {
  position: sticky;
  top: 0;
  background: var(--surface);
  z-index: 1;
  font-size: 12px;
}

.bilanco-table td {
  font-size: 13px;
}

.bilanco-table td.is-negative {
  color: #e00000;
  font-weight: 700;
}

.bilanco-row-group td {
  background: #b8d0ef;
  color: #173955;
  font-weight: 700;
}

.bilanco-row-repeat td {
  background: #edf4fd;
  color: #42627f;
  font-size: 12px;
  font-weight: 700;
}

.veriler-table td:first-child {
  min-width: 260px;
  white-space: normal;
}

.gelir-excel-table {
  min-width: 4200px;
  font-family: Arial, Helvetica, sans-serif;
}

.gelir-excel-table td {
  padding: 4px 7px;
  font-size: 11px;
  line-height: 1.15;
  text-align: right;
}

.gelir-excel-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 58px;
  min-width: 58px;
  color: #ffffff;
  font-weight: 700;
  text-align: right;
  background: #e96a00;
}

.gelir-excel-table td:nth-child(2) {
  position: sticky;
  left: 58px;
  z-index: 2;
  min-width: 420px;
  white-space: normal;
  font-weight: 700;
  text-align: left;
  background: #e96a00;
  color: #ffffff;
}

.gelir-meta-row td,
.gelir-period-row td {
  background: #6e8f37;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
}

.gelir-symbol-row td:first-child {
  background: #ff0000;
  color: #ffffff;
  text-align: left;
}

.gelir-meta-row td:nth-child(2),
.gelir-period-row td:first-child,
.gelir-period-row td:nth-child(2) {
  background: #6e8f37;
  color: #ffffff;
  text-align: left;
}

.gelir-title-row td {
  background: #ffffff;
  color: #18364f;
  font-weight: 800;
}

.gelir-title-row td:first-child,
.gelir-title-row td:nth-child(2) {
  background: #0070c0;
  color: #ffffff;
}

.gelir-subtotal-row td {
  background: #ffffff;
  font-weight: 700;
}

.gelir-total-row td {
  font-weight: 800;
}

.gelir-excel-table .is-negative {
  color: #ff0000;
}

.gelir-separator-row td,
.gelir-excel-table .gelir-separator-row td:first-child,
.gelir-excel-table .gelir-separator-row td:nth-child(2) {
  height: 12px;
  padding: 0;
  border: 0;
  background: #000000;
  color: #000000;
}

.gelir-red-separator td,
.gelir-excel-table .gelir-red-separator td:first-child,
.gelir-excel-table .gelir-red-separator td:nth-child(2) {
  background: #ff0000;
  color: #ff0000;
}

.dikey-excel-table {
  min-width: 4200px;
  font-family: Arial, Helvetica, sans-serif;
}

.dikey-excel-table td {
  padding: 4px 7px;
  font-size: 11px;
  line-height: 1.15;
  text-align: right;
}

.dikey-excel-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 58px;
  min-width: 58px;
  color: #ffffff;
  font-weight: 700;
  text-align: right;
  background: #6e8f37;
}

.dikey-excel-table td:nth-child(2) {
  position: sticky;
  left: 58px;
  z-index: 2;
  min-width: 420px;
  white-space: normal;
  font-weight: 700;
  text-align: left;
  background: #6e8f37;
  color: #ffffff;
}

.dikey-meta-row td,
.dikey-period-row td {
  background: #6e8f37;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
}

.dikey-symbol-row td:first-child {
  background: #ff0000;
  color: #ffffff;
  text-align: left;
}

.dikey-meta-row td:nth-child(2),
.dikey-period-row td:first-child,
.dikey-period-row td:nth-child(2) {
  background: #6e8f37;
  color: #ffffff;
  text-align: left;
}

.dikey-section-row td:first-child,
.dikey-section-row td:nth-child(2) {
  background: #5b9bd5;
  color: #ffffff;
  font-weight: 800;
}

.dikey-total-row td {
  font-weight: 800;
}

.dikey-excel-table .is-negative {
  color: #ff0000;
}

.dikey-bottom-fill td,
.dikey-excel-table .dikey-bottom-fill td:first-child,
.dikey-excel-table .dikey-bottom-fill td:nth-child(2) {
  height: 180px;
  padding: 0;
  border: 0;
  background: #000000;
  color: #000000;
}

.operation-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.operation-head strong {
  font-size: 14px;
}

.operation-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0;
  padding: 0 12px 10px;
  color: var(--muted);
  font-size: 12px;
  border-top: 1px solid rgba(120, 133, 126, 0.18);
}

.operation-meta span {
  overflow-wrap: anywhere;
}

.operation-query {
  flex-basis: 100%;
  color: var(--copy);
}

.operation-error-detail {
  flex-basis: 100%;
  color: #a93428;
}

.operation-status {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.operation-status-success {
  background: rgba(15, 125, 72, 0.12);
  color: #0f7d48;
}

.operation-status-error {
  background: rgba(194, 52, 52, 0.12);
  color: #c23434;
}

.table-wrap {
  overflow: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

th,
td {
  border-bottom: 1px solid #e5e9ef;
  padding: 8px 6px;
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 12px;
}

.snapshot-card {
  padding: 14px;
}

.snapshot-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.snapshot-metrics span {
  display: block;
  min-height: 48px;
  padding: 10px;
  border-radius: 8px;
  background: var(--surface-2);
}

.snapshot-metrics small {
  display: block;
  margin-bottom: 6px;
}

.compare-control-panel,
.pdf-report-control-panel {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.compare-form,
.report-search-form {
  display: grid;
  gap: 8px;
}

.compare-form label,
.report-search-form label {
  color: var(--copy);
  font-weight: 800;
}

.compare-search-row,
.report-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.comparison-content,
.sector-average-content {
  display: grid;
  gap: 16px;
}

.compare-company-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.compare-company-card {
  display: grid;
  gap: 12px;
}

.compare-company-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.compare-company-head strong {
  display: block;
  font-size: 22px;
}

.compare-company-head span,
.compare-company-card p,
.sector-hero p {
  color: var(--muted);
}

.compare-logo {
  width: 74px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.compare-logo img {
  max-width: 88%;
  max-height: 78%;
  object-fit: contain;
}

.compare-summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.compare-summary-list span {
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.compare-summary-list small {
  display: block;
  color: var(--muted);
  font-size: 11px;
}

.compare-summary-list b {
  display: block;
  margin-top: 3px;
  font-size: 15px;
}

.compare-metric-grid,
.sector-metric-grid,
.sector-trend-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
}

.compare-metric-card,
.sector-metric-card,
.sector-trend-card {
  display: grid;
  gap: 12px;
}

.compare-bars,
.paired-bars,
.sector-trend-bars {
  display: grid;
  gap: 10px;
}

.compare-bar-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 92px;
  align-items: center;
  gap: 10px;
}

.compare-bar-row span,
.sector-trend-period span {
  font-weight: 800;
}

.compare-bar-row strong,
.sector-trend-period strong {
  text-align: right;
  font-size: 12px;
}

.compare-bar-track,
.paired-bars i,
.sector-trend-period div {
  height: 10px;
  border-radius: 999px;
  background: rgba(120, 133, 126, 0.16);
  overflow: hidden;
}

.compare-bar-track i,
.paired-bars b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.compare-bar-row.is-best .compare-bar-track i {
  background: #d7a23a;
}

.sector-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 560px);
  gap: 18px;
  align-items: center;
}

.sector-hero span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.sector-hero h3 {
  margin: 8px 0;
  font-size: 28px;
}

.sector-leader-strip {
  display: grid;
  gap: 8px;
}

.sector-leader-strip button {
  min-height: 42px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--copy);
  text-align: left;
}

.sector-leader-strip span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(0, 113, 94, 0.1);
  color: var(--accent);
}

.sector-metric-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.sector-metric-head span {
  color: var(--muted);
  font-size: 12px;
}

.paired-bars div {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 86px;
  gap: 8px;
  align-items: center;
}

.paired-bars div > span {
  color: var(--muted);
  font-size: 12px;
}

.paired-bars strong {
  text-align: right;
  font-size: 12px;
}

.paired-bars div:nth-child(2) b,
.sector-line {
  background: #8c9a91;
}

.sector-metric-card p {
  margin: 0;
  color: var(--muted);
}

.sector-metric-card.is-good {
  border-color: rgba(0, 113, 94, 0.28);
}

.sector-metric-card.is-watch {
  border-color: rgba(215, 162, 58, 0.35);
}

.sector-trend-period {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 126px;
  gap: 8px;
  align-items: center;
}

.sector-trend-period div {
  position: relative;
  height: 18px;
}

.sector-trend-period i {
  position: absolute;
  left: 0;
  height: 7px;
  border-radius: 999px;
}

.company-line {
  top: 2px;
  background: var(--accent);
}

.sector-line {
  bottom: 2px;
}

.report-search-results {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.report-symbol-choice {
  width: auto;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--copy);
}

.report-symbol-choice strong {
  font-size: 14px;
}

.report-symbol-choice span {
  color: var(--muted);
  font-size: 12px;
}

.report-empty {
  padding: 24px;
}

.report-empty strong {
  display: block;
  margin-bottom: 6px;
  font-size: 20px;
}

.pdf-report-shell {
  display: grid;
  gap: 18px;
}

.report-paper {
  display: grid;
  gap: 26px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.report-cover {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 24px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.report-cover span,
.report-section-title span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.report-cover h2 {
  margin: 8px 0 10px;
  font-size: 32px;
  line-height: 1.12;
}

.report-cover p {
  max-width: 86ch;
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.report-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.report-source-row {
  margin: 0 0 10px;
}

.report-chip-row b {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--accent);
  font-size: 12px;
}

.report-logo-box {
  min-height: 150px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.report-logo-box img {
  max-width: 82%;
  max-height: 105px;
  object-fit: contain;
}

.report-logo-box strong {
  color: var(--accent);
  font-size: 34px;
}

.report-section {
  display: grid;
  gap: 16px;
}

.report-section-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.report-section-title h3 {
  margin: 0;
  font-size: 22px;
}

.report-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.report-kpi {
  min-height: 132px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.report-kpi span,
.report-kpi small {
  color: var(--muted);
}

.report-kpi strong {
  font-size: 22px;
}

.report-kpi i {
  display: block;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e7e3;
}

.report-kpi em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.report-two-column {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  align-items: start;
}

.report-narrative {
  display: grid;
  gap: 10px;
  color: #283632;
  line-height: 1.55;
}

.report-narrative p,
.report-signal p,
.report-footnote {
  margin: 0;
}

.report-signal-list {
  display: grid;
  gap: 10px;
}

.report-signal {
  padding: 13px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--muted);
  border-radius: 8px;
  background: var(--surface-2);
}

.report-signal-positive {
  border-left-color: var(--positive);
}

.report-signal-caution {
  border-left-color: var(--caution);
}

.report-signal strong {
  display: block;
  margin-bottom: 6px;
}

.report-signal p,
.report-footnote {
  color: var(--muted);
  line-height: 1.45;
}

.report-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.report-wide-chart-grid {
  display: grid;
  gap: 14px;
}

.report-chart-grid .excel-chart-card,
.report-wide-chart-grid .excel-chart-card {
  background: #ffffff;
}

.report-footnote {
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 13px;
}

.is-hidden {
  display: none;
}

.status {
  margin: 0;
  color: var(--muted);
}

@media (max-width: 1400px) {
  .scorecard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .trend-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) {
  .app-layout,
  .hero-band,
  .insight-grid,
  .leaderboard-grid,
  .detail-grid,
  .screening-grid,
  .admin-layout,
  .senet-hero,
  .analysis-landing-hero,
  .analysis-module-grid,
  .excel-chart-grid,
  .analysis-compact-grid,
  .report-cover,
  .report-kpi-grid,
  .report-two-column,
  .report-chart-grid,
  .home-kpi-strip,
  .telegram-alarm-kpis,
  .threshold-grid,
  .senet-feature-grid,
  .senet-flow,
  .screening-overview,
  .screening-filter-grid {
    grid-template-columns: 1fr;
  }

  .screening-bound-row {
    grid-template-columns: 1fr;
  }

  .telegram-alarm-card {
    grid-template-columns: 1fr;
  }

  .telegram-alarm-actions {
    justify-content: flex-start;
  }

  .screening-bound-row small {
    white-space: normal;
  }

  .scorecard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .company-main,
  .company-profile-hero,
  .topbar,
  .topbar-right {
    flex-direction: column;
    align-items: flex-start;
  }

  .company-profile-hero {
    grid-template-columns: 1fr;
  }

  .report-logo-box {
    min-height: 120px;
  }

  .radar-layout {
    grid-template-columns: 1fr;
  }

  .bilanco-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .content,
  .sidebar,
  .topbar {
    padding: 16px;
  }

  .admin-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-home-btn {
    width: 100%;
  }

  .scorecard-grid,
  .trend-grid,
  .hero-stats {
    grid-template-columns: 1fr;
  }

  .metric-row {
    grid-template-columns: 1fr;
  }

  .metric-row small {
    text-align: left;
  }

  .snapshot-metrics {
    grid-template-columns: 1fr;
  }

  .form-actions,
  .access-user-actions {
    grid-template-columns: 1fr;
  }

  .bilanco-search-row,
  .compare-search-row,
  .report-search-row,
  .bilanco-summary {
    grid-template-columns: 1fr;
  }

  .sector-hero,
  .compare-bar-row,
  .paired-bars div,
  .sector-trend-period {
    grid-template-columns: 1fr;
  }

  .compare-bar-row strong,
  .paired-bars strong,
  .sector-trend-period strong {
    text-align: left;
  }
}

@media print {
  :root {
    background: #ffffff;
  }

  body {
    background: #ffffff;
  }

  .topbar,
  .sidebar,
  .hero-band,
  .analysis-empty,
  .company-header,
  .company-module-nav,
  .section-head button,
  .company-panel:not([data-company-panel="report"]),
  #dashboardView,
  #screeningView,
  #comparisonView,
  #sectorAverageView,
  #adminView {
    display: none !important;
  }

  .app-layout,
  .content,
  #analysisView,
  #companyView,
  .company-panel[data-company-panel="report"],
  .pdf-report-shell {
    display: block !important;
  }

  .app-layout,
  .content {
    padding: 0 !important;
  }

  .report-paper {
    border: 0;
    border-radius: 0;
    padding: 0;
  }

  .report-section,
  .report-cover,
  .excel-chart-card {
    break-inside: avoid;
  }

  .report-kpi-grid,
  .report-chart-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.print-pdf-page .topbar,
  body.print-pdf-page .sidebar,
  body.print-pdf-page .hero-band,
  body.print-pdf-page #dashboardView,
  body.print-pdf-page #screeningView,
  body.print-pdf-page #comparisonView,
  body.print-pdf-page #sectorAverageView,
  body.print-pdf-page #analysisView,
  body.print-pdf-page #telegramAlarmView,
  body.print-pdf-page #adminView,
  body.print-pdf-page #pdfReportView > .section-head,
  body.print-pdf-page .pdf-report-control-panel {
    display: none !important;
  }

  body.print-pdf-page .app-layout,
  body.print-pdf-page .content,
  body.print-pdf-page #pdfReportView,
  body.print-pdf-page #pdfReportPagePreview,
  body.print-pdf-page .pdf-report-shell {
    display: block !important;
  }
}
