:root{--bg: #f0f0f0;--bg-surface: #ffffff;--bg-inset: #e8e8e8;--bg-hover: #e0e0e0;--ink: #1a1a1a;--ink-soft: #555555;--ink-faint: #999999;--line: #d0d0d0;--line-soft: #e2e2e2;--line-strong: #b0b0b0;--ok: #2e7d32;--ok-soft: #e8f5e9;--err: #c62828;--err-soft: #ffebee;--warn: #ef8c00;--warn-soft: #fff3e0;--info: #1565c0;--info-soft: #e3f2fd;--autopay: #6a1b9a;--autopay-soft: #f3e5f5;--acct-blue: #1976d2;--acct-teal: #00897b;--acct-green: #388e3c;--acct-orange: #e65100;--acct-red: #c62828;--acct-purple: #7b1fa2;--acct-pink: #ad1457;--acct-brown: #5d4037;--acct-gray: #546e7a;--acct-navy: #283593;--font-display: "Outfit", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", monospace;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea,button{font-family:var(--font-body);font-size:inherit}.nm-app{display:flex;flex-direction:column;height:100%;overflow:hidden}.nm-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;background:var(--bg-surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);z-index:100}.nm-header-title{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--ink);letter-spacing:-.3px}.nm-content{flex:1;overflow-y:auto;padding:16px}.nm-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-around;height:56px;background:var(--bg-surface);border-top:1px solid var(--line);z-index:100}.nm-footer button{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:var(--ink-faint);font-size:10px;font-family:var(--font-mono);cursor:pointer;padding:4px 12px;transition:color .15s}.nm-footer button.active,.nm-footer button:hover{color:var(--ink)}.nm-card{background:var(--bg-surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.nm-card+.nm-card{margin-top:12px}.nm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-surface);color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:14px;cursor:pointer;transition:all .15s}.nm-btn:hover{background:var(--bg-hover);border-color:var(--line-strong)}.nm-btn-primary{background:var(--ink);color:var(--bg-surface);border-color:var(--ink)}.nm-btn-primary:hover{background:#333}.nm-btn-sm{padding:4px 10px;font-size:13px}.nm-input{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-surface);color:var(--ink);font-size:14px;transition:border-color .15s}.nm-input:focus{outline:none;border-color:var(--ink-soft);box-shadow:0 0 0 2px #0000000f}.nm-input::placeholder{color:var(--ink-faint)}.nm-select{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-surface);color:var(--ink);font-size:14px;cursor:pointer}.nm-label{display:block;font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-faint);margin-bottom:4px}.nm-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:500}.nm-badge-ok{background:var(--ok-soft);color:var(--ok)}.nm-badge-err{background:var(--err-soft);color:var(--err)}.nm-badge-warn{background:var(--warn-soft);color:var(--warn)}.nm-badge-info{background:var(--info-soft);color:var(--info)}.nm-badge-autopay{background:var(--autopay-soft);color:var(--autopay)}.nm-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.nm-acct-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0}@media (min-width: 768px){.nm-content{max-width:800px;margin:0 auto;padding:24px}}@media (min-width: 1024px){.nm-content{max-width:960px}}
