:root {
    --nv-ink: #17201d;
    --nv-muted: #66706c;
    --nv-paper: #f7f5ef;
    --nv-card: #fffefa;
    --nv-line: #deddd5;
    --nv-green: #175f48;
    --nv-green-dark: #0e4936;
    --nv-green-soft: #e2eee7;
    --nv-lime: #d8f06c;
    --nv-coral: #ee6d52;
    --nv-danger: #b9362f;
    --nv-danger-soft: #fae9e5;
    --nv-success: #1d7254;
    --nv-shadow-sm: 0 1px 2px rgba(23, 32, 29, .05), 0 8px 24px rgba(23, 32, 29, .06);
    --nv-shadow-lg: 0 18px 60px rgba(23, 32, 29, .12);
    --nv-radius-sm: 10px;
    --nv-radius: 18px;
    --nv-radius-lg: 30px;
    --nv-shell: 1240px;
    --nv-focus: 0 0 0 4px rgba(216, 240, 108, .7);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--nv-ink);
    background: var(--nv-paper);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.58;
    -webkit-font-smoothing: antialiased;
}
body.nv-app-page { background: #f3f4ef; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--nv-green); text-underline-offset: 3px; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 650; letter-spacing: -.025em; line-height: 1.12; }
h1 { font-size: clamp(2.3rem, 5.1vw, 4.8rem); }
h2 { font-size: clamp(1.65rem, 2.6vw, 2.75rem); }
h3 { font-size: 1.08rem; }
strong, b { font-weight: 650; }

.nv-shell { width: min(calc(100% - 40px), var(--nv-shell)); margin-inline: auto; }
.nv-sr-only {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.nv-skip-link {
    position: fixed; top: 8px; left: 8px; z-index: 1000; transform: translateY(-150%);
    padding: 10px 14px; border-radius: 8px; background: var(--nv-ink); color: white;
}
.nv-skip-link:focus { transform: none; }
:focus-visible { outline: none; box-shadow: var(--nv-focus); }

.nv-header {
    position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(222, 221, 213, .86);
    background: rgba(247, 245, 239, .88); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.nv-header__inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nv-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--nv-ink); text-decoration: none; font-weight: 680; letter-spacing: -.02em; }
.nv-brand__mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: transparent; overflow: hidden; }
.nv-brand__mark img { display: block; width: 100%; height: 100%; }
.nv-beta { padding: 3px 7px; border: 1px solid #c9d7cf; border-radius: 999px; color: var(--nv-green); font-size: 10px; font-weight: 650; letter-spacing: .03em; text-transform: uppercase; }
.nv-nav { display: flex; align-items: center; gap: 6px; }
.nv-nav > form { margin: 0; }
.nv-nav > a:not(.nv-button) { padding: 10px 13px; border-radius: 10px; color: #45504c; text-decoration: none; font-weight: 580; font-size: 13px; }
.nv-nav > a:hover, .nv-nav > a[aria-current="page"] { color: var(--nv-green); background: var(--nv-green-soft); }
.nv-menu-button { display: none; width: 46px; height: 46px; border: 0; border-radius: 12px; background: transparent; }
.nv-menu-button span:not(.nv-sr-only) { display: block; width: 22px; height: 2px; margin: 4px auto; background: var(--nv-ink); }

.nv-button {
    min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 17px; border: 1px solid transparent; border-radius: 12px; cursor: pointer;
    text-decoration: none; font-weight: 650; font-size: 13px; line-height: 1.2; transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.nv-button:hover { transform: translateY(-1px); }
.nv-button--large { min-height: 50px; padding-inline: 21px; font-size: 14px; border-radius: 14px; }
.nv-button--wide { width: 100%; }
.nv-button--primary { background: var(--nv-green); color: white; box-shadow: 0 7px 20px rgba(23, 95, 72, .18); }
.nv-button--primary:hover { background: var(--nv-green-dark); }
.nv-button--secondary { border-color: var(--nv-line); background: var(--nv-card); color: var(--nv-ink); }
.nv-button--quiet { background: transparent; color: var(--nv-green); border-color: rgba(23, 95, 72, .2); }
.nv-button--danger { background: var(--nv-danger); color: white; }
.nv-button--danger-quiet { background: var(--nv-danger-soft); color: var(--nv-danger); }
.nv-button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.nv-icon-button {
    width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--nv-line);
    border-radius: 13px; background: var(--nv-card); color: var(--nv-ink); cursor: pointer; font-size: 24px;
}

.nv-eyebrow, .nv-step-label {
    display: block; margin-bottom: 10px; color: var(--nv-green); font-size: 11px; font-weight: 700;
    letter-spacing: .11em; text-transform: uppercase;
}
.nv-lead { max-width: 700px; color: #4e5955; font-size: clamp(1.04rem, 1.55vw, 1.22rem); line-height: 1.65; }
.nv-lead--small { font-size: 1.05rem; }
.nv-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.nv-hero { padding: clamp(64px, 8vw, 118px) 0 74px; overflow: hidden; }
.nv-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr); align-items: center; gap: clamp(44px, 8vw, 110px); }
.nv-hero__copy h1 { max-width: 820px; margin-bottom: 25px; }
.nv-trust-line { margin: 18px 0 0; color: var(--nv-muted); font-size: 13px; }
.nv-trust-line span { margin-inline: 4px; color: var(--nv-green); }
.nv-hero-card {
    position: relative; padding: 18px; border: 1px solid #cfcec6; border-radius: var(--nv-radius-lg);
    background: linear-gradient(145deg, #fffef9, #eceee6); box-shadow: var(--nv-shadow-lg); transform: rotate(1.2deg);
}
.nv-hero-card::before { content: ""; position: absolute; inset: -45px -45px auto auto; width: 140px; height: 140px; border-radius: 50%; background: var(--nv-lime); filter: blur(1px); opacity: .62; z-index: -1; }
.nv-hero-card__top { display: flex; justify-content: space-between; margin: 2px 4px 14px; color: var(--nv-muted); font-size: 12px; font-weight: 700; }
.nv-live-dot::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #32a873; box-shadow: 0 0 0 4px rgba(50, 168, 115, .14); }
.nv-preview-card { padding: 24px; border: 1px solid var(--nv-line); border-radius: 20px; background: var(--nv-card); box-shadow: var(--nv-shadow-sm); }
.nv-preview-card > div { display: flex; align-items: center; justify-content: space-between; }
.nv-preview-card h2 { margin: 26px 0 8px; font-size: 1.52rem; }
.nv-preview-card p { color: var(--nv-muted); font-size: 14px; }
.nv-preview-card ul { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 18px 0 0; list-style: none; }
.nv-preview-card li { padding: 7px 10px; border-radius: 999px; background: #eef1ec; color: #4e5955; font-size: 12px; font-weight: 650; }
.nv-preview-card--muted { display: flex; align-items: center; gap: 14px; margin-top: 11px; padding: 16px 18px; opacity: .73; }
.nv-preview-card--muted strong { flex: 1; }
.nv-match-score { font-size: 1.55rem; font-weight: 850; color: var(--nv-green); }
.nv-pill { display: inline-flex; align-items: center; width: fit-content; padding: 5px 9px; border-radius: 999px; background: #eceee9; color: #52605a; font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.nv-pill--hot { background: #fff0e9; color: #ab3e28; }
.nv-pill--success { background: var(--nv-green-soft); color: var(--nv-green); }

.nv-proof { border-block: 1px solid var(--nv-line); background: rgba(255, 254, 250, .62); }
.nv-proof__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.nv-proof__grid > div { padding: 25px 22px; border-left: 1px solid var(--nv-line); }
.nv-proof__grid > div:last-child { border-right: 1px solid var(--nv-line); }
.nv-proof strong { display: block; font-size: 1.45rem; letter-spacing: -.03em; }
.nv-proof span { color: var(--nv-muted); font-size: 13px; }
.nv-section { padding: clamp(74px, 10vw, 130px) 0; }
.nv-section--tint { background: #e8ede5; }
.nv-section-heading { max-width: 760px; margin-bottom: 46px; }
.nv-section-heading h1, .nv-section-heading h2 { margin-bottom: 16px; }
.nv-section-heading p { color: var(--nv-muted); font-size: 1.08rem; }
.nv-section-heading--split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.nv-section-heading--split > div { max-width: 760px; }
.nv-section--featured { padding-bottom: 80px; background: #eef1eb; }
.nv-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.nv-steps article { min-height: 260px; padding: 28px; border: 1px solid var(--nv-line); border-radius: var(--nv-radius); background: var(--nv-card); }
.nv-steps article > span { color: var(--nv-coral); font-size: 12px; font-weight: 850; }
.nv-steps h3 { margin: 66px 0 12px; font-size: 1.35rem; }
.nv-steps p { margin: 0; color: var(--nv-muted); }
.nv-feature-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 8vw, 105px); align-items: start; }
.nv-feature-list { display: grid; gap: 12px; }
.nv-feature-list article { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 22px; border-radius: var(--nv-radius); background: rgba(255,255,255,.62); }
.nv-feature-list article > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: var(--nv-green); color: white; font-size: 22px; }
.nv-feature-list h3 { margin: 2px 0 6px; }
.nv-feature-list p { margin: 0; color: var(--nv-muted); }
.nv-cta { padding: 60px 0; background: var(--nv-ink); color: white; }
.nv-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.nv-cta h2 { margin: 0; }
.nv-cta .nv-eyebrow { color: var(--nv-lime); }
.nv-cta .nv-button--primary { background: var(--nv-lime); color: var(--nv-ink); }

.nv-catalog-hero { padding: 72px 0 36px; }
.nv-catalog-hero__heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.nv-catalog-hero h1 { max-width: 850px; margin-bottom: 18px; font-size: clamp(2.8rem, 5vw, 5rem); }
.nv-catalog-count {
    flex: 0 0 170px; padding: 20px; border: 1px solid var(--nv-line); border-radius: 18px;
    background: var(--nv-card); box-shadow: var(--nv-shadow-sm);
}
.nv-catalog-count strong, .nv-catalog-count span { display: block; }
.nv-catalog-count strong { font-size: 2.1rem; letter-spacing: -.04em; }
.nv-catalog-count span { color: var(--nv-muted); font-size: 12px; }
.nv-catalog-filters {
    display: grid; grid-template-columns: minmax(230px, 1.6fr) minmax(170px, .8fr) minmax(170px, .8fr) auto;
    align-items: end; gap: 12px; margin-top: 42px; padding: 16px; border: 1px solid var(--nv-line);
    border-radius: 19px; background: var(--nv-card); box-shadow: var(--nv-shadow-sm);
}
.nv-catalog-filters label { display: grid; gap: 6px; color: #46514d; font-size: 12px; font-weight: 760; }
.nv-catalog-filters input, .nv-catalog-filters select {
    width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #cfd1ca;
    border-radius: 11px; background: white; color: var(--nv-ink);
}
.nv-catalog-filters input:focus, .nv-catalog-filters select:focus { border-color: var(--nv-green); box-shadow: 0 0 0 4px rgba(23,95,72,.11); outline: none; }
.nv-section--catalog { padding-top: 42px; }
.nv-public-assignment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nv-public-assignment-card {
    min-width: 0; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--nv-line);
    border-radius: 20px; background: var(--nv-card); box-shadow: var(--nv-shadow-sm);
}
.nv-public-assignment-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nv-public-assignment-card time { color: var(--nv-muted); font-size: 11px; }
.nv-public-assignment-card h2, .nv-public-assignment-card h3 { margin: 24px 0 8px; font-size: 1.35rem; }
.nv-public-assignment-card h2 a, .nv-public-assignment-card h3 a { color: var(--nv-ink); text-decoration: none; }
.nv-public-assignment-card h2 a:hover, .nv-public-assignment-card h3 a:hover { color: var(--nv-green); }
.nv-public-assignment-card > p:not(.nv-assignment-location) { color: var(--nv-muted); font-size: 13px; }
.nv-assignment-location { margin-bottom: 18px; color: #3e4945; font-size: 13px; font-weight: 700; }
.nv-skill-list { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 12px 0 24px; list-style: none; }
.nv-skill-list li { padding: 6px 9px; border-radius: 999px; background: #edf0eb; color: #4f5b56; font-size: 11px; font-weight: 700; }
.nv-card-link { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--nv-line); text-decoration: none; font-size: 13px; font-weight: 800; }
.nv-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 36px; }
.nv-pagination span { color: var(--nv-muted); font-size: 13px; font-weight: 700; }
.nv-empty-state--catalog { border: 1px solid var(--nv-line); border-radius: 22px; background: var(--nv-card); }
.nv-cta--compact { padding-block: 48px; }

.nv-detail-hero { padding: 48px 0 90px; }
.nv-detail-hero .nv-back-link { margin-bottom: 30px; }
.nv-assignment-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; gap: 28px; }
.nv-detail-main { padding: clamp(25px, 4vw, 48px); border: 1px solid var(--nv-line); border-radius: 25px; background: var(--nv-card); box-shadow: var(--nv-shadow-sm); }
.nv-detail-main h1 { max-width: 900px; margin: 22px 0 12px; font-size: clamp(2.45rem, 5vw, 4.6rem); }
.nv-detail-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.nv-detail-meta time { color: var(--nv-muted); font-size: 12px; }
.nv-detail-section { padding-top: 30px; margin-top: 30px; border-top: 1px solid var(--nv-line); }
.nv-detail-section h2 { margin-bottom: 13px; font-size: 1.35rem; }
.nv-detail-section p { margin: 0; color: #4e5955; line-height: 1.75; white-space: pre-line; }
.nv-skill-list--large { margin-bottom: 0; }
.nv-skill-list--large li { padding: 8px 11px; font-size: 12px; }
.nv-detail-disclosure { padding: 22px; border: 0; border-radius: 16px; background: #eef2ec; }
.nv-detail-aside {
    position: sticky; top: 108px; padding: 27px; border: 1px solid var(--nv-line);
    border-radius: 22px; background: var(--nv-ink); color: white; box-shadow: var(--nv-shadow-lg);
}
.nv-detail-aside h2 { margin-bottom: 14px; font-size: 1.85rem; }
.nv-detail-aside > p { color: #c8d0cc; }
.nv-detail-aside .nv-button { margin-top: 8px; }
.nv-detail-aside .nv-button--secondary { border-color: #53605b; background: transparent; color: white; }
.nv-detail-aside .nv-check-list { margin-top: 24px; }
.nv-detail-aside .nv-check-list li { color: #dbe1de; font-size: 13px; }

.nv-about__grid, .nv-faq-layout, .nv-contact__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 110px); }
.nv-about__grid > div:last-child { color: #4e5955; font-size: 1.08rem; line-height: 1.8; }
.nv-faq-list { display: grid; gap: 10px; }
.nv-faq-list details { border: 1px solid #d1d8d2; border-radius: 15px; background: rgba(255,255,255,.68); }
.nv-faq-list summary { padding: 18px 20px; cursor: pointer; font-weight: 780; }
.nv-faq-list p { padding: 0 20px 20px; margin: 0; color: var(--nv-muted); }
.nv-contact { background: var(--nv-card); }
.nv-contact-form { padding: clamp(23px, 4vw, 38px); border: 1px solid var(--nv-line); border-radius: 22px; background: #f8f7f2; box-shadow: var(--nv-shadow-sm); }
.nv-contact-form textarea { width: 100%; padding: 11px 13px; border: 1px solid #cfd1ca; border-radius: 11px; resize: vertical; background: white; }
.nv-contact-form textarea:focus { border-color: var(--nv-green); box-shadow: 0 0 0 4px rgba(23,95,72,.11); outline: none; }

.nv-footer { padding: 46px 0; border-top: 1px solid var(--nv-line); background: var(--nv-card); }
.nv-footer__inner { display: flex; align-items: flex-start; justify-content: space-between; gap: 35px; }
.nv-brand--footer .nv-brand__mark { width: 34px; height: 34px; font-size: 17px; }
.nv-footer p { margin: 10px 0 0; color: var(--nv-muted); font-size: 13px; }
.nv-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.nv-footer nav a { color: var(--nv-muted); font-size: 13px; }

.nv-flashes { position: relative; z-index: 10; padding-top: 16px; }
.nv-alert { padding: 13px 16px; border: 1px solid #cdd8d1; border-radius: 12px; background: #edf5f0; color: #225d49; font-size: 14px; }
.nv-alert--error { border-color: #efc1b7; background: var(--nv-danger-soft); color: #8d2b25; }
.nv-alert--success { border-color: #b6d8ca; background: var(--nv-green-soft); color: var(--nv-green-dark); }

.nv-auth { min-height: calc(100vh - 76px); padding: 70px 0 92px; }
.nv-auth__grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(430px, .72fr); align-items: start; gap: clamp(45px, 9vw, 120px); }
.nv-auth__intro { position: sticky; top: 130px; padding-top: 26px; }
.nv-auth__intro h1 { margin: 22px 0; font-size: clamp(2.7rem, 5vw, 4.9rem); }
.nv-auth__intro > p { max-width: 580px; color: var(--nv-muted); font-size: 1.08rem; }
.nv-back-link { display: inline-block; margin-bottom: 55px; color: var(--nv-muted); text-decoration: none; font-size: 13px; font-weight: 700; }
.nv-auth-card, .nv-settings-card {
    padding: clamp(26px, 4vw, 42px); border: 1px solid var(--nv-line); border-radius: 24px;
    background: var(--nv-card); box-shadow: var(--nv-shadow-sm);
}
.nv-card-heading { margin-bottom: 28px; }
.nv-card-heading h1, .nv-card-heading h2 { margin-bottom: 9px; font-size: clamp(1.8rem, 3vw, 2.45rem); }
.nv-card-heading p { margin: 0; color: var(--nv-muted); }
.nv-auth-card__footer { display: flex; justify-content: center; gap: 10px; margin: 22px 0 0; color: var(--nv-muted); font-size: 14px; text-align: center; }
.nv-auth--single { display: grid; place-items: start center; }
.nv-auth--single .nv-auth-card { width: min(calc(100% - 40px), 540px); }
.nv-check-list { display: grid; gap: 12px; padding: 0; margin: 30px 0 0; list-style: none; }
.nv-check-list li { display: flex; gap: 10px; color: #46514d; }
.nv-check-list li::before { content: "✓"; color: var(--nv-green); font-weight: 900; }

.nv-form { display: grid; gap: 18px; }
.nv-form label { display: grid; gap: 7px; color: #38433f; font-size: 13px; font-weight: 750; }
.nv-form label > span { color: var(--nv-danger); }
.nv-form input:not([type="checkbox"]), .nv-form select, .nv-form textarea, .nv-search input {
    width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cfd1ca; border-radius: 11px;
    background: white; color: var(--nv-ink); font-size: 15px; transition: border-color .18s ease, box-shadow .18s ease;
}
.nv-form input:focus, .nv-form select:focus, .nv-search input:focus { border-color: var(--nv-green); box-shadow: 0 0 0 4px rgba(23,95,72,.11); outline: none; }
.nv-form input:disabled { background: #f0f1ec; color: var(--nv-muted); }
.nv-form small { color: var(--nv-muted); font-weight: 500; line-height: 1.45; }
.nv-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nv-checkbox { display: grid !important; grid-template-columns: 22px 1fr; align-items: start; gap: 10px !important; font-weight: 500 !important; line-height: 1.45; }
.nv-checkbox input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--nv-green); }
.nv-optional-fields { padding: 13px 15px; border: 1px solid var(--nv-line); border-radius: 12px; }
.nv-optional-fields summary { display: flex; justify-content: space-between; cursor: pointer; color: #3e4945; font-size: 13px; font-weight: 750; }
.nv-optional-fields summary span { color: var(--nv-muted); font-size: 11px; text-transform: uppercase; }
.nv-optional-fields[open] summary { margin-bottom: 17px; }
.nv-optional-fields[open] { display: grid; gap: 16px; }

.nv-app-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 28px; padding-block: 34px 80px; }
.nv-profile-panel {
    position: sticky; top: 110px; align-self: start; padding: 20px; border: 1px solid var(--nv-line);
    border-radius: 20px; background: var(--nv-card); box-shadow: var(--nv-shadow-sm);
}
.nv-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.nv-panel-heading h2 { margin: 0; font-size: 1.2rem; }
.nv-profile-list { display: grid; gap: 6px; margin: 22px 0 14px; }
.nv-profile-list a { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; color: var(--nv-ink); text-decoration: none; }
.nv-profile-list a:hover, .nv-profile-list a.is-active { background: var(--nv-green-soft); }
.nv-profile-list strong, .nv-profile-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nv-profile-list strong { font-size: 13px; }
.nv-profile-list small { color: var(--nv-muted); font-size: 11px; }
.nv-profile-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--nv-ink); color: white; font-size: 13px; font-weight: 850; }
.nv-panel-note { display: grid; grid-template-columns: 22px 1fr; gap: 8px; margin-top: 20px; padding: 13px; border-radius: 12px; background: #f1f3ee; color: var(--nv-muted); font-size: 11px; }
.nv-panel-note p { margin: 0; }
.nv-empty-mini { padding: 24px 8px; color: var(--nv-muted); font-size: 13px; text-align: center; }
.nv-empty-mini > span { font-size: 26px; }
.nv-dashboard { min-width: 0; }
.nv-dashboard-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; margin: 8px 0 25px; }
.nv-dashboard-header h1 { margin: 0 0 7px; font-size: clamp(1.75rem, 3vw, 2.55rem); letter-spacing: -.035em; }
.nv-dashboard-header p { margin: 0; color: var(--nv-muted); }
.nv-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }
.nv-stat-grid article { padding: 19px 20px; border: 1px solid var(--nv-line); border-radius: 16px; background: var(--nv-card); }
.nv-stat-grid span, .nv-stat-grid small { display: block; color: var(--nv-muted); font-size: 12px; }
.nv-stat-grid strong { display: block; margin: 5px 0 2px; font-size: 1.8rem; }
.nv-profile-settings { margin-bottom: 18px; border: 1px solid var(--nv-line); border-radius: 16px; background: var(--nv-card); overflow: hidden; }
.nv-profile-settings__summary { width: 100%; min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 20px; border: 0; background: transparent; color: var(--nv-ink); cursor: pointer; text-align: left; }
.nv-profile-settings__summary strong, .nv-profile-settings__summary small { display: block; }
.nv-profile-settings__summary small { margin-top: 4px; color: var(--nv-muted); font-weight: 500; }
.nv-profile-settings__body { padding: 2px 20px 20px; }
.nv-inline-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nv-premium-panel {
    display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: 24px; margin-bottom: 18px; padding: 22px; border: 1px solid #b8d2c5;
    border-radius: 18px; background: linear-gradient(135deg, #f5fbf7, #fffdf6);
}
.nv-premium-panel h2 { margin: 5px 0 7px; font-size: 1.28rem; }
.nv-premium-panel p { margin: 0; color: var(--nv-muted); font-size: 12px; line-height: 1.6; }
.nv-premium-form { display: grid; gap: 10px; }
.nv-switch-row {
    min-height: 54px; display: grid; grid-template-columns: 1fr auto; align-items: center;
    gap: 16px; padding: 11px 13px; border: 1px solid var(--nv-line);
    border-radius: 12px; background: white;
}
.nv-switch-row strong, .nv-switch-row small { display: block; }
.nv-switch-row strong { font-size: 12px; }
.nv-switch-row small { margin-top: 3px; color: var(--nv-muted); font-size: 10px; }
.nv-switch-row input { width: 38px; height: 21px; accent-color: var(--nv-green); }
.nv-premium-form__fields { display: grid; grid-template-columns: 140px 1fr; gap: 10px; }
.nv-premium-form__fields label { display: grid; gap: 5px; color: var(--nv-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.nv-premium-form__fields input, .nv-premium-form__fields select {
    width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--nv-line);
    border-radius: 10px; background: white; color: var(--nv-ink); font: inherit; text-transform: none;
}
.nv-premium-lock { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; padding: 15px; border-radius: 14px; background: white; }
.nv-premium-lock > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--nv-green-soft); color: var(--nv-green); font-size: 20px; }
.nv-premium-lock strong, .nv-premium-lock small { display: block; }
.nv-premium-lock strong { color: var(--nv-ink); font-size: 12px; }
.nv-premium-lock small { margin-top: 3px; font-size: 10px; }
.nv-match-section { border: 1px solid var(--nv-line); border-radius: 20px; background: var(--nv-card); overflow: hidden; }
.nv-match-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px; border-bottom: 1px solid var(--nv-line); }
.nv-segmented { display: flex; align-items: center; padding: 4px; border-radius: 12px; background: #eef0eb; }
.nv-segmented button, .nv-segmented a { min-height: 38px; padding: 8px 12px; border: 0; border-radius: 9px; background: transparent; color: var(--nv-muted); cursor: pointer; text-decoration: none; font-size: 11px; font-weight: 650; }
.nv-segmented button.is-active { background: white; color: var(--nv-ink); box-shadow: 0 1px 4px rgba(23,32,29,.1); }
.nv-segmented span { color: var(--nv-muted); }
.nv-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: 0; }
.nv-button--decision { border-color: #a8cdbd; background: var(--nv-green-soft); color: var(--nv-green); white-space: nowrap; }
.nv-search { width: min(300px, 37%); display: grid; grid-template-columns: 24px 1fr; align-items: center; padding-left: 10px; border: 1px solid var(--nv-line); border-radius: 12px; background: white; color: var(--nv-muted); }
.nv-toolbar-actions .nv-search { width: min(260px, 45vw); }
.nv-search input { min-height: 42px; padding-left: 0; border: 0; background: transparent; }
.nv-search input:focus { box-shadow: none; }
.nv-match-list { display: grid; }
.nv-decision-progress { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px; border-bottom: 1px solid var(--nv-line); background: var(--nv-green-soft); color: var(--nv-green); font-size: 11px; }
.nv-decision-progress[hidden] { display: none; }
.nv-decision-progress button { border: 0; background: transparent; color: var(--nv-green); cursor: pointer; font: inherit; font-weight: 650; }
.nv-match-list.is-decision-mode { padding: 18px; background: #f4f3ed; }
.nv-match-list.is-decision-mode .nv-match-card { border: 1px solid var(--nv-line); border-radius: 18px; background: white; box-shadow: 0 14px 35px rgba(23,32,29,.08); overflow: hidden; }
.nv-match-list.is-decision-mode .nv-match-card__summary { cursor: default; }
.nv-match-card { border-bottom: 1px solid var(--nv-line); }
.nv-match-card:last-child { border-bottom: 0; }
.nv-match-card__summary { width: 100%; display: grid; grid-template-columns: 62px minmax(250px, 1fr) minmax(160px, .45fr) 28px; align-items: center; gap: 17px; padding: 18px 20px; border: 0; background: transparent; color: var(--nv-ink); cursor: pointer; text-align: left; }
.nv-match-card__summary:hover { background: #fafaf6; }
.nv-score { width: 58px; height: 58px; display: grid; place-content: center; border: 5px solid #d9ddd7; border-radius: 50%; font-weight: 700; line-height: 1; text-align: center; }
.nv-score small { font-size: 9px; }
.nv-score--great { border-color: #66a88e; color: var(--nv-green); }
.nv-score--good { border-color: #d9be6d; color: #806314; }
.nv-score--fair { border-color: #d6d7d1; color: var(--nv-muted); }
.nv-match-card__title > span { display: flex; gap: 5px; margin-bottom: 5px; }
.nv-match-card__title strong, .nv-match-card__title small { display: block; }
.nv-match-card__title strong { overflow: hidden; text-overflow: ellipsis; font-size: 15px; }
.nv-match-card__title small { margin-top: 5px; color: var(--nv-muted); font-size: 12px; font-weight: 500; }
.nv-match-card__meta { display: grid; gap: 4px; color: var(--nv-muted); font-size: 12px; }
.nv-chevron { font-size: 18px; transition: transform .2s ease; }
.nv-match-card__summary[aria-expanded="true"] .nv-chevron { transform: rotate(180deg); }
.nv-match-card__details { padding: 4px 20px 22px 99px; background: #fafaf6; }
.nv-detail-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 30px; padding-top: 18px; border-top: 1px solid var(--nv-line); }
.nv-detail-grid h3, .nv-description h3 { margin-bottom: 8px; font-size: 14px; letter-spacing: -.01em; }
.nv-detail-grid p, .nv-description p { color: #4f5a56; font-size: 13px; line-height: 1.65; }
.nv-detail-grid dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; }
.nv-detail-grid dl div { padding: 11px; border-radius: 11px; background: white; }
.nv-detail-grid dt { color: var(--nv-muted); font-size: 10px; text-transform: uppercase; }
.nv-detail-grid dd { margin: 3px 0 0; font-size: 12px; font-weight: 600; }
.nv-pill--ai { background: #e8e3f6; color: #4b3d75; }
.nv-requirement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.nv-requirement-grid section { padding: 14px; border: 1px solid var(--nv-line); border-radius: 13px; background: white; }
.nv-requirement-grid section.is-uncertain { grid-column: 1 / -1; }
.nv-requirement-grid h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 9px; font-size: 12px; }
.nv-requirement-grid h3 span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; font-size: 10px; }
.nv-requirement-grid .is-match h3 { color: #176044; }
.nv-requirement-grid .is-match h3 span { background: #dff3e9; }
.nv-requirement-grid .is-missing h3 { color: #9a4c35; }
.nv-requirement-grid .is-missing h3 span { background: #f8e7df; }
.nv-requirement-grid .is-uncertain h3 { color: #725d22; }
.nv-requirement-grid .is-uncertain h3 span { background: #f6edcf; }
.nv-requirement-grid ul { display: grid; gap: 7px; margin: 0; padding-left: 17px; color: #45534d; font-size: 11px; line-height: 1.5; }
.nv-requirement-grid p { margin: 0; color: var(--nv-muted); font-size: 11px; }
.nv-description { margin-top: 17px; padding: 15px; border: 1px solid var(--nv-line); border-radius: 13px; background: white; }
.nv-description > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.nv-description > div span { color: var(--nv-muted); font-size: 9px; }
.nv-description p { max-height: 320px; margin-bottom: 0; white-space: pre-line; overflow-y: auto; }
.nv-decision-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.nv-decision-button { min-height: 48px; border: 1px solid; border-radius: 13px; cursor: pointer; font: inherit; font-size: 12px; font-weight: 650; }
.nv-decision-button span { margin-right: 5px; font-size: 17px; vertical-align: -1px; }
.nv-decision-button.is-no { border-color: #e2b7aa; background: #fff8f5; color: #93462f; }
.nv-decision-button.is-yes { border-color: #8ab8a4; background: #eff9f3; color: #176044; }
.nv-decision-button:disabled { cursor: wait; opacity: .55; }
.nv-card-actions--secondary { padding-top: 13px; border-top: 1px solid var(--nv-line); }
.nv-card-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.nv-empty-state { padding: 70px 24px; text-align: center; }
.nv-empty-state > span { display: block; margin-bottom: 18px; color: var(--nv-green); font-size: 42px; }
.nv-empty-state h2 { margin-bottom: 8px; font-size: 1.6rem; }
.nv-empty-state p { max-width: 460px; margin: 0 auto 22px; color: var(--nv-muted); }

/* Live dashboard · 3 Beslutsläget */
.nv-live-decision-page .nv-main { padding-bottom: 76px; }
.nv-live-decision { padding-top: 22px; }
.nv-live-profilebar {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    margin-bottom: 12px; padding: 8px 10px 8px 14px; border: 1px solid var(--nv-line);
    border-radius: 14px; background: rgba(255,255,255,.82);
}
.nv-live-profilebar > div { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.nv-live-profilebar .nv-eyebrow { margin-right: 4px; }
.nv-live-profilebar a {
    display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px;
    border-radius: 10px; color: var(--nv-muted); text-decoration: none;
    font-size: 11px; font-weight: 650;
}
.nv-live-profilebar a > span {
    width: 25px; height: 25px; display: grid; place-items: center;
    border-radius: 8px; background: #edf1ed; color: var(--nv-green);
}
.nv-live-profilebar a.is-active { background: var(--nv-green-soft); color: var(--nv-ink); }
.nv-live-profilebar a.is-active > span { background: var(--nv-green); color: white; }
.nv-live-profilebar a small { color: #9a4c35; font-size: 8px; }
.nv-live-profilebar .nv-button { min-height: 36px; padding: 7px 11px; font-size: 10px; }
.nv-live-hero { padding: 23px 25px; }
.nv-live-hero h1 { font-size: clamp(1.8rem, 3vw, 2.55rem); }
.nv-live-hero p { max-width: 610px; font-size: 12px; }
.nv-live-hero > div:last-child { gap: 17px; }
.nv-live-hero > div:last-child strong { font-size: 24px; }
.nv-live-premium-state { color: #fff !important; }
.nv-live-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.nv-composed-profile {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(230px, 1.1fr) minmax(310px, 1.4fr) auto;
    align-items: center;
    gap: 18px;
    padding: 15px 17px;
    border: 1px solid #b8d2c5;
    border-radius: 16px;
    background: linear-gradient(115deg, #f3faf6, #fffdf7);
}
.nv-composed-profile__main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nv-composed-profile__icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--nv-green);
    color: white;
    font-size: 11px;
    font-weight: 700;
}
.nv-composed-profile h2 { margin: 2px 0 3px; font-size: 16px; }
.nv-composed-profile p { margin: 0; color: var(--nv-muted); font-size: 10px; overflow-wrap: anywhere; }
.nv-composed-profile__formula { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.nv-composed-profile__formula span, .nv-composed-profile__formula strong {
    padding: 6px 8px;
    border-radius: 8px;
    background: white;
    color: var(--nv-green);
    font-size: 9px;
    font-weight: 650;
}
.nv-composed-profile__formula strong { background: var(--nv-green-soft); color: var(--nv-ink); }
.nv-composed-profile__formula b { color: var(--nv-muted); font-size: 11px; }
.nv-dialog__intro { margin: 0; padding: 0 !important; color: var(--nv-muted); font-size: 12px; line-height: 1.55; }
.nv-live-tool-card {
    border: 1px solid var(--nv-line); border-radius: 14px; background: var(--nv-card);
    overflow: hidden;
}
.nv-live-tool-card--premium { border-color: #b8d2c5; background: linear-gradient(135deg, #f5fbf7, #fffdf6); }
.nv-live-tool-card > summary {
    min-height: 58px; display: flex; align-items: center; justify-content: space-between;
    gap: 14px; padding: 12px 15px; cursor: pointer; list-style: none;
}
.nv-live-tool-card > summary::-webkit-details-marker { display: none; }
.nv-live-tool-card > summary strong, .nv-live-tool-card > summary small { display: block; }
.nv-live-tool-card > summary strong { font-size: 11px; }
.nv-live-tool-card > summary small { margin-top: 3px; color: var(--nv-muted); font-size: 9px; }
.nv-live-tool-card > summary > span:last-child { color: var(--nv-green); font-size: 9px; font-weight: 650; }
.nv-live-tool-card[open] > summary { border-bottom: 1px solid var(--nv-line); }
.nv-live-tool-card > form, .nv-live-tool-card > .nv-premium-lock { margin: 0; padding: 14px; }
.nv-live-tool-card .nv-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nv-live-tool-card .nv-switch-row { min-height: 49px; }
.nv-premium-benefits { display: grid; gap: 7px; padding: 12px 14px 0; }
.nv-premium-benefits > div { display: grid; grid-template-columns: 27px minmax(0, 1fr); align-items: start; gap: 9px; }
.nv-premium-benefits > div > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #e4f1e9; color: var(--nv-green); font-size: 11px; font-weight: 700; }
.nv-premium-benefits p { margin: 0; }
.nv-premium-benefits strong, .nv-premium-benefits small { display: block; }
.nv-premium-benefits strong { font-size: 10px; }
.nv-premium-benefits small { margin-top: 2px; color: var(--nv-muted); font-size: 8.5px; line-height: 1.45; }
.nv-premium-profiles { margin: 12px 14px 0; padding: 12px; border: 1px solid #cbded4; border-radius: 12px; background: rgba(255,255,255,.72); }
.nv-premium-profiles > div:first-child strong, .nv-premium-profiles > div:first-child small { display: block; }
.nv-premium-profiles > div:first-child strong { font-size: 10px; }
.nv-premium-profiles > div:first-child small { margin-top: 2px; color: var(--nv-muted); font-size: 8.5px; line-height: 1.45; }
.nv-premium-profiles nav { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.nv-premium-profiles nav a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid var(--nv-line); border-radius: 999px; background: white; color: var(--nv-ink); text-decoration: none; font-size: 9px; }
.nv-premium-profiles nav a > span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 7px; background: var(--nv-green-soft); color: var(--nv-green); font-weight: 700; }
.nv-premium-profiles nav a.is-active { border-color: var(--nv-green); background: var(--nv-green-soft); color: var(--nv-green); }
.nv-premium-profiles__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.nv-premium-profiles__actions > small { color: var(--nv-muted); font-size: 8.5px; }
.nv-premium-profiles + .nv-premium-form, .nv-premium-profiles + .nv-premium-lock { margin-top: 0; }
.nv-premium-promo {
    position: fixed; right: 24px; bottom: 24px; z-index: 80; width: min(390px, calc(100vw - 32px));
    display: grid; grid-template-columns: 102px minmax(0, 1fr); gap: 15px; padding: 16px;
    border: 1px solid #afccbd; border-radius: 20px; background: rgba(255,253,247,.97);
    color: var(--nv-ink); box-shadow: 0 22px 60px rgba(20,48,36,.22); backdrop-filter: blur(12px);
}
.nv-premium-promo[hidden] { display: none; }
.nv-premium-promo__close { position: absolute; top: 8px; right: 9px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: transparent; color: var(--nv-muted); cursor: pointer; font-size: 18px; }
.nv-premium-promo__close:hover { background: var(--nv-green-soft); color: var(--nv-green); }
.nv-premium-promo__visual { position: relative; min-height: 142px; display: grid; place-items: center; overflow: hidden; border-radius: 15px; background: radial-gradient(circle at 25% 20%, #dff279, transparent 26%), linear-gradient(145deg, #183b2c, #3a745b); }
.nv-premium-promo__visual::before, .nv-premium-promo__visual::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; }
.nv-premium-promo__visual::before { width: 94px; height: 94px; }
.nv-premium-promo__visual::after { width: 66px; height: 66px; }
.nv-premium-promo__visual > span { position: relative; z-index: 2; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 17px; background: #f7fff9; color: var(--nv-green); font-size: 17px; font-weight: 750; box-shadow: 0 8px 24px rgba(9,30,21,.28); }
.nv-premium-promo__visual > i { position: absolute; z-index: 1; width: 8px; height: 8px; border-radius: 50%; background: var(--nv-lime); box-shadow: 0 0 0 5px rgba(222,241,115,.13); }
.nv-premium-promo__visual > i:nth-of-type(1) { top: 20px; right: 20px; }
.nv-premium-promo__visual > i:nth-of-type(2) { bottom: 21px; left: 18px; }
.nv-premium-promo__visual > i:nth-of-type(3) { bottom: 30px; right: 15px; }
.nv-premium-promo > div:last-child { padding-right: 12px; }
.nv-premium-promo > div:last-child > strong { display: block; margin: 4px 0 5px; font-size: 17px; }
.nv-premium-promo p { margin: 0; color: var(--nv-muted); font-size: 10px; line-height: 1.5; }
.nv-premium-promo .nv-premium-promo__price { margin-top: 7px; color: var(--nv-ink); }
.nv-premium-promo__price strong { font-size: 12px; }
.nv-premium-promo .nv-button { margin-top: 10px; width: 100%; min-height: 36px; padding: 8px 10px; font-size: 9px; }
.nv-live-decision__layout { grid-template-columns: 330px minmax(0, 1fr); align-items: start; }
.nv-live-queue { position: sticky; top: 92px; max-height: calc(100vh - 110px); display: flex; flex-direction: column; }
.nv-live-queue > header { flex: 0 0 auto; padding: 15px 16px 10px; }
.nv-live-queue > label { flex: 0 0 auto; margin-bottom: 8px; padding: 8px 10px; }
.nv-live-filters {
    flex: 0 0 auto; display: flex; gap: 3px; margin: 0 10px 8px; padding: 3px;
    border-radius: 9px; background: #eef0eb; overflow-x: auto;
}
.nv-live-filters button, .nv-live-filters a {
    flex: 0 0 auto; padding: 6px 7px; border: 0; border-radius: 7px;
    background: transparent; color: var(--nv-muted); cursor: pointer;
    text-decoration: none; font: inherit; font-size: 8px; font-weight: 650;
}
.nv-live-filters .is-active { background: white; color: var(--nv-green); box-shadow: 0 1px 4px rgba(23,32,29,.08); }
.nv-live-swipe-hint { display: none; }
.nv-live-queue__rail { position: relative; min-height: 0; }
.nv-live-queue__items { min-height: 0; overflow-y: auto; }
.nv-live-queue__next { display: none; }
.nv-live-queue__items > button {
    width: calc(100% - 14px); display: grid; grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center; gap: 9px; margin: 4px 7px; padding: 9px; border: 0;
    border-radius: 11px; background: transparent; color: var(--nv-ink); cursor: pointer; text-align: left;
}
.nv-live-queue__items > button[hidden] { display: none; }
.nv-live-queue__items > button:hover { background: #f5f6f2; }
.nv-live-queue__items > button.is-active { box-shadow: inset 3px 0 var(--nv-green); background: var(--nv-green-soft); }
.nv-live-queue__items > button .dp-score { width: 39px; height: 39px; border: 0; border-radius: 10px; background: #edf1ed; color: var(--nv-green); font-size: 10px; }
.nv-live-queue__items > button.is-active .dp-score { background: var(--nv-green); color: white; }
.nv-live-queue__items > button span:nth-child(2) { min-width: 0; }
.nv-live-queue__items > button strong, .nv-live-queue__items > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nv-live-queue__items > button strong { font-size: 10px; }
.nv-live-queue__items > button small { color: var(--nv-muted); font-size: 7.5px; }
.nv-live-queue__content { display: grid; gap: 3px; }
.nv-live-queue__dates { display: flex; flex-wrap: wrap; gap: 3px 10px; }
.nv-live-queue__dates small { margin: 0; }
.nv-live-queue__dates b { color: var(--nv-ink); font-weight: 650; }
.nv-live-details { min-width: 0; }
.nv-live-detail { min-height: 620px; padding: 22px; }
.nv-live-detail[hidden] { display: none; }
.nv-live-filter-empty {
    min-height: 360px;
    padding: 64px 28px;
    border: 1px dashed var(--nv-line);
    border-radius: 20px;
    background: var(--nv-card);
    text-align: center;
}
.nv-live-filter-empty[hidden] { display: none; }
.nv-live-filter-empty > span {
    display: block;
    margin-bottom: 14px;
    color: var(--nv-green);
    font-size: 36px;
}
.nv-live-filter-empty h2 { margin-bottom: 8px; font-size: 1.25rem; }
.nv-live-filter-empty p {
    max-width: 420px;
    margin: 0 auto 20px;
    color: var(--nv-muted);
    font-size: 12px;
}
.nv-live-detail__top h2, .nv-live-detail .dp-detail__top h2 { font-size: clamp(1.35rem, 2.2vw, 1.9rem); }
.nv-live-detail .dp-detail__top p { margin: 0; font-size: 11px; }
.nv-live-detail .dp-detail__top .dp-score { width: 62px; height: 62px; font-size: 17px; }
.nv-live-detail .dp-tags { margin-block: 14px; }
.nv-live-detail .dp-tags li { font-size: 9px; }
.nv-live-detail .dp-reason { margin: 14px 0; padding: 14px; }
.nv-live-detail .dp-reason h3 { font-size: 12px; }
.nv-live-detail .dp-reason p { max-height: 125px; margin: 4px 0 0; overflow-y: auto; font-size: 10.5px; line-height: 1.55; }
.nv-ai-analysis-list {
    display: grid;
    gap: 6px;
    max-height: 150px;
    margin: 7px 0 0;
    padding-left: 17px;
    overflow-y: auto;
    color: #27443a;
    font-size: 10.5px;
    line-height: 1.5;
}
.nv-live-check-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nv-live-check-grid section { min-width: 0; padding: 13px; }
.nv-live-check-grid h3 { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 10px; }
.nv-live-check-grid h3 span { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; }
.nv-live-check-grid .is-match h3 { color: #176044; }
.nv-live-check-grid .is-match h3 span { background: #dff3e9; }
.nv-live-check-grid .is-uncertain h3 { color: #725d22; }
.nv-live-check-grid .is-uncertain h3 span { background: #f6edcf; }
.nv-live-check-grid .is-missing h3 { color: #9a4c35; }
.nv-live-check-grid .is-missing h3 span { background: #f8e7df; }
.nv-live-check-grid ul { display: grid; gap: 6px; margin: 0; padding-left: 15px; color: var(--nv-muted); font-size: 8.5px; line-height: 1.45; }
.nv-live-check-grid p { margin: 0; color: var(--nv-muted); font-size: 9px; }
.nv-live-source { margin-top: 14px; padding: 0; border: 1px solid var(--nv-line); border-radius: 12px; }
.nv-live-source summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; cursor: pointer; list-style: none; }
.nv-live-source summary::-webkit-details-marker { display: none; }
.nv-live-source summary strong, .nv-live-source summary small { display: block; }
.nv-live-source summary strong { font-size: 10px; }
.nv-live-source summary small, .nv-live-source summary > span:last-child { margin-top: 2px; color: var(--nv-muted); font-size: 8px; }
.nv-live-source p { max-height: 250px; margin: 0; padding: 0 14px 14px; overflow-y: auto; white-space: pre-line; font-size: 9.5px; line-height: 1.55; }
.nv-live-source-missing { display: grid; gap: 3px; margin-top: 14px; padding: 11px 14px; border: 1px solid #eadfc8; border-radius: 12px; background: #fffaf0; }
.nv-live-source-missing strong { color: #6f521b; font-size: 10px; }
.nv-live-source-missing span { color: #746a58; font-size: 8.5px; line-height: 1.5; }
.dp-actions.nv-live-actions { grid-template-columns: auto auto minmax(180px, 1fr); margin-top: 15px; }
.nv-live-actions .nv-decision-button, .nv-live-actions .nv-button { min-height: 45px; font-size: 10px; font-weight: 650; }
.nv-live-actions .nv-assignment-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-color: var(--nv-green);
    background: var(--nv-green);
    color: #fff;
    box-shadow: 0 7px 20px rgba(23, 95, 72, .18);
    text-decoration: none;
}
.nv-live-actions .nv-assignment-link:hover { background: var(--nv-green-dark); }
.nv-live-actions .nv-apply-button {
    grid-column: 1 / -1;
    border-color: #b8cec4;
    background: #edf5f1;
    color: var(--nv-green-dark);
    box-shadow: none;
}
.nv-live-actions .nv-apply-button:hover { background: #deece5; }
.nv-live-keyboard-hint { margin: 8px 0 0; color: var(--nv-muted); font-size: 8px; text-align: center; }

.nv-dialog { width: min(calc(100% - 32px), 560px); max-height: min(90vh, 760px); padding: 0; border: 1px solid var(--nv-line); border-radius: 22px; background: var(--nv-card); color: var(--nv-ink); box-shadow: var(--nv-shadow-lg); overflow: auto; }
.nv-dialog::backdrop { background: rgba(16, 25, 21, .52); backdrop-filter: blur(4px); }
.nv-dialog > .nv-form, .nv-dialog > div:not(.nv-dialog__header), .nv-dialog > p { padding-inline: 28px; }
.nv-dialog > .nv-form { padding-block: 28px; }
.nv-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.nv-dialog__header h2 { margin: 0; font-size: 1.65rem; }
.nv-dialog__actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 9px; }
.nv-dialog--danger { padding: 28px; }
.nv-dialog--danger > p { padding: 0; color: var(--nv-muted); }
.nv-progress { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(247,245,239,.9); backdrop-filter: blur(8px); }
.nv-progress[hidden] { display: none; }
.nv-progress > div { width: min(100%, 430px); padding: 30px; border: 1px solid var(--nv-line); border-radius: 22px; background: white; text-align: center; box-shadow: var(--nv-shadow-lg); }
.nv-spinner { width: 48px; height: 48px; display: block; margin: 0 auto 18px; border: 5px solid #dfe6e1; border-top-color: var(--nv-green); border-radius: 50%; animation: nv-spin .8s linear infinite; }
.nv-progress p { color: var(--nv-muted); }
.nv-progress__track { width: 100%; height: 9px; border: 0; border-radius: 999px; background: #e8ebe7; overflow: hidden; appearance: none; }
.nv-progress__track::-webkit-progress-bar { border-radius: 999px; background: #e8ebe7; }
.nv-progress__track::-webkit-progress-value { border-radius: 999px; background: var(--nv-green); transition: width .25s ease; }
.nv-progress__track::-moz-progress-bar { border-radius: 999px; background: var(--nv-green); }
.nv-toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 1100; display: grid; gap: 8px; }
.nv-toast { max-width: 340px; padding: 12px 15px; border-radius: 12px; background: var(--nv-ink); color: white; box-shadow: var(--nv-shadow-lg); font-size: 13px; }

.nv-settings-layout { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: 50px; justify-content: center; padding-block: 58px 90px; }
.nv-settings-nav { position: sticky; top: 125px; align-self: start; }
.nv-settings-nav h1 { font-size: 2.5rem; }
.nv-settings-nav nav { display: grid; gap: 4px; }
.nv-settings-nav a { padding: 10px 12px; border-radius: 10px; color: var(--nv-muted); text-decoration: none; font-size: 13px; font-weight: 700; }
.nv-settings-nav a:hover, .nv-settings-nav a.is-active { background: var(--nv-green-soft); color: var(--nv-green); }
.nv-settings-content { display: grid; gap: 18px; }
.nv-settings-card { scroll-margin-top: 105px; }
.nv-settings-card--danger { border-color: #ecc1b8; background: #fffaf7; }
.nv-pricing { padding-block: 75px 100px; }
.nv-pricing .nv-section-heading { margin-inline: auto; text-align: center; }
.nv-pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; gap: 18px; }
.nv-price-card { padding: 32px; border: 1px solid var(--nv-line); border-radius: 24px; background: var(--nv-card); }
.nv-price-card--featured { background: var(--nv-ink); color: white; box-shadow: var(--nv-shadow-lg); }
.nv-price-card.is-current { outline: 3px solid var(--nv-lime); outline-offset: 3px; }
.nv-price-card h2 { margin: 24px 0 10px; }
.nv-price { display: flex; align-items: baseline; gap: 8px; }
.nv-price strong { font-size: 2rem; }
.nv-price span, .nv-price-card--featured .nv-check-list li { color: #bec8c3; }
.nv-price-card .nv-check-list { margin-bottom: 28px; }
.nv-billing-add-form { display: grid; gap: 10px; }
.nv-billing-add-form label { display: grid; gap: 6px; color: #e7ece9; font-size: 11px; font-weight: 650; }
.nv-billing-add-form select { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; background: #fbfcfa; color: var(--nv-ink); font: inherit; }
.nv-billing-manage-form { margin-top: 9px; }
.nv-price-card--featured .nv-billing-manage-form .nv-button--quiet { border-color: rgba(255,255,255,.26); color: white; }
.nv-policy { max-width: 820px; padding-block: 75px 100px; }
.nv-policy h1 { margin-bottom: 20px; font-size: clamp(2.5rem, 5vw, 4.4rem); }
.nv-policy-meta { margin: 28px 0; color: var(--nv-muted); font-size: 13px; font-weight: 700; }
.nv-policy section { padding-block: 26px; border-top: 1px solid var(--nv-line); }
.nv-policy section h2 { font-size: 1.35rem; }
.nv-policy section p { margin: 0; color: var(--nv-muted); }

.nv-company { padding-block: 48px 90px; }
.nv-company-hero {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 34px;
    margin-bottom: 28px; padding: 34px; border-radius: 26px; color: white;
    background:
        radial-gradient(circle at 85% 20%, rgba(200, 231, 89, .18), transparent 30%),
        linear-gradient(135deg, #15231e, #1c4638);
    box-shadow: var(--nv-shadow-lg);
}
.nv-company-hero h1 { margin: 3px 0 9px; color: white; font-size: clamp(2.3rem, 5vw, 4.3rem); }
.nv-company-hero p { max-width: 690px; margin: 0; color: #c7d2cd; line-height: 1.65; }
.nv-company-hero p strong { color: white; }
.nv-company-hero .nv-eyebrow { color: var(--nv-lime); }
.nv-company-hero__actions { display: flex; flex-wrap: wrap; flex: 0 0 auto; gap: 9px; }
.nv-company-hero .nv-button--secondary { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: white; }
.nv-company-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 24px; }
.nv-company-metrics article { padding: 19px 20px; border: 1px solid var(--nv-line); border-radius: 16px; background: white; }
.nv-company-metrics article.is-attention { border-color: #e0bf68; background: #fffbee; }
.nv-company-metrics span, .nv-company-metrics small { display: block; color: var(--nv-muted); font-size: 11px; }
.nv-company-metrics strong { display: block; margin: 5px 0 2px; font-size: 1.75rem; }
.nv-company-grid { display: grid; grid-template-columns: minmax(0, 1fr) 305px; gap: 22px; align-items: start; }
.nv-company-roster { min-width: 0; border: 1px solid var(--nv-line); border-radius: 22px; background: white; overflow: hidden; }
.nv-company-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 22px; border-bottom: 1px solid var(--nv-line); }
.nv-company-section-heading h2 { margin: 2px 0 0; font-size: 1.55rem; }
.nv-company-section-heading .nv-search { width: min(280px, 45%); }
.nv-consultant-list { display: grid; }
.nv-consultant-card {
    display: grid; grid-template-columns: minmax(190px, 1fr) minmax(165px, .7fr) 95px auto;
    align-items: center; gap: 16px; padding: 17px 20px; border-bottom: 1px solid var(--nv-line);
    scroll-margin-top: 100px;
}
.nv-consultant-card:last-child { border-bottom: 0; }
.nv-consultant-card[hidden] { display: none; }
.nv-consultant-card__identity { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 11px; min-width: 0; }
.nv-consultant-card__identity h3, .nv-consultant-card__identity p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nv-consultant-card__identity h3 { margin: 0 0 3px; font-size: 14px; }
.nv-consultant-card__identity p { margin: 0; color: var(--nv-muted); font-size: 11px; }
.nv-consultant-card__status { display: grid; grid-template-columns: 9px 1fr; align-items: center; gap: 9px; }
.nv-consultant-card__status strong, .nv-consultant-card__status small { display: block; font-size: 11px; }
.nv-consultant-card__status small { margin-top: 2px; color: var(--nv-muted); }
.nv-status-dot { width: 9px; height: 9px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(84,142,116,.12); }
.nv-status-dot.is-active { background: #548e74; }
.nv-status-dot.is-paused { background: #d0a847; box-shadow: 0 0 0 4px rgba(208,168,71,.13); }
.nv-consultant-card__matches { text-align: center; }
.nv-consultant-card__matches strong, .nv-consultant-card__matches small { display: block; }
.nv-consultant-card__matches strong { font-size: 1.25rem; }
.nv-consultant-card__matches small { color: var(--nv-muted); font-size: 10px; }
.nv-consultant-card__actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.nv-consultant-card__settings { grid-column: 1 / -1; margin: 2px -3px -3px; padding: 18px; border-radius: 14px; background: #f4f5f0; }
.nv-company-aside { position: sticky; top: 105px; display: grid; gap: 15px; }
.nv-company-tip, .nv-company-settings { padding: 22px; border: 1px solid var(--nv-line); border-radius: 20px; background: white; }
.nv-company-tip { background: var(--nv-green-soft); }
.nv-company-tip h2 { margin: 7px 0 20px; font-size: 1.35rem; }
.nv-company-tip ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.nv-company-tip li { display: grid; grid-template-columns: 27px 1fr; gap: 10px; align-items: start; }
.nv-company-tip li > span { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: var(--nv-green); color: white; font-size: 11px; font-weight: 850; }
.nv-company-tip p { margin: 2px 0 0; color: #486158; font-size: 12px; line-height: 1.55; }
.nv-company-settings .nv-form { margin-top: 15px; }
.nv-dialog--company { width: min(calc(100% - 32px), 1080px); }
.nv-import-capacity { display: flex; align-items: baseline; gap: 7px; padding: 13px 15px; border-radius: 12px; background: var(--nv-green-soft); }
.nv-import-capacity strong { color: var(--nv-green); font-size: 1.65rem; }
.nv-import-capacity span { color: var(--nv-muted); font-size: 12px; font-weight: 700; }
.nv-manual-metadata { display: grid; gap: 11px; padding: 15px; border: 1px solid var(--nv-line); border-radius: 14px; background: #f8faf7; }
.nv-manual-metadata__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.nv-manual-metadata__heading strong, .nv-manual-metadata__heading small { display: block; }
.nv-manual-metadata__heading strong { font-size: 13px; }
.nv-manual-metadata__heading small { margin-top: 3px; color: var(--nv-muted); font-size: 10px; }
.nv-manual-metadata__heading > span { padding: 5px 8px; border-radius: 999px; background: var(--nv-green-soft); color: var(--nv-green); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.nv-manual-metadata__table { max-width: 100%; overflow-x: auto; border: 1px solid var(--nv-line); border-radius: 10px; background: white; }
.nv-manual-metadata__table[hidden] { display: none; }
.nv-manual-metadata table { width: 100%; min-width: 940px; border-collapse: collapse; }
.nv-manual-metadata th { padding: 8px 9px; background: #eef3ef; color: #52635b; font-size: 9px; text-align: left; text-transform: uppercase; letter-spacing: .03em; }
.nv-manual-metadata td { padding: 8px 5px; border-top: 1px solid var(--nv-line); vertical-align: top; }
.nv-manual-metadata td:first-child { width: 145px; padding-left: 9px; }
.nv-manual-metadata td:first-child strong { display: block; max-width: 145px; padding-top: 10px; overflow-wrap: anywhere; font-size: 10px; }
.nv-manual-metadata input { min-width: 135px; width: 100%; padding: 10px; border: 1px solid #ccd5d0; border-radius: 8px; background: white; font: inherit; font-size: 11px; }
.nv-manual-metadata input:focus { outline: 2px solid rgba(44, 99, 75, .2); border-color: var(--nv-green); }
.nv-manual-metadata__note { color: var(--nv-muted); font-size: 10px; line-height: 1.45; }
.nv-import-format { padding: 14px; border: 1px solid var(--nv-line); border-radius: 12px; }
.nv-import-format summary { cursor: pointer; font-size: 12px; font-weight: 750; }
.nv-import-format code { display: block; margin-top: 12px; padding: 12px; border-radius: 9px; background: #1b2722; color: #dfe8e3; font-size: 10px; line-height: 1.7; overflow-x: auto; }
.nv-security-note { display: grid; grid-template-columns: 22px 1fr; gap: 9px; margin: 0; padding: 13px; border-radius: 12px; background: #f2f3ee; color: var(--nv-muted); font-size: 11px; line-height: 1.5; }

@keyframes nv-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 1040px) {
    .nv-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr); gap: 45px; }
    .nv-app-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 18px; }
    .nv-match-card__summary { grid-template-columns: 56px minmax(210px, 1fr) 28px; }
    .nv-match-card__meta { display: none; }
    .nv-public-assignment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nv-catalog-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nv-catalog-filters label:first-child { grid-column: 1 / -1; }
    .nv-catalog-filters .nv-button { grid-column: 3; }
    .nv-company-grid { grid-template-columns: minmax(0, 1fr) 260px; }
    .nv-consultant-card { grid-template-columns: minmax(180px, 1fr) minmax(145px, .7fr) auto; }
    .nv-consultant-card__matches { display: none; }
}

@media (max-width: 900px) {
    .nv-company-grid { grid-template-columns: 1fr; }
    .nv-company-aside { position: static; grid-template-columns: repeat(2, 1fr); }
    .nv-company-metrics { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
    .nv-shell { width: min(calc(100% - 30px), var(--nv-shell)); }
    .nv-menu-button { display: block; }
    .nv-nav {
        position: absolute; inset: 68px 15px auto; display: none; align-items: stretch; padding: 10px;
        border: 1px solid var(--nv-line); border-radius: 16px; background: var(--nv-card); box-shadow: var(--nv-shadow-lg);
    }
    .nv-nav.is-open { display: grid; }
    .nv-nav > a { min-height: 44px; display: flex; align-items: center; }
    .nv-beta { display: none; }
    .nv-hero { padding-top: 66px; }
    .nv-hero__grid, .nv-auth__grid, .nv-feature-grid, .nv-about__grid, .nv-faq-layout, .nv-contact__grid { grid-template-columns: 1fr; }
    .nv-hero-card { max-width: 560px; transform: none; }
    .nv-proof__grid { grid-template-columns: repeat(2, 1fr); }
    .nv-proof__grid > div:nth-child(3) { border-top: 1px solid var(--nv-line); }
    .nv-proof__grid > div:nth-child(4) { border-top: 1px solid var(--nv-line); border-right: 1px solid var(--nv-line); }
    .nv-steps { grid-template-columns: 1fr; }
    .nv-steps article { min-height: auto; }
    .nv-steps h3 { margin-top: 42px; }
    .nv-auth__intro { position: static; padding-top: 0; }
    .nv-auth__intro h1 { font-size: 3.25rem; }
    .nv-auth__intro .nv-check-list { display: none; }
    .nv-back-link { margin-bottom: 30px; }
    .nv-auth { padding-top: 38px; }
    .nv-app-layout { grid-template-columns: 1fr; }
    .nv-profile-panel { position: static; }
    .nv-profile-list { display: flex; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
    .nv-profile-list a { min-width: 210px; }
    .nv-panel-note { display: none; }
    .nv-premium-panel { grid-template-columns: 1fr; }
    .nv-settings-layout { grid-template-columns: 1fr; gap: 24px; padding-top: 36px; }
    .nv-settings-nav { position: static; }
    .nv-settings-nav nav { display: flex; overflow-x: auto; }
    .nv-section-heading--split { align-items: flex-start; flex-direction: column; }
    .nv-catalog-hero__heading { align-items: stretch; flex-direction: column; }
    .nv-catalog-count { flex-basis: auto; width: min(100%, 220px); }
    .nv-assignment-detail-grid { grid-template-columns: 1fr; }
    .nv-detail-aside { position: static; }
    .nv-company-hero { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
    body { font-size: 15px; }
    .nv-shell { width: min(calc(100% - 24px), var(--nv-shell)); }
    .nv-header__inner { min-height: 66px; }
    .nv-brand__mark { width: 34px; height: 34px; border-radius: 10px; font-size: 17px; }
    .nv-nav { top: 60px; }
    .nv-hero { padding: 52px 0 48px; }
    .nv-hero__copy h1 { font-size: clamp(2.45rem, 13vw, 3.55rem); }
    .nv-actions { display: grid; }
    .nv-actions .nv-button { width: 100%; }
    .nv-trust-line { line-height: 1.7; }
    .nv-hero-card { padding: 12px; border-radius: 21px; }
    .nv-preview-card { padding: 19px; }
    .nv-preview-card h2 { font-size: 1.3rem; }
    .nv-proof__grid > div { padding: 18px 14px; }
    .nv-proof strong { font-size: 1.2rem; }
    .nv-proof span { font-size: 11px; }
    .nv-section { padding: 68px 0; }
    .nv-section-heading { margin-bottom: 30px; }
    .nv-feature-list article { grid-template-columns: 40px 1fr; padding: 17px; }
    .nv-feature-list article > span { width: 38px; height: 38px; }
    .nv-cta__inner, .nv-footer__inner { align-items: stretch; flex-direction: column; }
    .nv-cta .nv-button { width: 100%; }
    .nv-footer nav { display: grid; }
    .nv-auth__grid { gap: 28px; }
    .nv-auth__intro h1 { font-size: 2.7rem; }
    .nv-auth-card, .nv-settings-card { padding: 22px 18px; border-radius: 18px; }
    .nv-form-grid { grid-template-columns: 1fr; }
    .nv-dashboard-header { align-items: stretch; flex-direction: column; }
    .nv-dashboard-header .nv-button { width: 100%; }
    .nv-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .nv-stat-grid article { padding: 13px 10px; }
    .nv-stat-grid span { min-height: 34px; font-size: 10px; line-height: 1.3; }
    .nv-stat-grid strong { font-size: 1.45rem; }
    .nv-stat-grid small { display: none; }
    .nv-match-toolbar { align-items: stretch; flex-direction: column; overflow: hidden; }
    .nv-segmented { width: 100%; overflow-x: auto; }
    .nv-segmented button, .nv-segmented a { flex: 0 0 auto; }
    .nv-toolbar-actions { align-items: stretch; flex-direction: column; }
    .nv-toolbar-actions .nv-search { width: 100%; }
    .nv-search { width: 100%; }
    .nv-match-card__summary { grid-template-columns: 49px minmax(0, 1fr) 22px; gap: 11px; padding: 15px 13px; }
    .nv-score { width: 49px; height: 49px; border-width: 4px; font-size: 13px; }
    .nv-match-card__title strong { white-space: normal; }
    .nv-match-card__details { padding: 4px 14px 18px; }
    .nv-detail-grid { grid-template-columns: 1fr; gap: 15px; }
    .nv-detail-grid dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nv-premium-form__fields, .nv-requirement-grid, .nv-decision-actions { grid-template-columns: 1fr; }
    .nv-requirement-grid section.is-uncertain { grid-column: auto; }
    .nv-premium-lock { grid-template-columns: 38px 1fr; }
    .nv-premium-lock .nv-button { grid-column: 1 / -1; width: 100%; }
    .nv-match-list.is-decision-mode { padding: 9px; }
    .nv-description > div { align-items: flex-start; flex-direction: column; }
    .nv-card-actions { display: grid; }
    .nv-card-actions .nv-button { width: 100%; }
    .nv-dialog { width: calc(100% - 20px); max-height: 92vh; border-radius: 18px; }
    .nv-dialog > .nv-form { padding: 22px 17px; }
    .nv-dialog__actions { display: grid; grid-template-columns: 1fr; }
    .nv-dialog__actions .nv-button { width: 100%; }
    .nv-manual-metadata { padding: 13px; }
    .nv-manual-metadata__heading { align-items: flex-start; flex-direction: column; }
    .nv-manual-metadata__table { margin-inline: -4px; max-width: calc(100% + 8px); overflow: visible; border: 0; background: transparent; }
    .nv-manual-metadata table { min-width: 0; }
    .nv-manual-metadata thead { display: none; }
    .nv-manual-metadata tbody { display: grid; gap: 12px; }
    .nv-manual-metadata tr { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 12px; border: 1px solid var(--nv-line); border-radius: 12px; background: white; }
    .nv-manual-metadata td, .nv-manual-metadata td:first-child { display: grid; gap: 5px; width: auto; padding: 0; border: 0; }
    .nv-manual-metadata td::before { content: attr(data-label); color: #52635b; font-size: 9px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
    .nv-manual-metadata td:first-child { grid-column: 1 / -1; }
    .nv-manual-metadata td:first-child strong { max-width: none; padding: 0; font-size: 11px; }
    .nv-manual-metadata input { min-width: 0; }
    .nv-pricing { padding-top: 45px; }
    .nv-pricing-grid { grid-template-columns: 1fr; }
    .nv-policy { padding-top: 50px; }
    .nv-catalog-hero { padding-top: 48px; }
    .nv-catalog-hero h1 { font-size: 2.75rem; }
    .nv-catalog-filters { grid-template-columns: 1fr; padding: 12px; }
    .nv-catalog-filters label:first-child, .nv-catalog-filters .nv-button { grid-column: auto; }
    .nv-public-assignment-grid { grid-template-columns: 1fr; }
    .nv-public-assignment-card { padding: 20px; }
    .nv-public-assignment-card__top { align-items: flex-start; flex-direction: column; }
    .nv-pagination { flex-wrap: wrap; }
    .nv-detail-hero { padding-top: 32px; }
    .nv-detail-main { padding: 23px 18px; border-radius: 20px; }
    .nv-detail-main h1 { font-size: 2.55rem; }
    .nv-detail-meta { align-items: flex-start; flex-direction: column; }
    .nv-company { padding-top: 28px; }
    .nv-company-hero { padding: 24px 20px; border-radius: 21px; }
    .nv-company-hero h1 { font-size: 2.55rem; }
    .nv-company-hero__actions { display: grid; width: 100%; }
    .nv-company-hero__actions .nv-button { width: 100%; }
    .nv-company-metrics { gap: 7px; }
    .nv-company-metrics article { padding: 14px 12px; }
    .nv-company-metrics strong { font-size: 1.45rem; }
    .nv-company-metrics small { display: none; }
    .nv-company-section-heading { align-items: stretch; flex-direction: column; }
    .nv-company-section-heading .nv-search { width: 100%; }
    .nv-consultant-card { grid-template-columns: minmax(0, 1fr) auto; gap: 13px; padding: 16px 14px; }
    .nv-consultant-card__status { grid-column: 1; padding-left: 53px; }
    .nv-consultant-card__actions { grid-column: 2; grid-row: 1 / span 2; flex-direction: column-reverse; }
    .nv-consultant-card__actions .nv-button { padding-inline: 9px; font-size: 10px; }
    .nv-consultant-card__settings { grid-column: 1 / -1; }
    .nv-company-aside { grid-template-columns: 1fr; }
}

.nv-feedback-button {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 40;
    padding: 11px 15px;
    border: 1px solid #b8cbc1;
    border-radius: 999px;
    background: #fff;
    color: var(--nv-green);
    box-shadow: 0 8px 24px rgba(19, 61, 45, .16);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.nv-company-access-list { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.nv-company-access-list li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid #dfe5e1; border-radius: 10px; background: #fff; font-size: 13px; }
.nv-company-access-list strong { color: var(--nv-green); font-size: 12px; }
.nv-company-billing .nv-price-card { max-width: 680px; margin-inline: auto; }

@media (max-width: 620px) {
    .nv-feedback-button { right: 10px; bottom: 10px; padding: 10px 12px; font-size: 12px; }
    .nv-company-access-list li { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 900px) {
    .nv-live-tools { grid-template-columns: 1fr; }
    .nv-composed-profile { grid-template-columns: 1fr; align-items: start; }
    .nv-composed-profile .nv-button { width: 100%; }
    .nv-live-decision__layout { grid-template-columns: 1fr; }
    .dp-queue.nv-live-queue { position: static; max-height: none; border-color: #c7d2cc; box-shadow: 0 8px 22px rgba(26, 51, 41, .06); }
    .nv-live-swipe-hint { display: flex; align-items: center; justify-content: flex-end; gap: 7px; margin: -1px 18px 8px; color: var(--nv-green); font-size: 12px; font-weight: 700; }
    .nv-live-swipe-hint span:last-child { font-size: 19px; line-height: 1; animation: nv-swipe-hint 1.8s ease-in-out infinite; }
    .nv-live-queue__rail { overflow: hidden; }
    .nv-live-queue__rail::after { content: ""; position: absolute; inset: 0 0 0 auto; z-index: 1; width: 64px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.95)); }
    .nv-live-queue__items { display: flex; padding: 0 58px 12px 9px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 9px; scrollbar-width: thin; }
    .nv-live-queue__items > button { flex: 0 0 min(78vw, 300px); margin-inline: 2px; scroll-snap-align: start; }
    .nv-live-queue__next { position: absolute; z-index: 2; top: 50%; right: 10px; width: 42px; height: 42px; display: grid; place-items: center; transform: translateY(-50%); border: 1px solid #b8cbc1; border-radius: 50%; background: #fff; color: var(--nv-green); box-shadow: 0 5px 18px rgba(19,61,45,.18); cursor: pointer; font-size: 22px; }
    .nv-live-queue__next:active { transform: translateY(-50%) scale(.96); }
    .nv-live-check-grid { grid-template-columns: 1fr; }
}

@keyframes nv-swipe-hint { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }

@media (max-width: 620px) {
    .nv-live-decision { padding-top: 12px; }
    .nv-live-profilebar { align-items: stretch; flex-direction: column; }
    .nv-live-profilebar .nv-button { width: 100%; }
    .nv-live-hero { align-items: flex-start; padding: 19px; }
    .nv-live-hero > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; gap: 10px; }
    .nv-live-hero > div:last-child button { grid-column: 1 / -1; width: 100%; }
    .nv-live-tool-card .nv-form-grid { grid-template-columns: 1fr; }
    .nv-premium-profiles__actions { align-items: stretch; flex-direction: column; }
    .nv-premium-profiles__actions .nv-button { width: 100%; }
    .nv-premium-promo { right: 10px; bottom: 10px; grid-template-columns: 76px minmax(0, 1fr); width: calc(100vw - 20px); padding: 12px; border-radius: 16px; }
    .nv-premium-promo__visual { min-height: 122px; }
    .nv-premium-promo > div:last-child > strong { font-size: 15px; }
    .nv-live-filters { gap: 4px; margin-inline: 12px; padding: 4px; }
    .nv-live-filters button, .nv-live-filters a { min-height: 36px; display: grid; place-items: center; padding: 8px 10px; font-size: 12px; }
    .nv-live-queue > header { padding: 18px 18px 12px; }
    .nv-live-queue h2 { font-size: 20px; }
    .nv-live-queue > header span { font-size: 11px; }
    .nv-live-queue > label { margin-inline: 12px; padding: 12px; font-size: 15px; }
    .nv-live-queue > label input { font-size: 16px; }
    .nv-live-queue__items > button { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 11px; min-height: 82px; padding: 12px; border: 1px solid #dce4df; background: #fbfcfa; }
    .nv-live-queue__items > button .dp-score { width: 48px; height: 48px; font-size: 14px; }
    .nv-live-queue__items > button strong { font-size: 14px; line-height: 1.3; }
    .nv-live-queue__items > button small { font-size: 11px; line-height: 1.35; }
    .dp-detail.nv-live-detail { min-height: 0; padding: 18px; border: 2px solid #bac9c1; border-radius: 22px; box-shadow: 0 10px 28px rgba(26, 51, 41, .08); }
    .nv-live-detail .dp-detail__top { align-items: flex-start; }
    .nv-live-detail .dp-detail__top h2 { margin-top: 13px; font-size: 27px; line-height: 1.12; }
    .nv-live-detail .dp-detail__top p { font-size: 14px; line-height: 1.5; }
    .nv-live-detail .dp-detail__top em { font-size: 12px; }
    .nv-live-detail .dp-detail__top .dp-score { width: 62px; height: 62px; flex: 0 0 62px; font-size: 20px; }
    .nv-live-detail .dp-tags { gap: 7px; margin-block: 17px; padding-bottom: 17px; border-bottom: 2px solid #e0e6e2; }
    .nv-live-detail .dp-tags li { padding: 8px 11px; font-size: 12px; }
    .nv-live-detail .dp-reason { margin: 0 0 18px; padding: 18px; border: 1px solid #b9d4c6; border-radius: 16px; box-shadow: inset 4px 0 #73a78e; }
    .nv-live-detail .dp-reason h3 { font-size: 16px; }
    .nv-ai-analysis-list, .nv-live-detail .dp-reason p { max-height: none; font-size: 14px; line-height: 1.6; }
    .nv-ai-analysis-list { gap: 10px; padding-left: 21px; }
    .nv-live-check-grid { gap: 13px; padding-block: 18px; border-block: 2px solid #e0e6e2; }
    .dp-check-grid.nv-live-check-grid section { padding: 17px 17px 17px 19px; border-width: 1px 1px 1px 4px; background: #fff; box-shadow: 0 4px 14px rgba(26,51,41,.04); }
    .dp-check-grid.nv-live-check-grid section.is-match { border-left-color: #53a07b; }
    .dp-check-grid.nv-live-check-grid section.is-uncertain { border-left-color: #d2ae4e; }
    .dp-check-grid.nv-live-check-grid section.is-missing { border-left-color: #d4886d; }
    .nv-live-check-grid h3 { font-size: 15px; }
    .nv-live-check-grid h3 span { width: 24px; height: 24px; }
    .dp-check-grid.nv-live-check-grid ul, .dp-check-grid.nv-live-check-grid p { gap: 9px; padding-left: 19px; font-size: 13.5px; line-height: 1.55; }
    .dp-check-grid.nv-live-check-grid p { padding-left: 0; }
    .nv-live-source, .nv-live-source-missing { margin-top: 18px; border-width: 2px; border-color: #d7dfda; background: #fafbf9; }
    .nv-live-source summary { align-items: flex-start; flex-direction: column; padding: 16px; }
    .nv-live-source summary strong, .nv-live-source-missing strong { font-size: 14px; }
    .nv-live-source summary small, .nv-live-source summary > span:last-child, .nv-live-source-missing span { font-size: 12px; line-height: 1.45; }
    .nv-live-source p { padding: 0 16px 16px; font-size: 14px; line-height: 1.65; }
    .dp-actions.nv-live-actions { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 2px solid #d9e1dc; }
    .nv-live-actions .nv-decision-button, .nv-live-actions .nv-button { min-height: 50px; font-size: 14px; }
    .nv-live-keyboard-hint { display: none; }
}
