/* Bootstrap Lite fallback for Madrasah TU deployment.
   This file covers the Bootstrap 5 utility/classes used by the app so layout stays intact without CDN. */
*,*::before,*::after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff}a{color:#0d6efd;text-decoration:none}a:hover{text-decoration:underline}img,svg{vertical-align:middle;max-width:100%}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}.container,.container-fluid{width:100%;padding-right:calc(1.5rem*.5);padding-left:calc(1.5rem*.5);margin-right:auto;margin-left:auto}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.g-2{--bs-gutter-x:.5rem;--bs-gutter-y:.5rem}.g-3{--bs-gutter-x:1rem;--bs-gutter-y:1rem}.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.col-12{flex:0 0 auto;width:100%}@media(min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}}@media(min-width:768px){.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-6{flex:0 0 auto;width:50%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}}@media(min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-8{flex:0 0 auto;width:66.666667%}}
.card{position:relative;display:flex;flex-direction:column;min-width:0;color:#212529;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.75rem}.card-body{flex:1 1 auto;padding:1rem}.card-header{padding:.75rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-footer{padding:.75rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.btn{display:inline-block;font-weight:600;line-height:1.5;color:#212529;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:.5rem .85rem;font-size:1rem;border-radius:.55rem;transition:.15s ease-in-out}.btn:hover{text-decoration:none;filter:brightness(.95)}.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.4rem}.btn-lg{padding:.65rem 1rem;font-size:1.1rem;border-radius:.65rem}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background:#0d6efd}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background:#6c757d}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background:#dc3545}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background:#198754}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background:#212529}.btn-group{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}
.form-label{margin-bottom:.5rem;font-weight:600}.form-control,.form-select{display:block;width:100%;padding:.55rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.55rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus,.form-select:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.15)}textarea.form-control{min-height:110px}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group-text{display:flex;align-items:center;padding:.55rem .75rem;font-size:1rem;color:#212529;text-align:center;white-space:nowrap;background:#e9ecef;border:1px solid #ced4da;border-radius:.55rem}.table{width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6;border-collapse:collapse}.table>:not(caption)>*>*{padding:.5rem .5rem;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#dee2e6}.table-striped>tbody>tr:nth-of-type(odd)>*{background-color:rgba(0,0,0,.025)}.table-hover>tbody>tr:hover>*{background-color:rgba(0,0,0,.05)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem}.alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.55rem}.alert-success{color:#0f5132;background:#d1e7dd;border-color:#badbcc}.alert-danger{color:#842029;background:#f8d7da;border-color:#f5c2c7}.alert-warning{color:#664d03;background:#fff3cd;border-color:#ffecb5}.alert-info{color:#055160;background:#cff4fc;border-color:#b6effb}.alert-dismissible{padding-right:3rem}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent;border:0;border-radius:.25rem;opacity:.5;position:absolute;top:.8rem;right:.8rem}.btn-close::before{content:"x"}
.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}.flex-wrap{flex-wrap:wrap!important}.flex-column{flex-direction:column!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.justify-content-start{justify-content:flex-start!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-end{justify-content:flex-end!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.w-100{width:100%!important}.h-100{height:100%!important}.text-start{text-align:left!important}.text-center{text-align:center!important}.text-end{text-align:right!important}.text-muted{color:#6c757d!important}.text-primary{color:#0d6efd!important}.text-success{color:#198754!important}.text-danger{color:#dc3545!important}.text-warning{color:#ffc107!important}.text-info{color:#0dcaf0!important}.text-white{color:#fff!important}.bg-primary{background:#0d6efd!important}.bg-secondary{background:#6c757d!important}.bg-success{background:#198754!important}.bg-danger{background:#dc3545!important}.bg-warning{background:#ffc107!important}.bg-info{background:#0dcaf0!important}.bg-light{background:#f8f9fa!important}.bg-dark{background:#212529!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.rounded{border-radius:.55rem!important}.rounded-3{border-radius:.75rem!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.small,small{font-size:.875em}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-normal{font-weight:400!important}
.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.mt-0{margin-top: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}.mt-5{margin-top:3rem!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}.mb-5{margin-bottom:3rem!important}.ms-auto{margin-left:auto!important}.me-auto{margin-right:auto!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-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}
.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;background:rgba(15,23,42,.45)}.modal.show{display:block}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}@media(min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-lg{max-width:800px}.modal-xl{max-width:1140px}}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.75rem;outline:0}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;gap:.5rem}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.55rem}.dropdown-menu.show{display:block}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background:transparent;border:0}.dropdown-item:hover{background:#f8f9fa}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:.375rem .75rem;color:#0d6efd;background:#fff;border:1px solid #dee2e6}.page-item.active .page-link{z-index:3;color:#fff;background:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background:#fff;border-color:#dee2e6}
@media print{.no-print,.sidebar,.topbar,.btn{display:none!important}.main-content{margin:0!important;padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important}}
