:root {
    --bs-primary: #ff8c00;
    --bs-primary-rgb: 255, 140, 0;
    --bs-success: #6bb52a;
    --bs-success-rgb: 107, 181, 42;
    --bs-warning: #f0b429;
    --bs-warning-rgb: 240, 180, 41;
    --bs-dark: #1a1a1a;
    --bs-dark-rgb: 26, 26, 26;
    --bs-body-font-family: "Outfit", "Segoe UI", Arial, sans-serif;
    --bs-border-radius: 0.5rem;
    --bs-border-radius-sm: 0.35rem;
}

.btn-primary {
    --bs-btn-bg: #ff8c00;
    --bs-btn-border-color: #ff8c00;
    --bs-btn-hover-bg: #ef7c00;
    --bs-btn-hover-border-color: #ef7c00;
    --bs-btn-active-bg: #e07000;
    --bs-btn-active-border-color: #e07000;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
}

.btn-success {
    --bs-btn-bg: #6bb52a;
    --bs-btn-border-color: #6bb52a;
    --bs-btn-hover-bg: #5aa01d;
    --bs-btn-hover-border-color: #5aa01d;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
}

.btn-dark {
    --bs-btn-bg: #1b2744;
    --bs-btn-border-color: #1b2744;
    --bs-btn-hover-bg: #24345a;
    --bs-btn-hover-border-color: #24345a;
}

.form-control:focus,
.form-select:focus {
    border-color: #ff8c00;
    box-shadow: 0 0 0 0.2rem rgba(255, 140, 0, 0.28);
}

.form-check-input:checked {
    background-color: #ff8c00;
    border-color: #ff8c00;
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 140, 0, 0.28);
}

.modal-content {
    border: 1px solid #d7a31a;
    border-radius: 0.9rem;
    overflow: hidden;
}

.modal-header {
    background: #f09423;
    color: #000;
    text-align: left;
    justify-content: flex-start;
    border-bottom: 0;
}

.modal-title {
    color: #000;
    text-align: left;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.95rem;
    flex: 1;
}

.modal-header .btn-close {
    filter: none;
    margin-left: auto;
}

.modal-footer {
    background: #8AA24A;
    border-top: 0;
}

.modal-footer .btn,
.die-diagram-footer .btn,
.die-tools .btn {
    width: auto;
    min-height: 0;
}

.die-preview-page .form-control,
.die-preview-page .form-select {
    font-family: "Outfit", "Segoe UI", Arial, sans-serif;
}

.auth-card .form-label,
.auth-card label.form-label {
    color: #fff;
    font-weight: 700;
}

.auth-card .form-control {
    background: linear-gradient(180deg, #ffcf66, #f0b429);
    border: 0;
    color: #2a1a00;
    font-weight: 600;
    min-height: 46px;
}

.auth-card .form-control:focus {
    background: linear-gradient(180deg, #ffcf66, #f0b429);
    color: #2a1a00;
}

.auth-card .input-group-text {
    background: linear-gradient(180deg, #ffcf66, #f0b429);
    border: 0;
    color: #6b4a10;
}

.auth-card .btn {
    width: 100%;
    min-height: 48px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.auth-card .form-check-label,
.auth-card .form-check-label a {
    color: rgba(255, 255, 255, 0.82);
}

.modal-header .ups-brand {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 4px;
}

.modal-header .ups-brand .x { color: #2f7a12; }
.modal-header .ups-brand .press,
.modal-header .ups-brand .erp { color: #000; }

.alert-ok {
    background: rgba(107, 181, 42, 0.16);
    border: 1px solid rgba(134, 239, 172, 0.35);
    color: #d9f99d;
}
