/* Local fallback when CDN/bootstrap is blocked */
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.container-fluid{width:100%;padding-left:1rem;padding-right:1rem;margin:0 auto}
.row{display:flex;flex-wrap:wrap;margin-left:-.75rem;margin-right:-.75rem}.row>*{padding-left:.75rem;padding-right:.75rem;width:100%}
.g-0{margin-left:0;margin-right:0}.g-0>*{padding-left:0;padding-right:0}
.g-2{gap:.5rem}.g-3{gap:1rem}.g-4{gap:1.5rem}
.d-flex{display:flex}.d-grid{display:grid}.d-block{display:block}.d-none{display:none}
.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.justify-content-start{justify-content:flex-start}
.align-items-center{align-items:center}.align-items-stretch{align-items:stretch}.align-items-start{align-items:flex-start}
.overflow-hidden{overflow:hidden}
.h-100{height:100%}.w-100{width:100%}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}
.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.me-2{margin-right:.5rem}
.p-4{padding:1.5rem}.p-lg-5{padding:3rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.px-4{padding-left:1.5rem;padding-right:1.5rem}.px-lg-4{padding-left:1.5rem;padding-right:1.5rem}
.text-center{text-align:center}.text-secondary{color:#6b7280}.small,small{font-size:.875rem}
.fw-bold{font-weight:700}
.display-6{font-size:2rem;line-height:1.1}.h1,.h2,.h3,.h4,h1,h2,h3,h4{margin:0 0 .5rem 0;line-height:1.2}.h3{font-size:1.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:.75rem;padding:.72rem 1rem;font-weight:600;cursor:pointer;background:#e5e7eb;color:#111827}
.btn:hover{filter:brightness(.98)}
.btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}
.btn-outline-secondary{background:#fff;border-color:#cbd5e1;color:#334155}
.btn-outline-danger{background:#fff;border-color:#fda4af;color:#be123c}
.btn-lg{padding:.9rem 1.2rem;font-size:1.05rem}.rounded-pill{border-radius:999px}
.form-label{display:block}
.form-control,.form-select{display:block;width:100%;padding:.7rem .9rem;background:#fff;border:1px solid #d1d5db;border-radius:.75rem}
.alert{padding:.85rem 1rem;border-radius:1rem;margin-bottom:1rem}.alert-success{background:#ecfdf5;color:#166534}.alert-danger{background:#fef2f2;color:#991b1b}
.shadow-sm{box-shadow:0 2px 8px rgba(0,0,0,.06)}.border-0{border:0}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.85rem;border-bottom:1px solid #e5e7eb;text-align:left}
.nav{display:flex;flex-wrap:wrap;padding-left:0;list-style:none;margin:0}.nav-link{display:inline-flex;cursor:pointer}.nav-item{display:block}
.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}
.bi{font-style:normal}.bi::before{display:none}
.col-12{width:100%}.col-md-6,.col-lg-5,.col-lg-7,.col-xl-4,.col-xl-8{width:100%}
@media (min-width:768px){.col-md-6{width:50%}}
@media (min-width:992px){.col-lg-5{width:41.666666%}.col-lg-7{width:58.333333%}}
@media (min-width:1200px){.col-xl-4{width:33.333333%}.col-xl-8{width:66.666667%}}


/* Bổ sung class fallback cho module gia đình */
.table-responsive{width:100%;overflow-x:auto}
.table-light th{background:#f8fafc}
.table-hover tbody tr:hover{background:#f8fbff}
.text-end{text-align:right}
.justify-content-end{justify-content:flex-end}
.btn-sm{padding:.5rem .85rem;font-size:.9rem}
.btn-outline-primary{background:#fff;border-color:#93c5fd;color:#1d4ed8}
.btn-outline-info{background:#fff;border-color:#67e8f9;color:#0f766e}
.btn-outline-success{background:#fff;border-color:#86efac;color:#166534}
.btn-outline-warning{background:#fff;border-color:#fcd34d;color:#a16207}
.text-bg-primary{background:#dbeafe;color:#1d4ed8;padding:6px 10px;border-radius:999px;font-weight:700;display:inline-flex}
.text-bg-light{background:#f8fafc;color:#475569;padding:6px 10px;border-radius:999px;font-weight:700;display:inline-flex}
.col-6{width:50%}.col-md-3,.col-xl-3{width:100%}
@media (min-width:768px){.col-md-3{width:25%}}
@media (min-width:1200px){.col-xl-3{width:25%}}
