/* NeonLynk Global Styles */
html, body {
    font-family: 'Courier New', monospace;
    background: #0a0a0a;
    color: #00ffff;
    margin: 0;
    padding: 0;
}

/* Override Bootstrap defaults with Neon theme */
a, .btn-link {
    color: #00ffff;
    text-decoration: none;
}

a:hover {
    color: #ff00ff;
    text-decoration: none;
}

.btn-primary {
    color: #000;
    background: linear-gradient(45deg, #ff00ff, #00ffff);
    border: none;
}

/* Focus states */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 255, 255, 0.5);
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

/* Form validation */
.valid.modified:not([type=checkbox]) {
    outline: 1px solid #00ff00;
    box-shadow: 0 0 5px rgba(0, 255, 0, 0.3);
}

.invalid {
    outline: 1px solid #ff0066;
    box-shadow: 0 0 5px rgba(255, 0, 102, 0.3);
}

.validation-message {
    color: #ff0066;
    font-family: 'Courier New', monospace;
    font-size: 0.85rem;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0a0a0a;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(45deg, #ff00ff, #00ffff);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(45deg, #ff33ff, #33ffff);
}

/* Selection styling */
::selection {
    background: rgba(0, 255, 255, 0.3);
    color: #fff;
}

::-moz-selection {
    background: rgba(0, 255, 255, 0.3);
    color: #fff;
}

/* Improved error boundary */
.blazor-error-boundary {
    background: linear-gradient(45deg, #ff0066, #ff00ff);
    color: #fff;
    padding: 1rem 1.5rem;
    border-top: 2px solid #ff00ff;
    font-family: 'Courier New', monospace;
    font-weight: bold;
}

.blazor-error-boundary::after {
    content: "⚠️ System Error Detected in the Grid";
}

/* Bootstrap component overrides for better contrast */
.card {
    background-color: #1a1a1a;
    border: 1px solid #00ffff;
    color: #00ffff;
}

.card-header {
    background-color: #2a2a2a;
    border-bottom: 1px solid #00ffff;
    color: #00ffff;
}

.card-body {
    color: #00ffff;
}

.text-muted {
    color: #cccccc !important;
}

.container, .row, .col, .col-lg-4, .col-lg-8, .col-sm-6 {
    color: inherit;
}

/* Display headings */
.display-6 {
    color: #00ffff;
}

h1, h2, h3, h4, h5, h6 {
    color: #00ffff;
}

p {
    color: #cccccc;
}

/* Badge contrast improvements */
.badge {
    color: #000 !important;
    font-weight: bold;
}

/* Alert improvements */
.alert {
    border: 1px solid;
}

.alert-danger {
    background-color: #2a1a1a;
    border-color: #ff0066;
    color: #ff6699;
}

/* Utility classes */
.neon-glow {
    text-shadow: 0 0 10px currentColor;
}

.neon-border {
    border: 1px solid;
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: rgba(0, 255, 255, 0.6);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
