:root { --ic-primary: #0b3d6e; --ic-accent: #f2a900; }
body { background: #f4f6fa; font-size: .92rem; }
.sidebar { width: 250px; min-height: 100vh; background: var(--ic-primary); color: #fff; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.sidebar .brand { color: #fff; padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.sidebar .brand small { font-size: .72rem; opacity: .75; font-weight: 400; }
.sidebar .brand i { color: var(--ic-accent); }
.sidebar .nav-link { color: rgba(255,255,255,.82); padding: .42rem 1rem; border-left: 3px solid transparent; }
.sidebar .nav-link i { width: 1.4rem; display: inline-block; }
.sidebar .nav-link:hover { color: #fff; background: rgba(255,255,255,.07); }
.sidebar .nav-link.active { color: #fff; background: rgba(255,255,255,.12); border-left-color: var(--ic-accent); }
.sidebar .nav-header { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; opacity: .55; padding: .9rem 1rem .25rem; }
.topbar { height: 58px; background: #fff; border-bottom: 1px solid #e3e7ee; position: sticky; top: 0; z-index: 10; }
.main { min-width: 0; }
.card { border: 1px solid #e3e7ee; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.card-header { background: #fff; font-weight: 600; }
.stat { border-left: 4px solid var(--ic-primary); }
.stat .v { font-size: 1.45rem; font-weight: 700; }
.stat .l { font-size: .75rem; text-transform: uppercase; color: #6b7280; letter-spacing: .04em; }
.table > :not(caption) > * > * { padding: .45rem .6rem; }
.table thead th { font-size: .75rem; text-transform: uppercase; color: #6b7280; background: #f8fafc; white-space: nowrap; }
.dl-grid { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; }
.dl-grid dt { color: #6b7280; font-weight: 500; }
.dl-grid dd { margin: 0; }
.timeline { border-left: 2px solid #dde3ea; margin-left: .5rem; padding-left: 1rem; }
.timeline .item { position: relative; margin-bottom: .8rem; }
.timeline .item::before { content: ''; position: absolute; left: -1.38rem; top: .35rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--ic-primary); }
.btn-primary { background: var(--ic-primary); border-color: var(--ic-primary); }
.premium-box { background: #0b3d6e0d; border: 1px dashed #0b3d6e55; border-radius: .5rem; }
@media (max-width: 991px) {
  .sidebar { position: fixed; left: -260px; z-index: 1040; transition: left .2s; }
  .sidebar.show { left: 0; }
}
/* Printable documents */
.doc { max-width: 820px; margin: 0 auto; background: #fff; padding: 2rem; }
.doc h2 { color: var(--ic-primary); }
@media print { .no-print { display: none !important; } body { background: #fff; } .doc { padding: 0; } }
