@charset "UTF-8";
/* Bootstrap 5.3.3 SUBSET khusus index.php (grid+utilities+form/btn/spinner/modal/offcanvas).
   JANGAN dipakai halaman lain — halaman lain tetap pakai bootstrap.min.css penuh. */
:root{--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbols","Noto Color Emoji";--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-emphasis-color:#000;--bs-secondary-color:rgba(33,37,41,.75);--bs-secondary-bg:#e9ecef;--bs-tertiary-bg:#f8f9fa;--bs-heading-color:inherit;--bs-link-color-rgb:13,110,253;--bs-link-hover-color-rgb:10,88,202;--bs-primary:#0d6efd;--bs-primary-rgb:13,110,253;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075)}

/* ---- REBOOT (paritas dgn shim -> tanpa CLS) ---- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}
p{margin-top:0;margin-bottom:1rem}
ul,ol{margin-top:0;margin-bottom:1rem;padding-left:2rem}
small{font-size:.875em}
a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:none}
a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}
button{border-radius:0}
button:focus:not(:focus-visible){outline:0}
button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}
button,select{text-transform:none}
button:not(:disabled){cursor:pointer}
img,svg{vertical-align:middle}

/* ---- GRID ---- */
.container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.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}}
@media(min-width:1400px){.container{max-width:1320px}}
.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)}
.col-4{flex:0 0 auto;width:33.33333333%}
.col-6{flex:0 0 auto;width:50%}
.col-8{flex:0 0 auto;width:66.66666667%}
.col-12{flex:0 0 auto;width:100%}
@media(min-width:768px){.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}}
@media(min-width:992px){.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem}

/* ---- UTILITIES ---- */
.d-none{display:none!important}
.d-flex{display:flex!important}
.text-center{text-align:center!important}
.text-muted{color:var(--bs-secondary-color)!important}
.text-primary{color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity,1))!important}
.align-items-center{align-items:center!important}
.justify-content-center{justify-content:center!important}
.justify-content-between{justify-content:space-between!important}
.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}
.mb-0{margin-bottom:0!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}
.me-1{margin-right:.25rem!important}
.me-2{margin-right:.5rem!important}
.ms-2{margin-left:.5rem!important}
.ms-auto{margin-left:auto!important}
.p-3{padding:1rem!important}
.p-4{padding:1.5rem!important}
.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}
.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.pt-3{padding-top:1rem!important}
.pb-0{padding-bottom:0!important}
.pb-4{padding-bottom:1.5rem!important}
.gap-2{gap:.5rem!important}
.border-0{border:0!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:768px){.d-md-none{display:none!important}.d-md-block{display:block!important}.d-md-inline{display:inline!important}.d-md-flex{display:flex!important}}

/* ---- FORM ---- */
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
@media(prefers-reduced-motion:reduce){.form-control{transition:none}}
.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}
.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}
.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}

/* ---- BUTTON ---- */
.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-focus-shadow-rgb:13,110,253;display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}
.btn:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb),.5)}
.btn:disabled{pointer-events:none;opacity:.65}

/* ---- BTN-CLOSE (modal) ---- */
.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}
.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}
.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}

/* ---- SPINNER ---- */
.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}
.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}
@keyframes spinner-border{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner-border{animation-duration:1.5s}}

/* ---- FADE ---- */
.fade{transition:opacity .15s linear}
@media(prefers-reduced-motion:reduce){.fade{transition:none}}
.fade:not(.show){opacity:0}

/* ---- MODAL (lengkap + backdrop; dipakai JS) ---- */
.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:1.75rem;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-modal-header-padding:1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg:transparent;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}
.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}
.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}
@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}
.modal.show .modal-dialog{transform:none}
.modal.modal-static .modal-dialog{transform:scale(1.02)}
.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}
.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}
.modal-backdrop.fade{opacity:0}
.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}
.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}
.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding)*.5);margin:calc(var(--bs-modal-header-padding)*-.5) calc(var(--bs-modal-header-padding)*-.5) auto auto}
.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}
.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}
.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}

/* ---- OFFCANVAS (lengkap; state showing/hiding dipakai JS) ---- */
.offcanvas{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;box-shadow:var(--bs-offcanvas-box-shadow);transition:transform .3s ease-in-out}
@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}
.offcanvas-backdrop{--bs-backdrop-zindex:1040;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}
.offcanvas-backdrop.fade{opacity:0}
.offcanvas-backdrop.show{opacity:var(--bs-backdrop-opacity)}
.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}
.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}
.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}
.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}