/* Greenland brand: logo green #009444 */
:root {
    --brand: #009444;
    --brand-dark: #00703a;
    --brand-darker: #005a2e;
    --brand-light: #e6f4ec;
    --bs-primary: #009444;
    --bs-primary-rgb: 0, 148, 68;
    --bs-link-color: #00703a;
    --bs-link-color-rgb: 0, 112, 58;
    --bs-link-hover-color: #005a2e;
    --bs-link-hover-color-rgb: 0, 90, 46;
}

html { font-size: 15px; position: relative; min-height: 100%; }
body { background: #f4f7f5; }

/* Navbar / brand */
.border-brand { border-color: var(--brand) !important; }
.bg-brand { background: var(--brand) !important; color: #fff; }
.text-brand { color: var(--brand) !important; }
.navbar-brand .brand-text { display: flex; flex-direction: column; line-height: 1; font-weight: 800; letter-spacing: .06em; color: var(--brand); font-size: 1.2rem; }
.navbar-brand .brand-text small { font-weight: 500; letter-spacing: .02em; color: #5f6f66; font-size: .68rem; margin-top: .2rem; }
.navbar .nav-link { color: #2f3d35; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: var(--brand); }
.navbar .nav-link.active { color: var(--brand) !important; font-weight: 600; box-shadow: inset 0 -3px 0 var(--brand); }
.dropdown-item.active, .dropdown-item:active { background-color: var(--brand); }

/* Bootstrap primary → brand green */
.btn-primary {
    --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark);
    --bs-btn-active-bg: var(--brand-darker); --bs-btn-active-border-color: var(--brand-darker);
    --bs-btn-disabled-bg: var(--brand); --bs-btn-disabled-border-color: var(--brand);
    --bs-btn-focus-shadow-rgb: 0, 148, 68;
}
.btn-outline-primary {
    --bs-btn-color: var(--brand-dark); --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand);
    --bs-btn-active-bg: var(--brand-dark); --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-focus-shadow-rgb: 0, 148, 68;
}
.text-bg-primary { background-color: var(--brand) !important; }
.page-link { color: var(--brand-dark); }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #5cc08a; box-shadow: 0 0 0 .2rem rgba(0, 148, 68, .2); }
.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }

/* Login */
.login-logo { max-width: 260px; width: 100%; height: auto; }
.login-card { border-top: 4px solid var(--brand); }

.page-title { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.page-title h1 { font-size: 1.4rem; margin: 0; }

.kpi { background: #fff; border: 1px solid #e1e8e4; border-left: 4px solid var(--brand); border-radius: .5rem; padding: .75rem 1rem; height: 100%; }
.kpi .kpi-label { font-size: .8rem; color: #6c757d; text-transform: uppercase; letter-spacing: .03em; }
.kpi .kpi-value { font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums; }

.card-header { background: var(--brand-light); }
.table td.num, .table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.table-sm td, .table-sm th { vertical-align: middle; }
.card > .table { margin-bottom: 0; }
.table-responsive { background: #fff; }

.summary-list .list-group-item { display: flex; justify-content: space-between; gap: 1rem; }
.summary-list .list-group-item span:last-child { font-variant-numeric: tabular-nums; }

.timeline { list-style: none; padding-left: 0; border-left: 2px solid #cfe3d7; margin-left: .5rem; }
.timeline li { position: relative; padding: 0 0 .9rem 1rem; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: var(--brand); }

.nav-tabs .nav-link { color: var(--brand-dark); }
.nav-tabs .nav-link.active { border-top: 3px solid var(--brand); font-weight: 600; }
.form-label { font-weight: 500; }
.required::after { content: " *"; color: #dc3545; }

.print-only { display: none; }

@media print {
    header nav, footer, .filter-bar, .no-print, .btn { display: none !important; }
    .print-only { display: block !important; }
    .print-letterhead { display: flex !important; align-items: center; gap: 1rem; border-bottom: 2px solid var(--brand); padding-bottom: .5rem; margin-bottom: 1rem; font-size: .8rem; color: #444; }
    .print-letterhead img { height: 60px; }
    body { background: #fff; }
}
