/* Generated from auth.source.css by build_auth_assets.py. */
/* Source owner: build_auth_assets.py generates auth.css.
   NOVANOK_ECOSYSTEM_AUTH_V3 — one canonical auth layout for every current/future app.
   Reference artwork is preserved; native product authentication remains unchanged. */
.nk-auth-page{--nk-ink:#080f35;--nk-input-height:56px;--nk-art-width:min(64vw,calc(100dvh * 1.247663551));--nk-muted:#526887;--nk-line:#c8dcfa;--nk-primary:#007c70;--nk-role-space:64px;--nk-brand-gap:26px;box-sizing:border-box;position:relative;isolation:isolate;color-scheme:light;min-height:100dvh;width:100%;margin:0;padding:24px 0;display:grid;grid-template-columns:minmax(0,var(--nk-art-width)) minmax(0,1fr);align-items:center;background:linear-gradient(135deg,transparent 72%,#dceafd 72%,#edf5ff 88%,transparent 88%),radial-gradient(ellipse at 80% 30%,#fff 0%,#e5f0ff 60%,#dceaff 100%);color:var(--nk-ink);font:14px/1.45 Arial,Helvetica,sans-serif}
.nk-auth-page::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--nk-art-width);background:#061a31 var(--nk-auth-art,url('/brand/auth-art-display.webp?v=first-paint-20261016')) center/contain no-repeat;pointer-events:none}
/* One initial paint: reveal the auth composition only after its artwork/logo decode.
   No-JavaScript clients retain the native form; media failures use bounded fallback. */
html[data-nk-auth-controller="ready"] .nk-auth-page:not([data-nk-auth-state="ready"]):not([data-nk-auth-state="degraded"]){visibility:hidden}
.nk-auth-page *{box-sizing:border-box;font-family:inherit}
.nk-auth-page [hidden],.nk-auth-page.hidden,.nk-auth-page.is-hidden{display:none}
.nk-auth-page .nk-auth-card{position:relative;grid-column:2;min-width:0;min-height:min(720px,calc(100dvh - 48px));width:calc(100% - 48px);max-width:544px;margin:0 auto;padding:40px 36px;border:2px solid #fff;border-radius:28px!important;background:linear-gradient(135deg,#ffffffeb,#f6faffef);color:var(--nk-ink);box-shadow:0 24px 65px #3161a02b,inset 0 0 0 5px #ffffffa8;text-align:left}
.nk-auth-page .nk-auth-brand{display:flex;align-items:center;gap:16px;min-height:64px;padding:0;margin:0 0 var(--nk-brand-gap);border:0;background:transparent}
.nk-auth-page .nk-auth-brand img.novanok-logo{display:block;width:64px;height:64px;min-width:64px;max-width:64px;flex:0 0 64px;object-fit:contain;padding:0;border:0;border-radius:50%;background:transparent}
.nk-auth-page .nk-auth-card:not(:has(.nk-auth-roles)) .nk-auth-brand{margin-bottom:calc(var(--nk-brand-gap) + var(--nk-role-space))}
.nk-auth-page .nk-auth-brand strong,.nk-auth-page .nk-auth-brand h1{margin:0;color:var(--nk-ink);font:800 28px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.6px}
.nk-auth-page .nk-auth-brand small{display:block;margin:4px 0 0;font-size:13px;line-height:1.4;color:#526a99}
.nk-auth-page .nk-auth-card h2{margin:0 0 24px;color:var(--nk-ink);font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-.7px}
.nk-auth-page .nk-auth-card h2::after{content:"Secure access to your workspace.";display:block;margin-top:8px;color:#526a99;font-size:15px;line-height:1.4;font-weight:400;letter-spacing:0}
.nk-auth-page .nk-auth-fields{display:grid;gap:22px}
.nk-auth-page .nk-auth-fields.nk-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nk-auth-page .nk-auth-wide{grid-column:1/-1}
.nk-auth-page .nk-auth-field{position:relative;display:block;min-width:0;margin:0}
.nk-auth-page .nk-auth-card label,.nk-auth-page .nk-auth-field>label{display:block;margin:0 0 7px;font-size:13px;font-weight:700;line-height:18px;color:#111c3c}
.nk-auth-page .nk-auth-card input,.nk-auth-page .nk-auth-card select{display:block;box-sizing:border-box;width:100%;height:56px;min-height:56px;margin:0;padding:13px 16px;border:1px solid var(--nk-line);border-radius:12px!important;background:#eaf2ff;color:#111c3c;-webkit-text-fill-color:#111c3c;caret-color:#111c3c;color-scheme:light;font:14px/22px Arial,Helvetica,sans-serif;box-shadow:none;outline-offset:2px}
.nk-auth-page .nk-auth-card input:focus,.nk-auth-page .nk-auth-card select:focus{outline:2px solid #10aeaa;border-color:#10aeaa;background:#f7fbff}
.nk-auth-page .nk-auth-card input:is(:autofill,:-webkit-autofill),.nk-auth-page .nk-auth-card input:is(:autofill,:-webkit-autofill):hover,.nk-auth-page .nk-auth-card input:is(:autofill,:-webkit-autofill):focus{color-scheme:light;-webkit-text-fill-color:#111c3c!important;caret-color:#111c3c;background-color:#eaf2ff!important;box-shadow:0 0 0 1000px #eaf2ff inset!important;border-color:var(--nk-line)}
.nk-auth-page .nk-auth-card input::placeholder{color:#7f91ad}
.nk-auth-page .nk-auth-card input:disabled{opacity:1;background:#dce5f0;color:#435a75}
.nk-auth-page .nk-auth-password,.nk-auth-page .nk-auth-card .password-field,.nk-auth-page .nk-auth-card .password-wrap{position:relative;display:block;margin:0;min-width:0}
.nk-auth-page .nk-auth-password input,.nk-auth-page .password-field input,.nk-auth-page .password-wrap input{padding-right:64px}
.nk-auth-page .nk-auth-card button,.nk-auth-page .nk-auth-card a{font-family:inherit;border-radius:10px}
.nk-auth-page .nk-auth-card button[aria-label="Show password"],.nk-auth-page .nk-auth-card button[aria-label="Hide password"],.nk-auth-page .nk-auth-eye,.nk-auth-page .password-toggle,.nk-auth-page .eye-btn{position:absolute;inset:auto 5px auto auto;top:50%;translate:none;transform:translateY(-50%);display:grid;place-items:center;width:52px;min-width:0;height:38px;min-height:38px;padding:5px;border:0;margin:0;background:transparent;color:#007c70;font-size:12px;line-height:20px;cursor:pointer;box-shadow:none}
.nk-auth-page .nk-auth-eye svg,.nk-auth-page .eye-btn svg,.nk-auth-page .password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.nk-auth-page .nk-auth-primary{display:block;width:100%;height:64px;min-height:64px;padding:15px 16px;margin:26px 0 0;border:1px solid #0bbdab;border-radius:12px!important;background:linear-gradient(115deg,#03c7ae,#00847c 48%,#00494d);color:#fff;font-size:19px;font-weight:700;line-height:30px;text-align:center;cursor:pointer;box-shadow:0 12px 24px #008e8333,inset 0 1px 3px #6fffff55}
.nk-auth-page .nk-auth-primary::after{content:" →" / "";display:inline;margin-left:10px;font-size:24px;font-weight:400}
.nk-auth-page .nk-auth-primary:disabled{opacity:.55;cursor:wait}
.nk-auth-page .nk-auth-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:24px}
.nk-auth-page .nk-auth-links button,.nk-auth-page .nk-auth-links a,.nk-auth-page .nk-auth-link{display:inline-block;width:auto;min-height:32px;padding:5px 0;margin:0;border:0;background:transparent;color:#007c70;font-size:12px;line-height:22px;font-weight:500;text-decoration:none;cursor:pointer;box-shadow:none}
.nk-auth-page .nk-auth-links details{font-size:12px;line-height:22px;color:#007c70}
.nk-auth-page .nk-auth-links summary{cursor:pointer;color:#007c70;font-size:12px}
.nk-auth-page .nk-auth-roles,.nk-auth-page .nk-auth-tabs{display:flex;gap:0;margin:0 0 20px}
.nk-auth-page .nk-auth-roles button,.nk-auth-page .nk-auth-tabs button{width:108px;height:44px;min-height:44px;padding:9px 16px;border:1px solid var(--nk-line);border-radius:10px!important;background:#fff;color:#273f78;font-size:13px;font-weight:600;line-height:24px;cursor:pointer;box-shadow:none}
.nk-auth-page .nk-auth-roles button.active,.nk-auth-page .nk-auth-tabs button.active{border-color:#06aaa0;background:#d7f6f2;color:#007c70}
.nk-auth-page .nk-auth-note,.nk-auth-page .nk-auth-error,.nk-auth-page .nk-auth-success{margin-top:12px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.nk-auth-page .nk-auth-error{color:#a02e29}.nk-auth-page .nk-auth-success{color:#176b42}
.nk-auth-page .nk-auth-note:empty,.nk-auth-page .nk-auth-error:empty,.nk-auth-page .nk-auth-success:empty{display:none}
.nk-auth-page .nk-auth-rules{display:flex;flex-wrap:wrap;gap:3px 7px;margin-top:6px;font-size:10px;color:var(--nk-muted)}
.nk-auth-page .nk-auth-rules .password-rule-pass{color:#176b42}
.nk-auth-page .nk-auth-help{padding:10px 0;margin:0;font-size:12px;color:var(--nk-muted)}
.nk-auth-page .nk-auth-card p{color:var(--nk-muted)}
.nk-auth-page button:focus-visible,.nk-auth-page a:focus-visible,.nk-auth-page summary:focus-visible{outline:2px solid #10aeaa;outline-offset:2px}
.nk-auth-page .nk-auth-card.nk-register{width:calc(100% - 48px);max-width:544px;min-height:min(720px,calc(100dvh - 48px))}
.nk-auth-page:has(.nk-register){--nk-role-space:56px;--nk-brand-gap:16px;--nk-input-height:48px}
.nk-auth-page:has(.nk-register) .nk-auth-card h2{margin-bottom:16px;font-size:26px}
.nk-auth-page:has(.nk-register) .nk-auth-card h2::after{display:none}
.nk-auth-page:has(.nk-register) .nk-auth-roles{margin-bottom:12px}
.nk-auth-page:has(.nk-register) .nk-auth-card input{height:48px;min-height:48px;font-size:13px}
.nk-auth-page:has(.nk-register) .nk-auth-primary{height:56px;min-height:56px;margin-top:18px;font-size:16px;line-height:24px}
/* Account administration is separate from product sign-in presentation. */
.nk-auth-management button,.nk-auth-management input,.nk-auth-management .table-wrap{border-radius:5px}.nk-auth-management button,.nk-auth-management input{min-height:44px}.nk-auth-management button{padding:8px 12px}
body:has(>.nk-auth-page){margin:0}body.nk-partner-auth>header{display:none}body.nk-partner-auth>main{padding:0;width:100%;max-width:none;margin:0}body.nk-partner-auth #notice:empty{display:none}
@media(min-width:1001px) and (max-height:800px){.nk-auth-page{padding:16px 0;--nk-role-space:54px;--nk-brand-gap:18px;--nk-input-height:50px}.nk-auth-page .nk-auth-card,.nk-auth-page .nk-auth-card.nk-register{min-height:calc(100dvh - 32px);padding:24px}.nk-auth-page .nk-auth-brand{min-height:56px;margin-bottom:var(--nk-brand-gap);gap:12px}.nk-auth-page .nk-auth-brand img.novanok-logo{width:56px;height:56px;min-width:56px;max-width:56px;flex-basis:56px}.nk-auth-page .nk-auth-brand strong,.nk-auth-page .nk-auth-brand h1{font-size:25px}.nk-auth-page .nk-auth-card h2{font-size:26px;margin-bottom:18px}.nk-auth-page .nk-auth-card h2::after{font-size:13px;margin-top:6px}.nk-auth-page .nk-auth-fields{gap:16px}.nk-auth-page .nk-auth-card input,.nk-auth-page .nk-auth-card select{height:50px;min-height:50px}.nk-auth-page .nk-auth-primary{height:54px;min-height:54px;font-size:17px;line-height:24px;margin-top:20px}.nk-auth-page .nk-auth-links{margin-top:18px}.nk-auth-page .nk-auth-roles{margin-bottom:16px}.nk-auth-page .nk-auth-roles button{height:38px;min-height:38px;padding:6px 16px}.nk-auth-page:has(.nk-register){--nk-role-space:50px;--nk-brand-gap:12px;--nk-input-height:44px}.nk-auth-page:has(.nk-register) .nk-auth-fields{gap:10px}.nk-auth-page:has(.nk-register) .nk-auth-card input{height:44px;min-height:44px}.nk-auth-page:has(.nk-register) .nk-auth-primary{height:50px;min-height:50px;margin-top:14px}.nk-auth-page:has(.nk-register) .nk-auth-links{margin-top:12px}}
@media(max-width:1000px){.nk-auth-page::after{display:none}.nk-auth-page{display:flex;flex-direction:column;justify-content:flex-start;padding:270px 20px 30px;min-height:100dvh}.nk-auth-page::before{width:100%;height:300px;bottom:auto;background-size:contain;background-position:center}.nk-auth-page .nk-auth-card,.nk-auth-page .nk-auth-card.nk-register{width:100%;max-width:544px;min-height:620px;padding:30px}}
@media(max-width:600px){.nk-auth-page{padding:180px 12px 24px;--nk-brand-gap:22px}.nk-auth-page::before{height:220px;background-size:contain;background-position:center}.nk-auth-page .nk-auth-card,.nk-auth-page .nk-auth-card.nk-register{padding:26px 20px;min-height:660px;border-radius:24px!important}.nk-auth-page .nk-auth-brand{min-height:52px;gap:12px;margin-bottom:var(--nk-brand-gap)}.nk-auth-page .nk-auth-brand img.novanok-logo{width:52px;height:52px;min-width:52px;max-width:52px;flex-basis:52px}.nk-auth-page .nk-auth-brand strong,.nk-auth-page .nk-auth-brand h1{font-size:24px}.nk-auth-page .nk-auth-card h2{font-size:27px}.nk-auth-page .nk-auth-card input{font-size:16px}.nk-auth-page .nk-auth-fields.nk-two-column{grid-template-columns:1fr}.nk-auth-page .nk-auth-wide{grid-column:auto}.nk-auth-page .nk-auth-links{gap:6px}.nk-auth-page .nk-auth-links button,.nk-auth-page .nk-auth-links a,.nk-auth-page .nk-auth-links summary{font-size:11px}}
@media(prefers-reduced-motion:reduce){.nk-auth-page *{transition:none!important;animation:none!important}}
/* Container glyphs remain visible when Chrome/password managers repaint inputs. */
.nk-auth-page .nk-auth-field:has(input[type=email])::after,.nk-auth-page .nk-auth-field:is(:has(input[autocomplete="current-password"]),:has(input[autocomplete="new-password"]),:has(.nk-auth-password input),:has(.password-field input),:has(.password-wrap input))::after{content:"";position:absolute;left:15px;top:calc(25px + var(--nk-input-height) / 2 - 10px);width:20px;height:20px;z-index:1;pointer-events:none;background-position:center;background-size:20px;background-repeat:no-repeat}
.nk-auth-page .nk-auth-field:has(input[type=email])::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334f92' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E")}
.nk-auth-page .nk-auth-field:is(:has(input[autocomplete="current-password"]),:has(input[autocomplete="new-password"]),:has(.nk-auth-password input),:has(.password-field input),:has(.password-wrap input))::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334f92' stroke-width='1.6'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3m-4 4v3'/%3E%3C/svg%3E")}
.nk-auth-page .nk-auth-card input[type=email],.nk-auth-page .nk-auth-card input[autocomplete="current-password"],.nk-auth-page .nk-auth-card input[autocomplete="new-password"],.nk-auth-page .nk-auth-password input,.nk-auth-page .password-field input,.nk-auth-page .password-wrap input{padding-left:46px;background-image:none}

/* Explicit image owners reserve their layout and reveal image/text together. */
:is(.nk-auth-brand,.brand:has(img.novanok-logo),.premium-eligibility-hero,.home-service-card,.fin-explore-service-card,.support-card,[data-nk-image-group]):has(img:not([data-nk-image-ready])),[data-nk-image-state="pending"]{visibility:hidden}
