.rv-card, .chart-card, .rak-chart, .rag-section, .au-chart-card, .au-filter, .au-table {
  background: var(--rv-surface) !important;
  border: 1px solid var(--rv-border) !important;
  border-radius: var(--rv-radius-card) !important;
  box-shadow: var(--rv-shadow-sm) !important;
}
.rv-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.rv-card-title { margin: 0; font-size: 17px; font-weight: 700; }
.rv-card-description { margin: 3px 0 0; color: var(--rv-text-secondary); font-size: 13px; }
.rv-button, .btn-outline, .au-act-btn, .login-btn {
  min-height: 42px !important; padding: 10px 15px !important; display: inline-flex;
  align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--rv-border-strong) !important;
  border-radius: var(--rv-radius-sm) !important; background: var(--rv-surface) !important;
  color: var(--rv-text) !important; font-size: 14px !important; font-weight: 650 !important;
  text-decoration: none; transition: border-color .15s, background .15s, color .15s, transform .15s;
}
.rv-button:hover, .btn-outline:hover, .au-act-btn:hover { border-color: #b9b5ff !important; background: var(--rv-primary-soft) !important; color: var(--rv-primary-hover) !important; }
.rv-button-primary, .au-act-btn-primary, .login-btn {
  border-color: var(--rv-primary) !important; background: var(--rv-primary) !important; color: #fff !important;
}
.rv-button-primary:hover, .au-act-btn-primary:hover, .login-btn:hover { background: var(--rv-primary-hover) !important; color: #fff !important; }
.rv-button-danger { border-color: #fecdca !important; background: var(--rv-danger-soft) !important; color: var(--rv-danger) !important; }
.rv-button-ghost { border-color: transparent !important; background: transparent !important; }
.rv-icon-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.rv-kpi-card, .kpi-card, .rak-kpi, .rag-kpi, .au-kpi-card {
  min-height: 142px; padding: 22px !important; border: 1px solid var(--rv-border) !important;
  border-radius: 12px !important; background: var(--rv-surface) !important; box-shadow: var(--rv-shadow-sm) !important;
}
.au-kpi-lbl, .kpi-label, .rak-l { color: var(--rv-text-secondary) !important; font-size: 13px !important; font-weight: 650 !important; text-transform: none !important; letter-spacing: 0 !important; }
.au-kpi-val, .kpi-value, .rak-v { color: var(--rv-text) !important; font-size: clamp(27px, 2vw, 33px) !important; line-height: 1.2 !important; font-weight: 750 !important; letter-spacing: -.025em; }
.au-kpi-sub { color: var(--rv-text-muted) !important; font-size: 12px !important; }
.f-bar, .raf-bar, .au-fgrid {
  gap: 12px !important; padding: 14px !important; background: var(--rv-surface) !important;
  border: 1px solid var(--rv-border) !important; border-radius: 12px !important;
}
.f-i, .raf-i, .au-fg input, .au-fg select { min-height: 42px !important; border-color: var(--rv-border-strong) !important; border-radius: 8px !important; font-size: 14px !important; }
.c-tabs, .au-currency-buttons { padding: 3px; border: 1px solid var(--rv-border); border-radius: 10px; background: var(--rv-surface-muted); }
.c-tab, .au-currency-btn { min-height: 34px !important; padding: 6px 13px !important; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: var(--rv-text-secondary) !important; }
.c-tab.active, .au-currency-btn.active { background: var(--rv-surface) !important; color: var(--rv-primary) !important; box-shadow: 0 1px 3px rgba(16,24,40,.12); }
.ra-tabs, .au-strip, .au-fchips { scrollbar-width: thin; }
.ra-tab, .au-chip, .au-sc {
  min-height: 40px; border-radius: 8px !important; font-size: 13px !important;
}
.ra-tab.active, .au-chip.active, .au-sc.active { color: var(--rv-primary) !important; border-color: #c9c6ff !important; background: var(--rv-primary-soft) !important; }
.chart-card, .rak-chart, .au-chart-card { min-height: 390px; padding: 22px !important; }
.chart-wrap, .au-chart-wrap { height: 310px !important; min-height: 310px; }
.chart-title, .rak-chart h4, .au-chart-card h4 { color: var(--rv-text) !important; font-size: 18px !important; font-weight: 700 !important; }
.chart-msg, .au-chart-msg {
  place-items: center; padding: 28px; color: var(--rv-text-secondary); font-size: 14px;
  border: 1px dashed var(--rv-border-strong); border-radius: 10px; background: var(--rv-surface-muted); text-align: center;
}
.chart-msg:empty { display: grid; }
.chart-msg:empty::before { content: "Veriler hazırlanıyor…"; }
.tbl-wrap, .rak-tbl-w, .au-tscroll { overflow: auto; scrollbar-width: thin; }
table thead th {
  position: sticky; top: 0; z-index: 2; height: 44px; padding: 12px 14px !important; color: var(--rv-text-secondary) !important;
  background: var(--rv-surface-muted) !important; border-bottom: 1px solid var(--rv-border-strong) !important;
  font-weight: 650 !important; white-space: nowrap;
}
table tbody td { height: 44px; padding: 11px 14px !important; border-bottom: 1px solid var(--rv-border) !important; color: var(--rv-text) !important; }
table tbody tr:hover td { background: var(--rv-primary-soft) !important; }
.au-bdg, .rv-badge, .rv-status-chip { min-height: 24px; padding: 3px 8px !important; border-radius: 999px !important; font-size: 11px !important; font-weight: 650 !important; }
.rv-empty-state { min-height: 180px; display: grid; place-items: center; padding: 32px; color: var(--rv-text-secondary); text-align: center; }
.rv-toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 500; display: grid; gap: 10px; width: min(380px, calc(100vw - 32px)); }
.rv-toast { padding: 13px 14px; display: flex; gap: 10px; border: 1px solid var(--rv-border); border-radius: 11px; background: var(--rv-surface); box-shadow: var(--rv-shadow-md); color: var(--rv-text); }
.rv-toast-success { border-left: 4px solid var(--rv-success); }
.rv-toast-error { border-left: 4px solid var(--rv-danger); }
.rv-toast-warning { border-left: 4px solid var(--rv-warning); }
.rv-modal-backdrop { position: fixed; inset: 0; z-index: 600; display: none; place-items: center; padding: 18px; background: rgba(11,16,32,.58); }
.rv-modal-backdrop.open { display: grid; }
.rv-modal { width: min(480px, 100%); padding: 24px; border: 1px solid var(--rv-border); border-radius: var(--rv-radius-modal); background: var(--rv-surface); box-shadow: var(--rv-shadow-md); }
.rv-modal h2 { margin: 0 0 8px; font-size: 20px; }
.rv-modal p { margin: 0; color: var(--rv-text-secondary); }
.rv-modal-actions { margin-top: 22px; display: flex; justify-content: flex-end; gap: 10px; }
.rv-actions-menu { position: relative; }
.rv-actions-menu summary { list-style: none; }
.rv-actions-menu summary::-webkit-details-marker { display: none; }
.rv-actions-popover {
  position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; width: 238px; padding: 8px;
  border: 1px solid var(--rv-border); border-radius: 11px; background: var(--rv-surface); box-shadow: var(--rv-shadow-md);
}
.rv-actions-popover form + form { margin-top: 5px; }
.rv-actions-popover .rv-button { width: 100%; justify-content: flex-start; }
.rv-skeleton { position: relative; overflow: hidden; color: transparent !important; background: #eef1f6 !important; border-radius: 6px; }
.rv-skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); animation: rv-shimmer 1.25s infinite; }
@keyframes rv-shimmer { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media (max-width: 640px) {
  .rv-kpi-card, .kpi-card, .rak-kpi, .rag-kpi, .au-kpi-card {
    min-height: 124px; padding: 18px !important;
  }
}
