:root {
    --wr-dark: #1B4332;
    --wr-mid: #2D6A4F;
    --wr-sage: #86A799;
    --wr-cream: #F7F5EF;
    --wr-gold: #C9962C;
    --wr-red: #B3432D;
}

body { background: var(--wr-cream); font-family: 'Segoe UI', system-ui, sans-serif; margin: 0; }

/* Sidebar */
.sidebar {
    width: 240px; min-height: 100vh; background: var(--wr-dark); color: #CFE0D2;
    position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.sidebar-brand {
    padding: 20px; font-size: 17px; font-weight: 600; color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.sidebar-brand i { color: var(--wr-gold); margin-right: 6px; }
.sidebar-sub { font-size: 11px; color: #A9C2AE; letter-spacing: .04em; text-transform: uppercase; margin-top: 3px; }
.sidebar .nav-link {
    color: #CFE0D2; font-size: 13.5px; padding: 9px 20px; border-left: 3px solid transparent;
    display: flex; align-items: center; gap: 10px; transition: .15s;
}
.sidebar .nav-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.sidebar .nav-link.active { background: rgba(255,255,255,.1); color: #fff; border-left-color: var(--wr-gold); font-weight: 500; }
.sidebar .nav-link i { font-size: 15px; opacity: .85; width: 18px; text-align: center; }
.sidebar-divider { border-top: 1px solid rgba(255,255,255,.1); margin: 10px 0; }
.sidebar-heading { font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: #86A799; padding: 4px 20px; }
.sidebar-footer { padding: 16px 20px; border-top: 1px solid rgba(255,255,255,.1); }

/* Main */
.main-content { min-height: 100vh; }
.main-header { padding: 18px 24px; background: #fff; border-bottom: 1px solid #E4E1D6; }
.main-header h4 { font-weight: 600; color: var(--wr-dark); }

/* Cards */
.stat-card {
    background: #fff; border-radius: 10px; padding: 18px 20px; border: 1px solid #E4E1D6;
    transition: .15s;
}
.stat-card:hover { border-color: var(--wr-mid); }
.stat-card .stat-value { font-size: 28px; font-weight: 700; color: var(--wr-dark); }
.stat-card .stat-label { font-size: 12px; color: #6B7560; text-transform: uppercase; letter-spacing: .04em; }

/* Tables */
.table-wr { background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid #E4E1D6; }
.table-wr table { margin-bottom: 0; }
.table-wr th { background: var(--wr-dark); color: #fff; font-size: 12.5px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; padding: 10px 14px; border: none; }
.table-wr td { padding: 10px 14px; font-size: 14px; vertical-align: middle; border-color: #EDEBE2; }
.table-wr tbody tr:hover { background: #F0EDE5; }

/* Status badges */
.badge-milking { background: #2D6A4F; color: #fff; }
.badge-pregnant { background: #3F6C6B; color: #fff; }
.badge-dry { background: #C9962C; color: #fff; }
.badge-calf { background: #5B9BD5; color: #fff; }
.badge-heifer { background: #7C6BA0; color: #fff; }
.badge-deceased { background: #6c757d; color: #fff; }
.badge-sold { background: #95614D; color: #fff; }
.badge-due { background: var(--wr-gold); color: #fff; }
.badge-overdue { background: var(--wr-red); color: #fff; }
.badge-active { background: var(--wr-mid); color: #fff; }
.badge-retired { background: #6c757d; color: #fff; }

/* Forms */
.form-card { background: #fff; border-radius: 10px; padding: 28px; border: 1px solid #E4E1D6; max-width: 650px; }
.form-card label { font-size: 13px; font-weight: 500; color: #1F2A24; }
.btn-wr { background: var(--wr-dark); color: #fff; border: none; padding: 10px 28px; font-weight: 500; }
.btn-wr:hover { background: var(--wr-mid); color: #fff; }

/* Login page */
.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--wr-dark); }
.login-card { background: #fff; border-radius: 14px; padding: 40px; width: 100%; max-width: 400px; }
.login-card h3 { color: var(--wr-dark); font-weight: 700; }

/* Detail page */
.detail-section { background: #fff; border-radius: 10px; padding: 20px; border: 1px solid #E4E1D6; margin-bottom: 20px; }
.detail-section h6 { color: var(--wr-dark); font-weight: 600; border-bottom: 2px solid var(--wr-gold); padding-bottom: 8px; }
.detail-label { font-size: 12px; color: #6B7560; text-transform: uppercase; letter-spacing: .03em; }
.detail-value { font-size: 15px; font-weight: 500; color: #1F2A24; }
