/* ===== CSS Variables ===== */
:root{
    --nav-h:50px;
    --aside-w:260px;
    --aside-c-w:50px;
    --content-w:1280px;
}
/* ===== Global ===== */
body{background:#F4F2EE;overflow-x:hidden;}
.navbar-brand{font-weight:600;}
.content-wrapper{max-width:var(--content-w);}
/* ===== BS ===== */

/* ===== Forms ===== */
.form-label{font-size:.9rem;font-weight:600;color:#808080;margin-bottom:.2rem;}
.form-label:has(+ input[required])::after,.form-label:has(+ select[required])::after{content:" *";color:#c00;}
.form-bg{background:linear-gradient(135deg,#eef 10%,#f8f9fa 30%,#edfdff 70%,#eee 100%);}
.form-border{border:1px solid #1b1f221a;}
.form-check-input{cursor:pointer;}
/* ===== Button Focus ===== */
.btn-action{color: var(--bs-dark);border:0}
.btn-action:hover,.btn-action:focus,.btn-action.show{color: var(--bs-primary);}
/* ===== Typography ===== */
.tracking-tighter{letter-spacing:-.05em;}
.tracking-tight{letter-spacing:-.025em;}
.tracking-normal{letter-spacing:normal;}
.tracking-wide{letter-spacing:.05em;}
.tracking-wider{letter-spacing:.1em;}
.tracking-widest{letter-spacing:.2em;}
/* ===== Dropdown menu ===== */
.dropdown-menu.modern{padding:.5rem;border-radius:1rem;}
.modern .dropdown-item{border-radius:.5rem;padding-left:.5rem;}
.dropdown-item:hover {background-color:rgb(195, 221, 255);color:#2B6FEB}
.dropdown-item.text-danger:hover{background:rgb(255, 206, 206);color:#dc3545!important}
/* ===== Animations===== */
@keyframes flash{
    0%,99%{background-color:transparent;border-color:transparent}100%{}
    10%,30%,50%{background-color:#ffffdb;border-color:#008300}100%{}
    20%,40%,60%{background-color:transparent;border-color:transparent}100%{}
}
.flash{animation:flash 2.2s ease-in-out forwards;}
/* ===== Input and textareas ===== */
.ui-locked {pointer-events: none;background-color: var(--bs-secondary-bg);cursor: not-allowed;}
/* ===== Bootstrap Soft Colors ===== */
.soft-primary{color:var(--bs-primary-text-emphasis)!important;background:var(--bs-primary-bg-subtle)!important;border:1px solid var(--bs-primary-border-subtle)!important;}
.soft-secondary{color:var(--bs-secondary-text-emphasis)!important;background:var(--bs-secondary-bg-subtle)!important;border:1px solid var(--bs-secondary-border-subtle)!important;}
.soft-success{color:var(--bs-success-text-emphasis)!important;background:var(--bs-success-bg-subtle)!important;border:1px solid var(--bs-success-border-subtle)!important;}
.soft-danger{color:var(--bs-danger-text-emphasis)!important;background:var(--bs-danger-bg-subtle)!important;border:1px solid var(--bs-danger-border-subtle)!important;}
.soft-warning{color:var(--bs-warning-text-emphasis)!important;background:var(--bs-warning-bg-subtle)!important;border:1px solid var(--bs-warning-border-subtle)!important;}
.soft-info{color:var(--bs-info-text-emphasis)!important;background:var(--bs-info-bg-subtle)!important;border:1px solid var(--bs-info-border-subtle)!important;}
.soft-light{color:var(--bs-light-text-emphasis)!important;background:var(--bs-light-bg-subtle)!important;border:1px solid var(--bs-light-border-subtle)!important;}
.soft-dark{color:var(--bs-dark-text-emphasis)!important;background:var(--bs-dark-bg-subtle)!important;border:1px solid var(--bs-dark-border-subtle)!important;}