/* =========================================
   Z-Wave Signer Portal – Brand Theme
   Dark gray + Yale yellow
   ========================================= */

:root {
    --brand-dark: #2b2b2b;
    --brand-dark-hover: #1f1f1f;
    --brand-yellow: #f2c300;
    --brand-bg: #f7f7f7;
    --brand-border: #dddddd;
}

/* ---------- Base ---------- */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--brand-bg);
}

.footer {
    margin-top: auto;
}

/* ---------- Bootstrap Overrides ---------- */
.bg-primary {
    background-color: var(--brand-dark) !important;
}

.card-header.bg-primary {
    background-color: var(--brand-dark) !important;
    color: #ffffff !important;
}

.bg-info {
    background-color: #f1f3f5 !important;
    color: #000 !important;
    border-color: var(--brand-border) !important;
}

/* ---------- Navbar ---------- */
.navbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid var(--brand-border);
}

.navbar-brand span {
    color: var(--brand-dark);
    font-weight: 600;
}

.nav-link {
    color: var(--brand-dark) !important;
}

.nav-link:hover {
    color: var(--brand-yellow) !important;
}

/* ---------- Cards ---------- */
.card {
    border-radius: 8px;
    border: 1px solid var(--brand-border);
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.card-header {
    background-color: #ffffff;
    border-bottom: 1px solid var(--brand-border);
    font-weight: 600;
}

/* ---------- Buttons ---------- */
.btn-primary {
    background-color: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--brand-dark-hover);
    border-color: var(--brand-dark-hover);
}

.btn-outline-primary {
    color: var(--brand-dark);
    border-color: var(--brand-dark);
}

.btn-outline-primary:hover {
    background-color: var(--brand-dark);
    color: #ffffff;
}

/* Yellow accent button (optional CTA) */
.btn-accent {
    background-color: var(--brand-yellow);
    border-color: var(--brand-yellow);
    color: #000;
}

.btn-accent:hover {
    background-color: #ddb000;
    border-color: #ddb000;
}

/* ---------- Forms ---------- */
.form-control,
.form-select {
    border-radius: 6px;
    border-color: var(--brand-border);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--brand-dark);
    box-shadow: 0 0 0 0.15rem rgba(43, 43, 43, 0.25);
}

/* ---------- Tables ---------- */
.table th {
    background-color: #ffffff;
    border-bottom: 2px solid var(--brand-border);
}

.table td,
.table th {
    vertical-align: middle;
}

/* ---------- Alerts ---------- */
.alert-info {
    background-color: #ffffff;
    border-color: var(--brand-border);
}

.alert-success {
    background-color: rgba(242, 195, 0, 0.15);
    border-color: var(--brand-yellow);
    color: #000;
}

/* ---------- Links ---------- */
a {
    color: var(--brand-dark);
}

a:hover {
    color: var(--brand-yellow);
}

/* ---------- Dashboard accents ---------- */
.display-4 {
    font-weight: 400;
    color: var(--brand-yellow);
}

/* ---------- File upload ---------- */
.custom-file-upload {
    border: 2px dashed var(--brand-border);
    border-radius: 6px;
    padding: 2rem;
    text-align: center;
}

.custom-file-upload:hover {
    border-color: var(--brand-yellow);
}