﻿:root { --csl-green: #0b3d2e; --csl-green-2: #14694a; --csl-cream: #f7f5ee; --csl-line: #d8d2c2; }
body { background: var(--csl-cream); color: #1d1d1d; font-family: 'Helvetica Neue', Arial, sans-serif; }
.csl-header { background: var(--csl-green); color: #fff; padding: 0.75rem 1rem; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
.csl-brand { color: #fff; text-decoration: none; display: flex; align-items: center; gap: 0.65rem; }
.csl-brand:hover { color: #d4e9dd; }
.csl-brand-mark { background: #fff; color: var(--csl-green); font-weight: 700; padding: 0.3rem 0.55rem; border-radius: 4px; letter-spacing: 0.5px; }
.csl-brand-text { font-size: 1.1rem; font-weight: 600; }
.csl-nav .csl-nav-link { color: #d4e9dd; margin-left: 1rem; text-decoration: none; padding: 0.4rem 0.6rem; border-radius: 4px; }
.csl-nav .csl-nav-link:hover { background: var(--csl-green-2); color: #fff; }
.csl-card { background: #fff; border: 1px solid var(--csl-line); border-radius: 6px; }
.csl-stat { padding: 1rem; border-right: 1px solid var(--csl-line); }
.csl-stat:last-child { border-right: none; }
.csl-stat .csl-stat-label { color: #555; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }
.csl-stat .csl-stat-value { font-size: 1.8rem; font-weight: 600; color: var(--csl-green); }
.csl-table thead th { background: var(--csl-green); color: #fff; border-color: var(--csl-green-2); }
.csl-table tbody tr:hover { background: #eef2eb; }
.csl-section-title { color: var(--csl-green); border-bottom: 2px solid var(--csl-green); padding-bottom: 0.25rem; margin-bottom: 1rem; font-weight: 600; }
.csl-footer { color: #777; }
.csl-empty { color: #777; font-style: italic; }
.csl-timeline { list-style: none; padding: 0; margin: 0; }
.csl-timeline li { border-left: 3px solid var(--csl-green-2); padding: 0.5rem 0.75rem; margin-bottom: 0.5rem; background: #fafaf6; }
.csl-timeline .csl-event-meta { font-size: 0.8rem; color: #666; }
@media (max-width: 768px) {
  .csl-nav .csl-nav-link { margin-left: 0; margin-right: 0.5rem; }
  .csl-stat { border-right: none; border-bottom: 1px solid var(--csl-line); }
  .csl-stat:last-child { border-bottom: none; }
}


.csl-demo-banner { background: #b30000; color: #fff; font-weight: 600; letter-spacing: 0.5px; }
.csl-demo-banner a { color: #ffe1a8; text-decoration: underline; }
