:root {
--bs-primary: #0F3D2E;
--bs-secondary: #2E7D32;
--bs-warning: #F2C94C;
--bs-danger: #D64545;
--bs-info: #2F80ED;
--app-bg: #F5F7F6;
--app-surface: #FFFFFF;
--app-text: #1F2933;
--app-muted: #6B7280;
--app-border: #E5E7EB;
}

body {
background-color: var(--app-bg);
color: var(--app-text);
font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.navbar.app-navbar {
background-color: var(--bs-primary);
}

.navbar-brand {
font-weight: 800;
letter-spacing: -0.03em;
}

.card {
border-color: var(--app-border);
border-radius: 1.25rem;
box-shadow: 0 10px 28px rgba(31, 41, 51, 0.06);
overflow: hidden;
}

.card-header {
background-color: #fff;
border-bottom-color: var(--app-border);
font-weight: 700;
border-top-left-radius: 1.25rem !important;
border-top-right-radius: 1.25rem !important;
}

.color-swatch {
    width: 42px;
    height: 42px;
    border: 3px solid transparent;
    transition: all 0.2s;
}

.bg-blanco { background-color: #ffffff !important; color: #212529 !important; border: 1px solid #dee2e6; }
.text-blanco { color: #212529 !important; }
.border-blanco { border-color: #dee2e6 !important; }

.bg-naranja { background-color: #fd7e14 !important; color: #fff !important; }
.text-naranja { color: #fd7e14 !important; }
.border-naranja { border-color: #fd7e14 !important; }

.btn-check:checked + .color-swatch {
    border-color: var(--app-text) !important;
    transform: scale(1.15);
    box-shadow: 0 0 0 3px #fff inset;
}

.btn {
border-radius: 0.85rem;
font-weight: 700;
}

.btn-primary {
--bs-btn-bg: #2E7D32;
--bs-btn-border-color: #2E7D32;
--bs-btn-hover-bg: #256B2A;
--bs-btn-hover-border-color: #256B2A;
--bs-btn-active-bg: #1F5A23;
--bs-btn-active-border-color: #1F5A23;
}

.form-control,
.form-select {
border-radius: 0.85rem;
border-color: var(--app-border);
}

.form-control:focus,
.form-select:focus {
border-color: #2E7D32;
box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.18);
}

.form-label {
font-weight: 700;
color: var(--app-text);
}
