body { font-family: Inter, sans-serif; background: #f7f9fb; color: #191c1e; }
h1, h2, h3, .font-headline { font-family: Manrope, sans-serif; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 450, 'GRAD' 0, 'opsz' 24; vertical-align: middle; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d8dadc; border-radius: 999px; }
.finance-shell { min-height: 100vh; display: grid; grid-template-columns: 80px minmax(0, 1fr); }
.rail { background: #041627; color: #fff; padding: 24px 14px; display: flex; flex-direction: column; align-items: center; gap: 18px; position: sticky; top: 0; height: 100vh; }
.rail-link { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; color: #94a3b8; transition: 0.18s ease; position: relative; }
.rail-link:hover, .rail-link.active { background: #1a2b3c; color: #4edea3; }
.rail-link span:last-child { position: absolute; left: 56px; background: #1a2b3c; color: #fff; padding: 5px 8px; border-radius: 6px; font-size: 11px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.15s; }
.rail-link:hover span:last-child { opacity: 1; }
.page { min-width: 0; }
.topbar { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 32px; background: rgba(248,250,252,0.88); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(196,198,205,.45); position: sticky; top: 0; z-index: 30; }
.context-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 18px; border: 1px solid rgba(196,198,205,.45); background: #fff; border-radius: 14px; box-shadow: 0 10px 28px rgba(4,22,39,.05); }
.card { background: #fff; border: 1px solid rgba(196,198,205,.42); border-radius: 14px; box-shadow: 0 10px 28px rgba(4,22,39,.045); }
.dark-card { background: linear-gradient(135deg,#041627,#0d2539); color: #fff; border-radius: 16px; box-shadow: 0 18px 44px rgba(4,22,39,.2); }
.label { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; color: #64748b; }
.value { font-weight: 800; color: #041627; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; padding: 10px 14px; font-size: 13px; font-weight: 800; border: 1px solid rgba(196,198,205,.75); background: #fff; color: #041627; transition: .15s ease; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(4,22,39,.08); }
.btn-primary { background: #041627; color: #fff; border-color: #041627; }
.btn-green { background: #10b981; color: #041627; border-color: #10b981; }
.pill { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 5px 9px; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.pill.green { background: #d1fae5; color: #047857; }
.pill.amber { background: #fef3c7; color: #b45309; }
.pill.red { background: #fee2e2; color: #b91c1c; }
.pill.slate { background: #e2e8f0; color: #475569; }
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #64748b; padding: 12px 14px; border-bottom: 1px solid #e2e8f0; }
td { padding: 14px; border-bottom: 1px solid #f1f5f9; font-size: 13px; vertical-align: middle; }
input, select, textarea { border: 1px solid #cbd5e1; border-radius: 10px; padding: 9px 10px; font-size: 13px; background: #fff; width: 100%; }
.mini-input { width: 86px; }
.seg { display: inline-flex; border: 1px solid #cbd5e1; border-radius: 10px; overflow: hidden; background: #fff; }
.seg button { padding: 8px 12px; font-size: 12px; font-weight: 800; color: #64748b; }
.seg button.active { background: #041627; color: #fff; }
.doc-page { background: #fff; width: min(100%, 860px); margin: 0 auto; padding: 48px; min-height: 1080px; box-shadow: 0 20px 60px rgba(4,22,39,.12); border: 1px solid #e2e8f0; }
.chart-bar { height: 12px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.chart-bar > span { display: block; height: 100%; background: #10b981; }
@media (max-width: 900px) {
  .finance-shell { grid-template-columns: 1fr; }
  .rail { position: static; height: auto; flex-direction: row; justify-content: center; }
  .topbar { padding: 0 18px; }
  .context-strip { grid-template-columns: 1fr 1fr; }
}
