*, ::before, ::after { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.5; }
h3 { margin-top: 0; margin-bottom: .5rem; font-size: calc(1.3rem + .6vw); font-weight: 500; line-height: 1.2; }
p { margin-top: 0; margin-bottom: 1rem; }
button, input { margin: 0; font: inherit; line-height: inherit; }
label { display: inline-block; }
.btn { display: inline-block; padding: .375rem .75rem; border: 1px solid transparent; border-radius: .25rem; font-weight: 400; line-height: 1.5; text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; user-select: none; }
.btn-sm { padding: .25rem .5rem; border-radius: .2rem; font-size: .875rem; }
.btn-secondary { color: #fff; background-color: #6c757d; border-color: #6c757d; }
.text-center { text-align: center !important; }
.text-end { text-align: right !important; }
.text-muted { color: #6c757d !important; }
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.ms-1 { margin-left: .25rem !important; }
.align-middle { vertical-align: middle !important; }
.text-nowrap { white-space: nowrap !important; }
.fw-bold { font-weight: 700 !important; }
small, .small { font-size: .875em; }
