:root{--color-white: #ffffff;--color-navy-dark: #0d47a1;--color-blue-medium: #1565c0;--color-blue-primary: #1976d2;--gradient-primary: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);--gradient-hover: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%);--gradient-light: linear-gradient(135deg, rgba(25, 118, 210, .05) 0%, rgba(13, 71, 161, .05) 100%);--color-blue-50: #e3f2fd;--color-blue-100: #bbdefb;--color-blue-200: #90caf9;--color-blue-300: #64b5f6;--color-blue-400: #42a5f5;--color-blue-500: #1976d2;--color-blue-600: #1565c0;--color-blue-700: #0d47a1;--color-blue-800: #1565c0;--color-blue-900: #0d47a1;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success: #10b981;--color-success-light: #d1fae5;--color-error: #ef4444;--color-error-light: #fee2e2;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-info: #3b82f6;--color-info-light: #dbeafe;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Fira Code", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(13, 71, 161, .05);--shadow-md: 0 4px 6px -1px rgba(13, 71, 161, .1), 0 2px 4px -1px rgba(13, 71, 161, .06);--shadow-lg: 0 10px 15px -3px rgba(13, 71, 161, .1), 0 4px 6px -2px rgba(13, 71, 161, .05);--shadow-xl: 0 20px 25px -5px rgba(13, 71, 161, .1), 0 10px 10px -5px rgba(13, 71, 161, .04);--shadow-2xl: 0 25px 50px -12px rgba(13, 71, 161, .25);--shadow-inner: inset 0 2px 4px 0 rgba(13, 71, 161, .06);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-gray-900);background-color:#fff}.text-primary{color:var(--color-blue-primary)}.text-navy{color:var(--color-navy-dark)}.text-white{color:var(--color-white)}.text-gray{color:var(--color-gray-600)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.bg-primary{background-color:var(--color-blue-primary)}.bg-navy{background-color:var(--color-navy-dark)}.bg-white{background-color:var(--color-white)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gradient-primary{background:var(--gradient-primary)}.bg-gradient-light{background:var(--gradient-light)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-right{animation:slideInRight var(--transition-base)}.animate-slide-left{animation:slideInLeft var(--transition-base)}.animate-scale-in{animation:scaleIn var(--transition-base)}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-shake{animation:shake .3s ease}.form-container{width:100%;max-width:600px;margin:0 auto;padding:var(--spacing-2xl);background:var(--color-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);animation:fadeIn var(--transition-base)}.form-container h1,.form-container h2{margin-bottom:var(--spacing-xl);color:var(--color-navy-dark);font-weight:var(--font-weight-bold);font-size:var(--font-size-3xl);text-align:center;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-group{margin-bottom:var(--spacing-lg);animation:slideInRight calc(var(--transition-base) + .1s)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.form-group label.required:after{content:" *";color:var(--color-error)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group input[type=date],.form-group input[type=tel],.form-group input[type=url],.form-group textarea,.form-group select{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-gray-900);background-color:var(--color-white);transition:all var(--transition-base);outline:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-blue-primary);box-shadow:0 0 0 3px #1976d21a;transform:translateY(-1px)}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:var(--color-gray-100);cursor:not-allowed;opacity:.6}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-gray-400)}.form-group textarea{min-height:100px;resize:vertical;line-height:var(--line-height-relaxed)}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231976d2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:20px;padding-right:var(--spacing-3xl)}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .input-icon{position:absolute;left:var(--spacing-md);display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--color-gray-400);transition:color var(--transition-base)}.input-with-icon input{padding-left:var(--spacing-3xl)}.input-with-icon input:focus~.input-icon,.input-with-icon input:not(:placeholder-shown)~.input-icon{color:var(--color-blue-primary)}.form-group.checkbox-group,.form-group.radio-group{display:flex;align-items:center;margin-bottom:var(--spacing-md)}.form-group.checkbox-group label,.form-group.radio-group label{margin-bottom:0;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:none;font-weight:var(--font-weight-normal);color:var(--color-gray-700)}.form-group input[type=checkbox],.form-group input[type=radio]{width:20px;height:20px;margin-right:var(--spacing-sm);cursor:pointer;accent-color:var(--color-blue-primary)}.custom-checkbox{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.custom-checkbox .checkmark{position:relative;height:20px;width:20px;background-color:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);margin-right:var(--spacing-sm);transition:all var(--transition-base)}.custom-checkbox:hover input~.checkmark{border-color:var(--color-blue-primary)}.custom-checkbox input:checked~.checkmark{background-color:var(--color-blue-primary);border-color:var(--color-blue-primary)}.custom-checkbox .checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.custom-checkbox input:checked~.checkmark:after{display:block}.form-group input[type=color]{height:50px;border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.form-group input[type=color]:hover{border-color:var(--color-blue-primary);transform:scale(1.05)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-row .form-group{margin-bottom:0}.form-button,.btn-primary{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:var(--gradient-primary);color:var(--color-white);border:none;border-radius:var(--radius-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-md);margin-top:var(--spacing-xl)}.form-button:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--gradient-hover);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.form-button:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-md)}.form-button:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-button svg,.btn-primary svg{width:20px;height:20px}.btn-secondary{background:var(--color-white);color:var(--color-blue-primary);border:2px solid var(--color-blue-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-blue-50);border-color:var(--color-blue-600);color:var(--color-blue-600)}.btn-outline{background:transparent;color:var(--color-blue-primary);border:2px solid var(--color-blue-primary)}.btn-outline:hover:not(:disabled){background:var(--gradient-primary);color:var(--color-white);border-color:transparent}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn-success{background:linear-gradient(135deg,#10b981,#059669)}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.error-message,.success-message,.warning-message,.info-message{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);animation:slideInLeft var(--transition-base)}.error-message{background-color:var(--color-error-light);border:1px solid var(--color-error);color:#991b1b}.success-message{background-color:var(--color-success-light);border:1px solid var(--color-success);color:#065f46}.warning-message{background-color:var(--color-warning-light);border:1px solid var(--color-warning);color:#92400e}.info-message{background-color:var(--color-info-light);border:1px solid var(--color-info);color:#1e40af}.success-message:before{content:"✅";font-size:var(--font-size-lg)}.warning-message:before{content:"⚡";font-size:var(--font-size-lg)}.info-message:before{content:"ℹ️";font-size:var(--font-size-lg)}.form-helper-text{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--spacing-xs);display:block}.form-error-text{font-size:var(--font-size-sm);color:var(--color-error);margin-top:var(--spacing-xs);display:block}.form-loading{position:relative;pointer-events:none;opacity:.6}.form-loading:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid var(--color-gray-200);border-top-color:var(--color-blue-primary);border-radius:50%;animation:spin .8s linear infinite}.form-divider{height:1px;background:var(--color-gray-200);margin:var(--spacing-xl) 0;position:relative}.form-divider.with-text{display:flex;align-items:center;text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm)}.form-divider.with-text:before,.form-divider.with-text:after{content:"";flex:1;height:1px;background:var(--color-gray-200)}.form-divider.with-text span{padding:0 var(--spacing-md)}@media (max-width: 768px){.form-container{padding:var(--spacing-xl) var(--spacing-lg);max-width:100%}.form-container h1,.form-container h2{font-size:var(--font-size-2xl)}.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.form-container{padding:var(--spacing-lg) var(--spacing-md);border-radius:var(--radius-xl)}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-sm) var(--spacing-md)}.form-button,.btn-primary{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-family-base);color:var(--color-gray-900);background-color:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--color-navy-dark);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-xl)}h2{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-lg)}h3{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed)}a{color:var(--color-blue-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-blue-medium);text-decoration:underline}a:active{color:var(--color-navy-dark)}code{font-family:var(--font-family-mono);background-color:var(--color-gray-100);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}pre{background-color:var(--color-gray-900);color:var(--color-gray-50);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto}pre code{background-color:transparent;color:inherit;padding:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-blue-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-blue-medium)}::selection{background-color:var(--color-blue-primary);color:var(--color-white)}::-moz-selection{background-color:var(--color-blue-primary);color:var(--color-white)}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff!important;padding:var(--spacing-md)}.login-wrapper:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:transparent;animation:float 20s ease-in-out infinite}.login-wrapper:after{content:"";position:absolute;bottom:-50%;left:-50%;width:100%;height:100%;background:transparent;animation:float 15s ease-in-out infinite reverse}.login-container{width:100%;max-width:420px;background:var(--color-white);padding:var(--spacing-3xl) var(--spacing-2xl);border-radius:var(--radius-2xl);box-shadow:0 20px 25px -5px #00000026;border:none;text-align:center;position:relative;z-index:1;animation:scaleIn var(--transition-slow)}.user-avatar{background:transparent!important;box-shadow:none!important;animation:none!important;width:auto;height:auto;border-radius:0;margin-bottom:var(--spacing-xl)}.logo-avatar{width:100px;height:100px;object-fit:contain;filter:none!important}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.875rem}.remember-me{display:flex;align-items:center;cursor:pointer;color:#6b7280;-webkit-user-select:none;user-select:none}.remember-me input[type=checkbox]{display:none}.checkmark{display:inline-block;width:16px;height:16px;border:2px solid #d1d5db;border-radius:3px;margin-right:.5rem;position:relative;transition:all .2s ease}.remember-me input[type=checkbox]:checked+.checkmark{background-color:#1976d2;border-color:#1976d2}.remember-me input[type=checkbox]:checked+.checkmark:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.forgot-password{color:#1976d2;text-decoration:none;font-weight:500;transition:color .2s ease}.forgot-password:hover{color:#1565c0}.register-link{display:flex;justify-content:center;align-items:center;margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-gray-600)}.register-link a{color:var(--color-blue-primary);text-decoration:none;font-weight:var(--font-weight-semibold);transition:color var(--transition-base);margin-left:var(--spacing-xs)}.register-link a:hover{color:var(--color-blue-medium);text-decoration:underline}.login-button{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,#1976d2,#1565c0);color:var(--color-white);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);margin-top:var(--spacing-lg);letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:0 4px 6px -1px #1976d24d;position:relative;overflow:hidden}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button:hover:before{left:100%}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 10px 15px -3px #1976d266}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px #1976d24d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-button svg{width:20px;height:20px}@media (min-width: 1024px){.login-container{max-width:450px;padding:var(--spacing-3xl) var(--spacing-2xl)}.user-avatar{width:120px;height:120px}.logo-avatar{width:100px;height:100px}.login-form{gap:var(--spacing-lg)}}@media (min-width: 768px) and (max-width: 1023px){.login-container{max-width:420px;padding:var(--spacing-2xl) var(--spacing-xl)}.user-avatar{width:110px;height:110px;margin-bottom:var(--spacing-lg)}.logo-avatar{width:90px;height:90px}.login-form{gap:var(--spacing-md)}.input-group input{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-base)}.login-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}}@media (min-width: 481px) and (max-width: 767px){.login-container{max-width:100%;padding:var(--spacing-2xl) var(--spacing-xl);border-radius:var(--radius-xl)}.user-avatar{width:100px;height:100px;margin-bottom:var(--spacing-lg)}.logo-avatar{width:80px;height:80px}.login-form{gap:var(--spacing-md)}.input-group input{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-base);border-radius:var(--radius-md)}.login-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);margin-top:var(--spacing-md)}.login-button svg{width:18px;height:18px}.register-link{font-size:var(--font-size-xs)}}@media (max-width: 480px){.login-wrapper{padding:var(--spacing-sm);min-height:100vh}.login-container{width:100%;max-width:100%;padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-lg)}.user-avatar{width:90px;height:90px;margin-bottom:var(--spacing-lg)}.logo-avatar{width:70px;height:70px}.login-form{gap:var(--spacing-md)}.input-group{position:relative}.input-group input{width:100%;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-2xl);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.input-icon{left:var(--spacing-sm)}.input-group input:focus{box-shadow:0 0 0 2px #1976d21a}.login-button{padding:var(--spacing-md) var(--spacing-md);font-size:var(--font-size-sm);margin-top:var(--spacing-md);gap:var(--spacing-xs)}.login-button svg{width:16px;height:16px}.register-link{font-size:var(--font-size-xs);margin-top:var(--spacing-sm)}.register-link a{margin-left:var(--spacing-xs)}.form-options{flex-direction:column;gap:var(--spacing-sm)}}.register-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff;padding:var(--spacing-md);position:relative;overflow:hidden}.register-wrapper:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:transparent;animation:float 20s ease-in-out infinite}.register-wrapper:after{content:"";position:absolute;bottom:-50%;left:-50%;width:100%;height:100%;background:transparent;animation:float 15s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,-20px) scale(1.1)}}.register-container{width:100%;max-width:420px;background:var(--color-white);padding:var(--spacing-3xl) var(--spacing-2xl);border-radius:var(--radius-2xl);box-shadow:0 20px 25px -5px #00000026;border:none;text-align:center;position:relative;z-index:1;animation:scaleIn var(--transition-slow);max-height:90vh;overflow-y:auto}.user-avatar{display:flex;justify-content:center;align-items:center;width:120px;height:120px;background:linear-gradient(135deg,#1976d2,#1565c0);border-radius:var(--radius-full);margin:0 auto var(--spacing-2xl) auto;border:none;box-shadow:0 10px 15px -3px #1976d24d;animation:pulse 3s ease-in-out infinite;flex-shrink:0}.logo-avatar{width:100px;height:100px;object-fit:contain;filter:brightness(0) invert(1)}.register-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-md);z-index:2;display:flex;align-items:center;justify-content:center;color:var(--color-gray-400);transition:color var(--transition-base)}.input-group input:focus~.input-icon,.input-group input:not(:placeholder-shown)~.input-icon{color:var(--color-blue-primary)}.input-group input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) var(--spacing-3xl);border:1px solid var(--color-gray-200);background:var(--color-white);font-size:var(--font-size-base);transition:all var(--transition-base);color:var(--color-gray-900);box-sizing:border-box;font-family:var(--font-family-base);border-radius:var(--radius-md)}.input-group input:focus{outline:none;border-color:var(--color-blue-primary);background:var(--color-white);box-shadow:0 0 0 3px #1976d21a}.input-group input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-gray-50)}.input-group input::placeholder{color:var(--color-gray-400);font-weight:var(--font-weight-normal)}.form-options{display:flex;justify-content:center;align-items:center;margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-gray-600)}.login-link{display:flex;justify-content:center;align-items:center;font-size:var(--font-size-sm);color:var(--color-gray-600)}.login-link a{color:var(--color-blue-primary);text-decoration:none;font-weight:var(--font-weight-semibold);transition:color var(--transition-base);margin-left:var(--spacing-xs)}.login-link a:hover{color:var(--color-blue-medium);text-decoration:underline}.register-button{width:100%;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,#1976d2,#1565c0);color:var(--color-white);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);margin-top:var(--spacing-lg);letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:0 4px 6px -1px #1976d24d;position:relative;overflow:hidden}.register-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.register-button:hover:before{left:100%}.register-button:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 10px 15px -3px #1976d266}.register-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px #1976d24d}.register-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.register-button svg{width:20px;height:20px}.error-message{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-lg);color:#991b1b;font-size:var(--font-size-sm);text-align:center;animation:shake var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.error-message:before{content:"⚠️";font-size:var(--font-size-lg)}@media (min-width: 1024px){.register-container{max-width:450px;padding:var(--spacing-3xl) var(--spacing-2xl)}.user-avatar{width:120px;height:120px}.logo-avatar{width:100px;height:100px}.register-form{gap:var(--spacing-md)}}@media (min-width: 768px) and (max-width: 1023px){.register-container{max-width:420px;padding:var(--spacing-2xl) var(--spacing-xl)}.user-avatar{width:110px;height:110px;margin-bottom:var(--spacing-lg)}.logo-avatar{width:90px;height:90px}.register-form{gap:var(--spacing-sm)}.input-group input{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-base)}.register-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}}@media (min-width: 481px) and (max-width: 767px){.register-container{max-width:100%;padding:var(--spacing-2xl) var(--spacing-xl);border-radius:var(--radius-xl)}.user-avatar{width:100px;height:100px;margin-bottom:var(--spacing-lg)}.logo-avatar{width:80px;height:80px}.register-form{gap:var(--spacing-sm)}.input-group input{padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-base);border-radius:var(--radius-md)}.register-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.register-button svg{width:18px;height:18px}.form-options{font-size:var(--font-size-xs)}}@media (max-width: 480px){.register-wrapper{padding:var(--spacing-sm);min-height:100vh}.register-container{width:100%;max-width:100%;padding:var(--spacing-lg) var(--spacing-md);border-radius:var(--radius-lg)}.user-avatar{width:90px;height:90px;margin-bottom:var(--spacing-lg)}.logo-avatar{width:70px;height:70px}.register-form{gap:var(--spacing-sm)}.input-group{position:relative}.input-group input{width:100%;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-2xl);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.input-icon{left:var(--spacing-sm)}.input-group input:focus{box-shadow:0 0 0 2px #1976d21a}.register-button{padding:var(--spacing-md) var(--spacing-md);font-size:var(--font-size-sm);margin-top:var(--spacing-md);gap:var(--spacing-xs)}.register-button svg{width:16px;height:16px}.form-options{font-size:var(--font-size-xs);margin-top:var(--spacing-sm)}.login-link a{margin-left:var(--spacing-xs)}}.register-container::-webkit-scrollbar{width:6px}.register-container::-webkit-scrollbar-track{background:transparent}.register-container::-webkit-scrollbar-thumb{background:var(--color-blue-primary);border-radius:var(--radius-full)}.register-container::-webkit-scrollbar-thumb:hover{background:var(--color-blue-medium)}.filters{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.filters input{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;flex:1}.transactions-header{background-color:#e8e8e8;padding:1.5rem;border-radius:8px;margin-bottom:1rem}.transactions-header h2{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#333}.filters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column;gap:.4rem}.filter-group label{font-size:.9rem;color:#333;font-weight:500;text-align:left}.filter-group input,.filter-group select{padding:.6rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;background-color:#fff;transition:border-color .2s ease}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#666}.filter-actions{display:flex;gap:.5rem;justify-self:start;justify-content:flex-start}.btn-filter{padding:.6rem 1.5rem;background-color:#333;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;height:fit-content;align-self:end}.btn-filter:hover{background-color:#555}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem;border:1px solid #f5c6cb}.loading-state,.empty-state{text-align:center;padding:3rem;color:#666;background-color:#fff;border-radius:4px}.transactions-table-container{background-color:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.btn-edit,.btn-delete{padding:.5rem 1rem;margin-right:.5rem;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:.3rem}.btn-gap{margin-left:.35rem}.btn-edit{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff}.btn-edit:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-1px);box-shadow:0 4px 12px #1976d24d}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.btn-down{transform:translateY(3px)}.transactions-table th:nth-child(6),.transactions-table td:nth-child(6){min-width:140px;width:160px;text-align:center}.transactions-table thead th:nth-child(6){text-align:center}.transactions-table{width:100%;border-collapse:collapse}.transactions-table thead{background-color:#d4d4d4}.transactions-table th{padding:.8rem 1rem;text-align:center;font-weight:600;font-size:.9rem;color:#333;border-bottom:2px solid #bbb}.transactions-table tbody tr{border-bottom:1px solid #e8e8e8;transition:background-color .2s ease}.transactions-table tbody tr:hover{background-color:#f9f9f9}.transactions-table td{padding:.8rem 1rem;font-size:.9rem;color:#333}.value-positive{color:#27ae60;font-weight:600}.value-negative{color:#e74c3c;font-weight:600}.actions-cell{display:flex;gap:.5rem;align-items:center}.btn-action{padding:.4rem .6rem;border:none;background-color:transparent;cursor:pointer;font-size:1.2rem;transition:transform .2s ease;border-radius:4px}.btn-action:hover{transform:scale(1.1);background-color:#f0f0f0}.btn-edit:hover{background-color:#e3f2fd}.btn-delete:hover{background-color:#ffebee}@media (max-width: 1024px){.dashboard-sidebar{width:240px}.sidebar-header{padding:1rem}.sidebar-nav{padding:.5rem 0}.nav-item{padding:.75rem 1rem}.dashboard-content{padding:1.5rem}.filters-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dashboard-wrapper{flex-direction:column}.dashboard-sidebar{width:100%;position:fixed;height:100vh;transform:translate(-100%);z-index:1000}.dashboard-sidebar.open{transform:translate(0)}.dashboard-main{width:100%}.menu-toggle{display:flex}.topbar-content{flex-wrap:wrap}.topbar-search{min-width:150px;flex:1}.filters-grid{grid-template-columns:1fr}.transactions-table-container{overflow-x:auto}.dashboard-content{padding:1rem}.btn-action{padding:.5rem 1rem;font-size:.85rem}}@media (max-width: 480px){.topbar-content{flex-direction:column;align-items:stretch}.btn-action{width:100%}.topbar-search{width:100%;min-width:unset}.dashboard-content{padding:.75rem}.transactions-header{padding:1rem}}.dashboard-wrapper{display:flex;height:100vh;background-color:#f8f9fa;overflow:hidden}.dashboard-sidebar{width:280px;background-color:#2c3e50;color:#ecf0f1;display:flex;flex-direction:column;box-shadow:2px 0 8px #0000001a;transition:transform .3s ease;position:relative;z-index:100;overflow-y:auto}.sidebar-title h2{margin:0;font-size:1.3rem;font-weight:700;color:#ecf0f1}.sidebar-title p{margin:0;font-size:.85rem;color:#95a5a6}.nav-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;color:#bdc3c7;text-decoration:none;border:none;background:none;cursor:pointer;transition:all .3s ease;font-size:.95rem;border-left:3px solid transparent;font-family:inherit;text-align:left;width:100%;box-sizing:border-box}.nav-item:hover{background-color:#ffffff1a;color:#ecf0f1;padding-left:1.5rem}.dashboard-topbar{background-color:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d}.topbar-search{padding:.6rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;min-width:200px;transition:border-color .3s ease}.content-header h1{color:#2c3e50;font-size:1.875rem;font-weight:700;margin:0}.transaction-form-modal-wrapper{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a;max-width:700px;margin:0 auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.transaction-tabs{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;justify-content:center}.tab-button{flex:0 1 auto;padding:.875rem 2rem;background-color:#f3f4f6;color:#2c3e50;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;min-width:120px;box-shadow:0 1px 2px #0000000f}.tab-button:hover{transform:translateY(-2px);box-shadow:0 6px 14px #00000014}.tab-button:focus{outline:none;box-shadow:0 0 0 4px #3498db14}.tab-button.active{background-color:#3498db;color:#fff;font-weight:700;box-shadow:0 6px 18px #3498db2e;transform:translateY(-2px)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.form-group-checkbox{flex-direction:row;align-items:center;gap:.5rem}.form-group.form-group-checkbox label{margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group label{color:#333;font-size:.9rem;font-weight:500;display:block;text-align:left}.form-group input,.form-group select{padding:.6rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;transition:border-color .2s ease;background-color:#fff;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#666;box-shadow:0 0 0 3px #6666661a}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-group small{display:block;margin-top:.25rem;color:#999;font-size:.8rem;font-style:italic}.add-receipt-btn{width:100%;padding:.75rem;background:transparent;border:2px dashed #d1d5db;border-radius:6px;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:inherit}.add-receipt-btn:hover{border-color:#3498db;color:#3498db;background:#3498db0d}.add-receipt-btn:disabled{opacity:.5;cursor:not-allowed}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-cancel,.btn-save{flex:1;padding:.6rem 1.5rem;border:none;border-radius:4px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;font-family:inherit;height:fit-content}.btn-cancel{background:#f5f5f5;color:#333}.btn-cancel:hover{background:#e8e8e8}.btn-save{background:#333;color:#fff}.btn-save:hover{background:#555}.btn-cancel:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed}.error-message{padding:1rem;background:#fce4ec;border:1px solid #f8bbd0;border-radius:4px;color:#c2185b;margin-bottom:1rem;font-size:.9rem}.success-message{padding:1rem;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;color:#2e7d32;margin-bottom:1rem;font-size:.9rem}@media (max-width: 768px){.dashboard-wrapper{flex-direction:column}.dashboard-sidebar{width:100%;position:fixed;height:100vh;transform:translate(-100%);z-index:1000}.dashboard-sidebar.open{transform:translate(0)}.dashboard-main{width:100%}.menu-toggle{display:flex}.topbar-content{flex-wrap:wrap}.topbar-search{min-width:150px;flex:1}.transaction-form-modal-wrapper{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.tab-button{padding:.75rem .5rem;font-size:.8rem}.dashboard-content{padding:1rem}}@media (max-width: 480px){.topbar-content{flex-direction:column;align-items:stretch}.btn-action{width:100%;justify-content:center}.topbar-search{width:100%;min-width:unset}.dashboard-content{padding:.75rem}.transaction-form-modal-wrapper{padding:1rem;margin:.5rem}.transaction-form-modal-wrapper h1{font-size:1.25rem;margin-bottom:1rem}.transaction-tabs{margin-bottom:1rem}.tab-button{font-size:.75rem;padding:.5rem .25rem}.form-row{gap:.75rem}.form-actions{gap:.75rem;flex-direction:column}.btn-cancel,.btn-save{padding:.6rem 1rem;font-size:.85rem}}.converter-container{max-width:800px;margin:2rem auto;padding:2rem}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:auto}.converter-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .3s ease}.currency-selects{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:end}.arrow{font-size:2rem;color:#1976d2;padding-bottom:1rem;font-weight:700}button{width:100%;padding:1rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}button:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 10px 30px #1976d24d}button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6;transform:none}.converter-result{margin-top:2rem;padding:2rem;background:linear-gradient(135deg,#1976d2,#0d47a1);color:#fff;border-radius:16px;text-align:center;box-shadow:0 8px 24px #1976d24d}.converter-result h2{margin-top:0}.conversion-display{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2rem 0;font-size:1.5rem;font-weight:700}.original,.converted{padding:.5rem 1rem;background-color:#fff3;border-radius:4px}.equals{font-size:2rem}.rate{font-size:.9rem;opacity:.9}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.categories-container{padding:2rem;max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem}.page-header h1{margin:0;font-size:2.5rem;color:#333;flex:1;text-align:center}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.pagination-wrapper{display:flex;justify-content:center;margin-top:2rem;width:100%}.pagination{display:inline-flex;align-items:center;gap:.5rem;background:transparent}.pagination button{padding:.35rem .6rem;border-radius:8px;border:1px solid #1976d2;background:linear-gradient(135deg,#1976d2,#1565c0);cursor:pointer;font-weight:600;color:#fff}.pagination .pagination-arrow{padding:.35rem;display:inline-flex;align-items:center;justify-content:center}.pagination button.active{background:linear-gradient(135deg,#0f62b6,#0b4f99);color:#fff;border-color:#0f62b6}.pagination button:hover,.pagination button:focus{background:linear-gradient(135deg,#145ea8,#0f4f8a);border-color:#145ea8;transform:translateY(-2px)}.pagination .pagination-arrow svg{color:#fff;fill:currentColor}.pagination button:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.filter-section{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin:2rem 0}.filter-buttons{display:flex;gap:1rem}.filter-buttons button{padding:.75rem 1.5rem;border:2px solid #1976d2;border-radius:12px;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;cursor:pointer;transition:all .3s ease;font-weight:600;display:flex;align-items:center;gap:.5rem;font-size:.95rem;white-space:nowrap}.filter-buttons button.active{background:linear-gradient(135deg,#1565c0,#0d47a1);color:#fff;border-color:#1976d2}.filter-buttons button:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 4px 12px #1976d266}.filter-buttons button.active:hover{background:linear-gradient(135deg,#0d47a1,#082d5c);box-shadow:0 4px 12px #1976d280}.btn-new-category{padding:.75rem 1.5rem;border:2px solid #1976d2;border-radius:12px;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;cursor:pointer;transition:all .3s ease;font-weight:600;display:flex;align-items:center;gap:.5rem;font-size:.95rem;white-space:nowrap}.btn-new-category:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 4px 12px #1976d266}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.category-card{padding:1.5rem;border:1px solid #ddd;border-left-width:4px;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:100%;transition:all .3s ease}.category-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.category-icon{font-size:1.5rem;flex-shrink:0}.category-header h3{margin:0;color:#333;font-size:1.25rem}.description{color:#666;margin:.25rem 0 .6rem;font-size:.9rem;line-height:1.25;text-align:left;flex:0 0 auto}.category-meta{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:700}.type-badge.income{background-color:#d4edda;color:#155724}.type-badge.expense{background-color:#f8d7da;color:#721c24}.default-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;background-color:#e7f3ff;color:#004085}.category-actions{display:flex;gap:.5rem;margin-top:.5rem}.category-actions .btn-edit,.category-actions .btn-delete{flex:1;padding:.5rem 1rem;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.3rem}.category-actions .btn-edit{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff}.category-actions .btn-edit:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-1px);box-shadow:0 4px 12px #1976d24d}.category-actions .btn-delete{background-color:#dc3545;color:#fff}.category-actions .btn-delete:hover{background-color:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #f5c6cb}@media (max-width: 768px){.categories-container{padding:1.5rem}.page-header{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem}.page-header h1{font-size:2rem;width:100%;order:-1}.btn-back{padding:.6rem 1.2rem;font-size:.9rem}.filter-section{flex-direction:column;justify-content:center;gap:1rem;margin:1.5rem 0}.filter-buttons{width:100%;justify-content:center;flex-wrap:wrap;gap:.75rem}.btn-new-category{width:100%;justify-content:center;padding:.75rem 1rem}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}.category-card{padding:1.25rem}}@media (max-width: 480px){.categories-container{padding:1rem}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.75rem}.btn-back{padding:.6rem 1rem;font-size:.8rem;width:100%;justify-content:center}.btn-back svg{width:18px;height:18px}.filter-section{flex-direction:column;gap:.75rem;margin:1rem 0}.filter-buttons{width:100%;flex-direction:column;gap:.5rem}.filter-buttons button,.btn-new-category{width:100%;justify-content:center;padding:.65rem 1rem;font-size:.85rem}.categories-grid{grid-template-columns:1fr;gap:1rem;margin-top:1rem}.category-card{padding:1rem}.category-header h3{font-size:1.1rem}.category-icon{font-size:1.25rem}.description{font-size:.85rem}.category-actions .btn-edit,.category-actions .btn-delete{padding:.5rem .75rem;font-size:.75rem}}.category-form-container{max-width:600px;max-height:700px;margin:calc(var(--spacing-2xl) / 2) auto;padding:var(--spacing-2xl) var(--spacing-2xl);background:var(--color-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);border:1px solid rgba(25,118,210,.1);animation:fadeIn var(--transition-base)}.form-header{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-2xl);position:relative}.back-button{position:absolute;left:0;display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;width:auto;flex-shrink:0}.back-button:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translate(-3px);box-shadow:0 4px 12px #1976d24d}.back-button:active{transform:translate(-1px)}.back-button svg{width:20px;height:20px}.form-header h1{margin:0}.category-form-container h1{margin:0;color:var(--color-navy-dark);font-weight:var(--font-weight-bold);font-size:var(--font-size-3xl);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.category-form-container .form-group label{display:block;text-align:left;margin-bottom:var(--spacing-sm)}.category-form-container .checkbox-group label{display:inline;text-align:inherit;margin-bottom:inherit;display:flex;align-items:center;gap:var(--spacing-sm)}.category-form-container .checkbox-group input[type=checkbox]{margin:0}.category-form-container input[type=text],.category-form-container input[type=color],.category-form-container select,.category-form-container textarea{max-width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.category-form-container .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.category-form-container .form-row .form-group{margin-bottom:0}.category-form-container input[type=color]{height:45px;cursor:pointer;transition:all var(--transition-base)}.category-form-container input[type=color]:hover{transform:scale(1.08);box-shadow:var(--shadow-lg)}.category-form-container input[name=icon]{text-align:center;font-size:var(--font-size-2xl)}@media (max-width: 768px){.category-form-container{margin:var(--spacing-xl) auto;padding:var(--spacing-2xl) var(--spacing-lg)}.form-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.back-button{font-size:.85rem}.back-button svg{width:18px;height:18px}.category-form-container .form-row{grid-template-columns:1fr}}@media (max-width: 480px){.category-form-container{margin:var(--spacing-md) var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-md)}.category-form-container h1{font-size:var(--font-size-2xl)}}.budget-list-container{padding:2rem;max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-header h1{margin:0;flex:1}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-back svg{width:20px;height:20px}.budget-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.budget-item{padding:1.5rem;border:1px solid #ddd;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000001a}.budget-item h3{margin-top:0;color:#1976d2}.budget-item p{margin:.5rem 0;color:#666}.controls{margin-bottom:1.5rem}.controls label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#333}.controls select{padding:.5rem 1rem;border:2px solid #1976d2;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.controls select:focus{outline:none;border-color:#0d47a1;box-shadow:0 0 0 3px #1976d21a}.fixed-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border-radius:12px;font-size:.8rem;font-weight:600;margin-top:.5rem}.budget-chart-container{padding:2rem;max-width:1200px;margin:0 auto}.chart-area{margin-top:2rem;padding:2rem;border:1px solid #ddd;border-radius:8px;background-color:#fff}.chart-list{display:flex;flex-direction:column;gap:1rem}.chart-bar{display:flex;flex-direction:column;gap:.5rem}.category-name{font-weight:700;color:#333}.bar-container{background-color:#e0e0e0;border-radius:4px;overflow:hidden;height:30px}.bar-fill{background:linear-gradient(90deg,#1976d2,#0d47a1);height:100%;display:flex;align-items:center;padding-left:.5rem;color:#fff;font-weight:700;transition:width .3s ease;border-radius:4px}.projection-wrapper{display:flex;height:100vh;background-color:#f8f9fa;overflow:hidden}.projection-sidebar{background-color:#1565c0;height:880px;width:280px;color:#ecf0f1;display:flex;flex-direction:column;box-shadow:2px 0 8px #0000001a;transition:transform .3s ease;position:relative;z-index:100;overflow-y:auto}.projection-sidebar.closed{transform:translate(-100%);position:absolute;height:100%}.sidebar-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-title h2{margin:0;font-size:1.3rem;font-weight:700;color:#fff}.sidebar-title p{margin:0;font-size:.85rem;color:#fff}.nav-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;color:#fff;text-decoration:none;border:none;background:none;cursor:pointer;transition:all .3s ease;font-size:.95rem;border-left:3px solid transparent;font-family:inherit;text-align:left;width:100%;box-sizing:border-box}.nav-item:hover{background-color:#fff3;color:#fff;padding-left:1.5rem}.nav-item.active{background-color:#3498db33;color:#fff;border-left-color:#3498db}.sidebar-footer{display:flex;flex-direction:column;gap:0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.nav-item-logout{color:#e74c3c!important}.nav-item-logout:hover{background-color:#ffffff1a!important;color:#ff6b6b!important}.projection-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.projection-topbar{background-color:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d}.menu-toggle{background:none;border:none;cursor:pointer;padding:.5rem;color:#2c3e50;display:none;align-items:center;justify-content:center}.topbar-content{display:flex;align-items:center;gap:1rem;flex:1}.topbar-content h1{margin:0;font-size:1.5rem;color:#2c3e50;font-weight:700;white-space:nowrap}.btn-action{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;white-space:nowrap}.btn-action:hover{background-color:#2980b9;transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}.btn-icon{font-size:1.2rem;min-width:1.5rem;flex-shrink:0}.topbar-search{padding:.6rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;min-width:200px;transition:border-color .3s ease;margin-left:auto}.topbar-search:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.projection-content{flex:1;padding:2rem;overflow-y:auto}.content-header{margin-bottom:1.5rem}.content-header h1{margin:0;font-size:2rem;color:#2c3e50;font-weight:700}.projection-container{max-width:1200px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.projection-controls{background:#fff;padding:1.5rem;border-radius:12px;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.projection-controls label{font-weight:600;color:#2c3e50;white-space:nowrap}.projection-controls input{padding:.75rem;border:2px solid #1976d2;border-radius:8px;font-size:1rem;width:100px}.months-input{padding:.6rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;width:100px;transition:border-color .3s ease}.months-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.loading-state{background:#fff;padding:3rem;border-radius:12px;text-align:center;color:#2c3e50;box-shadow:0 1px 3px #0000001a}.loading-state p{margin:0;font-size:1rem}.projection-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.result-card{background:#e8eef2;padding:1rem;border-radius:8px;display:flex;flex-direction:column;gap:.5rem}.result-card:hover{background:#dce5ed;transition:background .3s ease}.result-label{margin:0;font-size:.85rem;color:#2c3e50;font-weight:600}.result-value{margin:0;font-size:.9rem;color:#2c3e50;font-weight:500}.result-input{padding:.5rem .75rem;border:none;background-color:#fff;border-radius:4px;font-size:1rem;color:#2c3e50;font-weight:600;text-align:right}.result-card .value{font-size:2rem;font-weight:700;color:#1976d2;margin:1rem 0 0;color:#fff}.result-card.highlight h3,.result-card.highlight .value{color:#fff}.result-card.highlight .result-label{color:#ffffffe6}.result-input:disabled{background-color:#fff;color:#2c3e50;cursor:default}.result-card.highlight{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.result-card.highlight .result-label,.result-card.highlight .result-value{color:#ffffffe6}.no-data{background:#fff;padding:2rem;border-radius:12px;text-align:center;color:#95a5a6;box-shadow:0 1px 3px #0000001a}.projection-bottom-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;align-items:stretch}.projection-chart-section{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;display:flex;flex-direction:column}.projection-chart-section h2{margin:0 0 1.5rem;font-size:1.2rem;color:#2c3e50;font-weight:700}.chart-placeholder{display:flex;align-items:flex-end;justify-content:center;gap:1.5rem;height:300px;padding:0 1rem 40px;min-height:300px;position:relative}.chart-bar-item{display:flex;flex-direction:column;align-items:center;gap:0;width:55px;flex-shrink:0;position:relative;height:fit-content}.bar-label{font-size:.85rem;color:#2c3e50;font-weight:600;flex-shrink:0;text-align:center;width:55px;white-space:nowrap;position:absolute;bottom:-28px;left:0;right:0}.bar-container{height:250px;width:55px;background-color:#f1f5f9;border-radius:8px 8px 0 0;display:flex;align-items:flex-end;justify-content:center;padding:.25rem;box-sizing:border-box;flex-shrink:0}.bar{width:100%;background:linear-gradient(180deg,#3498db,#2980b9);border-radius:6px 6px 0 0;transition:all .3s ease;min-height:6px;box-shadow:0 2px 6px #2980b940}.bar-container:hover .bar{background:linear-gradient(180deg,#2980b9,#1f618d)}.projection-transactions-section{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;display:flex;flex-direction:column}.projection-transactions-section h2{margin:0 0 1.5rem;font-size:1.2rem;color:#2c3e50;font-weight:700}.transactions-list{display:flex;flex-direction:column;gap:1rem;flex:1}.transaction-item{display:flex;align-items:flex-start;justify-content:flex-start;padding:1rem;background:#f8f9fa;border-radius:8px;transition:all .3s ease;border-left:4px solid #3498db}.transaction-item:hover{background:#ecf0f1;transform:translate(4px)}.transaction-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.transaction-name{margin:0;font-size:.95rem;font-weight:600;color:#2c3e50}.transaction-date{margin:.25rem 0 0;font-size:.85rem;color:#95a5a6}.projection-transactions-section .transaction-value{margin:0;font-size:1rem;font-weight:700;color:#e74c3c}.projection-transactions-section .transaction-value.positive{color:#27ae60}.tx-pagination-wrapper{display:flex;justify-content:center;margin-top:1rem;width:100%}.tx-pagination{display:inline-flex;align-items:center;gap:.5rem;background:transparent}.tx-pagination button{padding:.35rem .6rem;border-radius:8px;border:1px solid #1976d2;background:linear-gradient(135deg,#1976d2,#1565c0);cursor:pointer;font-weight:600;color:#fff}.tx-pagination .pagination-arrow{padding:.35rem;display:inline-flex;align-items:center;justify-content:center}.tx-pagination button.active{background:linear-gradient(135deg,#0f62b6,#0b4f99);color:#fff;border-color:#0f62b6}.tx-pagination button:hover,.tx-pagination button:focus{background:linear-gradient(135deg,#145ea8,#0f4f8a);border-color:#145ea8;transform:translateY(-2px)}.tx-pagination .pagination-arrow svg{color:#fff;fill:currentColor}.tx-pagination button:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.tx-pagination button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.projection-sidebar{width:240px}.sidebar-header{padding:1rem}.sidebar-nav{padding:.5rem 0}.nav-item{padding:.75rem 1rem}.projection-content{padding:1.5rem}.projection-results{gap:1rem}}@media (max-width: 768px){.projection-wrapper{flex-direction:column}.projection-sidebar{width:100%;position:fixed;height:100vh;transform:translate(-100%);z-index:1000}.projection-sidebar.open{transform:translate(0)}.projection-main{width:100%}.menu-toggle{display:flex}.topbar-content{flex-wrap:wrap;flex-direction:column}.btn-action{width:100%;justify-content:center}.topbar-search{width:100%;min-width:unset;margin-left:0}.projection-content{padding:1rem}.content-header h1{font-size:1.2rem}.projection-results{grid-template-columns:1fr 1fr}.chart-placeholder{height:250px}.bar-container{height:200px}.projection-bottom-container{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 480px){.topbar-content{flex-direction:column;align-items:flex-start}.btn-action{width:100%}.topbar-search{width:100%;min-width:unset;margin-left:0}.projection-content{padding:.75rem}.projection-container{width:100%}.projection-results{grid-template-columns:1fr}.projection-chart-section,.projection-transactions-section{padding:1rem}.chart-placeholder{height:200px}.bar-container{height:150px}.content-header h1{font-size:1rem}.btn-action span{display:none}.btn-action .btn-icon{margin:0}}.projection-content,.projection-sidebar,.sidebar-nav,.transactions-list{scrollbar-width:none;-ms-overflow-style:none}.projection-content::-webkit-scrollbar,.projection-sidebar::-webkit-scrollbar,.sidebar-nav::-webkit-scrollbar,.transactions-list::-webkit-scrollbar{display:none;width:0;height:0}.goals-form-container{max-width:600px;margin:0 auto;padding:30px 20px;width:100%;display:flex;flex-direction:column;align-items:center}.dashboard-content .goals-form-container{padding:2rem;max-width:600px;display:flex;flex-direction:column;align-items:center}.dashboard-content .content-header{width:100%;text-align:center;margin-bottom:2rem}.dashboard-content .content-header h1{text-align:center}.form-header{margin-bottom:30px;text-align:center}.form-header h2{font-size:28px;color:#1a1a1a;margin-bottom:10px}.form-header p{color:#666;font-size:14px}.goals-form{background:#fff;border-radius:8px;padding:25px;box-shadow:0 2px 8px #0000001a;max-width:600px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px}.btn-cancel,.btn-submit{padding:12px 24px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel{background-color:#f0f0f0;color:#333}.btn-cancel:hover{background-color:#e0e0e0}.btn-submit{background-color:#06c;color:#fff}.btn-submit:hover{background-color:#0052a3}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.goals-form-container{padding:20px 15px}.goals-form{padding:20px}.form-header h2{font-size:24px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.goals-list-container{padding:30px 20px;max-width:1000px;margin:0 auto}.content-header{margin-bottom:30px}.content-header h1{font-size:32px;font-weight:700;color:#1a1a1a;margin:0;line-height:1.2}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;transition:transform .3s,box-shadow .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.stat-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-label{font-size:13px;font-weight:600;opacity:.9;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:28px;font-weight:700;line-height:1}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.error-message{padding:15px;background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;font-size:14px;margin-bottom:20px}.loading-state{text-align:center;padding:60px 20px;color:#666;font-size:16px;background:#f9f9f9;border-radius:8px}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#f9f9f9;border-radius:8px;border:2px dashed #ddd}.empty-state p{color:#666;font-size:16px;margin-bottom:20px}.btn-create-empty{padding:12px 24px;background-color:#06c;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .3s}.btn-create-empty:hover{background-color:#0052a3}.goal-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000000d;transition:all .3s}.goal-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#06c}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.goal-header h3{font-size:16px;color:#1a1a1a;margin:0}.period-badge{display:inline-block;padding:4px 10px;background-color:#e3f2fd;color:#06c;border-radius:12px;font-size:12px;font-weight:600}.goal-content{margin-bottom:20px}.goal-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.goal-item .label{color:#666;font-weight:500}.goal-item .value{color:#1a1a1a;font-weight:600}.goal-actions{display:flex;gap:10px;padding-top:15px;border-top:1px solid #eee}.btn-delete{flex:1;padding:10px;background-color:#fee;border:1px solid #fcc;color:#c33;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s}.btn-delete:hover{background-color:#fdd;border-color:#c00}@media (max-width: 768px){.dashboard-stats,.dashboard-grid{grid-template-columns:1fr}.content-header h1,.stat-value{font-size:24px}.goal-header{flex-direction:column;align-items:flex-start;gap:10px}.period-badge{align-self:flex-start}}.content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.content-header h1{margin:0;font-size:2rem;color:#333}.btn-create{padding:.75rem 1.5rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-create:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 10px 30px #1976d24d}.error-message{padding:1rem;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:1.5rem}.search-section{margin-bottom:2rem}.search-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:2px solid #1976d2;border-radius:12px;max-width:600px}.search-bar svg{color:#7f8c8d;flex-shrink:0}.search-bar input{flex:1;border:none;outline:none;font-size:1rem;color:#333}.search-bar button{padding:.5rem 1.25rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.search-bar button:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-1px)}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state svg{color:#d5dbdb;margin-bottom:1rem}.empty-state p{font-size:1.25rem;color:#7f8c8d;margin-bottom:1.5rem}.btn-create-empty{padding:.75rem 1.5rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease}.btn-create-empty:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 10px 30px #1976d24d}.group-card{padding:1.5rem;border:1px solid #ddd;border-radius:12px;background-color:#fff;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.group-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.group-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.group-icon{position:relative;color:#06c}.owner-badge{position:absolute;top:-4px;right:-4px;background:gold;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:#fff}.group-header h3{margin:0;font-size:1.5rem;color:#1976d2}.description{color:#666;margin:.5rem 0 1rem;font-size:.95rem;line-height:1.5}.group-meta{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;padding:.75rem;background-color:#f8f9fa;border-radius:8px;font-size:.9rem}.members-count{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#333}.role-badge{padding:.25rem .75rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border-radius:12px;font-size:.85rem;font-weight:600}.group-actions{display:flex;gap:.5rem;margin-top:1rem}.group-actions button{flex:1;padding:.6rem 1rem;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:.3rem}.btn-view{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff}.btn-view:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-1px);box-shadow:0 4px 12px #1976d24d}.btn-edit{background:linear-gradient(135deg,#1565c0,#0d47a1);color:#fff}.btn-edit:hover{background:linear-gradient(135deg,#0d47a1,#0a3a7f);transform:translateY(-1px);box-shadow:0 4px 12px #0d47a14d}.form-container{padding:2rem;max-width:800px;margin:0 auto}.form-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.form-header h1{margin:0;font-size:2.5rem;color:#333;flex:1}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-back:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translate(-3px);box-shadow:0 4px 12px #1976d24d}.group-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.form-section{margin-bottom:2rem}.form-section h2{font-size:1.5rem;color:#333;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #1976d2}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.input-with-icon{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:2px solid #ddd;border-radius:8px;transition:all .3s ease}.input-with-icon:focus-within{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.input-with-icon svg{color:#7f8c8d;flex-shrink:0}.input-with-icon input,.input-with-icon textarea{flex:1;border:none;outline:none;font-size:1rem;color:#333;font-family:inherit;background:transparent}.input-with-icon textarea{resize:vertical;min-height:80px}.currency-options{display:flex;gap:1rem}.currency-option{flex:1;padding:.75rem 1.5rem;border:2px solid #ddd;border-radius:8px;background:#fff;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.currency-option:hover{border-color:#1976d2;background:#f8f9fa}.currency-option.active{border-color:#1976d2;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid #ddd}.btn-delete{padding:.75rem 1.5rem;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;margin-right:auto}.btn-delete:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.btn-delete:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-submit{padding:.75rem 2rem;background:linear-gradient(135deg,#28a745,#218838);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-submit:hover{background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.details-container{padding:2rem;max-width:1000px;margin:0 auto}.details-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.details-header h1{margin:0;font-size:2.5rem;color:#333;flex:1}.btn-edit-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-edit-header:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:2rem}.info-card h2{margin:0 0 1rem;font-size:1.5rem;color:#333;padding-bottom:.75rem;border-bottom:2px solid #1976d2}.info-card .description{color:#666;margin-bottom:1rem;line-height:1.6}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #eee}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:#555}.info-value{color:#333;font-weight:500}.members-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.members-header{margin-bottom:1.5rem}.members-header h2{margin:0;font-size:1.5rem;color:#333;padding-bottom:.75rem;border-bottom:2px solid #1976d2}.add-member-form{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background:#f8f9fa;border-radius:8px}.add-member-form input{flex:1;padding:.75rem 1rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease}.add-member-form input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.add-member-form button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.add-member-form button:hover:not(:disabled){background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.add-member-form button:disabled{opacity:.6;cursor:not-allowed}.members-list{display:flex;flex-direction:column;gap:1rem}.member-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:2px solid #ddd;border-radius:8px;transition:all .3s ease}.member-card:hover{border-color:#1976d2;box-shadow:0 2px 8px #0000001a}.member-card.owner{border-color:gold;background:linear-gradient(135deg,#fffbf0,#fff9e6)}.member-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:50%}.member-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.member-name{font-weight:600;color:#333;font-size:1rem}.member-id{font-size:.85rem;color:#7f8c8d;font-family:monospace}.member-role{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-radius:12px;font-weight:600;font-size:.9rem;color:#555}.member-actions{display:flex;gap:.5rem}.btn-action-small{padding:.5rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-action-small:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 2px 8px #1976d24d}.btn-action-small.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333)}.btn-action-small.btn-danger:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 2px 8px #dc35454d}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-container p,.error-container p{font-size:1.25rem;color:#7f8c8d;margin-bottom:1rem}.error-container .btn-back{margin-top:1rem}.dashboard-wrapper{display:flex;min-height:100vh;background-color:#f8f9fa;overflow:hidden}.dashboard-sidebar{background:linear-gradient(135deg,#1565c0,#0d47a1);width:280px;color:#ecf0f1;display:flex;flex-direction:column;box-shadow:2px 0 8px #0000001a;transition:transform .3s ease;position:relative;z-index:100;overflow-y:auto;flex-shrink:0}.dashboard-sidebar.closed{transform:translate(-100%);position:absolute;height:100%}.sidebar-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.15);flex-shrink:0}.sidebar-title h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.sidebar-title p{margin:.25rem 0 0;font-size:.85rem;color:#fffc}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:1rem 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;color:#ffffffe6;text-decoration:none;border:none;background:transparent;cursor:pointer;transition:all .3s ease;font-size:.95rem;border-left:3px solid transparent;font-family:inherit;text-align:left;width:100%;box-sizing:border-box}.nav-item:hover{background-color:#ffffff26;color:#fff;padding-left:1.75rem}.nav-item.active{background-color:#3498db4d;color:#fff;border-left-color:#3498db}.nav-icon{font-size:1.2rem;min-width:1.5rem;flex-shrink:0}.sidebar-footer{display:flex;flex-direction:column;gap:0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);flex-shrink:0}.nav-item-logout{color:#ff6b6b!important}.nav-item-logout:hover{background-color:#ff6b6b33!important;color:#faa!important}.dashboard-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.dashboard-topbar{background-color:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #0000000d;flex-wrap:wrap;flex-shrink:0}.menu-toggle{background:none;border:none;cursor:pointer;padding:.5rem;color:#2c3e50;display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;transition:background-color .3s ease}.menu-toggle:hover{background-color:#f3f4f6}.topbar-content{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.btn-action{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;white-space:nowrap;box-shadow:0 2px 8px #1976d233}.btn-action:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.btn-icon{font-size:1.1rem;min-width:1.25rem;flex-shrink:0}.topbar-search{padding:.6rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;min-width:200px;transition:all .3s ease;font-family:inherit}.topbar-search:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.dashboard-content{flex:1;padding:2rem;overflow-y:auto}.content-header{margin-bottom:2rem}.content-header h1{margin:0;font-size:2rem;color:#111827;font-weight:700;background:linear-gradient(135deg,#1976d2,#0d47a1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1.5rem}.dashboard-card{padding:2rem;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;background:#fff;transition:all .3s ease;position:relative;overflow:hidden}.dashboard-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#1976d2,#1565c0);transform:scaleY(0);transform-origin:top;transition:transform .3s ease}.dashboard-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px);border-color:#1976d2}.dashboard-card:hover:before{transform:scaleY(1)}.dashboard-card h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:700;color:#111827}.dashboard-card.card-large{grid-column:1}.dashboard-card.card-large:nth-child(2){grid-column:2}.dashboard-card.card-medium:nth-child(3){grid-column:1}.dashboard-card.card-medium:nth-child(4){grid-column:2}.card-content{min-height:180px}.summary-content{display:flex;flex-direction:column;gap:1.25rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.summary-item:last-child{border-bottom:none;padding-bottom:0}.summary-label{color:#6b7280;font-size:.95rem;font-weight:500}.summary-value{font-weight:700;font-size:1.25rem}.summary-value.positive{color:#10b981}.summary-value.negative{color:#ef4444}.transactions-list{display:flex;flex-direction:column;gap:1rem}.transaction{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:8px;background:#f8f9fa;border:1px solid #e5e7eb;transition:all .3s ease}.transaction:hover{background:#fff;box-shadow:0 2px 8px #0000000d;border-color:#d1d5db}.tx-info{display:flex;flex-direction:column;flex:1;min-width:0}.tx-title{font-weight:600;color:#111827;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.tx-date{font-size:.85rem;color:#6b7280;text-align:left;margin-top:.25rem}.tx-amount{font-weight:700;font-size:.95rem;flex:0 0 auto;margin-left:1.5rem;white-space:nowrap}.tx-amount.positive{color:#10b981}.tx-amount.negative{color:#ef4444}.tips-list{text-align:left}.tips-list ol{padding-left:1.5rem;margin:0;list-style-position:outside}.tips-list li{margin-bottom:.75rem;color:#374151;line-height:1.6}.tips-list li:last-child{margin-bottom:0}.error-message{color:#991b1c;background:#fef2f2;border:1px solid #fecaca;padding:1rem;border-radius:8px}.placeholder-content{display:flex;flex-direction:column;gap:1rem}.placeholder-bar{height:20px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px}.placeholder-bar:nth-child(1){width:100%}.placeholder-bar:nth-child(2){width:80%}.placeholder-bar:nth-child(3){width:90%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-card{animation:fadeIn .5s ease forwards;opacity:0}.dashboard-card:nth-child(1){animation-delay:.1s}.dashboard-card:nth-child(2){animation-delay:.2s}.dashboard-card:nth-child(3){animation-delay:.3s}.dashboard-card:nth-child(4){animation-delay:.4s}@media (min-width: 768px) and (max-width: 1023px){.dashboard-sidebar{width:240px}.sidebar-header{padding:1.25rem}.sidebar-nav{padding:.75rem 0}.nav-item{padding:.75rem 1.25rem;font-size:.9rem}.dashboard-content{padding:1.5rem}.dashboard-grid{gap:1.25rem;grid-template-columns:1fr 1fr}.dashboard-card{padding:1.5rem}.card-content{min-height:150px}.content-header h1{font-size:1.75rem}.topbar-content{flex-wrap:wrap}.btn-action{padding:.625rem 1rem;font-size:.85rem}.topbar-search{min-width:150px;padding:.5rem .75rem;font-size:.85rem}}@media (min-width: 481px) and (max-width: 767px){.dashboard-wrapper{flex-direction:column}.dashboard-sidebar{width:100%;position:fixed;height:100%;transform:translate(-100%);z-index:1000;max-height:none}.dashboard-sidebar.open{transform:translate(0)}.dashboard-main{width:100%}.menu-toggle{display:flex}.dashboard-content{padding:1rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-card{padding:1.25rem;grid-column:1!important}.dashboard-card.card-large:nth-child(2){grid-column:1!important}.dashboard-card.card-medium:nth-child(3){grid-column:1!important}.dashboard-card.card-medium:nth-child(4){grid-column:1!important}.card-content{min-height:120px}.content-header h1{font-size:1.5rem;margin-bottom:1rem}.topbar-content{flex-direction:column;align-items:stretch;width:100%}.btn-action{width:100%;justify-content:center;padding:.75rem;font-size:.85rem}.topbar-search{width:100%;min-width:unset}.dashboard-card h3{font-size:1.1rem;margin-bottom:1rem}.summary-item,.transaction{flex-direction:column;align-items:flex-start;gap:.5rem}.tx-amount{margin-left:0}}@media (max-width: 480px){.dashboard-wrapper{flex-direction:column;height:auto}.dashboard-sidebar{width:100%;position:fixed;height:100%;transform:translate(-100%);z-index:1000}.dashboard-sidebar.open{transform:translate(0)}.dashboard-main{width:100%}.dashboard-topbar{padding:.75rem;gap:.5rem;flex-wrap:wrap}.menu-toggle{display:flex;width:40px;height:40px;padding:.25rem}.topbar-content{flex-direction:column;align-items:stretch;width:100%;gap:.75rem}.btn-action{width:100%;padding:.625rem;font-size:.8rem;gap:.5rem}.btn-icon{font-size:.95rem;min-width:1rem}.topbar-search{width:100%;padding:.5rem;font-size:.8rem;min-width:unset}.dashboard-content{padding:.75rem}.dashboard-grid{grid-template-columns:1fr;gap:.75rem}.dashboard-card{padding:1rem;border-radius:10px;grid-column:1!important}.dashboard-card:before{width:2px}.dashboard-card h3{font-size:1rem;margin-bottom:.75rem}.card-content{min-height:100px}.content-header h1{font-size:1.25rem;margin-bottom:.75rem}.summary-content{gap:1rem}.summary-item{flex-direction:column;align-items:flex-start;gap:.25rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.summary-label{font-size:.85rem}.summary-value{font-size:1.1rem}.transactions-list{gap:.75rem}.transaction{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.tx-title{font-size:.9rem}.tx-date{font-size:.8rem}.tx-amount{align-self:flex-end;margin-left:0;font-size:.9rem}.tips-list ol{padding-left:1.25rem}.tips-list li{font-size:.9rem;margin-bottom:.5rem}.sidebar-header{padding:1rem .75rem}.sidebar-title h2{font-size:1.25rem}.sidebar-title p{font-size:.8rem}.nav-item{padding:.75rem 1rem;font-size:.85rem}.sidebar-footer{padding-top:.75rem}}.dashboard-content::-webkit-scrollbar{width:8px}.dashboard-content::-webkit-scrollbar-track{background:transparent}.dashboard-content::-webkit-scrollbar-thumb{background:#1976d2;border-radius:4px}.dashboard-content::-webkit-scrollbar-thumb:hover{background:#1565c0}.dashboard-sidebar::-webkit-scrollbar{width:6px}.dashboard-sidebar::-webkit-scrollbar-track{background:transparent}.dashboard-sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.dashboard-sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.dashboard-content{overflow-y:visible!important;overflow:visible!important}.reports-container{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.5rem}.report-nav{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.report-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.report-button{padding:.875rem 1.25rem;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;color:#2c3e50;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:capitalize}.report-buttons .report-button:hover{border-color:#3498db;color:#fff!important;background-color:#3498db}.report-buttons .report-button.active{background-color:#3498db!important;color:#fff!important;border-color:#3498db;box-shadow:0 4px 12px #3498db4d}.report-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;min-height:400px}.report-display{display:flex;flex-direction:column;gap:1.5rem}.report-header{border-bottom:2px solid #e5e7eb;padding-bottom:1rem}.report-header h2{margin:0;font-size:1.5rem;color:#2c3e50;font-weight:700}.chart-container{padding:2rem 0}.chart-bars{display:flex;flex-direction:column;gap:1.5rem}.chart-bar-item{display:grid;grid-template-columns:120px 1fr 120px;gap:1rem;align-items:center}.bar-label{font-weight:600;color:#2c3e50;font-size:.95rem}.bar-wrapper{background-color:#f0f0f0;border-radius:8px;height:40px;overflow:hidden;display:flex;align-items:center}.bar{height:100%;border-radius:8px;transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:10px}.bar-value{font-weight:600;color:#2c3e50;font-size:.95rem;text-align:right}.report-footer{border-top:2px solid #e5e7eb;padding-top:1.5rem;margin-top:1rem}.footer-details{display:flex;flex-direction:column;gap:1rem}.footer-details h3{margin:0;font-size:1.1rem;color:#2c3e50;font-weight:600}.details-table{width:100%;border-collapse:collapse;background-color:#f8f9fa}.details-table th{background-color:#e5e7eb;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #3498db}.details-table td{padding:.875rem 1rem;border-bottom:1px solid #e5e7eb}.details-table tbody tr:hover{background-color:#ecf0f1}.details-table tbody tr.table-total{background-color:#e5e7eb;font-weight:600;border-top:2px solid #3498db}.report-footer p{margin:0;font-size:1rem;color:#2c3e50;font-weight:600}.income-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:1rem 0}.income-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:2rem;color:#fff;box-shadow:0 4px 12px #667eea4d;display:flex;flex-direction:column;gap:.5rem}.income-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 12px #f5576c4d}.income-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 4px 12px #4facfe4d}.income-label{font-size:.95rem;opacity:.9;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.income-amount{font-size:1.8rem;font-weight:700;margin:.5rem 0}.income-percentage{font-size:.9rem;opacity:.8;font-weight:600}.balance-display{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.balance-item{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.balance-item.separator{border-left-color:#2ecc71;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.balance-label{font-size:1rem;color:#2c3e50;font-weight:600}.balance-amount{font-size:1.8rem;font-weight:700;text-align:right}.balance-amount.positive{color:#2ecc71}.balance-amount.negative{color:#e74c3c}.balance-amount.balance{color:#3498db;font-size:2rem}.chart-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:.75rem}.legend-color{width:16px;height:16px;border-radius:4px}.legend-label{font-size:.9rem;color:#2c3e50;font-weight:500}.report-actions{display:flex;gap:.75rem}.btn-export{background:#fff;border:1px solid #e5e7eb;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-export:hover{background-color:#f8f9fa;border-color:#3498db}.header-top{display:flex;justify-content:space-between;align-items:center;width:100%}.header-top h2{margin:0;font-size:1.5rem;color:#2c3e50;font-weight:700;flex:1}.cashflow-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{padding:1.5rem;border-radius:12px;color:#fff;box-shadow:0 4px 12px #0000001a}.summary-card.income{background:linear-gradient(135deg,#51cf66,#37b24d)}.summary-card.expenses{background:linear-gradient(135deg,#ff6b6b,#d03c3c)}.summary-card.balance{background:linear-gradient(135deg,#3498db,#2980b9)}.summary-label{font-size:.9rem;opacity:.9;text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:.5rem}.summary-amount{font-size:1.8rem;font-weight:700}.cashflow-chart{display:flex;flex-direction:column;gap:1.5rem}.cashflow-item{background:#f8f9fa;padding:1.5rem;border-radius:8px;border-left:4px solid #3498db}.cashflow-month{font-weight:700;color:#2c3e50;margin-bottom:1rem;font-size:1rem}.cashflow-bars{display:flex;flex-direction:column;gap:1rem}.bar-row{display:grid;grid-template-columns:80px 1fr 120px;gap:1rem;align-items:center}.bar-type{font-size:.9rem;color:#2c3e50;font-weight:600}.income-bar{background:#51cf66!important}.expense-bar{background:#ff6b6b!important}.balance-bar{background:#3498db!important}.balance-bar.positive{background:#51cf66!important}.balance-bar.negative{background:#ff6b6b!important}.bar-amount{font-weight:600;color:#2c3e50;font-size:.9rem}.patrimony-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.patrimony-card{padding:1.5rem;border-radius:12px;background:#fff;border:2px solid #e5e7eb;transition:all .3s ease}.patrimony-card:hover{border-color:#3498db;box-shadow:0 8px 24px #3498db1a}.patrimony-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.patrimony-icon{font-size:1.5rem}.patrimony-card-title{font-size:.9rem;color:#7f8c8d;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.patrimony-card-amount{font-size:1.8rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem}.patrimony-card-count,.patrimony-card-percentage{font-size:.85rem;color:#7f8c8d}.patrimony-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}.patrimony-section{background:#f8f9fa;padding:1.5rem;border-radius:8px}.patrimony-section h3{margin:0 0 1rem;font-size:1.1rem;color:#2c3e50;font-weight:600}.patrimony-item{display:grid;grid-template-columns:120px 1fr 150px;gap:1rem;align-items:center;margin-bottom:1rem}.item-name{font-size:.9rem;color:#2c3e50;font-weight:500}.item-bar-wrapper{background:#fff;border-radius:6px;height:30px;overflow:hidden;border:1px solid #e5e7eb}.item-bar{height:100%;border-radius:6px}.assets-bar{background:linear-gradient(90deg,#51cf66,#37b24d)!important}.liabilities-bar{background:linear-gradient(90deg,#ff6b6b,#d03c3c)!important}.item-value{font-weight:600;color:#2c3e50;font-size:.9rem;text-align:right}.report-generator-content{display:flex;flex-direction:column;gap:2rem}.generator-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;border:1px solid #e5e7eb}.generator-section h3{margin:0 0 1.5rem;font-size:1.1rem;color:#2c3e50;font-weight:600}.report-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.report-option-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1.25rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:flex-start;gap:1rem}.report-option-card:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db1a}.report-option-card.selected{background-color:#e3f2fd;border-color:#3498db;box-shadow:0 4px 12px #3498db33}.report-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#3498db}.option-content{flex:1}.option-content h4{margin:0 0 .5rem;font-size:1rem;color:#2c3e50;font-weight:600}.option-content p{margin:0;font-size:.85rem;color:#7f8c8d}.date-range-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.date-input-group label{font-size:.9rem;color:#2c3e50;font-weight:600}.date-input{padding:.75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.95rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.date-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.include-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.option-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e5e7eb;transition:all .3s ease}.option-checkbox:hover{background-color:#fff;border-color:#3498db}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:#3498db}.option-label{font-size:.95rem;color:#2c3e50;font-weight:500;cursor:pointer}.generator-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background-color:#3498db;color:#fff}.btn-primary:hover{background-color:#2980b9;box-shadow:0 4px 12px #3498db4d}.btn-primary.btn-large{padding:1rem 2rem;font-size:1.05rem;flex:1;min-width:200px}.btn-secondary{background-color:#ecf0f1;color:#2c3e50;border:1px solid #bdc3c7}.btn-secondary:hover{background-color:#d5dbdb}.table-section-divider{background-color:#ecf0f1;font-weight:600;color:#2c3e50}.positive-value{color:#27ae60;font-weight:600}.negative-value{color:#e74c3c;font-weight:600}.income-value{color:#51cf66;font-weight:600}.expense-value{color:#ff6b6b;font-weight:600}@media (max-width: 1024px){.report-buttons{grid-template-columns:repeat(2,1fr)}.chart-bar-item{grid-template-columns:100px 1fr 100px;gap:.75rem}.bar-label,.bar-value{font-size:.9rem}.patrimony-chart{grid-template-columns:1fr}.report-options-grid{grid-template-columns:repeat(2,1fr)}.cashflow-item{padding:1rem}}@media (max-width: 768px){.reports-container{gap:1rem}.report-nav,.report-content{padding:1rem}.report-buttons{grid-template-columns:1fr}.report-button{padding:.75rem 1rem;font-size:.9rem;color:#2c3e50!important}.report-button.active{color:#fff!important}.report-options{gap:.5rem}.report-option{padding:.5rem .75rem}.report-label{font-size:.95rem}.chart-bar-item{grid-template-columns:80px 1fr 80px;gap:.5rem}.bar-wrapper{height:30px}.bar-label,.bar-value{font-size:.85rem}.income-summary{grid-template-columns:1fr}.income-card{padding:1.5rem}.income-amount{font-size:1.5rem}.details-table{font-size:.9rem}.details-table th,.details-table td{padding:.6rem .5rem}.balance-item{grid-template-columns:1fr;padding:1rem}.balance-amount{text-align:left}.cashflow-summary{grid-template-columns:1fr}.summary-card{padding:1rem}.summary-amount{font-size:1.5rem}.bar-row{grid-template-columns:70px 1fr 100px;gap:.75rem;font-size:.85rem}.patrimony-summary{grid-template-columns:1fr}.patrimony-item{grid-template-columns:100px 1fr 120px}.report-options-grid,.date-range-selector,.include-options{grid-template-columns:1fr}.generator-actions{flex-direction:column}.btn-primary.btn-large{flex:1}.header-top{flex-direction:column;align-items:flex-start;gap:1rem}.report-actions{width:100%}}@media (max-width: 480px){.report-nav{padding:1rem}.report-buttons{grid-template-columns:1fr;gap:.5rem}.report-button{padding:.6rem .75rem;font-size:.85rem;color:#2c3e50!important}.report-button.active{color:#fff!important}.report-content{min-height:300px;padding:1rem}.report-header h2{font-size:1.2rem}.chart-bar-item{grid-template-columns:60px 1fr;gap:.5rem}.bar-value{display:none}.details-table{font-size:.8rem}.details-table th,.details-table td{padding:.4rem .25rem}.income-amount,.balance-amount{font-size:1.3rem}.balance-amount.balance{font-size:1.5rem}.cashflow-summary{grid-template-columns:1fr;gap:1rem}.summary-amount{font-size:1.4rem}.bar-row{grid-template-columns:60px 1fr 80px;gap:.5rem;font-size:.75rem}.patrimony-item{grid-template-columns:80px 1fr 100px;gap:.5rem}.report-options-grid{grid-template-columns:1fr}.report-option-card{padding:1rem;gap:.75rem}.option-content h4{font-size:.95rem}.option-content p{font-size:.8rem}.date-input{padding:.6rem;font-size:.9rem}.option-label{font-size:.9rem}.generator-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;padding:.75rem 1rem}.legend-item{font-size:.85rem}}.reports-container .report-nav .report-buttons .report-button.active,.reports-container .report-nav .report-buttons .report-button.active *,.report-nav .report-button.active,.report-nav .report-button.active span,button.report-button.active{color:#fff!important}.profile-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.profile-tabs button{background:#f3f4f6;border:1px solid #e5e7eb;color:#1f2937;font-weight:600;padding:.75rem 1.75rem;border-radius:10px;cursor:pointer;transition:all .2s ease}.profile-tabs button:hover{background:#e5e7eb}.profile-tabs button.active{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border-color:transparent;box-shadow:0 2px 8px #1976d233}.profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:2rem;box-shadow:0 1px 3px #00000014;max-width:600px;margin:0 auto}.profile-card-header{align-items:center;margin-bottom:1.5rem;text-align:center}.profile-card-header h3{margin:0;background:linear-gradient(135deg,#1976d2,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:1.25rem;font-weight:700}.btn-edit{background:#e5e7eb;border:none;padding:.5rem 1.25rem;font-weight:600;border-radius:8px;cursor:pointer;color:#374151;transition:all .2s ease}.btn-edit:hover{background:#d1d5db}.profile-form{display:flex;flex-direction:column;gap:1rem}.profile-form label{font-weight:600;color:#374151}.profile-form input{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#f9fafb;transition:border-color .2s ease}.profile-form input:focus{border-color:#1565c0;outline:none;box-shadow:0 0 0 3px #1565c01a}.profile-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn-cancel{background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#c0392b}.btn-save{background:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover{background:#1e874b}@media (max-width: 768px){.profile-card{padding:1.5rem}.profile-tabs{flex-direction:column;gap:.75rem;align-items:center}.profile-form-actions{flex-direction:column;align-items:stretch}.btn-cancel,.btn-save{width:100%}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
