:root { --river: #1f5f8b; --river-dark: #184d72; --sand: #f6efe1; --sand-card: #fffaf0; --sand-line: #e6d7bb;
        --earth: #7a4e22; --ink: #2a2116; --muted: #6b5640; --gold: #f2c14e; }
body { background: var(--sand); color: var(--ink); font-family: 'Source Sans 3', system-ui, sans-serif; }
h1, h2, .h1, .h2, .h4, .h5, .brand, .stat { font-family: 'Literata', Georgia, serif; }
a { color: var(--river); } a:hover { color: #123f5f; }
.topbar { background: var(--sand); border-bottom: 1px solid var(--sand-line); }
.topbar .brand { font-weight: 700; font-size: 1.3rem; color: var(--ink); text-decoration: none; }
.topbar .nav-link { color: var(--muted); font-weight: 600; }
.topbar .nav-link.active, .topbar .nav-link:hover { color: var(--ink); }
.topbar .nav-link.active { border-bottom: 2px solid var(--earth); }
.avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--earth); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; }
.card { border: 1px solid var(--sand-line); border-radius: 14px; box-shadow: none; background: #fff; }
.btn-primary { background: var(--river); border-color: var(--river); }
.btn-primary:hover, .btn-primary:focus { background: var(--river-dark); border-color: var(--river-dark); }
.btn-outline-primary { color: var(--river); border-color: var(--river); }
.btn-outline-primary:hover { background: var(--river); border-color: var(--river); }
.btn-gold { background: var(--gold); color: var(--ink); font-weight: 700; border: 0; }
.btn-gold:hover { background: #e5ad2c; color: var(--ink); }
.nav-tabs .nav-link { color: var(--muted); }
.nav-tabs .nav-link.active { color: var(--ink); font-weight: 700; background: #fff; }
.list-group-item { border-color: var(--sand-line); }
table.grid input { min-width: 5.5rem; }
table.grid td { padding: .2rem; }
.w-name { min-width: 7rem; } .w-wide { min-width: 13rem; }
.stat { font-size: 1.4rem; font-weight: 700; color: var(--ink); }
.stat-label { font-size: .85rem; color: var(--muted); }
.sheet-frame { width: 100%; aspect-ratio: 400/277; border: 1px solid var(--sand-line); background: #fff; }
.sticky-save { position: sticky; bottom: 0; background: var(--sand); padding: .6rem 0; z-index: 5; }
.hero { background: var(--river); color: #fff; border-radius: 20px; overflow: hidden; }
.hero h1 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.15; }
.hero .eyebrow { color: #cfe3f1; font-size: .9rem; letter-spacing: .05em; text-transform: uppercase; }
.hero p { color: #dcebf5; font-size: 1.05rem; }
.hero .btn-ghost { color: #fff; border: 1px solid #8fbad8; font-weight: 600; }
.hero .btn-ghost:hover { background: rgba(255,255,255,.1); color: #fff; }
.hero-art { background: var(--river-dark); min-height: 220px; display: flex; align-items: flex-end; }
.kpi { background: var(--sand-card); border: 1px solid var(--sand-line); border-radius: 14px; padding: 18px 20px; height: 100%; }
.kpi .v { font-family: 'Literata', Georgia, serif; font-size: 2rem; font-weight: 700; line-height: 1.2; }
.kpi .l { font-size: .9rem; color: var(--muted); }
.mine-card { background: #fff; border: 1px solid var(--sand-line); border-radius: 14px; padding: 20px; text-decoration: none; color: var(--ink); display: flex; flex-direction: column; gap: 8px; height: 100%; }
.mine-card:hover { border-color: var(--earth); color: var(--ink); }
.add-card { border: 2px dashed #d3bf98; border-radius: 14px; padding: 20px; text-decoration: none; color: var(--muted); display: flex; align-items: center; justify-content: center; min-height: 150px; font-weight: 700; height: 100%; }
.add-card:hover { color: var(--ink); border-color: var(--earth); }
.pill { background: #efe6d3; color: #5c4a35; padding: 2px 10px; border-radius: 999px; font-size: .8rem; font-weight: 700; }
.remove-mine { position: absolute; right: 26px; bottom: 14px; }
.pill-final { background: #dcefe3; color: #1d5e3a; }
/* cross-section table (same layout as report table 4.8) */
.sec-grid th { text-align: center; vertical-align: middle; font-size: .82rem; line-height: 1.2; }
.sec-grid .sec-head th { background: #dcebd9; }
.sec-grid .sec-units th { font-weight: 400; background: #fff; font-size: .78rem; }
.sec-grid td { font-variant-numeric: tabular-nums; }
.sec-grid input { min-width: 5rem; }
.sec-grid tr.ero .c-net, .sec-grid tr.ero .c-vol, .sec-grid tr.ero .c-t { color: #a93226; }
.sec-grid .c-auto { white-space: nowrap; }
.sec-grid tfoot td { background: #f1f4f3; }
/* WhatsApp */
.btn-whatsapp { background: #1f8f4e; border-color: #1f8f4e; color: #fff; font-weight: 600; }
.btn-whatsapp:hover, .btn-whatsapp:focus { background: #177a41; border-color: #177a41; color: #fff; }
.btn-whatsapp:disabled { background: #6aa784; border-color: #6aa784; color: #fff; }
.form-control.calc { background: #e8f2fb; font-weight: 600; }
