﻿.rs-app { min-height: 100vh; display: flex; flex-direction: column; }
.rs-topbar {
  position: sticky; top: 0; z-index: 1030; height: var(--rs-header-height);
  background: rgba(255,255,255,.96); border-bottom: 1px solid var(--rs-border);
  backdrop-filter: blur(12px);
}
.rs-topbar-inner {
  max-width: var(--rs-content-max); height: 100%; margin: 0 auto; padding: 0 1.25rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.rs-brand { display: flex; align-items: center; gap: .8rem; color: var(--rs-text); }
.rs-brand-mark {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 12px; background: var(--rs-primary); color: #fff; font-weight: 700;
}
.rs-brand-title { font-size: 1rem; font-weight: 600; line-height: 1.2; }
.rs-brand-subtitle { font-size: .75rem; color: var(--rs-text-muted); }
.rs-nav { display: flex; align-items: center; gap: .25rem; }
.rs-nav-link {
  display: inline-flex; align-items: center; gap: .45rem; padding: .62rem .8rem;
  color: var(--rs-text-muted); border-radius: .7rem; font-weight: 500;
}
.rs-nav-link:hover, .rs-nav-link.is-active { background: var(--rs-surface-soft); color: var(--rs-primary); }
.rs-main { width: 100%; max-width: var(--rs-content-max); margin: 0 auto; padding: 1.5rem 1.25rem 5rem; flex: 1; }
.rs-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.rs-footer { border-top: 1px solid var(--rs-border); background: var(--rs-surface); }
.rs-footer-inner { max-width: var(--rs-content-max); margin: 0 auto; padding: 1rem 1.25rem; color: var(--rs-text-muted); font-size: .85rem; }
.rs-devbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 2000;
  background: #111827; color: #f9fafb; border-top: 3px solid #f59e0b;
  font-size: .78rem;
}
.rs-devbar-inner { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: .45rem 1rem; }
.rs-dev-pill { padding: .16rem .5rem; background: rgba(255,255,255,.1); border-radius: 999px; }
