/* Tema Escuro para CodeZord VScript */

:root.dark-theme {
    /* Cores base */
    --color-background: #121212;
    --color-card-bg: #1e1e1e;
    --color-card-hover: #252525;
    --color-text: #e4e4e4;
    --color-text-light: #a0a0a0;
    --color-border: #333333;
    
    /* Cores de destaque */
    --color-accent: #7100f3;
    --color-accent-light: rgb(154, 0, 243);
    --color-accent-gradient: linear-gradient(45deg, #6900f3, #cc00ff);
    
    /* Cores de botões e interações */
    --color-bg-hover: #252525;
    --color-btn-bg: #7100f3;
    --color-btn-text: #ffffff;
    --color-btn-hover: #ffffff;
    --color-btn-border: transparent;
    
    /* Sombras */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
    --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.6);
    
    /* Cores de status */
    --status-ideia-bg: #2a2a2a;
    --status-ideia-text: #a0a0a0;
    --status-planejado-bg: #362f14;
    --status-planejado-text: #f0b429;
    --status-em-gravacao-bg: #3d2915;
    --status-em-gravacao-text: #ff8c38;
    --status-em-edicao-bg: #1a2c4e;
    --status-em-edicao-text: #64a0ff;
    --status-publicado-bg: #133b2c;
    --status-publicado-text: #34d399;
}

/* Ajustes para elementos específicos em modo escuro */
.dark-theme .script-card {
    box-shadow: var(--shadow-sm);
}

.dark-theme .script-card:hover {
    box-shadow: var(--shadow-hover);
}

.dark-theme .script-description:after {
    background: linear-gradient(to bottom, rgba(30, 30, 30, 0), var(--color-card-bg));
}

.dark-theme input,
.dark-theme select,
.dark-theme textarea {
    background-color: #252525;
    color: var(--color-text);
    border-color: var(--color-border);
}

.dark-theme .btn-outline {
    background-color: transparent;
    color: var(--color-text);
}

.dark-theme .metrics-control {
    background-color: #252525;
}

.dark-theme .metric-value {
    background-color: #333333;
    color: var(--color-text);
}

.dark-theme .status-ideia {
    background-color: var(--status-ideia-bg);
    color: var(--status-ideia-text);
}

.dark-theme .status-planejado {
    background-color: var(--status-planejado-bg);
    color: var(--status-planejado-text);
}

.dark-theme .status-em-gravacao {
    background-color: var(--status-em-gravacao-bg);
    color: var(--status-em-gravacao-text);
}

.dark-theme .status-em-edicao {
    background-color: var(--status-em-edicao-bg);
    color: var(--status-em-edicao-text);
}

.dark-theme .status-publicado {
    background-color: var(--status-publicado-bg);
    color: var(--status-publicado-text);
}

.dark-theme code, 
.dark-theme pre {
    background-color: #333333;
    color: #e4e4e4;
}

/* Header e elementos de navegação */
.dark-theme .header {
    background-color: rgba(18, 18, 18, 0.95);
    backdrop-filter: blur(10px);
    border-bottom-color: var(--color-border);
}

.dark-theme .logo a {
    color: var(--color-text);
}

.dark-theme .nav-links a {
    color: var(--color-text-light);
}

.dark-theme .nav-links a:hover,
.dark-theme .nav-links a.active {
    color: var(--color-accent-light);
}

/* Footer */
.dark-theme .footer {
    background-color: #0c0c0c;
    color: var(--color-text-light);
    border-top: 1px solid var(--color-border);
}

/* Mensagens */
.dark-theme .message {
    background-color: #1e1e1e;
    box-shadow: var(--shadow-md);
}

.dark-theme .message-success {
    background-color: rgba(16, 185, 129, 0.1);
    border-color: var(--color-success);
}

.dark-theme .message-error {
    background-color: rgba(239, 68, 68, 0.1);
    color: #ff6b6b;
    border-color: #ef4444;
}

.dark-theme .message-warning {
    background-color: rgba(245, 158, 11, 0.1);
    border-color: var(--color-warning);
}

.dark-theme .message-info {
    background-color: rgba(59, 130, 246, 0.1);
    border-color: var(--color-info);
}

/* Formulários */
.dark-theme .form-container {
    background-color: var(--color-card-bg);
    border-color: var(--color-border);
}

.dark-theme label {
    color: var(--color-text-light);
}

/* Efeitos de transição para troca de tema */
html.theme-transition,
html.theme-transition *,
html.theme-transition *:before,
html.theme-transition *:after {
    transition: all 0.3s ease-in-out !important;
    transition-delay: 0 !important;
}

/* Ajustes para página de criação/edição de roteiros */
.dark-theme .script-form h1,
.dark-theme .script-form h2,
.dark-theme .script-form h3 {
    color: var(--color-text);
}

.dark-theme .tox.tox-tinymce {
    border-color: var(--color-border);
}

.dark-theme .tox .tox-menubar,
.dark-theme .tox .tox-toolbar,
.dark-theme .tox .tox-toolbar__overflow,
.dark-theme .tox .tox-toolbar__primary {
    background-color: #252525;
    border-bottom: 1px solid var(--color-border);
}

.dark-theme .tox .tox-tbtn svg,
.dark-theme .tox .tox-tbtn {
    color: var(--color-text);
    fill: var(--color-text);
}

.dark-theme .tox .tox-tbtn:hover svg,
.dark-theme .tox .tox-tbtn:hover {
    color: var(--color-accent-light);
    fill: var(--color-accent-light);
}

.dark-theme .tox .tox-edit-area__iframe,
.dark-theme .tox .tox-edit-area {
    background-color: #1e1e1e;
}

.dark-theme .tox-tinymce-aux {
    z-index: 10000;
}

.dark-theme .tox .tox-menu {
    background-color: #252525;
    border-color: var(--color-border);
}

.dark-theme .tox .tox-collection__item {
    color: var(--color-text);
}

.dark-theme .tox .tox-collection__item--active {
    background-color: var(--color-accent);
    color: white;
}

.dark-theme .tox .tox-collection--list .tox-collection__item--enabled {
    background-color: rgba(113, 0, 243, 0.1);
    color: var(--color-text);
}

.dark-theme .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
    background-color: var(--color-accent);
    color: white;
}

.dark-theme .tox .tox-statusbar {
    background-color: #252525;
    border-top: 1px solid var(--color-border);
    color: var(--color-text-light);
}

.dark-theme .tox .tox-statusbar a,
.dark-theme .tox .tox-statusbar__path-item,
.dark-theme .tox .tox-statusbar__wordcount {
    color: var(--color-text-light);
}

.dark-theme .mce-content-body {
    color: var(--color-text);
    background-color: #1e1e1e;
}

/* Ajuste para títulos e rótulos no formulário */
.dark-theme .form-title,
.dark-theme .form-control,
.dark-theme .form-subtitle,
.dark-theme .form-container h1,
.dark-theme .form-container h2,
.dark-theme .form-container h3 {
    color: var(--color-text);
}

/* Ajustes para editor de texto simples */
.dark-theme textarea {
    background-color: #1e1e1e;
    color: var(--color-text);
    border-color: var(--color-border);
}

/* Ajustes para seletores de tags */
.dark-theme .select2-container--default .select2-selection--multiple {
    background-color: #252525;
    border-color: var(--color-border);
}

.dark-theme .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #3a3a3a;
    border-color: #444;
    color: var(--color-text);
}

.dark-theme .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--color-text-light);
}

.dark-theme .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--color-text);
}

.dark-theme .select2-dropdown {
    background-color: #252525;
    border-color: var(--color-border);
}

.dark-theme .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #333;
    border-color: var(--color-border);
    color: var(--color-text);
}

.dark-theme .select2-container--default .select2-results__option {
    color: var(--color-text);
}

.dark-theme .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-accent);
    color: white;
}

.dark-theme .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: rgba(113, 0, 243, 0.2);
}

/* Ajustes para datepicker */
.dark-theme .flatpickr-calendar {
    background-color: #252525;
    border-color: var(--color-border);
    box-shadow: var(--shadow-lg);
}

.dark-theme .flatpickr-months,
.dark-theme .flatpickr-weekdays {
    background-color: #1e1e1e;
    color: var(--color-text);
}

.dark-theme .flatpickr-month {
    color: var(--color-text);
}

.dark-theme .flatpickr-weekday {
    color: var(--color-text-light);
}

.dark-theme .flatpickr-day {
    color: var(--color-text);
}

.dark-theme .flatpickr-day.selected,
.dark-theme .flatpickr-day.startRange,
.dark-theme .flatpickr-day.endRange {
    background-color: var(--color-accent);
    border-color: var(--color-accent);
}

.dark-theme .flatpickr-day:hover {
    background-color: #333;
}

.dark-theme .flatpickr-day.flatpickr-disabled,
.dark-theme .flatpickr-day.flatpickr-disabled:hover,
.dark-theme .flatpickr-day.prevMonthDay,
.dark-theme .flatpickr-day.nextMonthDay {
    color: #666;
}

/* Ajustes para checkbox e radio */
.dark-theme input[type="checkbox"],
.dark-theme input[type="radio"] {
    border-color: #444;
    background-color: #252525;
}

.dark-theme input[type="text"], 
.dark-theme input[type="date"], 
.dark-theme select {
    background-color: #252525;
    color: var(--color-text);
    border-color: var(--color-border);
}

.dark-theme input[type="checkbox"]:checked,
.dark-theme input[type="radio"]:checked {
    background-color: var(--color-accent);
    border-color: var(--color-accent);
}

/* Ajustes específicos para form de roteiros */
.dark-theme .script-form .form-header {
    background-color: var(--color-card-bg);
    border-color: var(--color-border);
}

.dark-theme .script-form .form-subtitle {
    color: var(--color-text-light);
}

.dark-theme .detail-card-header {
    background-color: rgba(0, 0, 0, 0.2);
}

/* Editor Quill */
.dark-theme .ql-toolbar {
    background-color: #252525 !important;
    border-color: var(--color-border) !important;
}

.dark-theme .ql-toolbar button svg {
    fill: var(--color-text) !important;
    stroke: var(--color-text) !important;
}

.dark-theme .ql-toolbar button.ql-active svg,
.dark-theme .ql-toolbar button:hover svg {
    fill: var(--color-accent-light) !important;
    stroke: var(--color-accent-light) !important;
}

.dark-theme .ql-toolbar .ql-picker {
    color: var(--color-text) !important;
}

.dark-theme .ql-toolbar .ql-picker-options {
    background-color: #252525 !important;
    border-color: var(--color-border) !important;
}

.dark-theme .ql-toolbar .ql-picker-item {
    color: var(--color-text) !important;
}

.dark-theme .ql-toolbar .ql-picker-item:hover,
.dark-theme .ql-toolbar .ql-picker-item.ql-selected {
    color: var(--color-accent-light) !important;
}

.dark-theme .ql-container {
    background-color: #1e1e1e !important;
    border-color: var(--color-border) !important;
}

.dark-theme .ql-editor {
    color: var(--color-text) !important;
    background-color: #1e1e1e !important;
}

.dark-theme .ql-editor.ql-blank::before {
    color: var(--color-text-light) !important;
}

.dark-theme .editor-wrapper {
    border-color: var(--color-border);
}

.dark-theme .editor-wrapper:focus-within {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(113, 0, 243, 0.2);
}

/* Ajustes para seleção múltipla (tags) */
.dark-theme select[multiple] {
    background-color: #252525;
    color: var(--color-text);
}

.dark-theme select[multiple] option {
    background-color: #252525;
    color: var(--color-text);
}

.dark-theme select[multiple] option:checked {
    background-color: rgba(113, 0, 243, 0.2);
    color: var(--color-accent-light);
}

/* Ajustes específicos para formulário de versão */
.dark-theme .version-form .form-header {
    background-color: var(--color-card-bg);
    border-color: var(--color-border);
}

.dark-theme .script-info a {
    color: var(--color-accent-light);
}

.dark-theme .script-info a:hover {
    color: var(--color-accent);
}

/* Ajuste para links comuns */


.dark-theme a:hover {
    color: var(--color-accent);
}

/* Ajustes para dicas e mensagens de ajuda */
.dark-theme .form-help {
    color: var(--color-text-light);
} 