/* MajorX mini bootstrap (subset) — enough for our pages */
*{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:16px}body{margin:0;color:#212529;background:#fff}
.container{width:100%;margin-right:auto;margin-left:auto;padding-right:1rem;padding-left:1rem;max-width:1140px}
.bg-light{background-color:#f8f9fa!important}.text-muted{color:#6c757d!important}.small{font-size:.875rem}
a{color:#0d6efd;text-decoration:none}a:hover{text-decoration:underline}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;padding:.15rem .3rem;border-radius:.25rem;background:#f1f3f5;border:1px solid #e9ecef}
/* Navbar */
.navbar{display:flex;align-items:center;min-height:56px;padding:.5rem 1rem}
.navbar-light .navbar-brand{color:#212529;font-weight:600}
.navbar .btn{margin-left:.5rem}
/* Grid (subset) */
.row{display:flex;flex-wrap:wrap;gap:1.5rem}
.col-md-6{flex:1 0 100%}
@media (min-width:768px){.col-md-6{flex:0 0 calc(50% - .75rem)}}
/* Cards */
.card{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 .05rem .2rem rgba(0,0,0,.04)}
/* Buttons */
.btn{display:inline-block;font-weight:500;line-height:1.5;color:#fff;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#6c757d;border:1px solid transparent;padding:.45rem .9rem;border-radius:.375rem;transition:filter .2s}
.btn:hover{filter:brightness(.95)}
.btn:disabled{opacity:.65;pointer-events:none}
.btn-sm{padding:.25rem .6rem;font-size:.875rem;border-radius:.25rem}
.btn-primary{background-color:#0d6efd;border-color:#0d6efd}
.btn-dark{background-color:#212529;border-color:#212529}
.btn-success{background-color:#198754;border-color:#198754}
.btn-outline-secondary{background-color:transparent;color:#6c757d;border-color:#6c757d}
.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-outline-primary{background-color:transparent;color:#0d6efd;border-color:#0d6efd}
.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}
/* Forms */
.form-label{display:block;margin-bottom:.35rem;font-weight:500}
.form-control{display:block;width:100%;padding:.45rem .75rem;font-size:1rem;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s,box-shadow .15s}
.form-control:focus{outline:0;border-color:#86b7fe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}
textarea.form-control{min-height:3rem;resize:vertical}
/* Alerts */
.alert{position:relative;padding:.6rem .9rem;border:1px solid transparent;border-radius:.375rem}
.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}
/* Utilities */
.d-none{display:none!important}.d-flex{display:flex!important}.align-items-center{align-items:center!important}
.gap-2{gap:.5rem}.gap-3{gap:1rem}
.rounded{border-radius:.25rem!important}.rounded-circle{border-radius:50%!important}
.ms-auto{margin-left:auto!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}
.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}
.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}
.px-3{padding-right:1rem!important;padding-left:1rem!important}
.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.mb-2 .form-control{margin-bottom:.5rem}
/* Images */
img{border-style:none;max-width:100%;height:auto}
.rounded-circle{object-fit:cover}
/* Helpers used in timestamp chips */
.navbar .bg-light{background:#f8f9fa}
