256 lines
5.7 KiB
CSS
256 lines
5.7 KiB
CSS
@import "tailwindcss";
|
|
|
|
html,
|
|
body {
|
|
background: linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);
|
|
background-attachment: fixed;
|
|
overscroll-behavior-y: none;
|
|
}
|
|
|
|
:root,
|
|
[data-theme="light"] {
|
|
--gradient-start: #667eea;
|
|
--gradient-end: #764ba2;
|
|
--glass-bg: rgba(255, 255, 255, 0.8);
|
|
--text-primary: #1f2937;
|
|
--text-secondary: #6b7280;
|
|
--category-from: #8b5cf6;
|
|
--category-to: #3b82f6;
|
|
--btn-primary-from: #8b5cf6;
|
|
--btn-primary-to: #6366f1;
|
|
--btn-success-from: #22c55e;
|
|
--btn-success-to: #16a34a;
|
|
--btn-danger-from: #ef4444;
|
|
--btn-danger-to: #ec4899;
|
|
--card-bg: rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
[data-theme="dark"] {
|
|
--gradient-start: #000000;
|
|
--gradient-end: #000000;
|
|
--glass-bg: rgba(17, 17, 17, 0.95);
|
|
--text-primary: #f9fafb;
|
|
--text-secondary: #d1d5db;
|
|
--category-from: #6366f1;
|
|
--category-to: #8b5cf6;
|
|
--btn-primary-from: #6366f1;
|
|
--btn-primary-to: #8b5cf6;
|
|
--btn-success-from: #059669;
|
|
--btn-success-to: #10b981;
|
|
--btn-danger-from: #dc2626;
|
|
--btn-danger-to: #be185d;
|
|
--card-bg: rgba(31, 31, 31, 0.9);
|
|
}
|
|
|
|
[data-theme="sunset"] {
|
|
--gradient-start: #f97316;
|
|
--gradient-end: #ec4899;
|
|
--glass-bg: rgba(255, 255, 255, 0.85);
|
|
--text-primary: #1f2937;
|
|
--text-secondary: #6b7280;
|
|
--category-from: #f97316;
|
|
--category-to: #ec4899;
|
|
--btn-primary-from: #f97316;
|
|
--btn-primary-to: #ea580c;
|
|
--btn-success-from: #22c55e;
|
|
--btn-success-to: #16a34a;
|
|
--btn-danger-from: #ef4444;
|
|
--btn-danger-to: #dc2626;
|
|
--card-bg: rgba(255, 255, 255, 0.85);
|
|
}
|
|
|
|
[data-theme="ocean"] {
|
|
--gradient-start: #3b82f6;
|
|
--gradient-end: #06b6d4;
|
|
--glass-bg: rgba(255, 255, 255, 0.85);
|
|
--text-primary: #1f2937;
|
|
--text-secondary: #6b7280;
|
|
--category-from: #3b82f6;
|
|
--category-to: #06b6d4;
|
|
--btn-primary-from: #3b82f6;
|
|
--btn-primary-to: #2563eb;
|
|
--btn-success-from: #22c55e;
|
|
--btn-success-to: #16a34a;
|
|
--btn-danger-from: #ef4444;
|
|
--btn-danger-to: #dc2626;
|
|
--card-bg: rgba(255, 255, 255, 0.85);
|
|
}
|
|
|
|
[data-theme="forest"] {
|
|
--gradient-start: #22c55e;
|
|
--gradient-end: #14b8a6;
|
|
--glass-bg: rgba(255, 255, 255, 0.85);
|
|
--text-primary: #1f2937;
|
|
--text-secondary: #6b7280;
|
|
--category-from: #22c55e;
|
|
--category-to: #14b8a6;
|
|
--btn-primary-from: #22c55e;
|
|
--btn-primary-to: #16a34a;
|
|
--btn-success-from: #22c55e;
|
|
--btn-success-to: #16a34a;
|
|
--btn-danger-from: #ef4444;
|
|
--btn-danger-to: #dc2626;
|
|
--card-bg: rgba(255, 255, 255, 0.85);
|
|
}
|
|
|
|
[data-theme="purple"] {
|
|
--gradient-start: #8b5cf6;
|
|
--gradient-end: #ec4899;
|
|
--glass-bg: rgba(255, 255, 255, 0.85);
|
|
--text-primary: #1f2937;
|
|
--text-secondary: #6b7280;
|
|
--category-from: #8b5cf6;
|
|
--category-to: #ec4899;
|
|
--btn-primary-from: #8b5cf6;
|
|
--btn-primary-to: #7c3aed;
|
|
--btn-success-from: #22c55e;
|
|
--btn-success-to: #16a34a;
|
|
--btn-danger-from: #ef4444;
|
|
--btn-danger-to: #dc2626;
|
|
--card-bg: rgba(255, 255, 255, 0.85);
|
|
}
|
|
|
|
.gradient-bg {
|
|
background: linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);
|
|
}
|
|
|
|
.gradient-bg-light {
|
|
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
|
}
|
|
|
|
.card-hover {
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.card-hover:hover {
|
|
box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
transform: translateY(-0.25rem);
|
|
}
|
|
|
|
.glass-effect {
|
|
background: var(--glass-bg);
|
|
backdrop-filter: blur(12px);
|
|
}
|
|
|
|
.category-icon {
|
|
background: linear-gradient(135deg, var(--category-from) 0%, var(--category-to) 100%);
|
|
}
|
|
|
|
.btn-primary {
|
|
background: linear-gradient(135deg, var(--btn-primary-from) 0%, var(--btn-primary-to) 100%);
|
|
}
|
|
|
|
.btn-success {
|
|
background: linear-gradient(135deg, var(--btn-success-from) 0%, var(--btn-success-to) 100%);
|
|
}
|
|
|
|
.btn-danger {
|
|
background: linear-gradient(135deg, var(--btn-danger-from) 0%, var(--btn-danger-to) 100%);
|
|
}
|
|
|
|
[data-theme="dark"] .glass-effect {
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
[data-theme="dark"] .text-gray-800,
|
|
[data-theme="dark"] .text-gray-900 {
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
[data-theme="dark"] .text-gray-600,
|
|
[data-theme="dark"] .text-gray-500 {
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
[data-theme="dark"] .bg-gray-100,
|
|
[data-theme="dark"] .bg-gray-50 {
|
|
background-color: rgba(55, 55, 55, 0.5);
|
|
}
|
|
|
|
[data-theme="dark"] .bg-gray-200 {
|
|
background-color: rgba(75, 75, 75, 0.5);
|
|
}
|
|
|
|
[data-theme="dark"] .border-gray-200,
|
|
[data-theme="dark"] .border-gray-300 {
|
|
border-color: rgba(75, 75, 75, 0.8);
|
|
}
|
|
|
|
[data-theme="dark"] input,
|
|
[data-theme="dark"] textarea {
|
|
background-color: rgba(40, 40, 40, 0.9);
|
|
color: var(--text-primary);
|
|
border-color: rgba(75, 75, 75, 0.8);
|
|
}
|
|
|
|
[data-theme="dark"] input::placeholder,
|
|
[data-theme="dark"] textarea::placeholder {
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.member-current {
|
|
background-color: rgb(243, 232, 255);
|
|
border-color: rgb(216, 180, 254);
|
|
}
|
|
|
|
[data-theme="dark"] .member-current {
|
|
background-color: rgba(139, 92, 246, 0.2);
|
|
border-color: rgba(139, 92, 246, 0.5);
|
|
}
|
|
|
|
.shopping-purchased {
|
|
background-color: rgb(240, 253, 244);
|
|
border-color: rgb(187, 247, 208);
|
|
}
|
|
|
|
[data-theme="dark"] .shopping-purchased {
|
|
background-color: rgba(34, 197, 94, 0.15);
|
|
border-color: rgba(34, 197, 94, 0.4);
|
|
}
|
|
|
|
.expense-history-item {
|
|
background-color: rgb(255, 255, 255);
|
|
border-color: rgb(229, 231, 235);
|
|
}
|
|
|
|
[data-theme="dark"] .expense-history-item {
|
|
background-color: rgba(55, 55, 55, 0.6);
|
|
border-color: rgba(75, 75, 75, 0.8);
|
|
}
|
|
|
|
.expense-description {
|
|
background-color: rgb(249, 250, 251);
|
|
}
|
|
|
|
[data-theme="dark"] .expense-description {
|
|
background-color: rgba(40, 40, 40, 0.8);
|
|
}
|
|
|
|
.animate-fadeIn {
|
|
animation: fadeIn 0.2s ease-in-out;
|
|
}
|
|
|
|
.animate-scaleIn {
|
|
animation: scaleIn 0.2s ease-in-out;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes scaleIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|