/* Notive foundations, v1.0. Shared by both independent Node services. */
:root {
  color-scheme: light;
  --ns-bg: #f7f8fa; --ns-surface: #ffffff; --ns-inset: #f1f4f6; --ns-sidebar: #f2f4f6;
  --ns-text: #1c2530; --ns-secondary: #485563; --ns-muted: #616e7c;
  --ns-border: #dfe4e9; --ns-control: #8593a1;
  --ns-accent: #216b4d; --ns-accent-hover: #185439; --ns-accent-soft: #e6f1ea; --ns-on-accent: #ffffff;
  --ns-good: #196343; --ns-good-soft: #e6f3eb;
  --ns-warn: #88570a; --ns-warn-soft: #fff3d7;
  --ns-bad: #b63438; --ns-bad-soft: #fcebed;
  --ns-focus: #286cc4; --ns-overlay: #101a2870; --ns-glass: #fffffff0;
  --ns-shadow: 0 2px 5px #15233706; --ns-float: 0 20px 65px #101a2824;
  --ns-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ns-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --ns-space-1: 4px; --ns-space-2: 8px; --ns-space-3: 12px; --ns-space-4: 16px;
  --ns-space-5: 20px; --ns-space-6: 24px; --ns-space-8: 32px; --ns-space-12: 48px;
  --ns-radius-sm: 6px; --ns-radius: 10px; --ns-radius-lg: 14px;
  --ns-sidebar-width: 248px; --ns-header-height: 64px; --ns-duration: 150ms;
  /* Compatibility aliases keep legacy components and division logic intact. */
  --bg: var(--ns-bg); --card: var(--ns-surface); --surface: var(--ns-surface); --surface2: var(--ns-inset);
  --line: var(--ns-border); --line2: var(--ns-control); --ink: var(--ns-text); --ink2: var(--ns-secondary); --ink3: var(--ns-muted);
  --accent: var(--ns-accent); --accent2: var(--ns-accent-hover); --accentRGB: 33,107,77;
  --acc: var(--ns-accent); --acc2: var(--ns-accent-hover); --acc-soft: var(--ns-accent-soft);
  --gold: var(--ns-accent); --gold2: var(--ns-accent); --gold3: var(--ns-accent); --gold-soft: var(--ns-accent-soft); --goldg: var(--ns-accent);
  --good: var(--ns-good); --good-soft: var(--ns-good-soft); --warn: var(--ns-warn); --warn-soft: var(--ns-warn-soft);
  --bad: var(--ns-bad); --bad-soft: var(--ns-bad-soft); --muted: var(--ns-inset); --live: #bc2944;
  --off: var(--ns-muted); --shadow: var(--ns-shadow); --shadow2: var(--ns-float); --r: var(--ns-radius); --side: var(--ns-sidebar-width);
}
:root[data-theme='dark'] {
  color-scheme: dark;
  --ns-bg: #101518; --ns-surface: #171e23; --ns-inset: #202a31; --ns-sidebar: #141b20;
  --ns-text: #eaf0f4; --ns-secondary: #c1cdd6; --ns-muted: #9daebc;
  --ns-border: #33414c; --ns-control: #6e8292;
  --ns-accent: #88d9b2; --ns-accent-hover: #b4eacf; --ns-accent-soft: #243e33; --ns-on-accent: #10261b;
  --ns-good: #8cdab2; --ns-good-soft: #223b30;
  --ns-warn: #edca82; --ns-warn-soft: #3e321e;
  --ns-bad: #f1a3ac; --ns-bad-soft: #42282e;
  --ns-focus: #90bfff; --ns-overlay: #03080caf; --ns-glass: #171e23ed;
  --ns-shadow: 0 2px 5px #00000018; --ns-float: 0 20px 65px #00000065;
  --live: #f19aaa;
}

*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;background:var(--ns-bg);color:var(--ns-text);font:14px/1.6 var(--ns-font);display:grid;grid-template-columns:1fr 1fr;-webkit-font-smoothing:antialiased}
.login-story{background:var(--ns-sidebar);border-right:1px solid var(--ns-border);padding:42px 9%;display:flex;flex-direction:column;min-height:100vh}
.login-brand{display:flex;align-items:center;gap:10px;color:var(--ns-text);font-weight:650;font-size:17px;letter-spacing:-.5px}
.login-brand img{width:34px;height:34px}
.login-copy{margin:auto 0;max-width:450px;padding:80px 0}
.login-eyebrow{font-size:10px;font-weight:650;color:var(--ns-accent);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:22px}
.login-copy h1{font-size:clamp(35px,4vw,56px);line-height:1.14;font-weight:550;letter-spacing:-2.5px;margin-bottom:26px}
.login-copy p{color:var(--ns-secondary);max-width:340px;font-size:14px;line-height:1.9}
.login-product{margin-top:48px;padding-top:24px;border-top:1px solid var(--ns-border);display:flex;align-items:center;gap:12px;color:var(--ns-secondary);font-size:12px}
.login-product span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--ns-border);border-radius:8px;background:var(--ns-surface);color:var(--ns-accent);font-weight:650}
.login-product small{display:block;font-size:11px;color:var(--ns-muted);margin-top:2px}
.login-story footer{font-size:10px;color:var(--ns-muted)}
.login-main{position:relative;display:flex;align-items:center;justify-content:center;padding:80px 36px}
.login-theme{position:absolute;top:36px;right:36px;border:1px solid var(--ns-border);border-radius:7px;padding:7px 12px;color:var(--ns-secondary);background:var(--ns-surface);cursor:pointer;font:11px var(--ns-font)}
.login-box{width:100%;max-width:350px}
.login-box .login-eyebrow{margin-bottom:12px;color:var(--ns-muted)}
.login-box h2{font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.9px;margin:0 0 10px}
.login-description{color:var(--ns-muted);font-size:12px;margin-bottom:30px}
label{display:block;font-size:12px;font-weight:500;color:var(--ns-secondary);margin:20px 0 7px}
input{width:100%;min-height:44px;font:14px var(--ns-font);background:var(--ns-surface);color:var(--ns-text);border:1px solid var(--ns-control);border-radius:7px;padding:11px 12px}
.login-pin{position:relative}.login-pin input{padding-right:74px}
.login-show{position:absolute;right:6px;top:6px;min-height:32px;border:0;border-radius:5px;background:var(--ns-inset);color:var(--ns-secondary);padding:5px 9px;cursor:pointer;font:10px var(--ns-font)}
.login-submit{width:100%;min-height:44px;font:550 13px var(--ns-font);border:1px solid var(--ns-accent);border-radius:7px;color:var(--ns-on-accent);background:var(--ns-accent);cursor:pointer;margin-top:26px}
.login-submit:hover{background:var(--ns-accent-hover)}.login-submit:disabled{opacity:.7;cursor:wait}
.login-error{background:var(--ns-bad-soft);color:var(--ns-bad);border:1px solid var(--ns-bad);border-radius:7px;padding:10px 12px;font-size:12px;margin-top:18px}
.login-help{margin-top:26px;padding-top:20px;border-top:1px solid var(--ns-border);font-size:11px;color:var(--ns-muted);line-height:1.8}
.login-mobile-brand{display:none}
:is(button,input,a):focus-visible{outline:2px solid var(--ns-focus);outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:800px){body{grid-template-columns:1fr}.login-story{display:none}.login-main{min-height:100dvh;padding:100px 24px 50px;align-items:flex-start}.login-mobile-brand{display:flex;margin:0 0 54px;font-size:15px}.login-mobile-brand img{width:28px;height:28px}.login-theme{top:26px;right:24px}.login-box h2{font-size:26px}.login-box{max-width:380px}input{font-size:16px;min-height:46px}.login-show{min-height:34px}.login-submit{min-height:46px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.login-brand svg{flex:none}#loginBack{margin-top:18px;border:0;background:none;color:var(--ns-accent);font:12px var(--ns-font);cursor:pointer;padding:6px 0}.login-2fa-note{color:var(--ns-muted);font-size:12px;margin:12px 0}#k{letter-spacing:8px;font:24px var(--ns-mono)}