/*
 * NeoLock: maxsus ko'rinishlar uchun kichik uslublar.
 * Filament'ning tayyor CSS'ida Tailwind yordamchi sinflari yo'q va loyihada
 * CSS yig'ish bosqichi (npm build) ishlatilmaydi, shuning uchun o'z sinflarimiz.
 */
.nl-muted { color: rgb(107 114 128); }
.dark .nl-muted { color: rgb(156 163 175); }
.nl-strong { font-weight: 600; color: rgb(3 7 18); }
.dark .nl-strong { color: #fff; }
.nl-small { font-size: .75rem; line-height: 1.4; }
.nl-text { font-size: .875rem; line-height: 1.5; }
.nl-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-variant-numeric: tabular-nums; }
.nl-danger { color: rgb(220 38 38); }
.dark .nl-danger { color: rgb(248 113 113); }
.nl-link { color: var(--primary-600, #4f46e5); font-weight: 500; }
.dark .nl-link { color: var(--primary-400, #818cf8); }
.nl-link:hover { text-decoration: underline; }
.nl-stack > * + * { margin-top: .75rem; }
.nl-row { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.25rem; font-size: .875rem; }
.nl-scroll { overflow-x: auto; }

/* Xarita */
.nl-map { display: block; width: 100%; height: 22rem; border: 0; border-radius: .75rem; box-shadow: 0 0 0 1px rgb(0 0 0 / .1); }
.dark .nl-map { box-shadow: 0 0 0 1px rgb(255 255 255 / .1); }

/* ADB kodi */
.nl-otp { text-align: center; }
.nl-otp-code { font-size: 2.5rem; line-height: 1.2; font-weight: 700; letter-spacing: .3em; margin: .75rem 0; padding-inline-start: .3em; }
.nl-otp-code.is-expired { opacity: .4; text-decoration: line-through; }
.nl-divider { border-top: 1px solid rgb(0 0 0 / .08); margin-top: 1rem; padding-top: 1rem; }
.dark .nl-divider { border-color: rgb(255 255 255 / .1); }

/* "Keyingi qadam" yo'riqnomasi */
.nl-qr { display: block; width: 14rem; height: 14rem; margin: 0 auto; padding: .5rem; background: #fff; border-radius: .75rem; box-shadow: 0 0 0 1px rgb(0 0 0 / .1); }
.nl-next { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .nl-next.has-qr { grid-template-columns: auto 1fr; align-items: start; } }
.nl-steps { list-style: decimal; padding-inline-start: 1.25rem; font-size: .9rem; line-height: 1.6; }
.nl-steps li + li { margin-top: .35rem; }
.nl-note { border-radius: .5rem; padding: .6rem .8rem; font-size: .875rem; line-height: 1.5; background: rgb(254 243 199 / .7); color: rgb(146 64 14); }
.dark .nl-note { background: rgb(251 191 36 / .1); color: rgb(252 211 77); }

/* Jadval va ko'rsatkichlar */
.nl-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.nl-table th { text-align: start; font-weight: 500; padding: .5rem 1rem .5rem 0; white-space: nowrap; }
.nl-table td { padding: .65rem 1rem .65rem 0; border-top: 1px solid rgb(0 0 0 / .06); }
.dark .nl-table td { border-color: rgb(255 255 255 / .06); }
.nl-table .num { text-align: end; font-variant-numeric: tabular-nums; white-space: nowrap; padding-inline-end: 0; padding-inline-start: 1rem; }
.nl-grid2 { display: grid; gap: 1.5rem; }
@media (min-width: 1024px) { .nl-grid2 { grid-template-columns: 1fr 1fr; } }
.nl-kv { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; font-size: .875rem; }
.nl-big { font-size: 1.5rem; line-height: 1.3; font-weight: 600; }
.nl-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgb(0 0 0 / .06); font-size: .875rem; }
.dark .nl-list > div { border-color: rgb(255 255 255 / .06); }
.nl-list > div:last-child { border-bottom: 0; }
