/* ============================================================================
   ALLAGASH TIMBER & LOGGING CO. — "North Woods" identity.
   Loaded only for the logging pack; re-skins the shared UI kit into a rugged,
   working-woods product. Language: a warm BIRCH-PAPER field, a deep evergreen
   sidebar rail, a FOREST-GREEN accent (the standing timber), and a warm SAP /
   AMBER pop for down-equipment, owed-stumpage and overdue states. Bitter (a
   slab-serif with a logger's-mark heft) for display over Inter body, hairline
   rules. Deliberately unlike the water-bright pool pack — this one is earthy,
   weathered and squared-off, like a fresh-cut stump.
   ============================================================================ */
:root {
    --accent: #4a6b3a;            /* forest green (standing timber) */
    --accent-2: #6b8e4e;          /* moss / new growth */
    --accent-soft: #e4ebdc;       /* pale sage wash */
    --accent-deep: #34502a;       /* deep spruce */
    --buoy: #c0702a;             /* sap / amber pop (down / owed / overdue) */
    --buoy-soft: #f3e3d1;
    --bg: #f5f3ec;               /* birch-paper field */
    --panel: #ffffff;
    --ink: #25281f;              /* bark ink */
    --ink-soft: #6b6f60;
    --line: #e3e0d4;             /* warm hairline */
    --side: #1f2a1a;             /* deep evergreen */
    --side-ink: #9aa890;
    --side-ink-bright: #ffffff;
    --pos: #3f7a4a;
    --neg: #b1432c;
    --display-font: "Bitter", "Georgia", serif;
    --radius: 7px;
    --shadow: 0 1px 2px rgba(37,40,31,.05), 0 18px 38px -26px rgba(74,107,58,.42);
}

body {
    font-family: "Inter", -apple-system, "Segoe UI", sans-serif;
    color: var(--ink);
    background-color: var(--bg);
    background-image:
        radial-gradient(circle at 90% -8%, rgba(74,107,58,.12), transparent 46%),
        radial-gradient(circle at 4% 104%, rgba(107,142,78,.08), transparent 40%);
    background-attachment: fixed;
    letter-spacing: .1px;
}

/* ---------------- Sidebar: deep evergreen ---------------- */
.side { background: linear-gradient(180deg, #28361f, #161f12); border-right: 1px solid #0d130a; }
.brand { border-bottom: 1px solid rgba(255,255,255,.08); margin: -2px -6px 14px; padding: 6px 14px 16px; }
.brand-mark {
    background: var(--accent); border-radius: 11px; box-shadow: 0 0 0 3px rgba(74,107,58,.24);
    font-family: var(--display-font); font-weight: 800; color: #fff;
}
.brand-name { font-family: var(--display-font); font-weight: 800; font-size: 18px; letter-spacing: .1px; }
.brand-pack { text-transform: uppercase; letter-spacing: .22em; font-size: 9px; color: var(--accent-2); opacity: .95; }
.nav-link {
    border-radius: 6px; font-size: 12.5px; font-weight: 500; letter-spacing: .02em;
    color: #a3b097; border-left: 2px solid transparent; padding-left: 10px;
}
.nav-link:hover { background: rgba(255,255,255,.05); color: #fff; }
.nav-link.active {
    background: linear-gradient(90deg, rgba(74,107,58,.40), rgba(74,107,58,.04));
    color: #fff; border-left-color: var(--accent-2);
}
.nav-link.active .nav-ico { color: var(--accent-2); opacity: 1; }
.side-foot { text-transform: uppercase; letter-spacing: .2em; font-size: 9px; }

/* ---------------- Topbar ---------------- */
.topbar { background: var(--panel); border-bottom: 1px solid var(--line); }
.client-id strong { font-family: var(--display-font); font-weight: 800; font-size: 17px; letter-spacing: .1px; }
.client-id .dot { border-radius: 50%; }

/* ---------------- Page header: woods masthead ---------------- */
.page-head { position: relative; margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.page-head h1 { font-family: var(--display-font); font-weight: 800; font-size: 28px; letter-spacing: .1px; }
.page-head .sub { color: var(--ink-soft); text-transform: uppercase; letter-spacing: .14em; font-size: 11px; }
.page-head .back { font-size: 12px; color: var(--ink-soft); text-decoration: none; }
.page-head .back:hover { color: var(--accent); }

/* display on panel titles + numerals */
.rpanel .panel-h h3 { font-family: var(--display-font); font-weight: 700; font-size: 15.5px; letter-spacing: .1px; }
.kpi-num, .kpi-val { font-family: var(--display-font); font-weight: 800; }
.kpi-lab, .kpi-label { text-transform: uppercase; letter-spacing: .1em; font-size: 10.5px; }

/* buttons */
.btn-primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-deep); border-color: var(--accent-deep); }

/* ---------------- Status badge palette ---------------- */
/* neutral / new / queued (warm slate) */
.badge-none, .badge-draft, .badge-bid, .badge-prospect, .badge-scheduled,
.badge-cruised, .badge-inactive, .badge-applied, .badge-scouting { background: #e7e3d7; color: #6a6553; }
/* info / in-motion (sage wash) */
.badge-awarded, .badge-mobilizing, .badge-under-contract, .badge-signed,
.badge-sent, .badge-in-progress, .badge-hauled, .badge-delivered,
.badge-bid-submitted, .badge-offered, .badge-partial { background: var(--accent-soft); color: var(--accent-deep); }
/* active / working / flagged (amber sap) */
.badge-active, .badge-suspended, .badge-down, .badge-maintenance,
.badge-open, .badge-overdue, .badge-expired, .badge-needs-service,
.badge-scaled, .badge-on-hold { background: var(--buoy-soft); color: #9a531c; }
/* done / paid / approved / healthy (forest green) */
.badge-complete, .badge-completed, .badge-closed, .badge-closed-out,
.badge-paid, .badge-settled, .badge-approved, .badge-won, .badge-done { background: #dcebd9; color: #356b3e; }
/* alerts (rust red) */
.badge-cancelled, .badge-lost, .badge-declined, .badge-failed, .badge-past { background: #f0ddd4; color: #a8412b; }

/* type / category info chips (cool bark slate) */
.badge-private, .badge-family-woodlot, .badge-timo, .badge-paper-co,
.badge-state, .badge-town,
.badge-clearcut, .badge-selective, .badge-thinning, .badge-shelterwood, .badge-salvage,
.badge-sawmill, .badge-pulp-mill, .badge-biomass, .badge-pellet, .badge-stud-mill, .badge-chip,
.badge-spruce, .badge-fir, .badge-white-pine, .badge-red-pine, .badge-cedar, .badge-hemlock,
.badge-maple, .badge-birch, .badge-oak, .badge-aspen, .badge-mixed,
.badge-sawlog, .badge-pulpwood, .badge-stud, .badge-firewood, .badge-veneer,
.badge-ton, .badge-cord, .badge-mbf,
.badge-stumpage, .badge-lump-sum, .badge-per-ton, .badge-service-cut,
.badge-mill-settlement, .badge-stumpage-payout, .badge-trucking,
.badge-net-7, .badge-net-14, .badge-net-30, .badge-on-scale,
.badge-feller-buncher, .badge-skidder, .badge-processor, .badge-forwarder,
.badge-loader, .badge-delimber, .badge-chipper, .badge-log-truck, .badge-pickup, .badge-lowboy,
.badge-idle,
.badge-pm, .badge-repair, .badge-hydraulic, .badge-tracks, .badge-tires, .badge-engine, .badge-saw,
.badge-notification-of-harvest, .badge-forest-operations, .badge-water-crossing,
.badge-road-use, .badge-herbicide,
.badge-maine-forest-service, .badge-dep,
.badge-referral, .badge-repeat, .badge-landowner-call, .badge-forester,
.badge-auction, .badge-cold-call,
.badge-owner, .badge-feller-buncher-op, .badge-skidder-op, .badge-processor-op,
.badge-loader-op, .badge-truck-driver, .badge-mechanic, .badge-office,
.badge-mill, .badge-service { background: #e6e2d4; color: #5a5645; }

.ph-pos { color: var(--pos); } .ph-neg { color: var(--neg); }
.ph-money { font-variant-numeric: tabular-nums; }

/* amber "alert" chip helper for custom views (down / owed / overdue) */
.tw-alert { display:inline-flex; align-items:center; gap:6px; font-weight:700; color:#9a531c;
    text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.tw-alert::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--buoy); }
