:root {
    --egg-green: #2e6b46;
    --egg-ink: #20281f;
    --egg-paper: #f6f7f4;
}
body { background: var(--egg-paper); color: var(--egg-ink); }
.app-navbar { background: #fff; border-bottom: 3px solid var(--egg-green); }
.app-navbar .navbar-brand strong { color: var(--egg-green); }
.app-navbar .nav-link.active { color: var(--egg-green); font-weight: 600; }
.btn-success { background: var(--egg-green); border-color: var(--egg-green); }
.signin-body { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.signin-card { width: 100%; max-width: 380px; }
.stat-tile { background: #fff; border: 1px solid #dde3da; border-radius: 10px; padding: 16px 18px; }
.stat-tile .num { font-size: 28px; font-weight: 700; font-variant-numeric: tabular-nums; }
.stat-tile .lbl { color: #5a675a; font-size: 13px; }
table.table { background: #fff; }

/* Google sign-in button per Google branding guidelines */
.gsi-button {
    display: flex; align-items: center; justify-content: center; gap: 12px;
    width: 100%; height: 40px;
    background: #fff; border: 1px solid #dadce0; border-radius: 4px;
    color: #3c4043; font-family: 'Roboto', 'IBM Plex Sans', Arial, sans-serif;
    font-size: 14px; font-weight: 500; letter-spacing: .25px;
    cursor: pointer; transition: background-color .2s, box-shadow .2s;
}
.gsi-button:hover { background: #f8f9fa; box-shadow: 0 1px 3px rgba(60,64,67,.3); border-color: #dadce0; color: #3c4043; }
.gsi-button:active { background: #f1f3f4; }
.gsi-button:disabled { opacity: .6; cursor: default; }
.gsi-button .gsi-logo { flex: 0 0 18px; }
