/* Project-specific layout utilities and modal shell. */
.d-flex{display:flex!important}.d-grid{display:grid!important}.d-none{display:none!important}.d-block{display:block!important}
.align-items-center{align-items:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-center{justify-content:center!important}
.flex-wrap{flex-wrap:wrap!important}.flex-grow-1{flex-grow:1!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}
.w-100{width:100%!important}.text-center{text-align:center!important}.text-end{text-align:right!important}.text-primary{color:var(--color-primary,#c49a45)!important}
.text-muted{color:var(--color-text-muted,#6c757d)!important}.small{font-size:.875em!important}.fw-bold{font-weight:700!important}
.m-0{margin:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}
.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}
.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}
.modal{position:fixed;inset:0;z-index:1055;display:none;overflow-x:hidden;overflow-y:auto;background:rgba(0,0,0,.58);padding:1rem}.modal.show{display:flex;align-items:center;justify-content:center}.modal-dialog{position:relative;width:min(500px,100%);margin:auto}.modal-sm{width:min(320px,100%)}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;background:var(--color-surface,#fff);color:var(--color-text,#222);border:1px solid var(--color-border,#ddd);border-radius:12px;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.modal-header,.modal-footer{display:flex;align-items:center;padding:1rem;gap:.75rem}.modal-header{justify-content:space-between;border-bottom:1px solid var(--color-border,#ddd)}.modal-footer{justify-content:flex-end;border-top:1px solid var(--color-border,#ddd)}.modal-body{padding:1rem}.modal-title{margin:0}.modal-open{overflow:hidden}
.btn-close{appearance:none;border:0;background:transparent;color:inherit;width:2rem;height:2rem;cursor:pointer;font-size:0}.btn-close:before{content:'\00d7';font-size:1.8rem;line-height:1}.btn-close-white{color:#fff}
.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.alert-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.form-control,.form-select{display:block;width:100%;box-sizing:border-box}.form-label{display:inline-block;margin-bottom:.5rem}
.row{display:flex;flex-wrap:wrap;margin-left:-.5rem;margin-right:-.5rem}.row>*{box-sizing:border-box;padding-left:.5rem;padding-right:.5rem;width:100%}
.col-4{width:33.333333%}.col-8{width:66.666667%}.col-12{width:100%}.position-fixed{position:fixed!important}.bottom-0{bottom:0!important}.end-0{right:0!important}
@media(min-width:576px){.col-sm-2{width:16.666667%}.col-sm-4{width:33.333333%}}
@media(min-width:768px){.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}.col-md-7{width:58.333333%}.col-md-8{width:66.666667%}}
@media(max-width:767px){.modal{padding:.65rem}.modal-dialog{width:100%}}
