/* Dark Theme CSS */
:root {
    /* Dark theme colors */
    --dark-bg-primary: #0d1117;
    --dark-bg-secondary: #161b22;
    --dark-bg-tertiary: #21262d;
    --dark-text-primary: #f0f6fc;
    --dark-text-secondary: #8b949e;
    --dark-text-muted: #6e7681;
    --dark-border: #30363d;
    --dark-border-hover: #484f58;
    --dark-accent: #58a6ff;
    --dark-accent-hover: #79c0ff;
    --dark-success: #3fb950;
    --dark-warning: #d29922;
    --dark-danger: #f85149;
    --dark-info: #58a6ff;
    --dark-shadow: rgba(0, 0, 0, 0.3);
}

/* Dark theme body */
body.dark-theme {
    background-color: var(--dark-bg-primary);
    color: var(--dark-text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Dark theme for main content areas */
body.dark-theme .container,
body.dark-theme .container-fluid {
    color: var(--dark-text-primary);
}

/* Dark theme for headings */
body.dark-theme h1,
body.dark-theme h2,
body.dark-theme h3,
body.dark-theme h4,
body.dark-theme h5,
body.dark-theme h6 {
    color: var(--dark-text-primary);
}

/* Dark theme for paragraphs */
body.dark-theme p {
    color: var(--dark-text-primary);
}

/* Dark theme for links */
body.dark-theme a {
    color: var(--dark-accent);
}

body.dark-theme a:hover {
    color: var(--dark-accent-hover);
}

/* Dark theme for small text */
body.dark-theme small {
    color: var(--dark-text-secondary);
}

/* Dark theme navbar */
body.dark-theme .navbar {
    background-color: var(--dark-bg-secondary) !important;
    border-bottom: 1px solid var(--dark-border);
}

body.dark-theme .navbar-brand {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .navbar-nav .nav-link {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .navbar-nav .nav-link:hover {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .navbar-toggler {
    border-color: var(--dark-border);
}

body.dark-theme .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28240, 246, 252, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Dark theme cards */
body.dark-theme .card {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .card-header {
    background-color: var(--dark-bg-tertiary);
    border-bottom: 1px solid var(--dark-border);
}

body.dark-theme .card-body {
    background-color: var(--dark-bg-secondary);
}

/* Dark theme forms */
body.dark-theme .form-control {
    background-color: var(--dark-bg-tertiary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .form-control:focus {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-accent);
    color: var(--dark-text-primary);
    box-shadow: 0 0 0 0.2rem rgba(88, 166, 255, 0.25);
}

body.dark-theme .form-control::placeholder {
    color: var(--dark-text-muted);
}

body.dark-theme .form-label {
    color: var(--dark-text-primary);
}

body.dark-theme .form-text {
    color: var(--dark-text-secondary);
}

/* Dark theme buttons */
body.dark-theme .btn-primary {
    background-color: var(--dark-accent);
    border-color: var(--dark-accent);
    color: var(--dark-bg-primary);
}

body.dark-theme .btn-primary:hover {
    background-color: var(--dark-accent-hover);
    border-color: var(--dark-accent-hover);
}

body.dark-theme .btn-outline-primary {
    color: var(--dark-accent);
    border-color: var(--dark-accent);
}

body.dark-theme .btn-outline-primary:hover {
    background-color: var(--dark-accent);
    border-color: var(--dark-accent);
    color: var(--dark-bg-primary);
}

body.dark-theme .btn-outline-secondary {
    color: var(--dark-text-secondary);
    border-color: var(--dark-border);
}

body.dark-theme .btn-outline-secondary:hover {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border-hover);
    color: var(--dark-text-primary);
}

/* Dark theme alerts */
body.dark-theme .alert-success {
    background-color: rgba(63, 185, 80, 0.1);
    border-color: var(--dark-success);
    color: var(--dark-success);
}

body.dark-theme .alert-warning {
    background-color: rgba(210, 153, 34, 0.1);
    border-color: var(--dark-warning);
    color: var(--dark-warning);
}

body.dark-theme .alert-danger {
    background-color: rgba(248, 81, 73, 0.1);
    border-color: var(--dark-danger);
    color: var(--dark-danger);
}

body.dark-theme .alert-info {
    background-color: rgba(88, 166, 255, 0.1);
    border-color: var(--dark-info);
    color: var(--dark-info);
}

/* Dark theme badges */
body.dark-theme .badge {
    color: var(--dark-bg-primary);
}

body.dark-theme .badge.bg-success {
    background-color: var(--dark-success) !important;
}

body.dark-theme .badge.bg-warning {
    background-color: var(--dark-warning) !important;
}

body.dark-theme .badge.bg-danger {
    background-color: var(--dark-danger) !important;
}

body.dark-theme .badge.bg-info {
    background-color: var(--dark-info) !important;
}

/* Dark theme progress bars */
body.dark-theme .progress {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .progress-bar {
    background-color: var(--dark-accent);
}

/* Dark theme modals */
body.dark-theme .modal-content {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .modal-header {
    border-bottom: 1px solid var(--dark-border);
}

body.dark-theme .modal-footer {
    border-top: 1px solid var(--dark-border);
}

/* Dark theme dropdowns */
body.dark-theme .dropdown-menu {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .dropdown-item {
    color: var(--dark-text-primary);
}

body.dark-theme .dropdown-item:hover {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

/* Dark theme tables */
body.dark-theme .table {
    color: var(--dark-text-primary);
}

body.dark-theme .table-striped>tbody>tr:nth-of-type(odd)>td {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .table-hover>tbody>tr:hover>td {
    background-color: var(--dark-bg-tertiary);
}

/* Dark theme list groups */
body.dark-theme .list-group-item {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .list-group-item:hover {
    background-color: var(--dark-bg-tertiary);
}

/* Dark theme pagination */
body.dark-theme .page-link {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .page-link:hover {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border-hover);
    color: var(--dark-text-primary);
}

body.dark-theme .page-item.active .page-link {
    background-color: var(--dark-accent);
    border-color: var(--dark-accent);
}

/* Dark theme footer */
body.dark-theme .footer {
    background-color: var(--dark-bg-secondary);
    border-top: 1px solid var(--dark-border);
    color: var(--dark-text-secondary);
}

/* Dark theme text colors */
body.dark-theme .text-muted {
    color: var(--dark-text-muted) !important;
}

body.dark-theme .text-secondary {
    color: var(--dark-text-secondary) !important;
}

/* Dark theme borders */
body.dark-theme .border {
    border-color: var(--dark-border) !important;
}

body.dark-theme .border-top {
    border-top-color: var(--dark-border) !important;
}

body.dark-theme .border-bottom {
    border-bottom-color: var(--dark-border) !important;
}

/* Dark theme shadows */
body.dark-theme .shadow {
    box-shadow: 0 0.125rem 0.25rem var(--dark-shadow) !important;
}

body.dark-theme .shadow-sm {
    box-shadow: 0 0.125rem 0.25rem var(--dark-shadow) !important;
}

/* Dark theme custom elements */
body.dark-theme .seaman-dashboard .card {
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .seaman-dashboard .card:hover {
    box-shadow: 0 4px 20px var(--dark-shadow);
}

/* Dark theme toggle button */
.theme-toggle {
    background: none;
    border: none;
    color: var(--dark-text-secondary);
    font-size: 1.2rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

.theme-toggle:hover {
    color: var(--dark-text-primary);
}

body.dark-theme .theme-toggle {
    color: var(--dark-text-primary);
}

/* Smooth transitions */
* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}