:root {
    --nslm-bg: #000000; --nslm-surface: #0A0A0A; --nslm-surface-2: #121212;
    --nslm-surface-3: #1A1A1A; --nslm-surface-4: #242424; --nslm-border: #2A2A2A;
    --nslm-border-focus: #7C8AFF; --nslm-primary: #8B95FF; --nslm-primary-hover: #A5ADFF;
    --nslm-primary-glow: rgba(139, 149, 255, 0.2); --nslm-danger: #FF5252;
    --nslm-success: #4CAF50; --nslm-text: #FFFFFF; --nslm-text-secondary: #E2E8F0;
    --nslm-text-muted: #94A3B8; --nslm-radius: 12px; --nslm-radius-lg: 18px;
    --nslm-shadow: 0 4px 24px rgba(0, 0, 0, 0.6); --nslm-shadow-lg: 0 8px 48px rgba(0, 0, 0, 0.8);
    --nslm-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1); --nslm-font: 'IBM Plex Mono', monospace;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
.nslm-container { width: 100%; max-width: 100%; margin: 0 auto; padding: 40px 48px; font-family: var(--nslm-font); color: var(--nslm-text); background: var(--nslm-bg); min-height: 100vh; -webkit-font-smoothing: antialiased; font-size: 14px; }
.nslm-input { width: 100%; padding: 12px 16px; font-family: var(--nslm-font); font-size: 16px; font-weight: 400; color: var(--nslm-text); background: var(--nslm-surface-2); border: 1px solid var(--nslm-border); border-radius: var(--nslm-radius); outline: none; transition: border-color var(--nslm-transition), box-shadow var(--nslm-transition); }
.nslm-input:focus { border-color: var(--nslm-border-focus); box-shadow: 0 0 0 3px var(--nslm-primary-glow); }
.nslm-input::placeholder { color: var(--nslm-text-muted); }
.nslm-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; font-family: var(--nslm-font); font-size: 14px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; border: none; border-radius: var(--nslm-radius); cursor: pointer; transition: all var(--nslm-transition); text-decoration: none; }
.nslm-btn-primary { color: #000000; background: var(--nslm-primary); }
.nslm-btn-primary:hover { background: var(--nslm-primary-hover); box-shadow: 0 0 20px var(--nslm-primary-glow); }
.nslm-btn-ghost { color: var(--nslm-text-secondary); background: transparent; border: 1px solid var(--nslm-border); }
.nslm-btn-ghost:hover { color: var(--nslm-text); border-color: var(--nslm-text-secondary); }
.nslm-hidden { display: none !important; }
.nslm-access-denied { display: flex; align-items: center; justify-content: center; min-height: 60vh; font-family: var(--nslm-font); color: var(--nslm-danger); font-size: 16px; background: var(--nslm-bg); }
