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