/* Shared form controls for system themes */
body.cc-theme-dark .form-control,
body.cc-theme-dark .custom-select,
body.cc-theme-dark textarea.form-control,
body.dark-mode .form-control,
body.dark-mode .custom-select,
body.dark-mode textarea.form-control {
    background-color: rgba(15, 23, 42, 0.62);
    border-color: rgba(148, 163, 184, 0.35);
    color: #e2e8f0;
}

body.cc-theme-light .form-control,
body.cc-theme-light .custom-select,
body.cc-theme-light textarea.form-control {
    background-color: rgba(255, 255, 255, 0.92);
    border-color: rgba(99, 102, 241, 0.18);
    color: #1e1b4b;
}

body.cc-theme-dark .form-control::placeholder,
body.cc-theme-dark textarea.form-control::placeholder,
body.dark-mode .form-control::placeholder,
body.dark-mode textarea.form-control::placeholder {
    color: #b6c2d0;
    opacity: 1;
}

body.cc-theme-light .form-control::placeholder,
body.cc-theme-light textarea.form-control::placeholder {
    color: #64748b;
    opacity: 1;
}

body.cc-theme-dark .form-control:focus,
body.cc-theme-dark .custom-select:focus,
body.cc-theme-dark textarea.form-control:focus,
body.dark-mode .form-control:focus,
body.dark-mode .custom-select:focus,
body.dark-mode textarea.form-control:focus {
    background-color: rgba(15, 23, 42, 0.82);
    border-color: var(--sys-primary);
    color: #f8fafc;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--sys-primary) 20%, transparent);
}

body.cc-theme-light .form-control:focus,
body.cc-theme-light .custom-select:focus,
body.cc-theme-light textarea.form-control:focus {
    background-color: rgba(255, 255, 255, 0.98);
    border-color: var(--sys-primary);
    color: #1e1b4b;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--sys-primary) 16%, transparent);
}

body.cc-theme-dark select.form-control option,
body.cc-theme-dark .custom-select option,
body.dark-mode select.form-control option,
body.dark-mode .custom-select option {
    background-color: #1f2937;
    color: #f8fafc;
}

body.cc-theme-light select.form-control option,
body.cc-theme-light .custom-select option {
    background-color: #ffffff;
    color: #1e1b4b;
}

body.cc-theme-dark .input-group-text,
body.dark-mode .input-group-text {
    background-color: rgba(15, 23, 42, 0.7);
    border-color: rgba(148, 163, 184, 0.35);
    color: #cbd5e1;
}

body.cc-theme-light .input-group-text {
    background-color: rgba(241, 245, 249, 0.92);
    border-color: rgba(99, 102, 241, 0.18);
    color: #4338ca;
}

body.cc-theme-dark .form-control:disabled,
body.cc-theme-dark .form-control[readonly],
body.cc-theme-dark .custom-select:disabled,
body.dark-mode .form-control:disabled,
body.dark-mode .form-control[readonly],
body.dark-mode .custom-select:disabled {
    background-color: rgba(15, 23, 42, 0.42);
    color: #9aa5b1;
}

body.cc-theme-light .form-control:disabled,
body.cc-theme-light .form-control[readonly],
body.cc-theme-light .custom-select:disabled {
    background-color: rgba(226, 232, 240, 0.78);
    color: #64748b;
}

/* Chrome/Safari autofill */
body.cc-theme-dark .form-control:-webkit-autofill,
body.cc-theme-dark .form-control:-webkit-autofill:hover,
body.cc-theme-dark .form-control:-webkit-autofill:focus,
body.cc-theme-dark .form-control:-webkit-autofill:active,
body.cc-theme-dark textarea.form-control:-webkit-autofill,
body.cc-theme-dark textarea.form-control:-webkit-autofill:hover,
body.cc-theme-dark textarea.form-control:-webkit-autofill:focus,
body.cc-theme-dark textarea.form-control:-webkit-autofill:active,
body.dark-mode .form-control:-webkit-autofill,
body.dark-mode .form-control:-webkit-autofill:hover,
body.dark-mode .form-control:-webkit-autofill:focus,
body.dark-mode .form-control:-webkit-autofill:active,
body.dark-mode textarea.form-control:-webkit-autofill,
body.dark-mode textarea.form-control:-webkit-autofill:hover,
body.dark-mode textarea.form-control:-webkit-autofill:focus,
body.dark-mode textarea.form-control:-webkit-autofill:active {
    -webkit-text-fill-color: #f8fafc !important;
    box-shadow: 0 0 0 1000px rgba(15, 23, 42, 0.82) inset !important;
    transition: background-color 9999s ease-out 0s;
    caret-color: #f8fafc;
}

body.cc-theme-light .form-control:-webkit-autofill,
body.cc-theme-light .form-control:-webkit-autofill:hover,
body.cc-theme-light .form-control:-webkit-autofill:focus,
body.cc-theme-light .form-control:-webkit-autofill:active,
body.cc-theme-light textarea.form-control:-webkit-autofill,
body.cc-theme-light textarea.form-control:-webkit-autofill:hover,
body.cc-theme-light textarea.form-control:-webkit-autofill:focus,
body.cc-theme-light textarea.form-control:-webkit-autofill:active {
    -webkit-text-fill-color: #1e1b4b !important;
    box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.96) inset !important;
    transition: background-color 9999s ease-out 0s;
    caret-color: #1e1b4b;
}
