/* Custom styles for NetX State platform */

/* Navbar logo styles */
.navbar-brand.logo-container {
    background-color: var(--netx-dark-lighter);
    padding: 8px 15px;
    border-radius: 8px;
    border: 1px solid rgba(177, 250, 99, 0.3);
    box-shadow: 0 0 10px rgba(177, 250, 99, 0.2);
    transition: all 0.3s ease;
    margin-right: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbar-brand.logo-container:hover {
    background-color: rgba(36, 56, 55, 0.9);
    border-color: var(--netx-primary);
    box-shadow: 0 0 15px rgba(177, 250, 99, 0.4);
}

.navbar-brand.logo-container img {
    filter: drop-shadow(0 0 4px rgba(177, 250, 99, 0.6));
    transition: all 0.3s ease;
}

.navbar-brand.logo-container:hover img {
    filter: drop-shadow(0 0 6px rgba(177, 250, 99, 0.8));
    transform: scale(1.05);
}

/* Global styles */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

/* Node cards */
.node-card {
    transition: transform 0.2s ease-in-out;
    background-color: var(--netx-dark-lighter);
    border-color: rgba(209, 209, 209, 0.2);
}

.node-card:hover {
    transform: translateY(-5px);
    border-color: var(--netx-primary);
}

/* Proposal status badges */
.badge-open {
    background-color: var(--netx-accent);
    color: var(--netx-dark);
}

.badge-closed {
    background-color: var(--netx-secondary);
    color: var(--netx-dark);
}

.badge-accepted {
    background-color: var(--netx-primary);
    color: var(--netx-dark);
}

.badge-rejected {
    background-color: var(--netx-warning);
    color: var(--netx-light);
}

/* Resource status indicators */
.resource-available {
    color: var(--netx-primary);
}

.resource-in-use {
    color: var(--netx-accent);
}

.resource-maintenance {
    color: var(--netx-warning);
}

/* Chat area */
.chat-container {
    height: 400px;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.25rem;
    padding: 1rem;
    background-color: var(--netx-dark-lighter);
}

.chat-message {
    margin-bottom: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    max-width: 80%;
}

.chat-message-self {
    background-color: var(--netx-primary);
    color: var(--netx-dark);
    margin-left: auto;
}

.chat-message-other {
    background-color: var(--netx-secondary);
    color: var(--netx-dark);
}

.chat-message-announcement {
    background-color: var(--netx-warning);
    color: var(--netx-light);
    width: 100%;
    text-align: center;
    font-weight: bold;
}

/* Voting interface */
.vote-buttons {
    display: flex;
    gap: 1rem;
    margin: 1rem 0;
}

.vote-button-yes {
    background-color: var(--netx-primary);
    color: var(--netx-dark);
    border-color: var(--netx-primary);
}

.vote-button-no, .vote-button-abstain {
    background-color: var(--netx-warning);
    color: var(--netx-light);
    border-color: var(--netx-warning);
}

.vote-count {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--netx-primary);
}

/* Profile sections */
.profile-section {
    margin-bottom: 2rem;
    background-color: var(--netx-dark-lighter);
    border-radius: 0.5rem;
    padding: 1.5rem;
    border: 1px solid rgba(209, 209, 209, 0.2);
}

.profile-section h3 {
    color: var(--netx-primary);
    margin-bottom: 1rem;
}

/* Node map */
#node-map {
    height: 400px;
    width: 100%;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
    border: 1px solid var(--netx-primary);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .chat-message {
        max-width: 90%;
    }
}

/* Additional theme elements */
.bg-primary-subtle {
    background-color: rgba(177, 250, 99, 0.2) !important;
}

.bg-accent-subtle {
    background-color: rgba(178, 161, 255, 0.2) !important;
}

.bg-warning-subtle {
    background-color: rgba(254, 119, 51, 0.2) !important;
}

.border-primary {
    border-color: var(--netx-primary) !important;
}

.border-accent {
    border-color: var(--netx-accent) !important;
}

.text-accent {
    color: var(--netx-accent) !important;
}
