/* Global Dark Theme Styles for DoSign.cc */

/* CSS Variables */
:root {
    --c-bg: #ffffff;
    --c-text: #233324;
    --c-accent: #1d8f3a;
    --c-accent-alt: #e1562d;
    --c-soft: #f5f9f6;
    --c-border: #d9e3da;
}

[data-theme=dark] {
    --c-bg: #0f1512;
    --c-text: #e4efe8;
    --c-accent: #1d8f3a;
    --c-accent-alt: #e1562d;
    --c-soft: #18241d;
    --c-border: #22352a;
}

/* Global body and html */
[data-theme=dark] body,
[data-theme=dark] html {
    background: #0f1512;
    color: #e4efe8;
}

/* Cards */
[data-theme=dark] .card {
    background: #121d18;
    border-color: #22352a;
}

[data-theme=dark] .card-header,
[data-theme=dark] .card-footer {
    background: #18241d;
    border-color: #22352a;
}

[data-theme=dark] .card-body {
    background: #121d18;
    color: #e4efe8;
}

/* Forms */
[data-theme=dark] .form-control,
[data-theme=dark] .form-select,
[data-theme=dark] input[type="text"],
[data-theme=dark] input[type="email"],
[data-theme=dark] input[type="password"],
[data-theme=dark] input[type="date"],
[data-theme=dark] input[type="number"],
[data-theme=dark] textarea {
    background: #18241d;
    border-color: #22352a;
    color: #e4efe8;
}

[data-theme=dark] .form-control:focus,
[data-theme=dark] .form-select:focus,
[data-theme=dark] input:focus,
[data-theme=dark] textarea:focus {
    background: #18241d;
    border-color: var(--c-accent);
    color: #e4efe8;
    box-shadow: 0 0 0 0.15rem rgba(29, 143, 58, 0.25);
}

[data-theme=dark] .form-label {
    color: #e4efe8;
}

[data-theme=dark] .form-check-input {
    background-color: #18241d;
    border-color: #22352a;
}

[data-theme=dark] .form-check-input:checked {
    background-color: var(--c-accent);
    border-color: var(--c-accent);
}

[data-theme=dark] .form-check-label {
    color: #e4efe8;
}

/* Tables */
[data-theme=dark] .table {
    color: #e4efe8;
}

[data-theme=dark] .table thead th {
    color: #9ca3af;
    border-color: #22352a;
}

[data-theme=dark] .table tbody td {
    border-color: #22352a;
    color: #e4efe8;
}

[data-theme=dark] .table tbody tr:hover {
    background: #18241d;
}

[data-theme=dark] .table-bordered {
    border-color: #22352a;
}

/* Buttons */
[data-theme=dark] .btn-outline-secondary {
    border-color: #22352a;
    color: #9ca3af;
}

[data-theme=dark] .btn-outline-secondary:hover {
    background: #18241d;
    border-color: var(--c-accent);
    color: var(--c-accent);
}

[data-theme=dark] .btn-outline-primary {
    border-color: var(--c-accent);
    color: var(--c-accent);
}

[data-theme=dark] .btn-outline-primary:hover {
    background: rgba(29, 143, 58, 0.15);
    border-color: var(--c-accent);
}

[data-theme=dark] .btn-outline-success {
    border-color: var(--c-accent);
    color: var(--c-accent);
}

[data-theme=dark] .btn-outline-success:hover {
    background: rgba(29, 143, 58, 0.15);
}

[data-theme=dark] .btn-outline-warning {
    border-color: #f4b740;
    color: #f4b740;
}

[data-theme=dark] .btn-outline-warning:hover {
    background: rgba(244, 183, 64, 0.15);
}

[data-theme=dark] .btn-outline-info {
    border-color: #3b82f6;
    color: #3b82f6;
}

[data-theme=dark] .btn-outline-info:hover {
    background: rgba(59, 130, 246, 0.15);
}

[data-theme=dark] .btn-outline-danger {
    border-color: #dc3545;
    color: #dc3545;
}

[data-theme=dark] .btn-outline-danger:hover {
    background: rgba(220, 53, 69, 0.15);
}

[data-theme=dark] .btn-secondary {
    background: #374151;
    border-color: #374151;
}

/* Alerts */
[data-theme=dark] .alert {
    border-color: #22352a;
}

[data-theme=dark] .alert-info {
    background: rgba(59, 130, 246, 0.15);
    border-color: #3b82f6;
    color: #93c5fd;
}

[data-theme=dark] .alert-success {
    background: rgba(29, 143, 58, 0.15);
    border-color: var(--c-accent);
    color: #3db95f;
}

[data-theme=dark] .alert-warning {
    background: rgba(244, 183, 64, 0.15);
    border-color: #f4b740;
    color: #f4b740;
}

[data-theme=dark] .alert-danger {
    background: rgba(220, 53, 69, 0.15);
    border-color: #dc3545;
    color: #f87171;
}

/* Badges */
[data-theme=dark] .badge.bg-secondary {
    background: #374151 !important;
    color: #d1d5db;
}

[data-theme=dark] .badge.bg-success {
    background: rgba(29, 143, 58, 0.3) !important;
    color: #3db95f;
}

[data-theme=dark] .badge.bg-warning {
    background: rgba(244, 183, 64, 0.3) !important;
    color: #f4b740;
}

[data-theme=dark] .badge.bg-danger {
    background: rgba(220, 53, 69, 0.3) !important;
    color: #f87171;
}

[data-theme=dark] .badge.bg-info {
    background: rgba(59, 130, 246, 0.3) !important;
    color: #93c5fd;
}

[data-theme=dark] .badge.bg-primary {
    background: rgba(29, 143, 58, 0.3) !important;
    color: #3db95f;
}

/* Modals */
[data-theme=dark] .modal-content {
    background: #121d18;
    border-color: #22352a;
    color: #e4efe8;
}

[data-theme=dark] .modal-header,
[data-theme=dark] .modal-footer {
    border-color: #22352a;
}

[data-theme=dark] .modal-title {
    color: #e4efe8;
}

[data-theme=dark] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Pagination */
[data-theme=dark] .pagination {
    --bs-pagination-bg: #121d18;
    --bs-pagination-border-color: #22352a;
    --bs-pagination-color: #e4efe8;
    --bs-pagination-hover-bg: #18241d;
    --bs-pagination-hover-border-color: var(--c-accent);
    --bs-pagination-hover-color: var(--c-accent);
    --bs-pagination-active-bg: var(--c-accent);
    --bs-pagination-active-border-color: var(--c-accent);
    --bs-pagination-disabled-bg: #121d18;
    --bs-pagination-disabled-border-color: #22352a;
    --bs-pagination-disabled-color: #6b7280;
}

/* Dropdown */
[data-theme=dark] .dropdown-menu {
    background: #121d18;
    border-color: #22352a;
}

[data-theme=dark] .dropdown-item {
    color: #e4efe8;
}

[data-theme=dark] .dropdown-item:hover {
    background: #18241d;
    color: var(--c-accent);
}

[data-theme=dark] .dropdown-divider {
    border-color: #22352a;
}

/* Text colors */
[data-theme=dark] .text-muted {
    color: #9ca3af !important;
}

[data-theme=dark] .text-success {
    color: #3db95f !important;
}

[data-theme=dark] .text-warning {
    color: #f4b740 !important;
}

[data-theme=dark] .text-danger {
    color: #f87171 !important;
}

[data-theme=dark] .text-info {
    color: #93c5fd !important;
}

/* Links */
[data-theme=dark] a {
    color: var(--c-accent);
}

[data-theme=dark] a:hover {
    color: #3db95f;
}

/* Borders */
[data-theme=dark] .border,
[data-theme=dark] .border-top,
[data-theme=dark] .border-bottom {
    border-color: #22352a !important;
}

/* Spinner */
[data-theme=dark] .spinner-border {
    border-color: var(--c-accent);
    border-right-color: transparent;
}

/* Empty states */
[data-theme=dark] .empty-state {
    color: #6b7280;
}

[data-theme=dark] .empty-state svg {
    opacity: 0.2;
}

/* Validation */
[data-theme=dark] .validation-message {
    color: #f87171;
}

[data-theme=dark] .invalid {
    border-color: #dc3545 !important;
}

[data-theme=dark] .valid.modified:not([type=checkbox]) {
    border-color: var(--c-accent) !important;
}

