/* Simplified FLOWFRAME client and public surfaces; print documents keep their own layout. */
@layer nx-client-migration {
    body.nx-portal .portal-kb-hero {box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0 0 28px!important;padding:32px!important;background:#fff!important;border:1px solid #dce4ee!important;border-radius:16px!important;box-shadow:none!important;}
    body.nx-portal .portal-kb-hero form {max-width:720px!important;display:flex!important;gap:10px!important;}
    body.nx-portal .portal-kb-hero p {margin:12px 0!important;line-height:1.6!important;}
    body.nx-portal .portal-kb-layout {display:grid!important;grid-template-columns:240px minmax(0,1fr)!important;gap:24px!important;align-items:start!important;}
    body.nx-portal .portal-kb-results {min-width:0!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important;}
    body.nx-portal .portal-kb-results>h2 {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 18px!important;padding:0!important;line-height:1.4!important;}
    body.nx-portal .portal-kb-grid {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))!important;gap:18px!important;}
    body.nx-portal .portal-kb-categories {padding:22px!important;border:1px solid #dce4ee!important;border-radius:14px!important;box-shadow:none!important;}
    body.nx-portal .portal-kb-card {box-sizing:border-box!important;min-width:0!important;padding:26px!important;margin:0!important;background:#fff!important;border:1px solid #dce4ee!important;border-radius:14px!important;box-shadow:none!important;}
    body.nx-portal .portal-kb-card h3 {line-height:1.4!important;overflow-wrap:anywhere!important;}
    body.nx-portal .portal-kb-article {box-sizing:border-box!important;padding:36px!important;background:#fff!important;border:1px solid #dce4ee!important;border-radius:16px!important;}
    @media(max-width:760px) {body.nx-portal .portal-kb-layout {grid-template-columns:1fr!important;}body.nx-portal .portal-kb-hero,body.nx-portal .portal-kb-article {padding:22px!important;}body.nx-portal .portal-kb-results>h2 {flex-wrap:wrap!important;}}
    .portal-kb-hero {padding:36px 0 28px;max-width:760px;}.portal-kb-hero h1 {font-size:36px;line-height:1.2;margin:12px 0;color:#111!important;}.portal-kb-hero>small {font-weight:700;letter-spacing:.12em;}.portal-kb-hero form {display:flex;gap:8px;margin-top:24px;}.portal-kb-hero input {flex:1;min-width:0;padding:14px;border:1px solid #d7dfe8;border-radius:8px;background:#fff;color:#111!important;}.portal-kb-hero button {padding:12px 24px;border:0;border-radius:8px;background:#17253b!important;color:#fff!important;}
    .portal-kb-layout {display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start;}.portal-kb-categories {padding:20px;}.portal-kb-categories h2 {font-size:17px;margin:0 0 16px;}.portal-kb-categories a {display:flex;justify-content:space-between;gap:12px;padding:12px 0;text-decoration:none;color:#111!important;border-top:1px solid #e6ebf1;}.portal-kb-categories a[aria-current] {font-weight:700;}.portal-kb-results>h2 {margin:0 0 20px;font-size:22px;}.portal-kb-results>h2 small {font-size:13px;font-weight:400;margin-left:10px;}.portal-kb-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}.portal-kb-card {display:block;padding:24px;text-decoration:none!important;color:#111!important;}.portal-kb-card h3 {font-size:20px;margin:12px 0;}.portal-kb-card p {line-height:1.7;}.portal-kb-card>span {display:block;margin-top:20px;font-weight:700;}.portal-kb-card:hover {border-color:#17253b;}.portal-kb-breadcrumb {margin:28px 0 20px;}.portal-kb-breadcrumb a,.portal-kb-article footer a {color:#111!important;}.portal-kb-article {max-width:960px;margin:auto;padding:36px;}.portal-kb-article header {border-bottom:1px solid #e6ebf1;padding-bottom:24px;}.portal-kb-article h1 {font-size:32px;line-height:1.3;margin:12px 0;}.portal-kb-content {padding:24px 0;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere;color:#111!important;}.portal-kb-content img {max-width:100%;height:auto;}.portal-kb-content table {display:block;max-width:100%;overflow:auto;}.portal-kb-article footer {border-top:1px solid #e6ebf1;padding-top:24px;}
    @media(max-width:760px) {.portal-kb-layout,.portal-kb-grid {grid-template-columns:1fr;}.portal-kb-article {padding:22px;}.portal-kb-hero h1,.portal-kb-article h1 {font-size:28px;}}
    .portal-calendar-card>header .calendar-navigation,.portal-calendar-card .calendar-views {display:flex!important;gap:6px!important;align-items:center!important;}
    .portal-calendar-card .calendar-views {justify-content:flex-end!important;}
    .portal-calendar-card>header a {background:#fff!important;color:#111!important;border:1px solid #d7dfe8!important;border-radius:8px!important;min-height:40px!important;padding:10px 14px!important;margin:0!important;text-decoration:none!important;}
    .portal-calendar-card>header .calendar-navigation>a:not(.today),.portal-calendar-card .calendar-views>a.active {background:#17253b!important;color:#fff!important;border-color:#17253b!important;}
    .portal-calendar-card>header a:focus-visible {outline:2px solid #17253b!important;outline-offset:3px!important;}
    .portal-calendar-card .portal-calendar-day {height:auto!important;min-height:124px!important;overflow:visible!important;}
    .portal-calendar-card .calendar-event {display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;background:#eef2f6!important;color:#111!important;border-left:3px solid #17253b!important;margin-top:4px!important;}
    .portal-calendar-card .calendar-view-day {grid-template-columns:1fr!important;min-width:0!important;}
    .portal-calendar-card .calendar-view-week .portal-calendar-day,.portal-calendar-card .calendar-view-day .portal-calendar-day {min-height:300px!important;}
    @media(max-width:760px) {.portal-calendar-card>header {grid-template-columns:1fr!important;gap:14px!important;}.portal-calendar-card .calendar-views {justify-content:flex-start!important;}}
    body.nx-public .public-contract-grid {align-items:start;min-width:0;}
    body.nx-public .public-contract-grid>aside {min-width:0;padding:24px;overflow-wrap:anywhere;}
    body.nx-public .public-contract-grid>aside nav {margin:-24px -24px 24px;padding:8px 12px 0;gap:4px;flex-wrap:wrap;}
    body.nx-public .public-contract-grid>aside h2 {margin:24px 0 16px;line-height:1.4;}
    body.nx-public .public-contract-grid>aside dl {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;margin:0;}
    body.nx-public .public-contract-grid>aside :is(dt,dd) {min-width:0;line-height:1.5;color:#111;}
    body.nx-public .public-contract-brand img {display:block;width:auto;max-width:240px;height:48px;object-fit:contain;}
    body.nx-public .public-contract-download {background:#17253b!important;color:#fff!important;border-color:#17253b!important;}
    body.nx-public .public-contract-download:hover {background:#243954!important;color:#fff!important;}
    body.nx-public.login-modern {margin:0!important;min-height:100dvh!important;display:block!important;}
    body.nx-public .login-modern-shell {width:100%!important;max-width:none!important;min-height:100dvh!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
    body.nx-public .login-modern-brand {border-radius:0!important;padding:40px!important;min-width:0!important;}
    body.nx-public .login-modern-brand .login-modern-logo {background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
    body.nx-public .login-custom-logo {filter:none!important;opacity:1!important;object-fit:contain!important;}
    body.nx-public .login-modern-panel {min-width:0!important;padding:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
    body.nx-public .login-modern-form-wrap {width:100%!important;max-width:460px!important;margin:0!important;}
    body.nx-public .login-modern-copy h1 {font-size:clamp(30px,3.5vw,48px)!important;line-height:1.15!important;font-weight:700!important;color:#fff!important;}
    body.nx-public .login-modern-features {grid-template-columns:1fr!important;gap:12px!important;}
    body.nx-public .login-modern-features article {display:flex!important;align-items:center!important;gap:14px!important;padding:14px!important;}
    body.nx-public .login-modern-preview {display:none!important;}
    body.nx-public .login-modern-heading h2 {font-size:28px!important;line-height:1.25!important;font-weight:700!important;color:#000!important;}
    body.nx-public .login-modern-submit {background:#17253b!important;color:#fff!important;}
    @media(max-width:760px) {
        body.nx-public .login-modern-shell {grid-template-columns:minmax(0,1fr)!important;}
        body.nx-public .login-modern-brand {display:none!important;}
        body.nx-public .login-modern-panel {min-height:100dvh!important;padding:24px 16px!important;}
        body.nx-public .login-modern-card {padding:24px!important;}
        body.nx-public .login-modern-mobile-brand {display:flex!important;}
    }
    body.nx-portal,body.nx-public {background:#f4f7fb!important;color:#111!important;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif!important}
    body.nx-portal .portal-shell-header {background:#fff!important;border-bottom:1px solid #c8d4e4!important;box-shadow:none!important}
    body.nx-portal .portal-top {max-width:1400px!important;padding:16px 24px!important;gap:20px!important}
    body.nx-portal .portal-primary-nav {background:transparent!important;border:0!important;box-shadow:none!important;gap:4px!important;}
    body.nx-portal .portal-primary-nav a {display:inline-flex!important;align-items:center!important;min-height:40px!important;margin:0!important;padding:0 12px!important;border-radius:8px!important;color:#17253b!important;background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;white-space:nowrap!important;}
    body.nx-portal .portal-primary-nav a:hover {background:#f4f7fb!important;color:#111!important;}
    body.nx-portal .portal-primary-nav a::after {display:none!important;}
    body.nx-portal .portal-header-actions {display:flex!important;align-items:center!important;gap:10px!important;flex-shrink:0!important;}
    body.nx-portal .portal-header-icon {display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;background:#fff!important;color:#17253b!important;border:1px solid #dce5f0!important;border-radius:10px!important;}
    body.nx-portal .portal-header-icon svg {display:block;width:18px;height:18px;stroke:currentColor;}
    body.nx-portal .portal-primary-nav a.active {background:#eef3ff!important;border-bottom-color:#4165e8!important}
    body.nx-portal .portal-primary-nav a * {color:inherit!important}
    body.nx-portal .portal-subnav {background:#f7f9fd!important;border-top:1px solid #dce5f0!important}
    body.nx-portal .portal-main {max-width:1400px!important;margin:auto!important;padding:28px 24px!important;min-width:0!important}
    body.nx-portal :is(.portal-dashboard-hero,.portal-detail-head,.portal-page-head) {background:transparent!important;border:0!important;border-bottom:1px solid #c8d4e4!important;border-radius:0!important;box-shadow:none!important;padding:0 0 20px!important;margin-bottom:24px!important;min-height:0!important}
    body.nx-portal :is(.portal-dashboard-hero,.portal-detail-head,.portal-page-head) h1 {font-size:28px!important;line-height:1.25!important;color:#17253b!important;letter-spacing:-.03em!important}
    body.nx-portal .portal-dashboard-hero::before,body.nx-portal .portal-dashboard-hero::after {display:none!important}
    body.nx-portal .portal-dashboard-account {background:#fff!important;border:0!important;border-left:2px solid #17253b!important;border-radius:0!important;padding:16px!important;box-shadow:none!important}
    body.nx-portal .portal-dashboard-metrics {display:flex!important;flex-wrap:wrap!important;gap:0!important;background:#fff!important;border-top:2px solid #17253b!important;border-bottom:1px solid #c8d4e4!important;margin-bottom:24px!important}
    body.nx-portal .portal-dashboard-metrics article {flex:1 1 160px!important;border:0!important;border-right:1px solid #dce5f0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;padding:16px!important}
    body.nx-portal .portal-dashboard-metrics strong {font-size:24px!important;color:#17253b!important;font-variant-numeric:tabular-nums!important}
    body.nx-portal :is(.portal-panel,.portal-card,.portal-profile-card,.portal-message-panel) {background:#fff!important;border:1px solid #dce5f0!important;border-top:2px solid #17253b!important;border-radius:18px 5px 18px 18px!important;box-shadow:none!important;min-width:0!important}
    body.nx-portal .portal-panel-head {background:#fff!important;border-bottom:1px solid #dce5f0!important;padding:18px!important}
    body.nx-portal table {border-collapse:collapse!important;width:100%!important;font-size:13px!important}
    body.nx-portal th {background:#f7f9fd!important;color:#111!important;border:0!important;border-bottom:1px solid #c8d4e4!important;padding:12px!important}
    body.nx-portal td {color:#111!important;border:0!important;border-bottom:1px solid #e8eef6!important;padding:14px 12px!important}
    body.nx-portal :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {color:#111!important;background:#fff!important;border-color:#c8d4e4!important;border-radius:5px!important;font-size:14px!important;max-width:100%!important}
    body.nx-portal :is(button,a).primary,body.nx-portal button[type=submit] {background:#17253b!important;color:#fff!important;border:1px solid #17253b!important;border-radius:5px!important;box-shadow:none!important}
    body.nx-portal form:has(input[name=_method][value=DELETE i]) button {background:transparent!important;color:#111!important;border-color:#c8d4e4!important}
    body.nx-portal :focus-visible,body.nx-public :focus-visible {outline:2px solid #294dbf!important;outline-offset:3px!important}
    body.nx-public :is(.login-modern-card,.installer .card,.subscription-public-card) {background:#fff!important;border:1px solid #dce5f0!important;border-top:2px solid #17253b!important;border-radius:18px 5px 18px 18px!important;box-shadow:none!important}
    body.nx-public .installer>header {background:#17253b!important;color:#fff!important;border-radius:18px 5px 18px 18px!important;box-shadow:none!important}
    body.nx-public .installer>header * {color:#fff!important}
    body.nx-public.login-modern .login-modern-brand {background:radial-gradient(ellipse at 10% 95%,#d7e6e4 0,transparent 55%),linear-gradient(135deg,#f7faf9,#edf2f8)!important;color:#17253b!important;border-radius:0!important;border-right:1px solid #dce5f0!important;padding:clamp(32px,5vw,80px)!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;}
    body.nx-public.login-modern .login-modern-brand * {color:#17253b!important;}
    body.nx-public.login-modern .login-modern-copy h1 {color:#17253b!important;font-size:clamp(32px,3.6vw,52px)!important;line-height:1.12!important;max-width:520px;}
    body.nx-public.login-modern .login-modern-features article {background:#ffffffa6!important;border:1px solid #ffffff!important;border-radius:14px!important;padding:16px!important;box-shadow:0 4px 20px #17253b05!important;}
    body.nx-public.login-modern .login-modern-panel {background:#fff!important;}
    body.nx-public.login-modern .login-modern-card {border:0!important;border-radius:0!important;box-shadow:none!important;padding:24px 0!important;}
    body.nx-public.login-modern :is(.login-modern-orb,.login-modern-grid) {display:none!important;}
    body.nx-public.login-modern :is(.login-modern-logo,.login-modern-mobile-brand,.login-custom-logo) {background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;}
    body.nx-public.login-modern .login-custom-logo {width:auto!important;height:48px!important;max-width:240px!important;padding:0!important;border-radius:0!important;}
    body.nx-public.login-modern .login-modern-brand-head {gap:20px!important;flex-wrap:wrap!important;}
    body.nx-public.login-modern .login-modern-copy {margin:48px 0!important;max-width:560px!important;}
    body.nx-public.login-modern .login-modern-copy>p {font-size:16px!important;line-height:1.75!important;max-width:470px!important;}
    body.nx-public.login-modern .login-modern-kicker {font-size:11px!important;letter-spacing:.18em!important;}
    body.nx-public.login-modern .login-modern-feature-icon {width:42px!important;height:42px!important;background:#e5edea!important;border-radius:12px!important;flex-shrink:0!important;}
    body.nx-public.login-modern .login-modern-features strong {font-size:14px!important;}
    body.nx-public.login-modern .login-modern-features small {font-size:12px!important;line-height:1.6!important;}
    body.nx-public.login-modern .login-modern-heading h2 {font-size:34px!important;letter-spacing:-1px!important;line-height:1.2!important;}
    body.nx-public.login-modern .login-modern-heading p {font-size:14px!important;line-height:1.7!important;color:#374151!important;}
    body.nx-public.login-modern .login-modern-field>span {font-size:13px!important;color:#111!important;margin-bottom:9px!important;}
    body.nx-public.login-modern .login-modern-control input {height:54px!important;font-size:14px!important;border-radius:10px!important;background:#fafbfc!important;border:1px solid #d4dde5!important;}
    body.nx-public.login-modern .login-modern-control input:focus {border-color:#17253b!important;box-shadow:0 0 0 3px #17253b12!important;background:#fff!important;}
    body.nx-public.login-modern .login-modern-submit {height:54px!important;font-size:14px!important;border-radius:10px!important;background:#17253b!important;color:#fff!important;box-shadow:0 8px 20px #17253b18!important;}
    body.nx-public.login-modern .login-modern-submit * {color:#fff!important;stroke:currentColor!important;}
    body.nx-public.login-modern :is(.login-modern-check,.login-modern-options>a,.login-modern-trust) {font-size:12px!important;color:#17253b!important;}
    body.nx-public.login-modern .login-modern-legal {font-size:11px!important;color:#374151!important;}
    @media(max-width:900px) {body.nx-public.login-modern .login-modern-brand {display:none!important;}body.nx-public.login-modern .login-modern-shell {grid-template-columns:minmax(0,1fr)!important;}body.nx-public.login-modern .login-modern-mobile-brand {display:flex!important;}}
    body.nx-public :is(.login-submit,.installer button) {background:#17253b!important;border-color:#17253b!important;color:#fff!important;border-radius:5px!important}
    body.nx-public .login-modern-shell {max-width:none!important;gap:0!important;box-shadow:none!important;border:0!important;background:transparent!important}
    body.nx-public .login-modern-brand {padding:32px!important}
    body.nx-public :is(.public-contract,.subscription-public-shell) {max-width:1200px!important;margin:32px auto!important;padding:24px!important;background:transparent!important;box-shadow:none!important}
    body.nx-public .public-contract>header {background:transparent!important;border:0!important;border-bottom:1px solid #c8d4e4!important;padding:20px 0!important;border-radius:0!important}
    body.nx-public :is(.public-contract-paper,.public-contract-grid>aside,.subscription-public-card,.subscription-checkout-card) {background:#fff!important;border:1px solid #dce5f0!important;border-top:2px solid #17253b!important;border-radius:18px 5px 18px 18px!important;box-shadow:none!important}
    body.nx-public :is(.public-contract button.sign,.public-discussion button,.subscription-public-button) {background:#17253b!important;color:#fff!important;border-color:#17253b!important;border-radius:5px!important}
    @media(max-width:860px) {
        body.nx-portal .portal-primary-nav {background:#fff!important;left:0!important;top:0!important;z-index:1003!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:78px 16px 24px!important;}
        body.nx-portal .portal-mobile-toggle {display:block!important;}
        body.nx-portal .portal-primary-nav {position:fixed!important;inset:0 auto 0 0!important;width:min(300px,84vw)!important;height:100dvh!important;max-height:none!important;background:#fff!important;transform:translateX(-100%)!important;visibility:hidden!important;overflow-y:auto!important;box-shadow:none!important}
        body.nx-portal.portal-menu-open .portal-primary-nav {transform:translateX(0)!important;visibility:visible!important}
        body.nx-portal .portal-main {padding:20px 16px!important}
        body.nx-portal .portal-top {padding:12px 16px!important}
        body.nx-portal .portal-dashboard-hero {display:flex!important;flex-direction:column!important;gap:20px!important;align-items:stretch!important}
        body.nx-portal .portal-dashboard-account {width:100%!important;min-width:0!important}
        body.nx-portal .portal-dashboard-grid,body.nx-portal .portal-invoice-payment-layout {grid-template-columns:minmax(0,1fr)!important}
        body.nx-public :is(.public-contract,.subscription-public-shell) {margin:16px auto!important;padding:16px!important}
        body.nx-public .public-contract-grid {grid-template-columns:minmax(0,1fr)!important}
    }
    body.nx-portal .portal-table-tools {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:16px 18px!important;background:#fff!important;border-bottom:1px solid #e8edf3!important}
    body.nx-portal .portal-table-tools>select {width:78px!important;min-width:78px!important;max-width:78px!important;flex:0 0 78px!important;height:38px!important;margin:0!important;padding:0 10px!important;border:1px solid #dce5f0!important;border-radius:7px!important;background:#fff!important;color:#17253b!important}
    body.nx-portal .portal-table-tools>form {display:flex!important;flex:0 1 260px!important;width:260px!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
    body.nx-portal .portal-table-tools>form>input:not([type=hidden]) {width:100%!important;min-width:0!important;max-width:none!important;height:38px!important;margin:0!important;padding:0 12px!important;border:1px solid #dce5f0!important;border-radius:7px!important;background:#fff!important;color:#17253b!important}
    @media(max-width:480px) {
        body.nx-portal .portal-table-tools {gap:10px!important;padding:12px!important}
        body.nx-portal .portal-table-tools>form {flex:1 1 0!important;width:auto!important}
    }
    body.nx-portal .portal-project-view {display:grid;gap:22px;color:#17253b}
    body.nx-portal .portal-project-view .portal-project-summary {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:26px 30px!important;background:#17253b!important;border:1px solid #17253b!important;border-radius:16px!important;color:#fff!important}
    body.nx-portal .portal-project-view .portal-project-summary>div {flex:1 1 auto!important;min-width:0!important;background:transparent!important}
    body.nx-portal .portal-project-view .portal-project-summary :is(h2,p,.portal-project-eyebrow) {color:#fff!important}
    body.nx-portal .portal-project-view .portal-project-summary h2 {margin:8px 0;font-size:23px}
    body.nx-portal .portal-project-view .portal-project-summary p {margin:0;font-size:14px}
    body.nx-portal .portal-project-eyebrow {font-size:10px;font-weight:700;letter-spacing:.12em}
    body.nx-portal .portal-project-view .portal-project-summary>.portal-project-status {display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:100%!important;padding:9px 15px!important;border:1px solid #64748b!important;border-radius:30px!important;background:transparent!important;font-size:13px!important;font-weight:700!important;color:#fff!important;white-space:nowrap!important}
    body.nx-portal .portal-project-grid {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:22px;align-items:start}
    body.nx-portal .portal-project-view .portal-project-panel {padding:28px;background:#fff;border:1px solid #dce5f0;border-radius:16px;min-width:0;box-shadow:0 8px 28px #17253b04}
    body.nx-portal .portal-project-view .portal-project-panel header {padding:0 0 20px;border-bottom:1px solid #e8edf3}
    body.nx-portal .portal-project-view .portal-project-panel h2 {margin:7px 0 0;font-size:19px;color:#17253b!important}
    body.nx-portal .portal-project-facts {display:grid;grid-template-columns:1fr 1fr;gap:25px 30px;margin:24px 0 0}
    body.nx-portal .portal-project-facts dt {font-size:12px;color:#334155!important;margin-bottom:7px}
    body.nx-portal .portal-project-facts dd {margin:0;font-size:15px;font-weight:600;color:#17253b!important;overflow-wrap:anywhere}
    body.nx-portal .portal-project-percent {display:flex;justify-content:space-between;align-items:end;margin:25px 0 18px}
    body.nx-portal .portal-project-percent strong {font-size:44px;line-height:1;font-weight:700}
    body.nx-portal .portal-project-percent strong span {font-size:23px}
    body.nx-portal .portal-project-percent>span {font-size:12px}
    body.nx-portal .portal-project-progress progress {appearance:none;display:block;width:100%;height:12px;border:0;border-radius:20px;overflow:hidden;background:#e8edf3;accent-color:#17253b}
    body.nx-portal .portal-project-progress progress::-webkit-progress-bar {background:#e8edf3;border-radius:20px}
    body.nx-portal .portal-project-progress progress::-webkit-progress-value {background:#17253b;border-radius:20px}
    body.nx-portal .portal-project-progress progress::-moz-progress-bar {background:#17253b;border-radius:20px}
    body.nx-portal .portal-project-progress-meta {display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-top:22px}
    body.nx-portal .portal-project-progress-meta strong {text-align:right}
    body.nx-portal .portal-project-description p {margin:22px 0;line-height:1.8;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}
    body.nx-portal .portal-project-tags {display:flex;gap:15px;align-items:center;font-size:12px}
    body.nx-portal .portal-project-tags span {padding:8px 12px;background:#f1f5f9;border-radius:7px}
    body.nx-portal .portal-project-extra {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 0}
    body.nx-portal .portal-project-extra dt {font-size:12px;margin-bottom:6px}
    body.nx-portal .portal-project-extra dd {margin:0;overflow-wrap:anywhere}
    @media(max-width:760px) {
        body.nx-portal .portal-project-grid {grid-template-columns:minmax(0,1fr)}
        body.nx-portal .portal-project-view .portal-project-panel,body.nx-portal .portal-project-view .portal-project-summary {padding:22px}
        body.nx-portal .portal-project-view .portal-project-summary {align-items:start!important;flex-direction:column!important}
        body.nx-portal .portal-project-facts,body.nx-portal .portal-project-extra {grid-template-columns:minmax(0,1fr)}
    }
    body.nx-portal .portal-invoice-paper-column {min-width:0}
    body.nx-portal .portal-proposal-actions {flex-wrap:wrap;align-items:center}
    body.nx-portal .portal-proposal-actions form {display:flex;gap:8px;margin:0}
    body.nx-portal .portal-proposal-introduction {padding:8px 0 20px;border-bottom:1px solid #e8edf3}
    body.nx-portal .portal-proposal-introduction h2 {font-size:22px!important;margin:12px 0 18px!important}
    body.nx-portal .portal-proposal-introduction .portal-rich-copy {line-height:1.8;overflow-wrap:anywhere;color:#17253b}
    body.nx-portal .portal-proposal-introduction img {max-width:100%;height:auto}
    body.nx-portal .portal-invoice-actions {display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}
    body.nx-portal .portal-invoice-actions button {background:#17253b!important;color:#fff!important;border:1px solid #17253b!important;padding:11px 16px;border-radius:8px;cursor:pointer;font-weight:600}
    body.nx-portal .portal-invoice-document {padding:32px!important;background:#fff!important;border-radius:16px!important}
    body.nx-portal .portal-invoice-document>header {display:flex!important;align-items:start!important;justify-content:space-between!important;gap:20px;padding-bottom:28px!important}
    body.nx-portal .portal-invoice-brand img {display:block!important;max-width:190px!important;max-height:70px!important;width:auto!important;height:auto!important;object-fit:contain;background:transparent!important;border:0!important}
    body.nx-portal .portal-invoice-number {text-align:right}
    body.nx-portal .portal-invoice-parties {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important}
    body.nx-portal .portal-invoice-parties>dl {grid-column:1 / -1;justify-content:start}
    body.nx-portal .portal-invoice-parties address {font-style:normal;white-space:pre-line;line-height:1.7;margin-top:8px;font-size:13px}
    body.nx-portal .portal-invoice-copy p {white-space:pre-line;line-height:1.8;overflow-wrap:anywhere}
    body.nx-portal .portal-invoice-number h2 {margin:8px 0 12px!important;font-size:24px!important;color:#17253b!important;background:transparent!important}
    body.nx-portal .portal-invoice-number b {display:inline-block;background:#f1f5f9!important;color:#17253b!important;padding:6px 10px;border-radius:6px;font-size:12px}
    body.nx-portal .portal-invoice-items {overflow-x:auto;margin-top:24px}
    body.nx-portal .portal-invoice-items table {width:100%}
    body.nx-portal .portal-invoice-items td small {display:block;margin-top:6px;white-space:pre-line}
    body.nx-portal .portal-invoice-breakdown {max-width:400px;margin:24px 0 0 auto}
    body.nx-portal .portal-invoice-breakdown>div {display:flex;justify-content:space-between;gap:20px;padding:12px;border-bottom:1px solid #e8edf3;font-size:13px}
    body.nx-portal .portal-invoice-total {margin-top:0!important}
    @media(max-width:600px) {
        body.nx-portal .portal-invoice-document {padding:20px!important}
        body.nx-portal .portal-invoice-parties {grid-template-columns:minmax(0,1fr)!important}
        body.nx-portal .portal-invoice-brand img {max-width:130px!important}
        body.nx-portal .portal-invoice-number h2 {font-size:18px!important;overflow-wrap:anywhere}
        body.nx-portal .portal-invoice-items table {min-width:450px}
    }
    body.nx-portal .portal-contract-actions {display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}
    body.nx-portal :is(.portal-contract-actions button,.portal-contract-dialog footer button) {background:#17253b!important;color:#fff!important;border:1px solid #17253b!important;border-radius:8px;padding:11px 18px;cursor:pointer}
    body.nx-portal .portal-contract-document {background:#fff;border:1px solid #dce5f0;border-radius:16px;padding:36px;color:#17253b}
    body.nx-portal .portal-contract-document>header {display:flex;justify-content:space-between;align-items:start;gap:24px;padding-bottom:28px;border-bottom:1px solid #e8edf3}
    body.nx-portal .portal-contract-document>header img {max-width:190px;max-height:70px;object-fit:contain}
    body.nx-portal .portal-contract-document>header>div {text-align:right}
    body.nx-portal .portal-contract-document h2 {font-size:24px;margin:8px 0;color:#17253b!important}
    body.nx-portal .portal-contract-document header span {font-size:11px;letter-spacing:.1em}
    body.nx-portal .portal-contract-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0;padding-bottom:28px;border-bottom:1px solid #e8edf3}
    body.nx-portal .portal-contract-facts dt {font-size:12px;margin-bottom:8px}
    body.nx-portal .portal-contract-facts dd {margin:0;font-weight:600;overflow-wrap:anywhere}
    body.nx-portal .portal-contract-copy {line-height:1.85;font-size:14px}
    body.nx-portal .portal-contract-copy>div {white-space:pre-line;overflow-wrap:anywhere}
    body.nx-portal .portal-contract-signed {display:grid;gap:8px;border-top:1px solid #e8edf3;margin-top:30px;padding-top:24px;font-size:12px}
    body.nx-portal .portal-contract-signed strong {font-size:24px;overflow-wrap:anywhere}
    body.nx-portal .portal-contract-dialog {width:min(520px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:28px;border:1px solid #dce5f0;border-radius:16px;background:#fff;color:#17253b}
    body.nx-portal .portal-contract-dialog::backdrop {background:#17253b80}
    body.nx-portal .portal-contract-dialog header,body.nx-portal .portal-contract-dialog footer {display:flex;justify-content:space-between;align-items:center;gap:12px}
    body.nx-portal .portal-contract-dialog header button {background:transparent;border:0;font-size:24px;cursor:pointer}
    body.nx-portal .portal-contract-dialog label {display:grid;gap:7px;margin:16px 0;font-size:13px}
    body.nx-portal .portal-contract-dialog :is(input:not([type=checkbox]),textarea) {width:100%;padding:11px;border:1px solid #dce5f0;border-radius:7px;background:#fff;color:#17253b}
    body.nx-portal .portal-contract-dialog .portal-contract-consent {display:flex;align-items:start;line-height:1.5}
    body.nx-portal .portal-contract-consent input {width:16px;height:16px;flex:none;margin-top:2px}
    @media(max-width:600px) {
        body.nx-portal .portal-contract-document {padding:22px}
        body.nx-portal .portal-contract-document>header {flex-direction:column}
        body.nx-portal .portal-contract-document>header>div {text-align:left}
        body.nx-portal .portal-contract-facts {grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    body.nx-portal .portal-support-view {display:grid;gap:22px;color:#17253b}
    body.nx-portal .portal-support-banner {display:flex!important;justify-content:space-between;align-items:center;gap:24px;padding:28px;background:#17253b!important;border-radius:16px;color:#fff!important}
    body.nx-portal .portal-support-banner :is(span,h2,p,strong) {color:#fff!important;background:transparent!important}
    body.nx-portal .portal-support-banner span {font-size:11px;letter-spacing:.1em}
    body.nx-portal .portal-support-banner h2 {margin:10px 0;font-size:24px}
    body.nx-portal .portal-support-banner p {margin:0;font-size:12px}
    body.nx-portal .portal-support-banner>strong {flex:none;padding:9px 14px;border:1px solid #64748b;border-radius:24px;font-size:13px}
    body.nx-portal .portal-support-grid {display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px;align-items:start}
    body.nx-portal .portal-support-panel {background:#fff;border:1px solid #dce5f0;border-radius:16px;padding:28px;min-width:0}
    body.nx-portal .portal-support-panel header {padding-bottom:20px;border-bottom:1px solid #e8edf3}
    body.nx-portal .portal-support-panel header span {font-size:10px;letter-spacing:.1em;font-weight:700}
    body.nx-portal .portal-support-panel h2 {margin:8px 0 0;font-size:19px;color:#17253b!important}
    body.nx-portal .portal-support-message {margin-top:24px}
    body.nx-portal .portal-support-author {display:flex;justify-content:space-between;gap:16px;font-size:13px;margin-bottom:18px}
    body.nx-portal .portal-support-body {white-space:pre-line;line-height:1.85;font-size:14px;overflow-wrap:anywhere}
    body.nx-portal .portal-support-panel dl {display:grid;gap:20px;margin:24px 0}
    body.nx-portal .portal-support-panel dt {font-size:12px;margin-bottom:6px}
    body.nx-portal .portal-support-panel dd {margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
    body.nx-portal .portal-support-link {display:block;padding-top:18px;border-top:1px solid #e8edf3;color:#17253b!important;font-size:12px;text-decoration:none;font-weight:600}
    @media(max-width:760px) {
        body.nx-portal .portal-support-grid {grid-template-columns:minmax(0,1fr)}
        body.nx-portal .portal-support-banner {flex-direction:column;align-items:start}
        body.nx-portal .portal-support-panel {padding:22px}
    }
    body.nx-portal .portal-message-tabs>a {display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:10px 17px!important;border-radius:8px!important;background:transparent!important;color:#17253b!important;text-decoration:none!important;font-weight:600!important}
    body.nx-portal .portal-message-tabs>a.active,
    body.nx-portal .portal-message-tabs>a.active:hover {background:#17253b!important;color:#fff!important;border-color:#17253b!important}
    body.nx-portal .portal-message-tabs>a:not(.active):hover {background:#edf2f7!important;color:#17253b!important}
    body.nx-portal .portal-files-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
    body.nx-portal .portal-files-heading span {font-size:10px;font-weight:700;letter-spacing:.1em}
    body.nx-portal .portal-files-heading p {margin:8px 0;font-size:14px}
    body.nx-portal .portal-files-heading>strong {padding:10px 15px;border:1px solid #dce5f0;border-radius:10px;background:#fff;font-size:13px}
    body.nx-portal .portal-file-list {display:grid;gap:12px;padding:20px!important;background:#f8fafc}
    body.nx-portal .portal-file-list article {display:grid!important;grid-template-columns:76px minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;padding:18px!important;border:1px solid #dce5f0!important;border-radius:12px!important;background:#fff!important}
    body.nx-portal .portal-file-thumbnail {display:flex!important;align-items:center;justify-content:center;width:76px!important;height:64px!important;overflow:hidden;background:#f1f5f9!important;border-radius:8px;text-decoration:none}
    body.nx-portal .portal-file-thumbnail img {width:100%;height:100%;object-fit:cover}
    body.nx-portal .portal-file-thumbnail span {font-size:11px;font-weight:700;color:#17253b}
    body.nx-portal .portal-file-list article>div:last-child {display:flex!important;gap:8px!important;flex-wrap:wrap}
    body.nx-portal .portal-file-list article>div:last-child :is(a,button) {display:inline-flex;align-items:center;justify-content:center;padding:9px 12px!important;border:1px solid #dce5f0!important;border-radius:7px!important;background:#fff!important;color:#17253b!important;font-size:12px;text-decoration:none;cursor:pointer}
    body.nx-portal .portal-file-list article>div:last-child form {margin:0}
    body.nx-portal .portal-file-list article>div:nth-child(2)>a {font-weight:600;overflow-wrap:anywhere;color:#17253b!important}
    body.nx-portal .portal-dropzone {padding:24px!important}
    body.nx-portal .portal-dropzone label {border:1px dashed #b8c7d8!important;border-radius:12px!important;background:#f8fafc!important}
    @media(max-width:760px) {
        body.nx-portal .portal-file-list article {grid-template-columns:76px minmax(0,1fr)!important}
        body.nx-portal .portal-file-list article>div:last-child {grid-column:1 / -1!important}
    }
    @media print {
        body.nx-portal .portal-invoice-document .portal-invoice-items {overflow:visible!important}
        body.nx-portal .portal-invoice-document .portal-invoice-items table {min-width:0!important}
        body.nx-portal .portal-invoice-document>header {break-inside:avoid}
        body.nx-portal .portal-invoice-document thead {display:table-header-group!important}
        body.nx-portal .portal-main {padding:0!important;max-width:none!important}
        body.nx-portal :is(.portal-card,.portal-panel) {border:0!important;border-radius:0!important}
    }
}

@layer nx-contract-refresh {
 body.nx-public .public-contract {max-width:1240px;margin:0 auto;padding:32px 24px;}
 body.nx-public .public-contract>header {display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;padding:24px 0!important;}
 body.nx-public .public-contract>header>div:last-child {display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
 body.nx-public .public-contract-back {display:inline-flex!important;padding:12px 16px!important;background:#fff!important;border:1px solid #d5dfed!important;border-radius:8px!important;color:#19283e!important;}
 body.nx-public .public-contract-grid {display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:24px!important;align-items:start!important;}
 body.nx-public .public-contract-grid>article {border:1px solid #dce4ee!important;border-radius:14px!important;padding:32px!important;background:#fff!important;line-height:1.85!important;overflow-wrap:anywhere!important;}
 body.nx-public .public-contract-grid>aside {border:1px solid #dce4ee!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important;padding:24px!important;}
 body.nx-public .public-contract-grid aside nav {display:flex!important;gap:8px!important;padding:0 0 18px!important;margin-bottom:20px!important;border-bottom:1px solid #e2e8f0!important;}
 body.nx-public .public-contract-grid aside dl {display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;font-size:14px!important;}
 body.nx-public .public-contract-grid aside dd {margin:0!important;text-align:right!important;overflow-wrap:anywhere!important;}
 @media(max-width:800px) {body.nx-public .public-contract-grid {grid-template-columns:1fr!important;}body.nx-public .public-contract>header {flex-direction:column!important;align-items:flex-start!important;}}
 @media print {body.nx-public .public-contract-back {display:none!important;}}
}
