:root { color-scheme: light; --ink:#1d2433; --muted:#687385; --line:#dfe4ec; --brand:#146c60; --accent:#e7b84b; --bg:#f7f9fb; --panel:#fff; }
* { box-sizing: border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); }
a { color:var(--brand); text-decoration:none; }
.topbar { min-height:64px; display:flex; align-items:center; gap:20px; padding:0 24px; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
.brand { font-weight:800; color:var(--ink); }
.topbar nav { display:flex; gap:14px; flex:1; flex-wrap:wrap; }
.topbar form { margin-left:auto; }
.page { width:min(1120px, 100%); margin:0 auto; padding:28px 18px 56px; }
.hero, .mobile-action { min-height:62vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:18px; }
h1 { font-size:clamp(28px, 5vw, 48px); margin:0; letter-spacing:0; }
h2 { font-size:20px; }
p { color:var(--muted); }
button, .button { border:0; background:var(--brand); color:white; border-radius:8px; padding:12px 18px; font-weight:700; cursor:pointer; display:inline-flex; justify-content:center; align-items:center; }
.button.large { font-size:18px; padding:18px 22px; width:min(100%, 420px); }
.secondary { background:#44546a; }
.ghost { background:transparent; color:var(--ink); border:1px solid var(--line); }
.small { padding:7px 10px; font-size:13px; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:22px; margin-bottom:18px; }
.narrow { max-width:560px; }
.heading { margin:8px 0 22px; }
.module-grid, .kpis, .columns { display:grid; gap:14px; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
.module, .kpis > div { display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:20px; min-height:112px; }
.module.active { border-left:5px solid var(--brand); }
.module.muted { color:var(--muted); background:#f0f3f6; }
.stack { display:flex; flex-direction:column; gap:14px; }
.grid-form { display:grid; gap:14px; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); margin-top:18px; }
label { display:flex; flex-direction:column; gap:6px; font-weight:700; color:#394456; }
input, select, textarea { width:100%; border:1px solid var(--line); border-radius:8px; min-height:42px; padding:9px 10px; font:inherit; background:#fff; }
textarea { min-height:92px; }
.wide { grid-column:1 / -1; }
.check { flex-direction:row; align-items:center; }
.check input { width:auto; }
.receipt-summary { display:grid; gap:10px; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); }
.receipt-summary div { padding:14px; border:1px solid var(--line); border-radius:8px; background:#fbfcfd; }
.receipt-summary span, .kpis span { display:block; color:var(--muted); font-size:13px; }
.receipt-summary strong, .kpis strong { font-size:24px; }
.quick-links, .admin-menu { display:flex; gap:10px; flex-wrap:wrap; margin:12px 0 22px; }
.admin-menu a { background:#fff; border:1px solid var(--line); border-radius:8px; padding:9px 12px; color:var(--ink); }
.table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); border-radius:8px; }
table { width:100%; border-collapse:collapse; min-width:760px; }
th, td { padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
th { background:#f0f3f6; font-size:13px; }
.status { background:#eef6f3; color:var(--brand); border-radius:999px; padding:4px 9px; font-size:13px; }
@media (max-width: 720px) {
  .topbar { align-items:flex-start; flex-direction:column; padding:14px 18px; }
  .topbar form { margin-left:0; }
  .page { padding:20px 14px 40px; }
  table { min-width:640px; }
}

