body, html {
    height: 100%;
    margin: 0;
}
.container-fluid {
    height: 100%;
}
.card {
    height: 100%;
    border: none;
    border-radius: 0.25rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
.card-body {
    overflow-y: auto;
    padding: 1.25rem;
    background-color: #f8f9fa;
}
.card-body .card-text {
    color: #343a40; /* Dark text color for visibility */
}
.nav-tabs .nav-link {
    color: #495057;
}
.nav-tabs .nav-link.active {
    color: #666666;
}
.spinner-border {
    display: none;
}
.spinner-border.running {
    display: inline-block;
}
.progress-item {
    border: 1px solid #ddd;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 5px;
    background-color: #f8f9fa;
}
.progress-item h5 {
    margin-bottom: 10px;
}
.progress-item p {
    margin-bottom: 5px;
}
.progress-item pre {
    white-space: pre-wrap;
    word-wrap: break-word;
    display: none;
}
#result-content {
    white-space: pre-wrap;
    word-wrap: break-word;
    border-radius: 5px;
    padding: 15px;
    background-color: #2d2d2d;
    color: #f8f9fa;
    max-height: 400px;
    overflow-y: auto;
}
.btn-group .btn {
    margin-right: 5px;
}
.btn-group .btn:last-child {
    margin-right: 0;
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: #666666;
    border-color: #666666;
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-control-label::before {
    left: -2.25rem;
    width: 2rem;
    height: 1rem;
    pointer-events: all;
    border-radius: 1rem;
}

.custom-control-label::after {
    top: 0.25rem;
    left: -2rem;
    width: 1rem;
    height: 1rem;
    border-radius: 1rem;
    background-color: #fff;
    transition: transform 0.15s ease-in-out;
}

.custom-control-input:checked ~ .custom-control-label::after {
    transform: translateX(1rem);
}

#scan-panel {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

#scan-panel h2 {
    font-size: 24px;
    color: #666666;
}

#scan-panel .form-group label {
    font-weight: bold;
}

#scan-panel .btn-primary {
    background-color: #666666;
    border-color: #666666;
}

#scan-panel .btn-primary:hover {
    background-color: #666666;
    border-color: #666666;
}

#results-tree {
    border: 1px solid #ddd;
    padding: 15px;
    background-color: #fff;
    border-radius: 5px;
    max-height: 400px;
    overflow-y: auto;
}

#scanChart {
    max-height: 400px;
}

.card-header {
    background-color: #666666;
    color: #fff;
}

.card-title {
    color: #343a40;
    margin-bottom: 0;
}

.card .card-header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header .d-flex img {
    border: 2px solid #666666;
}

#settingsContent {
    font-family: monospace;
    white-space: pre;
}

.blur-text {
    filter: blur(5px);
    cursor: pointer;
}

.blur-text:hover {
    filter: none;
}

.terminal {
    font-family: 'Courier New', Courier, monospace;
    position: relative;
    background-color: #aaaaaa00;
    border-radius: 5px;
    overflow: hidden;
}

.terminal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 10px;
    background-color: #2d2d2d00;
    border-bottom: 1px solid #0c0c0c00;
}

.terminal-buttons {
    display: flex;
    gap: 5px;
}

.terminal-button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
}

.terminal-button.close {
    background-color: #ff5e5600;
}

.terminal-button.minimize {
    background-color: #ffbd2e00;
}

.terminal-button.maximize {
    background-color: #27c93f00;
}

.terminal-title {
    color: #ccc;
    font-size: 14px;
}

.terminal-prompt {
    color: #2148f8;
    margin-right: 5px;
}

.terminal-input {
    background-color: transparent;
    border: none;
    color: #ffffff;
    outline: none;
    flex-grow: 1;
    font-family: 'Courier New', Courier, monospace;
    white-space: pre;
}

#terminal-output {
    white-space: pre-wrap;
    word-wrap: break-word;
    padding: 1px;
    background-color: #1e1e1e;
    color: #f8f9fa;
    max-height: 400px;
    overflow-y: auto;
}

.terminal .btn-primary {
    background-color: #666666;
    border-color: #666666;
}

.terminal .btn-primary:hover {
    background-color: #666666;
    border-color: #666666;
}

#progress-list {
    max-height: 700px;
    overflow-y: auto;
}

/* Dark mode styles */
body.dark-mode {
    background-color: #121212;
    color: #ffffff;
}

body.dark-mode .card {
    background-color: #1e1e1e;
    color: #ffffff;
}

body.dark-mode .card-body {
    background-color: #1e1e1e;
    color: #ffffff;
}

body.dark-mode .nav-tabs .nav-link {
    color: #ffffff;
}

body.dark-mode .nav-tabs .nav-link.active {
    color: #666666;
}

body.dark-mode .progress-item {
    background-color: #2d2d2d;
    border-color: #444;
    color: #ffffff;
}

body.dark-mode #result-content {
    background-color: #1e1e1e;
    color: #ffffff;
}

body.dark-mode .terminal-header {
    background-color: #2d2d2d;
    color: #ffffff;
}

body.dark-mode .terminal-prompt {
    color: #666666;
}

body.dark-mode .terminal-input {
    color: #ffffff;
}

body.dark-mode #terminal-output {
    background-color: #1e1e1e;
    color: #ffffff;
}

body.dark-mode .btn {
    color: #ffffff;
}

body.dark-mode .btn-secondary {
    background-color: #666666;
    border-color: #666666;
}

body.dark-mode .btn-secondary:hover {
    background-color: #3a3cec;
    border-color: #3a3cec;
}

body.dark-mode .btn-danger {
    background-color: #dc3545;
    border-color: #dc3545;
}

body.dark-mode .btn-danger:hover {
    background-color: #c82333;
    border-color: #bd2130;
}

body.dark-mode .btn-info {
    background-color: #17a2b8;
    border-color: #17a2b8;
}

body.dark-mode .btn-info:hover {
    background-color: #138496;
    border-color: #117a8b;
}

body.dark-mode .modal-content {
    background-color: #1e1e1e;
    color: #ffffff;
}

body.dark-mode .modal-header {
    border-bottom: 1px solid #444;
}

body.dark-mode .modal-footer {
    border-top: 1px solid #444;
}

body.dark-mode .table-hover tbody tr:hover {
    background-color: #2d2d2d;
}

body.dark-mode .table-striped tbody tr:nth-of-type(odd) {
    background-color: #2d2d2d;
}

body.dark-mode .table thead th {
    background-color: #343a40;
    color: #ffffff;
}

body.dark-mode .table tbody td {
    color: #ffffff;
}

body.dark-mode #results-tree {
    background-color: #1e1e1e;
    color: #ffffff;
    border-color: #444;
}

body.dark-mode .border {
    border-color: #444;
}

body.dark-mode .bg-white {
    background-color: #1e1e1e !important;
}

body.dark-mode .btn-group .btn {
    color: #ffffff;
}

body.dark-mode #scan-panel {
    background-color: #1e1e1e;
    color: #ffffff;
}

body.dark-mode #scan-panel .form-group label {
    color: #ffffff;
}

body.dark-mode #scan-panel .form-control {
    background-color: #2d2d2d;
    color: #ffffff;
    border-color: #444;
}

body.dark-mode #scan-panel .btn-primary {
    background-color: #666666;
    border-color: #666666;
}

body.dark-mode #scan-panel .btn-primary:hover {
    background-color: #555555;
    border-color: #555555;
}

body.dark-mode .card-header {
    background-color: #2d2d2d;
    color: #ffffff;
}

body.dark-mode .card-title {
    color: #ffffff;
}

body.dark-mode .nav-tabs .nav-link {
    color: #ffffff;
}

body.dark-mode .nav-tabs .nav-link.active {
    color: #4a4cec;
}

body.dark-mode .footer {
    background-color: #2d2d2d;
    color: #ffffff;
}

body.dark-mode .footer a {
    color: #4a4cec;
}

