/* FieldWorks Brand Theme - Complete Override */

:root {
    --fw-primary-green: #3F7336;
    --fw-light-green: #5a9446;
    --fw-bg-green: #e8f5e9;
    --fw-dark-green: #2d5a28;
    --fw-white: #FFFFFF;
    --fw-text-light: #f0f0f0;
}

/* Override default app.css link colors */
a, .btn-link {
    color: var(--fw-primary-green) !important;
}

a:hover {
    color: var(--fw-dark-green) !important;
}

/* Override default app.css button colors */
.btn-primary {
    color: #fff !important;
    background-color: var(--fw-primary-green) !important;
    border-color: var(--fw-primary-green) !important;
}

.btn-primary:hover {
    background-color: var(--fw-dark-green) !important;
    border-color: var(--fw-dark-green) !important;
}

.btn-primary:disabled {
    background-color: var(--fw-light-green) !important;
    border-color: var(--fw-light-green) !important;
}

/* Override focus styles */
.btn:focus, 
.btn:active:focus, 
.btn-link.nav-link:focus, 
.form-control:focus, 
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--fw-light-green) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--fw-primary-green) !important;
    box-shadow: 0 0 0 0.25rem rgba(63, 115, 54, 0.25) !important;
}

/* CRITICAL: Top bar styling */
main > .top-row,
.top-row.px-4,
.top-row {
    background: var(--fw-primary-green) !important;
    background-color: var(--fw-primary-green) !important;
    background-image: none !important;
    border-bottom: 3px solid var(--fw-dark-green) !important;
}

/* All text in top row must be white */
.top-row,
.top-row *,
.top-row span,
.top-row a {
    color: var(--fw-white) !important;
}

.top-row a:hover {
    color: var(--fw-text-light) !important;
    text-decoration: underline;
}

/* CRITICAL: Sidebar styling */
.sidebar,
.sidebar > div,
div.sidebar {
    background: var(--fw-primary-green) !important;
    background-color: var(--fw-primary-green) !important;
    background-image: linear-gradient(180deg, var(--fw-primary-green) 0%, var(--fw-dark-green) 100%) !important;
}

.sidebar .top-row {
    background-color: var(--fw-primary-green) !important;
    background-image: none !important;
    border-bottom: none !important;
}

.sidebar .nav-item a {
    color: var(--fw-white) !important;
}

.sidebar .nav-item a:hover {
    background-color: var(--fw-light-green) !important;
    color: var(--fw-white) !important;
}

.sidebar .nav-item a.active {
    background-color: var(--fw-white) !important;
    color: var(--fw-primary-green) !important;
}

/* Success buttons */
.btn-success {
    background-color: var(--fw-light-green) !important;
    border-color: var(--fw-light-green) !important;
}

.btn-success:hover {
    background-color: var(--fw-primary-green) !important;
    border-color: var(--fw-primary-green) !important;
}

/* Badges */
.badge.bg-success {
    background-color: var(--fw-light-green) !important;
}

.badge.bg-primary {
    background-color: var(--fw-primary-green) !important;
}

.badge.bg-info {
    background-color: var(--fw-light-green) !important;
}

.badge.bg-danger {
    background-color: #dc3545 !important;
}

/* Cards */
.card-header {
    background-color: var(--fw-bg-green) !important;
    border-bottom: 2px solid var(--fw-primary-green) !important;
    color: var(--fw-dark-green) !important;
}

.card-header h5 {
    color: var(--fw-primary-green) !important;
    margin: 0;
}

/* Section headers */
h6.border-bottom {
    border-bottom-color: var(--fw-light-green) !important;
    color: var(--fw-primary-green) !important;
}

h3, h4, h5 {
    color: var(--fw-primary-green);
}

/* Logo in sidebar */
.sidebar-logo {
    padding: 20px;
    text-align: center;
    background-color: var(--fw-primary-green);
    border-bottom: 3px solid var(--fw-dark-green);
}

.sidebar-logo img {
    max-width: 120px;
    max-height: 120px;
    width: auto;
    height: auto;
}

/* Top bar logo - constrained size */
.top-row-logo {
    max-height: 35px;
    height: 35px;
    width: auto;
    margin-right: 15px;
    vertical-align: middle;
}

/* Checkboxes */
.form-check-input:checked {
    background-color: var(--fw-primary-green) !important;
    border-color: var(--fw-primary-green) !important;
}

.form-check-input:focus {
    border-color: var(--fw-primary-green) !important;
    box-shadow: 0 0 0 0.25rem rgba(63, 115, 54, 0.25) !important;
}

/* Spinner/Loading indicators */
.spinner-border {
    color: var(--fw-primary-green) !important;
}

.spinner-border-sm {
    color: var(--fw-white) !important;
}

/* Valid/Invalid form states */
.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--fw-light-green) !important;
}

/* Alert styling */
.alert-success {
    background-color: var(--fw-bg-green) !important;
    border-color: var(--fw-light-green) !important;
    color: var(--fw-dark-green) !important;
}

.alert-info {
    background-color: var(--fw-bg-green) !important;
    border-color: var(--fw-light-green) !important;
    color: var(--fw-dark-green) !important;
}