/* Local UI framework used by every public, administrator and candidate page.
   It intentionally replaces CDN Bootstrap and icon-font dependencies. */
:root{--ui-blue:#2864dc;--ui-green:#198754;--ui-red:#dc3545;--ui-yellow:#ffc107;--ui-cyan:#0dcaf0;--ui-dark:#172033;--ui-gray:#6c757d;--ui-light:#f8f9fa;--ui-border:#dee2e6}
*,*::before,*::after{box-sizing:border-box}html{line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0;font-family:"Segoe UI","Noto Sans Bengali",Arial,sans-serif;font-size:14px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;line-height:1.2}p{margin-top:0;margin-bottom:1rem}a{color:var(--ui-blue)}hr{margin:1rem 0;border:0;border-top:1px solid var(--ui-border)}button,input,select,textarea{font:inherit}button{cursor:pointer}
.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:12px;padding-left:12px}.container{max-width:1140px}.row{display:flex;flex-wrap:wrap;margin-right:-8px;margin-left:-8px}.row>*{width:100%;padding-right:8px;padding-left:8px}.g-3{row-gap:16px}.gap-3{gap:16px}
@media(min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}}
@media(min-width:768px){.col-md-1{flex:0 0 auto;width:8.3333%}.col-md-2{flex:0 0 auto;width:16.6667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333%}.col-md-5{flex:0 0 auto;width:41.6667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-8{flex:0 0 auto;width:66.6667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333%}.col-md-12{flex:0 0 auto;width:100%}}
@media(min-width:992px){.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-8{flex:0 0 auto;width:66.6667%}.col-lg-9{flex:0 0 auto;width:75%}}
@media(min-width:1200px){.col-xl-2{flex:0 0 auto;width:16.6667%}}
.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.justify-content-between{justify-content:space-between!important}.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.align-middle{vertical-align:middle!important}.text-center{text-align:center!important}.text-end{text-align:right!important}.w-100{width:100%!important}
.m-0{margin:0!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}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fs-6{font-size:1rem!important}.text-muted{color:#6b7280!important}.text-danger{color:var(--ui-red)!important}.text-success{color:var(--ui-green)!important}.text-white{color:#fff!important}.bg-primary{background:var(--ui-blue)!important}.bg-success{background:var(--ui-green)!important}.bg-secondary{background:var(--ui-gray)!important}.bg-dark{background:var(--ui-dark)!important}.bg-white{background:#fff!important}
.card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:14px;box-shadow:0 8px 24px rgba(20,32,56,.06);overflow:hidden}.card-header{padding:14px 18px;background:#f8fafc;border-bottom:1px solid #e7eaf0;font-weight:700}.card-body{flex:1 1 auto;padding:20px}.border{border:1px solid var(--ui-border)!important}.border-0{border:0!important}.rounded{border-radius:8px!important}.shadow{box-shadow:0 12px 30px rgba(20,32,56,.12)!important}.shadow-sm{box-shadow:0 5px 16px rgba(20,32,56,.08)!important}
.form-label{display:block;margin-bottom:.45rem;font-size:12px;font-weight:600;color:#374151}.form-control,.form-select{display:block;width:100%;min-height:42px;padding:.65rem .78rem;color:#172033;background-color:#fff;border:1px solid #d8dee8;border-radius:9px;outline:none;transition:border-color .15s,box-shadow .15s}.form-control:focus,.form-select:focus{border-color:var(--ui-blue);box-shadow:0 0 0 3px rgba(40,100,220,.12)}textarea.form-control{min-height:90px;resize:vertical}.form-select{appearance:auto}.form-select-sm{min-height:34px;padding:.35rem .55rem;font-size:12px}.required{color:var(--ui-red)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.55rem .9rem;border:1px solid transparent;border-radius:9px;text-decoration:none;font-weight:700;line-height:1.2;transition:filter .15s,transform .15s,background .15s}.btn:hover{filter:brightness(.96)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn.disabled{pointer-events:none;opacity:.55}.btn-sm{min-height:33px;padding:.38rem .65rem;font-size:12px}.btn-lg{min-height:48px;padding:.75rem 1.15rem;font-size:16px}.btn-primary{color:#fff;background:var(--ui-blue);border-color:var(--ui-blue)}.btn-success{color:#fff;background:var(--ui-green);border-color:var(--ui-green)}.btn-danger{color:#fff;background:var(--ui-red);border-color:var(--ui-red)}.btn-secondary{color:#fff;background:var(--ui-gray);border-color:var(--ui-gray)}.btn-dark{color:#fff;background:var(--ui-dark);border-color:var(--ui-dark)}.btn-info{color:#083344;background:var(--ui-cyan);border-color:var(--ui-cyan)}.btn-warning{color:#3d2c00;background:var(--ui-yellow);border-color:var(--ui-yellow)}.btn-light{color:#263248;background:#fff;border-color:#dce1e9}.btn-outline-primary{color:var(--ui-blue);background:transparent;border-color:var(--ui-blue)}.btn-outline-danger{color:var(--ui-red);background:transparent;border-color:var(--ui-red)}.btn-outline-light{color:#fff;background:transparent;border-color:rgba(255,255,255,.65)}
.alert{position:relative;padding:12px 15px;margin-bottom:1rem;border:1px solid transparent;border-radius:10px}.alert-danger{color:#8b1d2c;background:#fdebed;border-color:#f7c7ce}.alert-success{color:#126346;background:#e7f7f0;border-color:#bfe8d7}.alert-warning{color:#725000;background:#fff6d8;border-color:#f0df9d}.alert-info{color:#165b70;background:#e4f6fb;border-color:#bce8f2}.badge{display:inline-block;padding:.45em .7em;color:#fff;border-radius:999px;font-weight:700;line-height:1}.table-responsive{width:100%;overflow-x:auto}.table{width:100%;margin-bottom:1rem;border-collapse:collapse;color:#263248}.table th,.table td{padding:.75rem;border-bottom:1px solid #e7eaf0;text-align:left}.table-bordered th,.table-bordered td{border:1px solid #dee2e6}.table-striped tbody tr:nth-child(odd) td{background:#f8fafc}.table-hover tbody tr:hover td{background:#f2f6fb}.table-sm th,.table-sm td{padding:.4rem}.table-pager table{width:auto;margin:12px auto}.table-pager a,.table-pager span{display:inline-grid;place-items:center;min-width:30px;height:30px;margin:2px;border-radius:7px;text-decoration:none}.table-pager span{background:var(--ui-blue);color:#fff}
.img-fluid{max-width:100%;height:auto}.img-thumbnail{max-width:100%;height:auto;padding:4px;background:#fff;border:1px solid #dee2e6;border-radius:8px}
.modal{position:fixed;inset:0;z-index:2000;display:none;overflow:auto;background:rgba(7,19,36,.6);padding:30px 15px}.modal.show{display:block}.modal-dialog{width:100%;max-width:600px;margin:1.5rem auto}.modal-xl{max-width:1140px}.modal-content{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.3);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #e5e7eb}.modal-title{margin:0}.modal-body{padding:20px}.btn-close{width:32px;height:32px;padding:0;border:0;border-radius:7px;background:transparent;color:#172033;font-size:0}.btn-close::before{content:"×";font-size:25px;line-height:1}.btn-close-white{color:#fff}.modal-open{overflow:hidden}
/* Readable local symbols replace the external Bootstrap/Font Awesome fonts. */
.bi,.fa,.fas{display:inline-grid;place-items:center;width:1.2em;font-style:normal;font-weight:800;font-family:"Segoe UI Symbol","Segoe UI",sans-serif}.bi::before,.fa::before,.fas::before{content:"•"}.bi-grid-1x2::before{content:"▦"}.bi-bookmark::before{content:"◆"}.bi-mortarboard::before{content:"▰"}.bi-journal-text::before,.fa-book::before,.fa-book-open::before{content:"▤"}.bi-files::before{content:"▧"}.bi-plus-square::before,.bi-journal-plus::before{content:"＋"}.bi-list-check::before,.fa-list::before,.fa-list-ol::before{content:"☷"}.bi-crop::before,.bi-bounding-box::before{content:"⌗"}.bi-people::before{content:"♟"}.bi-calendar-event::before,.bi-calendar3::before{content:"▣"}.bi-ui-checks-grid::before{content:"▦"}.bi-key::before{content:"⚿"}.bi-upc-scan::before{content:"▥"}.bi-award::before{content:"★"}.bi-bar-chart::before{content:"▥"}.bi-sliders::before{content:"≡"}.bi-list::before{content:"☰"}.bi-person::before{content:"●"}.bi-box-arrow-right::before{content:"↪"}.bi-check2::before{content:"✓"}.bi-check2-square::before{content:"☑"}.bi-database::before{content:"▤"}.bi-code-square::before{content:"{}"}.bi-translate::before{content:"文"}.bi-stopwatch::before{content:"◷"}.bi-clipboard-data::before{content:"▤"}.fa-folder-open::before{content:"▰"}.fa-edit::before{content:"✎"}.fa-trash::before{content:"×"}
/* Minimum Cropper.js layout rules for the image-import page. */
.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;user-select:none}.cropper-container img{display:block;max-width:none!important;min-width:0!important;min-height:0!important;width:100%;height:100%;image-orientation:0deg}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{position:absolute;inset:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background:#fff;opacity:0}.cropper-modal{background:#000;opacity:.5}.cropper-view-box{display:block;width:100%;height:100%;overflow:hidden;outline:1px solid var(--ui-blue)}.cropper-face{position:absolute;inset:0;background:#fff;opacity:.08}.cropper-line,.cropper-point{position:absolute;display:block;background:var(--ui-blue)}.cropper-line{opacity:.25}.cropper-point{width:7px;height:7px;opacity:.8}.cropper-hidden{display:none!important}.cropper-invisible{opacity:0}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}
@media(max-width:767px){.container{max-width:100%}.row>*{margin-bottom:10px}.modal{padding:10px}.modal-dialog{margin:.5rem auto}}
