/* File: botc_c2_server/static/style.css */
/* General Body Styles */
body {
    font-family: 'Consolas', 'Monaco', 'Lucida Console', monospace;
    margin: 0;
    padding: 0;
    background: #0d0d0d; /* Very dark grey, almost black */
    color: #00ff00; /* Bright green text */
    font-size: 14px;
    line-height: 1.6;
}

/* Navigation Bar */
.botc-nav {
    background: #1a1a1a; /* Darker grey */
    padding: 10px 20px;
    border-bottom: 2px solid #ff0000; /* Red accent */
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #ff0000;
}

.botc-nav h1 {
    margin: 0;
    font-size: 1.6em;
    text-transform: uppercase;
    letter-spacing: 2px;
}
.botc-nav a {
    color: #00aaff; /* Bright blue for links */
    text-decoration: none;
    font-size: 1em;
    margin-left: 15px;
}
.botc-nav a:hover {
    text-decoration: underline;
}


/* Main Container */
.botc-container {
    width: 95%;
    max-width: 1600px; /* Wider for more data */
    margin: 20px auto;
    padding: 15px;
    background: #111; /* Slightly lighter than body */
    border: 1px solid #333; /* Dark grey border */
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.3); /* Subtle red glow */
}

/* Headers */
.botc-header {
    color: #ff4500; /* Orange-red */
    border-bottom: 1px solid #ff4500;
    padding-bottom: 8px;
    margin-top: 0;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 1.4em;
}
.botc-subheader {
    color: #ff6a00; /* Lighter orange */
    border-bottom: 1px dashed #777;
    padding-bottom: 5px;
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.2em;
    letter-spacing: 1px;
}

/* Tables */
.botc-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    font-size: 0.9em;
}
.botc-table th, .botc-table td {
    border: 1px solid #333;
    padding: 8px 10px;
    text-align: left;
}
.botc-table th {
    background-color: #2a2a2a; /* Dark grey for table headers */
    color: #ff4500;
    text-transform: uppercase;
    font-size: 0.95em;
}
.botc-table tr:nth-child(even) {
    background-color: #161616; /* Slightly different for even rows */
}
.botc-table tr:hover {
    background-color: #2f2f2f; /* Highlight on hover */
}
.botc-table a {
    color: #00ccff;
    text-decoration: none;
}
.botc-table a:hover {
    text-decoration: underline;
    color: #ffffff;
}

/* Status Dots */
.status-dot {
    height: 12px;
    width: 12px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
    border: 1px solid #555;
}
.status-dot.online {
    background-color: #00ff00; /* Bright green */
    box-shadow: 0 0 5px #00ff00;
}
.status-dot.offline {
    background-color: #555; /* Dark grey */
}

/* Preformatted Text (for fingerprints, user agents, JSON) */
.botc-pre {
    background: #000;
    border: 1px solid #222;
    padding: 5px 8px;
    white-space: pre-wrap;
    word-break: break-all;
    font-size: 0.85em;
    max-height: 80px; /* Limit height for long strings */
    overflow-y: auto;
    color: #ccc; /* Light grey for pre content */
    border-radius: 3px;
}

/* No Units Message */
.no-units.text-muted { /* Combining classes for specificity */
    color: #777;
    font-style: italic;
}

/* Info Grid for Station Details */
.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 15px;
    margin-bottom: 20px;
}
.info-block {
    background: #181818;
    padding: 15px;
    border: 1px solid #282828;
}
.info-block p {
    margin: 4px 0;
    font-size: 0.9em;
    word-wrap: break-word; /* Prevent overflow from long strings */
}
.info-block strong {
    color: #ff8c00; /* Orange for strong text (labels) */
    margin-right: 5px;
}
.info-block .botc-pre { /* Specific pre styling within info blocks */
    margin-top: 5px;
    max-height: 60px;
}


/* Tabs for Station Details */
.botc-tabs {
    display: flex;
    border-bottom: 1px solid #444;
    margin-bottom: 15px;
}
.botc-tab-button {
    padding: 10px 15px;
    cursor: pointer;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: #aaa;
    font-size: 1em;
    text-transform: uppercase;
    font-family: 'Consolas', 'Monaco', monospace;
    outline: none;
}
.botc-tab-button.active, .botc-tab-button:hover {
    color: #ff4500;
    border-bottom: 3px solid #ff4500;
    font-weight: bold;
}
.botc-tab-content {
    display: none;
    padding: 15px;
    border: 1px solid #2a2a2a;
    border-top: none; /* Align with tab border */
    background-color: #151515;
}
.botc-tab-content.active {
    display: block;
}

/* Forms: Labels, Inputs, Buttons */
.botc-label {
    display: block;
    margin-top: 12px;
    margin-bottom: 3px;
    color: #ccc;
    font-weight: bold;
    font-size: 0.95em;
}
.botc-input, .botc-textarea, .botc-select {
    width: calc(100% - 22px); /* Full width minus padding and border */
    padding: 8px 10px;
    margin-top: 5px;
    margin-bottom: 10px;
    background: #000;
    color: #00ff00;
    border: 1px solid #444;
    font-size: 0.95em;
    font-family: 'Consolas', 'Monaco', monospace;
    border-radius: 3px;
}
.botc-textarea {
    min-height: 80px;
    max-height: 250px;
    resize: vertical;
}
.botc-button {
    padding: 10px 18px;
    background: #550000; /* Dark red */
    color: #ffaaaa;
    border: 1px solid #880000;
    cursor: pointer;
    margin-top: 10px;
    font-size: 1em;
    text-transform: uppercase;
    font-family: 'Consolas', 'Monaco', monospace;
    border-radius: 3px;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.botc-button:hover {
    background: #880000; /* Brighter red on hover */
    color: white;
}

/* Task Items */
.task-item {
    background: #1e1e1e;
    padding: 8px 12px;
    margin-bottom: 8px;
    border: 1px solid #383838;
    font-size: 0.9em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 3px;
}
.task-item form {
    margin: 0;
}
.task-item button.botc-button { /* Specific styling for buttons within task items */
    padding: 6px 10px;
    font-size: 0.85em;
    background: #440000;
    margin-top: 0;
}

/* Data Sections in Offerings Tab */
.data-section {
    margin-top: 10px;
    padding: 10px;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 3px;
}
.data-item {
    border-bottom: 1px dashed #2c2c2c;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 0.85em;
}
.data-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.data-item small {
    color: #999;
}
.data-item .data-value { /* Styling for the actual data payload in pre tags */
    color: #00dd00; /* Slightly different green for data values */
    max-height: 250px;
    margin-top: 5px;
}

/* Flash Messages */
ul.flashes {
    list-style-type: none;
    padding: 0;
    margin-bottom: 15px;
}
.flash-error, .category-error { /* For login page and other pages */
    background-color: #4d0000;
    color: #ffcccc;
    padding: 10px;
    border: 1px solid #880000;
    margin-bottom: 10px;
    border-radius: 3px;
}
.flash-success, .category-success {
    background-color: #003300;
    color: #ccffcc;
    padding: 10px;
    border: 1px solid #006600;
    margin-bottom: 10px;
    border-radius: 3px;
}
.flash-info, .category-info {
    background-color: #003366;
    color: #cceeff;
    padding: 10px;
    border: 1px solid #0055aa;
    margin-bottom: 10px;
    border-radius: 3px;
}
.flash-warning, .category-warning {
    background-color: #4d4d00;
    color: #ffffcc;
    padding: 10px;
    border: 1px solid #888800;
    margin-bottom: 10px;
    border-radius: 3px;
}
