[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: #2563eb; box-shadow: 0 0 0 3px rgb(37 99 235 / .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: #1d4ed8; color: #fff; } .btn-primary:hover:not(:disabled) { background: #1e40af; }
.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; }
