[x-cloak] { display: none !important; }
html, body { font-family: 'Be Vietnam Pro', system-ui, sans-serif; }
body { background: #f1f5f9; color: #0f172a; }
.inp { width: 100%; border: 1px solid #cbd5e1; border-radius: .5rem; padding: .55rem .75rem; background: #fff; font-size: .95rem; }
.inp:focus { outline: none; border-color: #b91c1c; box-shadow: 0 0 0 3px rgb(185 28 28 / .15); }
.lbl { display: block; font-size: .85rem; font-weight: 600; color: #334155; margin-bottom: .3rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border-radius: .5rem; padding: .55rem 1rem; font-weight: 600; font-size: .9rem; transition: background .15s; white-space: nowrap; }
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn-primary { background: #b91c1c; color: #fff; } .btn-primary:hover:not(:disabled) { background: #991b1b; }
.btn-success { background: #059669; color: #fff; } .btn-success:hover:not(:disabled) { background: #047857; }
.btn-danger { background: #e11d48; color: #fff; } .btn-danger:hover:not(:disabled) { background: #be123c; }
.btn-light { background: #fff; color: #334155; border: 1px solid #cbd5e1; } .btn-light:hover:not(:disabled) { background: #f8fafc; }
.btn-sm { padding: .35rem .65rem; font-size: .8rem; }
.card { background: #fff; border-radius: .9rem; border: 1px solid #e2e8f0; }
.tbl { width: 100%; font-size: .9rem; }
.tbl th { text-align: left; font-weight: 600; color: #475569; background: #f8fafc; padding: .6rem .75rem; border-bottom: 1px solid #e2e8f0; white-space: nowrap; }
.tbl td { padding: .6rem .75rem; border-bottom: 1px solid #f1f5f9; vertical-align: top; }
.tbl tr:hover td { background: #f8fafc; }
.badge { display: inline-block; border-radius: 999px; padding: .1rem .55rem; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.req::after { content: ' *'; color: #e11d48; }
.nav-item { display: flex; align-items: center; gap: .65rem; padding: .5rem .75rem; border-radius: .5rem; font-size: .9rem; color: #e2e8f0; }
.nav-item:hover { background: rgb(255 255 255 / .08); }
.nav-item.active { background: #fff; color: #991b1b; font-weight: 600; }
.nav-item i { width: 1.1rem; text-align: center; }
.nav-group { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fca5a5; padding: .9rem .75rem .3rem; }
.tab { padding: .5rem .9rem; border-bottom: 2px solid transparent; font-weight: 600; font-size: .9rem; color: #64748b; white-space: nowrap; }
.tab.active { color: #b91c1c; border-color: #b91c1c; }
.sect { font-weight: 700; color: #7f1d1d; font-size: 1rem; margin-bottom: .75rem; display: flex; align-items: center; gap: .5rem; }
.kv { display: grid; grid-template-columns: minmax(130px, 34%) 1fr; gap: .35rem .75rem; font-size: .9rem; }
.kv > dt { color: #64748b; } .kv > dd { color: #0f172a; font-weight: 500; word-break: break-word; }
.modal-bg { position: fixed; inset: 0; z-index: 45; background: rgb(0 0 0 / .4); display: flex; align-items: flex-start; justify-content: center; padding: 2rem 1rem; overflow-y: auto; }
.modal { background: #fff; border-radius: .9rem; width: 100%; max-width: 48rem; box-shadow: 0 25px 50px -12px rgb(0 0 0 / .25); }
.empty { padding: 2rem; text-align: center; color: #94a3b8; font-size: .9rem; }
/* Trang in (Quyết định, Bằng khen): ẩn khung ứng dụng */
.print-only { display: none; }
@media print {
  .no-print, aside, header { display: none !important; }
  .lg\:pl-72 { padding-left: 0 !important; }
  main { padding: 0 !important; max-width: none !important; }
  body { background: #fff !important; }
  .print-only { display: block; }
  .page-break { page-break-after: always; }
}
.qd { font-family: 'Times New Roman', serif; font-size: 14pt; line-height: 1.5; color: #000; }
.bang-khen { font-family: 'Times New Roman', serif; border: 12px double #b91c1c; padding: 3rem 2.5rem; text-align: center; min-height: 170mm; }
