/* Shared navigation and theme tokens for the SaaS and issuer. */
:root{--canvas:#f1f5f9;--paper:#fff;--ink:#162b3b;--muted:#5d7285;--line:#dce5ed;--brand:#2362cc;--brand-soft:#eaf1ff;--soft:#f4f7fb;--navy:#102f42;--good:#126d59;--bad:#a72b45;--amber:#936017;--nav-bg:#12384a;--nav-text:#dae9ef;--header-bg:var(--nav-bg);--header-text:#f5f9ff;--input-bg:#fff;--success-bg:#e6f5ee;--danger-bg:#fff0f3;--warning-bg:#fff3dc;--focus:#54bbf5;color:var(--ink);background:var(--canvas);color-scheme:light}
:root[data-theme=dark]{--canvas:#1b1d20;--paper:#25272b;--ink:#f0f1f3;--muted:#b6b8be;--line:#42454b;--brand:#a1bdff;--brand-soft:#303640;--soft:#2d3035;--navy:#f0f1f3;--good:#7cdec0;--bad:#ff9fb4;--amber:#f2cd88;--input-bg:#202226;--success-bg:#263b33;--danger-bg:#412c34;--warning-bg:#40392c;color-scheme:dark}
body,body.nivelo-workspace{--nav-size:240px;--text:var(--ink);--surface:var(--paper);--accent:var(--brand);--accent-text:var(--brand);--danger:var(--bad);background:var(--canvas);color:var(--ink)}body.nav-collapsed{--nav-size:76px}
.saas-shell,body.nivelo-workspace .shell{display:block;min-height:100vh}.saas-shell>div:last-child,body.nivelo-workspace .workspace{margin-left:var(--nav-size);min-width:0}
.saas-nav,body.nivelo-workspace .sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav-size);height:100dvh;z-index:50;background:var(--nav-bg);border:0;padding:26px 14px 16px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;color:var(--nav-text)}
.saas-nav .wordmark,body.nivelo-workspace .brand.nivelo-brand{color:#fff;display:flex;align-items:center;gap:10px;padding:0 10px;min-height:45px;white-space:nowrap;letter-spacing:-1px}.brand-copy{display:block;font-size:29px}.saas-nav .wordmark small,.nivelo-brand strong span{color:#b8d6e5;font-size:8px;letter-spacing:1.25px;margin:0;display:block}.brand-symbol,body.nivelo-workspace .brand-mark{width:36px;height:36px;min-width:36px;border-radius:11px;background:#3a81da;color:#fff;font-size:30px;line-height:1;letter-spacing:-1px}.nivelo-brand strong{color:#fff;font-size:29px;letter-spacing:-1px}
.saas-nav .nav-caption,body.nivelo-workspace .nav-label{color:#a7c4d4;font-size:10px;letter-spacing:1.2px;margin:30px 10px 12px;padding:0}.saas-nav nav,body.nivelo-workspace .sidebar nav{display:grid;gap:6px;overflow:visible;padding:0}.saas-nav nav a,body.nivelo-workspace .sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 11px;color:var(--nav-text);border-radius:9px;font-size:13px;font-weight:500;min-height:44px;white-space:nowrap;line-height:1.5}.saas-nav nav a:hover,body.nivelo-workspace .sidebar nav a:hover{background:#ffffff13;color:white}.saas-nav nav a.active,body.nivelo-workspace .sidebar nav a.active{background:#28628a;color:#fff;box-shadow:inset 3px 0 #59c2dc}.saas-nav nav a svg,.nivelo-workspace .sidebar nav a svg{width:20px;height:20px;min-width:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.saas-top,body.nivelo-workspace .topbar{position:sticky;top:0;z-index:40;height:72px;background:var(--header-bg);color:var(--header-text);border:0;padding:0 32px;display:flex;align-items:center;gap:18px;box-shadow:0 2px 8px #102f4212}.saas-top .local-status{color:#d3e3f5;margin-left:auto;font-size:12px}.local-status:before{background:#75d4b3}.topbar .slash{color:#c4d9f2}.nav-toggle{width:40px;height:40px;min-width:40px;border:1px solid #ffffff38;border-radius:9px;background:#ffffff0d;color:inherit;display:grid;place-items:center;cursor:pointer}.nav-toggle:hover{background:#ffffff21}.nav-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.topbar #workspace-company-select{background:#ffffff12;border-color:#ffffff54;color:#fff;min-height:40px;width:min(380px,34vw);font-size:12px}.topbar #workspace-company-select option{background:var(--paper);color:var(--ink)}.nivelo-workspace .environment{margin-left:auto;background:#ffffff17;color:#eff8ff;border-color:#ffffff45}.support-banner{position:sticky;top:72px;z-index:30;background:var(--brand-soft);border-color:var(--line);color:var(--ink)}
.saas-content{padding:32px 36px 48px;max-width:1600px}.panel,.stat,.company-card,.issuer-strip,.picker-options,dialog{background:var(--paper);border-color:var(--line);color:var(--ink)}.panel-head h2,h1,h2,h3{color:var(--ink)}p,small,.hint,.help,.small-label,.inline-help,.lookup-status{color:var(--muted)}.stat{position:relative;overflow:hidden}.stat:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:#3c83cf}.stat:nth-child(2):before{background:#23a58c}.stat:nth-child(3):before{background:#b99143}.stat:nth-child(4):before{background:#8a78c4}.stat strong{color:var(--ink)}
input,select,textarea,body.nivelo-workspace input,body.nivelo-workspace select,body.nivelo-workspace textarea{background:var(--input-bg);border-color:var(--line);color:var(--ink)}input:read-only{background:var(--soft)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input:hover,select:hover,textarea:hover{border-color:var(--muted)}.btn,.nivelo-workspace .button.primary{background:#2362cc;color:#fff}.btn:hover,.nivelo-workspace .button.primary:hover{background:#194da6}.btn.secondary,.nivelo-workspace .button.secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}.btn.secondary:hover,.nivelo-workspace .button.secondary:hover{background:var(--soft)}.btn.quiet{color:var(--brand);background:transparent}.text-link,.nivelo-workspace .text-link{color:var(--brand)}:focus-visible,body.nivelo-workspace :focus-visible{outline:3px solid var(--focus);outline-offset:3px}table th{background:var(--soft);color:var(--muted);border-color:var(--line)}table td{border-color:var(--line)}.setup-result,.section-note,.activity-chip,.test-note,.nivelo-workspace .test-note{background:var(--soft);color:var(--muted);border-color:var(--line)}.section-note{border-left-color:#4299bb}.badge,.status{background:var(--soft);color:var(--muted)}.badge.good,.status.authorized{color:var(--good);background:var(--success-bg)}.badge.bad{color:var(--bad);background:var(--danger-bg)}.badge.warn,.status.uncertain,.status.rejected{color:var(--amber);background:var(--warning-bg)}.notice,.notice.subtle{background:var(--brand-soft);border-color:var(--line);color:var(--ink)}.notice.error{background:var(--danger-bg);border-color:var(--bad);color:var(--bad)}.notice.success{background:var(--success-bg);border-color:var(--good);color:var(--good)}.picker-clear{background:var(--input-bg);color:var(--muted)}.picker-options>button{background:var(--paper);color:var(--ink)}.picker-options>button strong{color:var(--brand)}.picker-options>button:hover,.picker-options>button[aria-selected=true]{background:var(--brand-soft)}.company-icon,.issuer-icon,.nivelo-workspace .section-number{background:var(--brand-soft);color:var(--brand)}.summary-panel{background:var(--paper);border-color:var(--line)}.paper-preview{background:var(--paper)}.summary-top,.summary-amount{color:var(--ink)}.summary-divider{background:var(--line)}.steps li.active{color:var(--brand)}.steps li span{background:var(--paper);border-color:var(--line)}.steps li.active span{background:#2362cc;color:#fff;border-color:#2362cc}summary{color:var(--ink)}.workspace-footer{color:var(--muted);border-color:var(--line)}.field-error{color:var(--bad)}.auth-form-side{background:var(--canvas)}.auth-card footer{border-color:var(--line)}.auth-story{background:#12384a}.auth-story h1{color:#fff}.auth-story .wordmark{color:#fff}.password-wrap button{color:var(--muted)}.invite-link{background:var(--soft);color:var(--ink)}.account-summary dd{color:var(--ink)}
.nav-user,body.nivelo-workspace .sidebar-foot{margin-top:auto;padding:16px 0 0;border-top:1px solid #ffffff26;display:block;overflow:visible;color:var(--nav-text)}.account-control{position:relative}.account-trigger{width:100%;min-height:56px;padding:8px;display:flex;align-items:center;gap:11px;text-align:left;color:var(--nav-text);background:#ffffff0c;border:1px solid #ffffff16;border-radius:11px;cursor:pointer}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:#ffffff1c}.account-trigger>svg{width:34px;height:34px;min-width:34px;padding:7px;fill:none;stroke:currentColor;stroke-width:1.6;border-radius:50%;background:#58b9b926;stroke-linecap:round;stroke-linejoin:round}.account-trigger-copy{min-width:0;flex:1}.account-trigger-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:inherit}.account-trigger-copy small{color:#b8d6e5;font-size:11px}.account-chevron{font-size:16px}.account-menu{position:fixed;left:calc(var(--nav-size) + 12px);bottom:18px;width:280px;max-width:calc(100vw - var(--nav-size) - 24px);padding:8px;border-radius:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 40px #0004;z-index:100;letter-spacing:normal}.account-identity{display:grid;gap:4px;padding:13px 12px 16px;border-bottom:1px solid var(--line);margin-bottom:6px;overflow-wrap:anywhere}.account-identity strong{font-size:14px}.account-identity span{font-size:12px;color:var(--muted)}.account-identity small{color:var(--muted)}.account-menu>a,.account-menu>button{width:100%;min-height:44px;display:flex;align-items:center;gap:11px;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:13px;text-align:left;cursor:pointer}.account-menu>a:hover,.account-menu>button:hover{background:var(--soft)}.account-menu svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-collapsed .brand-copy,.nav-collapsed .nivelo-brand strong,.nav-collapsed .nav-copy,.nav-collapsed .nav-caption,.nav-collapsed .nav-label,.nav-collapsed .account-trigger-copy,.nav-collapsed .account-chevron{display:none!important}.nav-collapsed .saas-nav,.nav-collapsed.nivelo-workspace .sidebar{padding-left:10px;padding-right:10px}.nav-collapsed .saas-nav .wordmark,.nav-collapsed.nivelo-workspace .brand.nivelo-brand{justify-content:center;padding:0}.nav-collapsed .saas-nav nav,.nav-collapsed.nivelo-workspace .sidebar nav{margin-top:28px}.nav-collapsed .saas-nav nav a,.nav-collapsed.nivelo-workspace .sidebar nav a{justify-content:center;padding:12px}.nav-collapsed .account-trigger{justify-content:center;padding:7px}.nav-collapsed .account-trigger>svg{padding:6px}
@media(max-width:860px){.saas-content{padding:24px}.saas-top,body.nivelo-workspace .topbar{padding:0 18px;gap:12px}.topbar #workspace-company-select{width:min(350px,45vw)}}
@media(max-width:600px){.saas-top,body.nivelo-workspace .topbar{height:64px;padding:0 12px;gap:10px}.saas-top .local-status,.nivelo-workspace .topbar>span:not(.environment){display:none}.topbar .environment{display:none}.topbar #workspace-company-select{width:calc(100vw - var(--nav-size) - 80px);font-size:11px}.saas-content{padding:24px 16px}.saas-nav,body.nivelo-workspace .sidebar{padding-top:20px}.page-head{gap:14px}.support-banner{top:64px;padding:10px 16px}.account-menu{bottom:12px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.client-company .row-actions{flex-direction:column;width:100%}.client-company .row-actions .btn{width:100%}.page-head h1{font-size:25px}}
@media(prefers-reduced-motion:no-preference){.saas-shell>div:last-child,.nivelo-workspace .workspace,.saas-nav,.nivelo-workspace .sidebar{transition:margin-left .16s ease,width .16s ease}}

/* The legacy issuer defines a few body-level tokens and fixed surfaces. */
:root body.nivelo-workspace{--muted:#5d7285;--line:#dce5ed;--soft:#f4f7fb}
:root[data-theme=dark] body.nivelo-workspace{--muted:#b6b8be;--line:#42454b;--soft:#2d3035}
body.nivelo-workspace .panel,body.nivelo-workspace .issuer-strip,body.nivelo-workspace .summary-panel,body.nivelo-workspace .paper-preview,body.nivelo-workspace .picker-options{background:var(--paper);border-color:var(--line);color:var(--ink)}
body.nivelo-workspace .summary-top{background:var(--soft);color:var(--ink);border-color:var(--line)}
body.nivelo-workspace .page-heading p,body.nivelo-workspace .section-heading p,body.nivelo-workspace .help,body.nivelo-workspace .inline-help,body.nivelo-workspace .issuer-strip #issuer-meta,body.nivelo-workspace .lookup-status,body.nivelo-workspace .muted,body.nivelo-workspace .small-label{color:var(--muted)}
body.nivelo-workspace .account-trigger-copy small,body.nivelo-workspace .account-identity small{display:block}
body.nivelo-workspace .picker-clear{background:var(--input-bg);color:var(--muted)}
body.nivelo-workspace .summary-divider{background:var(--line)}
body.nivelo-workspace .test-note strong,body.nivelo-workspace .summary-top span{color:var(--ink)}
body.nivelo-workspace .steps li,body.nivelo-workspace .required{color:var(--muted)}
.client-entry-title{margin-top:32px}
.mobile-nav-close,.nav-scrim{display:none}
.auth-story .brand-copy,.auth-card .brand-copy{display:block!important}
@media(max-width:600px){
  .saas-shell>div:last-child,body.nivelo-workspace .workspace{margin-left:76px}
  .topbar #workspace-company-select{width:calc(100vw - 156px)}
  body:not(.nav-collapsed) .saas-nav .wordmark,body:not(.nav-collapsed).nivelo-workspace .brand.nivelo-brand{padding-right:30px}
  body:not(.nav-collapsed) .mobile-nav-close{display:grid;position:absolute;right:10px;top:24px;width:30px;height:32px;min-width:30px;padding:4px}
  body:not(.nav-collapsed):has(.saas-nav,.sidebar) .nav-scrim{display:block;position:fixed;inset:0;z-index:45;background:#07172666;width:100%;height:100dvh;border:0;border-radius:0;padding:0}
  body:not(.nav-collapsed) .account-menu{left:12px;bottom:82px;width:216px;max-width:calc(100vw - 24px)}
}

.header-theme{flex-shrink:0} .saas-top .header-theme,body.nivelo-workspace .topbar .header-theme{margin-left:0}@media(max-width:600px){.topbar #workspace-company-select{width:calc(100vw - 204px)}}
.access-secondary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px}.auth-card .access-secondary .btn{width:auto;font-size:13px}.auth-card #access-stage strong{overflow-wrap:anywhere}#access-stage .notice{margin-top:20px}#access-code-form input{font-size:24px;letter-spacing:7px;font-variant-numeric:tabular-nums}#access-stage>a{margin-top:14px}#mail-form .form-grid{align-items:start}
.otp-control{position:relative;margin-top:8px}.otp-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.otp-slot{height:54px;display:grid;place-items:center;background:var(--input-bg);border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:25px;font-weight:600;font-variant-numeric:tabular-nums}.otp-slot.filled{background:var(--soft)}.otp-slot.current{border-color:var(--brand);box-shadow:0 0 0 2px var(--focus)}#access-code-form .otp-input{position:absolute;inset:0;margin:0;height:100%;width:100%;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;letter-spacing:normal;outline:0;box-shadow:none}#access-code-form .otp-input::selection{color:transparent;background:transparent}.otp-control:has(input[aria-invalid=true]) .otp-slot{border-color:var(--bad)}
