@font-face {
    font-family: Inter;
    src: url('/ui-v2/fonts/inter-latin-wght-normal.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: Inter;
    src: url('/ui-v2/fonts/inter-cyrillic-wght-normal.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

.nl-account-v2 *,
.nl-account-v2 *::before,
.nl-account-v2 *::after { box-sizing: border-box; }

body.nl-account-v2 {
    min-height: 100vh;
    margin: 0;
    background: #0b0f12 url('/ui-v2/noise.svg') repeat;
    color: #f4f7f6;
    font-family: Inter, Arial, sans-serif;
    letter-spacing: 0;
    color-scheme: dark;
}

body.nl-account-v2::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: rgba(11, 15, 18, .92);
}

.nl-account-v2 a { color: #64c7e8; }
.nl-account-v2 a:hover { color: #91ddf3; }

.nl-account-v2 .navbar {
    min-height: 64px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #2a343a;
    border-radius: 0;
    background: rgba(17, 23, 27, .96);
    box-shadow: none;
}

.nl-account-v2 .navbar .container { width: min(1180px, calc(100% - 32px)); }

.nl-account-v2 .navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 64px;
    padding: 12px 0;
    color: #f4f7f6 !important;
    font-size: 17px;
    font-weight: 780;
}

.nl-account-brand-mark { width: 36px; height: 36px; }

.nl-account-v2 .navbar-nav > li > a {
    min-height: 44px;
    margin: 10px 3px;
    padding: 12px 14px;
    border-radius: 9px;
    color: #93a19c !important;
}

.nl-account-v2 .navbar-nav > li > a:hover,
.nl-account-v2 .navbar-nav > .active > a {
    background: #172026 !important;
    color: #f4f7f6 !important;
}

.nl-account-v2 > .container,
.nl-account-v2 .container.main {
    width: min(1120px, calc(100% - 32px));
    padding-top: 34px;
    padding-bottom: 50px;
}

.nl-account-v2.nl-account-auth > .container,
.nl-account-v2.nl-account-auth .container.main {
    display: grid;
    place-items: center;
    width: min(480px, calc(100% - 28px));
    min-height: calc(100vh - 64px);
    padding-block: 28px;
}

.nl-account-v2 .panel,
.nl-account-v2 .well,
.nl-account-v2 .jumbotron,
.nl-account-v2 .modal-content {
    border: 1px solid #2a343a;
    border-radius: 12px;
    background: #11171b;
    color: #f4f7f6;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

.nl-account-v2.nl-account-auth .panel,
.nl-account-v2.nl-account-auth form,
.nl-account-v2.nl-account-auth .well {
    width: 100%;
}

.nl-account-v2 .panel-heading {
    padding: 18px 20px;
    border: 0;
    border-bottom: 1px solid #2a343a;
    border-radius: 12px 12px 0 0;
    background: #172026;
    color: #f4f7f6;
}

.nl-account-v2 .panel-title { font-size: 16px; font-weight: 750; }
.nl-account-v2 .panel-body { padding: 20px; }
.nl-account-v2 h1 { margin: 0 0 22px; color: #f4f7f6; font-size: 25px; font-weight: 780; }
.nl-account-v2 h2 { color: #f4f7f6; font-size: 19px; font-weight: 720; }
.nl-account-v2 h3 { color: #f4f7f6; font-size: 15px; font-weight: 700; }
.nl-account-v2 p,
.nl-account-v2 .help-block { color: #93a19c; line-height: 1.55; }

.nl-account-v2 label { margin-bottom: 7px; color: #cbd4d0; font-size: 12px; font-weight: 650; }

.nl-account-v2 .form-control,
.nl-account-v2 select.form-control,
.nl-account-v2 textarea.form-control {
    min-height: 44px;
    border: 1px solid #344149;
    border-radius: 9px;
    background: #0b0f12;
    color: #f4f7f6;
    box-shadow: none;
}

.nl-account-v2 textarea.form-control { min-height: 120px; }
.nl-account-v2 .form-control::placeholder { color: #65736e; }
.nl-account-v2 .form-control:focus {
    border-color: #2fe0a4;
    box-shadow: 0 0 0 3px rgba(47, 224, 164, .14);
}

.nl-account-v2 input[type='checkbox'],
.nl-account-v2 input[type='radio'] { accent-color: #2fe0a4; }

.nl-account-v2 .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 9px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.nl-account-v2 .btn:active { transform: translateY(1px); }
.nl-account-v2 .btn-success,
.nl-account-v2 .btn-primary {
    border-color: #2fe0a4;
    background: #2fe0a4;
    color: #04120d;
}

.nl-account-v2 .btn-success:hover,
.nl-account-v2 .btn-primary:hover { border-color: #63ebbd; background: #63ebbd; color: #04120d; }
.nl-account-v2 .btn-default { border-color: #344149; background: #172026; color: #d9e1de; }
.nl-account-v2 .btn-default:hover { border-color: #526068; background: #202a30; color: #fff; }
.nl-account-v2 .btn-danger { border-color: #ff6b72; background: rgba(255, 107, 114, .12); color: #ff9ba0; }
.nl-account-v2 .btn-warning,
.nl-account-v2 .btn-info {
    border-color: #344149 !important;
    background: #172026 !important;
    color: #d9e1de !important;
}
.nl-account-v2 .btn-warning:hover,
.nl-account-v2 .btn-warning:focus,
.nl-account-v2 .btn-info:hover,
.nl-account-v2 .btn-info:focus { border-color: #526068 !important; background: #202a30 !important; color: #fff !important; }
.nl-account-v2 .btn-link { color: #64c7e8; }
.nl-account-v2 .btn[disabled],
.nl-account-v2 .btn.disabled { opacity: .45; filter: none; }

.nl-account-v2 .alert { border-radius: 9px; background: #172026; color: #d9e1de; }
.nl-account-v2 .alert-info { border-color: rgba(100, 199, 232, .5); }
.nl-account-v2 .alert-warning { border-color: rgba(242, 183, 91, .55); color: #ffd995; }
.nl-account-v2 .alert-danger { border-color: rgba(255, 107, 114, .58); color: #ffb2b6; }
.nl-account-v2 .alert-success { border-color: rgba(47, 224, 164, .45); color: #9ef5d6; }
.nl-account-v2 .alert-link { color: inherit; text-decoration: underline; }
.nl-account-v2 .panel-warning,
.nl-account-v2 .panel-info,
.nl-account-v2 .panel-primary,
.nl-account-v2 .panel-success { border-color: #2a343a; }
.nl-account-v2 .panel-warning > .panel-heading,
.nl-account-v2 .panel-info > .panel-heading,
.nl-account-v2 .panel-primary > .panel-heading,
.nl-account-v2 .panel-success > .panel-heading { border-color: #2a343a; background: #172026; color: #f4f7f6; }

.nl-account-v2 .label { padding: 5px 7px; border-radius: 5px; font-size: 10px; font-weight: 750; }
.nl-account-v2 .label-default { background: #202a30; color: #cbd4d0; }
.nl-account-v2 .label-primary,
.nl-account-v2 .label-success { background: rgba(47, 224, 164, .13); color: #2fe0a4; }
.nl-account-v2 .label-info { background: rgba(100, 199, 232, .12); color: #91ddf3; }
.nl-account-v2 .label-warning { background: rgba(242, 183, 91, .12); color: #ffd17f; }
.nl-account-v2 .label-danger { background: rgba(255, 107, 114, .12); color: #ff9ba0; }

.nl-account-v2 .nav-pills > li > a {
    min-height: 42px;
    border-radius: 8px;
    color: #93a19c;
}

.nl-account-v2 .nav-pills > li > a:hover { background: #172026; color: #f4f7f6; }
.nl-account-v2 .nav-pills > li.active > a { background: rgba(47, 224, 164, .12); color: #2fe0a4; }

.nl-account-v2 .table { color: #d9e1de; }
.nl-account-v2 .table > thead > tr > th,
.nl-account-v2 .table > tbody > tr > td { border-color: #2a343a; }
.nl-account-v2 .table-striped > tbody > tr:nth-of-type(odd) { background: #141b1f; }
.nl-account-v2 .table-hover > tbody > tr:hover { background: #172026; }
.nl-account-v2 .progress { height: 7px; overflow: hidden; border-radius: 5px; background: #202a30; box-shadow: none; }
.nl-account-v2 .progress-bar { background: #2fe0a4; color: #04120d; box-shadow: none; }
.nl-account-v2 .input-group-addon { border-color: #344149; background: #172026; color: #93a19c; }
.nl-account-v2 .input-group-btn > .btn { border-color: #344149; }
.nl-account-v2 .well { background: #11171b; }
.nl-account-v2 code { border-radius: 4px; background: #0b0f12; color: #91ddf3; }
.nl-account-v2 .text-primary,
.nl-account-v2 .text-info { color: #64c7e8; }
.nl-account-v2 .text-success { color: #2fe0a4; }
.nl-account-v2 .text-warning { color: #f2b75b; }
.nl-account-v2 .text-danger { color: #ff6b72; }
.nl-account-v2 .text-muted { color: #93a19c; }
.nl-account-v2 .pagination > li > a,
.nl-account-v2 .pager > li > a { border-color: #344149; background: #172026; color: #d9e1de; }
.nl-account-v2 .pagination > .active > a,
.nl-account-v2 .pagination > .active > a:hover { border-color: #2fe0a4; background: #2fe0a4; color: #04120d; }

.nl-account-v2 .dropdown-menu {
    border: 1px solid #2a343a;
    border-radius: 9px;
    background: #172026;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .38);
}

.nl-account-v2 .dropdown-menu > li > a { min-height: 38px; padding: 9px 14px; color: #d9e1de; }
.nl-account-v2 .dropdown-menu > li > a:hover { background: #202a30; color: #fff; }

.nl-account-v2 :focus-visible { outline: 2px solid #2fe0a4 !important; outline-offset: 2px; }

.nl-account-topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 0 max(22px, calc((100vw - 1440px) / 2));
    border-bottom: 1px solid #2a343a;
    background: rgba(11, 15, 18, .96);
    backdrop-filter: blur(14px);
}

.nl-account-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #f4f7f6 !important;
    font-size: 17px;
    font-weight: 800;
    text-decoration: none !important;
}

.nl-account-brand img { width: 36px; height: 36px; }
.nl-account-topbar nav { display: flex; align-items: center; gap: 5px; }
.nl-account-topbar nav a { min-height: 40px; padding: 10px 13px; border-radius: 8px; color: #93a19c; text-decoration: none; }
.nl-account-topbar nav a:hover { background: #172026; color: #f4f7f6; }

.nl-account-shell {
    display: grid;
    grid-template-columns: 252px minmax(0, 1fr);
    gap: 0;
    width: min(1440px, 100%);
    min-height: calc(100vh - 64px);
    margin: 0 auto;
}

.nl-account-nav {
    position: sticky;
    top: 64px;
    align-self: start;
    display: grid;
    gap: 3px;
    max-height: calc(100vh - 64px);
    padding: 22px 15px 28px;
    overflow: auto;
    border-right: 1px solid #2a343a;
}

.nl-account-nav p { margin: 18px 11px 5px; color: #65736e; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nl-account-nav > a {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 8px;
    color: #93a19c;
    font-size: 12px;
    font-weight: 630;
    text-decoration: none;
}

.nl-account-nav > a:hover { background: #172026; color: #f4f7f6; }
.nl-account-nav > a.is-active { background: rgba(47, 224, 164, .11); color: #2fe0a4; }
.nl-account-nav .nl-account-back { margin-bottom: 3px; border: 1px solid #2a343a; color: #d9e1de; }
.nl-account-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.nl-account-content {
    min-width: 0;
    width: 100%;
    max-width: 1180px;
    padding: 38px clamp(24px, 4vw, 60px) 70px;
}

.nl-account-auth-content {
    display: grid;
    place-items: center;
    width: min(500px, calc(100% - 28px));
    min-height: calc(100vh - 64px);
    margin: 0 auto;
    padding: 30px 0;
}

.nl-account-auth-content > .row,
.nl-account-auth-content > form,
.nl-account-auth-content .form-popup { width: 100%; }

body.nl-public-page .nl-account-auth-content {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 0;
}

.nl-public-home { width: 100%; overflow: hidden; }
.nl-public-hero {
    display: grid;
    grid-template-columns: minmax(440px, .95fr) minmax(520px, 1.05fr);
    gap: clamp(32px, 4vw, 70px);
    align-items: center;
    width: min(1440px, calc(100% - 64px));
    min-height: min(760px, calc(100vh - 90px));
    margin: 0 auto;
    padding: clamp(42px, 5vw, 70px) 0 36px;
}

.nl-public-copy { max-width: 610px; }
.nl-public-product { display: inline-flex; align-items: center; gap: 13px; margin-bottom: 30px; color: #f4f7f6; font-size: 18px; font-weight: 800; }
.nl-public-product img { width: 56px; height: 56px; }
.nl-public-copy h1 { max-width: 720px; margin: 12px 0 22px; font-size: clamp(42px, 4.1vw, 62px); line-height: 1.04; }
.nl-public-lead { max-width: 610px; margin-bottom: 30px !important; color: #b7c2be !important; font-size: 16px; line-height: 1.7 !important; }
.nl-public-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nl-public-actions .btn { min-width: 168px; }
.nl-public-language { display: inline-flex; gap: 2px; margin-top: 20px; padding: 3px; border: 1px solid #2a343a; border-radius: 8px; background: #11171b; }
.nl-public-language button { min-width: 40px; min-height: 34px; padding: 0 9px; border: 0; border-radius: 6px; background: transparent; color: #93a19c; font-size: 11px; font-weight: 750; }
.nl-public-language button[aria-pressed="true"] { background: rgba(47, 224, 164, .12); color: #2fe0a4; }

.nl-public-preview { min-width: 0; overflow: hidden; border: 1px solid #344149; border-radius: 12px; background: #11171b; box-shadow: 0 32px 90px rgba(0, 0, 0, .42); transform: perspective(1200px) rotateY(-3deg); transform-origin: center right; }
.nl-public-preview-bar { display: flex; height: 48px; align-items: center; gap: 7px; padding: 0 18px; border-bottom: 1px solid #2a343a; background: #172026; }
.nl-public-preview-bar span { width: 8px; height: 8px; border-radius: 50%; background: #526068; }
.nl-public-preview-bar span:nth-child(1) { background: #ff6b72; }
.nl-public-preview-bar span:nth-child(2) { background: #f2b75b; }
.nl-public-preview-bar span:nth-child(3) { background: #2fe0a4; }
.nl-public-preview-bar b { margin-left: 8px; color: #d9e1de; font-size: 11px; }
.nl-public-preview-grid { display: grid; grid-template-columns: 116px minmax(190px, .75fr) minmax(290px, 1.25fr); min-height: 460px; }
.nl-public-preview-grid aside { padding: 18px 12px; border-right: 1px solid #2a343a; background: #0f1519; }
.nl-preview-compose { height: 34px; margin-bottom: 22px; border-radius: 7px; background: #2fe0a4; }
.nl-public-preview-grid aside i { display: block; width: 78%; height: 9px; margin: 17px 7px; border-radius: 3px; background: #2a343a; }
.nl-public-preview-grid aside i.is-active { width: 92%; background: rgba(47, 224, 164, .42); }
.nl-preview-list { border-right: 1px solid #2a343a; background: #11171b; }
.nl-preview-list > div { position: relative; height: 76px; padding: 16px 14px; border-bottom: 1px solid #2a343a; }
.nl-preview-list > div.is-selected { background: rgba(47, 224, 164, .08); box-shadow: inset 3px 0 #2fe0a4; }
.nl-preview-list b, .nl-preview-list span, .nl-preview-list small { display: block; border-radius: 3px; background: #344149; }
.nl-preview-list b { width: 48%; height: 8px; margin-bottom: 10px; background: #65736e; }
.nl-preview-list span { width: 86%; height: 7px; }
.nl-preview-list small { position: absolute; top: 18px; right: 14px; width: 24px; height: 6px; }
.nl-public-preview-grid article { padding: 30px 28px; background: #0b0f12; }
.nl-preview-toolbar { width: 42%; height: 10px; margin-bottom: 55px; border-radius: 3px; background: #2a343a; }
.nl-public-preview-grid article strong { display: block; width: 76%; height: 18px; margin-bottom: 42px; border-radius: 4px; background: #d9e1de; }
.nl-public-preview-grid article p { width: 94%; height: 8px; margin: 0 0 14px; border-radius: 3px; background: #344149; }
.nl-public-preview-grid article p.is-short { width: 64%; }
.nl-preview-action { width: 110px; height: 36px; margin-top: 44px; border-radius: 7px; background: #2fe0a4; }

.nl-public-feature-band { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(1440px, calc(100% - 64px)); margin: 0 auto; border-top: 1px solid #2a343a; border-bottom: 1px solid #2a343a; }
.nl-public-feature-band article { min-height: 230px; padding: 42px clamp(24px, 4vw, 54px) 46px; border-right: 1px solid #2a343a; }
.nl-public-feature-band article:last-child { border-right: 0; }
.nl-public-feature-band span { color: #2fe0a4; font-size: 10px; font-weight: 800; }
.nl-public-feature-band h2 { margin: 23px 0 10px; font-size: 18px; }
.nl-public-feature-band p { max-width: 330px; margin: 0; font-size: 13px; }

@media (max-width: 1099px) {
    .nl-public-hero { grid-template-columns: 1fr; gap: 48px; min-height: 0; }
    .nl-public-copy { max-width: 720px; }
    .nl-public-preview { width: 100%; max-width: 900px; transform: none; }
}

.nl-auth-card { width: 100%; padding: 30px; border: 1px solid #2a343a; border-radius: 12px; background: #11171b; box-shadow: 0 28px 80px rgba(0, 0, 0, .35); }
.nl-auth-card h1 { margin: 5px 0 0; font-size: 25px; }
.nl-auth-brand { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 14px; margin-bottom: 18px; }
.nl-auth-brand img { width: 48px; height: 48px; }
.nl-auth-intro { margin: 0 0 22px; }
.nl-auth-remember { display: flex; align-items: center; gap: 8px; min-height: 38px; margin: 2px 0 12px !important; }
.nl-auth-remember input { margin: 0; }
.nl-auth-submit { width: 100%; }
.nl-auth-links { display: flex; justify-content: center; gap: 10px; margin-top: 20px; color: #65736e; font-size: 12px; }
.nl-auth-card .nl-secret-result-icon { margin-bottom: 13px; }
.nl-auth-2fa { text-align: center; }
.nl-login-factor { gap: 14px; margin: 20px 0; }
.nl-login-factor #totp-form { display: grid; gap: 13px; }
.nl-webauthn-login-state { display: grid; place-items: center; min-height: 150px; border: 1px solid #2a343a; border-radius: 9px; background: #0f1519; }
.nl-webauthn-login-state img { max-width: 190px; max-height: 130px; object-fit: contain; }
.nl-auth-redirect { text-align: center; }
.nl-restore-card { max-width: 760px; }
.nl-restore-content { padding: 22px; }

.nl-account-content > .row .nav-tabs { display: none; }
.nl-account-content .nav-tabs { display: none !important; }
.nl-account-content > .row:first-child h1 { margin-bottom: 24px; }
.nl-account-content > .row { margin-right: 0; margin-left: 0; }
.nl-account-content > .row > [class*="col-"] { padding-right: 0; padding-left: 0; }

.nl-account-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 28px;
}

.nl-account-page-header h1 { margin: 4px 0 5px; font-size: 30px; line-height: 1.15; }
.nl-account-page-header p { margin: 0; }
.nl-account-eyebrow { color: #2fe0a4; font-size: 10px; font-weight: 800; text-transform: uppercase; }

.nl-overview-identity,
.nl-account-card,
.nl-profile-card,
.nl-metric-card,
.nl-security-card {
    border: 1px solid #2a343a;
    border-radius: 10px;
    background: #11171b;
}

.nl-overview-identity {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 18px;
}

.nl-overview-avatar { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 10px; background: #2fe0a4; color: #04120d; font-weight: 850; }
.nl-overview-identity > div:nth-child(2) { display: grid; gap: 3px; }
.nl-overview-identity span { color: #93a19c; font-size: 11px; }
.nl-overview-identity strong { overflow: hidden; text-overflow: ellipsis; }

.nl-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.nl-metric-card { padding: 20px; }
.nl-metric-card > div:first-child { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nl-metric-card span { color: #93a19c; font-size: 12px; }
.nl-metric-card strong { color: #f4f7f6; font-size: 24px; }
.nl-metric-card p { min-height: 38px; margin: 18px 0 12px; font-size: 12px; }
.nl-meter { height: 6px; overflow: hidden; border-radius: 4px; background: #202a30; }
.nl-meter span { display: block; height: 100%; max-width: 100%; border-radius: inherit; background: #2fe0a4; }

.nl-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nl-profile-card { padding: 22px; }
.nl-profile-wide { grid-column: 1 / -1; }
.nl-profile-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.nl-profile-card-head > div { min-width: 0; }
.nl-profile-card-head span { color: #2fe0a4; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.nl-profile-card-head h2 { overflow-wrap: anywhere; margin: 4px 0 0; }
.nl-status-dot { padding: 5px 8px; border-radius: 6px; background: rgba(47, 224, 164, .1); }
.nl-profile-card dl { display: grid; gap: 0; margin: 0 0 15px; }
.nl-profile-card dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid #2a343a; }
.nl-profile-card dt { color: #93a19c; font-weight: 500; }
.nl-profile-card dd { margin: 0; color: #f4f7f6; }
.quota-meter { width: 100%; accent-color: #2fe0a4; }
.nl-session-table-wrap { overflow-x: auto; }
.nl-session-current { display: inline-block; margin-left: 6px; padding: 2px 5px; border-radius: 4px; background: rgba(47, 224, 164, .11); color: #2fe0a4; font-size: 9px; }

.nl-account-card { overflow: hidden; }
.nl-account-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid #2a343a; background: #172026; }
.nl-account-card-head h2 { margin: 0 0 5px; }
.nl-account-card-head p { margin: 0; }
.nl-rule-list { display: grid; }
.nl-rule-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid #2a343a; }
.nl-rule-index { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: #172026; color: #93a19c; }
.nl-rule-row > div:nth-child(2) { display: grid; gap: 5px; }
.nl-rule-row > div:nth-child(2) span { color: #93a19c; font-size: 11px; }
.nl-rule-actions { display: flex; gap: 7px; }
.nl-account-empty { display: grid; place-items: center; gap: 7px; padding: 60px 20px; text-align: center; }
.nl-account-empty .nl-account-icon { width: 32px; height: 32px; color: #2fe0a4; }
.nl-account-empty p { margin: 0; }

.nl-account-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; padding: 22px; }
.nl-account-form-wide { grid-column: 1 / -1; }
.nl-account-form-actions { display: flex; justify-content: flex-end; padding: 16px 22px; border-top: 1px solid #2a343a; }
.nl-account-switch input { position: absolute; opacity: 0; }
.nl-account-switch span { position: relative; display: block; width: 46px; height: 26px; border-radius: 15px; background: #2a343a; cursor: pointer; }
.nl-account-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #93a19c; transition: transform 140ms ease, background 140ms ease; }
.nl-account-switch input:checked + span { background: rgba(47, 224, 164, .25); }
.nl-account-switch input:checked + span::after { background: #2fe0a4; transform: translateX(20px); }

.nl-security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nl-security-card { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 126px; padding: 20px; color: #f4f7f6 !important; text-decoration: none !important; transition: border-color 140ms ease, background 140ms ease; }
.nl-security-card:hover { border-color: #526068; background: #172026; }
.nl-security-card > .nl-account-icon { width: 26px; height: 26px; color: #2fe0a4; }
.nl-security-card h2 { margin: 0 0 7px; }
.nl-security-card p { margin: 0; font-size: 12px; }
.nl-security-card > span { color: #64c7e8; font-size: 11px; font-weight: 700; }

.nl-identity-table { min-width: 820px; }
.nl-identity-table tr.is-primary { background: rgba(47, 224, 164, .035); }
.nl-address-value { display: inline-block; margin-right: 8px; }
.nl-table-actions { display: inline-flex; justify-content: flex-end; gap: 7px; }
.nl-account-limit-note { padding: 15px 20px; border-top: 1px solid #2a343a; color: #93a19c; font-size: 12px; }
.nl-identity-form { max-width: 760px; }
.nl-address-input .selected-domain { text-transform: lowercase; }
.nl-address-input > .form-control { border-radius: 9px 0 0 9px; }
.nl-address-input .input-group-btn .btn { min-width: 150px; border-radius: 0 9px 9px 0; }

.nl-check-row { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 10px; margin: 0; padding: 13px 14px; border: 1px solid #2a343a; border-radius: 8px; background: #0f1519; cursor: pointer; }
.nl-check-row:hover { border-color: #526068; }
.nl-check-row input { margin-top: 3px; }
.nl-check-row > span { display: grid; gap: 3px; }
.nl-check-row strong { color: #f4f7f6; font-size: 12px; }
.nl-check-row small { color: #93a19c; font-weight: 450; line-height: 1.4; }
.nl-check-row.is-danger:has(input:checked) { border-color: rgba(255, 107, 114, .55); background: rgba(255, 107, 114, .06); }

.nl-filter-form { display: grid; gap: 14px; }
.nl-filter-builder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nl-filter-builder-section { overflow: hidden; border: 1px solid #2a343a; border-radius: 10px; background: #11171b; }
.nl-filter-builder-head { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; padding: 19px 20px; border-bottom: 1px solid #2a343a; background: #172026; }
.nl-filter-builder-head .nl-account-icon { width: 23px; height: 23px; color: #2fe0a4; }
.nl-filter-builder-head h2 { margin: 0 0 4px; }
.nl-filter-builder-head p { margin: 0; font-size: 12px; }
.nl-filter-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 14px; padding: 20px; }
.nl-filter-wide { grid-column: 1 / -1; }
.nl-fieldset { min-width: 0; margin: 5px 0 10px; padding: 0; border: 0; }
.nl-fieldset legend { margin-bottom: 9px; border: 0; color: #cbd4d0; font-size: 12px; font-weight: 650; }
.nl-inline-checks { display: flex; flex-wrap: wrap; gap: 9px 18px; }
.nl-inline-checks label { display: flex; align-items: center; gap: 7px; margin: 0; }
.nl-filter-size { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(90px, .7fr) 90px; gap: 8px; }
.nl-filter-actions { display: grid; gap: 11px; padding: 20px; }
.nl-sticky-form-actions { position: sticky; bottom: 14px; z-index: 8; display: flex; justify-content: flex-end; gap: 9px; padding: 13px; border: 1px solid #2a343a; border-radius: 10px; background: rgba(17, 23, 27, .96); box-shadow: 0 18px 50px rgba(0, 0, 0, .35); backdrop-filter: blur(12px); }

.nl-security-setting-list { display: grid; }
.nl-security-setting-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 118px;
    align-items: center;
    gap: 18px;
    min-height: 88px;
    padding: 18px 22px;
    border-bottom: 1px solid #2a343a;
}
.nl-security-setting-row:last-child { border-bottom: 0; }
.nl-security-setting-row > div:first-child { display: grid; gap: 5px; }
.nl-security-setting-row > div:first-child span { color: #93a19c; font-size: 12px; }
.nl-security-setting-action { display: flex; justify-content: flex-end; }
.nl-security-setting-action form { margin: 0; }
.nl-security-status { min-width: 68px; padding: 5px 8px; border-radius: 6px; background: #202a30; color: #93a19c; font-size: 10px; font-weight: 800; text-align: center; text-transform: uppercase; }
.nl-security-status.is-on { background: rgba(47, 224, 164, .12); color: #2fe0a4; }

.nl-account-note { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 11px; margin-top: 14px; padding: 15px 17px; border: 1px solid rgba(100, 199, 232, .35); border-radius: 9px; background: rgba(100, 199, 232, .07); }
.nl-account-note .nl-account-icon { color: #64c7e8; }
.nl-account-note p { margin: 0; }
.nl-account-note.is-warning { border-color: rgba(242, 183, 91, .38); background: rgba(242, 183, 91, .07); }
.nl-account-note.is-warning .nl-account-icon { color: #f2b75b; }

.nl-account-table-wrap { width: 100%; overflow-x: auto; }
.nl-account-table { min-width: 680px; margin: 0; }
.nl-account-table > thead > tr > th { padding: 12px 16px; border-bottom: 1px solid #2a343a; background: #0f1519; color: #65736e; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nl-account-table > tbody > tr > td { padding: 15px 16px; vertical-align: middle; }
.nl-account-table .btn { min-height: 34px; }
.nl-account-empty-compact { min-height: 150px; padding: 28px; }
.nl-security-create-card { margin-top: 14px; }

.nl-secret-result,
.nl-enrollment-card { width: min(620px, 100%); margin: 20px auto; padding: 34px; border: 1px solid #2a343a; border-radius: 12px; background: #11171b; text-align: center; }
.nl-secret-result-icon { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 10px; background: rgba(47, 224, 164, .12); color: #2fe0a4; }
.nl-secret-result-icon .nl-account-icon { width: 26px; height: 26px; }
.nl-secret-result h1,
.nl-enrollment-head h1 { margin: 6px 0 9px; }
.nl-secret-result > p { max-width: 470px; margin: 0 auto 22px; }
.nl-secret-value { display: block; margin: 13px 0 24px; padding: 17px; border: 1px dashed #526068; border-radius: 9px; background: #0b0f12; color: #f4f7f6; font-size: clamp(17px, 3vw, 24px); letter-spacing: 2px; overflow-wrap: anywhere; }
.nl-secret-actions { display: flex; justify-content: center; gap: 10px; }

.nl-gpg-form { display: grid; gap: 20px; padding: 22px; }
.nl-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nl-choice-card { position: relative; margin: 0 !important; cursor: pointer; }
.nl-choice-card input { position: absolute; top: 18px; left: 18px; }
.nl-choice-card > span { display: grid; gap: 5px; min-height: 98px; padding: 18px 18px 18px 48px; border: 1px solid #2a343a; border-radius: 9px; background: #0f1519; }
.nl-choice-card input:checked + span { border-color: #2fe0a4; background: rgba(47, 224, 164, .06); }
.nl-choice-card strong { color: #f4f7f6; }
.nl-choice-card small { color: #93a19c; font-weight: 450; line-height: 1.45; }
.nl-current-key { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 16px; border: 1px solid #2a343a; border-radius: 9px; background: #0f1519; }
.nl-current-key > div { display: grid; gap: 5px; min-width: 0; }
.nl-current-key span,
.nl-current-key small { color: #93a19c; font-size: 11px; }
.nl-current-key code { overflow-wrap: anywhere; color: #64c7e8; }
.nl-remove-key { display: flex; align-items: center; gap: 7px; margin: 0 !important; }
.nl-code-input { font-family: Consolas, monospace; font-size: 12px; }

.nl-events-table { min-width: 900px; }
.nl-protocol-badge,
.nl-result-badge { display: inline-block; padding: 4px 7px; border-radius: 5px; background: #202a30; color: #d9e1de; font-size: 10px; font-weight: 750; }
.nl-result-badge.is-success { background: rgba(47, 224, 164, .11); color: #2fe0a4; }
.nl-result-badge.is-danger { background: rgba(255, 107, 114, .11); color: #ff9ba0; }
.nl-result-badge.is-warning { background: rgba(242, 183, 91, .11); color: #ffd17f; }
.nl-table-secondary { display: block; margin-top: 4px; color: #93a19c; }
.nl-muted { color: #65736e; }
.nl-account-pagination { display: flex; justify-content: space-between; margin-top: 14px; }
.nl-account-pagination .disabled { opacity: .45; pointer-events: none; }

.nl-password-card { max-width: 720px; }
.nl-password-fields { display: grid; gap: 5px; padding: 22px; }

.nl-enrollment-head { text-align: center; }
.nl-enrollment-head p { max-width: 460px; margin: 0 auto 20px; }
.nl-qr-frame { width: fit-content; margin: 20px auto; padding: 12px; border-radius: 10px; background: #fff; }
.nl-qr-frame img { display: block; }
.nl-token-input { max-width: 270px; margin: 0 auto; font-size: 24px; font-variant-numeric: tabular-nums; letter-spacing: 5px; text-align: center; }
.nl-enrollment-card .form-group label { display: block; text-align: center; }
.nl-enrollment-actions { display: flex; justify-content: center; gap: 10px; margin-top: 24px; }
.nl-webauthn-state { display: grid; place-items: center; min-height: 230px; margin-top: 16px; border: 1px solid #2a343a; border-radius: 10px; background: #0f1519; }
.nl-webauthn-state img { max-width: 210px; max-height: 160px; object-fit: contain; }
.nl-webauthn-state p { margin: 0 0 16px; }

.nl-account-v2 .modal-header,
.nl-account-v2 .modal-footer { border-color: #2a343a; }
.nl-account-v2 .modal-header .close { color: #f4f7f6; opacity: .8; }
.nl-account-v2 .modal-footer form { display: flex; justify-content: flex-end; gap: 8px; }

.nl-account-v2 .daterangepicker { border: 1px solid #344149; border-radius: 10px; background: #11171b; color: #f4f7f6; box-shadow: 0 24px 70px rgba(0, 0, 0, .45); }
.nl-account-v2 .daterangepicker::before { border-bottom-color: #344149; }
.nl-account-v2 .daterangepicker::after { border-bottom-color: #11171b; }
.nl-account-v2 .daterangepicker .calendar-table { border-color: #2a343a; background: #11171b; }
.nl-account-v2 .daterangepicker td.available:hover,
.nl-account-v2 .daterangepicker th.available:hover { background: #202a30; }
.nl-account-v2 .daterangepicker td.in-range { background: rgba(47, 224, 164, .1); color: #d9e1de; }
.nl-account-v2 .daterangepicker td.active,
.nl-account-v2 .daterangepicker td.active:hover { background: #2fe0a4; color: #04120d; }
.nl-account-v2 .daterangepicker select { border: 1px solid #344149; background: #0b0f12; color: #f4f7f6; }

@media (max-width: 767px) {
    .nl-account-v2 .navbar .container,
    .nl-account-v2 > .container,
    .nl-account-v2 .container.main { width: calc(100% - 20px); }
    .nl-account-v2 .navbar-header { min-height: 64px; }
    .nl-account-v2 .navbar-toggle { margin-top: 14px; border-color: #344149; }
    .nl-account-v2 .navbar-toggle .icon-bar { background: #f4f7f6; }
    .nl-account-v2 .panel-body { padding: 16px; }
    .nl-account-v2 h1 { font-size: 21px; }
    .nl-account-topbar { padding: 0 12px; }
    .nl-account-topbar nav a:first-child { display: none; }
    .nl-account-shell { grid-template-columns: 1fr; }
    .nl-account-nav { position: static; grid-auto-flow: column; grid-auto-columns: max-content; max-height: none; padding: 10px 12px; overflow-x: auto; border-right: 0; border-bottom: 1px solid #2a343a; }
    .nl-account-nav p,
    .nl-account-nav .nl-account-back { display: none; }
    .nl-account-nav > a { grid-template-columns: 18px auto; }
    .nl-account-content { padding: 26px 14px 50px; }
    .nl-account-page-header { align-items: flex-start; flex-direction: column; }
    .nl-overview-grid,
    .nl-profile-grid,
    .nl-security-grid,
    .nl-account-form-grid { grid-template-columns: 1fr; }
    .nl-profile-wide,
    .nl-account-form-wide { grid-column: auto; }
    .nl-overview-identity { grid-template-columns: 42px minmax(0, 1fr); }
    .nl-overview-identity > a { grid-column: 2; }
    .nl-rule-row { grid-template-columns: 28px minmax(0, 1fr); }
    .nl-rule-actions { grid-column: 2; }
    .nl-security-setting-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
    .nl-security-setting-action { grid-column: 1 / -1; justify-content: flex-start; }
    .nl-choice-grid { grid-template-columns: 1fr; }
    .nl-current-key { grid-template-columns: 1fr; }
    .nl-secret-result,
    .nl-enrollment-card { margin: 0 auto; padding: 24px 16px; }
    .nl-secret-actions,
    .nl-enrollment-actions { align-items: stretch; flex-direction: column; }
    .nl-filter-builder,
    .nl-filter-fields { grid-template-columns: 1fr; }
    .nl-filter-wide { grid-column: auto; }
    .nl-filter-size { grid-template-columns: 1fr; }
    .nl-address-input .input-group-btn .btn { min-width: 112px; }
    .nl-auth-card { padding: 24px 18px; }
    body.nl-public-page .nl-account-topbar nav a:first-child { display: inline-flex; }
    body.nl-public-page .nl-account-topbar nav a:last-child { display: none; }
    .nl-public-hero { grid-template-columns: 1fr; gap: 50px; width: calc(100% - 28px); min-height: 0; padding: 48px 0 36px; }
    .nl-public-product { margin-bottom: 32px; }
    .nl-public-copy h1 { font-size: clamp(38px, 12vw, 54px); }
    .nl-public-actions { flex-direction: column; }
    .nl-public-actions .btn { width: 100%; }
    .nl-public-preview { transform: none; }
    .nl-public-preview-grid { grid-template-columns: 76px minmax(0, 1fr); min-height: 390px; }
    .nl-public-preview-grid article { display: none; }
    .nl-public-preview-grid aside { padding: 14px 8px; }
    .nl-preview-list > div { height: 66px; padding: 14px 11px; }
    .nl-public-feature-band { grid-template-columns: 1fr; width: calc(100% - 28px); }
    .nl-public-feature-band article { min-height: 0; padding: 30px 4px; border-right: 0; border-bottom: 1px solid #2a343a; }
    .nl-public-feature-band article:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .nl-account-v2 *,
    .nl-account-v2 *::before,
    .nl-account-v2 *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
