@font-face{font-family:Oswald;src:url(/fonts/Oswald-VariableFont_wght.ttf) format("truetype");font-weight:200 700;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4-VariableFont_opsz,wght.ttf) format("truetype");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4-Italic-VariableFont_opsz,wght.ttf) format("truetype");font-weight:200 900;font-style:italic;font-display:swap}:root{--color-gray-light: #CBCBCB;--color-gray-lighter: #F2F2F2;--color-green-primary: #174D38;--color-red-primary: #4D1717;--color-background: #F2F2F2;--color-surface: #FFFFFF;--color-text-primary: #1A1A1A;--color-text-secondary: #4A4A4A;--color-text-muted: #6B6B6B;--color-border: #CBCBCB;--color-positive: #174D38;--color-negative: #4D1717;--color-neutral: #CBCBCB;--font-heading: "Oswald", sans-serif;--font-body: "Source Serif 4", Georgia, serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:1.2;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.025em}h1{font-size:var(--text-5xl);font-weight:var(--font-bold)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-4)}strong{font-weight:var(--font-semibold)}small{font-size:var(--text-sm)}a{color:var(--color-green-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-text-primary);text-decoration:underline}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) var(--space-6);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-green-primary);color:#fff;border-color:var(--color-green-primary)}.btn-primary:hover{background-color:#0f3526;border-color:#0f3526}.btn-secondary{background-color:transparent;color:var(--color-green-primary);border-color:var(--color-green-primary)}.btn-secondary:hover{background-color:var(--color-green-primary);color:#fff}.btn-danger{background-color:var(--color-red-primary);color:#fff;border-color:var(--color-red-primary)}.btn-danger:hover{background-color:#3a1111;border-color:#3a1111}.btn-ghost{background-color:transparent;color:var(--color-text-primary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-gray-light)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-green-primary);box-shadow:0 0 0 3px #174d381a}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{display:block;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}table{width:100%;border-collapse:collapse}th{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:var(--space-3) var(--space-4);background-color:var(--color-gray-lighter);border-bottom:2px solid var(--color-border)}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}tr:hover{background-color:var(--color-gray-lighter)}.amount-positive{color:var(--color-positive);font-weight:var(--font-medium)}.amount-negative{color:var(--color-negative);font-weight:var(--font-medium)}.currency{font-family:var(--font-body);font-variant-numeric:tabular-nums}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.h-full{height:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}button,.btn{min-height:44px;padding:var(--space-3) var(--space-4)}input,textarea,select{min-height:44px;font-size:16px}.card{padding:var(--space-4)}th,td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}@media(max-width:480px){h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}.card{padding:var(--space-3)}.flex{flex-wrap:wrap}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.navbar-container{max-width:1200px;margin:0 auto;padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between}.navbar-logo{text-decoration:none}.logo-text{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-green-primary);text-transform:uppercase;letter-spacing:.05em}.navbar-menu{display:flex;align-items:center;gap:var(--space-8);list-style:none;margin:0;padding:0}.navbar-item{margin:0}.navbar-link{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast);padding:var(--space-2) 0;position:relative}.navbar-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-green-primary);transition:width var(--transition-fast)}.navbar-link:hover{color:var(--color-green-primary);text-decoration:none}.navbar-link:hover:after{width:100%}.navbar-cta{padding:var(--space-2) var(--space-5)}.navbar-cta:hover{text-decoration:none}.navbar-toggle{display:none;background:none;border:none;padding:var(--space-2);cursor:pointer}.hamburger{display:block;width:24px;height:2px;background-color:var(--color-text-primary);position:relative;transition:background-color var(--transition-fast)}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;width:24px;height:2px;background-color:var(--color-text-primary);transition:transform var(--transition-fast)}.hamburger:before{top:-8px}.hamburger:after{bottom:-8px}.hamburger.open{background-color:transparent}.hamburger.open:before{transform:translateY(8px) rotate(45deg)}.hamburger.open:after{transform:translateY(-8px) rotate(-45deg)}@media(max-width:768px){.navbar-toggle{display:block}.navbar-menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background-color:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);padding:var(--space-4);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast)}.navbar-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.navbar-item{width:100%}.navbar-link{display:block;padding:var(--space-3) var(--space-4);text-align:center}.navbar-link:after{display:none}.navbar-cta{margin-top:var(--space-2);width:100%;justify-content:center}}.landing-page{min-height:100vh;position:relative}.landing-content{position:relative;z-index:1}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);padding-top:calc(var(--space-16) + 80px)}.hero-container{max-width:800px;text-align:center}.hero-title{font-size:clamp(2.5rem,8vw,4.5rem);line-height:1.1;margin-bottom:var(--space-6);color:var(--color-text-primary)}.hero-title .highlight{color:var(--color-green-primary)}.hero-subtitle{font-size:var(--text-xl);color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--space-8);line-height:1.6}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.features{padding:var(--space-16) var(--space-6);background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.features-container{max-width:1200px;margin:0 auto}.section-title{text-align:center;margin-bottom:var(--space-12);color:var(--color-text-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6)}.feature-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-icon{width:64px;height:64px;margin:0 auto var(--space-4);color:var(--color-green-primary)}.feature-icon svg{width:100%;height:100%}.animate-in .icon-money{animation:floatPulse 2s ease-in-out infinite}.animate-in .icon-money .dollar-sign{stroke-dasharray:100;animation:drawLineLoop 3s ease-in-out infinite}@keyframes floatPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes drawLineLoop{0%{stroke-dashoffset:100}50%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}.icon-chart .bar{transform-origin:bottom}.animate-in .icon-chart .bar-1{animation:barPulse 1.5s ease-in-out infinite}.animate-in .icon-chart .bar-2{animation:barPulse 1.5s ease-in-out .2s infinite}.animate-in .icon-chart .bar-3{animation:barPulse 1.5s ease-in-out .4s infinite}@keyframes barPulse{0%,to{transform:scaleY(1)}50%{transform:scaleY(.6)}}.icon-easy .checkmark{stroke-dasharray:20}.animate-in .icon-easy .checkmark{animation:checkPulse 2s ease-in-out infinite}.animate-in .icon-easy{animation:gentleBounce 2s ease-in-out infinite}@keyframes checkPulse{0%,to{stroke-dashoffset:0;opacity:1}50%{stroke-dashoffset:0;opacity:.6}}@keyframes gentleBounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-in .icon-calendar{animation:calendarFlip 3s ease-in-out infinite}@keyframes calendarFlip{0%,to{transform:rotateY(0)}25%{transform:rotateY(15deg)}75%{transform:rotateY(-15deg)}}.feature-card h3{font-size:var(--text-xl);margin-bottom:var(--space-3);color:var(--color-text-primary)}.feature-card p{color:var(--color-text-secondary);margin-bottom:0;line-height:1.6}.nosotros{padding:var(--space-16) var(--space-6);background-color:var(--color-surface)}.nosotros-container{max-width:1000px;margin:0 auto}.nosotros-intro{text-align:center;font-size:var(--text-2xl);font-weight:var(--font-medium);color:var(--color-text-primary);margin-bottom:var(--space-4);max-width:700px;margin-left:auto;margin-right:auto;line-height:1.4}.nosotros-intro:after{content:"";display:block;width:80px;height:4px;background-color:var(--color-green-primary);margin:var(--space-6) auto var(--space-6);border-radius:2px}.nosotros-mission{text-align:center;margin-bottom:var(--space-8);padding:var(--space-6);background-color:var(--color-gray-lighter);border-radius:var(--radius-lg);border-left:4px solid var(--color-green-primary)}.nosotros-mission h3{font-size:var(--text-xl);color:var(--color-green-primary);margin-bottom:var(--space-4)}.nosotros-mission p{font-size:var(--text-base);line-height:1.8;color:var(--color-text-secondary);max-width:800px;margin:0 auto var(--space-3)}.subsection-title{text-align:center;font-size:var(--text-xl);color:var(--color-green-primary);margin-bottom:var(--space-6);margin-top:var(--space-8)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-8)}.value-card{background-color:var(--color-gray-lighter);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base)}.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.value-card h4{font-size:var(--text-lg);color:var(--color-green-primary);margin-bottom:var(--space-2)}.value-card p{font-size:var(--text-base);color:var(--color-text-secondary);margin:0}.founders-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.founder-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.founder-image{width:180px;height:180px;border-radius:50%;overflow:hidden;border:4px solid var(--color-green-primary)}.founder-image img{width:100%;height:100%;object-fit:cover}.founder-info{text-align:center}.founder-info h3{font-size:var(--text-xl);margin-bottom:var(--space-2);color:var(--color-green-primary)}.founder-title{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.founder-bio{font-size:var(--text-base);line-height:1.7;color:var(--color-text-secondary);max-width:400px;margin:0 auto}.landing-footer{position:relative;z-index:1;padding:var(--space-6);background-color:#ffffffe6;border-top:1px solid var(--color-border)}.footer-container{max-width:1200px;margin:0 auto;text-align:center}.landing-footer p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}@media(max-width:768px){.hero{padding-top:calc(var(--space-12) + 80px)}.hero-subtitle{font-size:var(--text-lg)}.hero-actions{flex-direction:column;align-items:center}.btn-lg{width:100%;max-width:300px}.features{padding:var(--space-12) var(--space-4)}.feature-card{padding:var(--space-6)}.nosotros{padding:var(--space-12) var(--space-4)}.founders-grid{grid-template-columns:1fr}.founder-image{width:150px;height:150px}.values-grid{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);padding-top:calc(var(--space-6) + 80px);position:relative}.auth-container{width:100%;max-width:440px;position:relative;z-index:1}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-green-primary);text-transform:uppercase;letter-spacing:.05em;text-decoration:none;display:inline-block;margin-bottom:var(--space-6)}.auth-logo:hover{text-decoration:none;color:var(--color-green-primary)}.auth-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-2);color:var(--color-text-primary)}.auth-header p{color:var(--color-text-secondary);margin-bottom:0}.auth-spam-notice{text-align:center;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-gray-lighter);border-radius:var(--radius-md);border:1px solid var(--color-border);width:92%}.auth-spam-notice p{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:0}.auth-footer{text-align:center;margin-top:var(--space-6)}.auth-footer p{color:var(--color-text-secondary);margin-bottom:0}.auth-footer a{color:var(--color-green-primary);font-weight:var(--font-medium)}.clerk-root{width:100%}.clerk-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.clerk-header-title,.clerk-header-subtitle{display:none}.clerk-btn-primary{background-color:var(--color-green-primary)!important;font-family:var(--font-heading)!important;text-transform:uppercase!important;letter-spacing:.05em!important}.clerk-btn-primary:hover{background-color:#0f3526!important}.clerk-input{font-family:var(--font-body)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important}.clerk-input:focus{border-color:var(--color-green-primary)!important;box-shadow:0 0 0 3px #174d381a!important}.clerk-label{font-family:var(--font-heading)!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-size:var(--text-sm)!important}.clerk-link{color:var(--color-green-primary)!important}.cl-headerTitle,.cl-headerSubtitle{display:none!important}.cl-card{border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.cl-formButtonPrimary{background-color:var(--color-green-primary)!important;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-medium)}.cl-formButtonPrimary:hover{background-color:#0f3526!important}.cl-formFieldInput{font-family:var(--font-body);border-color:var(--color-border)}.cl-formFieldInput:focus{border-color:var(--color-green-primary);box-shadow:0 0 0 3px #174d381a}.cl-formFieldLabel{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-sm);color:var(--color-text-secondary)}.cl-footerActionLink{color:var(--color-green-primary)}.cl-socialButtonsBlockButton{border-color:var(--color-border);font-family:var(--font-body)}.cl-socialButtonsBlockButton:hover{background-color:var(--color-gray-lighter)}.cl-dividerLine{background-color:var(--color-border)}.cl-dividerText{color:var(--color-text-muted);font-family:var(--font-body)}@media(max-width:480px){.auth-page{padding:var(--space-4)}.auth-header h1{font-size:var(--text-2xl)}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:260px;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-base)}.sidebar.collapsed{width:72px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);min-height:64px}.sidebar-logo{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-green-primary);text-transform:uppercase;letter-spacing:.05em;text-decoration:none;white-space:nowrap;overflow:hidden}.sidebar-logo:hover{text-decoration:none;color:var(--color-green-primary)}.sidebar.collapsed .sidebar-logo{font-size:var(--text-lg)}.sidebar-collapse-btn{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.sidebar-collapse-btn:hover{background-color:var(--color-gray-lighter)}.sidebar.collapsed .sidebar-header{justify-content:center;padding:var(--space-4) var(--space-2)}.sidebar.collapsed .sidebar-logo{display:none}.sidebar.collapsed .sidebar-collapse-btn{margin:0}.sidebar-nav{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-4) 0;overflow-y:auto}.sidebar-nav-list{list-style:none;margin:0;padding:0}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:var(--space-1) var(--space-2);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.03em}.sidebar-nav-item:hover{background-color:var(--color-gray-lighter);color:var(--color-text-primary);text-decoration:none}.sidebar-nav-item.active{background-color:var(--color-green-primary);color:#fff}.sidebar-nav-item.active:hover{background-color:#0f3526}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:var(--space-3)}.sidebar-nav-bottom{border-top:1px solid var(--color-border);padding-top:var(--space-4);margin-top:var(--space-4)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:var(--space-1) var(--space-2)}.sidebar.collapsed .sidebar-user{justify-content:center;padding:var(--space-3)}.sidebar-avatar{width:32px;height:32px}.sidebar-mobile-toggle{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:101;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer;color:var(--color-text-primary)}.sidebar-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:99}.sidebar-close-btn{display:none;background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.sidebar-close-btn:hover{background-color:var(--color-gray-lighter)}@media(max-width:768px){.sidebar{transform:translate(-100%);width:280px;box-shadow:var(--shadow-lg)}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:280px}.sidebar-mobile-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px}.sidebar-overlay{display:block;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.sidebar.mobile-open~.sidebar-overlay{opacity:1;pointer-events:auto}.sidebar-collapse-btn{display:none}.sidebar-close-btn{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.sidebar-nav-item{padding:var(--space-4);margin:var(--space-1) var(--space-3);font-size:var(--text-base)}.sidebar-user{padding:var(--space-4);margin:var(--space-1) var(--space-3)}.sidebar-header{min-height:60px}.sidebar-logo{font-size:var(--text-lg)}.sidebar.collapsed .sidebar-logo{display:block}.sidebar.collapsed .sidebar-nav-item{justify-content:flex-start;padding:var(--space-4)}.sidebar.collapsed .sidebar-nav-label{display:inline}.sidebar.collapsed .sidebar-user{justify-content:flex-start;padding:var(--space-4)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.button:disabled{opacity:.5;cursor:not-allowed}.button--sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.button--md{font-size:var(--text-sm);padding:var(--space-3) var(--space-6)}.button--lg{font-size:var(--text-base);padding:var(--space-4) var(--space-8)}.button--primary{background-color:var(--color-green-primary);color:#fff;border-color:var(--color-green-primary)}.button--primary:hover:not(:disabled){background-color:#0f3526;border-color:#0f3526}.button--secondary{background-color:transparent;color:var(--color-green-primary);border-color:var(--color-green-primary)}.button--secondary:hover:not(:disabled){background-color:var(--color-green-primary);color:#fff}.button--danger{background-color:var(--color-red-primary);color:#fff;border-color:var(--color-red-primary)}.button--danger:hover:not(:disabled){background-color:#3a1111;border-color:#3a1111}.button--ghost{background-color:transparent;color:var(--color-text-primary);border-color:transparent}.button--ghost:hover:not(:disabled){background-color:var(--color-gray-light)}.button--icon-only{padding:var(--space-2)}.button--icon-only.button--sm{padding:var(--space-1)}.button--icon-only.button--lg{padding:var(--space-3)}.button__icon{display:flex;align-items:center;justify-content:center}.icon-button{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.icon-button:hover{background-color:var(--color-gray-lighter);color:var(--color-text-primary)}.icon-button--danger:hover{background-color:#4d17171a;color:var(--color-red-primary)}.icon-button--sm{padding:var(--space-1)}.account-card-link{text-decoration:none;color:inherit;display:block}.account-card{position:relative;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:box-shadow var(--transition-fast),border-color var(--transition-fast);cursor:pointer}.account-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-green-primary)}.account-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.account-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.account-card-actions{display:flex;gap:var(--space-1)}.account-card-info{display:flex;flex-direction:column;gap:var(--space-1)}.account-card-name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;color:var(--color-text-primary)}.account-card-type-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.account-card-subtype{font-size:var(--text-sm);color:var(--color-text-muted)}.account-card-detail-type{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:var(--font-medium)}.account-card-balance{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:var(--space-2) 0 0 0}.account-card-balance.positive{color:var(--color-positive)}.account-card-balance.negative{color:var(--color-negative)}.account-card-debt-label{font-size:var(--text-sm);font-weight:var(--font-normal)}.account-card-currency{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--color-text-muted)}.account-card-inactive-badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-2);background-color:var(--color-gray-light);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.account-card{padding:var(--space-4)}.account-card-actions{position:absolute;top:var(--space-3);right:var(--space-3)}.account-card-balance{font-size:var(--text-xl)}.account-card-icon{width:40px;height:40px}}.account-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.account-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.account-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border);gap:var(--space-3)}.account-modal-header h3{margin:0;font-size:var(--text-xl);flex:1}.account-modal-content form{padding:var(--space-5)}.account-modal-content .form-group{margin-bottom:var(--space-4)}.account-modal-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.account-modal-content .form-group input,.account-modal-content .form-group select{width:100%}.account-modal-content .form-group select:disabled{opacity:.7;cursor:not-allowed}.account-modal-content .form-hint{margin:var(--space-2) 0 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.account-modal-content .input-with-prefix{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-surface)}.account-modal-content .input-with-prefix:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px #174d381a}.account-modal-content .input-prefix{padding:var(--space-3);background-color:var(--color-surface-secondary);color:var(--color-text-secondary);font-weight:var(--font-medium);border-right:1px solid var(--color-border)}.account-modal-content .input-with-prefix input{flex:1;border:none!important;border-radius:0!important;box-shadow:none!important}.account-modal-content .input-with-prefix input:focus{outline:none;box-shadow:none!important}.account-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}.account-type-selection{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.account-type-group{display:flex;flex-direction:column;gap:var(--space-3)}.account-type-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.account-type-title.account-type-asset{color:var(--color-success)}.account-type-title.account-type-liability{color:var(--color-error)}.account-type-description{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.subtype-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.subtype-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.subtype-option:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.subtype-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.subtype-option:hover .subtype-icon{color:var(--color-primary)}.subtype-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.selected-type-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium)}.selected-type-badge .subtype-icon{color:var(--color-primary)}.type-tag{margin-left:auto;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.type-tag.asset{background-color:var(--color-success-bg);color:var(--color-success)}.type-tag.liability{background-color:var(--color-error-bg);color:var(--color-error)}@media(max-width:768px){.account-modal-overlay{padding:0;align-items:flex-end}.account-modal-content{max-width:none;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.account-modal-header,.account-modal-content form,.account-type-selection{padding:var(--space-4)}.subtype-list{grid-template-columns:1fr}.account-modal-actions{flex-direction:column-reverse}.account-modal-actions .btn{width:100%}}.require-account-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.require-account-modal{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.require-account-header{text-align:center;padding:var(--space-8) var(--space-6) var(--space-4)}.require-account-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--color-primary-light);color:var(--color-primary);border-radius:50%;margin-bottom:var(--space-4)}.require-account-header h2{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0;color:var(--color-text-primary)}.require-account-header p{font-size:var(--text-base);color:var(--color-text-muted);margin:0;line-height:1.5}.require-account-header.with-back{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-3);text-align:center;padding:var(--space-4) var(--space-6) var(--space-3)}.require-account-header.with-back .require-account-icon{display:none}.require-account-header.with-back h2{font-size:var(--text-xl);margin-bottom:var(--space-2)}.require-account-header-content{flex:1;display:flex;flex-direction:column;align-items:center}button.require-back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:none;border-radius:var(--radius-md);background-color:var(--color-green-primary);cursor:pointer;color:#fff;transition:all .15s ease;flex-shrink:0;text-transform:none;letter-spacing:normal;font-size:inherit}button.require-back-button:hover{background-color:#0f3526;color:#fff}.require-back-button-placeholder{width:40px;height:40px;flex-shrink:0}.require-account-form{padding:var(--space-4) var(--space-6) var(--space-6)}.require-account-form .form-group{margin-bottom:var(--space-4)}.require-account-form .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.require-account-form .form-group input,.require-account-form .form-group select{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);background-color:var(--color-surface)}.require-account-form .form-group input:focus,.require-account-form .form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #174d381a}.require-account-form .form-hint{margin:var(--space-2) 0 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.require-account-type-selection{padding:var(--space-4) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.require-account-type-group{display:flex;flex-direction:column;gap:var(--space-3)}.require-account-type-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.require-account-type-title.asset{color:var(--color-success)}.require-account-type-title.liability{color:var(--color-error)}.require-account-type-description{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.require-subtype-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.require-subtype-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.require-subtype-option:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.require-subtype-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.require-subtype-option:hover .require-subtype-icon{color:var(--color-primary)}.require-subtype-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.require-selected-type-badge{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-md);font-size:var(--text-medium);font-weight:var(--font-medium)}.require-selected-type-badge .require-subtype-icon{color:var(--color-primary)}.require-type-tag{margin-left:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-medium);font-weight:var(--font-semibold)}.require-type-tag.asset{background-color:var(--color-success-bg);color:var(--color-success)}.require-type-tag.liability{background-color:var(--color-error-bg);color:var(--color-error)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.require-country-list{display:flex;flex-direction:column;gap:var(--space-2)}.require-country-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.require-country-option:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-primary)}.require-country-option:disabled{opacity:.6;cursor:not-allowed}.require-country-flag{font-size:1.5rem}.require-country-name{flex:1;font-size:var(--text-base);font-weight:var(--font-medium)}.require-country-currency{font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-1) var(--space-2);background-color:var(--color-surface);border-radius:var(--radius-sm)}.require-currency-manual{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.require-currency-manual-label{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.require-currency-list{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.require-currency-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.require-currency-option:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-primary)}.require-currency-option:disabled{opacity:.6;cursor:not-allowed}.require-currency-symbol{font-weight:var(--font-bold);color:var(--color-primary)}.require-currency-code{font-size:var(--text-sm);color:var(--color-text-secondary)}.require-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}.require-loading .spinner{animation:spin 1s linear infinite}.require-currency-badge{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium)}.input-with-prefix{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-surface)}.input-with-prefix:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px #174d381a}.input-prefix{padding:var(--space-3);background-color:var(--color-surface-secondary);color:var(--color-text-secondary);font-weight:var(--font-medium);border-right:1px solid var(--color-border)}.input-with-prefix input{flex:1;border:none!important;border-radius:0!important;box-shadow:none!important}.input-with-prefix input:focus{outline:none;box-shadow:none!important}.require-account-submit{width:100%;margin-top:var(--space-4);padding:var(--space-4)!important;font-size:var(--text-base)!important}.require-account-submit .spinner{animation:spin 1s linear infinite}@media(max-width:768px){.require-account-overlay{padding:0;align-items:flex-end}.require-account-modal{max-width:none;max-height:95vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.require-account-header{padding:var(--space-6) var(--space-4) var(--space-3)}.require-account-header.with-back,.require-account-form,.require-account-type-selection{padding:var(--space-4)}.require-subtype-list,.form-row{grid-template-columns:1fr}}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--color-background)}.dashboard-main{flex:1;margin-left:260px;padding:var(--space-6);transition:margin-left var(--transition-base)}.sidebar.collapsed~.dashboard-main{margin-left:72px}@media(max-width:768px){.dashboard-main{margin-left:0;padding:var(--space-4);padding-top:calc(var(--space-4) + 56px)}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);gap:var(--space-4)}.page-header__content{flex:1}.page-header__title{margin-bottom:var(--space-2)}.page-header__description{color:var(--color-text-secondary);margin-bottom:0}.page-header__action{flex-shrink:0}@media(max-width:768px){.page-header{flex-direction:column}.page-header__action,.page-header__action .button{width:100%}}.stat-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:flex-start;gap:var(--space-4)}.stat-card--highlight{background:linear-gradient(135deg,var(--color-green-primary) 0%,#0F3526 100%);color:#fff;border:none}.stat-card__icon{background-color:var(--color-gray-lighter);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-green-primary);display:flex;align-items:center;justify-content:center}.stat-card--highlight .stat-card__icon{background-color:#fff3;color:#fff}.stat-card__content{flex:1}.stat-card__title{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.stat-card--highlight .stat-card__title{color:#fffc}.stat-card__title small{font-weight:var(--font-normal);text-transform:none}.stat-card__value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.stat-card--highlight .stat-card__value{color:#fff}.stat-card__change{font-size:var(--text-sm);margin-bottom:0}.stat-card__change--up{color:var(--color-positive)}.stat-card__change--down{color:var(--color-negative)}.stat-card__change--neutral{color:var(--color-text-muted)}.stat-card--highlight .stat-card__change{color:#fffc}.overview-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.overview-card__title{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-2)}.overview-card__title small{font-weight:var(--font-normal);text-transform:none}.overview-card__value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:0}.overview-card__value--positive{color:var(--color-green-primary)}.overview-card__value--negative{color:var(--color-red-primary)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-sm)}.card--gradient{background:linear-gradient(135deg,var(--color-green-primary) 0%,#0F3526 100%);color:#fff;border:none}.card--gradient h1,.card--gradient h2,.card--gradient h3{color:#fff}.card--padding-sm{padding:var(--space-4)}.card--padding-md{padding:var(--space-5)}.card--padding-lg{padding:var(--space-8)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.card-header__title{font-size:var(--text-lg);margin:0;flex:1}.card-header__title small{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--color-text-muted)}.card-header__action{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.card-header__action .section-link{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-green-primary);text-decoration:none;text-transform:uppercase;letter-spacing:.03em;transition:color var(--transition-fast)}.card-header__action .section-link:hover{color:var(--color-green-dark);text-decoration:underline}.card-content{display:flex;flex-direction:column;gap:var(--space-3)}.transaction-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border)}.transaction-row:last-child{border-bottom:none}.transaction-row__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);flex-shrink:0}.transaction-row__icon svg{width:14px;height:14px}.transaction-row__icon[data-type=positive]{background-color:#174d381a;color:var(--color-green-primary)}.transaction-row__icon[data-type=negative]{background-color:#dc26261a;color:var(--color-red-primary)}.transaction-row__name{flex:2;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-row__category{flex:1;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary)}.transaction-row__category-icon{font-size:var(--text-base)}.transaction-row__date{flex-shrink:0;font-size:var(--text-base);color:var(--color-text-muted)}.transaction-row__amount{flex-shrink:0;font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-semibold);white-space:nowrap;text-align:right;min-width:100px}.transaction-row__amount.positive{color:var(--color-green-primary)}.transaction-row__amount.negative{color:var(--color-red-primary)}.transaction-row__currency{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--color-text-muted);margin-left:var(--space-1)}.chart-container{width:100%;min-height:300px}.chart-loading{width:100%;height:300px;display:flex;align-items:center;justify-content:center}.chart-skeleton{width:100%;height:100%;background:linear-gradient(90deg,var(--color-gray-lighter) 25%,var(--color-gray-light) 50%,var(--color-gray-lighter) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-empty{width:100%;height:300px;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-lighter);border-radius:var(--radius-md)}.chart-empty p{color:var(--color-text-muted);font-size:var(--text-sm)}.recharts-tooltip-wrapper{outline:none}.recharts-legend-wrapper{font-size:var(--text-sm)}.recharts-legend-item-text{color:var(--color-text-secondary)!important}.donut-chart-wrapper{display:flex;flex-direction:column}.donut-chart-title{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0;color:var(--color-text-primary)}.donut-chart-content{display:flex;align-items:flex-start;gap:var(--space-3)}.donut-chart-container{position:relative;flex-shrink:0}.donut-chart-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-chart-total{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary)}.donut-chart-legend{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}.donut-legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.donut-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.donut-legend-name{flex:1;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-legend-value{font-family:var(--font-heading);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap}.donut-chart-empty{width:100%;height:120px;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-lighter);border-radius:var(--radius-md)}.donut-chart-empty p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}@media(max-width:480px){.donut-chart-content{flex-direction:column;align-items:center}.donut-chart-legend{width:100%}}.budget-bar-container{width:100%}.budget-bar-empty{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-lighter);border-radius:var(--radius-md)}.budget-bar-empty p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.budget-bar-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.budget-bar-percentage{font-size:var(--text-2xl);font-weight:var(--font-bold);font-family:var(--font-heading);color:var(--color-text-primary)}.budget-bar-percentage.over-budget{color:var(--color-red-primary)}.budget-bar-warning{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-red-primary);background-color:#dc26261a;padding:2px 8px;border-radius:var(--radius-full)}.budget-bar-legend{display:flex;justify-content:space-between;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.budget-bar-value{display:flex;flex-direction:column;gap:2px}.budget-bar-label{font-size:var(--text-xs);color:var(--color-text-muted)}.budget-bar-amount{font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-heading);color:var(--color-text-primary)}.budget-bar-amount.over-budget{color:var(--color-red-primary)}.budget-bar-amount.budgeted{color:var(--color-text-secondary)}.dashboard-page{max-width:1400px;margin:0 auto}.period-toggle{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary)}.period-label{font-weight:var(--font-medium);color:var(--color-text-primary)}.dashboard-header{margin-bottom:var(--space-8)}.dashboard-header h1{margin-bottom:var(--space-2)}.dashboard-header p{color:var(--color-text-secondary);margin-bottom:0}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.summary-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:flex-start;gap:var(--space-4)}.summary-card-icon{background-color:var(--color-gray-lighter);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-green-primary)}.summary-card-content{flex:1}.summary-card-title{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.summary-card-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.summary-card-change{font-size:var(--text-sm);margin-bottom:0}.summary-card-change.up{color:var(--color-positive)}.summary-card-change.down{color:var(--color-negative)}.summary-card-change.neutral{color:var(--color-text-muted)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.dashboard-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.section-header h2{font-size:var(--text-lg);margin:0}.section-link{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em}.expenses-list{display:flex;flex-direction:column;gap:var(--space-3)}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background-color:var(--color-gray-lighter);border-radius:var(--radius-md)}.expense-description{font-weight:var(--font-medium);margin-bottom:var(--space-1)}.expense-category{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:0}.expense-details{text-align:right}.expense-amount{font-family:var(--font-heading);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.expense-date{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:0}.budget-list{display:flex;flex-direction:column;gap:var(--space-4)}.budget-item{display:flex;flex-direction:column;gap:var(--space-2)}.budget-info{display:flex;justify-content:space-between;align-items:center}.budget-category{font-weight:var(--font-medium);margin-bottom:0}.budget-amounts{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:0}.budget-bar{height:8px;background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);overflow:hidden}.budget-bar-fill{height:100%;background-color:var(--color-green-primary);border-radius:var(--radius-sm);transition:width var(--transition-base)}.budget-bar-fill.warning{background-color:var(--color-red-primary)}.expense-breakdown-section{margin-bottom:var(--space-6)}.expense-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5)}.breakdown-item{display:flex;flex-direction:column;gap:var(--space-2)}.breakdown-header{display:flex;align-items:center;gap:var(--space-2)}.breakdown-icon{color:var(--color-text-muted)}.breakdown-icon.fixed{color:var(--color-primary)}.breakdown-icon.varying{color:var(--color-warning)}.breakdown-label{font-weight:var(--font-medium);color:var(--color-text-secondary)}.breakdown-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.breakdown-bar{height:8px;background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);overflow:hidden}.breakdown-fill{height:100%;border-radius:var(--radius-sm);transition:width var(--transition-base)}.breakdown-fill.fixed{background-color:var(--color-primary)}.breakdown-fill.varying{background-color:var(--color-warning)}.breakdown-fill.other{background-color:var(--color-text-muted)}.breakdown-percent{font-size:var(--text-sm);color:var(--color-text-muted);text-align:right}.dashboard-charts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-top:var(--space-6);margin-bottom:var(--space-6)}.chart-section{min-height:380px}.chart-section .card-content{padding-top:var(--space-2)}.transactions-section{height:fit-content}.transactions-section .card-content{padding:0}.budget-charts{display:flex;flex-direction:column;gap:var(--space-6)}.budget-chart-section{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.budget-chart-section:last-child{padding-bottom:0;border-bottom:none}.budget-chart-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0}@media(max-width:1024px){.dashboard-grid,.dashboard-charts{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-header{margin-bottom:var(--space-4)}.period-toggle{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.toggle-buttons{width:100%}.toggle-btn{flex:1;text-align:center}.summary-cards{grid-template-columns:1fr;gap:var(--space-3)}.summary-card{padding:var(--space-4)}.summary-card-value{font-size:var(--text-xl)}.dashboard-section{padding:var(--space-4)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-3)}.expense-item{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.expense-details{text-align:left;width:100%;display:flex;justify-content:space-between}.budget-info{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.category-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.category-modal-content{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.category-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.category-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text, #1f2937)}.category-modal-search{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.category-modal-search .search-icon{color:var(--color-gray-400, #9ca3af);flex-shrink:0}.category-modal-search input{flex:1;border:none;outline:none;font-size:.9375rem;color:var(--color-text, #1f2937)}.category-modal-search input::placeholder{color:var(--color-gray-400, #9ca3af)}.category-type-tabs{display:flex;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.type-tab{flex:1;padding:.5rem 1rem;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:#fff;font-size:.875rem;font-weight:500;color:var(--color-gray-600, #4b5563);cursor:pointer;transition:all .15s ease}.type-tab:hover{background-color:var(--color-gray-50, #f9fafb)}.type-tab.active{background-color:var(--color-primary, #174D38);border-color:var(--color-primary, #174D38);color:#fff}.type-tab.tab-expense.active{background-color:#dc2626;border-color:#dc2626}.type-tab.tab-income.active{background-color:#16a34a;border-color:#16a34a}.category-groups-list{flex:1;overflow-y:auto;padding:.5rem 0}.category-empty{padding:2rem;text-align:center;color:var(--color-gray-500, #6b7280)}.category-group{padding:.5rem 0}.category-group-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500, #6b7280)}.group-label{flex:1}.group-count{background-color:var(--color-gray-100, #f3f4f6);padding:.125rem .5rem;border-radius:10px;font-size:.6875rem}.category-items{display:flex;flex-wrap:wrap;gap:.5rem;padding:.25rem 1.25rem}.category-item{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:#fff;font-size:.875rem;color:var(--color-text, #1f2937);cursor:pointer;transition:all .15s ease}.category-item:hover{background-color:var(--color-gray-50, #f9fafb);border-color:var(--color-gray-300, #d1d5db)}.category-item.selected{background-color:var(--color-primary-50, #f0fdf4);border-color:var(--color-primary, #174D38)}.category-emoji{font-size:1rem}.category-name{font-weight:500}@media(max-width:480px){.category-modal-content{max-height:90vh;margin:.5rem}.category-items{gap:.375rem}.category-item{padding:.375rem .625rem;font-size:.8125rem}}.account-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.account-modal-content{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.account-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.account-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text, #1f2937)}.account-modal-search{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.account-modal-search .search-icon{color:var(--color-gray-400, #9ca3af);flex-shrink:0}.account-modal-search input{flex:1;border:none;outline:none;font-size:.9375rem;color:var(--color-text, #1f2937)}.account-modal-search input::placeholder{color:var(--color-gray-400, #9ca3af)}.account-type-tabs{display:flex;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.account-type-tabs .type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:#fff;font-size:.875rem;font-weight:500;color:var(--color-gray-600, #4b5563);cursor:pointer;transition:all .15s ease}.account-type-tabs .type-tab:hover{background-color:var(--color-gray-50, #f9fafb)}.account-type-tabs .type-tab.active{background-color:var(--color-primary, #174D38);border-color:var(--color-primary, #174D38);color:#fff}.account-type-tabs .type-tab.tab-asset.active{background-color:#16a34a;border-color:#16a34a}.account-type-tabs .type-tab.tab-liability.active{background-color:#dc2626;border-color:#dc2626}.account-groups-list{flex:1;overflow-y:auto;padding:.5rem 0}.account-empty{padding:2rem;text-align:center;color:var(--color-gray-500, #6b7280)}.account-group{padding:.5rem 0}.account-group-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500, #6b7280)}.account-group-header.asset{color:#16a34a}.account-group-header.liability{color:#dc2626}.account-group-header .group-label{flex:1}.account-group-header .group-count{background-color:var(--color-gray-100, #f3f4f6);padding:.125rem .5rem;border-radius:10px;font-size:.6875rem}.account-items{display:flex;flex-direction:column;gap:.25rem;padding:.25rem 1.25rem}.account-item{display:flex;align-items:center;padding:.625rem .875rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:#fff;cursor:pointer;transition:all .15s ease}.account-item:hover{background-color:var(--color-gray-50, #f9fafb);border-color:var(--color-gray-300, #d1d5db)}.account-item.selected{background-color:var(--color-primary-50, #f0fdf4);border-color:var(--color-primary, #174D38)}.account-item.asset:hover{border-color:#16a34a}.account-item.asset.selected{background-color:#f0fdf4;border-color:#16a34a}.account-item.liability:hover{border-color:#dc2626}.account-item.liability.selected{background-color:#fef2f2;border-color:#dc2626}.account-item-info{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem}.account-name{font-size:.9375rem;font-weight:500;color:var(--color-text, #1f2937)}.account-type-label{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:4px}.account-type-label.asset{background-color:#dcfce7;color:#16a34a}.account-type-label.liability{background-color:#fee2e2;color:#dc2626}@media(max-width:480px){.account-modal-content{max-height:90vh;margin:.5rem}.account-items{gap:.375rem}.account-item{padding:.5rem .75rem}.account-name{font-size:.875rem}.account-balance{font-size:.8125rem}}.editable-expense-row{background-color:var(--color-primary-50, #f0fdf4)}.editable-expense-row td{padding:.25rem .5rem}.editable-input,.editable-select{width:100%;padding:.5rem;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:.875rem;background:#fff;transition:border-color .15s,box-shadow .15s}.editable-input:focus,.editable-select:focus{outline:none;border-color:var(--color-primary, #174D38);box-shadow:0 0 0 2px var(--color-primary-100, #dcfce7)}.editable-input:disabled,.editable-select:disabled{background-color:var(--color-gray-100, #f3f4f6);cursor:not-allowed}.editable-select.required-field{border-color:var(--color-warning, #f59e0b);background-color:#fffbeb}.editable-input::placeholder{color:var(--color-gray-400, #9ca3af)}.amount-input{text-align:right;font-variant-numeric:tabular-nums}.type-select{font-weight:500;min-width:90px}.type-expense{color:var(--color-negative, #dc2626);background-color:#fef2f2}.type-income{color:var(--color-positive, #16a34a);background-color:#f0fdf4}.type-debit,.type-credit{color:var(--color-text, #374151)}.amount-input-wrapper{display:flex;align-items:center;gap:.25rem}.amount-sign{font-weight:600;font-size:.875rem;min-width:12px}.amount-sign.positive{color:var(--color-positive, #16a34a)}.amount-sign.negative{color:var(--color-negative, #dc2626)}.amount-currency-code{font-size:.7rem;color:var(--color-text-muted, #6b7280);font-weight:400;white-space:nowrap}.income-row{background-color:#f0fdf4}.expense-row{background-color:#fef2f2}.row-green{background-color:#f0fdf4}.row-blue{background-color:#eff6ff}.category-selector-btn{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:.875rem;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left}.category-selector-btn:hover:not(:disabled){border-color:var(--color-gray-300, #d1d5db)}.category-selector-btn:focus{outline:none;border-color:var(--color-primary, #174D38);box-shadow:0 0 0 2px var(--color-primary-100, #dcfce7)}.category-selector-btn:disabled{background-color:var(--color-gray-100, #f3f4f6);cursor:not-allowed}.category-selector-btn .category-emoji{font-size:1rem}.category-selector-btn .category-name{flex:1;font-weight:500;font-size:.75rem;color:var(--color-text, #1f2937);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-selector-btn .category-placeholder{flex:1;color:var(--color-gray-400, #9ca3af)}.category-selector-btn .chevron{color:var(--color-gray-400, #9ca3af);flex-shrink:0}.category-selector-btn.placeholder{border-color:var(--color-warning, #f59e0b);background-color:#fffbeb}.account-selector-btn{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:.875rem;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s;text-align:left}.account-selector-btn:hover:not(:disabled){border-color:var(--color-gray-300, #d1d5db)}.account-selector-btn:focus{outline:none;border-color:var(--color-primary, #174D38);box-shadow:0 0 0 2px var(--color-primary-100, #dcfce7)}.account-selector-btn:disabled{background-color:var(--color-gray-100, #f3f4f6);cursor:not-allowed}.account-selector-btn .account-type-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:.625rem;font-weight:700;flex-shrink:0}.account-selector-btn.asset .account-type-badge{background-color:#dcfce7;color:#16a34a}.account-selector-btn.liability .account-type-badge{background-color:#fee2e2;color:#dc2626}.account-selector-btn .account-name{flex:1;font-weight:500;font-size:.75rem;color:var(--color-text, #1f2937);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-selector-btn .account-placeholder{flex:1;color:var(--color-gray-400, #9ca3af)}.account-selector-btn .chevron{color:var(--color-gray-400, #9ca3af);flex-shrink:0}.account-selector-btn.placeholder,.account-selector-btn.required-field{border-color:var(--color-warning, #f59e0b);background-color:#fffbeb}.amount-input::-webkit-outer-spin-button,.amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input[type=number]{-moz-appearance:textfield}.editable-actions{display:flex;gap:.25rem;justify-content:center}.action-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.375rem .625rem;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;transition:background-color .15s}.save-btn{background-color:var(--color-primary, #174D38);color:#fff}.save-btn:hover{background-color:var(--color-primary-dark, #0f3a2a)}.cancel-btn{background-color:var(--color-gray-200, #e5e7eb);color:var(--color-gray-600, #4b5563)}.cancel-btn:hover{background-color:var(--color-gray-300, #d1d5db)}.editable-actions .spinner{animation:spin 1s linear infinite;color:var(--color-primary, #174D38)}.transfer-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.transfer-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.transfer-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.transfer-modal-header h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.transfer-modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.transfer-accounts-row{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-3);align-items:end}.transfer-section{display:flex;flex-direction:column;gap:var(--space-2)}.transfer-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2)}.transfer-label .inline-spinner{animation:spin 1s linear infinite}.transfer-account-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;width:100%}.transfer-account-btn:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-surface-hover)}.transfer-account-btn:disabled{opacity:.6;cursor:not-allowed}.transfer-account-btn.placeholder{color:var(--color-text-muted)}.transfer-account-btn .account-type-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0}.transfer-account-btn.asset .account-type-badge{background-color:var(--color-green-light);color:var(--color-green-primary)}.transfer-account-btn.liability .account-type-badge{background-color:var(--color-red-light);color:var(--color-red-primary)}.transfer-account-btn .account-name{flex:1;font-weight:var(--font-medium);color:var(--color-text-primary)}.transfer-account-btn .account-balance{font-size:var(--text-sm);color:var(--color-text-muted)}.transfer-account-btn .chevron{color:var(--color-text-muted);flex-shrink:0}.transfer-account-btn .placeholder-text{flex:1}.transfer-amount-input{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.transfer-amount-input:focus-within{border-color:var(--color-primary)}.transfer-amount-input .currency-symbol{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.transfer-amount-input input{flex:1;border:none;background:transparent;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary);outline:none;min-width:0}.transfer-amount-input input::placeholder{color:var(--color-text-muted)}.transfer-amount-input .currency-code{font-size:var(--text-sm);color:var(--color-text-muted)}.transfer-arrow{display:flex;align-items:center;justify-content:center;padding:var(--space-2);color:var(--color-text-muted);align-self:center}.transfer-arrow.vertical{padding:var(--space-2) 0}.transfer-category-select{display:flex;flex-wrap:wrap;gap:var(--space-2)}.transfer-category-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface-secondary);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm)}.transfer-category-option:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-surface-hover)}.transfer-category-option:disabled{opacity:.6;cursor:not-allowed}.transfer-category-option.selected{border-color:var(--color-primary);background-color:var(--color-primary-light)}.transfer-category-option .category-icon{font-size:var(--text-base)}.transfer-category-option .category-name{font-weight:var(--font-medium);color:var(--color-text-primary)}.transfer-section.cross-currency{background-color:var(--color-surface-secondary);padding:var(--space-4);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.conversion-hint{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.transfer-preview{background-color:var(--color-surface-secondary);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.transfer-preview p{margin:0;display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm)}.transfer-preview .preview-amount{font-weight:var(--font-semibold)}.transfer-preview .preview-amount.positive{color:var(--color-green-primary)}.transfer-preview .preview-amount.negative{color:var(--color-red-primary)}.transfer-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-red-light);color:var(--color-red-primary);border-radius:var(--radius-md);font-size:var(--text-sm)}.transfer-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.transfer-modal-footer .spinner{animation:spin 1s linear infinite}@media(max-width:680px){.transfer-modal-content{max-width:100%;max-height:100vh;border-radius:0}.transfer-modal-overlay{padding:0}.transfer-accounts-row{grid-template-columns:1fr;gap:var(--space-2)}.transfer-arrow{transform:rotate(90deg)}}.expenses-page{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.page-header h1{margin-bottom:var(--space-2)}.page-header p{color:var(--color-text-secondary);margin-bottom:0}.expenses-filters{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.search-box{flex:1;max-width:400px;position:relative}.search-box .search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.search-box input{padding-left:calc(var(--space-3) + 24px)}.filter-box{display:flex;align-items:center;gap:var(--space-2);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-3)}.filter-box select{border:none;background:transparent;padding:var(--space-3) var(--space-2);min-width:150px;cursor:pointer;-webkit-appearance:menulist;appearance:menulist;width:auto}.filter-box select:focus{box-shadow:none}.date-filter{background-color:var(--color-primary-50, #f0fdf4);border-color:var(--color-primary, #174D38)}.date-filter select{min-width:100px;font-weight:500;color:var(--color-primary, #174D38)}.date-filter select:first-of-type{min-width:120px}.expenses-summary{padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.expenses-summary p{margin-bottom:0;color:var(--color-text-secondary)}.table-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.table-actions .keyboard-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:0}.table-actions .keyboard-hint kbd{display:inline-block;padding:.125rem .375rem;font-size:.75rem;font-family:var(--font-mono, monospace);background-color:var(--color-gray-100, #f3f4f6);border:1px solid var(--color-gray-300, #d1d5db);border-radius:4px;box-shadow:0 1px 0 var(--color-gray-300, #d1d5db)}.table-actions-buttons{display:flex;gap:var(--space-3)}.expenses-table-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.expenses-table{width:100%;table-layout:fixed}.expenses-table th{background-color:var(--color-surface)}.expenses-table th:nth-child(1),.expenses-table td:nth-child(1){width:8%}.expenses-table th:nth-child(2),.expenses-table td:nth-child(2){width:16%}.expenses-table th:nth-child(3),.expenses-table td:nth-child(3){width:10%}.expenses-table th:nth-child(4),.expenses-table td:nth-child(4){width:12%}.expenses-table th:nth-child(5),.expenses-table td:nth-child(5){width:12%}.expenses-table th:nth-child(6),.expenses-table td:nth-child(6){width:10%}.expenses-table th:nth-child(7),.expenses-table td:nth-child(7){width:14%}.expenses-table th:nth-child(8),.expenses-table td:nth-child(8){width:10%}.type-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.type-badge.type-expense{background-color:#fef2f2;color:#dc2626}.type-badge.type-income{background-color:#f0fdf4;color:#16a34a}.type-badge.type-debit,.type-badge.type-credit{background-color:var(--color-gray-100, #f3f4f6);color:var(--color-text, #374151)}.expenses-table tbody tr.income-row{background-color:#fafff9}.expenses-table tbody tr.expense-row{background-color:snow}.expenses-table tbody tr.income-row:hover{background-color:#f0fdf4}.expenses-table tbody tr.expense-row:hover{background-color:#fef2f2}.expenses-table tbody tr.row-green{background-color:#f0fdf4}.expenses-table tbody tr.row-green:hover{background-color:#dcfce7}.expenses-table tbody tr.row-blue{background-color:#eff6ff}.expenses-table tbody tr.row-blue:hover{background-color:#dbeafe}.amount-positive{color:#16a34a;font-weight:600}.amount-negative{color:#dc2626;font-weight:600}.amount-currency{font-size:var(--text-xs);font-weight:400;color:var(--color-text-muted)}.category-badge{display:inline-block;padding:var(--space-1) var(--space-2);background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.03em}.account-link{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}.account-link:hover{color:var(--color-green-primary);text-decoration:underline}.action-buttons{display:flex;gap:var(--space-2)}.btn-icon{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-icon:hover{background-color:var(--color-gray-lighter);color:var(--color-text-primary)}.btn-icon-danger:hover{background-color:#4d17171a;color:var(--color-red-primary)}@media(max-width:1024px){.expenses-table-container{overflow-x:auto}.expenses-table{min-width:800px}}.page-info{color:var(--color-text-muted);font-size:var(--text-sm)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-4) 0}.pagination-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--color-gray-lighter);border-color:var(--color-gray-300)}.pagination-pages{display:flex;align-items:center;gap:var(--space-1)}.pagination-page{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0 var(--space-2);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.pagination-page:hover:not(:disabled):not(.active){background-color:var(--color-gray-lighter);border-color:var(--color-gray-300)}.pagination-page.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination-page:disabled{opacity:.5;cursor:not-allowed}.pagination-ellipsis{padding:0 var(--space-2);color:var(--color-text-muted)}@media(max-width:768px){.page-header{flex-direction:column;gap:var(--space-3)}.page-header .btn{width:100%}.expenses-filters{flex-direction:column;gap:var(--space-3)}.search-box{max-width:none}.filter-box{width:100%;padding:var(--space-2) var(--space-3)}.filter-box select{flex:1;min-width:0}.date-filter select:first-of-type{min-width:0}.expenses-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);text-align:center;padding:var(--space-3)}.expenses-summary p:first-child{grid-column:1 / -1;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1)}.table-actions{flex-direction:column;gap:var(--space-3);align-items:stretch}.table-actions .keyboard-hint{display:none}.table-actions-buttons{width:100%;flex-direction:column}.table-actions-buttons .button{width:100%;justify-content:center}.expenses-table-container{margin:0 calc(-1 * var(--space-4));border-radius:0;border-left:none;border-right:none;overflow-x:auto;-webkit-overflow-scrolling:touch}.expenses-table{min-width:700px;table-layout:auto}.expenses-table th,.expenses-table td{padding:var(--space-2) var(--space-2);font-size:var(--text-xs);white-space:nowrap}.expenses-table th:nth-child(1),.expenses-table td:nth-child(1){width:auto}.expenses-table th:nth-child(2),.expenses-table td:nth-child(2){width:auto;max-width:120px;overflow:hidden;text-overflow:ellipsis}.expenses-table th:nth-child(3),.expenses-table td:nth-child(3){width:auto}.expenses-table th:nth-child(4),.expenses-table td:nth-child(4){width:auto}.expenses-table th:nth-child(5),.expenses-table td:nth-child(5){width:auto}.expenses-table th:nth-child(6),.expenses-table td:nth-child(6){width:auto}.expenses-table th:nth-child(7),.expenses-table td:nth-child(7){width:auto}.expenses-table th:nth-child(8),.expenses-table td:nth-child(8){width:auto}.type-badge{padding:2px var(--space-1);font-size:.65rem}.category-badge{padding:2px var(--space-1);font-size:.6rem}.action-buttons{gap:var(--space-1)}.btn-icon{padding:var(--space-1)}.pagination{flex-wrap:wrap;gap:var(--space-3)}.pagination-pages{order:-1;width:100%;justify-content:center;margin-bottom:var(--space-2)}.pagination-btn{flex:1;justify-content:center;padding:var(--space-2)}.pagination-page{min-width:32px;height:32px}}@media(max-width:480px){.expenses-table{min-width:600px}.expenses-table th,.expenses-table td{padding:var(--space-1) var(--space-2)}.pagination-pages{gap:2px}.pagination-page{min-width:28px;height:28px;font-size:var(--text-xs)}.pagination-btn{font-size:var(--text-xs);padding:var(--space-2)}.pagination-btn span{display:none}}.accounts-page{max-width:1400px;margin:0 auto}.dashboard-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.patrimonio-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-4)}.patrimonio-info{display:flex;flex-direction:column;gap:var(--space-1)}.patrimonio-value{margin:0;font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--font-bold)}.patrimonio-value.positive{color:var(--color-positive)}.patrimonio-value.negative{color:var(--color-negative)}.patrimonio-bars{flex:1;display:flex;flex-direction:column;gap:var(--space-3);max-width:500px}.patrimonio-bar-row{display:grid;grid-template-columns:70px 1fr 120px;align-items:center;gap:var(--space-3)}.bar-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.bar-container{height:24px;background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);overflow:hidden}.bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease}.bar-fill.positive{background-color:var(--color-positive)}.bar-fill.negative{background-color:var(--color-negative)}.bar-value{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);text-align:right}.bar-value.positive{color:var(--color-positive)}.bar-value.negative{color:var(--color-negative)}.dashboard-cards-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.summary-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}.summary-card .donut-chart-wrapper{width:100%}.summary-card .donut-chart-content{justify-content:flex-start}.summary-label{margin:0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.summary-label small{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--color-text-muted);text-transform:none}.summary-value{margin:0;font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold)}.summary-value.positive{color:var(--color-positive)}.summary-value.negative{color:var(--color-negative)}.summary-accounts{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.accounts-section{margin-bottom:var(--space-8)}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.section-header h2{margin:0}.filter-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-pill{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all .15s ease}.filter-pill:hover{background-color:var(--color-gray-lighter);color:var(--color-text-primary)}.filter-pill.active{background-color:var(--color-green-primary);border-color:var(--color-green-primary);color:#fff}.accounts-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.filter-group{display:flex;align-items:center;gap:var(--space-2)}.filter-group-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);white-space:nowrap}.filter-clear{margin-left:auto;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;transition:color .15s ease}.filter-clear:hover{color:var(--color-text-primary)}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}@media(max-width:768px){.patrimonio-card{flex-direction:column;text-align:center}.patrimonio-info{align-items:center}.patrimonio-value{font-size:var(--text-3xl)}.patrimonio-bars{width:100%;max-width:none}.patrimonio-bar-row{grid-template-columns:60px 1fr 100px;gap:var(--space-2)}.bar-value{font-size:var(--text-xs)}.dashboard-cards-row{grid-template-columns:1fr;gap:var(--space-3)}.dashboard-card{padding:var(--space-4)}.summary-value{font-size:var(--text-xl)}.accounts-section{margin-bottom:var(--space-6)}.accounts-grid{grid-template-columns:1fr;gap:var(--space-3)}.accounts-filter-bar{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.filter-group{flex-wrap:wrap}.filter-clear{margin-left:0;align-self:flex-end}}.account-detail-page{max-width:1400px;margin:0 auto}.account-detail-page.loading,.account-detail-page.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-3)}.breadcrumb-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb-link:hover{color:var(--color-green-primary)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none;margin-bottom:var(--space-3);transition:color var(--transition-fast);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.back-link:hover{color:var(--color-green-primary)}.period-toggle{display:flex;align-items:center;gap:var(--space-3)}.toggle-buttons{display:flex;background-color:var(--color-gray-lighter);border-radius:var(--radius-md);padding:2px}.toggle-btn{padding:var(--space-2) var(--space-3);border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.toggle-btn:hover{color:var(--color-text-primary)}.toggle-btn.active{background-color:var(--color-surface);color:var(--color-green-primary);box-shadow:var(--shadow-sm)}.balance-hero-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);text-align:center}.balance-hero-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-2) 0}.balance-hero-amount{font-size:var(--text-4xl);font-weight:var(--font-bold);font-family:var(--font-heading);margin:0}.balance-hero-amount.positive{color:var(--color-green-primary)}.balance-hero-amount.negative{color:var(--color-red-primary)}.balance-hero-debt{font-size:var(--text-lg);font-weight:var(--font-normal);color:var(--color-text-muted)}.chart-card{margin-bottom:var(--space-6)}.chart-content{padding:var(--space-4)}.chart-empty{height:200px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.account-detail-grid{display:grid;grid-template-columns:1fr 320px;gap:var(--space-6);align-items:start}.transactions-card{min-height:400px}.transactions-count{font-size:var(--text-sm);color:var(--color-text-muted)}.transactions-list{max-height:500px;overflow-y:auto}.transaction-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border)}.transaction-item:last-child{border-bottom:none}.transaction-item__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);flex-shrink:0}.transaction-item__icon svg{width:14px;height:14px}.transaction-item__icon[data-type=positive]{background-color:#174d381a;color:var(--color-green-primary)}.transaction-item__icon[data-type=negative]{background-color:#dc26261a;color:var(--color-red-primary)}.transaction-item__name{flex:2;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-item__category{flex:1;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text-secondary)}.transaction-item__category-icon{font-size:var(--text-base)}.transaction-item__date{flex-shrink:0;font-size:var(--text-base);color:var(--color-text-muted)}.transaction-item__amount{flex-shrink:0;font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-semibold);white-space:nowrap;text-align:right;min-width:100px}.transaction-item__amount.positive{color:var(--color-green-primary)}.transaction-item__amount.negative{color:var(--color-red-primary)}.summary-card{position:sticky;top:var(--space-4);display:flex;flex-direction:column}.summary-card .card-header{margin-bottom:0}.summary-content{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);width:100%;box-sizing:border-box}.summary-row{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--space-2);width:100%}.summary-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);flex-shrink:0}.summary-value{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary);text-align:right;word-break:break-word}.summary-label.positive{color:var(--color-green-primary)}.summary-label.negative{color:var(--color-red-primary)}.summary-value.positive{color:var(--color-green-primary)}.summary-value.negative{color:var(--color-red-primary)}.summary-divider{width:100%;height:1px;background-color:var(--color-border);margin:var(--space-1) 0}.summary-total{padding-top:var(--space-2)}.summary-total .summary-label{font-weight:var(--font-semibold);color:var(--color-text-primary)}.summary-total .summary-value{font-size:var(--text-xl)}.empty-state{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}@media(max-width:1024px){.account-detail-grid{grid-template-columns:1fr}.summary-card{position:static;order:-1}}@media(max-width:768px){.period-toggle{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.toggle-buttons{width:100%}.toggle-btn{flex:1;text-align:center}.balance-hero-section{padding:var(--space-4)}.balance-hero-amount{font-size:var(--text-3xl)}.transaction-item{padding:var(--space-3)}.transactions-list{max-height:400px}}.category-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.category-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:450px;max-height:90vh;overflow-y:auto}.category-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border)}.category-modal-header h3{margin:0;font-size:var(--text-xl)}.category-modal-content form{padding:var(--space-5)}.category-modal-content .form-group{margin-bottom:var(--space-4)}.category-modal-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.category-modal-content .form-group input{width:100%}.emoji-picker-wrapper{display:flex;flex-direction:column;gap:var(--space-3)}.emoji-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);cursor:pointer;transition:all var(--transition-fast)}.emoji-trigger:hover{border-color:var(--color-green-primary);background-color:var(--color-gray-lighter)}.emoji-preview{font-size:1.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-lighter);border-radius:var(--radius-sm)}.emoji-trigger-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.emoji-picker-container{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.emoji-picker-container .EmojiPickerReact{--epr-bg-color: var(--color-surface);--epr-category-label-bg-color: var(--color-surface);--epr-hover-bg-color: var(--color-gray-lighter);--epr-focus-bg-color: var(--color-gray-light);--epr-highlight-color: var(--color-green-primary);--epr-search-border-color: var(--color-border);border:none!important}.emoji-picker-container .epr-category-nav{padding-left:2px!important;padding-right:2px!important}.emoji-picker-container .epr-cat-btn{width:30px!important;min-width:30px!important;padding-left:8px!important;padding-right:8px!important}.type-selector{display:flex;gap:var(--space-2)}.type-option{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-gray-lighter);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);transition:all var(--transition-fast)}.type-option:hover{border-color:var(--color-text-muted);background-color:var(--color-surface)}.type-option.selected{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-primary)}.type-option.selected.income{border-color:var(--color-success);background-color:#27ae601a;color:var(--color-success)}.type-option.selected.expense{border-color:var(--color-error);background-color:#e74c3c1a;color:var(--color-error)}.field-hint{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.category-group-select{width:100%;padding:var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);cursor:pointer;color:var(--color-text)}.category-group-select:focus{outline:none;border-color:var(--color-green-primary);box-shadow:0 0 0 2px #174d381a}.category-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}@media(max-width:768px){.category-modal-overlay{padding:0;align-items:flex-end}.category-modal-content{max-width:none;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.category-modal-header,.category-modal-content form{padding:var(--space-4)}.category-modal-actions{flex-direction:column-reverse}.category-modal-actions .btn{width:100%}}.budgets-page{max-width:1400px;margin:0 auto}.budgets-page.loading,.budgets-page.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-3)}.period-selector{display:flex;align-items:center;gap:var(--space-3)}.period-label{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-primary)}.period-nav{display:flex;align-items:center;gap:var(--space-2)}.period-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .15s ease}.period-nav-btn:hover{background-color:var(--color-gray-lighter);border-color:var(--color-gray)}.period-nav-btn:active{background-color:var(--color-gray-light)}.period-today-btn{padding:var(--space-2) var(--space-4);margin-left:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid var(--color-green-primary);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-green-primary);cursor:pointer;transition:all .15s ease}.period-today-btn:hover:not(:disabled){background-color:var(--color-green-primary);color:#fff}.period-today-btn:disabled{opacity:.5;cursor:not-allowed}.budgets-actions-bar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.filter-toggle-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.filter-toggle-btn:hover{background-color:var(--color-gray-lighter);color:var(--color-text-primary)}.filter-toggle-btn.active{background-color:var(--color-green-primary);border-color:var(--color-green-primary);color:#fff}.add-category-btn-main{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.add-category-btn-main:hover{background-color:var(--color-green-primary);border-color:var(--color-green-primary);color:#fff}.budgets-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--space-6);align-items:start}.budgets-tables{display:flex;flex-direction:column;gap:var(--space-6)}.budget-table-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.budget-table-header{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4);background-color:var(--color-gray-lighter);border-bottom:1px solid var(--color-border);gap:var(--space-2)}.budget-table-title-row{display:grid;grid-template-columns:1fr 128px 108px 108px;align-items:center}.budget-table-title-info{display:flex;align-items:center;gap:var(--space-2)}.budget-table-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.budget-table-count{font-size:var(--text-sm);color:var(--color-text-muted)}.budget-table-header-cols{display:contents}.budget-table-header-cols span{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);text-align:right;text-transform:uppercase}.budget-table-header-cols span small{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--color-text-muted);text-transform:none}.budget-table-totals{display:grid;grid-template-columns:1fr 128px 108px 108px;align-items:center;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.total-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.total-value{font-size:var(--text-sm);font-family:var(--font-heading);font-weight:var(--font-semibold);color:var(--color-text-primary);text-align:right}.total-value.positive{color:var(--color-green-primary)}.total-value.negative{color:var(--color-red-primary)}.budget-table-empty{padding:var(--space-6);text-align:center;color:var(--color-text-muted);margin:0}.budget-table{width:100%;border-collapse:collapse;table-layout:fixed}.budget-table th{text-align:left;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background-color:var(--color-gray-lighter);vertical-align:middle}.budget-table th:first-child,.budget-table td:first-child{width:auto}.budget-table th:nth-child(2),.budget-table td:nth-child(2){width:128px;text-align:right}.budget-table th:nth-child(3),.budget-table td:nth-child(3),.budget-table th:nth-child(4),.budget-table td:nth-child(4){width:108px;text-align:right}.budget-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);vertical-align:middle}.budget-table tbody tr:last-child td{border-bottom:none}.budget-table tbody tr:hover{background-color:var(--color-gray-lighter)}.budget-table tbody tr.over-budget{background-color:#e74c3c0d}.category-cell{display:flex;align-items:center;gap:var(--space-2);width:100%}.budget-table td:first-child{position:relative}.category-emoji{font-size:1.25rem}.category-name{font-weight:var(--font-medium)}.amount-col{text-align:right;font-family:var(--font-heading);white-space:nowrap}.amount-col.positive{color:var(--color-green-primary)}.amount-col.negative{color:var(--color-red-primary)}.budget-input-wrapper{display:inline-flex;align-items:center;justify-content:flex-end;position:relative;width:fit-content;margin-left:auto;height:100%}.budget-input-prefix{position:absolute;left:6px;font-size:var(--text-sm);font-family:var(--font-heading);color:var(--color-text-muted);pointer-events:none;line-height:28px}.budget-input{width:100px;padding:4px 8px 4px 18px;font-size:var(--text-sm);font-family:var(--font-heading);text-align:right;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);line-height:1.4;height:28px;box-sizing:border-box}.budget-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #174d381a}.budget-input:hover:not(:focus){border-color:var(--color-text-muted)}.budget-input::placeholder{color:var(--color-text-muted)}.budget-input:disabled{background-color:var(--color-gray-lighter);cursor:not-allowed}.budget-input::-webkit-outer-spin-button,.budget-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.budget-input[type=number]{-moz-appearance:textfield;appearance:textfield}.actual-col{color:var(--color-text-secondary)}.budgets-summary{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);position:sticky;top:var(--space-4)}.summary-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.balance-hero{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.balance-item{display:flex;flex-direction:column;gap:var(--space-1)}.balance-label{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.balance-amount{font-size:var(--text-3xl);font-weight:var(--font-bold);font-family:var(--font-heading)}.balance-amount.positive{color:var(--color-green-primary)}.balance-amount.negative{color:var(--color-red-primary)}.details-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);background-color:var(--color-gray-lighter);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.details-toggle:hover{background-color:var(--color-gray-light);color:var(--color-text)}.summary-details{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.summary-details .budget-progress-bar{margin-top:var(--space-2)}.summary-section{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.summary-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.summary-section h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:.05em}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);padding:var(--space-1) 0}.summary-row span:first-child{color:var(--color-text-muted)}.summary-row span:last-child{font-family:var(--font-heading);font-weight:var(--font-medium)}.summary-row .positive{color:var(--color-green-primary)}.summary-row .negative{color:var(--color-red-primary)}.summary-details .summary-section.summary-total{background-color:var(--color-gray-lighter);margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));padding:var(--space-4) var(--space-5);border-radius:var(--radius-md)}.summary-section.summary-total h4{font-size:var(--text-base)}.summary-section.summary-sub{padding-left:var(--space-4);border-left:2px solid var(--color-border)}.summary-section.summary-sub h4{font-size:var(--text-xs);color:var(--color-text-muted)}.summary-section .budget-progress-bar{margin-top:var(--space-2)}.expense-breakdown{display:flex;justify-content:space-between;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--color-border)}.breakdown-item{display:flex;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.breakdown-item span:last-child{font-family:var(--font-heading)}@media(max-width:1024px){.budgets-layout{grid-template-columns:1fr}.budgets-summary{position:static;order:-1}}@media(max-width:768px){.budgets-page{padding:0}.budgets-actions-bar{flex-wrap:wrap}.period-selector{flex-wrap:wrap;gap:var(--space-2)}.budget-table-section{border-radius:var(--radius-md)}.budget-table-title-row,.budget-table-totals{grid-template-columns:1fr 86px 86px 86px}.total-label,.total-value{font-size:var(--text-xs)}.budget-table-header-cols span{font-size:var(--text-sm)}.budget-table{font-size:var(--text-xs)}.budget-table th,.budget-table td{padding:var(--space-2) var(--space-3)}.category-emoji{font-size:1rem}.budget-input{width:80px;padding:4px 6px 4px 14px;height:26px}.budget-input-prefix{font-size:var(--text-xs);left:4px;line-height:26px}.budgets-summary{padding:var(--space-4)}}@media(max-width:480px){.budget-table th:nth-child(3),.budget-table td:nth-child(3){display:none}.budget-input{width:70px;padding-left:14px;height:24px}.budget-input-prefix{line-height:24px}}.progress-bar{display:flex;flex-direction:column;gap:var(--space-1)}.progress-bar__track{width:100%;background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);overflow:hidden}.progress-bar--sm .progress-bar__track{height:6px}.progress-bar--md .progress-bar__track{height:10px}.progress-bar--lg .progress-bar__track{height:14px}.progress-bar__fill{height:100%;border-radius:var(--radius-sm);transition:width var(--transition-base)}.progress-bar__fill--default,.progress-bar__fill--success{background-color:var(--color-green-primary)}.progress-bar__fill--warning{background-color:#f0ad4e}.progress-bar__fill--danger{background-color:var(--color-red-primary)}.progress-bar__label{display:block;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-align:right;align-self:flex-end;line-height:1.2}.goal-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.goal-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.goal-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border)}.goal-modal-header h3{margin:0;font-size:var(--text-xl)}.goal-modal-content form{padding:var(--space-5)}.goal-modal-content .form-group{margin-bottom:var(--space-4)}.goal-modal-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.goal-modal-content .form-group input{width:100%}.goal-modal-content .form-hint{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.color-picker{display:flex;gap:var(--space-2);flex-wrap:wrap}.color-option{width:32px;height:32px;border-radius:var(--radius-full);border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-surface)}.goal-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}@media(max-width:768px){.goal-modal-overlay{padding:0;align-items:flex-end}.goal-modal-content{max-width:none;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.goal-modal-header,.goal-modal-content form{padding:var(--space-4)}.goal-modal-actions{flex-direction:column-reverse}.goal-modal-actions .btn{width:100%}.color-picker{justify-content:center}}.add-savings-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.add-savings-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:400px}.add-savings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border)}.add-savings-modal-header h3{margin:0;font-size:var(--text-xl)}.add-savings-goal-info{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background-color:var(--color-gray-lighter);border-bottom:1px solid var(--color-border)}.add-savings-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-savings-details h4{margin:0 0 var(--space-1) 0;font-size:var(--text-base)}.add-savings-details p{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.add-savings-percentage{margin-left:var(--space-1);color:var(--color-text-muted)}.add-savings-modal-content form{padding:var(--space-5)}.add-savings-modal-content .form-group{margin-bottom:var(--space-4)}.add-savings-modal-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.add-savings-modal-content .form-group input{width:100%;font-size:var(--text-lg);padding:var(--space-3)}.add-savings-modal-content .form-hint{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.quick-amounts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.quick-amount-btn{padding:var(--space-2) var(--space-3);background-color:var(--color-gray-lighter);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.quick-amount-btn:hover{background-color:var(--color-gray-light);border-color:var(--color-gray-medium)}.quick-amount-btn.complete{background-color:var(--color-green-lighter);border-color:var(--color-green-primary);color:var(--color-green-primary)}.quick-amount-btn.complete:hover{background-color:var(--color-green-light)}.add-savings-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}@media(max-width:768px){.add-savings-modal-overlay{padding:0;align-items:flex-end}.add-savings-modal-content{max-width:none;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.add-savings-modal-header{padding:var(--space-4)}.add-savings-goal-info{padding:var(--space-3) var(--space-4)}.add-savings-modal-content form{padding:var(--space-4)}.quick-amounts{justify-content:center}.add-savings-modal-actions{flex-direction:column-reverse}.add-savings-modal-actions .btn{width:100%}}.goals-page{max-width:1400px;margin:0 auto}.goals-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.goals-overview .overview-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.goals-overview .overview-label{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-2)}.goals-overview .overview-value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:0}.goals-overview .overview-value.saved{color:var(--color-green-primary)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.goal-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:box-shadow var(--transition-fast)}.goal-card:hover{box-shadow:var(--shadow-md)}.goal-card.completed{border-color:var(--color-green-primary);background:linear-gradient(to bottom right,rgba(23,77,56,.03),transparent)}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.goal-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.goal-actions{display:flex;gap:var(--space-1)}.btn-add{color:var(--color-green-primary)}.btn-add:hover{background-color:#174d381a}.goal-name{font-size:var(--text-lg);margin-bottom:var(--space-3)}.goal-amounts{margin-bottom:var(--space-3)}.goal-current{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.goal-target{font-size:var(--text-lg);color:var(--color-text-muted)}.goal-progress{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.goal-progress-bar{flex:1;height:10px;background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);overflow:hidden}.goal-progress-fill{height:100%;border-radius:var(--radius-sm);transition:width var(--transition-base)}.goal-percentage{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);min-width:40px;text-align:right}.goal-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);padding-top:var(--space-3)}.goal-remaining{font-size:var(--text-sm);color:var(--color-text-secondary)}.goal-deadline{font-size:var(--text-sm);color:var(--color-text-muted)}.goal-completed-badge{font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-green-primary);font-weight:var(--font-semibold)}@media(max-width:768px){.goals-overview{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-6)}.goals-overview .overview-card{padding:var(--space-4)}.goals-overview .overview-value{font-size:var(--text-2xl)}.goals-grid{grid-template-columns:1fr;gap:var(--space-3)}.goal-card{padding:var(--space-4);position:relative}.goal-card-header{margin-bottom:var(--space-3)}.goal-actions{position:absolute;top:var(--space-3);right:var(--space-3)}.goal-current{font-size:var(--text-xl)}.goal-footer{flex-direction:column;gap:var(--space-1);text-align:center}}@media(max-width:480px){.goal-icon{width:40px;height:40px}.goal-name{font-size:var(--text-base)}}.categories-page{max-width:900px;margin:0 auto}.categories-page.loading,.categories-page.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4);color:var(--color-text-muted)}.header-actions{display:flex;gap:var(--space-3)}.categories-content{margin-top:var(--space-6)}.categories-sections{display:flex;flex-direction:column;gap:var(--space-6)}.category-section{display:flex;flex-direction:column;gap:var(--space-3)}.category-section-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:2px solid var(--color-border)}.category-section-header h2{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text)}.section-icon{display:flex;align-items:center;justify-content:center;color:var(--color-green-primary)}.section-count{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto}.section-total{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-green-primary);background-color:#174d381a;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.category-section-content{display:flex;flex-direction:column;gap:var(--space-2)}.category-group-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.category-group-header{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;background-color:var(--color-surface);cursor:pointer;transition:background-color var(--transition-fast);text-align:left}.category-group-header:hover{background-color:var(--color-gray-lighter)}.group-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background-color:var(--color-gray-lighter);color:var(--color-text-muted)}.group-icon.ingresos{background-color:#27ae6026;color:var(--color-positive)}.group-icon.vivienda{background-color:#2563eb26;color:#2563eb}.group-icon.servicios{background-color:#f59e0b26;color:#f59e0b}.group-icon.suscripciones{background-color:#8b5cf626;color:#8b5cf6}.group-icon.transferencias{background-color:#06b6d426;color:#06b6d4}.group-icon.alimentacion{background-color:#ef444426;color:#ef4444}.group-icon.transporte{background-color:#10b98126;color:#10b981}.group-icon.entretenimiento{background-color:#ec489926;color:#ec4899}.group-icon.salud{background-color:#f43f5e26;color:#f43f5e}.group-icon.personal{background-color:#6366f126;color:#6366f1}.group-icon.otros{background-color:var(--color-gray-lighter);color:var(--color-text-muted)}.group-title{flex:1;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text)}.group-count{font-size:var(--text-xs);color:var(--color-text-muted);background-color:var(--color-gray-lighter);padding:2px 8px;border-radius:var(--radius-full)}.group-total{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-green-primary)}.group-chevron{display:flex;align-items:center;color:var(--color-text-muted)}.category-group-content{border-top:1px solid var(--color-border)}.category-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.category-row:last-child{border-bottom:none}.category-row:hover{background-color:#00000005}.category-emoji{font-size:1.25rem;width:28px;text-align:center;flex-shrink:0}.category-name{flex:1;font-weight:var(--font-medium);color:var(--color-text-primary)}.category-estimate{font-size:var(--text-sm);color:var(--color-positive);background-color:#174d381a;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:var(--font-medium);white-space:nowrap}.category-actions{display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.category-row:hover .category-actions{opacity:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-4);background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-icon{color:var(--color-text-muted);margin-bottom:var(--space-4)}.empty-state h3{margin:0 0 var(--space-2);font-size:var(--text-xl)}.empty-state p{margin:0 0 var(--space-6);color:var(--color-text-muted);max-width:300px}.empty-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}@media(max-width:768px){.header-actions{flex-direction:column;width:100%}.category-section-header{flex-wrap:wrap;gap:var(--space-2)}.category-section-header h2{font-size:var(--text-lg)}.section-count{order:3;margin-left:0}.category-group-header{padding:var(--space-3)}.group-icon{width:28px;height:28px}.group-title{font-size:var(--text-sm)}.category-row{padding:var(--space-3)}.category-actions{opacity:1}.category-estimate{display:none}.empty-actions{flex-direction:column}}.settings-page{padding:var(--space-6);max-width:800px}.current-currency{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.current-currency-label{font-size:var(--text-sm);color:var(--color-text-muted)}.current-currency-value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-primary)}.currency-selection,.currency-direct{margin-bottom:var(--space-6)}.currency-selection h3,.currency-direct h3{margin:0 0 var(--space-3) 0;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-secondary)}.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-2)}.country-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.country-option:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.country-option.selected{background-color:var(--color-primary-light);border-color:var(--color-primary)}.country-flag{font-size:1.5rem}.country-name{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium)}.country-currency{font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-1) var(--space-2);background-color:var(--color-surface-secondary);border-radius:var(--radius-sm)}.country-option.selected .country-currency{background-color:var(--color-primary);color:#fff}.currency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.currency-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.currency-option:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.currency-option.selected{background-color:var(--color-primary-light);border-color:var(--color-primary)}.currency-option .currency-symbol{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary)}.currency-option .currency-code{font-size:var(--text-base);font-weight:var(--font-semibold)}.currency-option .currency-name{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.currency-preview{padding:var(--space-4);background-color:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.currency-preview p{margin:0;font-size:var(--text-sm);color:var(--color-warning)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}@media(max-width:768px){.settings-page,.settings-card{padding:var(--space-4)}.settings-card-header{flex-direction:column;gap:var(--space-3)}.country-grid{grid-template-columns:1fr}.currency-grid{grid-template-columns:repeat(2,1fr)}.settings-actions{flex-direction:column;align-items:stretch}.success-message{justify-content:center}}.support-page{max-width:900px;margin:0 auto}.contact-section{margin-bottom:var(--space-10)}.contact-section h2{margin-bottom:var(--space-6)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.contact-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;text-decoration:none;color:inherit;transition:all var(--transition-fast)}.contact-card:hover{border-color:var(--color-green-primary);box-shadow:var(--shadow-md);text-decoration:none}.contact-icon{width:56px;height:56px;background-color:var(--color-gray-lighter);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);color:var(--color-green-primary)}.contact-card h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}.contact-card p{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-3)}.contact-link{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-heading);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--color-green-primary)}.faq-section{margin-bottom:var(--space-10)}.faq-section h2{margin-bottom:var(--space-6)}.faq-list{display:flex;flex-direction:column;gap:var(--space-3)}.faq-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.faq-question{padding:var(--space-4) var(--space-5);font-family:var(--font-heading);font-weight:var(--font-medium);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";font-size:var(--text-xl);color:var(--color-text-muted);transition:transform var(--transition-fast)}.faq-item[open] .faq-question:after{content:"−"}.faq-item[open] .faq-question{border-bottom:1px solid var(--color-border)}.faq-answer{padding:var(--space-4) var(--space-5);color:var(--color-text-secondary);line-height:1.7;margin-bottom:0}.feedback-section{margin-bottom:var(--space-8)}.feedback-card{background:linear-gradient(135deg,var(--color-green-primary) 0%,#0F3526 100%);color:#fff;border-radius:var(--radius-lg);padding:var(--space-8);text-align:center}.feedback-card h2{color:#fff;margin-bottom:var(--space-3)}.feedback-card p{opacity:.9;max-width:500px;margin:0 auto var(--space-6)}.feedback-card .button{background-color:#fff;color:var(--color-green-primary);border-color:#fff}.feedback-card .button:hover:not(:disabled){background-color:var(--color-gray-lighter);border-color:var(--color-gray-lighter);color:var(--color-green-primary)}.feedback-card .button:disabled{opacity:.7;background-color:#ffffffe6;color:var(--color-green-primary);border-color:#ffffffe6}@media(max-width:768px){.contact-grid{grid-template-columns:1fr}.feedback-card{padding:var(--space-6)}}.help-page{max-width:900px;margin:0 auto}.help-section{margin-bottom:var(--space-12)}.section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-green-primary)}.section-header h2{margin:0;color:var(--color-text-primary)}.section-intro{color:var(--color-text-secondary);margin-bottom:var(--space-6);font-size:var(--text-lg);line-height:1.6}.help-card{padding:var(--space-6)}.help-card p{color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.help-card p:last-child{margin-bottom:0}.help-card h4{margin-bottom:var(--space-4);color:var(--color-text-primary)}.help-card ol,.help-card ul{color:var(--color-text-secondary);line-height:1.8;padding-left:var(--space-6);margin-bottom:var(--space-4)}.help-card ol:last-child,.help-card ul:last-child{margin-bottom:0}.help-card li{margin-bottom:var(--space-2)}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-top:var(--space-6)}.quick-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-gray-lighter);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text-primary);font-family:var(--font-heading);transition:all var(--transition-fast)}.quick-link:hover{background-color:var(--color-green-primary);color:#fff;text-decoration:none}.quick-link svg{flex-shrink:0}.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin-bottom:var(--space-6)}.comparison-card{padding:var(--space-6)}.comparison-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.comparison-header h3{margin:0;font-size:var(--text-xl)}.debit-card .comparison-header{color:var(--color-negative)}.credit-card .comparison-header,.activo-card .comparison-header,.activo-header{color:var(--color-positive)}.pasivo-card .comparison-header,.pasivo-header{color:var(--color-negative)}.comparison-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-5)}.comparison-effects{margin-bottom:var(--space-5)}.comparison-effects h4,.comparison-examples h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.comparison-effects ul{list-style:none;padding:0;margin:0}.comparison-effects li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-sm)}.effect-type{font-family:var(--font-heading);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.effect-type.activo{background-color:#174d381a;color:var(--color-positive)}.effect-type.pasivo{background-color:#4d17171a;color:var(--color-negative)}.effect-arrow{color:var(--color-text-muted)}.effect-result{font-weight:var(--font-medium)}.effect-result.positive{color:var(--color-positive)}.effect-result.negative{color:var(--color-negative)}.comparison-examples ul{list-style:disc;padding-left:var(--space-5);margin:0;color:var(--color-text-secondary);line-height:1.7}.comparison-examples li{margin-bottom:var(--space-1)}.key-point{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-align:center;font-family:var(--font-heading)}.positive-point{background-color:#174d381a;color:var(--color-positive)}.negative-point{background-color:#4d17171a;color:var(--color-negative)}.tip-card{padding:var(--space-5);background-color:var(--color-surface);border-left:4px solid var(--color-green-primary)}.tip-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--color-green-primary)}.tip-header h4{margin:0;color:var(--color-green-primary)}.tip-card p{color:var(--color-text-secondary);line-height:1.7;margin:0}.tip-card ul{list-style:disc;padding-left:var(--space-5);margin:0;color:var(--color-text-secondary);line-height:1.8}.tip-card li{margin-bottom:var(--space-1)}.formula-card{padding:var(--space-6);text-align:center}.formula-card h4{margin-bottom:var(--space-4)}.formula{display:flex;align-items:center;justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4);font-family:var(--font-heading);font-size:var(--text-lg)}.formula-item{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md)}.formula-item.positive{background-color:#174d381a;color:var(--color-positive)}.formula-item.negative{background-color:#4d17171a;color:var(--color-negative)}.formula-item.result{background-color:var(--color-gray-lighter);color:var(--color-text-primary);font-weight:var(--font-semibold)}.formula-operator{color:var(--color-text-muted);font-weight:var(--font-bold)}.formula-card p{color:var(--color-text-secondary);margin:0}.example-card{padding:var(--space-6)}.example-card h4{margin-bottom:var(--space-4)}.transfer-example{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.transfer-account{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background-color:var(--color-gray-lighter);border-radius:var(--radius-lg);min-width:160px}.account-label{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-text-secondary)}.account-change{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-semibold)}.account-change.positive{color:var(--color-positive)}.account-change.negative{color:var(--color-negative)}.transfer-arrow{color:var(--color-text-muted)}.example-note{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.transfer-steps{padding-left:var(--space-6);color:var(--color-text-secondary);line-height:1.8}.transfer-steps li{margin-bottom:var(--space-3)}.more-help-card{background:linear-gradient(135deg,var(--color-green-primary) 0%,#0F3526 100%);color:#fff;padding:var(--space-8);text-align:center}.more-help-card h2{color:#fff;margin-bottom:var(--space-3)}.more-help-card p{opacity:.9;max-width:500px;margin:0 auto var(--space-6)}.support-link{display:inline-block;font-family:var(--font-heading);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.03em;color:#fff;text-decoration:none;padding:var(--space-3) var(--space-6);background-color:#ffffff26;border-radius:var(--radius-md);transition:all var(--transition-fast)}.support-link:hover{background-color:#ffffff40;text-decoration:none}@media(max-width:768px){.comparison-grid,.quick-links{grid-template-columns:1fr}.formula{flex-direction:column;gap:var(--space-2)}.transfer-example{flex-direction:column}.transfer-arrow{transform:rotate(90deg)}.more-help-card{padding:var(--space-6)}}.portal-sidebar{position:fixed;top:0;left:0;height:100vh;width:260px;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-base)}.portal-sidebar.collapsed{width:72px}.portal-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border);min-height:64px}.portal-sidebar-logo{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-green-primary);text-decoration:none;white-space:nowrap;overflow:hidden}.portal-sidebar-logo:hover{text-decoration:none;color:var(--color-green-primary)}.portal-sidebar.collapsed .portal-sidebar-logo span{display:none}.portal-sidebar-collapse-btn{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.portal-sidebar-collapse-btn:hover{background-color:var(--color-gray-lighter)}.portal-sidebar.collapsed .portal-sidebar-header{justify-content:center;padding:var(--space-4) var(--space-2)}.portal-sidebar.collapsed .portal-sidebar-collapse-btn{margin:0}.portal-active-business{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);margin:var(--space-3) var(--space-3);background-color:var(--color-gray-lighter);border-radius:var(--radius-md);border-left:3px solid var(--color-green-primary)}.portal-business-info{display:flex;flex-direction:column;gap:var(--space-1);overflow:hidden}.portal-business-name{font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-business-nit{font-size:var(--text-xs);color:var(--color-text-secondary)}.portal-switch-btn{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-shrink:0}.portal-switch-btn:hover{background-color:var(--color-border);color:var(--color-text-primary)}.portal-switch-btn-collapsed{display:flex;align-items:center;justify-content:center;margin:var(--space-3) auto;padding:var(--space-2);background-color:var(--color-gray-lighter);border:none;border-radius:var(--radius-md);color:var(--color-green-primary);cursor:pointer;transition:all var(--transition-fast)}.portal-switch-btn-collapsed:hover{background-color:var(--color-border)}.portal-sidebar-nav{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-4) 0;overflow-y:auto}.portal-sidebar-nav-list{list-style:none;margin:0;padding:0}.portal-sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:var(--space-1) var(--space-2);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.03em}.portal-sidebar-nav-item:hover{background-color:var(--color-gray-lighter);color:var(--color-text-primary);text-decoration:none}.portal-sidebar-nav-item.active{background-color:var(--color-green-primary);color:#fff}.portal-sidebar-nav-item.active:hover{background-color:#0f3526}.portal-sidebar-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.portal-sidebar-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-sidebar.collapsed .portal-sidebar-nav-item{justify-content:center;padding:var(--space-3)}.portal-sidebar-nav-bottom{border-top:1px solid var(--color-border);padding-top:var(--space-4);margin-top:var(--space-4)}.portal-sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:var(--space-1) var(--space-2);color:var(--color-text-secondary)}.portal-sidebar.collapsed .portal-sidebar-user{justify-content:center;padding:var(--space-3)}.portal-sidebar-avatar{width:32px;height:32px}.portal-sidebar-mobile-toggle{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:101;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer;color:var(--color-text-primary)}.portal-sidebar-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:99}.portal-sidebar-close-btn{display:none;background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.portal-sidebar-close-btn:hover{background-color:var(--color-gray-lighter)}@media(max-width:768px){.portal-sidebar{transform:translate(-100%);width:280px;box-shadow:var(--shadow-lg)}.portal-sidebar.mobile-open{transform:translate(0)}.portal-sidebar.collapsed{width:280px}.portal-sidebar-mobile-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px}.portal-sidebar-overlay{display:block;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.portal-sidebar.mobile-open~.portal-sidebar-overlay{opacity:1;pointer-events:auto}.portal-sidebar-collapse-btn{display:none}.portal-sidebar-close-btn{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.portal-sidebar-nav-item{padding:var(--space-4);margin:var(--space-1) var(--space-3);font-size:var(--text-base)}.portal-sidebar-user{padding:var(--space-4);margin:var(--space-1) var(--space-3)}.portal-sidebar.collapsed .portal-sidebar-logo span{display:inline}.portal-sidebar.collapsed .portal-sidebar-nav-item{justify-content:flex-start;padding:var(--space-4)}.portal-sidebar.collapsed .portal-sidebar-nav-label{display:inline}.portal-sidebar.collapsed .portal-sidebar-user{justify-content:flex-start;padding:var(--space-4)}}.portal-layout{display:flex;min-height:100vh;background-color:var(--color-background)}.portal-main{flex:1;margin-left:260px;padding:var(--space-6);transition:margin-left var(--transition-base)}.portal-sidebar.collapsed~.portal-main{margin-left:72px}@media(max-width:768px){.portal-main{margin-left:0;padding:var(--space-4);padding-top:calc(var(--space-4) + 56px)}}.portal-guard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-4);color:var(--color-text-secondary);background-color:var(--color-background)}.portal-guard-loading .spinner{animation:spin 1s linear infinite;color:var(--color-green-primary)}.business-card-link{text-decoration:none;color:inherit;display:block}.business-card{position:relative;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:box-shadow var(--transition-fast),border-color var(--transition-fast);cursor:pointer}.business-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-green-primary)}.business-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.business-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background-color:#174d381a;color:var(--color-green-primary)}.business-card-actions{display:flex;gap:var(--space-1)}.business-card-info{display:flex;flex-direction:column;gap:var(--space-1)}.business-card-name{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;color:var(--color-text-primary)}.business-card-nit,.business-card-nrc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.business-card-stats{display:flex;gap:var(--space-4);margin-top:var(--space-2)}.business-card-stat{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.business-card-role-badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em}.business-card-role-badge.admin{background-color:var(--color-success-bg);color:var(--color-success)}.business-card-role-badge.member{background-color:var(--color-gray-lighter);color:var(--color-text-secondary)}@media(max-width:768px){.business-card{padding:var(--space-4)}.business-card-actions{position:absolute;top:var(--space-3);right:var(--space-3)}.business-card-icon{width:40px;height:40px}.business-card-stats{flex-direction:column;gap:var(--space-1)}}.business-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.business-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;overflow-y:auto}.business-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border);gap:var(--space-3)}.business-modal-header h3{margin:0;font-size:var(--text-xl);flex:1}.business-modal-content form{padding:var(--space-5)}.business-modal-content .form-group{margin-bottom:var(--space-4);flex:1}.business-modal-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.business-modal-content .form-group input{width:100%}.business-modal-content .form-hint{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.business-modal-content .form-row{display:flex;gap:var(--space-4)}.business-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}@media(max-width:768px){.business-modal-overlay{padding:0;align-items:flex-end}.business-modal-content{max-width:none;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.business-modal-header,.business-modal-content form{padding:var(--space-4)}.business-modal-content .form-row{flex-direction:column;gap:0}.business-modal-actions{flex-direction:column-reverse}.business-modal-actions .btn{width:100%}}.member-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.member-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.member-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border);gap:var(--space-3)}.member-modal-header h3{margin:0;font-size:var(--text-xl);flex:1}.member-modal-content form{padding:var(--space-5)}.member-modal-content .form-group{margin-bottom:var(--space-4)}.member-modal-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.member-modal-content .form-group input,.member-modal-content .form-group select{width:100%}.member-modal-content .form-hint{margin:var(--space-2) 0 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.member-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}@media(max-width:768px){.member-modal-overlay{padding:0;align-items:flex-end}.member-modal-content{max-width:none;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.member-modal-header,.member-modal-content form{padding:var(--space-4)}.member-modal-actions{flex-direction:column-reverse}.member-modal-actions .btn{width:100%}}.dte-table-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.dte-table-wrapper{overflow-x:auto}.dte-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dte-table th,.dte-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.dte-table th{background-color:var(--color-surface-secondary);font-weight:var(--font-semibold);color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.dte-table th.text-right{text-align:right}.dte-table .dte-files-header{text-align:right;min-width:100px}.dte-table tbody tr:hover{background-color:var(--color-surface-hover)}.dte-table tbody tr:last-child td{border-bottom:none}.dte-tipo-badge{display:inline-block;padding:var(--space-1) var(--space-2);background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap}.dte-control{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}.dte-emisor{display:flex;flex-direction:column;gap:var(--space-1)}.dte-emisor-nombre{font-weight:var(--font-medium);color:var(--color-text-primary)}.dte-emisor-nit{font-size:var(--text-xs);color:var(--color-text-muted)}.dte-amount{font-family:var(--font-mono);text-align:right;white-space:nowrap}.dte-total{font-weight:var(--font-semibold);color:var(--color-text-primary)}.dte-clasificacion-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.dte-clasificacion-badge.compra{background-color:var(--color-error-bg);color:var(--color-error)}.dte-clasificacion-badge.venta{background-color:var(--color-success-bg);color:var(--color-success)}.dte-clasificacion-badge.liquidacion{background-color:var(--color-warning-bg);color:var(--color-warning)}.dte-files-col{text-align:right;min-width:100px}.dte-actions{display:inline-flex;gap:var(--space-1);justify-content:flex-end}.dte-table-empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.dte-table-pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-top:1px solid var(--color-border);background-color:var(--color-surface-secondary)}.pagination-info{font-size:var(--text-sm);color:var(--color-text-secondary)}.pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.pagination-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page{font-size:var(--text-sm);color:var(--color-text-secondary)}.dte-checkbox-col{width:40px;text-align:center}.dte-checkbox-col input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.dte-checkbox-col input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.dte-table tbody tr.selected,.dte-table tbody tr.selected:hover{background-color:var(--color-primary-bg)}.dte-bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background-color:var(--color-primary-bg);border-bottom:1px solid var(--color-primary-light)}.bulk-info{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary)}.bulk-buttons{display:flex;gap:var(--space-2)}@media(max-width:768px){.dte-table th,.dte-table td{padding:var(--space-2) var(--space-3)}.dte-table-pagination{flex-direction:column;gap:var(--space-3)}.pagination-controls{width:100%;justify-content:space-between}.dte-bulk-actions{flex-direction:column;gap:var(--space-2);align-items:flex-start}.bulk-buttons{width:100%;flex-wrap:wrap}.bulk-buttons .button{flex:1;min-width:120px}}.dte-upload-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.dte-upload-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.dte-upload-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border);gap:var(--space-3)}.dte-upload-modal-header h3{margin:0;font-size:var(--text-xl);flex:1}.dte-upload-modal-content form{padding:var(--space-5)}.dte-upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface-secondary);cursor:pointer;transition:all .2s ease}.dte-upload-dropzone:hover{border-color:var(--color-primary);background-color:var(--color-surface-hover)}.dropzone-icon{color:var(--color-text-muted);margin-bottom:var(--space-3)}.dropzone-text{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.dropzone-hint{margin:var(--space-1) 0 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.dte-upload-divider{display:flex;align-items:center;margin:var(--space-4) 0;color:var(--color-text-muted);font-size:var(--text-sm)}.dte-upload-divider:before,.dte-upload-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.dte-upload-divider span{padding:0 var(--space-3)}.dte-upload-modal-content .form-group{margin-bottom:var(--space-4)}.dte-upload-modal-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.dte-upload-modal-content .form-group textarea{width:100%;font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical;min-height:200px}.upload-result{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.upload-result.success{background-color:var(--color-success-bg);color:var(--color-success)}.upload-result.error{background-color:var(--color-error-bg);color:var(--color-error)}.dte-preview{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.dte-preview-info{display:flex;flex-direction:column;gap:var(--space-1)}.dte-preview-label{font-size:var(--text-xs);color:var(--color-text-muted)}.dte-preview-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary)}.dte-upload-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}@media(max-width:768px){.dte-upload-modal-overlay{padding:0;align-items:flex-end}.dte-upload-modal-content{max-width:none;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}.dte-upload-modal-header,.dte-upload-modal-content form{padding:var(--space-4)}.dte-upload-modal-actions{flex-direction:column-reverse}.dte-upload-modal-actions .btn{width:100%}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.business-select-page{min-height:100vh;background-color:var(--color-background);display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.business-select-page.loading,.business-select-page.error{flex-direction:column;gap:var(--space-4);color:var(--color-text-secondary)}.business-select-page .spinner{animation:spin 1s linear infinite;color:var(--color-green-primary)}.business-select-container{width:100%;max-width:600px;display:flex;flex-direction:column;gap:var(--space-6)}.business-select-header{text-align:center;color:var(--color-text-primary)}.business-select-header .header-icon{color:var(--color-green-primary);margin-bottom:var(--space-4)}.business-select-header h1{font-family:var(--font-heading);font-size:var(--text-3xl);margin:0 0 var(--space-2) 0}.business-select-header p{color:var(--color-text-secondary);margin:0;font-size:var(--text-base)}.business-select-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-8);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center}.empty-message{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.empty-message .empty-icon{color:var(--color-text-secondary)}.empty-message h2{color:var(--color-text-primary);margin:0;font-size:var(--text-xl)}.empty-message p{color:var(--color-text-secondary);margin:0;max-width:400px}.business-list{display:flex;flex-direction:column;gap:var(--space-3)}.business-select-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.business-select-card:hover{border-color:var(--color-green-primary);background-color:var(--color-gray-lighter);transform:translate(4px)}.business-card-icon{width:56px;height:56px;border-radius:var(--radius-md);background-color:#11442d1a;color:var(--color-green-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.business-card-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1);overflow:hidden}.business-card-name{font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--text-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-card-nit{font-size:var(--text-sm);color:var(--color-text-secondary)}.business-card-stats{display:flex;gap:var(--space-4);margin-top:var(--space-1)}.business-card-stats span{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.business-card-role{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.role-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase}.role-badge.admin{background-color:#11442d1a;color:var(--color-green-primary)}.role-badge.member{background-color:var(--color-gray-lighter);color:var(--color-text-secondary)}.chevron{color:var(--color-text-secondary);transition:transform .2s ease}.business-select-card:hover .chevron{color:var(--color-green-primary);transform:translate(4px)}.create-business-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;width:100%}.create-business-btn.primary{background-color:var(--color-green-primary);color:#fff;border:none}.create-business-btn.primary:hover{background-color:#0f3526}.create-business-btn.secondary{background-color:transparent;color:var(--color-text-secondary);border:1px dashed var(--color-border)}.create-business-btn.secondary:hover{border-color:var(--color-green-primary);color:var(--color-green-primary);background-color:#11442d0d}.back-to-personal{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);transition:color .2s ease;padding:var(--space-3)}.back-to-personal:hover{color:var(--color-text-primary)}.back-link{display:flex;align-items:center;gap:var(--space-2);color:var(--color-green-primary);text-decoration:none}.back-link:hover{text-decoration:underline}@media(max-width:768px){.business-select-page{padding:var(--space-4);align-items:flex-start;padding-top:var(--space-10)}.business-select-header h1{font-size:var(--text-2xl)}.business-select-card{flex-wrap:wrap}.business-card-role{width:100%;justify-content:space-between;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}}.portal-dashboard-page{max-width:1200px;margin:0 auto;color:var(--color-text-primary)}.portal-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.portal-dashboard-header .header-info h1{font-family:var(--font-heading);font-size:var(--text-2xl);margin:0 0 var(--space-1) 0;color:var(--color-text-primary)}.portal-dashboard-header .header-info p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.portal-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.portal-monthly-summary{margin-bottom:var(--space-6)}.portal-monthly-summary h2{font-size:var(--text-lg);margin:0 0 var(--space-4) 0;color:var(--color-text-primary)}.monthly-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4)}.monthly-card{padding:var(--space-5);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-2);background-color:var(--color-surface);border:1px solid var(--color-border)}.monthly-card.compras{border-left:4px solid var(--color-red)}.monthly-card.ventas{border-left:4px solid var(--color-green-primary)}.monthly-card.liquidaciones{border-left:4px solid var(--color-warning)}.monthly-label{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.monthly-value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold)}.monthly-card.compras .monthly-value{color:var(--color-red)}.monthly-card.ventas .monthly-value{color:var(--color-green-primary)}.monthly-card.liquidaciones .monthly-value{color:var(--color-warning)}.portal-quick-actions h2{font-size:var(--text-lg);margin:0 0 var(--space-4) 0;color:var(--color-text-primary)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.quick-action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.quick-action-card:hover{border-color:var(--color-green-primary);color:var(--color-text-primary);background-color:var(--color-gray-lighter);transform:translateY(-2px)}.quick-action-card span{font-size:var(--text-sm);font-weight:var(--font-medium)}@media(max-width:768px){.portal-dashboard-header{flex-direction:column}.portal-dashboard-header .btn{width:100%}.portal-dashboard-header .header-info h1{font-size:var(--text-xl)}}.portal-dtes-page{max-width:1400px;margin:0 auto;color:var(--color-text-primary)}.portal-dtes-page .portal-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.portal-dtes-page .header-info h1{font-family:var(--font-heading);font-size:var(--text-2xl);margin:0 0 var(--space-1) 0;color:var(--color-text-primary)}.portal-dtes-page .header-info p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.portal-dtes-page .header-actions{display:flex;align-items:center;gap:var(--space-3)}.portal-dtes-page .periodo-selector{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.portal-dtes-page .periodo-selector input[type=month]{padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm)}.portal-dtes-page .periodo-selector input[type=month]:focus{outline:none;border-color:var(--color-green-primary)}.tab-content{min-height:400px}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.tab-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.export-buttons{display:flex;gap:var(--space-2)}.resumen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.resumen-card{padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-1)}.resumen-card.highlight{border-color:var(--color-red);background-color:var(--color-error-bg)}.resumen-card.highlight.ventas{border-color:var(--color-green-primary);background-color:var(--color-success-bg)}.resumen-card.highlight.liquidacion{border-color:var(--color-warning);background-color:var(--color-warning-bg)}.resumen-label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.resumen-value{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.resumen-card.highlight .resumen-value{color:var(--color-red)}.resumen-card.highlight.ventas .resumen-value{color:var(--color-green-primary)}.resumen-card.highlight.liquidacion .resumen-value{color:var(--color-warning)}.resumen-value.negative{color:var(--color-red)}.table-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{background-color:var(--color-surface-secondary);font-weight:var(--font-semibold);color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.data-table tbody tr:hover{background-color:var(--color-surface-hover)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tfoot tr{background-color:var(--color-surface-secondary)}.data-table tfoot td{border-bottom:none}.data-table .mono{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}.data-table .amount{font-family:var(--font-mono);text-align:right;white-space:nowrap}.data-table .amount.total{font-weight:var(--font-semibold);color:var(--color-text-primary)}.data-table .amount.negative{color:var(--color-red)}.entity-name{display:block;font-weight:var(--font-medium);color:var(--color-text-primary)}.entity-nit{display:block;font-size:var(--text-xs);color:var(--color-text-muted)}.tipo-badge{display:inline-block;padding:var(--space-1) var(--space-2);background-color:var(--color-gray-lighter);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap}.tipo-badge.venta{background-color:var(--color-success-bg);color:var(--color-success)}.ccf-link{display:inline-block;padding:var(--space-1) var(--space-2);background-color:var(--color-primary-bg);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-primary);cursor:help}.no-ccf{color:var(--color-text-muted)}.documents-section{margin-top:var(--space-6)}.documents-section h3{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-4) 0;color:var(--color-text-primary)}.empty-state,.loading-state{padding:var(--space-8);text-align:center;color:var(--color-text-muted);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}@media(max-width:768px){.portal-dtes-page .portal-page-header{flex-direction:column}.portal-dtes-page .header-actions{width:100%;flex-direction:column}.portal-dtes-page .periodo-selector{width:100%}.portal-dtes-page .periodo-selector input[type=month]{flex:1}.portal-dtes-page .header-actions .btn{width:100%}.tab-header{flex-direction:column;gap:var(--space-3);align-items:flex-start}.export-buttons{width:100%;flex-direction:column}.export-buttons .btn{width:100%}.resumen-grid{grid-template-columns:repeat(2,1fr)}.table-container{overflow-x:auto}.data-table th,.data-table td{padding:var(--space-2) var(--space-3)}}.portal-members-page{max-width:900px;margin:0 auto;color:var(--color-text-primary)}.portal-members-page .portal-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.portal-members-page .header-info h1{font-family:var(--font-heading);font-size:var(--text-2xl);margin:0 0 var(--space-1) 0;color:var(--color-text-primary)}.portal-members-page .header-info p{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.portal-members-page .members-list{display:flex;flex-direction:column;gap:var(--space-3)}.portal-members-page .member-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color .2s ease}.portal-members-page .member-card:hover{border-color:var(--color-green-primary)}.portal-members-page .member-info{display:flex;align-items:center;gap:var(--space-3)}.portal-members-page .member-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-green-primary) 0%,#0F3526 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:var(--text-lg);flex-shrink:0}.portal-members-page .member-details{display:flex;flex-direction:column;gap:var(--space-1)}.portal-members-page .member-name{font-weight:var(--font-medium);color:var(--color-text-primary);font-size:var(--text-base)}.portal-members-page .member-email{font-size:var(--text-sm);color:var(--color-text-secondary)}.portal-members-page .member-actions{display:flex;align-items:center;gap:var(--space-2)}.portal-members-page .member-role-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.portal-members-page .member-role-badge.admin{background-color:#11442d1a;color:var(--color-green-primary)}.portal-members-page .member-role-badge.member{background-color:var(--color-gray-lighter);color:var(--color-text-secondary)}@media(max-width:768px){.portal-members-page .portal-page-header{flex-direction:column}.portal-members-page .portal-page-header .btn{width:100%}.portal-members-page .member-card{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.portal-members-page .member-actions{width:100%;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--color-border)}}.portal-settings-page{padding:var(--space-6);max-width:800px}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--color-text-muted)}.settings-loading .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-section{margin-bottom:var(--space-6)}.settings-card{padding:var(--space-6)}.settings-card-header{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.settings-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0}.settings-card-title h2{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);font-weight:var(--font-semibold)}.settings-card-title p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.settings-card-content .form-group{margin-bottom:var(--space-4);flex:1}.settings-card-content .form-group label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);font-size:var(--text-sm)}.settings-card-content .form-group input{width:100%}.settings-card-content .form-group input:disabled{background-color:var(--color-surface-secondary);cursor:not-allowed;opacity:.7}.settings-card-content .form-hint{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.settings-card-content .form-row{display:flex;gap:var(--space-4)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}.success-message{display:flex;align-items:center;gap:var(--space-2);color:var(--color-success);font-size:var(--text-sm);font-weight:var(--font-medium)}.settings-actions .spinner{animation:spin 1s linear infinite}.settings-readonly-notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-md);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.info-card{padding:var(--space-5)}.info-card h3{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:#fff}.info-card ul{margin:0;padding-left:var(--space-5)}.info-card li{margin-bottom:var(--space-2);font-size:var(--text-sm);line-height:1.5;color:#ffffffd9}.info-card li:last-child{margin-bottom:0}.info-card li strong{color:#fff}@media(max-width:768px){.portal-settings-page,.settings-card{padding:var(--space-4)}.settings-card-header{flex-direction:column;gap:var(--space-3)}.settings-card-content .form-row{flex-direction:column;gap:0}.settings-actions{flex-direction:column;align-items:stretch}.success-message{justify-content:center}}
