/* dashboard/static/dashboard/css/dashboard_style.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

@keyframes gradient-animation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

:root {
    /* Light Theme Palette - Redesigned for better UI/UX */
    --color-bg-primary: #f8f9fa; /* very light grey */
    --color-pane-bg: rgba(240, 240, 240, 0.8); /* solid white for cards */
    --color-pane-border: #e5e7eb; /* gray-200 */
    --color-pane-shadow: rgba(0, 0, 0, 0.05);

    --color-supertitle: #595858; /* gray-400 */
    --color-title: #595858; /* gray-400 */
    --color-subtitle: #595858; /* gray-400 */
    --color-text-primary: #696969; /* gray-800 for high contrast */
    --color-text-muted: #6b7280; /* gray-500 */
    --color-accent: #0ea5e9; /* sky-500 - a more vibrant blue */
    --color-header-text: rgb(7, 86, 37);
    --color-header-text-shadow:rgba(232, 232, 232, 0.5);

    --color-icon-bg-success: rgba(22, 163, 74, 0.1);
    --color-icon-success: #18998e; /* green-600 */
    --color-icon-bg-expense: rgba(234, 88, 12, 0.1);
    --color-icon-expense: #c74c0c; /* orange-600 */
    --color-icon-bg-balance: rgba(14, 165, 233, 0.1);
    --color-icon-balance: #0ea5e9; /* sky-500 */

    --color-nav-text: #374151; /* gray-700 */
    --color-nav-bg-active: #f3f4f6; /* gray-100 */
    --color-nav-text-active: #0ea5e9; /* sky-500 */
    --color-nav-border-active: #0ea5e9; /* sky-500 */

    --color-form-bg: #ffffff;
    --color-form-border: #d1d5db; /* gray-300 */
    --color-form-text: #1f2937; /* gray-800 */
    --color-form-disabled-bg: #e5e7eb; /* gray-200 */
    --color-form-disabled-text: #9ca3af; /* gray-400 */

    --color-bg-gradient-first: #78a18a;
    --color-bg-gradient-second: #e4dada;
    --color-bg-gradient-third: #d0cec8;
    --color-bg-gradient-fourth: #424645;

    --color-effect-asidebar:rgba(14, 165, 233, 0.5);
    --color-text-asidebar:white;

    --color-asidebar:rgba( 200, 200, 200, 0.3);
    --select-option-bg: #ffffff;
    --select-option-text: #1f2937; /* gray-800 */

    --color-table-tr: black/10;
    --color-table-tr-hover: black/5;

    --color-btn-font: black; /* gray-800 */
    --color-btn-hover-font: white;

    --color-emerald-300: #026800;
    --color-emerald-400: #078233FF;
    --color-orange-300: rgb(179, 93, 1);

    --color-modal-bg: rgba(255, 255, 255, 0.8)
}

html.dark {
    /* Dark Theme Palette - Unchanged */
    --color-bg-primary: #0f172a; /* slate-900 */
    --color-pane-bg: rgba(255, 255, 255, 0.05);
    --color-pane-border: rgba(255, 255, 255, 0.1);
    --color-pane-shadow: rgba(0, 0, 0, 0.2);

    --color-supertitle:  rgb(243, 244, 246); /* gray-400 */
    --color-title:rgb(243, 244, 246); /* gray-100 */
    --color-subtitle: #9ca3af; /* gray-400 */
    --color-text-primary: #e2e8f0; /* slate-200 */
    --color-text-muted: #94a3b8; /* slate-400 */
    --color-accent: #38bdf8; /* sky-400 */
    --color-header-text: white;
    --color-header-text-shadow:black;

    --color-icon-bg-success: rgba(16, 185, 129, 0.1);
    --color-icon-success: #34d399; /* emerald-400 */
    --color-icon-bg-expense: rgba(249, 115, 22, 0.1);
    --color-icon-expense: #fb923c; /* orange-400 */
    --color-icon-bg-balance: rgba(14, 165, 233, 0.1);
    --color-icon-balance: #38bdf8; /* sky-400 */

    --color-nav-text: #e2e8f0; /* slate-200 */
    --color-nav-bg-active: rgba(56, 189, 248, 0.15);
    --color-nav-text-active: #7dd3fc; /* sky-300 */
    --color-nav-border-active: #38bdf8; /* sky-400 */

    --color-form-bg: rgba(255, 255, 255, 0.05);
    --color-form-border: rgba(255, 255, 255, 0.15);
    --color-form-text: white;
    --color-form-disabled-bg: rgba(0, 0, 0, 0.2);
    --color-form-disabled-text: #9ca3af; /* gray-400 */

    --color-bg-gradient-first: #424645;
    --color-bg-gradient-second: #28302e;
    --color-bg-gradient-third: #0a0e1a;
    --color-bg-gradient-fourth: #010909;

    --color-asidebar:rgba(15, 23, 42, 0.6);
    --color-effect-asidebar:rgba(56, 189, 248, 0.15);
    --color-text-asidebar:#7dd3fc;

    --select-option-bg: #1e293b; /* bg-slate-800 */
    --select-option-text: #f1f5f9; /* slate-100 */

    --color-table-tr: white/10;
    --color-table-tr-hover: white/5;

    --color-btn-font: white; /* gray-800 */
    --color-btn-hover-font:white;

    --color-emerald-300: #A7F3D0;
    --color-orange-300: rgb(253 186 116);

    --color-modal-bg: #1d293d;
}





body {
    font-family: 'Inter', sans-serif;
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
}
tr{
    border-color:var(--color-table-tr);
}
tr:hover{
    background-color: var(--color-table-tr-hover);
}

label{
    color: var(--color-text-muted)!important;
}
button{
    color: var(--color-btn-font)!important;
}
button:hover{
    color: var(--color-btn-hover-font)!important;
}
aside#sidebar a:hover, .submenu:hover,
aside#sidebar a.nav-active {
    background: var( --color-effect-asidebar) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--color-text-asidebar) !important;
    font-weight: 600;
    border-color: #38bdf8 !important;
    transform: translateX(4px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    padding-left: 15%;
}

#text, #modal-title,
#confirmation-message, #confirmation-title,
#category-modal-title{
    color: var(--color-title)!important;
}

#header_title_container h2{
    color:var(--color-header-text);
    text-shadow: -1px -3px 3px var(--color-header-text-shadow);
}
#header_title_container p{
    color:var(--color-title);
}
#reports-content{
    color:var(--color-header-text);
}
#sidebar {
    background:var(--color-asidebar);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
}
#sidebar nav a, #profile {
    color: var(--color-nav-text);
    background-color: transparent;
    transition: all 0.2s ease-in-out;
    position: relative;
    border: 1px solid transparent;
}

.submenu{
    font-family: 'Inter', sans-serif;
    color: var(--color-text-primary);
    background-color: transparent;
    transition: all 0.2s ease-in-out;
    position: relative;
    border: 1px solid transparent;
}

.gradient-background {
    /* Paleta de verde escuro, preto e toques de esmeralda */
    background: linear-gradient(-45deg,var(--color-bg-gradient-first),var(--color-bg-gradient-second),var(--color-bg-gradient-third),var(--color-bg-gradient-fourth));
    background-size: 400% 400%;
    animation: gradient-animation 18s ease infinite;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
}
.glass-pane {
    background: var(--color-pane-bg);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 1rem;
    border: 2px solid var(--color-pane-border);
    box-shadow: 0 4px 6px -1px var(--color-pane-shadow), 0 2px 4px -2px var(--color-pane-shadow);
    transition: all 0.3s ease-in-out;
}
.glass-pane:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px var(--color-pane-shadow), 0 4px 6px -4px var(--color-pane-shadow);
    border-color: var(--color-accent);
}

.modal-bg{
    background-color: var(--color-modal-bg)
}
html:not(.dark) .glass-pane {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
#dropdown-logout-button{
    color:black!important;

}
#dropdown-logout-button:hover{
    color: #7f0101 !important;
    background-color: #fa9c9c;
}

.icon-container-success { background-color: var(--color-icon-bg-success); }
.icon-success { color: var(--color-icon-success); }

.icon-container-expense { background-color: var(--color-icon-bg-expense); }
.icon-expense { color: var(--color-icon-expense); }

.icon-container-balance { background-color: var(--color-icon-bg-balance); }
.icon-balance { color: var(--color-icon-balance); }

.form-input-glass {
    background-color: var(--color-form-bg) !important;
    border: 1px solid var(--color-form-border) !important;
    color: var(--color-form-text) !important;
    border-radius: 0.5rem;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease-in-out;
}
.form-input-glass:focus {
    outline: none;
    border-color: var(--color-accent) !important;
    box-shadow: 0 0 0 3px var(--color-nav-bg-active);
}
.form-input-disabled {
    background-color: var(--color-form-disabled-bg) !important;
    border-color: var(--color-form-border) !important;
    color: var(--color-form-disabled-text) !important;
    cursor: not-allowed;
}

.select-option-style {
    background-color: var(--select-option-bg) !important;
    color: var(--select-option-text) !important;
    padding: 5px !important;
}


.text-emerald-300{
    color:var(--color-emerald-300)!important;
}
.text-emerald-400{
    color:var(--color-emerald-400)!important;
}
.text-orange-300{
    color:var(--color-orange-300)!important;
}
.text-gray-400{
    color:var(--color-text-muted)!important;
}


.stats-card p{
    color:black!important;

}
#stats-section{
    color: var(--color-title) !important;
}
#stats-income{
    color: var(--color-icon-success) !important;
}
#stats-expense{
    color: var(--color-icon-expense) !important;
}

#supertitle
{
    color: var(--color-supertitle) !important;
}
#title{
    color: var(--color-title) !important;
}
#subtitle{
    color: var(--color-subtitle) !important;
}

#transactions-item{

}
#transactions-list #title{
    color: var(--color-title) !important;
}
#transactions-list #subtitle{
    color: var(--color-subtitle) !important;
}


#recent-transactions-list #value-expense{
    color: var(--color-icon-expense) !important;
}
#recent-transactions-list #value-income{
    color: var(--color-icon-success) !important;
}
#spending-by-category-list span{
    color: var(--color-title) !important;
}
#spending-by-category-list span:hover{
    color: var(--color-icon-expense) !important;
}
#ai-analysis-content p{
    color: var(--color-title) !important;
}
#value-expense span, #value-income span{
    color: var(--color-subtitle) !important;
}

html.dark #sidebar nav a:hover,
html.dark #sidebar nav a.nav-active {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
html.dark #transactions-container h3{
    color: rgb(243, 244, 246) !important;
}

