.login-container{min-height:100vh;display:grid;grid-template-columns:3fr 2fr}.login-brand{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-tertiary) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}.login-brand-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.login-brand-orb{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 32%,rgba(255,255,255,.55) 0%,rgba(255,255,255,.22) 38%,rgba(255,255,255,.06) 62%,transparent 78%);filter:blur(36px);mix-blend-mode:screen;will-change:transform,opacity}.login-brand-orb--1{width:min(62vw,480px);height:min(62vw,480px);top:-14%;left:-10%;animation:login-orb-float-a 18s ease-in-out infinite}.login-brand-orb--2{width:min(56vw,420px);height:min(56vw,420px);bottom:-12%;right:-8%;animation:login-orb-float-b 22s ease-in-out infinite;animation-delay:-6s}.login-brand-orb--3{width:min(50vw,360px);height:min(50vw,360px);top:18%;right:2%;left:auto;animation:login-orb-float-c 16s ease-in-out infinite;animation-delay:-11s}@keyframes login-orb-float-a{0%,to{transform:translate(0) scale(1);opacity:.55}20%{transform:translate(38%,28%) scale(1.2);opacity:1}45%{transform:translate(18%,55%) scale(.88);opacity:.28}70%{transform:translate(-28%,32%) scale(1.1);opacity:.88}}@keyframes login-orb-float-b{0%,to{transform:translate(0) scale(1.08);opacity:.42}25%{transform:translate(-42%,-22%) scale(.82);opacity:1}50%{transform:translate(-12%,-48%) scale(1.28);opacity:.22}75%{transform:translate(-32%,14%) scale(.98);opacity:.78}}@keyframes login-orb-float-c{0%,to{transform:translate(0) scale(.92);opacity:.38}30%{transform:translate(-58%,48%) scale(1.25);opacity:.98}55%{transform:translate(28%,-42%) scale(.78);opacity:.18}80%{transform:translate(-38%,22%) scale(1.12);opacity:.72}}.login-brand-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-logo{width:min(240px,52vw);max-width:100%;-o-object-fit:contain;object-fit:contain;margin-bottom:28px;filter:brightness(0) invert(1)}.login-brand-tagline{font-size:clamp(17px,2.1vw,22px);color:#ffffffe0;font-weight:500;text-align:center;letter-spacing:.03em;line-height:1.45;max-width:min(420px,90vw)}.login-panel{background:#fff;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:64px 52px}.login-app-label{font-size:11px;font-weight:700;color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.login-title{font-size:32px;font-weight:700;color:var(--text-primary);margin:0 0 36px;letter-spacing:-.5px;line-height:1.1}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.form-group input{padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:15px;transition:all var(--transition-base);outline:none;background-color:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-family)}.form-group input::-moz-placeholder{color:var(--text-light)}.form-group input::placeholder{color:var(--text-light)}.form-group input:focus{border-color:var(--color-primary);background-color:#fff;box-shadow:0 0 0 3px #0032ff14}.form-group input:disabled{opacity:.6;cursor:not-allowed}.login-button{background:var(--color-primary);color:#fff;border:none;padding:14px 24px;border-radius:var(--border-radius);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-base);margin-top:4px;font-family:var(--font-family);letter-spacing:.3px;width:100%}.login-button:hover:not(:disabled){background:var(--color-tertiary);transform:translateY(-1px);box-shadow:0 4px 16px #0032ff4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{background-color:#fef2f2;color:var(--color-error);padding:12px 16px;border-radius:var(--border-radius);font-size:13px;border:1px solid #fecaca}@media (max-width: 768px){.login-container{grid-template-columns:1fr}.login-brand{padding:40px 32px;min-height:220px}.login-logo{width:min(168px,48vw);margin-bottom:16px}.login-brand-tagline{font-size:16px}.login-panel{padding:40px 28px}.login-title{font-size:26px;margin-bottom:28px}}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--bg-secondary)}.sidebar{width:270px;background-color:var(--bg-sidebar);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100;box-shadow:2px 0 12px #0032ff12;transition:width .3s ease;padding:16px 0;overflow:hidden}.sidebar.collapsed{width:68px}.sidebar-header{display:flex;flex-direction:column;align-items:stretch;padding:0 8px;gap:16px;margin-bottom:48px}.sidebar-toggle-row{display:flex;justify-content:flex-end;width:100%}.sidebar-toggle-row.centered{justify-content:center}.sidebar-logo{display:flex;align-items:center;justify-content:center;width:100%}.sidebar-logo img{max-width:160px;height:auto;transition:opacity .2s ease}.sidebar.collapsed .sidebar-logo img{max-width:44px}.sidebar-toggle-button{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary);width:32px;height:32px;border-radius:8px;cursor:pointer;transition:color .2s ease;flex-shrink:0}.sidebar-toggle-button:hover{color:var(--text-primary)}.sidebar-nav{flex:1;padding:4px 8px 4px 0;display:flex;flex-direction:column;gap:2px;overflow-y:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:0 30px 30px 0;color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:background .2s ease,color .2s ease;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;font-family:var(--font-family);white-space:nowrap;overflow:hidden}.sidebar-nav-item.collapsed{justify-content:center;padding-left:0;padding-right:0}.sidebar-nav-item:hover:not(.active){background-color:#0032ff12;color:var(--text-primary)}.sidebar-nav-item.active{background:linear-gradient(90deg,#0032ff,#1890dc);color:#fff;font-weight:600}.sidebar-nav-dropdown.section-active{background:transparent;color:var(--text-primary);font-weight:600}.sidebar-nav-dropdown.section-active .sidebar-icon,.sidebar-nav-dropdown.section-active .sidebar-chevron{color:var(--text-primary)}.sidebar-icon{flex-shrink:0;color:var(--color-primary-light);transition:color .2s ease}.sidebar-icon.active{color:#fff}.sidebar-nav-item:hover:not(.active) .sidebar-icon{color:var(--color-primary)}.sidebar-tooltip{position:fixed;z-index:200;white-space:nowrap;background:var(--text-primary);color:var(--bg-primary);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;pointer-events:none;box-shadow:0 2px 8px #00000026}.sidebar-footer{padding:12px 8px 0 0;border-top:1px solid rgba(0,50,255,.12);display:flex;flex-direction:column;gap:2px}.sidebar-user-info{padding:4px 16px 8px;text-align:center}.user-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-item:hover{background-color:#ef444414!important;color:#ef4444!important}.logout-item:hover .sidebar-icon{color:#ef4444!important}.sidebar-chevron{flex-shrink:0;transition:transform .3s ease;color:var(--text-secondary)}.sidebar-nav-item.active .sidebar-chevron{color:#fff}.sidebar-chevron.rotated{transform:rotate(180deg)}.sidebar-dropdown-content{display:grid;grid-template-rows:0fr;opacity:0;transition:all .3s ease-in-out;will-change:grid-template-rows,opacity}.sidebar-dropdown-content.open{grid-template-rows:1fr;opacity:1}.sidebar-dropdown-content.closed{grid-template-rows:0fr;opacity:0;pointer-events:none}.sidebar-dropdown-inner{overflow:hidden;min-height:0}.sidebar-nav-subitem{padding-left:36px;font-size:.8125rem;padding-right:12px}.sidebar-nav-subitem.collapsed{padding-left:0}.sidebar-nav-subitem span{overflow:hidden;text-overflow:ellipsis}.dashboard-main{flex:1;margin-left:270px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .3s ease}.dashboard-main.collapsed{margin-left:68px}.dashboard-header{background:var(--bg-header);padding:var(--spacing-md) var(--spacing-xl);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10;min-height:var(--dashboard-header-height);box-sizing:border-box}.header-title{margin:0;font-size:var(--font-size-2xl);color:var(--text-primary);font-weight:600;letter-spacing:-.3px}.header-time{font-size:var(--font-size-base);color:var(--text-primary);font-weight:500;padding:8px 12px;background:var(--bg-primary);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.dashboard-content-wrapper{flex:1;padding:var(--spacing-lg);overflow-y:auto;background-color:var(--bg-sidebar)}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform var(--transition-base);width:260px}.sidebar.collapsed{width:260px}.sidebar.open{transform:translate(0)}.dashboard-main{margin-left:0}.dashboard-header{padding:var(--spacing-md)}.header-title{font-size:var(--font-size-xl)}.dashboard-content-wrapper{padding:var(--spacing-md)}}.dashboard-container{min-height:100vh;background-color:var(--bg-secondary);display:flex;flex-direction:column}.dashboard-header{background:var(--bg-header);padding:var(--spacing-md) var(--spacing-xl);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.dashboard-header h1{margin:0;font-size:var(--font-size-2xl);color:var(--text-primary);font-weight:600;letter-spacing:-.3px}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.time-display{font-size:var(--font-size-base);color:var(--text-secondary);font-weight:500;padding:8px 12px;background:var(--bg-primary);border-radius:var(--border-radius);border:1px solid var(--border-color)}.logout-button{background-color:var(--color-error);color:var(--text-white);border:none;padding:10px var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family);letter-spacing:.2px}.logout-button:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.logout-button:active{transform:translateY(0)}.dashboard-content{max-width:1800px;width:100%;margin:var(--spacing-lg) auto;padding:0 var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.welcome-bar{background:var(--bg-primary);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.welcome-info{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.welcome-greeting{font-size:var(--font-size-base);font-weight:600;letter-spacing:-.2px;color:var(--text-primary)}.welcome-email{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:400}.welcome-bar .user-role{flex-shrink:0}.user-role{margin:0;font-size:var(--font-size-xs);text-transform:uppercase;font-weight:600;letter-spacing:.5px;display:inline-block;padding:4px 10px;background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--border-radius);border:1px solid var(--border-color)}.info-card{background:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.info-card h3{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.2px}.info-card p{margin:var(--spacing-sm) 0;color:var(--text-secondary);line-height:1.6;font-size:var(--font-size-base)}.charts-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,3fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.chart-card{background:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);min-height:360px;display:flex;flex-direction:column}.chart-card--evolucion{justify-content:center}.chart-title{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.2px}.no-data{display:flex;align-items:center;justify-content:center;min-height:320px;color:var(--text-secondary);font-size:var(--font-size-base)}.chart-card--resumen{display:flex;flex-direction:column}.chart-card--resumen .chart-title{flex-shrink:0}.resumen-metricas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-lg)}.dashboard-resumen-table{width:100%;border-collapse:collapse;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);font-size:var(--font-size-sm)}.dashboard-resumen-table thead tr{background:var(--bg-secondary)}.dashboard-resumen-table th{padding:8px 12px;font-weight:700;color:var(--text-primary);font-size:var(--font-size-sm);text-align:center;border-bottom:2px solid var(--border-color);border-right:1px solid var(--border-color);white-space:nowrap}.dashboard-resumen-table th:last-child{border-right:none}.dashboard-resumen-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);vertical-align:middle}.dashboard-resumen-table td:last-child{border-right:none}.dashboard-resumen-table tbody tr:last-child td{border-bottom:none}.dashboard-resumen-table .resumen-th--narrow{font-size:11px;white-space:normal;line-height:1.3}.resumen-td-label{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-xs, 11px);display:block;margin-bottom:2px}.resumen-td-value{font-weight:700;color:var(--text-primary);font-size:var(--font-size-base);letter-spacing:-.02em;display:block}.resumen-td-value--total{font-size:var(--font-size-lg);color:var(--color-primary, #3b82f6)}.resumen-tr--total td{background:var(--bg-primary)}.resumen-td-value--semanas-detail{display:block;font-size:10px;font-weight:500;color:var(--text-secondary);margin-top:2px;white-space:nowrap}.resumen-td-empty{background:var(--bg-primary)}.resumen-td-center{text-align:center}.resumen-td-value--alerta{color:#ef4444}.resumen-td-value--ok{color:#10b981}.resumen-th--narrow{font-size:11px;white-space:normal;line-height:1.3}.resumen-td-alerta{background:#ef44440d}.resumen-td-ok{background:#10b9811a}.resumen-tr--total .resumen-td-alerta{background:#ef444414}.resumen-tr--total .resumen-td-ok{background:#10b98129}.resumen-tr--forecast td{background:var(--bg-primary)}.resumen-td-value--clickable{cursor:pointer;color:var(--color-primary, #3b82f6);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.resumen-td-value--clickable:hover{color:var(--color-primary-dark, #1d4ed8)}.dashboard-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:40;padding:var(--spacing-md)}.dashboard-modal{background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg, 0 20px 40px rgba(15, 23, 42, .35));border:1px solid var(--border-color);max-width:640px;width:100%;max-height:80vh;display:flex;flex-direction:column}.dashboard-modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.dashboard-modal-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.dashboard-modal-close{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:var(--text-secondary);padding:4px 6px;border-radius:999px}.dashboard-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.dashboard-modal-body{padding:var(--spacing-md) var(--spacing-lg);overflow:auto}.dashboard-modal-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.dashboard-modal-table th,.dashboard-modal-table td{padding:8px 10px;border-bottom:1px solid var(--border-color);text-align:left}.dashboard-modal-table thead tr{background:var(--bg-secondary)}.dashboard-modal-table tfoot tr{background:var(--bg-secondary);font-weight:700}.dashboard-modal-empty{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.dashboard-modal-footer{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.dashboard-modal-close-button{border:none;background:var(--color-primary, #3b82f6);color:var(--text-white);padding:8px 16px;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.dashboard-modal-close-button:hover{background:var(--color-primary-dark, #1d4ed8)}.recent-movements-card{background:var(--bg-primary);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.card-title{margin:0 0 var(--spacing-md) 0;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.2px}.recent-movements-card .current-rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-sm)}.recent-movements-card .rate-card{height:100%}.movements-table{overflow-x:auto}.movements-table table{width:100%;border-collapse:collapse}.movements-table thead{background:var(--bg-secondary)}.movements-table th{padding:var(--spacing-md);text-align:left;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.movements-table td{padding:var(--spacing-md);font-size:var(--font-size-base);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.movements-table tbody tr:hover{background:var(--bg-secondary)}.amount-positive{color:#10b981;font-weight:600}.amount-negative{color:#ef4444;font-weight:600}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.current-week-balance-card{background:var(--bg-primary);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.current-week-balance-card .card-title{margin:0;padding-bottom:var(--spacing-sm);border-bottom:3px solid var(--color-primary);color:var(--text-primary)}.current-week-balance-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.current-week-balance-summary{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius)}.current-week-balance-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-sm)}@media (max-width: 1200px){.current-week-balance-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.current-week-balance-grid{grid-template-columns:1fr}}.current-week-balance-item{border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);border:1px solid var(--border-color);border-left-width:4px;background:var(--bg-primary);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.current-week-balance-item:hover{box-shadow:var(--shadow-md)}.current-week-balance-item--0{border-left-color:#3b82f6;background:linear-gradient(135deg,rgba(59,130,246,.08) 0%,var(--bg-primary) 100%)}.current-week-balance-item--1{border-left-color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.08) 0%,var(--bg-primary) 100%)}.current-week-balance-item--2{border-left-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.08) 0%,var(--bg-primary) 100%)}.current-week-balance-item--3{border-left-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.08) 0%,var(--bg-primary) 100%)}.current-week-balance-item--4{border-left-color:#8b5cf6;background:linear-gradient(135deg,rgba(139,92,246,.08) 0%,var(--bg-primary) 100%)}.current-week-balance-item-title{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);letter-spacing:.02em}.current-week-balance-item-amounts{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.current-week-balance-item-amount{display:flex;flex-direction:column;gap:1px;padding:2px 0}.current-week-balance-item-amount--usd .current-week-balance-item-value{color:#1e40af}.current-week-balance-item-amount--bs .current-week-balance-item-value{color:var(--color-primary-dark)}.current-week-balance-item-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:600}.current-week-balance-item-value{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.status-badge.status-real{background:#d1fae5;color:#065f46}.status-badge.status-estimado{background:#fef3c7;color:#92400e}.status-badge.status-proyeccion{background:#dbeafe;color:#1e40af}.loading-container,.error-container{display:flex;align-items:center;justify-content:center;min-height:400px;background:var(--bg-primary);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.error-container{color:var(--color-error)}@media (max-width: 1024px){.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-header{padding:var(--spacing-md) var(--spacing-md);flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.dashboard-content{padding:0 var(--spacing-md);margin:var(--spacing-lg) auto}.welcome-bar{padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;align-items:flex-start}.welcome-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.welcome-greeting{font-size:var(--font-size-lg)}.charts-grid{grid-template-columns:1fr}.movements-table{font-size:var(--font-size-sm)}.movements-table th,.movements-table td{padding:var(--spacing-sm)}}.tasas-cambio-page{width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.tasas-cambio-layout{display:grid;grid-template-columns:minmax(260px,18%) minmax(0,82%);gap:var(--spacing-xl);align-items:stretch}.page-header-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md)}.update-button{background-color:var(--primary-action);color:#fff;border:none;padding:8px 16px;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .15s ease;font-family:var(--font-family);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-shadow:0 1px 3px #0000001a;width:100%}.update-button:hover:not(:disabled){background-color:var(--primary-action-hover);transform:translateY(-1px);box-shadow:0 4px 8px #0000001f}.update-button:disabled{opacity:.6;cursor:not-allowed}.update-message{padding:var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:500}.update-message.success{background-color:var(--badge-success-bg);color:var(--badge-success-text);border:1px solid var(--badge-success-border)}.update-message.error{background-color:var(--badge-error-bg);color:var(--badge-error-text);border:1px solid var(--badge-error-border)}.current-rates-section,.historical-section{background:var(--bg-primary);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);height:100%;display:flex;flex-direction:column}.tasas-cambio-left-panel,.tasas-cambio-right-panel{width:100%}.current-rates-header{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.current-rates-header h2{margin:0}.current-rates-section h2,.historical-section h2{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);color:var(--text-primary);font-weight:600}.current-rates{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm)}.current-rates-empty{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.rate-card{background:var(--surface-elevated);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-lg);border:1px solid var(--border-subtle);transition:all .15s ease}.rate-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-action);transform:translateY(-2px)}.rate-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.rate-card-title{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600}.rate-card-indicator{width:12px;height:12px;border-radius:50%}.rate-card-value{font-size:var(--font-size-xl);font-weight:700;color:var(--primary-action);margin-bottom:var(--spacing-xs)}.rate-card-legend-row{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--spacing-xs);padding:2px 8px;border-radius:999px;background:var(--surface-input);border:1px solid var(--border-subtle)}.rate-card-legend-line{width:18px;height:3px;border-radius:999px;display:inline-block}.rate-card-legend-text{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:600}.rate-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--border-subtle)}.rate-card-date{font-size:var(--font-size-sm);color:var(--text-tertiary)}.rate-card-meta{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-tertiary)}.rate-card.loading{min-height:150px}.rate-card-skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(242,247,255,.8) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:loading 1.5s infinite;height:100%;border-radius:var(--border-radius)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.chart-filters{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.chart-filters-main-row{display:flex;gap:var(--spacing-md);flex-wrap:nowrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-group--types{flex:1 1 auto;min-width:0}.filter-group--time-range{flex:0 0 220px;min-width:220px}.filter-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.filter-select,.filter-input{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);background-color:var(--surface-input);color:var(--text-primary);outline:none;transition:all var(--transition-base)}.filter-select:focus,.filter-input:focus{border-color:var(--primary-action);box-shadow:0 0 0 3px #00499c1f}.custom-dates{display:flex;gap:var(--spacing-md)}.date-input-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.type-checkboxes{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.select-all-button{padding:8px 12px;border:1px solid var(--border-subtle);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:500;background-color:var(--surface-elevated);color:var(--primary-action);cursor:pointer;transition:all .15s ease;font-family:var(--font-family);align-self:flex-start}.select-all-button:hover{background-color:var(--surface-elevated);border-color:var(--primary-action);transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--surface-elevated);border-radius:var(--border-radius);border:1px solid var(--border-subtle)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-action)}.checkbox-label:hover{color:var(--primary-action)}.chart-container{background:var(--surface-elevated);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);border:1px solid var(--border-subtle);min-height:400px;width:100%;position:relative;display:flex;flex-direction:column}.chart-container>div{flex:1;min-height:400px}.chart-container.empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.chart-container.loading{display:flex;align-items:center;justify-content:center}.chart-skeleton{width:100%;height:400px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(242,247,255,.8) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--border-radius)}.chart-tooltip{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow-lg)}.tooltip-label{font-weight:600;margin-bottom:var(--spacing-xs);color:var(--text-primary)}@media (max-width: 768px){.tasas-cambio-layout{grid-template-columns:1fr;gap:var(--spacing-lg)}.chart-filters{flex-direction:column}.chart-filters-main-row{flex-direction:column;flex-wrap:wrap;margin-bottom:0;align-items:stretch}.filter-group--types,.filter-group--time-range{min-width:0;flex:1 1 auto}.custom-dates{flex-direction:column}.current-rates-section,.historical-section{padding:var(--spacing-lg)}}@media (max-width: 1200px){.tasas-cambio-layout{grid-template-columns:1fr}}.cuentas-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cuentas-tab-button{border-bottom:2px solid transparent;padding:8px 12px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);background:transparent;border-left:none;border-right:none;border-top:none;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.cuentas-tab-button:hover{background-color:color-mix(in srgb,var(--surface-input) 70%,transparent);color:var(--text-primary)}.cuentas-tab-button.active{border-bottom-color:var(--primary-action);color:var(--primary-action);background-color:var(--surface-input);border-top-left-radius:8px;border-top-right-radius:8px}.cuentas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.view-toggle-btn.active{background:var(--card-bg);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;padding:12px 24px;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.btn-primary:hover{background-color:var(--btn-primary-hover-bg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary)}.form-content{background:var(--modal-bg);border-radius:16px;border:1px solid var(--border-subtle);width:100%;max-width:500px;max-height:95vh;overflow-y:auto;box-shadow:var(--shadow-lg, var(--modal-shadow))}.form-content-large{max-width:1000px;max-height:95vh}.form-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-subtle);background:var(--surface-card)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--input-label);font-size:var(--font-size-sm)}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-base);box-sizing:border-box;background-color:var(--input-bg);color:var(--input-text)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--input-shadow-focus)}.tag-input-wrapper{position:relative}.tag-input-with-dropdown{position:relative;display:flex;align-items:center}.tag-input-with-dropdown input{padding-right:40px}.tag-dropdown-toggle{position:absolute;right:8px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-tertiary);padding:4px 8px;border-radius:var(--border-radius);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tag-dropdown-toggle:hover{background-color:var(--table-row-hover-bg);color:var(--text-primary)}.tag-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--input-border);border-radius:var(--border-radius);margin-top:4px;max-height:200px;overflow-y:auto;box-shadow:var(--shadow-md);z-index:100}.tag-dropdown-item{padding:10px 12px;cursor:pointer;transition:background-color var(--transition-base);font-size:var(--font-size-base);color:var(--input-label)}.tag-dropdown-item:hover{background-color:var(--table-row-hover-bg)}.tag-dropdown-item:first-child{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.tag-dropdown-item:last-child{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.tag-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--input-border);border-radius:var(--border-radius);margin-top:4px;max-height:200px;overflow-y:auto;box-shadow:var(--shadow-md);z-index:100}.tag-suggestion-item{padding:10px 12px;cursor:pointer;transition:background-color var(--transition-base);font-size:var(--font-size-base);color:var(--input-label)}.tag-suggestion-item:hover{background-color:var(--table-row-hover-bg)}.tag-suggestion-item:first-child{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.tag-suggestion-item:last-child{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.tag-create-hint{margin-top:8px;padding:8px 12px;background-color:var(--secondary-container);border:1px solid var(--color-secondary);border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--color-tertiary)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--divider-color)}.cuentas-table-wrapper{overflow-x:auto;border-radius:var(--border-radius);border:1px solid var(--table-border)}.cuentas-table{width:100%;border-collapse:collapse;background:var(--table-row-bg)}.cuentas-table thead{background-color:var(--table-row-alt-bg)}.cuentas-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:var(--font-size-sm);color:var(--input-label);border-bottom:2px solid var(--table-border)}.cuentas-table td{padding:12px 16px;border-bottom:1px solid var(--table-border);font-size:var(--font-size-base);color:var(--table-text)}.cuentas-table tbody tr:hover{background-color:var(--table-row-hover-bg)}.cuentas-table tbody tr:last-child td{border-bottom:none}.cuentas-table tbody tr.balance-row-deuda{background-color:var(--input-error-bg);border-left:4px solid var(--color-error)}.cuentas-table tbody tr.balance-row-deuda:hover{background-color:var(--badge-error-bg)}.cuentas-table tbody tr.balance-row-template td{color:var(--input-placeholder);font-style:italic}.cuentas-table tbody tr.balance-row-template:hover{background-color:var(--table-row-alt-bg)}.balance-tag-header.balance-tag-header-template{cursor:default;opacity:.85}.template-badge{display:inline-block;margin-left:10px;padding:2px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background-color:var(--badge-info-bg);color:var(--badge-info-text);border-radius:9999px;vertical-align:middle}.template-notice{margin:0 0 12px;padding:10px 16px;background-color:var(--surface-info-light);border:1px solid var(--badge-info-border);border-radius:8px;font-size:.875rem;color:var(--badge-info-text)}.tag-badge{display:inline-block;padding:4px 12px;background-color:var(--secondary-container);color:var(--color-tertiary);border-radius:12px;font-size:var(--font-size-sm);font-weight:500}.cuentas-row-clickable{cursor:pointer}.cuentas-btn-icon-delete{display:flex;height:32px;width:32px;align-items:center;justify-content:center;border-radius:8px;border:1px solid color-mix(in srgb,var(--color-error) 40%,var(--border-subtle));background:#fff;color:var(--color-error);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.cuentas-btn-icon-delete:hover{border-color:var(--color-error);background-color:var(--badge-error-bg)}.filter-section{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--table-row-alt-bg);border-radius:var(--border-radius);border:1px solid var(--table-border)}.filter-label{font-weight:500;color:var(--input-label);font-size:var(--font-size-sm);white-space:nowrap}.tag-filter-select{padding:8px 12px;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);background-color:var(--card-bg);color:var(--input-text);cursor:pointer;transition:all var(--transition-base);min-width:200px}.tag-filter-select:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--input-shadow-focus)}.btn-clear-filter{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-tertiary);padding:4px 8px;border-radius:var(--border-radius);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:28px;height:28px}.btn-clear-filter:hover{background-color:var(--badge-error-bg);color:var(--badge-error-text)}.no-results{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary);font-style:italic}.form-group select{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-base);box-sizing:border-box;background-color:var(--card-bg);color:var(--input-text);cursor:pointer}.form-group select:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--input-shadow-focus)}.form-group select#cuenta-balance[size]{height:auto;max-height:200px;overflow-y:auto;padding:0}.form-group select#cuenta-balance[size] option{padding:8px 12px;border-bottom:1px solid var(--border-color)}.form-group select#cuenta-balance[size] option:last-child{border-bottom:none}.form-group select#cuenta-balance[size]::-webkit-scrollbar{width:8px}.form-group select#cuenta-balance[size]::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.form-group select#cuenta-balance[size]::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.form-group select#cuenta-balance[size]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.cuenta-dropdown-wrapper{position:relative}.cuenta-dropdown-wrapper input[readonly]{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-base);box-sizing:border-box;background-color:var(--card-bg);color:var(--input-text);cursor:pointer}.cuenta-dropdown-wrapper input[readonly]:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--input-shadow-focus)}.cuenta-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--input-border);border-radius:var(--border-radius);box-shadow:var(--shadow-md);z-index:1000;margin-top:4px;max-height:300px;display:flex;flex-direction:column;overflow:hidden}.cuenta-dropdown-search{padding:8px;border-bottom:1px solid var(--divider-color);background:var(--table-row-alt-bg)}.cuenta-dropdown-search input{width:100%;padding:8px 12px;border:1px solid var(--input-border);border-radius:calc(var(--border-radius) - 2px);font-size:var(--font-size-sm);font-family:var(--font-family);box-sizing:border-box;background-color:var(--input-bg);color:var(--input-text)}.cuenta-dropdown-search input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 2px var(--input-shadow-focus)}.cuenta-dropdown-list{max-height:250px;overflow-y:auto}.cuenta-dropdown-item{padding:12px 16px;cursor:pointer;transition:background-color var(--transition-base);border-bottom:1px solid var(--table-border)}.cuenta-dropdown-item:last-child{border-bottom:none}.cuenta-dropdown-item:hover{background-color:var(--table-row-hover-bg)}.cuenta-dropdown-item.selected{background-color:var(--surface-selected);font-weight:500}.cuenta-dropdown-item.no-results{color:var(--text-tertiary);font-style:italic;cursor:default}.cuenta-dropdown-item.no-results:hover{background-color:var(--card-bg)}.cuenta-dropdown-item-name{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:2px}.cuenta-dropdown-item-meta{font-size:var(--font-size-xs);color:var(--text-secondary)}.cuenta-dropdown-list::-webkit-scrollbar{width:8px}.cuenta-dropdown-list::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.cuenta-dropdown-list::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.cuenta-dropdown-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.balance-semanal-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.balance-filters{padding:var(--spacing-md);background-color:var(--table-row-alt-bg);border-radius:var(--border-radius);border:1px solid var(--table-border)}.balance-week-selector{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.balance-week-selector .week-selector-group{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.balance-week-selector .week-selector-group label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.balance-week-selector .week-selector-group select{padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);background:var(--card-bg);color:var(--input-text);cursor:pointer;transition:all var(--transition-base);min-width:220px}.balance-week-selector .week-selector-group select:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--input-shadow-focus)}.balance-week-selector .week-range-info{margin-left:auto;color:var(--text-tertiary);font-size:var(--font-size-sm);font-weight:500}.balance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.balance-detail-week-info{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);padding:10px 14px;border-radius:10px;background-color:var(--surface-card);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--font-size-md);display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-xs)}.balance-detail-week-label{font-weight:600;color:var(--color-primary)}.balance-detail-week-range{font-weight:500}.balance-last-weeks{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--surface-card);border-radius:12px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--spacing-md)}.balance-last-weeks-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.balance-last-weeks-title-group h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.balance-last-weeks-subtitle{display:block;margin-top:4px;font-size:var(--font-size-xs);color:var(--text-secondary)}.balance-last-weeks-message{padding:var(--spacing-md);border-radius:var(--border-radius);background-color:var(--surface-info-light);color:var(--badge-info-text);font-size:var(--font-size-sm)}.balance-last-weeks-message-error{background-color:var(--badge-error-bg);color:var(--color-error-dark)}.balance-last-weeks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.balance-week-column{background:var(--surface-card);border-radius:12px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .1s ease}.balance-week-column:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-md);transform:translateY(-2px)}.balance-week-column.current-week{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.balance-week-column.selected-week{border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1f,var(--shadow-md);background-color:var(--surface-selected)}.balance-week-column.selected-week:hover{transform:translateY(-2px);box-shadow:0 0 0 3px #0032ff2e,var(--shadow-lg, var(--shadow-md))}.balance-week-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.balance-week-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.balance-week-range{font-size:var(--font-size-xs);color:var(--text-tertiary)}.balance-week-current-chip{padding:4px 10px;border-radius:999px;background-color:#0032ff14;color:var(--color-primary);font-size:var(--font-size-2xs, 11px);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.balance-week-cards{display:flex;flex-direction:column;gap:var(--spacing-sm)}.balance-week-card{background:linear-gradient(135deg,var(--surface-card) 0%,var(--surface-input) 100%);border-radius:calc(var(--border-radius) - 2px);border:1px solid var(--border-subtle);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.balance-week-card-empty{opacity:.6}.balance-week-card-title{display:flex;align-items:center;font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary)}.balance-week-card-amounts{display:flex;gap:var(--spacing-sm)}.balance-week-card-amount{flex:1;display:flex;flex-direction:column;gap:2px}.balance-week-card-amount-label{font-size:var(--font-size-2xs, 11px);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:600}.balance-week-card-amount-value{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.balance-week-total{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:2px solid var(--table-border)}.balance-week-total-label{font-size:var(--font-size-xs, .7rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--input-label);margin-bottom:4px}.balance-week-total-value{font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary)}.balance-summary-card{background:linear-gradient(135deg,var(--card-bg) 0%,var(--table-row-alt-bg) 100%);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--card-border);border-left:4px solid var(--color-primary);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.balance-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-tertiary)}.balance-summary-header{display:flex;justify-content:space-between;align-items:center}.balance-summary-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background-color:#0032ff0f;color:var(--color-primary);font-weight:600;font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase}.balance-summary-metrics{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.balance-summary-metric{flex:1;background-color:#0f172a05;border-radius:calc(var(--border-radius) - 4px);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.balance-summary-metric-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:600}.balance-summary-metric-value{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.balance-tag-group{margin-bottom:var(--spacing-xl);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;background:var(--surface-card);box-shadow:var(--shadow-xs)}.balance-tag-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--primary-action);color:#fff;margin-bottom:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px solid color-mix(in srgb,var(--primary-action-hover) 60%,var(--primary-action) 40%);transition:background-color var(--transition-base)}.balance-tag-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:#fff}.balance-tag-header:hover{background-color:var(--primary-action-hover)}.balance-tag-totals{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--spacing-lg);font-size:var(--font-size-base);font-weight:500}.balance-tag-total-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:140px;padding:6px 12px;border-radius:var(--border-radius);border:1px solid color-mix(in srgb,#ffffff 32%,transparent);background-color:color-mix(in srgb,var(--primary-action-hover) 70%,#0a1f55 30%)}.balance-tag-total-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,#ffffff 78%,transparent);font-weight:700}.balance-tag-total-value{font-size:var(--font-size-sm);font-weight:700;color:#fff;white-space:nowrap}.balance-tag-subtotals{display:flex;flex-wrap:wrap;gap:10px;padding:10px var(--spacing-md) 12px;background:linear-gradient(180deg,var(--surface-input) 0%,color-mix(in srgb,var(--surface-card) 92%,var(--surface-input) 8%) 100%);color:var(--text-primary);border-bottom:1px solid var(--border-subtle)}.balance-tag-subtotal-item{display:flex;flex-direction:column;gap:2px;min-width:230px;background-color:var(--surface-card);border:1px solid var(--border-subtle);padding:8px 12px;border-radius:10px;box-shadow:var(--shadow-xs)}.balance-tag-subtotal-label{font-size:var(--font-size-xs);color:var(--text-tertiary);letter-spacing:.03em}.balance-tag-subtotal-value{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary)}.balance-tag-toggle-icon{display:inline-flex;align-items:center;justify-content:center;padding:0 8px;font-size:var(--font-size-base);color:#fff;background:transparent!important;border:0!important}.balance-tag-header:focus-visible{outline:2px solid var(--primary-action);outline-offset:2px}@media (max-width: 860px){.balance-tag-header{flex-direction:column;align-items:flex-start;gap:10px}.balance-tag-totals{width:100%;justify-content:flex-start;gap:10px}.balance-tag-total-pill{min-width:160px}}.tasa-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--input-border);border-radius:var(--border-radius);box-shadow:var(--shadow-md);z-index:1000;margin-top:4px;max-height:200px;overflow-y:auto}.tasa-dropdown-item{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--transition-base);border-bottom:1px solid var(--divider-color)}.tasa-dropdown-item:hover{background-color:var(--table-row-hover-bg)}.tasa-dropdown-label{font-weight:500;color:var(--input-label);font-size:var(--font-size-sm)}.deudas-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.deudas-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.deudas-header-text h1{margin:0;font-size:var(--font-size-2xl);color:var(--text-primary);letter-spacing:-.03em}.deudas-header-subtitle{margin:var(--spacing-xs) 0 0 0;color:var(--text-secondary);font-size:var(--font-size-sm)}.deudas-header-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.deudas-header-right{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:var(--spacing-md)}.deudas-view-toggle{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--bg-tertiary);border-radius:var(--border-radius);padding:2px;box-shadow:var(--shadow-sm)}.view-toggle-btn{border:none;background:transparent;padding:6px 16px;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.view-toggle-btn.active{background:#fff;color:var(--primary-action);box-shadow:var(--shadow-sm);font-weight:600}.deudas-content{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--spacing-lg)}.deudas-entidades-list{list-style:none;margin:0;padding:0}.deudas-sidebar{background:var(--surface-card);border-radius:var(--border-radius-lg);box-shadow:var(--card-shadow);border:1px solid var(--border-subtle);padding:calc(var(--spacing-sm) + 2px) var(--spacing-md)}.deudas-section-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.deudas-entidad-item{border-radius:var(--border-radius);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:.4rem;background:var(--bg-primary);border:1px solid var(--border-subtle);cursor:pointer;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.deudas-entidad-item:hover{box-shadow:var(--shadow-sm);border-color:var(--primary-action);transform:translateY(-1px)}.deudas-entidad-item.selected{border-color:var(--primary-action);box-shadow:0 0 0 2px #00499c26,var(--shadow-sm);background:var(--surface-elevated)}.entidad-main{display:flex;flex-direction:column;gap:.15rem}.entidad-nombre{font-weight:600;color:var(--text-primary)}.entidad-descripcion{font-size:var(--font-size-sm);color:var(--text-secondary)}.entidad-stats{font-size:var(--font-size-xs);color:var(--text-primary)}.entidad-stats .label{color:var(--text-secondary)}.entidad-balance-actual{margin-top:.15rem}.entidad-actions{margin-top:.25rem;display:flex;gap:.5rem}.btn-edit,.btn-delete{border:1px solid var(--border-subtle);padding:6px 8px;border-radius:var(--border-radius);background:transparent;cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;color:var(--text-secondary)}.btn-edit:hover{background:var(--surface-elevated);border-color:var(--primary-action);color:var(--primary-action);transform:translateY(-1px)}.btn-delete{color:#b91c1c}.btn-delete:hover{background:#b91c1c0f;border-color:#b91c1c;color:#b91c1c;transform:translateY(-1px)}.deudas-main{display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--surface-card);border-radius:var(--border-radius-lg);box-shadow:var(--card-shadow);border:1px solid var(--border-subtle);padding:var(--spacing-md) var(--spacing-lg)}.deudas-entidad-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.deudas-entidad-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.deudas-entidad-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.deudas-entidad-balance-resumen{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.deudas-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.deudas-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--border-radius-lg);border:1px solid var(--border-subtle);background:var(--surface-card);box-shadow:var(--shadow-xs)}.deudas-section--table{padding:var(--spacing-md)}.deudas-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.deudas-table{width:100%;border-collapse:collapse;font-size:.85rem}.deudas-table th,.deudas-table td{border-bottom:1px solid var(--border-subtle);padding:.55rem .6rem;text-align:left}.deudas-table th{font-weight:600;background:var(--section-title-row-bg);color:var(--section-title-row-text);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.04em}.deudas-table tbody tr:hover{background:var(--surface-elevated)}.deudas-economia-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:2px 10px;border-radius:9999px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.deudas-economia-color-keca-a{background-color:var(--badge-success-bg);color:var(--badge-success-text);border-color:color-mix(in srgb,var(--badge-success-text) 18%,transparent)}.deudas-economia-color-keca-b{background-color:var(--badge-warning-bg);color:var(--badge-warning-text);border-color:color-mix(in srgb,var(--badge-warning-text) 18%,transparent)}.deudas-economia-color-keca-c{background-color:var(--badge-purple-bg);color:var(--badge-purple-text);border-color:color-mix(in srgb,var(--badge-purple-text) 18%,transparent)}.deudas-economia-color-keca-d-e{background-color:var(--badge-error-bg);color:var(--badge-error-text);border-color:color-mix(in srgb,var(--badge-error-text) 18%,transparent)}.deudas-economia-color-klc{background-color:var(--badge-info-bg);color:var(--badge-info-text);border-color:color-mix(in srgb,var(--badge-info-text) 18%,transparent)}.deudas-economia-color-default{background-color:var(--surface-input);color:var(--text-secondary);border-color:var(--border-subtle)}.deudas-balance-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-subtle)}.deudas-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--border-radius);background:var(--primary-action);color:#fff;padding:10px 16px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.deudas-btn-primary:hover{background:var(--primary-action-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.deudas-btn-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--border-radius);background:var(--surface-input);color:var(--text-primary);padding:10px 16px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.deudas-btn-secondary:hover{border-color:var(--primary-action);color:var(--primary-action);background:var(--surface-elevated)}.deudas-action-buttons{display:flex;align-items:center;justify-content:center;gap:.5rem}.deudas-btn-icon-delete{border:1px solid color-mix(in srgb,var(--danger, #dc2626) 40%,var(--border-subtle));padding:6px 8px;border-radius:var(--border-radius);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--danger, #dc2626);box-shadow:var(--shadow-xs);transition:all .15s ease}.deudas-btn-icon-delete:hover{background:color-mix(in srgb,var(--danger, #dc2626) 8%,white);border-color:var(--danger, #dc2626);transform:translateY(-1px)}.error-message{margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);background:#ef44440f;border:1px solid rgba(239,68,68,.4);color:#b91c1c;font-size:var(--font-size-sm)}.deudas-loading-card{margin-top:var(--spacing-md);padding:var(--spacing-lg);background:var(--surface-card);border-radius:var(--border-radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--card-shadow);text-align:center;color:var(--text-secondary)}.empty-state{margin-top:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);border:1px dashed var(--border-color);background:var(--surface-card);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.modal{width:100%;max-width:560px;background:var(--surface-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle);padding:var(--spacing-lg)}.modal.modal-balance{max-width:720px}.modal h2{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);color:var(--text-primary)}.deudas-resumen-semanal{margin-top:0;padding:var(--spacing-md) var(--spacing-lg);background:var(--surface-card);border-radius:var(--border-radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:var(--spacing-md)}.deudas-resumen-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.deudas-resumen-header h2{margin:0;font-size:var(--font-size-xl);color:var(--text-primary)}.deudas-resumen-subtitle{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.deudas-resumen-empty{padding:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);border-radius:var(--border-radius);border:1px dashed var(--border-color);background:var(--bg-secondary)}.deudas-resumen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-md)}.deudas-balance-filters{padding:var(--spacing-md);background-color:var(--surface-elevated);border-radius:var(--border-radius);border:1px solid var(--border-subtle)}.deudas-balance-week-selector{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.deudas-balance-week-selector .week-selector-group{display:flex;align-items:center;gap:var(--spacing-sm)}.deudas-balance-week-selector .week-selector-group label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.deudas-balance-week-selector .week-selector-group select{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);background:var(--surface-input);cursor:pointer;transition:all var(--transition-base);min-width:220px}.deudas-balance-week-selector .week-selector-group select:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px #00499c1f}.deudas-week-range-info{margin-left:auto;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500}.deudas-balance-week-column{background:var(--bg-primary);border-radius:var(--border-radius);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .1s ease}.deudas-balance-week-column:hover{border-color:var(--primary-action);box-shadow:var(--shadow-md);transform:translateY(-2px)}.deudas-balance-week-column.current-week{border-color:var(--primary-action);box-shadow:var(--shadow-md)}.deudas-balance-week-column.selected-week{border-color:var(--primary-action);box-shadow:0 0 0 3px #00499c26,var(--shadow-md);background-color:var(--surface-elevated)}.deudas-balance-week-column.selected-week:hover{transform:translateY(-2px);box-shadow:0 0 0 3px #00499c33,var(--shadow-lg, var(--shadow-md))}.deudas-resumen-week-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.deudas-resumen-week-title{font-weight:600;color:var(--text-primary)}.deudas-resumen-week-range{font-size:var(--font-size-xs);color:var(--text-secondary)}.deudas-balance-week-current-chip{padding:4px 10px;border-radius:999px;background-color:#00499c1a;color:var(--primary-action);font-size:var(--font-size-2xs, 11px);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.deudas-resumen-week-body{display:flex;flex-direction:column;gap:.35rem;margin-top:var(--spacing-xs)}.deudas-resumen-entidad-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs)}.deudas-resumen-entidad-nombre{font-weight:500;color:var(--text-primary)}.deudas-resumen-entidad-montos{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--text-secondary)}.deudas-resumen-week-empty{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--spacing-xs)}.deudas-resumen-week-total{margin-top:var(--spacing-sm);padding-top:var(--spacing-xs);border-top:1px dashed var(--border-color);display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs)}.deudas-resumen-week-total-label{font-weight:600;color:var(--text-primary)}.deudas-resumen-week-total-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--text-secondary)}.deudas-resumen-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.deudas-balance-detail-week-info{margin-top:var(--spacing-md);padding:8px 12px;border-radius:var(--border-radius);background-color:var(--surface-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--font-size-md);display:inline-flex;align-items:center;gap:6px}.deudas-balance-detail-week-label{font-weight:600;color:var(--primary-action)}.deudas-balance-detail-week-range{font-weight:500}.deudas-resumen-detalle-semana{margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.deudas-resumen-detalle-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.deudas-table-wrapper{overflow:hidden;border-radius:.75rem;border:1px solid var(--border-subtle);background:var(--surface-card);box-shadow:var(--card-shadow)}.deudas-table{width:100%;min-width:920px;border-collapse:collapse;background:var(--surface-card);table-layout:fixed;font-size:var(--font-size-sm)}.deudas-no-results{text-align:center;color:var(--text-secondary);padding:var(--spacing-lg);font-size:var(--font-size-sm)}.deudas-required{color:var(--danger, #dc2626);margin-left:2px}.deudas-tasa-input-wrapper{position:relative}.deudas-tasa-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--border-radius);box-shadow:var(--shadow-md);z-index:1000;margin-top:4px;max-height:200px;overflow-y:auto}.deudas-tasa-dropdown-item{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--transition-base);border-bottom:1px solid var(--border-subtle)}.deudas-tasa-dropdown-item:last-child{border-bottom:none}.deudas-tasa-dropdown-item:hover{background-color:var(--surface-elevated)}.deudas-tasa-dropdown-label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.deudas-tasa-dropdown-value{font-weight:600;color:var(--primary-action);font-size:var(--font-size-sm)}.deudas-tasa-origen-badge{display:inline-block;margin-left:6px;font-size:.7rem;padding:1px 6px;border-radius:10px;font-weight:600;text-transform:lowercase;vertical-align:middle}.deudas-tasa-origen-real{background-color:var(--badge-success-bg);color:var(--badge-success-text)}.deudas-tasa-origen-proyeccion{background-color:var(--badge-warning-bg);color:var(--badge-warning-text)}@media (max-width: 1024px){.deudas-content,.deudas-sections{grid-template-columns:1fr}.deudas-main{padding:var(--spacing-md)}}@media (max-width: 768px){.deudas-header{flex-direction:column;align-items:flex-start}.deudas-header-right{align-items:flex-start;width:100%;justify-content:space-between}.deudas-view-toggle{align-self:stretch;justify-content:space-between}.deudas-header-actions{width:100%;justify-content:flex-start}.form-row{grid-template-columns:1fr}.deudas-section{padding:var(--spacing-sm)}.modal{margin:0 var(--spacing-md);padding:var(--spacing-md)}}.movimientos-container{display:flex;flex-direction:column;gap:0}.movimientos-section{display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.movimientos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.view-toggle-container{display:flex;gap:var(--spacing-xs);background:var(--bg-tertiary);padding:4px;border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.view-toggle-btn{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border-radius:calc(var(--border-radius) - 2px);transition:all var(--transition-base);font-family:var(--font-family)}.view-toggle-btn:hover{color:var(--text-primary);background:#ffffff80}.view-toggle-btn.active{background:#fff;color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.btn-primary{background-color:var(--color-primary);color:#fff;border:none;padding:12px 24px;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.btn-primary:hover{background-color:var(--color-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--btn-cancel-bg);color:var(--btn-cancel-text);border:none;padding:10px 20px;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.btn-secondary:hover{background-color:var(--btn-cancel-hover-bg)}.btn-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;padding:0;margin-left:var(--spacing-sm);font-family:var(--font-family)}.btn-link:hover{color:var(--color-tertiary)}.btn-close{background:none;border:none;font-size:28px;cursor:pointer;color:var(--text-tertiary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:all var(--transition-base)}.btn-close:hover{background-color:var(--table-row-hover-bg);color:var(--text-primary)}.error-message{background-color:var(--badge-error-bg);color:var(--badge-error-text);padding:var(--spacing-md);border-radius:var(--border-radius);border:1px solid var(--badge-error-border);font-size:var(--font-size-sm)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}.empty-state p{margin-bottom:var(--spacing-lg);font-size:var(--font-size-base)}.form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.form-modal.form-modal-nested{z-index:2000}.form-modal.form-modal-nested-2{z-index:3000}.form-content{background:#fff;border-radius:var(--border-radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.form-content-small{max-width:400px}.form-group select#cuenta[size],.form-group select#cuentaProyecto[size],.form-group select#cuenta-balance[size]{height:auto;max-height:200px;overflow-y:auto;padding:0}.form-group select#cuenta[size] option,.form-group select#cuentaProyecto[size] option,.form-group select#cuenta-balance[size] option{padding:8px 12px;border-bottom:1px solid var(--border-color)}.form-group select#cuenta[size] option:last-child,.form-group select#cuentaProyecto[size] option:last-child,.form-group select#cuenta-balance[size] option:last-child{border-bottom:none}.form-group select#cuenta[size]::-webkit-scrollbar,.form-group select#cuentaProyecto[size]::-webkit-scrollbar,.form-group select#cuenta-balance[size]::-webkit-scrollbar{width:8px}.form-group select#cuenta[size]::-webkit-scrollbar-track,.form-group select#cuentaProyecto[size]::-webkit-scrollbar-track,.form-group select#cuenta-balance[size]::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.form-group select#cuenta[size]::-webkit-scrollbar-thumb,.form-group select#cuentaProyecto[size]::-webkit-scrollbar-thumb,.form-group select#cuenta-balance[size]::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.form-group select#cuenta[size]::-webkit-scrollbar-thumb:hover,.form-group select#cuentaProyecto[size]::-webkit-scrollbar-thumb:hover,.form-group select#cuenta-balance[size]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.form-group select option.create-option{color:var(--color-primary);font-weight:500;font-style:italic}.proyecto-dropdown-wrapper{position:relative}.proyecto-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-md);z-index:1000;margin-top:4px}.proyecto-dropdown-search{padding:8px;border-bottom:1px solid var(--border-color)}.proyecto-dropdown-search input{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-family:var(--font-family);box-sizing:border-box}.proyecto-dropdown-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.proyecto-dropdown-list{max-height:220px;overflow-y:auto}.proyecto-dropdown-item{padding:10px 12px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color var(--transition-base)}.proyecto-dropdown-item:last-child{border-bottom:none}.proyecto-dropdown-item:hover{background-color:var(--bg-secondary)}.proyecto-dropdown-item.selected{background-color:#0032ff14}.proyecto-dropdown-item-name{font-weight:500;color:var(--text-primary)}.proyecto-dropdown-item-meta{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:2px}.proyecto-dropdown-item.no-results{color:var(--text-secondary);cursor:default}.proyecto-dropdown-item.no-results:hover{background-color:transparent}.proyecto-dropdown-item.create-option{color:var(--color-primary);font-weight:500;font-style:italic}.dropdown-wrapper,.tasa-input-wrapper{position:relative}.tasa-dynamic-badge{display:inline-block;margin-top:4px;font-size:.75rem;color:var(--color-primary);background-color:var(--bg-tertiary);padding:2px 8px;border-radius:4px;font-weight:500}.tasa-origen-badge{display:inline-block;margin-left:6px;font-size:.7rem;padding:1px 6px;border-radius:10px;font-weight:600;text-transform:lowercase;vertical-align:middle}.tasa-origen-real{background-color:var(--badge-success-bg);color:var(--badge-success-text)}.tasa-origen-proyeccion{background-color:var(--badge-warning-bg);color:var(--badge-warning-text)}.tasa-hint{font-size:.75rem;color:var(--text-secondary);font-weight:400;margin-left:4px}.input-readonly{background-color:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.movimientos-table-wrapper{overflow-x:auto;border-radius:var(--border-radius);border:1px solid var(--border-color);background:var(--bg-primary)}.movimientos-table{width:100%;border-collapse:collapse;background:#fff}.movimientos-table thead{background-color:var(--bg-tertiary)}.movimientos-table th{padding:12px 16px;text-align:center;font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary);border-bottom:2px solid var(--border-color)}.movimientos-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:var(--font-size-base);color:var(--text-primary)}.movimientos-table th:first-child,.movimientos-table td:first-child{white-space:nowrap}.movimientos-table tbody tr:hover{background-color:var(--bg-tertiary)}.movimientos-table tbody tr:last-child td{border-bottom:none}.movimiento-row-clickable{transition:background-color var(--transition-base)}.movimiento-row-clickable:hover{background-color:var(--bg-tertiary)!important}.movimiento-row-clickable:active{background-color:var(--bg-secondary)!important}.table-filters-container{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.table-filters-search-row{width:100%}.table-filters-selects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);width:100%}.table-search-wrapper{flex:1;min-width:200px;display:flex;align-items:center;gap:4px;position:relative}.table-search-input{flex:1;padding:10px 80px 10px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-base)}.table-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.table-search-button,.table-search-clear-button{position:absolute;right:4px;background:none;border:none;cursor:pointer;padding:8px 12px;border-radius:var(--border-radius);font-size:16px;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.table-search-button{right:4px}.table-search-clear-button{right:40px;color:var(--text-tertiary)}.table-search-button:hover{background-color:#0032ff1a;transform:scale(1.1)}.table-search-clear-button:hover{background-color:#ef44441a;color:var(--color-error);transform:scale(1.1)}.table-filter-select{width:100%;min-width:0;max-width:100%;padding:10px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);background:#fff;cursor:pointer;transition:all var(--transition-base);box-sizing:border-box}.table-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.btn-clear-filters{white-space:nowrap;padding:10px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);background:#fff;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.btn-clear-filters:hover{background:var(--bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.sortable-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--transition-base);position:relative;padding-right:24px!important}.sortable-header:hover{background-color:#0032ff1a!important;color:var(--color-primary)}.sortable-header.active{background-color:#0032ff26!important;color:var(--color-primary);font-weight:700;border-bottom:3px solid var(--color-primary)}.sort-indicator{color:var(--color-primary);font-weight:700;font-size:1.1em;margin-left:6px;display:inline-block;min-width:20px;text-align:center}.sortable-header.active .sort-indicator{color:var(--color-primary);font-size:1.2em;font-weight:800}.sort-indicator-neutral{color:var(--text-tertiary);opacity:.6;font-weight:500}.action-buttons{display:flex;gap:var(--spacing-sm)}.btn-edit,.btn-delete{background:none;border:none;cursor:pointer;font-size:18px;padding:6px 8px;border-radius:var(--border-radius);transition:all var(--transition-base)}.btn-edit:hover{background-color:var(--badge-warning-bg)}.btn-delete:hover{background-color:var(--badge-error-bg)}.view-selector{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.view-tab{padding:8px 16px;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);border-radius:var(--border-radius) var(--border-radius) 0 0;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-base);font-family:var(--font-family)}.view-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.view-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.calendar-view-container{display:flex;flex-direction:column;gap:var(--spacing-sm);overflow:visible;width:100%;background:#fff}.calendar-range-filters,.calendar-range-filters.hoja-flujo-filters{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);flex-shrink:0}.calendar-range-filters .filter-group{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md)}.calendar-range-filters label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);white-space:nowrap;margin:0}.calendar-range-filters input[type=date]{padding:6px 10px;border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:var(--font-size-sm);font-family:var(--font-family);transition:all var(--transition-base);background-color:var(--bg-primary);min-width:140px}.calendar-range-filters input[type=date]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.calendar-year-selector{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--border-radius)}.calendar-year-display{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);min-width:80px;text-align:center}.calendar-table-wrapper{overflow:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);box-shadow:var(--shadow-md);width:100%;max-width:100%;max-height:none;position:relative;margin:0}.calendar-table{width:-moz-max-content;width:max-content;min-width:100%;border-collapse:collapse;background:var(--bg-primary)}.calendar-presupuesto .calendar-category-header,.calendar-presupuesto .calendar-cuenta-header{position:sticky}.calendar-presupuesto .calendar-category-header{width:300px;min-width:300px;left:0;background:var(--table-group-header-bg);color:var(--table-group-header-text)}.calendar-presupuesto .calendar-cuenta-header{width:120px;min-width:120px;left:300px;border-right:2px solid var(--border-color);background:var(--table-group-header-bg);color:var(--table-group-header-text)}.calendar-category-cell,.calendar-cuenta-cell{padding:6px 8px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);height:40px;border:1px solid var(--border-color);box-sizing:border-box;vertical-align:middle;text-align:left;position:sticky;z-index:8}.calendar-presupuesto .calendar-category-cell{width:300px;min-width:300px;left:0;background:var(--bg-primary)}.calendar-presupuesto .calendar-cuenta-cell{width:80px;min-width:80px;left:300px;border-right:2px solid var(--border-color);background:var(--bg-primary)}.calendar-total-row{background:var(--table-total-bg)}.calendar-total-cell{font-weight:700;background:var(--table-total-bg);color:var(--text-primary)}.calendar-presupuesto .calendar-total-row .calendar-category-cell,.calendar-presupuesto .calendar-total-row .calendar-cuenta-cell,.calendar-presupuesto .calendar-total-row .calendar-week-cell{background:var(--table-total-bg)}.calendar-group-header-row{background:var(--table-group-header-bg)}.calendar-group-header-row td{border:none}.calendar-group-header-cell{font-weight:700;font-size:var(--font-size-base);color:var(--table-group-header-text);background:var(--table-group-header-bg)!important;padding:8px 12px;letter-spacing:.3px}.calendar-presupuesto .calendar-group-header-row .calendar-category-cell{position:sticky;left:0;z-index:11;background:var(--table-group-header-bg)!important;color:var(--table-group-header-text)!important}.calendar-group-header-row:hover td,.calendar-group-header-row:hover .calendar-category-cell{background:var(--table-group-header-hover)!important}.calendar-grand-total-row{background:var(--table-grand-total-bg)}.calendar-grand-total-row td{border-top:3px solid var(--text-primary);border-bottom:3px solid var(--text-primary)}.calendar-grand-total-cell{font-weight:800;background:var(--table-grand-total-bg);color:var(--table-grand-total-text)!important}.calendar-presupuesto .calendar-grand-total-row .calendar-category-cell,.calendar-presupuesto .calendar-grand-total-row .calendar-cuenta-cell,.calendar-presupuesto .calendar-grand-total-row .calendar-week-cell{background:var(--table-grand-total-bg);color:var(--table-grand-total-text)!important}.calendar-grand-total-amount{font-weight:800;color:#fff!important;background:transparent;border:none;cursor:pointer;font:inherit;padding:0}.calendar-subtotal-button{background:none;border:none;padding:0;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#00000040;transition:text-decoration-color .15s}.calendar-subtotal-button:hover{text-decoration-color:currentColor}.calendar-grand-total-button{background:none;border:none;padding:0;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:800;color:#fff!important;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#ffffff80;transition:text-decoration-color .15s}.calendar-grand-total-button:hover{text-decoration-color:#fff}.calendar-grand-total-row:hover td,.calendar-presupuesto .calendar-grand-total-row:hover .calendar-category-cell,.calendar-presupuesto .calendar-grand-total-row:hover .calendar-cuenta-cell,.calendar-presupuesto .calendar-grand-total-row:hover .calendar-week-cell{background-color:var(--table-grand-total-hover)!important;color:var(--table-grand-total-text)!important}.calendar-months-row{background:var(--color-primary)}.calendar-presupuesto .calendar-months-row{background:var(--table-group-header-bg)}.calendar-presupuesto .calendar-months-row th:first-child{position:sticky;left:0;z-index:13;background:var(--table-group-header-bg);color:var(--table-group-header-text)}.calendar-presupuesto .calendar-months-row th:nth-child(2){position:sticky;left:300px;z-index:13;background:var(--table-group-header-bg);color:var(--table-group-header-text)}.calendar-month-header-cell{padding:10px 12px;font-weight:600;font-size:var(--font-size-base);color:#fff;text-align:center;white-space:nowrap;height:44px;box-sizing:border-box;vertical-align:middle;background:var(--color-primary);border:1px solid var(--border-color)}.calendar-presupuesto .calendar-month-header-cell{background:var(--table-group-header-bg);color:var(--table-group-header-text)}.calendar-weeks-row{background:var(--bg-tertiary)}.calendar-week-header-cell{padding:6px 8px;font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary);text-align:center;width:105px;min-width:105px;max-width:105px;white-space:nowrap;background:var(--bg-tertiary);height:42px;box-sizing:border-box;vertical-align:middle;border:1px solid var(--border-color)}.calendar-data-row:hover,.calendar-data-row:hover td,.calendar-presupuesto .calendar-data-row:hover .calendar-category-cell,.calendar-presupuesto .calendar-data-row:hover .calendar-cuenta-cell{background-color:var(--bg-tertiary)}.calendar-total-row:hover td,.calendar-presupuesto .calendar-total-row:hover .calendar-category-cell,.calendar-presupuesto .calendar-total-row:hover .calendar-cuenta-cell,.calendar-presupuesto .calendar-total-row:hover .calendar-week-cell{background-color:var(--bg-secondary)}.calendar-week-cell{padding:6px 8px;width:105px;min-width:105px;max-width:105px;height:40px;font-size:var(--font-size-sm);background:var(--bg-primary);color:var(--text-primary);text-align:center;vertical-align:middle;border:1px solid var(--border-color);box-sizing:border-box}.calendar-week-header-cell.calendar-current-week{border-left:2px solid var(--color-primary)!important;border-right:2px solid var(--color-primary)!important;border-top:2px solid var(--color-primary)!important;background:var(--surface-info-light)}.calendar-week-cell.calendar-current-week{border-left:2px solid var(--color-primary)!important;border-right:2px solid var(--color-primary)!important;background:var(--surface-input)}.calendar-group-header-row .calendar-week-cell.calendar-current-week,.calendar-group-header-row .calendar-group-header-cell.calendar-current-week{background:var(--table-group-header-bg)!important;color:var(--table-group-header-text)!important}.calendar-grand-total-row .calendar-week-cell.calendar-current-week,.calendar-grand-total-row .calendar-grand-total-cell.calendar-current-week{background:var(--table-grand-total-bg)!important;color:var(--table-grand-total-text)!important}tr:last-child .calendar-week-cell.calendar-current-week{border-bottom:2px solid var(--color-primary)!important}.calendar-empty-button{border:none;background:transparent;cursor:pointer;font:inherit;line-height:inherit;color:var(--text-tertiary);font-style:italic;display:inline-flex;align-items:center;justify-content:center;width:100%;padding:2px 4px;border-radius:4px;transition:background .15s,color .15s}.calendar-empty-button:hover{background:#0032ff12;color:var(--color-primary);font-style:normal}.calendar-empty-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-weeks-scroll-container::-webkit-scrollbar{height:10px}.calendar-weeks-scroll-container::-webkit-scrollbar-track{background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.calendar-weeks-scroll-container::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:5px}.calendar-weeks-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.calendar-fixed-body::-webkit-scrollbar{width:8px}.calendar-fixed-body::-webkit-scrollbar-track{background:var(--bg-tertiary)}.calendar-fixed-body::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:4px}.calendar-fixed-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.calendar-presupuesto .calendar-category-cell{min-width:120px}.calendar-presupuesto .calendar-cuenta-cell,.calendar-week-header-cell,.calendar-week-cell{min-width:100px}.movimientos-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.view-selector{width:100%}.view-tab{flex:1}}.calendar-subtotal-row .calendar-subtotal-cell{font-weight:600;background-color:var(--bg-secondary, #f0f4ff)}.calendar-informativa-row td:first-child{border-top:2px solid var(--border-color, #dde3ef)}.calendar-informativa-row{background-color:var(--bg-muted, #fafbfc)}.pagination-controls{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;flex-wrap:wrap}.page-size-selector{display:flex;align-items:center;gap:var(--spacing-sm)}.page-size-selector label{font-weight:500;color:var(--text-secondary);font-size:var(--font-size-sm)}.page-size-selector select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base)}.page-size-selector select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.page-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.page-nav button{padding:8px 16px;font-size:var(--font-size-sm);font-weight:600;border:1px solid var(--btn-secondary-border);border-radius:var(--border-radius);background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family);line-height:1}.page-nav button:hover:not(:disabled){background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.page-nav button:disabled{opacity:.35;cursor:default}.page-nav span,.page-info{color:var(--text-secondary);font-size:var(--font-size-sm)}.totals-row td{background:var(--bg-tertiary);border-top:2px solid var(--border-color);padding:12px 16px;font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap}.totals-row-global td{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:10px 16px;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}.modo-toggle-group--compact{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%}.estatus-badge{display:inline-flex;align-items:center;justify-content:center;width:96px;min-width:96px;max-width:96px;padding:3px 10px;border-radius:9999px;border:1px solid transparent;font-size:12px;font-weight:500;letter-spacing:0;line-height:1.2;text-transform:lowercase}.estatus-badge:first-letter{text-transform:uppercase}.estatus-proyeccion{color:var(--color-primary-dark);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);background-color:color-mix(in srgb,var(--color-primary) 12%,transparent)}.estatus-estimado{color:var(--color-warning-dark);border-color:color-mix(in srgb,var(--color-warning) 30%,transparent);background-color:color-mix(in srgb,var(--color-warning) 12%,transparent)}.estatus-real,.estatus-crear,.estatus-creacion{color:var(--badge-success-text);border-color:color-mix(in srgb,var(--color-success) 30%,transparent);background-color:color-mix(in srgb,var(--color-success) 12%,transparent)}.estatus-modificar,.estatus-edicion{color:var(--color-primary-dark);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);background-color:color-mix(in srgb,var(--color-primary) 12%,transparent)}.estatus-eliminar,.estatus-eliminacion{color:var(--color-error-dark);border-color:color-mix(in srgb,var(--color-error) 30%,transparent);background-color:color-mix(in srgb,var(--color-error) 12%,transparent)}.economia-badge{display:inline-flex;align-items:center;justify-content:center;width:96px;min-width:96px;max-width:96px;padding:3px 10px;border-radius:9999px;border:1px solid transparent;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.economia-color-keca-a{color:#14532d;border-color:color-mix(in srgb,#14532d 25%,transparent);background-color:#eaf7ea}.economia-color-keca-b{color:#854d0e;border-color:color-mix(in srgb,#854d0e 25%,transparent);background-color:#fff4e5}.economia-color-keca-c{color:#6b21a8;border-color:color-mix(in srgb,#6b21a8 25%,transparent);background-color:#f3eaff}.economia-color-keca-d-e{color:#9f1239;border-color:color-mix(in srgb,#9f1239 25%,transparent);background-color:#ffeef2}.economia-color-klc{color:#155e75;border-color:color-mix(in srgb,#155e75 25%,transparent);background-color:#e6fbff}.economia-color-default{color:var(--text-secondary);border-color:color-mix(in srgb,var(--text-secondary) 25%,transparent);background-color:#eef2f7}.movimientos-proyecto-page{width:100%;min-height:100%;background-color:var(--bg-sidebar);--table-group-header-bg: var(--primary-action);--table-group-header-hover: color-mix(in srgb, var(--primary-action) 88%, #ffffff);--table-grand-total-bg: color-mix(in srgb, var(--primary-action) 86%, #ffffff);--table-grand-total-hover: color-mix(in srgb, var(--primary-action) 72%, #ffffff);--table-total-bg: color-mix(in srgb, var(--surface-muted) 78%, #ffffff)}.movimientos-proyecto-page .wf-loading,.movimientos-proyecto-page .empty-state{background:color-mix(in srgb,var(--surface-input) 58%,#ffffff);border:1px dashed color-mix(in srgb,var(--border-subtle) 62%,#ffffff);border-radius:12px}.movimientos-proyecto-page .wf-loading{min-height:200px}.movimientos-proyecto-page .movimientos-table-wrapper,.movimientos-proyecto-page .calendar-table-wrapper{border-color:var(--border-subtle);background:#fff;box-shadow:0 6px 20px #0032ff0f}.movimientos-proyecto-page .movimientos-table{background:#fff}.movimientos-proyecto-page .movimientos-table thead{background-color:color-mix(in srgb,var(--section-title-row-bg) 80%,#ffffff)}.movimientos-proyecto-page .movimientos-table th{color:var(--section-title-row-text)}.movimientos-proyecto-page .movimientos-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-input) 52%,#ffffff)}.movimientos-proyecto-page .movimientos-table tbody tr:hover,.movimientos-proyecto-page .movimiento-row-clickable:hover{background-color:color-mix(in srgb,var(--surface-info-light) 92%,#ffffff)!important}.movimientos-proyecto-page .calendar-months-row,.movimientos-proyecto-page .calendar-category-header,.movimientos-proyecto-page .calendar-month-header-cell{background:var(--primary-action)!important;color:#fff}.movimientos-proyecto-page .calendar-months-row th{border-color:color-mix(in srgb,var(--primary-action) 28%,#ffffff)}.movimientos-proyecto-page .calendar-presupuesto .calendar-months-row th:first-child,.movimientos-proyecto-page .calendar-presupuesto .calendar-months-row th:nth-child(2){background:var(--primary-action)!important;color:#fff}.movimientos-proyecto-page .calendar-weeks-row,.movimientos-proyecto-page .calendar-week-header-cell,.movimientos-proyecto-page .calendar-category-cell.category-row{background:color-mix(in srgb,var(--surface-muted) 86%,#ffffff)!important}.movimientos-proyecto-page .calendar-week-header-cell{border-color:color-mix(in srgb,var(--border-subtle) 82%,#ffffff)}.movimientos-proyecto-page .calendar-category-cell,.movimientos-proyecto-page .calendar-cuenta-cell,.movimientos-proyecto-page .calendar-week-cell{border-color:color-mix(in srgb,var(--border-subtle) 78%,#ffffff)}.movimientos-proyecto-page .calendar-week-cell{background:color-mix(in srgb,#ffffff 88%,var(--surface-input))}.movimientos-proyecto-page .calendar-data-row:hover,.movimientos-proyecto-page .calendar-data-row:hover td,.movimientos-proyecto-page .calendar-presupuesto .calendar-data-row:hover .calendar-category-cell,.movimientos-proyecto-page .calendar-presupuesto .calendar-data-row:hover .calendar-cuenta-cell{background-color:color-mix(in srgb,var(--primary-action) 14%,#ffffff)}.movimientos-proyecto-page .calendar-week-header-cell.calendar-current-week{background:color-mix(in srgb,var(--surface-info-light) 72%,#ffffff)}.movimientos-proyecto-page .calendar-week-cell.calendar-current-week{background:color-mix(in srgb,var(--surface-info-light) 66%,#ffffff)}.movimientos-proyecto-page .calendar-week-cell:hover .calendar-amount,.movimientos-proyecto-page .calendar-empty-button:hover{background:color-mix(in srgb,var(--primary-action) 22%,#ffffff);color:var(--text-primary)}.movimientos-proyecto-page .calendar-group-header-row .calendar-week-cell:hover .calendar-amount,.movimientos-proyecto-page .calendar-grand-total-row .calendar-week-cell:hover .calendar-amount,.movimientos-proyecto-page .calendar-group-header-row .calendar-empty-button:hover,.movimientos-proyecto-page .calendar-grand-total-row .calendar-empty-button:hover{background:transparent;color:inherit}.movimientos-proyecto-page .calendar-group-header-row td{background:color-mix(in srgb,var(--primary-action) 92%,#ffffff)!important;color:#fff!important}.movimientos-proyecto-page .calendar-group-header-row .calendar-group-header-cell,.movimientos-proyecto-page .calendar-group-header-row .calendar-amount,.movimientos-proyecto-page .calendar-group-header-row .calendar-subtotal-button,.movimientos-proyecto-page .calendar-group-header-row .calendar-amount-button{color:#fff!important}.movimientos-proyecto-page .calendar-group-header-row:hover td,.movimientos-proyecto-page .calendar-group-header-row:hover .calendar-category-cell{background:color-mix(in srgb,var(--primary-action) 84%,#ffffff)!important;color:#fff!important}.movimientos-proyecto-page .calendar-grand-total-row td{border-top:2px solid color-mix(in srgb,#0f2346 65%,#ffffff);border-bottom:2px solid color-mix(in srgb,#0f2346 65%,#ffffff);background:#1c2f4d!important;color:#fff!important}.movimientos-proyecto-page .calendar-grand-total-row .calendar-grand-total-cell,.movimientos-proyecto-page .calendar-grand-total-row .calendar-grand-total-amount,.movimientos-proyecto-page .calendar-grand-total-row .calendar-amount-button{color:#fff!important}.movimientos-proyecto-page .calendar-grand-total-row .calendar-week-cell.calendar-current-week,.movimientos-proyecto-page .calendar-grand-total-row .calendar-grand-total-cell.calendar-current-week{background:#1c2f4d!important;color:#fff!important}.movimientos-proyecto-page .calendar-grand-total-row:hover .calendar-week-cell.calendar-current-week,.movimientos-proyecto-page .calendar-grand-total-row:hover .calendar-grand-total-cell.calendar-current-week{background:#152741!important;color:#fff!important}.movimientos-proyecto-page .calendar-filter-toggle{display:inline-flex;min-height:40px;align-items:center;gap:2px;padding:2px;border-radius:10px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-input) 90%,#ffffff);box-shadow:0 1px 2px #0000000a}.movimientos-proyecto-page .calendar-proyecto-filters{flex-wrap:wrap;gap:8px 12px}.movimientos-proyecto-page .calendar-proyecto-filters .calendar-filter-toggle{margin-left:auto}.movimientos-proyecto-page .calendar-proyecto-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;padding:8px 0 10px}.movimientos-proyecto-page .calendar-proyecto-date-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.movimientos-proyecto-page .calendar-proyecto-date-field{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--text-secondary);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.movimientos-proyecto-page .calendar-proyecto-date-input{height:36px;min-width:146px;border-radius:9px;border:1px solid var(--border-subtle);background:var(--surface-input);padding:0 10px;color:var(--text-primary);font-size:.84rem;transition:border-color .2s ease,box-shadow .2s ease}.movimientos-proyecto-page .calendar-proyecto-date-input:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-action) 18%,transparent)}.movimientos-proyecto-page .calendar-proyecto-apply-btn{min-height:36px;padding-top:.5rem;padding-bottom:.5rem}.movimientos-proyecto-page .calendar-filter-toggle-btn{border:none;background:transparent;color:var(--text-secondary);border-radius:7px;padding:.5rem .82rem;line-height:1;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;cursor:pointer}.movimientos-proyecto-page .calendar-filter-toggle-btn:hover{background:color-mix(in srgb,var(--primary-action) 14%,#ffffff);color:var(--text-primary)}.movimientos-proyecto-page .calendar-filter-toggle-btn:focus-visible{outline:2px solid var(--primary-action);outline-offset:-2px}.movimientos-proyecto-page .calendar-filter-toggle-btn.active{background:var(--primary-action);color:#fff;box-shadow:0 1px 2px #0231c959}@media (max-width: 980px){.movimientos-proyecto-page .calendar-proyecto-filters .calendar-filter-toggle{margin-left:0}.movimientos-proyecto-page .calendar-proyecto-toolbar{flex-direction:column;align-items:stretch;gap:10px}.movimientos-proyecto-page .calendar-proyecto-date-controls{justify-content:flex-start}.movimientos-proyecto-page .calendar-filter-toggle{width:-moz-max-content;width:max-content;align-self:flex-start}}@media (max-width: 640px){.movimientos-proyecto-page .calendar-proyecto-date-controls{width:100%;gap:8px}.movimientos-proyecto-page .calendar-proyecto-date-field{flex:1 1 100%;justify-content:space-between}.movimientos-proyecto-page .calendar-proyecto-date-input{width:100%;min-width:0;max-width:210px}.movimientos-proyecto-page .calendar-proyecto-apply-btn{width:100%;justify-content:center}}.movimientos-proyecto-page .calendar-grand-total-row:hover td{background:#152741!important;color:#fff!important}.movimientos-proyecto-page .calendar-informativa-row{background-color:color-mix(in srgb,var(--surface-input) 86%,#ffffff)}.movimientos-proyecto-page .estatus-badge{font-weight:600}.movimientos-proyecto-page .economia-color-default{background-color:color-mix(in srgb,var(--surface-input) 82%,#ffffff)}.cierre-semana-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.cierre-semana-section{display:flex;flex-direction:column;gap:var(--spacing-md);border:0;background:transparent;border-radius:0;padding:0;box-shadow:none}.tab-content{margin-top:0}.section-container{margin-bottom:0;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--spacing-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);padding:0 var(--spacing-xs) var(--spacing-xs) var(--spacing-xs);border-bottom:1px solid var(--border-subtle)}.section-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.section-count{font-size:12px;color:var(--text-secondary);background:color-mix(in srgb,var(--primary-action) 12%,white);padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary-action) 22%,var(--border-subtle));font-weight:600}.empty-section{text-align:center;padding:var(--spacing-lg);color:var(--text-secondary);background:var(--surface-input);border-radius:.75rem;border:1px dashed var(--border-subtle)}.review-sections-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--spacing-sm);align-items:start}.review-sections-layout .section-container{margin-bottom:0}.section-container--pending{box-shadow:var(--card-shadow)}.section-container--pending .section-header h3{color:var(--primary-action)}.section-container--pending .section-count{background:color-mix(in srgb,var(--primary-action) 12%,white);color:var(--primary-action);font-weight:600}.section-container--reviewed{background:color-mix(in srgb,var(--surface-card) 90%,var(--surface-input))}.section-container--reviewed .section-header h3{color:var(--text-primary)}.section-container--reviewed .movimientos-grid{grid-template-columns:1fr}.week-and-search-row{display:grid;grid-template-columns:minmax(360px,auto) minmax(0,1fr);gap:var(--spacing-sm);align-items:start}.week-selector{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--surface-input);border:1px solid var(--border-subtle);border-radius:.75rem;flex-wrap:wrap;flex:0 0 auto;min-width:-moz-fit-content;min-width:fit-content}.week-selector-group{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.week-selector-group label{font-weight:600;color:var(--text-secondary);font-size:12px}.week-selector-group select{padding:9px 12px;border:1px solid var(--border-subtle);border-radius:.6rem;font-size:var(--font-size-sm);background:#fff;cursor:pointer;transition:all var(--transition-base);color:var(--text-primary)}.week-selector-group select:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-action) 18%,transparent)}.week-range-info{margin-left:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 10px;border-radius:.6rem;border:1px solid color-mix(in srgb,var(--primary-action) 24%,var(--border-subtle));background:#fff;color:var(--text-secondary);font-size:12px;font-weight:500;white-space:normal}.week-range-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary-action) 36%,var(--border-subtle));background:var(--surface-input);color:var(--primary-action);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.week-range-text{color:var(--text-primary);font-size:12px;font-weight:600}.search-bar-container{padding:var(--spacing-sm);background:var(--surface-input);border:1px solid var(--border-subtle);border-radius:.75rem;display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1 1 auto;min-width:0}.search-bar-label{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:0}.search-bar-controls{display:flex;gap:var(--spacing-sm);align-items:center}.search-bar-controls input{flex:1;min-width:220px;padding:9px 11px;border-radius:.6rem;border:1px solid var(--border-subtle);font-size:var(--font-size-sm);background:#fff;transition:all var(--transition-base);color:var(--text-primary)}.search-bar-controls input:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-action) 18%,transparent)}.btn-search-apply,.btn-search-clear{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:.6rem;border:1px solid transparent;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;letter-spacing:.05em;text-transform:uppercase}.btn-search-apply{background:var(--primary-action);border-color:var(--primary-action);color:#fff;box-shadow:var(--shadow-sm)}.btn-search-apply:hover{background:var(--primary-action-hover);border-color:var(--primary-action-hover);transform:translateY(-1px)}.btn-search-clear{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.btn-search-clear:hover{border-color:var(--primary-action);color:var(--primary-action)}.search-bar-helper{font-size:11px;color:var(--text-secondary)}@media (max-width: 1100px){.week-and-search-row{grid-template-columns:1fr}.week-selector,.search-bar-container{min-width:0;width:100%}.review-sections-layout{grid-template-columns:1fr}}@media (max-width: 768px){.search-bar-controls{flex-wrap:wrap}.btn-search-apply,.btn-search-clear{flex:1 1 auto}.week-range-info{margin-left:0;width:100%;white-space:normal}.cierre-semana-section{padding:0}}.movimientos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.movimiento-card{background:var(--surface-input);border:1px solid var(--border-subtle);border-radius:.75rem;padding:10px 12px;box-shadow:var(--card-shadow);transition:all var(--transition-base)}.movimiento-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary-action) 40%,var(--border-subtle))}.movimiento-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.movimiento-tipo{display:inline-flex;align-items:center;gap:6px}.movimiento-tipo-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary-action) 28%,var(--border-subtle));background:color-mix(in srgb,var(--primary-action) 10%,white);color:var(--primary-action);padding:3px 10px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cierre-semana-section .estado-badge{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.estado-badge.estado-revisado{background:var(--badge-success-bg);color:var(--badge-success-text);border:1px solid var(--badge-success-border)}.estado-badge.estado-pendiente{background:var(--badge-warning-bg);color:var(--badge-warning-text);border:1px solid var(--badge-warning-border)}.estado-badge.estado-sin-revisar{background:var(--badge-error-bg);color:var(--badge-error-text);border:1px solid var(--badge-error-border)}.movimiento-body{margin-bottom:8px}.cierre-semana-section .movimiento-fecha{font-size:12px;color:var(--text-secondary);margin-bottom:6px;line-height:1.25;font-weight:500}.cierre-semana-section .movimiento-info{margin-bottom:4px;font-size:13px;color:var(--text-primary);line-height:1.3}.cierre-semana-section .movimiento-info-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.movimiento-info strong{color:var(--text-primary);margin-right:2px;font-weight:600}.movimiento-montos{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:row;gap:12px;flex-wrap:wrap}.cierre-semana-section .movimiento-montos div{font-size:13px;color:var(--text-primary);line-height:1.25;flex:0 0 auto}.cierre-semana-section .movimiento-estatus{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle);font-size:13px;line-height:1.25}.cierre-semana-section .movimiento-tipo{font-size:13px}.cierre-semana-section .estatus-badge{display:inline-flex;align-items:center;justify-content:center;min-width:86px;max-width:100px;padding:2px 8px;border-radius:999px;font-size:13px;font-weight:600;margin-left:6px;text-transform:lowercase;border:1px solid transparent}.cierre-semana-section .estatus-badge:first-letter{text-transform:uppercase}.estatus-badge.estatus-real{background-color:var(--badge-success-bg);color:var(--badge-success-text);border-color:var(--badge-success-border)}.estatus-badge.estatus-estimado{background-color:var(--badge-warning-bg);color:var(--badge-warning-text);border-color:var(--badge-warning-border)}.estatus-badge.estatus-proyeccion{background-color:var(--surface-input);color:var(--text-secondary);border-color:var(--border-subtle)}.movimiento-actions{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:8px;border-top:1px solid var(--border-subtle)}.movimiento-actions-primary{display:flex;flex:1;gap:6px}.cierre-semana-section .btn-edit,.cierre-semana-section .btn-review{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid transparent;border-radius:.6rem;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;line-height:1.2;text-transform:uppercase;letter-spacing:.04em}.btn-edit{background-color:var(--primary-action);border-color:var(--primary-action);color:#fff}.btn-edit:hover{background-color:var(--primary-action-hover);border-color:var(--primary-action-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-review{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.btn-review:hover:not(:disabled){background-color:#059669;border-color:#059669;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-review:disabled{background-color:var(--surface-input);border-color:var(--border-subtle);color:var(--text-muted);cursor:not-allowed;opacity:.8}.btn-delete{flex-shrink:0;width:34px;height:34px;padding:0;border:1px solid var(--badge-error-border);border-radius:.6rem;cursor:pointer;transition:all var(--transition-base);background-color:#fff;color:var(--badge-error-text);display:flex;align-items:center;justify-content:center;line-height:1}.btn-delete:hover{background-color:var(--badge-error-bg);border-color:var(--badge-error-text);color:var(--badge-error-text);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.delete-confirm-modal{max-width:480px}.delete-confirm-body{padding:var(--spacing-lg)}.delete-confirm-warning{font-size:var(--font-size-base);color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);font-family:var(--font-family)}.delete-confirm-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-family)}.delete-confirm-info strong{margin-right:4px;font-weight:600}.delete-confirm-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn-cancel-delete{padding:10px 20px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.btn-cancel-delete:hover{background:var(--bg-secondary)}.btn-confirm-delete{padding:10px 20px;border:none;border-radius:var(--border-radius);background:#ef4444;color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.btn-confirm-delete:hover{background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.review-content{padding:var(--spacing-lg)}.review-section{margin-bottom:var(--spacing-lg)}.review-section h3{margin-bottom:var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-family)}.review-section>div{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-family)}.review-section strong{color:var(--text-primary);margin-right:8px;font-weight:600}.estatus-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.btn-estatus{flex:1;padding:12px 20px;border:none;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.btn-estatus-real{background-color:#10b981;color:#fff}.btn-estatus-real:hover{background-color:#059669;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-estatus-estimado{background-color:#f59e0b;color:#fff}.btn-estatus-estimado:hover{background-color:#d97706;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-estatus-proyeccion{background-color:var(--color-primary);color:#fff}.btn-estatus-proyeccion:hover{background-color:var(--color-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.edit-notice{padding:var(--spacing-lg);text-align:center}.edit-notice p{margin-bottom:var(--spacing-md);color:var(--text-primary);font-family:var(--font-family)}.edit-actions{display:flex;gap:var(--spacing-md);justify-content:center}.hoja-flujo-container{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;margin:0;padding-left:var(--spacing-xl);padding-right:var(--spacing-xl);padding-top:0;padding-bottom:var(--spacing-lg);height:100%;min-height:0;overflow:hidden}.hoja-flujo-filters{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:0;background-color:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);flex-shrink:0}.hoja-flujo-filters .filter-group{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md)}.hoja-flujo-filters label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);white-space:nowrap;margin:0}.hoja-flujo-filters input[type=date]{padding:6px 10px;border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:var(--font-size-sm);font-family:var(--font-family);transition:all var(--transition-base);background-color:var(--bg-primary);min-width:140px}.hoja-flujo-filters input[type=date]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.modo-toggle-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto;flex-shrink:0}.modo-toggle-group{display:flex;align-items:center;gap:0;border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--border-color)}.modo-toggle-btn{padding:6px 14px;font-size:var(--font-size-sm);font-family:var(--font-family);font-weight:500;color:var(--text-secondary);background-color:var(--bg-primary);border:none;border-right:1px solid var(--border-color);cursor:pointer;transition:background-color .15s,color .15s;white-space:nowrap}.modo-toggle-btn:last-child{border-right:none}.modo-toggle-btn:hover:not(.modo-toggle-btn--active){background-color:var(--bg-tertiary);color:var(--text-primary)}.modo-toggle-btn--active{background-color:var(--color-primary);color:var(--text-white);font-weight:600}.modo-glosario-btn{border:none;background:transparent;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;padding:4px 6px;text-decoration:underline;white-space:nowrap}.modo-glosario-btn:hover{color:var(--color-tertiary)}.glosario-modos-body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.glosario-intro{margin:0 0 var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.glosario-modo h3{margin:0 0 4px;font-size:var(--font-size-base);color:var(--text-primary)}.glosario-modo ul{margin:0;padding-left:1.2rem;font-size:var(--font-size-sm);color:var(--text-secondary);display:grid;gap:4px}.hoja-flujo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:0;background-color:var(--bg-primary);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);flex-shrink:0}.hoja-flujo-toolbar-left{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.hoja-flujo-toolbar-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.hoja-flujo-toolbar-desc{font-size:var(--font-size-sm);color:var(--text-secondary)}.hoja-flujo-toolbar-actions{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.calendar-view-container{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;margin:0;padding:0;flex:1;min-height:0;overflow:visible}.calendar-navigation{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--border-radius);margin-bottom:var(--spacing-sm)}.calendar-nav-button{background:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:var(--border-radius);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all var(--transition-base);min-width:40px;display:flex;align-items:center;justify-content:center}.calendar-nav-button:hover:not(:disabled){background:var(--color-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.calendar-nav-button:disabled{background:var(--text-tertiary);cursor:not-allowed;opacity:.5}.calendar-nav-info{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);min-width:150px;text-align:center}.calendar-date-selector{display:flex;align-items:center;gap:var(--spacing-xs);margin-left:var(--spacing-md);padding-left:var(--spacing-md);border-left:1px solid var(--border-color)}.calendar-date-label{font-size:var(--font-size-lg);cursor:pointer;display:flex;align-items:center}.calendar-date-input{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--text-primary);background:#fff;cursor:pointer;transition:all var(--transition-base)}.calendar-date-input:hover{border-color:var(--color-primary)}.calendar-date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.calendar-table-wrapper{overflow:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);box-shadow:var(--shadow-md);width:100%;max-width:100%;max-height:none;height:auto;flex:1;min-height:0;position:relative;margin:0}.calendar-table{width:-moz-max-content;width:max-content;min-width:100%;border-collapse:collapse;background:var(--bg-primary);min-height:100%}.calendar-category-header,.calendar-cuenta-header{padding:6px 8px;font-weight:600;font-size:var(--font-size-base);color:#fff;background:var(--color-primary);text-align:center;border:1px solid var(--border-color);white-space:nowrap;height:42px;box-sizing:border-box;vertical-align:middle;position:sticky;z-index:12}.calendar-category-header{width:120px;min-width:120px;left:0;background:var(--color-primary);text-align:center}.calendar-cuenta-header{width:220px;min-width:220px;left:120px;border-right:2px solid var(--border-color);background:var(--color-primary)}.calendar-category-cell,.calendar-cuenta-cell{padding:6px 8px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);height:40px;border:1px solid var(--border-color);box-sizing:border-box;vertical-align:middle;text-align:center;position:sticky;z-index:8}.calendar-category-cell{width:120px;min-width:120px;left:0;background:var(--bg-primary)}.calendar-cuenta-cell{width:220px;min-width:220px;left:120px;border-right:2px solid var(--border-color);background:var(--bg-primary)}.category-row{font-weight:600;color:var(--text-primary);background:var(--bg-tertiary)!important}.calendar-category-cell.category-row{background:var(--bg-tertiary)!important}.calendar-category-cell.category-row.economia-color-keca-a{background:#eaf7ea!important}.calendar-category-cell.category-row.economia-color-keca-b{background:#fff4e5!important}.calendar-category-cell.category-row.economia-color-keca-c{background:#f3eaff!important}.calendar-category-cell.category-row.economia-color-keca-d-e{background:#ffeef2!important}.calendar-category-cell.category-row.economia-color-klc{background:#e6fbff!important}.calendar-category-cell.category-row.economia-color-default{background:#eef2f7!important}.account-row{color:var(--text-secondary);font-size:var(--font-size-sm);padding-left:20px}.calendar-total-row{background:var(--bg-tertiary)}.calendar-total-row td{border-top:2px solid var(--border-color);border-bottom:2px solid var(--border-color)}.calendar-economia-start-row td{border-top:3px solid var(--border-subtle)}.calendar-economia-end-row td{border-bottom:3px solid var(--border-subtle)}.calendar-economia-start-row .calendar-category-cell{border-top:3px solid var(--border-subtle)}.calendar-total-cell{font-weight:700;background:var(--bg-tertiary);color:var(--text-primary)}.calendar-total-row .calendar-category-cell,.calendar-total-row .calendar-cuenta-cell{background:var(--bg-tertiary)}.calendar-total-row td,.calendar-total-row th,.calendar-total-row .calendar-week-cell,.calendar-total-row .calendar-amount,.calendar-total-row .calendar-amount-empty{background:var(--bg-tertiary)!important;color:var(--text-primary)!important}.calendar-total-amount.negative,.calendar-total-amount.calendar-amount-button.negative{color:var(--color-amount-negative)!important}.calendar-total-amount{font-weight:700;color:var(--text-primary)}.calendar-total-amount.calendar-amount-button{border:none;cursor:pointer;font:inherit;line-height:inherit;color:inherit;display:inline-flex;align-items:center;justify-content:center;background:transparent;padding:4px 8px}.calendar-total-general-row td,.calendar-total-general-row th{background:var(--accent-color)!important;color:#fff!important;border-top:3px solid var(--accent-color);border-bottom:3px solid var(--accent-color)}.calendar-total-general-cell{font-weight:800;font-size:.95rem;letter-spacing:.02em}.calendar-total-general-row .calendar-total-amount{font-weight:800;color:#fff!important}.calendar-total-general-row td.total-general-negative{background:var(--color-error-dark)!important;border-color:var(--color-error-dark)!important}.calendar-total-general-row .calendar-total-amount.negative{color:#fff!important;font-weight:900}.calendar-total-amount.calendar-amount-button:hover{background:#0032ff14}.calendar-total-amount.calendar-amount-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-months-row{background:var(--color-primary);position:sticky;top:0;z-index:14}.calendar-months-row th{border:1px solid var(--border-color)}.calendar-months-row th:first-child{position:sticky;left:0;z-index:15;background:var(--color-primary)}.calendar-months-row th:nth-child(2){position:sticky;left:120px;z-index:15;background:var(--color-primary)}.calendar-month-header-cell{padding:10px 12px;font-weight:600;font-size:var(--font-size-base);color:#fff;text-align:center;white-space:nowrap;height:44px;box-sizing:border-box;vertical-align:middle;background:var(--color-primary);border:1px solid var(--border-color);position:relative;z-index:1}.calendar-weeks-row{background:var(--bg-tertiary);position:sticky;top:44px;z-index:13}.calendar-week-header-cell{padding:6px 8px;font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary);text-align:center;width:130px;white-space:nowrap;background:var(--bg-tertiary);height:42px;box-sizing:border-box;vertical-align:middle;border:1px solid var(--border-color);position:relative;z-index:1}.calendar-week-header-cell:first-child{position:sticky;left:0;z-index:14;background:var(--bg-tertiary)}.calendar-week-header-cell:nth-child(2){position:sticky;left:120px;z-index:14;background:var(--bg-tertiary);border-right:2px solid var(--border-color)}.calendar-week-header-cell.calendar-week-current{box-shadow:inset 0 -4px 0 0 var(--color-primary)}.calendar-week-cell.calendar-week-current{background:#0032ff0a;box-shadow:inset 0 0 0 2px #0032ff0f}.calendar-cell-saldo-inicial-proyectado{background:#f59e0b2e}.calendar-cell-saldo-inicial-proyectado .calendar-amount,.calendar-cell-saldo-inicial-proyectado .calendar-amount-button{color:#b45309!important}.calendar-week-header-cell>div:first-child{font-weight:600;margin-bottom:2px}.calendar-week-header-cell>div:last-child{font-size:11px;font-weight:400}.calendar-tasa-row{background:var(--bg-primary);position:sticky;top:86px;z-index:12}.calendar-tasa-label-cell{padding:6px 8px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);text-align:center;background:var(--bg-primary);height:40px;box-sizing:border-box;vertical-align:middle;border:1px solid var(--border-color);position:sticky;left:0;z-index:13}.calendar-tasa-label-cell+.calendar-tasa-cell{border-left:2px solid var(--border-color)}.calendar-tasa-cell{padding:6px 8px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);text-align:center;width:130px;white-space:nowrap;background:var(--bg-primary);height:40px;box-sizing:border-box;vertical-align:middle;border:1px solid var(--border-color);position:relative;z-index:1}.calendar-tasa-cell.calendar-week-current{background:#0032ff0a;box-shadow:inset 0 0 0 2px #0032ff0f}.calendar-data-row{transition:background-color var(--transition-base)}.calendar-data-row:hover,.calendar-data-row:hover td,.calendar-data-row:hover .calendar-category-cell,.calendar-data-row:hover .calendar-cuenta-cell,.calendar-total-row:hover td,.calendar-total-row:hover .calendar-category-cell,.calendar-total-row:hover .calendar-cuenta-cell{background-color:var(--bg-tertiary)}.calendar-keca-a-subtotal-row td,.calendar-keca-a-subtotal-row th,.calendar-keca-a-subtotal-row .calendar-week-cell,.calendar-keca-a-subtotal-row .calendar-amount,.calendar-keca-a-subtotal-row .calendar-amount-empty{background:var(--badge-info-bg)!important}.calendar-keca-a-subtotal-row .calendar-total-amount{color:var(--badge-info-text)!important}.calendar-keca-a-subtotal-row .calendar-total-amount.negative{color:var(--color-error-dark)!important}.calendar-keca-a-subtotal-row:hover td,.calendar-keca-a-subtotal-row:hover .calendar-category-cell,.calendar-keca-a-subtotal-row:hover .calendar-cuenta-cell{background:var(--badge-info-bg)!important}.calendar-group-row .calendar-cuenta-cell{font-weight:600;color:var(--text-primary);background-color:var(--bg-tertiary)}.calendar-group-cell{display:flex;align-items:center;gap:8px;width:100%;background-color:inherit}.calendar-group-toggle{font-size:12px;color:var(--text-secondary)}.calendar-group-child-row .calendar-cuenta-cell{padding-left:32px}.calendar-week-cell{padding:6px 8px;width:130px;height:40px;font-size:var(--font-size-sm);background:var(--bg-primary);text-align:center;vertical-align:middle;border:1px solid var(--border-color);box-sizing:border-box;position:relative;z-index:1}.calendar-week-cell--changed{background-color:var(--badge-warning-bg);box-shadow:inset 0 0 0 2px var(--color-warning)}.calendar-amount{color:var(--text-primary);font-weight:500;text-align:center;padding:4px 8px;border-radius:0;background:transparent;transition:all var(--transition-base)}.calendar-amount--changed{font-weight:700;color:var(--badge-warning-text)}.cell-change-tooltip{position:fixed;background:#fff;border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:8px 10px;min-width:220px;max-width:280px;z-index:9999;text-align:left;font-size:11px;pointer-events:none}.cell-change-title{font-weight:600;margin-bottom:6px;color:var(--text-primary)}.cell-change-row{display:flex;justify-content:space-between;gap:6px;margin-bottom:3px}.cell-change-row span:first-child{font-weight:500;color:var(--text-secondary)}.cell-change-row span:last-child{color:var(--text-primary);text-align:right}.calendar-amount-button{border:none;cursor:pointer;font:inherit;line-height:inherit;color:inherit;display:inline-flex;align-items:center;justify-content:center}.calendar-amount-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-week-cell:hover .calendar-amount{background:#0032ff14;transform:none}.calendar-amount-empty{color:var(--text-tertiary);font-style:italic}.calendar-week-header-cell.semana-pendiente{background-color:var(--badge-error-bg)!important}.calendar-week-header-cell.semana-ok{background-color:var(--badge-success-bg)!important}.calendar-week-header-cell.clickeable-week-header:hover{background-color:var(--badge-error-border)!important;opacity:.9}.calendar-table-wrapper::-webkit-scrollbar{height:10px;width:10px}.calendar-table-wrapper::-webkit-scrollbar-track{background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.calendar-table-wrapper::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:5px}.calendar-table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.movimiento-pendiente-row{transition:background-color var(--transition-base)}.movimiento-pendiente-row:hover{background-color:var(--surface-pending)!important}.resumen-section{flex-shrink:0}.resumen-loading{font-size:var(--font-size-sm);color:var(--text-tertiary);padding:var(--spacing-sm) 0}.resumen-table-wrapper{overflow-x:auto;overflow-y:visible;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);box-shadow:var(--shadow-md);width:100%}.resumen-table{width:-moz-max-content;width:max-content;min-width:100%;border-collapse:collapse;background:var(--bg-primary);font-size:var(--font-size-sm)}.resumen-title-row{background:var(--color-primary)}.resumen-title-row th{border:1px solid var(--border-color)}.resumen-modo-header{padding:6px 8px;font-weight:600;font-size:var(--font-size-base);color:#fff;background:var(--color-primary);text-align:center;border:1px solid var(--border-color);white-space:nowrap;box-sizing:border-box;vertical-align:middle;position:sticky;left:0;z-index:12;min-width:140px;width:140px}.resumen-month-header{padding:10px 12px;font-weight:600;font-size:var(--font-size-base);color:#fff;text-align:center;white-space:nowrap;height:44px;box-sizing:border-box;vertical-align:middle;background:var(--color-primary);border:1px solid var(--border-color)}.resumen-semanas-header{padding:6px 10px;font-weight:700;font-size:var(--font-size-sm);color:#fff;background:var(--color-primary);text-align:center;white-space:nowrap;line-height:1.4;box-sizing:border-box;vertical-align:middle;border:1px solid var(--border-color);position:sticky;right:0;z-index:12;min-width:130px}.resumen-weeks-row{background:var(--bg-tertiary)}.resumen-week-header-cell{padding:6px 8px;font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary);text-align:center;min-width:130px;white-space:nowrap;background:var(--bg-tertiary);height:42px;box-sizing:border-box;vertical-align:middle;border:1px solid var(--border-color)}.resumen-week-header-cell.calendar-week-current{box-shadow:inset 0 -4px 0 0 var(--color-primary)}.resumen-modo-cell{padding:6px 12px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);background:var(--bg-primary);height:40px;border:1px solid var(--border-color);box-sizing:border-box;vertical-align:middle;white-space:nowrap;position:sticky;left:0;z-index:8;min-width:140px;width:140px;background:var(--bg-tertiary)}.resumen-week-cell{padding:6px 8px;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--text-primary);border:1px solid var(--border-color);text-align:right;vertical-align:middle;background:var(--bg-primary);height:40px;box-sizing:border-box}.resumen-week-cell.calendar-week-current{background:#0032ff0a;box-shadow:inset 0 0 0 2px #0032ff0f}.resumen-amount{font-weight:500}.resumen-amount.negative{color:var(--color-amount-negative);font-weight:700}.resumen-negative{background:#d32f2f0a}.resumen-semanas-cell{padding:6px 12px;text-align:center;font-weight:700;font-size:var(--font-size-sm);border:1px solid var(--border-color);position:sticky;right:0;z-index:8;min-width:130px;min-height:40px;box-sizing:border-box;vertical-align:middle}.resumen-semanas-alerta{color:var(--color-error-dark);background:#b71c1c14}.resumen-semanas-ok{color:var(--badge-success-text);background:#10b9811a}.resumen-semanas-count{font-weight:700;font-size:var(--font-size-sm);white-space:nowrap}.resumen-semanas-detail{font-weight:400;font-size:.72rem;opacity:.85;white-space:nowrap;margin-top:2px}.resumen-row:hover .resumen-week-cell{background:var(--bg-tertiary)}.resumen-row:hover .resumen-week-cell.calendar-week-current{background:#0032ff0a}.resumen-row:hover .resumen-modo-cell,.resumen-row:hover .resumen-semanas-cell{filter:brightness(.97)}.form-modal .form-content .movimientos-table-wrapper{overflow-x:visible;max-width:100%}.form-modal .form-content .movimientos-table{table-layout:fixed;width:100%;word-break:break-word}.form-modal .form-content .movimientos-table th,.form-modal .form-content .movimientos-table td{padding:8px 10px;white-space:normal}.form-modal .form-content .movimientos-table thead th,.form-modal .form-content .movimientos-table td{font-size:.95rem}.transferencias-form-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background-color:var(--modal-backdrop)}.transferencias-form-content{width:100%;max-width:820px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:.75rem;background:var(--surface-card);box-shadow:var(--shadow-lg)}.transferencias-form-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--border-subtle)}.transferencias-form-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.transferencias-form-content form{padding:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.required{color:var(--color-error)}.form-group input,.form-group textarea,.form-group select{width:100%;box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:.5rem;background:var(--surface-input);padding:10px 12px;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);transition:all var(--transition-base)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-action) 22%,transparent)}.readonly-input{background-color:var(--surface-elevated);color:var(--text-secondary);cursor:not-allowed}.tasa-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:220px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:.5rem;background:var(--surface-card);box-shadow:var(--shadow-md)}.tasa-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:10px 12px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background-color var(--transition-base)}.tasa-dropdown-item:hover{background:var(--surface-elevated)}.tasa-dropdown-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.tasa-dropdown-value{font-size:var(--font-size-sm);font-weight:600;color:var(--primary-action)}.tasa-dynamic-badge{display:inline-block;margin-top:6px;border:1px solid color-mix(in srgb,var(--primary-action) 45%,var(--border-subtle));border-radius:999px;background:color-mix(in srgb,var(--primary-action) 8%,var(--surface-input));padding:2px 8px;font-size:.75rem;font-weight:600;color:var(--primary-action)}.tasa-origen-badge{display:inline-flex;align-items:center;margin-left:6px;border-radius:999px;padding:1px 6px;font-size:.7rem;font-weight:700;text-transform:lowercase}.tasa-origen-real{background-color:color-mix(in srgb,var(--success-color) 18%,white);color:color-mix(in srgb,var(--success-color) 75%,black)}.tasa-origen-proyeccion{background-color:color-mix(in srgb,var(--warning-color) 20%,white);color:color-mix(in srgb,var(--warning-color) 72%,black)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-subtle)}.transferencia-economia-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;border-radius:999px;border:1px solid transparent;padding:0 10px;font-size:.72rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase}.transferencias-economia-color-keca-a{background-color:color-mix(in srgb,#dbeafe 84%,white);border-color:color-mix(in srgb,#93c5fd 64%,white);color:#1e40af}.transferencias-economia-color-keca-b{background-color:color-mix(in srgb,#dcfce7 86%,white);border-color:color-mix(in srgb,#86efac 64%,white);color:#166534}.transferencias-economia-color-keca-c{background-color:color-mix(in srgb,#fef3c7 88%,white);border-color:color-mix(in srgb,#fcd34d 68%,white);color:#92400e}.transferencias-economia-color-keca-d-e{background-color:color-mix(in srgb,#ede9fe 86%,white);border-color:color-mix(in srgb,#c4b5fd 64%,white);color:#5b21b6}.transferencias-economia-color-klc{background-color:color-mix(in srgb,#cffafe 84%,white);border-color:color-mix(in srgb,#67e8f9 62%,white);color:#0e7490}.transferencias-economia-color-default{background-color:var(--surface-elevated);border-color:var(--border-subtle);color:var(--text-secondary)}@media (max-width: 768px){.transferencias-form-modal{padding:var(--spacing-sm)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%;justify-content:center}}.simulaciones-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.simulaciones-section{display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.simulaciones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color)}.simulaciones-header h1{margin-top:.25rem;margin-bottom:0}.btn-primary{background:var(--color-primary);color:#fff;border:none;padding:12px 24px;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-tertiary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:10px 20px;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover{background:var(--bg-secondary)}.btn-icon{background:transparent;border:none;padding:8px;border-radius:var(--border-radius);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.1)}.btn-icon.btn-danger{color:#dc2626}.btn-icon.btn-danger:hover{background:#fee2e2;color:#991b1b}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee2e2;color:#991b1b;padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary);background:var(--bg-primary);border:1px dashed var(--border-color);border-radius:var(--border-radius);margin-top:var(--spacing-lg)}.empty-state p{margin:var(--spacing-sm) 0;font-size:var(--font-size-base)}.empty-state p:first-child{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md)}.simulaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-md)}.simulacion-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);display:flex;flex-direction:column;cursor:pointer;position:relative;overflow:hidden}.simulacion-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));opacity:0;transition:opacity var(--transition-base)}.simulacion-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--color-primary)}.simulacion-card:hover:before{opacity:1}.simulacion-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.simulacion-card-header h3{margin:0;font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);flex:1;line-height:1.3;letter-spacing:-.3px}.simulacion-card-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.simulacion-card-description{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-lg);line-height:1.6;flex:1}.simulacion-card-footer{border-top:1px solid var(--border-color);padding-top:var(--spacing-md);margin-top:auto}.simulacion-card-meta{display:flex;flex-direction:column;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-tertiary)}.simulacion-card-meta span{display:flex;align-items:center;gap:var(--spacing-xs)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-primary);border-radius:var(--border-radius-lg);padding:0;max-width:600px;width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.modal-content form{padding:var(--spacing-xl);overflow-y:auto;flex:1}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-base);background:var(--bg-primary);box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.simulacion-section{display:flex;flex-direction:column;gap:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--border-radius);padding:var(--spacing-xl);box-shadow:var(--shadow-md);width:100%}.simulacion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.simulacion-header h1{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-2xl);color:var(--text-primary)}.simulacion-description{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.simulacion-header-actions{display:flex;gap:var(--spacing-md)}.historial-modal{max-width:800px;max-height:90vh}.historial-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:60vh;overflow-y:auto}.historial-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md)}.historial-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.historial-item-tipo{font-weight:600;color:var(--text-primary)}.historial-item-fecha{font-size:var(--font-size-xs);color:var(--text-tertiary)}.historial-item-descripcion{color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.historial-item-datos{margin-top:var(--spacing-sm);font-size:var(--font-size-xs)}.historial-item-datos pre{background:#fff;padding:var(--spacing-sm);border-radius:var(--border-radius);overflow-x:auto;margin-top:var(--spacing-xs);font-size:var(--font-size-xs)}.historial-comparacion{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.historial-comparacion-col{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md)}.historial-comparacion-header{font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--border-color)}.historial-datos-solo{background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.historial-datos-detalle{display:flex;flex-direction:column;gap:var(--spacing-xs)}.historial-datos-row{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-xs) 0;border-bottom:1px solid #f3f4f6}.historial-datos-row:last-child{border-bottom:none}.historial-label{font-weight:600;color:var(--text-secondary);font-size:var(--font-size-sm);min-width:120px;flex-shrink:0}.historial-value{color:var(--text-primary);font-size:var(--font-size-sm);text-align:right;flex:1;word-break:break-word}.historial-cambio{background-color:#fef3c7!important;border-left:3px solid #f59e0b;padding-left:var(--spacing-sm)}.historial-cambio .historial-label,.historial-cambio .historial-value{font-weight:600;color:#92400e}.form-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.form-content{background:#fff;border-radius:var(--border-radius);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.form-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.form-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.form-content form{padding:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.required{color:#ef4444}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-base);box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0032ff1a}.form-group select{cursor:pointer;background-color:#fff}.readonly-input{background-color:var(--bg-tertiary);cursor:not-allowed}.tasa-input-wrapper{position:relative}.tasa-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-md);z-index:1000;margin-top:4px;max-height:200px;overflow-y:auto}.tasa-dropdown-item{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--transition-base);border-bottom:1px solid var(--border-color)}.tasa-dropdown-item:last-child{border-bottom:none}.tasa-dropdown-item:hover{background-color:var(--bg-tertiary)}.tasa-dropdown-label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.tasa-dropdown-value{font-weight:600;color:var(--color-primary);font-size:var(--font-size-sm)}.btn-close{background:none;border:none;font-size:28px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:all var(--transition-base)}.btn-close:hover{background-color:#f3f4f6;color:#1f2937}@media (max-width: 768px){.historial-comparacion,.form-row{grid-template-columns:1fr}}.calendar-cell-editable{cursor:pointer;transition:background-color .15s}.calendar-cell-editable:hover{background-color:#2563eb12!important}.calendar-cell-overridden{background-color:#eab3081f!important}.calendar-amount-overridden{color:#b45309;font-style:italic}.calendar-amount-editable-empty{color:#93c5fd;font-size:16px;font-weight:700;opacity:.6}.calendar-cell-input{width:100%;min-width:80px;border:1px solid #2563eb;border-radius:4px;padding:2px 4px;font-size:13px;font-family:inherit;text-align:right;background:#fff;color:#1f2937;outline:none;box-shadow:0 0 0 2px #2563eb33;-moz-appearance:textfield}.calendar-cell-input::-webkit-outer-spin-button,.calendar-cell-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calendar-cell-edit-card{display:flex;flex-direction:column;gap:4px;padding:4px;background:#fff;border:1px solid #2563eb;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:140px;position:relative;z-index:200}.calendar-cell-comment-input{width:100%;border:1px solid #d1d5db;border-radius:4px;padding:2px 6px;font-size:11px;font-family:inherit;color:#374151;outline:none;background:#f9fafb;transition:border-color .15s}.calendar-cell-comment-input:focus{border-color:#2563eb;background:#fff}.calendar-cell-comment-input::-moz-placeholder{color:#9ca3af;font-style:italic}.calendar-cell-comment-input::placeholder{color:#9ca3af;font-style:italic}.calendar-cell-edit-actions{display:flex;justify-content:flex-end;gap:4px;margin-top:2px}.calendar-cell-edit-btn{border:none;border-radius:4px;width:24px;height:22px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.calendar-cell-edit-btn.confirm{background:#dcfce7;color:#166534}.calendar-cell-edit-btn.confirm:hover{background:#bbf7d0}.calendar-cell-edit-btn.cancel{background:#fee2e2;color:#991b1b}.calendar-cell-edit-btn.cancel:hover{background:#fecaca}.calendar-cell-comment-dot{font-size:7px;color:#2563eb;vertical-align:super;margin-left:2px;line-height:1}.calendar-cell-override-tooltip{position:fixed;transform:translate(-50%,calc(-100% - 8px));background:#1e293b;color:#f1f5f9;border-radius:8px;padding:8px 12px;font-size:12px;pointer-events:none;z-index:9999;max-width:260px;box-shadow:0 4px 16px #00000040;white-space:pre-wrap;word-break:break-word}.calendar-cell-override-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e293b}.calendar-cell-override-tooltip-value{font-weight:600;font-size:13px;margin-bottom:4px;color:#fbbf24}.calendar-cell-override-tooltip-comment{line-height:1.4;color:#cbd5e1}.proyectos-container{display:flex;height:calc(100vh - (var(--spacing-lg) * 2));min-height:0;flex-direction:column;gap:var(--spacing-sm);overflow:hidden}.proyectos-header-subtitle{margin:2px 0 0;color:var(--text-secondary);font-size:var(--font-size-xs)}.proyectos-content{display:grid;grid-template-columns:minmax(320px,25%) minmax(0,75%);flex:1;min-height:0;gap:var(--spacing-md);overflow:hidden}.proyectos-sidebar{background:var(--surface-card);border-radius:.75rem;box-shadow:var(--shadow-xs);border:1px solid var(--border-subtle);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);height:100%;min-height:0;overflow:hidden}.proyectos-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.proyectos-sidebar-title{margin:0;display:inline-flex;align-items:center;gap:.35rem;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.clientes-search-input{width:100%;height:40px;padding:0 12px;border-radius:.5rem;border:1px solid var(--border-subtle);background:#fff;color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);box-sizing:border-box;transition:border-color var(--transition-base)}.clientes-search-input:focus{outline:none;border-color:var(--primary-action)}.clientes-search-input::-moz-placeholder{color:var(--text-muted)}.clientes-search-input::placeholder{color:var(--text-muted)}.clientes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;flex:1;min-height:0;overflow-y:auto}.proyectos-sidebar>.empty-state{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.cliente-item{border-radius:.625rem;padding:.5rem .625rem;background:#fff;border:1px solid var(--border-subtle);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),border-color var(--transition-base),background var(--transition-base)}.cliente-item:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb,var(--primary-action) 60%,var(--border-subtle))}.cliente-item.selected{border-color:var(--primary-action);box-shadow:var(--shadow-sm);background:var(--surface-elevated)}.cliente-nombre{font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cliente-actions{display:flex;gap:.25rem;flex-shrink:0}.proyectos-main{display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--surface-card);border-radius:.75rem;box-shadow:var(--shadow-xs);border:1px solid var(--border-subtle);padding:var(--spacing-md);height:100%;min-height:0;overflow-y:auto}.proyectos-main-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-subtle)}.proyectos-main-title{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.proyectos-main-subtitle{margin:.25rem 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.proyectos-main-empty{margin-top:var(--spacing-sm)}.proyectos-table-shell{overflow:hidden;border-radius:.75rem;border:1px solid var(--border-subtle);background:var(--surface-card);box-shadow:var(--card-shadow)}.proyectos-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.proyectos-table th,.proyectos-table td{text-align:left}.proyectos-action-buttons{display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:8px 16px;background:var(--primary-action);color:#fff;border:none;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .15s ease}.btn-primary:hover{background:var(--primary-action-hover);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:8px 16px;background:var(--surface-input);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{border-color:var(--primary-action);color:var(--primary-action);background:var(--surface-elevated)}.btn-icon{border:1px solid var(--border-subtle);padding:6px 8px;border-radius:var(--border-radius);background:transparent;cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;color:var(--text-secondary)}.btn-icon:hover{background:var(--surface-elevated);border-color:var(--primary-action);color:var(--primary-action);transform:translateY(-1px)}.btn-icon.btn-danger{color:var(--danger, #dc2626)}.btn-icon.btn-danger:hover{color:var(--danger, #dc2626);border-color:var(--danger, #dc2626);background:color-mix(in srgb,var(--danger, #dc2626) 8%,white)}.proyectos-btn-icon-delete{border:1px solid color-mix(in srgb,var(--danger, #dc2626) 40%,var(--border-subtle));padding:6px 8px;border-radius:var(--border-radius);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--danger, #dc2626);box-shadow:var(--shadow-xs);transition:all .15s ease}.proyectos-btn-icon-delete:hover{background:color-mix(in srgb,var(--danger, #dc2626) 8%,white);border-color:var(--danger, #dc2626);transform:translateY(-1px)}.btn-icon:disabled{opacity:.4;cursor:not-allowed;transform:none}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.form-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border-radius:var(--border-radius);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);box-sizing:border-box;transition:all var(--transition-base)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-action);box-shadow:0 0 0 3px #00499c1f}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-md)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:50}.modal{width:100%;max-width:520px;background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.modal h2{margin:0;font-size:var(--font-size-xl);color:var(--text-primary);letter-spacing:-.02em}.error-message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);background:#ef44440f;border:1px solid rgba(239,68,68,.4);color:#b91c1c;font-size:var(--font-size-sm)}.empty-state{padding:var(--spacing-lg);border-radius:var(--border-radius-lg);border:1px dashed var(--border-color);background:var(--bg-primary);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.loading-state{padding:var(--spacing-lg);text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}@media (max-width: 1024px){.proyectos-container{height:auto;min-height:auto;overflow:visible}.proyectos-content{grid-template-columns:1fr;height:auto;min-height:auto;flex:initial;overflow:visible}}@media (max-width: 768px){.proyectos-header{flex-direction:column;align-items:flex-start}.modal{margin:0 var(--spacing-md);padding:var(--spacing-md)}}*{box-sizing:border-box}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-secondary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary: #0032FF;--color-primary-light: #1890DC;--color-primary-dark: #00499C;--color-secondary: #259CE4;--color-secondary-light: #5BB3E8;--color-secondary-dark: #1890DC;--color-tertiary: #00499C;--bg-primary: #ffffff;--bg-secondary: #DCE5F3;--bg-tertiary: #F2F7FF;--bg-header: #F2F7FF;--bg-sidebar: #F2F7FF;--text-primary: #15242E;--text-secondary: #285060;--text-tertiary: #64748b;--text-light: #94a3b8;--text-white: #ffffff;--text-on-primary: #285060;--primary-container: #DCE5F3;--secondary-container: #F2F7FF;--tertiary-container: #00499C;--on-primary-container: #00499C;--on-tertiary-container: #15242E;--color-success: #10b981;--color-success-light: #34d399;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-error: #ef4444;--color-error-light: #f87171;--color-info: #259CE4;--color-info-light: #5BB3E8;--status-connected: #10b981;--status-disconnected: #94a3b8;--status-alarm: #ef4444;--status-alert: #f59e0b;--status-info: #259CE4;--border-color: #e2e8f0;--border-radius: 8px;--border-radius-lg: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--table-header-bg: #95b2dc;--table-header-text: #1d3f56;--table-header-border: #7a9cc8;--table-row-bg: #ffffff;--table-row-alt-bg: #f8fbff;--table-row-hover-bg: #edf3fb;--table-row-selected-bg: #f5f7ff;--table-border: #dde6f0;--table-text: #15242E;--table-subtext: #285060;--table-total-bg: #dce5f3;--table-group-header-bg: #00499C;--table-group-header-text: #ffffff;--table-group-header-hover: #003880;--table-grand-total-bg: #1d3f56;--table-grand-total-text: #ffffff;--table-grand-total-hover: #2d5266;--btn-primary-bg: #0032FF;--btn-primary-hover-bg: #00499C;--btn-primary-text: #ffffff;--btn-secondary-bg: #F2F7FF;--btn-secondary-hover-bg: #dce5f3;--btn-secondary-text: #285060;--btn-secondary-border: #b3c8e0;--btn-cancel-bg: #6b7280;--btn-cancel-hover-bg: #4b5563;--btn-cancel-text: #ffffff;--btn-danger-bg: #ef4444;--btn-danger-hover-bg: #dc2626;--btn-danger-text: #ffffff;--btn-ghost-hover-bg: rgba(0, 50, 255, .06);--btn-disabled-bg: #e2e8f0;--btn-disabled-text: #94a3b8;--input-bg: #f8fbff;--input-border: #b3c8e0;--input-border-focus: #0032FF;--input-shadow-focus: rgba(0, 50, 255, .1);--input-text: #15242E;--input-placeholder: #94a3b8;--input-label: #285060;--input-error-border: #ef4444;--input-error-bg: #fef2f2;--input-error-text: #991b1b;--card-bg: #ffffff;--card-border: #dde6f0;--card-shadow: 0 1px 4px rgba(0, 50, 255, .06);--card-header-bg: #F2F7FF;--card-header-text: #15242E;--badge-success-bg: #d1fae5;--badge-success-text: #065f46;--badge-success-border: #a7f3d0;--badge-warning-bg: #fef3c7;--badge-warning-text: #92400e;--badge-warning-border: #fcd34d;--badge-error-bg: #fee2e2;--badge-error-text: #991b1b;--badge-error-border: #fecaca;--badge-info-bg: #dbeafe;--badge-info-text: #1e40af;--badge-info-border: #93c5fd;--badge-neutral-bg: #e2e8f0;--badge-neutral-text: #475569;--modal-backdrop: rgba(0, 0, 0, .45);--modal-bg: #ffffff;--modal-border: #dde6f0;--modal-shadow: 0 8px 32px rgba(0, 50, 255, .12);--modal-header-bg: #F2F7FF;--modal-header-text: #15242E;--surface-selected: #f5f7ff;--surface-info-light: #eff6ff;--surface-pending: #e0e7ff;--divider-color: #dde6f0;--accent-color: #0032FF;--color-error-dark: #b91c1c;--color-warning-dark: #b45309;--color-amount-negative: #d32f2f;--chart-1: #0032FF;--chart-2: #259CE4;--chart-3: #10b981;--chart-4: #f59e0b;--chart-5: #ef4444;--chart-6: #8b5cf6;--chart-7: #ec4899;--chart-8: #06b6d4}:root{--surface-elevated: #f2f7ff;--surface-header: #cddaf0;--section-title-row-bg: #95b2dc;--section-title-row-text: #1d3f56;--surface-muted: #d9e7fb;--surface-input: #f8fbff;--border-subtle: #b3c8e0;--primary-action: #00499c;--primary-action-hover: #259ce4;--text-muted: #5f7488;--surface-card: var(--card-bg);--surface-modal: var(--modal-bg);--action-primary: var(--btn-primary-bg);--action-primary-hover: var(--btn-primary-hover-bg);--action-secondary: var(--btn-secondary-bg);--text-heading: var(--text-primary);--border-default: var(--table-border)}.wf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none}.wf-btn:disabled{background-color:var(--btn-disabled-bg);color:var(--btn-disabled-text);cursor:not-allowed;transform:none!important;box-shadow:none!important}.wf-btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.wf-btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover-bg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.wf-btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:1px solid var(--btn-secondary-border)}.wf-btn-secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-bg)}.wf-btn-cancel{background-color:var(--btn-cancel-bg);color:var(--btn-cancel-text)}.wf-btn-cancel:hover:not(:disabled){background-color:var(--btn-cancel-hover-bg)}.wf-btn-danger{background-color:var(--btn-danger-bg);color:var(--btn-danger-text)}.wf-btn-danger:hover:not(:disabled){background-color:var(--btn-danger-hover-bg);transform:translateY(-1px);box-shadow:var(--shadow-md)}.wf-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.wf-btn-ghost:hover:not(:disabled){background-color:var(--btn-ghost-hover-bg);color:var(--text-primary);border-color:var(--border-subtle)}.wf-table-wrapper{overflow-x:auto;border-radius:var(--border-radius);border:1px solid var(--table-border);background:var(--card-bg)}.wf-table{width:100%;border-collapse:collapse;background:var(--table-row-bg)}.wf-table thead{background-color:var(--table-header-bg)}.wf-table th{padding:10px 16px;text-align:left;font-weight:600;font-size:var(--font-size-xs);color:var(--table-header-text);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--table-header-border);white-space:nowrap}.wf-table td{padding:12px 16px;border-bottom:1px solid var(--table-border);font-size:var(--font-size-sm);color:var(--table-text)}.wf-table tbody tr:hover td{background-color:var(--table-row-hover-bg)}.wf-table tbody tr:last-child td{border-bottom:none}.wf-table tbody tr.selected td{background-color:var(--table-row-selected-bg)}.wf-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:9999px;border:1px solid transparent;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap}.wf-badge-success{background-color:var(--badge-success-bg);color:var(--badge-success-text);border-color:var(--badge-success-border)}.wf-badge-warning{background-color:var(--badge-warning-bg);color:var(--badge-warning-text);border-color:var(--badge-warning-border)}.wf-badge-error{background-color:var(--badge-error-bg);color:var(--badge-error-text);border-color:var(--badge-error-border)}.wf-badge-info{background-color:var(--badge-info-bg);color:var(--badge-info-text);border-color:var(--badge-info-border)}.wf-badge-neutral{background-color:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.wf-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-lg);box-shadow:var(--card-shadow)}.wf-card-header{background:var(--card-header-bg);color:var(--card-header-text);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--card-border);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;font-weight:600;font-size:var(--font-size-base)}.wf-card-body{padding:var(--spacing-lg)}.wf-form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--input-label);font-size:var(--font-size-sm)}.wf-form-input{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--input-text);background-color:var(--input-bg);transition:all var(--transition-base);box-sizing:border-box}.wf-form-input::-moz-placeholder{color:var(--input-placeholder)}.wf-form-input::placeholder{color:var(--input-placeholder)}.wf-form-input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--input-shadow-focus)}.wf-form-input.error{border-color:var(--input-error-border);background-color:var(--input-error-bg)}.wf-form-error{background-color:var(--badge-error-bg);color:var(--badge-error-text);padding:var(--spacing-md);border-radius:var(--border-radius);border:1px solid var(--badge-error-border);font-size:var(--font-size-sm)}.wf-required{color:var(--color-error)}.wf-modal-backdrop,.wf-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.wf-modal,.wf-dialog-panel{position:relative;background:var(--modal-bg);border:1px solid var(--modal-border);border-radius:var(--border-radius-lg);box-shadow:0 20px 45px #0f172a47;width:100%;max-height:90vh;overflow:hidden}.wf-dialog-size-sm{max-width:420px}.wf-dialog-size-md,.wf-modal{max-width:560px}.wf-dialog-size-lg{max-width:760px}.wf-dialog-size-xl{max-width:920px}.wf-dialog-size-2xl{max-width:1100px}.wf-dialog-size-full{max-width:min(1280px,96vw)}.wf-modal-header,.wf-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--divider-color);background:var(--modal-header-bg)}.wf-modal-header h2,.wf-dialog-title{margin:0;font-size:15px;font-weight:600;color:var(--modal-header-text)}.wf-dialog-subtitle{margin:0 0 4px;color:var(--text-tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.wf-modal-body,.wf-dialog-body{padding:var(--spacing-lg);overflow-y:auto;max-height:calc(90vh - 152px)}.wf-dialog-body.manager-dialog-body{padding:var(--spacing-lg);background:color-mix(in srgb,var(--surface-input) 26%,var(--modal-bg))}.manager-dialog-form{display:flex;flex-direction:column;gap:var(--spacing-md);min-height:100%}.manager-dialog-form .form-group{margin-bottom:0}.manager-dialog-form .form-row{align-items:start;gap:var(--spacing-md)}.manager-dialog-form .form-actions{margin-top:var(--spacing-sm);padding-top:var(--spacing-md);position:sticky;bottom:calc(var(--spacing-lg) * -1);background:linear-gradient(to top,color-mix(in srgb,var(--modal-bg) 98%,var(--surface-input)),color-mix(in srgb,var(--modal-bg) 94%,var(--surface-input)));padding-bottom:var(--spacing-sm);z-index:2}.wf-modal-footer,.wf-dialog-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--divider-color)}@media (max-width: 768px){.wf-dialog-body.manager-dialog-body{padding:var(--spacing-md)}.manager-dialog-form .form-actions{bottom:calc(var(--spacing-md) * -1)}}.wf-dialog-close-btn{border:none;width:28px;height:28px;border-radius:8px;background:transparent;color:var(--text-tertiary);font-size:18px;line-height:1;cursor:pointer;transition:all var(--transition-base)}.wf-dialog-close-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--text-primary)}.form-modal,.modal-overlay,.transferencias-form-modal{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#0009!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;z-index:1000!important;padding:var(--spacing-lg)!important}.form-content,.modal,.modal-content,.transferencias-form-content{background:var(--modal-bg)!important;border:1px solid var(--modal-border)!important;border-radius:var(--border-radius-lg)!important;box-shadow:0 20px 45px #0f172a47!important;max-height:90vh!important;overflow:hidden!important}.form-header,.modal-header,.transferencias-form-header{display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid var(--divider-color)!important;padding:var(--spacing-md) var(--spacing-lg)!important;background:var(--modal-header-bg)!important}.wf-pagination{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;flex-wrap:wrap}.wf-page-btn{padding:7px 14px;font-size:var(--font-size-sm);font-weight:600;border:1px solid var(--btn-secondary-border);border-radius:var(--border-radius);background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family);line-height:1}.wf-page-btn:hover:not(:disabled){background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.wf-page-btn:disabled{opacity:.35;cursor:default}.wf-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--text-secondary)}.wf-loading--page{min-height:220px;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-2xl);font-size:var(--font-size-base)}.wf-loading--table{min-height:160px;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-md);font-size:var(--font-size-sm)}.wf-loading--inline{min-height:auto;flex-direction:row;gap:8px;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.wf-loading--overlay{min-height:100%;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-2xl);font-size:var(--font-size-base)}.wf-loading__spinner{animation:wf-spin 1s linear infinite;color:var(--primary-action);flex-shrink:0}.wf-loading__text{line-height:1.4}.wf-loading-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.wf-loading-btn__spinner{animation:wf-spin 1s linear infinite}@keyframes wf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wf-divider{border:none;border-top:1px solid var(--divider-color)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--bg-secondary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-secondary);font-family:inherit}#root{width:100%;min-height:100vh}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-2{right:.5rem}.right-2\.5{right:.625rem}.top-1\/2{top:50%}.z-20{z-index:20}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-20{margin-left:5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-8{height:2rem}.max-h-56{max-height:14rem}.w-8{width:2rem}.w-\[100px\]{width:100px}.w-\[104px\]{width:104px}.w-\[120px\]{width:120px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[170px\]{width:170px}.w-\[180px\]{width:180px}.w-\[190px\]{width:190px}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[240px\]{width:240px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[360px\]{width:360px}.w-\[5\.5rem\]{width:5.5rem}.w-\[60px\]{width:60px}.w-\[64px\]{width:64px}.w-\[72px\]{width:72px}.w-\[80px\]{width:80px}.w-\[88px\]{width:88px}.w-\[96px\]{width:96px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[1080px\]{min-width:1080px}.min-w-\[1120px\]{min-width:1120px}.min-w-\[1540px\]{min-width:1540px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[260px\]{min-width:260px}.min-w-\[320px\]{min-width:320px}.min-w-\[4rem\]{min-width:4rem}.min-w-\[760px\]{min-width:760px}.min-w-\[860px\]{min-width:860px}.min-w-\[880px\]{min-width:880px}.min-w-\[96px\]{min-width:96px}.min-w-\[980px\]{min-width:980px}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[92px\,minmax\(0\,1fr\)\]{grid-template-columns:92px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[2px\]{gap:2px}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[color-mix\(in_srgb\,var\(--primary-action\)_42\%\,var\(--border-subtle\)\)\]{border-color:color-mix(in srgb,var(--primary-action) 42%,var(--border-subtle))}.border-\[color-mix\(in_srgb\,var\(--primary-action\)_48\%\,var\(--border-subtle\)\)\]{border-color:color-mix(in srgb,var(--primary-action) 48%,var(--border-subtle))}.border-\[color-mix\(in_srgb\,var\(--primary-action\)_56\%\,var\(--border-subtle\)\)\]{border-color:color-mix(in srgb,var(--primary-action) 56%,var(--border-subtle))}.border-\[var\(--badge-error-border\)\]{border-color:var(--badge-error-border)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-\[var\(--primary-action\)\]{border-color:var(--primary-action)}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-\[var\(--badge-error-bg\)\]{background-color:var(--badge-error-bg)}.bg-\[var\(--primary-action\)\]{background-color:var(--primary-action)}.bg-\[var\(--section-title-row-bg\)\]{background-color:var(--section-title-row-bg)}.bg-\[var\(--surface-card\)\]{background-color:var(--surface-card)}.bg-\[var\(--surface-elevated\)\]{background-color:var(--surface-elevated)}.bg-\[var\(--surface-input\)\]{background-color:var(--surface-input)}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\[var\(--spacing-lg\)\]{padding:var(--spacing-lg)}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-11{padding-right:2.75rem}.pr-3{padding-right:.75rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-\[0\.05em\]{letter-spacing:.05em}.tracking-\[0\.08em\]{letter-spacing:.08em}.text-\[var\(--badge-error-text\)\]{color:var(--badge-error-text)}.text-\[var\(--primary-action\)\]{color:var(--primary-action)}.text-\[var\(--section-title-row-text\)\]{color:var(--section-title-row-text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.placeholder-\[var\(--text-muted\)\]::-moz-placeholder{color:var(--text-muted)}.placeholder-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.opacity-100{opacity:1}.opacity-35{opacity:.35}.opacity-45{opacity:.45}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[var\(--card-shadow\)\]{--tw-shadow-color: var(--card-shadow);--tw-shadow: var(--tw-shadow-colored)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow-color: var(--shadow-sm);--tw-shadow: var(--tw-shadow-colored)}.shadow-\[var\(--shadow-xs\)\]{--tw-shadow-color: var(--shadow-xs);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.placeholder\:text-\[var\(--text-muted\)\]::-moz-placeholder{color:var(--text-muted)}.placeholder\:text-\[var\(--text-muted\)\]::placeholder{color:var(--text-muted)}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:-translate-y-\[1px\]:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--primary-action\)\]:hover{border-color:var(--primary-action)}.hover\:border-red-300:hover{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.hover\:bg-\[var\(--primary-action-hover\)\]:hover{background-color:var(--primary-action-hover)}.hover\:bg-\[var\(--surface-elevated\)\]:hover{background-color:var(--surface-elevated)}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:text-\[var\(--primary-action\)\]:hover{color:var(--primary-action)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[var\(--shadow-sm\)\]:hover{--tw-shadow-color: var(--shadow-sm);--tw-shadow: var(--tw-shadow-colored)}.focus\:border-\[var\(--primary-action\)\]:focus{border-color:var(--primary-action)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[var\(--primary-action\)\]:focus{--tw-ring-color: var(--primary-action)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:border-\[color-mix\(in_srgb\,var\(--primary-action\)_48\%\,var\(--border-subtle\)\)\]:hover:disabled{border-color:color-mix(in srgb,var(--primary-action) 48%,var(--border-subtle))}.disabled\:hover\:text-\[var\(--text-secondary\)\]:hover:disabled{color:var(--text-secondary)}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-1{gap:.25rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(260px\,2fr\)_repeat\(3\,minmax\(170px\,1fr\)\)\]{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(170px,1fr))}}
